(CommandList
  children: [
    (FuncDef
      name: process_text_file
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:X) op:Equal rhs:{(0)} spids:[15])]
              spids: [15]
            )
            (Pipeline
              children: [
                (C {(sed)} {(-e)} 
                  {
                    (SQ 
                      <
"s/\\(................................................................................\\)/\\1\\n/g"
                      >
                    )
                  } {(DQ ($ VSub_Number "$1"))}
                )
                (C {(tail)} {(-n)} {(25)})
                (While
                  cond: [(C {(read)} {(i)})]
                  body: 
                    (DoGroup
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(-n)} {(DQ ($ VSub_Name "$i"))})
                            (C {(sed)} {(-e)} {(SQ <"s@\\&@\\&amp;@g">)} {(-e)} {(SQ <"s@<@\\&lt;@g">)} 
                              {(-e)} {(SQ <"s@>@\\&gt;@g">)}
                            )
                          ]
                          negated: False
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other "[")} {($ VSub_Name "$X")} {(-eq)} {(0)} {(Lit_Other "]")})
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:X)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name i>
                                            prefix_op: VSub_Pound
                                            spids: [111 114]
                                          )
                                        }
                                      spids: [110]
                                    )
                                  ]
                                  spids: [110]
                                )
                                (While
                                  cond: [
                                    (C {(Lit_Other "[")} {($ VSub_Name "$X")} {(-lt)} {(80)} 
                                      {(Lit_Other "]")}
                                    )
                                  ]
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(echo)} {(-n)} {(SQ <"&nbsp;">)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:X)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (ArithSubPart
                                                    anode: 
                                                      (ArithBinary
                                                        op_id: Arith_Plus
                                                        left: (ArithWord w:{($ VSub_Name "$X")})
                                                        right: (ArithWord w:{(Lit_Digits 1)})
                                                      )
                                                    spids: [143 147]
                                                  )
                                                }
                                              spids: [142]
                                            )
                                          ]
                                          spids: [142]
                                        )
                                      ]
                                      spids: [130 150]
                                    )
                                )
                              ]
                              spids: [-1 107]
                            )
                          ]
                          spids: [-1 153]
                        )
                        (C {(echo)})
                      ]
                      spids: [55 159]
                    )
                )
              ]
              negated: False
            )
          ]
          spids: [12]
        )
      spids: [8 11]
    )
    (FuncDef
      name: wrap_screenshot
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(SQ <"</center></td></tr><tr>">)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("<td>\n") ("<a href=bootlog-") ($ VSub_Number "$1") 
                        (".txt>boot log</a></li>\n") ("<a href=../bin/cross-compiler-") ($ VSub_Number "$1") (".tar.bz2>cross&nbsp;compiler</a><br>\n") 
                        ("<a href=../bin/native-compiler-") ($ VSub_Number "$1") (".tar.bz2>native&nbsp;compiler</a><br>\n") ("<a href=../bin/root-filesystem-") 
                        ($ VSub_Number "$1") (".tar.bz2>root&nbsp;filesystem</a><br>\n") ("<a href=../bin/system-image-") ($ VSub_Number "$1") 
                        (".tar.bz2>system&nbsp;image</a><br>\n") ("\n") ("<hr />\n") ("<a href=../bin/busybox-") ($ VSub_Number "$1") (">busybox&nbsp;binary</a><br>\n") 
                        ("<a href=../bin/dropbearmulti-") ($ VSub_Number "$1") (">dropbear&nbsp;binary</a><br>\n") ("<a href=../bin/strace-") ($ VSub_Number "$1") 
                        (">strace&nbsp;binary</a><br>\n") ("</ul></td>\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [181]
                )
              ]
            )
            (C {(echo)} {(SQ <"<td>">)})
            (C {(echo)} {(SQ <"<table bgcolor=#000000><tr><td><font color=#ffffff size=-2><pre>">)})
            (C {(process_text_file)} {(DQ (bootlog-) ($ VSub_Number "$1") (.txt))})
            (C {(echo)} {(SQ <"</pre></font></td></tr></table></td>">)})
            (C {(echo)})
            (C {(echo)} {(SQ <"</tr></table></td>">)})
          ]
          spids: [168]
        )
      spids: [164 167]
    )
    (C {(more/for-each-target.sh)} 
      {
        (SQ 
          <
"(sleep 20 && echo -n cat \"/proc\" && sleep 1 && echo /cpuinfo && sleep 2 && echo exit) | more/run-emulator-from-build.sh $TARGET | tee www/screenshots/bootlog-$TARGET.txt"
          >
        )
      }
    )
    (C {(cd)} {(www/screenshots)})
    (C {(sed)} {(-i)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [(C {(echo)} {(-e)} {(SQ <"s/\\033\\[6n//g;s/\\015$//">)})]
            )
          left_token: <Left_CommandSub "$(">
          spids: [280 288]
        )
      } {(bootlog-) (Lit_Other "*") (.txt)}
    )
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Pipeline
                    children: [
                      (C {(ls)} {(bootlog-) (Lit_Other "*") (.txt)})
                      (C {(sed)} {(SQ <"s/bootlog-\\(.*\\)\\.txt/\\1/">)})
                    ]
                    negated: False
                  )
                ]
              )
            left_token: <Left_CommandSub "$(">
            spids: [305 319]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (SimpleCommand
              words: [{(wrap_screenshot)} {(DQ ($ VSub_Name "$i"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (screenshot-) ($ VSub_Name "$i") (.html))}
                  spids: [330]
                )
              ]
            )
          ]
          spids: [321 338]
        )
      spids: [304 -1]
    )
  ]
)