{
{   The purpose of this procedure is to choose the cycles in a cycle array
{ which should be restored based on various criteria.
{
{   Each element of an array of booleans is set to TRUE or FALSE based on
{ checks made against the corresponding element of the cycle array.  One set
{ of criteria is the date/time criteria established by the INCLUDE_CYCLES
{ subcommand of the RESTORE_PERMANENT_FILES utility and passed to this routine.
{ Another criterion is whether archive information should be restored.
{
{       PFP$CHOOSE_RELEVANT_CYCLES (P_FILE_INFO_RECORD, P_CYCLE_ARRAY,
{             SELECTION_CRITERIA, RESTORE_ARCHIVE_INFORMATION, P_CHOSEN_CYCLES,
{             CHOSEN_CYCLES_COUNT, STATUS)
{
{ P_FILE_INFO_RECORD: (input) This parameter specifies an info record
{       containing information about the file whose cycles are to be restored.
{
{ P_CYCLE_ARRAY: (input) This parameter specifies the cycle array from which
{       the cycles to be restored are chosen.
{
{ SELECTION_CRITERIA: (input) This parameter specifies a date/time selection
{       criteria record as defined in RESTORE_PERMANENT_FILES by the
{       INCLUDE_CYCLES subcommand.
{
{ RESTORE_ARCHIVE_INFORMATION: (input) This parameter specifies whether or not
{       archive information is to be restored.  When its value is FALSE, cycles
{       which have archive information but no data to restore will not be
{       chosen.
{
{ P_CHOSEN_CYCLES: (output) This parameter specifies an array of booleans with
{       the same dimensions as P_CYCLE_ARRAY.  Each array element indicates
{       whether or not the corresponding cycle was chosen to be restored.
{
{ CHOSEN_CYCLES_COUNT: (output) This parameter specifies the number of cycles
{       chosen to be restored.
{
{ STATUS: (output) This parameter returns the request status.
{       CONDITIONS:
{             pfe$bad_info_record_format
{             pfe$info_offset_range_error
{             pfe$invalid_or_unusable_pva
{             pfe$nil_pointer
{             pfe$unknown_info_record
{
