(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:exclude_re)
          op: assign_op.Equal
          rhs: 
            {
              (SQ 
                (Token
                  id: Id.Lit_Chars
                  val: 
'(\\.git/|xvpics|priv/|tmp/|timeline\\.html|modified\\.html|head\\.html|footer\\.html|footer-home\\.html|adds\\.html|last\\.html|header.html|menu.html|left-blank.html|.htaccess)'
                  span_id: 14
                )
              )
            }
          spids: [12]
        )
      ]
    )
    (C {(echo)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n'
            span_id: 24
          ) (Token id:Id.Lit_Chars val:'<html xmlns="http://www.w3.org/1999/xhtml">\n' span_id:25) 
          (Token id:Id.Lit_Chars val:'\n' span_id:26) (Token id:Id.Lit_Chars val:'<head><title>sitemap/timeline</title>\n' span_id:27) 
          (Token
            id: Id.Lit_Chars
            val: '<META NAME="generator" CONTENT="gen_timeline (a bash script)">\n'
            span_id: 28
          ) 
          (Token
            id: Id.Lit_Chars
            val: '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n'
            span_id: 29
          ) (Token id:Id.Lit_Chars val:'<!--#include virtual="/head.html"-->\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'<style type="text/css">\n' span_id:31) (Token id:Id.Lit_Chars val:'table.align td {\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'    padding: 0px;\n' span_id:33) (Token id:Id.Lit_Chars val:'    border: 0px;\n' span_id:34) 
          (Token id:Id.Lit_Chars val:'}\n' span_id:35) (Token id:Id.Lit_Chars val:'</style>\n' span_id:36) (Token id:Id.Lit_Chars val:'</head>\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'<body>\n' span_id:38) (Token id:Id.Lit_Chars val:'        <div id="content">\n' span_id:39) 
          (Token
            id: Id.Lit_Chars
            val: '                <div class="contentText">'
            span_id: 40
          )
        )
      }
    )
    (C {(echo)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'<pre>\n' span_id:47) 
          (Token id:Id.Lit_Chars val:'<table class="pixelbeat">\n' span_id:48) 
          (Token
            id: Id.Lit_Chars
            val: 
'<tr class="pbtitle"><td align="center"><b>By Date</b></td><td align="center"><b>By Name</b></td></tr>\n'
            span_id: 49
          ) (Token id:Id.Lit_Chars val:'<tr>\n' span_id:50) 
          (Token id:Id.Lit_Chars val:'<td><table class="align">' span_id:51)
        )
      }
    )
    (command.Pipeline
      children: [
        (C {(find)} {($ Id.VSub_Number '$1')} {(-type)} {(f)} {(-printf)} 
          {(DQ ('%P') (Id.Lit_Other '\\') ('t%T@') (Id.Lit_Other '\\') (n))}
        )
        (C {(sort)} {(-k2) (Id.Lit_Comma ',') (2nr)})
        (C {(cut)} {(-f1)})
        (C {(grep)} {(-E)} 
          {
            (DQ ('(^|/)[.].+|(^|/)[^.]+') (Id.Lit_Other '$') ('|[.](c|cpp|py|sh|rc|tips|fortune|html)') 
              (Id.Lit_Other '$')
            )
          }
        )
        (C {(grep)} {(-Ev)} {(DQ ($ Id.VSub_DollarName '$exclude_re'))})
        (command.WhileUntil
          keyword: (Token id:Id.KW_While val:while span_id:114)
          cond: [
            (command.Sentence
              child: (C {(read)} {(file)})
              terminator: (Token id:Id.Op_Semi val:';' span_id:119)
            )
          ]
          body: 
            (command.DoGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:time)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_Backtick val:'`' span_id:125)
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(date)} 
                                    {(--reference) (Id.Lit_Equals '=') 
                                      (DQ ($ Id.VSub_DollarName '$file'))
                                    } {(DQ ('+%b %e %Y'))}
                                  )
                                ]
                              )
                          )
                        }
                      spids: [124]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:file)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_Backtick val:'`' span_id:143)
                            command_list: 
                              (command.CommandList
                                children: [
                                  (command.Pipeline
                                    children: [
                                      (C {(echo)} {(DQ ($ Id.VSub_DollarName '$file'))})
                                      (C {(sed)} 
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 's/\\(.*\\)\\/index.html/\\1\\//'
                                              span_id: 167
                                            )
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                          )
                        }
                      spids: [142]
                    )
                  ]
                )
                (C {(echo)} 
                  {
                    (DQ ('<tr><td>') ($ Id.VSub_DollarName '$time') (' </td><td><a href=') 
                      (word_part.EscapedLiteral
                        token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:178)
                      ) ($ Id.VSub_DollarName '$file') 
                      (word_part.EscapedLiteral
                        token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:180)
                      ) ('>') ($ Id.VSub_DollarName '$file') ('</a></td></tr>')
                    )
                  }
                )
              ]
            )
        )
      ]
      negated: F
    )
    (C {(echo)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'</table></td>\n' span_id:191) 
          (Token id:Id.Lit_Chars val:'<td><table class="align">' span_id:192)
        )
      }
    )
    (command.Pipeline
      children: [
        (C {(find)} {($ Id.VSub_Number '$1')} {(-type)} {(f)} {(-printf)} 
          {(DQ ('%P') (Id.Lit_Other '\\') (n))}
        )
        (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s#\\(.*/.*\\)#\xc2\xac\\1#' span_id:216))})
        (command.Simple
          words: [{(sort)}]
          more_env: [(env_pair name:LANG val:{(C)} spids:[224])]
        )
        (C {(tr)} {(-d)} {(Id.Lit_Other '\xc2') (Id.Lit_Other '\xac')})
        (C {(grep)} {(-E)} 
          {
            (DQ ('(^|/)[.].+|(^|/)[^.]+') (Id.Lit_Other '$') ('|[.](c|cpp|py|sh|rc|tips|fortune|html)') 
              (Id.Lit_Other '$')
            )
          }
        )
        (C {(grep)} {(-Ev)} {(DQ ($ Id.VSub_DollarName '$exclude_re'))})
        (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/\\(.*\\)\\/index.html/\\1\\//' span_id:269))})
        (command.WhileUntil
          keyword: (Token id:Id.KW_While val:while span_id:274)
          cond: [
            (command.Sentence
              child: (C {(read)} {(file)})
              terminator: (Token id:Id.Op_Semi val:';' span_id:279)
            )
          ]
          body: 
            (command.DoGroup
              children: [
                (C {(echo)} 
                  {
                    (DQ ('<tr><td><a href=') 
                      (word_part.EscapedLiteral
                        token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:288)
                      ) ($ Id.VSub_DollarName '$file') 
                      (word_part.EscapedLiteral
                        token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:290)
                      ) ('>') ($ Id.VSub_DollarName '$file') ('</a></td></tr>')
                    )
                  }
                )
              ]
            )
        )
      ]
      negated: F
    )
    (C {(echo)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'</table></td>\n' span_id:301) 
          (Token id:Id.Lit_Chars val:'</tr>' span_id:302)
        )
      }
    )
    (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'</table>' span_id:308))})
    (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'</pre>' span_id:314))})
    (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'<br>' span_id:320))})
    (C {(echo)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'This sitemap/timeline was generated by <a href="scripts/gen_timeline">gen_timeline</a>'
            span_id: 326
          )
        )
      }
    )
    (C {(echo)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'</div>\n' span_id:333) 
          (Token id:Id.Lit_Chars val:'</div>\n' span_id:334) (Token id:Id.Lit_Chars val:'\n' span_id:335) 
          (Token id:Id.Lit_Chars val:'<div id="sidebar">\n' span_id:336) (Token id:Id.Lit_Chars val:'<!--#include virtual="/header.html"-->\n' span_id:337) 
          (Token id:Id.Lit_Chars val:'\n' span_id:338) (Token id:Id.Lit_Chars val:'<!--#include virtual="/footer.html"-->\n' span_id:339) 
          (Token id:Id.Lit_Chars val:'</div>\n' span_id:340) (Token id:Id.Lit_Chars val:'</body>\n' span_id:341) (Token id:Id.Lit_Chars val:'</html>' span_id:342)
        )
      }
    )
  ]
)