/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 9:36:00 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: IOPipeImpl, module: IOPipeImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3196792903,2236936147] IOPipeImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W16 f; W3 r;} W19;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef W4 *W4Pt;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W3 *W3Pt;
#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 SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q2700();
static void IOPipeImpl←P0();
static void CreatePipe←P60();
static word NoName←Q2760();
static word PullGetChar←P120();
static void innerGetChar←P888();
static word NoName←Q2820();
static word PullGetBlock←P240();
static void innerGetBlock←P996();
static word NoName←Q2880();
static word PullCharsAvail←P300();
static void innerCharsAvail←P1344();
static word NoName←Q2940();
static word PullEndOf←P360();
static void innerEndOf←P1452();
static word NoName←Q3000();
static void PullClose←P420();
static void innerClose←P1560();
static word NoName←Q3060();
static void PushPutChar←P480();
static void innerPutChar←P1668();
static word NoName←Q3120();
static void PushPutBlock←P540();
static void innerPutBlock←P1824();
static word NoName←Q3180();
static void PushUnsafePutBlock←P600();
static void innerPutBlock←P2076();
static word NoName←Q3240();
static void PushFlush←P660();
static void innerFlush←P2280();
static word NoName←Q3300();
static void PushReset←P720();
static void PushClose←P780();
static void innerClose←P2496();
static word NoName←Q3360();
static void NoName←Q3420();
static void NoName←Q3480();
static void NoName←Q3540();
static void NoName←Q3600();
static void NoName←Q3660();
static void NoName←Q3720();
static void NoName←Q3780();
static void NoName←Q3840();
static void NoName←Q3900();
static void NoName←Q3960();
static void NoName←Q4020();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\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\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\276\213\060\107\300\205\124\357\323\100\214\000\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\003\004\000"};
static struct {unsigned f; char r[8];} string6 = {262152, "Pipe\000\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\276\213\060\107\300\205\124\357\323\100\200\000\000"};
static struct {unsigned f; char r[4];} string8 = {196611, "\004H0"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\132\114\005\127\300\365\255\242\322\100\150\000\000"};
static struct {
   word f0[12]; word f12; word f13; word f14; 
   word f15; word f16; word f17; word f18; 
   word f19; word f20; 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[10]; 
   } globalframe = {
   {0}, (word) PushClose←P780, 0, (word) PushReset←P720, 
   0, (word) PushFlush←P660, 0, (word) PushUnsafePutBlock←P600, 
   0, (word) PushPutBlock←P540, 0, (word) PushPutChar←P480, 
   0, (word) PullClose←P420, 0, (word) PullEndOf←P360, 
   0, (word) PullCharsAvail←P300, 0, (word) PullGetBlock←P240, 
   0, (word) PullGetChar←P120, 0, (word) CreatePipe←P60, 
   0, (word) IOPipeImpl←P0, {0}
   };

static void NoName←Q2700()
   {
   register ptr gf←c0243 =  (ptr) &globalframe;
   word var←c15068;
   (* (( (ptr) gf←c0243)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0243)+7) ) = (word) XR←GetTypeIndexS((word) (&string3));
   (* (( (ptr) gf←c0243)+10) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (*  (ptr) (( (bPt) gf←c0243)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0243)+6) ), (word) &string6);
   (void) XR←DeclareGlobalFrame((word) "IOPipeImpl", &globalframe, (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8)
      , (word) (( (bPt) gf←c0243)+144)/* var←c12988 */ );
   var←c15068 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string9)), 103);
   (* (( (ptr) gf←c0243)+44)/* var←c13084 */  ) = var←c15068;
   (void) XR←ImportProcS(var←c15068, 67921155);
   (void) XR←ImportProcS(var←c15068, 72115219);
   var←c15068 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string10)), 22);
   (* (( (ptr) gf←c0243)+45)/* var←c13308 */  ) = var←c15068;
   (void) XR←ImportProcS(var←c15068, 266241);
   var←c15068 = (word) XR←ExportInterface((word) "IOClasses", (word) XR←GetTypeIndexS((word) (&string11)), 5);
   (* (( (ptr) gf←c0243)+46)/* var←c15100 */  ) = var←c15068;
   (void) XR←ExportProcS(var←c15068, (word) (( (bPt) gf←c0243)+136)/* var←c12956 */ , 134479873);
   }

static void IOPipeImpl←P0(formal←c035, formal←c032)
   word formal←c035;
   word formal←c032;
   {
   register ptr gf←c15132 =  (ptr) &globalframe;
   /* IOPipeImpl: */ 
SOURCE(177, 8110)
SOURCE(8293, 222)
   {
      W19 var←c033;
      (*  (ptr) (word) &var←c033 ) = 1;
      (* (( (ptr) (word) &var←c033) + 1) ) = (* (( (ptr) gf←c15132)+11) );
      (* (( (ptr) (word) &var←c033) + 2) ) = 0;
      (* (( (ptr) (word) &var←c033) + 3) ) = 0;
      (* (( (ptr) (word) &var←c033) + 4) ) = 0;
      (* (( (ptr) (word) &var←c033) + 5) ) = 0;
      (* (( (ptr) (word) &var←c033) + 6) ) = 0;
      (* (( (ptr) (word) &var←c033) + 7) ) = 0;
      (* (( (ptr) (word) &var←c033) + 8) ) = (word) (( (bPt) gf←c15132)+88)/* var←c12764 */ ;
      (* (( (ptr) (word) &var←c033) + 9) ) = (word) (( (bPt) gf←c15132)+80)/* var←c12732 */ ;
      (* (( (ptr) (word) &var←c033) + 10) ) = (word) (( (bPt) gf←c15132)+72)/* var←c12700 */ ;
      (* (( (ptr) (word) &var←c033) + 11) ) = (word) (( (bPt) gf←c15132)+64)/* var←c12668 */ ;
      (* (( (ptr) (word) &var←c033) + 12) ) = (word) (( (bPt) gf←c15132)+56)/* var←c12636 */ ;
      (* (( (ptr) (word) &var←c033) + 13) ) = (word) (( (bPt) gf←c15132)+48)/* var←c12604 */ ;
      (* (( (ptr) (word) &var←c033) + 14) ) = 0;
      (* (( (ptr) (word) &var←c033) + 15) ) = 0;
      (* (( (ptr) (word) &var←c033) + 16) ) = 0;
      (* (( (ptr) (word) &var←c033) + 17) ) = 0;
      (* (( (ptr) (word) &var←c033) + 18) ) = 0;
      {
         word pd12;
         pd12 = (* (( (ptr) (* (( (ptr) gf←c15132)+44)/* var←c13084 */  ))+104) );
         (* (( (ptr) gf←c15132)+4)/* pushProcs←v3056 */  ) = (word) ( *( (fPt) ((*  (ptr) pd12 ))))((word) (&var←c033), pd12);
         };
      };
SOURCE(8518, 195)
   {
      W19 var←c034;
      (*  (ptr) (word) &var←c034 ) = 0;
      (* (( (ptr) (word) &var←c034) + 1) ) = (* (( (ptr) gf←c15132)+11) );
      (* (( (ptr) (word) &var←c034) + 2) ) = (word) (( (bPt) gf←c15132)+128)/* var←c12924 */ ;
      (* (( (ptr) (word) &var←c034) + 3) ) = (word) (( (bPt) gf←c15132)+120)/* var←c12892 */ ;
      (* (( (ptr) (word) &var←c034) + 4) ) = 0;
      (* (( (ptr) (word) &var←c034) + 5) ) = (word) (( (bPt) gf←c15132)+104)/* var←c12828 */ ;
      (* (( (ptr) (word) &var←c034) + 6) ) = (word) (( (bPt) gf←c15132)+112)/* var←c12860 */ ;
      (* (( (ptr) (word) &var←c034) + 7) ) = 0;
      (* (( (ptr) (word) &var←c034) + 8) ) = 0;
      (* (( (ptr) (word) &var←c034) + 9) ) = 0;
      (* (( (ptr) (word) &var←c034) + 10) ) = 0;
      (* (( (ptr) (word) &var←c034) + 11) ) = 0;
      (* (( (ptr) (word) &var←c034) + 12) ) = 0;
      (* (( (ptr) (word) &var←c034) + 13) ) = (word) (( (bPt) gf←c15132)+96)/* var←c12796 */ ;
      (* (( (ptr) (word) &var←c034) + 14) ) = 0;
      (* (( (ptr) (word) &var←c034) + 15) ) = 0;
      (* (( (ptr) (word) &var←c034) + 16) ) = 0;
      (* (( (ptr) (word) &var←c034) + 17) ) = 0;
      (* (( (ptr) (word) &var←c034) + 18) ) = 0;
      {
         word pd13;
         pd13 = (* (( (ptr) (* (( (ptr) gf←c15132)+44)/* var←c13084 */  ))+104) );
         (* (( (ptr) gf←c15132)+5)/* pullProcs←v3084 */  ) = (word) ( *( (fPt) ((*  (ptr) pd13 ))))((word) (&var←c034), pd13);
         };
      };
   }

static void CreatePipe←P60(formal←c039, formal←c0340)
   word formal←c039;
   word formal←c0340;
   {
   W7 var←c15164;
   /* declaration of bufferSize←v3400 skipped */ 
   /* declaration of push←v3444 skipped */ 
   /* declaration of pull←v3472 skipped */ 
   var←c15164.f4/* bufferSize←v3400 */  = formal←c0340;
   /* CreatePipe: */ 
SOURCE(514, 426)
SOURCE(514, 426)
   var←c15164.f5/* push←v3444 */  = 0;
SOURCE(514, 426)
   var←c15164.f6/* pull←v3472 */  = 0;
SOURCE(589, 351)
   {
      word var←c0287;
      var←c0287 = (word) &var←c15164;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2760) ), ( ((word)  (fPt) NoName←Q4020) ), var←c0287);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c039 ) = var←c15164.f5/* push←v3444 */ ;
   (* (( (ptr) formal←c039)+1) ) = var←c15164.f6/* pull←v3472 */ ;
   return;
   }

static word NoName←Q2760(formal←c0246)
   word formal←c0246;
   {
   register ptr gf←c0245 =  (ptr) &globalframe;
SOURCE(612, 98)
   {
      word nChars←v4824;
      word common←v4852;
SOURCE(612, 98)
      {
         word var←c13116;
         var←c13116 = (* (( (ptr) formal←c0246)+4) );
         if ((var←c13116 < 2)) {
            nChars←v4824 = 2;
            }
         else {
            if ((var←c13116 > 1073741823)) {
               nChars←v4824 = 1073741823;
               }
            else {
               nChars←v4824 = (* (( (ptr) formal←c0246)+4) );
               };
            };
         };
SOURCE(712, 60)
      {
         word var←c13148;
         word var←c13276;
         {
            word var←c13180;
            word var←c13212;
            word var←c13244;
            var←c13180 = BCK(nChars←v4824, 32768);
            var←c13212 = (((var←c13180 + 3) >> 2) << 2);
            var←c13244 = XR←NewObject((4 + var←c13212), (* (( (ptr) gf←c0245)+7) ));
            (* (( (hPt) var←c13244)+1) ) = var←c13180;
            var←c13148 = var←c13244;
            };
         var←c13276 = XR←NewObject(60, (* (( (ptr) gf←c0245)+10) ));
         (* (( (ptr) var←c13276)+4) ) = var←c13148;
         (*  (W6Pt) (( (ptr) var←c13276)+9) ) = (*  (W6Pt) (( (ptr) gf←c0245)+38)/* var←c13052 */  );
         common←v4852 = var←c13276;
         };
SOURCE(774, 29)
      (*  (hPt) (* (( (ptr) common←v4852)+4) ) ) = BCK(nChars←v4824, 32768);
SOURCE(805, 41)
      {
         word pd14;
         pd14 = (* (( (ptr) (* (( (ptr) gf←c0245)+44)/* var←c13084 */  ))+105) );
         (* (( (ptr) formal←c0246)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd14 ))))((* (( (ptr) gf←c0245)+4)/* pushProcs←v3056 */  ), common←v4852, 0, pd14)
         ;
         };
SOURCE(848, 41)
      {
         word pd15;
         pd15 = (* (( (ptr) (* (( (ptr) gf←c0245)+44)/* var←c13084 */  ))+105) );
         (* (( (ptr) formal←c0246)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd15 ))))((* (( (ptr) gf←c0245)+5)/* pullProcs←v3084 */  ), common←v4852, 0, pd15)
         ;
         };
SOURCE(899, 41)
SOURCE(900, 40)
      {
         word pd16;
         pd16 = (* (( (ptr) (* (( (ptr) gf←c0245)+45)/* var←c13308 */  ))+20) );
         (void) ( *( (fPt) ((*  (ptr) pd16 ))))((word) ((( (bPt) common←v4852)+36)), pd16);
         };
      };
   return(0);
   }

static word PullGetChar←P120(formal←c0341)
   word formal←c0341;
   {
   W8 var←c15196;
   /* declaration of self←v3532 skipped */ 
   register ptr gf←c15228 =  (ptr) &globalframe;
   /* declaration of c←v3576 skipped */ 
   /* declaration of var←c13340 skipped */ 
   var←c15196.f4/* self←v3532 */  = formal←c0341;
   /* PullGetChar: */ 
SOURCE(947, 614)
   {
      word tmpAddr17;
      tmpAddr17 = (word) (( (ptr) &var←c15196)+6)/* var←c13340 */ ;
      (*  (ptr) tmpAddr17 ) = ( ((word)  (fPt) innerGetChar←P888) );
      (* (( (ptr) tmpAddr17) + 1) ) = 1;
      };
SOURCE(947, 614)
   var←c15196.f5/* c←v3576 */  = 0;
SOURCE(1448, 113)
   {
      word var←c13372;
      var←c13372 = (* (( (ptr) var←c15196.f4/* self←v3532 */ )+1) );
      if ((var←c13372 == 0)) {
         goto lab←L100003;
         };
      if (((* (( (ptr) gf←c15228)+10) ) == XR←GetReferentType(var←c13372))) {
         {
            word data←v5000;
            data←v5000 = var←c13372;
SOURCE(1501, 18)
            (void) innerGetChar←P888(data←v5000, (word) (( (bPt) &var←c15196)+24)/* var←c13340 */ );
            };
         }
      else {
         lab←L100003: ;
SOURCE(1532, 29)
         {
            W4 var←c053;
            (*  (ptr) (word) &var←c053 ) = 3;
            (* (( (ptr) (word) &var←c053) + 1) ) = var←c15196.f4/* self←v3532 */ ;
            (* (( (ptr) (word) &var←c053) + 2) ) = 0;
            (* (( (ptr) (word) &var←c053) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15228)+44)/* var←c13084 */  ))+5) ), (word) &var←c053);
            };
         };
      };
SOURCE(947, 614)
   return(var←c15196.f5/* c←v3576 */ );
   }

static void innerGetChar←P888(formal←c0342, formal←c15292)
   word formal←c0342;
   word formal←c15292;
   {
   W12 var←c15260;
   /* declaration of data←v4972 skipped */ 
   /* declaration of var←c13404 skipped */ 
   /* declaration of var←c13436 skipped */ 
   /* declaration of var←c13468 skipped */ 
   /* declaration of var←c13500 skipped */ 
   formal←c15292 = (formal←c15292 - 24);
   (* (( (ptr) &var←c15260)+4)/* data←v4972 */  ) = formal←c0342;
   (*  (ptr) &var←c15260 ) = formal←c15292;
   /* innerGetChar: */ 
SOURCE(1007, 436)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c15260)+4)/* data←v4972 */  ));
SOURCE(1055, 388)
   {
      word var←c01;
      {
         word var←c0288;
         var←c0288 = (word) &var←c15260;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2820) ), ( ((word)  (fPt) NoName←Q3960) ), var←c0288);
         };
      if ((var←c01 == 3)) {
         goto lab←L100010;
         }
      else {
         if ((var←c01 == 2)) {
            goto lab←L100009;
            };
         };
      };
SOURCE(1007, 436)
   (void) (XR←MonitorExit(* (( (ptr) &var←c15260)+4)/* data←v4972 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100009: ;
SOURCE(1107, 46)
   {
      W4 var←c059;
      var←c059 = (*  (W4Pt) (( (ptr) &var←c15260)+6)/* var←c13436 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15260)+5)/* var←c13404 */  ), (word) &var←c059);
      };
   lab←L100010: ;
SOURCE(1223, 38)
   {
      word var←c060;
      var←c060 = (* (( (ptr) &var←c15260)+11)/* var←c13500 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15260)+10)/* var←c13468 */  ), (word) &var←c060);
      };
   }

static word NoName←Q2820(formal←c0250)
   word formal←c0250;
   {
   register ptr gf←c0249 =  (ptr) &globalframe;
SOURCE(1078, 205)
   lab←L100008: ;
SOURCE(1081, 72)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+7) ))) {
SOURCE(1107, 46)
      (* (( (ptr) formal←c0250)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0249)+44)/* var←c13084 */  ))+5) );
      {
         word tmpAddr18;
         tmpAddr18 = (word) (( (ptr) formal←c0250)+6);
         (*  (ptr) tmpAddr18 ) = 2;
         (* (( (ptr) tmpAddr18) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0250 ))+4) );
         (* (( (ptr) tmpAddr18) + 2) ) = 0;
         (* (( (ptr) tmpAddr18) + 3) ) = 0;
         };
      (void) (XR←MonitorExit(* (( (ptr) formal←c0250)+4) ));
      return(2);
      };
SOURCE(1155, 36)
   if (((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+6) ))) {
SOURCE(1191, 4)
      goto lab←L100007;
      };
SOURCE(1197, 64)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+8) ))) {
SOURCE(1223, 38)
      (* (( (ptr) formal←c0250)+10) ) = (* (( (ptr) (* (( (ptr) gf←c0249)+44)/* var←c13084 */  ))+4) );
      (* (( (ptr) formal←c0250)+11) ) = (* (( (ptr) (*  (ptr) formal←c0250 ))+4) );
      (void) (XR←MonitorExit(* (( (ptr) formal←c0250)+4) ));
      return(3);
      };
SOURCE(1263, 20)
   (void) (XR←Wait((* (( (ptr) formal←c0250)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0250)+4) ))+36)));
   goto lab←L100008;
   lab←L100007: ;
SOURCE(1294, 31)
   (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) = ((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) + 1);
SOURCE(1327, 58)
   if (((* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) == (*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+4) ) ))) {
SOURCE(1369, 16)
      (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ) = 0;
      };
SOURCE(1387, 29)
   {
      word var←c13532;
      var←c13532 = (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+4) );
      {
         word idx19;
         word limit20;
         (* (( (ptr) (*  (ptr) formal←c0250 ))+5) ) = (word) (* ((( (bPt) var←c13532)+4)+(
               idx19 = (* (( (ptr) (* (( (ptr) formal←c0250)+4) ))+5) ),
               limit20 = (word) (* (( (hPt) var←c13532)+1) ),
               BCK(idx19, limit20)
               )) );
         };
      };
SOURCE(1418, 25)
   (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0250)+4) ))+36)));
   return(0);
   }

static word PullGetBlock←P240(formal←c0343, formal←c0344, formal←c0345, count←v3852)
   word formal←c0343;
   word formal←c0344;
   word formal←c0345;
   word count←v3852;
   {
   W11 var←c15324;
   /* declaration of self←v3768 skipped */ 
   /* declaration of block←v3796 skipped */ 
   /* declaration of startIndex←v3824 skipped */ 
   register ptr gf←c15356 =  (ptr) &globalframe;
   /* declaration of nBytesRead←v3908 skipped */ 
   /* declaration of var←c13564 skipped */ 
   word stopIndexPlusOne←v5072;
   /* declaration of delta←v5100 skipped */ 
   (* (( (ptr) &var←c15324)+4)/* self←v3768 */  ) = formal←c0343;
   (* (( (ptr) &var←c15324)+5)/* block←v3796 */  ) = formal←c0344;
   (* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */  ) = formal←c0345;
   /* PullGetBlock: */ 
SOURCE(1670, 1594)
   {
      word tmpAddr21;
      tmpAddr21 = (word) (( (ptr) &var←c15324)+8)/* var←c13564 */ ;
      (*  (ptr) tmpAddr21 ) = ( ((word)  (fPt) innerGetBlock←P996) );
      (* (( (ptr) tmpAddr21) + 1) ) = 1;
      };
SOURCE(1670, 1594)
   (* (( (ptr) &var←c15324)+7)/* nBytesRead←v3908 */  ) = 0;
SOURCE(2988, 71)
   {
      word x22;
      word x23;
      word x24;
      stopIndexPlusOne←v5072 = (x23 = (x22 = ((* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */  ) + count←v3852),
            MIN( (unsigned) , x22, 2147483647)),
         x24 = (* (( (hPt) (* (( (ptr) &var←c15324)+5)/* block←v3796 */  ))+1) ),
         MIN( (unsigned) , x23, x24));
      };
SOURCE(3061, 87)
   (* (( (ptr) &var←c15324)+10)/* delta←v5100 */  ) =  ( (stopIndexPlusOne←v5072 > (* (( (ptr) &var←c15324)+6)/* startIndex←v3824 */  )) ? (stopIndexPlusOne←v5072 - (* (
      ( (ptr) &var←c15324)+6)/* startIndex←v3824 */  )) : 0 ) ;
SOURCE(3150, 114)
   {
      word var←c13596;
      var←c13596 = (* (( (ptr) (* (( (ptr) &var←c15324)+4)/* self←v3768 */  ))+1) );
      if ((var←c13596 == 0)) {
         goto lab←L100012;
         };
      if (((* (( (ptr) gf←c15356)+10) ) == XR←GetReferentType(var←c13596))) {
         {
            word data←v5204;
            data←v5204 = var←c13596;
SOURCE(3203, 19)
            (void) innerGetBlock←P996(data←v5204, (word) (( (bPt) &var←c15324)+32)/* var←c13564 */ );
            };
         }
      else {
         lab←L100012: ;
SOURCE(3235, 29)
         {
            W4 var←c072;
            (*  (ptr) (word) &var←c072 ) = 3;
            (* (( (ptr) (word) &var←c072) + 1) ) = (* (( (ptr) &var←c15324)+4)/* self←v3768 */  );
            (* (( (ptr) (word) &var←c072) + 2) ) = 0;
            (* (( (ptr) (word) &var←c072) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15356)+44)/* var←c13084 */  ))+5) ), (word) &var←c072);
            };
         };
      };
SOURCE(1670, 1594)
   return((* (( (ptr) &var←c15324)+7)/* nBytesRead←v3908 */  ));
   }

static void innerGetBlock←P996(formal←c0346, formal←c15420)
   word formal←c0346;
   word formal←c15420;
   {
   W10 var←c15388;
   /* declaration of data←v5176 skipped */ 
   /* declaration of var←c13628 skipped */ 
   /* declaration of var←c13660 skipped */ 
   formal←c15420 = (formal←c15420 - 32);
   (* (( (ptr) &var←c15388)+4)/* data←v5176 */  ) = formal←c0346;
   (*  (ptr) &var←c15388 ) = formal←c15420;
   /* innerGetBlock: */ 
SOURCE(1784, 1190)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c15388)+4)/* data←v5176 */  ));
SOURCE(1833, 1141)
   {
      word var←c02;
      {
         word var←c0289;
         var←c0289 = (word) &var←c15388;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2880) ), ( ((word)  (fPt) NoName←Q3900) ), var←c0289);
         };
      if ((var←c02 == 4)) {
         goto lab←L100021;
         }
      else {
         if ((var←c02 == 1)) {
            goto lab←L04;
            };
         };
      };
SOURCE(1784, 1190)
   (void) (XR←MonitorExit(* (( (ptr) &var←c15388)+4)/* data←v5176 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100021: ;
SOURCE(1933, 46)
   {
      W4 var←c076;
      var←c076 = (*  (W4Pt) (( (ptr) &var←c15388)+6)/* var←c13660 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15388)+5)/* var←c13628 */  ), (word) &var←c076);
      };
   lab←L04: ;
   return;
   }

static word NoName←Q2880(formal←c0254)
   word formal←c0254;
   {
   register ptr gf←c0253 =  (ptr) &globalframe;
SOURCE(1856, 27)
   {
      word pullPos←v5248;
SOURCE(1856, 27)
      pullPos←v5248 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) );
SOURCE(1885, 1089)
      lab←L100017: ;
      if (((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) > 0)) {
         }
      else {
         goto lab←L100015;
         };
SOURCE(1904, 192)
      lab←L100020: ;
SOURCE(1907, 72)
      if ((0 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+7) ))) {
SOURCE(1933, 46)
         (* (( (ptr) formal←c0254)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0253)+44)/* var←c13084 */  ))+5) );
         {
            word tmpAddr25;
            tmpAddr25 = (word) (( (ptr) formal←c0254)+6);
            (*  (ptr) tmpAddr25 ) = 2;
            (* (( (ptr) tmpAddr25) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0254 ))+4) );
            (* (( (ptr) tmpAddr25) + 2) ) = 0;
            (* (( (ptr) tmpAddr25) + 3) ) = 0;
            };
         (void) (XR←MonitorExit(* (( (ptr) formal←c0254)+4) ));
         return(4);
         };
SOURCE(1981, 31)
      if ((pullPos←v5248 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ))) {
SOURCE(2012, 4)
         goto lab←L100019;
         };
SOURCE(2018, 32)
      if ((0 != (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+8) ))) {
SOURCE(2044, 6)
         (void) (XR←MonitorExit(* (( (ptr) formal←c0254)+4) ));
         return(1);
         };
SOURCE(2052, 20)
      (void) (XR←Wait((* (( (ptr) formal←c0254)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0254)+4) ))+36)));
SOURCE(2074, 22)
      pullPos←v5248 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) );
      goto lab←L100020;
      lab←L100019: ;
SOURCE(2107, 297)
      if ((pullPos←v5248 > (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ))) {
SOURCE(2138, 268)
         {
            word nBytes←v5292;
SOURCE(2140, 61)
            {
               word x26;
               word x27;
               nBytes←v5292 = (x26 = (((* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ))+1) ) - 1) - pullPos←v5248),
                  x27 = (* (( (ptr) (*  (ptr) formal←c0254 ))+10) ),
                  MIN((int)(word), x26, x27));
               };
SOURCE(2203, 106)
            {
               register word i←v5336;
               register word noName←c13692;
               i←v5336 = pullPos←v5248;
               noName←c13692 = (pullPos←v5248 + nBytes←v5292);
               if ((i←v5336 >= noName←c13692)) {
                  goto lab←L100022;
                  };
               i←v5336 = (i←v5336 + 1);
               lab←L100025: ;
SOURCE(2246, 34)
               {
                  word var←c13724;
                  var←c13724 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) );
                  {
                     word idx28;
                     word limit29;
                     word limit30;
                     (* ((( (bPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+4)+(
                           idx28 = (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ),
                           limit29 = (word) (* (( (hPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+1) ),
                           BCK(idx28, limit29)
                           )) ) = (word) (* ((( (bPt) var←c13724)+4)+(
                           limit30 = (word) (* (( (hPt) var←c13724)+1) ),
                           BCK(i←v5336, limit30)
                           )) );
                     };
                  };
SOURCE(2282, 27)
               (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) + 1);
               if ((i←v5336 >= noName←c13692)) {
                  goto lab←L100022;
                  };
               i←v5336 = (i←v5336 + 1);
               goto lab←L100025;
               lab←L100022: ;
               };
SOURCE(2320, 26)
            pullPos←v5248 = SGNCK((pullPos←v5248 + nBytes←v5292));
SOURCE(2348, 32)
            {
               word idx31;
               (* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) = (
                  idx31 = (word) ((* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) + nBytes←v5292),
                  SGNCK(idx31)
                  );
               };
SOURCE(2382, 22)
            (* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) - nBytes←v5292);
            };
         };
SOURCE(2409, 181)
      {
         word tc32;
         if (( (int)pullPos←v5248 ==  (int)((* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) ))+1) ) - 1))) {
            tc32 =  (word) ((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) > 0);
            }
         else {
            tc32 =  (word) 0;
            };
         if (tc32) {
SOURCE(2469, 44)
            {
               word var←c13756;
               word var←c13788;
               pullPos←v5248 = 0;
               var←c13756 = 0;
               var←c13788 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) );
               {
                  word idx33;
                  word limit34;
                  word limit35;
                  (* ((( (bPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+4)+(
                        idx33 = (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ),
                        limit34 = (word) (* (( (hPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+1) ),
                        BCK(idx33, limit34)
                        )) ) = (word) (* ((( (bPt) var←c13788)+4)+(
                        limit35 = (word) (* (( (hPt) var←c13788)+1) ),
                        BCK(var←c13756, limit35)
                        )) );
                  };
               };
SOURCE(2515, 27)
            (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) + 1);
SOURCE(2544, 27)
            (* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) + 1);
SOURCE(2573, 17)
            {
               word idx36;
               (* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) = (
                  idx36 = (word) ((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) - 1),
                  SGNCK(idx36)
                  );
               };
            };
         };
SOURCE(2595, 298)
      if ( ( (pullPos←v5248 < (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) )) ? ((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) > 0) : 0 ) ) {
SOURCE(2640, 255)
         {
            word nBytes←v5380;
SOURCE(2642, 48)
            {
               word x37;
               word x38;
               nBytes←v5380 = (x37 = ((* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+6) ) - pullPos←v5248),
                  x38 = (* (( (ptr) (*  (ptr) formal←c0254 ))+10) ),
                  MIN((int)(word), x37, x38));
               };
SOURCE(2692, 106)
            {
               register word i←v5424;
               register word noName←c13820;
               i←v5424 = pullPos←v5248;
               noName←c13820 = (pullPos←v5248 + nBytes←v5380);
               if ((i←v5424 >= noName←c13820)) {
                  goto lab←L100026;
                  };
               i←v5424 = (i←v5424 + 1);
               lab←L100029: ;
SOURCE(2735, 34)
               {
                  word var←c13852;
                  var←c13852 = (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+4) );
                  {
                     word idx39;
                     word limit40;
                     word limit41;
                     (* ((( (bPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+4)+(
                           idx39 = (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ),
                           limit40 = (word) (* (( (hPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ))+1) ),
                           BCK(idx39, limit40)
                           )) ) = (word) (* ((( (bPt) var←c13852)+4)+(
                           limit41 = (word) (* (( (hPt) var←c13852)+1) ),
                           BCK(i←v5424, limit41)
                           )) );
                     };
                  };
SOURCE(2771, 27)
               (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+6) ) + 1);
               if ((i←v5424 >= noName←c13820)) {
                  goto lab←L100026;
                  };
               i←v5424 = (i←v5424 + 1);
               goto lab←L100029;
               lab←L100026: ;
               };
SOURCE(2809, 26)
            pullPos←v5248 = SGNCK((pullPos←v5248 + nBytes←v5380));
SOURCE(2837, 32)
            {
               word idx42;
               (* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) = (
                  idx42 = (word) ((* (( (ptr) (*  (ptr) formal←c0254 ))+7) ) + nBytes←v5380),
                  SGNCK(idx42)
                  );
               };
SOURCE(2871, 22)
            (* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) = ((* (( (ptr) (*  (ptr) formal←c0254 ))+10) ) - nBytes←v5380);
            };
         };
SOURCE(2898, 22)
      (* (( (ptr) (* (( (ptr) formal←c0254)+4) ))+5) ) = pullPos←v5248;
SOURCE(2922, 25)
      {
         word idx43;
         (*  (hPt) (* (( (ptr) (*  (ptr) formal←c0254 ))+5) ) ) = (
            idx43 = (* (( (ptr) (*  (ptr) formal←c0254 ))+6) ),
            BCK(idx43, 32768)
            );
         };
SOURCE(2949, 25)
      (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0254)+4) ))+36)));
      goto lab←L100017;
      lab←L100015: ;
      };
   return(0);
   }

static word PullCharsAvail←P300(formal←c0347, formal←c0348)
   word formal←c0347;
   word formal←c0348;
   {
   W9 var←c15452;
   /* declaration of self←v3968 skipped */ 
   /* declaration of wait←v3996 skipped */ 
   register ptr gf←c15484 =  (ptr) &globalframe;
   /* declaration of diff←v4040 skipped */ 
   /* declaration of var←c13884 skipped */ 
   (* (( (ptr) &var←c15452)+4)/* self←v3968 */  ) = formal←c0347;
   (* (( (ptr) &var←c15452)+5)/* wait←v3996 */  ) = formal←c0348;
   /* PullCharsAvail: */ 
SOURCE(3270, 587)
   {
      word tmpAddr44;
      tmpAddr44 = (word) (( (ptr) &var←c15452)+7)/* var←c13884 */ ;
      (*  (ptr) tmpAddr44 ) = ( ((word)  (fPt) innerCharsAvail←P1344) );
      (* (( (ptr) tmpAddr44) + 1) ) = 1;
      };
SOURCE(3270, 587)
   (* (( (ptr) &var←c15452)+6)/* diff←v4040 */  ) = 0;
SOURCE(3741, 116)
   {
      word var←c13916;
      var←c13916 = (* (( (ptr) (* (( (ptr) &var←c15452)+4)/* self←v3968 */  ))+1) );
      if ((var←c13916 == 0)) {
         goto lab←L100031;
         };
      if (((* (( (ptr) gf←c15484)+10) ) == XR←GetReferentType(var←c13916))) {
         {
            word data←v5572;
            data←v5572 = var←c13916;
SOURCE(3794, 21)
            (void) innerCharsAvail←P1344(data←v5572, (word) (( (bPt) &var←c15452)+28)/* var←c13884 */ );
            };
         }
      else {
         lab←L100031: ;
SOURCE(3828, 29)
         {
            W4 var←c094;
            (*  (ptr) (word) &var←c094 ) = 3;
            (* (( (ptr) (word) &var←c094) + 1) ) = (* (( (ptr) &var←c15452)+4)/* self←v3968 */  );
            (* (( (ptr) (word) &var←c094) + 2) ) = 0;
            (* (( (ptr) (word) &var←c094) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15484)+44)/* var←c13084 */  ))+5) ), (word) &var←c094);
            };
         };
      };
SOURCE(3270, 587)
   return((* (( (ptr) &var←c15452)+6)/* diff←v4040 */  ));
   }

static void innerCharsAvail←P1344(formal←c0349, formal←c15548)
   word formal←c0349;
   word formal←c15548;
   {
   W10 var←c15516;
   /* declaration of data←v5544 skipped */ 
   /* declaration of var←c13948 skipped */ 
   /* declaration of var←c13980 skipped */ 
   formal←c15548 = (formal←c15548 - 28);
   (* (( (ptr) &var←c15516)+4)/* data←v5544 */  ) = formal←c0349;
   (*  (ptr) &var←c15516 ) = formal←c15548;
   /* innerCharsAvail: */ 
SOURCE(3346, 381)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c15516)+4)/* data←v5544 */  ));
SOURCE(3397, 330)
   {
      word var←c03;
      {
         word var←c0290;
         var←c0290 = (word) &var←c15516;
         var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2940) ), ( ((word)  (fPt) NoName←Q3840) ), var←c0290);
         };
      if ((var←c03 == 5)) {
         goto lab←L100037;
         };
      };
SOURCE(3346, 381)
   (void) (XR←MonitorExit(* (( (ptr) &var←c15516)+4)/* data←v5544 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100037: ;
SOURCE(3449, 46)
   {
      W4 var←c098;
      var←c098 = (*  (W4Pt) (( (ptr) &var←c15516)+6)/* var←c13980 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15516)+5)/* var←c13948 */  ), (word) &var←c098);
      };
   }

static word NoName←Q2940(formal←c0258)
   word formal←c0258;
   {
   register ptr gf←c0257 =  (ptr) &globalframe;
SOURCE(3420, 307)
   lab←L100036: ;
SOURCE(3423, 72)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+7) ))) {
SOURCE(3449, 46)
      (* (( (ptr) formal←c0258)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0257)+44)/* var←c13084 */  ))+5) );
      {
         word tmpAddr45;
         tmpAddr45 = (word) (( (ptr) formal←c0258)+6);
         (*  (ptr) tmpAddr45 ) = 2;
         (* (( (ptr) tmpAddr45) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0258 ))+4) );
         (* (( (ptr) tmpAddr45) + 2) ) = 0;
         (* (( (ptr) tmpAddr45) + 3) ) = 0;
         };
      (void) (XR←MonitorExit(* (( (ptr) formal←c0258)+4) ));
      return(5);
      };
SOURCE(3497, 44)
   (* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) = ((* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+6) ) - (* (( (ptr) (* (( (ptr) formal←c0258)+4)
       ))+5) ));
SOURCE(3543, 17)
   if (( (int)(* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) >  (int)0)) {
SOURCE(3560, 4)
      goto lab←L100035;
      };
SOURCE(3566, 53)
   if (( (int)(* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) <  (int)0)) {
SOURCE(3584, 35)
      (* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) + (* (( (hPt) (* (( (ptr) (* (( (ptr) formal←c0258)+4)
             ))+4) ))+1) ));
SOURCE(3621, 4)
      goto lab←L100035;
      };
SOURCE(3628, 35)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0258)+4) ))+8) ))) {
SOURCE(3655, 8)
      (* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) = 1;
SOURCE(3665, 4)
      goto lab←L100035;
      };
SOURCE(3672, 26)
   if ((0 == (* (( (ptr) (*  (ptr) formal←c0258 ))+5) ))) {
SOURCE(3690, 8)
      (* (( (ptr) (*  (ptr) formal←c0258 ))+6) ) = 0;
SOURCE(3700, 4)
      goto lab←L100035;
      };
SOURCE(3707, 20)
   (void) (XR←Wait((* (( (ptr) formal←c0258)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0258)+4) ))+36)));
   goto lab←L100036;
   lab←L100035: ;
   return(0);
   }

static word PullEndOf←P360(self←v4100)
   word self←v4100;
   {
   W7 var←c15580;
   register ptr gf←c15612 =  (ptr) &globalframe;
   /* declaration of eof←v4144 skipped */ 
   /* declaration of var←c14012 skipped */ 
   /* PullEndOf: */ 
SOURCE(3863, 303)
   {
      word tmpAddr46;
      tmpAddr46 = (word) (( (ptr) &var←c15580)+5)/* var←c14012 */ ;
      (*  (ptr) tmpAddr46 ) = ( ((word)  (fPt) innerEndOf←P1452) );
      (* (( (ptr) tmpAddr46) + 1) ) = 1;
      };
SOURCE(3863, 303)
   var←c15580.f4/* eof←v4144 */  = 0;
SOURCE(4055, 111)
   {
      word var←c14044;
      var←c14044 = (* (( (ptr) self←v4100)+1) );
      if ((var←c14044 == 0)) {
         goto lab←L100039;
         };
      if (((* (( (ptr) gf←c15612)+10) ) == XR←GetReferentType(var←c14044))) {
         {
            word data←v5720;
            data←v5720 = var←c14044;
SOURCE(4108, 16)
            (void) innerEndOf←P1452(data←v5720, (word) (( (bPt) &var←c15580)+20)/* var←c14012 */ );
            };
         }
      else {
         lab←L100039: ;
SOURCE(4137, 29)
         {
            W4 var←c0104;
            (*  (ptr) (word) &var←c0104 ) = 3;
            (* (( (ptr) (word) &var←c0104) + 1) ) = self←v4100;
            (* (( (ptr) (word) &var←c0104) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0104) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15612)+44)/* var←c13084 */  ))+5) ), (word) &var←c0104);
            };
         };
      };
SOURCE(3863, 303)
   return(var←c15580.f4/* eof←v4144 */ );
   }

static void innerEndOf←P1452(formal←c0350, formal←c15676)
   word formal←c0350;
   word formal←c15676;
   {
   W5 var←c15644;
   /* declaration of data←v5692 skipped */ 
   formal←c15676 = (formal←c15676 - 20);
   var←c15644.f4/* data←v5692 */  = formal←c0350;
   var←c15644.f0 = formal←c15676;
   /* innerEndOf: */ 
SOURCE(3926, 124)
   (void) (XR←MonitorEntry(var←c15644.f4/* data←v5692 */ ));
SOURCE(3972, 78)
   {
      word var←c0291;
      var←c0291 = (word) &var←c15644;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q3000) ), ( ((word)  (fPt) NoName←Q3780) ), var←c0291);
      };
SOURCE(3926, 124)
   (void) (XR←MonitorExit(var←c15644.f4/* data←v5692 */ ));
   return;
   }

static word NoName←Q3000(formal←c0261)
   word formal←c0261;
   {
SOURCE(3995, 55)
   if (((* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+6) ) == (* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+5) ))) {
      (* (( (ptr) (*  (ptr) formal←c0261 ))+4) ) = (0 != (* (( (ptr) (* (( (ptr) formal←c0261)+4) ))+8) ));
      }
   else {
      (* (( (ptr) (*  (ptr) formal←c0261 ))+4) ) = 0;
      };
   return(0);
   }

static void PullClose←P420(formal←c0351, formal←c0352)
   word formal←c0351;
   word formal←c0352;
   {
   W8 var←c15708;
   /* declaration of self←v4204 skipped */ 
   /* declaration of abort←v4232 skipped */ 
   register ptr gf←c15740 =  (ptr) &globalframe;
   /* declaration of var←c14076 skipped */ 
   var←c15708.f4/* self←v4204 */  = formal←c0351;
   var←c15708.f5/* abort←v4232 */  = formal←c0352;
   /* PullClose: */ 
SOURCE(4172, 408)
   {
      word tmpAddr47;
      tmpAddr47 = (word) (( (ptr) &var←c15708)+6)/* var←c14076 */ ;
      (*  (ptr) tmpAddr47 ) = ( ((word)  (fPt) innerClose←P1560) );
      (* (( (ptr) tmpAddr47) + 1) ) = 1;
      };
SOURCE(4469, 111)
   {
      word var←c14108;
      var←c14108 = (* (( (ptr) var←c15708.f4/* self←v4204 */ )+1) );
      if ((var←c14108 == 0)) {
         goto lab←L100042;
         };
      if (((* (( (ptr) gf←c15740)+10) ) == XR←GetReferentType(var←c14108))) {
         {
            word data←v5868;
            data←v5868 = var←c14108;
SOURCE(4522, 16)
            (void) innerClose←P1560(data←v5868, (word) (( (bPt) &var←c15708)+24)/* var←c14076 */ );
            };
         }
      else {
         lab←L100042: ;
SOURCE(4551, 29)
         {
            W4 var←c0111;
            (*  (ptr) (word) &var←c0111 ) = 3;
            (* (( (ptr) (word) &var←c0111) + 1) ) = var←c15708.f4/* self←v4204 */ ;
            (* (( (ptr) (word) &var←c0111) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0111) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15740)+44)/* var←c13084 */  ))+5) ), (word) &var←c0111);
            };
         };
      };
   }

static void innerClose←P1560(formal←c0353, formal←c15804)
   word formal←c0353;
   word formal←c15804;
   {
   W10 var←c15772;
   /* declaration of data←v5840 skipped */ 
   /* declaration of var←c14140 skipped */ 
   /* declaration of var←c14172 skipped */ 
   formal←c15804 = (formal←c15804 - 24);
   (* (( (ptr) &var←c15772)+4)/* data←v5840 */  ) = formal←c0353;
   (*  (ptr) &var←c15772 ) = formal←c15804;
   /* innerClose: */ 
SOURCE(4220, 244)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c15772)+4)/* data←v5840 */  ));
SOURCE(4266, 198)
   {
      word var←c04;
      {
         word var←c0292;
         var←c0292 = (word) &var←c15772;
         var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3060) ), ( ((word)  (fPt) NoName←Q3720) ), var←c0292);
         };
      if ((var←c04 == 6)) {
         goto lab←L100045;
         };
      };
SOURCE(4220, 244)
   (void) (XR←MonitorExit(* (( (ptr) &var←c15772)+4)/* data←v5840 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100045: ;
SOURCE(4362, 46)
   {
      W4 var←c0115;
      var←c0115 = (*  (W4Pt) (( (ptr) &var←c15772)+6)/* var←c14172 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15772)+5)/* var←c14140 */  ), (word) &var←c0115);
      };
   }

static word NoName←Q3060(formal←c0265)
   word formal←c0265;
   {
   register ptr gf←c0264 =  (ptr) &globalframe;
SOURCE(4289, 24)
   (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+7) ) = 1;
SOURCE(4315, 93)
   if ( ( (0 == (* (( (ptr) (*  (ptr) formal←c0265 ))+5) )) ? ((* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+6) ) != (* (( (ptr) (* (
         ( (ptr) formal←c0265)+4) ))+5) )) : 0 ) ) {
SOURCE(4362, 46)
      (* (( (ptr) formal←c0265)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0264)+44)/* var←c13084 */  ))+5) );
      {
         word tmpAddr48;
         tmpAddr48 = (word) (( (ptr) formal←c0265)+6);
         (*  (ptr) tmpAddr48 ) = 2;
         (* (( (ptr) tmpAddr48) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0265 ))+4) );
         (* (( (ptr) tmpAddr48) + 2) ) = 0;
         (* (( (ptr) tmpAddr48) + 3) ) = 0;
         };
      (void) (XR←MonitorExit(* (( (ptr) formal←c0265)+4) ));
      return(6);
      };
SOURCE(4410, 27)
   (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+5) ) = (* (( (ptr) (* (( (ptr) formal←c0265)+4) ))+6) );
SOURCE(4439, 25)
   (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0265)+4) ))+36)));
   return(0);
   }

static void PushPutChar←P480(formal←c0354, formal←c0355)
   word formal←c0354;
   word formal←c0355;
   {
   W8 var←c15836;
   /* declaration of self←v4292 skipped */ 
   /* declaration of char←v4320 skipped */ 
   register ptr gf←c15868 =  (ptr) &globalframe;
   /* declaration of var←c14204 skipped */ 
   var←c15836.f4/* self←v4292 */  = formal←c0354;
   var←c15836.f5/* char←v4320 */  = formal←c0355;
   /* PushPutChar: */ 
SOURCE(4586, 559)
   {
      word tmpAddr49;
      tmpAddr49 = (word) (( (ptr) &var←c15836)+6)/* var←c14204 */ ;
      (*  (ptr) tmpAddr49 ) = ( ((word)  (fPt) innerPutChar←P1668) );
      (* (( (ptr) tmpAddr49) + 1) ) = 1;
      };
SOURCE(5032, 113)
   {
      word var←c14236;
      var←c14236 = (* (( (ptr) var←c15836.f4/* self←v4292 */ )+1) );
      if ((var←c14236 == 0)) {
         goto lab←L100047;
         };
      if (((* (( (ptr) gf←c15868)+10) ) == XR←GetReferentType(var←c14236))) {
         {
            word data←v6016;
            data←v6016 = var←c14236;
SOURCE(5085, 18)
            (void) innerPutChar←P1668(data←v6016, (word) (( (bPt) &var←c15836)+24)/* var←c14204 */ );
            };
         }
      else {
         lab←L100047: ;
SOURCE(5116, 29)
         {
            W4 var←c0121;
            (*  (ptr) (word) &var←c0121 ) = 3;
            (* (( (ptr) (word) &var←c0121) + 1) ) = var←c15836.f4/* self←v4292 */ ;
            (* (( (ptr) (word) &var←c0121) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0121) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15868)+44)/* var←c13084 */  ))+5) ), (word) &var←c0121);
            };
         };
      };
   }

static void innerPutChar←P1668(formal←c0356, formal←c15932)
   word formal←c0356;
   word formal←c15932;
   {
   W10 var←c15900;
   /* declaration of data←v5988 skipped */ 
   /* declaration of var←c14268 skipped */ 
   /* declaration of var←c14300 skipped */ 
   formal←c15932 = (formal←c15932 - 24);
   (* (( (ptr) &var←c15900)+4)/* data←v5988 */  ) = formal←c0356;
   (*  (ptr) &var←c15900 ) = formal←c15932;
   /* innerPutChar: */ 
SOURCE(4635, 383)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c15900)+4)/* data←v5988 */  ));
SOURCE(4683, 335)
   {
      word var←c05;
      {
         word var←c0293;
         var←c0293 = (word) &var←c15900;
         var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3120) ), ( ((word)  (fPt) NoName←Q3660) ), var←c0293);
         };
      if ((var←c05 == 7)) {
         goto lab←L100050;
         }
      else {
         if ((var←c05 == 1)) {
            goto lab←L09;
            };
         };
      };
   goto lab←L100054;
   lab←L100050: ;
SOURCE(4753, 46)
   {
      W4 var←c0125;
      var←c0125 = (*  (W4Pt) (( (ptr) &var←c15900)+6)/* var←c14300 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c15900)+5)/* var←c14268 */  ), (word) &var←c0125);
      };
   lab←L100054: ;
   lab←L09: ;
   return;
   }

static word NoName←Q3120(formal←c0269)
   word formal←c0269;
   {
   register ptr gf←c0268 =  (ptr) &globalframe;
SOURCE(4706, 93)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+7) ))) {
SOURCE(4753, 46)
      (* (( (ptr) formal←c0269)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0268)+44)/* var←c13084 */  ))+5) );
      {
         word tmpAddr50;
         tmpAddr50 = (word) (( (ptr) formal←c0269)+6);
         (*  (ptr) tmpAddr50 ) = 2;
         (* (( (ptr) tmpAddr50) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0269 ))+4) );
         (* (( (ptr) tmpAddr50) + 2) ) = 0;
         (* (( (ptr) tmpAddr50) + 3) ) = 0;
         };
      (void) (XR←MonitorExit(* (( (ptr) formal←c0269)+4) ));
      return(7);
      };
SOURCE(4801, 217)
   lab←L100053: ;
SOURCE(4801, 217)
   {
      word new←v6060;
SOURCE(4804, 27)
      new←v6060 = ((* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ) + 1);
SOURCE(4833, 40)
      if ((new←v6060 == (*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+4) ) ))) {
SOURCE(4866, 7)
         new←v6060 = 0;
         };
SOURCE(4875, 118)
      if ((new←v6060 != (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+5) ))) {
SOURCE(4904, 18)
         (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ) = new←v6060;
SOURCE(4924, 32)
         {
            word var←c14332;
            var←c14332 = (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+4) );
            {
               word idx51;
               word limit52;
               (* ((( (bPt) var←c14332)+4)+(
                     idx51 = (* (( (ptr) (* (( (ptr) formal←c0269)+4) ))+6) ),
                     limit52 = (word) (* (( (hPt) var←c14332)+1) ),
                     BCK(idx51, limit52)
                     )) ) = (* (( (bPt) (*  (ptr) formal←c0269 ))+23) );
               };
            };
SOURCE(4958, 25)
         (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0269)+4) ))+36)));
SOURCE(4987, 6)
         (void) (XR←MonitorExit(* (( (ptr) formal←c0269)+4) ));
         return(1);
         };
SOURCE(4998, 20)
      (void) (XR←Wait((* (( (ptr) formal←c0269)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0269)+4) ))+36)));
      };
   goto lab←L100053;
   /* c2c skipped dead code */ 
   }

static void PushPutBlock←P540(formal←c0357, formal←c0358, formal←c0359, count←v4464)
   word formal←c0357;
   word formal←c0358;
   word formal←c0359;
   word count←v4464;
   {
   W10 var←c15964;
   /* declaration of self←v4380 skipped */ 
   /* declaration of block←v4408 skipped */ 
   /* declaration of startIndex←v4436 skipped */ 
   register ptr gf←c15996 =  (ptr) &globalframe;
   /* declaration of var←c14364 skipped */ 
   /* declaration of stopIndexPlusOne←v6132 skipped */ 
   (* (( (ptr) &var←c15964)+4)/* self←v4380 */  ) = formal←c0357;
   (* (( (ptr) &var←c15964)+5)/* block←v4408 */  ) = formal←c0358;
   (* (( (ptr) &var←c15964)+6)/* startIndex←v4436 */  ) = formal←c0359;
   /* PushPutBlock: */ 
SOURCE(5151, 961)
   {
      word tmpAddr53;
      tmpAddr53 = (word) (( (ptr) &var←c15964)+7)/* var←c14364 */ ;
      (*  (ptr) tmpAddr53 ) = ( ((word)  (fPt) innerPutBlock←P1824) );
      (* (( (ptr) tmpAddr53) + 1) ) = 1;
      };
SOURCE(5891, 49)
   {
      word x54;
      (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */  ) = (x54 = ((* (( (ptr) &var←c15964)+6)/* startIndex←v4436 */  ) + 
         count←v4464),
         MIN( (unsigned) , x54, 2147483647));
      };
SOURCE(5942, 54)
   {
      word x55;
      word x56;
      (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */  ) = (x55 = (* (( (ptr) &var←c15964)+9)/* stopIndexPlusOne←v6132 */  ),
         x56 = (*  (hPt) (* (( (ptr) &var←c15964)+5)/* block←v4408 */  ) ),
         MIN( (unsigned) , x55, x56));
      };
SOURCE(5998, 114)
   {
      word var←c14396;
      var←c14396 = (* (( (ptr) (* (( (ptr) &var←c15964)+4)/* self←v4380 */  ))+1) );
      if ((var←c14396 == 0)) {
         goto lab←L100055;
         };
      if (((* (( (ptr) gf←c15996)+10) ) == XR←GetReferentType(var←c14396))) {
         {
            word data←v6236;
            data←v6236 = var←c14396;
SOURCE(6051, 19)
            (void) innerPutBlock←P1824(data←v6236, (word) (( (bPt) &var←c15964)+28)/* var←c14364 */ );
            };
         }
      else {
         lab←L100055: ;
SOURCE(6083, 29)
         {
            W4 var←c0136;
            (*  (ptr) (word) &var←c0136 ) = 3;
            (* (( (ptr) (word) &var←c0136) + 1) ) = (* (( (ptr) &var←c15964)+4)/* self←v4380 */  );
            (* (( (ptr) (word) &var←c0136) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0136) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c15996)+44)/* var←c13084 */  ))+5) ), (word) &var←c0136);
            };
         };
      };
   }

static void innerPutBlock←P1824(formal←c0360, formal←c16060)
   word formal←c0360;
   word formal←c16060;
   {
   W10 var←c16028;
   /* declaration of data←v6208 skipped */ 
   /* declaration of var←c14428 skipped */ 
   /* declaration of var←c14460 skipped */ 
   formal←c16060 = (formal←c16060 - 28);
   (* (( (ptr) &var←c16028)+4)/* data←v6208 */  ) = formal←c0360;
   (*  (ptr) &var←c16028 ) = formal←c16060;
   /* innerPutBlock: */ 
SOURCE(5239, 638)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c16028)+4)/* data←v6208 */  ));
SOURCE(5288, 589)
   {
      word var←c06;
      {
         word var←c0294;
         var←c0294 = (word) &var←c16028;
         var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3180) ), ( ((word)  (fPt) NoName←Q3600) ), var←c0294);
         };
      if ((var←c06 == 8)) {
         goto lab←L100061;
         };
      };
SOURCE(5239, 638)
   (void) (XR←MonitorExit(* (( (ptr) &var←c16028)+4)/* data←v6208 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100061: ;
SOURCE(5445, 46)
   {
      W4 var←c0140;
      var←c0140 = (*  (W4Pt) (( (ptr) &var←c16028)+6)/* var←c14460 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c16028)+5)/* var←c14428 */  ), (word) &var←c0140);
      };
   }

static word NoName←Q3180(formal←c0273)
   word formal←c0273;
   {
   register ptr gf←c0272 =  (ptr) &globalframe;
SOURCE(5311, 17)
   {
      word numChars←v6280;
SOURCE(5330, 547)
      lab←L100060: ;
      if (((* (( (ptr) (*  (ptr) formal←c0273 ))+6) ) < (* (( (ptr) (*  (ptr) formal←c0273 ))+9) ))) {
         }
      else {
         goto lab←L100058;
         };
      {
         word new←v6324;
SOURCE(5369, 27)
         new←v6324 = ((* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+6) ) + 1);
SOURCE(5398, 93)
         if ((0 != (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+7) ))) {
SOURCE(5445, 46)
            (* (( (ptr) formal←c0273)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0272)+44)/* var←c13084 */  ))+5) );
            {
               word tmpAddr57;
               tmpAddr57 = (word) (( (ptr) formal←c0273)+6);
               (*  (ptr) tmpAddr57 ) = 2;
               (* (( (ptr) tmpAddr57) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0273 ))+4) );
               (* (( (ptr) tmpAddr57) + 2) ) = 0;
               (* (( (ptr) tmpAddr57) + 3) ) = 0;
               };
            (void) (XR←MonitorExit(* (( (ptr) formal←c0273)+4) ));
            return(8);
            };
SOURCE(5493, 40)
         if ((new←v6324 == (*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) ) ))) {
SOURCE(5526, 7)
            new←v6324 = 0;
            };
SOURCE(5535, 48)
         if ((new←v6324 == (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ))) {
SOURCE(5563, 20)
            (void) (XR←Wait((* (( (ptr) formal←c0273)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0273)+4) ))+36)));
SOURCE(5585, 4)
            goto lab←L100060;
            };
SOURCE(5592, 116)
         {
            word x58;
            word tc59;
            word idx60;
            word x61;
            if ((new←v6324 > (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ))) {
               tc59 =  (word) ((*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) ) ) - new←v6324);
               }
            else {
               tc59 =  (word) ((* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+5) ) - new←v6324);
               };
            numChars←v6280 = (x58 = ((* (( (ptr) (*  (ptr) formal←c0273 ))+9) ) - (* (( (ptr) (*  (ptr) formal←c0273 ))+6) )),
               x61 = (
                  idx60 = (word) tc59,
                  SGNCK(idx60)
                  ),
               MIN((int)(word), x58, x61));
            };
SOURCE(5710, 100)
         {
            register word i←v6368;
            register word noName←c14492;
            i←v6368 = new←v6324;
            noName←c14492 = ((new←v6324 + numChars←v6280) - 1);
            if ((i←v6368 > noName←c14492)) {
               goto lab←L100062;
               };
            lab←L100065: ;
SOURCE(5749, 34)
            {
               word var←c14524;
               var←c14524 = (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+4) );
               {
                  word limit62;
                  word idx63;
                  word limit64;
                  (* ((( (bPt) var←c14524)+4)+(
                        limit62 = (word) (* (( (hPt) var←c14524)+1) ),
                        BCK(i←v6368, limit62)
                        )) ) = (word) (* ((( (bPt) (* (( (ptr) (*  (ptr) formal←c0273 ))+5) ))+4)+(
                        idx63 = (* (( (ptr) (*  (ptr) formal←c0273 ))+6) ),
                        limit64 = (word) (* (( (hPt) (* (( (ptr) (*  (ptr) formal←c0273 ))+5) ))+1) ),
                        BCK(idx63, limit64)
                        )) );
                  };
               };
SOURCE(5785, 25)
            (* (( (ptr) (*  (ptr) formal←c0273 ))+6) ) = ((* (( (ptr) (*  (ptr) formal←c0273 ))+6) ) + 1);
            if ((i←v6368 >= noName←c14492)) {
               goto lab←L100062;
               };
            i←v6368 = (i←v6368 + 1);
            goto lab←L100065;
            lab←L100062: ;
            };
SOURCE(5821, 29)
         {
            word idx65;
            (* (( (ptr) (* (( (ptr) formal←c0273)+4) ))+6) ) = (
               idx65 = (word) ((new←v6324 + numChars←v6280) - 1),
               SGNCK(idx65)
               );
            };
SOURCE(5852, 25)
         (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0273)+4) ))+36)));
         };
      goto lab←L100060;
      lab←L100058: ;
      };
   return(0);
   }

static void PushUnsafePutBlock←P600(formal←c0361, formal←c0362)
   word formal←c0361;
   W3 formal←c0362;
   {
   W12 var←c16092;
   /* declaration of self←v4536 skipped */ 
   /* declaration of block←v4564 skipped */ 
   register ptr gf←c16124 =  (ptr) &globalframe;
   /* declaration of var←c14556 skipped */ 
   /* declaration of startIndex←v6412 skipped */ 
   /* declaration of stopIndexPlusOne←v6468 skipped */ 
   (* (( (ptr) &var←c16092)+4)/* self←v4536 */  ) = formal←c0361;
   (*  (W3Pt) (( (ptr) &var←c16092)+5)/* block←v4564 */  ) = formal←c0362;
   /* PushUnsafePutBlock: */ 
SOURCE(6118, 986)
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c16092)+8)/* var←c14556 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) innerPutBlock←P2076) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
SOURCE(6185, 34)
   {
      word idx67;
      (* (( (ptr) &var←c16092)+10)/* startIndex←v6412 */  ) = (
         idx67 = (* (( (ptr) &var←c16092)+6) ),
         SGNCK(idx67)
         );
      };
SOURCE(6933, 55)
   {
      word b←v12508;
      {
         word idx68;
         b←v12508 = (
            idx68 = (* (( (ptr) &var←c16092)+7) ),
            SGNCK(idx68)
            );
         };
SOURCE(1617, 47)
      {
         word x69;
         (* (( (ptr) &var←c16092)+11)/* stopIndexPlusOne←v6468 */  ) = (x69 = ((* (( (ptr) &var←c16092)+10)/* startIndex←v6412 */  ) + 
            b←v12508),
            MIN( (unsigned) , x69, 2147483647));
         };
      };
SOURCE(6990, 114)
   {
      word var←c14620;
      var←c14620 = (* (( (ptr) (* (( (ptr) &var←c16092)+4)/* self←v4536 */  ))+1) );
      if ((var←c14620 == 0)) {
         goto lab←L100068;
         };
      if (((* (( (ptr) gf←c16124)+10) ) == XR←GetReferentType(var←c14620))) {
         {
            word data←v6572;
            data←v6572 = var←c14620;
SOURCE(7043, 19)
            (void) innerPutBlock←P2076(data←v6572, (word) (( (bPt) &var←c16092)+32)/* var←c14556 */ );
            };
         }
      else {
         lab←L100068: ;
SOURCE(7075, 29)
         {
            W4 var←c0154;
            (*  (ptr) (word) &var←c0154 ) = 3;
            (* (( (ptr) (word) &var←c0154) + 1) ) = (* (( (ptr) &var←c16092)+4)/* self←v4536 */  );
            (* (( (ptr) (word) &var←c0154) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0154) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16124)+44)/* var←c13084 */  ))+5) ), (word) &var←c0154);
            };
         };
      };
   }

static void innerPutBlock←P2076(formal←c0363, formal←c16188)
   word formal←c0363;
   word formal←c16188;
   {
   W10 var←c16156;
   /* declaration of data←v6544 skipped */ 
   /* declaration of var←c14652 skipped */ 
   /* declaration of var←c14684 skipped */ 
   formal←c16188 = (formal←c16188 - 32);
   (* (( (ptr) &var←c16156)+4)/* data←v6544 */  ) = formal←c0363;
   (*  (ptr) &var←c16156 ) = formal←c16188;
   /* innerPutBlock: */ 
SOURCE(6221, 698)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c16156)+4)/* data←v6544 */  ));
SOURCE(6278, 641)
   {
      word var←c07;
      {
         word var←c0295;
         var←c0295 = (word) &var←c16156;
         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3240) ), ( ((word)  (fPt) NoName←Q3540) ), var←c0295);
         };
      if ((var←c07 == 9)) {
         goto lab←L100074;
         };
      };
SOURCE(6221, 698)
   (void) (XR←MonitorExit(* (( (ptr) &var←c16156)+4)/* data←v6544 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100074: ;
SOURCE(6515, 46)
   {
      W4 var←c0158;
      var←c0158 = (*  (W4Pt) (( (ptr) &var←c16156)+6)/* var←c14684 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c16156)+5)/* var←c14652 */  ), (word) &var←c0158);
      };
   }

static word NoName←Q3240(formal←c0277)
   word formal←c0277;
   {
   register ptr gf←c0276 =  (ptr) &globalframe;
SOURCE(6301, 17)
   {
      word numChars←v6616;
      word bufferBase←v6644;
SOURCE(6320, 78)
      bufferBase←v6644 = ((* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) + 4);
SOURCE(6400, 519)
      lab←L100073: ;
      if (((* (( (ptr) (*  (ptr) formal←c0277 ))+10) ) < (* (( (ptr) (*  (ptr) formal←c0277 ))+11) ))) {
         }
      else {
         goto lab←L100071;
         };
      {
         word new←v6712;
SOURCE(6439, 27)
         new←v6712 = ((* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+6) ) + 1);
SOURCE(6468, 93)
         if ((0 != (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+8) )) || (0 != (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+7) ))) {
SOURCE(6515, 46)
            (* (( (ptr) formal←c0277)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0276)+44)/* var←c13084 */  ))+5) );
            {
               word tmpAddr70;
               tmpAddr70 = (word) (( (ptr) formal←c0277)+6);
               (*  (ptr) tmpAddr70 ) = 2;
               (* (( (ptr) tmpAddr70) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0277 ))+4) );
               (* (( (ptr) tmpAddr70) + 2) ) = 0;
               (* (( (ptr) tmpAddr70) + 3) ) = 0;
               };
            (void) (XR←MonitorExit(* (( (ptr) formal←c0277)+4) ));
            return(9);
            };
SOURCE(6563, 40)
         if ((new←v6712 == (*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) ))) {
SOURCE(6596, 7)
            new←v6712 = 0;
            };
SOURCE(6605, 48)
         if ((new←v6712 == (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) ))) {
SOURCE(6633, 20)
            (void) (XR←Wait((* (( (ptr) formal←c0277)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0277)+4) ))+36)));
SOURCE(6655, 4)
            goto lab←L100073;
            };
SOURCE(6662, 165)
         {
            W3 var←c14716;
            W3 var←c14748;
            var←c14716.f0 = bufferBase←v6644;
            var←c14716.f1 = new←v6712;
            if ((new←v6712 > (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) ))) {
               var←c14716.f2 = (*  (hPt) (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+4) ) );
               }
            else {
               var←c14716.f2 = (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+5) );
               };
            var←c14748.f0 = (* (( (ptr) (*  (ptr) formal←c0277 ))+5) );
            var←c14748.f1 = (* (( (ptr) (*  (ptr) formal←c0277 ))+10) );
            var←c14748.f2 = (* (( (ptr) (*  (ptr) formal←c0277 ))+11) );
            {
               word idx71;
               numChars←v6616 = (
                  idx71 = (word) Basics←ByteBlt(var←c14716, var←c14748),
                  SGNCK(idx71)
                  );
               };
            };
SOURCE(6829, 29)
         {
            word idx72;
            (* (( (ptr) (* (( (ptr) formal←c0277)+4) ))+6) ) = (
               idx72 = (word) ((new←v6712 + numChars←v6616) - 1),
               SGNCK(idx72)
               );
            };
SOURCE(6860, 32)
         {
            word idx73;
            (* (( (ptr) (*  (ptr) formal←c0277 ))+10) ) = (
               idx73 = (word) ((* (( (ptr) (*  (ptr) formal←c0277 ))+10) ) + numChars←v6616),
               SGNCK(idx73)
               );
            };
SOURCE(6894, 25)
         (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0277)+4) ))+36)));
         };
      goto lab←L100073;
      lab←L100071: ;
      };
   return(0);
   }

static void PushFlush←P660(formal←c0364)
   word formal←c0364;
   {
   W7 var←c16220;
   /* declaration of self←v4624 skipped */ 
   register ptr gf←c16252 =  (ptr) &globalframe;
   /* declaration of var←c14780 skipped */ 
   var←c16220.f4/* self←v4624 */  = formal←c0364;
   /* PushFlush: */ 
SOURCE(7111, 360)
   {
      word tmpAddr74;
      tmpAddr74 = (word) (( (ptr) &var←c16220)+5)/* var←c14780 */ ;
      (*  (ptr) tmpAddr74 ) = ( ((word)  (fPt) innerFlush←P2280) );
      (* (( (ptr) tmpAddr74) + 1) ) = 1;
      };
SOURCE(7360, 111)
   {
      word var←c14812;
      var←c14812 = (* (( (ptr) var←c16220.f4/* self←v4624 */ )+1) );
      if ((var←c14812 == 0)) {
         goto lab←L100076;
         };
      if (((* (( (ptr) gf←c16252)+10) ) == XR←GetReferentType(var←c14812))) {
         {
            word data←v6860;
            data←v6860 = var←c14812;
SOURCE(7413, 16)
            (void) innerFlush←P2280(data←v6860, (word) (( (bPt) &var←c16220)+20)/* var←c14780 */ );
            };
         }
      else {
         lab←L100076: ;
SOURCE(7442, 29)
         {
            W4 var←c0168;
            (*  (ptr) (word) &var←c0168 ) = 3;
            (* (( (ptr) (word) &var←c0168) + 1) ) = var←c16220.f4/* self←v4624 */ ;
            (* (( (ptr) (word) &var←c0168) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0168) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16252)+44)/* var←c13084 */  ))+5) ), (word) &var←c0168);
            };
         };
      };
   }

static void innerFlush←P2280(formal←c0365, formal←c16316)
   word formal←c0365;
   word formal←c16316;
   {
   W10 var←c16284;
   /* declaration of data←v6832 skipped */ 
   /* declaration of var←c14844 skipped */ 
   /* declaration of var←c14876 skipped */ 
   formal←c16316 = (formal←c16316 - 20);
   (* (( (ptr) &var←c16284)+4)/* data←v6832 */  ) = formal←c0365;
   (*  (ptr) &var←c16284 ) = formal←c16316;
   /* innerFlush: */ 
SOURCE(7146, 200)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c16284)+4)/* data←v6832 */  ));
SOURCE(7192, 154)
   {
      word var←c08;
      {
         word var←c0296;
         var←c0296 = (word) &var←c16284;
         var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3300) ), ( ((word)  (fPt) NoName←Q3480) ), var←c0296);
         };
      if ((var←c08 == 10)) {
         goto lab←L100082;
         };
      };
SOURCE(7146, 200)
   (void) (XR←MonitorExit(* (( (ptr) &var←c16284)+4)/* data←v6832 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100082: ;
SOURCE(7278, 46)
   {
      W4 var←c0172;
      var←c0172 = (*  (W4Pt) (( (ptr) &var←c16284)+6)/* var←c14876 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c16284)+5)/* var←c14844 */  ), (word) &var←c0172);
      };
   }

static word NoName←Q3300(formal←c0281)
   word formal←c0281;
   {
   register ptr gf←c0280 =  (ptr) &globalframe;
SOURCE(7215, 131)
   lab←L100081: ;
   if (((* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+6) ) != (* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+5) ))) {
      }
   else {
      goto lab←L100079;
      };
SOURCE(7252, 72)
   if ((0 != (* (( (ptr) (* (( (ptr) formal←c0281)+4) ))+7) ))) {
SOURCE(7278, 46)
      (* (( (ptr) formal←c0281)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0280)+44)/* var←c13084 */  ))+5) );
      {
         word tmpAddr75;
         tmpAddr75 = (word) (( (ptr) formal←c0281)+6);
         (*  (ptr) tmpAddr75 ) = 2;
         (* (( (ptr) tmpAddr75) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0281 ))+4) );
         (* (( (ptr) tmpAddr75) + 2) ) = 0;
         (* (( (ptr) tmpAddr75) + 3) ) = 0;
         };
      (void) (XR←MonitorExit(* (( (ptr) formal←c0281)+4) ));
      return(10);
      };
SOURCE(7326, 20)
   (void) (XR←Wait((* (( (ptr) formal←c0281)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0281)+4) ))+36)));
   goto lab←L100081;
   lab←L100079: ;
   return(0);
   }

static void PushReset←P720(self←v4684)
   word self←v4684;
   {
   register ptr gf←c16348 =  (ptr) &globalframe;
   /* PushReset: */ 
SOURCE(7477, 262)
SOURCE(7628, 111)
   {
      word var←c14908;
      var←c14908 = (* (( (ptr) self←v4684)+1) );
      if ((var←c14908 == 0)) {
         goto lab←L100084;
         };
      if (((* (( (ptr) gf←c16348)+10) ) == XR←GetReferentType(var←c14908))) {
         {
            word data←v7008;
            data←v7008 = var←c14908;
SOURCE(7681, 16)
            {
               word data←v12556;
               data←v12556 = data←v7008;
SOURCE(7681, 16)
               (void) (XR←MonitorEntry(data←v12556));
SOURCE(7565, 31)
               (* (( (ptr) data←v12556)+5) ) = 0;
               (* (( (ptr) data←v12556)+6) ) = 0;
SOURCE(7598, 25)
               (void) (XR←Broadcast((word) (( (bPt) data←v12556)+36)));
               (void) (XR←MonitorExit(data←v12556));
               };
            };
         }
      else {
         lab←L100084: ;
SOURCE(7710, 29)
         {
            W4 var←c0177;
            (*  (ptr) (word) &var←c0177 ) = 3;
            (* (( (ptr) (word) &var←c0177) + 1) ) = self←v4684;
            (* (( (ptr) (word) &var←c0177) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0177) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16348)+44)/* var←c13084 */  ))+5) ), (word) &var←c0177);
            };
         };
      };
   }

static void PushClose←P780(formal←c0366, formal←c0367)
   word formal←c0366;
   word formal←c0367;
   {
   W8 var←c16380;
   /* declaration of self←v4744 skipped */ 
   /* declaration of abort←v4772 skipped */ 
   register ptr gf←c16412 =  (ptr) &globalframe;
   /* declaration of var←c14940 skipped */ 
   var←c16380.f4/* self←v4744 */  = formal←c0366;
   var←c16380.f5/* abort←v4772 */  = formal←c0367;
   /* PushClose: */ 
SOURCE(7745, 542)
   {
      word tmpAddr76;
      tmpAddr76 = (word) (( (ptr) &var←c16380)+6)/* var←c14940 */ ;
      (*  (ptr) tmpAddr76 ) = ( ((word)  (fPt) innerClose←P2496) );
      (* (( (ptr) tmpAddr76) + 1) ) = 1;
      };
SOURCE(8176, 111)
   {
      word var←c14972;
      var←c14972 = (* (( (ptr) var←c16380.f4/* self←v4744 */ )+1) );
      if ((var←c14972 == 0)) {
         goto lab←L100086;
         };
      if (((* (( (ptr) gf←c16412)+10) ) == XR←GetReferentType(var←c14972))) {
         {
            word data←v7156;
            data←v7156 = var←c14972;
SOURCE(8229, 16)
            (void) innerClose←P2496(data←v7156, (word) (( (bPt) &var←c16380)+24)/* var←c14940 */ );
            };
         }
      else {
         lab←L100086: ;
SOURCE(8258, 29)
         {
            W4 var←c0183;
            (*  (ptr) (word) &var←c0183 ) = 3;
            (* (( (ptr) (word) &var←c0183) + 1) ) = var←c16380.f4/* self←v4744 */ ;
            (* (( (ptr) (word) &var←c0183) + 2) ) = 0;
            (* (( (ptr) (word) &var←c0183) + 3) ) = 0;
            (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c16412)+44)/* var←c13084 */  ))+5) ), (word) &var←c0183);
            };
         };
      };
   }

static void innerClose←P2496(formal←c0368, formal←c16476)
   word formal←c0368;
   word formal←c16476;
   {
   W10 var←c16444;
   /* declaration of data←v7128 skipped */ 
   /* declaration of var←c15004 skipped */ 
   /* declaration of var←c15036 skipped */ 
   formal←c16476 = (formal←c16476 - 24);
   (* (( (ptr) &var←c16444)+4)/* data←v7128 */  ) = formal←c0368;
   (*  (ptr) &var←c16444 ) = formal←c16476;
   /* innerClose: */ 
SOURCE(7801, 367)
   (void) (XR←MonitorEntry(* (( (ptr) &var←c16444)+4)/* data←v7128 */  ));
SOURCE(7847, 321)
   {
      word var←c09;
      {
         word var←c0297;
         var←c0297 = (word) &var←c16444;
         var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3360) ), ( ((word)  (fPt) NoName←Q3420) ), var←c0297);
         };
      if ((var←c09 == 11)) {
         goto lab←L100092;
         };
      };
SOURCE(7801, 367)
   (void) (XR←MonitorExit(* (( (ptr) &var←c16444)+4)/* data←v7128 */  ));
   return;
   /* c2c skipped dead code */ 
   lab←L100092: ;
SOURCE(8069, 46)
   {
      W4 var←c0187;
      var←c0187 = (*  (W4Pt) (( (ptr) &var←c16444)+6)/* var←c15036 */  );
      (void) XR←RaiseError((* (( (ptr) &var←c16444)+5)/* var←c15004 */  ), (word) &var←c0187);
      };
   }

static word NoName←Q3360(formal←c0286)
   word formal←c0286;
   {
   register ptr gf←c0285 =  (ptr) &globalframe;
SOURCE(7870, 298)
   if ((0 == (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+8) ))) {
SOURCE(7902, 98)
      if ((0 == (* (( (ptr) (*  (ptr) formal←c0286 ))+5) ))) {
SOURCE(7917, 83)
         lab←L100091: ;
         if ( ( ((* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+6) ) != (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+5) )) ? (0 == (* (
            ( (ptr) (* (( (ptr) formal←c0286)+4) ))+7) )) : 0 ) ) {
            }
         else {
            goto lab←L100089;
            };
SOURCE(7980, 20)
         (void) (XR←Wait((* (( (ptr) formal←c0286)+4) ), (word) (( (bPt) (* (( (ptr) formal←c0286)+4) ))+36)));
         goto lab←L100091;
         lab←L100089: ;
         };
SOURCE(8011, 104)
      if ( ( (0 != (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+7) )) ? ((* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+6) ) != (* (
         ( (ptr) (* (( (ptr) formal←c0286)+4) ))+5) )) : 0 ) ) {
SOURCE(8069, 46)
         (* (( (ptr) formal←c0286)+5) ) = (* (( (ptr) (* (( (ptr) gf←c0285)+44)/* var←c13084 */  ))+5) );
         {
            word tmpAddr77;
            tmpAddr77 = (word) (( (ptr) formal←c0286)+6);
            (*  (ptr) tmpAddr77 ) = 2;
            (* (( (ptr) tmpAddr77) + 1) ) = (* (( (ptr) (*  (ptr) formal←c0286 ))+4) );
            (* (( (ptr) tmpAddr77) + 2) ) = 0;
            (* (( (ptr) tmpAddr77) + 3) ) = 0;
            };
         (void) (XR←MonitorExit(* (( (ptr) formal←c0286)+4) ));
         return(11);
         };
SOURCE(8117, 24)
      (* (( (ptr) (* (( (ptr) formal←c0286)+4) ))+8) ) = 1;
SOURCE(8143, 25)
      (void) (XR←Broadcast((word) (( (bPt) (* (( (ptr) formal←c0286)+4) ))+36)));
      };
   return(0);
   }

static void NoName←Q3420(formal←c0192, formal←c200040, formal←c200041, formal←c200042, formal←c200043)
   word formal←c0192;
   word formal←c200040;
   word formal←c200041;
   word formal←c200042;
   word formal←c200043;
   {
   if ((formal←c200041 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200040)+4) ));
      };
   (*  (ptr) formal←c0192 ) = 0;
   (* (( (ptr) formal←c0192)+1) ) = 0;
   return;
   }

static void NoName←Q3480(formal←c0197, formal←c200036, formal←c200037, formal←c200038, formal←c200039)
   word formal←c0197;
   word formal←c200036;
   word formal←c200037;
   word formal←c200038;
   word formal←c200039;
   {
   if ((formal←c200037 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200036)+4) ));
      };
   (*  (ptr) formal←c0197 ) = 0;
   (* (( (ptr) formal←c0197)+1) ) = 0;
   return;
   }

static void NoName←Q3540(formal←c0202, formal←c200032, formal←c200033, formal←c200034, formal←c200035)
   word formal←c0202;
   word formal←c200032;
   word formal←c200033;
   word formal←c200034;
   word formal←c200035;
   {
   if ((formal←c200033 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200032)+4) ));
      };
   (*  (ptr) formal←c0202 ) = 0;
   (* (( (ptr) formal←c0202)+1) ) = 0;
   return;
   }

static void NoName←Q3600(formal←c0207, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0207;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   if ((formal←c200029 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200028)+4) ));
      };
   (*  (ptr) formal←c0207 ) = 0;
   (* (( (ptr) formal←c0207)+1) ) = 0;
   return;
   }

static void NoName←Q3660(formal←c0212, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0212;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   if ((formal←c200025 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200024)+4) ));
      };
   (*  (ptr) formal←c0212 ) = 0;
   (* (( (ptr) formal←c0212)+1) ) = 0;
   return;
   }

static void NoName←Q3720(formal←c0217, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0217;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   if ((formal←c200021 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200020)+4) ));
      };
   (*  (ptr) formal←c0217 ) = 0;
   (* (( (ptr) formal←c0217)+1) ) = 0;
   return;
   }

static void NoName←Q3780(formal←c0222, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0222;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   if ((formal←c200017 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200016)+4) ));
      };
   (*  (ptr) formal←c0222 ) = 0;
   (* (( (ptr) formal←c0222)+1) ) = 0;
   return;
   }

static void NoName←Q3840(formal←c0227, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0227;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   if ((formal←c200013 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200012)+4) ));
      };
   (*  (ptr) formal←c0227 ) = 0;
   (* (( (ptr) formal←c0227)+1) ) = 0;
   return;
   }

static void NoName←Q3900(formal←c0232, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0232;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   if ((formal←c200009 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200008)+4) ));
      };
   (*  (ptr) formal←c0232 ) = 0;
   (* (( (ptr) formal←c0232)+1) ) = 0;
   return;
   }

static void NoName←Q3960(formal←c0237, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0237;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit(* (( (ptr) formal←c200004)+4) ));
      };
   (*  (ptr) formal←c0237 ) = 0;
   (* (( (ptr) formal←c0237)+1) ) = 0;
   return;
   }

static void NoName←Q4020(formal←c0242, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0242;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   if ((formal←c200001 == XR←Unwind)) {
      };
   (*  (ptr) formal←c0242 ) = 0;
   (* (( (ptr) formal←c0242)+1) ) = 0;
   return;
   }

/* file: IOPipeImpl, module: IOPipeImpl, compiled at: February 21, 1992 9:35:59 pm PST */ 
extern void XR←install←IOPipeImpl() {
   NoName←Q2700();
   }
extern void XR←run←IOPipeImpl() { XR←Start(&globalframe); }