code: def get_block_access_region(
      block: Block, buffer_var_map: Dict[Var, Buffer]
  ) -> List[List[BufferRegion]]:
      """Detect which regions of tensors in this block are read or written to.
         Regions are sorted by order of appearance in the AST.
  
      Parameters
      ----------
      block: tvm.tir.Block
          The block in which we are detecting read/write regions.
  
      buffer_var_map : Dict[Var, Buffer]
          The outside buffers which may access the block. Mapping from buffer var to the buffer
  
      Returns
      -------
      result : List[List[BufferRegion]]
          Array of access regions. There are three arrays of BufferRegion:
              - first: read regions
              - second: write regions
              - third: opaque regions
      """
      return _ffi_api.GetBlockAccessRegion(block, buffer_var_map)
  
imports: from typing import Dict, List, Optional, Union
  import tvm
  from tvm import Object
  from tvm.ir import IRModule
  from tvm.tir.expr import Var
  from tvm.tir.stmt import Block, BufferRegion, PrimExpr
  from ..None import Buffer, Stmt
  from ..function import PrimFunc
  from .None import _ffi_api
label_desc: Use image node_id 5 for calling a global function with example usage: get_block_access_region(block, buffer_var_map) and returns: _ffi_api