(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.Simple
      blame_tok: <mkdir>
      more_env: []
      words: [
        {<mkdir>}
        {<-p>}
        {
          (DQ 
            (CommandSub
              left_token: <Id.Left_DollarParen '$('>
              child: 
                (command.Simple
                  blame_tok: <dirname>
                  more_env: []
                  words: [{<dirname>} {(DQ ($ Id.VSub_Number 0))}]
                  redirects: []
                  do_fork: T
                )
              right: <Id.Eof_RParen _>
            )
          ) <'/../deps/scratch'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <cd>
      more_env: []
      words: [
        {<cd>}
        {
          (DQ 
            (CommandSub
              left_token: <Id.Left_DollarParen '$('>
              child: 
                (command.Simple
                  blame_tok: <dirname>
                  more_env: []
                  words: [{<dirname>} {(DQ ($ Id.VSub_Number 0))}]
                  redirects: []
                  do_fork: T
                )
              right: <Id.Eof_RParen _>
            )
          ) <'/../deps/scratch'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJOR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJOR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJOR='>
              name: CMAKE_VERSION_MAJOR
            )
          op: assign_op.Equal
          rhs: {<3>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_VERSION_MINOR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_VERSION_MINOR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'CMAKE_VERSION_MINOR='>
              name: CMAKE_VERSION_MINOR
            )
          op: assign_op.Equal
          rhs: {<7>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_VERSION_PATCH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_VERSION_PATCH='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'CMAKE_VERSION_PATCH='>
              name: CMAKE_VERSION_PATCH
            )
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJMIN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJMIN='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'CMAKE_VERSION_MAJMIN='>
              name: CMAKE_VERSION_MAJMIN
            )
          op: assign_op.Equal
          rhs: 
            {($ Id.VSub_DollarName CMAKE_VERSION_MAJOR) <.> ($ Id.VSub_DollarName CMAKE_VERSION_MINOR)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_VERSION='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_VERSION='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMAKE_VERSION='> name:CMAKE_VERSION)
          op: assign_op.Equal
          rhs: 
            {($ Id.VSub_DollarName CMAKE_VERSION_MAJMIN) <.> 
              ($ Id.VSub_DollarName CMAKE_VERSION_PATCH)
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_SHA256_DARWIN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_SHA256_DARWIN='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'CMAKE_SHA256_DARWIN='>
              name: CMAKE_SHA256_DARWIN
            )
          op: assign_op.Equal
          rhs: {<1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CMAKE_SHA256_LINUX='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CMAKE_SHA256_LINUX='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMAKE_SHA256_LINUX='> name:CMAKE_SHA256_LINUX)
          op: assign_op.Equal
          rhs: {<7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PLATFORM='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PLATFORM='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PLATFORM='> name:PLATFORM)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (CommandSub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      blame_tok: <uname>
                      more_env: []
                      words: [{<uname>}]
                      redirects: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                ) <-> 
                (CommandSub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      blame_tok: <uname>
                      more_env: []
                      words: [{<uname>} {<-m>}]
                      redirects: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'FULLNAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'FULLNAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FULLNAME='> name:FULLNAME)
          op: assign_op.Equal
          rhs: {<cmake-> ($ Id.VSub_DollarName CMAKE_VERSION) <-> ($ Id.VSub_DollarName PLATFORM)}
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName PLATFORM)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Darwin-x86_64>
          pattern: (pat.Words words:[{<Darwin-x86_64>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <'../tools/jldownload'>
              more_env: []
              words: [
                {<'../tools/jldownload'>}
                {<https> <Id.Lit_Colon ':'> <'//cmake.org/files/v'> 
                  ($ Id.VSub_DollarName CMAKE_VERSION_MAJMIN) <'/'> ($ Id.VSub_DollarName FULLNAME) <.tar.gz>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {
                      (DQ ($ Id.VSub_DollarName CMAKE_SHA256_DARWIN) <'  '> 
                        ($ Id.VSub_DollarName FULLNAME) <.tar.gz>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <shasum>
                  more_env: []
                  words: [{<shasum>} {<-a>} {<256>} {<-c>} {<->}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
                      name: CMAKE_EXTRACTED_PATH
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName FULLNAME) <'/CMake.app/Contents/bin/cmake'>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Linux-x86_64>
          pattern: (pat.Words words:[{<Linux-x86_64>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <'../tools/jldownload'>
              more_env: []
              words: [
                {<'../tools/jldownload'>}
                {<https> <Id.Lit_Colon ':'> <'//cmake.org/files/v'> 
                  ($ Id.VSub_DollarName CMAKE_VERSION_MAJMIN) <'/'> ($ Id.VSub_DollarName FULLNAME) <.tar.gz>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <echo>
                  more_env: []
                  words: [
                    {<echo>}
                    {
                      (DQ ($ Id.VSub_DollarName CMAKE_SHA256_LINUX) <'  '> 
                        ($ Id.VSub_DollarName FULLNAME) <.tar.gz>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <sha256sum>
                  more_env: []
                  words: [{<sha256sum>} {<-c>} {<->}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CMAKE_EXTRACTED_PATH='>
                      name: CMAKE_EXTRACTED_PATH
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName FULLNAME) <'/bin/cmake'>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {(DQ <'This script only supports x86_64 Mac and Linux. For other platforms,'>)}
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'get cmake from your package manager or compile it from source.'>)}]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <tar>
      more_env: []
      words: [{<tar>} {<-xzf>} {($ Id.VSub_DollarName FULLNAME) <.tar.gz>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [
        {<echo>}
        {
          (DQ <'CMAKE = '> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName CMAKE_EXTRACTED_PATH))
        }
      ]
      redirects: [(Redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<'../../Make.user'>})]
      do_fork: T
    )
  ]
)