/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: April 21, 1992 12:52:34 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: X11PopUpSelectionImplTk, module: X11PopUpSelectionImplTk */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1231236267,1069701357] X11PopUpSelectionImplTk";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef word (*fPt)();
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; word r;} W9;
typedef W9 *W9Pt;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W4 r;} W20;
typedef struct {W16 f; W3 r;} W19;
typedef W4 *W4Pt;
typedef W5 *W5Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q1092();
static void X11PopUpSelectionImplTk←P0();
static word NewInt←P60();
static void PositionAndScreen←P120();
static word MakeConnection←P180();
static word NoName←Q1152();
static void ReCheck←P240();
static word NoName←Q1212();
static void WaitDone←P300();
static word NoName←Q1272();
static void Hit←P360();
static word Request←P420();
static void InitModule←P480();
static word NoName←Q1332();
static void NoName←Q1392();
static void NoName←Q1452();
static void NoName←Q1512();
static void NoName←Q1572();
static struct {unsigned f; char r[8];} string1 = {458760, "\205\210\242\000\011\216\242"};
static struct {unsigned f; char r[4];} string2 = {196611, "\004C\377"};
static struct {unsigned f; char r[4];} string3 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\111\143\054\253\300\077\302\130\355\100\274\000\000"};
static struct {unsigned f; char r[4];} string5 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\244\000\000"};
static struct {unsigned f; char r[40];} string7 = {2555943, "\011\000\004\106\000\040\006\011\020\004\101\201\100\174\001\100\200\001\100\204\001\100\210\001\100\220\001\100\264\001\100\270\001\100\274\001\100\304\001"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\126\304\000\000"};
static struct {unsigned f; char r[60];} string9 = {3735609, "\006\023\040\001\070\001\100\100\001\100\104\001\100\110\001\100\140\001\100\144\001\100\150\001\100\154\001\100\160\001\100\164\001\100\170\001\100\174\001\100\200\001\100\224\001\100\234\001\100\240\001\100\244\001\100\250\001\000\000"};
static struct {unsigned f; char r[16];} string10 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string12 = {786448, "WhiteOnBlack\000\000\000"};
static struct {unsigned f; char r[16];} string13 = {786448, "\042popup\042 menu\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {786448, "DISCARD MENU\000\000\000"};
static struct {unsigned f; char r[12];} string15 = {589836, "no action\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\111\143\054\253\300\077\302\130\355\100\164\000\000"};
static struct {unsigned f; char r[12];} string17 = {655370, "\006\003 \001$\001@h\004\017\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\072\360\043\311\300\372\054\163\300\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\145\202\371\143\300\336\312\353\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\140\341\205\343\300\377\264\132\364\100\150\000\000"};
static struct {
   word f0[30]; word f30; word f31; word f32; 
   word f33; word f34; word f35; word f36; 
   word f37; word f38; word f39; word f40; 
   word f41; word f42; word f43; word f44; 
   word f45; word f46; word f47[2]; word f49; 
   word f50; word f51; word f52; word f53; 
   word f54; word f55[3]; word f58; word f59; 
   word f60; word f61; word f62; word f63; 
   word f64[2]; word f66; word f67; word f68[2]; 
   word f70; word f71; word f72; word f73; 
   word f74; word f75; word f76; word f77; 
   word f78; word f79; word f80[7]; 
   } globalframe = {
   {0}, (word) InitModule←P480, 0, (word) Request←P420, 
   0, (word) Hit←P360, 0, (word) WaitDone←P300, 
   0, (word) ReCheck←P240, 0, (word) MakeConnection←P180, 
   0, (word) PositionAndScreen←P120, 0, (word) NewInt←P60, 
   0, (word) X11PopUpSelectionImplTk←P0, {0}, 2147483648, 
   2147483648, 2147483648, 2147483648, 2147483648, 
   3, {0}, 2147483648, 2147483648, 
   2147483648, 2147483648, 2147483648, 3, 
   {0}, 5, 3, {0}, 
   2147483648, 2147483648, 2147483648, 2147483648, 
   2147483648, 2147483648, 2147483648, 2147483648, 
   2147483648, 2147483648, {0}
   };

static void NoName←Q1092()
   {
   register ptr gf←c0114 =  (ptr) &globalframe;
   word var←c23468;
   (* (( (ptr) gf←c0114)+16) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0114)+18) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0114)+19) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0114)+20) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0114)+21) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c0114)+23) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string5);
   (* (( (ptr) gf←c0114)+25) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string5);
   (*  (ptr) (( (bPt) gf←c0114)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+25) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0114)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+23) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0114)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+23) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0114)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0114)+23) ), (word) &string15);
   (void) XR←DeclareGlobalFrame((word) "X11PopUpSelectionImplTk", &globalframe, (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17)
      , (word) (( (bPt) gf←c0114)+184)/* var←c22412 */ );
   var←c23468 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string18)), 22);
   (* (( (ptr) gf←c0114)+85)/* var←c23436 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 67371521);
   (void) XR←ImportProcS(var←c23468, 524546);
   var←c23468 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string19)), 43);
   (* (( (ptr) gf←c0114)+83)/* var←c23212 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 67373313);
   var←c23468 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string20)), 218);
   (* (( (ptr) gf←c0114)+80)/* var←c22860 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 68690438);
   (void) XR←ImportProcS(var←c23468, 67654914);
   (void) XR←ImportProcS(var←c23468, 537423362);
   var←c23468 = (word) XR←ImportInterface((word) "XlCursor", (word) XR←GetTypeIndexS((word) (&string21)), 3);
   (* (( (ptr) gf←c0114)+81)/* var←c23084 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 67633410);
   var←c23468 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string22)), 33);
   (* (( (ptr) gf←c0114)+84)/* var←c23340 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 337643012);
   var←c23468 = (word) XR←ImportInterface((word) "XTkWidgets", (word) XR←GetTypeIndexS((word) (&string23)), 52);
   (* (( (ptr) gf←c0114)+82)/* var←c23148 */  ) = var←c23468;
   (void) XR←ImportProcS(var←c23468, 264961);
   (void) XR←ImportProcS(var←c23468, 2099460);
   (void) XR←ImportProcS(var←c23468, 67376129);
   (void) XR←ImportProcS(var←c23468, 72097800);
   (void) XR←ImportProcS(var←c23468, 793347);
   (void) XR←ImportProcS(var←c23468, 70786819);
   (void) XR←ImportProcS(var←c23468, 787203);
   (void) XR←ImportProcS(var←c23468, 72352268);
   (void) XR←ImportProcS(var←c23468, 69998595);
   var←c23468 = (word) XR←ExportInterface((word) "X11PopUpSelection", (word) XR←GetTypeIndexS((word) (&string24)), 1);
   (* (( (ptr) gf←c0114)+86)/* var←c23500 */  ) = var←c23468;
   (void) XR←ExportProcS(var←c23468, (word) (( (bPt) gf←c0114)+128)/* var←c22188 */ , 69206024);
   }

static void X11PopUpSelectionImplTk←P0(formal←c031, formal←c030)
   word formal←c031;
   word formal←c030;
   {
   register ptr gf←c23532 =  (ptr) &globalframe;
   /* X11PopUpSelectionImplTk: */ 
SOURCE(91, 4541)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(291, 80)
   (* (( (ptr) gf←c23532)+8)/* ri←v2832 */  ) = XR←NewObject(40, (* (( (ptr) gf←c23532)+16) ));
SOURCE(4620, 12)
   (void) InitModule←P480();
   }

static word NewInt←P60(i←v3384)
   word i←v3384;
   {
   register ptr gf←c23564 =  (ptr) &globalframe;
   word var←c3428;
   /* NewInt: */ 
SOURCE(373, 110)
SOURCE(417, 45)
   if ( ( ( (int)i←v3384 >=  (int)0) ? ( (int)i←v3384 <=  (int)9) : 0 ) ) {
SOURCE(448, 14)
      return((* (( (ptr) (* (( (ptr) gf←c23564)+8)/* ri←v2832 */  ))+BCK(i←v3384, 10)) ));
      };
SOURCE(464, 19)
   {
      word var←c22828;
      var←c22828 = XR←NewObject(4, (* (( (ptr) gf←c23564)+18) ));
      (*  (ptr) var←c22828 ) = i←v3384;
      return(var←c22828);
      };
   }

static void PositionAndScreen←P120(formal←c041, connection←v3500)
   word formal←c041;
   word connection←v3500;
   {
   register ptr gf←c23596 =  (ptr) &globalframe;
   W2 pos←v3544;
   word s←v3572;
   W8 pointerQuery←v4360;
   /* PositionAndScreen: */ 
SOURCE(566, 271)
SOURCE(566, 271)
   s←v3572 = 0;
SOURCE(655, 65)
   {
      word pd25;
      pd25 = (* (( (ptr) (* (( (ptr) gf←c23596)+80)/* var←c22860 */  ))+114) );
      (void) ( *( (fPt) ((*  (ptr) pd25 ))))((word) &pointerQuery←v4360, connection←v3500, 0, pd25);
      };
SOURCE(722, 22)
   pos←v3544 = (*  (W2Pt) (( (ptr) &pointerQuery←v4360)+4) );
SOURCE(747, 46)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c23596)+80)/* var←c22860 */  ))+89) );
      s←v3572 = (word) ( *( (fPt) ((*  (ptr) pd26 ))))(connection←v3500, pointerQuery←v4360.f0, pd26);
      };
SOURCE(795, 42)
   if ((s←v3572 == 0)) {
SOURCE(809, 28)
      {
         word var←c22892;
         var←c22892 = (* (( (ptr) (* (( (ptr) connection←v3500)+16) ))+17) );
         {
            word limit27;
            s←v3572 = (* ((( (ptr) var←c22892)+1)+(
                  limit27 = (*  (ptr) var←c22892 ),
                  BCK(0, limit27)
                  )) );
            };
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c041 ) = pos←v3544;
   (* (( (ptr) formal←c041)+2) ) = s←v3572;
   return;
   }

static word MakeConnection←P180()
   {
   W5 var←c23628;
   register ptr gf←c23660 =  (ptr) &globalframe;
   /* declaration of c←v3632 skipped */ 
   /* MakeConnection: */ 
SOURCE(841, 172)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c23660)+16)/* LOCK←v2776 */ ));
SOURCE(841, 172)
   var←c23628.f4/* c←v3632 */  = 0;
SOURCE(902, 111)
   {
      word var←c0136;
      var←c0136 = (word) &var←c23628;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1152) ), ( ((word)  (fPt) NoName←Q1572) ), var←c0136);
      };
SOURCE(841, 172)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c23660)+16)/* LOCK←v2776 */ ));
   return(var←c23628.f4/* c←v3632 */ );
   }

static word NoName←Q1152(formal←c0120)
   word formal←c0120;
   {
   register ptr gf←c0119 =  (ptr) &globalframe;
SOURCE(925, 15)
   (* (( (ptr) formal←c0120)+4) ) = (* (( (ptr) gf←c0119)+9)/* gConnection←v2916 */  );
SOURCE(942, 71)
   if (((* (( (ptr) formal←c0120)+4) ) == 0) || (0 == (* (( (ptr) (* (( (ptr) formal←c0120)+4) ))+15) ))) {
SOURCE(963, 50)
      {
         word var←c22924;
         {
            word pd28;
            pd28 = (* (( (ptr) (* (( (ptr) gf←c0119)+80)/* var←c22860 */  ))+38) );
            var←c22924 = (word) ( *( (fPt) ((*  (ptr) pd28 ))))(0, 0, 0, 0, 0, 0, pd28);
            };
         (* (( (ptr) gf←c0119)+9)/* gConnection←v2916 */  ) = var←c22924;
         (* (( (ptr) formal←c0120)+4) ) = var←c22924;
         };
      };
   return(0);
   }

static void ReCheck←P240()
   {
   W4 var←c23692;
   register ptr gf←c23724 =  (ptr) &globalframe;
   /* ReCheck: */ 
SOURCE(1116, 65)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c23724)+16)/* LOCK←v2776 */ ));
SOURCE(1143, 38)
   {
      word var←c0137;
      var←c0137 = (word) &var←c23692;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1212) ), ( ((word)  (fPt) NoName←Q1512) ), var←c0137);
      };
SOURCE(1116, 65)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c23724)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q1212(formal←c0123)
   word formal←c0123;
   {
   register ptr gf←c0122 =  (ptr) &globalframe;
SOURCE(1166, 15)
   (void) (XR←Broadcast((word) (( (bPt) gf←c0122)+40)/* cond←v2944 */ ));
   return(0);
   }

static void WaitDone←P300(formal←c0148)
   word formal←c0148;
   {
   W5 var←c23756;
   /* declaration of menu←v3808 skipped */ 
   register ptr gf←c23788 =  (ptr) &globalframe;
   var←c23756.f4/* menu←v3808 */  = formal←c0148;
   /* WaitDone: */ 
SOURCE(1185, 207)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c23788)+16)/* LOCK←v2776 */ ));
SOURCE(1230, 162)
   {
      word var←c01;
      {
         word var←c0138;
         var←c0138 = (word) &var←c23756;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1272) ), ( ((word)  (fPt) NoName←Q1452) ), var←c0138);
         };
      /* removed trivial cond node */ 
      };
   return;
   }

static word NoName←Q1272(formal←c0126)
   word formal←c0126;
   {
   register ptr gf←c0125 =  (ptr) &globalframe;
SOURCE(1253, 139)
   lab←L100009: ;
   {
      word var←c22956;
      word c←v22108;
SOURCE(1257, 27)
      if ((0 != (* (( (ptr) (* (( (ptr) formal←c0126)+4) ))+1) ))) {
SOURCE(1278, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0125)+16)/* LOCK←v2776 */ ));
         return(1);
         };
SOURCE(1286, 46)
      if (((* (( (ptr) (*  (ptr) (* (( (ptr) formal←c0126)+4) ) ))+37) ) != 0)) {
SOURCE(1326, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0125)+16)/* LOCK←v2776 */ ));
         return(1);
         };
SOURCE(1334, 47)
      c←v22108 = (* (( (ptr) (*  (ptr) (* (( (ptr) formal←c0126)+4) ) ))+34) );
      if ((c←v22108 != 0)) {
         var←c22956 = (0 != (* (( (ptr) c←v22108)+15) ));
         }
      else {
         var←c22956 = 0;
         };
      if ((0 == var←c22956)) {
SOURCE(1375, 6)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0125)+16)/* LOCK←v2776 */ ));
         return(1);
         };
SOURCE(1383, 9)
      (void) (XR←Wait((word) (( (bPt) gf←c0125)+16)/* LOCK←v2776 */ , (word) (( (bPt) gf←c0125)+40)/* cond←v2944 */ ));
      };
   goto lab←L100009;
   /* c2c skipped dead code */ 
   }

static void Hit←P360(widget←v6384, registerData←v6412, callData←v6440, event←v6468)
   word widget←v6384;
   word registerData←v6412;
   word callData←v6440;
   word event←v6468;
   {
   register ptr gf←c23820 =  (ptr) &globalframe;
   word menu←v4404;
   /* Hit: */ 
SOURCE(1407, 155)
SOURCE(1445, 40)
   menu←v4404 = XR←Narrow(registerData←v6412, (* (( (ptr) gf←c23820)+19) ));
SOURCE(1487, 43)
   (* (( (ptr) menu←v4404)+2) ) = (*  (ptr) XR←Narrow(callData←v6440, (* (( (ptr) gf←c23820)+18) )) );
SOURCE(1532, 19)
   (* (( (ptr) menu←v4404)+1) ) = 1;
SOURCE(1553, 9)
   (void) ReCheck←P240();
   }

static word Request←P420(header←v3880, choice←v3908, headerDoc←v3936, choiceDoc←v3964, default←v3992, timeOut←v4020, position←v4048, connection←v4076)
   word header←v3880;
   word choice←v3908;
   word headerDoc←v3936;
   word choiceDoc←v3964;
   word default←v3992;
   word timeOut←v4020;
   word position←v4048;
   word connection←v4076;
   {
   register ptr gf←c23852 =  (ptr) &globalframe;
   word var←c4316;
   word c←v4472 = 0;
   word transientFor←v4500 = 0;
   W2 point←v4528;
   word screen←v4556 = 0;
   word container←v4584 = 0;
   word i←v4612 = 0;
   word choiceCursor←v4640;
   word backCursor←v4668;
   word menu←v4696;
   /* Request: */ 
SOURCE(1596, 2831)
SOURCE(2000, 32)
   menu←v4696 = XR←NewObject(12, (* (( (ptr) gf←c23852)+19) ));
   (* (( (ptr) menu←v4696)+2) ) =  (word) -1;
SOURCE(2034, 154)
   {
      word var←c23020;
      word var←c23052;
      var←c23020 = connection←v4076;
      if ((var←c23020 == 0)) {
         goto lab←L100011;
         };
      var←c23052 = XR←GetReferentType(var←c23020);
      if (((* (( (ptr) gf←c23852)+20) ) == var←c23052)) {
         {
            word w←v4752;
            w←v4752 = var←c23020;
SOURCE(2080, 16)
            c←v4472 = (* (( (ptr) w←v4752)+34) );
SOURCE(2098, 16)
            transientFor←v4500 = w←v4752;
            };
         }
      else {
         if (((* (( (ptr) gf←c23852)+21) ) == var←c23052)) {
            {
               word connection←v4796;
               connection←v4796 = var←c23020;
SOURCE(2146, 14)
               c←v4472 = connection←v4796;
               };
            }
         else {
            lab←L100011: ;
SOURCE(2173, 15)
            c←v4472 = (* (( (ptr) gf←c23852)+9)/* gConnection←v2916 */  );
            };
         };
      };
SOURCE(2190, 41)
   if ((c←v4472 == 0) || (0 == (* (( (ptr) c←v4472)+15) ))) {
SOURCE(2211, 20)
      c←v4472 = (word) MakeConnection←P180();
      };
SOURCE(2233, 60)
   {
      word pd29;
      pd29 = (* (( (ptr) (* (( (ptr) gf←c23852)+81)/* var←c23084 */  ))+5) );
      choiceCursor←v4640 = (word) ( *( (fPt) ((*  (ptr) pd29 ))))(c←v4472, 110, pd29);
      };
SOURCE(2295, 53)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c23852)+81)/* var←c23084 */  ))+5) );
      backCursor←v4668 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(c←v4472, 24, pd30);
      };
SOURCE(2350, 38)
   {
      W3 var←c23116;
      (void) PositionAndScreen←P120((word) &var←c23116, c←v4472);
      screen←v4556 = var←c23116.f2;
      point←v4528 = (*  (W2Pt) &var←c23116 );
      };
SOURCE(2390, 37)
   {
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+28) );
      container←v4584 = (word) ( *( (fPt) ((*  (ptr) pd31 ))))((*  (W9Pt) (( (ptr) gf←c23852)+48)/* var←c22476 */  ), 0,  (word) -1, pd31)
      ;
      };
SOURCE(2429, 40)
   (* (( (ptr) container←v4584)+29) ) = backCursor←v4668;
SOURCE(2471, 162)
   {
      W9 var←c23180;
      W20 var←c077;
      (*  (ptr) &var←c23180 ) = 0;
      (*  (W2Pt) (( (ptr) &var←c23180)+1) ) = point←v4528;
      (* (( (ptr) &var←c23180)+3) ) = 2147483648;
      (* (( (ptr) &var←c23180)+4) ) = 2147483648;
      (* (( (ptr) &var←c23180)+5) ) = 2147483648;
      (* (( (ptr) &var←c23180)+6) ) = 3;
      (* (( (ptr) &var←c23180)+7) ) = 0;
      (* (( (ptr) &var←c23180)+8) ) = 0;
      (*  (W9Pt) (word) &var←c077 ) = var←c23180;
      (* (( (ptr) (word) &var←c077) + 9) ) = container←v4584;
      (* (( (ptr) (word) &var←c077) + 10) ) = (* (( (ptr) gf←c23852)+27) );
      (* (( (ptr) (word) &var←c077) + 11) ) = 0;
      (* (( (ptr) (word) &var←c077) + 12) ) = 0;
      (* (( (ptr) (word) &var←c077) + 13) ) = 0;
      (* (( (ptr) (word) &var←c077) + 14) ) = 0;
      (* (( (ptr) (word) &var←c077) + 15) ) = 0;
      (* (( (ptr) (word) &var←c077) + 16) ) = 1;
      (* (( (ptr) (word) &var←c077) + 17) ) = 1;
      (* (( (ptr) (word) &var←c077) + 18) ) = 1;
      (* (( (ptr) (word) &var←c077) + 19) ) = 1;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+6) );
         (*  (ptr) menu←v4696 ) = (word) ( *( (fPt) ((*  (ptr) pd32 ))))((word) (&var←c077), pd32);
         };
      };
SOURCE(2635, 54)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))((*  (ptr) menu←v4696 ), c←v4472, (*  (ptr) screen←v4556 ), pd33);
      };
SOURCE(2691, 173)
   {
      word pd34;
      pd34 = (* (( (ptr) (* (( (ptr) gf←c23852)+83)/* var←c23212 */  ))+13) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd34 ))))(header←v3880, pd34))) {
SOURCE(2721, 143)
         {
            word hw←v4840;
SOURCE(2723, 83)
            {
               W4 var←c23244;
               var←c23244.f0 =  (word) -1;
               var←c23244.f1 =  (word) -1;
               var←c23244.f2 = 0;
               var←c23244.f3 = (* (( (ptr) gf←c23852)+26) );
               {
                  word pd35;
                  pd35 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+35) );
                  hw←v4840 = (word) ( *( (fPt) ((*  (ptr) pd35 ))))((*  (W9Pt) (( (ptr) gf←c23852)+57)/* var←c22540 */  ), header←v3880, var←c23244, pd35)
                  ;
                  };
               };
SOURCE(2808, 56)
            {
               word pd36;
               pd36 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+31) );
               (void) ( *( (fPt) ((*  (ptr) pd36 ))))(container←v4584, hw←v4840, 1, pd36);
               };
            };
         };
      };
SOURCE(2867, 430)
   {
      register word cl←v4884;
      cl←v4884 = choice←v3908;
      lab←L100015: ;
      if ((cl←v4884 != 0)) {
         }
      else {
         goto lab←L100012;
         };
      {
         word help←v5012;
         word entry←v5040;
SOURCE(2927, 64)
         help←v5012 =  ( (choiceDoc←v3964 == 0) ? 0 : (*  (ptr) choiceDoc←v3964 ) ) ;
SOURCE(2994, 153)
         {
            word var←c23276;
            i←v4612 = (i←v4612 + 1);
            var←c23276 = (word) NewInt←P60(i←v4612);
            {
               W19 var←c084;
               (*  (W9Pt) (word) &var←c084 ) = (*  (W9Pt) (( (ptr) gf←c23852)+57)/* var←c22540 */  );
               (* (( (ptr) (word) &var←c084) + 9) ) = (*  (ptr) cl←v4884 );
               (*  (W4Pt) (( (ptr) (word) &var←c084) + 10) ) = (*  (W4Pt) (( (ptr) gf←c23852)+66)/* var←c22604 */  );
               (* (( (ptr) (word) &var←c084) + 14) ) = (word) (( (bPt) gf←c23852)+136)/* var←c22220 */ ;
               (* (( (ptr) (word) &var←c084) + 15) ) = menu←v4696;
               (* (( (ptr) (word) &var←c084) + 16) ) = var←c23276;
               (* (( (ptr) (word) &var←c084) + 17) ) = 0;
               (* (( (ptr) (word) &var←c084) + 18) ) = help←v5012;
               {
                  word pd37;
                  pd37 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+36) );
                  entry←v5040 = (word) ( *( (fPt) ((*  (ptr) pd37 ))))((word) (&var←c084), pd37);
                  };
               };
            };
SOURCE(3149, 38)
         (* (( (ptr) entry←v5040)+29) ) = choiceCursor←v4640;
SOURCE(3189, 58)
         {
            word pd38;
            pd38 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+31) );
            (void) ( *( (fPt) ((*  (ptr) pd38 ))))(container←v4584, entry←v5040, 1, pd38);
            };
SOURCE(3249, 48)
         if ((choiceDoc←v3964 != 0)) {
SOURCE(3271, 26)
            choiceDoc←v3964 = (* (( (ptr) choiceDoc←v3964)+1) );
            };
         };
      cl←v4884 = (* (( (ptr) cl←v4884)+1) );
      goto lab←L100015;
      lab←L100012: ;
      };
SOURCE(3308, 268)
   {
      word entry←v5084;
SOURCE(3314, 160)
      {
         word var←c23308;
         var←c23308 = (word) NewInt←P60(0);
         {
            W19 var←c087;
            (*  (W9Pt) (word) &var←c087 ) = (*  (W9Pt) (( (ptr) gf←c23852)+57)/* var←c22540 */  );
            (* (( (ptr) (word) &var←c087) + 9) ) = (* (( (ptr) gf←c23852)+28) );
            (*  (W4Pt) (( (ptr) (word) &var←c087) + 10) ) = (*  (W4Pt) (( (ptr) gf←c23852)+66)/* var←c22604 */  );
            (* (( (ptr) (word) &var←c087) + 14) ) = (word) (( (bPt) gf←c23852)+136)/* var←c22220 */ ;
            (* (( (ptr) (word) &var←c087) + 15) ) = menu←v4696;
            (* (( (ptr) (word) &var←c087) + 16) ) = var←c23308;
            (* (( (ptr) (word) &var←c087) + 17) ) = 0;
            (* (( (ptr) (word) &var←c087) + 18) ) = (* (( (ptr) gf←c23852)+29) );
            {
               word pd39;
               pd39 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+36) );
               entry←v5084 = (word) ( *( (fPt) ((*  (ptr) pd39 ))))((word) (&var←c087), pd39);
               };
            };
         };
SOURCE(3476, 38)
      (* (( (ptr) entry←v5084)+29) ) = choiceCursor←v4640;
SOURCE(3516, 58)
      {
         word pd40;
         pd40 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+31) );
         (void) ( *( (fPt) ((*  (ptr) pd40 ))))(container←v4584, entry←v5084, 1, pd40);
         };
      };
SOURCE(3581, 728)
   {
      W5 preferred←v5156;
      word szh←v5184;
SOURCE(3661, 63)
      {
         word pd41;
         pd41 = (* (( (ptr) (* (( (ptr) gf←c23852)+84)/* var←c23340 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd41 ))))((word) &preferred←v5156, (*  (ptr) menu←v4696 ), 0, (*  (W5Pt) (( (ptr) gf←c23852)+70)
            /* var←c22668 */  ), 0, pd41);
         };
SOURCE(3746, 53)
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+24) );
         szh←v5184 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((*  (ptr) (menu←v4696) ), pd42);
         };
SOURCE(3801, 62)
      (* (( (ptr) szh←v5184)+9) ) = 1;
      (* (( (ptr) szh←v5184)+7) ) = 1;
SOURCE(3865, 64)
      (* (( (ptr) szh←v5184)+10) ) = 1;
      (* (( (ptr) szh←v5184)+8) ) = 1;
SOURCE(3931, 31)
      (* (( (ptr) szh←v5184)+41) ) = transientFor←v4500;
SOURCE(3964, 99)
      {
         word x43;
         word x44;
         word x45;
         point←v4528.f0 = (x45 = (x43 = point←v4528.f0,
               x44 = (((* (( (ptr) screen←v4556)+5) ) - preferred←v5156.f2) -  (word) -1),
               MIN((int)(word), x43, x44)),
            MAX((int)(word), x45, 0));
         };
SOURCE(4065, 102)
      {
         word x46;
         word x47;
         word x48;
         point←v4528.f1 = (x48 = (x46 = point←v4528.f1,
               x47 = (((* (( (ptr) screen←v4556)+6) ) - preferred←v5156.f3) -  (word) -10),
               MIN((int)(word), x46, x47)),
            MAX((int)(word), x48, 0));
         };
SOURCE(4169, 33)
      (*  (W2Pt) (( (ptr) (*  (ptr) menu←v4696 ))+5) ) = point←v4528;
SOURCE(4205, 37)
      (*  (W2Pt) (( (ptr) szh←v5184)+12) ) = point←v4528;
SOURCE(4244, 31)
      (*  (ptr) szh←v5184 ) = 1;
SOURCE(4277, 30)
      (* (( (ptr) szh←v5184)+4) ) = 1;
      };
SOURCE(4314, 35)
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd49 ))))((*  (ptr) menu←v4696 ), (*  (W5Pt) (( (ptr) gf←c23852)+75)/* var←c22732 */  ), 0, 1, pd49)
      ;
      };
SOURCE(4351, 14)
   (void) WaitDone←P300(menu←v4696);
SOURCE(4367, 35)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c23852)+82)/* var←c23148 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))((*  (ptr) (menu←v4696) ), pd50);
      };
SOURCE(4404, 23)
   return((* (( (ptr) menu←v4696)+2) ));
   }

static void InitModule←P480()
   {
   W4 var←c23884;
   register ptr gf←c23916 =  (ptr) &globalframe;
   /* InitModule: */ 
SOURCE(4433, 181)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c23916)+16)/* LOCK←v2776 */ ));
SOURCE(4468, 146)
   {
      word var←c0139;
      var←c0139 = (word) &var←c23884;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q1332) ), ( ((word)  (fPt) NoName←Q1392) ), var←c0139);
      };
SOURCE(4433, 181)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c23916)+16)/* LOCK←v2776 */ ));
   return;
   }

static word NoName←Q1332(formal←c0131)
   word formal←c0131;
   {
   register ptr gf←c0130 =  (ptr) &globalframe;
SOURCE(4491, 59)
   {
      register word i←v5240 = 0;
      if (( (int)i←v5240 >  (int)9)) {
         goto lab←L100018;
         };
      lab←L100021: ;
SOURCE(4524, 26)
      {
         word var←c23372;
         var←c23372 = XR←NewObject(4, (* (( (ptr) gf←c0130)+18) ));
         (*  (ptr) var←c23372 ) = i←v5240;
         (* (( (ptr) (* (( (ptr) gf←c0130)+8)/* ri←v2832 */  ))+BCK(i←v5240, 10)) ) = var←c23372;
         };
      if (( (int)i←v5240 >=  (int)9)) {
         goto lab←L100018;
         };
      i←v5240 = (i←v5240 + 1);
      goto lab←L100021;
      lab←L100018: ;
      };
SOURCE(4552, 62)
   {
      word var←c23404;
      {
         word pd51;
         pd51 = (* (( (ptr) (* (( (ptr) gf←c0130)+85)/* var←c23436 */  ))+6) );
         var←c23404 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))(10000, pd51);
         };
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c0130)+85)/* var←c23436 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd52 ))))((word) (( (bPt) gf←c0130)+40)/* cond←v2944 */ , var←c23404, pd52);
         };
      };
   return(0);
   }

static void NoName←Q1392(formal←c098, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c098;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0132 =  (ptr) &globalframe;
   if ((formal←c200013 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0132)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c098 ) = 0;
   (* (( (ptr) formal←c098)+1) ) = 0;
   return;
   }

static void NoName←Q1452(formal←c0103, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0103;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0133 =  (ptr) &globalframe;
   if ((formal←c200009 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0133)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0103 ) = 0;
   (* (( (ptr) formal←c0103)+1) ) = 0;
   return;
   }

static void NoName←Q1512(formal←c0108, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0108;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0134 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0134)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0108 ) = 0;
   (* (( (ptr) formal←c0108)+1) ) = 0;
   return;
   }

static void NoName←Q1572(formal←c0113, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0113;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0135 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0135)+16)/* LOCK←v2776 */ ));
      };
   (*  (ptr) formal←c0113 ) = 0;
   (* (( (ptr) formal←c0113)+1) ) = 0;
   return;
   }

/* file: X11PopUpSelectionImplTk, module: X11PopUpSelectionImplTk, compiled at: April 21, 1992 12:52:32 pm PDT */ 
extern void XR←install←X11PopUpSelectionImplTk() {
   NoName←Q1092();
   }
extern void XR←run←X11PopUpSelectionImplTk() { XR←Start(&globalframe); }