(CommandList
  children: [
    (FuncDef
      name: readablesize
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Number '$1')} {(-ge)} {(1048576)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(scriptbc)} {(-p)} {(2)} {($ VSub_Number '$1')} {(/)} {(1048576)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [45 57]
                          ) (Gb)
                        )
                      }
                    )
                  ]
                  spids: [16777215 39]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Number '$1')} {(-ge)} {(1024)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(scriptbc)} {(-p)} {(2)} {($ VSub_Number '$1')} {(/)} {(1024)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [82 94]
                          ) (Mb)
                        )
                      }
                    )
                  ]
                  spids: [62 76]
                )
              ]
              else_action: [(C {(echo)} {(DQ (${ VSub_Number 1) (Kb))})]
              spids: [99 113]
            )
          ]
          spids: [21]
        )
      spids: [17 20]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' [dirname]'))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[150])]
                )
              terminator: <Op_Semi ';'>
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 139]
        )
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(cd)} {(DQ ($ VSub_At '$@'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})]
                  spids: [16777215 202]
                )
              ]
              spids: [16777215 213]
            )
          ]
          spids: [158 172]
        )
      ]
      spids: [16777215 215]
    )
    (Pipeline
      children: [
        (ForEach
          iter_name: file
          iter_words: [{(Lit_Other '*')}]
          do_arg_iter: F
          body: 
            (DoGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$file'))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:size)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(ls)} {(DQ ($ VSub_Name '$file'))})
                                              (C {(wc)} {(-l)})
                                              (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [248 268]
                                  )
                                }
                              spids: [247]
                            )
                          ]
                          spids: [247]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {($ VSub_Name '$size')} {(-eq)} {(1)} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(echo)} 
                                  {
                                    (DQ ($ VSub_Name '$file') (' (') ($ VSub_Name '$size') (' entry)|'))
                                  }
                                )
                              ]
                              spids: [16777215 285]
                            )
                          ]
                          else_action: [
                            (C {(echo)} 
                              {
                                (DQ ($ VSub_Name '$file') (' (') ($ VSub_Name '$size') (' entries)|'))
                              }
                            )
                          ]
                          spids: [298 311]
                        )
                      ]
                      spids: [16777215 244]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:size)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(ls)} {(-sk)} {(DQ ($ VSub_Name '$file'))})
                                            (C {(awk)} {(SQ <'{print $1}'>)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [319 335]
                                )
                              )
                            }
                          spids: [317]
                        )
                      ]
                      spids: [317]
                    )
                    (C {(echo)} 
                      {
                        (DQ ($ VSub_Name '$file') (' (') 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(readablesize)} {($ VSub_Name '$size')})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [344 348]
                          ) (')|')
                        )
                      }
                    )
                  ]
                  spids: [314 353]
                )
              ]
              spids: [226 355]
            )
          spids: [223 16777215]
        )
        (C {(sed)} {(SQ <'s/ /^^^/g'>)})
        (C {(xargs)} {(-n)} {(2)})
        (C {(sed)} {(SQ <'s/\\^\\^\\^/ /g'>)})
        (C {(awk)} {(-F) (EscapedLiteralPart token:<Lit_EscapedChar '\\|'>)} 
          {(SQ <'{ printf "%-39s %-39s\\n", $1, $2 }'>)}
        )
      ]
      negated: F
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)