(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tid) op: assign_op.Equal rhs: {(DQ <'local and remote forwarding'>)} spids: [7] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DATA) op: assign_op.Equal rhs: {<'/bin/ls'> (${ Id.VSub_Name EXEEXT)} spids: [13] ) ] ) (C {<start_sshd>}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:base) op:assign_op.Equal rhs:{<33>} spids:[23])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$PORT')} spids: [26] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fwd) op:assign_op.Equal rhs:{(DQ )} spids:[29])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CTL) op: assign_op.Equal rhs: {<'/tmp/openssh.regress.ctl-sock.'> ($ Id.VSub_Dollar '$$')} spids: [33] ) ] ) (command.ForEach iter_name: j iter_words: [{<0>} {<1>} {<2>}] do_arg_iter: F body: (command.DoGroup children: [ (command.ForEach iter_name: i iter_words: [{<0>} {<1>} {<2>}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:a) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$base') ($ Id.VSub_DollarName '$j') ($ Id.VSub_DollarName '$i') } spids: [70] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:b) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName '$a')} {<Id.Lit_Other '+'>} {<50>}) ) } spids: [76] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:c) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$last')} spids: [90] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fwd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$fwd') <' -L'> ($ Id.VSub_DollarName '$a') <':127.0.0.1:'> ($ Id.VSub_DollarName '$b') <' -R'> ($ Id.VSub_DollarName '$b') <':127.0.0.1:'> ($ Id.VSub_DollarName '$c') ) } spids: [98] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:last) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$a')} spids: [112] ) ] ) ] ) ) ] ) ) (command.ForEach iter_name: p iter_words: [{(${ Id.VSub_Name SSH_PROTOCOLS)}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:q) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {<3>} {<->} {($ Id.VSub_DollarName '$p')}) ) } spids: [134] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [(C {<ssh_version>} {($ Id.VSub_DollarName '$q')})] negated: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:q) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$p')} spids: [160] ) ] ) ] spids: [148 157] ) ] ) (C {<trace>} {(DQ <'start forwarding, fork to background'>)}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$CTL')}) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-M>} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-f>} {($ Id.VSub_DollarName '$fwd')} {<somehost>} {<sleep>} {<10>} ) (C {<trace>} {(DQ <'transfer over forwarded channels and check result'>)}) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-> ($ Id.VSub_DollarName '$q')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-p> ($ Id.VSub_DollarName '$last')} {<-o>} {(SQ <'ConnectionAttempts=4'>)} {<somehost>} {<cat>} {(${ Id.VSub_Name DATA)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name COPY)} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-s>} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'failed copy of '> (${ Id.VSub_Name DATA))}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cmp>} {(${ Id.VSub_Name DATA)} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'corrupted copy of '> (${ Id.VSub_Name DATA))}) ] ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) ] ) ) (command.ForEach iter_name: p iter_words: [{(${ Id.VSub_Name SSH_PROTOCOLS)}] do_arg_iter: F body: (command.DoGroup children: [ (command.ForEach iter_name: d iter_words: [{<L>} {<R>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<trace>} { (DQ <'exit on -'> ($ Id.VSub_DollarName '$d') <' forward failure, proto '> ($ Id.VSub_DollarName '$p') ) } ) (C {(${ Id.VSub_Name SSH)} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <02> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <03> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <04> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-oExitOnForwardFailure> <Id.Lit_Equals '='> <yes>} {<somehost>} {<true>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fatal>} {(DQ <'connection failed, should not'>)})] spids: [442 456] ) ] else_action: [ (C {(${ Id.VSub_Name SSH)} {<-q>} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <02> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <03> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <localhost> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-> ($ Id.VSub_DollarName '$d')} {(${ Id.VSub_Name base) <04> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-oExitOnForwardFailure> <Id.Lit_Equals '='> <yes>} {<somehost>} {<true>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [568] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<255>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<fail>} { (DQ <'connection not termintated, but should ('> ($ Id.VSub_DollarName '$r') <')'> ) } ) ] spids: [572 586] ) ] ) ] ) ] ) ) ] ) ) (command.ForEach iter_name: p iter_words: [{(${ Id.VSub_Name SSH_PROTOCOLS)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<trace>} {(DQ <'simple clear forwarding proto '> ($ Id.VSub_DollarName '$p'))}) (C {(${ Id.VSub_Name SSH)} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-oClearAllForwardings> <Id.Lit_Equals '='> <yes>} {<somehost>} {<true>} ) (C {<trace>} {(DQ <'clear local forward proto '> ($ Id.VSub_DollarName '$p'))}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$CTL')}) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-M>} {<-> ($ Id.VSub_DollarName '$p')} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-L>} {(${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-oClearAllForwardings> <Id.Lit_Equals '='> <yes>} {<somehost>} {<sleep>} {<10>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'connection failed with cleared local forwarding'>)})] spids: [711 725] ) ] else_action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-p>} {(${ Id.VSub_Name base) <01>} {<somehost>} {<true>} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TEST_REGRESS_LOGFILE')} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<fail>} {(DQ <'local forwarding not cleared'>)}) ] ) ] ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) (C {<trace>} {(DQ <'clear remote forward proto '> ($ Id.VSub_DollarName '$p'))}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$CTL')}) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-M>} {<-> ($ Id.VSub_DollarName '$p')} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-R>} {(${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<-oClearAllForwardings> <Id.Lit_Equals '='> <yes>} {<somehost>} {<sleep>} {<10>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'connection failed with cleared remote forwarding'>)})] spids: [868 882] ) ] else_action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-p>} {(${ Id.VSub_Name base) <01>} {<somehost>} {<true>} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TEST_REGRESS_LOGFILE')} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (C {<fail>} {(DQ <'remote forwarding not cleared'>)}) ] ) ] ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) ] ) ) (command.ForEach iter_name: p iter_words: [{<2>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<trace>} {(DQ <'stdio forwarding proto '> ($ Id.VSub_DollarName '$p'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name SSH) <' -'> ($ Id.VSub_DollarName '$p') <' -F '> ($ Id.VSub_DollarName '$OBJ') <'/ssh_config'> ) } spids: [986] ) ] ) (C {($ Id.VSub_DollarName '$cmd')} {<-o>} { (DQ <'ProxyCommand '> ($ Id.VSub_DollarName '$cmd') <' -q -W localhost:'> ($ Id.VSub_DollarName '$PORT') <' somehost'> ) } {<somehost>} {<true>} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '$?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'stdio forwarding proto '> ($ Id.VSub_DollarName '$p'))})] spids: [1018 1032] ) ] ) ] ) ) (command.Simple words: [ {<echo>} { (DQ <'LocalForward '> (${ Id.VSub_Name base) <'01 127.0.0.1:'> ($ Id.VSub_DollarName '$PORT')) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} ) ] do_fork: T ) (command.Simple words: [ {<echo>} {(DQ <'RemoteForward '> (${ Id.VSub_Name base) <'02 127.0.0.1:'> (${ Id.VSub_Name base) <01>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} ) ] do_fork: T ) (command.ForEach iter_name: p iter_words: [{(${ Id.VSub_Name SSH_PROTOCOLS)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<trace>} {(DQ <'config file: start forwarding, fork to background'>)}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$CTL')}) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-M>} {<-> ($ Id.VSub_DollarName '$p')} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-f>} {<somehost>} {<sleep>} {<10>} ) (C {<trace>} {(DQ <'config file: transfer over forwarded channels and check result'>)}) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-p> (${ Id.VSub_Name base) <02>} {<-o>} {(SQ <'ConnectionAttempts=4'>)} {<somehost>} {<cat>} {(${ Id.VSub_Name DATA)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name COPY)} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-s>} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'failed copy of '> (${ Id.VSub_Name DATA))}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cmp>} {(${ Id.VSub_Name DATA)} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'corrupted copy of '> (${ Id.VSub_Name DATA))}) ] ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) ] ) ) (command.ForEach iter_name: p iter_words: [{<2>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<trace>} {(DQ <'transfer over chained unix domain socket forwards and check result'>)}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$OBJ') <'/unix-'> <Id.Lit_LBracket '['> <123> <Id.Lit_RBracket ']'> <.fwd> } ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$CTL')} {($ Id.VSub_DollarName '$CTL') <.> <Id.Lit_LBracket '['> <123> <Id.Lit_RBracket ']'>} ) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-M>} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-R> (${ Id.VSub_Name base) <01> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-1.fwd'> <Id.Lit_RBracket ']'> } {<somehost>} {<sleep>} {<10>} ) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL') <.1>} {<-M>} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-L> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-1.fwd'> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-2.fwd'> <Id.Lit_RBracket ']'> } {<somehost>} {<sleep>} {<10>} ) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL') <.2>} {<-M>} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-R> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-2.fwd'> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-3.fwd'> <Id.Lit_RBracket ']'> } {<somehost>} {<sleep>} {<10>} ) (C {(${ Id.VSub_Name SSH)} {<-S>} {($ Id.VSub_DollarName '$CTL') <.3>} {<-M>} {<-f>} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-L> <Id.Lit_LBracket '['> ($ Id.VSub_DollarName '$OBJ') <'/unix-3.fwd'> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <127.0.0.1> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PORT') } {<somehost>} {<sleep>} {<10>} ) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-p> (${ Id.VSub_Name base) <01>} {<-o>} {(SQ <'ConnectionAttempts=4'>)} {<somehost>} {<cat>} {(${ Id.VSub_Name DATA)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name COPY)} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-s>} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'failed copy '> (${ Id.VSub_Name DATA))}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cmp>} {(${ Id.VSub_Name DATA)} {(${ Id.VSub_Name COPY)}) (C {<fail>} {(DQ <'corrupted copy of '> (${ Id.VSub_Name DATA))}) ] ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL')} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL') <.1>} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL') <.2>} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) (C {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_config'>} {<-S>} {($ Id.VSub_DollarName '$CTL') <.3>} {<-O>} {<Id.ControlFlow_Exit exit>} {<somehost>} ) ] ) ) ] )