(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-lt>} {<2>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Usage: '> 
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: (C {<basename>} {($ Id.VSub_Number '$0')})
                    ) <' MM YYYY [other find parameters]'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [36 51]
        )
      ]
    )
    (C {<set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:month)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [87]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:year)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [90]
        )
      ]
    )
    (command.CommandList
      children: [(command.Sentence child:(C {<shift>}) terminator:<Id.Op_Semi _>) (C {<shift>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$month'))} 
                      {<Id.Lit_Equals '='>} {(DQ <12>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_year)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<expr>} {($ Id.VSub_DollarName '$year')} {<Id.Lit_Other '+'>} {<1>})
                      )
                    }
                  spids: [119]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_year)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<printf>} {(DQ <'%02d'>)} {($ Id.VSub_DollarName '$next_year')})
                      )
                    }
                  spids: [133]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:next_month)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [150]
                )
              ]
            )
          ]
          spids: [99 116]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:next_year)
              op: assign_op.Equal
              rhs: {($ Id.VSub_DollarName '$year')}
              spids: [156]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:next_month)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_Backtick '`'>
                    child: (C {<expr>} {($ Id.VSub_DollarName '$month')} {<Id.Lit_Other '+'>} {<1>})
                  )
                }
              spids: [160]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:now)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<date>} {<--utc>} {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>})
              )
            }
          spids: [175]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (C {<date>} 
                    {<--date> <Id.Lit_Equals '='> 
                      (DQ ($ Id.VSub_DollarName '$year') <-> ($ Id.VSub_DollarName '$month') <'-01 UTC'>)
                    } {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>}
                  )
              )
            }
          spids: [188]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:end)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (C {<date>} 
                    {<--date> <Id.Lit_Equals '='> 
                      (DQ ($ Id.VSub_DollarName '$next_year') <-> ($ Id.VSub_DollarName '$next_month') 
                        <'-01 UTC'>
                      )
                    } {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>}
                  )
              )
            }
          spids: [208]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$start')} {<-gt>} 
                      {($ Id.VSub_DollarName '$now')} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:start)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$now')}
                  spids: [245]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [249]
                )
              ]
            )
          ]
          spids: [229 242]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$end')} {<-gt>} 
                      {($ Id.VSub_DollarName '$now')} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [269]
                )
              ]
            )
          ]
          spids: [253 266]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start_days_ago)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (C {<expr>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>)} 
                    {($ Id.VSub_DollarName '$now')} {<->} {($ Id.VSub_DollarName '$start')} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>)} 
                    {<'/'>} {<86400>}
                  )
              )
            }
          spids: [276]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:start_days_ago)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (C {<expr>} {($ Id.VSub_DollarName '$start_days_ago')} {<Id.Lit_Other '+'>} {<1>})
              )
            }
          spids: [301]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$end'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:end_days_ago)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<expr>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>)} 
                            {($ Id.VSub_DollarName '$now')} {<->} {($ Id.VSub_DollarName '$end')} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>)} 
                            {<'/'>} {<86400>}
                          )
                      )
                    }
                  spids: [331]
                )
              ]
            )
            (C {<find>} {(DQ ($ Id.VSub_At '$@'))} {<-daystart>} {<-mtime>} 
              {<-> ($ Id.VSub_DollarName '$start_days_ago')} {<-mtime>} {<Id.Lit_Other '+'> ($ Id.VSub_DollarName '$end_days_ago')}
            )
          ]
          spids: [314 325]
        )
      ]
      else_action: [
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {<Id.Lit_LBracket '['>} 
              {
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (command.Pipeline
                      children: [(C {<echo>} {<-n>} {($ Id.VSub_DollarName '$month')}) (C {<wc>} {<-c>})]
                      negated: F
                    )
                )
              } {<-eq>} {<1>} {<Id.Lit_RBracket ']'>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:month)
                  op: assign_op.Equal
                  rhs: {(DQ <0> ($ Id.VSub_DollarName '$month'))}
                  spids: [404]
                )
              ]
            )
          ]
        )
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {<Id.Lit_LBracket '['>} 
              {
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (command.Pipeline
                      children: [(C {<echo>} {<-n>} {($ Id.VSub_DollarName '$year')}) (C {<wc>} {<-c>})]
                      negated: F
                    )
                )
              } {<-eq>} {<2>} {<Id.Lit_RBracket ']'>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:year)
                  op: assign_op.Equal
                  rhs: {(DQ <20> ($ Id.VSub_DollarName '$year'))}
                  spids: [437]
                )
              ]
            )
          ]
        )
        (command.Pipeline
          children: [
            (C {<find>} {(DQ ($ Id.VSub_At '$@'))} {<-daystart>} {<-mtime>} 
              {<-> ($ Id.VSub_DollarName '$start_days_ago')} {<-printf>} {(DQ <'%p'> <Id.Lit_BadBackslash '\\'> <'0%Tm-%TY'> <Id.Lit_BadBackslash '\\'> <n>)}
            )
            (command.Simple
              words: [
                {<grep>}
                {<-a>}
                {
                  (DQ ($ Id.VSub_DollarName '$month') <-> ($ Id.VSub_DollarName '$year') 
                    <Id.Lit_Dollar '$'>
                  )
                }
              ]
              more_env: [(env_pair name:LANG val:{<C>} spids:[470])]
              do_fork: T
            )
            (C {<cut>} {<-d>} {(SQ )} {<-f1>})
          ]
          negated: F
        )
      ]
    )
  ]
)