

#include "BUILTIN.h"
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ _AUserAndGroup_12(OBJ);extern OBJ __AUserAndGroup_12;
extern OBJ _AUserAndGroup_13(OBJ);extern OBJ __AUserAndGroup_13;

#include "Denotation.h"

#include "Nat.h"
extern OBJ __ASeq_6;

#include "Char.h"
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AUserAndGroupConv_9(OBJ);extern OBJ __AUserAndGroupConv_9;

#include "Array.h"

#include "Int.h"
extern OBJ _AUserAndGroupFun_1(OBJ);OBJ __AUserAndGroupFun_1; /* homeDir */
extern OBJ _AUserAndGroupFun_2(OBJ);OBJ __AUserAndGroupFun_2; /* homeDir,1 */
OBJ __AUserAndGroupFun_3; /* homeDir'3 */
extern OBJ _AUserAndGroupFun_4(OBJ,OBJ);OBJ __AUserAndGroupFun_4; /* homeDir'4 */
OBJ __AUserAndGroupFun_5; /* homeDir,1'5 */
extern OBJ _AUserAndGroupFun_6(OBJ,OBJ);OBJ __AUserAndGroupFun_6; /* homeDir,1'6 */

extern OBJ _AUserAndGroupFun_1(OBJ x1) /* homeDir */
{OBJ r;
 CPCLS(__AUserAndGroupFun_4,1);
 CPPRD(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AUserAndGroup_13(x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AUserAndGroupFun_4,1))(__AUserAndGroupFun_4,x1);
  r=_AComCompose_5(x2,x3);}
 return r;}

extern OBJ _AUserAndGroupFun_2(OBJ x1) /* homeDir,1 */
{OBJ r;
 CPCLS(__AUserAndGroupFun_6,1);
 COPY(x1,1);
 {OBJ x2;OBJ x3;
  x2=_AUserAndGroup_12(x1);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AUserAndGroupFun_6,1))(__AUserAndGroupFun_6,x1);
  r=_AComCompose_5(x2,x3);}
 return r;}

extern OBJ _AUserAndGroupFun_4(OBJ x1,OBJ x2) /* homeDir'4 */
{OBJ r;
 if(ISPRM(x2)){
  CPPRD(__AUserAndGroupFun_3,1);
  CPCLS(__ACom_47,1);
  {OBJ x20;OBJ x21;OBJ x22;
   ADenotation_4(__AUserAndGroupFun_3,x1,x20);
   PRD(1,1,x21);FLD(x21,1)=x20;
   x22=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x21);
   PRD(2,0,r);FLD(r,1)=x22;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x23=FLD1(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x23,1);
    FRPRD(x2,1);}
   FRPRD(x1,1);
   {OBJ x27=FLD1(x23,4);
    if(EXPRD(x23,1)){
     FLD1(x23,4)=NIL;DSPRD(x23);
    }else{
     CPPRD(x27,1);
     FRPRD(x23,1);}
    CPCLS(__ACom_47,1);
    {OBJ x29;OBJ x30;
     PRD(1,0,x29);FLD(x29,1)=x27;
     x30=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x29);
     PRD(2,0,r);FLD(r,1)=x30;FLD(r,2)=__ASeq_6;}}}}
 return r;}

extern OBJ _AUserAndGroupFun_6(OBJ x1,OBJ x2) /* homeDir,1'6 */
{OBJ r;
 if(ISPRM(x2)){
  CPPRD(__AUserAndGroupFun_5,1);
  CPCLS(__ACom_47,1);
  {OBJ x21;OBJ x22;OBJ x23;OBJ x24;
   x21=_AUserAndGroupConv_9(x1);
   ADenotation_4(__AUserAndGroupFun_5,x21,x22);
   PRD(1,1,x23);FLD(x23,1)=x22;
   x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x23);
   PRD(2,0,r);FLD(r,1)=x24;FLD(r,2)=__ASeq_6;}
 }else{
  {OBJ x25=FLD1(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x25,1);
    FRPRD(x2,1);}
   FREE(x1,1);
   {OBJ x29=FLD1(x25,4);
    if(EXPRD(x25,1)){
     FLD1(x25,4)=NIL;DSPRD(x25);
    }else{
     CPPRD(x29,1);
     FRPRD(x25,1);}
    CPCLS(__ACom_47,1);
    {OBJ x31;OBJ x32;
     PRD(1,0,x31);FLD(x31,1)=x29;
     x32=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x31);
     PRD(2,0,r);FLD(r,1)=x32;FLD(r,2)=__ASeq_6;}}}}
 return r;}

init_AUserAndGroupFun()
{
 static int visited=0; if(visited) return; visited=1;
 init_ACom();
 init_AUserAndGroup();
 init_ADenotation();
 init_AOption();
 init_ASet();
 init_ANat();
 init_AVoid();
 init_ASeq();
 init_AChar();
 init_AComCompose();
 init_AUserAndGroupConv();
 init_ASeqMap();
 init_AOptionMap();
 init_AArray();
 init_AInt();
 init_AString();
 CLS(2,_AUserAndGroupFun_6,__AUserAndGroupFun_6);
 DEN("Unknown UID: ",__AUserAndGroupFun_5);
 CLS(2,_AUserAndGroupFun_4,__AUserAndGroupFun_4);
 DEN("Unknown user name: ",__AUserAndGroupFun_3);
 CLS(1,_AUserAndGroupFun_2,__AUserAndGroupFun_2);
 CLS(1,_AUserAndGroupFun_1,__AUserAndGroupFun_1);}

