(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tid)
          op: Equal
          rhs: {(DQ ('simple connect after reconfigure'))}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ (x) ($ VSub_Name '$USE_VALGRIND'))} {(Lit_Other '=')} {(DQ (x))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Case
              to_match: {($ VSub_Name '$SSHD')}
              arms: [
                (case_arm pat_list:[{(/) (Lit_Other '*')}] spids:[434552-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SSHD)
                          op: Equal
                          rhs: {($ VSub_Name '$OBJ') (/) ($ VSub_Name '$SSHD')}
                          spids: [63]
                        )
                      ]
                      spids: [63]
                    )
                  ]
                  spids: [55 56 -1 69]
                )
              ]
              spids: [36 40 69]
            )
          ]
          spids: [-1 33]
        )
      ]
      spids: [-1 71]
    )
    (C {(start_sshd)})
    (C {(trace)} {(DQ ('connect before restart'))})
    (ForEach
      iter_name: p
      iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(${ VSub_Name SSH)} {(-o)} {(DQ ('Protocol=') ($ VSub_Name '$p'))} {(-F)} 
              {($ VSub_Name '$OBJ') (/ssh_config)} {(somehost)} {(true)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(fail)} 
                      {
                        (DQ ('ssh connect with protocol ') ($ VSub_Name '$p') 
                          (' failed before reconfigure')
                        )
                      }
                    )
                  ]
                  spids: [-1 132]
                )
              ]
              spids: [-1 144]
            )
          ]
          spids: [95 146]
        )
      spids: [88 93]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PID)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {($ VSub_Name '$SUDO')} {(cat)} {($ VSub_Name '$PIDFILE')})]
                  )
                left_token: <Left_Backtick '`'>
                spids: [150 156]
              )
            }
          spids: [149]
        )
      ]
      spids: [149]
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$PIDFILE')})
    (C {($ VSub_Name '$SUDO')} {(kill)} {(-HUP)} {($ VSub_Name '$PID')})
    (C {(trace)} {(DQ ('wait for sshd to restart'))})
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(0)} spids:[179])]
          spids: [179]
        )
      terminator: <Op_Semi ';'>
    )
    (While
      cond: [
        (Sentence
          child: 
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$PIDFILE')} {(-a)} 
              {($ VSub_Name '$i')} {(-lt)} {(10)} {(Lit_Other ']')}
            )
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:i)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$i')} {(Lit_Other '+')} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [208 216]
                      )
                    }
                  spids: [207]
                )
              ]
              spids: [207]
            )
            (C {(sleep)} {($ VSub_Name '$i')})
          ]
          spids: [204 223]
        )
    )
    (AndOr
      children: [
        (C {(test)} {(-f)} {($ VSub_Name '$PIDFILE')})
        (C {(fatal)} {(DQ ('sshd did not restart'))})
      ]
      op_id: Op_DPipe
    )
    (C {(trace)} {(DQ ('connect after restart'))})
    (ForEach
      iter_name: p
      iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(${ VSub_Name SSH)} {(-o)} {(DQ ('Protocol=') ($ VSub_Name '$p'))} {(-F)} 
              {($ VSub_Name '$OBJ') (/ssh_config)} {(somehost)} {(true)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(fail)} 
                      {
                        (DQ ('ssh connect with protocol ') ($ VSub_Name '$p') 
                          (' failed after reconfigure')
                        )
                      }
                    )
                  ]
                  spids: [-1 296]
                )
              ]
              spids: [-1 308]
            )
          ]
          spids: [259 310]
        )
      spids: [252 257]
    )
  ]
)