HAL & portability