(command.BraceGroup
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:INPUT)
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [71]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_EqualTilde
                      left: {($ Id.VSub_Number '$1')}
                      right: 
                        {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> 
                          <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                        }
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:INPUT)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [99]
                )
              ]
            )
          ]
          spids: [75 95]
        )
      ]
    )
    (C {<.>} {</DietPi/dietpi/func/dietpi-globals>})
    (C {<G_CHECK_ROOT_USER>})
    (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Autostart>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:WHIP_BACKTITLE)
          op: assign_op.Equal
          rhs: {(SQ <DietPi-AutoStart>)}
          spids: [145]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:WHIP_TITLE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$WHIP_BACKTITLE')}
          spids: [151]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CHOICE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [155]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OPTION)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [159]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TARGETMENUID)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [163]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:AUTO_START_INDEX)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [168]
        )
      ]
    )
    (command.ShFunction
      name: Apply_Boot_Index
      body: 
        (command.BraceGroup
          children: [
            (command.Simple
              words: [{<systemctl>} {<disable>} {<lightdm.service>}]
              redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})]
            )
            (command.Simple
              words: [{<systemctl>} {<disable>} {<amiberry.service>}]
              redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})]
            )
            (command.Simple
              words: [{<systemctl>} {<disable>} {<amiberry-sdl2.service>}]
              redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})]
            )
            (C {<sed>} {<-i>} {(SQ <'/^boot_delay=0/d'>)} {</DietPi/config.txt>})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {<-f>} {</boot/cmdline.txt>} {<Id.Lit_RBracket ']'>})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<sed>} {<-i>} {(SQ <s/logo.nologo//>)} {</boot/cmdline.txt>})
                    (C {<sed>} {<-i>} {(SQ <'s/loglevel=3//'>)} {</boot/cmdline.txt>})
                    (C {<sed>} {<-i>} {(SQ <'s/console=tty3/console=tty1/'>)} {</boot/cmdline.txt>})
                  ]
                  spids: [235 246]
                )
              ]
            )
            (command.Simple
              words: [{<rm>} {</etc/systemd/system/dietpi-autostart_custom.service>}]
              redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})]
            )
            (command.Simple
              words: [
                {<rm>}
                {</etc/systemd/system/getty> <Id.Lit_Splice '@tty1'> <.service.d/autologin.conf>}
              ]
              redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: 
                                (arith_expr.ArithWord
                                  w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                )
                              right: (arith_expr.ArithWord w:{<Id.Lit_Digits 14>})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir.HereDoc
                          op: <Id.Redir_DLess '<<'>
                          fd: -1
                          here_begin: {<_EOF_>}
                          here_end_span_id: 373
                          stdin_parts: [
                            <'[Unit]\n'>
                            <
'Description=DietPi autostart (Custom /var/lib/dietpi/dietpi-autostart/custom.sh)\n'
                            >
                            <
'After=dietpi-boot.service dietpi-ramdisk.service dietpi-ramlog.service rc-local.service\n'
                            >
                            <'Requires=dietpi-boot.service dietpi-ramdisk.service\n'>
                            <'\n'>
                            <'[Service]\n'>
                            <'Type=idle\n'>
                            <
"ExecStartPre=/bin/bash echo -e 'Starting DietPi-Autostart (Custom) script'\n"
                            >
                            <'ExecStart=/bin/bash -c /var/lib/dietpi/dietpi-autostart/custom.sh\n'>
                            <'StandardOutput=tty\n'>
                            <'RemainAfterExit=yes\n'>
                            <'\n'>
                            <'[Install]\n'>
                            <'WantedBy=multi-user.target\n'>
                          ]
                        )
                        (redir.Redir
                          op: <Id.Redir_Great '>'>
                          fd: -1
                          arg_word: {</etc/systemd/system/dietpi-autostart_custom.service>}
                        )
                      ]
                    )
                    (C {<systemctl>} {<enable>} {<dietpi-autostart_custom.service>})
                  ]
                  spids: [330 344]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DPipe
                              left: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    (arith_expr.ArithWord
                                      w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                    )
                                  right: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>})
                                )
                              right: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    (arith_expr.ArithWord
                                      w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                    )
                                  right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>})
                                )
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        (arith_expr.ArithWord
                                          w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                        )
                                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>})
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [(C {<systemctl>} {<enable>} {<amiberry.service>})]
                          spids: [417 431]
                        )
                      ]
                      else_action: [(C {<systemctl>} {<enable>} {<amiberry-sdl2.service>})]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        (arith_expr.ArithWord
                                          w: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                command_list: 
                                                  (command.CommandList
                                                    children: [
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<cat>} {</DietPi/config.txt>})
                                                          (C {<grep>} {<-ci>} {<-m1>} 
                                                            {(SQ <'^boot_delay=0'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                              )
                                            }
                                        )
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <'boot_delay=0'> <Id.Lit_Other '\\'> <n>)}]
                              redirects: [
                                (redir.Redir
                                  op: <Id.Redir_DGreat '>>'>
                                  fd: -1
                                  arg_word: {</DietPi/config.txt>}
                                )
                              ]
                            )
                          ]
                          spids: [467 495]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        (arith_expr.ArithWord
                                          w: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                command_list: 
                                                  (command.CommandList
                                                    children: [
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<cat>} {</boot/cmdline.txt>})
                                                          (C {<grep>} {<-ci>} {<-m1>} 
                                                            {(SQ <' logo.nologo'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                              )
                                            }
                                        )
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'s/rootwait/rootwait logo.nologo/'>)} 
                              {</boot/cmdline.txt>}
                            )
                          ]
                          spids: [519 547]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        (arith_expr.ArithWord
                                          w: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                command_list: 
                                                  (command.CommandList
                                                    children: [
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<cat>} {</boot/cmdline.txt>})
                                                          (C {<grep>} {<-ci>} {<-m1>} 
                                                            {(SQ <' loglevel=3'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                              )
                                            }
                                        )
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'s/rootwait/rootwait loglevel=3/'>)} 
                              {</boot/cmdline.txt>}
                            )
                          ]
                          spids: [567 595]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        (arith_expr.ArithWord
                                          w: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                command_list: 
                                                  (command.CommandList
                                                    children: [
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<cat>} {</boot/cmdline.txt>})
                                                          (C {<grep>} {<-ci>} {<-m1>} 
                                                            {(SQ <' console=tty3'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                              )
                                            }
                                        )
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'s/console=tty1/console=tty3/'>)} 
                              {</boot/cmdline.txt>}
                            )
                          ]
                          spids: [615 643]
                        )
                      ]
                    )
                  ]
                  spids: [387 409]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Great
                              left: 
                                (arith_expr.ArithWord
                                  w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                )
                              right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Simple
                      words: [
                        {<mkdir>}
                        {<-p>}
                        {</etc/systemd/system/getty> <Id.Lit_Splice '@tty1'> <.service.d>}
                      ]
                      redirects: [
                        (redir.Redir
                          op: <Id.Redir_AndGreat '&>'>
                          fd: -1
                          arg_word: {</dev/null>}
                        )
                      ]
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir.HereDoc
                          op: <Id.Redir_DLess '<<'>
                          fd: -1
                          here_begin: {<_EOF_>}
                          here_end_span_id: 716
                          stdin_parts: [
                            <'[Service]\n'>
                            <'ExecStart=\n'>
                            <'ExecStart=-/sbin/agetty --autologin root %I '>
                            ($ Id.VSub_DollarName '$TERM')
                            <'\n'>
                          ]
                        )
                        (redir.Redir
                          op: <Id.Redir_Great '>'>
                          fd: -1
                          arg_word: 
                            {</etc/systemd/system/getty> <Id.Lit_Splice '@tty1'> 
                              <.service.d/autologin.conf>
                            }
                        )
                      ]
                    )
                  ]
                  spids: [667 681]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Less
                              left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$G_HW_MODEL')})
                              right: (arith_expr.ArithWord w:{<Id.Lit_Digits 10>})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    (arith_expr.ArithWord
                                                      w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                                    )
                                                  right: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>})
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    (arith_expr.ArithWord
                                                      w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                                    )
                                                  right: (arith_expr.ArithWord w:{<Id.Lit_Digits 8>})
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                (arith_expr.ArithWord
                                                  w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                                )
                                              right: (arith_expr.ArithWord w:{<Id.Lit_Digits 12>})
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            (arith_expr.ArithWord
                                              w: {($ Id.VSub_DollarName '$AUTO_START_INDEX')}
                                            )
                                          right: (arith_expr.ArithWord w:{<Id.Lit_Digits 13>})
                                        )
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/framebuffer_width=/c\\framebuffer_width=854'>)} 
                              {</DietPi/config.txt>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} 
                              {</DietPi/config.txt>}
                            )
                          ]
                          spids: [745 783]
                        )
                      ]
                    )
                  ]
                  spids: [727 741]
                )
              ]
            )
            (command.Simple
              words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName '$AUTO_START_INDEX'))}]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {</DietPi/dietpi/.dietpi-autostart_index>}
                )
              ]
            )
            (C {<systemctl>} {<daemon-reload>})
          ]
        )
    )
    (command.ShFunction
      name: Menu_Main
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:AUTO_START_INDEX)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [(C {<cat>} {</DietPi/dietpi/.dietpi-autostart_index>})]
                          )
                      )
                    }
                  spids: [861]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'option_name='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {(SQ <0>)}
                    {(SQ <'Console:           Manual login (default)'>)}
                    {(SQ <7>)}
                    {(SQ <'Console:           Automatic login'>)}
                    {(SQ <6>)}
                    {(SQ <'AmiBerry SDL1:     Fast boot'>)}
                    {(SQ <8>)}
                    {(SQ <'AmiBerry SDL1:     Standard boot'>)}
                    {(SQ <12>)}
                    {(SQ <'AmiBerry SDL2:     Fast boot'>)}
                    {(SQ <13>)}
                    {(SQ <'AmiBerry SDL2:     Standard boot'>)}
                    {(SQ <10>)}
                    {(SQ <'CAVA Spectrum'>)}
                    {(SQ <11>)}
                    {(SQ <'Chromium:          Without desktop'>)}
                    {(SQ <14>)}
                    {(SQ <'Custom:            /var/lib/dietpi/dietpi-autostart/custom.sh'>)}
                    {(SQ <2>)}
                    {(SQ <'Desktops:          Automatic login (recommended)'>)}
                    {(SQ <16>)}
                    {(SQ <'Desktops:          LightDM login prompt'>)}
                    {(SQ <5>)}
                    {(SQ <DietPi-Cloudshell>)}
                    {(SQ <9>)}
                    {(SQ <'DXX-Rebith:        Descent 1/2'>)}
                    {(SQ <15>)}
                    {(SQ <JRiver>)}
                    {(SQ <1>)}
                    {(SQ <Kodi>)}
                    {(SQ <4>)}
                    {(SQ <OpenTyrian>)}
                    {(SQ <3>)}
                    {(SQ <RetroPie>)}
                  ]
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Simple
                                words: [
                                  {<whiptail>}
                                  {<--title>}
                                  {(DQ ($ Id.VSub_DollarName '$WHIP_TITLE'))}
                                  {<--menu>}
                                  {
                                    (DQ <'Current AutoStart Option: '> 
                                      ($ Id.VSub_DollarName '$AUTO_START_INDEX') <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nNB: If your choice is not '> 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\"'>
                                      ) <'Console:'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                      <
', please ensure required software is installed (or selected for install) in DietPi-Software.'
                                      >
                                    )
                                  }
                                  {<--cancel-button>}
                                  {(DQ <Back>)}
                                  {<--backtitle>}
                                  {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))}
                                  {<--default-item>}
                                  {(DQ ($ Id.VSub_DollarName '$AUTO_START_INDEX'))}
                                  {<20>}
                                  {<75>}
                                  {<9>}
                                  {
                                    (DQ 
                                      (braced_var_sub
                                        token: <Id.VSub_Name option_name>
                                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                      )
                                    )
                                  }
                                ]
                                redirects: [
                                  (redir.Redir
                                    op: <Id.Redir_GreatAnd '3>&'>
                                    fd: 3
                                    arg_word: {<1>}
                                  )
                                  (redir.Redir
                                    op: <Id.Redir_GreatAnd '1>&'>
                                    fd: 1
                                    arg_word: {<2>}
                                  )
                                  (redir.Redir
                                    op: <Id.Redir_GreatAnd '2>&'>
                                    fd: 2
                                    arg_word: {<3>}
                                  )
                                ]
                              )
                            ]
                          )
                      )
                    }
                  spids: [1033]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '$?')}
                  spids: [1102]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$CHOICE')})
                              right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:AUTO_START_INDEX)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$OPTION')}
                          spids: [1129]
                        )
                      ]
                    )
                    (C {<Apply_Boot_Index>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$OPTION')})
                                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 6>})
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<whiptail>} {<--title>} {(DQ <'AmiBerry: (Fast boot)'>)} {<--msgbox>} 
                              {
                                (DQ <'AmiBerry: (Fast boot):'> <Id.Lit_Other '\\'> 
                                  <'nA highly optimized and tweaked boot mode.'> <Id.Lit_Other '\\'> <'nThis mode allows for a < 2.5 second boot on a RPi 3, into AmiBerry.'> 
                                  <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> <'nIf you experience boot issues with this mode, please try (Standard Boot)'>
                                )
                              } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<70>}
                            )
                          ]
                          spids: [1142 1156]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$OPTION')})
                                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 14>})
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                          {</var/lib/dietpi/dietpi-autostart/custom.sh>} {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (C {<mkdir>} {<-p>} {</var/lib/dietpi/dietpi-autostart>})
                                    (command.Simple
                                      words: [{<cat>}]
                                      redirects: [
                                        (redir.HereDoc
                                          op: <Id.Redir_DLess '<<'>
                                          fd: -1
                                          here_begin: {<_EOF_>}
                                          here_end_span_id: 1277
                                          stdin_parts: [
                                            <'#!/bin/bash\n'>
                                            <'#---Examples---\n'>
                                            <'\n'>
                                            <'# - Chromium\n'>
                                            <'#xinit chromium\n'>
                                            <'\n'>
                                            <'# - LXDE\n'>
                                            <'#startx\n'>
                                            <'\n'>
                                            <'# - Print hello\n'>
                                            <'#echo -e '>
                                            <Id.Right_DoubleQuote '"'>
                                            <Hello>
                                            <Id.Right_DoubleQuote '"'>
                                            <'\n'>
                                            <'\n'>
                                            <'#---Put your code below this line---\n'>
                                            <'\n'>
                                          ]
                                        )
                                        (redir.Redir
                                          op: <Id.Redir_Great '>'>
                                          fd: -1
                                          arg_word: {</var/lib/dietpi/dietpi-autostart/custom.sh>}
                                        )
                                      ]
                                    )
                                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                                      {</var/lib/dietpi/dietpi-autostart/custom.sh>}
                                    )
                                    (C {<whiptail>} {<--title>} 
                                      {(DQ <'Custom: /var/lib/dietpi/dietpi-autostart/custom.sh'>)} {<--msgbox>} 
                                      {
                                        (DQ <'A template script has been created:'> 
                                          <Id.Lit_Other '\\'> <'n - /var/lib/dietpi/dietpi-autostart/custom.sh'> <Id.Lit_Other '\\'> <n> <Id.Lit_Other '\\'> 
                                          <
'nPlease edit this file and enter the required commands you wish to launch. DietPi will then execute this script during boot.'
                                          >
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName '$WHIP_BACKTITLE'))} {<14>} {<70>}
                                    )
                                  ]
                                  spids: [1224 1237]
                                )
                              ]
                            )
                          ]
                          spids: [1202 1216]
                        )
                      ]
                    )
                  ]
                  spids: [1107 1121]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:TARGETMENUID)
                      op: assign_op.Equal
                      rhs: {<-1>}
                      spids: [1342]
                    )
                  ]
                )
              ]
            )
            (C {<unset>} {<option_name>})
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DParen
                  child: 
                    (arith_expr.Binary
                      op_id: Id.Arith_DEqual
                      left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INPUT')})
                      right: 
                        (arith_expr.Unary
                          op_id: Id.Node_UnaryMinus
                          child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                        )
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: [
                (command.Sentence
                  child: 
                    (command.DParen
                      child: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Great
                          left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$TARGETMENUID')})
                          right: 
                            (arith_expr.Unary
                              op_id: Id.Node_UnaryMinus
                              child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                            )
                        )
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
              body: 
                (command.DoGroup
                  children: [
                    (C {<clear>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        (arith_expr.ArithWord
                                          w: {($ Id.VSub_DollarName '$TARGETMENUID')}
                                        )
                                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                                    )
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [(C {<Menu_Main>})]
                          spids: [1423 1437]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
          spids: [1377 1392]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DParen
                  child: 
                    (arith_expr.Binary
                      op_id: Id.Arith_GreatEqual
                      left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$INPUT')})
                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:AUTO_START_INDEX)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$INPUT')}
                  spids: [1472]
                )
              ]
            )
            (C {<Apply_Boot_Index>})
          ]
          spids: [1454 1468]
        )
      ]
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
  ]
)