/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 22, 1993 5:10:02 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: X11ViewersColorImpl, module: X11ViewersColorImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [878559260,1923861640] X11ViewersColorImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
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, f4, f5;} W6;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static void NoName←Q1812();
static void X11ViewersColorImpl←P0();
static void CheckBitsPerPixel←P60();
static void ColorMapCreate←P120();
static void RegisterRevokeColorMapEntries←P180();
static void ColorMapInstall←P240();
static void RevokeColorMapEntries←P300();
static void CallClientColorMapRevoke←P360();
static word SetAnimationIndex←P420();
static void ClearAnimationIndex←P480();
static word ClearAllAnimationIndices←P540();
static word GetColorMapData←P600();
static word AllocateColorMapIndex←P660();
static word NoName←Q1872();
static void FreeColorMapIndex←P720();
static word NoName←Q1932();
static void SetColorMapEntry←P780();
static word NoName←Q1992();
static void GetColorMapEntry←P840();
static void NoName←Q2052();
static void NoName←Q2112();
static void NoName←Q2172();
static word NoName←Q2232();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\105\154\000\000"};
static struct {unsigned f; char r[4];} string2 = {196611, "\004A\330"};
static struct {unsigned f; char r[4];} string3 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string4 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string5 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string6 = {2752556, "\260\006\005\146\151\162\163\164\257\300\351\276\264\273\300\115\104\320\264\122\200\005\004\162\145\163\164\214\257\300\351\276\264\273\300\115\104\320\264\122\200\261\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\003\007\000"};
static struct {unsigned f; char r[20];} string8 = {1179668, "\260\006\005\146\151\162\163\164\241\005\004\162\145\163\164\214\241\261\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\064\135\300\034\300\162\253\314\210\100\214\000\000"};
static struct {unsigned f; char r[44];} string11 = {2818092, "\216\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\064\135\300\034\300\162\253\314\210\100\214\005\004\162\145\163\164\214\257\300\064\135\300\034\300\162\253\314\210\100\214\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\012\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\251\206\104\055\300\374\254\024\121\100\200\000\000"};
static struct {unsigned f; char r[40];} string15 = {2359332, "\006\015\000\001\010\001\020\001\024\001\054\001\070\001\074\001\100\100\001\100\110\001\100\114\001\100\124\001\100\130\001\100\140\004\100\377\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\064\135\300\034\300\162\253\314\210\100\230\000\000"};
static struct {unsigned f; char r[12];} string17 = {655370, "\006\001\000\010\000\010\101\000\003\001\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\331\133\131\347\300\165\343\006\212\100\164\000\000"};
static struct {unsigned f; char r[4];} string19 = {196611, "\004@`"};
static struct {unsigned f; char r[12];} string20 = {589836, "ColorData\000\000"};
static struct {unsigned f; char r[36];} string21 = {2097188, "Can't allocate a color map index\000\000\000"};
static struct {unsigned f; char r[28];} string22 = {1769500, "X11ViewersCheckBitsPerPixel"};
static struct {unsigned f; char r[28];} string23 = {1572892, "X11ViewersBitmapReplaced\000\000\000"};
static struct {unsigned f; char r[32];} string24 = {1900576, "X11ViewersAfterWidgetCreation\000\000"};
static struct {unsigned f; char r[32];} string25 = {1966112, "X11ViewersBeforeWindowCreation\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\064\135\300\034\300\162\253\314\210\100\164\000\000"};
static struct {unsigned f; char r[12];} string27 = {524296, "\006\002 \001@l\004?\000\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\064\321\106\155\300\242\071\325\060\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\251\206\104\055\300\374\254\024\121\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\256\061\211\265\300\052\170\134\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\331\133\131\347\300\165\343\006\212\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\242\021\151\152\300\254\342\070\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\271\306\277\300\300\056\100\244\210\100\150\000\000"};
static struct {
   word f0[33]; 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; word f49; word f50; word f51; 
   word f52; word f53; word f54; word f55; 
   word f56; word f57; word f58; word f59; 
   word f60; word f61; word f62[11]; 
   } globalframe = {
   {0}, (word) GetColorMapEntry←P840, 0, (word) SetColorMapEntry←P780, 
   0, (word) FreeColorMapIndex←P720, 0, (word) AllocateColorMapIndex←P660, 
   0, (word) GetColorMapData←P600, 0, (word) ClearAllAnimationIndices←P540, 
   0, (word) ClearAnimationIndex←P480, 0, (word) SetAnimationIndex←P420, 
   0, (word) CallClientColorMapRevoke←P360, 0, (word) RevokeColorMapEntries←P300, 
   0, (word) ColorMapInstall←P240, 0, (word) RegisterRevokeColorMapEntries←P180, 
   0, (word) ColorMapCreate←P120, 0, (word) CheckBitsPerPixel←P60, 
   0, (word) X11ViewersColorImpl←P0, {0}
   };

static void NoName←Q1812()
   {
   register ptr gf←c0172 =  (ptr) &globalframe;
   word var←c20460;
   (* (( (ptr) gf←c0172)+9) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0172)+15) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0172)+16) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0172)+17) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0172)+18) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c0172)+20) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string9);
   (* (( (ptr) gf←c0172)+22) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string5);
   (* (( (ptr) gf←c0172)+23) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0172)+24) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0172)+25) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c0172)+26) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string19);
   (*  (ptr) (( (bPt) gf←c0172)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+16) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0172)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+22) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0172)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+16) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0172)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+16) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0172)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+16) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0172)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0172)+16) ), (word) &string25);
   (void) XR←DeclareGlobalFrame((word) "X11ViewersColorImpl", &globalframe, (word) XR←GetTypeIndex((word) &string26, 0, (word) &string27)
      , (word) (( (bPt) gf←c0172)+244)/* var←c19372 */ );
   var←c20460 = (word) XR←ImportInterface((word) "PreDebug", (word) XR←GetTypeIndexS((word) (&string28)), 5);
   (* (( (ptr) gf←c0172)+66)/* var←c19532 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 786691);
   var←c20460 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string29)), 22);
   (* (( (ptr) gf←c0172)+70)/* var←c19820 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 526081);
   var←c20460 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string30)), 27);
   (* (( (ptr) gf←c0172)+72)/* var←c20076 */  ) = var←c20460;
   var←c20460 = (word) XR←ImportInterface((word) "X11Viewers", (word) XR←GetTypeIndexS((word) (&string31)), 8);
   (* (( (ptr) gf←c0172)+63)/* var←c19436 */  ) = var←c20460;
   var←c20460 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string32)), 218);
   (* (( (ptr) gf←c0172)+71)/* var←c20012 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 1097476);
   (void) XR←ImportProcS(var←c20460, 1359365);
   (void) XR←ImportProcS(var←c20460, 135576581);
   var←c20460 = (word) XR←ImportInterface((word) "XlBitmap", (word) XR←GetTypeIndexS((word) (&string33)), 14);
   (* (( (ptr) gf←c0172)+69)/* var←c19692 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 525570);
   var←c20460 = (word) XR←ImportInterface((word) "XlColorAccess", (word) XR←GetTypeIndexS((word) (&string34)), 3);
   (* (( (ptr) gf←c0172)+67)/* var←c19564 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 67895299);
   var←c20460 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string35)), 50);
   (* (( (ptr) gf←c0172)+68)/* var←c19596 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 1050628);
   (void) XR←ImportProcS(var←c20460, 67634690);
   (void) XR←ImportProcS(var←c20460, 788227);
   var←c20460 = (word) XR←ImportInterface((word) "XTkNotification", (word) XR←GetTypeIndexS((word) (&string36)), 2);
   (* (( (ptr) gf←c0172)+64)/* var←c19468 */  ) = var←c20460;
   (void) XR←ImportProcS(var←c20460, 1048580);
   var←c20460 = (word) XR←ImportInterface((word) "ViewersWorld", (word) XR←GetTypeIndexS((word) (&string37)), 26);
   (* (( (ptr) gf←c0172)+65)/* var←c19500 */  ) = var←c20460;
   }

static void X11ViewersColorImpl←P0(formal←c040, formal←c038)
   word formal←c040;
   word formal←c038;
   {
   register ptr gf←c20492 =  (ptr) &globalframe;
   /* X11ViewersColorImpl: */ 
SOURCE(143, 7509)
SOURCE(340, 76)
   {
      word var←c19404;
      var←c19404 = XR←NewObject(36, (* (( (ptr) gf←c20492)+9) ));
      (* (( (ptr) var←c19404)+1) ) = 1;
      (* (( (ptr) gf←c20492)+8)/* detailsForSynchronous←v3000 */  ) = var←c19404;
      };
SOURCE(6968, 66)
   (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c20492)+63)/* var←c19436 */  ))+5) ) ))+15) ) = (word) (( (bPt) gf←c20492)+156)
   /* var←c19020 */ ;
SOURCE(7036, 58)
   (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c20492)+63)/* var←c19436 */  ))+5) ) ))+16) ) = (word) (( (bPt) gf←c20492)+148)
   /* var←c18988 */ ;
SOURCE(7096, 56)
   (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c20492)+63)/* var←c19436 */  ))+5) ) ))+17) ) = (word) (( (bPt) gf←c20492)+140)
   /* var←c18956 */ ;
SOURCE(7154, 56)
   (* (( (ptr) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c20492)+63)/* var←c19436 */  ))+5) ) ))+18) ) = (word) (( (bPt) gf←c20492)+132)
   /* var←c18924 */ ;
SOURCE(7212, 79)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c20492)+64)/* var←c19468 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd38 ))))((* (( (ptr) gf←c20492)+32) ), (word) (( (bPt) gf←c20492)+228)/* var←c19308 */ , 0, 0, pd38)
      ;
      };
SOURCE(7293, 93)
   {
      word pd39;
      pd39 = (* (( (ptr) (* (( (ptr) gf←c20492)+64)/* var←c19468 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) gf←c20492)+31) ), (word) (( (bPt) gf←c20492)+220)/* var←c19276 */ , 0, 0, pd39)
      ;
      };
SOURCE(7388, 74)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c20492)+64)/* var←c19468 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd40 ))))((* (( (ptr) gf←c20492)+30) ), (word) (( (bPt) gf←c20492)+212)/* var←c19244 */ , 0, 0, pd40)
      ;
      };
SOURCE(7464, 79)
   {
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c20492)+64)/* var←c19468 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd41 ))))((* (( (ptr) gf←c20492)+29) ), (word) (( (bPt) gf←c20492)+236)/* var←c19340 */ , 0, 0, pd41)
      ;
      };
SOURCE(7545, 107)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c20492)+66)/* var←c19532 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) (* (( (ptr) gf←c20492)+65)/* var←c19500 */  ))+25) ), 0, (* (( (ptr) gf←c20492)+28)
          ), pd42);
      };
   }

static void CheckBitsPerPixel←P60(widget←v9064, registerData←v9092, callData←v9120, event←v9148)
   word widget←v9064;
   word registerData←v9092;
   word callData←v9120;
   word event←v9148;
   {
   register ptr gf←c20524 =  (ptr) &globalframe;
   word data←v5008;
   word cd←v5036;
   /* CheckBitsPerPixel: */ 
SOURCE(872, 368)
SOURCE(916, 41)
   data←v5008 = XR←Narrow(callData←v9120, (* (( (ptr) gf←c20524)+24) ));
SOURCE(959, 134)
   {
      word pd43;
      word idx44;
      pd43 = (* (( (ptr) (* (( (ptr) gf←c20524)+67)/* var←c19564 */  ))+4) );
      cd←v5036 = (word) ( *( (fPt) ((*  (ptr) pd43 ))))((* (( (ptr) (* (( (ptr) (* (( (ptr) data←v5008)+2) ))+36) ))+1) ), (
            idx44 = (* (( (ptr) data←v5008)+6) ),
            BCK(idx44, 256)
            ), 3, pd43);
      };
SOURCE(1095, 145)
   if ( ( (cd←v5036 != 0) ? (0 != (*  (ptr) cd←v5036 )) : 0 ) ) {
SOURCE(1137, 75)
SOURCE(1138, 74)
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c20524)+68)/* var←c19596 */  ))+11) );
         (void) ( *( (fPt) ((*  (ptr) pd45 ))))((* (( (ptr) data←v5008)+2) ), (* (( (ptr) gf←c20524)+27) ), cd←v5036, pd45);
         };
SOURCE(1215, 25)
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20524)+63)/* var←c19436 */  ))+8) ), 0);
      };
   }

static void ColorMapCreate←P120(widget←v9208, registerData←v9236, callData←v9264, event←v9292)
   word widget←v9208;
   word registerData←v9236;
   word callData←v9264;
   word event←v9292;
   {
   register ptr gf←c20556 =  (ptr) &globalframe;
   word data←v5080;
   /* ColorMapCreate: */ 
SOURCE(1249, 332)
SOURCE(1290, 41)
   data←v5080 = XR←Narrow(callData←v9264, (* (( (ptr) gf←c20556)+24) ));
SOURCE(1333, 248)
   {
      word var←c19628;
      {
         word pd46;
         pd46 = (* (( (ptr) (* (( (ptr) gf←c20556)+68)/* var←c19596 */  ))+10) );
         var←c19628 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) data←v5080)+2) ), (* (( (ptr) gf←c20556)+27) ), pd46);
         };
      if ((var←c19628 == 0)) {
         goto lab←L100000;
         };
      if (((* (( (ptr) gf←c20556)+26) ) == XR←GetReferentType(var←c19628))) {
         {
            word cd←v5124;
            cd←v5124 = var←c19628;
SOURCE(1421, 160)
            if ( ( (0 != (*  (ptr) cd←v5124 )) ? (0 != (* (( (ptr) data←v5080)+3) )) : 0 ) ) {
SOURCE(1461, 122)
               {
                  word bitmap←v5168;
SOURCE(1463, 32)
                  bitmap←v5168 = (* (( (ptr) data←v5080)+4) );
SOURCE(1497, 40)
                  (* (( (ptr) bitmap←v5168)+28) ) = (* (( (ptr) cd←v5124)+2) );
SOURCE(1539, 42)
                  (* (( (ptr) (* (( (ptr) data←v5080)+2) ))+28) ) = (* (( (ptr) cd←v5124)+2) );
                  };
               };
            };
         }
      else {
         lab←L100000: ;
         };
      };
   }

static void RegisterRevokeColorMapEntries←P180(widget←v9352, registerData←v9380, callData←v9408, event←v9436)
   word widget←v9352;
   word registerData←v9380;
   word callData←v9408;
   word event←v9436;
   {
   register ptr gf←c20588 =  (ptr) &globalframe;
   word data←v5212;
   /* RegisterRevokeColorMapEntries: */ 
SOURCE(1605, 184)
SOURCE(1661, 41)
   data←v5212 = XR←Narrow(callData←v9408, (* (( (ptr) gf←c20588)+24) ));
SOURCE(1704, 85)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c20588)+68)/* var←c19596 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) data←v5212)+2) ), (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c20588)+68)/* var←c19596 */  ))+22)
          ) ), (word) (( (bPt) gf←c20588)+204)/* var←c19212 */ , data←v5212, pd47);
      };
   }

static void ColorMapInstall←P240(widget←v9496, registerData←v9524, callData←v9552, event←v9580)
   word widget←v9496;
   word registerData←v9524;
   word callData←v9552;
   word event←v9580;
   {
   register ptr gf←c20620 =  (ptr) &globalframe;
   word data←v5256;
   word bm←v5284;
   /* ColorMapInstall: */ 
SOURCE(1795, 298)
SOURCE(1837, 41)
   data←v5256 = XR←Narrow(callData←v9552, (* (( (ptr) gf←c20620)+24) ));
SOURCE(1880, 29)
   bm←v5284 = (* (( (ptr) data←v5256)+11) );
SOURCE(1911, 182)
   {
      word var←c19660;
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c20620)+68)/* var←c19596 */  ))+10) );
         var←c19660 = (word) ( *( (fPt) ((*  (ptr) pd48 ))))((* (( (ptr) data←v5256)+2) ), (* (( (ptr) gf←c20620)+27) ), pd48);
         };
      if ((var←c19660 == 0)) {
         goto lab←L100001;
         };
      if (((* (( (ptr) gf←c20620)+26) ) == XR←GetReferentType(var←c19660))) {
         {
            word cd←v5328;
            cd←v5328 = var←c19660;
SOURCE(1999, 94)
            if ( (  ( (0 != (*  (ptr) cd←v5328 )) ? (0 != (* (( (ptr) data←v5256)+3) )) : 0 )  ? (bm←v5284 != 0) : 0 ) ) {
SOURCE(2052, 41)
               {
                  word pd49;
                  pd49 = (* (( (ptr) (* (( (ptr) gf←c20620)+69)/* var←c19692 */  ))+9) );
                  (void) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) data←v5256)+11) ), (* (( (ptr) cd←v5328)+5) ), pd49);
                  };
               };
            };
         }
      else {
         lab←L100001: ;
         };
      };
   }

static void RevokeColorMapEntries←P300(widget←v9640, registerData←v9668, callData←v9696, event←v9724)
   word widget←v9640;
   word registerData←v9668;
   word callData←v9696;
   word event←v9724;
   {
   register ptr gf←c20652 =  (ptr) &globalframe;
   /* RevokeColorMapEntries: */ 
SOURCE(2117, 367)
SOURCE(2165, 319)
   {
      word var←c19724;
      var←c19724 = registerData←v9668;
      if ((var←c19724 == 0)) {
         goto lab←L100002;
         };
      if (((* (( (ptr) gf←c20652)+24) ) == XR←GetReferentType(var←c19724))) {
         {
            word data←v5372;
            data←v5372 = var←c19724;
SOURCE(2223, 44)
            {
               word pd50;
               pd50 = (* (( (ptr) (* (( (ptr) gf←c20652)+68)/* var←c19596 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) data←v5372)+2) ), (* (( (ptr) gf←c20652)+27) ), 0, pd50);
               };
SOURCE(2269, 215)
            {
               word var←c19756;
               var←c19756 = (* (( (ptr) data←v5372)+19) );
               if ((var←c19756 == 0)) {
                  goto lab←L100003;
                  };
               if (((* (( (ptr) gf←c20652)+25) ) == XR←GetReferentType(var←c19756))) {
                  {
                     word cm←v5416;
                     cm←v5416 = var←c19756;
SOURCE(2339, 147)
                     {
                        word closures←v5472;
SOURCE(2341, 10)
                        closures←v5472 = (word) ClearAllAnimationIndices←P540(cm←v5416);
SOURCE(2421, 63)
SOURCE(2422, 62)
                        {
                           W2 var←c19788;
                           {
/*1*/   W2 var←c079;
/*1*/   word var←c078;
/*1*/   var←c078 = XR←ExtensionAlloc(6);
/*1*/   {
/*1*/      word tmpAddr51;
/*1*/      tmpAddr51 = (word) var←c078;
/*1*/      (*  (ptr) tmpAddr51 ) = ( ((word)  (fPt) NoName←Q2232) );
/*1*/      (* (( (ptr) tmpAddr51) + 1) ) = 0;
/*1*/      (* (( (ptr) tmpAddr51) + 2) ) = (word) (( (bPt) gf←c20652)+196)/* var←c19180 */ ;
/*1*/      (* (( (ptr) tmpAddr51) + 3) ) = 0;
/*1*/      (* (( (ptr) tmpAddr51) + 4) ) = data←v5372;
/*1*/      (* (( (ptr) tmpAddr51) + 5) ) = closures←v5472;
/*1*/      };
/*1*/   (void) XR←Fork((word) &var←c079, var←c078);
/*1*/   var←c19788 = var←c079;
/*1*/   };
                           {
/*1*/   word pd52;
/*1*/   pd52 = (* (( (ptr) (* (( (ptr) gf←c20652)+70)/* var←c19820 */  ))+11) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd52 ))))(var←c19788, pd52);
/*1*/   };
                           };
                        };
                     };
                  }
               else {
                  lab←L100003: ;
                  };
               };
            };
         }
      else {
         lab←L100002: ;
         };
      };
   }

static void CallClientColorMapRevoke←P360(data←v3920, closures←v3948)
   word data←v3920;
   word closures←v3948;
   {
   /* CallClientColorMapRevoke: */ 
SOURCE(2525, 232)
SOURCE(2626, 131)
   {
      register word l←v5600;
      l←v5600 = closures←v3948;
      lab←L100007: ;
      if ((l←v5600 != 0)) {
         }
      else {
         goto lab←L100004;
         };
SOURCE(2697, 60)
      {
         word pd53;
         pd53 = (*  (ptr) l←v5600 );
         (void) ( *( (fPt) ((*  (ptr) pd53 ))))((*  (ptr) data←v3920 ), (* (( (ptr) l←v5600)+2) ), (* (( (ptr) l←v5600)+1) ), pd53)
         ;
         };
      l←v5600 = (* (( (ptr) l←v5600)+3) );
      goto lab←L100007;
      lab←L100004: ;
      };
   }

static word SetAnimationIndex←P420(cm←v4092, idx←v4120, revokeClosure←v4148)
   word cm←v4092;
   word idx←v4120;
   word revokeClosure←v4148;
   {
   register ptr gf←c20684 =  (ptr) &globalframe;
   word fail←v4236;
   /* SetAnimationIndex: */ 
SOURCE(2771, 286)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c20684)+16)/* LOCK←v2972 */ ));
SOURCE(2771, 286)
   fail←v4236 = 0;
SOURCE(2912, 65)
   if ((cm←v4092 == 0)) { goto then054;};
   if ((int)(* (( (W2Pt) cm←v4092)+idx←v4120) ).f0<0) {
      then054: ;
SOURCE(2959, 18)
      (void) (XR←MonitorExit((word) (( (bPt) gf←c20684)+16)/* LOCK←v2972 */ ));
      fail←v4236 = 1;
      return(1);
      };
SOURCE(2979, 35)
   (*  (ptr) ((( (W2Pt) cm←v4092)+idx←v4120)) ) |= 2147483648;
SOURCE(3016, 41)
   (* (( (W2Pt) cm←v4092)+idx←v4120) ).f1 = revokeClosure←v4148;
SOURCE(2771, 286)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c20684)+16)/* LOCK←v2972 */ ));
   return(fail←v4236);
   }

static void ClearAnimationIndex←P480(formal←c094, cm←v4296, idx←v4324)
   word formal←c094;
   word cm←v4296;
   word idx←v4324;
   {
   register ptr gf←c20716 =  (ptr) &globalframe;
   word was←v4400;
   word revoke←v4428;
   /* ClearAnimationIndex: */ 
SOURCE(3063, 301)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c20716)+16)/* LOCK←v2972 */ ));
SOURCE(3063, 301)
   was←v4400 = 0;
SOURCE(3063, 301)
   revoke←v4428 = 0;
SOURCE(3206, 158)
   if ((cm←v4296 != 0)) {
SOURCE(3223, 34)
      was←v4400 =  (unsigned) ((int)(* (( (W2Pt) cm←v4296)+idx←v4324) ).f0<0);
SOURCE(3259, 34)
      revoke←v4428 = (* (( (W2Pt) cm←v4296)+idx←v4324) ).f1;
SOURCE(3295, 31)
      (* (( (W2Pt) cm←v4296)+idx←v4324) ).f1 = 0;
SOURCE(3328, 36)
      (*  (ptr) ((( (W2Pt) cm←v4296)+idx←v4324)) ) &= 2147483647;
      };
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c20716)+16)/* LOCK←v2972 */ ));
   (*  (ptr) formal←c094 ) = was←v4400;
   (* (( (ptr) formal←c094)+1) ) = revoke←v4428;
   return;
   }

static word ClearAllAnimationIndices←P540(cm←v4500)
   word cm←v4500;
   {
   register ptr gf←c20748 =  (ptr) &globalframe;
   word closures←v4556;
   /* ClearAllAnimationIndices: */ 
SOURCE(3373, 352)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c20748)+16)/* LOCK←v2972 */ ));
SOURCE(3373, 352)
   closures←v4556 = 0;
SOURCE(3493, 232)
   if ((cm←v4500 != 0)) {
SOURCE(3510, 215)
      {
         register word i←v5728 = 0;
         lab←L100013: ;
         {
            word closure←v5792;
SOURCE(3541, 60)
            closure←v5792 = (* (( (W2Pt) cm←v4500)+i←v5728) ).f1;
SOURCE(3603, 29)
            (* (( (W2Pt) cm←v4500)+i←v5728) ).f1 = 0;
SOURCE(3634, 34)
            (*  (ptr) ((( (W2Pt) cm←v4500)+i←v5728)) ) &= 2147483647;
SOURCE(3670, 55)
            if ((closure←v5792 != 0)) {
SOURCE(3690, 35)
               {
                  word var←c19852;
                  var←c19852 = XR←NewObject(16, (* (( (ptr) gf←c20748)+23) ));
                  (*  (W3Pt) var←c19852 ) = (*  (W3Pt) closure←v5792 );
                  (* (( (ptr) var←c19852)+3) ) = closures←v4556;
                  closures←v4556 = var←c19852;
                  };
               };
            };
         if ((i←v5728 >= 255)) {
            goto lab←L100010;
            };
         i←v5728 = (i←v5728 + 1);
         goto lab←L100013;
         lab←L100010: ;
         };
      };
SOURCE(3373, 352)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c20748)+16)/* LOCK←v2972 */ ));
   return(closures←v4556);
   }

static word GetColorMapData←P600(data←v4700)
   word data←v4700;
   {
   register ptr gf←c20780 =  (ptr) &globalframe;
   word var←c4744;
   /* GetColorMapData: */ 
SOURCE(3743, 353)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c20780)+16)/* LOCK←v2972 */ ));
SOURCE(3827, 43)
   if ((data←v4700 == 0)) {
SOURCE(3844, 26)
      {
         word var←c19884;
         var←c19884 = XR←NewObject(2048, (* (( (ptr) gf←c20780)+25) ));
         (void) (XR←MonitorExit((word) (( (bPt) gf←c20780)+16)/* LOCK←v2972 */ ));
         return(var←c19884);
         };
      };
SOURCE(3912, 184)
   {
      word var←c19948;
      var←c19948 = (* (( (ptr) data←v4700)+19) );
      if ((var←c19948 == 0)) {
         goto lab←L100014;
         };
      if (((* (( (ptr) gf←c20780)+25) ) == XR←GetReferentType(var←c19948))) {
         {
            word cm←v5848;
            cm←v5848 = var←c19948;
SOURCE(3982, 11)
            (void) (XR←MonitorExit((word) (( (bPt) gf←c20780)+16)/* LOCK←v2972 */ ));
            return(cm←v5848);
            };
         }
      else {
         lab←L100014: ;
SOURCE(4006, 92)
         {
            word cm←v5904;
SOURCE(4008, 40)
            cm←v5904 = XR←NewObject(2048, (* (( (ptr) gf←c20780)+25) ));
SOURCE(4050, 33)
            (* (( (ptr) data←v4700)+19) ) = cm←v5904;
SOURCE(4085, 11)
            (void) (XR←MonitorExit((word) (( (bPt) gf←c20780)+16)/* LOCK←v2972 */ ));
            return(cm←v5904);
            };
         };
      };
   }

static word AllocateColorMapIndex←P660(screenServerData←v4816, display←v4844, revokeIndex←v4872, clientData←v4900)
   word screenServerData←v4816;
   word display←v4844;
   word revokeIndex←v4872;
   word clientData←v4900;
   {
   W9 var←c20812;
   register ptr gf←c20844 =  (ptr) &globalframe;
   word index←v4980;
   /* AllocateColorMapIndex: */ 
SOURCE(4105, 1084)
SOURCE(4273, 916)
SOURCE(4275, 49)
   {
      word data←v5960;
      word cm←v5988;
      word bitmap←v6016;
      word pixels←v6044 = 0;
      word revokeClosure←v6072 = 0;
      /* declaration of var←c01 skipped */ 
      /* declaration of var←c02 skipped */ 
      /* declaration of var←c03 skipped */ 
      /* declaration of var←c04 skipped */ 
SOURCE(4275, 49)
      data←v5960 = XR←Narrow(screenServerData←v4816, (* (( (ptr) gf←c20844)+24) ));
SOURCE(4327, 44)
      cm←v5988 = (word) GetColorMapData←P600(data←v5960);
SOURCE(4373, 32)
      bitmap←v6016 = (* (( (ptr) data←v5960)+4) );
SOURCE(4486, 59)
      if ((bitmap←v6016 == 0)) {
SOURCE(4506, 39)
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20844)+65)/* var←c19500 */  ))+25) ), 0);
         };
SOURCE(4548, 104)
      if ( ( ((* (( (ptr) data←v5960)+8) ) != 8) ? ((* (( (ptr) data←v5960)+8) ) != 4) : 0 ) ) {
SOURCE(4613, 39)
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20844)+65)/* var←c19500 */  ))+25) ), 0);
         };
SOURCE(4655, 142)
      (* (( (ptr) &var←c20812)+4)/* var←c01 */  ) = (* (( (ptr) bitmap←v6016)+34) );
      (* (( (ptr) &var←c20812)+5)/* var←c02 */  ) = (* (( (ptr) bitmap←v6016)+28) );
      (* (( (ptr) &var←c20812)+6)/* var←c03 */  ) = (* (( (ptr) (* (( (ptr) gf←c20844)+71)/* var←c20012 */  ))+192) );
      {
         word var←c05;
         {
            word var←c0193;
            var←c0193 = (word) &var←c20812;
            var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1872) ), ( ((word)  (fPt) NoName←Q2172) ), var←c0193);
            };
         if ((var←c05 == 2)) {
            goto lab←L100015;
            };
         };
      pixels←v6044 = (*  (W2Pt) (( (ptr) &var←c20812)+7)/* var←c04 */  ).f0;
SOURCE(4819, 92)
      {
         word limit56;
         if ((pixels←v6044 == 0)) { goto then055;};
         if (((*  (ptr) pixels←v6044 ) != 1)) { goto then055;};
         if (((* ((( (ptr) pixels←v6044)+1)+(
               limit56 = (*  (ptr) pixels←v6044 ),
               BCK(0, limit56)
               )) ) > 256)) {
            then055: ;
SOURCE(4872, 39)
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20844)+65)/* var←c19500 */  ))+25) ), 0);
            };
         };
SOURCE(4913, 17)
      {
         word limit57;
         index←v4980 = (* ((( (ptr) pixels←v6044)+1)+(
               limit57 = (*  (ptr) pixels←v6044 ),
               BCK(0, limit57)
               )) );
         };
SOURCE(4932, 102)
      if ((revokeIndex←v4872 != 0)) {
SOURCE(4957, 77)
         {
            word var←c20044;
            var←c20044 = XR←NewObject(12, (* (( (ptr) gf←c20844)+20) ));
            (*  (ptr) var←c20044 ) = XR←CheckProc(revokeIndex←v4872);
            (* (( (ptr) var←c20044)+1) ) = clientData←v4900;
            (* (( (ptr) var←c20044)+2) ) = index←v4980;
            revokeClosure←v6072 = var←c20044;
            };
         };
SOURCE(5036, 96)
      if ((0 != (word) SetAnimationIndex←P420(cm←v5988, BCK(index←v4980, 256), revokeClosure←v6072))) {
SOURCE(5093, 39)
         (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20844)+65)/* var←c19500 */  ))+25) ), 0);
         };
      };
   goto lab←L100018;
   lab←L100015: ;
SOURCE(5148, 39)
   (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c20844)+65)/* var←c19500 */  ))+25) ), 0);
   lab←L100018: ;
SOURCE(4105, 1084)
   return(index←v4980);
   }

static word NoName←Q1872(formal←c0184)
   word formal←c0184;
   {
SOURCE(4655, 142)
   {
      word pd58;
      pd58 = (* (( (ptr) formal←c0184)+6) );
      (void) ( *( (fPt) ((*  (ptr) pd58 ))))((word) (( (bPt) formal←c0184)+28), (* (( (ptr) formal←c0184)+4) ), (* (( (ptr) formal←c0184)+5)
          ), 1, 0, 0, pd58);
      };
   return(0);
   }

static void FreeColorMapIndex←P720(formal←c0202, formal←c0203, display←v9840)
   word formal←c0202;
   word formal←c0203;
   word display←v9840;
   {
   W6 var←c20876;
   /* declaration of screenServerData←v9784 skipped */ 
   /* declaration of index←v9812 skipped */ 
   var←c20876.f4/* screenServerData←v9784 */  = formal←c0202;
   var←c20876.f5/* index←v9812 */  = formal←c0203;
   /* FreeColorMapIndex: */ 
SOURCE(5193, 632)
SOURCE(5256, 569)
SOURCE(5258, 524)
   {
      word var←c06;
      {
         word var←c0194;
         var←c0194 = (word) &var←c20876;
         var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1932) ), ( ((word)  (fPt) NoName←Q2112) ), var←c0194);
         };
      if ((var←c06 == 3)) {
         goto lab←L100019;
         }
      else {
         if ((var←c06 == 1)) {
            goto lab←L03;
            };
         };
      };
   goto lab←L100023;
   lab←L100019: ;
   lab←L100023: ;
   lab←L03: ;
   return;
   }

static word NoName←Q1932(formal←c0186)
   word formal←c0186;
   {
   register ptr gf←c0185 =  (ptr) &globalframe;
SOURCE(5344, 24)
   if (((* (( (ptr) formal←c0186)+5) ) > 255)) {
SOURCE(5362, 6)
      return(1);
      };
SOURCE(5370, 412)
   {
      word var←c20108;
      var←c20108 = (* (( (ptr) formal←c0186)+4) );
      if ((var←c20108 == 0)) {
         goto lab←L100022;
         };
      if (((* (( (ptr) gf←c0185)+24) ) == XR←GetReferentType(var←c20108))) {
         {
            word data←v6152;
            data←v6152 = var←c20108;
SOURCE(5430, 360)
            {
               word bitmap←v6196;
               word cm←v6224;
SOURCE(5432, 32)
               bitmap←v6196 = (* (( (ptr) data←v6152)+4) );
SOURCE(5466, 44)
               cm←v6224 = (word) GetColorMapData←P600(data←v6152);
SOURCE(5512, 270)
               if ((bitmap←v6196 != 0)) {
SOURCE(5531, 256)
                  {
                     word was←v6280;
                     word revoke←v6308 = 0;
SOURCE(5579, 46)
                     {
                        W2 var←c20140;
                        {
                           word idx59;
                           (void) ClearAnimationIndex←P480((word) &var←c20140, cm←v6224, (
/*1*/      idx59 = (* (( (ptr) formal←c0186)+5) ),
/*1*/      BCK(idx59, 256)
/*1*/      ));
                           };
                        revoke←v6308 = var←c20140.f1;
                        was←v6280 = var←c20140.f0;
                        };
SOURCE(5627, 155)
                     if ((0 != was←v6280)) {
SOURCE(5642, 140)
                        {
                           word var←c20172;
                           {
/*1*/   word var←c20204;
/*1*/   word var←c20236;
/*1*/   var←c20204 = XR←NewObject(8, (* (( (ptr) gf←c0185)+18) ));
/*1*/   var←c20236 = var←c20204;
/*1*/   (*  (ptr) var←c20236 ) = (* (( (ptr) formal←c0186)+5) );
/*1*/   var←c20172 = var←c20204;
/*1*/   };
                           {
/*1*/   word pd60;
/*1*/   pd60 = (* (( (ptr) (* (( (ptr) gf←c0185)+71)/* var←c20012 */  ))+194) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) bitmap←v6196)+34) ), (* (( (ptr) bitmap←v6196)+28) ), var←c20172, 0, (* (
/*1*/         ( (ptr) gf←c0185)+8)/* detailsForSynchronous←v3000 */  ), pd60);
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         }
      else {
         lab←L100022: ;
         };
      };
   return(0);
   }

static void SetColorMapEntry←P780(formal←c0204, formal←c0205, display←v9956, formal←c0206, formal←c0207, formal←c0208)
   word formal←c0204;
   word formal←c0205;
   word display←v9956;
   word formal←c0206;
   word formal←c0207;
   word formal←c0208;
   {
   W9 var←c20908;
   /* declaration of screenServerData←v9900 skipped */ 
   /* declaration of index←v9928 skipped */ 
   /* declaration of red←v9984 skipped */ 
   /* declaration of green←v10012 skipped */ 
   /* declaration of blue←v10040 skipped */ 
   (* (( (ptr) &var←c20908)+4)/* screenServerData←v9900 */  ) = formal←c0204;
   (* (( (ptr) &var←c20908)+5)/* index←v9928 */  ) = formal←c0205;
   (* (( (ptr) &var←c20908)+6)/* red←v9984 */  ) = formal←c0206;
   (* (( (ptr) &var←c20908)+7)/* green←v10012 */  ) = formal←c0207;
   (* (( (ptr) &var←c20908)+8)/* blue←v10040 */  ) = formal←c0208;
   /* SetColorMapEntry: */ 
SOURCE(5829, 777)
SOURCE(5890, 716)
SOURCE(5892, 677)
   {
      word var←c07;
      {
         word var←c0195;
         var←c0195 = (word) &var←c20908;
         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1992) ), ( ((word)  (fPt) NoName←Q2052) ), var←c0195);
         };
      if ((var←c07 == 4)) {
         goto lab←L100024;
         }
      else {
         if ((var←c07 == 1)) {
            goto lab←L05;
            };
         };
      };
   goto lab←L100028;
   lab←L100024: ;
   lab←L100028: ;
   lab←L05: ;
   return;
   }

static word NoName←Q1992(formal←c0188)
   word formal←c0188;
   {
   register ptr gf←c0187 =  (ptr) &globalframe;
SOURCE(5978, 24)
   if (((* (( (ptr) formal←c0188)+5) ) > 255)) {
SOURCE(5996, 6)
      return(1);
      };
SOURCE(6004, 565)
   {
      word var←c20268;
      var←c20268 = (* (( (ptr) formal←c0188)+4) );
      if ((var←c20268 == 0)) {
         goto lab←L100027;
         };
      if (((* (( (ptr) gf←c0187)+24) ) == XR←GetReferentType(var←c20268))) {
         {
            word data←v6364;
            data←v6364 = var←c20268;
SOURCE(6064, 507)
            {
               word cm←v6408;
               word bitmap←v6436;
SOURCE(6066, 44)
               cm←v6408 = (word) GetColorMapData←P600(data←v6364);
SOURCE(6112, 32)
               bitmap←v6436 = (* (( (ptr) data←v6364)+4) );
SOURCE(6146, 46)
               {
                  word idx61;
                  if ( ! ((int)(* (( (W2Pt) cm←v6408)+(
                        idx61 = (* (( (ptr) formal←c0188)+5) ),
                        BCK(idx61, 256)
                        )) ).f0<0)) {
SOURCE(6186, 6)
                     return(1);
                     };
                  };
SOURCE(6194, 37)
               {
                  word idx63;
                  word idx64;
                  word tadr65;
                  {
                     word x62;
                     (* (( (ptr) formal←c0188)+6) ) = (x62 = (* (( (ptr) formal←c0188)+6) ),
                        MIN((int)(word), x62, 255));
                     };
                  tadr65 = (word) ((( (W2Pt) cm←v6408)+(
                        idx64 = (* (( (ptr) formal←c0188)+5) ),
                        BCK(idx64, 256)
                        )));
                  (*  (ptr) tadr65 ) = ((*  (ptr) tadr65 ) & 2155872255) | (((word) ((
                           idx63 = (* (( (ptr) formal←c0188)+6) ),
                           BCK(idx63, 256)
                           ) & 0377)) << 23);
                  };
SOURCE(6233, 41)
               {
                  word idx67;
                  word idx68;
                  word tadr69;
                  {
                     word x66;
                     (* (( (ptr) formal←c0188)+7) ) = (x66 = (* (( (ptr) formal←c0188)+7) ),
                        MIN((int)(word), x66, 255));
                     };
                  tadr69 = (word) ((( (W2Pt) cm←v6408)+(
                        idx68 = (* (( (ptr) formal←c0188)+5) ),
                        BCK(idx68, 256)
                        )));
                  (*  (ptr) tadr69 ) = ((*  (ptr) tadr69 ) & 4286611455) | (((word) ((
                           idx67 = (* (( (ptr) formal←c0188)+7) ),
                           BCK(idx67, 256)
                           ) & 0377)) << 15);
                  };
SOURCE(6276, 39)
               {
                  word idx71;
                  word idx72;
                  word tadr73;
                  {
                     word x70;
                     (* (( (ptr) formal←c0188)+8) ) = (x70 = (* (( (ptr) formal←c0188)+8) ),
                        MIN((int)(word), x70, 255));
                     };
                  tadr73 = (word) ((( (W2Pt) cm←v6408)+(
                        idx72 = (* (( (ptr) formal←c0188)+5) ),
                        BCK(idx72, 256)
                        )));
                  (*  (ptr) tadr73 ) = ((*  (ptr) tadr73 ) & 4294934528) | ((word) ( (((unsigned)(
                        idx71 = (* (( (ptr) formal←c0188)+8) ),
                        BCK(idx71, 256)
                        ) << 17) >> 17) ));
                  };
SOURCE(6317, 56)
               if ((bitmap←v6436 == 0) || ((* (( (ptr) bitmap←v6436)+37) ) != 0)) {
SOURCE(6367, 6)
                  return(1);
                  };
SOURCE(6375, 194)
               {
                  word var←c20300;
                  {
                     word var←c20332;
                     word var←c20364;
                     var←c20332 = XR←NewObject(32, (* (( (ptr) gf←c0187)+17) ));
                     var←c20364 = var←c20332;
                     (*  (ptr) var←c20364 ) = (* (( (ptr) formal←c0188)+5) );
                     (* (( (ptr) var←c20364)+1) ) = 1;
                     (* (( (ptr) var←c20364)+2) ) = 1;
                     (* (( (ptr) var←c20364)+3) ) = 1;
                     {
                        word idx74;
                        (* (( (ptr) var←c20364)+4) ) = (
                           idx74 = (word) IOP2( * ,  (int)(* (( (ptr) formal←c0188)+6) ),  (int)257),
                           BCK(idx74, 65536)
                           );
                        };
                     {
                        word idx75;
                        (* (( (ptr) var←c20364)+5) ) = (
                           idx75 = (word) IOP2( * ,  (int)(* (( (ptr) formal←c0188)+7) ),  (int)257),
                           BCK(idx75, 65536)
                           );
                        };
                     {
                        word idx76;
                        (* (( (ptr) var←c20364)+6) ) = (
                           idx76 = (word) IOP2( * ,  (int)(* (( (ptr) formal←c0188)+8) ),  (int)257),
                           BCK(idx76, 65536)
                           );
                        };
                     var←c20300 = var←c20332;
                     };
                  {
                     word pd77;
                     pd77 = (* (( (ptr) (* (( (ptr) gf←c0187)+71)/* var←c20012 */  ))+195) );
                     (void) ( *( (fPt) ((*  (ptr) pd77 ))))((* (( (ptr) bitmap←v6436)+34) ), (* (( (ptr) bitmap←v6436)+28) ), var←c20300, (* (
                           ( (ptr) gf←c0187)+8)/* detailsForSynchronous←v3000 */  ), pd77);
                     };
                  };
               };
            };
         }
      else {
         lab←L100027: ;
         };
      };
   return(0);
   }

static void GetColorMapEntry←P840(formal←c0155, screenServerData←v10100, index←v10128, display←v10156)
   word formal←c0155;
   word screenServerData←v10100;
   word index←v10128;
   word display←v10156;
   {
   register ptr gf←c20940 =  (ptr) &globalframe;
   word red←v10200;
   word green←v10228;
   word blue←v10256;
   /* GetColorMapEntry: */ 
SOURCE(6610, 317)
SOURCE(6673, 22)
   blue←v10256 = 0;
   green←v10228 = 0;
   red←v10200 = 0;
SOURCE(6697, 24)
   if ((index←v10128 > 255)) {
SOURCE(6715, 6)
      goto lab←L100029;
      };
SOURCE(6723, 204)
   {
      word var←c20396;
      var←c20396 = screenServerData←v10100;
      if ((var←c20396 == 0)) {
         goto lab←L100030;
         };
      if (((* (( (ptr) gf←c20940)+24) ) == XR←GetReferentType(var←c20396))) {
         {
            word data←v6492;
            data←v6492 = var←c20396;
SOURCE(6785, 142)
            {
               word var←c20428;
               var←c20428 = (* (( (ptr) data←v6492)+19) );
               if ((var←c20428 == 0)) {
                  goto lab←L100031;
                  };
               if (((* (( (ptr) gf←c20940)+25) ) == XR←GetReferentType(var←c20428))) {
                  {
                     word cm←v6536;
                     cm←v6536 = var←c20428;
SOURCE(6857, 21)
                     red←v10200 =  (unsigned) (((unsigned)(*  (hPt) (( (W2Pt) cm←v6536)+BCK(index←v10128, 256)) ) << 17) >> 24);
SOURCE(6880, 23)
                     green←v10228 =  (unsigned) (((unsigned)(*  (ptr) (( (W2Pt) cm←v6536)+BCK(index←v10128, 256)) ) << 9) >> 24);
SOURCE(6905, 22)
                     blue←v10256 =  (unsigned) ( (((unsigned)(* (( (hPt) (( (W2Pt) cm←v6536)+BCK(index←v10128, 256)))+1) ) << 17) >> 17) );
                     };
                  }
               else {
                  lab←L100031: ;
                  };
               };
            };
         }
      else {
         lab←L100030: ;
         };
      };
   /* removed tail goto */ 
   lab←L100029: ;
   (*  (ptr) formal←c0155 ) = red←v10200;
   (* (( (ptr) formal←c0155)+1) ) = green←v10228;
   (* (( (ptr) formal←c0155)+2) ) = blue←v10256;
   return;
   }

static void NoName←Q2052(formal←c0160, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0160;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0190 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0190)+72)/* var←c20076 */  ))+22) )) || (formal←c200009 == (* (( (ptr) (* (
         ( (ptr) gf←c0190)+71)/* var←c20012 */  ))+4) ))) {
SOURCE(5936, 30)
      if ((0 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0190)+63)/* var←c19436 */  ))+6) ) ))) {
SOURCE(5966, 9)
         (*  (ptr) formal←c0160 ) = 2;
         (* (( (ptr) formal←c0160)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0160 ) = 0;
   (* (( (ptr) formal←c0160)+1) ) = 0;
   return;
   }

static void NoName←Q2112(formal←c0165, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0165;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0191 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0191)+72)/* var←c20076 */  ))+22) )) || (formal←c200005 == (* (( (ptr) (* (
         ( (ptr) gf←c0191)+71)/* var←c20012 */  ))+4) ))) {
SOURCE(5302, 30)
      if ((0 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0191)+63)/* var←c19436 */  ))+6) ) ))) {
SOURCE(5332, 9)
         (*  (ptr) formal←c0165 ) = 2;
         (* (( (ptr) formal←c0165)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0165 ) = 0;
   (* (( (ptr) formal←c0165)+1) ) = 0;
   return;
   }

static void NoName←Q2172(formal←c0171, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0171;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0192 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0192)+71)/* var←c20012 */  ))+4) ))) {
      {
         word err←v17428;
         err←v17428 = (*  (ptr) formal←c200003 );
SOURCE(4797, 17)
         (*  (ptr) formal←c0171 ) = 2;
         (* (( (ptr) formal←c0171)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0171 ) = 0;
   (* (( (ptr) formal←c0171)+1) ) = 0;
   return;
   }

static word NoName←Q2232(formal←c080)
   word formal←c080;
   {
   W2 var←c082;
   word var←c081;
   /* intermediary proc for a FORK, nArgs: 2, nRets: 0 */ 
   var←c082 = (*  (W2Pt) (( (ptr) formal←c080)+4) );
   var←c081 = (* (( (ptr) formal←c080)+2) );
   formal←c080 = XR←ExtensionFree(formal←c080);
   (void) ( *( (fPt) ((*  (ptr) var←c081 ))))(var←c082.f0, var←c082.f1, var←c081);
   return(0);
   }

/* file: X11ViewersColorImpl, module: X11ViewersColorImpl, compiled at: October 22, 1993 5:10:01 pm PDT */ 
extern void XR←install←X11ViewersColorImpl() {
   NoName←Q1812();
   }
extern void XR←run←X11ViewersColorImpl() { XR←Start(&globalframe); }