SHELL_SCRIPT
  PsiComment(shebang)('#!/bin/bash')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('set')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-eux')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    IF_COMMAND
      PsiElement(if)('if')
      PsiWhiteSpace(' ')
      COMPOUND_LIST
        CONDITIONAL_COMMAND
          PsiElement([)('[')
          PsiWhiteSpace(' ')
          LITERAL_CONDITION
            PsiElement(word)('-z')
          PsiWhiteSpace(' ')
          LITERAL_CONDITION
            STRING
              PsiElement(OPEN_QUOTE)('"')
              PsiElement($)('$')
              SHELL_PARAMETER_EXPANSION
                PsiElement({)('{')
                PsiElement(word)('MACPORTS')
                PsiElement(})('}')
              PsiElement(CLOSE_QUOTE)('"')
          PsiWhiteSpace(' ')
          PsiElement(])(']')
        PsiElement(;)(';')
      PsiWhiteSpace(' ')
      THEN_CLAUSE
        PsiElement(then)('then')
        COMPOUND_LIST
          PsiElement(\n)('\n')
          PsiWhiteSpace('\t')
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('exit')
          PsiElement(\n)('\n')
      PsiElement(fi)('fi')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      ASSIGNMENT_COMMAND
        LITERAL
          PsiElement(word)('VER')
        PsiElement(=)('=')
      SIMPLE_COMMAND_ELEMENT
        COMMAND_SUBSTITUTION_COMMAND
          PsiElement(OPEN_BACKQUOTE)('`')
          COMPOUND_LIST
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)('sed')
              PsiWhiteSpace(' ')
              STRING
                PsiElement(OPEN_QUOTE)('"')
                PsiElement(STRING_CONTENT)('s/MacPorts-\(.*\)-.*-.*.pkg/\1/')
                PsiElement(CLOSE_QUOTE)('"')
              PsiWhiteSpace(' ')
              SIMPLE_COMMAND_ELEMENT
                REDIRECTION
                  PsiElement(<<<)('<<<')
                  PsiWhiteSpace(' ')
                  VARIABLE
                    PsiElement(var)('$MACPORTS')
          PsiElement(CLOSE_BACKQUOTE)('`')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('curl')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-L')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('https://github.com/macports/macports-base/releases/download/v')
      VARIABLE
        PsiElement(var)('$VER')
      LITERAL
        PsiElement(word)('/')
      VARIABLE
        PsiElement(var)('$MACPORTS')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-o')
      PsiWhiteSpace(' ')
      VARIABLE
        PsiElement(var)('$TMPDIR')
      LITERAL
        PsiElement(word)('/')
      VARIABLE
        PsiElement(var)('$MACPORTS')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('sudo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('installer')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-pkg')
      PsiWhiteSpace(' ')
      VARIABLE
        PsiElement(var)('$TMPDIR')
      LITERAL
        PsiElement(word)('/')
      VARIABLE
        PsiElement(var)('$MACPORTS')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('-target')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('/')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('sudo')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('/opt/local/bin/port')
      PsiWhiteSpace(' ')
      LITERAL
        PsiElement(word)('sync')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('rm')
      PsiWhiteSpace(' ')
      VARIABLE
        PsiElement(var)('$TMPDIR')
      LITERAL
        PsiElement(word)('/')
      VARIABLE
        PsiElement(var)('$MACPORTS')
  PsiElement(\n)('\n')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    ASSIGNMENT_COMMAND
      LITERAL
        PsiElement(word)('MSG')
      PsiElement(=)('=')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement($)('$')
        SUBSHELL_COMMAND
          PsiElement(()('(')
          COMPOUND_LIST
            SIMPLE_COMMAND
              GENERIC_COMMAND_DIRECTIVE
                LITERAL
                  PsiElement(word)('alsactlrestore')
              VARIABLE
                PsiElement(var)('$CARD2')
              SIMPLE_COMMAND_ELEMENT
                REDIRECTION
                  PsiElement(>&)('>&')
                  NUMBER
                    PsiElement(int)('1')
              SIMPLE_COMMAND_ELEMENT
                REDIRECTION
                  PsiElement(>)('>')
                  PsiElement(word)('/dev/null')
          PsiElement())(')')
        PsiElement(CLOSE_QUOTE)('"')