  Status Key:
    Open          Problem is unresolved and final disposition unknown.
    Verified      Problem has been reproduced.
    Understood    Root cause of problem is understood.
    Document      Problem is to be fixed through improved documentation.
    Fixed         Problem has been resolved and changes committed.

Enquire Issues
=============
      Category                                         Reported       Status
    ----------------------------------------------  --------------  -----------

Main Issues
=============
      Category                                         Reported       Status
    ----------------------------------------------  --------------  -----------
1:  The main() function should not be defined EFIAPI          2012  Fixed 1/2013

Python Issues
=============
      Category                                         Reported       Status
    ----------------------------------------------  --------------  -----------
1:  Setup documentation is unclear.                           2012  Understood
    Not all sources in the Python tree are the patched version, yet the
    documentation implies that they are.

2:  The EDK II Python User's Manual is not on tianocore.      2012  Understood

