code: func NewStaticFileSystem(debugMode bool) (http.FileSystem, error) {
  	if debugMode {
  		assetsToCheck := []string{"index.html", "/app"}
  
  		if debugAssetsPath == "" {
  			exePath, err := osext.ExecutableFolder()
  			if err != nil {
  				return nil, trace.Wrap(err)
  			}
  			debugAssetsPath = path.Join(exePath, "../web/dist")
  		}
  
  		for _, af := range assetsToCheck {
  			_, err := os.Stat(filepath.Join(debugAssetsPath, af))
  			if err != nil {
  				return nil, trace.Wrap(err)
  			}
  		}
  		log.Infof("[Web] Using filesystem for serving web assets: %s", debugAssetsPath)
  		return http.Dir(debugAssetsPath), nil
  	}
  
  	// otherwise, lets use the zip archive attached to the executable:
  	return loadZippedExeAssets()
  }
docs: // NewStaticFileSystem returns the initialized implementation of http.FileSystem
  // interface which can be used to serve Teleport Proxy Web UI
  //
  // If 'debugMode' is true, it will load the web assets from the same git repo
  // directory where the executable is, otherwise it will load them from the embedded
  // zip archive.
  //