/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: April 21, 1992 1:03:35 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XlConventionsImpl, module: XlConventionsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3223385819,2769053474] XlConventionsImpl";
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 {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3;} W4;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q1140();
static void XlConventionsImpl←P0();
static void SetWMNormalHints←P60();
static void SetWMHints←P120();
static void SetWindowName←P180();
static void SetIconName←P240();
static void SetWMTransient←P300();
static void SetWMClass←P360();
static void SetWMProtocols←P420();
static word WMQueryPosition←P480();
static word WMMakesHeader←P540();
static word CutBufferInit←P600();
static void CutBufferPush←P660();
static word CutBufferGet←P720();
static void CutBufferRotate←P780();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string4 = {2752556, "\260\006\005\146\151\162\163\164\257\300\351\276\264\273\300\115\104\320\264\101\100\005\004\162\145\163\164\214\257\300\351\276\264\273\300\115\104\320\264\101\100\261\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string6 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\106\104\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string9 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[8];} string10 = {458760, "CutBuff"};
static struct {unsigned f; char r[4];} string11 = {65540, "\000\000\000"};
static struct {unsigned f; char r[16];} string12 = {786448, "WM←PROTOCOLS\000\000\000"};
static struct {unsigned f; char r[4];} string13 = {131076, "WM\000"};
static struct {unsigned f; char r[4];} string14 = {196612, "uwm"};
static struct {unsigned f; char r[4];} string15 = {196612, "twm"};
static struct {unsigned f; char r[8];} string16 = {262152, "none\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {65540, "x\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\300\040\366\333\300\245\014\147\042\100\164\000\000"};
static struct {unsigned f; char r[12];} string19 = {655370, "\006\003\020\001\024\001\064\004\100\377\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\126\372\175\303\300\214\014\321\126\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\247\161\001\072\300\014\124\006\340\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; 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; 
   word f48[5]; 
   } globalframe = {
   {0}, (word) CutBufferRotate←P780, 0, (word) CutBufferGet←P720, 
   0, (word) CutBufferPush←P660, 0, (word) CutBufferInit←P600, 
   0, (word) WMMakesHeader←P540, 0, (word) WMQueryPosition←P480, 
   0, (word) SetWMProtocols←P420, 0, (word) SetWMClass←P360, 
   0, (word) SetWMTransient←P300, 0, (word) SetIconName←P240, 
   0, (word) SetWindowName←P180, 0, (word) SetWMHints←P120, 
   0, (word) SetWMNormalHints←P60, 0, (word) XlConventionsImpl←P0, 
   {0}
   };

static void NoName←Q1140()
   {
   register ptr gf←c099 =  (ptr) &globalframe;
   word var←c16528;
   (* (( (ptr) gf←c099)+6) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c099)+7) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c099)+8) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c099)+9) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string3);
   (* (( (ptr) gf←c099)+11) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (* (( (ptr) gf←c099)+12) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (*  (ptr) (( (bPt) gf←c099)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c099)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+9) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c099)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+9) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c099)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c099)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c099)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c099)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c099)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+7) ), (word) &string17);
   (void) XR←DeclareGlobalFrame((word) "XlConventionsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19)
      , (word) (( (bPt) gf←c099)+188)/* var←c15792 */ );
   var←c16528 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string20)), 43);
   (* (( (ptr) gf←c099)+50)/* var←c15984 */  ) = var←c16528;
   (void) XR←ImportProcS(var←c16528, 67898627);
   (void) XR←ImportProcS(var←c16528, 67373569);
   (void) XR←ImportProcS(var←c16528, 68419845);
   var←c16528 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string21)), 218);
   (* (( (ptr) gf←c099)+49)/* var←c15888 */  ) = var←c16528;
   (void) XR←ImportProcS(var←c16528, 534274);
   (void) XR←ImportProcS(var←c16528, 270545672);
   (void) XR←ImportProcS(var←c16528, 535042);
   (void) XR←ImportProcS(var←c16528, 1343749);
   (void) XR←ImportProcS(var←c16528, 1324549);
   (void) XR←ImportProcS(var←c16528, 534786);
   (void) XR←ImportProcS(var←c16528, 67375105);
   (void) XR←ImportProcS(var←c16528, 67644930);
   (void) XR←ImportProcS(var←c16528, 2371849);
   var←c16528 = (word) XR←ImportInterface((word) "XlService", (word) XR←GetTypeIndexS((word) (&string22)), 6);
   (* (( (ptr) gf←c099)+51)/* var←c16176 */  ) = var←c16528;
   (void) XR←ImportProcS(var←c16528, 67896579);
   (void) XR←ImportProcS(var←c16528, 67634178);
   var←c16528 = (word) XR←ExportInterface((word) "XlConventions", (word) XR←GetTypeIndexS((word) (&string23)), 12);
   (* (( (ptr) gf←c099)+52)/* var←c16560 */  ) = var←c16528;
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+180)/* var←c15760 */ , 6553604);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+172)/* var←c15728 */ , 3145988);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+164)/* var←c15696 */ , 786947);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+156)/* var←c15664 */ , 787203);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+148)/* var←c15632 */ , 787459);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+140)/* var←c15600 */ , 1049860);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+132)/* var←c15568 */ , 787971);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+124)/* var←c15536 */ , 67372801);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+116)/* var←c15504 */ , 67373057);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+92)/* var←c15408 */ , 67373313);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+100)/* var←c15440 */ , 788995);
   (void) XR←ExportProcS(var←c16528, (word) (( (bPt) gf←c099)+84)/* var←c15376 */ , 527106);
   }

static void XlConventionsImpl←P0(formal←c026, formal←c024)
   word formal←c026;
   word formal←c024;
   {
   register ptr gf←c16592 =  (ptr) &globalframe;
   /* XlConventionsImpl: */ 
SOURCE(82, 7044)
SOURCE(183, 43)
   {
      word var←c15824;
      var←c15824 = XR←NewObject(4, (* (( (ptr) gf←c16592)+7) ));
      (*  (ptr) var←c15824 ) = (* (( (ptr) gf←c16592)+13) );
      (* (( (ptr) gf←c16592)+4)/* cutBuffKey←v2636 */  ) = var←c15824;
      };
   }

static void SetWMNormalHints←P60(formal←c031)
   word formal←c031;
   {
   register ptr gf←c16624 =  (ptr) &globalframe;
   word x←v4948;
   word flags←v4976 = 0;
   /* SetWMNormalHints: */ 
SOURCE(257, 1984)
SOURCE(585, 47)
   x←v4948 = XR←NewObject(76, (* (( (ptr) gf←c16624)+11) ));
   (*  (ptr) x←v4948 ) = 18;
SOURCE(653, 40)
   {
      word limit24;
      (* ((( (ptr) x←v4948)+1)+(
            limit24 = (*  (ptr) x←v4948 ),
            BCK(1, limit24)
            )) ) = (* (( (ptr) formal←c031)+7) );
      };
SOURCE(695, 40)
   {
      word limit25;
      (* ((( (ptr) x←v4948)+1)+(
            limit25 = (*  (ptr) x←v4948 ),
            BCK(2, limit25)
            )) ) = (* (( (ptr) formal←c031)+8) );
      };
SOURCE(737, 45)
   if ((0 != (* (( (ptr) formal←c031)+2) ))) {
SOURCE(763, 19)
      flags←v4976 = (flags←v4976 + 1);
      };
SOURCE(784, 46)
   if ((0 != (* (( (ptr) formal←c031)+4) ))) {
SOURCE(812, 18)
      flags←v4976 = (flags←v4976 + 4);
      };
SOURCE(832, 43)
   {
      word limit26;
      (* ((( (ptr) x←v4948)+1)+(
            limit26 = (*  (ptr) x←v4948 ),
            BCK(3, limit26)
            )) ) = (* (( (ptr) formal←c031)+9) );
      };
SOURCE(877, 44)
   {
      word limit27;
      (* ((( (ptr) x←v4948)+1)+(
            limit27 = (*  (ptr) x←v4948 ),
            BCK(4, limit27)
            )) ) = (* (( (ptr) formal←c031)+10) );
      };
SOURCE(923, 47)
   if ((0 != (* (( (ptr) formal←c031)+3) ))) {
SOURCE(950, 20)
      flags←v4976 = (flags←v4976 + 2);
      };
SOURCE(972, 48)
   if ((0 != (* (( (ptr) formal←c031)+5) ))) {
SOURCE(1001, 19)
      flags←v4976 = (flags←v4976 + 8);
      };
SOURCE(1022, 38)
   {
      word limit28;
      (* ((( (ptr) x←v4948)+1)+(
            limit28 = (*  (ptr) x←v4948 ),
            BCK(5, limit28)
            )) ) = (* (( (ptr) formal←c031)+11) );
      };
SOURCE(1062, 39)
   {
      word limit29;
      (* ((( (ptr) x←v4948)+1)+(
            limit29 = (*  (ptr) x←v4948 ),
            BCK(6, limit29)
            )) ) = (* (( (ptr) formal←c031)+12) );
      };
SOURCE(1103, 82)
   if (( (int)(* (( (ptr) formal←c031)+11) ) >  (int)0) || ( (int)(* (( (ptr) formal←c031)+12) ) >  (int)0)) {
SOURCE(1163, 22)
      flags←v4976 = (flags←v4976 + 16);
      };
SOURCE(1187, 38)
   {
      word limit30;
      (* ((( (ptr) x←v4948)+1)+(
            limit30 = (*  (ptr) x←v4948 ),
            BCK(7, limit30)
            )) ) = (* (( (ptr) formal←c031)+13) );
      };
SOURCE(1227, 39)
   {
      word limit31;
      (* ((( (ptr) x←v4948)+1)+(
            limit31 = (*  (ptr) x←v4948 ),
            BCK(8, limit31)
            )) ) = (* (( (ptr) formal←c031)+14) );
      };
SOURCE(1268, 82)
   if (( (int)(* (( (ptr) formal←c031)+13) ) >  (int)0) || ( (int)(* (( (ptr) formal←c031)+14) ) >  (int)0)) {
SOURCE(1328, 22)
      flags←v4976 = (flags←v4976 + 32);
      };
SOURCE(1352, 38)
   {
      word limit32;
      (* ((( (ptr) x←v4948)+1)+(
            limit32 = (*  (ptr) x←v4948 ),
            BCK(9, limit32)
            )) ) = (* (( (ptr) formal←c031)+15) );
      };
SOURCE(1392, 40)
   {
      word limit33;
      (* ((( (ptr) x←v4948)+1)+(
            limit33 = (*  (ptr) x←v4948 ),
            BCK(10, limit33)
            )) ) = (* (( (ptr) formal←c031)+16) );
      };
SOURCE(1434, 84)
   if (( (int)(* (( (ptr) formal←c031)+15) ) >  (int)0) || ( (int)(* (( (ptr) formal←c031)+16) ) >  (int)0)) {
SOURCE(1494, 24)
      flags←v4976 = (flags←v4976 + 64);
      };
SOURCE(1520, 38)
   {
      word limit34;
      (* ((( (ptr) x←v4948)+1)+(
            limit34 = (*  (ptr) x←v4948 ),
            BCK(11, limit34)
            )) ) = (* (( (ptr) formal←c031)+17) );
      };
SOURCE(1560, 38)
   {
      word limit35;
      (* ((( (ptr) x←v4948)+1)+(
            limit35 = (*  (ptr) x←v4948 ),
            BCK(12, limit35)
            )) ) = (* (( (ptr) formal←c031)+18) );
      };
SOURCE(1600, 38)
   {
      word limit36;
      (* ((( (ptr) x←v4948)+1)+(
            limit36 = (*  (ptr) x←v4948 ),
            BCK(13, limit36)
            )) ) = (* (( (ptr) formal←c031)+19) );
      };
SOURCE(1640, 38)
   {
      word limit37;
      (* ((( (ptr) x←v4948)+1)+(
            limit37 = (*  (ptr) x←v4948 ),
            BCK(14, limit37)
            )) ) = (* (( (ptr) formal←c031)+20) );
      };
SOURCE(1680, 78)
   if (( (int)(* (( (ptr) formal←c031)+17) ) >  (int)0) || ( (int)(* (( (ptr) formal←c031)+19) ) >  (int)0)) {
SOURCE(1737, 21)
      flags←v4976 = (flags←v4976 + 128);
      };
SOURCE(1760, 40)
   {
      word limit38;
      (* ((( (ptr) x←v4948)+1)+(
            limit38 = (*  (ptr) x←v4948 ),
            BCK(15, limit38)
            )) ) = (* (( (ptr) formal←c031)+21) );
      };
SOURCE(1802, 41)
   {
      word limit39;
      (* ((( (ptr) x←v4948)+1)+(
            limit39 = (*  (ptr) x←v4948 ),
            BCK(16, limit39)
            )) ) = (* (( (ptr) formal←c031)+22) );
      };
SOURCE(1845, 83)
   if (( (int)(* (( (ptr) formal←c031)+21) ) >  (int)0) || ( (int)(* (( (ptr) formal←c031)+22) ) >  (int)0)) {
SOURCE(1907, 21)
      flags←v4976 = (flags←v4976 + 256);
      };
SOURCE(1930, 129)
   if ( ( ((* (( (ptr) formal←c031)+23) ) >= 1) ? ((* (( (ptr) formal←c031)+23) ) <= 9) : 0 ) ) {
SOURCE(2002, 30)
      {
         word limit40;
         (* ((( (ptr) x←v4948)+1)+(
               limit40 = (*  (ptr) x←v4948 ),
               BCK(17, limit40)
               )) ) = (* (( (ptr) formal←c031)+23) );
         };
SOURCE(2034, 25)
      flags←v4976 = (flags←v4976 + 512);
      };
SOURCE(2064, 12)
   {
      word limit41;
      (* ((( (ptr) x←v4948)+1)+(
            limit41 = (*  (ptr) x←v4948 ),
            BCK(0, limit41)
            )) ) = flags←v4976;
      };
SOURCE(2078, 163)
   if ((flags←v4976 != 0) || (0 != (* (( (ptr) formal←c031)+24)/* allways←v3288 */  ))) {
SOURCE(2106, 135)
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c16624)+49)/* var←c15888 */  ))+53) );
         (void) ( *( (fPt) ((*  (ptr) pd42 ))))((*  (ptr) formal←c031/* c←v3204 */  ), (* (( (ptr) formal←c031)+1)/* window←v3232 */  ), 40, 41, 0, x←v4948
            , 0, 2147483647, 0, pd42);
         };
      };
   }

static void SetWMHints←P120(c←v3348, window←v3376, hints←v3404, allways←v3432)
   word c←v3348;
   word window←v3376;
   W9 hints←v3404;
   word allways←v3432;
   {
   register ptr gf←c16656 =  (ptr) &globalframe;
   word x←v5228;
   word flags←v5256 = 0;
   /* SetWMHints: */ 
SOURCE(2247, 1189)
SOURCE(2535, 46)
   x←v5228 = XR←NewObject(40, (* (( (ptr) gf←c16656)+11) ));
   (*  (ptr) x←v5228 ) = 9;
SOURCE(2602, 18)
   {
      word limit43;
      (* ((( (ptr) x←v5228)+1)+(
            limit43 = (*  (ptr) x←v5228 ),
            BCK(1, limit43)
            )) ) = (* (( (ptr) &hints←v3404)+1) );
      };
SOURCE(2622, 45)
   if (((* (( (ptr) &hints←v3404)+1) ) != 0)) {
SOURCE(2644, 23)
      flags←v5256 = (flags←v5256 + 1);
      };
SOURCE(2669, 25)
   {
      word limit44;
      (* ((( (ptr) x←v5228)+1)+(
            limit44 = (*  (ptr) x←v5228 ),
            BCK(2, limit44)
            )) ) = (* (( (ptr) &hints←v3404)+2) );
      };
SOURCE(2696, 52)
   if (((* (( (ptr) &hints←v3404)+2) ) != 0)) {
SOURCE(2725, 23)
      flags←v5256 = (flags←v5256 + 2);
      };
SOURCE(2750, 23)
   {
      word limit45;
      (* ((( (ptr) x←v5228)+1)+(
            limit45 = (*  (ptr) x←v5228 ),
            BCK(3, limit45)
            )) ) = (* (( (ptr) &hints←v3404)+3) );
      };
SOURCE(2775, 67)
   if (((* (( (ptr) &hints←v3404)+3) ) != 0)) {
SOURCE(2814, 28)
      flags←v5256 = (flags←v5256 + 4);
      };
SOURCE(2844, 23)
   {
      word limit46;
      (* ((( (ptr) x←v5228)+1)+(
            limit46 = (*  (ptr) x←v5228 ),
            BCK(4, limit46)
            )) ) = (* (( (ptr) &hints←v3404)+4) );
      };
SOURCE(2869, 67)
   if (((* (( (ptr) &hints←v3404)+4) ) != 0)) {
SOURCE(2908, 28)
      flags←v5256 = (flags←v5256 + 8);
      };
SOURCE(2938, 32)
   {
      word limit47;
      (* ((( (ptr) x←v5228)+1)+(
            limit47 = (*  (ptr) x←v5228 ),
            BCK(5, limit47)
            )) ) = (* (( (ptr) &hints←v3404)+5) );
      };
SOURCE(2972, 32)
   {
      word limit48;
      (* ((( (ptr) x←v5228)+1)+(
            limit48 = (*  (ptr) x←v5228 ),
            BCK(6, limit48)
            )) ) = (* (( (ptr) &hints←v3404)+6) );
      };
SOURCE(3006, 77)
   if (( (int)(* (( (ptr) &hints←v3404)+5) ) !=  (int)0) || ( (int)(* (( (ptr) &hints←v3404)+6) ) !=  (int)0)) {
SOURCE(3053, 30)
      flags←v5256 = (flags←v5256 + 16);
      };
SOURCE(3085, 21)
   {
      word limit49;
      (* ((( (ptr) x←v5228)+1)+(
            limit49 = (*  (ptr) x←v5228 ),
            BCK(7, limit49)
            )) ) = (* (( (ptr) &hints←v3404)+7) );
      };
SOURCE(3108, 63)
   if (((* (( (ptr) &hints←v3404)+7) ) != 0)) {
SOURCE(3145, 26)
      flags←v5256 = (flags←v5256 + 32);
      };
SOURCE(3173, 24)
   {
      word limit50;
      (* ((( (ptr) x←v5228)+1)+(
            limit50 = (*  (ptr) x←v5228 ),
            BCK(8, limit50)
            )) ) = (* (( (ptr) &hints←v3404)+8) );
      };
SOURCE(3199, 69)
   if (((* (( (ptr) &hints←v3404)+8) ) != 0)) {
SOURCE(3239, 29)
      flags←v5256 = (flags←v5256 + 64);
      };
SOURCE(3270, 12)
   {
      word limit51;
      (* ((( (ptr) x←v5228)+1)+(
            limit51 = (*  (ptr) x←v5228 ),
            BCK(0, limit51)
            )) ) = flags←v5256;
      };
SOURCE(3284, 152)
   if ((flags←v5256 != 0) || (0 != allways←v3432)) {
SOURCE(3311, 125)
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c16656)+49)/* var←c15888 */  ))+53) );
         (void) ( *( (fPt) ((*  (ptr) pd52 ))))(c←v3348, window←v3376, 35, 35, 0, x←v5228
            , 0, 2147483647, 0, pd52);
         };
      };
   }

static void SetWindowName←P180(c←v3492, window←v3520, windowName←v3548)
   word c←v3492;
   word window←v3520;
   word windowName←v3548;
   {
   register ptr gf←c16688 =  (ptr) &globalframe;
   /* SetWindowName: */ 
SOURCE(3442, 179)
SOURCE(3523, 98)
   {
      word pd53;
      pd53 = (* (( (ptr) (* (( (ptr) gf←c16688)+49)/* var←c15888 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd53 ))))(c←v3492, window←v3520, 39, 31, 0, windowName←v3548
         , 0, 2147483647, 0, pd53);
      };
   }

static void SetIconName←P240(c←v3608, window←v3636, iconName←v3664)
   word c←v3608;
   word window←v3636;
   word iconName←v3664;
   {
   register ptr gf←c16720 =  (ptr) &globalframe;
   /* SetIconName: */ 
SOURCE(3627, 177)
SOURCE(3704, 100)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c16720)+49)/* var←c15888 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd54 ))))(c←v3608, window←v3636, 37, 31, 0, iconName←v3664
         , 0, 2147483647, 0, pd54);
      };
   }

static void SetWMTransient←P300(c←v3724, window←v3752, for←v3780)
   word c←v3724;
   word window←v3752;
   word for←v3780;
   {
   register ptr gf←c16752 =  (ptr) &globalframe;
   word x←v5312 = 0;
   /* SetWMTransient: */ 
SOURCE(3810, 299)
SOURCE(3916, 80)
   if ((for←v3780 != 0)) {
SOURCE(3945, 26)
      {
         word var←c15952;
         var←c15952 = XR←NewObject(8, (* (( (ptr) gf←c16752)+11) ));
         (*  (ptr) var←c15952 ) = 1;
         x←v5312 = var←c15952;
         };
SOURCE(3973, 23)
      {
         word limit55;
         (* ((( (ptr) x←v5312)+1)+(
               limit55 = (*  (ptr) x←v5312 ),
               BCK(0, limit55)
               )) ) = for←v3780;
         };
      };
SOURCE(4001, 108)
   {
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c16752)+49)/* var←c15888 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd56 ))))(c←v3724, window←v3752, 68, 68, 0, x←v5312
         , 0, 2147483647, 0, pd56);
      };
   }

static void SetWMClass←P360(c←v3840, window←v3868, instance←v3896, class←v3924)
   word c←v3840;
   word window←v3868;
   word instance←v3896;
   word class←v3924;
   {
   register ptr gf←c16784 =  (ptr) &globalframe;
   /* SetWMClass: */ 
SOURCE(4115, 272)
SOURCE(4204, 183)
   if ((class←v3924 != 0) || (instance←v3896 != 0)) {
SOURCE(4238, 151)
      {
         word val←v5368;
SOURCE(4240, 53)
         {
            word pd57;
            pd57 = (* (( (ptr) (* (( (ptr) gf←c16784)+50)/* var←c15984 */  ))+5) );
            val←v5368 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))(instance←v3896, (* (( (ptr) gf←c16784)+14) ), class←v3924, (* (( (ptr) gf←c16784)+14)
                ), 0, pd57);
            };
SOURCE(4295, 92)
         {
            word pd58;
            pd58 = (* (( (ptr) (* (( (ptr) gf←c16784)+49)/* var←c15888 */  ))+53) );
            (void) ( *( (fPt) ((*  (ptr) pd58 ))))(c←v3840, window←v3868, 67, 31, 0, val←v5368
               , 0, 2147483647, 0, pd58);
            };
         };
      };
   }

static void SetWMProtocols←P420(c←v3984, window←v4012, protocols←v4040)
   word c←v3984;
   word window←v4012;
   word protocols←v4040;
   {
   register ptr gf←c16816 =  (ptr) &globalframe;
   word protocolsAtom←v5412;
   word cnt←v5440 = 0;
   word x←v5468 = 0;
   /* SetWMProtocols: */ 
SOURCE(4398, 579)
SOURCE(4492, 56)
   {
      word pd59;
      pd59 = (* (( (ptr) (* (( (ptr) gf←c16816)+49)/* var←c15888 */  ))+50) );
      protocolsAtom←v5412 = (word) ( *( (fPt) ((*  (ptr) pd59 ))))(c←v3984, (* (( (ptr) gf←c16816)+15) ), pd59);
      };
SOURCE(4590, 71)
   {
      register word l←v5524;
      l←v5524 = protocols←v4040;
      lab←L100003: ;
      if ((l←v5524 != 0)) {
         }
      else {
         goto lab←L100000;
         };
SOURCE(4650, 11)
      cnt←v5440 = (cnt←v5440 + 1);
      l←v5524 = (* (( (ptr) l←v5524)+1) );
      goto lab←L100003;
      lab←L100000: ;
      };
SOURCE(4674, 31)
   {
      word var←c16016;
      word var←c16048;
      word var←c16080;
      var←c16016 = BCK(cnt←v5440, 67108863);
      var←c16048 = (var←c16016 << 2);
      var←c16080 = XR←NewObject((4 + var←c16048), (* (( (ptr) gf←c16816)+11) ));
      (*  (ptr) var←c16080 ) = var←c16016;
      x←v5468 = var←c16080;
      };
SOURCE(4707, 143)
   {
      register word cn←v5652 = 0;
      register word noName←c16112;
      noName←c16112 = cnt←v5440;
      if ((cn←v5652 >= noName←c16112)) {
         goto lab←L100004;
         };
      lab←L100007: ;
SOURCE(4735, 31)
      if ((protocols←v4040 == 0)) {
SOURCE(4758, 8)
         cnt←v5440 = cn←v5652;
SOURCE(4768, 4)
         goto lab←L100005;
         };
SOURCE(4775, 39)
      {
         word var←c16144;
         {
            word pd60;
            pd60 = (* (( (ptr) (* (( (ptr) gf←c16816)+49)/* var←c15888 */  ))+50) );
            var←c16144 = (word) ( *( (fPt) ((*  (ptr) pd60 ))))(c←v3984, (*  (ptr) protocols←v4040 ), pd60);
            };
         {
            word limit61;
            (* ((( (ptr) x←v5468)+1)+(
                  limit61 = (*  (ptr) x←v5468 ),
                  BCK(cn←v5652, limit61)
                  )) ) = var←c16144;
            };
         };
SOURCE(4816, 34)
      protocols←v4040 = (* (( (ptr) protocols←v4040)+1) );
      cn←v5652 = (cn←v5652 + 1);
      if ((cn←v5652 < noName←c16112)) {
         goto lab←L100007;
         };
      lab←L100004: ;
      lab←L100005: ;
      };
SOURCE(4854, 123)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c16816)+49)/* var←c15888 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))(c←v3984, window←v4012, protocolsAtom←v5412, 4, 0, x←v5468
         , 0, cnt←v5440, 0, pd62);
      };
   }

static word WMQueryPosition←P480(c←v4184)
   word c←v4184;
   {
   register ptr gf←c16848 =  (ptr) &globalframe;
   word var←c4228;
   /* WMQueryPosition: */ 
SOURCE(4983, 206)
SOURCE(5047, 142)
   {
      word var←c16208;
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c16848)+51)/* var←c16176 */  ))+8) );
         var←c16208 = (word) ( *( (fPt) ((*  (ptr) pd63 ))))(c←v4184, (* (( (ptr) gf←c16848)+16) ), pd63);
         };
      if ((var←c16208 == (* (( (ptr) gf←c16848)+17) ))) {
SOURCE(5100, 13)
         return(1);
         };
      if ((var←c16208 == (* (( (ptr) gf←c16848)+18) ))) {
SOURCE(5123, 14)
         return(0);
         };
      if ((var←c16208 == (* (( (ptr) gf←c16848)+19) ))) {
SOURCE(5148, 14)
         return(0);
         };
SOURCE(5175, 14)
      return(0);
      };
   }

static word WMMakesHeader←P540(c←v4288)
   word c←v4288;
   {
   register ptr gf←c16880 =  (ptr) &globalframe;
   word var←c4332;
   /* WMMakesHeader: */ 
SOURCE(5195, 204)
SOURCE(5257, 142)
   {
      word var←c16240;
      {
         word pd65;
         pd65 = (* (( (ptr) (* (( (ptr) gf←c16880)+51)/* var←c16176 */  ))+8) );
         var←c16240 = (word) ( *( (fPt) ((*  (ptr) pd65 ))))(c←v4288, (* (( (ptr) gf←c16880)+16) ), pd65);
         };
      if ((var←c16240 == (* (( (ptr) gf←c16880)+17) ))) {
SOURCE(5310, 14)
         return(0);
         };
      if ((var←c16240 == (* (( (ptr) gf←c16880)+18) ))) {
SOURCE(5334, 13)
         return(1);
         };
      if ((var←c16240 == (* (( (ptr) gf←c16880)+19) ))) {
SOURCE(5358, 14)
         return(0);
         };
SOURCE(5386, 13)
      return(1);
      };
   }

static word CutBufferInit←P600(c←v6844, key←v6872)
   word c←v6844;
   word key←v6872;
   {
   register ptr gf←c16912 =  (ptr) &globalframe;
   word val←v6916;
   /* CutBufferInit: */ 
SOURCE(5405, 475)
SOURCE(5405, 475)
   val←v6916 = (* (( (ptr) gf←c16912)+20) );
SOURCE(5446, 258)
   {
      word var←c16272;
      word var←c16304;
      var←c16272 = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = var←c16272;
      (*  (ptr) var←c16304 ) = 9;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 10;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 11;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 12;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 13;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 14;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 15;
      (* (( (ptr) var←c16304)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c16912)+8) ));
      var←c16304 = (* (( (ptr) var←c16304)+1) );
      (*  (ptr) var←c16304 ) = 16;
      (* (( (ptr) gf←c16912)+5)/* cutBuffList←v2664 */  ) = var←c16272;
      };
SOURCE(5706, 174)
   {
      register word l←v5696;
      l←v5696 = (* (( (ptr) gf←c16912)+5)/* cutBuffList←v2664 */  );
      lab←L100011: ;
      if ((l←v5696 != 0)) {
         }
      else {
         goto lab←L100008;
         };
SOURCE(5764, 116)
      {
         word var←c16336;
         {
            word pd67;
            pd67 = (* (( (ptr) (* (( (ptr) gf←c16912)+49)/* var←c15888 */  ))+20) );
            var←c16336 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(c←v6844, pd67);
            };
         {
            word pd68;
            pd68 = (* (( (ptr) (* (( (ptr) gf←c16912)+49)/* var←c15888 */  ))+53) );
            (void) ( *( (fPt) ((*  (ptr) pd68 ))))(c←v6844, var←c16336, (*  (ptr) l←v5696 ), 31, 2, 0
               , 0, 2147483647, 0, pd68);
            };
         };
      l←v5696 = (* (( (ptr) l←v5696)+1) );
      goto lab←L100011;
      lab←L100008: ;
      };
SOURCE(5405, 475)
   return(val←v6916);
   }

static void CutBufferPush←P660(c←v4392, data←v4420, hackForXTerm←v4448)
   word c←v4392;
   word data←v4420;
   word hackForXTerm←v4448;
   {
   register ptr gf←c16944 =  (ptr) &globalframe;
   word root←v5824;
   /* CutBufferPush: */ 
SOURCE(5895, 635)
SOURCE(5990, 30)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+20) );
      root←v5824 = (word) ( *( (fPt) ((*  (ptr) pd69 ))))(c←v4392, pd69);
      };
SOURCE(6022, 66)
   {
      word var←c16368;
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c16944)+51)/* var←c16176 */  ))+9) );
      var←c16368 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))(c←v4392, (* (( (ptr) gf←c16944)+4)/* cutBuffKey←v2636 */  ), (word) (
            ( (bPt) gf←c16944)+108)/* var←c15472 */ , pd70);
      };
SOURCE(6090, 86)
   if ((0 == hackForXTerm←v4448)) {
SOURCE(6114, 16)
      {
         word pd71;
         pd71 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+45) );
         (void) ( *( (fPt) ((*  (ptr) pd71 ))))(c←v4392, 0, pd71);
         };
SOURCE(6132, 44)
      {
         word pd72;
         pd72 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+58) );
         (void) ( *( (fPt) ((*  (ptr) pd72 ))))(c←v4392, root←v5824, 1, (* (( (ptr) gf←c16944)+5)/* cutBuffList←v2664 */  ), 0, pd72)
         ;
         };
      };
SOURCE(6181, 64)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c16944)+50)/* var←c15984 */  ))+14) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd73 ))))(data←v4420, pd73) >  (int)2000)) {
SOURCE(6212, 33)
         {
            word pd74;
            pd74 = (* (( (ptr) (* (( (ptr) gf←c16944)+50)/* var←c15984 */  ))+17) );
            data←v4420 = (word) ( *( (fPt) ((*  (ptr) pd74 ))))(data←v4420, 0, 2000, pd74);
            };
         };
      };
SOURCE(6280, 120)
   {
      word pd75;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+53) );
      (void) ( *( (fPt) ((*  (ptr) pd75 ))))(c←v4392, root←v5824, (*  (ptr) (* (( (ptr) gf←c16944)+5)/* cutBuffList←v2664 */  ) ), 31, 0, data←v4420
         , 0, 2147483647, 0, pd75);
      };
SOURCE(6402, 86)
   {
      word pd76;
      pd76 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+133) );
      (void) ( *( (fPt) ((*  (ptr) pd76 ))))(c←v4392, 0, 1, 0, 0, pd76);
      };
SOURCE(6490, 40)
   if ((0 == hackForXTerm←v4448)) {
SOURCE(6512, 18)
      {
         word pd77;
         pd77 = (* (( (ptr) (* (( (ptr) gf←c16944)+49)/* var←c15888 */  ))+46) );
         (void) ( *( (fPt) ((*  (ptr) pd77 ))))(c←v4392, 0, pd77);
         };
      };
   }

static word CutBufferGet←P720(c←v4508)
   word c←v4508;
   {
   register ptr gf←c16976 =  (ptr) &globalframe;
   word data←v4552;
   word root←v5868;
   W4 pr←v5896;
   /* CutBufferGet: */ 
SOURCE(6536, 336)
SOURCE(6536, 336)
   data←v4552 = 0;
SOURCE(6615, 30)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c16976)+49)/* var←c15888 */  ))+20) );
      root←v5868 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))(c←v4508, pd78);
      };
SOURCE(6647, 21)
   pr←v5896.f0 = 0;
   pr←v5896.f1 = 0;
   pr←v5896.f2 = 0;
   pr←v5896.f3 = 0;
SOURCE(6670, 66)
   {
      word var←c16432;
      word pd79;
      pd79 = (* (( (ptr) (* (( (ptr) gf←c16976)+51)/* var←c16176 */  ))+9) );
      var←c16432 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(c←v4508, (* (( (ptr) gf←c16976)+4)/* cutBuffKey←v2636 */  ), (word) (
            ( (bPt) gf←c16976)+108)/* var←c15472 */ , pd79);
      };
SOURCE(6738, 82)
   {
      word pd80;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c16976)+49)/* var←c15888 */  ))+55) );
      (void) ( *( (fPt) ((*  (ptr) pd80 ))))((word) &pr←v5896, c←v4508, root←v5868, (*  (ptr) (* (( (ptr) gf←c16976)+5)/* cutBuffList←v2664 */  ) ), 0, 0
         , 0, 2147483647, 8, pd80);
      };
SOURCE(6822, 50)
   {
      word var←c16464;
      var←c16464 = pr←v5896.f2;
      if ((var←c16464 == 0)) {
         goto lab←L100012;
         };
      {
         word tc81;
         if (((* (( (ptr) gf←c16976)+12) ) == XR←GetReferentType(var←c16464))) {
            tc81 =  (word) ((*(int*)var←c16464<0) == 0);
            }
         else {
            tc81 =  (word) 0;
            };
         if (tc81) {
            {
               word r←v5940;
               r←v5940 = var←c16464;
SOURCE(6864, 8)
               data←v4552 = r←v5940;
               };
            }
         else {
            lab←L100012: ;
            };
         };
      };
SOURCE(6536, 336)
   return(data←v4552);
   }

static void CutBufferRotate←P780(c←v4612, amount←v4640)
   word c←v4612;
   word amount←v4640;
   {
   register ptr gf←c17008 =  (ptr) &globalframe;
   word root←v5984;
   /* CutBufferRotate: */ 
SOURCE(6894, 232)
SOURCE(6964, 30)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c17008)+49)/* var←c15888 */  ))+20) );
      root←v5984 = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(c←v4612, pd82);
      };
SOURCE(6996, 66)
   {
      word var←c16496;
      word pd83;
      pd83 = (* (( (ptr) (* (( (ptr) gf←c17008)+51)/* var←c16176 */  ))+9) );
      var←c16496 = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(c←v4612, (* (( (ptr) gf←c17008)+4)/* cutBuffKey←v2636 */  ), (word) (
            ( (bPt) gf←c17008)+108)/* var←c15472 */ , pd83);
      };
SOURCE(7064, 49)
   {
      word pd84;
      pd84 = (* (( (ptr) (* (( (ptr) gf←c17008)+49)/* var←c15888 */  ))+58) );
      (void) ( *( (fPt) ((*  (ptr) pd84 ))))(c←v4612, root←v5984, amount←v4640, (* (( (ptr) gf←c17008)+5)/* cutBuffList←v2664 */  ), 0, pd84)
      ;
      };
SOURCE(7115, 11)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c17008)+49)/* var←c15888 */  ))+43) );
      (void) ( *( (fPt) ((*  (ptr) pd85 ))))(c←v4612, 0, pd85);
      };
   }

/* file: XlConventionsImpl, module: XlConventionsImpl, compiled at: April 21, 1992 1:03:34 pm PDT */ 
extern void XR←install←XlConventionsImpl() {
   NoName←Q1140();
   }
extern void XR←run←XlConventionsImpl() { XR←Start(&globalframe); }