// /** @file
// Instance of Memory Allocation Library using EFI Boot Services.
//
// Memory Allocation Library that uses EFI Boot Services to allocate
// and free memory.
//
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Instance of Memory Allocation Library using EFI Boot Services"

#string STR_MODULE_DESCRIPTION          #language en-US "This Memory Allocation Library uses EFI Boot Services to allocate and free memory."

