Running ‘DEPRECATED.R’ [1s/1s]
  Running ‘cluster-missing-doFuture-pkg.R’ [1s/3s]
  Running ‘doRNG,dopar.R’ [3s/34s]
  Running ‘doRNG,dorng.R’ [5s/37s]
  Running ‘foreach,errors.R’ [7s/100s]
  Running ‘foreach,globals.R’ [8s/101s]
  Running ‘foreach,nested.R’ [2s/4s]
  Running ‘foreach,nested_dopar.R’ [14s/224s]
  Running ‘foreach.R’ [11s/50s]
  Running ‘future.BatchJobs.R’ [26s/31s]
  Running ‘future.batchtools.R’ [45s/42s]
  Running ‘options.R’ [3s/21s]
  Running ‘registerDoFuture.R’ [2s/32s]
  Running ‘times.R’ [3s/34s]
  Running ‘zzz_opt-in,NMF.R’ [0s/0s]
  Running ‘zzz_opt-in,TSP.R’ [0s/1s]
  Running ‘zzz_opt-in,caret.R’ [0s/1s]
  Running ‘zzz_opt-in,foreach.R’ [0s/1s]
  Running ‘zzz_opt-in,glmnet.R’ [0s/1s]
  Running ‘zzz_opt-in,plyr.R’ [0s/1s]
Running the tests in ‘tests/foreach,nested.R’ failed.
Complete output:
  > source("incl/start.R")
  Loading required package: globals
  Loading required package: future
  Loading required package: foreach
  Loading required package: iterators
  Loading required package: parallel
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: future::plan(future::sequential)
  
  plan(): nbrOfWorkers() = 1
  > 
  > strategies <- future:::supportedStrategies()
  > strategies <- setdiff(strategies, "multiprocess")
  > 
  > message("*** doFuture - nested w/ %:% ...")
  *** doFuture - nested w/ %:% ...
  > 
  > registerDoFuture()
  > 
  > for (strategy1 in strategies) {
  +   for (strategy2 in strategies) {
  +     message(sprintf("- plan(list('%s', '%s')) ...", strategy1, strategy2))
  +     plan(list(a = strategy1, b = strategy2))
  +     nested <- plan("list")
  + 
  +     as <- 1:2
  +     bs <- 3:1
  +     x <- foreach(a = as) %:% foreach(b = bs) %dopar% {
  +       list(a = a, b = b, plan_b = future::plan("list"), plan = future::plan())
  +     }
  + 
  +     stopifnot(length(x) == length(as))
  +     for (aa in seq_along(as)) {
  +       x_aa <- x[[aa]]
  +       stopifnot(length(x_aa) == length(bs))
  +       a <- as[aa]
  +       for (bb in seq_along(bs)) {
  +         x_aa_bb <- x_aa[[bb]]
  +         b <- bs[bb]
  +         stopifnot(
  +           length(x_aa_bb) == 4L,
  +           all(names(x_aa_bb) == c("a", "b", "plan_b", "plan")),
  +           x_aa_bb$a == a,
  +           x_aa_bb$b == b,
  +           length(x_aa_bb$plan_b) == length(nested[-1]),
  +           inherits(x_aa_bb$plan_b[[1]], strategy2),
  +           inherits(x_aa_bb$plan, strategy2)
  +         )
  +       }
  +     }
  + 
  +     message(sprintf("- plan(list('%s', '%s')) ... DONE", strategy1, strategy2))
  +   }
  + }
  - plan(list('sequential', 'sequential')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  [21:00:53.409] doFuture() ...
  [21:00:53.416] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:53.421] - R expression:
  [21:00:53.421] {
  [21:00:53.421]     doFuture::registerDoFuture()
  [21:00:53.421]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.421]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.421]         {
  [21:00:53.421]             a <- NULL
  [21:00:53.421]             b <- NULL
  [21:00:53.421]         }
  [21:00:53.421]         ...future.env <- environment()
  [21:00:53.421]         local({
  [21:00:53.421]             for (name in names(...future.x_jj)) {
  [21:00:53.421]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.421]                   inherits = FALSE)
  [21:00:53.421]             }
  [21:00:53.421]         })
  [21:00:53.421]         tryCatch({
  [21:00:53.421]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.421]                 plan = future::plan())
  [21:00:53.421]         }, error = identity)
  [21:00:53.421]     })
  [21:00:53.421] }
  [21:00:53.422] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:53.463] List of 1
  [21:00:53.463]  $ ...future.x_ii: NULL
  [21:00:53.463]  - attr(*, "where")=List of 1
  [21:00:53.463]   ..$ ...future.x_ii:<environment: 0x55765bd53888> 
  [21:00:53.463]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.463]  - attr(*, "resolved")= logi FALSE
  [21:00:53.463]  - attr(*, "total_size")= num 0
  [21:00:53.475]   - R expression:
  [21:00:53.475] {
  [21:00:53.475]     doFuture::registerDoFuture()
  [21:00:53.475]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.475]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.475]         {
  [21:00:53.475]             a <- NULL
  [21:00:53.475]             b <- NULL
  [21:00:53.475]         }
  [21:00:53.475]         ...future.env <- environment()
  [21:00:53.475]         local({
  [21:00:53.475]             for (name in names(...future.x_jj)) {
  [21:00:53.475]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.475]                   inherits = FALSE)
  [21:00:53.475]             }
  [21:00:53.475]         })
  [21:00:53.475]         tryCatch({
  [21:00:53.475]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.475]                 plan = future::plan())
  [21:00:53.475]         }, error = identity)
  [21:00:53.475]     })
  [21:00:53.475] }
  [21:00:53.476]   - globals: [1] '...future.x_ii'
  [21:00:53.476] List of 1
  [21:00:53.476]  $ ...future.x_ii: NULL
  [21:00:53.476]  - attr(*, "where")=List of 1
  [21:00:53.476]   ..$ ...future.x_ii:<environment: 0x55765bd53888> 
  [21:00:53.476]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.476]  - attr(*, "resolved")= logi FALSE
  [21:00:53.476]  - attr(*, "total_size")= num 0
  [21:00:53.483]   - packages: [1] 'doFuture'
  [21:00:53.483] - identifying globals and packages ... DONE
  [21:00:53.484] Number of chunks: 1
  [21:00:53.485] Number of futures (= number of chunks): 1
  [21:00:53.485] Launching 1 futures (chunks) ...
  [21:00:53.485] Chunk #1 of 1 ...
  [21:00:53.486]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.488] 
  [21:00:53.489] 
  [21:00:53.489]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 672 bytes (672 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = NULL, 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    has_future <- requireNamespace("future", quietly = TRUE)
                    version <- if (has_future) 
                      packageVersion("future")
                    else NULL
                    if (!has_future || version < "1.8.0") {
                      info <- c(r_version = gsub("R version ", 
                        "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                        R.version$platform, 8 * .Machine$sizeof.pointer), 
                        os = paste(Sys.info()[c("sysname", "release", 
                          "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                      info <- sprintf("%s: %s", names(info), info)
                      info <- paste(info, collapse = "; ")
                      if (!has_future) {
                        msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                          info)
                      }
                      else {
                        msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                          info, version)
                      }
                      stop(msg)
                    }
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              NULL
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  [21:00:53.538] Chunk #1 of 1 ... DONE
  [21:00:53.538] Launching 1 futures (chunks) ... DONE
  [21:00:53.538] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  [21:00:53.541] - relaying conditions of futures
  [21:00:53.542] - collecting values of futures
  [21:00:53.543] - accumulating results
  [21:00:53.547] - processing errors (handler = 'stop')
  [21:00:53.548] - extracting results
  [21:00:53.548] doFuture() ... DONE
  - plan(list('sequential', 'sequential')) ... DONE
  - plan(list('sequential', 'multicore')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  [21:00:53.552] doFuture() ...
  [21:00:53.557] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:53.558] - R expression:
  [21:00:53.558] {
  [21:00:53.558]     doFuture::registerDoFuture()
  [21:00:53.558]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.558]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.558]         {
  [21:00:53.558]             a <- NULL
  [21:00:53.558]             b <- NULL
  [21:00:53.558]         }
  [21:00:53.558]         ...future.env <- environment()
  [21:00:53.558]         local({
  [21:00:53.558]             for (name in names(...future.x_jj)) {
  [21:00:53.558]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.558]                   inherits = FALSE)
  [21:00:53.558]             }
  [21:00:53.558]         })
  [21:00:53.558]         tryCatch({
  [21:00:53.558]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.558]                 plan = future::plan())
  [21:00:53.558]         }, error = identity)
  [21:00:53.558]     })
  [21:00:53.558] }
  [21:00:53.559] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:53.578] List of 1
  [21:00:53.578]  $ ...future.x_ii: NULL
  [21:00:53.578]  - attr(*, "where")=List of 1
  [21:00:53.578]   ..$ ...future.x_ii:<environment: 0x55765cc7eec8> 
  [21:00:53.578]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.578]  - attr(*, "resolved")= logi FALSE
  [21:00:53.578]  - attr(*, "total_size")= num 0
  [21:00:53.585]   - R expression:
  [21:00:53.585] {
  [21:00:53.585]     doFuture::registerDoFuture()
  [21:00:53.585]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.585]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.585]         {
  [21:00:53.585]             a <- NULL
  [21:00:53.585]             b <- NULL
  [21:00:53.585]         }
  [21:00:53.585]         ...future.env <- environment()
  [21:00:53.585]         local({
  [21:00:53.585]             for (name in names(...future.x_jj)) {
  [21:00:53.585]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.585]                   inherits = FALSE)
  [21:00:53.585]             }
  [21:00:53.585]         })
  [21:00:53.585]         tryCatch({
  [21:00:53.585]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.585]                 plan = future::plan())
  [21:00:53.585]         }, error = identity)
  [21:00:53.585]     })
  [21:00:53.585] }
  [21:00:53.586]   - globals: [1] '...future.x_ii'
  [21:00:53.586] List of 1
  [21:00:53.586]  $ ...future.x_ii: NULL
  [21:00:53.586]  - attr(*, "where")=List of 1
  [21:00:53.586]   ..$ ...future.x_ii:<environment: 0x55765cc7eec8> 
  [21:00:53.586]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.586]  - attr(*, "resolved")= logi FALSE
  [21:00:53.586]  - attr(*, "total_size")= num 0
  [21:00:53.598]   - packages: [1] 'doFuture'
  [21:00:53.598] - identifying globals and packages ... DONE
  [21:00:53.598] Number of chunks: 1
  [21:00:53.598] Number of futures (= number of chunks): 1
  [21:00:53.599] Launching 1 futures (chunks) ...
  [21:00:53.599] Chunk #1 of 1 ...
  [21:00:53.599]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.602] 
  [21:00:53.602] 
  [21:00:53.603]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 672 bytes (672 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    has_future <- requireNamespace("future", quietly = TRUE)
                    version <- if (has_future) 
                      packageVersion("future")
                    else NULL
                    if (!has_future || version < "1.8.0") {
                      info <- c(r_version = gsub("R version ", 
                        "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                        R.version$platform, 8 * .Machine$sizeof.pointer), 
                        os = paste(Sys.info()[c("sysname", "release", 
                          "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                      info <- sprintf("%s: %s", names(info), info)
                      info <- paste(info, collapse = "; ")
                      if (!has_future) {
                        msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                          info)
                      }
                      else {
                        msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                          info, version)
                      }
                      stop(msg)
                    }
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              NULL
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  [21:00:53.654] Chunk #1 of 1 ... DONE
  [21:00:53.654] Launching 1 futures (chunks) ... DONE
  [21:00:53.655] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  [21:00:53.657] - relaying conditions of futures
  [21:00:53.657] - collecting values of futures
  [21:00:53.658] - accumulating results
  [21:00:53.660] - processing errors (handler = 'stop')
  [21:00:53.661] - extracting results
  [21:00:53.661] doFuture() ... DONE
  - plan(list('sequential', 'multicore')) ... DONE
  - plan(list('sequential', 'multisession')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  [21:00:53.666] doFuture() ...
  [21:00:53.670] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:53.672] - R expression:
  [21:00:53.672] {
  [21:00:53.672]     doFuture::registerDoFuture()
  [21:00:53.672]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.672]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.672]         {
  [21:00:53.672]             a <- NULL
  [21:00:53.672]             b <- NULL
  [21:00:53.672]         }
  [21:00:53.672]         ...future.env <- environment()
  [21:00:53.672]         local({
  [21:00:53.672]             for (name in names(...future.x_jj)) {
  [21:00:53.672]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.672]                   inherits = FALSE)
  [21:00:53.672]             }
  [21:00:53.672]         })
  [21:00:53.672]         tryCatch({
  [21:00:53.672]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.672]                 plan = future::plan())
  [21:00:53.672]         }, error = identity)
  [21:00:53.672]     })
  [21:00:53.672] }
  [21:00:53.673] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:53.735] List of 1
  [21:00:53.735]  $ ...future.x_ii: NULL
  [21:00:53.735]  - attr(*, "where")=List of 1
  [21:00:53.735]   ..$ ...future.x_ii:<environment: 0x55765cdd02d8> 
  [21:00:53.735]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.735]  - attr(*, "resolved")= logi FALSE
  [21:00:53.735]  - attr(*, "total_size")= num 0
  [21:00:53.746]   - R expression:
  [21:00:53.747] {
  [21:00:53.747]     doFuture::registerDoFuture()
  [21:00:53.747]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.747]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.747]         {
  [21:00:53.747]             a <- NULL
  [21:00:53.747]             b <- NULL
  [21:00:53.747]         }
  [21:00:53.747]         ...future.env <- environment()
  [21:00:53.747]         local({
  [21:00:53.747]             for (name in names(...future.x_jj)) {
  [21:00:53.747]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.747]                   inherits = FALSE)
  [21:00:53.747]             }
  [21:00:53.747]         })
  [21:00:53.747]         tryCatch({
  [21:00:53.747]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.747]                 plan = future::plan())
  [21:00:53.747]         }, error = identity)
  [21:00:53.747]     })
  [21:00:53.747] }
  [21:00:53.748]   - globals: [1] '...future.x_ii'
  [21:00:53.748] List of 1
  [21:00:53.748]  $ ...future.x_ii: NULL
  [21:00:53.748]  - attr(*, "where")=List of 1
  [21:00:53.748]   ..$ ...future.x_ii:<environment: 0x55765cdd02d8> 
  [21:00:53.748]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.748]  - attr(*, "resolved")= logi FALSE
  [21:00:53.748]  - attr(*, "total_size")= num 0
  [21:00:53.755]   - packages: [1] 'doFuture'
  [21:00:53.755] - identifying globals and packages ... DONE
  [21:00:53.756] Number of chunks: 1
  [21:00:53.756] Number of futures (= number of chunks): 1
  [21:00:53.757] Launching 1 futures (chunks) ...
  [21:00:53.757] Chunk #1 of 1 ...
  [21:00:53.757]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.760] 
  [21:00:53.760] 
  [21:00:53.761]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 672 bytes (672 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    has_future <- requireNamespace("future", quietly = TRUE)
                    version <- if (has_future) 
                      packageVersion("future")
                    else NULL
                    if (!has_future || version < "1.8.0") {
                      info <- c(r_version = gsub("R version ", 
                        "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                        R.version$platform, 8 * .Machine$sizeof.pointer), 
                        os = paste(Sys.info()[c("sysname", "release", 
                          "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                      info <- sprintf("%s: %s", names(info), info)
                      info <- paste(info, collapse = "; ")
                      if (!has_future) {
                        msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                          info)
                      }
                      else {
                        msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                          info, version)
                      }
                      stop(msg)
                    }
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableCores(), 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              NULL
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableCores(), gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  [21:00:53.783] Chunk #1 of 1 ... DONE
  [21:00:53.783] Launching 1 futures (chunks) ... DONE
  [21:00:53.784] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  [21:00:53.785] - relaying conditions of futures
  [21:00:53.786] - collecting values of futures
  [21:00:53.786] - accumulating results
  [21:00:53.788] - processing errors (handler = 'stop')
  [21:00:53.789] - extracting results
  [21:00:53.789] doFuture() ... DONE
  - plan(list('sequential', 'multisession')) ... DONE
  - plan(list('sequential', 'cluster')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  [21:00:53.793] doFuture() ...
  [21:00:53.797] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:53.798] - R expression:
  [21:00:53.799] {
  [21:00:53.799]     doFuture::registerDoFuture()
  [21:00:53.799]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.799]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.799]         {
  [21:00:53.799]             a <- NULL
  [21:00:53.799]             b <- NULL
  [21:00:53.799]         }
  [21:00:53.799]         ...future.env <- environment()
  [21:00:53.799]         local({
  [21:00:53.799]             for (name in names(...future.x_jj)) {
  [21:00:53.799]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.799]                   inherits = FALSE)
  [21:00:53.799]             }
  [21:00:53.799]         })
  [21:00:53.799]         tryCatch({
  [21:00:53.799]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.799]                 plan = future::plan())
  [21:00:53.799]         }, error = identity)
  [21:00:53.799]     })
  [21:00:53.799] }
  [21:00:53.800] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:53.823] List of 1
  [21:00:53.823]  $ ...future.x_ii: NULL
  [21:00:53.823]  - attr(*, "where")=List of 1
  [21:00:53.823]   ..$ ...future.x_ii:<environment: 0x55765cf1c348> 
  [21:00:53.823]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.823]  - attr(*, "resolved")= logi FALSE
  [21:00:53.823]  - attr(*, "total_size")= num 0
  [21:00:53.829]   - R expression:
  [21:00:53.829] {
  [21:00:53.829]     doFuture::registerDoFuture()
  [21:00:53.829]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.829]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.829]         {
  [21:00:53.829]             a <- NULL
  [21:00:53.829]             b <- NULL
  [21:00:53.829]         }
  [21:00:53.829]         ...future.env <- environment()
  [21:00:53.829]         local({
  [21:00:53.829]             for (name in names(...future.x_jj)) {
  [21:00:53.829]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.829]                   inherits = FALSE)
  [21:00:53.829]             }
  [21:00:53.829]         })
  [21:00:53.829]         tryCatch({
  [21:00:53.829]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.829]                 plan = future::plan())
  [21:00:53.829]         }, error = identity)
  [21:00:53.829]     })
  [21:00:53.829] }
  [21:00:53.830]   - globals: [1] '...future.x_ii'
  [21:00:53.831] List of 1
  [21:00:53.831]  $ ...future.x_ii: NULL
  [21:00:53.831]  - attr(*, "where")=List of 1
  [21:00:53.831]   ..$ ...future.x_ii:<environment: 0x55765cf1c348> 
  [21:00:53.831]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.831]  - attr(*, "resolved")= logi FALSE
  [21:00:53.831]  - attr(*, "total_size")= num 0
  [21:00:53.837]   - packages: [1] 'doFuture'
  [21:00:53.837] - identifying globals and packages ... DONE
  [21:00:53.837] Number of chunks: 1
  [21:00:53.838] Number of futures (= number of chunks): 1
  [21:00:53.838] Launching 1 futures (chunks) ...
  [21:00:53.838] Chunk #1 of 1 ...
  [21:00:53.839]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.841] 
  [21:00:53.842] 
  [21:00:53.842]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 672 bytes (672 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    has_future <- requireNamespace("future", quietly = TRUE)
                    version <- if (has_future) 
                      packageVersion("future")
                    else NULL
                    if (!has_future || version < "1.8.0") {
                      info <- c(r_version = gsub("R version ", 
                        "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                        R.version$platform, 8 * .Machine$sizeof.pointer), 
                        os = paste(Sys.info()[c("sysname", "release", 
                          "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                      info <- sprintf("%s: %s", names(info), info)
                      info <- paste(info, collapse = "; ")
                      if (!has_future) {
                        msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                          info)
                      }
                      else {
                        msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                          info, version)
                      }
                      stop(msg)
                    }
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableWorkers(), 
                  user = NULL, revtunnel = TRUE, homogeneous = TRUE, 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              NULL
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableWorkers(), user = NULL, revtunnel = TRUE, 
                  homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  SequentialFuture started (and completed)
  [21:00:53.864] Chunk #1 of 1 ... DONE
  [21:00:53.864] Launching 1 futures (chunks) ... DONE
  [21:00:53.864] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 1
  
   length: 0 (resolved future 1)
  resolve() on list ... DONE
  [21:00:53.866] - relaying conditions of futures
  [21:00:53.867] - collecting values of futures
  [21:00:53.867] - accumulating results
  [21:00:53.869] - processing errors (handler = 'stop')
  [21:00:53.870] - extracting results
  [21:00:53.870] doFuture() ... DONE
  - plan(list('sequential', 'cluster')) ... DONE
  - plan(list('multicore', 'sequential')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  [21:00:53.874] doFuture() ...
  [21:00:53.878] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:53.879] - R expression:
  [21:00:53.879] {
  [21:00:53.879]     doFuture::registerDoFuture()
  [21:00:53.879]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.879]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.879]         {
  [21:00:53.879]             a <- NULL
  [21:00:53.879]             b <- NULL
  [21:00:53.879]         }
  [21:00:53.879]         ...future.env <- environment()
  [21:00:53.879]         local({
  [21:00:53.879]             for (name in names(...future.x_jj)) {
  [21:00:53.879]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.879]                   inherits = FALSE)
  [21:00:53.879]             }
  [21:00:53.879]         })
  [21:00:53.879]         tryCatch({
  [21:00:53.879]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.879]                 plan = future::plan())
  [21:00:53.879]         }, error = identity)
  [21:00:53.879]     })
  [21:00:53.879] }
  [21:00:53.880] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:53.903] List of 1
  [21:00:53.903]  $ ...future.x_ii: NULL
  [21:00:53.903]  - attr(*, "where")=List of 1
  [21:00:53.903]   ..$ ...future.x_ii:<environment: 0x55765d0bb968> 
  [21:00:53.903]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.903]  - attr(*, "resolved")= logi FALSE
  [21:00:53.903]  - attr(*, "total_size")= num 0
  [21:00:53.911]   - R expression:
  [21:00:53.911] {
  [21:00:53.911]     doFuture::registerDoFuture()
  [21:00:53.911]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:53.911]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:53.911]         {
  [21:00:53.911]             a <- NULL
  [21:00:53.911]             b <- NULL
  [21:00:53.911]         }
  [21:00:53.911]         ...future.env <- environment()
  [21:00:53.911]         local({
  [21:00:53.911]             for (name in names(...future.x_jj)) {
  [21:00:53.911]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:53.911]                   inherits = FALSE)
  [21:00:53.911]             }
  [21:00:53.911]         })
  [21:00:53.911]         tryCatch({
  [21:00:53.911]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:53.911]                 plan = future::plan())
  [21:00:53.911]         }, error = identity)
  [21:00:53.911]     })
  [21:00:53.911] }
  [21:00:53.912]   - globals: [1] '...future.x_ii'
  [21:00:53.912] List of 1
  [21:00:53.912]  $ ...future.x_ii: NULL
  [21:00:53.912]  - attr(*, "where")=List of 1
  [21:00:53.912]   ..$ ...future.x_ii:<environment: 0x55765d0bb968> 
  [21:00:53.912]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:53.912]  - attr(*, "resolved")= logi FALSE
  [21:00:53.912]  - attr(*, "total_size")= num 0
  [21:00:53.918]   - packages: [1] 'doFuture'
  [21:00:53.919] - identifying globals and packages ... DONE
  [21:00:53.923] Number of chunks: 2
  [21:00:53.923] Number of futures (= number of chunks): 2
  [21:00:53.924] Launching 2 futures (chunks) ...
  [21:00:53.924] Chunk #1 of 2 ...
  [21:00:53.924]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.927] 
  [21:00:53.927] 
  [21:00:53.927]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:53.948] Chunk #1 of 2 ... DONE
  [21:00:53.948] Chunk #2 of 2 ...
  [21:00:53.949]  - Finding globals in 'args_list' chunk #2 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:53.952] 
  [21:00:53.952] 
  [21:00:53.953]  - Finding globals in 'args_list' for chunk #2 ... DONE
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  getGlobalsAndPackages() ...
  plan(): nbrOfWorkers() = 1
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  plan(): nbrOfWorkers() = 2
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, local = TRUE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  local <- as.logical(local)
                  future <- SequentialFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, local = local, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:53.990] Chunk #2 of 2 ... DONE
  [21:00:53.990] Launching 2 futures (chunks) ... DONE
  [21:00:53.991] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 2
  
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
   length: 1 (resolved future 1)
  plan(): nbrOfWorkers() = 2
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  [21:00:54.020] - relaying conditions of futures
  [21:00:54.032] - collecting values of futures
  [21:00:54.033] - accumulating results
  [21:00:54.036] - processing errors (handler = 'stop')
  [21:00:54.036] - extracting results
  [21:00:54.037] doFuture() ... DONE
  - plan(list('multicore', 'sequential')) ... DONE
  - plan(list('multicore', 'multicore')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  [21:00:54.041] doFuture() ...
  [21:00:54.046] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:54.048] - R expression:
  [21:00:54.048] {
  [21:00:54.048]     doFuture::registerDoFuture()
  [21:00:54.048]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.048]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.048]         {
  [21:00:54.048]             a <- NULL
  [21:00:54.048]             b <- NULL
  [21:00:54.048]         }
  [21:00:54.048]         ...future.env <- environment()
  [21:00:54.048]         local({
  [21:00:54.048]             for (name in names(...future.x_jj)) {
  [21:00:54.048]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.048]                   inherits = FALSE)
  [21:00:54.048]             }
  [21:00:54.048]         })
  [21:00:54.048]         tryCatch({
  [21:00:54.048]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.048]                 plan = future::plan())
  [21:00:54.048]         }, error = identity)
  [21:00:54.048]     })
  [21:00:54.048] }
  [21:00:54.049] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:54.087] List of 1
  [21:00:54.087]  $ ...future.x_ii: NULL
  [21:00:54.087]  - attr(*, "where")=List of 1
  [21:00:54.087]   ..$ ...future.x_ii:<environment: 0x55765b96db10> 
  [21:00:54.087]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.087]  - attr(*, "resolved")= logi FALSE
  [21:00:54.087]  - attr(*, "total_size")= num 0
  [21:00:54.094]   - R expression:
  [21:00:54.111] {
  [21:00:54.111]     doFuture::registerDoFuture()
  [21:00:54.111]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.111]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.111]         {
  [21:00:54.111]             a <- NULL
  [21:00:54.111]             b <- NULL
  [21:00:54.111]         }
  [21:00:54.111]         ...future.env <- environment()
  [21:00:54.111]         local({
  [21:00:54.111]             for (name in names(...future.x_jj)) {
  [21:00:54.111]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.111]                   inherits = FALSE)
  [21:00:54.111]             }
  [21:00:54.111]         })
  [21:00:54.111]         tryCatch({
  [21:00:54.111]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.111]                 plan = future::plan())
  [21:00:54.111]         }, error = identity)
  [21:00:54.111]     })
  [21:00:54.111] }
  [21:00:54.112]   - globals: [1] '...future.x_ii'
  [21:00:54.112] List of 1
  [21:00:54.112]  $ ...future.x_ii: NULL
  [21:00:54.112]  - attr(*, "where")=List of 1
  [21:00:54.112]   ..$ ...future.x_ii:<environment: 0x55765b96db10> 
  [21:00:54.112]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.112]  - attr(*, "resolved")= logi FALSE
  [21:00:54.112]  - attr(*, "total_size")= num 0
  [21:00:54.119]   - packages: [1] 'doFuture'
  [21:00:54.119] - identifying globals and packages ... DONE
  [21:00:54.121] Number of chunks: 2
  [21:00:54.121] Number of futures (= number of chunks): 2
  [21:00:54.121] Launching 2 futures (chunks) ...
  [21:00:54.122] Chunk #1 of 2 ...
  [21:00:54.122]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.125] 
  [21:00:54.125] 
  [21:00:54.125]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.181] Chunk #1 of 2 ... DONE
  [21:00:54.181] Chunk #2 of 2 ...
  [21:00:54.182]  - Finding globals in 'args_list' chunk #2 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.186] 
  [21:00:54.186] 
  [21:00:54.187]  - Finding globals in 'args_list' for chunk #2 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.243] Chunk #2 of 2 ... DONE
  [21:00:54.244] Launching 2 futures (chunks) ... DONE
  [21:00:54.244] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  [21:00:54.265] - relaying conditions of futures
  [21:00:54.270] - collecting values of futures
  [21:00:54.271] - accumulating results
  [21:00:54.274] - processing errors (handler = 'stop')
  [21:00:54.275] - extracting results
  [21:00:54.275] doFuture() ... DONE
  - plan(list('multicore', 'multicore')) ... DONE
  - plan(list('multicore', 'multisession')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  [21:00:54.296] doFuture() ...
  [21:00:54.301] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:54.303] - R expression:
  [21:00:54.303] {
  [21:00:54.303]     doFuture::registerDoFuture()
  [21:00:54.303]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.303]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.303]         {
  [21:00:54.303]             a <- NULL
  [21:00:54.303]             b <- NULL
  [21:00:54.303]         }
  [21:00:54.303]         ...future.env <- environment()
  [21:00:54.303]         local({
  [21:00:54.303]             for (name in names(...future.x_jj)) {
  [21:00:54.303]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.303]                   inherits = FALSE)
  [21:00:54.303]             }
  [21:00:54.303]         })
  [21:00:54.303]         tryCatch({
  [21:00:54.303]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.303]                 plan = future::plan())
  [21:00:54.303]         }, error = identity)
  [21:00:54.303]     })
  [21:00:54.303] }
  [21:00:54.304] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:54.331] List of 1
  [21:00:54.331]  $ ...future.x_ii: NULL
  [21:00:54.331]  - attr(*, "where")=List of 1
  [21:00:54.331]   ..$ ...future.x_ii:<environment: 0x55765cfa4508> 
  [21:00:54.331]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.331]  - attr(*, "resolved")= logi FALSE
  [21:00:54.331]  - attr(*, "total_size")= num 0
  [21:00:54.339]   - R expression:
  [21:00:54.340] {
  [21:00:54.340]     doFuture::registerDoFuture()
  [21:00:54.340]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.340]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.340]         {
  [21:00:54.340]             a <- NULL
  [21:00:54.340]             b <- NULL
  [21:00:54.340]         }
  [21:00:54.340]         ...future.env <- environment()
  [21:00:54.340]         local({
  [21:00:54.340]             for (name in names(...future.x_jj)) {
  [21:00:54.340]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.340]                   inherits = FALSE)
  [21:00:54.340]             }
  [21:00:54.340]         })
  [21:00:54.340]         tryCatch({
  [21:00:54.340]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.340]                 plan = future::plan())
  [21:00:54.340]         }, error = identity)
  [21:00:54.340]     })
  [21:00:54.340] }
  [21:00:54.341]   - globals: [1] '...future.x_ii'
  [21:00:54.341] List of 1
  [21:00:54.341]  $ ...future.x_ii: NULL
  [21:00:54.341]  - attr(*, "where")=List of 1
  [21:00:54.341]   ..$ ...future.x_ii:<environment: 0x55765cfa4508> 
  [21:00:54.341]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.341]  - attr(*, "resolved")= logi FALSE
  [21:00:54.341]  - attr(*, "total_size")= num 0
  [21:00:54.348]   - packages: [1] 'doFuture'
  [21:00:54.348] - identifying globals and packages ... DONE
  [21:00:54.350] Number of chunks: 2
  [21:00:54.350] Number of futures (= number of chunks): 2
  [21:00:54.367] Launching 2 futures (chunks) ...
  [21:00:54.367] Chunk #1 of 2 ...
  [21:00:54.367]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.370] 
  [21:00:54.370] 
  [21:00:54.371]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableCores(), 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableCores(), gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.411] Chunk #1 of 2 ... DONE
  [21:00:54.412] Chunk #2 of 2 ...
  [21:00:54.412]  - Finding globals in 'args_list' chunk #2 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.416] 
  [21:00:54.416] 
  [21:00:54.416]  - Finding globals in 'args_list' for chunk #2 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableCores(), 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableCores(), gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(length(workers) == 1, is.finite(workers), 
                    workers >= 1)
                  if (workers == 1L) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = TRUE, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  workers <- ClusterRegistry("start", workers = workers)
                  future <- MultisessionFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  plan(): nbrOfWorkers() = 2
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.438] Chunk #2 of 2 ... DONE
  [21:00:54.439] Launching 2 futures (chunks) ... DONE
  [21:00:54.439] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  [21:00:54.481] - relaying conditions of futures
  [21:00:54.486] - collecting values of futures
  [21:00:54.486] - accumulating results
  [21:00:54.489] - processing errors (handler = 'stop')
  [21:00:54.494] - extracting results
  [21:00:54.511] doFuture() ... DONE
  - plan(list('multicore', 'multisession')) ... DONE
  - plan(list('multicore', 'cluster')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  [21:00:54.515] doFuture() ...
  [21:00:54.521] - dummy globals (as locals): [2] 'a', 'b'
  [21:00:54.522] - R expression:
  [21:00:54.522] {
  [21:00:54.522]     doFuture::registerDoFuture()
  [21:00:54.522]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.522]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.522]         {
  [21:00:54.522]             a <- NULL
  [21:00:54.522]             b <- NULL
  [21:00:54.522]         }
  [21:00:54.522]         ...future.env <- environment()
  [21:00:54.522]         local({
  [21:00:54.522]             for (name in names(...future.x_jj)) {
  [21:00:54.522]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.522]                   inherits = FALSE)
  [21:00:54.522]             }
  [21:00:54.522]         })
  [21:00:54.522]         tryCatch({
  [21:00:54.522]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.522]                 plan = future::plan())
  [21:00:54.522]         }, error = identity)
  [21:00:54.522]     })
  [21:00:54.522] }
  [21:00:54.523] - identifying globals and packages ...
  getGlobalsAndPackages() ...
  Searching for globals...
  - globals found: [15] '{', '::', 'lapply', 'seq_along', '...future.x_ii', '<-', '[[', 'environment', 'local', 'for', 'names', 'assign', 'tryCatch', 'list', 'identity'
  Searching for globals ... DONE
  Resolving globals: FALSE
  The total size of the 1 globals is 0 bytes (0 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  [21:00:54.561] List of 1
  [21:00:54.561]  $ ...future.x_ii: NULL
  [21:00:54.561]  - attr(*, "where")=List of 1
  [21:00:54.561]   ..$ ...future.x_ii:<environment: 0x55765afa5980> 
  [21:00:54.561]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.561]  - attr(*, "resolved")= logi FALSE
  [21:00:54.561]  - attr(*, "total_size")= num 0
  [21:00:54.567]   - R expression:
  [21:00:54.567] {
  [21:00:54.567]     doFuture::registerDoFuture()
  [21:00:54.567]     lapply(seq_along(...future.x_ii), FUN = function(jj) {
  [21:00:54.567]         ...future.x_jj <- ...future.x_ii[[jj]]
  [21:00:54.567]         {
  [21:00:54.567]             a <- NULL
  [21:00:54.567]             b <- NULL
  [21:00:54.567]         }
  [21:00:54.567]         ...future.env <- environment()
  [21:00:54.567]         local({
  [21:00:54.567]             for (name in names(...future.x_jj)) {
  [21:00:54.567]                 assign(name, ...future.x_jj[[name]], envir = ...future.env, 
  [21:00:54.567]                   inherits = FALSE)
  [21:00:54.567]             }
  [21:00:54.567]         })
  [21:00:54.567]         tryCatch({
  [21:00:54.567]             list(a = a, b = b, plan_b = future::plan("list"), 
  [21:00:54.567]                 plan = future::plan())
  [21:00:54.567]         }, error = identity)
  [21:00:54.567]     })
  [21:00:54.567] }
  [21:00:54.568]   - globals: [1] '...future.x_ii'
  [21:00:54.568] List of 1
  [21:00:54.568]  $ ...future.x_ii: NULL
  [21:00:54.568]  - attr(*, "where")=List of 1
  [21:00:54.568]   ..$ ...future.x_ii:<environment: 0x55765afa5980> 
  [21:00:54.568]  - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list"
  [21:00:54.568]  - attr(*, "resolved")= logi FALSE
  [21:00:54.568]  - attr(*, "total_size")= num 0
  [21:00:54.575]   - packages: [1] 'doFuture'
  [21:00:54.575] - identifying globals and packages ... DONE
  [21:00:54.577] Number of chunks: 2
  [21:00:54.577] Number of futures (= number of chunks): 2
  [21:00:54.577] Launching 2 futures (chunks) ...
  [21:00:54.578] Chunk #1 of 2 ...
  [21:00:54.578]  - Finding globals in 'args_list' chunk #1 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.581] 
  [21:00:54.581] 
  [21:00:54.581]  - Finding globals in 'args_list' for chunk #1 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  
  getGlobalsAndPackages() ... DONE
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableWorkers(), 
                  user = NULL, revtunnel = TRUE, homogeneous = TRUE, 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableWorkers(), user = NULL, revtunnel = TRUE, 
                  homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.606] Chunk #1 of 2 ... DONE
  [21:00:54.607] Chunk #2 of 2 ...
  [21:00:54.607]  - Finding globals in 'args_list' chunk #2 ...
  getGlobalsAndPackages() ...
  Searching for globals...
  
  Searching for globals ... DONE
  - globals: [0] <none>
  getGlobalsAndPackages() ... DONE
  [21:00:54.611] 
  [21:00:54.612] 
  [21:00:54.612]  - Finding globals in 'args_list' for chunk #2 ... DONE
  getGlobalsAndPackages() ...
  - globals passed as-is: [1] '...future.x_ii'
  Resolving globals: FALSE
  The total size of the 1 globals is 336 bytes (336 bytes)
  - globals: [1] '...future.x_ii'
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  
  getGlobalsAndPackages() ... DONE
  plan(): nbrOfWorkers() = 1
  Packages needed by future strategies (n = 1): 'future'
  Packages needed by the future expression (n = 1): 'doFuture'
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
  {
      {
          ...future.startTime <- Sys.time()
          ...future.oldOptions <- options(future.startup.loadScript = FALSE, 
              future.globals.onMissing = "ignore", future.globals.maxSize = NULL, 
              future.globals.method = NULL, future.globals.onMissing = "ignore", 
              future.globals.onReference = NULL, future.globals.resolve = NULL, 
              future.resolve.recursive = NULL, width = 80L)
          {
              {
                  {
                    {
                      has_future <- requireNamespace("future", 
                        quietly = TRUE)
                      version <- if (has_future) 
                        packageVersion("future")
                      else NULL
                      if (!has_future || version < "1.8.0") {
                        info <- c(r_version = gsub("R version ", 
                          "", R.version$version.string), platform = sprintf("%s (%s-bit)", 
                          R.version$platform, 8 * .Machine$sizeof.pointer), 
                          os = paste(Sys.info()[c("sysname", "release", 
                            "version")], collapse = " "), hostname = Sys.info()[["nodename"]])
                        info <- sprintf("%s: %s", names(info), 
                          info)
                        info <- paste(info, collapse = "; ")
                        if (!has_future) {
                          msg <- sprintf("Package 'future' is not installed on worker (%s)", 
                            info)
                        }
                        else {
                          msg <- sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", 
                            info, version)
                        }
                        stop(msg)
                      }
                    }
                    ...future.mc.cores.old <- getOption("mc.cores")
                    options(mc.cores = 1L)
                  }
                  local({
                    for (pkg in c("future", "doFuture")) {
                      loadNamespace(pkg)
                      library(pkg, character.only = TRUE)
                    }
                  })
              }
              future::plan(list(b = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, persistent = FALSE, workers = availableWorkers(), 
                  user = NULL, revtunnel = TRUE, homogeneous = TRUE, 
                  gc = FALSE, earlySignal = FALSE, label = NULL, 
                  ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
      }
      if (is.na(TRUE)) {
      }
      else {
          if (TRUE) {
              ...future.stdout <- rawConnection(raw(0L), open = "w")
          }
          else {
              ...future.stdout <- file(switch(.Platform$OS.type, 
                  windows = "NUL", "/dev/null"), open = "w")
          }
          sink(...future.stdout, type = "output", split = FALSE)
          on.exit(if (!is.null(...future.stdout)) {
              sink(type = "output", split = FALSE)
              close(...future.stdout)
          }, add = TRUE)
      }
      ...future.frame <- sys.nframe()
      ...future.conditions <- list()
      ...future.result <- tryCatch({
          withCallingHandlers({
              ...future.value <- local({
                  doFuture::registerDoFuture()
                  lapply(seq_along(...future.x_ii), FUN = function(jj) {
                    ...future.x_jj <- ...future.x_ii[[jj]]
                    {
                      a <- NULL
                      b <- NULL
                    }
                    ...future.env <- environment()
                    local({
                      for (name in names(...future.x_jj)) {
                        assign(name, ...future.x_jj[[name]], envir = ...future.env, 
                          inherits = FALSE)
                      }
                    })
                    tryCatch({
                      list(a = a, b = b, plan_b = future::plan("list"), 
                        plan = future::plan())
                    }, error = identity)
                  })
              })
              future::FutureResult(value = ...future.value, started = ...future.startTime, 
                  version = "1.8")
          }, condition = local({
              inherits <- base::inherits
              invokeRestart <- base::invokeRestart
              length <- base::length
              seq.int <- base::seq.int
              sys.calls <- base::sys.calls
              `[[` <- base::`[[`
              `+` <- base::`+`
              `<<-` <- base::`<<-`
              sysCalls <- function(calls = sys.calls(), from = 1L) {
                  calls[seq.int(from = from + 12L, to = length(calls) - 
                    3L)]
              }
              function(cond) {
                  if (inherits(cond, "error")) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), 
                      cond$call), timestamp = base::Sys.time())
                    signalCondition(cond)
                  }
                  else if (inherits(cond, c("message", "warning"
                  ))) {
                    ...future.conditions[[length(...future.conditions) + 
                      1L]] <<- list(condition = cond)
                    if (inherits(cond, "message")) {
                      invokeRestart("muffleMessage")
                    }
                    else if (inherits(cond, "warning")) {
                      invokeRestart("muffleWarning")
                    }
                  }
              }
          }))
      }, error = function(ex) {
          structure(list(value = NULL, conditions = ...future.conditions, 
              condition = ex, calls = sys.calls(), version = "1.8"), 
              class = "FutureResult")
      }, finally = {
          {
              {
                  options(mc.cores = ...future.mc.cores.old)
              }
              future::plan(list(a = function (expr, envir = parent.frame(), 
                  substitute = TRUE, lazy = FALSE, seed = NULL, 
                  globals = TRUE, workers = availableCores(constraints = "multicore"), 
                  earlySignal = FALSE, label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  if (is.function(workers)) 
                    workers <- workers()
                  workers <- as.integer(workers)
                  stop_if_not(is.finite(workers), workers >= 1L)
                  if (workers == 1L || !supportsMulticore()) {
                    return(sequential(expr, envir = envir, substitute = FALSE, 
                      lazy = lazy, seed = seed, globals = globals, 
                      local = TRUE, label = label, ...))
                  }
                  oopts <- options(mc.cores = workers)
                  on.exit(options(oopts))
                  future <- MulticoreFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, workers = workers, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }, b = function (expr, envir = parent.frame(), substitute = TRUE, 
                  lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, 
                  workers = availableWorkers(), user = NULL, revtunnel = TRUE, 
                  homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, 
                  label = NULL, ...) 
              {
                  if (substitute) 
                    expr <- substitute(expr)
                  future <- ClusterFuture(expr = expr, envir = envir, 
                    substitute = FALSE, lazy = lazy, seed = seed, 
                    globals = globals, persistent = persistent, 
                    workers = workers, user = user, revtunnel = revtunnel, 
                    homogeneous = homogeneous, gc = gc, earlySignal = earlySignal, 
                    label = label, ...)
                  if (!future$lazy) 
                    future <- run(future)
                  invisible(future)
              }), .cleanup = FALSE, .init = FALSE)
          }
          options(...future.oldOptions)
      })
      if (is.na(TRUE)) {
      }
      else {
          sink(type = "output", split = FALSE)
          if (TRUE) {
              ...future.result$stdout <- rawToChar(rawConnectionValue(...future.stdout))
          }
          else {
              ...future.result["stdout"] <- list(NULL)
          }
          close(...future.stdout)
          ...future.stdout <- NULL
      }
      ...future.result$conditions <- ...future.conditions
      ...future.result
  }
  requestCore(): workers = 2
  MulticoreFuture started
  [21:00:54.643] Chunk #2 of 2 ... DONE
  [21:00:54.643] Launching 2 futures (chunks) ... DONE
  [21:00:54.644] - resolving futures
  resolve() on list ...
   recursive: 0
   length: 2
  
   length: 1 (resolved future 1)
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 1
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multicore:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, workers = availableCores(constraints = "multicore"), earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. cluster:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableWorkers(), user = NULL, revtunnel = TRUE, homogeneous = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): nbrOfWorkers() = 2
   length: 0 (resolved future 2)
  resolve() on list ... DONE
  [21:00:54.662] - relaying conditions of futures
  [21:00:54.667] - collecting values of futures
  [21:00:54.668] - accumulating results
  [21:00:54.672] - processing errors (handler = 'stop')
  [21:00:54.672] - extracting results
  [21:00:54.673] doFuture() ... DONE
  - plan(list('multicore', 'cluster')) ... DONE
  - plan(list('multisession', 'sequential')) ...
  plan(): Setting new future strategy stack:
  List of future strategies:
  1. multisession:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  2. sequential:
     - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, local = TRUE, earlySignal = FALSE, label = NULL, ...)
     - tweaked: FALSE
     - call: plan(list(a = strategy1, b = strategy2))
  
  plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ...
  multisession:
  - args: function (expr, envir = parent.frame(), substitute = TRUE, lazy = FALSE, seed = NULL, globals = TRUE, persistent = FALSE, workers = availableCores(), gc = FALSE, earlySignal = FALSE, label = NULL, ...)
  - tweaked: FALSE
  - call: plan(list(a = strategy1, b = strategy2))
  [local output] Workers: [n = 2] 'localhost', 'localhost'
  [local output] Base port: 11360
  [local output] Creating node 1 of 2 ...
  [local output] - setting up node
  Testing if worker's PID can be inferred: '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/bin/Rscript -e 'try(cat(Sys.getpid(),file="/tmp/RtmpTyp07t/future.parent=7477.1d356bfaec88.pid"), silent = TRUE)' -e "file.exists('/tmp/RtmpTyp07t/future.parent=7477.1d356bfaec88.pid')"'
  - Possible to infer worker's PID: TRUE
  [local output] Starting worker #1 on 'localhost': '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e '#label=foreach,nested.R:7477:gimli:hornik' -e 'try(cat(Sys.getpid(),file="/tmp/RtmpTyp07t/future.parent=7477.1d356bfaec88.pid"), silent = TRUE)' -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11360 OUT=/dev/null TIMEOUT=120 XDR=TRUE
  [local output] - Exit code of system() call: 0
  [local output] Waiting for worker #1 on 'localhost' to connect back
  [local output] Detected a warning from socketConnection(): 'port 11360 cannot be opened'
  Warning in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE,  :
    port 11360 cannot be opened
  Killing worker process (PID 8570) if still alive
  Attempting to find a working pid_exists_*() function ...
  Call: tools::pskill(7477, signal = 0L)
  [1] TRUE
  Call: tools::pskill(7477, signal = 0L)
  [1] TRUE
  - success
  Attempting to find a working pid_exists_*() function ... done
  Worker (PID 8570) was successfully killed: TRUE
  Error in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE,  : 
    Failed to launch and connect to R worker on local machine 'localhost' from local machine 'gimli'.
   * The error produced by socketConnection() was: 'cannot open the connection'
   * In addition, socketConnection() produced 1 warning(s):
     - Warning #1: 'port 11360 cannot be opened' (which suggests that this port is either already occupied by another process or blocked by the firewall on your local machine)
   * The localhost socket connection that failed to connect to the R worker used port 11360 using a communication timeout of 120 seconds and a connection timeout of 120 seconds.
   * Worker launch call: '/home/hornik/tmp/R.check/r-patched-gcc/Work/build/bin/Rscript' --default-packages=datasets,utils,grDevices,graphics,stats,methods -e '#label=foreach,nested.R:7477:gimli:hornik' -e 'try(cat(Sys.getpid(),file="/tmp/RtmpTyp07t/future.parent=7477.1d356bfaec88.pid"), silent = TRUE)' -e 'parallel:::.slaveRSOCK()' MASTER=localhost PORT=11360 OUT=/dev/null TIMEOUT=120 XDR=TRUE.
   * Worker (PID 8570) was successfully killed: TRUE
   * Troubleshooting suggestions:
     - Suggestion #1: Set 'outfile=NULL' to see output from worker.
  Calls: plan ... tryCatchList -> tryCatchOne -> <Anonymous> -> <Anonymous>
  Execution halted