/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: February 3, 1993 12:18:48 pm PST */
/* C2C version: January 29, 1993 (sun4) */
/* ref-counting: off */
/* file: XlExtensionsImpl, module: XlExtensionsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2823873050,605446245] XlExtensionsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q864();
static void XlExtensionsImpl←P0();
static word ProcessExtensionEvent←P60();
static void DefineExtensionClass←P120();
static word StartExtension←P180();
static word NoName←Q924();
static word Protected←P456();
static word NoName←Q984();
static void DefineExtensionTab←P516();
static void EnterExtensionLock←P240();
static void LeaveExtensionLock←P300();
static void NoName←Q1044();
static void NoName←Q1104();
static struct {unsigned f; char r[4];} string1 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\305\130\130\253\300\227\246\357\266\100\274\000\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\305\130\130\253\300\227\246\357\266\100\260\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\004\021\000"};
static struct {unsigned f; char r[4];} string6 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string8 = {131076, "no\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\250\120\342\032\300\044\026\140\145\100\200\000\000"};
static struct {unsigned f; char r[12];} string10 = {589833, "\006\003\020\001\024\001\100\120\001\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static unsigned string13 = 1483472896;
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\122\362\040\033\300\221\350\241\274\100\150\000\000"};
static struct {unsigned f; char r[32];} string16 = {1966112, "\211\022\021\103\157\156\156\145\143\164\151\157\156\120\162\151\166\141\164\145\300\351\276\264\273\300\115\104\320\264\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\012\063\155\016\300\130\140\234\375\100\164\000\000"};
static struct {unsigned f; char r[40];} string18 = {2424869, "\006\016\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\044\001\060\001\070\010\000\004\100\100\001\101\070\001\101\074\001\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\305\130\130\253\300\227\246\357\266\100\150\000\000"};
static struct {
   word f0[21]; word f21; word f22; word f23; 
   word f24; word f25; word f26; word f27; 
   word f28; word f29; word f30; word f31; 
   word f32[7]; 
   } globalframe = {
   {0}, (word) LeaveExtensionLock←P300, 0, (word) EnterExtensionLock←P240, 
   0, (word) StartExtension←P180, 0, (word) DefineExtensionClass←P120, 
   0, (word) ProcessExtensionEvent←P60, 0, (word) XlExtensionsImpl←P0, 
   {0}
   };

static void NoName←Q864()
   {
   register ptr gf←c087 =  (ptr) &globalframe;
   word var←c10636;
   (* (( (ptr) gf←c087)+13) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c087)+15) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c087)+16) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c087)+17) ) = (word) XR←GetTypeIndexS((word) (&string6));
   (* (( (ptr) gf←c087)+18) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string3);
   (*  (ptr) (( (bPt) gf←c087)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c087)+18) ), (word) &string8);
   (void) XR←DeclareGlobalFrame((word) "XlExtensionsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10)
      , (word) (( (bPt) gf←c087)+124)/* var←c9996 */ );
   var←c10636 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string11)), 16);
   (* (( (ptr) gf←c087)+35)/* var←c10444 */  ) = var←c10636;
   (void) XR←ImportProcS(var←c10636, 67372289);
   var←c10636 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string12)), 16);
   (* (( (ptr) gf←c087)+33)/* var←c10028 */  ) = var←c10636;
   (void) XR←ImportProcS(var←c10636, 134742786);
   (void) XR←ImportProcS(var←c10636, 67896579);
   (void) XR←ImportProcS(var←c10636, 67895555);
   var←c10636 = (word) XR←ImportInterface((word) &string13, (word) XR←GetTypeIndexS((word) (&string14)), 218);
   (* (( (ptr) gf←c087)+36)/* var←c10476 */  ) = var←c10636;
   (void) XR←ImportProcS(var←c10636, 268967938);
   var←c10636 = (word) XR←ImportInterface((word) "XlDispatch", (word) XR←GetTypeIndexS((word) (&string15)), 18);
   (* (( (ptr) gf←c087)+34)/* var←c10092 */  ) = var←c10636;
   (void) XR←ImportProcS(var←c10636, 262913);
   var←c10636 = (word) XR←ExportInterface((word) &string13, (word) XR←GetTypeIndexS((word) (&string14)), 218);
   (* (( (ptr) gf←c087)+37)/* var←c10668 */  ) = var←c10636;
   (void) XR←ExportType((word) "ConnectionPrivate", (word) XR←GetTypeIndexS((word) (&string16)), (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18)
      );
   var←c10636 = (word) XR←ExportInterface((word) "XlExtensions", (word) XR←GetTypeIndexS((word) (&string19)), 3);
   (* (( (ptr) gf←c087)+38)/* var←c10700 */  ) = var←c10636;
   (void) XR←ExportProcS(var←c10636, (word) (( (bPt) gf←c087)+116)/* var←c9964 */ , 67371009);
   (void) XR←ExportProcS(var←c10636, (word) (( (bPt) gf←c087)+108)/* var←c9932 */ , 786691);
   (void) XR←ExportProcS(var←c10636, (word) (( (bPt) gf←c087)+100)/* var←c9900 */ , 67633666);
   }

static void XlExtensionsImpl←P0(formal←c025, formal←c024)
   word formal←c025;
   word formal←c024;
   {
   register ptr gf←c10732 =  (ptr) &globalframe;
   /* XlExtensionsImpl: */ 
SOURCE(86, 3118)
SOURCE(345, 49)
   {
      word pd20;
      pd20 = (* (( (ptr) (* (( (ptr) gf←c10732)+33)/* var←c10028 */  ))+5) );
      (* (( (ptr) gf←c10732)+4)/* extensionClassTable←v2748 */  ) = (word) ( *( (fPt) ((*  (ptr) pd20 ))))(17, 0, 0, pd20);
      };
SOURCE(2802, 29)
   (* (( (ptr) gf←c10732)+5)/* extensionLock←v2860 */  ) = XR←NewObject(4, (* (( (ptr) gf←c10732)+13) ));
   }

static word ProcessExtensionEvent←P60(xEvent←v3024)
   word xEvent←v3024;
   {
   register ptr gf←c10764 =  (ptr) &globalframe;
   word var←c3080;
   word dispatch←v3492;
   /* ProcessExtensionEvent: */ 
SOURCE(397, 599)
SOURCE(487, 48)
   dispatch←v3492 = ((*  (ptr) xEvent←v3024 ) & 0177);
SOURCE(537, 429)
   if ((dispatch←v3492 >= 64)) {
SOURCE(583, 397)
      {
         word cp←v3536;
         word ext←v3564;
SOURCE(585, 73)
         cp←v3536 = (* (( (ptr) (* (( (ptr) xEvent←v3024)+2) ))+24) );
SOURCE(660, 40)
         ext←v3564 = (* ((( (ptr) cp←v3536)+14)+BCK((dispatch←v3492 - 64), 64)) );
SOURCE(702, 264)
         if ((ext←v3564 != 0)) {
SOURCE(718, 259)
            {
               word cont←v3620;
SOURCE(758, 32)
               (* (( (ptr) xEvent←v3024)+5) ) = (*  (ptr) (* (( (ptr) ext←v3564)+4) ) );
SOURCE(792, 43)
               {
                  word pd21;
                  pd21 = (* (( (ptr) (* (( (ptr) ext←v3564)+4) ))+1) );
                  cont←v3620 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(ext←v3564, xEvent←v3024, pd21);
                  };
SOURCE(837, 129)
               {
                  word var←c10060;
                  var←c10060 = cont←v3620;
                  switch (var←c10060) {
                     case 1: 
SOURCE(867, 34)
                        {
                           word pd22;
                           pd22 = (* (( (ptr) (* (( (ptr) gf←c10764)+34)/* var←c10092 */  ))+7) );
                           (void) ( *( (fPt) ((*  (ptr) pd22 ))))(xEvent←v3024, pd22);
                           };
SOURCE(903, 14)
                        return(0);
                     case 0: 
SOURCE(928, 14)
                        return(0);
                     case 2: 
SOURCE(953, 13)
                        return(1);
                     };
                  };
               };
            };
         };
      };
SOURCE(983, 13)
   return(1);
   }

static void DefineExtensionClass←P120(key←v3140, processEvents←v3168, majorEventsCnt←v3196)
   word key←v3140;
   word processEvents←v3168;
   word majorEventsCnt←v3196;
   {
   register ptr gf←c10796 =  (ptr) &globalframe;
   word s←v3664;
   /* DefineExtensionClass: */ 
SOURCE(1002, 279)
SOURCE(1115, 118)
   s←v3664 = XR←NewObject(12, (* (( (ptr) gf←c10796)+15) ));
   (*  (ptr) s←v3664 ) = key←v3140;
   (* (( (ptr) s←v3664)+1) ) = XR←CheckProc(processEvents←v3168);
   (* (( (ptr) s←v3664)+2) ) = majorEventsCnt←v3196;
SOURCE(1235, 46)
   {
      word var←c10156;
      word pd23;
      pd23 = (* (( (ptr) (* (( (ptr) gf←c10796)+33)/* var←c10028 */  ))+9) );
      var←c10156 = (word) ( *( (fPt) ((*  (ptr) pd23 ))))((* (( (ptr) gf←c10796)+4)/* extensionClassTable←v2748 */  ), key←v3140, s←v3664, pd23)
      ;
      };
   }

static word StartExtension←P180(formal←c0107, formal←c0108)
   word formal←c0107;
   word formal←c0108;
   {
   W11 var←c10828;
   /* declaration of c←v3256 skipped */ 
   /* declaration of key←v3284 skipped */ 
   register ptr gf←c10860 =  (ptr) &globalframe;
   word e←v3328;
   /* declaration of var←c10188 skipped */ 
   /* declaration of var←c10220 skipped */ 
   word cp←v3776;
   (* (( (ptr) &var←c10828)+4)/* c←v3256 */  ) = formal←c0107;
   (* (( (ptr) &var←c10828)+5)/* key←v3284 */  ) = formal←c0108;
   /* StartExtension: */ 
SOURCE(1287, 1509)
   {
      word tmpAddr24;
      tmpAddr24 = (word) (( (ptr) &var←c10828)+6)/* var←c10188 */ ;
      (*  (ptr) tmpAddr24 ) = ( ((word)  (fPt) DefineExtensionTab←P516) );
      (* (( (ptr) tmpAddr24) + 1) ) = 1;
      };
   {
      word tmpAddr25;
      tmpAddr25 = (word) (( (ptr) &var←c10828)+8)/* var←c10220 */ ;
      (*  (ptr) tmpAddr25 ) = ( ((word)  (fPt) Protected←P456) );
      (* (( (ptr) tmpAddr25) + 1) ) = 1;
      };
SOURCE(1287, 1509)
   e←v3328 = 0;
SOURCE(2466, 57)
   cp←v3776 = (* (( (ptr) (* (( (ptr) &var←c10828)+4)/* c←v3256 */  ))+24) );
SOURCE(2525, 53)
   if (((* (( (ptr) cp←v3776)+12) ) == 0)) {
SOURCE(2553, 25)
      (void) DefineExtensionTab←P516((* (( (ptr) &var←c10828)+4)/* c←v3256 */  ), cp←v3776, (word) (( (bPt) &var←c10828)+24)/* var←c10188 */ )
      ;
      };
SOURCE(2580, 109)
   {
      word var←c10252;
      W2 var←c045;
      word var←c10284;
      {
         word pd26;
         pd26 = (* (( (ptr) (* (( (ptr) gf←c10860)+33)/* var←c10028 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd26 ))))((word) &var←c045, (* (( (ptr) cp←v3776)+12) ), (* (( (ptr) &var←c10828)+5)/* key←v3284 */  ), pd26)
         ;
         };
      var←c10252 = var←c045.f1;
      if ((var←c10252 == 0)) {
         goto lab←L100000;
         };
      var←c10284 = XR←GetReferentType(var←c10252);
      if (((* (( (ptr) gf←c10860)+16) ) == var←c10284)) {
         {
            word ex←v4064;
            ex←v4064 = var←c10252;
SOURCE(2653, 11)
            return(ex←v4064);
            };
         }
      else {
         if (((* (( (ptr) gf←c10860)+17) ) == var←c10284)) {
            {
               word x←v4108;
               x←v4108 = var←c10252;
SOURCE(2677, 12)
               return(0);
               };
            }
         else {
            lab←L100000: ;
            };
         };
      };
SOURCE(2706, 21)
   (void) EnterExtensionLock←P240((* ((( (ptr) &var←c10828)+4)/* c←v3256 */ ) ));
SOURCE(2729, 35)
SOURCE(2729, 35)
   {
      /* declaration of var←c01 skipped */ 
      {
         word var←c02;
         {
            word var←c0101;
            var←c0101 = (word) &var←c10828;
            var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q924) ), ( ((word)  (fPt) NoName←Q1104) ), var←c0101);
            };
         if ((var←c02 == 2)) {
            goto lab←L100002;
            };
         };
      e←v3328 = (* (( (ptr) &var←c10828)+10)/* var←c01 */  );
      };
   lab←L100002: ;
SOURCE(2775, 21)
   (void) LeaveExtensionLock←P300((* ((( (ptr) &var←c10828)+4)/* c←v3256 */ ) ));
SOURCE(1287, 1509)
   return(e←v3328);
   }

static word NoName←Q924(formal←c092)
   word formal←c092;
   {
SOURCE(2729, 35)
   (* (( (ptr) formal←c092)+10) ) = (word) Protected←P456((* (( (ptr) formal←c092)+4) ), (* (( (ptr) formal←c092)+5) ), (word) (
         ( (bPt) formal←c092)+32));
   return(0);
   }

static word Protected←P456(formal←c0109, key←v3880, formal←c10956)
   word formal←c0109;
   word key←v3880;
   word formal←c10956;
   {
   W15 var←c10892;
   /* declaration of c←v3852 skipped */ 
   register ptr gf←c10924 =  (ptr) &globalframe;
   word var←c3924;
   word ex←v4152 = 0;
   word class←v4180 = 0;
   /* declaration of qer←v4208 skipped */ 
   word cp←v4236;
   formal←c10956 = (formal←c10956 - 32);
   (* (( (ptr) &var←c10892)+4)/* c←v3852 */  ) = formal←c0109;
   (*  (ptr) &var←c10892 ) = formal←c10956;
   /* Protected: */ 
SOURCE(1375, 920)
SOURCE(1508, 57)
   cp←v4236 = (* (( (ptr) (* (( (ptr) &var←c10892)+4)/* c←v3852 */  ))+24) );
SOURCE(1567, 109)
   {
      word var←c10316;
      W2 var←c057;
      word var←c10348;
      {
         word pd27;
         pd27 = (* (( (ptr) (* (( (ptr) gf←c10924)+33)/* var←c10028 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd27 ))))((word) &var←c057, (* (( (ptr) cp←v4236)+12) ), key←v3880, pd27);
         };
      var←c10316 = var←c057.f1;
      if ((var←c10316 == 0)) {
         goto lab←L100005;
         };
      var←c10348 = XR←GetReferentType(var←c10316);
      if (((* (( (ptr) gf←c10924)+16) ) == var←c10348)) {
         {
            word ex←v4304;
            ex←v4304 = var←c10316;
SOURCE(1640, 11)
            return(ex←v4304);
            };
         }
      else {
         if (((* (( (ptr) gf←c10924)+17) ) == var←c10348)) {
            {
               word x←v4348;
               x←v4348 = var←c10316;
SOURCE(1664, 12)
               return(0);
               };
            }
         else {
            lab←L100005: ;
            };
         };
      };
SOURCE(1693, 119)
   {
      word var←c10380;
      W2 var←c062;
      {
         word pd28;
         pd28 = (* (( (ptr) (* (( (ptr) gf←c10924)+33)/* var←c10028 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd28 ))))((word) &var←c062, (* (( (ptr) gf←c10924)+4)/* extensionClassTable←v2748 */  ), key←v3880, pd28)
         ;
         };
      var←c10380 = var←c062.f1;
      if ((var←c10380 == 0)) {
         goto lab←L100006;
         };
      if (((* (( (ptr) gf←c10924)+15) ) == XR←GetReferentType(var←c10380))) {
         {
            word x←v4392;
            x←v4392 = var←c10380;
SOURCE(1778, 9)
            class←v4180 = x←v4392;
            };
         }
      else {
         lab←L100006: ;
SOURCE(1800, 12)
         return(0);
         };
      };
SOURCE(1814, 100)
SOURCE(1814, 100)
   {
      /* declaration of var←c10412 skipped */ 
      {
         word pd29;
         pd29 = (* (( (ptr) (* (( (ptr) gf←c10924)+35)/* var←c10444 */  ))+9) );
         (* (( (ptr) &var←c10892)+9)/* var←c10412 */  ) = (word) ( *( (fPt) ((*  (ptr) pd29 ))))(key←v3880, pd29);
         };
      {
         /* declaration of var←c03 skipped */ 
         (* (( (ptr) &var←c10892)+10)/* var←c03 */  ) = (* (( (ptr) (* (( (ptr) gf←c10924)+36)/* var←c10476 */  ))+36) );
         {
            /* declaration of var←c04 skipped */ 
            {
               word var←c05;
               {
                  word var←c0102;
                  var←c0102 = (word) &var←c10892;
                  var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q984) ), ( ((word)  (fPt) NoName←Q1044) ), var←c0102);
                  };
               if ((var←c05 == 3)) {
                  goto lab←L100008;
                  };
               };
            (*  (W4Pt) (( (ptr) &var←c10892)+5)/* qer←v4208 */  ) = (*  (W4Pt) (( (ptr) &var←c10892)+11)/* var←c04 */  );
            };
         };
      };
   lab←L100008: ;
SOURCE(1929, 89)
   if ((0 == (* (( (ptr) &var←c10892)+5) ))) {
SOURCE(1960, 44)
      {
         word var←c10508;
         word pd30;
         pd30 = (* (( (ptr) (* (( (ptr) gf←c10924)+33)/* var←c10028 */  ))+9) );
         var←c10508 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))((* (( (ptr) cp←v4236)+12) ), key←v3880, (* (( (ptr) gf←c10924)+20) ), pd30)
         ;
         };
SOURCE(2006, 12)
      return(0);
      };
SOURCE(2023, 125)
   {
      word var←c10540;
      var←c10540 = XR←NewObject(20, (* (( (ptr) gf←c10924)+16) ));
      (* (( (ptr) var←c10540)+1) ) = (* (( (ptr) &var←c10892)+6) );
      (* (( (ptr) var←c10540)+2) ) = (* (( (ptr) &var←c10892)+7) );
      (* (( (ptr) var←c10540)+3) ) = (* (( (ptr) &var←c10892)+8) );
      (* (( (ptr) var←c10540)+4) ) = class←v4180;
      ex←v4152 = var←c10540;
      };
SOURCE(2150, 78)
   {
      register word i←v4448 = 0;
      register word noName←c10572;
      noName←c10572 = (* (( (ptr) class←v4180)+2) );
      if ((i←v4448 >= noName←c10572)) {
         goto lab←L100011;
         };
      lab←L100014: ;
SOURCE(2193, 35)
      {
         word idx31;
         (* ((( (ptr) cp←v4236)+14)+(
               idx31 = (word) (((* (( (ptr) ex←v4152)+2) ) + i←v4448) - 64),
               BCK(idx31, 64)
               )) ) = ex←v4152;
         };
      i←v4448 = (i←v4448 + 1);
      if ((i←v4448 < noName←c10572)) {
         goto lab←L100014;
         };
      lab←L100011: ;
      };
SOURCE(2239, 43)
   {
      word var←c10604;
      word pd32;
      pd32 = (* (( (ptr) (* (( (ptr) gf←c10924)+33)/* var←c10028 */  ))+9) );
      var←c10604 = (word) ( *( (fPt) ((*  (ptr) pd32 ))))((* (( (ptr) cp←v4236)+12) ), key←v3880, ex←v4152, pd32);
      };
SOURCE(2284, 11)
   return(ex←v4152);
   }

static word NoName←Q984(formal←c095)
   word formal←c095;
   {
SOURCE(1814, 100)
   {
      word pd33;
      pd33 = (* (( (ptr) formal←c095)+10) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))((word) (( (bPt) formal←c095)+44), (* (( (ptr) formal←c095)+4) ), (* (( (ptr) formal←c095)+9)
          ), pd33);
      };
   return(0);
   }

static void DefineExtensionTab←P516(c←v3984, cp←v4012, formal←c11020)
   word c←v3984;
   word cp←v4012;
   word formal←c11020;
   {
   register ptr gf←c10988 =  (ptr) &globalframe;
   formal←c11020 = (formal←c11020 - 24);
   /* DefineExtensionTab: */ 
SOURCE(2300, 161)
   (void) (XR←MonitorEntry(c←v3984));
SOURCE(2400, 61)
   if (((* (( (ptr) cp←v4012)+12) ) == 0)) {
SOURCE(2428, 33)
      {
         word pd34;
         pd34 = (* (( (ptr) (* (( (ptr) gf←c10988)+33)/* var←c10028 */  ))+5) );
         (* (( (ptr) cp←v4012)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(17, 0, 0, pd34);
         };
      };
SOURCE(2300, 161)
   (void) (XR←MonitorExit(c←v3984));
   return;
   }

static void EnterExtensionLock←P240(c←v3404)
   word c←v3404;
   {
   register ptr gf←c11052 =  (ptr) &globalframe;
   word cp←v4492;
   /* EnterExtensionLock: */ 
SOURCE(2857, 184)
   (void) (XR←MonitorEntry(c←v3404));
SOURCE(2908, 57)
   cp←v4492 = (* (( (ptr) c←v3404)+24) );
SOURCE(2967, 49)
   lab←L100017: ;
   if ((* (( (ptr) cp←v4492)+13) )) {
      }
   else {
      goto lab←L100015;
      };
SOURCE(2993, 23)
   (void) (XR←Wait(c←v3404, (word) (( (bPt) gf←c11052)+24)/* checkAgain←v2888 */ ));
   goto lab←L100017;
   lab←L100015: ;
SOURCE(3018, 23)
   (* (( (ptr) cp←v4492)+13) ) = 1;
SOURCE(2857, 184)
   (void) (XR←MonitorExit(c←v3404));
   return;
   }

static void LeaveExtensionLock←P300(c←v3464)
   word c←v3464;
   {
   register ptr gf←c11084 =  (ptr) &globalframe;
   word cp←v4548;
   /* LeaveExtensionLock: */ 
SOURCE(3047, 157)
   (void) (XR←MonitorEntry(c←v3464));
SOURCE(3098, 57)
   cp←v4548 = (* (( (ptr) c←v3464)+24) );
SOURCE(3157, 24)
   (* (( (ptr) cp←v4548)+13) ) = 0;
SOURCE(3183, 21)
   (void) (XR←Broadcast((word) (( (bPt) gf←c11084)+24)/* checkAgain←v2888 */ ));
SOURCE(3047, 157)
   (void) (XR←MonitorExit(c←v3464));
   return;
   }

static void NoName←Q1044(formal←c081, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c081;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0100 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0100)+36)/* var←c10476 */  ))+4) )) || (formal←c200005 == XR←Uncaught)) {
SOURCE(1887, 27)
      (* (( (ptr) formal←c200004)+5) ) = 0;
SOURCE(1916, 8)
      (*  (ptr) formal←c081 ) = 2;
      (* (( (ptr) formal←c081)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c081 ) = 0;
   (* (( (ptr) formal←c081)+1) ) = 0;
   return;
   }

static void NoName←Q1104(formal←c086, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c086;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   if ((formal←c200001 == XR←Uncaught)) {
SOURCE(2764, 9)
      (*  (ptr) formal←c086 ) = 2;
      (* (( (ptr) formal←c086)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c086 ) = 0;
   (* (( (ptr) formal←c086)+1) ) = 0;
   return;
   }

/* file: XlExtensionsImpl, module: XlExtensionsImpl, compiled at: February 3, 1993 12:18:47 pm PST */ 
extern void XR←install←XlExtensionsImpl() {
   NoName←Q864();
   }
extern void XR←run←XlExtensionsImpl() { XR←Start(&globalframe); }