(command.Pipeline
  children: [
    (command.Simple
      blame_tok: <tail>
      more_env: []
      words: [{<tail>} {<-10000>} {<-F>} {(DQ ($ Id.VSub_At '@'))}]
      redirects: []
      do_fork: T
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<line>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName line)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_EscapedChar '\\>'>
                  pattern: 
                    (pat.Words
                      words: [
                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'> ch:'>') 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\>'>
                            ch: '>'
                          ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'> ch:'>') <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'endl='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'endl='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'endl='> name:endl)
                          op: assign_op.Equal
                          rhs: {(DQ <Id.Lit_BadBackslash '\\'> <r> <Id.Lit_BadBackslash '\\'> <n>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_EscapedChar '\\*'>
                  pattern: 
                    (pat.Words
                      words: [
                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\*'>
                            ch: '*'
                          ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'> ch:'*') <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'endl='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'endl='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'endl='> name:endl)
                          op: assign_op.Equal
                          rhs: {(DQ <Id.Lit_BadBackslash '\\'> <r> <Id.Lit_BadBackslash '\\'> <n>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_EscapedChar '\\='>
                  pattern: 
                    (pat.Words
                      words: [
                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\='> ch:'=') 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\='>
                            ch: '='
                          ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\='> ch:'=') <Id.Lit_Star '*'>
                        }
                      ]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'endl='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'endl='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'endl='> name:endl)
                          op: assign_op.Equal
                          rhs: {(DQ <Id.Lit_BadBackslash '\\'> <r>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Continue continue>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <printf>
              more_env: []
              words: [
                {<printf>}
                {(DQ <'%s%*s'> (${ Id.VSub_Name endl))}
                {(DQ (${ Id.VSub_Name line))}
                {
                  (word_part.ArithSub
                    left: <Id.Left_DollarDParen '$(('>
                    anode: 
                      (arith_expr.Binary
                        op_id: Id.Arith_Minus
                        left: 
                          (arith_expr.Binary
                            op_id: Id.Arith_Minus
                            left: 
                              {
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name COLUMNS>
                                  var_name: COLUMNS
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op: <Id.VTest_ColonHyphen _>
                                      arg_word: {<80>}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              }
                            right: 
                              {
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name line>
                                  var_name: line
                                  prefix_op: <Id.VSub_Pound '#'>
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              }
                          )
                        right: {<Id.Lit_Digits 1>}
                      )
                    right: <Id.Right_DollarDParen _>
                  )
                }
                {(DQ <' '>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
  ]
  ops: [<Id.Op_Pipe _>]
)