(command.BraceGroup children: [ (C {<.>} {</DietPi/dietpi/func/dietpi-globals>}) (C {<G_CHECK_ROOT_USER>}) (C {<G_CHECK_ROOTFS_RW>}) (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Software>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_INSTALLED_FILE) op: assign_op.Equal rhs: {(SQ </DietPi/dietpi/.installed>)} spids: [135] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_INSTALLED_FILE_TEMP) op: assign_op.Equal rhs: {(SQ </tmp/dietpi-software.installed>)} spids: [141] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_DIETPIAUTOMATION_LOG) op: assign_op.Equal rhs: {(SQ </root/DietPi-Automation.log>)} spids: [148] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_DIETPI_DEDICATED_USBDRIVE) op: assign_op.Equal rhs: {(SQ )} spids: [159] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:UNINSTALL_FILE) op: assign_op.Equal rhs: {(SQ </tmp/dietpi_uninstall_list>)} spids: [169] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FOLDER_MUSIC) op: assign_op.Equal rhs: {(SQ <Music>)} spids: [180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FOLDER_PICTURES) op: assign_op.Equal rhs: {(SQ <Pictures>)} spids: [186] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FOLDER_VIDEO) op: assign_op.Equal rhs: {(SQ <Video>)} spids: [192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FOLDER_DOWNLOADS) op: assign_op.Equal rhs: {(SQ <downloads>)} spids: [198] ) ] ) (command.ShFunction name: Write_InstallFileList body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'write_software_in_pending_state='> <0>}) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName '$FP_INSTALLED_FILE'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <temp>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$FP_INSTALLED_FILE_TEMP'))} spids: [249] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:write_software_in_pending_state) op: assign_op.Equal rhs: {<1>} spids: [255] ) ] ) ] spids: [228 245] ) ] ) (command.Simple words: [{<rm>} {(DQ ($ Id.VSub_DollarName '$fp_target'))}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$write_software_in_pending_state' ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName '$i') <']=0'>) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] spids: [307 332] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName '$i') <']='> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ] ) ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 440 stdin_parts: [ <'\n'> <'#DietPi Choice System: SSH Server\n'> <'INDEX_SSHSERVER_CURRENT='> ($ Id.VSub_DollarName '$INDEX_SSHSERVER_CURRENT') <'\n'> <'INDEX_SSHSERVER_TARGET='> ($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET') <'\n'> <'\n'> <'#DietPi Choice System: File Server\n'> <'INDEX_FILESERVER_CURRENT='> ($ Id.VSub_DollarName '$INDEX_FILESERVER_CURRENT') <'\n'> <'INDEX_FILESERVER_TARGET='> ($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET') <'\n'> <'\n'> <'#DietPi Choice System: Logging\n'> <'INDEX_LOGGING_CURRENT='> ($ Id.VSub_DollarName '$INDEX_LOGGING_CURRENT') <'\n'> <'INDEX_LOGGING_TARGET='> ($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET') <'\n'> <'\n'> <'#DietPi Preference System: Webserver base\n'> <'INDEX_WEBSERVER_CURRENT='> ($ Id.VSub_DollarName '$INDEX_WEBSERVER_CURRENT') <'\n'> <'INDEX_WEBSERVER_TARGET='> ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET') <'\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ) (command.ShFunction name: Read_InstallFileList body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName '$FP_INSTALLED_FILE'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <temp>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$FP_INSTALLED_FILE_TEMP'))} spids: [484] ) ] ) ] spids: [463 480] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Reading database, please wait...'>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$fp_target'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [(C {<.>} {(DQ ($ Id.VSub_DollarName '$fp_target'))})] spids: [513 526] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_CURRENT) op: assign_op.Equal rhs: {<-1>} spids: [564] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [568] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [573] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [577] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_CURRENT) op: assign_op.Equal rhs: {<-1>} spids: [582] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_CURRENT) op: assign_op.Equal rhs: {<-2>} spids: [591] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [595] ) ] ) ] spids: [546 560] ) ] ) ] ) ) (command.ShFunction name: Reset_NTPD body: (command.BraceGroup children: [ (command.Simple words: [{<killall>} {<-w>} {</DietPi/dietpi/func/run_ntpd>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (command.Simple words: [{<killall>} {<-w>} {<ntpd>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</var/lib/dietpi/.ntpd_exit_status>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) ] ) ) (command.ShFunction name: Check_NTPD_Status body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<route>}) (C {<awk>} {(SQ <'{print $4}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <UG>)}) ] negated: F ) ] ) ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<true>})] body: (command.DoGroup children: [ (C {</DietPi/dietpi/func/run_ntpd>} {<status>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w:{($ Id.VSub_QMark '$?')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_USER_INPUTS')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Reset_NTPD>})] spids: [730 742] ) ] else_action: [ (C {<whiptail>} {<--title>} {(DQ <'NTPD update failed'>)} {<--yesno>} { (DQ < 'NTPD timesync has not yet completed, or, failed to update. To prevent issues with outdated system time during installations, you must either:' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Retry NTPD update (recommended)'> <Id.Lit_Other '\\'> < 'nThis will kill the current NTPD process and retry NTPD update. If this fails again, please use option below.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Override (last resort)'> <Id.Lit_Other '\\'> < 'nThis will override NTPD update checks, however, your system time will be out of sync and may cause issues during installations.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nYou can check the NTPD logs for debugging purposes with:' > <Id.Lit_Other '\\'> <'n cat /var/log/ntpd.log'> ) } {<--yes-button>} {(DQ <Override>)} {<--no-button>} {(DQ <Retry>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<20>} {<80>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Reset_NTPD>})] spids: [815 829] ) ] else_action: [ (C {<Reset_NTPD>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/lib/dietpi/.ntpd_exit_status>} ) ] ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/lib/dietpi/.ntpd_override>} ) ] ) ] ) ] ) ] spids: [708 722] ) ] else_action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] ) ] ) ) ] spids: [658 690] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DISABLE_REBOOT) op: assign_op.Equal rhs: {<0>} spids: [911] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GLOBAL_PW) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_GLOBAL_PASSWORD='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [920] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GLOBAL_PW) op: assign_op.Equal rhs: {(SQ <dietpi>)} spids: [965] ) ] ) ] spids: [946 961] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RAM_TOTAL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<free>} {<-m>}) (C {<grep>} {<-m1>} {(SQ <'Mem:'>)}) (C {<awk>} {(SQ <'{print $2}'>)}) ] negated: F ) ] ) ) } spids: [980] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GOSTARTINSTALL) op: assign_op.Equal rhs: {<0>} spids: [1011] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ )} spids: [1015] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <DietPi>)} spids: [1020] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_EMONHUB_APIKEY_COMPLETED) op: assign_op.Equal rhs: {<0>} spids: [1031] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_EMONHUB_APIKEY_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [1035] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WIFIHOTSPOT_RTL8188C_DEVICE) op: assign_op.Equal rhs: {<0>} spids: [1039] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED) op: assign_op.Equal rhs: {<0>} spids: [1043] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_PHP_BASE_DIR) op: assign_op.Equal rhs: {(SQ </etc/php/7.0>)} spids: [1052] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PHP_APT_PACKAGE_NAME) op: assign_op.Equal rhs: {(SQ <php>)} spids: [1058] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_PHP_BASE_DIR) op: assign_op.Equal rhs: {(SQ </etc/php5>)} spids: [1082] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PHP_APT_PACKAGE_NAME) op: assign_op.Equal rhs: {(SQ <php5>)} spids: [1088] ) ] ) ] spids: [1064 1078] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USBDRIVE) op: assign_op.Equal rhs: {<0>} spids: [1103] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DIETPI_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [1112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_LINUX_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [1116] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_SSHSERVER_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [1129] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_CURRENT) op: assign_op.Equal rhs: {<-1>} spids: [1133] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [1137] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_FILESERVER_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [1150] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [1154] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [1158] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_LOGGING_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [1171] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_CURRENT) op: assign_op.Equal rhs: {<-1>} spids: [1175] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [1179] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_CURRENT) op: assign_op.Equal rhs: {<-2>} spids: [1192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [1196] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_CATEGORIES_DIETPI) op: assign_op.Equal rhs: {<0>} spids: [1209] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_SOFTWARE_CATEGORIES_DIETPI) op: assign_op.Equal rhs: {<0>} spids: [1216] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_CATEGORIES_LINUX) op: assign_op.Equal rhs: {<0>} spids: [1221] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_SOFTWARE_CATEGORIES_LINUX) op: assign_op.Equal rhs: {<0>} spids: [1225] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOTAL_SOFTWARE_INDEXS) op: assign_op.Equal rhs: {<0>} spids: [1238] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOTAL_SOFTWARE_INDEXS_HARDLIMIT) op: assign_op.Equal rhs: {<171>} spids: [1242] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<0>} spids: [1250] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_CATEGORY_INDEX) op: assign_op.Equal rhs: {<0>} spids: [1258] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_TYPE) op: assign_op.Equal rhs: {<0>} spids: [1265] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_INSTALL_STATE) op: assign_op.Equal rhs: {<0>} spids: [1273] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_WHIP_NAME) op: assign_op.Equal rhs: {<0>} spids: [1281] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_WHIP_DESC) op: assign_op.Equal rhs: {<0>} spids: [1288] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_ONLINEDOC_URL) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?'>)} spids: [1296] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_ONLINEDOC_URL) op: assign_op.Equal rhs: {<0>} spids: [1302] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_USERINPUT) op: assign_op.Equal rhs: {<0>} spids: [1311] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_ALSA) op: assign_op.Equal rhs: {<0>} spids: [1320] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_XSERVERXORG) op: assign_op.Equal rhs: {<0>} spids: [1324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_MYSQL) op: assign_op.Equal rhs: {<0>} spids: [1328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_SQLITE) op: assign_op.Equal rhs: {<0>} spids: [1332] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_WEBSERVER) op: assign_op.Equal rhs: {<0>} spids: [1336] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_DESKTOP) op: assign_op.Equal rhs: {<0>} spids: [1340] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_GIT) op: assign_op.Equal rhs: {<0>} spids: [1344] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_BUILDESSENTIAL) op: assign_op.Equal rhs: {<0>} spids: [1348] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_RSYSLOG) op: assign_op.Equal rhs: {<0>} spids: [1352] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_FFMPEG) op: assign_op.Equal rhs: {<0>} spids: [1356] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_ORACLEJAVA) op: assign_op.Equal rhs: {<0>} spids: [1360] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_REQUIRES_NODEJS) op: assign_op.Equal rhs: {<0>} spids: [1364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_G_HW_MODEL) op: assign_op.Equal rhs: {<71>} spids: [1373] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_G_HW_ARCH) op: assign_op.Equal rhs: {<10>} spids: [1380] ) ] ) (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_MODEL>}) (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_ARCH>}) (command.ShFunction name: Software_Arrays_Init body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_CATEGORIES_DIETPI) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Desktops\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Remote Desktop Access\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Media Systems\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80BitTorrent / Download Tools\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Cloud / Backups\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Emulation & Gaming\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Social / Search\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Camera / Surveillance\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80WiFi Hotspot\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80System Stats / Management\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Remote Access\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Hardware Projects\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80System Security\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Webserver Stacks\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Pi-hole\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80File Servers\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80VPN Servers\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Advanced Networking\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Home Automation\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Printing\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: [1685] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_SOFTWARE_CATEGORIES_DIETPI) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } spids: [1855] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:aSOFTWARE_CATEGORIES_LINUX) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80SSH Clients\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Fileserver Clients\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80File Managers\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80System\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Shared Libraries\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Networking / Tools\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Development / Programming\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Text Editors\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' > ) } { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Desktop Utilities\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: [1870] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAX_SOFTWARE_CATEGORIES_LINUX) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } spids: [1952] ) ] ) (C {<local>} {<Id.Lit_VarLike 'debug_array_count='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS_HARDLIMIT')} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:j) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike j>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$j')}) ) ) op: assign_op.Equal rhs: {<1>} spids: [2032] ) ] ) ] ) ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS_HARDLIMIT')} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:j) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike j>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$j')}) ) ) op: assign_op.Equal rhs: {<1>} spids: [2107] ) ] ) ] ) ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS_HARDLIMIT')} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [2171] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS_HARDLIMIT')} ) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_USERINPUT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2224] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2233] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2241] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2249] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_SQLITE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2257] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2265] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2273] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2281] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2289] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2297] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2305] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2313] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [2321] ) ] ) ] ) ) (C {<local>} {<Id.Lit_VarLike 'index_current='> <0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<23>} spids: [2366] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LXDE>)} spids: [2371] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'ultra lightweight desktop'>)} spids: [2381] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2391] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2399] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2407] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2415] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p42'>)} spids: [2423] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<24>} spids: [2438] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MATE>)} spids: [2442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'desktop enviroment'>)} spids: [2452] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2462] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2470] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2478] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2073'>)} spids: [2494] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<25>} spids: [2509] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <XFCE>)} spids: [2514] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight desktop environment'>)} spids: [2524] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2534] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2542] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2550] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2558] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2203'>)} spids: [2566] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<26>} spids: [2581] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <GNUStep>)} spids: [2586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight based on OpenStep'>)} spids: [2596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2606] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2614] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2622] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2630] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2072'>)} spids: [2638] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<113>} spids: [2653] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Chromium>)} spids: [2658] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'(Optional) web browser'>)} spids: [2668] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2678] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2686] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2694] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3011#p3011'>)} spids: [2702] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [2717] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [2734] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<27>} spids: [2755] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'TightVNC Server'>)} spids: [2760] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [2770] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2780] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2788] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p408'>)} spids: [2804] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [2819] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [2877] ) ] ) ] ) ) ] spids: [2836 2850] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<28>} spids: [2902] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'VNC4 Server'>)} spids: [2907] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [2917] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2927] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2935] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p408'>)} spids: [2951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<29>} spids: [2966] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <XRDP>)} spids: [2971] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'remote desktop protocol (rdp) server'>)} spids: [2981] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [2991] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [2999] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3007] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2074'>)} spids: [3015] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<30>} spids: [3030] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NoMachine>)} spids: [3035] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'multi-platform server and client access'>)} spids: [3045] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3055] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3071] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2071'>)} spids: [3079] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3094] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<120>} spids: [3111] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'RealVNC Server'>)} spids: [3116] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'desktop for remote connection'>)} spids: [3126] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3136] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3144] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3152] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4149#p4149'>)} spids: [3160] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3198] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<31>} spids: [3223] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Kodi>)} spids: [3228] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'the media centre for linux'>)} spids: [3238] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3248] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3256] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3264] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3272] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p43'>)} spids: [3280] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3318] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<32>} spids: [3339] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <YMPD>)} spids: [3344] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight web interface music player for mpd'>)} spids: [3354] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3380] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p50'>)} spids: [3388] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<119>} spids: [3403] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <CAVA>)} spids: [3408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'optional: console audio vis for mpd'>)} spids: [3418] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3428] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3444] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3928#p3928'>)} spids: [3452] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3467] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<33>} spids: [3484] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'SubSonic 5'>)} spids: [3489] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [3499] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3509] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3517] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3525] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3533] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3541] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3549] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p213'>)} spids: [3557] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<34>} spids: [3572] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'SubSonic 6'>)} spids: [3577] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [3587] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3597] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3605] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3613] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3621] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3629] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3637] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p213'>)} spids: [3645] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<35>} spids: [3660] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SqueezeBox>)} spids: [3665] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'logitech media server (lms)'>)} spids: [3675] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3685] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3693] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)} spids: [3701] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<36>} spids: [3716] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SqueezeLite>)} spids: [3721] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'audio player for lms & squeezebox'>)} spids: [3731] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3741] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3749] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3757] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)} spids: [3765] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<37>} spids: [3780] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Shairport Sync'>)} spids: [3785] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'airplay audio player with multiroom sync'>)} spids: [3795] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3805] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3813] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3821] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1221#p1221'>)} spids: [3829] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3844] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<38>} spids: [3861] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <BruteFIR>)} spids: [3866] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'eq and digital room correction via alsa'>)} spids: [3876] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3886] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [3894] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [3902] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=57#p57'>)} spids: [3910] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [3948] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<39>} spids: [3969] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <ReadyMedia>)} spids: [3974] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'(MiniDLNA) media streaming server (dlna, upnp)'>)} spids: [3984] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [3994] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4002] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4010] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p49'>)} spids: [4018] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<40>} spids: [4033] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Ampache>)} spids: [4038] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4048] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4058] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4066] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4074] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4082] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4090] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4098] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4106] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p554'>)} spids: [4114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<41>} spids: [4129] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Emby Server'>)} spids: [4134] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4144] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4154] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4162] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4170] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1789#p1789'>)} spids: [4178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4193] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4210] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<42>} spids: [4227] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Plex Media Server'>)} spids: [4232] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface media streaming server'>)} spids: [4242] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4252] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4260] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1949#p1949'>)} spids: [4268] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4283] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<43>} spids: [4300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Murmur>)} spids: [4305] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'mumble voip server'>)} spids: [4315] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4325] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4333] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1691#p1691'>)} spids: [4341] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<118>} spids: [4356] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Mopidy>)} spids: [4361] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface music & radio player'>)} spids: [4371] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4381] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4389] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p3611'>)} spids: [4397] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4407] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<121>} spids: [4420] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Roon Bridge'>)} spids: [4425] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Turns device into Roon capable audio player'>)} spids: [4435] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4445] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p4153'>)} spids: [4461] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4471] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4507] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<1>} spids: [4551] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<124>} spids: [4572] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'NAA daemon'>)} spids: [4577] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'signalyst network audio adaptor (naa)'>)} spids: [4587] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4597] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4605] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=90#p4294'>)} spids: [4613] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4623] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4659] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [4680] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<128>} spids: [4697] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MPD>)} spids: [4702] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'music player daemon'>)} spids: [4712] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4722] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4730] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4738] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [4746] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<129>} spids: [4760] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'O!MPD'>)} spids: [4765] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'feature-rich, web interface audio player for mpd'>)} spids: [4775] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4785] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4793] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=5171#p5171'>)} spids: [4801] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4811] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4819] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4840] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<135>} spids: [4857] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <IceCast>)} spids: [4862] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Shoutcast streaming server (+DarkIce)'>)} spids: [4872] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4882] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4890] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4898] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6526#p6526'>)} spids: [4906] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [4921] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<141>} spids: [4938] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Spotify Connect Web'>)} spids: [4943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface for spotify premium'>)} spids: [4953] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [4963] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [4971] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7013#p7013'>)} spids: [4979] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [4989] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5025] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [5046] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<143>} spids: [5063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Koel>)} spids: [5068] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface audio streamer'>)} spids: [5078] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5088] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5096] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7305#p7305'>)} spids: [5104] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5146] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<146>} spids: [5159] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <PlexPy>)} spids: [5164] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'monitoring and tracking tool for Plex'>)} spids: [5174] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5184] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7463#p7463'>)} spids: [5200] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5210] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5223] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<148>} spids: [5241] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'JRiver MC'>)} spids: [5246] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'media centre'>)} spids: [5256] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5266] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5274] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5282] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5290] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=110#p7536'>)} spids: [5298] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5336] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<154>} spids: [5357] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Roon Server'>)} spids: [5362] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Roon capable audio player and core'>)} spids: [5372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5382] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5390] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7966#p7966'>)} spids: [5398] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5416] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5452] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [5469] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<159>} spids: [5486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Allo>)} spids: [5491] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface'>)} spids: [5501] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5511] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [5519] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [5527] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5536] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5544] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5552] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<160>} spids: [5565] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Allo_update>)} spids: [5570] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'quick reinstall/update web only'>)} spids: [5580] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5590] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [5598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [5606] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<163>} spids: [5620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Gmediarender>)} spids: [5625] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'DLNA audio render/endpoint'>)} spids: [5635] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5645] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5653] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5661] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9012#p9012'>)} spids: [5669] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<167>} spids: [5684] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Raspotify>)} spids: [5689] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'spotify connect client'>)} spids: [5699] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5709] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5717] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5725] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9368#p9368'>)} spids: [5733] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5748] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5765] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<168>} spids: [5782] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <moOde>)} spids: [5787] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'audiophile-quality music playback'>)} spids: [5797] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [5807] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [5815] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5823] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_SQLITE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5831] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5839] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [5855] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <xxxxxxxxxxxxxxxxx>)} spids: [5863] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [5901] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<44>} spids: [5926] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Transmission>)} spids: [5931] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (c)'>)} spids: [5941] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [5951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [5959] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p46'>)} spids: [5967] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<45>} spids: [5982] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Deluge>)} spids: [5987] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (python)'>)} spids: [5997] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6007] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6015] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p61'>)} spids: [6023] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<46>} spids: [6038] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <qBitTorrent>)} spids: [6043] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with web interface (c++)'>)} spids: [6053] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6071] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2272'>)} spids: [6079] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<107>} spids: [6094] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <rTorrent>)} spids: [6099] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'bittorrent server with rutorrent web interface'>)} spids: [6109] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6127] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6135] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=2603#p2603'>)} spids: [6147] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<116>} spids: [6162] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SickRage>)} spids: [6167] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'automatically download TV shows'>)} spids: [6177] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6187] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6195] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3327#p3327'>)} spids: [6203] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<132>} spids: [6219] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Aria2>)} spids: [6224] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'download manager with web interface'>)} spids: [6234] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6244] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6252] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6177#p6177'>)} spids: [6260] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6270] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_SQLITE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6278] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<139>} spids: [6291] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SABnzbd>)} spids: [6296] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'nzb download manager'>)} spids: [6306] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)} spids: [6332] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6342] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<142>} spids: [6355] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <CouchPotato>)} spids: [6360] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'automatically download movies'>)} spids: [6370] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6380] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6388] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)} spids: [6396] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6406] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6414] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<144>} spids: [6427] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Sonarr>)} spids: [6432] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'automatically download TV shows'>)} spids: [6442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6452] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6460] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7455#p7455'>)} spids: [6468] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<145>} spids: [6483] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Radarr>)} spids: [6488] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'automatically download movies'>)} spids: [6498] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6508] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6516] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7457#p7457'>)} spids: [6524] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<147>} spids: [6539] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Jackett>)} spids: [6544] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'api Support for your torrent trackers.'>)} spids: [6554] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6564] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6572] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7503#p7503'>)} spids: [6580] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<149>} spids: [6595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NZBget>)} spids: [6600] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'nzb download manager'>)} spids: [6610] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6628] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7575#p7575'>)} spids: [6636] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<155>} spids: [6651] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'HTPC Manager'>)} spids: [6656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'manage your HTPC from anywhere'>)} spids: [6666] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6676] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [6684] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6692] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=8043#p8043'>)} spids: [6700] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<47>} spids: [6719] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <ownCloud>)} spids: [6724] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'your very own cloud (eg: dropbox)'>)} spids: [6734] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [6744] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6752] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6760] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6768] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p47'>)} spids: [6776] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<114>} spids: [6791] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Nextcloud>)} spids: [6796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'A safe home for all your data'>)} spids: [6806] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [6816] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6824] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6832] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6840] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=3026#p3026'>)} spids: [6848] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<48>} spids: [6863] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Pydio>)} spids: [6868] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'feature-rich backup and sync server'>)} spids: [6878] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [6888] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6896] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6904] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [6912] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1064#p1064'>)} spids: [6920] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<111>} spids: [6935] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'UrBackup server'>)} spids: [6940] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'full system backup server'>)} spids: [6950] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [6960] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [6968] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=65#p65'>)} spids: [6976] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [6991] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<49>} spids: [7008] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Gogs>)} spids: [7013] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'personal github server with web interface'>)} spids: [7023] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7033] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7041] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7049] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7057] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2187'>)} spids: [7065] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7080] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<50>} spids: [7097] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Syncthing>)} spids: [7102] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'backup and sync server with web interface'>)} spids: [7112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=70#p2363'>)} spids: [7138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<134>} spids: [7153] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Tonido>)} spids: [7158] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight cloud based backup system'>)} spids: [7168] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7186] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6476#p6476'>)} spids: [7194] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7209] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7226] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<158>} spids: [7243] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Minio>)} spids: [7247] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'S3 compatible distributed object server'>)} spids: [7257] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7267] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7275] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<161>} spids: [7288] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <FuguHub>)} spids: [7292] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Lightweight WebDAV cloud (eg: dropbox) with a CMS'>)} spids: [7302] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7312] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7320] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7342] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<165>} spids: [7359] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Gitea>)} spids: [7364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Git with a cup of tea'>)} spids: [7374] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [7384] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7392] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7400] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9863#p9863'>)} spids: [7416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<108>} spids: [7436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <AmiBerry>)} spids: [7441] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'amiga emulator'>)} spids: [7451] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7461] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7469] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7477] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=64#p64'>)} spids: [7485] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7495] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7531] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<51>} spids: [7552] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <OpenTyrian>)} spids: [7557] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'a classic retro game, addictive'>)} spids: [7567] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7577] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7585] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7593] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7601] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p45'>)} spids: [7609] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7647] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<112>} spids: [7668] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <DXX-Rebirth>)} spids: [7673] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Descent 1/2'>)} spids: [7683] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7693] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7701] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7709] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=2963#p2963'>)} spids: [7717] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7755] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<52>} spids: [7776] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Cuberite>)} spids: [7781] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'minecraft server with web interface (c++)'>)} spids: [7791] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7801] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7809] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2068'>)} spids: [7817] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [7832] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<53>} spids: [7849] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MineOS>)} spids: [7854] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'minecraft servers with web interface (java)'>)} spids: [7864] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7874] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7882] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7890] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7898] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7906] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7914] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p2069'>)} spids: [7922] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<156>} spids: [7937] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Steam>)} spids: [7942] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <client>)} spids: [7952] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [7962] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [7970] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=8016#p8016'>)} spids: [7978] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7988] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [7996] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8004] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [8040] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [8057] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<164>} spids: [8074] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Nukkit>)} spids: [8078] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'A nuclear-powered server for Minecraft Pocket Edition'>)} spids: [8088] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [8098] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8106] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<54>} spids: [8131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Forums>)} spids: [8136] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'phpbb forums'>)} spids: [8146] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8156] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8164] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8172] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=5#p51'>)} spids: [8188] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<55>} spids: [8203] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Wordpress>)} spids: [8208] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'website blog and publishing platform'>)} spids: [8218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8228] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8236] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8244] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8252] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p395'>)} spids: [8260] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<56>} spids: [8275] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Image Gallery'>)} spids: [8280] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'website to host / browse your images'>)} spids: [8290] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8308] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p480'>)} spids: [8324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<57>} spids: [8339] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <BaiKal>)} spids: [8344] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight caldav + carddav server'>)} spids: [8354] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8372] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8380] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8388] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=50#p1502'>)} spids: [8396] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<58>} spids: [8411] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <OpenBazaar>)} spids: [8416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'decentralized peer to peer bitcoin market'>)} spids: [8426] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8444] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8452] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8460] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1796#p1796'>)} spids: [8468] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<133>} spids: [8483] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <YaCy>)} spids: [8488] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'decentralized open source search engine'>)} spids: [8498] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [8508] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8516] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8524] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6202#p6202'>)} spids: [8532] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<59>} spids: [8556] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'DietPi Cam'>)} spids: [8561] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface & controls for your rpi camera'>)} spids: [8571] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [8581] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8589] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8597] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p48'>)} spids: [8605] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [8643] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<136>} spids: [8664] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MotionEye>)} spids: [8669] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface & surveillance for your camera'>)} spids: [8679] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [8689] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8697] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6610#p6610'>)} spids: [8705] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [8715] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [8751] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<60>} spids: [8781] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'WiFi Hotspot'>)} spids: [8786] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'turn your device into a wifi hotspot'>)} spids: [8796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<8>} spids: [8806] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8814] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1207#p1207'>)} spids: [8822] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [8837] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<61>} spids: [8854] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Tor Hotspot'>)} spids: [8859] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'optional: route hotspot traffic through tor'>)} spids: [8869] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<8>} spids: [8879] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8887] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1529#p1529'>)} spids: [8895] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [8910] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<62>} spids: [8936] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <DietPi-Cloudshell>)} spids: [8941] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'system stats displayed on lcd/panel'>)} spids: [8951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [8961] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [8969] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p204'>)} spids: [8977] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<63>} spids: [8992] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LinuxDash>)} spids: [8997] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9007] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9017] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9025] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9033] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p108'>)} spids: [9041] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<64>} spids: [9056] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <PhpSysInfo>)} spids: [9061] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9071] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9081] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9089] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9097] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p451'>)} spids: [9105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<65>} spids: [9120] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NetData>)} spids: [9125] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'real-time performance monitoring'>)} spids: [9135] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9145] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9153] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=60#p1611'>)} spids: [9169] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<66>} spids: [9184] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <RPi-Monitor>)} spids: [9189] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9199] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9209] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9217] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=50#p1503'>)} spids: [9225] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [9263] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<106>} spids: [9284] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Raspcontrol>)} spids: [9289] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface system stats'>)} spids: [9299] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9309] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9317] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p89'>)} spids: [9325] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [9363] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<115>} spids: [9384] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Webmin>)} spids: [9389] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface system management'>)} spids: [9399] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9409] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9417] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p3047'>)} spids: [9425] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9435] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<126>} spids: [9448] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <OpenMediaVault>)} spids: [9453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'nas solution with web interface'>)} spids: [9463] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9473] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [9481] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4859#p4859'>)} spids: [9492] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9502] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_USERINPUT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9510] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<162>} spids: [9523] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Docker>)} spids: [9528] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Build, ship, and run distributed applications'>)} spids: [9538] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<9>} spids: [9548] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9556] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [9569] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<67>} spids: [9590] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NoIp>)} spids: [9595] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'url website address for your device'>)} spids: [9605] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<10>} spids: [9615] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9623] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p58'>)} spids: [9631] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<68>} spids: [9646] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Remot3.it>)} spids: [9651] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'(Weaved) access your device over the internet'>)} spids: [9661] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<10>} spids: [9671] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9679] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p188'>)} spids: [9687] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_ARCH')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [9725] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [9746] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [9758] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<138>} spids: [9775] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <VirtualHere>)} spids: [9780] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'server: share USB devices over the network'>)} spids: [9790] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<10>} spids: [9800] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9808] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6709#p6709'>)} spids: [9816] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<69>} spids: [9840] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <RPi.GPIO>)} spids: [9845] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'gpio interface library for rpi (python)'>)} spids: [9855] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [9865] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9873] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=40#p1065'>)} spids: [9881] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [9919] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<70>} spids: [9940] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <WiringPi>)} spids: [9945] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'gpio interface library (c)'>)} spids: [9955] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [9965] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [9973] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [9981] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1066#p1066'>)} spids: [9989] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [10027] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 51>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [10048] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<71>} spids: [10065] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <WebIOPi>)} spids: [10070] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface to control rpi.gpio'>)} spids: [10080] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10090] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10098] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10106] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p189'>)} spids: [10114] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [10152] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<72>} spids: [10173] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <I2c>)} spids: [10178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'enables support for i2c based hardware'>)} spids: [10188] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10198] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10206] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [10242] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<122>} spids: [10263] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Node-Red>)} spids: [10268] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'tool for wiring devices, APIs and online services'>)} spids: [10278] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10288] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10296] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10304] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10312] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=80#p4292'>)} spids: [10320] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<123>} spids: [10335] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Mosquitto '>)} spids: [10340] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'MQTT messaging broker'>)} spids: [10350] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10360] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10368] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=90#p4293'>)} spids: [10376] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<131>} spids: [10391] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Blynk Server'>)} spids: [10396] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'msg controller for blynk mobile app and sbcs'>)} spids: [10406] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10424] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=5901#p5901'>)} spids: [10432] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_NODEJS index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10450] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10458] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<166>} spids: [10471] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <PI-SPC>)} spids: [10476] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'audiophonics pi-spc power control module'>)} spids: [10486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10496] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10504] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9359#p9359'>)} spids: [10512] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [10550] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<169>} spids: [10571] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Google AIY'>)} spids: [10576] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'voice kit'>)} spids: [10586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<11>} spids: [10596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10604] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ALSA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10612] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10620] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=9486#p9486'>)} spids: [10628] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [10666] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<73>} spids: [10691] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Fail2Ban>)} spids: [10696] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'prevents brute-force attacks with ip ban'>)} spids: [10706] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<12>} spids: [10716] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10724] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [10732] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p452'>)} spids: [10740] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<75>} spids: [10763] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LASP>)} spids: [10768] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'apache2 | sqlite | php'>)} spids: [10778] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [10788] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [10804] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<76>} spids: [10819] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LAAP>)} spids: [10824] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'apache2 | mariadb | php'>)} spids: [10834] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [10844] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10852] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [10860] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<78>} spids: [10875] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LESP>)} spids: [10880] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'nginx | sqlite | php'>)} spids: [10890] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [10900] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10908] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [10916] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<79>} spids: [10931] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LEAP>)} spids: [10936] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'nginx | mariadb | php'>)} spids: [10946] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [10956] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [10964] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [10972] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<81>} spids: [10987] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LLSP>)} spids: [10992] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lighttpd | sqlite | php'>)} spids: [11002] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11012] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11020] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11028] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<82>} spids: [11043] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <LLAP>)} spids: [11048] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lighttpd | mariadb | php'>)} spids: [11058] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11068] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11076] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11084] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<83>} spids: [11099] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Apache2>)} spids: [11104] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11124] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11132] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p52'>)} spids: [11140] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<84>} spids: [11155] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [11160] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11170] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11188] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11196] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<85>} spids: [11211] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [11216] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11226] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11236] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11244] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5#p5'>)} spids: [11252] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<87>} spids: [11267] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SQlite>)} spids: [11272] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <database>)} spids: [11282] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11292] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11308] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<88>} spids: [11323] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MariaDB>)} spids: [11328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <database>)} spids: [11338] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11348] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11356] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11364] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<89>} spids: [11379] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <PHP>)} spids: [11384] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <webserver>)} spids: [11394] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11404] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [11412] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)} spids: [11420] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<90>} spids: [11435] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <phpMyAdmin>)} spids: [11440] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'optional mysql admin tools'>)} spids: [11450] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11460] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11468] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11476] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_MYSQL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11484] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p54'>)} spids: [11492] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<91>} spids: [11507] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Redis>)} spids: [11512] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'optional non-sql database store'>)} spids: [11522] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11532] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11540] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<92>} spids: [11553] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <CertBot>)} spids: [11558] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'free, ssl cert install allowing https://'>)} spids: [11568] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11578] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1061#p1062'>)} spids: [11594] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<125>} spids: [11609] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Tomcat8>)} spids: [11614] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'apache tomcat server'>)} spids: [11624] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<13>} spids: [11634] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11642] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=4316#p4316'>)} spids: [11650] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_ORACLEJAVA index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11660] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<93>} spids: [11677] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Pi-hole>)} spids: [11682] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'block adverts for any device on your network'>)} spids: [11692] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<14>} spids: [11702] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11710] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11718] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11726] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p174'>)} spids: [11734] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_USERINPUT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [11744] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<94>} spids: [11766] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <ProFTP>)} spids: [11771] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'lightweight ftp server'>)} spids: [11781] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<15>} spids: [11791] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11799] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p55'>)} spids: [11807] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<95>} spids: [11822] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <vsFTPD>)} spids: [11827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'alternative ftp server'>)} spids: [11837] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<15>} spids: [11847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11855] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'?f=8&t=5&p=2820#p2820'>)} spids: [11863] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<96>} spids: [11878] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Samba>)} spids: [11883] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'feature-rich file server'>)} spids: [11893] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<15>} spids: [11903] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11911] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p56'>)} spids: [11919] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<109>} spids: [11934] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NFS>)} spids: [11939] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'network file system server'>)} spids: [11949] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<15>} spids: [11959] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [11967] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p56'>)} spids: [11975] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<97>} spids: [11999] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <OpenVPN>)} spids: [12004] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'vpn server'>)} spids: [12014] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<16>} spids: [12024] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12032] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12040] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=613#p613'>)} spids: [12048] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<117>} spids: [12063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <PiVPN>)} spids: [12068] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'openvpn installer & management tool'>)} spids: [12078] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<16>} spids: [12088] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12096] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12104] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3469#p3469'>)} spids: [12112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_USERINPUT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12122] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<98>} spids: [12145] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <HaProxy>)} spids: [12150] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'high performance tcp/http load balancer'>)} spids: [12160] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<17>} spids: [12170] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12186] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=30#p221'>)} spids: [12194] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<99>} spids: [12213] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <EmonPi>)} spids: [12218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'energy usage addon board with web interface'>)} spids: [12228] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<18>} spids: [12238] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12246] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=1529#p1525'>)} spids: [12254] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [12292] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<100>} spids: [12313] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Grasshopper>)} spids: [12318] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web app to control bticino myhome'>)} spids: [12328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<18>} spids: [12338] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12346] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_WEBSERVER index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12354] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_SQLITE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12362] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p70'>)} spids: [12370] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [12408] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<157>} spids: [12429] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Home Assistant'>)} spids: [12434] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'open-source home automation platform'>)} spids: [12444] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<18>} spids: [12454] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12462] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12470] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12478] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_SQLITE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_FFMPEG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12494] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p70'>)} spids: [12502] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<137>} spids: [12526] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <CloudPrint>)} spids: [12531] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'print server for google cloud print'>)} spids: [12541] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<19>} spids: [12551] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12559] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=6630#p6630'>)} spids: [12567] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_RSYSLOG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12577] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_ARCH index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) op: assign_op.Equal rhs: {<0>} spids: [12611] ) ] ) ] spids: [12593 12607] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<153>} spids: [12632] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <OctoPrint>)} spids: [12637] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'web interface for controlling 3d printers'>)} spids: [12647] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<19>} spids: [12657] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12665] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&p=7958#p7958'>)} spids: [12673] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_BUILDESSENTIAL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12683] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_GIT index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12691] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<0>} spids: [12724] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'OpenSSH Client'>)} spids: [12729] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [12739] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [12748] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12756] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<1>} spids: [12777] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Samba Client'>)} spids: [12782] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'access network shares'>)} spids: [12792] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12802] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12810] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12818] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<2>} spids: [12832] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Curlftpfs>)} spids: [12837] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'ftp client with filesystem mount'>)} spids: [12847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12857] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12865] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12873] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<110>} spids: [12887] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'NFS Client'>)} spids: [12892] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'network file system client'>)} spids: [12902] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12912] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12920] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)} spids: [12928] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<3>} spids: [12951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MC>)} spids: [12956] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'midnight commander, powerful file manager'>)} spids: [12966] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [12976] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [12984] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<4>} spids: [12996] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <ViFM>)} spids: [13001] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'file manager with vi bindings'>)} spids: [13011] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<2>} spids: [13021] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13029] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<5>} spids: [13050] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <ALSA>)} spids: [13055] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'linux sound system'>)} spids: [13065] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [13075] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13083] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<6>} spids: [13095] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Xserver>)} spids: [13100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'linux display system'>)} spids: [13110] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [13120] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13128] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<151>} spids: [13141] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Nvidia>)} spids: [13146] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'display driver'>)} spids: [13156] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [13166] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13174] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_XSERVERXORG index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13182] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [13214] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) op: assign_op.Equal rhs: {<1>} spids: [13231] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<170>} spids: [13248] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NTP>)} spids: [13253] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'date and time sync'>)} spids: [13263] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<3>} spids: [13273] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [13281] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<7>} spids: [13301] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <FFmpeg>)} spids: [13306] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'audio & visual libary'>)} spids: [13316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13326] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13334] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<8>} spids: [13346] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Java>)} spids: [13351] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'OpenJDK 8 + JRE libary'>)} spids: [13361] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13371] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13379] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<9>} spids: [13391] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Node.js>)} spids: [13396] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'javascript runtime'>)} spids: [13406] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13424] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<130>} spids: [13436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Python Pip'>)} spids: [13441] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'python pip package installer'>)} spids: [13451] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13461] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13469] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<140>} spids: [13481] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <SDL2>)} spids: [13486] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'simple direct layer 2'>)} spids: [13496] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13506] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13514] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$MAX_G_HW_MODEL')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) op: assign_op.Equal rhs: {<0>} spids: [13550] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<150>} spids: [13571] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Mono>)} spids: [13576] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'runtime libraries and repo'>)} spids: [13586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<4>} spids: [13596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13604] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<10>} spids: [13622] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <iftop>)} spids: [13627] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'displays bandwidth usage information'>)} spids: [13637] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13647] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13655] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<11>} spids: [13667] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <IPTraf>)} spids: [13672] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'interactive colorful ip lan monitor'>)} spids: [13682] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13692] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13700] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<12>} spids: [13712] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Iperf>)} spids: [13717] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'internet protocol bandwidth measuring tool'>)} spids: [13727] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13737] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13745] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<13>} spids: [13757] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <MTR-Tiny>)} spids: [13762] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'full screen ncurses traceroute tool'>)} spids: [13772] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13782] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13790] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<14>} spids: [13802] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <nLoad>)} spids: [13807] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'realtime console network usage monitor'>)} spids: [13817] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13835] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<15>} spids: [13847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <tcpdump>)} spids: [13852] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'command-line network traffic analyzer'>)} spids: [13862] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13872] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13880] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<152>} spids: [13892] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Avahi-Daemon>)} spids: [13897] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'hostname broadcast (mac, pc bonjour)'>)} spids: [13907] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<5>} spids: [13917] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13925] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<16>} spids: [13943] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Build-Essentials>)} spids: [13948] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'common packages for compile'>)} spids: [13958] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [13968] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [13976] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<17>} spids: [13988] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Git Client'>)} spids: [13993] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'git clone etc'>)} spids: [14003] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<6>} spids: [14013] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14021] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<18>} spids: [14042] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Emacs>)} spids: [14047] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'gnu emacs editor'>)} spids: [14057] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [14067] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14075] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<19>} spids: [14087] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Jed>)} spids: [14092] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'editor for programmers'>)} spids: [14102] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [14112] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14120] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<20>} spids: [14132] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Vim>)} spids: [14137] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'vi enhanced text editor'>)} spids: [14147] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [14157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14165] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<21>} spids: [14177] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Vim-Tiny>)} spids: [14182] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'compact release of vim'>)} spids: [14192] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [14202] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14210] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<127>} spids: [14222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <NeoVim>)} spids: [14227] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'heavily refactored vim fork'>)} spids: [14237] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<7>} spids: [14247] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14255] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_AVAIL_G_HW_MODEL index: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index_current')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) ) ) op: assign_op.Equal rhs: {<0>} spids: [14286] ) ] ) ] spids: [14268 14282] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<22>} spids: [14316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <QuiteRSS>)} spids: [14321] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'cross-platform, free rss reader'>)} spids: [14331] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<8>} spids: [14341] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14349] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_REQUIRES_DESKTOP index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<1>} spids: [14357] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<101>} spids: [14383] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'Log Rotate'>)} spids: [14388] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'rotates log files'>)} spids: [14398] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14416] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14424] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<102>} spids: [14438] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Rsyslog>)} spids: [14443] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'system logging'>)} spids: [14453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14463] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14471] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14479] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<103>} spids: [14493] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <DietPi-Ramlog>)} spids: [14498] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'minimal, optimized logging'>)} spids: [14508] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14518] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14526] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=20#p68'>)} spids: [14534] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<104>} spids: [14561] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <Dropbear>)} spids: [14566] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'ssh server'>)} spids: [14576] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14594] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p62'>)} spids: [14602] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<105>} spids: [14616] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'OpenSSH Server'>)} spids: [14621] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [14631] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14640] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14648] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_ONLINEDOC_URL index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'f=8&t=5&start=10#p63'>)} spids: [14656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<74>} spids: [14683] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14687] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [14697] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14706] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14714] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<77>} spids: [14722] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14726] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [14736] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14745] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14753] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<80>} spids: [14761] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14765] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [14775] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14784] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14792] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_current) op: assign_op.Equal rhs: {<86>} spids: [14800] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_NAME index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ <'free index'>)} spids: [14804] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_WHIP_DESC index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {(SQ )} spids: [14814] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_CATEGORY_INDEX index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<0>} spids: [14823] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_TYPE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index_current')}) ) op: assign_op.Equal rhs: {<-1>} spids: [14831] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TOTAL_SOFTWARE_INDEXS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_TYPE> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } spids: [14848] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<0>} spids: [14889] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 103>}) ) op: assign_op.Equal rhs: {<2>} spids: [14906] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 104>}) ) op: assign_op.Equal rhs: {<2>} spids: [14914] ) ] ) ] ) ) (command.ShFunction name: Software_Arrays_Destroy body: (command.BraceGroup children: [ (C {<unset>} {<aSOFTWARE_CATEGORIES_DIETPI>}) (C {<unset>} {<aSOFTWARE_CATEGORIES_LINUX>}) (C {<unset>} {<aSOFTWARE_CATEGORY_INDEX>}) (C {<unset>} {<aSOFTWARE_TYPE>}) (C {<unset>} {<aSOFTWARE_WHIP_NAME>}) (C {<unset>} {<aSOFTWARE_WHIP_DESC>}) (C {<unset>} {<aSOFTWARE_ONLINEDOC_URL>}) (C {<unset>} {<aSOFTWARE_INSTALL_STATE>}) (C {<unset>} {<aSOFTWARE_REQUIRES_USERINPUT>}) (C {<unset>} {<aSOFTWARE_REQUIRES_ALSA>}) (C {<unset>} {<aSOFTWARE_REQUIRES_XSERVERXORG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_MYSQL>}) (C {<unset>} {<aSOFTWARE_REQUIRES_SQLITE>}) (C {<unset>} {<aSOFTWARE_REQUIRES_WEBSERVER>}) (C {<unset>} {<aSOFTWARE_REQUIRES_DESKTOP>}) (C {<unset>} {<aSOFTWARE_REQUIRES_GIT>}) (C {<unset>} {<aSOFTWARE_REQUIRES_BUILDESSENTIAL>}) (C {<unset>} {<aSOFTWARE_REQUIRES_RSYSLOG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_FFMPEG>}) (C {<unset>} {<aSOFTWARE_REQUIRES_ORACLEJAVA>}) (C {<unset>} {<aSOFTWARE_REQUIRES_NODEJS>}) (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_MODEL>}) (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_ARCH>}) ] ) ) (command.ShFunction name: Install_Disable_Requires_UserInput body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_USER_INPUTS')}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_USERINPUT> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) op: assign_op.Equal rhs: {<0>} spids: [15149] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <': Requires user input and can not be automated.'> ) } ) (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <": Will not be installed. Please run 'dietpi-software' to install."> ) } ) ] spids: [15112 15141] ) ] ) ] ) ) ] spids: [15073 15085] ) ] ) ] ) ) (command.ShFunction name: Install_Flag_Prereq_Software body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Checking for prerequisite software'>)}) (C {<local>} {<Id.Lit_VarLike 'index='> <0>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 166>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 70>}) ) op: assign_op.Equal rhs: {<1>} spids: [15274] ) ] ) ] spids: [15251 15270] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 159>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 36>}) ) op: assign_op.Equal rhs: {<1>} spids: [15314] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 37>}) ) op: assign_op.Equal rhs: {<1>} spids: [15325] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 65>}) ) op: assign_op.Equal rhs: {<1>} spids: [15352] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) op: assign_op.Equal rhs: {<1>} spids: [15363] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 121>}) ) op: assign_op.Equal rhs: {<1>} spids: [15375] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 124>}) ) op: assign_op.Equal rhs: {<1>} spids: [15386] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 129>}) ) op: assign_op.Equal rhs: {<1>} spids: [15401] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 163>}) ) op: assign_op.Equal rhs: {<1>} spids: [15416] ) ] ) ] spids: [15291 15310] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 168>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 128>}) ) ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 128>}) ) op: assign_op.Equal rhs: {<1>} spids: [15487] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 78>}) ) ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 78>}) ) op: assign_op.Equal rhs: {<1>} spids: [15514] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) op: assign_op.Equal rhs: {<1>} spids: [15541] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) ) <' will be installed'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) op: assign_op.Equal rhs: {<1>} spids: [15568] ) ] ) ] spids: [15436 15455] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 169>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 69>}) ) op: assign_op.Equal rhs: {<1>} spids: [15611] ) ] ) ] spids: [15588 15607] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index) op: assign_op.Equal rhs: {<152>} spids: [15635] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 31>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 37>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 128>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 138>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 163>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 168>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) ) op: assign_op.Equal rhs: {<1>} spids: [15755] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index')} ) ) ) <' will be installed'> ) } ) ] spids: [15732 15751] ) ] ) ] spids: [15639 15728] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 41>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 144>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 145>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 147>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 150>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 150>}) ) op: assign_op.Equal rhs: {<1>} spids: [15884] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Mono runtime libary will be installed'>)}) ] spids: [15861 15880] ) ] ) ] spids: [15796 15857] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 108>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 140>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 140>}) ) op: assign_op.Equal rhs: {<1>} spids: [15961] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SDL2 will be installed'>)}) ] spids: [15938 15957] ) ] ) ] spids: [15915 15934] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 58>} ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 99>} ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 118>} ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 136>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 139>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 142>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 153>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 169>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 130>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 130>}) ) op: assign_op.Equal rhs: {<1>} spids: [16136] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Python-Pip will be installed'>)}) ] spids: [16113 16132] ) ] ) ] spids: [15992 16109] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 32>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 119>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 129>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 128>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 128>}) ) op: assign_op.Equal rhs: {<1>} spids: [16257] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MPD will be installed'>)}) ] spids: [16230 16249] ) ] ) ] spids: [16179 16226] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 126>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 94>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 94>}) ) op: assign_op.Equal rhs: {<1>} spids: [16338] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'ProFTP will be installed'>)}) ] spids: [16315 16334] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) op: assign_op.Equal rhs: {<1>} spids: [16388] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Samba Server will be installed'>)}) ] spids: [16365 16384] ) ] ) ] spids: [16288 16307] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 47>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 114>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 91>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 91>}) ) op: assign_op.Equal rhs: {<1>} spids: [16479] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Redis will be installed'>)}) ] spids: [16456 16475] ) ] ) ] spids: [16419 16452] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 82>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) op: assign_op.Equal rhs: {<1>} spids: [16548] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) op: assign_op.Equal rhs: {<1>} spids: [16556] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16564] ) ] ) ] spids: [16526 16545] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 81>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) op: assign_op.Equal rhs: {<1>} spids: [16602] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) op: assign_op.Equal rhs: {<1>} spids: [16610] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16618] ) ] ) ] spids: [16580 16599] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 79>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) op: assign_op.Equal rhs: {<1>} spids: [16656] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) op: assign_op.Equal rhs: {<1>} spids: [16664] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16672] ) ] ) ] spids: [16634 16653] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 78>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) op: assign_op.Equal rhs: {<1>} spids: [16710] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) op: assign_op.Equal rhs: {<1>} spids: [16718] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16726] ) ] ) ] spids: [16688 16707] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 76>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) op: assign_op.Equal rhs: {<1>} spids: [16764] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) op: assign_op.Equal rhs: {<1>} spids: [16772] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16780] ) ] ) ] spids: [16742 16761] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 75>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) op: assign_op.Equal rhs: {<1>} spids: [16818] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) op: assign_op.Equal rhs: {<1>} spids: [16826] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [16834] ) ] ) ] spids: [16796 16815] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 83>} ) ) ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 84>} ) ) ) } ) ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 85>} ) ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {<Id.Lit_Digits 83>} ) ) op: assign_op.Equal rhs: {<1>} spids: [16985] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Apache2 will be installed'>)} ) ] spids: [16963 16977] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {<Id.Lit_Digits 85>} ) ) op: assign_op.Equal rhs: {<1>} spids: [17026] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Nginx will be installed'>)} ) ] spids: [17003 17018] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {<Id.Lit_Digits 84>} ) ) op: assign_op.Equal rhs: {<1>} spids: [17067] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Lighttpd will be installed'>)} ) ] spids: [17044 17059] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) op: assign_op.Equal rhs: {<1>} spids: [17093] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'PHP will be installed'>)}) ] spids: [16914 16955] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [16873 16902] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 88>} ) ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) op: assign_op.Equal rhs: {<1>} spids: [17216] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MariaDB will be installed'>)}) ] spids: [17191 17208] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17154 17183] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) op: assign_op.Equal rhs: {<1>} spids: [17315] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SQlite will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17278 17307] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 75>}) ) op: assign_op.Equal rhs: {<1>} spids: [17408] ) ] ) ] spids: [17381 17400] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 76>}) ) op: assign_op.Equal rhs: {<1>} spids: [17452] ) ] ) ] spids: [17425 17444] ) ] ) ] spids: [17354 17373] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 78>}) ) op: assign_op.Equal rhs: {<1>} spids: [17524] ) ] ) ] spids: [17497 17516] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 79>}) ) op: assign_op.Equal rhs: {<1>} spids: [17568] ) ] ) ] spids: [17541 17560] ) ] ) ] spids: [17470 17489] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 81>}) ) op: assign_op.Equal rhs: {<1>} spids: [17639] ) ] ) ] spids: [17612 17631] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 82>}) ) op: assign_op.Equal rhs: {<1>} spids: [17683] ) ] ) ] spids: [17656 17675] ) ] ) ] spids: [17585 17604] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 23>} ) ) ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 24>} ) ) ) } ) ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 25>} ) ) ) } ) ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 26>} ) ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 23>}) ) op: assign_op.Equal rhs: {<1>} spids: [17822] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'LXDE desktop will be installed'>)} ) ] spids: [17765 17818] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17728 17757] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 17>}) ) op: assign_op.Equal rhs: {<1>} spids: [17920] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Git will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17883 17912] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_BUILDESSENTIAL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 16>}) ) op: assign_op.Equal rhs: {<1>} spids: [18015] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Build-Essential will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [17978 18007] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 102>}) ) op: assign_op.Equal rhs: {<1>} spids: [18110] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Rsyslog will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18073 18102] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 7>}) ) op: assign_op.Equal rhs: {<1>} spids: [18205] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'FFmpeg will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18168 18197] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_ORACLEJAVA> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 8>}) ) op: assign_op.Equal rhs: {<1>} spids: [18300] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'OpenJDK 8 will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18263 18292] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 9>}) ) op: assign_op.Equal rhs: {<1>} spids: [18395] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'NodeJS will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18358 18387] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) op: assign_op.Equal rhs: {<1>} spids: [18490] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Alsa will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18453 18482] ) ] ) ] ) ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_XSERVERXORG> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>}) ) op: assign_op.Equal rhs: {<1>} spids: [18585] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Xserver will be installed'>)}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [18548 18577] ) ] ) ] ) ) ] ) ) (command.ShFunction name: Create_Desktop_Shared_Items body: (command.BraceGroup children: [ (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/.gtk-bookmarks>} {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.gtk-bookmarks>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop>}) (C {<ln>} {<-sf>} {</usr/share/applications/htop.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/htop.desktop>} ) (C {<mkdir>} {<-p>} {</usr/share/applications>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-software.desktop>} {<-O>} {</usr/share/applications/dietpi-software.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-update.desktop>} {<-O>} {</usr/share/applications/dietpi-update.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-config.desktop>} {<-O>} {</usr/share/applications/dietpi-config.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-backup.desktop>} {<-O>} {</usr/share/applications/dietpi-backup.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-sync.desktop>} {<-O>} {</usr/share/applications/dietpi-sync.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-bugreport.desktop> } {<-O>} {</usr/share/applications/dietpi-bugreport.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-process_tool.desktop> } {<-O>} {</usr/share/applications/dietpi-process_tool.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-cleaner.desktop>} {<-O>} {</usr/share/applications/dietpi-cleaner.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-cron.desktop>} {<-O>} {</usr/share/applications/dietpi-cron.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-launcher.desktop>} {<-O>} {</usr/share/applications/dietpi-launcher.desktop>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-justboom.desktop>} {<-O>} {</usr/share/applications/dietpi-justboom.desktop>} ) (C {<ln>} {<-sf>} {</usr/share/applications/dietpi-software.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/dietpi-software.desktop>} ) (C {<ln>} {<-sf>} {</usr/share/applications/dietpi-config.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/dietpi-config.desktop>} ) (C {<ln>} {<-sf>} {</usr/share/applications/dietpi-launcher.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/dietpi-launcher.desktop>} ) (C {<mkdir>} {<-p>} {</var/lib/dietpi/dietpi-software/installed/desktop_icons>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/dietpi-icon.png>} {<-O>} {</var/lib/dietpi/dietpi-software/installed/desktop_icons/dietpi-icon.png>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/grey_16x16.png>} {<-O>} {</var/lib/dietpi/dietpi-software/installed/desktop_icons/grey_16x16.png>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/kodi-icon.png>} {<-O>} {</var/lib/dietpi/dietpi-software/installed/desktop_icons/kodi-icon.png>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/justboom.png>} {<-O>} {</var/lib/dietpi/dietpi-software/installed/desktop_icons/justboom.png>} ) (C {<sed>} {<-i>} { (SQ < 's#^Icon=/etc/dietpi/desktop_icons#Icon=/var/lib/dietpi/dietpi-software/installed/desktop_icons#g' > ) } {</usr/share/applications/> <Id.Lit_Star '*'> <.desktop>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/share/applications/> <Id.Lit_Star '*'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/> <Id.Lit_Star '*'>} ) ] ) ) (command.ShFunction name: Create_UserContent_Folders body: (command.BraceGroup children: [ (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> (DQ ($ Id.VSub_DollarName '$FOLDER_MUSIC')) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> (DQ ($ Id.VSub_DollarName '$FOLDER_PICTURES')) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> (DQ ($ Id.VSub_DollarName '$FOLDER_VIDEO')) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> (DQ ($ Id.VSub_DollarName '$FOLDER_DOWNLOADS')) } ) ] ) ) (command.ShFunction name: Download_Test_Media body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </fourdee_tech.ogg> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/audio/fourdee_tech.ogg>} {<-O>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </fourdee_tech.ogg> } ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//network.absoluteradio.co.uk/core/audio/ogg/live.pls> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <vrbb> } {<-O>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </Absolute-Radio.pls> } ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//network.absoluteradio.co.uk/core/audio/ogg/live.pls> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a8bb> } {<-O>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </Absolute-Radio-80s.pls> } ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//network.absoluteradio.co.uk/core/audio/ogg/live.pls> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a9bb> } {<-O>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </Absolute-Radio-90s.pls> } ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//network.absoluteradio.co.uk/core/audio/ogg/live.pls> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a0bb> } {<-O>} { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') ) </Absolute-Radio-00s.pls> } ) ] spids: [19022 19040] ) ] ) ] ) ) (command.ShFunction name: Optimize_BitTorrent body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'output='> <0>}) (C {<local>} {<Id.Lit_VarLike 'gigabit_device='> <1>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 30>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 32>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 40>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 60>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_MODEL')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 70>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gigabit_device) op: assign_op.Equal rhs: {<0>} spids: [19244] ) ] ) ] spids: [19186 19240] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$RAM_TOTAL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) } spids: [19275] ) ] ) ] spids: [19257 19271] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<2>} spids: [19311] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<3>} spids: [19346] ) ] ) ] spids: [19320 19342] ) ] ) ] spids: [19293 19307] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<20>} spids: [19377] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<40>} spids: [19412] ) ] ) ] spids: [19386 19408] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$gigabit_device')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<30>} spids: [19435] ) ] ) ] spids: [19421 19431] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<15>} spids: [19466] ) ] ) ] spids: [19448 19462] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<13>} spids: [19493] ) ] ) ] spids: [19475 19489] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<7>} spids: [19520] ) ] ) ] spids: [19502 19516] ) ] ) ] spids: [19359 19373] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<3>} spids: [19551] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<5>} spids: [19586] ) ] ) ] spids: [19560 19582] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$gigabit_device')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<4>} spids: [19609] ) ] ) ] spids: [19595 19605] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:output) op: assign_op.Equal rhs: {<2>} spids: [19636] ) ] ) ] spids: [19618 19632] ) ] ) ] spids: [19533 19547] ) ] ) (C {<echo>} {($ Id.VSub_DollarName '$output')}) ] ) ) (command.ShFunction name: Install_Dietpi_Software body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<23>} spids: [19843] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [19878] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<lxde>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19847 19866] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<24>} spids: [19921] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [19956] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19925 19944] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<26>} spids: [19995] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [20030] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} {<gnustep-games>} {<libc-dbg>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [19999 20018] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<25>} spids: [20079] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)} spids: [20114] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<xfce4>} {<xfce4-terminal>} {<gnome-icon-theme>} {<tango-icon-theme>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>} ) ] spids: [20083 20102] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<29>} spids: [20155] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<xrdp>})] spids: [20159 20178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<30>} spids: [20200] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DESCRIPTION) op: assign_op.Equal rhs: {(DQ <'NoMachine (Secure RDP Server & Client)'>)} spids: [20230] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_1_amd64.deb' > ) } spids: [20259] ) ] ) ] spids: [20241 20255] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_3_armv6hf.deb' > ) } spids: [20288] ) ] ) ] spids: [20270 20284] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_armhf.deb' > ) } spids: [20317] ) ] ) ] spids: [20299 20313] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [20204 20223] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<44>} spids: [20372] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<transmission-daemon>})] spids: [20376 20395] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<94>} spids: [20416] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'proftpd-basic shared/proftpd/inetd_or_standalone select standalone'> ) } ) (C {<debconf-set-selections>}) ] negated: F ) (C {<G_AGI>} {<proftpd-basic>}) ] spids: [20420 20439] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<96>} spids: [20474] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<samba>} {<samba-common-bin>} {<--no-install-recommends>}) ] spids: [20478 20497] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<95>} spids: [20522] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<vsftpd>} {<--no-install-recommends>}) ] spids: [20526 20545] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<109>} spids: [20569] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nfs-kernel-server>} {<nfs-common>} {<ucf>} {<rpcbind>}) ] spids: [20573 20592] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<83>} spids: [20620] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<apache2>})] spids: [20624 20643] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<85>} spids: [20664] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nginx>} {<xml-core>} {<--no-install-recommends>}) ] spids: [20668 20687] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<84>} spids: [20712] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<lighttpd>})] spids: [20716 20735] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<88>} spids: [20756] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<readlink>} {</var/lib/mysql>})] ) ) ) } {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<readlink>} {</var/lib/mysql>})] ) ) </mysql> ) } {<Id.Lit_RBracket ']'>} ) (C {<rm>} {</var/lib/mysql>}) ] ) (C {<G_AGI>} {<mariadb-server>}) ] spids: [20760 20779] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<87>} spids: [20847] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<sqlite3>})] spids: [20851 20870] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<91>} spids: [20891] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<redis-server>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-redis>}) ] spids: [20930 20949] ) ] ) ] spids: [20895 20914] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<89>} spids: [20974] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME'))} {<libapache2-mod-> (DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME'))} ) ] spids: [21009 21028] ) ] else_action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-fpm>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-cgi>} ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) (C {<G_AGI>} {<php5-xsl>}) ] ) ] ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-curl>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-gd>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-apcu>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-mcrypt>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-mbstring>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-zip>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-xml>} ) ] spids: [21121 21135] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 86>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-mysql>}) ] spids: [21166 21185] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-mysqlnd>} ) ] spids: [21225 21239] ) ] else_action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-mysql>} ) ] ) ] spids: [21202 21221] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-sqlite> <Id.Lit_Star '*'> } ) ] spids: [21279 21298] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 91>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-redis>}) ] spids: [21323 21342] ) ] ) ] spids: [20978 20997] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<90>} spids: [21367] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ <'phpmyadmin phpmyadmin/dbconfig-install boolean true'>)} ) ] ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ <'phpmyadmin phpmyadmin/mysql/app-pass password '> ($ Id.VSub_DollarName '$GLOBAL_PW') ) } ) ] ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ <'phpmyadmin phpmyadmin/app-password-confirm password '> ($ Id.VSub_DollarName '$GLOBAL_PW') ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ < 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' > ) } ) ] ) ] spids: [21446 21465] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ < 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect lighttpd' > ) } ) ] ) ] spids: [21479 21498] ) ] else_action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: { (DQ <'phpmyadmin phpmyadmin/reconfigure-webserver multiselect none'> ) } ) ] ) ] ) (C {<G_AGI>} {<phpmyadmin>}) ] spids: [21371 21390] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<128>} spids: [21544] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mpd_0.19.21_arm64.deb' > ) } spids: [21619] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<G_AGI>} {<libupnp6>}) (C {<G_AGI>} {<libmpdclient2>} {<libao-common>} {<libao4>} {<libasound2>} {<libasound2-data>} {<libasyncns0>} {<libaudiofile1>} {<libavahi-client3>} {<libavahi-common-data>} {<libavahi-common3>} {<libavcodec56>} {<libavformat56>} {<libavresample2>} {<libavutil54>} {<libbinio1ldbl>} {<libcaca0>} {<libcdio-cdda1>} {<libcdio-paranoia1>} {<libcdio13>} {<libcups2>} {<libcurl3-gnutls>} {<libdirectfb-1.2-9>} {<libdnet>} {<libfaad2>} {<libflac8>} {<libfluidsynth1>} {<libgme0>} {<libgomp1>} {<libgsm1>} {<libice6>} {<libid3tag0>} {<libiso9660-8>} {<libjack-jackd2-0>} {<libjson-c2>} {<libldb1>} {<libmad0>} {<libmikmod3>} {<libmms0>} {<libmodplug1>} {<libmp3lame0>} {<libmpcdec6>} {<libmpg123-0>} {<libnfs4>} {<libntdb1>} {<libogg0>} {<libopenal-data>} {<libopenal1>} {<libopenjpeg5>} {<libopus0>} {<liborc-0.4-0>} {<libpulse0>} {<libresid-builder0c2a>} {<libroar2>} {<libsamplerate0>} {<libschroedinger-1.0-0>} {<libsdl1.2debian>} {<libshout3>} {<libsidplay2>} {<libsidutils0>} {<libslp1>} {<libsm6>} {<libsmbclient>} {<libsndfile1>} {<libsoxr0>} {<libspeex1>} {<libspeexdsp1>} {<libsqlite3-0>} {<libtalloc2>} {<libtdb1>} {<libtevent0>} {<libtheora0>} {<libupnp6>} {<libva1>} {<libvorbis0a>} {<libvorbisenc2>} {<libvorbisfile3>} {<libvpx1>} {<libwavpack1>} {<libwbclient0>} {<libwildmidi-config>} {<libwildmidi1>} {<libx11-6>} {<libx11-data>} {<libx11-xcb1>} {<libx264-142>} {<libxau6>} {<libxcb1>} {<libxdmcp6>} {<libxext6>} {<libxi6>} {<libxtst6>} {<libxvidcore4>} {<libyajl2>} {<libzzip-0-13>} {<mime-support>} {<python>} {<python-talloc>} {<python2.7>} {<samba-libs>} {<x11-common>} {<file>} {<--no-install-recommends>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [21601 21615] ) ] else_action: [(C {<G_AGI>} {<mpd>})] ) ] spids: [21579 21593] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/mpd_0.20.11-1_'>)} spids: [21896] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6>)} spids: [21925] ) ] ) ] spids: [21907 21921] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7>)} spids: [21954] ) ] ) ] spids: [21936 21950] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv8>)} spids: [21983] ) ] ) ] spids: [21965 21979] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <amd64>)} spids: [22012] ) ] ) ] spids: [21994 22008] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <.deb>)} spids: [22023] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libmpdclient2>} {<libflac8>} {<libyajl2>} {<libavahi-client3>} {<libvorbisfile3>} {<libwavpack1>} {<libmad0>} {<libmpg123-0>} {<libopus0>} {<libavformat57>} {<libfaad2>} {<libcdio-paranoia1>} {<libiso9660-8>} {<libshout3>} {<libid3tag0>} ) (command.Simple words: [{<apt-mark>} {<unhold>} {<mpd>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<apt-mark>} {<hold>} {<mpd>}) ] ) ] spids: [21548 21567] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<54>} spids: [22138] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://www.phpbb.com/files/release/phpBB-3.2.1.zip'>)} spids: [22169] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www>}) (C {<rm>} {<package.zip>}) ] spids: [22142 22161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<58>} spids: [22219] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/OpenBazaar/OpenBazaar-Server.git'>)} spids: [22250] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libsodium-dev>} {<automake>} {<autoconf>} {<pkg-config>} {<libtool>} {<libssl-dev>} {<libffi-dev>} {<python-dev>} {<openssl>} {<libzmq3-dev>} ) (C {<pip>} {<install>} {<cryptography>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {<https> <Id.Lit_Other ':'> <//github.com/zeromq/libzmq>} ) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {<https> <Id.Lit_Other ':'> <//github.com/pyca/pynacl/>} ) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME')) </libzmq>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {<./autogen.sh>}) (C {<./configure>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName '$G_HW_CPU_CORES')}) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [(C {<make>} {<check>}) (C {<make>} {<install>}) (C {<ldconfig>})] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME')) </pynacl>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<python>} {<setup.py>} {<build>}) (C {<python>} {<setup.py>} {<install>}) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<mkdir>} {<-p>} {</etc/openbazaar-server>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$HOME')) </OpenBazaar-Server/> <Id.Lit_Star '*'>} {</etc/openbazaar-server/>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </OpenBazaar-Server>}) (C {<cd>} {</etc/openbazaar-server>}) (C {<pip>} {<install>} {<-r>} {<requirements.txt>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </libzmq>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </pynacl>}) ] spids: [22223 22242] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<133>} spids: [22528] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://yacy.net/release/yacy_v1.92_20161226_9000.tar.gz'>)} spids: [22559] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar.gz>} ) (C {<tar>} {<xvf>} {<package.tar.gz>} {<-C>} {</etc/>}) (C {<rm>} {<package.tar.gz>}) ] spids: [22532 22551] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<47>} spids: [22609] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Installing needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions' > ) } ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-intl>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-redis>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</var/www/owncloud/occ>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Existing ownCloud installation found, will NOT overwrite...'>)} ) ] spids: [22663 22674] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </owncloud_data> ) } spids: [22730] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-installation-backup/occ> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud installation backup found, starting recovery...'>)} ) (C {<G_RUN_CMD>} {<cp>} {<-a>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-installation-backup/.> } {</var/www/owncloud>} ) ] spids: [22737 22751] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://download.owncloud.org/community/owncloud-latest.zip' > ) } spids: [22783] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www>}) (C {<rm>} {<package.zip>}) ] ) ] ) ] spids: [22613 22632] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<114>} spids: [22844] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Installing needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation' > ) } ) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-intl>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-redis>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</var/www/nextcloud/occ>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Existing Nextcloud installation found, will NOT overwrite...'>)} ) ] spids: [22898 22909] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </nextcloudcloud_data> ) } spids: [22965] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-installation-backup/occ> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud installation backup found, starting recovery...'>)} ) (C {<G_RUN_CMD>} {<cp>} {<-a>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-installation-backup/.> } {</var/www/nextcloud>} ) ] spids: [22972 22986] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://download.nextcloud.com/server/releases/latest.zip' > ) } spids: [23018] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www>}) (C {<rm>} {<package.zip>}) ] ) ] ) ] spids: [22848 22867] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<32>} spids: [23079] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/ympd_1.2.3.7z'>)} spids: [23110] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>}) (C {<local>} {<Id.Lit_VarLike 'binary_name='> (SQ <ympd_>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:binary_name) op: assign_op.PlusEqual rhs: {(SQ <armv6>)} spids: [23175] ) ] ) ] spids: [23157 23171] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:binary_name) op: assign_op.PlusEqual rhs: {(SQ <armv7>)} spids: [23204] ) ] ) ] spids: [23186 23200] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:binary_name) op: assign_op.PlusEqual rhs: {(SQ <armv8>)} spids: [23233] ) ] ) ] spids: [23215 23229] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:binary_name) op: assign_op.PlusEqual rhs: {(SQ <amd64>)} spids: [23262] ) ] ) ] spids: [23244 23258] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:binary_name) op: assign_op.PlusEqual rhs: {(DQ <_> ($ Id.VSub_DollarName '$G_DISTRO_NAME'))} spids: [23273] ) ] ) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$binary_name'))} {</usr/bin/ympd>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/bin/ympd>}) (C {<rm>} {<ympd_> <Id.Lit_Star '*'>}) (C {<rm>} {<package.7z>}) ] spids: [23083 23102] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<121>} spids: [23319] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2' > ) } spids: [23372] ) ] ) ] spids: [23354 23368] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxarmv8.tar.bz2' > ) } spids: [23401] ) ] ) ] spids: [23383 23397] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://download.roonlabs.com/builds/RoonBridge_linuxarmv7hf.tar.bz2' > ) } spids: [23416] ) ] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar.bz2>} ) (C {<tar>} {<xvf>} {<package.tar.bz2>}) (C {<rm>} {<package.tar.bz2>}) (command.Simple words: [{<rm>} {<-R>} {</etc/roonbridge>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {</etc/roonbridge>}) (C {<mv>} {<RoonBridge/> <Id.Lit_Star '*'>} {</etc/roonbridge>}) (C {<rm>} {<-R>} {<RoonBridge>}) ] spids: [23323 23342] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<119>} spids: [23506] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv6.deb' > ) } spids: [23559] ) ] ) ] spids: [23541 23555] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv7.deb' > ) } spids: [23588] ) ] ) ] spids: [23570 23584] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/cava_0.4.2_arm64.deb' > ) } spids: [23617] ) ] ) ] spids: [23599 23613] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libpulse0>} {<libfftw3-3>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/binaries/all/cava.psf>} {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </cava.psf>} ) ] spids: [23510 23529] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<118>} spids: [23695] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://apt.mopidy.com/mopidy.gpg'>)} spids: [23726] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<apt-key>} {<add>} {<->}) ] negated: F ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<https> <Id.Lit_Other ':'> <//apt.mopidy.com/stretch.list>} {<-O>} {</etc/apt/sources.list.d/mopidy.list>} ) ] spids: [23765 23779] ) ] else_action: [ (C {<wget>} {<https> <Id.Lit_Other ':'> <//apt.mopidy.com/> (DQ ($ Id.VSub_DollarName '$G_DISTRO_NAME')) <.list> } {<-O>} {</etc/apt/sources.list.d/mopidy.list>} ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<mopidy>}) (C {<pip>} {<install>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>}) ] spids: [23699 23718] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<31>} spids: [23876] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<kodi-odroid>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 11>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<pulseaudio>} {<--no-install-recommends>})] spids: [23952 23966] ) ] ) ] spids: [23911 23938] ) ] else_action: [(C {<G_AGI>} {<kodi>})] ) (C {<G_AGI>} {<libcurl3-gnutls>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<libnfs8>} {<libcec4>})] spids: [24014 24028] ) ] else_action: [(C {<G_AGI>} {<libnfs4>} {<libcec3v4>})] ) ] spids: [23880 23899] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<39>} spids: [24064] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<minidlna>})] spids: [24068 24087] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<67>} spids: [24108] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (DQ < 'http://dietpi.com/downloads/binaries/all/noip_x32_x64.zip' > ) } spids: [24169] ) ] ) ] spids: [24143 24165] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>}) ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 40>}) ) right: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 50>}) ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/all/noip_arm64.zip'>)} spids: [24221] ) ] ) ] spids: [24180 24217] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/all/noip_armhf.zip'>)} spids: [24236] ) ] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<dietpi-noip.zip>} ) (C {<unzip>} {<-o>} {<dietpi-noip.zip>}) (C {<rm>} {<dietpi-noip.zip>}) (C {<mv>} {<noip_binary>} {</usr/local/bin/noip2>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/noip2>}) ] spids: [24112 24131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<108>} spids: [24305] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/amiberry-rpi_v2.1.1.7z'>)} spids: [24336] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<alsa-oss>} {<joystick>} {<libsdl-image1.2>} {<libsdl-ttf2.0-0>} {<libsdl-gfx1.2-5>} {<libguichan-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-allegro-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-sdl-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-opengl-0.8.1-1> <Id.Lit_Star '*'>} {<libjpgalleg4.4>} {<libxml2>} {<libmpg123-0>} ) (C {<G_AGI>} {<libpng12-0>} {<libflac8>} {<libmpg123-0>} {<libgoogle-perftools4>} {<libfreetype6>} {<libxxf86vm1>} ) (command.Simple words: [ {<mv>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/conf/autostart.uae> } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/conf/autostart_pre-dietpi-update.uae> } ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o/etc>}) (C {<rm>} {<package.7z>}) ] spids: [24309 24328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<112>} spids: [24469] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/dxx-rebirth.7z'>)} spids: [24500] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libsdl-mixer1.2>} {<libsdl1.2debian>} {<libphysfs1>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o> (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA'))} ) (C {<rm>} {<package.7z>}) ] spids: [24473 24492] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<111>} spids: [24563] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_amd64.deb' > ) } spids: [24612] ) ] ) ] spids: [24594 24608] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_armhf.deb' > ) } spids: [24645] ) ] ) ] spids: [24619 24641] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://hndl.urbackup.org/Server/2.1.20/urbackup-server-2.1.20.tar.gz' > ) } spids: [24674] ) ] ) ] spids: [24656 24670] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<build-essential>} {<zlib1g-dev>} {<libcurl4-openssl-dev>} {<libcrypto> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <-dev>} {<sqlite3>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<xzvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<urbackup-server-> <Id.Lit_Star '*'>}) (C {<./configure>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName '$G_HW_CPU_CORES')}) (C {<make>} {<install>}) (C {<sed>} {<-i>} { (DQ < '/ExecStart=/c ExecStart=/usr/local/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime' > ) } {<urbackup-server.service>} ) (C {<cp>} {<urbackup-server.service>} {</etc/systemd/system/urbackupsrv.service>} ) (C {<cp>} {<defaults_server>} {</etc/default/urbackupsrv>}) (C {<cp>} {<logrotate_urbackupsrv>} {</etc/logrotate.d/urbackupsrv>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<urbackup-server-> <Id.Lit_Star '*'>}) ] spids: [24697 24711] ) ] else_action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'urbackup-server urbackup/backuppath string '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </urbackup> ) } ) (C {<debconf-set-selections>}) ] negated: F ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<apt-get>} {<-f>} {<install>} {<-y>}) (C {<rm>} {<package.deb>}) ] ) ] spids: [24567 24586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<51>} spids: [24898] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(DQ <'http://dietpi.com/downloads/binaries/rpi/opentyrian_armhf.zip'>)} spids: [24929] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<ibsdl1.2debian>} {<libsdl-net1.2>} {<--no-install-recommends>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</>}) (C {<rm>} {<package.zip>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/games/opentyrian/opentyrian>}) ] spids: [24902 24921] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<59>} spids: [25001] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/Fourdee/RPi_Cam_Web_Interface/archive/6.2.29.zip' > ) } spids: [25032] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<gpac>} {<motion>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<cd>} {<RPi_Cam> <Id.Lit_Star '*'>}) (C {<mkdir>} {<-p>} {</etc/motion>}) (C {<cp>} {<etc/motion/motion.conf.1>} {</etc/motion/motion.conf>}) (C {<cp>} {<etc/raspimjpeg/raspimjpeg.1>} {</etc/raspimjpeg>}) (C {<mkdir>} {<-p>} {</var/www/dietpicam/media>}) (C {<cp>} {<-R>} {<www/> <Id.Lit_Star '*'>} {</var/www/dietpicam/>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</var/www/dietpicam/raspizip.sh>}) (C {<mknod>} {</var/www/dietpicam/FIFO>} {<p>}) (C {<mknod>} {</var/www/dietpicam/FIFO1>} {<p>}) (C {<ln>} {<-sf>} {</run/shm/mjpeg/cam.jpg>} {</var/www/dietpicam/cam.jpg>}) (C {<ln>} {<-sf>} {</run/shm/mjpeg/status_mjpeg.txt>} {</var/www/dietpicam/status_mjpeg.txt>} ) (C {<cp>} {<bin/raspimjpeg>} {</opt/vc/bin/raspimjpeg>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</opt/vc/bin/raspimjpeg>}) (C {<ln>} {<-s>} {</opt/vc/bin/raspimjpeg>} {</usr/bin/raspimjpeg>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </RPi_Cam> <Id.Lit_Star '*'>}) ] spids: [25005 25024] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<45>} spids: [25251] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>}) ] spids: [25255 25274] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<100>} spids: [25301] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<python>}) (C {<local>} {<Id.Lit_VarLike 'grasshopper_directory='> (SQ </var/www>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://sourceforge.net/projects/grasshopperwebapp/files/grasshopper_v5_application.zip/download' > ) } spids: [25350] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<grasshopper.zip>} ) (C {<unzip>} {<-o>} {<grasshopper.zip>} {<-d>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory'))} ) (C {<rm>} {<grasshopper.zip>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </install/install.sh>} ) (C {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </install/install.sh>}) ] spids: [25305 25324] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<106>} spids: [25424] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/harmon25/raspcontrol/archive/master.zip'>)} spids: [25455] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {</var/www/raspcontrol>}) (C {<mv>} {<raspcontrol-master/> <Id.Lit_Star '*'>} {</var/www/raspcontrol>}) (C {<rm>} {<-R>} {<raspcontrol-master>}) ] spids: [25428 25447] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<115>} spids: [25524] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://www.webmin.com/download/deb/webmin-current.deb'>)} spids: [25555] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<G_AGF>}) (C {<rm>} {<package.deb>}) ] spids: [25528 25547] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<126>} spids: [25606] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://packages.openmediavault.org/public'>)} spids: [25637] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb '> ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS') <' erasmus main'>) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/openmediavault.list>} ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<openmediavault-keyring>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ <'openmediavault openmediavault/run-initsystem note'>)} ) ] ) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ <'postfix postfix/main_mailer_type select No configuration'>)} ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<openmediavault>} {<postfix>}) ] spids: [25610 25629] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<129>} spids: [25714] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/ArturSierzant/OMPD/archive/master.zip'>)} spids: [25745] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www/>}) (command.Simple words: [{<rm>} {<-R>} {</var/www/ompd>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mv>} {</var/www/OMPD> <Id.Lit_Star '*'>} {</var/www/ompd>}) (C {<rm>} {<package.zip>}) ] spids: [25718 25737] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<135>} spids: [25818] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<darkice>} {<icecast2>})] spids: [25822 25841] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<63>} spids: [25865] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/afaqurk/linux-dash/archive/master.zip'>)} spids: [25896] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {</var/www/linuxdash>}) (C {<mv>} {<linux-dash-master/> <Id.Lit_Star '*'>} {</var/www/linuxdash>}) (C {<rm>} {<-R>} {<linux-dash-master>}) ] spids: [25869 25888] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<93>} spids: [25965] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://install.pi-hole.net'>)} spids: [25996] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-cgi>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-sqlite> <Id.Lit_Star '*'>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<free>} {<-m>}) (C {<grep>} {<-m1>} {(SQ <'Mem:'>)}) (C {<awk>} {(SQ <'{print $4}'>)}) ] negated: F ) ] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 512>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {</etc/dphys-swapfile>} {<Id.Lit_RBracket ']'>} ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {(SQ <'CONF_SWAPSIZE='>)} {</etc/dphys-swapfile>} ) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 512>}) ) ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'Increasing swapfile size to 512MB before running gravity.sh, please wait...' > <Id.Lit_Other '\\'> <n> ) } ) (C {</DietPi/dietpi/func/dietpi-set_dphys-swapfile>} {<512>}) ] spids: [26073 26114] ) ] ) ] spids: [26033 26069] ) ] ) (command.Simple words: [{<mv>} {</etc/lighttpd/lighttpd.conf>} {</etc/lighttpd/lighttpd.conf.bak>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<install.sh>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<install.sh>}) (C {<./install.sh>}) (C {<local>} {<Id.Lit_VarLike 'exit_code='> ($ Id.VSub_QMark '$?')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$exit_code')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <'Pi-Hole exited with code ('> ($ Id.VSub_DollarName '$exit_code') <') and is not installed.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) op: assign_op.Equal rhs: {<0>} spids: [26220] ) ] ) ] spids: [26191 26205] ) ] ) (command.Simple words: [{<mv>} {</etc/lighttpd/lighttpd.conf.bak>} {</etc/lighttpd/lighttpd.conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [25969 25988] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<33>} spids: [26253] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/subsonic/files/subsonic/5.3/subsonic-5.3.deb/download' > ) } spids: [26284] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26257 26276] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<34>} spids: [26339] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/subsonic/files/subsonic/6.1.3/subsonic-6.1.3.deb/download' > ) } spids: [26370] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26343 26362] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<68>} spids: [26425] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/weaved/installer/raw/master/Raspbian%20deb/1.3-07/weavedconnectd_1.3-07v_armhf.deb' > ) } spids: [26456] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [26429 26448] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 71>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 69>}) ) op: assign_op.Equal rhs: {<1>} spids: [26529] ) ] ) ] spids: [26506 26525] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<69>} spids: [26546] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</etc/.dietpi_image_version>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<python-rpi.gpio>} {<python3-rpi.gpio>})] spids: [26581 26592] ) ] else_action: [(C {<G_AGI>} {<python3-pip>}) (C {<pip3>} {<install>} {<RPi.GPIO>})] ) ] spids: [26550 26569] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<70>} spids: [26637] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://git.drogon.net/?p=wiringPi;a=snapshot;h=HEAD;sf=tgz' > ) } spids: [26694] ) ] ) ] spids: [26672 26686] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) right: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/hardkernel/wiringPi/archive/master.zip' > ) } spids: [26731] ) ] ) ] spids: [26705 26727] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 51>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/LeMaker/WiringBP/archive/bananapro.zip' > ) } spids: [26760] ) ] ) ] spids: [26742 26756] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<xfz>} {<package.tar>}) (C {<rm>} {<package.tar>}) ] spids: [26783 26797] ) ] else_action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<package.zip>}) (C {<rm>} {<package.zip>}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 51>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<mv>} {<WiringBP> <Id.Lit_Star '*'>} {<wiringPi>})] spids: [26859 26873] ) ] ) (C {<cd>} {<wiringPi> <Id.Lit_Star '*'>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<build>}) (C {<./build>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [26641 26660] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<72>} spids: [26928] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<i2c>} {<enable>}) ] spids: [26932 26951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<122>} spids: [26975] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<python>} {<python3>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<python-rpi.gpio>})] spids: [27018 27032] ) ] ) (C {<npm>} {<install>} {<-g>} {<node-red>} {<--unsafe-perm>}) ] spids: [26979 26998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<123>} spids: [27070] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<mosquitto>})] spids: [27101 27115] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})] spids: [27137 27151] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [27178] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [27215] ) ] ) ] spids: [27189 27211] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [27244] ) ] ) ] spids: [27226 27240] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_armhf.deb' > ) } spids: [27286] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_amd64.deb' > ) } spids: [27310] ) ] ) ] spids: [27292 27306] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<G_AGF>}) (C {<rm>} {<package.deb>}) ] ) ] spids: [27074 27093] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<131>} spids: [27376] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/blynkkk/blynk-server/releases'>)} spids: [27411] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<mkdir>} {<-p>} {</etc/blynkserver>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/blynkkk/blynk-server/releases/download/v0.29.7/server-0.29.7-java8.jar' > ) } spids: [27433] ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {</etc/blynkserver/server.jar>} ) (C {<G_AGI>} {<python>}) (C {<npm>} {<install>} {<-g>} {<onoff>}) (C {<npm>} {<install>} {<-g>} {<blynk-library>}) ] spids: [27380 27399] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<124>} spids: [27487] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_USER_INPUTS')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ <'networkaudiod networkaudiod/license note false'>)} ) ] ) ] spids: [27522 27534] ) ] ) (C {<local>} {<Id.Lit_VarLike 'apackages='> (sh_array_literal left:<Id.Op_LParen _>)} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:apackages) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'http://dietpi.com/downloads/binaries/all/gcc-6-base_6.3.0-6_armhf.deb' > ) } ] ) } spids: [27586] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:apackages) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'http://dietpi.com/downloads/binaries/all/libstdc++6_6.3.0-6_armhf.deb' > ) } ] ) } spids: [27594] ) ] ) ] spids: [27568 27582] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:apackages) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (SQ < 'https://www.signalyst.eu/bins/naa/linux/stretch/networkaudiod_3.5.2-36_armhf.deb' > ) } ] ) } spids: [27607] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name apackages> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name apackages> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } spids: [27649] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) ] ) ) (C {<G_AGI>} {<libasound2>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<gcc-6-base>} {<libstdc> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <6>} ) ] spids: [27686 27700] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name apackages> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (C {<wget>} { (DQ (braced_var_sub token: <Id.VSub_Name apackages> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) ) } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] ) ) (C {<unset>} {<apackages>}) ] spids: [27491 27510] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<125>} spids: [27804] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tomcat8>})] spids: [27808 27827] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<71>} spids: [27849] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download' > ) } spids: [27880] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python-dev>} {<python-setuptools>} {<--no-install-recommends>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<xvzf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<WebIOPi> <Id.Lit_Star '*'>}) (C {<sed>} {<-i>} {(SQ <'/read response/c\\response="n"'>)} {<setup.sh>}) (C {<./setup.sh>}) (C {<clear>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<WebIOPi> <Id.Lit_Star '*'>}) ] spids: [27853 27872] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<62>} spids: [27997] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 11>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<lcdpanel>} {<odroid-cloudshell>} ) ] spids: [28036 28050] ) ] ) ] spids: [28001 28020] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<98>} spids: [28074] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://www.haproxy.org/download/1.8/src/haproxy-1.8.2.tar.gz'>)} spids: [28106] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<-xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<cd>} {<haproxy-> <Id.Lit_Star '*'>}) (C {<G_AGI>} {<libpcre3-dev>} {<libssl-dev>} {<zlib1g-dev>}) (C {<make>} {<-j>} {($ Id.VSub_DollarName '$G_HW_CPU_CORES')} {<Id.Lit_VarLike 'TARGET='> <linux2628>} {<Id.Lit_VarLike 'CPU='> <generic>} {<Id.Lit_VarLike 'USE_PCRE='> <1>} {<Id.Lit_VarLike 'USE_OPENSSL='> <1>} {<Id.Lit_VarLike 'USE_ZLIB='> <1>} {<Id.Lit_VarLike 'USE_LINUX_SPLICE='> <1>} ) (C {<make>} {<install>}) (C {<mkdir>} {</etc/haproxy>}) (C {<cd>} {<..>}) (C {<rm>} {<-R>} {<haproxy-> <Id.Lit_Star '*'>}) (C {<cp>} {</DietPi/dietpi/conf/haproxy_init>} {</etc/init.d/haproxy>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/init.d/haproxy>}) (C {<update-rc.d>} {<haproxy>} {<defaults>}) ] spids: [28078 28097] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<35>} spids: [28267] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})] spids: [28324 28338] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.1_armv7-(stretch).deb' > ) } spids: [28357] ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<G_AGF>}) ] spids: [28302 28316] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_all.deb' > ) } spids: [28394] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<G_AGF>}) (C {<service>} {<logitechmediaserver>} {<stop>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz > } {<-O>} {<package.tar>} ) (C {<tar>} {<xvzf>} {<package.tar>} {<-C>} {</>}) (C {<rm>} {<package.tar>}) ] spids: [28456 28470] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<libxml-parser-perl>}) (C {<G_AGI>} {<zlib1g-dev>} {<libjpeg-dev>} {<libpng-dev>} {<libjpeg62-turbo-dev>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/DietPi-LMS7.9-CPAN_arm64.zip > } {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</usr/share/squeezeboxserver>}) (C {<rm>} {<package.zip>}) ] spids: [28506 28520] ) ] ) ] ) ] spids: [28271 28290] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<55>} spids: [28588] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://wordpress.org/latest.zip'>)} spids: [28619] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www/>}) (C {<rm>} {<package.zip>}) ] spids: [28592 28611] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<27>} spids: [28669] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<tightvncserver>} {<x11vnc>} {<--no-install-recommends>}) ] spids: [28673 28692] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<28>} spids: [28718] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<vnc4server>} {<x11vnc>} {<--no-install-recommends>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<tigervnc-common>})] spids: [28763 28777] ) ] ) ] spids: [28722 28741] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<120>} spids: [28799] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<realvnc-vnc-server>})] spids: [28803 28822] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<73>} spids: [28880] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<touch>} {</var/log/auth.log>}) (C {<G_AGI>} {<fail2ban>} {<--no-install-recommends>}) ] spids: [28884 28903] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<64>} spids: [28936] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/phpsysinfo/phpsysinfo/archive/master.zip'>)} spids: [28968] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www/>}) (C {<rm>} {<package.zip>}) (C {<mv>} {</var/www/phpsysinfo-> <Id.Lit_Star '*'>} {</var/www/phpsysinfo>}) ] spids: [28940 28959] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<56>} spids: [29026] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/Single_File_PHP_Gallery_4.6.1.zip' > ) } spids: [29058] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www/gallery>}) (C {<rm>} {<package.zip>}) ] spids: [29030 29049] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<40>} spids: [29108] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/ampache/ampache/archive/master.zip'>)} spids: [29139] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<ampache-> <Id.Lit_Star '*'>} {</var/www/ampache>}) (command.Simple words: [{<php>} {<-r>} {(DQ <"readfile('https://getcomposer.org/installer');">)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {<composer-setup.php>} ) ] ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <"unlink('composer-setup.php');">)}) (C {<mv>} {<composer.phar>} {</usr/local/bin/composer>}) (C {<cd>} {</var/www/ampache>}) (C {<composer>} {<install>} {<--prefer-source>} {<--no-interaction>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [29112 29131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<97>} spids: [29256] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openvpn>} {<easy-rsa>} {<iptables>})] spids: [29260 29279] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<117>} spids: [29305] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://install.pivpn.io'>)} spids: [29336] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<lsb-release>}) (C {<useradd>} {<pivpn>}) (C {<mkdir>} {<-p>} {</home/pivpn>}) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<true>})] body: (command.DoGroup children: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<pivpn_install.sh>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<pivpn_install.sh>}) (C {<sed>} {<-i>} {(SQ <'/shutdown[[:space:]]/d'>)} {<pivpn_install.sh>}) (C {<./pivpn_install.sh>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w:{($ Id.VSub_QMark '$?')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <'PiVPN failed/aborted'>)} {<--yesno>} { (DQ < 'The PiVPN installer was not successful and/or canceled prior to its completion.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nWould you like DietPi to run the PiVPN installer again?'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--defaultno>} {<12>} {<70>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INSTALLING_INDEX' ) } ) ) op: assign_op.Equal rhs: {<0>} spids: [29488] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [29470 29484] ) ] ) ] spids: [29421 29435] ) ] else_action: [ (C {<rm>} {<pivpn_install.sh>}) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) ] ) ) ] spids: [29309 29328] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<92>} spids: [29533] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<certbot>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 83>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<python-certbot-apache>})] spids: [29588 29607] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 85>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<python-certbot-nginx>})] spids: [29621 29640] ) ] ) ] spids: [29564 29578] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/certbot/certbot/archive/master.zip'>)} spids: [29658] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</root>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<certbot> <Id.Lit_Star '*'>} {</etc/certbot_scripts>}) (C {<cd>} {</etc/certbot_scripts>}) (C {<./certbot-auto>} {<-n>} {<--os-packages-only>}) (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </>}) ] ) ] spids: [29537 29556] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 61>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 60>}) ) op: assign_op.Equal rhs: {<1>} spids: [29766] ) ] ) ] spids: [29743 29762] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<60>} spids: [29783] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/hostapd_2.5_all.zip'>)} spids: [29814] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<hostapd>} {<isc-dhcp-server>} {<iptables>} {<libnl-3-200>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<lsusb>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <RTL8188C>)}) ] negated: F ) ] ) ) } ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 70>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WIFIHOTSPOT_RTL8188C_DEVICE) op: assign_op.Equal rhs: {<1>} spids: [29913] ) ] ) ] spids: [29873 29906] ) ] ) (C {<local>} {<Id.Lit_VarLike 'filename_hostapd='> (SQ )}) (C {<local>} {<Id.Lit_VarLike 'filename_hostapd_cli='> (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-armv6>)} spids: [29963] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd_cli) op: assign_op.Equal rhs: {(SQ <hostapd_cli-armv6>)} spids: [29969] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$WIFIHOTSPOT_RTL8188C_DEVICE' ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-armv6>)} spids: [29990] ) ] ) ] spids: [29976 29986] ) ] ) ] spids: [29945 29959] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-armv7>)} spids: [30023] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd_cli) op: assign_op.Equal rhs: {(SQ <hostapd_cli-armv7>)} spids: [30029] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$WIFIHOTSPOT_RTL8188C_DEVICE' ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-armv7>)} spids: [30050] ) ] ) ] spids: [30036 30046] ) ] ) ] spids: [30005 30019] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-nl80211-arm64>)} spids: [30083] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd_cli) op: assign_op.Equal rhs: {(SQ <hostapd_cli-arm64>)} spids: [30089] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$WIFIHOTSPOT_RTL8188C_DEVICE' ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename_hostapd) op: assign_op.Equal rhs: {(SQ <hostapd-rtl8188c-arm64>)} spids: [30110] ) ] ) ] spids: [30096 30106] ) ] ) ] spids: [30065 30079] ) ] ) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$filename_hostapd'))} {</usr/sbin/hostapd>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$filename_hostapd_cli'))} {</usr/sbin/hostapd_cli>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/sbin/hostapd>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/sbin/hostapd_cli>}) (C {<rm>} {<hostapd-> <Id.Lit_Star '*'>}) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<wifimodules>} {<enable>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [30206] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [30243] ) ] ) ] spids: [30217 30239] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)} spids: [30272] ) ] ) ] spids: [30254 30268] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [30301] ) ] ) ] spids: [30283 30297] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [30188 30202] ) ] ) ] spids: [29787 29806] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<61>} spids: [30357] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tor>})] spids: [30361 30380] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<37>} spids: [30406] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/shairport-sync_3.1.3_'>)} spids: [30437] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6.7z>)} spids: [30466] ) ] ) ] spids: [30448 30462] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7.7z>)} spids: [30495] ) ] ) ] spids: [30477 30491] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm64.7z>)} spids: [30524] ) ] ) ] spids: [30506 30520] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<openssl>} {<libsoxr0>} {<libavahi-client3>} {<libtool>} {<libconfig9>} {<libpopt0>} {<libdaemon0>} {<--no-install-recommends>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o/>}) (C {<rm>} {<package.7z>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)} spids: [30640] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)} spids: [30677] ) ] ) ] spids: [30651 30673] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)} spids: [30706] ) ] ) ] spids: [30688 30702] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)} spids: [30735] ) ] ) ] spids: [30717 30731] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [30622 30636] ) ] ) ] spids: [30410 30429] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<38>} spids: [30790] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/conf/BruteFIR/'>)} spids: [30825] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<brutefir>}) (C {<wget>} {<-r>} {<-nH>} {<--cut-dirs> <Id.Lit_Equals '='> <2>} {<--no-parent>} {<--reject> <Id.Lit_Equals '='> (DQ <'index.htm*'>)} {<-e>} {<Id.Lit_VarLike 'robots='> <off>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<mv>} {<BruteFIR>} {</etc/>}) ] spids: [30794 30813] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<48>} spids: [30893] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://download.pydio.com/pub/core/archives/pydio-core-8.0.2.zip' > ) } spids: [30928] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www>}) (C {<mv>} {</var/www/pydio-core-> <Id.Lit_Star '*'>} {</var/www/pydio>}) (C {<rm>} {<package.zip>}) ] spids: [30897 30916] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<36>} spids: [30986] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/squeezelite-1.8_all.7z'>)} spids: [31017] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<squeezelite>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o/usr/bin>}) (C {<rm>} {<package.7z>}) (C {<rm>} {</usr/bin/squeezelite>}) (C {<local>} {<Id.Lit_VarLike 'target_binary='> (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_binary) op: assign_op.Equal rhs: {(SQ <squeezelite_armv6>)} spids: [31105] ) ] ) ] spids: [31087 31101] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_binary) op: assign_op.Equal rhs: {(SQ <squeezelite_armv7>)} spids: [31134] ) ] ) ] spids: [31116 31130] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_binary) op: assign_op.Equal rhs: {(SQ <squeezelite_arm64>)} spids: [31163] ) ] ) ] spids: [31145 31159] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_binary) op: assign_op.Equal rhs: {(SQ <squeezelite_amd64>)} spids: [31192] ) ] ) ] spids: [31174 31188] ) ] ) (C {<ln>} {<-sf>} {</usr/bin/> (DQ ($ Id.VSub_DollarName '$target_binary'))} {</usr/bin/squeezelite>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/bin/squeezelite>}) ] spids: [30990 31009] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<99>} spids: [31232] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/Fourdee/emonhub/archive/emon-pi.zip'>)} spids: [31267] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<minicom>} {<python-serial>} {<python-configobj>} {<--no-install-recommends>} ) (C {<pip>} {<install>} {<paho-mqtt>} {<pydispatcher>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<rm>} {<-R>} {</etc/emonhub>}) (C {<mkdir>} {<-p>} {</etc/emonhub>}) (C {<mv>} {<emonhub-> <Id.Lit_Star '*'> </> <Id.Lit_Star '*'>} {</etc/emonhub/>}) (C {<rm>} {<-R>} {<emonhub-> <Id.Lit_Star '*'>}) ] spids: [31236 31255] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<66>} spids: [31375] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.12-r0_all.deb' > ) } spids: [31410] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<apt-get>} {<-f>} {<-y>} {<install>}) ] spids: [31379 31398] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<65>} spids: [31470] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/netdata_1.6.0_'>)} spids: [31501] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6.deb>)} spids: [31530] ) ] ) ] spids: [31512 31526] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7.deb>)} spids: [31559] ) ] ) ] spids: [31541 31555] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm64.deb>)} spids: [31588] ) ] ) ] spids: [31570 31584] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <amd64.deb>)} spids: [31617] ) ] ) ] spids: [31599 31613] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<--no-install-recommends>} {<zlib1g-dev>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [31474 31493] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<57>} spids: [31684] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/fruux/Baikal/archive/master.zip'>)} spids: [31719] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</var/www>}) (C {<rm>} {<package.zip>}) (C {<mv>} {</var/www/Baikal> <Id.Lit_Star '*'>} {</var/www/baikal>}) ] spids: [31688 31707] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<43>} spids: [31777] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mumble-server>})] spids: [31781 31800] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<41>} spids: [31822] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://download.opensuse.org/repositories/home:/emby/xUbuntu_14.04/' > ) } spids: [31857] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://download.opensuse.org/repositories/home:/emby/Debian_' > ) } spids: [31886] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <8.0>)} spids: [31911] ) ] ) ] spids: [31893 31907] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <9.0>)} spids: [31936] ) ] ) ] spids: [31918 31932] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <Next>)} spids: [31965] ) ] ) ] spids: [31943 31957] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ </>)} spids: [31976] ) ] ) ] spids: [31868 31882] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb '> ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS') <' /'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/emby-server.list>} ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS')) <Release.key>}) (command.Simple words: [{<apt-key>} {<add>} {<->}] redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<Release.key>})] ) (C {<rm>} {<Release.key>}) (C {<G_AGUP>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> <//ftp.us.debian.org/debian/pool/main/libj/libjpeg8/libjpeg8_8d-1> <Id.Lit_Other '+'> <deb7u1_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> < //ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2 > <Id.Lit_Other '+'> <deb8u3_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> < //ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2 > <Id.Lit_Other '+'> <b2_armhf.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32042 32056] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> < //ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2 > <Id.Lit_Other '+'> <deb8u3_arm64.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> < //ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2 > <Id.Lit_Other '+'> <b2_arm64.deb> } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<https> <Id.Lit_Other ':'> < //mirror.i-novus.ru/ubuntu-ports/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_arm64.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> < //turul.canonical.com/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_arm64.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32142 32156] ) ] ) (C {<G_AGI>} {<emby-server>} {<embymagick>}) ] spids: [31826 31845] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<42>} spids: [32280] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://downloads.plex.tv/plex-media-server/1.10.1.4602-f54242b6b/plexmediaserver_1.10.1.4602-f54242b6b_amd64.deb' > ) } spids: [32338] ) ] ) ] spids: [32320 32334] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dev2day.de/pms/'>)} spids: [32353] ) ] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [32376 32390] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb [arch=armhf] '> ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS') <' '> ($ Id.VSub_DollarName '$G_DISTRO_NAME') <' main'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/plex.list>} ) ] ) (command.Pipeline children: [ (C {<wget>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS')) <dev2day-pms.gpg.key> } ) (C {<apt-key>} {<add>} {<->}) ] negated: F ) (C {<G_AGUP>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>}) (C {<G_AGI>} {<binutils> <Id.Lit_Other ':'> <armhf>} {<plexmediaserver-installer> <Id.Lit_Other ':'> <armhf>} ) ] spids: [32471 32485] ) ] else_action: [(C {<G_AGI>} {<plexmediaserver-installer>})] ) ] ) ] spids: [32284 32303] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<52>} spids: [32541] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://builds.cuberite.org/job/Cuberite%20Linux%20x64%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz' > ) } spids: [32594] ) ] ) ] spids: [32576 32590] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://builds.cuberite.org/job/Cuberite%20Linux%20raspi-armhf%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz' > ) } spids: [32631] ) ] ) ] spids: [32605 32627] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<mkdir>} {<-p>} {</etc/cubrite>}) (C {<tar>} {<xzvf>} {<package.tar>} {<-C>} {</etc/cubrite>}) (C {<rm>} {<package.tar>}) (C {<mv>} {</etc/cubrite/Server/> <Id.Lit_Star '*'>} {</etc/cubrite/>}) (C {<rm>} {<-R>} {</etc/cuberite/Server>}) ] spids: [32545 32564] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<53>} spids: [32712] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/hexparrot/mineos-node.git'>)} spids: [32748] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>} {<python3>} {<supervisor>} {<rdiff-backup>} {<screen>} {<rsync>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos>}) (C {<git>} {<clone>} {<https> <Id.Lit_Other ':'> <//github.com/hexparrot/mineos-node.git>} {<minecraft>} ) (C {<cd>} {<minecraft>}) (C {<git>} {<config>} {<core.filemode>} {<false>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<service.js>} {<mineos_console.js>} {<generate-sslcert.sh>} {<webui.js>} ) (C {<npm>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [32716 32735] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<49>} spids: [32863] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gogs_'>)} spids: [32894] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6.zip>)} spids: [32923] ) ] ) ] spids: [32905 32919] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7.zip>)} spids: [32952] ) ] ) ] spids: [32934 32948] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <amd64.zip>)} spids: [32981] ) ] ) ] spids: [32963 32977] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<gogs> <Id.Lit_Star '*'>} {</etc/gogs>}) ] spids: [32867 32886] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<46>} spids: [33040] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<qbittorrent-nox>})] spids: [33044 33063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<107>} spids: [33085] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://bintray.com/novik65/generic/download_file?file_path=ruTorrent-3.7.zip' > ) } spids: [33116] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<rtorrent>} {<screen>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<unrar-free>})] spids: [33145 33159] ) ] else_action: [(C {<G_AGI>} {<unrar>})] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {</var/www/rutorrent>}) (C {<mv>} {<ruTorrent-> <Id.Lit_Star '*'> </> <Id.Lit_Star '*'>} {</var/www/rutorrent/>} ) (C {<rm>} {<-R>} {<ruTorrent-> <Id.Lit_Star '*'>}) ] spids: [33089 33108] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<132>} spids: [33248] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<aria2>})] spids: [33279 33293] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/aria2_'>)} spids: [33311] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6.7z>)} spids: [33340] ) ] ) ] spids: [33322 33336] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7.7z>)} spids: [33369] ) ] ) ] spids: [33351 33365] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm64.7z>)} spids: [33398] ) ] ) ] spids: [33380 33394] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <x86_64.7z>)} spids: [33427] ) ] ) ] spids: [33409 33423] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libc-ares2>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>}) (C {<rm>} {<package.7z>}) (C {<mv>} {<aria2_> <Id.Lit_Star '*'>} {</usr/local/bin/aria2c>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/aria2c>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/ziahamza/webui-aria2/archive/master.zip'>)} spids: [33507] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<cp>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>} {</var/www/aria2>}) (C {<rm>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>}) ] spids: [33252 33271] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<116>} spids: [33573] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/SickRage/SickRage/archive/master.zip'>)} spids: [33604] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>} {<libxslt1.1>} {<libxml2>} {<python-openssl>} {<python-xmltodict>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<unrar-free>})] spids: [33636 33650] ) ] else_action: [(C {<G_AGI>} {<unrar>})] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mkdir>} {<-p>} {</etc/sickrage>}) (C {<mv>} {<SickRage-> <Id.Lit_Star '*'> </> <Id.Lit_Star '*'>} {</etc/sickrage/>}) (C {<rm>} {<-R>} {<SickRage-> <Id.Lit_Star '*'>}) ] spids: [33577 33596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<50>} spids: [33733] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm-v0.14.42.tar.gz' > ) } spids: [33794] ) ] ) ] spids: [33768 33790] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm64-v0.14.42.tar.gz' > ) } spids: [33823] ) ] ) ] spids: [33805 33819] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-amd64-v0.14.42.tar.gz' > ) } spids: [33852] ) ] ) ] spids: [33834 33848] ) ] ) (C {<G_CHECK_URL>} {<https> <Id.Lit_Other ':'> <//github.com/syncthing/syncthing>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<xzvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mkdir>} {<-p>} {</etc/syncthing>}) (C {<cp>} {<-R>} {<syncthing-> <Id.Lit_Star '*'> </syncthing>} {</etc/syncthing/>}) (C {<rm>} {<-R>} {<syncthing-> <Id.Lit_Star '*'>}) ] spids: [33737 33756] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<134>} spids: [33943] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS1) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_armhf.deb' > ) } spids: [34016] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS2) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libssl1.0.0_1.0.2l-1_bpo8+1_armhf.deb' > ) } spids: [34035] ) ] ) ] ) (C {<G_AGI>} {<libpng12-0>}) ] spids: [33990 34012] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS1) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_amd64.deb' > ) } spids: [34069] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS2) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libpng12-0_1.2.50-2+deb8u3_amd64.deb' > ) } spids: [34088] ) ] ) (C {<AGI>} {<libpng12-0>}) ] ) ] spids: [34051 34065] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS1'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS1'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS2'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS2'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [34136 34150] ) ] ) (C {<G_AGI>} {<libfontconfig1>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://patch.codelathe.com/tonido/live/installer/armv6l-rpi/tonido.tar.gz' > ) } spids: [34233] ) ] ) ] spids: [34207 34229] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://www.tonido.com/download.php?tonido64.tar.gz'>)} spids: [34262] ) ] ) ] spids: [34244 34258] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<mkdir>} {</etc/tonido>}) (C {<tar>} {<xvf>} {<package.tar>} {<-C>} {</etc/tonido>}) (C {<rm>} {<package.tar>}) ] spids: [33947 33966] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<113>} spids: [34322] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<chromium-browser>})] spids: [34375 34389] ) ] else_action: [(C {<G_AGI>} {<chromium>})] ) ] spids: [34357 34371] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_armhf.deb' > ) } spids: [34447] ) ] ) ] spids: [34421 34443] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_arm64.deb' > ) } spids: [34476] ) ] ) ] spids: [34458 34472] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) right: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<libgnome-keyring0>} {<libnspr4>} {<libnss3>} {<libnss3-1d>} {<libspeechd2>} {<libxslt1.1>} {<libxss1>} {<xdg-utils>} {<libgnome-keyring-common>} {<libltdl7>} ) ] spids: [34523 34545] ) ] else_action: [(C {<G_AGF>})] ) (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/chromium-l10n_52.0.2743.116-1-deb8u1.1_all.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_armhf.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) ] spids: [34608 34630] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_arm64.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) ] spids: [34657 34671] ) ] ) (C {<rm>} {<package.deb>}) (C {<apt-mark>} {<hold>} {<chromium>} {<chromedriver>}) ] ) ] spids: [34326 34345] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<136>} spids: [34730] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/Motion-Project/motion/releases/download/release-4.1.1/pi_jessie_motion_4.1.1-1_armhf.deb' > ) } spids: [34783] ) ] ) (C {<G_CHECK_URL>} {(DQ <'http://github.com/Motion-Project/motion'>)}) (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>} {<libx264-142>} {<libavcodec56>} {<libavformat56>} {<libmysqlclient18>} {<libswscale3>} {<libpq5>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<pip>} {<install>} {<motioneye>}) ] spids: [34765 34779] ) ] else_action: [ (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>} ) (C {<G_AGI>} {<motion>}) (C {<pip>} {<install>} {<motioneye>}) ] ) ] spids: [34734 34753] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<137>} spids: [34940] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://davesteele.github.io/cloudprint-service'>)} spids: [34992] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ </repo>)} spids: [35011] ) ] ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb '> ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS') <' cloudprint-jessie main'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/cloudprint.list>} ) ] ) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {<https> <Id.Lit_Other ':'> <//davesteele.github.io/key-366150CE.pub.txt> } ) (C {<apt-key>} {<add>} {<->}) ] negated: F ) (C {<G_AGUP>}) (C {<G_AGI>} {<cloudprint-service>}) ] spids: [34971 34985] ) ] else_action: [(C {<G_AGI>} {<cloudprint-service>})] ) ] spids: [34944 34963] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<138>} spids: [35086] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://virtualhere.com/sites/default/files/usbserver/vhusbd'>)} spids: [35117] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm>)} spids: [35154] ) ] ) ] spids: [35128 35150] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm64>)} spids: [35183] ) ] ) ] spids: [35165 35179] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <x86_64>)} spids: [35212] ) ] ) ] spids: [35194 35208] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<mkdir>} {<-p>} {</etc/vhusbd>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {</etc/vhusbd/vhusbd>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/vhusbd/vhusbd>}) ] spids: [35090 35109] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<139>} spids: [35267] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<local>} {<Id.Lit_VarLike 'version='> (SQ <2.3.2>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (DQ <'https://github.com/sabnzbd/sabnzbd/archive/'> ($ Id.VSub_DollarName '$version') <.zip> ) } spids: [35307] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<par2>} {<python-dev>} {<libffi-dev>} {<libssl-dev>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<unrar-free>})] spids: [35340 35354] ) ] else_action: [(C {<G_AGI>} {<unrar>})] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<mkdir>} {<-p>} {</etc/sabnzbd>}) (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {</etc/sabnzbd>}) (C {<rm>} {<package.zip>}) (C {<mv>} {</etc/sabnzbd/sabnzbd-> (DQ ($ Id.VSub_DollarName '$version')) </> <Id.Lit_Star '*'> } {</etc/sabnzbd/>} ) (C {<rm>} {<-R>} {</etc/sabnzbd/sabnzbd-> (DQ ($ Id.VSub_DollarName '$version'))}) (C {<pip>} {<install>} {<cheetah>} {<cryptography>} {<sabyenc>}) ] spids: [35271 35290] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<141>} spids: [35456] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/Fornoth/spotify-connect-web/releases'>)} spids: [35487] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ </download/0.0.3-alpha/spotify-connect-web_0.0.3-alpha.tar.gz>)} spids: [35504] ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<zxvf>} {<package.tar>} {<-C>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </>} ) (C {<rm>} {<package.tar>}) ] spids: [35460 35479] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<142>} spids: [35550] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/CouchPotato/CouchPotatoServer/archive/master.zip' > ) } spids: [35581] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libffi-dev>} {<libssl-dev>} {<python-lxml>} {<python3-lxml>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (command.Simple words: [{<rm>} {<-R>} {</etc/couchpotato>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mv>} {<CouchPotato> <Id.Lit_Star '*'>} {</etc/couchpotato>}) (C {<pip>} {<install>} {<--upgrade>} {<pyopenssl>}) ] spids: [35554 35573] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<143>} spids: [35669] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/phanan/koel/archive/v3.7.0.zip'>)} spids: [35700] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<rm>} {<package.zip>}) (C {<mv>} {<koel-> <Id.Lit_Star '*'>} {</var/www/koel>}) (command.Simple words: [{<php>} {<-r>} {(DQ <"readfile('https://getcomposer.org/installer');">)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {<composer-setup.php>} ) ] ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <"unlink('composer-setup.php');">)}) (C {<mv>} {<composer.phar>} {</usr/local/bin/composer>}) (C {<cd>} {</var/www/koel>}) (C {<npm>} {<install>} {<yarn>} {<-g>} {<--unsafe-perm>}) (C {<composer>} {<install>}) (C {<npm>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [35673 35692] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<144>} spids: [35831] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<apt-key>} {<adv>} {<--keyserver>} {<keyserver.ubuntu.com>} {<--recv-keys>} {<FDA5DFFC>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb [arch=armhf] https://apt.sonarr.tv/ master main'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/sonarr.list>} ) ] ) (C {<dpkg>} {<--add-architecture>} {<armhf>}) ] spids: [35875 35889] ) ] else_action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'deb https://apt.sonarr.tv/ master main'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/sonarr.list>} ) ] ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<nzbdrone>}) ] spids: [35835 35854] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<145>} spids: [35953] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://api.github.com/repos/Radarr/Radarr/releases'>)} spids: [35984] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<mono-devel>} {<mediainfo>} {<sqlite3>} {<libmono-cil-dev>}) (C {<wget>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<grep>} {<linux.tar.gz>}) (C {<grep>} {<browser_download_url>}) (C {<head>} {<-1>}) (C {<cut>} {<-d>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)} {<-f>} {<4>} ) ] negated: F ) ] ) ) } {<-O>} {<package.tar>} ) (C {<tar>} {<-xf>} {<package.tar>} {<-C>} {</opt/>}) (C {<rm>} {<package.tar>}) ] spids: [35957 35976] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<146>} spids: [36085] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/JonnyWong16/plexpy.git'>)} spids: [36116] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<mv>} {<plexpy>} {</opt/>}) ] spids: [36089 36108] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<147>} spids: [36167] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://api.github.com/repos/Jackett/Jackett/releases'>)} spids: [36198] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<mono-devel>}) (C {<wget>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<grep>} {<Jackett.Binaries.Mono.tar.gz>}) (C {<grep>} {<browser_download_url>}) (C {<head>} {<-1>}) (C {<cut>} {<-d>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)} {<-f>} {<4>} ) ] negated: F ) ] ) ) } {<-O>} {<package.tar>} ) (C {<tar>} {<-xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mkdir>} {</opt/jackett>}) (C {<mv>} {<Jackett/> <Id.Lit_Star '*'>} {</opt/jackett>}) (C {<rm>} {<-R>} {<Jackett>}) ] spids: [36171 36190] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<148>} spids: [36312] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dist.jriver.com/latest/mediacenter/mediacenter22native.list' > ) } spids: [36343] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.Pipeline children: [ (C {<wget>} {<-q>} {<-O>} {<->} {<http> <Id.Lit_Other ':'> <//dist.jriver.com/mediacenter> <Id.Lit_Splice '@jriver'> <.com.gpg.key> } ) (C {<apt-key>} {<add>} {<->}) ] negated: F ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {</etc/apt/sources.list.d/mediacenter22.list>} ) (C {<G_AGUP>}) (C {<G_AGI>} {<mediacenter22>}) ] spids: [36316 36335] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<149>} spids: [36411] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://nzbget.net'>)} spids: [36442] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ </download/nzbget-latest-bin-linux.run>)} spids: [36457] ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.run>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget>}) (C {<sh>} {<package.run>} {<--destdir>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget>} ) (C {<rm>} {<package.run>}) ] spids: [36415 36434] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<155>} spids: [36511] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/Hellowlol/HTPC-Manager.git'>)} spids: [36542] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>} {<python-pip>} {<python-imaging>} {<python-dev>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </htpc-manager>} ) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$HOME')) </HTPC-Manager/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </htpc-manager/>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </HTPC-Manager>}) (C {<pip>} {<install>} {<psutil>}) ] spids: [36515 36534] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<153>} spids: [36653] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/foosel/OctoPrint.git'>)} spids: [36684] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>} {<python-dev>}) (C {<git>} {<clone>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<mv>} {<OctoPrint> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </octoprint>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </octoprint>}) (C {<python>} {<setup.py>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [36657 36676] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<154>} spids: [36758] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2'>)} spids: [36789] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libav-tools>} {<cifs-utils>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.tar>} ) (C {<tar>} {<xvf>} {<package.tar>}) (C {<rm>} {<package.tar>}) (C {<mv>} {<RoonServer>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roonserver>} ) ] spids: [36762 36781] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<156>} spids: [36854] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.Simple words: [{<debconf-set-selections>}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {(DQ <'steam steam/question select I AGREE'>)} ) ] ) (C {<G_AGI>} {<steam>}) ] spids: [36858 36877] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<158>} spids: [36909] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://dl.minio.io/server/minio/release/linux-amd64/minio' > ) } spids: [36967] ) ] ) ] spids: [36949 36963] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://dl.minio.io/server/minio/release/linux-arm/minio'>)} spids: [36978] ) ] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {<-O>} {</usr/local/bin/minio>} {($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS')} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/minio>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://github.com/minio/minio-service/raw/master/linux-systemd/minio.service' > ) } spids: [37023] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {<-O>} {</etc/systemd/system/minio.service>} {($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS')} ) (C {<adduser>} {<--system>} {<--group>} {<minio-user>}) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </minio-data>}) ] spids: [36913 36932] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<162>} spids: [37087] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://get.docker.com'>)} spids: [37118] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {<-O>} {<DockerInstall.sh>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<DockerInstall.sh>}) (C {<./DockerInstall.sh>}) ] spids: [37091 37110] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<161>} spids: [37172] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://FuguHub.com/install/FuguHub.linux.install'>)} spids: [37221] ) ] ) ] spids: [37203 37217] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://FuguHub.com/releases/raspberrypi/install.sh'>)} spids: [37232] ) ] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {<-O>} {<FHinstall.sh>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<FHinstall.sh>}) (C {<./FHinstall.sh>}) (C {<rm>} {<FHinstall.sh>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//fuguhub.com/box.zip>} {<-O>} {</home/bd/applications/box.zip>} ) ] spids: [37176 37195] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<164>} spids: [37298] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://ci.mengcraft.com:8080/job/nukkit/lastStableBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar' > ) } spids: [37329] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<mkdir>} {</usr/local/bin/nukkit>}) (C {<wget>} {<-O>} {</usr/local/bin/nukkit/nukkit.jar>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} ) ] spids: [37302 37321] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<165>} spids: [37369] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://dl.gitea.io/gitea/1.3.2/gitea-1.3.2-'>)} spids: [37400] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <linux-arm-6>)} spids: [37429] ) ] ) ] spids: [37411 37425] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <linux-arm-7>)} spids: [37458] ) ] ) ] spids: [37440 37454] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <linux-arm64>)} spids: [37487] ) ] ) ] spids: [37469 37483] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <linux-amd64>)} spids: [37516] ) ] ) ] spids: [37498 37512] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </gitea/gitea-repositories> } ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </gitea/gitea>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </gitea/gitea>} ) ] spids: [37373 37392] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<159>} spids: [37584] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 160>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/allo_web_interface_v5.7z' > ) } spids: [37632] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-o/var/www/>}) (C {<rm>} {<package.7z>}) ] spids: [37591 37624] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<163>} spids: [37682] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gmrender_1_'>)} spids: [37713] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <amd64.deb>)} spids: [37737] ) ] ) ] spids: [37719 37733] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <arm64.deb>)} spids: [37762] ) ] ) ] spids: [37744 37758] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv7.deb>)} spids: [37787] ) ] ) ] spids: [37769 37783] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.PlusEqual rhs: {(SQ <armv6.deb>)} spids: [37812] ) ] ) ] spids: [37794 37808] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<libupnp6>} {<gstreamer1.0-plugins-base>} {<gstreamer1.0-plugins-good>} {<gstreamer1.0-plugins-bad>} {<gstreamer1.0-plugins-ugly>} {<gstreamer1.0-alsa>} ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) ] spids: [37686 37705] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<166>} spids: [37879] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>})] spids: [37883 37902] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<167>} spids: [37923] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://dtcooper.github.io/raspotify/key.asc'>)} spids: [37954] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.Pipeline children: [ (C {<wget>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<apt-key>} {<add>} {<->}) ] negated: F ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'deb https://dtcooper.github.io/raspotify jessie main'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/raspotify.list>} ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<raspotify>}) ] spids: [37927 37946] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<168>} spids: [38018] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ <'http://dietpi.com/downloads/binaries/moode/rel-stretch-r40b9.zip'> ) } spids: [38049] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.zip>} ) (C {<unzip>} {<-o>} {<package.zip>}) (C {<G_AGI>} {<rpi-update>} {<mpc>} {<memcached>} {($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME') <-memcache>} {<bs2b-ladspa>} {<libbs2b0>} {<libasound2-plugin-equal>} {<telnet>} {<automake>} {<sysstat>} {<tcpdump>} {<shellinabox>} {<udisks-glue>} {<exfat-fuse>} {<inotify-tools>} {<libav-tools>} ) (C {<G_AGI>} {<dnsmasq>} {<hostapd>}) (C {<G_AGI>} {<bluez>} {<bluez-firmware>} {<dh-autoreconf>} {<expect>} {<libortp-dev>} {<libbluetooth-dev>} {<libasound2-dev>} {<libusb-dev>} {<libglib2.0-dev>} {<libudev-dev>} {<libical-dev>} {<libreadline-dev>} {<libsbc1>} {<libsbc-dev>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<pi-bluetooth>})] spids: [38190 38204] ) ] ) (C {<systemctl>} {<stop>} {<shellinabox>}) (C {<systemctl>} {<disable>} {<shellinabox>}) (C {<systemctl>} {<disable>} {<hostapd>}) (C {<systemctl>} {<disable>} {<dnsmasq>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<git>} {<clone>} {<https> <Id.Lit_Other ':'> <//github.com/Arkq/bluez-alsa.git>} {<--depth> <Id.Lit_Equals '='> <1>} ) (C {<cd>} {<bluez-alsa>}) (C {<autoreconf>} {<--install>}) (C {<mkdir>} {<build>}) (C {<cd>} {<build>}) (C {<../configure>} {<--disable-hcitop>} {<--with-alsaplugindir> <Id.Lit_Equals '='> </usr/lib/arm-linux-gnueabihf/alsa-lib> } ) (C {<make>} {<-j>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<nproc>} {<--all>})]) ) } ) (C {<make>} {<install>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<rm>} {<-rf>} {<bluez-alsa>}) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<disable>} {<bluetooth.service>}) (C {<systemctl>} {<disable>} {<bluealsa.service>}) (C {<systemctl>} {<disable>} {<hciuart.service>}) (C {<mkdir>} {<-p>} {</var/run/bluealsa>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<cp>} {<./rel-stretch/other/wiringpi/wiringPi-> <Id.Lit_Star '*'> <.tar.gz>} {<./>} ) (C {<tar>} {<xfz>} {<./wiringPi-> <Id.Lit_Star '*'> <.tar.gz>}) (C {<cd>} {<wiringPi-96344ff>}) (C {<./build>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<rm>} {<-rf>} {<./wiringPi-> <Id.Lit_Star '*'>}) (C {<cp>} {<./rel-stretch/other/rotenc/rotenc.c>} {<./>}) (C {<gcc>} {<-std> <Id.Lit_Equals '='> <c99>} {<rotenc.c>} {<-orotenc>} {<-lwiringPi>}) (C {<cp>} {<./rotenc>} {</usr/local/bin>}) (C {<rm>} {<./rotenc> <Id.Lit_Star '*'>}) ] spids: [38022 38041] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<169>} spids: [38483] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://github.com/google/aiyprojects-raspbian.git'>)} spids: [38514] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<git>} {<clone>} {<-b>} {<voicekit>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </voice-recognizer-raspi>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </voice-recognizer-raspi>} ) (C {<pip3>} {<install>} {<--upgrade>} {<pip>} {<virtualenv>}) (C {<virtualenv>} {<--system-site-packages>} {<-p>} {<python3>} {<env>}) (C {<env/bin/pip>} {<install>} {<-r>} {<requirements.txt>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<env/bin/pip>} {<install>} {<google-assistant-library> <Id.Lit_Equals '='> <Id.Lit_Equals '='> <0.0.3> } ) ] spids: [38591 38605] ) ] ) (C {<sed>} {<-i>} {(DQ <'s#/home/pi#'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'#g'>)} {<systemd/voice-recognizer.service>} ) (C {<sed>} {<-i>} {(DQ <'/^User=/c'> <Id.Lit_Other '\\'> <'User=dietpi'>)} {<systemd/voice-recognizer.service>} ) (C {<cp>} {<systemd/voice-recognizer.service>} {</etc/systemd/system/>}) (C {<cp>} {<systemd/alsa-init.service>} {</etc/systemd/system/>}) (C {<source>} {<env/bin/activate>}) (C {<cp>} {<src/assistant_library_with_button_demo.py>} {<src/main.py>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) ] spids: [38487 38506] ) ] ) (C {<G_ERROR_HANDLER_RESET>}) ] ) ) (command.ShFunction name: Install_Linux_Software body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<5>} spids: [38731] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<alsa-utils>}) (C {<local>} {<Id.Lit_VarLike 'soundcard='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$soundcard'))} {<Id.Lit_Equals '='>} {(DQ <none>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$soundcard'))} {<Id.Lit_Equals '='>} {(DQ <default>)} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:soundcard) op: assign_op.Equal rhs: {(SQ <rpi-bcm2835>)} spids: [38856] ) ] ) ] spids: [38805 38852] ) ] ) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<soundcard>} {(DQ ($ Id.VSub_DollarName '$soundcard'))} ) ] spids: [38735 38754] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<6>} spids: [38885] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>} {<--no-install-recommends>} ) (C {<mkdir>} {<-p>} {</etc/xdg/autostart>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 38973 stdin_parts: [ <'[Desktop Entry]\n'> <'Type=Application\n'> <'Name=xcompmgr\n'> <'NoDisplay=true\n'> <'Exec=xcompmgr -a\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/xdg/autostart/xcompmgr.desktop>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<sleep>} {<1>})] spids: [38980 38994] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<aml-libs-odroid>} {<mali450-odroid>} {<xf86-video-mali-odroid>} {<libump-odroid>} {<--no-install-recommends>} ) (C {<G_AGI>} {<xf86-video-fbturbo-odroid>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 39107 stdin_parts: [ <'Section '> <Id.Right_DoubleQuote '"'> <Device> <Id.Right_DoubleQuote '"'> <'\n'> <' Identifier '> <Id.Right_DoubleQuote '"'> <FBTurbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Driver '> <Id.Right_DoubleQuote '"'> <fbturbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <fbdev> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> </dev/fb0> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <SwapbuffersWait> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <true> <Id.Right_DoubleQuote '"'> <'\n'> <' #Option '> <Id.Right_DoubleQuote '"'> <Rotate> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <CCW> <Id.Right_DoubleQuote '"'> <'\n'> <'EndSection\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/X11/xorg.conf>} ) ] ) ] spids: [39008 39022] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 11>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<firmware-samsung>} {<xf86-video-armsoc-odroid>} {<malit628-odroid>} {<--no-install-recommends>} ) (C {<cp>} {</DietPi/dietpi/conf/xorg_xu4.conf>} {</etc/X11/xorg.conf>}) ] spids: [39114 39128] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGI>} {<aml-libs-odroid>} {<xf86-video-mali-odroid>} {<libump-odroid>} {<mali450-odroid>} {<--no-install-recommends>} ) (C {<cp>} {</DietPi/dietpi/conf/xorg_c1.conf>} {</etc/X11/xorg.conf>}) ] spids: [39156 39170] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 40>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://dietpi.com/downloads/binaries/all/libump_1-1_arm64.deb' > ) } spids: [39218] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (C {<wget>} {<http> <Id.Lit_Other ':'> < //dietpi.com/downloads/binaries/all/xf86-video-fbturbo_1-1_arm64.deb > } {<-O>} {<package.deb>} ) (C {<dpkg>} {<-i>} {<package.deb>}) (C {<rm>} {<package.deb>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 39325 stdin_parts: [ <'Section '> <Id.Right_DoubleQuote '"'> <Device> <Id.Right_DoubleQuote '"'> <'\n'> <' Identifier '> <Id.Right_DoubleQuote '"'> <'Allwinner A10/A13 FBDEV'> <Id.Right_DoubleQuote '"'> <'\n'> <' Driver '> <Id.Right_DoubleQuote '"'> <fbturbo> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <fbdev> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> </dev/fb0> <Id.Right_DoubleQuote '"'> <'\n'> <' Option '> <Id.Right_DoubleQuote '"'> <SwapbuffersWait> <Id.Right_DoubleQuote '"'> <' '> <Id.Right_DoubleQuote '"'> <true> <Id.Right_DoubleQuote '"'> <'\n'> <'EndSection\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/X11/xorg.conf>} ) ] ) ] spids: [39200 39214] ) ] ) ] spids: [38889 38908] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<151>} spids: [39379] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<nvidia-driver>} {<nvidia-xconfig>}) (C {<G_AGI>} {<libgl1-nvidia-glx> <Id.Lit_Other ':'> <i386>}) ] spids: [39383 39402] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<152>} spids: [39442] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<avahi-daemon>})] spids: [39446 39465] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<16>} spids: [39483] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<build-essential>} {<make>} {<autoconf>} {<automake>} {<--no-install-recommends>} ) ] spids: [39487 39506] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<170>} spids: [39531] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<ntp>}) (C {<systemctl>} {<stop>} {<ntp>}) (C {<rm>} {</etc/init.d/ntp>}) (C {<Reset_NTPD>}) ] spids: [39535 39554] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<17>} spids: [39592] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<git>} {<--no-install-recommends>})] spids: [39596 39615] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<4>} spids: [39634] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vifm>})] spids: [39638 39657] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<20>} spids: [39674] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim>})] spids: [39678 39697] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<21>} spids: [39714] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim-tiny>})] spids: [39718 39737] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<127>} spids: [39754] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<neovim>})] spids: [39758 39777] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<18>} spids: [39794] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<emacs>})] spids: [39798 39817] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<12>} spids: [39834] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iperf>})] spids: [39838 39857] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<3>} spids: [39874] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mc>})] spids: [39878 39897] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<19>} spids: [39914] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<jed>})] spids: [39918 39937] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<10>} spids: [39954] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iftop>})] spids: [39958 39977] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<11>} spids: [39994] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iptraf>})] spids: [39998 40017] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<13>} spids: [40034] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mtr-tiny>})] spids: [40038 40057] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<14>} spids: [40074] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<nload>})] spids: [40078 40097] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<15>} spids: [40114] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tcpdump>})] spids: [40118 40137] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<0>} spids: [40154] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openssh-client>})] spids: [40158 40177] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<1>} spids: [40194] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {</mnt/samba/readme.txt>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<G_AGI>} {<smbclient>} {<cifs-utils>} {<--no-install-recommends>}) ] spids: [40198 40217] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<2>} spids: [40253] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {</mnt/ftp_client/readme.txt>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<G_AGI>} {<curlftpfs>}) ] spids: [40257 40276] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<110>} spids: [40308] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.Simple words: [{<rm>} {</mnt/nfs_client/readme.txt>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<G_AGI>} {<nfs-common>}) ] spids: [40312 40331] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<104>} spids: [40363] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<dropbear>}) (C {<sed>} {<-i>} {(SQ <'/NO_START=1/c\\NO_START=0'>)} {</etc/default/dropbear>}) ] spids: [40367 40386] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<105>} spids: [40419] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<openssh-server>} {<--no-install-recommends>}) (C {<sed>} {<-i>} {(SQ <'/PermitRootLogin[[:space:]]/d'>)} {</etc/ssh/sshd_config>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n#Allow root login over SSH'> <Id.Lit_Other '\\'> <'nPermitRootLogin yes'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/ssh/sshd_config>} ) ] ) (C {<rm>} {</etc/ssh/ssh_host_key>}) (C {<rm>} {</etc/ssh/ssh_host_rsa_key>}) (C {<rm>} {</etc/ssh/ssh_host_dsa_key>}) (C {<ssh-keygen>} {<-f>} {</etc/ssh/ssh_host_key>} {<-N>} {(SQ )} {<-t>} {<rsa1>}) (C {<ssh-keygen>} {<-f>} {</etc/ssh/ssh_host_rsa_key>} {<-N>} {(SQ )} {<-t>} {<rsa>}) (C {<ssh-keygen>} {<-f>} {</etc/ssh/ssh_host_dsa_key>} {<-N>} {(SQ )} {<-t>} {<dsa>}) (C {<chmod>} {<-R>} {<700>} {</etc/ssh/>}) (C {<systemctl>} {<restart>} {<ssh>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) op: assign_op.Equal rhs: {<2>} spids: [40599] ) ] ) ] spids: [40423 40442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<103>} spids: [40612] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<sed>} {<-i>} { (SQ < '/\\/var\\/log/c\\tmpfs \\/var\\/log tmpfs defaults,size=20m,noatime,nodev,nosuid,mode=1777 0 0' > ) } {</etc/fstab>} ) ] spids: [40616 40635] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<101>} spids: [40663] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<logrotate>} {<--no-install-recommends>}) ] spids: [40667 40686] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<102>} spids: [40705] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<G_AGI>} {<rsyslog>} {<--no-install-recommends>}) ] spids: [40709 40728] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<7>} spids: [40747] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/ffmpeg_rpi.7z'>)} spids: [40800] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-offmpeg_rpi>}) (C {<dpkg>} {<-i>} {<ffmpeg_rpi/> <Id.Lit_Star '*'> <.deb>}) (C {<rm>} {<-R>} {<ffmpeg_rpi>}) (C {<rm>} {<package.7z>}) ] spids: [40782 40796] ) ] else_action: [(C {<G_AGI>} {<ffmpeg>})] ) ] spids: [40751 40770] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<8>} spids: [40881] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 40948 stdin_parts: [ <'Package: openjdk-8-jdk\n'> <'Pin: release a=jessie-backports\n'> <'Pin-Priority: 990\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/preferences.d/99-dietpi-openjdk-8-jdk>} ) ] ) (C {<G_AGI>} {<openjdk-8-jdk>} {<-t>} {<jessie-backports>}) ] spids: [40916 40930] ) ] else_action: [(C {<G_AGI>} {<openjdk-8-jdk>})] ) ] spids: [40885 40904] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<9>} spids: [40979] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'http://raw.githubusercontent.com/taaem/nodejs-linux-installer/master/node-install.sh' > ) } spids: [41014] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<node_install.sh>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<node_install.sh>}) (C {<./node_install.sh>}) (C {<rm>} {<node_install.sh>}) ] spids: [40983 41002] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<130>} spids: [41065] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'https://bootstrap.pypa.io/get-pip.py'>)} spids: [41096] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<G_AGI>} {<python>} {<python-dev>}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<install.py>} ) (C {<python>} {<./install.py>}) (C {<rm>} {<install.py>}) (C {<G_AGI>} {<python-pip>} {<python3-pip>}) ] spids: [41069 41088] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<140>} spids: [41160] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/sdl2_rpi.7z'>)} spids: [41191] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {<package.7z>} ) (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-osdl2_rpi>}) (C {<rm>} {<package.7z>}) (C {<dpkg>} {<-i>} {<sdl2_rpi/no_opengl_x11/> <Id.Lit_Star '*'> <.deb>}) (C {<rm>} {<-R>} {<sdl2_rpi>}) ] spids: [41164 41183] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<150>} spids: [41263] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (C {<apt-key>} {<adv>} {<--keyserver>} {<hkp> <Id.Lit_Other ':'> <//keyserver.ubuntu.com> <Id.Lit_Other ':'> <80>} {<--recv-keys>} {<3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb http://download.mono-project.com/repo/debian raspbian'> ($ Id.VSub_DollarName '$G_DISTRO_NAME') <' main'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/mono-xamarin.list>} ) ] ) ] spids: [41316 41330] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'deb http://download.mono-project.com/repo/debian '> ($ Id.VSub_DollarName '$G_DISTRO_NAME') <' main'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apt/sources.list.d/mono-xamarin.list>} ) ] ) ] ) (C {<G_AGUP>}) (C {<G_AGI>} {<mono-runtime>}) ] spids: [41267 41286] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<157>} spids: [41392] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HA_USER) op: assign_op.Equal rhs: {(DQ <homeassistant>)} spids: [41423] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HA_USERROOT) op: assign_op.Equal rhs: {(DQ </home/> ($ Id.VSub_DollarName '$HA_USER'))} spids: [41429] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HA_SRVROOT) op: assign_op.Equal rhs: {(DQ </srv/homeassistant>)} spids: [41436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HA_PYENV_ACTIVATION) op: assign_op.Equal rhs: { (DQ <'export PATH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) ($ Id.VSub_DollarName '$HA_USERROOT') <'/.pyenv/bin:'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <PATH> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'; eval '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'(pyenv init -)'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <'; eval '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(pyenv virtualenv-init -)'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } spids: [41442] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HA_PYTHON_VERSION) op: assign_op.Equal rhs: {(DQ <3.6.3>)} spids: [41464] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_USER: '> ($ Id.VSub_DollarName '$HA_USER'))}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_USERROOT: '> ($ Id.VSub_DollarName '$HA_USERROOT'))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_SRVROOT: '> ($ Id.VSub_DollarName '$HA_SRVROOT'))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_PYENV_ACTIVATION: '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION'))} ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_PYTHON_VERSION: '> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION'))} ) (C {<G_AGI>} {<libssl-dev>} {<git>} {<cmake>} {<libc-ares-dev>} {<uuid-dev>} {<daemon>} {<curl>} {<libgnutls28-dev>} {<libgnutlsxx28>} {<nmap>} {<net-tools>} {<sudo>} {<libglib2.0-dev>} {<libudev-dev>} {<swig>} {<libssl-dev>} {<libusb-1.0-0>} {<gcc>} {<libssl-dev>} {<libffi-dev>} {<libbz2-dev>} {<zlib1g-dev>} {<libreadline-dev>} {<libsqlite3-dev>} {<libncurses5-dev>} {<libncursesw5-dev>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGI>} {<libmysqlclient-dev>})] spids: [41581 41595] ) ] else_action: [(C {<G_AGI>} {<libmariadbclient-dev>})] ) (C {<adduser>} {<--system>} {($ Id.VSub_DollarName '$HA_USER')}) (C {<addgroup>} {($ Id.VSub_DollarName '$HA_USER')}) (C {<usermod>} {<-G>} {<dialout>} {<-a>} {($ Id.VSub_DollarName '$HA_USER')}) (C {<usermod>} {<-G>} {<dietpi>} {<-a>} {($ Id.VSub_DollarName '$HA_USER')}) (C {<mkdir>} {($ Id.VSub_DollarName '$HA_SRVROOT')}) (C {<chown>} {($ Id.VSub_DollarName '$HA_USER') <Id.Lit_Other ':'> ($ Id.VSub_DollarName '$HA_USER') } {($ Id.VSub_DollarName '$HA_SRVROOT')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_USERROOT') < '; curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash' > ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_USERROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv install '> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv virtualenv '> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') <' homeassistant-'> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv local homeassistant-'> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv local'> ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') <'; pip3 install colorlog PyMySQL mysqlclient'> ) } {($ Id.VSub_DollarName '$HA_USER')} ) (C {<su>} {<--shell>} {</bin/bash>} {<--command>} { (DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT') <'; '> ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION') <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') <'; pip3 install --upgrade homeassistant'> ) } {($ Id.VSub_DollarName '$HA_USER')} ) (command.Simple words: [{<echo>} {(SQ <'#!/bin/bash'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$HA_SRVROOT') </homeassistant-start.sh>} ) ] ) (command.Simple words: [{<echo>} {(DQ <'cd '> ($ Id.VSub_DollarName '$HA_SRVROOT'))}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$HA_SRVROOT') </homeassistant-start.sh>} ) ] ) (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$HA_PYENV_ACTIVATION'))}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$HA_SRVROOT') </homeassistant-start.sh>} ) ] ) (command.Simple words: [ {<echo>} { (DQ <'pyenv activate homeassistant-'> ($ Id.VSub_DollarName '$HA_PYTHON_VERSION') ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$HA_SRVROOT') </homeassistant-start.sh>} ) ] ) (command.Simple words: [ {<echo>} { (DQ <'hass -c '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$HA_USERROOT') </.homeassistant> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$HA_SRVROOT') </homeassistant-start.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</srv/homeassistant/homeassistant-start.sh>}) ] spids: [41396 41415] ) ] ) (C {<G_ERROR_HANDLER_RESET>}) ] ) ) (command.ShFunction name: Uninstall_NonSelected_Choices body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<-r>} {<line>})] body: (command.DoGroup children: [(C {<Uninstall_Software>} {(DQ ($ Id.VSub_DollarName '$line'))})] ) redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$UNINSTALL_FILE')} ) ] ) (C {<rm>} {($ Id.VSub_DollarName '$UNINSTALL_FILE')}) ] spids: [41954 41967] ) ] ) ] ) ) (command.ShFunction name: Apply_SSHServer_Choices body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_CURRENT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <104>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <105>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42053 42067] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 104>}) ) op: assign_op.Equal rhs: {<1>} spids: [42125] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <105>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42106 42121] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 105>}) ) op: assign_op.Equal rhs: {<1>} spids: [42172] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <104>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42153 42168] ) ] ) (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Stopping SSH servers'>)}) (command.Simple words: [{<service>} {<ssh>} {<stop>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<service>} {<dropbear>} {<stop>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_CURRENT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} spids: [42247] ) ] ) ] spids: [42031 42045] ) ] ) ] ) ) (command.ShFunction name: Apply_FileServer_Choices body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_CURRENT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <96>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <94>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42297 42311] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 94>}) ) op: assign_op.Equal rhs: {<1>} spids: [42372] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <96>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42353 42368] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) op: assign_op.Equal rhs: {<1>} spids: [42419] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <94>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42400 42415] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_CURRENT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} spids: [42451] ) ] ) ] spids: [42275 42289] ) ] ) ] ) ) (command.ShFunction name: Apply_Logging_Choices body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_CURRENT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <103>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42501 42515] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 103>}) ) op: assign_op.Equal rhs: {<1>} spids: [42588] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42569 42584] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 103>}) ) op: assign_op.Equal rhs: {<1>} spids: [42650] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <101>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <102>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42631 42646] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 101>}) ) op: assign_op.Equal rhs: {<1>} spids: [42712] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 102>}) ) op: assign_op.Equal rhs: {<1>} spids: [42720] ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ <103>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$UNINSTALL_FILE'))} ) ] ) ] spids: [42693 42708] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_CURRENT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} spids: [42752] ) ] ) ] spids: [42479 42493] ) ] ) ] ) ) (command.ShFunction name: Apply_Webserver_Preference body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_CURRENT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_CURRENT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} spids: [42794] ) ] ) ] spids: [42772 42786] ) ] ) ] ) ) (command.ShFunction name: Install_Apply_Permissions body: (command.BraceGroup children: [ (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {</var/www>}) (C {<chmod>} {<-R>} {<775>} {</var/www>}) (C {<chmod>} {<-R>} {<777>} {</var/www/ompd/tmp>}) (C {<chmod>} {<-R>} {<777>} {</var/www/ompd/stream>}) (C {<chmod>} {<-R>} {<777>} {</var/www/ompd/cache>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {</home/dietpi>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA'))} ) (C {<chmod>} {<-R>} {<775>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA'))}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> <Id.Lit_Star '*'>} ) (C {<chmod>} {<-R>} {<775>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </> <Id.Lit_Star '*'>} ) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Other ':'> <audio>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </.mpd_cache>} ) (C {<chown>} {<-R>} {<mysql> <Id.Lit_Other ':'> <mysql>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql>} ) (C {<chmod>} {<-R>} {<770>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql>}) (C {<chown>} {<-R>} {<mineos> <Id.Lit_Other ':'> <mineos>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/serverdata>} ) (C {<chown>} {<-R>} {<urbackup> <Id.Lit_Other ':'> <urbackup>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </urbackup>} ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dietpicam>} ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </pydio_data>} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_OWNCLOUD_DATADIR='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </owncloud_data>)} spids: [43124] ) ] ) ] ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {(DQ ($ Id.VSub_DollarName '$datadir'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_NEXTCLOUD_DATADIR='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [43145] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </nextcloud_data>)} spids: [43185] ) ] ) ] ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {(DQ ($ Id.VSub_DollarName '$datadir'))} ) (C {<chown>} {<-R>} {<minio-user> <Id.Lit_Other ':'> <minio-user>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </minio-data>} ) (C {<chown>} {<-R>} {<bd> <Id.Lit_Other ':'> <bd>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data/>} ) (C {<chown>} {<-R>} {<nodered> <Id.Lit_Other ':'> <nodered>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </node-red>} ) ] ) ) (command.ShFunction name: Install_Apply_Configs body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<23>} spids: [43448] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<rm>} {</usr/share/applications/lxrandr.desktop>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/pcmanfm/LXDE>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/pcmanfm.conf>} {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/pcmanfm/LXDE/pcmanfm.conf>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/pcmanfm-desktopitems.conf> } {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/pcmanfm/LXDE/desktop-items-0.conf>} ) (C {<sed>} {<-i>} {(SQ <'/use_trash=/c\\use_trash=0'>)} {</etc/xdg/libfm/libfm.conf>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/lxpanel/LXDE/panels>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/panel>} {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/lxpanel/LXDE/panels/panel>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/openbox>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/lxde-rc.xml>} {<-O>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/openbox/lxde-rc.xml>} ) (C {<ln>} {<-sf>} {</usr/share/applications/pcmanfm.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/pcmanfm.desktop>} ) (C {<Create_Desktop_Shared_Items>}) ] spids: [43452 43471] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<24>} spids: [43639] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {</usr/share/applications/caja.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/caja.desktop>} ) (C {<Create_Desktop_Shared_Items>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>}) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</etc/pulse/default.pa>}) (C {<grep>} {<-ci>} {<-m1>} { (SQ < '^set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo' > ) } ) ] negated: F ) ] ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ < 'set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo' > ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/pulse/default.pa>} ) ] ) ] spids: [43695 43732] ) ] ) ] spids: [43643 43662] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<26>} spids: [43762] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})] spids: [43766 43785] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<25>} spids: [43805] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})] spids: [43809 43828] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<83>} spids: [43848] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/www>}) (C {<cp>} {</DietPi/dietpi/conf/apache2_jessie.conf>} {</etc/apache2/apache2.conf>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 43928 stdin_parts: [ <'<VirtualHost *:80>\n'> <'ServerAdmin webmaster@localhost\n'> <'DocumentRoot /var/www\n'> <'\n'> <'ErrorLog '> (${ Id.VSub_Name APACHE_LOG_DIR) <'/error.log\n'> <'CustomLog '> (${ Id.VSub_Name APACHE_LOG_DIR) <'/access.log combined\n'> <'</VirtualHost>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apache2/sites-available/000-default.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 43953 stdin_parts: [ <'<IfModule mpm_event_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') <'\n'> <'MinSpareThreads\t\t 1\n'> <'MaxSpareThreads\t\t 8\n'> <'ThreadLimit\t\t \t16\n'> <'ThreadsPerChild\t\t 4\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apache2/mods-available/mpm_event.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 43978 stdin_parts: [ <'<IfModule mpm_prefork_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') <'\n'> <'MinSpareServers\t\t 1\n'> <'MaxSpareServers\t\t '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') <'\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apache2/mods-available/mpm_prefork.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 44003 stdin_parts: [ <'<IfModule mpm_worker_module>\n'> <'StartServers\t\t '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') <'\n'> <'MinSpareThreads\t\t 1\n'> <'MaxSpareThreads\t\t 8\n'> <'ThreadLimit\t\t \t16\n'> <'ThreadsPerChild\t\t 4\n'> <'MaxRequestWorkers\t 50\n'> <'MaxConnectionsPerChild 0\n'> <'</IfModule>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apache2/mods-available/mpm_worker.conf>} ) ] ) (command.Simple words: [{<mv>} {</var/www/html/index.html>} {</var/www/index.html>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {<-R>} {</var/www/html>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<sed>} {<-i>} {(DQ <'/CustomLog /c'> <Id.Lit_Other '\\'> <' #CustomLog '>) (SQ <'${APACHE_LOG_DIR}'>) (DQ <'/access.log combined'>) } {</etc/apache2/sites-available/> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} {(DQ <'/LogLevel /c'> <Id.Lit_Other '\\'> <' LogLevel error'>)} {</etc/apache2/sites-available/> <Id.Lit_Star '*'>} ) ] spids: [43852 43871] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<85>} spids: [44080] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/www>}) (C {<mkdir>} {</etc/nginx/sites-dietpi>}) (C {<cp>} {</DietPi/dietpi/conf/nginx.conf>} {</etc/nginx/nginx.conf>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} {</etc/nginx/nginx.conf>} ) ] spids: [44144 44158] ) ] ) (C {<sed>} {<-i>} { (DQ </worker_processes/c> <Id.Lit_Other '\\'> <'worker_processes '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') <';'> ) } {</etc/nginx/nginx.conf>} ) (C {<cp>} {</DietPi/dietpi/conf/nginx.site-available-default>} {</etc/nginx/sites-available/default>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} {</etc/nginx/sites-available/default>} ) ] spids: [44211 44225] ) ] ) (C {<cp>} {</usr/share/nginx/html/index.html>} {</var/www/index.html>}) ] spids: [44084 44103] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<84>} spids: [44263] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/www>}) (C {<sed>} {<-i>} {(SQ <'/^server.document-root/c\\server.document-root = "/var/www"'>)} {</etc/lighttpd/lighttpd.conf>} ) (C {<local>} {<Id.Lit_VarLike 'fp_php_fpm_sock='> (SQ </var/run/php/php7.0-fpm.sock>)} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_php_fpm_sock) op: assign_op.Equal rhs: {(SQ </var/run/php5-fpm.sock>)} spids: [44352] ) ] ) ] spids: [44334 44348] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 44405 stdin_parts: [ <'# -*- depends: fastcgi -*-\n'> <'# /usr/share/doc/lighttpd/fastcgi.txt.gz\n'> < '# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi\n' > <'\n'> <'## Start an FastCGI server using php-fpm\n'> <'fastcgi.server += ( '> <Id.Right_DoubleQuote '"'> <.php> <Id.Right_DoubleQuote '"'> <' =>\n'> <' ((\n'> <' '> <Id.Right_DoubleQuote '"'> <socket> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$fp_php_fpm_sock') <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <broken-scriptfilename> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <enable> <Id.Right_DoubleQuote '"'> <'\n'> <' ))\n'> <')\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/lighttpd/conf-available/15-fastcgi-php.conf>} ) ] ) (C {<lighttpd-enable-mod>} {<fastcgi>}) (C {<lighttpd-enable-mod>} {<fastcgi-php>}) (C {<mv>} {</var/www/html/index.lighttpd.html>} {</var/www/>}) (C {<service>} {<lighttpd>} {<force-reload>}) ] spids: [44267 44286] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<89>} spids: [44451] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'php_service='> (SQ </lib/systemd/system/apache2.service>) } ) ] spids: [44486 44505] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'php_service='> (SQ <'/lib/systemd/system/php*-fpm.service'>) } ) (C {<sed>} {<-i>} {(SQ <'/cgi.fix_pathinfo=/c\\cgi.fix_pathinfo=1'>)} {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/php.ini>} ) (C {<sed>} {<-i>} { (DQ <'/pm.max_children = /c'> <Id.Lit_Other '\\'> <'pm.max_children = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_CPU_CORES')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ <'/pm.start_servers = /c'> <Id.Lit_Other '\\'> <'pm.start_servers = '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ <'/pm.min_spare_servers = /c'> <Id.Lit_Other '\\'> <'pm.min_spare_servers = '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ <'/pm.max_spare_servers = /c'> <Id.Lit_Other '\\'> <'pm.max_spare_servers = '> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ </env> <Id.Lit_Other '\\'> <'[HOSTNAME'> <Id.Lit_Other '\\'> <']/c'> <Id.Lit_Other '\\'> <env> <Id.Lit_Other '\\'> <'[HOSTNAME'> <Id.Lit_Other '\\'> <'] = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <HOSTNAME> ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ </env> <Id.Lit_Other '\\'> <'[PATH'> <Id.Lit_Other '\\'> <']/c'> <Id.Lit_Other '\\'> <env> <Id.Lit_Other '\\'> <'[PATH'> <Id.Lit_Other '\\'> <'] = /usr/local/bin:/usr/bin:/bin'> ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ </env> <Id.Lit_Other '\\'> <'[TMP'> <Id.Lit_Other '\\'> <']/c'> <Id.Lit_Other '\\'> <env> <Id.Lit_Other '\\'> <'[TMP'> <Id.Lit_Other '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ </env> <Id.Lit_Other '\\'> <'[TMPDIR'> <Id.Lit_Other '\\'> <']/c'> <Id.Lit_Other '\\'> <env> <Id.Lit_Other '\\'> <'[TMPDIR'> <Id.Lit_Other '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) (C {<sed>} {<-i>} { (DQ </env> <Id.Lit_Other '\\'> <'[TEMP'> <Id.Lit_Other '\\'> <']/c'> <Id.Lit_Other '\\'> <env> <Id.Lit_Other '\\'> <'[TEMP'> <Id.Lit_Other '\\'> <'] = /var/tmp'> ) } {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'target_php_ini='> <0>}) (C {<local>} {<Id.Lit_VarLike 'target_php_cachesize='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$RAM_TOTAL')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 30>}) ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$target_php_cachesize')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_php_cachesize) op: assign_op.Equal rhs: {<10>} spids: [44819] ) ] ) ] spids: [44801 44815] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_php_ini) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </apache2/php.ini>) } spids: [44855] ) ] ) ] spids: [44832 44851] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_php_ini) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </fpm/php.ini>)} spids: [44867] ) ] ) ] ) (C {<sed>} {<-i>} {(DQ <'/opcache.enable=/c'> <Id.Lit_Other '\\'> <'opcache.enable=1'>)} {($ Id.VSub_DollarName '$target_php_ini')} ) (C {<sed>} {<-i>} { (DQ <'/opcache.memory_consumption=/c'> <Id.Lit_Other '\\'> <'opcache.memory_consumption='> ($ Id.VSub_DollarName '$target_php_cachesize') ) } {($ Id.VSub_DollarName '$target_php_ini')} ) (C {<sed>} {<-i>} { (DQ <'/opcache.revalidate_freq=/c'> <Id.Lit_Other '\\'> <'opcache.revalidate_freq=60'> ) } {($ Id.VSub_DollarName '$target_php_ini')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_php_ini) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>) } spids: [44924] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:target_php_cachesize) op: assign_op.PlusEqual rhs: {(DQ <M>)} spids: [44935] ) ] ) (C {<local>} {<Id.Lit_VarLike 'target_apc_ttl='> (SQ <259200>)}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 44974 stdin_parts: [ <'extension=apcu.so\n'> <'apc.shm_size='> ($ Id.VSub_DollarName '$target_php_cachesize') <'\n'> <'apc.ttl='> ($ Id.VSub_DollarName '$target_apc_ttl') <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$target_php_ini'))} ) ] ) (C {<local>} {<Id.Lit_VarLike 'dietpi_php_ini='> (DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/dietpi.ini>) } ) (C {<touch>} {($ Id.VSub_DollarName '$dietpi_php_ini')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [ {<grep>} {<-q>} {(SQ <'^\\s*PrivateTmp=true'>)} {($ Id.VSub_DollarName '$php_service')} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) terminator: <Id.Op_Semi _> ) ] action: [(C {<local>} {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ </var/tmp>)})] spids: [45005 45022] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ </var/tmp/php_upload_tmp>)}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$tmp_upload_dir'))}) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {(DQ ($ Id.VSub_DollarName '$tmp_upload_dir'))} ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <upload_tmp_dir>)} {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (C {<sed>} {<-i>} { (DQ </upload_tmp_dir/c> <Id.Lit_Other '\\'> <'upload_tmp_dir = '> ($ Id.VSub_DollarName '$tmp_upload_dir') ) } {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (command.Simple words: [ {<echo>} {(DQ <'upload_tmp_dir = '> ($ Id.VSub_DollarName '$tmp_upload_dir'))} ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$dietpi_php_ini')} ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'php_max_upload_size='> (DQ (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<php>} {<-r>} {(SQ <'print(PHP_INT_MAX);'>)}) ] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1024>}) ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1024>}) ) ) <M> ) } ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <upload_max_filesize>)} {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (C {<sed>} {<-i>} { (DQ </upload_max_filesize/c> <Id.Lit_Other '\\'> <'upload_max_filesize = '> ($ Id.VSub_DollarName '$php_max_upload_size') ) } {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (command.Simple words: [ {<echo>} { (DQ <'upload_max_filesize = '> ($ Id.VSub_DollarName '$php_max_upload_size') ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$dietpi_php_ini')} ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <post_max_size>)} {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (C {<sed>} {<-i>} { (DQ </post_max_size/c> <Id.Lit_Other '\\'> <'post_max_size = '> ($ Id.VSub_DollarName '$php_max_upload_size') ) } {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (command.Simple words: [ {<echo>} {(DQ <'post_max_size = '> ($ Id.VSub_DollarName '$php_max_upload_size'))} ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$dietpi_php_ini')} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ </client_max_body_size/c> <Id.Lit_Other '\\'> <' client_max_body_size '> ($ Id.VSub_DollarName '$php_max_upload_size') <';'> ) } {</etc/nginx/nginx.conf>} ) ] spids: [45245 45264] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <default_charset>)} {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (C {<sed>} {<-i>} {(SQ <'/default_charset/c\\default_charset = "UTF-8"'>)} {($ Id.VSub_DollarName '$dietpi_php_ini')} ) (command.Simple words: [{<echo>} {(SQ <'default_charset = "UTF-8"'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$dietpi_php_ini')} ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'modules_to_enable='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<ls>} {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </mods-available> } ) (C {<grep>} {(SQ <.ini>)}) (C {<sed>} {(SQ <s/.ini//>)}) ] negated: F ) ] ) ) } ) (C {(${ Id.VSub_Name PHP_APT_PACKAGE_NAME) <enmod>} {(DQ ($ Id.VSub_DollarName '$modules_to_enable'))} ) (command.Simple words: [{<echo>} {(DQ <'<?php phpinfo(); ?>'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/www/phpinfo.php>} ) ] ) (C {<wget>} {<https> <Id.Lit_Other ':'> <//raw.githubusercontent.com/rlerdorf/opcache-status/master/opcache.php> } {<-O>} {</var/www/opcache.php>} ) (C {<wget>} {<https> <Id.Lit_Other ':'> <//github.com/krakjoe/apcu/raw/master/apc.php>} {<-O>} {</var/www/apc.php>} ) ] spids: [44455 44474] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<88>} spids: [45430] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<readlink>} {</var/lib/mysql>})] ) ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </mysql/>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<systemctl>} {<stop>} {<mysql>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql>} ) (C {<cp>} {<-a>} {</var/lib/mysql/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql/>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w:{($ Id.VSub_QMark '$?')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <'Moving of MySQL data store failed to '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/mysql. DietPi-Software will now exit'> ) } ) (C {<Exit_Destroy>}) ] spids: [45534 45548] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<rm>} {<-R>} {</var/lib/mysql>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</var/lib/mysql>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql>} {</var/lib/mysql>} ) (C {<chown>} {<mysql> <Id.Lit_Other ':'> <mysql>} {</var/lib/mysql>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [45465 45488] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>}) (command.Simple words: [ {<mysql>} {<-e>} {(DQ <"install plugin unix_socket soname 'auth_socket';">)} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mysql>} {<-e>} { (DQ < "grant all privileges on *.* to 'root'@'localhost' identified via unix_socket with grant option;flush privileges" > ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ < "drop user 'root'@'dietpi';drop user 'root'@'127.0.0.1';drop user 'root'@'::1'" > ) } ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [45640 45654] ) ] ) ] spids: [45434 45453] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<90>} spids: [45753] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 84>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 85>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<ln>} {<-sf>} {</usr/share/phpmyadmin>} {</var/www>})] spids: [45788 45821] ) ] ) (C {<mysql>} {<-e>} {(DQ <'grant all privileges on *.* to phpmyadmin@localhost with grant option'>)} ) ] spids: [45757 45776] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<91>} spids: [45869] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <enmod>} {<redis>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) ] spids: [45873 45892] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<58>} spids: [45925] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 45987 stdin_parts: [ <'[Unit]\n'> <'Description=openbazaar\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'WorkingDirectory=/etc/openbazaar-server\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<python>})]) ) <' openbazaard.py start -a 0.0.0.0\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/openbazaar.service>} ) ] ) ] spids: [45929 45948] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<133>} spids: [45998] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {</etc/yacy>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 46062 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi YaCy Service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'RemainAfterExit=yes\n'> <"ExecStart=/bin/bash -c '/etc/yacy/startYACY.sh'\n"> <"ExecStop=/bin/bash -c '/etc/yacy/stopYACY.sh'\n"> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/yacy.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (C {</etc/yacy/bin/passwd.sh>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))}) ] spids: [46002 46021] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<47>} spids: [46090] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Enabling needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions' > ) } ) (C {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <enmod>} {<curl>} {<gd>} {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>} ) ] spids: [46156 46170] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) (command.Simple words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Apache webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#configure-apache-web-server"' > ) } ) (command.Simple words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}] redirects: [ (redir.Redir op: <Id.Redir_Great '1>'> fd: 1 arg_word: {</dev/null>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'owncloud_conf='> (SQ </etc/apache2/sites-available/owncloud.conf>) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$owncloud_conf')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/owncloud.conf.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:owncloud_conf) op: assign_op.Equal rhs: { (SQ < /etc/apache2/sites-available/owncloud.conf.dietpi-new > ) } spids: [46328] ) ] ) ] spids: [46304 46315] ) ] ) (C {<cp>} {</DietPi/dietpi/conf/apache.ownnextcloud.conf>} {($ Id.VSub_DollarName '$owncloud_conf')} ) (C {<sed>} {<-i>} {(SQ <s/nextcloud/owncloud/g>)} {($ Id.VSub_DollarName '$owncloud_conf')} ) (C {<sed>} {<-i>} {(SQ <'s/php_admin_value/#php_admin_value/'>)} {($ Id.VSub_DollarName '$owncloud_conf')} ) (command.Simple words: [{<a2ensite>} {<owncloud>}] redirects: [ (redir.Redir op: <Id.Redir_Great '1>'> fd: 1 arg_word: {</dev/null>} ) ] ) ] spids: [46247 46266] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Nginx webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/nginx_configuration.html#owncloud-in-a-subdir-of-nginx"' > ) } ) (C {<local>} {<Id.Lit_VarLike 'owncloud_config='> (SQ </etc/nginx/sites-dietpi/owncloud.config>) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$owncloud_config')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/owncloud.config.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:owncloud_config) op: assign_op.Equal rhs: { (SQ </etc/nginx/sites-dietpi/owncloud.config.dietpi-new> ) } spids: [46449] ) ] ) ] spids: [46425 46436] ) ] ) (C {<cp>} {</DietPi/dietpi/conf/nginx.sites-dietpi.owncloud.config>} {($ Id.VSub_DollarName '$owncloud_config')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName '$owncloud_config')} ) (C {<sed>} {<-i>} { (SQ < 's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g' > ) } {($ Id.VSub_DollarName '$owncloud_config')} ) ] spids: [46471 46485] ) ] ) (command.Simple words: [ {<wget>} {<-q>} {<--spider>} {<--timeout> <Id.Lit_Equals '='> <10>} {<--tries> <Id.Lit_Equals '='> <2>} {<https> <Id.Lit_Other ':'> <//localhost>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName '$owncloud_config')} ) ] spids: [46543 46564] ) ] ) ] spids: [46385 46404] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 46607 stdin_parts: [ <'[mysqld]\n'> <'innodb_large_prefix=1\n'> <'innodb_file_format=barracuda\n'> <'innodb_file_per_table=1\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf>} ) ] ) (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>}) (C {<.>} {</DietPi/dietpi/func/dietpi-globals>}) (C {<local>} {<Id.Lit_VarLike 'config_php='> (SQ </var/www/owncloud/config/config.php>)} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </owncloud_data>)} spids: [46680] ) ] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$datadir'))}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql/owncloud> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud database found, will NOT overwrite.'>)} ) ] spids: [46704 46718] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-database-backup.sql> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'ownCloud database backup found, starting recovery...'>)} ) (C {<local>} {<Id.Lit_VarLike 'dbuser='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"^[[:blank:]]*'dbuser'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (C {<local>} {<Id.Lit_VarLike 'dbpass='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"^[[:blank:]]*'dbpassword'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (C {</DietPi/dietpi/func/create_mysql_db>} {<owncloud>} {(DQ ($ Id.VSub_DollarName '$dbuser'))} {(DQ ($ Id.VSub_DollarName '$dbpass'))} ) (command.Simple words: [{<mysql>} {<-uroot>} {<owncloud>}] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-database-backup.sql> } ) ] ) ] spids: [46736 46750] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'username='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} { (SQ < '^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME=' > ) } ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$username'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:username) op: assign_op.Equal rhs: {(SQ <admin>)} spids: [46901] ) ] ) ] ) (C {<mysql>} {<-e>} { (DQ < "grant all privileges on *.* to 'tmp_root'@'localhost' identified by '" > ($ Id.VSub_DollarName '$GLOBAL_PW') <"' with grant option"> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<grep>} {<-q>} {(DQ <"'installed' => true,">)} {($ Id.VSub_DollarName '$config_php')} ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<occ>} {<maintenance> <Id.Lit_Other ':'> <install>} {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <owncloud>)} {<--database-user>} {(DQ <tmp_root>)} {<--database-pass>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName '$username'))} {<--admin-pass>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName '$datadir'))} ) ] ) (C {<mysql>} {<-e>} {(DQ <"drop user 'tmp_root'@'localhost'">)}) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'mysql.utf8mb4'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'dbpassword'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'mysql.utf8mb4' => true,"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$config_php')} ) (C {<grep>} {<-ci>} {<-m1>} {(DQ <"1 => '">)}) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <"/0 => 'localhost'/a 1 => '"> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<sed>} {<-n>} {<4p>} {</DietPi/dietpi/.network>}) ] ) ) <"',"> ) } {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/1 => '/a 2 => '"> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<cat>} {</etc/hostname>})] ) ) <"',"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] spids: [47047 47075] ) ] ) (C {<sed>} {<-i>} {(DQ <"s|'http://localhost'|'http://localhost/owncloud'|g">)} {($ Id.VSub_DollarName '$config_php')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'htaccess.RewriteBase'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'overwrite.cli.url'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'htaccess.RewriteBase' => '/owncloud',"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (C {<occ>} {<maintenance> <Id.Lit_Other ':'> <update> <Id.Lit_Other ':'> <htaccess>} ) ] spids: [47142 47161] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'memcache.local'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'version'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'memcache.local' => '"> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <Memcache> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <Id.Lit_Other '\\'> <"APCu',"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (command.Simple words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$redis_conf')} ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_Other '\\'> <'unixsocketperm 770'> ) } {($ Id.VSub_DollarName '$redis_conf')} ) (command.Simple words: [{<echo>} {(SQ <'unixsocketperm 770'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$redis_conf')} ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_sock='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)}) ] negated: F ) ] ) ) } ) (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$config_php')} ) (C {<grep>} {<-ci>} {<-m1>} {(DQ <"'memcache.locking'">)} ) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <Id.Lit_Other '\\'> <"#'memcache.local'#a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'filelocking.enabled' => true,"> <Id.Lit_Other '\\'> <n> <" 'memcache.locking' => '"> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <OC> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <Id.Lit_Other '\\'> <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <"Redis',"> <Id.Lit_Other '\\'> <n> <" 'redis' => ["> <Id.Lit_Other '\\'> <n> <" 'host' => '"> ($ Id.VSub_DollarName '$redis_sock') <"',"> <Id.Lit_Other '\\'> <n> <" 'port' => 0,"> <Id.Lit_Other '\\'> <n> <' ],'> ) } {($ Id.VSub_DollarName '$config_php')} ) ] spids: [47388 47416] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<grep>} {<-q>} {(SQ </var/www/owncloud/cron.php>)}) ] negated: F ) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} {(DQ <'*/15 * * * * php /var/www/owncloud/cron.php'>)}) ] ) ) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F ) ] ) (C {<occ>} {<background> <Id.Lit_Other ':'> <cron>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'maintenance' => true,">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<occ>} {<maintenance> <Id.Lit_Other ':'> <mode>} {<--on>}) ] ) ] spids: [46094 46113] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<114>} spids: [47575] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Enabling needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation' > ) } ) (C {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <enmod>} {<curl>} {<gd>} {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>} ) ] spids: [47641 47655] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) (command.Simple words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/apcu.ini>} ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.enable='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.enable=/c\\opcache.enable=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.enable=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.enable_cli='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.enable_cli=/c\\opcache.enable_cli=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.enable_cli=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.interned_strings_buffer='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} { (SQ < '/opcache.interned_strings_buffer=/c\\opcache.interned_strings_buffer=8' > ) } {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.interned_strings_buffer=8'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.max_accelerated_files='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} { (SQ < '/opcache.max_accelerated_files=/c\\opcache.max_accelerated_files=10000' > ) } {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.max_accelerated_files=10000'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.save_comments='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.save_comments=/c\\opcache.save_comments=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.save_comments=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'opcache.revalidate_freq='>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (C {<sed>} {<-i>} {(SQ <'/opcache.revalidate_freq=/c\\opcache.revalidate_freq=1'>)} {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini>} ) (command.Simple words: [{<echo>} {(SQ <'opcache.revalidate_freq=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$FP_PHP_BASE_DIR') </mods-available/opcache.ini> } ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Apache webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#apache-web-server-configuration"' > ) } ) (command.Simple words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}] redirects: [ (redir.Redir op: <Id.Redir_Great '1>'> fd: 1 arg_word: {</dev/null>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'nextcloud_conf='> (SQ </etc/apache2/sites-available/nextcloud.conf>) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$nextcloud_conf')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/nextcloud.conf.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nextcloud_conf) op: assign_op.Equal rhs: { (SQ < /etc/apache2/sites-available/nextcloud.conf.dietpi-new > ) } spids: [48046] ) ] ) ] spids: [48022 48033] ) ] ) (C {<cp>} {</DietPi/dietpi/conf/apache.ownnextcloud.conf>} {($ Id.VSub_DollarName '$nextcloud_conf')} ) (command.Simple words: [{<a2ensite>} {<nextcloud>}] redirects: [ (redir.Redir op: <Id.Redir_Great '1>'> fd: 1 arg_word: {</dev/null>} ) ] ) ] spids: [47965 47984] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Nginx webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/nginx.html#nextcloud-in-a-subdir-of-nginx"' > ) } ) (C {<local>} {<Id.Lit_VarLike 'nextcloud_config='> (SQ </etc/nginx/sites-dietpi/nextcloud.config>) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$nextcloud_config')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/nextcloud.config.dietpi-new' > ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:nextcloud_config) op: assign_op.Equal rhs: { (SQ < /etc/nginx/sites-dietpi/nextcloud.config.dietpi-new > ) } spids: [48141] ) ] ) ] spids: [48117 48128] ) ] ) (C {<cp>} {</DietPi/dietpi/conf/nginx.sites-dietpi.nextcloud.config>} {($ Id.VSub_DollarName '$nextcloud_config')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName '$nextcloud_config')} ) (C {<sed>} {<-i>} { (SQ < 's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g' > ) } {($ Id.VSub_DollarName '$nextcloud_config')} ) ] spids: [48163 48177] ) ] ) (command.Simple words: [ {<wget>} {<-q>} {<--spider>} {<--timeout> <Id.Lit_Equals '='> <10>} {<--tries> <Id.Lit_Equals '='> <2>} {<https> <Id.Lit_Other ':'> <//localhost>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName '$nextcloud_config')} ) ] spids: [48235 48256] ) ] ) ] spids: [48077 48096] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (SQ < 'Lighttpd webserver found, enable Nextcloud specific configuration.' > ) } ) (C {<local>} {<Id.Lit_VarLike 'lighttpd_conf='> (SQ </etc/lighttpd/lighttpd.conf>)} ) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*"mod_setenv",'>)} {($ Id.VSub_DollarName '$lighttpd_conf')} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]#;]*"mod_setenv",'>)} {($ Id.VSub_DollarName '$lighttpd_conf')} ) (C {<sed>} {<-i>} {(SQ <'/^[[:blank:]#;]*"mod_setenv",/c\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName '$lighttpd_conf')} ) (C {<sed>} {<-i>} {(SQ <'/^[[:blank:]]*server.modules = (/a\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName '$lighttpd_conf')} ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {</etc/lighttpd/conf-available/99-dietpi-nextcloud.conf>} {<Id.Lit_RBracket ']'>} ) (C {<cp>} {</DietPi/dietpi/conf/lighttpd.nextcloud.conf>} {</etc/lighttpd/conf-available/99-dietpi-nextcloud.conf>} ) ] ) (C {<lighttpd-enable-mod>} {<dietpi-nextcloud>}) (C {<service>} {<lighttpd>} {<force-reload>}) ] spids: [48280 48299] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 48435 stdin_parts: [ <'[mysqld]\n'> <'innodb_large_prefix=1\n'> <'innodb_file_format=barracuda\n'> <'innodb_file_per_table=1\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf>} ) ] ) (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>}) (C {<.>} {</DietPi/dietpi/func/dietpi-globals>}) (C {<local>} {<Id.Lit_VarLike 'config_php='> (SQ </var/www/nextcloud/config/config.php>)} ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </nextcloud_data>) } spids: [48508] ) ] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$datadir'))}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql/nextcloud> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud database found, will NOT overwrite.'>)} ) ] spids: [48532 48546] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-database-backup.sql> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Nextcloud database backup found, starting recovery...'>)} ) (C {<local>} {<Id.Lit_VarLike 'dbuser='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"^[[:blank:]]*'dbuser'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (C {<local>} {<Id.Lit_VarLike 'dbpass='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"^[[:blank:]]*'dbpassword'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (C {</DietPi/dietpi/func/create_mysql_db>} {<nextcloud>} {(DQ ($ Id.VSub_DollarName '$dbuser'))} {(DQ ($ Id.VSub_DollarName '$dbpass'))} ) (command.Simple words: [{<mysql>} {<-uroot>} {<nextcloud>}] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-database-backup.sql> } ) ] ) ] spids: [48564 48578] ) ] else_action: [ (C {<local>} {<Id.Lit_VarLike 'username='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} { (SQ < '^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME=' > ) } {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/^.*=//'>)}) ] negated: F ) ] ) ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$username'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:username) op: assign_op.Equal rhs: {(SQ <admin>)} spids: [48725] ) ] ) ] ) (C {<mysql>} {<-e>} { (DQ < "grant all privileges on *.* to 'tmp_root'@'localhost' identified by '" > ($ Id.VSub_DollarName '$GLOBAL_PW') <"' with grant option"> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<grep>} {<-q>} {(DQ <"'installed' => true,">)} {($ Id.VSub_DollarName '$config_php')} ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<ncc>} {<maintenance> <Id.Lit_Other ':'> <install>} {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <nextcloud>)} {<--database-user>} {(DQ <tmp_root>)} {<--database-pass>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName '$username'))} {<--admin-pass>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName '$datadir'))} ) ] ) (C {<mysql>} {<-e>} {(DQ <"drop user 'tmp_root'@'localhost'">)}) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'mysql.utf8mb4'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'dbpassword'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'mysql.utf8mb4' => true,"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$config_php')} ) (C {<grep>} {<-ci>} {<-m1>} {(DQ <"1 => '*'">)}) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(DQ <"/0 => 'localhost'/a 1 => '*',">)} {($ Id.VSub_DollarName '$config_php')} ) ] spids: [48867 48895] ) ] ) (C {<sed>} {<-i>} {(DQ <"s|'http://localhost'|'http://localhost/nextcloud'|g">)} {($ Id.VSub_DollarName '$config_php')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'htaccess.RewriteBase'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'overwrite.cli.url'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'htaccess.RewriteBase' => '/nextcloud',"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (C {<ncc>} {<maintenance> <Id.Lit_Other ':'> <update> <Id.Lit_Other ':'> <htaccess>} ) ] spids: [48935 48954] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'memcache.local'">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<sed>} {<-i>} { (DQ <"/^[[:blank:]]*'version'/a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'memcache.local' => '"> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <Memcache> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <Id.Lit_Other '\\'> <"APCu',"> ) } {($ Id.VSub_DollarName '$config_php')} ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)}) (command.AndOr ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (command.Simple words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$redis_conf')} ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {<-i>} { (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_Other '\\'> <'unixsocketperm 770'> ) } {($ Id.VSub_DollarName '$redis_conf')} ) (command.Simple words: [{<echo>} {(SQ <'unixsocketperm 770'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$redis_conf')} ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'redis_sock='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} {($ Id.VSub_DollarName '$redis_conf')} ) (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)}) ] negated: F ) ] ) ) } ) (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$config_php')} ) (C {<grep>} {<-ci>} {<-m1>} {(DQ <"'memcache.locking'">)} ) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <Id.Lit_Other '\\'> <"#'memcache.local'#a "> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <" 'filelocking.enabled' => true,"> <Id.Lit_Other '\\'> <n> <" 'memcache.locking' => '"> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <OC> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <Id.Lit_Other '\\'> <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <Id.Lit_Other '\\'> <"Redis',"> <Id.Lit_Other '\\'> <n> <" 'redis' => array("> <Id.Lit_Other '\\'> <n> <" 'host' => '"> ($ Id.VSub_DollarName '$redis_sock') <"',"> <Id.Lit_Other '\\'> <n> <" 'port' => 0,"> <Id.Lit_Other '\\'> <n> <' ),'> ) } {($ Id.VSub_DollarName '$config_php')} ) ] spids: [49181 49209] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) (C {<grep>} {<-q>} {(SQ </var/www/nextcloud/cron.php>)}) ] negated: F ) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<crontab>} {<-u>} {<www-data>} {<-l>}] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</dev/null>} ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} {(DQ <'*/15 * * * * php /var/www/nextcloud/cron.php'>)}) ] ) ) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F ) ] ) (C {<ncc>} {<background> <Id.Lit_Other ':'> <cron>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<grep>} {<-q>} {(DQ <"^[[:blank:]]*'maintenance' => true,">)} {($ Id.VSub_DollarName '$config_php')} ) (C {<ncc>} {<maintenance> <Id.Lit_Other ':'> <mode>} {<--on>}) ] ) ] spids: [47579 47598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<44>} spids: [49368] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<rm>} {</etc/init.d/transmission-daemon>}) (C {<rm>} {</etc/systemd/system/transmission-daemon.service>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 49437 stdin_parts: [ <'[Unit]\n'> <'Description=Barebones transmission-daemon service\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'RemainAfterExit=yes\n'> < 'ExecStart=/usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info\n' > <'ExecStop=/usr/bin/killall -w transmission-daemon\n'> <'StandardOutput=tty\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/transmission-daemon.service>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 49845 stdin_parts: [ <'{\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-down> <Id.Right_DoubleQuote '"'> <': 50,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-begin> <Id.Right_DoubleQuote '"'> <': 540,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-day> <Id.Right_DoubleQuote '"'> <': 127,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-time-end> <Id.Right_DoubleQuote '"'> <': 1020,\n'> <' '> <Id.Right_DoubleQuote '"'> <alt-speed-up> <Id.Right_DoubleQuote '"'> <': 50,\n'> <' '> <Id.Right_DoubleQuote '"'> <bind-address-ipv4> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <0.0.0.0> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <bind-address-ipv6> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'::'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <blocklist-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <blocklist-url> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'http://www.example.com/blocklist'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <cache-size-mb> <Id.Right_DoubleQuote '"'> <': 48,\n'> <' '> <Id.Right_DoubleQuote '"'> <dht-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-dir> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <download-limit> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-limit-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-queue-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <download-queue-size> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <encryption> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <idle-seeding-limit> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <idle-seeding-limit-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <incomplete-dir> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </bt-inprogress> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <incomplete-dir-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <lpd-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <max-peers-global> <Id.Right_DoubleQuote '"'> <': 8,\n'> <' '> <Id.Right_DoubleQuote '"'> <message-level> <Id.Right_DoubleQuote '"'> <': 0,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-congestion-algorithm> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-limit-global> <Id.Right_DoubleQuote '"'> <': 8,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-limit-per-torrent> <Id.Right_DoubleQuote '"'> <': 5,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port> <Id.Right_DoubleQuote '"'> <': 51413,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-high> <Id.Right_DoubleQuote '"'> <': 65535,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-low> <Id.Right_DoubleQuote '"'> <': 49152,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-port-random-on-start> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <peer-socket-tos> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <default> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <pex-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <port-forwarding-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <preallocation> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <prefetch-enabled> <Id.Right_DoubleQuote '"'> <': 1,\n'> <' '> <Id.Right_DoubleQuote '"'> <queue-stalled-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <queue-stalled-minutes> <Id.Right_DoubleQuote '"'> <': 30,\n'> <' '> <Id.Right_DoubleQuote '"'> <ratio-limit> <Id.Right_DoubleQuote '"'> <': 1.1,\n'> <' '> <Id.Right_DoubleQuote '"'> <ratio-limit-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rename-partial-files> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-authentication-required> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-bind-address> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <0.0.0.0> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$GLOBAL_PW') <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-port> <Id.Right_DoubleQuote '"'> <': 9091,\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-url> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> </transmission/> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-username> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <root> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-whitelist> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'192.*.*.*'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rpc-whitelist-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <scrape-paused-torrents-enabled> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <script-torrent-done-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <script-torrent-done-filename> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <seed-queue-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <seed-queue-size> <Id.Right_DoubleQuote '"'> <': 10,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-down> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-down-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-up> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <speed-limit-up-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <start-added-torrents> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <trash-original-torrent-files> <Id.Right_DoubleQuote '"'> <': true,\n'> <' '> <Id.Right_DoubleQuote '"'> <umask> <Id.Right_DoubleQuote '"'> <': 18,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-limit> <Id.Right_DoubleQuote '"'> <': 100,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-limit-enabled> <Id.Right_DoubleQuote '"'> <': false,\n'> <' '> <Id.Right_DoubleQuote '"'> <upload-slots-per-torrent> <Id.Right_DoubleQuote '"'> <': 2,\n'> <' '> <Id.Right_DoubleQuote '"'> <utp-enabled> <Id.Right_DoubleQuote '"'> <': true\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/transmission-daemon/settings.json>} ) ] ) (C {<sed>} {<-i>} {(SQ <'/cache-size-mb/c\\ "cache-size-mb": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) (C {<sed>} {<-i>} {(SQ <'/download-queue-size/c\\ "download-queue-size": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<1>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) (C {<sed>} {<-i>} {(SQ <'/peer-limit-global/c\\ "peer-limit-global": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) (C {<sed>} {<-i>} {(SQ <'/max-peers-global/c\\ "max-peers-global": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) (C {<sed>} {<-i>} {(SQ <'/peer-limit-per-torrent/c\\ "peer-limit-per-torrent": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) (C {<sed>} {<-i>} {(SQ <'/upload-slots-per-torrent/c\\ "upload-slots-per-torrent": '>) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<3>})] ) ) (SQ <','>) } {</etc/transmission-daemon/settings.json>} ) ] spids: [49372 49391] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<54>} spids: [49975] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<phpbb3>} {<phpbb3>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [49979 49998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<128>} spids: [50026] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<useradd>} {<-r>} {<-M>} {<mpd>} {<-G>} {<audio>} {<-s>} {</usr/bin/nologin>}) (C {<mkdir>} {<-p>} {</var/lib/mpd>}) (C {<mkdir>} {<-p>} {</var/run/mpd>}) (C {<mkdir>} {<-p>} {</var/lib/mpd/music>}) (C {<mkdir>} {<-p>} {</var/lib/mpd/playlists>}) (C {<touch>} {</var/lib/mpd/state>}) (command.Simple words: [{<rm>} {</var/lib/mpd/music/MNT>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<ln>} {<-sf>} {</mnt>} {</var/lib/mpd/music/MNT>}) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Other ':'> <audio>} {</var/lib/mpd>}) (C {<mkdir>} {<-p>} {</var/log/mpd>}) (C {<touch>} {</var/log/mpd/mpd.log>}) (C {<chmod>} {<644>} {</var/log/mpd/mpd.log>}) (C {<chown>} {<-R>} {<mpd> <Id.Lit_Other ':'> <audio>} {</var/log/mpd>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </.mpd_cache>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 50217 stdin_parts: [ < '#Even though we declare the conf location in our service, MPD will fail to start if this file does not exist.\n' > <'## The configuration file location for mpd:\n'> <'MPDCONF=/etc/mpd.conf\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/default/mpd>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 50251 stdin_parts: [ <'[Unit]\n'> <'Description=Music Player Daemon\n'> <'After=network.target sound.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'EnvironmentFile=/etc/default/mpd\n'> <'ExecStartPre=/bin/mkdir -p /var/run/mpd\n'> <'ExecStartPre=/bin/chown -R mpd:audio /var/run/mpd\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<mpd>})]) ) <' --no-daemon /etc/mpd.conf\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</lib/systemd/system/mpd.service>} ) ] ) (C {<cp>} {</DietPi/dietpi/conf/mpd.conf>} {</etc/mpd.conf>}) (C {<chown>} {<mpd> <Id.Lit_Other ':'> <audio>} {</etc/mpd.conf>}) (C {<chmod>} {<0666>} {</etc/mpd.conf>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD=justboom'>)} ) ] negated: F ) ] ) ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'justboom_soundcard_desc='> (SQ <'JustBoom DietPi'>)} ) (C {<sed>} {<-i>} { (DQ <'/^name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) </c> <Id.Lit_Other '\\'> <'name '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$justboom_soundcard_desc') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } {</etc/mpd.conf>} ) (C {<sed>} {<-i>} { (DQ <'/^zeroconf_name '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) </c> <Id.Lit_Other '\\'> <'zeroconf_name '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$justboom_soundcard_desc') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ) } {</etc/mpd.conf>} ) (C {<local>} {<Id.Lit_VarLike 'target_bitdepth='> <32>}) (C {<local>} {<Id.Lit_VarLike 'target_rate='> <192000>}) (C {<sed>} {<-i>} {(SQ <'/^format "/c\\format "'>) ($ Id.VSub_DollarName '$target_rate') (SQ <':'>) ($ Id.VSub_DollarName '$target_bitdepth') (SQ <':2"'>) } {</etc/mpd.conf>} ) (C {<sed>} {<-i>} {(SQ <'/audio_output_format "/c\\audio_output_format "'>) ($ Id.VSub_DollarName '$target_rate') (SQ <':'>) ($ Id.VSub_DollarName '$target_bitdepth') (SQ <':2"'>) } {</etc/mpd.conf>} ) (C {<sed>} {<-i>} { (SQ < '/samplerate_converter "/c\\samplerate_converter "soxr very high"' > ) } {</etc/mpd.conf>} ) ] spids: [50287 50313] ) ] ) (C {<Download_Test_Media>}) ] spids: [50030 50049] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<94>} spids: [50464] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(DQ </root/c> <Id.Lit_Other '\\'> <'#root'>)} {</etc/ftpusers>}) (C {<cp>} {</DietPi/dietpi/conf/proftpd.conf>} {</etc/proftpd/proftpd.conf>}) (C {<sed>} {<-i>} { (DQ <'/DefaultRoot /c'> <Id.Lit_Other '\\'> <'DefaultRoot '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') ) } {</etc/proftpd/proftpd.conf>} ) ] spids: [50468 50487] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<96>} spids: [50538] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ <dietpi> <Id.Lit_Other '\\'> <ndietpi>)}) (C {<smbpasswd>} {<-s>} {<-a>} {<root>}) ] negated: F ) (C {<cp>} {</DietPi/dietpi/conf/smb.conf>} {</etc/samba/smb.conf>}) (C {<sed>} {<-i>} { (DQ <'/path = /c'> <Id.Lit_Other '\\'> <'path = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') ) } {</etc/samba/smb.conf>} ) ] spids: [50542 50561] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<95>} spids: [50621] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/root/c\\#root'>)} {</etc/ftpusers>}) (C {<cp>} {</DietPi/dietpi/conf/vsftpd.conf>} {</etc/vsftpd.conf>}) (C {<sed>} {<-i>} { (DQ <'/^local_root=/c'> <Id.Lit_Other '\\'> <'local_root='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') ) } {</etc/vsftpd.conf>} ) ] spids: [50625 50644] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<109>} spids: [50694] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 50738 stdin_parts: [ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <' *(rw,async,no_root_squash,fsid=0,crossmnt,no_subtree_check)\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/exports>} ) ] ) ] spids: [50698 50717] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<32>} spids: [50749] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 50806 stdin_parts: [ <'[Unit]\n'> <'Description=YMPD\n'> <'After=mpd.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'ExecStart=/usr/bin/ympd --user root --webport 1337\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/ympd.service>} ) ] ) ] spids: [50753 50772] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<121>} spids: [50817] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon>}) (C {<cp>} {</DietPi/dietpi/conf/roonbridge.service>} {</etc/systemd/system/roonbridge.service>} ) (command.Simple words: [ {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RoonBridge/Logs>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [ {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RAATServer/Logs>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RoonBridge>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RAATServer>} ) (C {<ln>} {<-sf>} {</var/log>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RoonBridge/Logs>} ) (C {<ln>} {<-sf>} {</var/log>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roon/RAATServer/Logs>} ) ] spids: [50821 50840] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<122>} spids: [50958] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </node-red>} ) (C {<adduser>} {<nodered>} {<--system>} {<--group>} {<--no-create-home>} {<--shell> <Id.Lit_Equals '='> </bin/nologin>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 51039 stdin_parts: [ <'[Unit]\n'> <'Description=Node-Red\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=nodered\n'> <'ExecStart=/usr/local/bin/node-red -u '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/node-red\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/node-red.service>} ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </node-red>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.node-red>} ) ] spids: [50962 50981] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<125>} spids: [51070] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <'/JAVA_HOME=/c'> <Id.Lit_Other '\\'> <'JAVA_HOME='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<find>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>) <usr> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>) <lib> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\/'> ) <jvm> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>) } {<-name>} {<java-8-openjdk> <Id.Lit_Star '*'>} ) ] ) ) ) } {</etc/default/tomcat8>} ) ] spids: [51074 51093] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<119>} spids: [51139] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/cava>}) (C {<cp>} {</DietPi/dietpi/conf/cava.conf>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/cava/config>} ) (C {<sed>} {<-i>} {(SQ <'/audio_buffer_size /c\\audio_buffer_size "384"'>)} {</etc/mpd.conf>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</etc/mpd.conf>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ </tmp/mpd.fifo>)} ) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 51289 stdin_parts: [ <'\n'> <'#Cava fifo stream\n'> <'audio_output {\n'> <'\n'> <' type '> <Id.Right_DoubleQuote '"'> <fifo> <Id.Right_DoubleQuote '"'> <'\n'> <' enabled '> <Id.Right_DoubleQuote '"'> <yes> <Id.Right_DoubleQuote '"'> <'\n'> <' name '> <Id.Right_DoubleQuote '"'> <CAVA> <Id.Right_DoubleQuote '"'> <'\n'> <' path '> <Id.Right_DoubleQuote '"'> </tmp/mpd.fifo> <Id.Right_DoubleQuote '"'> <'\n'> <' format '> <Id.Right_DoubleQuote '"'> <'44100:16:2'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/mpd.conf>} ) ] ) ] spids: [51215 51243] ) ] ) ] spids: [51143 51162] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<118>} spids: [51304] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(DQ <'/User=/c'> <Id.Lit_Other '\\'> <'User=root'>)} {</lib/systemd/system/mopidy.service>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mopidy/cache>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mopidy/data>} ) (C {<mkdir>} {<-p>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </.config/mopidy>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 51440 stdin_parts: [ <'[core]\n'> <'cache_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/mopidy/cache\n'> <'config_dir = /etc/mopidy\n'> <'data_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/mopidy/data\n'> <'\n'> <'[logging]\n'> <'config_file = /etc/mopidy/logging.conf\n'> <'debug_file = /var/log/mopidy.log\n'> <'\n'> <'[local]\n'> <'library = images\n'> <'media_dir = /mnt\n'> <'enabled = true\n'> <'scan_timeout = 1000\n'> <'scan_flush_threshold = 100\n'> <'scan_follow_symlinks = false\n'> <'excluded_file_extensions =\n'> <' .directory\n'> <' .html\n'> <' .jpeg\n'> <' .jpg\n'> <' .log\n'> <' .nfo\n'> <' .png\n'> <' .txt\n'> <'\n'> <'[file]\n'> <'enabled = true\n'> <'media_dirs = /mnt\n'> <'\n'> <'[m3u]\n'> <'playlists_dir = /mnt\n'> <'\n'> <'[http]\n'> <'enabled = true\n'> <'hostname = ::\n'> <'port = 6680\n'> <'static_dir =\n'> <'zeroconf = Mopidy HTTP server on '> ($ Id.VSub_DollarName '$hostname') <'\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </.config/mopidy/mopidy.conf> } ) ] ) (C {<cp>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </.config/mopidy/mopidy.conf> } {</etc/mopidy/mopidy.conf>} ) (C {<Download_Test_Media>}) ] spids: [51308 51327] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<31>} spids: [51468] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<userdel>} {<-r>} {<kodi>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<sed>} {<-i>} {(SQ <'/USER=/c\\USER=root'>)} {</etc/default/kodi>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<cp>} {</DietPi/dietpi/conf/kodi_udev>} {</etc/udev/rules.d/99-input.rules>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/udev/rules.d/99-input.rules>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop>}) (command.Simple words: [{<rm>} {</usr/share/applications/kodi.desktop>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/kodi.desktop>} {<-O>} {</usr/share/applications/kodi.desktop>} ) (C {<ln>} {<-sf>} {</usr/share/applications/kodi.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/kodi.desktop>} ) ] spids: [51472 51491] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<39>} spids: [51610] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/USER=m/c\\USER=root'>)} {</etc/init.d/minidlna>}) (command.Simple words: [ {<sed>} {<-i>} {(SQ <'/User=m/c\\User=root'>)} {</lib/systemd/system/minidlna.service>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [ {<sed>} {<-i>} {(SQ <'/Group=m/c\\Group=root'>)} {</lib/systemd/system/minidlna.service>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<cp>} {</DietPi/dietpi/conf/minidlna.conf>} {</etc/minidlna.conf>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </.MiniDLNA_Cache>} ) ] spids: [51614 51633] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<67>} spids: [51727] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 51786 stdin_parts: [ <'[Unit]\n'> <'Description=noip2\n'> <'After=network.target network-online.target rsyslog.service\n'> <'\n'> <'[Service]\n'> <'Type=forking\n'> <'RemainAfterExit=yes\n'> <'\n'> <'ExecStart=/usr/local/bin/noip2\n'> <'ExecStop=/usr/bin/killall -w noip2\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/noip2.service>} ) ] ) ] spids: [51731 51750] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<108>} spids: [51797] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {</etc/amiberry>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry>} ) (C {<cp>} {<-R>} {</etc/amiberry/conf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/>} ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/conf>} {</etc/amiberry/conf>} ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/disks>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/disks>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/disks>} {</etc/amiberry/disks>} ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/floppy_images>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/floppy_images>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/floppy_images>} {</etc/amiberry/floppy_images>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 51992 stdin_parts: [<'Put your Amiga floopy images (*.adf) in this directory.\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/floppy_images/dir.txt> } ) ] ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/hdf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/hdf>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/hdf>} {</etc/amiberry/hdf>} ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/kickstarts>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/kickstarts>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/kickstarts>} {</etc/amiberry/kickstarts>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52086 stdin_parts: [ <'Put your Kickstart Roms (*.rom) in this directory.\n'> < 'They should be named accordingly depending on version: kick12.rom , kick13.rom , kick20.rom, kick31.rom\n' > ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/kickstarts/dir.txt> } ) ] ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/savestates>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/savestates>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/savestates>} {</etc/amiberry/savestates>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52141 stdin_parts: [<'Saved states will be stored here.\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/savestates/dir.txt> } ) ] ) (command.Simple words: [{<rm>} {<-R>} {</etc/amiberry/screenshots>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/screenshots>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/screenshots>} {</etc/amiberry/screenshots>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52196 stdin_parts: [<'Screenshots will be stored here.\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/screenshots/dir.txt> } ) ] ) (C {<local>} {<Id.Lit_VarLike 'fp_userdata_actual='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<readlink>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA'))}) ] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$fp_userdata_actual'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <'s:'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <':'> ($ Id.VSub_DollarName '$fp_userdata_actual') <':g'> ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/conf/adfdir.conf>} ) (C {<sed>} {<-i>} { (DQ <'s:'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <':'> ($ Id.VSub_DollarName '$fp_userdata_actual') <':g'> ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </amiberry/conf/autostart.uae>} ) ] spids: [52223 52236] ) ] ) (C {<local>} {<Id.Lit_VarLike 'amiberry_filename='> (SQ <amiberry-rpi>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:amiberry_filename) op: assign_op.PlusEqual rhs: {(SQ <3>)} spids: [52316] ) ] ) ] spids: [52298 52312] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:amiberry_filename) op: assign_op.PlusEqual rhs: {(SQ <2>)} spids: [52345] ) ] ) ] spids: [52327 52341] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:amiberry_filename) op: assign_op.PlusEqual rhs: {(SQ <1>)} spids: [52360] ) ] ) ] ) (C {<ln>} {<-sf>} {</etc/amiberry/> (DQ ($ Id.VSub_DollarName '$amiberry_filename'))} {</etc/amiberry/amiberry>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:amiberry_filename) op: assign_op.PlusEqual rhs: {(SQ <-sdl2>)} spids: [52388] ) ] ) (C {<ln>} {<-sf>} {</etc/amiberry/> (DQ ($ Id.VSub_DollarName '$amiberry_filename'))} {</etc/amiberry/amiberry-sdl2>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52434 stdin_parts: [ <'[Unit]\n'> <'Description=AmiBerry Amiga Emulator\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/amiberry\n'> <'ExecStart=/bin/bash -c ./amiberry_run.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=local-fs.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/amiberry.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52465 stdin_parts: [ <'#!/bin/bash\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"(ps aux | grep -ci -m1 '[X]11') )); then\n"> <'\n'> <'./amiberry -f conf/autostart.uae\n'> <'\n'> <'else\n'> <'\n'> <'xinit ./amiberry -f conf/autostart.uae\n'> <'\n'> <'fi\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/amiberry/amiberry_run.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/amiberry/amiberry_run.sh>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52503 stdin_parts: [ <'[Unit]\n'> <'Description=AmiBerry Amiga Emulator\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/amiberry\n'> <'ExecStart=/bin/bash -c ./amiberry_run_sdl2.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=local-fs.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/amiberry-sdl2.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 52533 stdin_parts: [ <'#!/bin/bash\n'> <'xinit ./amiberry-sdl2 -f conf/autostart.uae\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/amiberry/amiberry_run_sdl2.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/amiberry/amiberry_run_sdl2.sh>}) ] spids: [51801 51820] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<112>} spids: [52553] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.d1x-rebirth>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.d2x-rebirth>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/descent_1_profiles> } {(DQ ($ Id.VSub_DollarName '$HOME')) </.d1x-rebirth>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/descent_2_profiles> } {(DQ ($ Id.VSub_DollarName '$HOME')) </.d2x-rebirth>} ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/> <Id.Lit_Star '*'> } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop>}) (C {<mkdir>} {<-p>} {</usr/share/applications>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/dxx-rebirth.desktop> } {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/dxx-rebirth.desktop>} ) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/dxx-rebirth.desktop> } {</usr/share/applications/dxx-rebirth.desktop>} ) ] spids: [52557 52576] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<51>} spids: [52729] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/opentyrian_run>} {</usr/local/games/opentyrian/run>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/games/opentyrian/run>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop>}) (command.Simple words: [{<rm>} {</usr/share/applications/opentyrian.desktop>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/desktop/pcmanfm.conf>} {<-O>} {</usr/share/applications/opentyrian.desktop>} ) (C {<ln>} {<-s>} {</usr/share/applications/opentyrian.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/opentyrian.desktop>} ) ] spids: [52733 52752] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<59>} spids: [52835] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/raspimjpeg>}) (C {<ln>} {<-s>} {</etc/raspimjpeg>} {</var/www/dietpicam/raspimjpeg>}) (C {<chgrp>} {<www-data>} {</etc/motion/motion.conf>}) (C {<chmod>} {<777>} {</etc/motion/motion.conf>}) (C {<usermod>} {<-a>} {<-G>} {<video>} {<www-data>}) (C {<cp>} {</DietPi/dietpi/conf/raspimjpeg.service>} {</var/lib/dietpi/dietpi-software/services/raspimjpeg.service>} ) (C {<local>} {<Id.Lit_VarLike 'dietpicam_media_directory='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$dietpicam_media_directory')) </dietpicam>} ) (C {<rm>} {<-R>} {</var/www/dietpicam/media>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$dietpicam_media_directory')) </dietpicam>} {</var/www/dietpicam/media>} ) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<rpi-camera>} {<enable>}) ] spids: [52839 52858] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<45>} spids: [52991] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/deluge.service>} {</var/lib/dietpi/dietpi-software/services/deluge.service>} ) (C {<deluged>}) (C {<killall>} {<-w>} {<deluged>}) (C {<cp>} {</DietPi/dietpi/conf/deluge.conf>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) (C {<cp>} {</DietPi/dietpi/conf/deluge_web.conf>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/web.conf>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 53095 stdin_parts: [<'root:'> ($ Id.VSub_DollarName '$GLOBAL_PW') <':10\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/auth>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'deluge_cache_size='> (word_part.ArithSub anode: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {<-e>} { (DQ <'scale=0; '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) <' * 1024 / 16'> ) } ) (C {<bc>} {<-l>}) ] negated: F ) ] ) ) } ) ) } ) (C {<sed>} {<-i>} {(SQ <'/"cache_size": /c\\ "cache_size": '>) (DQ ($ Id.VSub_DollarName '$deluge_cache_size')) (SQ <','>) } {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) (C {<sed>} {<-i>} {(SQ <'/"max_active_limit": /c\\ "max_active_limit": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<1>})] ) ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) (C {<sed>} {<-i>} {(SQ <'/"max_active_downloading": /c\\ "max_active_downloading": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<1>})] ) ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) (C {<sed>} {<-i>} {(SQ <'/"max_connections_global": /c\\ "max_connections_global": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) (C {<sed>} {<-i>} {(SQ <'/"max_upload_slots_global": /c\\ "max_upload_slots_global": '>) (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<3>})] ) ) ) (SQ <','>) } {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/deluge/core.conf>} ) ] spids: [52995 53014] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<106>} spids: [53264] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</etc/raspcontrol>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 53338 stdin_parts: [ <'{\n'> <' '> <Id.Right_DoubleQuote '"'> <user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <root> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$GLOBAL_PW') <Id.Right_DoubleQuote '"'> <'\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/raspcontrol/database.aptmnt>} ) ] ) (C {<chown>} {<-R>} {<www-data> <Id.Lit_Other ':'> <www-data>} {</etc/raspcontrol>}) (C {<chmod>} {<-R>} {<750>} {</etc/raspcontrol>}) ] spids: [53268 53287] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<93>} spids: [53370] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {</var/www/html/admin>} {</var/www/pihole>}) (C {<ln>} {<-sf>} {</var/www/html/admin>} {</var/www/admin>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 53448 stdin_parts: [ <'<html>\n'> <'Blocked by Pi-hole.\n'> <'<script>window.close();</script>\n'> <'</html>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/www/index.html>} ) ] ) (command.Simple words: [{<echo>} {<-e>} {(DQ )}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/log/pihole.log>} ) ] ) (C {<chown>} {<www-data> <Id.Lit_Other ':'> <www-data>} {</var/log/pihole.log>}) (C {<chmod>} {<775>} {</var/log/pihole.log>}) (C {<pihole>} {<-a>} {<-p>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))}) (C {<whiptail>} {<--title>} {(DQ <'PiHole: Web interface'>)} {<--msgbox>} { (DQ <'DietPi has changed the PiHole web interface password to:'> <Id.Lit_Other '\\'> <'n- '> ($ Id.VSub_DollarName '$GLOBAL_PW') <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nPlease use this password when logging into the web interface:'> <Id.Lit_Other '\\'> <'n - http://ip/pihole'> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nThis password can be changed, please see pihole binary for info:'> <Id.Lit_Other '\\'> <'n - pihole --help'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<16>} {<70>} ) ] spids: [53374 53393] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<34>} spids: [53554] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 33>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 34>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'subsonic_memory_max='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$RAM_TOTAL')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$subsonic_memory_max')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 150>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subsonic_memory_max) op: assign_op.Equal rhs: {<150>} spids: [53640] ) ] ) ] spids: [53622 53636] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 53679 stdin_parts: [ <'SUBSONIC_USER=root\n'> <'SUBSONIC_ARGS='> <Id.Right_DoubleQuote '"'> <'--quiet --pidfile=/run/subsonic.pid --max-memory='> ($ Id.VSub_DollarName '$subsonic_memory_max') <' --default-music-folder='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') <' --default-podcast-folder='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') <' --default-playlist-folder='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_MUSIC') <Id.Right_DoubleQuote '"'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/default/subsonic>} ) ] ) (C {<Download_Test_Media>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<ln>} {<-fs>} {</usr/local/bin/ffmpeg>} {</var/subsonic/transcode>}) ] spids: [53698 53712] ) ] else_action: [(C {<ln>} {<-fs>} {</usr/bin/ffmpeg>} {</var/subsonic/transcode>})] ) ] spids: [53558 53591] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<71>} spids: [53756] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<update-rc.d>} {<webiopi>} {<defaults>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WEBIOPI) op: assign_op.Equal rhs: {<2>} spids: [53799] ) ] ) ] spids: [53760 53779] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<62>} spids: [53811] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/dietpi-autostart>} {<5>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 53884 stdin_parts: [ <'[Unit]\n'> <'Description=dietpi-cloudshell on main screen\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'StandardOutput=tty\n'> <'TTYPath=/dev/tty1\n'> <'\n'> < 'ExecStartPre=/usr/bin/setterm --term linux --blank 0 --powersave off --cursor off\n' > <'\n'> <"ExecStart=/bin/bash -c '/DietPi/dietpi/dietpi-cloudshell 1'\n"> <'\n'> <'ExecStop=/usr/bin/setterm --reset\n'> < "ExecStop=/bin/bash -c 'G_DIETPI-NOTIFY 0 DietPi-Cloudshell terminated, have a nice day!'\n" > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/dietpi-cloudshell.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) ] spids: [53815 53834] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<98>} spids: [53900] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/lib/haproxy>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 54023 stdin_parts: [ <'global\n'> <'\n'> <'\t#rsyslog is required for logging\n'> <'\t#log /var/log local0\n'> <'\t#log /var/log local1 notice\n'> <'\tmaxconn 64\n'> <'\t#Jail directory\n'> <'\tchroot /var/lib/haproxy\n'> <'\tstats socket /run/haproxy.sock mode 660 level admin\n'> <'\tstats timeout 30s\n'> <'\tuser root\n'> <'\tgroup root\n'> <'\tdaemon\n'> <'\n'> <'\t# Default SSL material locations\n'> <'\tca-base /etc/ssl/certs\n'> <'\tcrt-base /etc/ssl/private\n'> <'\n'> <'\t# Default ciphers to use on SSL-enabled listening sockets.\n'> <'\t# For more information, see ciphers(1SSL).\n'> < '\tssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL\n' > <'\n'> <'defaults\n'> <'\n'> <'\tlog global\n'> <'\tmode http\n'> <'\toption httplog\n'> <'\toption dontlognull\n'> <'\ttimeout connect 5000\n'> <'\ttimeout client 50000\n'> <'\ttimeout server 50000\n'> <'\terrorfile 400 /etc/haproxy/errors/400.http\n'> <'\terrorfile 403 /etc/haproxy/errors/403.http\n'> <'\terrorfile 408 /etc/haproxy/errors/408.http\n'> <'\terrorfile 500 /etc/haproxy/errors/500.http\n'> <'\terrorfile 502 /etc/haproxy/errors/502.http\n'> <'\terrorfile 503 /etc/haproxy/errors/503.http\n'> <'\terrorfile 504 /etc/haproxy/errors/504.http\n'> <'\n'> <'frontend localnodes\n'> <'\n'> <'\tbind *:80\n'> <'\tmode http\n'> <'\tdefault_backend nodes\n'> <'\n'> <'backend nodes\n'> <'\n'> <'\tmode http\n'> <'\tbalance roundrobin\n'> <'\toption forwardfor\n'> <'\thttp-request set-header X-Forwarded-Port %[dst_port]\n'> <'\thttp-request add-header X-Forwarded-Proto https if { ssl_fc }\n'> <'\toption httpchk HEAD / HTTP/1.1'> <Id.Lit_Other '\\'> <r> <Id.Lit_Other '\\'> <'nHost:localhost\n'> <'\tserver web01 127.0.0.1:9000 check\n'> <'\tserver web02 127.0.0.1:9001 check\n'> <'\tserver web03 127.0.0.1:9002 check\n'> <'\n'> <'#Admin web page\n'> <'\n'> <'\tlisten stats\n'> <'\tbind *:1338\n'> <'\tstats enable\n'> <'\tstats uri /\n'> <'\tstats hide-version\n'> <'\tstats auth admin:dietpi\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/haproxy.cfg>} ) ] ) (C {<mkdir>} {<-p>} {</etc/haproxy/errors>}) (C {<local>} {<Id.Lit_VarLike 'errorcode='> <0>}) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<400>} spids: [54044] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<403>} spids: [54067] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<408>} spids: [54090] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<500>} spids: [54113] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<502>} spids: [54136] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<503>} spids: [54159] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:errorcode) op: assign_op.Equal rhs: {<504>} spids: [54182] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [ {<echo>} {<-e>} {(DQ <'[html]'> ($ Id.VSub_DollarName '$errorcode') <'[/html]'>)} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/haproxy/errors/> (DQ ($ Id.VSub_DollarName '$errorcode')) <.http>} ) ] ) ] spids: [53904 53923] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<35>} spids: [54214] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<update-rc.d>} {<logitechmediaserver>} {<remove>}) (C {<rm>} {</etc/init.d/logitechmediaserver>}) (C {<cp>} {</DietPi/dietpi/conf/squeezeboxserver.service>} {</var/lib/dietpi/dietpi-software/services/squeezeboxserver.service>} ) (C {<Download_Test_Media>}) ] spids: [54218 54237] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<55>} spids: [54290] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<wordpress>} {<wordpress>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [54294 54313] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 27>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 28>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 120>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_USER_INPUTS')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'entering_pw='> <1>}) (C {<local>} {<Id.Lit_VarLike 'loop_count='> <0>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 120>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:entering_pw) op: assign_op.Equal rhs: {<0>} spids: [54463] ) ] ) ] spids: [54440 54459] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'A password is required for your VNC Server.\\n\\nThe next screen will allow you to set your password, this password will be used when connecting from a VNC client/viewer.\\n\\nPress Ok/Enter when ready.' > ) } spids: [54472] ) ] ) (C {<whiptail>} {<--title>} {(DQ <'VNC Server Password'>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<13>} {<70>} ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$entering_pw')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (C {<vncpasswd>}) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:loop_count) ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.vnc/passwd>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:entering_pw) op: assign_op.Equal rhs: {<0>} spids: [54559] ) ] ) ] spids: [54541 54555] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$loop_count')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 30>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:entering_pw) op: assign_op.Equal rhs: {<0>} spids: [54586] ) ] ) ] spids: [54568 54582] ) ] ) ] ) ) ] spids: [54409 54419] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 54628 stdin_parts: [ <'[Unit]\n'> <'Description=Manage VNC Server\n'> <'After=dietpi-service.service\n'> <'After=rc.local.service\n'> <'\n'> <'[Service]\n'> <'Type=idle\n'> <'RemainAfterExit=yes\n'> <'ExecStart=/bin/bash /usr/local/bin/vncserver start\n'> <'ExecStop=/bin/bash /usr/local/bin/vncserver stop\n'> <'User=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/vncserver.service>} ) ] ) (C {<systemctl>} {<enable>} {<vncserver.service>}) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 54777 stdin_parts: [ <'#!/bin/bash\n'> <'\n'> <'#Globals\n'> <'VNC_INSTALLED=0\n'> <'BINARY_FP=0\n'> <'SHARED_MODE=0\n'> <'\n'> <'WIDTH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(cat /DietPi/dietpi.txt | grep -m1 '^SOFTWARE_VNCSERVER_WIDTH=' | sed 's/.*=//')\n" > <'HEIGHT='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(cat /DietPi/dietpi.txt | grep -m1 '^SOFTWARE_VNCSERVER_HEIGHT=' | sed 's/.*=//')\n" > <'DEPTH='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(cat /DietPi/dietpi.txt | grep -m1 '^SOFTWARE_VNCSERVER_DEPTH=' | sed 's/.*=//')\n" > <'DISPLAY='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(cat /DietPi/dietpi.txt | grep -m1 '^SOFTWARE_VNCSERVER_DISPLAY_INDEX=' | sed 's/.*=//')\n" > <'SHARED_MODE='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(cat /DietPi/dietpi.txt | grep -m1 '^SOFTWARE_VNCSERVER_SHARE_DESKTOP=' | sed 's/.*=//')\n" > <'\n'> <'#RealVNC | Slightly different launch method to VNC4server\n'> <'REALVNC=0\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) < "(dpkg --get-selections | grep -ci -m1 '^realvnc-vnc-server') )); then\n" > <'\n'> <'\tREALVNC=1\n'> <'\n'> < '\t#Set shared desktop mode if autostart is enabled for desktops. This prevents another VNC server being launched on :1.\n' > <'\tif (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(cat /DietPi/dietpi/.dietpi-autostart_index) == 2 )); then\n'> <'\n'> <'\t\tSHARED_MODE=1\n'> <'\n'> <'\tfi\n'> <'\n'> <'fi\n'> <'\n'> <'#Find binary FP to use\n'> <'if [ -f /usr/bin/tigervncserver ]; then\n'> <" BINARY_FP='/usr/bin/tigervncserver'\n"> <' VNC_INSTALLED=1\n'> <'elif [ -f /usr/bin/vnc4server ]; then\n'> <" BINARY_FP='/usr/bin/vnc4server'\n"> <' VNC_INSTALLED=1\n'> <'elif [ -f /usr/bin/vncserver ]; then\n'> <" BINARY_FP='/usr/bin/vncserver'\n"> <' VNC_INSTALLED=1\n'> <'fi\n'> <'\n'> <'#Exit if no VNC binary found\n'> <'if (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'VNC_INSTALLED )); then\n'> <' exit 1\n'> <'fi\n'> <'\n'> <'case '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <1> <Id.Right_DoubleQuote '"'> <' in\n'> <' start)\n'> <' if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'SHARED_MODE )); then\n'> <'\n'> <'\t\t\t# - excluding RealVNC as it has its own services\n'> <'\t\t\tif (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'REALVNC )); then\n'> <'\n'> <'\t\t\t\t#wait for X to start\n'> <'\t\t\t\twhile (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"(ps aux | grep -ci -m1 '[/]usr/bin/X') ))\n"> <'\t\t\t\tdo\n'> <'\n'> <'\t\t\t\t\tsleep 3\n'> <'\n'> <'\t\t\t\tdone\n'> <'\n'> <'\t\t\t\txset dpms force on #disable screen blanking\n'> <'\t\t\t\tx11vnc -display :0 -usepw -forever &\n'> <'\n'> <'\t\t\tfi\n'> <'\n'> <' else\n'> <'\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'BINARY_FP :'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'DISPLAY -geometry '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"WIDTH'x'"> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'HEIGHT -depth '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'DEPTH\n'> <'\n'> <' fi\n'> <' ;;\n'> <'\n'> <' stop)\n'> <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'BINARY_FP -kill :'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'DISPLAY &> /dev/null\n'> <' killall -w x11vnc &> /dev/null\n'> <'\t\tkillall -w Xtigervnc &> /dev/null\n'> <' ;;\n'> <'\n'> <'esac\n'> <'\n'> <'exit 0\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</usr/local/bin/vncserver>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/vncserver>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 120>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<enable>} {<vncserver-x11-serviced.service>}) (C {<systemctl>} {<enable>} {<vncserver-virtuald.service>}) ] spids: [54792 54811] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<-e>} {(SQ <'$localhost = "no";'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/vnc.conf>} ) ] ) ] spids: [54838 54852] ) ] ) ] spids: [54349 54396] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<28>} spids: [54882] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 120>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'cmd_launch_desktop='> (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 23>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd_launch_desktop) op: assign_op.Equal rhs: {(SQ <'/usr/bin/lxsession -s LXDE &'>)} spids: [54961] ) ] ) ] spids: [54938 54957] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 24>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd_launch_desktop) op: assign_op.Equal rhs: {(SQ <'x-window-manager &'>)} spids: [54995] ) ] ) ] spids: [54972 54991] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 26>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd_launch_desktop) op: assign_op.Equal rhs: {(SQ <'x-window-manager &'>)} spids: [55029] ) ] ) ] spids: [55006 55025] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 25>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd_launch_desktop) op: assign_op.Equal rhs: {(SQ <'/usr/bin/xfce4-session &'>)} spids: [55063] ) ] ) ] spids: [55040 55059] ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.vnc>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55104 stdin_parts: [ <'[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup\n'> <'[ -r /root/.Xresources ] && xrdb /root/.Xresources\n'> <'xsetroot -solid grey\n'> <'vncconfig -iconic &\n'> ($ Id.VSub_DollarName '$cmd_launch_desktop') <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$HOME')) </.vnc/xstartup>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.vnc/xstartup>} ) ] spids: [54886 54919] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<73>} spids: [55128] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/log/auth.log>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55190 stdin_parts: [ <'[Definition]\n'> <'# loglevel #1=error #2=warn #3=info\n'> <'loglevel = 3\n'> <'logtarget = /var/log/fail2ban.log\n'> <'socket = /var/run/fail2ban/fail2ban.sock\n'> <'pidfile = /var/run/fail2ban/fail2ban.pid\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/fail2ban/fail2ban.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55240 stdin_parts: [ <'[DEFAULT]\n'> <'\n'> <'enabled = true\n'> <'ignoreip = 127.0.0.1/8\n'> <'ignorecommand =\n'> <'backend = auto\n'> <'bantime = 600\n'> <'findtime = 600\n'> <'maxretry = 3\n'> <'banaction = route\n'> <'action_ = %(banaction)s[name=%(__name__)s, bantime='> <Id.Right_DoubleQuote '"'> <'%(bantime)s'> <Id.Right_DoubleQuote '"'> <', port='> <Id.Right_DoubleQuote '"'> <'%(port)s'> <Id.Right_DoubleQuote '"'> <']\n'> <'action = %(action_)s\n'> <'\n'> <'[sshd]\n'> <'\n'> <'enabled = true\n'> <'port = ssh\n'> <'filter = sshd\n'> <'logpath = /var/log/auth.log\n'> <'maxretry = 6\n'> <'\n'> <'[dropbear]\n'> <'\n'> <'enabled = true\n'> <'port = ssh\n'> <'filter = dropbear\n'> <'logpath = /var/log/auth.log\n'> <'maxretry = 6\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/fail2ban/jail.conf>} ) ] ) ] spids: [55132 55151] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<64>} spids: [55251] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/phpsysinfo.ini>} {</var/www/phpsysinfo/phpsysinfo.ini>} ) ] spids: [55255 55274] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<56>} spids: [55302] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/www/gallery/DietPi>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/images/dietpi-logo_256.png>} {<-O>} {</var/www/gallery/DietPi/logo_256.png>} ) (C {<mkdir>} {<-p>} {</var/www/gallery/Tr-Zero>}) (C {<wget>} {<http> <Id.Lit_Other ':'> <//media.indiedb.com/images/games/1/25/24673/SS_0.jpg> } {<-O>} {</var/www/gallery/Tr-Zero/SS_0.jpg>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//media.indiedb.com/images/games/1/25/24673/SS_44.jpg> } {<-O>} {</var/www/gallery/Tr-Zero/SS_1.jpg>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//media.indiedb.com/images/games/1/25/24673/3.png>} {<-O>} {</var/www/gallery/Tr-Zero/SS_2.jpg>} ) (C {<mkdir>} {<-p>} {</var/www/gallery/_sfpg_data>}) (C {<sed>} {<-i>} { (DQ <"/define('SECURITY_PHRASE'/c"> <Id.Lit_Other '\\'> <"define('SECURITY_PHRASE', 'true');"> ) } {</var/www/gallery/index.php>} ) ] spids: [55306 55325] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<40>} spids: [55435] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (C {<G_RUN_CMD>} {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/mysql_databases/ampache_mysql_3.8.2-v6.0.zip> } {<-O>} {<sql.zip>} ) (C {<unzip>} {<-o>} {<sql.zip>}) (C {<rm>} {<sql.zip>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<ampache>} {<ampache>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (command.Simple words: [{<mysql>} {<ampache>}] redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<ampache.sql>})] ) (C {<rm>} {<ampache.sql>}) (C {<G_RUN_CMD>} {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/ampache.cfg.php_3.8.2-v6.0> } {<-O>} {</var/www/ampache/config/ampache.cfg.php>} ) ] spids: [55439 55458] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<97>} spids: [55552] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'key_size='> <1024>}) (C {<cp>} {<-R>} {</usr/share/easy-rsa/>} {</etc/openvpn>}) (C {<mkdir>} {<-p>} {</etc/openvpn/easy-rsa/keys>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55659 stdin_parts: [ <'export KEY_SIZE='> ($ Id.VSub_DollarName '$key_size') <'\n'> <'export KEY_COUNTRY='> <Id.Right_DoubleQuote '"'> <UK> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_PROVINCE='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_CITY='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_ORG='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_EMAIL='> <Id.Right_DoubleQuote '"'> <'noreply@DietPi.com'> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_OU='> <Id.Right_DoubleQuote '"'> <DietPi> <Id.Right_DoubleQuote '"'> <'\n'> <'export KEY_NAME='> <Id.Right_DoubleQuote '"'> <DietPi_OpenVPN_Server> <Id.Right_DoubleQuote '"'> <'\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/vars>} ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Generating unique OpenVPN certificates and keys. Please wait...'> <Id.Lit_Other '\\'> <n> ) } ) (C {<openssl>} {<dhparam>} {<-out>} {</etc/openvpn/dh> (DQ ($ Id.VSub_DollarName '$key_size')) <.pem>} {(DQ ($ Id.VSub_DollarName '$key_size'))} ) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {</etc/openvpn/easy-rsa>}) (C {<cd>} {</etc/openvpn/easy-rsa>}) (C {<.>} {<./vars>}) (C {<./clean-all>}) (C {<./build-ca>} {<--batch>} {<DietPi_OpenVPN_Server>}) (C {<./build-key-server>} {<--batch>} {<DietPi_OpenVPN_Server>}) (C {<cp>} (word.BracedTree parts: [ </etc/openvpn/easy-rsa/keys/> (word_part.BracedTuple words: [ {<DietPi_OpenVPN_Server.crt>} {<DietPi_OpenVPN_Server.key>} {<ca.crt>} ] ) ] ) {</etc/openvpn/>} ) (C {<./build-key>} {<--batch>} {<DietPi_OpenVPN_Client>}) (C {<cd>} {<..>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55830 stdin_parts: [ <'port 1194\n'> <'proto udp\n'> <'dev tun\n'> <'\n'> <'ca ca.crt\n'> <'cert DietPi_OpenVPN_Server.crt\n'> <'key DietPi_OpenVPN_Server.key\n'> <'dh dh'> ($ Id.VSub_DollarName '$key_size') <'.pem\n'> <'\n'> <'server 10.8.0.0 255.255.255.0\n'> <'\n'> <'client-to-client\n'> <'keepalive 10 60\n'> <'comp-lzo\n'> <'max-clients 10\n'> <'\n'> <'user nobody\n'> <'group nogroup\n'> <'\n'> <'persist-key\n'> <'persist-tun\n'> <'verb 3\n'> <'\n'> <'#Web Forwarding (uncomment to enable)\n'> <'#push '> <Id.Right_DoubleQuote '"'> <redirect-gateway> <Id.Right_DoubleQuote '"'> <'\n'> <'#push '> <Id.Right_DoubleQuote '"'> <'dhcp-option DNS 10.8.0.1'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/openvpn/server.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 55868 stdin_parts: [ <'client\n'> <'proto udp\n'> <'dev tun\n'> <'\n'> <'#Ip/Domain name of DietPi system, running OpenVPN server.\n'> <'remote mywebsite.com 1194\n'> <'\n'> <'resolv-retry infinite\n'> <'nobind\n'> <'\n'> <'user nobody\n'> <'group nogroup\n'> <'\n'> <'persist-key\n'> <'persist-tun\n'> <'\n'> <'ns-cert-type server\n'> <'comp-lzo\n'> <'verb 3\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'<ca>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<cat>} {</etc/openvpn/ca.crt>}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'</ca>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'<cert>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<cat>} {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.crt>}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'</cert>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'<key>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<cat>} {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.key>}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (command.Simple words: [{<echo>} {(SQ <'</key>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} ) ] ) (C {<cp>} {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </>} ) (C {<cp>} {</etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn>} {</boot/>}) (C {<sed>} {<-i>} {(SQ <'/net.ipv4.ip_forward=/c\\net.ipv4.ip_forward=1'>)} {</etc/sysctl.conf>} ) ] spids: [55556 55575] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<60>} spids: [56040] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'eth_index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<sed>} {<-n>} {<1p>} {</DietPi/dietpi/.network>})] ) ) } ) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<sed>} {<-n>} {<2p>} {</DietPi/dietpi/.network>})] ) ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56132 stdin_parts: [ <'ddns-update-style none;\n'> <'default-lease-time 600;\n'> <'max-lease-time 7200;\n'> <'authoritative;\n'> <'log-facility local7;\n'> <'\n'> <'subnet 192.168.42.0 netmask 255.255.255.0 {\n'> <' range 192.168.42.10 192.168.42.50;\n'> <' option broadcast-address 192.168.42.255;\n'> <' option routers 192.168.42.1;\n'> <' option domain-name '> <Id.Right_DoubleQuote '"'> <local> <Id.Right_DoubleQuote '"'> <';\n'> <' option domain-name-servers 8.8.8.8, 8.8.4.4;\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/dhcp/dhcpd.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56156 stdin_parts: [ <'INTERFACES='> <Id.Right_DoubleQuote '"'> <wlan> ($ Id.VSub_DollarName '$wifi_index') <Id.Right_DoubleQuote '"'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/default/isc-dhcp-server>} ) ] ) (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {</etc/network/interfaces>}) (C {<sed>} {<-i>} { (DQ <'/allow-hotplug wlan/c'> <Id.Lit_Other '\\'> <'allow-hotplug wlan'> ($ Id.VSub_DollarName '$wifi_index') ) } {</etc/network/interfaces>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56220 stdin_parts: [ <'iface wlan'> ($ Id.VSub_DollarName '$wifi_index') <' inet static\n'> <'address 192.168.42.1\n'> <'netmask 255.255.255.0\n'> <'#gateway 192.168.0.1\n'> <'wireless-power off\n'> <'#dns-nameservers 8.8.8.8 8.8.4.4\n'> <'\n'> <'# IP tables\n'> <'up iptables-restore < /etc/iptables.ipv4.nat\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/network/interfaces>} ) ] ) (C {<ifconfig>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<192.168.42.1>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56338 stdin_parts: [ <'interface=wlan'> ($ Id.VSub_DollarName '$wifi_index') <'\n'> <'driver=nl80211\n'> <'ssid='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_SSID='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) <'\n'> <'hw_mode=g\n'> <'channel='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_CHANNEL='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) <'\n'> <'macaddr_acl=0\n'> <'auth_algs=1\n'> <'ignore_broadcast_ssid=0\n'> <'wpa=2\n'> <'wpa_passphrase='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_KEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) <'\n'> <'wpa_key_mgmt=WPA-PSK\n'> <'wpa_pairwise=TKIP\n'> <'rsn_pairwise=CCMP\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/hostapd/hostapd.conf>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$WIFIHOTSPOT_RTL8188C_DEVICE')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(DQ <'/^driver=/c'> <Id.Lit_Other '\\'> <'driver=rtl871xdrv'>)} {</etc/hostapd/hostapd.conf>} ) ] spids: [56345 56355] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56397 stdin_parts: [ <'DAEMON_CONF='> <Id.Right_DoubleQuote '"'> </etc/hostapd/hostapd.conf> <Id.Right_DoubleQuote '"'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/default/hostapd>} ) ] ) (C {<sed>} {<-i>} {(DQ <'/net.ipv4.ip_forward=/c'> <Id.Lit_Other '\\'> <'net.ipv4.ip_forward=1'>)} {</etc/sysctl.conf>} ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</proc/sys/net/ipv4/ip_forward>} ) ] ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<POSTROUTING>} {<-o>} {<eth> ($ Id.VSub_DollarName '$eth_index')} {<-j>} {<MASQUERADE>} ) (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<eth> ($ Id.VSub_DollarName '$eth_index')} {<-o>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<-m>} {<state>} {<--state>} {<RELATED> <Id.Lit_Comma ','> <ESTABLISHED>} {<-j>} {<ACCEPT>} ) (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<-o>} {<eth> ($ Id.VSub_DollarName '$eth_index')} {<-j>} {<ACCEPT>} ) (command.Simple words: [{<iptables-save>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/iptables.ipv4.nat>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$WIFIHOTSPOT_RTL8188C_DEVICE' ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'ieee80211n=1'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/hostapd/hostapd.conf>} ) ] ) ] spids: [56520 56540] ) ] ) ] spids: [56044 56063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<61>} spids: [56574] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56628 stdin_parts: [ <'Log notice file /var/log/tor/notices.log\n'> <'VirtualAddrNetwork 10.192.0.0/10\n'> <'AutomapHostsSuffixes .onion,.exit\n'> <'AutomapHostsOnResolve 1\n'> <'TransPort 9040\n'> <'TransListenAddress 192.168.42.1\n'> <'DNSPort 53\n'> <'DNSListenAddress 192.168.42.1\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/tor/torrc>} ) ] ) (C {<iptables>} {<-F>}) (C {<iptables>} {<-t>} {<nat>} {<-F>}) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<sed>} {<-n>} {<2p>} {</DietPi/dietpi/.network>})] ) ) } ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<-p>} {<tcp>} {<--dport>} {<22>} {<-j>} {<REDIRECT>} {<--to-ports>} {<22>} ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<-p>} {<udp>} {<--dport>} {<53>} {<-j>} {<REDIRECT>} {<--to-ports>} {<53>} ) (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} {<wlan> ($ Id.VSub_DollarName '$wifi_index')} {<-p>} {<tcp>} {<--syn>} {<-j>} {<REDIRECT>} {<--to-ports>} {<9040>} ) (command.Simple words: [{<iptables-save>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/iptables.ipv4.nat>} ) ] ) (C {<mkdir>} {<-p>} {</var/log/tor>}) (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/log/tor/notices.log>} ) ] ) (C {<chown>} {<-R>} {<debian-tor> <Id.Lit_Other ':'> <nogroup>} {</var/log/tor/notices.log>} ) ] spids: [56578 56597] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<37>} spids: [56824] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 56954 stdin_parts: [ <'general =\n'> <'{\n'> <' name = '> <Id.Right_DoubleQuote '"'> <'%H'> <Id.Right_DoubleQuote '"'> <';\n'> <' interpolation = '> <Id.Right_DoubleQuote '"'> <soxr> <Id.Right_DoubleQuote '"'> <';\n'> <'};\n'> <'\n'> <'metadata =\n'> <'{\n'> <'\tenabled = '> <Id.Right_DoubleQuote '"'> <yes> <Id.Right_DoubleQuote '"'> <';\n'> <'\tinclude_cover_art = '> <Id.Right_DoubleQuote '"'> <no> <Id.Right_DoubleQuote '"'> <';\n'> <'\tpipe_name = '> <Id.Right_DoubleQuote '"'> </tmp/shairport-sync-metadata> <Id.Right_DoubleQuote '"'> <';\n'> <'\tpipe_timeout = 5000;\n'> <'\tsocket_address = '> <Id.Right_DoubleQuote '"'> <226.0.0.1> <Id.Right_DoubleQuote '"'> <';\n'> <'\tsocket_port = 5555;\n'> <'\tsocket_msglength = 65000;\n'> <'};\n'> <'\n'> <'\n'> <'alsa =\n'> <'{\n'> <'// mixer_control_name = '> <Id.Right_DoubleQuote '"'> <PCM> <Id.Right_DoubleQuote '"'> <';\n'> <'// output_rate = 44100; // can be 44100, 88200, 176400 or 352800\n'> <'// output_format = '> <Id.Right_DoubleQuote '"'> <S16> <Id.Right_DoubleQuote '"'> <'; // can be '> <Id.Right_DoubleQuote '"'> <U8> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S8> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S16> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24_3LE> <Id.Right_DoubleQuote '"'> <', '> <Id.Right_DoubleQuote '"'> <S24_3BE> <Id.Right_DoubleQuote '"'> <' or '> <Id.Right_DoubleQuote '"'> <S32> <Id.Right_DoubleQuote '"'> <'\n'> <'};\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</usr/local/etc/shairport-sync.conf>} ) ] ) (command.Simple words: [{<groupadd>} {<-r>} {<shairport-sync>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [ {<useradd>} {<-r>} {<-M>} {<-g>} {<shairport-sync>} {<-s>} {</usr/bin/nologin>} {<-G>} {<audio>} {<shairport-sync>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/shairport-sync>}) ] spids: [56828 56847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<38>} spids: [57015] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/brutefir_config>} {</etc/BruteFIR/>}) (C {<cp>} {</DietPi/dietpi/conf/brutefir.service>} {</var/lib/dietpi/dietpi-software/services/brutefir.service>} ) (command.Simple words: [{<echo>} {<-e>} {(DQ <snd-aloop>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/modules-load.d/brutefir-alsa-loopback.conf>} ) ] ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'options snd-aloop id=BruteFIR enable=1 pcm_substreams=1 pcm_notify=1'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/modprobe.d/brutefir-alsa-loopback.conf>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 57145 stdin_parts: [ <'pcm.!default {\n'> <'\n'> <'\ttype plug\n'> <'\n'> <'\tslave {\n'> <'\t\tpcm {\n'> <'\n'> <'\t\t\ttype hw\n'> <'\t\t\tcard '> <Id.Right_DoubleQuote '"'> <BruteFIR> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\t\tdevice 0\n'> <'\t\t\tchannels 2\n'> <'\t\t\tformat '> <Id.Right_DoubleQuote '"'> <S16_LE> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\t\trate 44100\n'> <'\t\t}\n'> <'\t}\n'> <'}\n'> <'\n'> <'ctl.!default {\n'> <'\n'> <'\ttype hw\n'> <'\tcard '> <Id.Right_DoubleQuote '"'> <BruteFIR> <Id.Right_DoubleQuote '"'> <'\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/asound.conf>} ) ] ) ] spids: [57019 57038] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<48>} spids: [57157] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} {(SQ <'/output_buffering = /c\\output_buffering = Off/'>)} {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </apache2/php.ini>} ) (C {<sed>} {<-i>} {(DQ <'/AllowOverride /c'> <Id.Lit_Other '\\'> <' AllowOverride All'>)} {</etc/apache2/sites-enabled/000-default> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} {(DQ <'/AllowOverride /c'> <Id.Lit_Other '\\'> <' AllowOverride All'>)} {</etc/apache2/apache2.conf>} ) (C {<a2enmod>} {<rewrite>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<pydio>} {<pydio>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (C {<local>} {<Id.Lit_VarLike 'target_data_dir='> (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </pydio_data>) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$target_data_dir'))}) (C {<mv>} {</var/www/pydio/data/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$target_data_dir')) </>} ) (C {<rm>} {<-R>} {</var/www/pydio/data>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$target_data_dir'))} {</var/www/pydio/data>} ) ] spids: [57161 57180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<36>} spids: [57343] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ < '#This file is no longer used as service has been upgraded to SystemD.' > <Id.Lit_Other '\\'> <'n#Please see /etc/systemd/system/squeezelite.service to set start options'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/default/squeezelite>} ) ] ) (C {<rm>} {</etc/init.d/squeezelite>}) (C {<cp>} {</DietPi/dietpi/conf/squeezelite.service>} {</etc/systemd/system/squeezelite.service>} ) (C {<Download_Test_Media>}) ] spids: [57347 57366] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<99>} spids: [57418] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</etc/emonhub/conf/default/emonhub>} {</etc/default/emonhub>}) (C {<cp>} {</etc/emonhub/service/emonhub>} {</etc/init.d/emonhub>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/init.d/emonhub>}) (C {<update-rc.d>} {<emonhub>} {<defaults>}) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {</etc/emonhub>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/config.txt>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'=pi3-disable-bt'>)} ) ] negated: F ) ] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} {(DQ <Id.Lit_Other '\\'> <'ndtoverlay=pi3-disable-bt'>)} ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</DietPi/config.txt>} ) ] ) ] spids: [57525 57555] ) ] else_action: [ (C {<sed>} {<-i>} {(SQ <'/pi3-disable-bt/c\\dtoverlay=pi3-disable-bt'>)} {</DietPi/config.txt>} ) ] ) (C {<systemctl>} {<stop>} {<hciuart>}) (C {<systemctl>} {<disable>} {<hciuart>}) ] spids: [57503 57517] ) ] ) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<serialconsole>} {<disable>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_EMONHUB_APIKEY_CURRENT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [57637] ) ] ) (C {<sed>} {<-i>} { (DQ </apikey/c> <Id.Lit_Other '\\'> <' apikey = '> ($ Id.VSub_DollarName '$USER_EMONHUB_APIKEY_CURRENT') ) } {</etc/emonhub/conf/emonhub.conf>} ) ] spids: [57422 57441] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<66>} spids: [57686] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</usr/share/rpimonitor/scripts/updatePackagesStatus.pl>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$USBDRIVE')}) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (SQ < '\\/include=\\/etc\\/rpimonitor\\/template\\/sdcard.conf/a include=\\/etc\\/rpimonitor\\/template\\/usb_hdd.conf' > ) } {</etc/rpimonitor/data.conf>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 57841 stdin_parts: [ < '########################################################################\n' > <'# Extract USB HDD (sda1) information\n'> <'# Page: 1\n'> <'# Information Status Statistics\n'> <'# - USBHDD1 total - yes - yes\n'> <'# - USBHDD1 used - yes - yes\n'> < '########################################################################\n' > <'static.10.name=usbhdd_total\n'> <'static.10.source=df -t ext4\n'> <'static.10.regexp=sda1'> <Id.Lit_Other '\\'> <'s+('> <Id.Lit_Other '\\'> <'d+)\n'> <'static.10.postprocess='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'1/1024\n'> <'\n'> <'dynamic.14.name=usbhdd_used\n'> <'dynamic.14.source=df -t ext4\n'> <'dynamic.14.regexp=sda1'> <Id.Lit_Other '\\'> <'s+'> <Id.Lit_Other '\\'> <'d+'> <Id.Lit_Other '\\'> <'s+('> <Id.Lit_Other '\\'> <'d+)\n'> <'dynamic.14.postprocess='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'1/1024\n'> <'dynamic.14.rrd=GAUGE\n'> <'\n'> <'web.status.1.content.9.name=USB HDD\n'> <'web.status.1.content.9.icon=usb_hdd.png\n'> <'web.status.1.content.9.line.1='> <Id.Right_DoubleQuote '"'> <'<b>/sda1</b> Used: <b>'> <Id.Right_DoubleQuote '"'> <"+KMG(data.usbhdd_used,'M')+"> <Id.Right_DoubleQuote '"'> <'</b> (<b>'> <Id.Right_DoubleQuote '"'> <"+Percent(data.udbhdd_used,data.usbhdd_total,'M')+"> <Id.Right_DoubleQuote '"'> <'</b>) Free: <b>'> <Id.Right_DoubleQuote '"'> <"+KMG(data.usbhdd_total-data.usbhdd_used,'M')+ "> <Id.Right_DoubleQuote '"'> <'</b> Total: <b>'> <Id.Right_DoubleQuote '"'> <"+ KMG(data.usbhdd_total,'M') +"> <Id.Right_DoubleQuote '"'> <'</b>'> <Id.Right_DoubleQuote '"'> <'\n'> < 'web.status.1.content.9.line.2=ProgressBar(data.usbhdd_used,data.usbhdd_total)\n' > <'\n'> <'web.statistics.1.content.9.name=USB HDD\n'> <'web.statistics.1.content.9.graph.1=usbhdd_total\n'> <'web.statistics.1.content.9.graph.2=usbhdd_used\n'> < 'web.statistics.1.content.9.ds_graph_options.usbhdd_total.label=USB HDD total space (MB)\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_total.color=' > <Id.Right_DoubleQuote '"'> <'#FF7777'> <Id.Right_DoubleQuote '"'> <'\n'> < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.label=USB HDD used space (MB)\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.lines={ fill: true }\n' > < 'web.statistics.1.content.9.ds_graph_options.usbhdd_used.color=' > <Id.Right_DoubleQuote '"'> <'#7777FF'> <Id.Right_DoubleQuote '"'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/rpimonitor/template/usb_hdd.conf>} ) ] ) ] spids: [57729 57739] ) ] ) ] spids: [57690 57709] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<65>} spids: [57856] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/netdata.service>} {</etc/systemd/system/netdata.service>} ) (C {<systemctl>} {<daemon-reload>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<getent>} {<group>} {<netdata>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<groupadd>} {<-r>} {<netdata>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<getent>} {<passwd>} {<netdata>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<useradd>} {<-r>} {<-g>} {<netdata>} {<-c>} {<netdata>} {<-s>} {</sbin/nologin>} {<-d>} {</>} {<netdata>} ) ] ) (command.ForEach iter_name: x iter_words: [ {</var/cache/netdata>} {</usr/share/netdata/web>} {</etc/netdata>} {</var/log/netdata>} {</var/lib/netdata>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<chown>} {<-R>} {<netdata.netdata>} {($ Id.VSub_DollarName '$x')}) (C {<chmod>} {<0775>} {<-R>} {($ Id.VSub_DollarName '$x')}) ] ) ) ] spids: [57860 57879] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<57>} spids: [58016] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<php>} {<-r>} {(DQ <"readfile('https://getcomposer.org/installer');">)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {<composer-setup.php>} ) ] ) (C {<php>} {<composer-setup.php>}) (C {<php>} {<-r>} {(DQ <"unlink('composer-setup.php');">)}) (C {<mv>} {<composer.phar>} {</usr/local/bin/composer>}) (C {<cd>} {</var/www/baikal>}) (C {<composer>} {<install>} {<--no-interaction>}) (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<baikal>} {<baikal>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [58020 58039] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<43>} spids: [58138] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'max_users='> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_CPU_CORES')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 8>}) ) ) } ) (C {<sed>} {<-i>} { (DQ <'/users=/c'> <Id.Lit_Other '\\'> <'users='> ($ Id.VSub_DollarName '$max_users') ) } {</etc/mumble-server.ini>} ) (C {<sed>} {<-i>} {(SQ <'/registerName=/c\\registerName=DietPi Mumble Server'>)} {</etc/mumble-server.ini>} ) (C {<sed>} {<-i>} {(SQ <'/logdays=/c\\logdays=-1'>)} {</etc/mumble-server.ini>}) (C {<murmurd>} {<-ini>} {</etc/mumble-server.ini>} {<-supw>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [58142 58161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<41>} spids: [58261] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Configuration>}) (C {<Download_Test_Media>})] spids: [58265 58284] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<42>} spids: [58304] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_USER_INPUTS')} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<locale>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <en_US.UTF-8>)} ) ] negated: F ) ] ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'/en_US.UTF-8 UTF-8/c\\en_US.UTF-8 UTF-8'>)} {</etc/locale.gen>} ) (C {<locale-gen>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Plex Media Server requires en_US.UTF8 locale to be installed and set to default, else, Plex will not start.\\n\\nOn the next screen:\\n - Press enter (Do not make any changes to the selections, we have already selected en_US.UTF8 for you).\\n\\nOn the screen after:\\n - Select en_US.UTF8 and press enter.' > ) } spids: [58405] ) ] ) (C {<whiptail>} {<--title>} {(DQ <'Plex en_US.UTF8'>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<16>} {<70>} ) (C {<dpkg-reconfigure>} {<locales>}) ] spids: [58347 58386] ) ] ) ] spids: [58308 58327] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<52>} spids: [58455] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 58510 stdin_parts: [ <'[Unit]\n'> <'Description=Cuberite Server\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'WorkingDirectory=/etc/cubrite\n'> <'ExecStart=/etc/cubrite/Cuberite --service\n'> <'ExecStop=/usr/bin/killall -w Cuberite\n'> <'RemainAfterExit=yes\n'> <'User=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/cuberite.service>} ) ] ) (C {<systemctl>} {<enable>} {<cuberite.service>}) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 58546 stdin_parts: [ <'[User:root]\n'> <'Password='> ($ Id.VSub_DollarName '$GLOBAL_PW') <'\n'> <'\n'> <'[WebAdmin]\n'> <'Ports=1339\n'> <'Enabled=1\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/cubrite/webadmin.ini>} ) ] ) ] spids: [58459 58478] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<53>} spids: [58557] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (command.Simple words: [{<killall>} {<-w>} {<supervisord>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<killall>} {<-w>} {<node>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<killall>} {<-w>} {<nodejs>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/minecraft/mineos_console.js> } {</usr/local/bin/mineos>} ) (C {<cp>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/minecraft/mineos.conf> } {</etc/mineos.conf>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/minecraft>}) (C {<./generate-sslcert.sh>}) (C {<cp>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/minecraft/init/supervisor_conf> } {</etc/supervisor/conf.d/mineos.conf>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<useradd>} {<mineos>}) (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ <dietpi> <Id.Lit_Other '\\'> <ndietpi> <Id.Lit_Other '\\'> <n>)} ) (C {<passwd>} {<mineos>}) ] negated: F ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/serverdata>} ) (C {<mkdir>} {<-p>} {</var/games>}) (C {<cp>} {<-R>} {</var/games/minecraft/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/serverdata/>} ) (C {<rm>} {<-R>} {</var/games/minecraft>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mineos/serverdata>} {</var/games/minecraft>} ) (C {<chown>} {<-R>} {<mineos> <Id.Lit_Other ':'> <mineos>} {</var/games/minecraft>}) (C {<sed>} {<-i>} {(SQ <'/^command=/c\\command=/usr/local/bin/node webui.js'>)} {</etc/supervisor/conf.d/mineos.conf>} ) (C {<sed>} {<-i>} { (DQ <'/^directory=/c'> <Id.Lit_Other '\\'> <'directory='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </mineos/minecraft> ) } {</etc/supervisor/conf.d/mineos.conf>} ) (C {<supervisorctl>} {<reload>}) ] spids: [58561 58580] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<49>} spids: [58846] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </gogs-repo>} ) (C {</DietPi/dietpi/func/create_mysql_db>} {<gogs>} {<gogs>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 58927 stdin_parts: [ <'#!/bin/bash\n'> <'#Simple script to start gogs for DietPi systems\n'> <'/etc/gogs/gogs web &> /var/log/gogs_daemon.log &\n'> <'exit\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/gogs/start.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</etc/gogs/start.sh>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 58964 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi Gogs service\n'> <'DefaultDependencies=no\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'RemainAfterExit=yes\n'> <'User=root\n'> <'ExecStart=/bin/bash /etc/gogs/start.sh\n'> <'ExecStop=/usr/bin/killall -w gogs\n'> <'StandardOutput=tty\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/gogs.service>} ) ] ) ] spids: [58850 58869] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<46>} spids: [58975] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/qBittorrent>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59318 stdin_parts: [ <'[General]\n'> <'ported_to_new_savepath_system=true\n'> <'\n'> <'[Preferences]\n'> <Downloads> <Id.Lit_Other '\\'> <'DiskWriteCacheSize='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) <'\n'> <Downloads> <Id.Lit_Other '\\'> <'DiskWriteCacheTTL=60\n'> <Queueing> <Id.Lit_Other '\\'> <'MaxActiveDownloads='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<1>})] ) ) <'\n'> <Queueing> <Id.Lit_Other '\\'> <'MaxActiveTorrents='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<1>})] ) ) <'\n'> <Queueing> <Id.Lit_Other '\\'> <'MaxActiveUploads=1\n'> <Queueing> <Id.Lit_Other '\\'> <'IgnoreSlowTorrents=false\n'> <Bittorrent> <Id.Lit_Other '\\'> <'MaxConnecs='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) <'\n'> <Bittorrent> <Id.Lit_Other '\\'> <'MaxConnecsPerTorrent='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) <'\n'> <Bittorrent> <Id.Lit_Other '\\'> <'MaxUploads='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<3>})] ) ) <'\n'> <Bittorrent> <Id.Lit_Other '\\'> <'MaxUploadsPerTorrent='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<3>})] ) ) <'\n'> <WebUI> <Id.Lit_Other '\\'> <'Port=1340\n'> <WebUI> <Id.Lit_Other '\\'> <'Enabled=true\n'> <General> <Id.Lit_Other '\\'> <'Locale=en_GB\n'> <Downloads> <Id.Lit_Other '\\'> <'SavePath='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/downloads\n'> <Downloads> <Id.Lit_Other '\\'> <'TempPathEnabled=false\n'> <Downloads> <Id.Lit_Other '\\'> <'TempPath='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/downloads\n'> <Downloads> <Id.Lit_Other '\\'> <'ScanDirs=@Invalid()\n'> <Downloads> <Id.Lit_Other '\\'> <'DownloadInScanDirs=@Invalid()\n'> <Downloads> <Id.Lit_Other '\\'> <'TorrentExportDir=\n'> <MailNotification> <Id.Lit_Other '\\'> <'enabled=false\n'> <MailNotification> <Id.Lit_Other '\\'> <'email=\n'> <MailNotification> <Id.Lit_Other '\\'> <'smtp_server=smtp.changeme.com\n'> <MailNotification> <Id.Lit_Other '\\'> <'req_ssl=false\n'> <MailNotification> <Id.Lit_Other '\\'> <'req_auth=false\n'> <MailNotification> <Id.Lit_Other '\\'> <'username=\n'> <MailNotification> <Id.Lit_Other '\\'> <'password=\n'> <Downloads> <Id.Lit_Other '\\'> <'PreAllocation=false\n'> <Queueing> <Id.Lit_Other '\\'> <'QueueingEnabled=false\n'> <Downloads> <Id.Lit_Other '\\'> <'UseIncompleteExtension=false\n'> <Connection> <Id.Lit_Other '\\'> <'PortRangeMin=6881\n'> <Connection> <Id.Lit_Other '\\'> <'UPnP=true\n'> <Connection> <Id.Lit_Other '\\'> <'GlobalDLLimit=-1\n'> <Connection> <Id.Lit_Other '\\'> <'GlobalUPLimit=-1\n'> <Bittorrent> <Id.Lit_Other '\\'> <'uTP=true\n'> <Bittorrent> <Id.Lit_Other '\\'> <'uTP_rate_limited=false\n'> <Advanced> <Id.Lit_Other '\\'> <'IncludeOverhead=false\n'> <Connection> <Id.Lit_Other '\\'> <'GlobalDLLimitAlt=10\n'> <Connection> <Id.Lit_Other '\\'> <'GlobalUPLimitAlt=10\n'> <Scheduler> <Id.Lit_Other '\\'> <'Enabled=false\n'> <Bittorrent> <Id.Lit_Other '\\'> <'DHT=true\n'> <Bittorrent> <Id.Lit_Other '\\'> <'sameDHTPortAsBT=true\n'> <Bittorrent> <Id.Lit_Other '\\'> <'DHTPort=6881\n'> <Bittorrent> <Id.Lit_Other '\\'> <'PeX=true\n'> <Bittorrent> <Id.Lit_Other '\\'> <'LSD=true\n'> <Bittorrent> <Id.Lit_Other '\\'> <'Encryption=1\n'> <Advanced> <Id.Lit_Other '\\'> <'AnonymousMode=false\n'> <Connection> <Id.Lit_Other '\\'> <'ProxyType=-1\n'> <Connection> <Id.Lit_Other '\\'> <Proxy> <Id.Lit_Other '\\'> <'IP=0.0.0.0\n'> <Connection> <Id.Lit_Other '\\'> <Proxy> <Id.Lit_Other '\\'> <'Port=8080\n'> <Connection> <Id.Lit_Other '\\'> <'ProxyPeerConnections=false\n'> <Connection> <Id.Lit_Other '\\'> <Proxy> <Id.Lit_Other '\\'> <'Authentication=false\n'> <Connection> <Id.Lit_Other '\\'> <Proxy> <Id.Lit_Other '\\'> <'Username=\n'> <Connection> <Id.Lit_Other '\\'> <Proxy> <Id.Lit_Other '\\'> <'Password=\n'> <IPFilter> <Id.Lit_Other '\\'> <'Enabled=false\n'> <IPFilter> <Id.Lit_Other '\\'> <'File=\n'> <WebUI> <Id.Lit_Other '\\'> <'Username=root\n'> <WebUI> <Id.Lit_Other '\\'> <'LocalHostAuth=true\n'> <WebUI> <Id.Lit_Other '\\'> <HTTPS> <Id.Lit_Other '\\'> <'Enabled=false\n'> <DynDNS> <Id.Lit_Other '\\'> <'Enabled=false\n'> <DynDNS> <Id.Lit_Other '\\'> <'Service=0\n'> <DynDNS> <Id.Lit_Other '\\'> <'Username=\n'> <DynDNS> <Id.Lit_Other '\\'> <'Password=\n'> <DynDNS> <Id.Lit_Other '\\'> <'DomainName=changeme.dyndns.org\n'> <WebUI> <Id.Lit_Other '\\'> <'Password_ha1=@ByteArray('> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {<-ne>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))}) (C {<md5sum>}) (C {<awk>} {(SQ <'{print $1}'>)}) ] negated: F ) ] ) ) <')\n'> <'\n'> <'\n'> <'[LegalNotice]\n'> <'Accepted=true\n'> <'\n'> <'[AutoRun]\n'> <'enabled=false\n'> <'program=\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/qBittorrent/qBittorrent.conf> } ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59349 stdin_parts: [ <'[Unit]\n'> <'Description=qBittorrent Daemon Service\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=oneshot\n'> <'User=root\n'> <'RemainAfterExit=yes\n'> <'ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=1340\n'> <'ExecStop=/usr/bin/killall -w qbittorrent-nox\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/qbittorrent.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) ] spids: [58979 58998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<107>} spids: [59366] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_Other '\\'> <' AllowOverride All'>) } {</etc/apache2/sites-enabled/000-default> <Id.Lit_Star '*'>} ) (C {<sed>} {<-i>} { (DQ <'/AllowOverride /c'> <Id.Lit_Other '\\'> <' AllowOverride All'>) } {</etc/apache2/apache2.conf>} ) (C {<a2enmod>} {<rewrite>}) (C {<G_AGI>} {<libapache2-mod-scgi>}) (C {<htpasswd>} {<-cb>} {</etc/.rutorrent-htaccess>} {<root>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59508 stdin_parts: [ <'AuthUserFile /etc/.rutorrent-htaccess\n'> <'AuthName '> <Id.Right_DoubleQuote '"'> <ruTorrent_login> <Id.Right_DoubleQuote '"'> <'\n'> <'AuthType Basic\n'> <'require user root\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/www/rutorrent/.htaccess>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59534 stdin_parts: [ <'SCGIMount /RPC2 127.0.0.1:5000\n'> <'<location /RPC2>\n'> <'AuthName '> <Id.Right_DoubleQuote '"'> <'rTorrent secure access'> <Id.Right_DoubleQuote '"'> <'\n'> <'AuthType Basic\n'> <'AuthBasicProvider file\n'> <'AuthUserFile /etc/.rutorrent-htaccess\n'> <'Require user root\n'> <'</location>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/apache2/sites-available/rutorrent.conf>} ) ] ) (C {<ln>} {<-s>} {</etc/apache2/sites-available/rutorrent.conf>} {</etc/apache2/sites-enabled/rutorrent.conf>} ) ] spids: [59405 59424] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'root:rtorrent:'> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {<-n>} {(DQ <'root:rtorrent:dietpi'>)}) (C {<md5sum>}) (C {<cut>} {<-b>} {<-32>}) ] negated: F ) ] ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/.rutorrent-htaccess>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</etc/lighttpd/lighttpd.conf>} ) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^#RUTORRENT_DIETPI'>)} ) ] negated: F ) ] ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59755 stdin_parts: [ <'#RUTORRENT_DIETPI\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_fastcgi> <Id.Right_DoubleQuote '"'> <' )\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_scgi> <Id.Right_DoubleQuote '"'> <' )\n'> <'server.modules += ( '> <Id.Right_DoubleQuote '"'> <mod_auth> <Id.Right_DoubleQuote '"'> <' )\n'> <'auth.debug = 0\n'> <'auth.backend = '> <Id.Right_DoubleQuote '"'> <htdigest> <Id.Right_DoubleQuote '"'> <'\n'> <'auth.backend.htdigest.userfile = '> <Id.Right_DoubleQuote '"'> </etc/.rutorrent-htaccess> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'auth.require = ( '> <Id.Right_DoubleQuote '"'> </rutorrent/> <Id.Right_DoubleQuote '"'> <' => (\n'> <' '> <Id.Right_DoubleQuote '"'> <method> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <digest> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <realm> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <rtorrent> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <require> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <valid-user> <Id.Right_DoubleQuote '"'> <'\n'> <' ))\n'> <'\n'> <'scgi.server = ( '> <Id.Right_DoubleQuote '"'> </RPC2> <Id.Right_DoubleQuote '"'> <' =>\n'> <' ( '> <Id.Right_DoubleQuote '"'> <127.0.0.1> <Id.Right_DoubleQuote '"'> <' =>\n'> <' (\n'> <' '> <Id.Right_DoubleQuote '"'> <host> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <127.0.0.1> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <port> <Id.Right_DoubleQuote '"'> <' => 5000,\n'> <' '> <Id.Right_DoubleQuote '"'> <check-local> <Id.Right_DoubleQuote '"'> <' => '> <Id.Right_DoubleQuote '"'> <disable> <Id.Right_DoubleQuote '"'> <'\n'> <' )\n'> <' )\n'> <')\n'> <'#RUTORRENT_DIETPI\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/lighttpd/lighttpd.conf>} ) ] ) ] spids: [59612 59640] ) ] ) ] spids: [59550 59569] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} { (DQ <'root:'> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<openssl>} {<passwd>} {<-crypt>} {<dietpi>})] ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/.rutorrent-htaccess>} ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59834 stdin_parts: [ <'location /rutorrent {\n'> <' auth_basic '> <Id.Right_DoubleQuote '"'> <'Restricted Content'> <Id.Right_DoubleQuote '"'> <';\n'> <' auth_basic_user_file /etc/.rutorrent-htaccess;\n'> <'}\n'> <'\n'> <'location /RPC2 {\n'> <' include scgi_params;\n'> <' scgi_pass 127.0.0.1:5000;\n'> <'}\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/nginx/sites-dietpi/rutorrent.config>} ) ] ) ] spids: [59766 59785] ) ] ) (C {<sed>} {<-i>} {(SQ <'/"curl"[[:space:]]/c\\ "curl" => "/usr/bin/curl",'>)} {</var/www/rutorrent/conf/config.php>} ) (C {<chown>} {<www-data> <Id.Lit_Other ':'> <www-data>} {</etc/.rutorrent-htaccess>}) (C {<chmod>} {<400>} {</etc/.rutorrent-htaccess>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </downloads/.session>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 59918 stdin_parts: [ <'[Unit]\n'> <'Description=rTorrent\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Type=forking\n'> <'KillMode=none\n'> <'ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent\n'> <'ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent\n'> <'WorkingDirectory=%h\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/rtorrent.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 60148 stdin_parts: [ < '#Attempt to reduce disk throttling/abuse | 0.9.2 command does not exist\n' > <'#max_open_files = 50\n'> <'\n'> <'#Max queue\n'> <'scheduler.max_active.set = 3\n'> <'\n'> <'#byte value\n'> <'max_memory_usage = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.Binary op_id: Id.Arith_Star left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1024>}) ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1024>}) ) ) <'\n'> <'\n'> <'# Maximum and minimum number of peers to connect to per torrent.\n'> <'min_peers = 1\n'> <'max_peers = '> (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Slash left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) <'\n'> <'\n'> < '# Same as above but for seeding completed torrents (-1 = same as downloading)\n' > <'min_peers_seed = -1\n'> <'max_peers_seed = -1\n'> <'\n'> <'# Maximum number of simultaneous downloads\n'> <'max_downloads_global = '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<2>})] ) ) <'\n'> <'# Maximum number of simultaneous uploads\n'> <'max_uploads_global = '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<3>})] ) ) <'\n'> <'\n'> <'# Global upload and download rate in KiB. '> <Id.Right_DoubleQuote '"'> <0> <Id.Right_DoubleQuote '"'> <' for unlimited.\n'> <'download_rate = 0\n'> <'upload_rate = 0\n'> <'\n'> <'# Default directory to save the downloaded torrents.\n'> <'directory = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/downloads\n'> <'\n'> < "# Default session directory. Make sure you don't run multiple instance\n" > <'# of rtorrent using the same session directory. Perhaps using a\n'> <'# relative path?\n'> <'session = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/downloads/.session\n'> <'\n'> <'# Close torrents when diskspace is low.\n'> <'schedule = low_diskspace,5,60,close_low_diskspace=1000M\n'> <'\n'> <'# Periodically save session data\n'> <'schedule = session_save,240,300,session_save=\n'> <'\n'> <'# Enable the default ratio group.\n'> <'ratio.enable=yes\n'> <'# Change the limits, the defaults should be sufficient.\n'> <'# Upload to a minimum ratio of 1.01\n'> <'ratio.min.set=101\n'> <'# Upload to a maximum ratio of 1.25\n'> <'ratio.max.set=125\n'> <'# Upload a minimum of x MB\n'> <'ratio.upload.set=1M\n'> <'\n'> <'# When seeding ratio is reached close the torrent\n'> <'system.method.set = group.seeding.ratio.command, d.close=\n'> <'\n'> <'# Move files to ./unsorted when download completes\n'> <'system.method.set_key = event.download.finished,move_complete,'> <Id.Right_DoubleQuote '"'> <'execute=mv,-n,'> ($ Id.VSub_DollarName '$d') <'.get_base_path=,./unsorted/;d.set_directory=./unsorted/'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'# Port range to use for listening.\n'> <'port_range = 33101-33199\n'> <'\n'> <'# Start opening ports at a random position within the port range.\n'> <'port_random = yes\n'> <'\n'> < '# Encryption options, set to none (default) or any combination of the following:\n' > < '# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext\n' > <'#\n'> < '# The example value allows incoming encrypted connections, starts unencrypted\n' > < '# outgoing connections but retries with encryption if they fail, preferring\n' > <'# plaintext to RC4 encryption after the encrypted handshake\n'> <'#\n'> <'encryption = require\n'> <'\n'> <'# Sort the main view by ratio\n'> <'view.sort_current = main,greater=d.get_ratio=\n'> <'view.sort_new = main,less=d.get_ratio=\n'> <'view.sort = main\n'> <'\n'> < '# Sort the seeding view by the upload rate and only show torrents with peers\n' > <'view.sort_current = seeding,greater=d.get_up_rate=\n'> <'view.filter = seeding,'> <Id.Right_DoubleQuote '"'> <'and=d.get_complete=,d.get_peers_connected='> <Id.Right_DoubleQuote '"'> <'\n'> <'view.sort_new = seeding,less=d.get_up_rate=\n'> <'view.sort = seeding\n'> <'\n'> <'# Sort the leeching view by name\n'> <'view.sort_current = leeching,greater=d.get_name=\n'> <'view.sort_new = leeching,greater=d.get_name=\n'> <'view.sort = leeching\n'> <'\n'> <'# Filter the active view by connected peers\n'> <'view.sort_current = active,less=d.get_name=\n'> <'view.sort_new = leeching,less=d.get_name=\n'> <'view.filter = active,d.get_peers_connected=\n'> <'view.sort = active\n'> <'\n'> <'schedule = sort_main,11,5,view.sort=main\n'> <'schedule = sort_seeding,12,5,view.sort=seeding\n'> <'schedule = sort_leeching,13,5,view.sort=leeching\n'> <'schedule = sort_active,14,5,view.sort=active\n'> <'\n'> < '# Enable DHT support for trackerless torrents or when all trackers are down.\n' > <'# May be set to '> <Id.Right_DoubleQuote '"'> <disable> <Id.Right_DoubleQuote '"'> <' (completely disable DHT), '> <Id.Right_DoubleQuote '"'> <off> <Id.Right_DoubleQuote '"'> <' (do not start DHT),\n'> <'# '> <Id.Right_DoubleQuote '"'> <auto> <Id.Right_DoubleQuote '"'> <' (start and stop DHT as needed), or '> <Id.Right_DoubleQuote '"'> <on> <Id.Right_DoubleQuote '"'> <' (start DHT immediately).\n'> <'# The default is '> <Id.Right_DoubleQuote '"'> <off> <Id.Right_DoubleQuote '"'> <'. For DHT to work, a session directory must be defined.\n'> <'#\n'> <'dht = auto\n'> <'\n'> <'# UDP port to use for DHT.\n'> <'#\n'> <'#dht_port = 6881\n'> <'\n'> <'# Enable peer exchange (for torrents not marked private)\n'> <'#\n'> <'peer_exchange = yes\n'> <'\n'> <'#Enable remote access (eg: webui)\n'> <'scgi_port = localhost:5000\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$HOME')) </.rtorrent.rc>} ) ] ) ] spids: [59370 59389] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<132>} spids: [60160] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 60223 stdin_parts: [ <'[Unit]\n'> <'Description=DietPi Aria2\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<aria2c>})]) ) <' --enable-rpc --rpc-listen-all --rpc-secret='> ($ Id.VSub_DollarName '$GLOBAL_PW') <' --dir='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </> ($ Id.VSub_DollarName '$FOLDER_DOWNLOADS') <'\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/aria2.service>} ) ] ) ] spids: [60164 60183] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<50>} spids: [60234] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing_data>} ) (C {<mkdir>} {<-p>} {</var/log/syncthing>}) (command.Simple words: [{<echo>} {(SQ )}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/log/syncthing/syncthing.log>} ) ] ) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {</var/log/syncthing>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {</etc/syncthing>}) (C {</etc/syncthing/syncthing>} {<-generate> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing> } ) (C {<sed>} {<-i>} { (SQ < '/<\\/autoUpgradeIntervalH>/c\\ <autoUpgradeIntervalH>0<\\/autoUpgradeIntervalH>' > ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing/config.xml>} ) (C {<sed>} {<-i>} {(SQ <'/:8384<\\/address>/c\\ <address>0.0.0.0:8384<\\/address>'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing/config.xml>} ) (C {<sed>} {<-i>} { (SQ < '/label=\\"Default Folder/c\\ <folder id=\\"0000-0000\\" label=\\"Syncthing Data\\" path=\\"' > ) (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </syncthing_data>) (SQ < '\\" type=\\"readwrite\\" rescanIntervalS=\\"60\\" ignorePerms=\\"false\\" autoNormalize=\\"true\\">' > ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing/config.xml>} ) (C {<sed>} {<-i>} {(SQ <'/<\\/startBrowser>/c\\ <startBrowser>false<\\/startBrowser>'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing/config.xml>} ) (C {<sed>} {<-i>} {(SQ <'s/fsWatcherEnabled=\\"false\\"/fsWatcherEnabled=\\"true\\"/g'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing/config.xml>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 60479 stdin_parts: [ <'[Unit]\n'> <'Description=Syncthing\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> < 'ExecStart=/etc/syncthing/syncthing -logfile=/var/log/syncthing/syncthing.log -logflags=3 -home=' > ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/syncthing\n'> <'User=dietpi\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/syncthing.service>} ) ] ) (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ <'fs.inotify.max_user_watches=204800'>)}) (C {<tee>} {<-a>} {</etc/sysctl.conf>}) ] negated: F ) ] spids: [60238 60257] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<111>} spids: [60512] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </urbackup/urbackup_tmp_files> } ) (C {<sed>} {<-i>} {(SQ <'/DAEMON_TMPDIR=/c\\DAEMON_TMPDIR="/var/tmp"'>)} {</etc/default/urbackupsrv>} ) ] spids: [60516 60535] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<116>} spids: [60587] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </sickrage>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 60656 stdin_parts: [ <'[Unit]\n'> <'Description=SickRage\n'> <'After=dietpi-service.service\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Group=root\n'> <'Type=forking\n'> <'GuessMainPID=no\n'> < 'ExecStart=/usr/bin/python /etc/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=' > ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/sickrage\n'> <'#ExecStop=/usr/bin/killall -w SickBeard.py\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/sickrage.service>} ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Configuring SickRage, please wait...'>)}) (C {<systemctl>} {<start>} {<sickrage>}) (C {<local>} {<Id.Lit_VarLike 'max_loops='> <10>}) (C {<local>} {<Id.Lit_VarLike 'current_loop='> <0>}) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </sickrage/config.ini>)} {<Id.Lit_RBracket ']'>} ) ] body: (command.DoGroup children: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Waiting for SickRage to finish 1st run prep, please wait...'>)} ) (C {<sleep>} {<1>}) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:current_loop) ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$current_loop')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$max_loops')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<1>} {(DQ <'Timed-out waiting for SickRage to generate config.ini'>)} ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [60743 60757] ) ] ) ] ) ) (C {<systemctl>} {<stop>} {<sickrage>}) (C {<cp>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </sickrage/config.ini>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </sickrage/config.ini.default>} ) (C {<wget>} {<http> <Id.Lit_Other ':'> <//dietpi.com/downloads/conf/sickrage_dietpi_config.ini> } {<-O>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </sickrage/config.ini>} ) ] spids: [60591 60610] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<134>} spids: [60826] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 60883 stdin_parts: [ <'[Unit]\n'> <'Description=Tonido - DietPi\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/etc/tonido\n'> < "ExecStart=/bin/bash -c 'export LD_LIBRARY_PATH=/etc/tonido; export TONIDODIR=/etc/tonido; ./tonidoconsole'\n" > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/tonido.service>} ) ] ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </tonido/sync>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </tonido/syncdata>} ) (command.Simple words: [ {<cp>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </tonido>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </tonido>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </tonido>} {(DQ ($ Id.VSub_DollarName '$HOME')) </tonido>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </tonido/sync>} {(DQ ($ Id.VSub_DollarName '$HOME')) </TonidoSync>} ) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </tonido/syncdata>} {(DQ ($ Id.VSub_DollarName '$HOME')) </TonidoSyncData>} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <s/armv6l/armv7l/>)} {</etc/tonido/manifest.xml>}) (C {<sed>} {<-i>} {(SQ <s/armv6l/armv7l/>)} {</etc/tonido/plugins/> <Id.Lit_Star '*'> </manifest.xml>} ) ] spids: [60998 61012] ) ] ) ] spids: [60830 60849] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<113>} spids: [61053] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'export_options='> (DQ <'export CHROMIUM_FLAGS='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) < 'CHROMIUM_FLAGS --no-sandbox --temp-profile --start-maximized --user-data-dir ' > ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<echo>} {<0>})] spids: [61126 61140] ) ] ) ] spids: [61104 61118] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<0>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [61166 61180] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:export_options) op: assign_op.PlusEqual rhs: {(SQ <'--use-gl=egl'>)} spids: [61202] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:export_options) op: assign_op.PlusEqual rhs: {(DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>))} spids: [61213] ) ] ) (C {<mkdir>} {<-p>} {</etc/chromium.d>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 61240 stdin_parts: [($ Id.VSub_DollarName '$export_options') <'\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/chromium.d/custom_flags>} ) ] ) (C {<cp>} {</etc/chromium.d/custom_flags>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.chromium-browser.init>} ) (C {<ln>} {<-sf>} {</usr/share/applications/chromium> <Id.Lit_Star '*'> <.desktop>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/chromium.desktop>} ) ] spids: [61057 61076] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<126>} spids: [61289] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Configuration>}) (C {<omv-initsystem>})] spids: [61293 61312] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<129>} spids: [61332] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <"/'mysqli_user'/c "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'cfg['> <Id.Lit_Other '\\'> <"'mysqli_user"> <Id.Lit_Other '\\'> <"'] = "> <Id.Lit_Other '\\'> <"'ompd"> <Id.Lit_Other '\\'> <"';"> ) } {</var/www/ompd/include/config.inc.php>} ) (C {<sed>} {<-i>} { (DQ <"/'mysqli_password'/c "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'cfg['> <Id.Lit_Other '\\'> <"'mysqli_password"> <Id.Lit_Other '\\'> <"'] = "> <Id.Lit_Other '\\'> <"'"> ($ Id.VSub_DollarName '$GLOBAL_PW') <Id.Lit_Other '\\'> <"';"> ) } {</var/www/ompd/include/config.inc.php>} ) (C {<sed>} {<-i>} { (DQ <"/'media_dir'/c "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'cfg['> <Id.Lit_Other '\\'> <"'media_dir"> <Id.Lit_Other '\\'> <"'] = "> <Id.Lit_Other '\\'> <"'/var/lib/mpd/music/"> <Id.Lit_Other '\\'> <"';"> ) } {</var/www/ompd/include/config.inc.php>} ) (C {<sed>} {<-i>} { (DQ <"/'ignore_media_dir_access_error'/c "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'cfg['> <Id.Lit_Other '\\'> <"'ignore_media_dir_access_error"> <Id.Lit_Other '\\'> <"'] = "> <Id.Lit_Other '\\'> <"'true';"> ) } {</var/www/ompd/include/config.inc.php>} ) (C {</DietPi/dietpi/func/create_mysql_db>} {<ompd>} {<ompd>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [61336 61355] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<135>} spids: [61467] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (SQ < '/\\<source-password\\>/c\\\\<source-password\\>dietpi\\<\\/source-password\\>' > ) } {</etc/icecast2/icecast.xml>} ) (C {<sed>} {<-i>} { (SQ < '/\\<relay-password\\>/c\\\\<relay-password\\>dietpi\\<\\/relay-password\\>' > ) } {</etc/icecast2/icecast.xml>} ) (C {<local>} {<Id.Lit_VarLike 'admin_password='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Simple words: [{<tr>} {<-cd>} {(SQ <'[:alnum:]'>)}] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {</dev/urandom>} ) ] ) (C {<fold>} {<-w10>}) (C {<head>} {<-n1>}) ] negated: F ) ] ) ) } ) (C {<sed>} {<-i>} { (DQ </> <Id.Lit_Other '\\'> <'<admin-password'> <Id.Lit_Other '\\'> <'>/c'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <'<admin-password'> <Id.Lit_Other '\\'> <'>'> ($ Id.VSub_DollarName '$admin_password') <Id.Lit_Other '\\'> <'<'> <Id.Lit_Other '\\'> </admin-password> <Id.Lit_Other '\\'> <'>'> ) } {</etc/icecast2/icecast.xml>} ) (C {<sed>} {<-i>} {(SQ <'/ENABLE=/c\\ENABLE=true'>)} {</etc/default/icecast2>}) (C {<local>} {<Id.Lit_VarLike 'input_device_index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<arecord>} {<-l>}) (C {<grep>} {<-m1>} {(SQ <card>)}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<sed>} {(SQ <'s/://'>)}) ] negated: F ) ] ) ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 61706 stdin_parts: [ <'[general]\n'> <'duration = 0\n'> <'bufferSecs = 3\n'> <'reconnect = yes\n'> <'\n'> <'[input]\n'> <'device = hw:'> ($ Id.VSub_DollarName '$input_device_index') <',0\n'> <'sampleRate = 44100\n'> <'bitsPerSample = 16\n'> <'channel = 1\n'> <'\n'> <'[icecast2-0]\n'> <'bitrateMode = vbr\n'> <'format = vorbis\n'> <'quality = 0.8\n'> <'server = dietpi\n'> <'port = 8000\n'> <'password = dietpi\n'> <'mountPoint = DietPi\n'> <'name = DietPi\n'> <'description = DarkIce on DietPi\n'> <'url = http://localhost\n'> <'genre = none\n'> <'public = no\n'> <'#localDumpFile = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/darkice_recording.ogg\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/darkice.cfg>} ) ] ) (C {<rm>} {</etc/init.d/darkice>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 61746 stdin_parts: [ <'[Unit]\n'> <'Description=DarkIce - DietPi\n'> <'After=icecast2.service\n'> <'Requires=icecast2.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<which>} {<darkice>})] ) ) <'\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/darkice.service>} ) ] ) ] spids: [61471 61490] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<131>} spids: [61757] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<local>} {<Id.Lit_VarLike 'fp_java_binary='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<java>})]) ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </blynk>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CONFIG_FILE_URL_ADDRESS) op: assign_op.Equal rhs: { (SQ < 'https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/server.properties' > ) } spids: [61813] ) ] ) (C {<wget>} {(DQ ($ Id.VSub_DollarName '$CONFIG_FILE_URL_ADDRESS'))} {<-O>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </blynk/server.properties>} ) (C {<sed>} {<-i>} { (DQ <'/data.folder=/c'> <Id.Lit_Other '\\'> <'data.folder='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </blynk> ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </blynk/server.properties>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 61877 stdin_parts: [ <'[Unit]\n'> <'Description=Blynk Server\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart='> ($ Id.VSub_DollarName '$fp_java_binary') <' -jar /etc/blynkserver/server.jar -serverConfig '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/blynk/server.properties\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/blynkserver.service>} ) ] ) ] spids: [61761 61780] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<136>} spids: [61888] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<rpi-camera>} {<enable>}) ] spids: [61923 61937] ) ] ) (C {<mkdir>} {<-p>} {</etc/motioneye>}) (C {<cp>} {</usr/local/share/motioneye/extra/motioneye.conf.sample>} {</etc/motioneye/motioneye.conf>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </motioneye>} ) (C {<sed>} {<-i>} { (DQ <'/^media_path/c'> <Id.Lit_Other '\\'> <'media_path '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </motioneye> ) } {</etc/motioneye/motioneye.conf>} ) (C {<cp>} {</usr/local/share/motioneye/extra/motioneye.systemd-unit-local>} {</etc/systemd/system/motioneye.service>} ) ] spids: [61892 61911] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<137>} spids: [62014] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cupsctl>} {<--remote-admin>}) (C {<usermod>} {<-a>} {<-G>} {<lpadmin>} {<root>}) ] spids: [62018 62037] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<138>} spids: [62074] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62127 stdin_parts: [ <'[Unit]\n'> <'Description=VirtualHere DietPi service\n'> <'After=local-fs.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'\n'> <'ExecStart=/etc/vhusbd/vhusbd -r /var/log/virtualhere.log\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/virtualhere.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<echo>} {<-e>} {(DQ <"ServerName='DietPi'">)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/vhusbd/config.ini>} ) ] ) ] spids: [62078 62097] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<139>} spids: [62157] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62208 stdin_parts: [ <'[Unit]\n'> <'Description=sabnzbd DietPi\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/python /etc/sabnzbd/SABnzbd.py -f /etc/sabnzbd/sabnzbd.ini\n' > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/sabnzbd.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (command.Simple words: [{<rm>} {</etc/sabnzbd/sabnzbd.ini>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<systemctl>} {<start>} {<sabnzbd>}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Generating initial config, please wait...'>)}) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {</etc/sabnzbd/sabnzbd.ini>} {<Id.Lit_RBracket ']'>} ) ] body: (command.DoGroup children:[(C {<sleep>} {<1>})]) ) (C {<sleep>} {<2>}) (C {<systemctl>} {<stop>} {<sabnzbd>}) (C {<sleep>} {<2>}) (C {<sed>} {<-i>} { (DQ <'/^download_dir =/c'> <Id.Lit_Other '\\'> <'download_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads/incomplete> ) } {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} { (DQ <'/^complete_dir =/c'> <Id.Lit_Other '\\'> <'complete_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads/complete> ) } {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} { (DQ <'/^nzb_backup_dir =/c'> <Id.Lit_Other '\\'> <'nzb_backup_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads/sabnzbd_nzb_backup> ) } {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} { (DQ <'/^admin_dir =/c'> <Id.Lit_Other '\\'> <'admin_dir = '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads/sabnzbd_admin> ) } {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} {(DQ <'/^log_dir =/c'> <Id.Lit_Other '\\'> <'log_dir = /var/log'>)} {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} {(DQ <'/^log_level =/c'> <Id.Lit_Other '\\'> <'log_level = 0'>)} {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} {(DQ <'/^refresh_rate =/c'> <Id.Lit_Other '\\'> <'refresh_rate = 2'>)} {</etc/sabnzbd/sabnzbd.ini>} ) (C {<sed>} {<-i>} {(DQ <'/^host =/c'> <Id.Lit_Other '\\'> <'host = 0.0.0.0'>)} {</etc/sabnzbd/sabnzbd.ini>} ) ] spids: [62161 62180] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<141>} spids: [62428] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62485 stdin_parts: [ <'[Unit]\n'> <'Description=spotify-connect-web\n'> <'After=sound.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/spotify-connect-web\n'> <'ExecStart='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/spotify-connect-web/spotify-connect-web\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/spotify-connect-web.service>} ) ] ) ] spids: [62432 62451] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<142>} spids: [62496] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</etc/couchpotato/init/ubuntu.default>} {</etc/default/couchpotato>}) (C {<sed>} {<-i>} {(DQ <'/CP_USER=/c'> <Id.Lit_Other '\\'> <'CP_USER=root'>)} {</etc/default/couchpotato>} ) (C {<sed>} {<-i>} {(DQ <'/CP_HOME=/c'> <Id.Lit_Other '\\'> <'CP_HOME=/etc/couchpotato'>)} {</etc/default/couchpotato>} ) (C {<sed>} {<-i>} { (DQ <'/CP_DATA=/c'> <Id.Lit_Other '\\'> <'CP_DATA='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </couchpotato> ) } {</etc/default/couchpotato>} ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </couchpotato>} ) (C {<cp>} {</etc/couchpotato/init/ubuntu>} {</etc/init.d/couchpotato>}) ] spids: [62500 62519] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<143>} spids: [62607] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<Download_Test_Media>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<koel>} {<koel>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (C {<cd>} {</var/www/koel>}) (C {<sed>} {<-i>} {(SQ <'/DB_CONNECTION=/c\\DB_CONNECTION=mysql'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_HOST=/c\\DB_HOST=127.0.0.1'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_DATABASE=/c\\DB_DATABASE=koel'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/DB_USERNAME=/c\\DB_USERNAME=koel'>)} {<.env>}) (C {<sed>} {<-i>} { (DQ <'/DB_PASSWORD=/c'> <Id.Lit_Other '\\'> <'DB_PASSWORD='> ($ Id.VSub_DollarName '$GLOBAL_PW') ) } {<.env>} ) (C {<sed>} {<-i>} {(SQ <'/ADMIN_EMAIL=/c\\ADMIN_EMAIL=dietpi@dietpi.com'>)} {<.env>}) (C {<sed>} {<-i>} {(SQ <'/ADMIN_NAME=/c\\ADMIN_NAME=admin'>)} {<.env>}) (C {<sed>} {<-i>} { (DQ <'/ADMIN_PASSWORD=/c'> <Id.Lit_Other '\\'> <'ADMIN_PASSWORD='> ($ Id.VSub_DollarName '$GLOBAL_PW') ) } {<.env>} ) (C {<sed>} {<-i>} { (DQ <'/FFMPEG_PATH=/c'> <Id.Lit_Other '\\'> <'FFMPEG_PATH='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<ffmpeg>})]) ) ) } {<.env>} ) (C {<php>} {<artisan>} {<koel> <Id.Lit_Other ':'> <init>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62825 stdin_parts: [ <'[Unit]\n'> <'Description=Koel\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'WorkingDirectory=/var/www/koel\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<php>})]) ) <' /var/www/koel/artisan serve --host 0.0.0.0\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/koel.service>} ) ] ) ] spids: [62611 62630] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<144>} spids: [62836] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62892 stdin_parts: [ <'[Unit]\n'> <'Description=Sonarr (NzbDrone) Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=on-failure\n'> <'RestartSec=5\n'> <'Type=simple\n'> < 'ExecStart=/usr/bin/mono --debug /opt/NzbDrone/NzbDrone.exe -nobrowser\n' > <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/sonarr.service>} ) ] ) ] spids: [62840 62859] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<145>} spids: [62903] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 62959 stdin_parts: [ <'[Unit]\n'> <'Description=Radarr Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=on-failure\n'> <'RestartSec=5\n'> <'Type=simple\n'> <'ExecStart=/usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser\n'> <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/radarr.service>} ) ] ) ] spids: [62907 62926] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<146>} spids: [62970] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </plexpy>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63037 stdin_parts: [ <'[Unit]\n'> <'Description=PlexPy - Stats for Plex Media Server usage\n'> <'\n'> <'[Service]\n'> < 'ExecStart=/opt/plexpy/PlexPy.py --quiet --daemon --nolaunch --config /opt/plexpy/config.ini --datadir ' > ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/plexpy\n'> <'GuessMainPID=no\n'> <'Type=forking\n'> <'User=root\n'> <'Group=root\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/plexpy.service>} ) ] ) ] spids: [62974 62993] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<147>} spids: [63048] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63104 stdin_parts: [ <'[Unit]\n'> <'Description=Jackett Daemon\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'User=root\n'> <'Restart=always\n'> <'RestartSec=5\n'> <'Type=simple\n'> <'ExecStart=/usr/bin/mono --debug /opt/jackett/JackettConsole.exe\n'> <'TimeoutStopSec=20\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/jackett.service>} ) ] ) ] spids: [63052 63071] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<149>} spids: [63115] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<sed>} {<-i>} { (DQ <'/MainDir=/c'> <Id.Lit_Other '\\'> <'MainDir='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads> ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/DestDir=/c'> <Id.Lit_Other '\\'> <'DestDir='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </downloads/complete> ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/LogFile=/c'> <Id.Lit_Other '\\'> <'LogFile=/var/log/nzbget.log'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/ControlUsername=/c'> <Id.Lit_Other '\\'> <'ControlUsername=root'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/ControlPassword=/c'> <Id.Lit_Other '\\'> <'ControlPassword='> ($ Id.VSub_DollarName '$GLOBAL_PW') ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/Server1.Cipher=/c'> <Id.Lit_Other '\\'> <'Server1.Cipher=RC4-MD5'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/CrcCheck=/c'> <Id.Lit_Other '\\'> <'CrcCheck=no'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/ParScan=/c'> <Id.Lit_Other '\\'> <'ParScan=limited'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/ParThreads=/c'> <Id.Lit_Other '\\'> <'ParThreads='> ($ Id.VSub_DollarName '$G_HW_CPU_CORES') ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/DebugTarget=/c'> <Id.Lit_Other '\\'> <'DebugTarget=none'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/CrashTrace=/c'> <Id.Lit_Other '\\'> <'CrashTrace=no'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} {(DQ <'/DetailTarget=/c'> <Id.Lit_Other '\\'> <'DetailTarget=none'>)} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/ParBuffer=/c'> <Id.Lit_Other '\\'> <'ParBuffer='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/ArticleCache=/c'> <Id.Lit_Other '\\'> <'ArticleCache='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (C {<sed>} {<-i>} { (DQ <'/WriteBuffer=/c'> <Id.Lit_Other '\\'> <'WriteBuffer='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<Optimize_BitTorrent>} {<0>})] ) ) ) } {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget/nzbget.conf>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63443 stdin_parts: [ <'[Unit]\n'> <'Description=NZBget\n'> <'\n'> <'[Service]\n'> <'Type=forking\n'> <'User=root\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/nzbget\n'> <'ExecStart='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/nzbget/nzbget -D\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/nzbget.service>} ) ] ) ] spids: [63119 63138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<155>} spids: [63454] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63508 stdin_parts: [ <'[Unit]\n'> <'Description=HTPC Manager\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'ExecStart=/usr/bin/python '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/htpc-manager/Htpc.py\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/htpc-manager.service>} ) ] ) ] spids: [63458 63477] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<153>} spids: [63519] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63577 stdin_parts: [ <'[Unit]\n'> <'Description=OctoPrint\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'ExecStart='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<which>} {<octoprint>})] ) ) <' serve --iknowwhatimdoing\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/octoprint.service>} ) ] ) ] spids: [63523 63542] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<154>} spids: [63588] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63646 stdin_parts: [ <'[Unit]\n'> <'Description=Roon Server\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=root\n'> <'Environment=ROON_DATAROOT='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/roonserver\n'> <'ExecStart='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/roonserver/start.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/roonserver.service>} ) ] ) ] spids: [63592 63611] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<156>} spids: [63657] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </steam>}) (C {<mv>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.steam/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </steam/>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.steam>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </steam>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.steam>} ) ] spids: [63661 63680] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<157>} spids: [63747] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63801 stdin_parts: [ <'[Unit]\n'> <'Description=Home Assistant\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=homeassistant\n'> <'ExecStart=/srv/homeassistant/homeassistant-start.sh\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/home-assistant.service>} ) ] ) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </homeassistant>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </homeassistant>} {</home/homeassistant/.homeassistant>} ) ] spids: [63751 63770] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<158>} spids: [63849] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 63912 stdin_parts: [ <'# Default file path\n'> <'MINIO_VOLUMES='> <Id.Right_DoubleQuote '"'> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </minio-data> <Id.Right_DoubleQuote '"'> <'\n'> <'# Use if you want to run Minio on a custom port.\n'> <'# MINIO_OPTS='> <Id.Right_DoubleQuote '"'> <'--address :9199'> <Id.Right_DoubleQuote '"'> <'\n'> <'# Access Key of the server.\n'> <'# MINIO_ACCESS_KEY=Server-Access-Key\n'> <'# Secret key of the server.\n'> <'# MINIO_SECRET_KEY=Server-Secret-Key\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/default/minio>} ) ] ) (C {<systemctl>} {<enable>} {<minio.service>}) ] spids: [63853 63872] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<162>} spids: [63935] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </docker-data>}) (C {<systemctl>} {<stop>} {<docker.service>}) (C {<sed>} {<-i>} { (DQ <'/ExecStart='> <Id.Lit_Other '\\'> </usr> <Id.Lit_Other '\\'> </bin> <Id.Lit_Other '\\'> </dockerd/c> <Id.Lit_Other '\\'> <'ExecStart='> <Id.Lit_Other '\\'> </usr> <Id.Lit_Other '\\'> </bin> <Id.Lit_Other '\\'> <'/dockerd -g '> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <Id.Lit_Other '\\'> <'/docker-data -H fd:'> <Id.Lit_Other '\\'> </> <Id.Lit_Other '\\'> </> ) } {</lib/systemd/system/docker.service>} ) ] spids: [63939 63958] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<161>} spids: [64040] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data/> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data/>} ) (C {<mv>} {</home/bd/disk/> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data/>} ) (C {<rm>} {<-r>} {</home/bd/disk>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data>} {</home/bd/disk>} ) ] spids: [64079 64095] ) ] else_action: [ (C {<rm>} {<-r>} {</home/bd/disk>}) (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </fuguhub-data>} {</home/bd/disk>} ) ] ) ] spids: [64044 64063] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<164>} spids: [64202] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<wget>} {<-O>} {</usr/local/bin/nukkit/nukkit.yml>} {<https> <Id.Lit_Other ':'> <//github.com/Nukkit/Languages/raw/master/eng/nukkit.yml> } ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64272 stdin_parts: [ <'[Unit]\n'> <'Description=nukkit\n'> <'\n'> <'[Service]\n'> <'WorkingDirectory=/usr/local/bin/nukkit\n'> < "ExecStart=/bin/bash -c 'java -jar /usr/local/bin/nukkit/nukkit.jar'\n" > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/nukkit.service>} ) ] ) ] spids: [64206 64225] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<165>} spids: [64283] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64348 stdin_parts: [ <'\n'> <'[Unit]\n'> <'Description=Gitea (Git with a cup of tea)\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'User=dietpi\n'> <'WorkingDirectory='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/gitea/gitea-repositories\n'> <'ExecStart='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/gitea/gitea web\n'> <'Environment=USER=dietpi HOME='> ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') <'/gitea\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/gitea.service>} ) ] ) (C {<mkdir>} {<-p>} {</var/log/gitea>}) (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Other ':'> <dietpi>} {</var/log/gitea>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<gitea>} {<gitea>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) ] spids: [64287 64306] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<159>} spids: [64399] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 160>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/func/create_mysql_db>} {<allo_db>} {<allo_db>} {(DQ ($ Id.VSub_DollarName '$GLOBAL_PW'))} ) (command.Simple words: [{<mysql>} {<allo_db>}] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {</var/www/allo_db.sql>} ) ] ) (C {<rm>} {</var/www/allo_db.sql>}) (C {<rm>} {</var/www/index.htm> <Id.Lit_Star '*'>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64522 stdin_parts: [ <'<?php\n'> <'/* Redirect to allo web interface */\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'host = '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"_SERVER['HTTP_HOST'];\n"> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'uri = rtrim(dirname('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"_SERVER['PHP_SELF']), '/"> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ) <"');\n"> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"extra = 'index.php';\n"> <'header('> <Id.Right_DoubleQuote '"'> <'Location: http://'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <host> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <uri/allo/public/> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <extra> <Id.Right_DoubleQuote '"'> <');\n'> <'exit;\n'> <'?>\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/www/index.php>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 70>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64577 stdin_parts: [ <'[Unit]\n'> <'Description=Sparky auto detect and set onboard ETH/USB ETH\n'> <'After=network.target networking.service\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'RemainAfterExit=yes\n'> < "ExecStart=/bin/bash -c '/usr/local/bin/sparky_eth_controller.sh'\n" > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/sparky_eth_controller.service>} ) ] ) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<enable>} {<sparky_eth_controller.service>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64631 stdin_parts: [ <'#!/bin/bash\n'> < '#We need to wait until USB eth is established on USB bus. This takes much longer than onboard init and network.target network-pre.target\n' > <'sleep 20\n'> <'# - Set USB ETH if found\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"(ifconfig -a | grep -ci -m1 'eth1') )); then\n"> <'\n'> <'\techo -e '> <Id.Right_DoubleQuote '"'> <'blacklist ethernet'> <Id.Right_DoubleQuote '"'> <' > /etc/modprobe.d/disable_sparkysbc_ethernet.conf\n'> < '\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n' > <'\treboot\n'> <'\n'> <'# - Enable onboard ETH if no adapter found\n'> <'elif (( ! '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"(ifconfig -a | grep -ci -m1 'eth0') )); then\n"> <'\n'> < '\trm /etc/modprobe.d/disable_sparkysbc_ethernet.conf &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n' > < '\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n' > <'\treboot\n'> <'\n'> <'fi\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</usr/local/bin/sparky_eth_controller.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</usr/local/bin/sparky_eth_controller.sh>} ) ] spids: [64533 64547] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 160>}) ) op: assign_op.Equal rhs: {<2>} spids: [64651] ) ] ) ] spids: [64406 64439] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<163>} spids: [64668] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<cp>} {</DietPi/dietpi/conf/gmrender.service>} {</etc/systemd/system/gmrender.service>} ) ] spids: [64672 64691] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<166>} spids: [64715] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<mkdir>} {<-p>} {</var/lib/dietpi/dietpi-software/installed/pi-spc>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64829 stdin_parts: [ <'#!/bin/bash\n'> <'#DietPi version\n'> <'PATH=/usr/bin:/home/pi/wiringPi/gpio:/usr/local/bin\n'> <'\n'> <'TICKRATE=0.25\n'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'Audiophonics Shutdown script starting...'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'Asserting pins : '> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'ShutDown : GPIO17=in, Low'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'BootOK : GPIO22=out, High'> <Id.Right_DoubleQuote '"'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <'SoftSD : GPIO04=out, Low'> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'gpio -g mode 04 out\n'> <'gpio -g write 04 0\n'> <'gpio -g mode 17 in\n'> <'gpio -g write 17 0\n'> <'gpio -g mode 22 out\n'> <'gpio -g write 22 1\n'> <'\n'> <'while true\n'> <'do\n'> <'\n'> <'\tif (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(gpio -g read 17) == 1 )); then\n'> <'\n'> <'\t\tG_DIETPI-NOTIFY 0 '> <Id.Right_DoubleQuote '"'> <'AudioPhonics Pi-SPC: Power off requested. Shutting down system.'> <Id.Right_DoubleQuote '"'> <'\n'> <'\t\tsudo poweroff\n'> <'\t\t#sudo shutdown -h -P now\n'> <'\t\tbreak\n'> <'\n'> <'\tfi\n'> <'\n'> <'\tsleep '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'TICKRATE\n'> <'\n'> <'done\n'> <'\n'> <'exit 0\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh>} ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 64864 stdin_parts: [ <'[Unit]\n'> <'Description=AudioPhonics Pi-SPC\n'> <'\n'> <'[Service]\n'> <'Type=simple\n'> <'StandardOutput=tty\n'> <'User=root\n'> <'\n'> < "ExecStart=/bin/bash -c '/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh'\n" > <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/systemd/system/pi-spc.service>} ) ] ) ] spids: [64719 64738] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<168>} spids: [64875] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {</DietPi/dietpi/func/dietpi-set_software>} {<useradd>} {<pi>}) (command.Simple words: [{<echo>} {<-e>} {(SQ <'www-data\\tALL=(ALL) NOPASSWD: ALL'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/sudoers>} ) ] ) (C {<mkdir>} {<-p>} {</var/local/www/commandw>}) (C {<mkdir>} {<-p>} {</var/local/www/cssw>}) (C {<mkdir>} {<-p>} {</var/local/www/jsw>}) (C {<mkdir>} {<-p>} {</var/local/www/imagesw>}) (C {<mkdir>} {<-p>} {</var/local/www/imagesw/toggle>}) (C {<mkdir>} {<-p>} {</var/local/www/db>}) (C {<mkdir>} {<-p>} {</var/local/www/templatesw>}) (C {<chmod>} {<-R>} {<0755>} {</var/local/www>}) (C {<mkdir>} {<-p>} {</var/lib/mpd/music/RADIO>}) (C {<mkdir>} {<-p>} {</mnt/NAS>}) (C {<mkdir>} {<-p>} {</mnt/SDCARD>}) (C {<mkdir>} {<-p>} {</mnt/UPNP>}) (C {<mkdir>} {</media>}) (C {<ln>} {<-s>} {</mnt/NAS>} {</var/lib/mpd/music/NAS>}) (C {<ln>} {<-s>} {</mnt/SDCARD>} {</var/lib/mpd/music/SDCARD>}) (C {<ln>} {<-s>} {</media>} {</var/lib/mpd/music/USB>}) (C {<ln>} {<-s>} {</var/lib/mpd/music>} {</var/www/mpdmusic>}) (C {<touch>} {</var/log/moode.log>}) (C {<chmod>} {<0666>} {</var/log/moode.log>}) (C {<touch>} {</var/log/php_errors.log>}) (C {<chmod>} {<0666>} {</var/log/php_errors.log>}) (C {<cp>} {<./rel-stretch/mpd/sticker.sql>} {</var/lib/mpd>}) (C {<cp>} {<-r>} {(DQ <'./rel-stretch/other/sdcard/Stereo Test/'>)} {</var/lib/mpd/music/SDCARD>} ) (C {<cp>} {<./rel-stretch/network/wpa_supplicant.conf.default>} {</etc/wpa_supplicant/wpa_supplicant.conf>} ) (C {<cp>} {<./rel-stretch/network/dhcpcd.conf.default>} {</etc/dhcpcd.conf>}) (C {<cp>} {<./rel-stretch/network/hostapd.conf.default>} {</etc/hostapd/hostapd.conf>} ) (C {<cp>} {<./rel-stretch/var/local/www/db/moode-sqlite3.db.default>} {</var/local/www/db/moode-sqlite3.db>} ) (C {<chmod>} {<0777>} {</var/lib/mpd/music/RADIO>}) (C {<chmod>} {<-R>} {<0777>} {</var/local/www/db>}) (C {<rm>} {</etc/update-motd.d/10-uname>}) (C {<rm>} {</var/lib/mpd/music/RADIO/> <Id.Lit_Star '*'>}) (C {<rm>} {</var/www/images/radio-logos/> <Id.Lit_Star '*'>}) (C {<cp>} {<./rel-stretch/mpd/RADIO/> <Id.Lit_Star '*'>} {</var/lib/mpd/music/RADIO>} ) (C {<cp>} {<./rel-stretch/mpd/playlists/> <Id.Lit_Star '*'>} {</var/lib/mpd/playlists>} ) (C {<cp>} {<-r>} {<./rel-stretch/etc/> <Id.Lit_Star '*'>} {</etc/>}) (C {<cp>} {<-r>} {<./rel-stretch/home/> <Id.Lit_Star '*'>} {</home/pi/>}) (C {<cp>} {<-r>} {<./rel-stretch/home/.dircolors>} {</home/pi/>}) (C {<cp>} {<-r>} {<./rel-stretch/lib/> <Id.Lit_Star '*'>} {</lib/>}) (C {<cp>} {<-r>} {<./rel-stretch/usr/> <Id.Lit_Star '*'>} {</usr/>}) (C {<cp>} {<-r>} {<./rel-stretch/var/> <Id.Lit_Star '*'>} {</var/>}) (C {<cp>} {<-r>} {<./rel-stretch/www/> <Id.Lit_Star '*'>} {</var/www/>}) (C {<chmod>} {<0755>} {</var/www/command/> <Id.Lit_Star '*'>}) (C {</var/www/command/util.sh>} {(DQ <emerald>)} {(DQ <2ecc71>)} {(DQ <27ae60>)}) (C {<sqlite3>} {</var/local/www/db/moode-sqlite3.db>} {(DQ <"update cfg_system set value='Emerald' where param='themecolor'">)} ) (C {<chmod>} {<0755>} {</etc/init.d/mpd>}) (C {<chmod>} {<0644>} {</lib/systemd/system/mpd.service>}) (C {<chmod>} {<0644>} {</lib/systemd/system/mpd.socket>}) (C {<chmod>} {<0666>} {</etc/bluealsaaplay.conf>}) (C {<chmod>} {<0644>} {</etc/systemd/system/bluealsa-aplay> <Id.Lit_Other '@'> <.service>} ) (C {<chmod>} {<0644>} {</etc/systemd/system/bluealsa.service>}) (C {<chmod>} {<0644>} {</lib/systemd/system/bluetooth.service>}) (C {<chmod>} {<0755>} {</usr/local/bin/a2dp-autoconnect>}) (C {<chmod>} {<0644>} {</lib/systemd/system/rotenc.service>}) (C {<chmod>} {<0644>} {</etc/udev/rules.d/> <Id.Lit_Star '*'>}) (C {<systemctl>} {<daemon-reload>}) (C {<systemctl>} {<disable>} {<mpd.socket>}) (C {<systemctl>} {<disable>} {<rotenc.service>}) (C {<chmod>} {<0644>} {</lib/systemd/system/squeezelite-armv6l.service>}) (C {<chmod>} {<0644>} {</lib/systemd/system/squeezelite-armv7l.service>}) (C {<systemctl>} {<disable>} {<squeezelite-armv6l>}) (C {<systemctl>} {<disable>} {<squeezelite-armv7l>}) (C {<chmod>} {<0644>} {</lib/systemd/system/upmpdcli.service>}) (C {<systemctl>} {<disable>} {<upmpdcli.service>}) (C {<chmod>} {<0777>} {</var/local/www/playhistory.log>}) (C {<chmod>} {<0777>} {</var/local/www/currentsong.txt>}) (C {<touch>} {</var/local/www/libcache.json>}) (C {<chmod>} {<0777>} {</var/local/www/libcache.json>}) (C {<chmod>} {<0755>} {</usr/local/bin/alsaequal.bin>}) (C {<chown>} {<mpd> <Id.Lit_Other ':'> <audio>} {</usr/local/bin/alsaequal.bin>}) (C {<rm>} {</usr/share/alsa/alsa.conf.d/equal.conf>}) (C {<mpc>} {<enable>} {<only>} {<1>}) (C {<rm>} {</var/www/index.h> <Id.Lit_Star '*'>}) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 65771 stdin_parts: [ <'#!/bin/bash\n'> <'#Precaution: Wait for DietPi Ramdisk to finish\n'> <'while [ ! -f /DietPi/.ramdisk ]\n'> <'do\n'> <'\n'> <' G_DIETPI-NOTIFY 2 '> <Id.Right_DoubleQuote '"'> <'Waiting for DietPi-RAMDISK to finish mounting DietPi to RAM...'> <Id.Right_DoubleQuote '"'> <'\n'> <' sleep 1\n'> <'\n'> <'done\n'> <'\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"(cat /proc/uptime | awk '{print "> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <"1}') Seconds"> <Id.Right_DoubleQuote '"'> <' > /var/log/boottime\n'> <'if (( '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(cat /DietPi/dietpi/.install_stage) == 1 )); then\n'> <'\n'> <' /DietPi/dietpi/dietpi-services start\n'> <'\n'> <'fi\n'> <'/DietPi/dietpi/dietpi-banner 0\n'> <'echo -e '> <Id.Right_DoubleQuote '"'> <' Default Login:'> <Id.Lit_Other '\\'> <'n Username = root'> <Id.Lit_Other '\\'> <'n Password = dietpi'> <Id.Lit_Other '\\'> <n> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'#moOde additions\n'> <'SQLDB=/var/local/www/db/moode-sqlite3.db\n'> <'\n'> <'# set cpu govenor\n'> <'RESULT='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'(sqlite3 '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <'SQLDB '> <Id.Right_DoubleQuote '"'> <"select value from cfg_system where param='cpugov'"> <Id.Right_DoubleQuote '"'> <')\n'> <'echo '> <Id.Right_DoubleQuote '"'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) <RESULT> <Id.Right_DoubleQuote '"'> <' | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n'> <'\n'> <'/usr/bin/udisks-glue > /dev/null 2>&1\n'> <'/var/www/command/worker.php > /dev/null 2>&1\n'> <'\n'> <'exit 0\n'> ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/rc.local>} ) ] ) (C {<sqlite3>} {</var/local/www/db/moode-sqlite3.db>} { (DQ < "update cfg_system set value='/DietPi/config.txt' where param='res_boot_config_txt'" > ) } ) (C {<Download_Test_Media>}) ] spids: [64879 64898] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALLING_INDEX) op: assign_op.Equal rhs: {<169>} spids: [65852] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALLING_INDEX')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Banner_Configuration>}) (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </voice-recognizer-raspi/assistant.json> } {</home/dietpi/assistant.json>} ) (C {<mkdir>} {<-p>} {</home/dietpi/.cache/voice-recognizer>}) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<soundcard>} {<googlevoicehat-soundcard>} ) ] spids: [65856 65875] ) ] ) ] ) ) (command.ShFunction name: Install_Apply_GPU_Settings body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'gpu_enabled='> <0>}) (C {<local>} {<Id.Lit_VarLike 'gpu_memory='> <0>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 112>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_enabled) op: assign_op.Equal rhs: {<1>} spids: [65983] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_memory) op: assign_op.Equal rhs: {<192>} spids: [65987] ) ] ) ] spids: [65960 65979] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 31>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 59>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 108>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 148>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_enabled) op: assign_op.Equal rhs: {<1>} spids: [66065] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_memory) op: assign_op.Equal rhs: {<128>} spids: [66069] ) ] ) ] spids: [66000 66061] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 23>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 24>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 25>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 26>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 51>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_enabled) op: assign_op.Equal rhs: {<1>} spids: [66161] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_memory) op: assign_op.Equal rhs: {<64>} spids: [66165] ) ] ) ] spids: [66082 66157] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 62>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gpu_enabled) op: assign_op.Equal rhs: {<1>} spids: [66197] ) ] ) ] spids: [66174 66193] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$gpu_memory')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<gpumemsplit>} {($ Id.VSub_DollarName '$gpu_memory')} ) ] spids: [66232 66246] ) ] ) ] spids: [66210 66224] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$gpu_enabled')}) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_Other '\\'> <'CONFIG_HDMI_OUTPUT=1'> ) } {</DietPi/dietpi.txt>} ) ] spids: [66284 66298] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} {</DietPi/boot.ini>} ) (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "1"'>)} {</DietPi/boot.ini>} ) (C {<sed>} {<-i>} {(SQ <'/setenv m_bpp /c\\setenv m_bpp "32"'>)} {</DietPi/boot.ini>} ) ] spids: [66320 66334] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'/setenv nographics /c\\setenv nographics "0"'>)} {</DietPi/boot.ini>} ) ] spids: [66376 66390] ) ] ) ] spids: [66266 66276] ) ] ) ] ) ) (command.ShFunction name: Check_USB_Drive_Installed body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USBDRIVE) op: assign_op.Equal rhs: {<0>} spids: [66425] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FP_DIETPI_DEDICATED_USBDRIVE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<df>} {<-P>}) (C {<grep>} {<-m1>} {(SQ <'^/dev/sda1'>)}) (C {<awk>} {(SQ <'{print $6}'>)}) ] negated: F ) ] ) ) } spids: [66430] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$FP_DIETPI_DEDICATED_USBDRIVE'))} {<Id.Lit_RBracket ']'>} ) (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<df>} {<-P>}) (C {<grep>} {<-ci>} {<-m1>} { (DQ ($ Id.VSub_DollarName '$FP_DIETPI_DEDICATED_USBDRIVE' ) ) } ) ] negated: F ) ] ) ) } ) ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USBDRIVE) op: assign_op.Equal rhs: {<1>} spids: [66504] ) ] ) ] spids: [66461 66500] ) ] ) ] ) ) (command.ShFunction name: Uninstall_Software body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'index='> ($ Id.VSub_Number '$1')}) (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <Uninstall>)}) (C {<echo>} {<-e>} {(DQ )}) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Uninstalling '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) ) ) <Id.Lit_Other '\\'> <n> ) } ) (C {<local>} {<Id.Lit_VarLike 'valid_input='> <1>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 100>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:grasshopper_directory) op: assign_op.Equal rhs: {(SQ </var/www>)} spids: [66626] ) ] ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </documentation>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </css>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </db>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </exec>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </includes>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </install>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </phpliteadmin>} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </js>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </setup>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </pics>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </themes>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </favicon.ico>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </index.php>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$grasshopper_directory')) </Grasshopper> <Id.Lit_Star '*'> } ) (C {<update-rc.d>} {<grasshopper>} {<remove>}) (C {<rm>} {</etc/init.d/grasshopper>}) ] spids: [66608 66622] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 23>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<lxde>} {<lxde-> <Id.Lit_Star '*'>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66785 66799] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 24>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66820 66834] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 26>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} {<gnustep-games>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66852 66866] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 25>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<xfce4>} {<gnome-icon-theme>} {<tango-icon-theme>} {<iceweasel>} {<p7zip-full>} ) ] spids: [66892 66906] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 22>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<quiterss>})] spids: [66924 66938] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 30>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<nomachine>})] spids: [66948 66962] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 29>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<xrdp>})] spids: [66976 66990] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 44>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<transmission-daemon>}) (command.Simple words: [{<rm>} {</etc/init.d/transmission-daemon>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</etc/systemd/system/transmission-daemon.service>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [67000 67014] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 47>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Pipeline children: [ (C {<crontab>} {<-u>} {<www-data>} {<-l>}) (C {<grep>} {<-v>} {(SQ </var/www/owncloud/cron.php>)}) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F ) (command.Simple words: [{<a2dissite>} {<owncloud>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</etc/apache2/sites-available/owncloud.conf>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</etc/nginx/sites-dietpi/owncloud.config>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'DietPi will perform an automated backup of your ownCloud database and installation directory, which will be stored inside your ownCloud data directory.' > <Id.Lit_Other '\\'> < "nThe data directory won't be removed. So you can at any time recover your whole ownCloud instance." > <Id.Lit_Other '\\'> <"nRemove the data directory manually, if you don't need it anymore."> ) } ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'datadirectory'">)} {</var/www/owncloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </owncloud_data>)} spids: [67185] ) ] ) ] ) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbuser'">)} {</var/www/owncloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) <'@'> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbhost'">)} {</var/www/owncloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbuser'">)} {</var/www/owncloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) ) } ] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql/owncloud>} {<Id.Lit_RBracket ']'>} ) (command.Simple words: [{<mysqldump>} {<owncloud>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-database-backup.sql> } ) ] ) ] ) (C {<mysqladmin>} {<drop>} {<owncloud>} {<-f>}) (C {<cp>} {<-a>} {</var/www/owncloud/.>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-owncloud-installation-backup>} ) (C {<rm>} {<-R>} {</var/www/owncloud>}) ] spids: [67042 67056] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 114>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Pipeline children: [ (C {<crontab>} {<-u>} {<www-data>} {<-l>}) (C {<grep>} {<-v>} {(SQ </var/www/nextcloud/cron.php>)}) (C {<crontab>} {<-u>} {<www-data>} {<->}) ] negated: F ) (command.Simple words: [{<a2dissite>} {<nextcloud>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</etc/apache2/sites-available/nextcloud.conf>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</etc/nginx/sites-dietpi/nextcloud.config>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<lighttpd-disable-mod>} {<dietpi-nextcloud>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<rm>} {</etc/lighttpd/conf-available/99-dietpi-nextcloud.conf>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'DietPi will perform an automated backup of your Nextcloud database and installation directory, which will be stored inside your Nextcloud data directory.' > <Id.Lit_Other '\\'> < "nThe data directory won't be removed. So you can at any time recover your whole Nextcloud instance." > <Id.Lit_Other '\\'> <"nRemove the data directory manually, if you don't need it anymore."> ) } ) (C {<local>} {<Id.Lit_VarLike 'datadir='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'datadirectory'">)} {</var/www/nextcloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <"s/[',]//g">)}) ] negated: F ) ] ) ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$datadir'))} {<Id.Lit_RBracket ']'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:datadir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA') </nextcloud_data>) } spids: [67524] ) ] ) ] ) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbuser'">)} {</var/www/nextcloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) <'@'> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbhost'">)} {</var/www/nextcloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) ) } ) (command.Simple words: [ {<mysql>} {<-e>} { (DQ <'drop user '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(DQ <"'dbuser'">)} {</var/www/nextcloud/config/config.php>} ) (C {<awk>} {(SQ <'{print $3}'>)}) (C {<sed>} {(DQ <'s/,//'>)}) ] negated: F ) ] ) ) ) } ] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql/nextcloud>} {<Id.Lit_RBracket ']'>} ) (command.Simple words: [{<mysqldump>} {<nextcloud>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-database-backup.sql> } ) ] ) ] ) (C {<mysqladmin>} {<drop>} {<nextcloud>} {<-f>}) (C {<cp>} {<-a>} {</var/www/nextcloud/.>} {(DQ ($ Id.VSub_DollarName '$datadir')) </dietpi-nextcloud-installation-backup>} ) (C {<rm>} {<-R>} {</var/www/nextcloud>}) ] spids: [67369 67383] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 83>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<apache2>})] spids: [67708 67722] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 85>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<nginx>})] spids: [67732 67746] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 84>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<lighttpd>})] spids: [67756 67770] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 88>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<mariadb-server>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<rm>} {</var/lib/mysql>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {<-R>} {</var/lib/mysql>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </mysql>}) ] spids: [67780 67794] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 87>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<sqlite3>})] spids: [67856 67870] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 91>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-redis>} {<redis-server>} {<redis-tools>} ) ] spids: [67880 67894] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 89>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </fpm/pool.d/www.conf>}) (command.Simple words: [ {<rm>} {(DQ ($ Id.VSub_DollarName '$FP_PHP_BASE_DIR')) </mods-available/dietpi.ini>} ] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (C {<G_AGP>} {(DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME')) <-> <Id.Lit_Star '*'>} {<libapache2-mod-> (DQ ($ Id.VSub_DollarName '$PHP_APT_PACKAGE_NAME'))} ) (C {<rm>} {</var/www/phpinfo.php>}) (C {<rm>} {</var/www/apc.php>}) (C {<rm>} {</var/www/opcache.php>}) (command.Simple words: [{<rm>} {<-R>} {</var/tmp/php_upload_tmp>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) ] spids: [67911 67925] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 90>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<phpmyadmin>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <"drop user 'phpmyadmin'@'localhost'">)}) (C {<G_AGP>} {<phpmyadmin>}) ] spids: [67994 68008] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 54>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<phpbb3>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user phpbb3@localhost'>)}) (C {<rm>} {<-R>} {</var/www/phpBB3>}) ] spids: [68043 68057] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 115>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<webmin>})] spids: [68094 68108] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 32>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<rm>} {</usr/bin/ympd>}) (C {<rm>} {</etc/systemd/system/ympd.service>})] spids: [68122 68136] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 128>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<apt-mark>} {<unhold>} {<mpd>}] redirects: [(redir.Redir op:<Id.Redir_Great '1>'> fd:1 arg_word:{</dev/null>})] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_ARCH')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) (C {<G_AGP>} {<mpd>} {<libmpdclient2>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<mpd>} {<libmpdclient2>}) ] ) (command.Simple words: [{<userdel>} {<-f>} {<mpd>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<rm>} {</lib/systemd/system/mpd.service>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </.mpd_cache>}) ] spids: [68151 68165] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 121>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/roonbridge.service>}) (C {<rm>} {<-R>} {</etc/roonbridge>}) ] spids: [68251 68265] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 122>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/node-red.service>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.node-red>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </node-red>}) (C {<userdel>} {<-f>} {<nodered>}) ] spids: [68282 68296] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 123>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<mosquitto>})] spids: [68350 68364] ) ] else_action: [(C {<dpkg>} {<-P>} {<mosquitto>})] ) ] spids: [68332 68346] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 124>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<networkaudiod>})] spids: [68394 68408] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 125>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<tomcat8>})] spids: [68426 68440] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 126>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<openmediavault>}) (C {<rm>} {</etc/apt/sources.list.d/openmediavault.list>}) ] spids: [68450 68464] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 129>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/ompd>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<ompd>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user ompd@localhost'>)}) ] spids: [68479 68493] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 130>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<python-pip>} {<python3-pip>})] spids: [68530 68544] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 131>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/blynkserver.service>}) (C {<rm>} {<-R>} {</etc/blynkserver>}) ] spids: [68556 68570] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 132>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/aria2.service>}) (C {<rm>} {</usr/local/bin/aria2c>}) (C {<rm>} {<-R>} {</var/www/aria2>}) (C {<G_AGP>} {<aria2>}) ] spids: [68588 68602] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 133>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/yacy.service>}) (C {<rm>} {<-R>} {</etc/yacy>}) ] spids: [68630 68644] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 134>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/tonido.service>}) (C {<rm>} {<-R>} {</etc/tonido>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </tonido>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </TonidoSync>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </TonidoSyncData>}) ] spids: [68663 68677] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 135>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<darkice>} {<icecast2>}) (C {<rm>} {</etc/systemd/system/darkice.service>}) ] spids: [68725 68739] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 136>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) (C {<G_AGP>} {<motion>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<motion>}) ] ) (C {<rm>} {<-R>} {</etc/motioneye>}) (C {<rm>} {</etc/systemd/system/motioneye.service>}) (C {<pip>} {<uninstall>} {<-y>} {<motioneye>}) ] spids: [68757 68771] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 137>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<cloudprint-service>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<rm>} {</etc/apt/sources.list.d/cloudprint.list>}) (C {<G_AGUP>})] spids: [68855 68869] ) ] ) ] spids: [68832 68846] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 138>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/vhusbd>}) (C {<rm>} {</etc/systemd/system/virtualhere.service>}) ] spids: [68886 68900] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 139>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/sabnzbd>}) (C {<rm>} {</etc/systemd/system/sabnzbd.service>}) ] spids: [68918 68932] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 140>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libsdl2>} {<libsdl2-image>} {<libsdl2-mixer>} {<libsdl2-net>} {<libsdl2-ttf>} {<libsmpeg2>} ) ] spids: [68950 68964] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 141>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </spotify-connect-web>} ) (C {<rm>} {</etc/systemd/system/spotify-connect-web.service>}) ] spids: [68988 69002] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 142>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/couchpotato>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </couchpotato>} ) (C {<rm>} {</etc/init.d/couchpotato>}) ] spids: [69022 69036] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 143>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<koel>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user koel@localhost'>)}) (C {<rm>} {<-R>} {</var/www/koel>}) (C {<rm>} {</etc/systemd/system/koel.service>}) ] spids: [69068 69082] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 144>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<nzbdrone>}) (C {<rm>} {</etc/systemd/system/sonarr.service>}) (C {<rm>} {</etc/apt/sources.list.d/sonarr.list>}) (C {<G_AGUP>}) ] spids: [69126 69140] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 145>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</opt/Radarr>}) (C {<rm>} {</etc/systemd/system/radarr.service>}) ] spids: [69163 69177] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 146>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</opt/plexpy>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </plexpy>}) (C {<rm>} {</etc/systemd/system/plexpy.service>}) ] spids: [69194 69208] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 147>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</opt/jackett>}) (C {<rm>} {</etc/systemd/system/jackett.service>}) ] spids: [69235 69249] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 148>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<mediacenter22>})] spids: [69266 69280] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 149>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </nzbget>}) (C {<rm>} {</etc/systemd/system/nzbget.service>}) ] spids: [69290 69304] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 155>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </htpc-manager>} ) (C {<rm>} {</etc/systemd/system/htpc-manager.service>}) ] spids: [69324 69338] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 150>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<rm>} {</etc/apt/sources.list.d/mono-xamarin.list>}) (C {<G_AGUP>})] spids: [69358 69372] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 151>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<nvidia-driver>} {<nvidia-xconfig>} {<libgl1-nvidia-glx> <Id.Lit_Other ':'> <i386>} ) ] spids: [69390 69404] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 152>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<avahi-daemon>})] spids: [69420 69434] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 153>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </octoprint>}) (C {<rm>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<which>} {<octoprint>})]) ) } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.octoprint>}) (C {<rm>} {</etc/systemd/system/octoprint.service>}) ] spids: [69444 69458] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 154>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </roonserver>}) (C {<rm>} {</etc/systemd/system/roonserver.service>}) ] spids: [69497 69511] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 156>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<steam>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.steam>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </steam>}) ] spids: [69531 69545] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 119>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<cava>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME') </.config/cava/config>)}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME') </cava.psf>)}) ] spids: [69575 69589] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 118>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<mopidy>}) (C {<rm>} {</etc/apt/sources.list.d/mopidy.list>}) (C {<pip>} {<uninstall>} {<-y>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>}) ] spids: [69615 69629] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 31>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<kodi>}) (C {<G_AGP>} {<kodi-odroid>}) (C {<rm>} {</usr/share/applications/kodi.desktop>}) (C {<rm>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </Desktop/kodi.desktop>} ) ] spids: [69656 69670] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 39>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<minidlna>})] spids: [69700 69714] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 51>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<ibsdl1.2debian>} {<libsdl-net1.2>}) (C {<rm>} {<-R>} {</usr/local/games/opentyrian>}) (C {<rm>} {</usr/share/applications/opentyrian.desktop>}) (C {<rm>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </Desktop/opentyrian.desktop> } ) ] spids: [69724 69738] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 59>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<gpac>}) (C {<rm>} {<-R>} {</var/www/dietpicam>}) (C {<rm>} {</opt/vc/bin/raspimjpeg>}) (C {<rm>} {</usr/bin/raspimjpeg>}) (C {<rm>} {</var/lib/dietpi/dietpi-software/services/raspimjpeg.service>}) (C {<rm>} {</etc/raspimjpeg>}) ] spids: [69768 69782] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 45>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>}) (C {<rm>} {</var/lib/dietpi/dietpi-software/services/deluge.service>}) (C {<rm>} {<-R>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) </.config/deluge>} ) ] spids: [69819 69833] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 94>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<proftpd-basic>})] spids: [69862 69876] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 96>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<samba>} {<samba-common-bin>})] spids: [69886 69900] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 95>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<vsftpd>})] spids: [69912 69926] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 109>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<nfs-kernel-server>})] spids: [69936 69950] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 67>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</usr/local/bin/noip2>}) (C {<rm>} {</etc/systemd/system/noip2.service>}) ] spids: [69960 69974] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 106>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/raspcontrol>}) (C {<rm>} {<-R>} {</etc/raspcontrol>}) ] spids: [69989 70003] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 63>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<rm>} {<-R>} {</var/www/linuxdash>})] spids: [70022 70036] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 93>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<dnsmasq>}) (C {<pihole>} {<uninstall>}) (command.Simple words: [{<chmod>} {<774>} {</etc/lighttpd/lighttpd.conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<rm>} {<-R>} {</etc/pihole>}) (C {<rm>} {<-R>} {</etc/.pihole>}) (C {<rm>} {<-R>} {</var/www/html/admin>}) (C {<rm>} {</var/www/pihole>}) (C {<rm>} {</var/www/admin>}) ] spids: [70048 70062] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 33>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 34>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<subsonic>}) (C {<rm>} {<-R>} {</var/subsonic>}) ] spids: [70130 70152] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 71>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<update-rc.d>} {<webiopi>} {<remove>}) (C {<rm>} {<-R>} {</etc/webiopi>}) (C {<rm>} {<-R>} {</usr/share/webiopi>}) (C {<rm>} {</usr/bin/webiopi>}) (C {<rm>} {</etc/init.d/webiopi>}) ] spids: [70173 70187] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 68>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/weaved>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </weaved_software>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </weaved_setup.bin>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<weavedconnectd>}) ] spids: [70223 70237] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 62>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<stop>} {<dietpi-cloudshell>}) (C {<rm>} {</etc/systemd/system/dietpi-cloudshell.service>}) (C {<killall>} {<-w>} {<dietpi-cloudshell>}) (C {</DietPi/dietpi/dietpi-autostart>} {<0>}) ] spids: [70285 70299] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 98>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<update-rc.d>} {<haproxy>} {<remove>}) (C {<rm>} {</etc/init.d/haproxy>}) (C {<rm>} {<-r>} {</etc/haproxy>}) ] spids: [70342 70356] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 35>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<logitechmediaserver>}) (C {<rm>} {</var/lib/dietpi/dietpi-software/services/squeezeboxserver.service>}) (C {<rm>} {<-R>} {</var/lib/squeezeboxserver>}) (C {<rm>} {<-R>} {</usr/share/squeezeboxserver>}) ] spids: [70390 70404] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 55>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<wordpress>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user wordpress@localhost'>)}) (C {<rm>} {<-R>} {</var/www/wordpress>}) ] spids: [70441 70455] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 27>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 28>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 120>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<tightvncserver>}) (C {<G_AGP>} {<vnc4server>}) (C {<G_AGP>} {<x11vnc>}) (C {<G_AGP>} {<realvnc-vnc-server>}) (C {<G_AGP>} {<tigervnc-> <Id.Lit_Star '*'>}) (C {<rm>} {</etc/systemd/system/vncserver.service>}) (C {<rm>} {</etc/init.d/vncserver>}) (C {<rm>} {</usr/local/bin/vncserver>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.vnc>}) (C {<systemctl>} {<disable>} {<vncserver-x11-serviced.service>}) (C {<systemctl>} {<disable>} {<vncserver-virtuald.service>}) ] spids: [70493 70523] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 73>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<fail2ban>})] spids: [70601 70615] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 64>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<rm>} {<-R>} {</var/www/phpsysinfo>})] spids: [70625 70639] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 56>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</var/www/gallery/index.php>}) (C {<rm>} {<-R>} {</var/www/gallery/_sfpg_data>}) ] spids: [70651 70665] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 40>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/ampache>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<ampache>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user ampache@localhost'>)}) ] spids: [70682 70696] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 117>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/apt/sources.list.d/swupdate.openvpn.net.list>}) (C {<pivpn>} {<-u>}) (C {<userdel>} {<-f>} {<pivpn>}) ] spids: [70738 70752] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 97>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<openvpn>}) (command.Simple words: [{<rm>} {<-R>} {</etc/openvpn>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [70774 70788] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 92>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DISTRO')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<python-certbot-apache>} {<python-certbot-nginx>} {<certbot>}) ] spids: [70827 70841] ) ] ) (command.Simple words: [{<rm>} {<-R>} {</etc/letsencrypt_scripts>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {<-R>} {</etc/certbot_scripts>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [70809 70823] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 69>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<python-rpi.gpio>} {<python3-rpi.gpio>})] spids: [70880 70894] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 72>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<i2c-tools>}) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<i2c>} {<disable>}) ] spids: [70906 70920] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 70>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<rm>} {<-R>} {</root/wiringPi> <Id.Lit_Star '*'>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [70941 70955] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 60>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<hostapd>} {<isc-dhcp-server>}) (command.Simple words: [{<rm>} {</etc/dhcp/dhcpd.conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</etc/hostapd/hostapd.conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</etc/default/isc-dhcp-server>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</etc/default/hostapd>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</etc/iptables.ipv4.nat>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</usr/sbin/hostapd>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (command.Simple words: [{<rm>} {</usr/sbin/hostapd_cli>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'wifi_index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<sed>} {<-n>} {<2p>} {</DietPi/dietpi/.network>})] ) ) } ) (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {</etc/network/interfaces>}) (C {<sed>} {<-i>} { (DQ <'/allow-hotplug wlan/c'> <Id.Lit_Other '\\'> <'#allow-hotplug wlan'> ($ Id.VSub_DollarName '$wifi_index') ) } {</etc/network/interfaces>} ) (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 71148 stdin_parts: [ <'iface wlan'> ($ Id.VSub_DollarName '$wifi_index') <' inet dhcp\n'> <'address 192.168.0.101\n'> <'netmask 255.255.255.0\n'> <'gateway 192.168.0.1\n'> <'wireless-power off\n'> <'wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\n'> <'#dns-nameservers 8.8.8.8 8.8.4.4\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</etc/network/interfaces>} ) ] ) (C {<iptables>} {<-F>}) (C {<iptables>} {<-t>} {<nat>} {<-F>}) (command.Simple words: [{<iptables-save>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</etc/iptables.ipv4.nat>} ) ] ) ] spids: [70972 70986] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 61>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<tor>}) (C {<Uninstall_Software>} {<60>})] spids: [71177 71191] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 37>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<rm>} {</lib/systemd/system/shairport-sync.service>} {</usr/local/bin/shairport-sync>} {</usr/local/etc/shairport-sync.conf> <Id.Lit_Star '*'>} {</usr/local/share/man/man7/shairport-sync.7.gz>} ] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<userdel>} {<-f>} {<shairport-sync>}) ] spids: [71211 71225] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 38>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<brutefir>}) (C {<rm>} {<-R>} {</etc/BruteFIR>}) (C {<rm>} {</var/lib/dietpi/dietpi-software/services/brutefir.service>}) (C {<rm>} {</etc/asound.conf>}) (C {<rm>} {</etc/modules-load.d/brutefir-alsa-loopback.conf>}) (C {<rm>} {</etc/modprobe.d/brutefir-alsa-loopback.conf>}) ] spids: [71269 71283] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 48>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/pydio>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<pydio>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user pydio@localhost'>)}) ] spids: [71322 71336] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 36>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<squeezelite>}) (C {<rm>} {<-R>} {</usr/bin/squeezelite> <Id.Lit_Star '*'>}) (C {<rm>} {</etc/systemd/system/squeezelite.service>}) ] spids: [71378 71392] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 99>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/emonhub>}) (C {<rm>} {</etc/init.d/emonhub>}) (C {<rm>} {</etc/default/emonhub>}) ] spids: [71416 71430] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 66>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<rpimonitor>})] spids: [71452 71466] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 57>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/baikal>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<baikal>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user baikal@localhost'>)}) ] spids: [71480 71494] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 65>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/netdata.service>}) (C {<userdel>} {<-f>} {<netdata>}) (C {<groupdel>} {<netdata>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<netdata>}) (C {<rm>} {</usr/sbin/netdata>}) (C {<rm>} {<-R>} {</etc/netdata>}) (C {<rm>} {<-R>} {</usr/share/netdata>}) (C {<rm>} {<-R>} {</usr/libexec/netdata>}) (C {<rm>} {<-R>} {</var/cache/netdata>}) (C {<rm>} {<-R>} {</var/log/netdata>}) ] spids: [71536 71550] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 43>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<mumble-server>})] spids: [71642 71656] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 41>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<emby-server>} {<embymagick>}) (C {<rm>} {</etc/apt/sources.list.d/emby-server.list>}) (C {<G_AGUP>}) ] spids: [71666 71680] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 58>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/openbazaar-server>}) (C {<rm>} {</etc/systemd/system/openbazaar.service>}) ] spids: [71701 71715] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 42>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_ARCH')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<plexmediaserver>} {<plexmediaserver-installer>}) (C {<G_AGP>} {<plexmediaserver> <Id.Lit_Star '*'>}) ] ) (C {<rm>} {<-R>} {</var/lib/plexmediaserver>}) (command.Simple words: [{<rm>} {</etc/apt/sources.list.d/plex.list>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<G_AGUP>}) ] spids: [71732 71746] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 52>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/cuberite>}) (C {<rm>} {</etc/systemd/system/cuberite.service>}) ] spids: [71803 71817] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 53>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$USERDATA_DIRECTORY')) </mineos>}) (C {<rm>} {<-R>} {</var/games/minecraft>}) (C {<rm>} {</etc/supervisor/conf.d/mineos.conf>}) (C {<supervisorctl>} {<reload>}) (C {<rm>} {</usr/local/bin/mineos>}) (C {<userdel>} {<-f>} {<mineos>}) ] spids: [71834 71848] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 49>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/gogs>}) (C {<rm>} {</etc/systemd/system/gogs.service>}) (C {<rm>} {</var/log/gogs_daemon.log>}) (C {<rm>} {</var/log/gogs.log>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<gogs>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user gogs@localhost'>)}) ] spids: [71895 71909] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 46>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<qbittorrent-nox>}) (C {<rm>} {</etc/systemd/system/qbittorrent.service>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.config/qBittorrent>}) ] spids: [71963 71977] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 50>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/syncthing>}) (command.Simple words: [{<rm>} {</usr/bin/syncthing>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<rm>} {</etc/systemd/system/syncthing.service>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </syncthing>}) ] spids: [72003 72017] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 116>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/sickrage.service>}) (C {<rm>} {<-R>} {</etc/sickrage>}) ] spids: [72056 72070] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 107>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<rtorrent>}) (C {<rm>} {<-R>} {</var/www/rutorrent>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.rtorrent.rc>}) (C {<rm>} {</etc/systemd/system/rtorrent.service>}) (C {<rm>} {</etc/.rutorrent-htaccess>}) (C {<rm>} {</etc/nginx/sites-dietpi/rutorrent.config>}) (C {<rm>} {</etc/apache2/sites-available/rutorrent.conf>}) ] spids: [72087 72101] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 108>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</etc/amiberry>}) (C {<rm>} {</etc/systemd/system/amiberry.service>}) (C {<rm>} {</etc/systemd/system/amiberry-sdl2.service>}) (C {</DietPi/dietpi/dietpi-autostart>} {<0>}) ] spids: [72174 72188] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 112>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/> <Id.Lit_Star '*'> } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/descent_1_game> } ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </dxx-rebirth/descent_2_game> } ) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.d1x-rebirth>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.d2x-rebirth>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </Desktop/dxx-rebirth.desktop>}) (C {<rm>} {</usr/share/applications/dxx-rebirth.desktop>}) ] spids: [72220 72234] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 113>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<apt-mark>} {<unhold>} {<chromium>} {<chromedriver>}) (C {<rm>} {</etc/chromium.d/custom_flags>}) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$HOME')) </.chromium-browser.init>}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_DISTRO')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) (C {<G_AGP>} {<chromium> <Id.Lit_Star '*'>}) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<chromium>} {<chromedriver>}) ] ) ] spids: [72302 72316] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 157>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</srv/homeassistant>}) (C {<userdel>} {<-r>} {<-f>} {<homeassistant>}) (C {<groupdel>} {<homeassistant>}) (C {<rm>} {</etc/systemd/system/home-assistant.service>}) ] spids: [72379 72392] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 165>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/gitea.service>}) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </gitea>}) (C {<rm>} {<-R>} {</var/log/gitea>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<gitea>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user gitea@localhost'>)}) ] spids: [72437 72451] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 166>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/pi-spc.service>}) (C {<rm>} {<-R>} {</var/lib/dietpi/dietpi-software/installed/pi-spc>}) ] spids: [72517 72531] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 167>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<raspotify>}) (C {<rm>} {</etc/apt/sources.list.d/raspotify.list>}) (C {<G_AGUP>}) ] spids: [72548 72562] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 168>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<echo>} {<-e>} {(DQ <pending>)})] spids: [72580 72594] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 169>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </voice-recognizer-raspi>} ) (C {<rm>} {</etc/systemd/system/voice-recognizer.service>}) (C {<rm>} {</etc/systemd/system/alsa-init.service>}) (C {<rm>} {<-R>} {</home/dietpi/assistant.json>}) ] spids: [72608 72622] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 170>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Reset_NTPD>}) (C {<G_AGP>} {<ntp>})] spids: [72654 72668] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 158>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<systemctl>} {<stop>} {<minio.service>}) (C {<systemctl>} {<disable>} {<minio.service>}) (C {<rm>} {</usr/local/bin/minio>}) (C {<rm>} {</etc/systemd/system/minio.service>}) (C {<rm>} {</etc/default/minio>}) (C {<userdel>} {<-r>} {<-f>} {<minio-user>}) ] spids: [72681 72695] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 161>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</etc/init.d/bdd>} {<stop>}) (C {<sleep>} {<2>}) (C {<killall>} {<--user>} {<bd>}) (C {<sleep>} {<2>}) (C {<rm>} {</etc/rc3.d/S99bdd>}) (C {<rm>} {</etc/rc4.d/S99bdd>}) (C {<rm>} {</etc/rc2.d/S99bdd>}) (C {<rm>} {</etc/rc5.d/S99bdd>}) (C {<rm>} {</etc/init.d/bdd>}) (C {<userdel>} {<-r>} {<bd>}) ] spids: [72752 72766] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 162>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<docker-ce>})] spids: [72844 72858] ) ] else_action: [(C {<G_AGP>} {<docker-engine>})] ) (C {<rm>} {<-r>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')) </docker-data>} ) (C {<rm>} {<-r>} {</var/lib/docker>}) ] spids: [72826 72840] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 164>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/systemd/system/nukkit.service>}) (C {<rm>} {<-r>} {</usr/local/bin/nukkit>}) ] spids: [72912 72926] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 163>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<gmrender>}) (C {<rm>} {</etc/systemd/system/gmrender.service>}) ] spids: [72952 72966] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 159>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 160>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {<-R>} {</var/www/allo>}) (C {<systemctl>} {<start>} {<mysql>}) (C {<mysqladmin>} {<drop>} {<allo_db>} {<-f>}) (C {<mysql>} {<-e>} {(DQ <'drop user allo_db@localhost'>)}) ] spids: [72989 73011] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 15>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<tcpdump>})] spids: [73058 73072] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 14>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<nload>})] spids: [73082 73096] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 13>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<mtr-tiny>})] spids: [73106 73120] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 11>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<iptraf>})] spids: [73130 73144] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<iftop>})] spids: [73154 73168] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 19>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<jed>})] spids: [73178 73192] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<mc>})] spids: [73202 73216] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 18>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<emacs>})] spids: [73226 73240] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 20>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 21>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<vim>} {<vim-tiny>})] spids: [73250 73272] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 127>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<neovim>})] spids: [73284 73298] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <openssh-server>)} ) ] negated: F ) ] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<openssh-client>})] spids: [73330 73360] ) ] ) ] spids: [73308 73322] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<umount>} {<-f>} {</mnt/samba>}) (C {<G_AGP>} {<smbclient>}) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/samba/c\\#\\/mnt\\/samba . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {</etc/fstab>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Samba client can be installed and setup by DietPi-Config.'> <Id.Lit_Other '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</mnt/samba/readme.txt>} ) ] ) ] spids: [73374 73388] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 111>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<urbackup-server>}) (C {<rm>} {</etc/systemd/system/urbackupsrv.service>}) (C {<rm>} {</etc/default/urbackupsrv>}) (C {<rm>} {</etc/logrotate.d/urbackupsrv>}) (C {<rm>} {</usr/sbin/urbackupsrv>}) (C {<rm>} {</usr/bin/urbackup_snapshot_helper>}) (C {<rm>} {</usr/bin/urbackupsrv>}) (C {<rm>} {<-R>} {</usr/share/urbackup>}) ] spids: [73439 73453] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 110>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<umount>} {<-f>} {</mnt/nfs_client>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 109>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<nfs-common>})] spids: [73539 73558] ) ] ) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/nfs_client/c\\#\\/mnt\\/nfs_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {</etc/fstab>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'NFS client can be installed and setup by DietPi-Config.'> <Id.Lit_Other '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</mnt/nfs_client/readme.txt>} ) ] ) ] spids: [73509 73523] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 16>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<build-essential>})] spids: [73608 73622] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 17>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<git>})] spids: [73632 73646] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 5>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<alsa-utils>})] spids: [73656 73670] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>} ) (command.Simple words: [{<rm>} {</etc/xdg/autostart/xcompmgr.desktop>} {</etc/X11/xorg.conf>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [73680 73694] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<umount>} {<-f>} {</mnt/ftp_client>}) (C {<G_AGP>} {<curlftpfs>}) (C {<sed>} {<-i>} { (SQ < '/\\/mnt\\/ftp_client/c\\#\\/mnt\\/ftp_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount' > ) } {</etc/fstab>} ) (command.Simple words: [ {<echo>} {<-e>} { (DQ <'FTP client mount can be installed and setup by DietPi-Config.'> <Id.Lit_Other '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</mnt/ftp_client/readme.txt>} ) ] ) ] spids: [73737 73751] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 7>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<ffmpeg>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_MODEL')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>}) ) ) (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libx264>} {<libmp3lame>} {<libfdk-aac>}) ] ) ] spids: [73804 73818] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 8>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<openjdk-8-jdk>}) (command.Simple words: [{<rm>} {</etc/apt/preferences.d/99-dietpi-openjdk-8-jdk>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [73862 73876] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 104>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<dropbear> <Id.Lit_Star '*'>})] spids: [73895 73909] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 105>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<openssh-> <Id.Lit_Star '*'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) op: assign_op.Equal rhs: {<0>} spids: [73952] ) ] ) ] spids: [73923 73937] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 103>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} {(SQ <'/\\/var\\/log/c\\#\\/var\\/log DietPi Ramlog Disabled'>)} {</etc/fstab>} ) ] spids: [73961 73975] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 101>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<logrotate>})] spids: [73991 74005] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 102>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<rsyslog>})] spids: [74015 74029] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 9>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_AGP>} {<nodejs>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</etc/apt/sources.list.d/nodesource_nodejs.list>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<rm>} {</etc/apt/sources.list.d/nodesource_nodejs.list>}) (C {<G_AGUP>}) ] spids: [74067 74078] ) ] ) (C {<rm>} {</usr/local/bin/node>}) ] spids: [74039 74053] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<G_AGP>} {<vifm>})] spids: [74101 74115] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Software index '> ($ Id.VSub_DollarName '$index') <' is unknown, or, has no removal code.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:valid_input) op: assign_op.Equal rhs: {<0>} spids: [74140] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {</DietPi/dietpi/.uninstalled>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'DietPi Uninstall Software Log'> <Id.Lit_Other '\\'> <n----------------------> <Id.Lit_Other '\\'> <n> ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</DietPi/dietpi/.uninstalled>} ) ] ) ] spids: [74157 74170] ) ] ) (command.Simple words: [ {<echo>} {<-e>} { (DQ ($ Id.VSub_DollarName '$index') <' | '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<date>})]) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {</DietPi/dietpi/.uninstalled>} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$index')}) ) op: assign_op.Equal rhs: {<0>} spids: [74218] ) ] ) (C {<G_ERROR_HANDLER_RESET>}) ] ) ) (command.ShFunction name: Uninstall_Software_Finalize body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Removing packages that are no longer required'>)} ) (C {<apt-get>} {<autoremove>} {<--purge>} {<-y>}) (C {<local>} {<Id.Lit_VarLike 'fp_temp='> (SQ </tmp/.dietpi-uninstall_dpkg>)}) (command.Pipeline children: [ (C {<dpkg>} {<--get-selections>}) (command.Simple words: [{<awk>} {(SQ <'{print $1}'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ] negated: F ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^openssh-server'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^dropbear'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [74362] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [74366] ) ] ) ] spids: [74311 74358] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^samba$'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^proftpd-basic'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [74426] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [74430] ) ] ) ] spids: [74375 74422] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'#/var/log'>)} {</etc/fstab>} ) ] ) ) } ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^rsyslog'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) ) right: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^logrotate'>)} {(DQ ($ Id.VSub_DollarName '$fp_temp'))} ) ] ) ) } ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_CURRENT) op: assign_op.Equal rhs: {<0>} spids: [74507] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<0>} spids: [74511] ) ] ) ] spids: [74439 74503] ) ] ) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$fp_temp'))}) (C {<systemctl>} {<daemon-reload>}) ] ) ) (command.ShFunction name: Run_Installations body: (command.BraceGroup children: [ (C {<Check_NTPD_Status>}) (command.Simple words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (C {</DietPi/dietpi/dietpi-services>} {<unmask>} {<all>}) (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_dphys-swapfile>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SWAPFILE_SIZE='>)} {</DietPi/dietpi.txt>} ) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } ) ] spids: [74611 74625] ) ] ) (C {<Create_UserContent_Folders>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$HOME'))}) (C {<Banner_Apt_Update>}) (C {<apt-get>} {<clean>}) (C {<G_AGUP>}) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Running apt simulation to check for errors, please wait...'>)} ) (C {<local>} {<Id.Lit_VarLike 'package_to_test='> (SQ <bash-doc>)}) (C {<G_AGI>} {($ Id.VSub_DollarName '$package_to_test')} {<-s>}) (C {<Banner_Setup>}) (C {<Banner_Apt_Update>}) (C {<G_AGUG>}) (C {<mkdir>} {<-p>} {</var/lib/dietpi/dietpi-software/services>}) (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {</var/lib/dietpi/dietpi-software/services>}) (C {<Install_Disable_Requires_UserInput>}) (C {<Apply_FileServer_Choices>}) (C {<Apply_SSHServer_Choices>}) (C {<Apply_Logging_Choices>}) (C {<Apply_Webserver_Preference>}) (C {<Install_Flag_Prereq_Software>}) (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (C {<Install_Linux_Software>}) (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (C {<Install_Dietpi_Software>}) (C {<Uninstall_NonSelected_Choices>}) (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (C {<Banner_Configs>}) (C {<Install_Apply_Configs>}) (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (C {<local>} {<Id.Lit_VarLike 'autostart_current='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<cat>} {</DietPi/dietpi/.dietpi-autostart_index>})] ) ) } ) (C {</DietPi/dietpi/dietpi-autostart>} {($ Id.VSub_DollarName '$autostart_current')}) (C {</DietPi/dietpi/dietpi-services>} {<dietpi_controlled>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) op: assign_op.Equal rhs: {<2>} spids: [74947] ) ] ) ] spids: [74924 74943] ) ] ) ] ) ) (C {<Install_Apply_GPU_Settings>}) (C {<Write_InstallFileList>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_TIMEZONE'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <Europe/London>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {<-e>} { (DQ <Id.Lit_Other '\\'> <'nDietPi: Setting Timezone = '> ($ Id.VSub_DollarName '$AUTOINSTALL_TIMEZONE') ) } ) (C {<rm>} {</etc/timezone>}) (C {<rm>} {</etc/localtime>}) (C {<ln>} {<-fs>} {</usr/share/zoneinfo/> ($ Id.VSub_DollarName '$AUTOINSTALL_TIMEZONE')} {</etc/localtime>} ) (C {<dpkg-reconfigure>} {<-f>} {<noninteractive>} {<tzdata>}) ] spids: [75006 75024] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_LANGUAGE'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <en_GB.UTF-8>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Setting Locale '> ($ Id.VSub_DollarName '$AUTOINSTALL_LANGUAGE') <'. Please wait'> ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_LANGUAGE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_LANGUAGE) op: assign_op.Equal rhs: {(SQ <en_GB.UTF-8>)} spids: [75132] ) ] ) ] spids: [75115 75128] ) ] ) (C {</DietPi/dietpi/func/dietpi-set_software>} {<locale>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_LANGUAGE'))} ) ] spids: [75077 75095] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_KEYBOARD'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <gb>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Setting Keyboard '> ($ Id.VSub_DollarName '$AUTOINSTALL_KEYBOARD') <'. Please wait...'> <Id.Lit_Other '\\'> <n> ) } ) (C {<sed>} {<-i>} {(SQ <'/XKBLAYOUT=/c XKBLAYOUT="'>) (DQ ($ Id.VSub_DollarName '$AUTOINSTALL_KEYBOARD')) (SQ <'"'>) } {</etc/default/keyboard>} ) ] spids: [75165 75183] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/func/dietpi-set_smbclient>} {<1>})] spids: [75230 75249] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/func/dietpi-set_curlftpfs>} {<1>})] spids: [75263 75282] ) ] ) (C {<local>} {<Id.Lit_VarLike 'run_custom_script='> <0>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {</boot/Automation_Custom_Script.sh>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Automation - Local Custom Script'>)} spids: [75321] ) ] ) (C {<Banner_Installing>}) (C {<cp>} {</boot/Automation_Custom_Script.sh>} {</root/AUTO_CustomScript.sh>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_custom_script) op: assign_op.Equal rhs: {<1>} spids: [75338] ) ] ) ] spids: [75306 75317] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$AUTOINSTALL_CUSTOMSCRIPTURL'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DESCRIPTION) op: assign_op.Equal rhs: {(SQ <'Automation - Online Custom Script'>)} spids: [75369] ) ] ) (C {<Banner_Installing>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_URL_ADDRESS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$AUTOINSTALL_CUSTOMSCRIPTURL')} spids: [75380] ) ] ) (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_QMark '$?')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<wget>} {(DQ ($ Id.VSub_DollarName '$INSTALL_URL_ADDRESS'))} {<-O>} {</root/AUTO_CustomScript.sh>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_custom_script) op: assign_op.Equal rhs: {<1>} spids: [75429] ) ] ) ] spids: [75396 75410] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated Custom Script URL Error:'> <Id.Lit_Other '\\'> <'n '> ($ Id.VSub_DollarName '$AUTOINSTALL_CUSTOMSCRIPTURL') <' is offline and/or unreachable'> ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$FP_DIETPIAUTOMATION_LOG'))} ) ] ) ] ) ] spids: [75347 75365] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$run_custom_script')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<chmod>} {<Id.Lit_Other '+'> <x>} {</root/AUTO_CustomScript.sh>}) (C {</root/AUTO_CustomScript.sh>}) (C {<local>} {<Id.Lit_VarLike 'result='> ($ Id.VSub_QMark '$?')}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$result')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated custom script executed succesfully:'> <Id.Lit_Other '\\'> <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_Other '\\'> <'n - URL = '> ($ Id.VSub_DollarName '$AUTOINSTALL_CUSTOMSCRIPTURL') ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$FP_DIETPIAUTOMATION_LOG'))} ) ] ) ] spids: [75497 75511] ) ] else_action: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ <'Automated Custom Script Error:'> <Id.Lit_Other '\\'> <'n - Exit code = '> ($ Id.VSub_DollarName '$result') <Id.Lit_Other '\\'> <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_Other '\\'> <'n - URL = '> ($ Id.VSub_DollarName '$AUTOINSTALL_CUSTOMSCRIPTURL') ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$FP_DIETPIAUTOMATION_LOG'))} ) ] ) ] ) ] spids: [75466 75476] ) ] ) (C {</DietPi/dietpi/dietpi-autostart>} {($ Id.VSub_DollarName '$AUTOINSTALL_AUTOSTARTTARGET')} ) ] spids: [74984 74998] ) ] ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</DietPi/dietpi/.install_stage>} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_ENABLED) op: assign_op.Equal rhs: {<0>} spids: [75616] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_SSHINDEX) op: assign_op.Equal rhs: {<0>} spids: [75621] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_FILESERVERINDEX) op: assign_op.Equal rhs: {<0>} spids: [75625] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_LOGGINGINDEX) op: assign_op.Equal rhs: {<0>} spids: [75629] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_WEBSERVERINDEX) op: assign_op.Equal rhs: {<0>} spids: [75633] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_AUTOSTARTTARGET) op: assign_op.Equal rhs: {<0>} spids: [75638] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_TIMEZONE) op: assign_op.Equal rhs: {<0>} spids: [75643] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_LANGUAGE) op: assign_op.Equal rhs: {<0>} spids: [75647] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_KEYBOARD) op: assign_op.Equal rhs: {<0>} spids: [75651] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_CUSTOMSCRIPTURL) op: assign_op.Equal rhs: {<0>} spids: [75656] ) ] ) (command.ShFunction name: FirstRun_Automation_Init body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_ENABLED) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOMATED='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75672] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_AUTOSTARTTARGET) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOSTART_TARGET_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75699] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_SSHINDEX) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SSH_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75727] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_FILESERVERINDEX) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_FILE_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75753] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_LOGGINGINDEX) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOGGING_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75779] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_WEBSERVERINDEX) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_WEB_SERVER_INDEX='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75805] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_TIMEZONE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_TIMEZONE='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75832] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_LANGUAGE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOCALE='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75859] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_KEYBOARD) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_KEYBOARD_LAYOUT='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [75886] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:AUTOINSTALL_CUSTOMSCRIPTURL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_CUSTOM_SCRIPT_EXEC='>)}) (C {<sed>} {(SQ <'s/AUTO_SETUP_CUSTOM_SCRIPT_EXEC=//'>)}) ] negated: F ) ] ) ) } spids: [75914] ) ] ) ] ) ) (command.ShFunction name: FirstRun_Automation_Set body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$AUTOINSTALL_ENABLED')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Running automated installation'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<-1>} spids: [75990] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GOSTARTINSTALL) op: assign_op.Equal rhs: {<1>} spids: [75999] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<-r>} {<line>})] body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'index='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName '$line'))}) (C {<grep>} {(SQ <'^AUTO_SETUP_INSTALL_SOFTWARE_ID='>)}) (C {<sed>} {(SQ <'s/[^0-9]*//g'>)}) ] negated: F ) ] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName '$index')} right: {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index')} ) ) op: assign_op.Equal rhs: {<1>} spids: [76082] ) ] ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Automation: '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$index')} ) ) ) <'. Flagged for installation.'> ) } ) ] spids: [76058 76078] ) ] ) ] ) redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {</DietPi/dietpi.txt>} ) ] ) ] spids: [75956 75970] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$AUTOINSTALL_SSHINDEX')} spids: [76128] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$AUTOINSTALL_FILESERVERINDEX')} spids: [76132] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$AUTOINSTALL_LOGGINGINDEX')} spids: [76136] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$AUTOINSTALL_WEBSERVERINDEX')} spids: [76140] ) ] ) (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<preferipversion>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PREFER_IPVERSION='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) ) } ) ] ) ) (command.ShFunction name: FirstRun_DietPi_Update body: (command.BraceGroup children: [ (command.Simple words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}] redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})] ) (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</DietPi/dietpi/.update_stage>} ) ] ) (C {<G_AGUP>}) (C {</DietPi/dietpi/dietpi-update>} {<1>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<cat>} {</DietPi/dietpi/.update_stage>})] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {<1>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</DietPi/dietpi/.update_stage>} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_USER_INPUTS')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi Update Completed'>)} spids: [76306] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} { (DQ <'DietPi has been updated to the latest version.'> <Id.Lit_Other '\\'> <'nYour system will now reboot. Once completed, simply login to resume DietPi Setup. '> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nPress Enter to Continue.'> ) } {<13>} {<65>} ) ] spids: [76292 76302] ) ] ) (C {<reboot>}) (C {<Exit_Destroy>}) ] spids: [76252 76270] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INTERNET_URL_TEST) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<grep>} {<-m1>} {(SQ <'deb '>)} {</etc/apt/sources.list>}) (C {<awk>} {(SQ <'{print $2}'>)}) ] negated: F ) ] ) ) } spids: [76377] ) ] ) (command.ShFunction name: Check_Internet_Connection body: (command.BraceGroup children: [(C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName '$INTERNET_URL_TEST'))})] ) ) (command.ShFunction name: Input_Modes body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<-1>} spids: [76445] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DISABLE_REBOOT) op: assign_op.Equal rhs: {<1>} spids: [76450] ) ] ) (C {<local>} {<Id.Lit_VarLike 'ainput='> (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_At '$@'))}] ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Automated '> ($ Id.VSub_Number '$1'))} ) (C {<sleep>} {<1>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ < 'Please enter a software index ID, or, choice system INDEX_*_TARGET=-?' > ) } ) ] spids: [76547 76560] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/dietpi-services>} {<stop>})] spids: [76582 76599] ) ] ) (command.ForEach iter_name: i iter_words: [ { (DQ (braced_var_sub token: <Id.VSub_Name ainput> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName '$i')} right: {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Uninstall_Software>} {(DQ ($ Id.VSub_DollarName '$i'))} ) ] spids: [76669 76686] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) op: assign_op.Equal rhs: {<1>} spids: [76755] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [76763] ) ] ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Reinstalling '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) ) } ) (C {<sleep>} {<1>}) ] spids: [76719 76738] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ ($ Id.VSub_DollarName '$i') <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <' is not currently installed'> ) } ) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ < 'The program must be installed, before reinstall can be used' > ) } ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'No changes applied for: '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } ) ] ) ] spids: [76698 76715] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) op: assign_op.Equal rhs: {<1>} spids: [76890] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: GOSTARTINSTALL ) op: assign_op.Equal rhs: {<1>} spids: [76898] ) ] ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'Installing '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) ) } ) (C {<sleep>} {<0.5>}) ] spids: [76867 76886] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ ($ Id.VSub_DollarName '$i') <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <' is already installed'> ) } ) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'No changes applied for: '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } ) ] ) ] spids: [76846 76863] ) ] ) ] spids: [76645 76665] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Uninstall_Software_Finalize>}) (C {<Write_InstallFileList>}) (C {</DietPi/dietpi/dietpi-services>} {<start>}) ] spids: [76988 77005] ) ] ) ] ) ] spids: [76471 76521] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <setpermissions>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<Install_Apply_Permissions>}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'Set permissions completed'>)}) ] spids: [77043 77060] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <list>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'string='> (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.Equal rhs: { (DQ <Id.Lit_Other '\\'> <'e[32mID '> ($ Id.VSub_DollarName '$i') <' | '> ) } spids: [77160] ) ] ) ] spids: [77137 77156] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.Equal rhs: { (DQ <Id.Lit_Other '\\'> <'e[0mID '> ($ Id.VSub_DollarName '$i') <' | '> ) } spids: [77174] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: { (DQ <'='> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <' | '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <': '> <Id.Lit_Other '\\'> <'e[90m'> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <Id.Lit_Other '\\'> <'e[0m |'> ) } spids: [77188] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +ALSA'>)} spids: [77242] ) ] ) ] spids: [77219 77238] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_XSERVERXORG > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +XSERVER'>)} spids: [77275] ) ] ) ] spids: [77252 77271] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +DESKTOP'>)} spids: [77309] ) ] ) ] spids: [77286 77305] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +RSYSLOG'>)} spids: [77343] ) ] ) ] spids: [77320 77339] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +FFMPEG'>)} spids: [77377] ) ] ) ] spids: [77354 77373] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_ORACLEJAVA > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +ORACLEJAVA'>)} spids: [77411] ) ] ) ] spids: [77388 77407] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +NODEJS'>)} spids: [77445] ) ] ) ] spids: [77422 77441] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_BUILDESSENTIAL > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +BUILDESSENTIAL'>)} spids: [77479] ) ] ) ] spids: [77456 77475] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +GIT'>)} spids: [77513] ) ] ) ] spids: [77490 77509] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +WEBSERVER'>)} spids: [77547] ) ] ) ] spids: [77524 77543] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +MYSQL'>)} spids: [77581] ) ] ) ] spids: [77558 77577] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: {(SQ <' +SQLITE'>)} spids: [77615] ) ] ) ] spids: [77592 77611] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$G_HW_ARCH' ) } ) ) ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: { (DQ <' '> <Id.Lit_Other '\\'> <'e[31mDISABLED for G_HW_ARCH'> <Id.Lit_Other '\\'> <'e[0m'> ) } spids: [77653] ) ] ) ] spids: [77630 77649] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$G_HW_MODEL' ) } ) ) ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: { (DQ <' '> <Id.Lit_Other '\\'> <'e[31mDISABLED for G_HW_MODEL'> <Id.Lit_Other '\\'> <'e[0m'> ) } spids: [77695] ) ] ) ] spids: [77672 77691] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string) op: assign_op.PlusEqual rhs: { (DQ <' | '> <Id.Lit_Other '\\'> <'e[90m'> ($ Id.VSub_DollarName '$FP_ONLINEDOC_URL') (braced_var_sub token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <Id.Lit_Other '\\'> <'e[0m'> ) } spids: [77736] ) ] ) ] spids: [77714 77732] ) ] ) (C {<echo>} {<-e>} { (DQ (braced_var_sub token: <Id.VSub_Name string> suffix_op: (suffix_op.Unary op_id:Id.VOp1_DComma arg_word:(word.Empty)) ) ) } ) ] ) ) (C {<echo>} {<-e>} { (DQ <'Total Software index HARD limit : '> ($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS_HARDLIMIT') ) } ) (C {<echo>} {<-e>} { (DQ <'Total Software index Current : '> ($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS') ) } ) ] spids: [77085 77102] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <weblist_export>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'fp_export_dir='> (SQ </tmp/dietpi-software/weblist_export>)} ) (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName '$fp_export_dir'))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$fp_export_dir'))}) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName '$fp_export_dir') </category_dietpi_total>) } ) (command.Simple words: [ {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_DIETPI'))} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName '$fp_export_dir') </category_linux_total>) } ) (command.Simple words: [ {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_LINUX'))} ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </category_dietpi_desc>)} spids: [77910] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_DIETPI')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'output='>}) (command.Simple words: [ {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) (C {<sed>} {(SQ <'s/\xe2\x94\x80//g'>)}) ] negated: F ) ] ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </category_linux_desc>)} spids: [77982] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_LINUX')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) (C {<sed>} {(SQ <'s/\xe2\x94\x80//g'>)}) ] negated: F ) ] ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ) (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName '$fp_export_dir') </total_software_index>) } ) (command.Simple words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS'))}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_installed_state>)} spids: [78079] ) ] ) (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_name>)} spids: [78111] ) ] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_desc>)} spids: [78143] ) ] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </category_index>)} spids: [78175] ) ] ) (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_urldocs>)} spids: [78207] ) ] ) (command.Simple words: [ {<printf>} {(DQ <'%s'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_available_hw_model> ) } spids: [78243] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_MODEL')} ) ) ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fp_target) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$fp_export_dir') </software_available_hw_arch> ) } spids: [78303] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.Simple words: [ {<printf>} {(DQ <'%i'> <Id.Lit_Other '\\'> <n>)} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_HW_ARCH')} ) ) ) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$fp_target'))} ) ] ) ] ) ) ] spids: [77807 77824] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Unknown command '> ($ Id.VSub_Number '$1'))}) ] ) (C {<unset>} {<ainput>}) ] ) ) (command.ShFunction name: Exit_Destroy body: (command.BraceGroup children: [ (C {<Software_Arrays_Destroy>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ERROR_TEXT) op: assign_op.Equal rhs: {(DQ )} spids: [78454] ) ] ) (command.ShFunction name: Error_Display body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_USER_INPUTS')}) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <Error>)} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$ERROR_TEXT'))} {<18>} {<70>} ) ] spids: [78472 78482] ) ] else_action: [ (command.Simple words: [{<echo>} {<-e>} {(DQ <'Error: '> ($ Id.VSub_DollarName '$ERROR_TEXT'))}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$FP_DIETPIAUTOMATION_LOG'))} ) ] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_BACKTITLE) op: assign_op.Equal rhs: {(SQ <DietPi-Software>)} spids: [78547] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {<0>} spids: [78553] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: {<0>} spids: [78557] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MENU_MAIN_LASTITEM) op: assign_op.Equal rhs: {(SQ <'Help!'>)} spids: [78561] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [78567] ) ] ) (command.ShFunction name: Menu_CreateSoftwareList body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'software_type='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'max_categories='> ($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_DIETPI') } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:max_categories) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$MAX_SOFTWARE_CATEGORIES_LINUX')} spids: [78617] ) ] ) ] spids: [78599 78613] ) ] ) (C {<local>} {<Id.Lit_VarLike 'whiptail_list='> (sh_array_literal left:<Id.Op_LParen _>)}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$max_categories')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'category_enabled='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:j) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike j>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$j')} ) ) ) } ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_TYPE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$j')} ) ) ) } ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$software_type')} ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$G_HW_MODEL' ) } ) ) ) ) } ) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Comma left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$G_HW_ARCH' ) } ) ) ) ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'selected='> (DQ <off>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:selected) op: assign_op.Equal rhs: {(DQ <on>)} spids: [78819] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) ) op: assign_op.Equal rhs: {<0>} spids: [78853] ) ] ) ] spids: [78826 78845] ) ] ) ] spids: [78796 78815] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$category_enabled' ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_Number '$1')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: whiptail_list ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ )} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) ) } {(DQ <off>)} ] ) } spids: [78914] ) ] ) ] spids: [78896 78910] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_Number '$1')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: whiptail_list ) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ )} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) ) } {(DQ <off>)} ] ) } spids: [78957] ) ] ) ] spids: [78939 78953] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: category_enabled ) op: assign_op.Equal rhs: {<1>} spids: [78982] ) ] ) ] spids: [78874 78888] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:whiptail_list) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ ($ Id.VSub_DollarName '$j'))} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$j' ) } ) ) ) ) } {(DQ ($ Id.VSub_DollarName '$selected'))} ] ) } spids: [78995] ) ] ) ] spids: [78754 78783] ) ] ) ] spids: [78710 78742] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi Software Selection'>)} spids: [79044] ) ] ) (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--checklist>} {<--separate-output>} { (DQ <'Please use the spacebar to select the software you wish to install.'> <Id.Lit_Other '\\'> <'nSoftware details: http://dietpi.com/software'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<22>} {<78>} {<14>} { (DQ (braced_var_sub token: <Id.VSub_Name whiptail_list> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</tmp/dietpi-software_results>} ) ] ) (C {<unset>} {<whiptail_list>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_DIETPI_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [79130] ) ] ) ] spids: [79112 79126] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Number '$1')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_LINUX_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [79157] ) ] ) ] spids: [79139 79153] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<choice>})] body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$choice')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_Number '$1')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: INSTALL_DIETPI_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [79262] ) ] ) ] spids: [79244 79258] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_Number '$1')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: INSTALL_LINUX_CHOICESMADE ) op: assign_op.Equal rhs: {<1>} spids: [79289] ) ] ) ] spids: [79271 79285] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) op: assign_op.Equal rhs: {<1>} spids: [79298] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [79208 79236] ) ] ) ] ) ) ] ) redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {</tmp/dietpi-software_results>} ) ] ) (command.Simple words: [{<rm>} {</tmp/dietpi-software_results>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) ] ) ) (command.ShFunction name: Menu_Main body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'index_sshserver_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_sshserver_text) op: assign_op.Equal rhs: {(DQ <Dropbear>)} spids: [79377] ) ] ) ] spids: [79359 79374] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_sshserver_text) op: assign_op.Equal rhs: {(DQ <OpenSSH>)} spids: [79401] ) ] ) ] spids: [79383 79398] ) ] ) (C {<local>} {<Id.Lit_VarLike 'index_fileserver_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_fileserver_text) op: assign_op.Equal rhs: {(DQ <ProFTP>)} spids: [79441] ) ] ) ] spids: [79423 79438] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_fileserver_text) op: assign_op.Equal rhs: {(DQ <Samba>)} spids: [79465] ) ] ) ] spids: [79447 79462] ) ] ) (C {<local>} {<Id.Lit_VarLike 'index_logging_text='> (DQ <None>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_logging_text) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog #1'>)} spids: [79505] ) ] ) ] spids: [79487 79502] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_logging_text) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog #2'>)} spids: [79529] ) ] ) ] spids: [79511 79526] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_logging_text) op: assign_op.Equal rhs: {(DQ <Full>)} spids: [79553] ) ] ) ] spids: [79535 79550] ) ] ) (C {<local>} {<Id.Lit_VarLike 'toberemoved_text='> (SQ )}) (C {<Check_USB_Drive_Installed>}) (C {<local>} {<Id.Lit_VarLike 'user_data_location_current='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<readlink>} {<-f>} {($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA')}) ] ) ) } ) (C {<local>} {<Id.Lit_VarLike 'user_data_location_description='> (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$user_data_location_current'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$FP_DIETPI_DEDICATED_USBDRIVE'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:user_data_location_description) op: assign_op.Equal rhs: { (DQ <'USB Drive | '> ($ Id.VSub_DollarName '$user_data_location_current') ) } spids: [79628] ) ] ) ] spids: [79607 79624] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$user_data_location_current'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$G_FP_DIETPI_USERDATA'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:user_data_location_description) op: assign_op.Equal rhs: {(DQ <'SD/EMMC | '> ($ Id.VSub_DollarName '$user_data_location_current'))} spids: [79657] ) ] ) ] spids: [79636 79653] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:user_data_location_description) op: assign_op.Equal rhs: {(DQ <'Custom | '> ($ Id.VSub_DollarName '$user_data_location_current'))} spids: [79669] ) ] ) ] ) (C {<local>} {<Id.Lit_VarLike 'index_webserver_text='> (SQ <Apache2>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_webserver_text) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [79712] ) ] ) ] spids: [79693 79708] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:index_webserver_text) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [79738] ) ] ) ] spids: [79719 79734] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <DietPi-Software>)} spids: [79749] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_BACKTITLE) op: assign_op.Equal rhs: { (DQ <'DietPi-Software | IP: '> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<sed>} {<-n>} {<4p>} {</DietPi/dietpi/.network>})] ) ) <' | Device: '> ($ Id.VSub_DollarName '$G_HW_MODEL_DESCRIPTION') ) } spids: [79755] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--menu>} {(DQ )} {<--default-item>} {(DQ ($ Id.VSub_DollarName '$MENU_MAIN_LASTITEM'))} {<--cancel-button>} {(DQ <Exit>)} {<20>} {<100>} {<13>} {(DQ <'Help!'>)} {(DQ <'Links to online guides, docs and information'>)} {(DQ <DietPi-Config>)} {(DQ <'Feature-rich configuration tool for your device'>)} {(DQ )} { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 Select Software \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' > ) } {(DQ <'Software Optimized'>)} {(DQ <'Select DietPi optimized software for installation'>)} {(DQ <'Software Additional'>)} {(DQ <'Select additional Linux software for installation'>)} {(DQ <'SSH Server'>)} {(DQ <': '> ($ Id.VSub_DollarName '$index_sshserver_text'))} {(DQ <'File Server'>)} {(DQ <': '> ($ Id.VSub_DollarName '$index_fileserver_text'))} {(DQ <'Log System'>)} {(DQ <': '> ($ Id.VSub_DollarName '$index_logging_text'))} {(DQ <'Webserver Preference'>)} {(DQ <': '> ($ Id.VSub_DollarName '$index_webserver_text'))} {(DQ <'User Data Location'>)} { (DQ <': '> ($ Id.VSub_DollarName '$user_data_location_description') ) } {(DQ )} { (DQ < '\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80 Install or Remove Software \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' > ) } {(DQ <Uninstall>)} {(DQ <'Select installed software for removal'>)} {(DQ <Install>)} {(DQ <'Go >> Start installation for selected software'>)} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [79773] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [79957] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MENU_MAIN_LASTITEM) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$OPTION'))} spids: [79979] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$OPTION'))} arms: [ (case_arm pat_list: [{(DQ <Uninstall>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<3>} spids: [80003] ) ] ) ] spids: [79996 79999 80008 -1] ) (case_arm pat_list: [{(DQ <'Software Optimized'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<1>} spids: [80019] ) ] ) ] spids: [80012 80015 80024 -1] ) (case_arm pat_list: [{(DQ <'Software Additional'>) <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<2>} spids: [80036] ) ] ) ] spids: [80028 80032 80041 -1] ) (case_arm pat_list: [{(DQ <'SSH Server'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'SSH Server Choices'>)} spids: [80052] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--menu>} { (DQ <'> None'> <Id.Lit_Other '\\'> < 'nSelecting this option will uninstall all SSH servers. This reduces system resources and improves performance. Useful for users who do NOT require networked/remote terminal access.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Dropbear (Recommended)'> <Id.Lit_Other '\\'> < 'nLightweight SSH server, installed by default on DietPi systems.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> OpenSSH'> <Id.Lit_Other '\\'> < 'nA feature rich SSH server with SFTP/SCP support, at the cost of increased resource usage.' > ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} { (DQ ($ Id.VSub_DollarName '$index_sshserver_text') ) } {<21>} {<75>} {<3>} {(DQ <None>)} {(DQ <'Not required / manual setup.'>)} {(DQ <Dropbear>)} {(DQ <'Lightweight SSH Server (Recommended).'>)} {(DQ <OpenSSH>)} { (DQ < 'Feature Rich SSH Server with SFTP/SCP support.' > ) } ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [80058] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [80173] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'Dropbear and OpenSSH Server'>)} spids: [80177] ) ] ) ] spids: [80152 80169] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Dropbear>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [80205] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'OpenSSH Server'>)} spids: [80209] ) ] ) ] spids: [80184 80201] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <OpenSSH>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [80237] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <Dropbear>)} spids: [80241] ) ] ) ] spids: [80216 80233] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_CURRENT')} spids: [80256] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_SSHSERVER_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [80269] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET') } ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_SSHSERVER_CURRENT' ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_SSHSERVER_CHOICESMADE) op: assign_op.Equal rhs: {<1>} spids: [80291] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(DQ <'SSH Server Change'>)} spids: [80300] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$OPTION') <' has been selected:'> <Id.Lit_Other '\\'> < "n- Your choice will be applied when 'Install Go >> Start installation' is selected." > <Id.Lit_Other '\\'> <'n- '> ($ Id.VSub_DollarName '$toberemoved_text') < ' installations will be automatically uninstalled.' > ) } spids: [80306] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<75>} ) ] spids: [80273 80287] ) ] ) ] spids: [80045 80048 80348 -1] ) (case_arm pat_list: [{(DQ <'File Server'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Fileserver Choices'>)} spids: [80359] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--menu>} { (DQ <'> None'> <Id.Lit_Other '\\'> < 'nSelect this option if you do NOT require a method of accessing files and folders on this device, over a network.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> ProFTP (Recommended for RPi v1)'> <Id.Lit_Other '\\'> < 'nAllows you to access/share files on this device efficiently with minimal cpu usage. Uses FTP protocol.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Samba (Recommended for RPi v2)'> <Id.Lit_Other '\\'> < 'nAllows you to easily access/share files on this device, at the cost of higher cpu usage.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nMore info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=15#p19' > ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} { (DQ ($ Id.VSub_DollarName '$index_fileserver_text') ) } {<23>} {<75>} {<3>} {(DQ <None>)} {(DQ <'Not required / manual setup.'>)} {(DQ <ProFTP>)} { (DQ < 'Efficient, lightweight fileserver (recommended).' > ) } {(DQ <Samba>)} {(DQ <'Feature-rich fileserver.'>)} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [80365] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [80483] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'ProFTP and Samba Server'>)} spids: [80487] ) ] ) ] spids: [80463 80480] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <ProFTP>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [80513] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'Samba Server'>)} spids: [80517] ) ] ) ] spids: [80493 80510] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Samba>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [80543] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <ProFTP>)} spids: [80547] ) ] ) ] spids: [80523 80540] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILESERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_FILESERVER_CURRENT')} spids: [80560] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_FILESERVER_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [80572] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_FILESERVER_TARGET' ) } ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_FILESERVER_CURRENT' ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_FILESERVER_CHOICESMADE) op: assign_op.Equal rhs: {<1>} spids: [80593] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(DQ <'Fileserver Choice Change'>)} spids: [80602] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$OPTION') <' has been selected:'> <Id.Lit_Other '\\'> < "n- Your choice will be applied when 'Install Go >> Start installation' is selected." > <Id.Lit_Other '\\'> <'n- '> ($ Id.VSub_DollarName '$toberemoved_text') < ' installations will be automatically uninstalled.' > ) } spids: [80608] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<75>} ) ] spids: [80576 80590] ) ] ) ] spids: [80352 80355 80650 -1] ) (case_arm pat_list: [{(DQ <'Log System'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Logging System Choices'>)} spids: [80661] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--menu>} { (DQ <'> None'> <Id.Lit_Other '\\'> < 'nSelecting this option will uninstall DietPi-Ramlog, Logrotate, Rsyslog.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> DietPi-Ramlog #1 (Max performance)'> <Id.Lit_Other '\\'> < 'nMounts /var/log to RAM, reducing filesystem IO. Logfiles are cleared every hour. Does NOT save logfiles to disk.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> DietPi-Ramlog #2'> <Id.Lit_Other '\\'> < 'nSame as #1, with the added feature of saving logfile contents to disk (' > ($ Id.VSub_DollarName '$HOME') <'/logfile_storage/*), before being cleared.'> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Full (Reduces performance)'> <Id.Lit_Other '\\'> < 'nMounts /var/log to DISK, reduces SDcard lifespan. Full logging system with Logrotate and Rsyslog.' > ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} {(DQ ($ Id.VSub_DollarName '$index_logging_text'))} {<25>} {<75>} {<4>} {(DQ <None>)} {(DQ <' Not required / manual setup.'>)} {(DQ <'DietPi-Ramlog #1'>)} {(DQ <' Hourly clear (recommended).'>)} {(DQ <'DietPi-Ramlog #2'>)} {(DQ <' Hourly save, then clear.'>)} {(DQ <Full>)} {(DQ <' Logrotate and Rsyslog.'>)} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [80667] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<0>} spids: [80799] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'DietPi-Ramlog, Logrotate, Rsyslog'>)} spids: [80803] ) ] ) ] spids: [80779 80796] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #1'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [80829] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'Logrotate, Rsyslog'>)} spids: [80833] ) ] ) ] spids: [80809 80826] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #2'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [80859] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <'Logrotate, Rsyslog'>)} spids: [80863] ) ] ) ] spids: [80839 80856] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Full>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {<-3>} spids: [80889] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toberemoved_text) op: assign_op.Equal rhs: {(DQ <DietPi-Ramlog>)} spids: [80893] ) ] ) ] spids: [80869 80886] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_LOGGING_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_LOGGING_CURRENT')} spids: [80906] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_LOGGING_CHOICESMADE) op: assign_op.Equal rhs: {<0>} spids: [80918] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_TARGET')} ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_LOGGING_CURRENT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INSTALL_LOGGING_CHOICESMADE) op: assign_op.Equal rhs: {<1>} spids: [80939] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(DQ <'Logging System Change'>)} spids: [80948] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$OPTION') <' has been selected:'> <Id.Lit_Other '\\'> < "n- Your choice will be applied when 'Install Go >> Start installation' is selected." > <Id.Lit_Other '\\'> <'n- '> ($ Id.VSub_DollarName '$toberemoved_text') < ' installations will be automatically uninstalled.' > ) } spids: [80954] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<75>} ) ] spids: [80922 80936] ) ] ) ] spids: [80654 80657 80995 -1] ) (case_arm pat_list: [{(DQ <'User Data Location'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'User Data Location'>)} spids: [81006] ) ] ) (C {<local>} {<Id.Lit_VarLike 'move_data_target='> ($ Id.VSub_DollarName '$user_data_location_current') } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--menu>} { (DQ < 'Choose where to store your user data. User data includes software such as Owncloud data store, BitTorrent downloads etc' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nMore information on user data in DietPi:'> <Id.Lit_Other '\\'> <'n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=478&p=2087'> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> DietPi-Drive Manager'> <Id.Lit_Other '\\'> < 'nLaunch DietPi-Drive Manager to setup external drives, and, move user data to different locations.' > ) } {<--cancel-button>} {(DQ <Back>)} {<20>} {<85>} {<3>} {(DQ <'Drive Manager'>)} {(DQ <'Launches DietPi-Drive Manager'>)} {(DQ <List>)} { (DQ < 'Select from a list of available mounts/drives, to move user data' > ) } {(DQ <Custom>)} {(DQ <'Input a manual location to move user data'>)} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [81024] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [81105] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <'Drive Manager'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/dietpi-drive_manager>})] spids: [81132 81149] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <List>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/dietpi-drive_manager>} {<1>}) (C {<local>} {<Id.Lit_VarLike 'return_value='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<cat>} {</tmp/dietpi-drive_manager_selmnt>} ) ] ) ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ ($ Id.VSub_DollarName '$return_value') ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ ($ Id.VSub_DollarName '$return_value' ) ) } {<Id.Lit_Equals '='>} {(DQ </>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: return_value ) op: assign_op.Equal rhs: {(SQ </mnt>)} spids: [81238] ) ] ) ] spids: [81217 81234] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: move_data_target ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$return_value') ) } spids: [81249] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: move_data_target ) op: assign_op.PlusEqual rhs: {(SQ </dietpi_userdata>)} spids: [81255] ) ] ) ] spids: [81200 81213] ) ] ) ] spids: [81161 81178] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Custom>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--inputbox>} { (DQ < 'Please input a location. Your user data will be stored inside this location.' > <Id.Lit_Other '\\'> <'n - eg: /mnt/MyDrive/MyData'> ) } {<11>} {<60>} { (DQ ($ Id.VSub_DollarName '$user_data_location_current' ) ) } {<--title>} { (DQ < 'User/Personal Data Directory' > ) } {<--backtitle>} { (DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE' ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [81291] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [81334] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$CHOICE') } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: move_data_target ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OPTION')} spids: [81355] ) ] ) ] spids: [81338 81352] ) ] ) ] spids: [81270 81287] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (DQ ($ Id.VSub_DollarName '$user_data_location_current' ) ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$move_data_target'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer'>)} {<--yesno>} { (DQ < 'DietPi will now attempt to transfer your existing user data to the new location:' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - From: '> ($ Id.VSub_DollarName '$user_data_location_current') <Id.Lit_Other '\\'> <'n - To: '> ($ Id.VSub_DollarName '$move_data_target') <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nWould you like to begin?'> ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--defaultno>} {<14>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [81436] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$CHOICE') } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_userdata>} { (DQ ($ Id.VSub_DollarName '$user_data_location_current' ) ) } {(DQ ($ Id.VSub_DollarName '$move_data_target'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_QMark '$?')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer: Completed'>)} {<--msgbox>} { (DQ < 'Your user data has been sucessfuly moved:' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - From: '> ($ Id.VSub_DollarName '$user_data_location_current' ) <Id.Lit_Other '\\'> <'n - To: '> ($ Id.VSub_DollarName '$move_data_target') ) } {<12>} {<70>} ) ] spids: [81474 81488] ) ] else_action: [ (C {<whiptail>} {<--title>} {(DQ <'User data transfer: Failed'>)} {<--msgbox>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<cat>} { < /var/log/dietpi-move_userdata.log > } ) ] ) ) <Id.Lit_Other '\\'> <'nNo changes have been applied.'> ) } {<12>} {<70>} ) ] ) ] spids: [81440 81454] ) ] ) ] spids: [81371 81389] ) ] ) ] spids: [81110 81124] ) ] ) ] spids: [80999 81002 81565 -1] ) (case_arm pat_list: [{(DQ <'Webserver Preference'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Webserver Preference'>)} spids: [81575] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--menu>} { (DQ < 'More Info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1549#p1549' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Apache2'> <Id.Lit_Other '\\'> < 'nFeature-rich and popular. Recommended for beginners and users who are looking to follow Apache2 based guides.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Nginx'> <Id.Lit_Other '\\'> < 'nLightweight alternative to Apache2. Nginx claims faster webserver performance compared to Apache2.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n> Lighttpd'> <Id.Lit_Other '\\'> < 'nExtremely lightweight and is generally considered to offer the ' > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <best> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <" webserver performance for SBC's. Recommended for users who expect low webserver traffic."> ) } {<--cancel-button>} {(DQ <Back>)} {<--default-item>} { (DQ ($ Id.VSub_DollarName '$index_webserver_text') ) } {<24>} {<75>} {<3>} {(DQ <Apache2>)} {(DQ <'Popular webserver.'>)} {(DQ <Nginx>)} {(DQ <'Lightweight webserver.'>)} {(DQ <Lighttpd>)} {(DQ <'Extremely lightweight webserver.'>)} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [81581] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Apache2>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {<0>} spids: [81703] ) ] ) ] spids: [81683 81700] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Nginx>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {<-1>} spids: [81727] ) ] ) ] spids: [81707 81724] ) (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$OPTION'))} {<Id.Lit_Equals '='>} {(DQ <Lighttpd>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [81751] ) ] ) ] spids: [81731 81748] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_CURRENT')} spids: [81762] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET') } ) right: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_CURRENT' ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<local>} {<Id.Lit_VarLike 'incompatible_webserver_preference='> <0>} ) (C {<local>} {<Id.Lit_VarLike 'info_currently_installed_webserver='> (SQ <None>) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <apache2>)} ) ] negated: F ) ] ) ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<0>} spids: [81847] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Apache2>)} spids: [81851] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [81874] ) ] ) ] spids: [81857 81871] ) ] ) ] spids: [81811 81844] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <nginx>)} ) ] negated: F ) ] ) ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-1>} spids: [81918] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Nginx>)} spids: [81922] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [81946] ) ] ) ] spids: [81928 81943] ) ] ) ] spids: [81881 81915] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<dpkg>} {<-l>}) (C {<awk>} {(SQ <'{print $2}'>)}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <lighttpd>)} ) ] negated: F ) ] ) ) } ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: INDEX_WEBSERVER_CURRENT ) op: assign_op.Equal rhs: {<-2>} spids: [81990] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: info_currently_installed_webserver ) op: assign_op.Equal rhs: {(SQ <Lighttpd>)} spids: [81994] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET' ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w: {<Id.Lit_Digits 2>} ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: incompatible_webserver_preference ) op: assign_op.Equal rhs: {<1>} spids: [82018] ) ] ) ] spids: [82000 82015] ) ] ) ] spids: [81953 81987] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$incompatible_webserver_preference' ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_WEBSERVER_TARGET) op: assign_op.Equal rhs: { ($ Id.VSub_DollarName '$INDEX_WEBSERVER_CURRENT' ) } spids: [82051] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: { (DQ <'Error: Incompatible Webserver Preference'> ) } spids: [82060] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'Unable to change your webserver preference to ' > ($ Id.VSub_DollarName '$OPTION') <.> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nThis is due to an existing and incompatible webserver installation on your system (' > ($ Id.VSub_DollarName '$info_currently_installed_webserver') < '). Please remove all webserver based software (using dietpi-software > uninstall), before trying again.' > ) } spids: [82066] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<75>} ) ] spids: [82033 82047] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(DQ <'Webserver Preference Changed'>)} spids: [82119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$OPTION') < ' has been selected as your webserver preference.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nWhen you select any software for install that requires a webserver, DietPi will automatically install your prefered choice (' > ($ Id.VSub_DollarName '$OPTION') <').'> ) } spids: [82125] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<75>} ) ] ) ] spids: [81774 81788] ) ] ) ] spids: [81569 81572 82178 -1] ) (case_arm pat_list: [{(DQ <DietPi-Config>)}] action: [(C {</DietPi/dietpi/dietpi-config>})] spids: [82182 82185 82193 -1] ) (case_arm pat_list: [{(DQ <'Help!'>)}] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 82234 stdin_parts: [ < '\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\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n' > <'Welcome to DietPi:\n'> < '\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\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n' > < 'Use PageUp/Down or Arrow Up/Down to scroll this help screen.\n' > <'Press ESC, or TAB then enter to exit this help screen.\n'> <'\n'> <'Easy to follow, step by step guides for installing DietPi:\n'> <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=9\n'> <'\n'> <'For a list of all installation options and their details:\n'> <'http://dietpi.com/software\n'> <'\n'> < '\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\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n' > < 'List of installed software and their URL links for online docs:\n' > < '\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\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n' > ] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {</tmp/dietpi-software_help_onlinedoc_url_list>} ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<cat>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<_EOF_>} here_end_span_id: 82343 stdin_parts: [ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <'\n'> ($ Id.VSub_DollarName '$FP_ONLINEDOC_URL') (braced_var_sub token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <'\n'> <'\n'> ] ) (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: { < /tmp/dietpi-software_help_onlinedoc_url_list > } ) ] ) ] spids: [82287 82305] ) ] ) ] spids: [82264 82283] ) ] ) ] ) ) (C {<whiptail>} {<--title>} {(DQ <'DietPi - Help'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--textbox>} {</tmp/dietpi-software_help_onlinedoc_url_list>} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<tput>} {<lines>})] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) } { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<tput>} {<cols>})] ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) } {<--scrolltext>} ) ] spids: [82197 82200 82410 -1] ) (case_arm pat_list: [{<Install>}] action: [(C {<Menu_StartInstall>})] spids: [82414 82415 82423 -1] ) ] ) ] spids: [79961 79975] ) ] else_action: [(C {<Menu_Exit>})] ) ] ) ) (command.ShFunction name: Menu_Exit body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Exit Setup?'>)} spids: [82479] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < ' DietPi has not fully been installed.\\n This must be completed prior to using DietPi by selecting:\\n - Go Start Install. \\n \\n Would you like to exit and abort the installation?' > ) } spids: [82485] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<13>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [82530] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})] spids: [82534 82548] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [82568] ) ] ) ] ) ] spids: [82462 82476] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Exit DietPi-Software?'>)} spids: [82596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Do you wish to exit DietPi-Software?\\n\\nAll changes to software selections will be cleared.' > ) } spids: [82602] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<11>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [82647] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})] spids: [82651 82665] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [82685] ) ] ) ] ) ] spids: [82579 82593] ) ] ) ] ) ) (command.ShFunction name: Menu_ConfirmInstall body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'string_output='> (SQ )}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:string_output) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <'n - '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } spids: [82763] ) ] ) ] spids: [82740 82759] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi - Start Installation?'>)} spids: [82796] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ <'DietPi is now ready to install your software choices: '> ($ Id.VSub_DollarName '$string_output') <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nSoftware details, usernames, passwords etc:'> <Id.Lit_Other '\\'> <'n - http://dietpi.com/software'> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nWould you like to begin?'> ) } spids: [82802] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<20>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [82858] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<-1>} spids: [82884] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GOSTARTINSTALL) op: assign_op.Equal rhs: {<1>} spids: [82893] ) ] ) ] spids: [82862 82876] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [82906] ) ] ) ] ) ] ) ) (command.ShFunction name: Menu_StartInstall body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$INSTALL_DIETPI_CHOICESMADE') } ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALL_LINUX_CHOICESMADE')} ) ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALL_SSHSERVER_CHOICESMADE')} ) ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALL_FILESERVER_CHOICESMADE')} ) ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INSTALL_LOGGING_CHOICESMADE')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Menu_ConfirmInstall>})] spids: [82930 82960] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'No Software Selected. Continue?'>)} spids: [82998] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'DietPi was unable to detect any software selections for install. Do you wish to continue?\\n\\nBy selecting Ok: \\n- DietPi optimized software will NOT be installed.\\nYou can use dietpi-software at a later date if you change your mind. \\n\\n- You want a Minimal Raspbian/Debian Server Install.\\nDietPi is a minimal image. A great OS base to use with your projects.' > ) } spids: [83004] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<16>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [83049] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<-1>} spids: [83075] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GOSTARTINSTALL) op: assign_op.Equal rhs: {<1>} spids: [83084] ) ] ) ] spids: [83053 83067] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [83097] ) ] ) ] ) ] spids: [82980 82994] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'No Changes to Software Selection'>)} spids: [83128] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ <'No changes have been detected. Unable to start installation.'>)} {<8>} {<65>} ) ] spids: [83110 83124] ) ] ) ] ) ] ) ) (command.ShFunction name: Menu_Dietpi_Software body: (command.BraceGroup children: [ (C {<Menu_CreateSoftwareList>} {<0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [83194] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 126>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 77>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 78>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 79>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'OMV: Requires Nginx'>)} spids: [83288] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'Open Media Vault (OMV) requires Nginx webserver and is not compatible with other web servers (eg: Lighttpd/Apache2). This is due to the OMV package listing Nginx as a dependency.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nOptions:'> <Id.Lit_Other '\\'> <"n - Change 'web server choice' to 'Nginx'"> <Id.Lit_Other '\\'> < 'n - Uninstall current web server, then, select any Nginx web stack for install (eg: LESP)' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nOpen Media Vault has been deselected and will not be installed.'> ) } spids: [83294] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<19>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 126>}) ) op: assign_op.Equal rhs: {<0>} spids: [83338] ) ] ) ] spids: [83212 83284] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 116>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 44>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'SickRage - Install Transmission?'>)} spids: [83392] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'The DietPi SickRage installation is pre-configured to work with Transmission BitTorrent Server. This will allow SickRage to automatically download TV shows for you.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nNB: If you have another BitTorrent server installed, or prefer manual setup, please select No.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nWould you like DietPi to also install Transmission (recommended)?' > ) } spids: [83398] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<72>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [83439] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 44>}) ) op: assign_op.Equal rhs: {<1>} spids: [83461] ) ] ) ] spids: [83443 83457] ) ] ) ] spids: [83355 83388] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 49>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_SSHSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Gogs: Requires OpenSSH'>)} spids: [83514] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ <'Gogs requires OpenSSH server to function.'> <Id.Lit_Other '\\'> < 'nIf you continue, OpenSSH will be selected for install on your system. OpenSSH will also replace Dropbear (if currently installed).' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nWould you like to continue with the Gogs installation?'> ) } spids: [83520] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<13>} {<65>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [83559] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_SSHSERVER_TARGET) op: assign_op.Equal rhs: {<-2>} spids: [83585] ) ] ) ] spids: [83563 83577] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 49>}) ) op: assign_op.Equal rhs: {<0>} spids: [83594] ) ] ) ] ) ] spids: [83482 83510] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 74>}) ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 82>}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Info: Webserver Stack'>)} spids: [83665] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'DietPi will automatically install a webserver stack (based on your Webserver Preference) when any software that requires a webserver is selected for installation (eg: Owncloud, PiHole etc).' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nIt is highly recommended that you allow DietPi to do this for you, ensuring compatibility and stability across DietPi installed programs.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nPlease only select a webserver stack if you specifically need it, and, no other webserver stack is installed.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nTLDR: You do NOT need to select a webserver stack for installation with DietPi. Its all automatic.' > ) } spids: [83671] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<19>} {<70>} ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [83642 83661] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 90>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$INDEX_WEBSERVER_TARGET')} ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 80>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) right: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 82>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <PhpMyAdmin>)} spids: [83799] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'Due to a apt-get installation issue with PhpMyAdmin, you must have a fully installed Lighttpd + MaridaDB webserver stack, before PhpMyAdmin can be selected for install.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nYour selection for PhpMyAdmin has been removed.'> ) } spids: [83805] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 90>}) ) op: assign_op.Equal rhs: {<0>} spids: [83841] ) ] ) ] spids: [83735 83795] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 59>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'DietPi Cam - Camera'>)} spids: [83881] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'DietPi Cam will automatically start and activate the camera during boot. This will prevent other programs (eg: raspistill) from using the camera.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nYou can free up the camera by selecting '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <'Stop Camera'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' from the web interface:'> <Id.Lit_Other '\\'> <'nhttp://myip/dietpicam'> ) } spids: [83887] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<15>} {<70>} ) ] spids: [83858 83877] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 99>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_EMONHUB_APIKEY_CURRENT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<cat>} {</DietPi/dietpi.txt>}) (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)}) (C {<sed>} {(SQ <'s/.*=//'>)}) ] negated: F ) ] ) ) } spids: [83968] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$USER_EMONHUB_APIKEY_COMPLETED')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'EmonPi/Hub - API KEY'>)} spids: [84013] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ <'Please enter your '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <':'> <Id.Lit_Other '\\'> < 'n - Goto http://emoncms.org and register an account and login.' > <Id.Lit_Other '\\'> <'n - Select '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <Setup> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <' from the top right of screen, then select '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <'My Account'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <Id.Lit_Other '\\'> <'n - Enter the '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'Write API Key'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <' into the box below.'> ) } spids: [84019] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPTION) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [ {<whiptail>} {<--inputbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<14>} {<75>} { (DQ ($ Id.VSub_DollarName '$USER_EMONHUB_APIKEY_CURRENT' ) ) } {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} ] redirects: [ (redir.Redir op: <Id.Redir_GreatAnd '3>&'> fd: 3 arg_word: {<1>} ) (redir.Redir op: <Id.Redir_GreatAnd '1>&'> fd: 1 arg_word: {<2>} ) (redir.Redir op: <Id.Redir_GreatAnd '2>&'> fd: 2 arg_word: {<3>} ) ] ) ] ) ) } spids: [84046] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [84087] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_EMONHUB_APIKEY_CURRENT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OPTION')} spids: [84109] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'EmonPi/Hub - API KEY'>)} spids: [84114] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ <'The following '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' will be applied during installation:'> <Id.Lit_Other '\\'> <n> ($ Id.VSub_DollarName '$USER_EMONHUB_APIKEY_CURRENT') <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nIs this key correct?'> ) } spids: [84120] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<11>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [84162] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 0>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<sed>} {<-i>} { (DQ <'/^SOFTWARE_EMONHUB_APIKEY=/c'> <Id.Lit_Other '\\'> <'SOFTWARE_EMONHUB_APIKEY='> ($ Id.VSub_DollarName '$USER_EMONHUB_APIKEY_CURRENT') ) } {</DietPi/dietpi.txt>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name: USER_EMONHUB_APIKEY_COMPLETED ) op: assign_op.Equal rhs: {<1>} spids: [84203] ) ] ) ] spids: [84166 84180] ) ] ) ] spids: [84091 84105] ) ] ) ] ) ) ] spids: [83937 83956] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 93>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <' Pi-hole - Setup Static IP Now?'>)} spids: [84255] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'A static IP address is essential for Pi-hole installations. DietPi-Config can be used to quickly setup your static IP address.\\n\\nIf you have already setup your static IP, please ignore this message.\\n\\nWould you like to setup your static IP address now?' > ) } spids: [84261] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<15>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [84294] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <' Pi-hole - Setup Static IP'>)} spids: [84316] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'DietPi-Config will now be launched. Simply select your Ethernet or Wifi connection from the menu to access the IP address settings.\\n\\nThe "copy current address to STATIC" menu option can be used to quickly setup your static IP. Please ensure you change the mode "DHCP" to "STATIC".\\n\\nWhen you are done, select "Apply, Save Changes", then exit DietPi-Config to resume setup.' > ) } spids: [84322] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<15>} {<70>} ) (C {</DietPi/dietpi/dietpi-config>} {<8>} {<1>}) ] spids: [84298 84312] ) ] ) ] spids: [84228 84247] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 60>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 61>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ] ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/func/dietpi-set_hardware>} {<wifimodules>} {<enable>}) (C {<local>} {<Id.Lit_VarLike 'check_criteria='> <1>}) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$check_criteria')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'criteria_passed='> <1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(DQ <'WiFi Hotspot Criteria'>)} spids: [84462] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (DQ < 'The following criteria must be met for this installation to succeed:' > ) } spids: [84468] ) ] ) (C {<local>} {<Id.Lit_VarLike 'ethernet_active_state='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<ip>} {<r>}) (C {<grep>} {<-ci>} {<-m1>} { (DQ <eth> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<sed>} {<-n>} {<1p>} {</DietPi/dietpi/.network>} ) ] ) ) ) } ) ] negated: F ) ] ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$ethernet_active_state')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Ethernet online: PASSED'> ) } spids: [84524] ) ] ) ] spids: [84506 84520] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:criteria_passed) op: assign_op.Equal rhs: {<0>} spids: [84538] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Ethernet online: FAILED.'> <Id.Lit_Other '\\'> <'nUse dietpi-config to connect and configure ethernet.'> ) } spids: [84542] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {</sys/class/net/wlan> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<sed>} {<-n>} {<2p>} {</DietPi/dietpi/.network>}) ] ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Wifi adapter detected: PASSED'> ) } spids: [84582] ) ] ) ] spids: [84558 84578] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:criteria_passed) op: assign_op.Equal rhs: {<0>} spids: [84596] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'n - Wifi adapter detected: FAILED.'> <Id.Lit_Other '\\'> <'nPlease connect a WiFi adapter and try again.'> ) } spids: [84600] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$criteria_passed')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nPASSED: Criteria met. Good to go.'> ) } spids: [84638] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_criteria) op: assign_op.Equal rhs: {<0>} spids: [84672] ) ] ) ] spids: [84620 84634] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nFAILED: Criteria not met. Would you like to check again?' > ) } spids: [84685] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<16>} {<75>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [84733] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.Simple words: [{<echo>} {(DQ <retry>)}] redirects: [ (redir.Redir op: <Id.Redir_AndGreat '&>'> fd: -1 arg_word: {</dev/null>} ) ] ) ] spids: [84737 84751] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:check_criteria) op: assign_op.Equal rhs: {<0>} spids: [84775] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 60>}) ) op: assign_op.Equal rhs: {<0>} spids: [84779] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: aSOFTWARE_INSTALL_STATE index: (arith_expr.ArithWord w:{<Id.Lit_Digits 61>}) ) op: assign_op.Equal rhs: {<0>} spids: [84787] ) ] ) (C {<whiptail>} {<--title>} {(DQ <'WiFi Hotspot Failed'>)} {<--msgbox>} {(DQ <'WiFi Hotspot criteria was not met. Your selection has been removed.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<10>} {<65>} ) ] ) ] ) ] ) ) ] spids: [84377 84415] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 68>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Remot3.it - 1st run setup'>)} spids: [84864] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Remot3.it requires you to create an online account, and, link it this device.\\n\\nOnce DietPi has completed your software installations, and rebooted, please follow the First Run tutorial here:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=188#p188' > ) } spids: [84870] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<70>} ) ] spids: [84841 84860] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 92>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Lets Encrypt Info'>)} spids: [84933] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Currently, the DietPi installation of CertBot supports Apache2 & Lighttpd only.\\n\\nOnce the installation has finished, you can setup your free SSL cert with:\\n - DietPi-LetsEncrypt\\n\\nThis is a easy to use frontend for CertBot and allows intergration into DietPi systems.\\n\\nMore information:\\n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1061#p1062' > ) } spids: [84939] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<18>} {<70>} ) ] spids: [84910 84929] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 67>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'NoIp - Setup Now?'>)} spids: [85010] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'NoIp can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup. \\n\\n- More information:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&start=10#p58' > ) } spids: [85016] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<15>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [85061] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Write_InstallFileList>} {<temp>}) (C {</DietPi/dietpi/dietpi-config>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85065 85079] ) ] ) ] spids: [84987 85006] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { < Id.Lit_Digits 23 > } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { < Id.Lit_Digits 24 > } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { <Id.Lit_Digits 25 > } ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 26>} ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 31>} ) ) ) } ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 51>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 108>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 112>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {<Id.Lit_Digits 119>} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 155>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <' DietPi - Boot Options'>)} spids: [85284] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Would you like to configure the auto boot options for DietPi?\\n\\nThis will allow you to choose which program loads automatically after booting eg:\\n - Console\\n - Desktop\\n - Kodi' > ) } spids: [85290] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [85323] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/dietpi-autostart>})] spids: [85327 85341] ) ] ) ] spids: [85131 85276] ) ] ) ] ) ) (command.ShFunction name: Menu_Linux_Software body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED' ) } ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Additional Linux Software'>)} spids: [85392] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'DietPi will automatically install additional Linux software on the next screen, when required (eg: Desktop LXDE will install ALSA + Xserver).\\n\\nThis means you only need to select the software you actually require.' > ) } spids: [85398] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<12>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED) op: assign_op.Equal rhs: {<1>} spids: [85430] ) ] ) ] spids: [85376 85388] ) ] ) (C {<Menu_CreateSoftwareList>} {<1>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [85457] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'FTP Client - Setup Now?'>)} spids: [85497] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'FTP Client as a filesystem mount (CurlFTPfs) can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.' > ) } spids: [85503] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [85548] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Write_InstallFileList>} {<temp>}) (C {</DietPi/dietpi/dietpi-config>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85552 85566] ) ] ) ] spids: [85474 85493] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_TITLE) op: assign_op.Equal rhs: {(SQ <'Samba Client - Setup Now?'>)} spids: [85637] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: { (SQ < 'Samba Client can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.' > ) } spids: [85643] ) ] ) (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<--yesno>} {(DQ ($ Id.VSub_DollarName '$WHIP_QUESTION'))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<13>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [85688] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<Write_InstallFileList>} {<temp>}) (C {</DietPi/dietpi/dietpi-config>} {<16>} {<1>}) (C {<Read_InstallFileList>} {<temp>}) ] spids: [85692 85706] ) ] ) ] spids: [85614 85633] ) ] ) ] ) ) (command.ShFunction name: Menu_Uninstall_Software body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TARGETMENUID) op: assign_op.Equal rhs: {<0>} spids: [85774] ) ] ) (C {<local>} {<Id.Lit_VarLike 'asoftware_for_uninstall='> (sh_array_literal left:<Id.Op_LParen _>)} ) (C {<local>} {<Id.Lit_VarLike 'software_installed_count='> <0>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')}) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) right: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name aSOFTWARE_TYPE> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:whiptail_list_array) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {(DQ ($ Id.VSub_DollarName '$i'))} { (DQ (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) ) } {(DQ <off>)} ] ) } spids: [85862] ) ] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:software_installed_count) ) ) ] spids: [85824 85858] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$software_installed_count')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} {(DQ <'No software is currently installed, or, available for removal.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<9>} {<60>} ) ] spids: [85911 85925] ) ] else_action: [ (command.Simple words: [ {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--checklist>} {<--separate-output>} {(DQ <'Use the spacebar to select the software you would like to remove.'>)} {<--cancel-button>} {(DQ <Cancel>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<18>} {<75>} {<10>} { (DQ (braced_var_sub token: <Id.VSub_Name whiptail_list_array> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {</tmp/dietpi-software_uninstall_results>} ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<read>} {<choice>})] body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName '$choice')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:asoftware_for_uninstall) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName '$choice'))}] ) } spids: [86036] ) ] ) ] spids: [86028 86029 86044 -1] ) ] ) ] ) redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {</tmp/dietpi-software_uninstall_results>} ) ] ) (command.Simple words: [{<rm>} {</tmp/dietpi-software_uninstall_results>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (C {<unset>} {<whiptail_list_array>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name asoftware_for_uninstall> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.Equal rhs: {(SQ <'The following software will be REMOVED from your system:\\n'>)} spids: [86106] ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name asoftware_for_uninstall> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:j) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike j>) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TOTAL_SOFTWARE_INDEXS')} ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name asoftware_for_uninstall > bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: { ($ Id.VSub_DollarName '$i' ) } ) ) ) } ) right: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$j')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WHIP_QUESTION) op: assign_op.PlusEqual rhs: { (DQ <' - '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$j')} ) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$j')} ) ) ) <Id.Lit_Other '\\'> <n> ) } spids: [86188] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [86165 86184] ) ] ) ] ) ) ] ) ) (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software?'>)} {<--yesno>} { (DQ ($ Id.VSub_DollarName '$WHIP_QUESTION') <' '> <Id.Lit_Other '\\'> <'nDo you wish to continue?'> ) } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))} {<20>} {<70>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOICE) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [86271] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$CHOICE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/dietpi-services>} {<stop>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (braced_var_sub token: <Id.VSub_Name asoftware_for_uninstall> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (C {<Uninstall_Software>} { (braced_var_sub token: <Id.VSub_Name asoftware_for_uninstall> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) ] ) ) (C {<Uninstall_Software_Finalize>}) (C {<Write_InstallFileList>}) (C {</DietPi/dietpi/dietpi-services>} {<start>}) (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} {(DQ <'Uninstall completed.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<9>} {<60>} ) ] spids: [86280 86294] ) ] ) ] spids: [86078 86098] ) ] ) ] ) (C {<unset>} {<whiptail_list_array>}) (C {<unset>} {<asoftware_for_uninstall>}) ] ) ) (command.ShFunction name: Banner_Setup body: (command.BraceGroup children: [ (C {</DietPi/dietpi/dietpi-banner>} {<0>}) (C {<echo>} {<-e>} {(DQ <Id.Lit_Other '\\'> <'n Welcome to DietPi-Software '> <Id.Lit_Other '\\'> <n>)} ) ] ) ) (command.ShFunction name: Banner_Installing body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} { (DQ <'Installing '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INSTALLING_INDEX')}) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INSTALLING_INDEX')}) ) ) ) } ) ] ) ) (command.ShFunction name: Banner_Configuration body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} { (DQ <'Configuring '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_NAME> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INSTALLING_INDEX')}) ) ) <': '> (braced_var_sub token: <Id.VSub_Name aSOFTWARE_WHIP_DESC> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INSTALLING_INDEX')}) ) ) ) } ) ] ) ) (command.ShFunction name: Banner_Apt_Update body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Update & upgrade APT'>)}) (C {<sleep>} {<1>}) ] ) ) (command.ShFunction name: Banner_Reboot body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$DISABLE_REBOOT')} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Installation completed'>)}) (C {<G_DIETPI-NOTIFY>} {<0>} { (DQ <'The system will now reboot. '> <Id.Lit_Other '\\'> <'n This completes the DietPi-Software installation.'> <Id.Lit_Other '\\'> <n> ) } ) (C {<sleep>} {<3>}) ] spids: [86588 86600] ) ] else_action: [ (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'DietPi-Software installation completed.'>)}) ] ) ] ) ) (command.ShFunction name: Banner_Configs body: (command.BraceGroup children: [ (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Optimize and configure software'>)}) (C {<G_DIETPI-NOTIFY>} {<2>} { (DQ <'Applying DietPi optimizations and configurations for '> ($ Id.VSub_DollarName '$G_HW_MODEL_DESCRIPTION') <', please wait...'> <Id.Lit_Other '\\'> <n> ) } ) ] ) ) (command.ShFunction name: Banner_Aborted body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/dietpi-banner>} {<0>}) (C {<G_DIETPI-NOTIFY>} {<1>} { (DQ <Id.Lit_Other '\\'> <'n Installation Aborted by User '> <Id.Lit_Other '\\'> <'n Installation must be completed prior to using DietPi '> <Id.Lit_Other '\\'> <'n Please run dietpi-software to restart the installation '> <Id.Lit_Other '\\'> <n> ) } ) ] spids: [86702 86716] ) ] else_action: [(C {</DietPi/dietpi/dietpi-banner>} {<1>})] ) ] ) ) (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Initializing database, please wait...'>)}) (C {<Software_Arrays_Init>}) (C {<Read_InstallFileList>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] action: [(C {<Input_Modes>} {(DQ ($ Id.VSub_At '$@'))})] spids: [86822 86835] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<FirstRun_Automation_Init>})] spids: [86871 86885] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) right: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_USER_INPUTS')}) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<whiptail>} {<--title>} {(DQ <'DietPi - GPLv2 License'>)} {<--msgbox>} { (DQ < 'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> < 'nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.' > <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nYou should have received a copy of the GNU General Public License'> <Id.Lit_Other '\\'> <'nalong with this program. If not, see http://www.gnu.org/licenses/'> ) } {<--backtitle>} {(DQ <'DietPi - GPLv2 Compliance'>)} {<18>} {<70>} ) ] spids: [86901 86919] ) ] ) (C {<Banner_Setup>}) (C {<Check_NTPD_Status>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<cat>} {</DietPi/dietpi/.update_stage>})] ) ) } ) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Check_Internet_Connection>}) (C {<FirstRun_DietPi_Update>})] spids: [86983 87002] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$G_DIETPI_INSTALL_STAGE')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<FirstRun_Automation_Set>})] spids: [87022 87036] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TARGETMENUID')}) right: (arith_expr.Unary op_id: Id.Node_UnaryMinus child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (C {<clear>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TARGETMENUID')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Menu_Main>})] spids: [87079 87093] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TARGETMENUID')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Menu_Dietpi_Software>})] spids: [87101 87115] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TARGETMENUID')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Menu_Linux_Software>})] spids: [87123 87137] ) (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$TARGETMENUID')} ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Menu_Uninstall_Software>})] spids: [87145 87159] ) ] ) ] ) ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$GOSTARTINSTALL')}) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {</DietPi/dietpi/dietpi-drive_manager>} {<2>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.ArithWord w:{($ Id.VSub_QMark '$?')}) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<Exit_Destroy>})] spids: [87210 87224] ) ] ) (C {<Check_Internet_Connection>}) (C {<Run_Installations>}) (command.Simple words: [{</DietPi/dietpi/dietpi-survey>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] ) (C {<Banner_Reboot>}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$DISABLE_REBOOT')}) ) terminator: <Id.Op_Semi _> ) ] action: [(C {</DietPi/dietpi/dietpi-services>} {<start>})] spids: [87268 87278] ) ] else_action: [(C {<sync>}) (C {<reboot>})] ) ] spids: [87187 87197] ) ] ) (C {<Exit_Destroy>}) ] )