

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __AOption_5;
extern OBJ _ASet_18(OBJ,OBJ,OBJ);extern OBJ __ASet_18;
extern OBJ _ASet_39(OBJ,OBJ,OBJ);extern OBJ __ASet_39;
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;

#include "Array.h"
extern OBJ _AMap_8(OBJ,OBJ,OBJ);extern OBJ __AMap_8;
extern OBJ _AMap_13(OBJ,OBJ,OBJ);extern OBJ __AMap_13;
extern OBJ _AMap_14(OBJ,OBJ,OBJ);extern OBJ __AMap_14;
extern OBJ _AMap_15(OBJ,OBJ,OBJ);extern OBJ __AMap_15;
extern OBJ _AMap_16(OBJ,OBJ,OBJ);extern OBJ __AMap_16;
extern OBJ _AMap_21(OBJ,OBJ);extern OBJ __AMap_21;
extern OBJ _AMap_22(OBJ,OBJ);extern OBJ __AMap_22;
extern OBJ _AMap_23(OBJ,OBJ);extern OBJ __AMap_23;
extern OBJ _AMap_24(OBJ,OBJ,OBJ);extern OBJ __AMap_24;
extern OBJ _AMap_25(OBJ,OBJ,OBJ);extern OBJ __AMap_25;
extern OBJ _AMap_26(OBJ,OBJ,OBJ);extern OBJ __AMap_26;
extern OBJ _AMap_31(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_31;
extern OBJ _AMap_32(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMap_32;
extern OBJ _AMap_33(OBJ,OBJ,OBJ);extern OBJ __AMap_33;
extern OBJ _AArrayMap_3(OBJ,OBJ);extern OBJ __AArrayMap_3;
extern OBJ _AArrayReduce_3(OBJ,OBJ,OBJ);extern OBJ __AArrayReduce_3;
extern OBJ __ATree_7;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
OBJ __ANatMap_3; /* {} */
extern OBJ _ANatMap_4(OBJ,OBJ,OBJ);OBJ __ANatMap_4; /* def */
extern OBJ _ANatMap_6(OBJ,OBJ);OBJ __ANatMap_6; /* undef */
extern OBJ _ANatMap_7(OBJ,OBJ,OBJ);OBJ __ANatMap_7; /* upd */
extern OBJ _ANatMap_8(OBJ,OBJ,OBJ);OBJ __ANatMap_8; /* extend */
extern OBJ _ANatMap_9(OBJ,OBJ,OBJ);OBJ __ANatMap_9; /* .. */
extern OBJ _ANatMap_10(OBJ,OBJ,OBJ,OBJ);OBJ __ANatMap_10; /* iter */
extern OBJ _ANatMap_11(OBJ,OBJ);OBJ __ANatMap_11; /* init */
extern OBJ _ANatMap_12(OBJ,OBJ);OBJ __ANatMap_12; /* <+ */
extern OBJ _ANatMap_13(OBJ,OBJ);OBJ __ANatMap_13; /* <- */
extern OBJ _ANatMap_14(OBJ,OBJ);OBJ __ANatMap_14; /* ! */
extern OBJ _ANatMap_15(OBJ,OBJ);OBJ __ANatMap_15; /* !? */
extern OBJ _ANatMap_16(OBJ);OBJ __ANatMap_16; /* {}? */
extern OBJ _ANatMap_17(OBJ,OBJ);OBJ __ANatMap_17; /* def? */
extern OBJ _ANatMap_18(OBJ);OBJ __ANatMap_18; /* dom */
extern OBJ _ANatMap_19(OBJ);OBJ __ANatMap_19; /* codom */
extern OBJ _ANatMap_20(OBJ);OBJ __ANatMap_20; /* new */
extern OBJ _ANatMap_21(OBJ);OBJ __ANatMap_21; /* # */
extern OBJ _ANatMap_22(OBJ,OBJ);OBJ __ANatMap_22; /* exist? */
extern OBJ _ANatMap_23(OBJ,OBJ);OBJ __ANatMap_23; /* find? */
extern OBJ _ANatMap_24(OBJ,OBJ);OBJ __ANatMap_24; /* forall? */
extern OBJ _ANatMap_25(OBJ);OBJ __ANatMap_25; /* abs */
extern OBJ _ANatMap_26(OBJ);OBJ __ANatMap_26; /* abs? */
extern OBJ _ANatMap_27(OBJ);OBJ __ANatMap_27; /* rep */
OBJ __ANatMap_28; /* natMapSize */
extern OBJ _ANatMap_29(OBJ);OBJ __ANatMap_29; /* !# */
extern OBJ _ANatMap_30(OBJ,OBJ,OBJ);OBJ __ANatMap_30; /* def'30 */
extern OBJ _ANatMap_31(OBJ,OBJ);OBJ __ANatMap_31; /* undef'31 */
extern OBJ _ANatMap_32(OBJ,OBJ,OBJ);OBJ __ANatMap_32; /* upd'32 */
extern OBJ _ANatMap_33(OBJ);OBJ __ANatMap_33; /* init'33 */
extern OBJ _ANatMap_34(OBJ,OBJ);OBJ __ANatMap_34; /* init'34 */
extern OBJ _ANatMap_35(OBJ,OBJ);OBJ __ANatMap_35; /* init'35 */
extern OBJ _ANatMap_36(OBJ,OBJ);OBJ __ANatMap_36; /* init'36 */
extern OBJ _ANatMap_37(OBJ,OBJ,OBJ);OBJ __ANatMap_37; /* <+'37 */
extern OBJ _ANatMap_38(OBJ,OBJ,OBJ);OBJ __ANatMap_38; /* <-'38 */
extern OBJ _ANatMap_39(OBJ);OBJ __ANatMap_39; /* #'39 */
extern OBJ _ANatMap_40(OBJ);OBJ __ANatMap_40; /* dom'40 */
extern OBJ _ANatMap_41(OBJ);OBJ __ANatMap_41; /* dom'41 */
extern OBJ _ANatMap_42(OBJ);OBJ __ANatMap_42; /* codom'42 */
extern OBJ _ANatMap_43(OBJ,OBJ);OBJ __ANatMap_43; /* exist?'43 */
extern OBJ _ANatMap_44(OBJ,OBJ);OBJ __ANatMap_44; /* find?'44 */
extern OBJ _ANatMap_45(OBJ,OBJ);OBJ __ANatMap_45; /* find?'45 */
extern OBJ _ANatMap_46(OBJ,OBJ);OBJ __ANatMap_46; /* forall?'46 */

extern OBJ _ANatMap_4(OBJ x1,OBJ x2,OBJ x3) /* def */
{OBJ r;
 CPCLS(__ANatMap_30,1);
 {OBJ x4;OBJ x5;
  ANat_66(x1,__ANatMap_28,x4);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ANatMap_30,2))(__ANatMap_30,x1,x2);
  AArray_9(x4,x5,x3,r);}
 return r;}

extern OBJ _ANatMap_6(OBJ x1,OBJ x2) /* undef */
{OBJ r;
 CPCLS(__ANatMap_31,1);
 {OBJ x3;OBJ x4;
  ANat_66(x1,__ANatMap_28,x3);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_31,1))(__ANatMap_31,x1);
  AArray_9(x3,x4,x2,r);}
 return r;}

extern OBJ _ANatMap_7(OBJ x1,OBJ x2,OBJ x3) /* upd */
{OBJ r;
 CPCLS(__ANatMap_32,1);
 {OBJ x4;OBJ x5;
  ANat_66(x1,__ANatMap_28,x4);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ANatMap_32,2))(__ANatMap_32,x1,x2);
  AArray_9(x4,x5,x3,r);}
 return r;}

extern OBJ _ANatMap_8(register OBJ x1,register OBJ x2,register OBJ x3) /* extend */
{OBJ r;
 for(;;){
  if(ISPRM(x2)){
   if(ISPRM(x3)){
    r=x1;
   }else{
    HLT("extend\'Map: seq[codom] too long");}
  }else{
   {OBJ x66=FLD1(x2,1);OBJ x67=FLD1(x2,2);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     COPY(x67,1);
     FRPRD(x2,1);}
    if(ISPRM(x3)){
     HLT("extend\'NatMap: seq[nat] too long");
    }else{
     {OBJ x68=FLD1(x3,1);OBJ x69=FLD1(x3,2);
      if(EXPRD(x3,1)){
       DSPRDF(x3);
      }else{
       COPY(x68,1);COPY(x69,1);
       FRPRD(x3,1);}
      {OBJ x72;
       x72=_ANatMap_4(x66,x68,x1);
       x1=x72;x2=x67;x3=x69;continue;}}}}}
  break;}
 return r;}

extern OBJ _ANatMap_9(OBJ x1,OBJ x2,OBJ x3) /* .. */
{OBJ r;
 {OBJ x4;
  ANat_78(x1,x2,x4);
  if(ISTGPRM(x4,1)){
   CPCLS(x3,1);
   {OBJ x5;OBJ x6;OBJ x7;
    x5=(*(OBJ(*)(OBJ,OBJ))METHOD(x3,1))(x3,x1);
    ANat_2(x1,x6);
    x7=_ANatMap_9(x6,x2,x3);
    r=_ANatMap_4(x1,x5,x7);}
  }else{
   FRCLS(x3,1);
   CPPRD(__ANatMap_3,1);
   r=__ANatMap_3;}}
 return r;}

extern OBJ _ANatMap_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* iter */
{OBJ r;
 CPCLS(x3,1);
 {OBJ x5;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(x3,1))(x3,x1);
  if(ISTGPRM(x5,1)){
   FRCLS(x2,1);
   FRCLS(x3,1);
   FRCLS(x4,1);
   CPPRD(__ANatMap_3,1);
   r=__ANatMap_3;
  }else{
   CPCLS(x2,1);
   CPCLS(x4,1);
   {OBJ x6;OBJ x7;OBJ x8;
    x6=(*(OBJ(*)(OBJ,OBJ))METHOD(x4,1))(x4,x1);
    x7=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,x1);
    x8=_ANatMap_10(x7,x2,x3,x4);
    r=_ANatMap_4(x1,x6,x8);}}}
 return r;}

extern OBJ _ANatMap_11(OBJ x1,OBJ x2) /* init */
{OBJ r;
 CPCLS(__ANatMap_33,1);
 CPCLS(__ANatMap_34,1);
 CPCLS(__ANatMap_36,1);
 {OBJ x3;OBJ x4;OBJ x5;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_33,1))(__ANatMap_33,__ABUILTIN_20);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_34,1))(__ANatMap_34,x2);
  x5=_ASeqReduce_3(__ANatMap_36,x3,x1);
  r=_AArrayMap_3(x4,x5);}
 return r;}

extern OBJ _ANatMap_12(OBJ x1,OBJ x2) /* <+ */
{OBJ r;
 CPCLS(__ANatMap_37,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ANatMap_37,2))(__ANatMap_37,x1,x2);
  AArray_4(__ANatMap_28,x3,r);}
 return r;}

extern OBJ _ANatMap_13(OBJ x1,OBJ x2) /* <- */
{OBJ r;
 CPCLS(__ANatMap_38,1);
 {OBJ x3;
  x3=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ANatMap_38,2))(__ANatMap_38,x1,x2);
  AArray_4(__ANatMap_28,x3,r);}
 return r;}

extern OBJ _ANatMap_14(OBJ x1,OBJ x2) /* ! */
{OBJ r;
 CPCLS(__ANat_80,1);
 {OBJ x3;OBJ x4;
  ANat_66(x2,__ANatMap_28,x3);
  AArray_15(x1,x3,x4);
  r=_AMap_16(__ANat_80,x4,x2);}
 return r;}

extern OBJ _ANatMap_15(OBJ x1,OBJ x2) /* !? */
{OBJ r;
 CPCLS(__ANat_80,1);
 {OBJ x3;OBJ x4;
  ANat_66(x2,__ANatMap_28,x3);
  AArray_15(x1,x3,x4);
  r=_AMap_33(__ANat_80,x4,x2);}
 return r;}

extern OBJ _ANatMap_16(OBJ x1) /* {}? */
{OBJ r;
 {OBJ x2;
  x2=_ANatMap_21(x1);
  ANat_6(x2,r);}
 return r;}

extern OBJ _ANatMap_17(OBJ x1,OBJ x2) /* def? */
{OBJ r;
 {OBJ x3;
  x3=_ANatMap_15(x2,x1);
  if(ISPRM(x3)){
   r=__ABUILTIN_3;
  }else{
   if(EXPRD(x3,1)){
    FREE(FLD1(x3,1),1);DSPRDF(x3);
   }else{
    DCPRD(x3,1);}
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _ANatMap_18(OBJ x1) /* dom */
{OBJ r;
 CPCLS(__ANatMap_40,1);
 CPCLS(__ANatMap_41,1);
 {OBJ x2;OBJ x3;OBJ x4;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_40,1))(__ANatMap_40,__ABUILTIN_20);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_41,1))(__ANatMap_41,__ABUILTIN_20);
  x4=_AArrayMap_3(x3,x1);
  r=_AArrayReduce_3(x2,__ASeq_6,x4);}
 return r;}

extern OBJ _ANatMap_19(OBJ x1) /* codom */
{OBJ r;
 CPCLS(__ANatMap_42,1);
 CPCLS(__ASeq_26,1);
 {OBJ x2;OBJ x3;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_42,1))(__ANatMap_42,__ABUILTIN_20);
  x3=_AArrayMap_3(x2,x1);
  r=_AArrayReduce_3(__ASeq_26,__ASeq_6,x3);}
 return r;}

extern OBJ _ANatMap_20(OBJ x1) /* new */
{OBJ r;
 CPCLS(__ANat_73,1);
 {OBJ x2;OBJ x3;
  x2=_ANatMap_18(x1);
  x3=_ASeqReduce_3(__ANat_73,__ANat_5,x2);
  ANat_2(x3,r);}
 return r;}

extern OBJ _ANatMap_21(OBJ x1) /* # */
{OBJ r;
 CPCLS(__ANatMap_39,1);
 CPCLS(__ANat_61,1);
 {OBJ x2;OBJ x3;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_39,1))(__ANatMap_39,__ABUILTIN_20);
  x3=_AArrayMap_3(x2,x1);
  r=_AArrayReduce_3(__ANat_61,__ANat_5,x3);}
 return r;}

extern OBJ _ANatMap_22(OBJ x1,OBJ x2) /* exist? */
{OBJ r;
 CPCLS(__ANatMap_43,1);
 CPCLS(__ABUILTIN_8,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_43,1))(__ANatMap_43,x1);
  x4=_AArrayMap_3(x3,x2);
  r=_AArrayReduce_3(__ABUILTIN_8,__ABUILTIN_3,x4);}
 return r;}

extern OBJ _ANatMap_23(OBJ x1,OBJ x2) /* find? */
{OBJ r;
 CPCLS(__ANatMap_44,1);
 CPCLS(__ANatMap_45,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_44,1))(__ANatMap_44,x1);
  x4=_AArrayMap_3(x3,x2);
  r=_AArrayReduce_3(__ANatMap_45,__AOption_5,x4);}
 return r;}

extern OBJ _ANatMap_24(OBJ x1,OBJ x2) /* forall? */
{OBJ r;
 CPCLS(__ANatMap_46,1);
 CPCLS(__ABUILTIN_9,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_46,1))(__ANatMap_46,x1);
  x4=_AArrayMap_3(x3,x2);
  r=_AArrayReduce_3(__ABUILTIN_9,__ABUILTIN_5,x4);}
 return r;}

extern OBJ _ANatMap_25(OBJ x1) /* abs */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _ANatMap_26(OBJ x1) /* abs? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _ANatMap_27(OBJ x1) /* rep */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _ANatMap_29(OBJ x1) /* !# */
{OBJ r;
 ANat_66(x1,__ANatMap_28,r);
 return r;}

extern OBJ _ANatMap_30(OBJ x1,OBJ x2,OBJ x3) /* def'30 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_31(__ANat_80,x1,x2,x3);
 return r;}

extern OBJ _ANatMap_31(OBJ x1,OBJ x2) /* undef'31 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_8(__ANat_80,x1,x2);
 return r;}

extern OBJ _ANatMap_32(OBJ x1,OBJ x2,OBJ x3) /* upd'32 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_32(__ANat_80,x1,x2,x3);
 return r;}

extern OBJ _ANatMap_33(OBJ x1) /* init'33 */
{OBJ r;
 AArray_3(__ANatMap_28,__ASeq_6,r);
 return r;}

extern OBJ _ANatMap_34(OBJ x1,OBJ x2) /* init'34 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_13(__ANat_80,x2,x1);
 return r;}

extern OBJ _ANatMap_35(OBJ x1,OBJ x2) /* init'35 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_ASet_39(__ANat_80,x1,x2);
 return r;}

extern OBJ _ANatMap_36(OBJ x1,OBJ x2) /* init'36 */
{OBJ r;
 CPCLS(__ANatMap_35,1);
 {OBJ x3;OBJ x4;
  ANat_66(x1,__ANatMap_28,x3);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMap_35,1))(__ANatMap_35,x1);
  AArray_9(x3,x4,x2,r);}
 return r;}

extern OBJ _ANatMap_37(OBJ x1,OBJ x2,OBJ x3) /* <+'37 */
{OBJ r;
 CPCLS(__ANat_80,1);
 {OBJ x4;OBJ x5;
  AArray_15(x1,x3,x4);
  AArray_15(x2,x3,x5);
  r=_AMap_14(__ANat_80,x4,x5);}
 return r;}

extern OBJ _ANatMap_38(OBJ x1,OBJ x2,OBJ x3) /* <-'38 */
{OBJ r;
 CPCLS(__ANat_80,1);
 {OBJ x4;
  AArray_15(x1,x3,x4);
  r=_AMap_15(__ANat_80,x4,x2);}
 return r;}

extern OBJ _ANatMap_39(OBJ x1) /* #'39 */
{OBJ r;
 CPCLS(__ANat_80,1);
 CPCLS(__AMap_23,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMap_23,1))(__AMap_23,__ANat_80);
 return r;}

extern OBJ _ANatMap_40(OBJ x1) /* dom'40 */
{OBJ r;
 CPCLS(__ANat_80,1);
 CPCLS(__ASet_18,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ASet_18,1))(__ASet_18,__ANat_80);
 return r;}

extern OBJ _ANatMap_41(OBJ x1) /* dom'41 */
{OBJ r;
 CPCLS(__ANat_80,1);
 CPCLS(__AMap_21,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMap_21,1))(__AMap_21,__ANat_80);
 return r;}

extern OBJ _ANatMap_42(OBJ x1) /* codom'42 */
{OBJ r;
 CPCLS(__ANat_80,1);
 CPCLS(__AMap_22,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMap_22,1))(__AMap_22,__ANat_80);
 return r;}

extern OBJ _ANatMap_43(OBJ x1,OBJ x2) /* exist?'43 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_24(__ANat_80,x1,x2);
 return r;}

extern OBJ _ANatMap_44(OBJ x1,OBJ x2) /* find?'44 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_25(__ANat_80,x1,x2);
 return r;}

extern OBJ _ANatMap_45(OBJ x1,OBJ x2) /* find?'45 */
{OBJ r;
 if(ISPRM(x1)){
  r=x2;
 }else{
  FREE(x2,1);
  r=x1;}
 return r;}

extern OBJ _ANatMap_46(OBJ x1,OBJ x2) /* forall?'46 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMap_26(__ANat_80,x1,x2);
 return r;}



static OBJ _mt_1_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 {OBJ t3;
  DCCLS(t,1);
  t3=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(t3,1))(t3,t2);}
 return r;}

static OBJ _mt_1_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 {OBJ t4;
  DCCLS(t,1);
  t4=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(t4,2))(t4,t2,t3);}
 return r;}

init_ANatMap()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_AOption();
 init_ASet();
 init_ASeq();
 init_APair();
 init_AArray();
 init_AMap();
 init_AArrayMap();
 init_AArrayReduce();
 init_ASetReduce();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_ASeqReduce();
 CLS(2,_ANatMap_31,__ANatMap_31);
 CLS(3,_ANatMap_30,__ANatMap_30);
 CLS(1,_ANatMap_29,__ANatMap_29);
 CLS(1,_ANatMap_27,__ANatMap_27);
 CLS(1,_ANatMap_26,__ANatMap_26);
 CLS(1,_ANatMap_25,__ANatMap_25);
 CLS(2,_ANatMap_24,__ANatMap_24);
 CLS(2,_ANatMap_23,__ANatMap_23);
 CLS(2,_ANatMap_22,__ANatMap_22);
 CLS(1,_ANatMap_21,__ANatMap_21);
 CLS(1,_ANatMap_20,__ANatMap_20);
 CLS(1,_ANatMap_19,__ANatMap_19);
 CLS(1,_ANatMap_18,__ANatMap_18);
 CLS(2,_ANatMap_17,__ANatMap_17);
 CLS(1,_ANatMap_16,__ANatMap_16);
 CLS(2,_ANatMap_15,__ANatMap_15);
 CLS(2,_ANatMap_46,__ANatMap_46);
 CLS(2,_ANatMap_14,__ANatMap_14);
 CLS(2,_ANatMap_45,__ANatMap_45);
 CLS(2,_ANatMap_13,__ANatMap_13);
 CLS(2,_ANatMap_44,__ANatMap_44);
 CLS(2,_ANatMap_12,__ANatMap_12);
 CLS(2,_ANatMap_43,__ANatMap_43);
 CLS(2,_ANatMap_11,__ANatMap_11);
 LCLS(1,_ANatMap_42,__ANatMap_42);
 CLS(4,_ANatMap_10,__ANatMap_10);
 LCLS(1,_ANatMap_41,__ANatMap_41);
 CLS(3,_ANatMap_9,__ANatMap_9);
 LCLS(1,_ANatMap_40,__ANatMap_40);
 CLS(3,_ANatMap_8,__ANatMap_8);
 LCLS(1,_ANatMap_39,__ANatMap_39);
 CLS(3,_ANatMap_7,__ANatMap_7);
 CLS(3,_ANatMap_38,__ANatMap_38);
 CLS(2,_ANatMap_6,__ANatMap_6);
 CLS(3,_ANatMap_37,__ANatMap_37);
 CLS(2,_ANatMap_36,__ANatMap_36);
 CLS(3,_ANatMap_4,__ANatMap_4);
 CLS(2,_ANatMap_35,__ANatMap_35);
 CLS(2,_ANatMap_34,__ANatMap_34);
 LCLS(1,_ANatMap_33,__ANatMap_33);
 CLS(3,_ANatMap_32,__ANatMap_32);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);
 MTH(1,0,3,_mt_1_0_3);LZYMTH(1,0,3,_mt_1_0_3);
 __ANatMap_28=__ANat_39;
 AArray_3(__ANatMap_28,__ATree_7,__ANatMap_3);}

