| 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														module.exports = { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        verifyAndInstall(){ | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            return getTaskCheckExists(this.shellcmd, { ignorefailures: true })().then((exists) => { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            if(exists) { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              // return any(['git', ['config', '--global', '-l']].map(getshelltask)) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              return this.postinstallsteps.bind(this)() | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            } | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              return this.install(); | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          }); | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          }, | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        acquireElevationState(__isElevated) { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          if (__isElevated === null) { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            return nodeShellExec("fsutil", ["dirty", "query", "C:"], { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              inherit: true | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              // , shell: true | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              , stdio: 'ignore' | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              , env: process.env | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              , title: `check privileged execution mode using "fsutil dirty query C:"` | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            }).then((exitcode) => { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              console.log('Elevated') | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              __isElevated = true; | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              return true; | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            }).catch(() => { | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              __isElevated = false; | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              console.log('Not Elevated'); | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														              return false; | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														            }); | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          } | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														          else return Promise.resolve(__isElevated); | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        }, | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														} | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  |