/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 7:55:49 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGToIPImpl, module: GGToIPImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1336970880,3189144311] GGToIPImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
static float fc79 = 1.0;
static float fc91 = 0.0254;
static float fc93 = 72.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc124 = 100.0;
static float fc129 = 8607.17;
static float fc150 = 8605.22;
static float fc153 = 8705.14;
static void NoName←Q1056();
static void GGToIPImpl←P0();
static void IPFromGG←P60();
static word NoName←Q1116();
static void DrawObjects←P420();
static word DoDrawObject←P540();
static void DoIP←P480();
static void IPFromGGCommand←P120();
static word NoName←Q1176();
static void TryPattern←P648();
static word NoName←Q1236();
static word EachFile←P804();
static void FileinSceneOnly←P180();
static word NoName←Q1296();
static void SkipOptions←P240();
static word FileinEntity←P300();
static word IsEndLine←P360();
static void NoName←Q1356();
static void NoName←Q1416();
static void NoName←Q1476();
static void NoName←Q1536();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string4 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[24];} string5 = {1310744, "\260\006\005\146\151\162\163\164\216\251\005\004\162\145\163\164\214\216\251\261\000\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\214\000\000"};
static struct {unsigned f; char r[4];} string8 = {131076, "\216\251\000"};
static struct {unsigned f; char r[12];} string9 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[96];} string10 = {6226016, "useage:\012IPFromGG list of Gargoyle filenames\012    or\012IPFromGG OutputFile.ip ← InputFile.gargoyle\012"};
static struct {unsigned f; char r[32];} string11 = {1966112, "GGToIP failed: NIL IP filename\000"};
static struct {unsigned f; char r[20];} string12 = {1114132, "GGToIP failed: %g\000\000"};
static struct {unsigned f; char r[40];} string13 = {2359336, "GGToIP failed: NIL Gargoyle filename\000\000\000"};
static struct {unsigned f; char r[12];} string14 = {524300, "Feedback\000\000\000"};
static struct {unsigned f; char r[28];} string15 = {1703964, "Creating IP file %g . . . \000"};
static struct {unsigned f; char r[8];} string16 = {262152, "Done\000\000\000"};
static struct {unsigned f; char r[52];} string17 = {3211316, "GGToIP failed: could not find %g (FS or IO Error)\000\000"};
static struct {unsigned f; char r[40];} string18 = {2359336, "GGToIP failed: malformed scene in %g\000\000\000"};
static struct {unsigned f; char r[12];} string19 = {524300, "IPFromGG\000\000\000"};
static struct {unsigned f; char r[24];} string20 = {1310744, "GargoyleToInterpress\000\000\000"};
static struct {unsigned f; char r[4];} string21 = {65540, "←\000\000"};
static struct {unsigned f; char r[48];} string22 = {3014704, "GGToIP failed: pattern %g matched no filenames\000"};
static struct {unsigned f; char r[8];} string23 = {327688, "  -- \000\000"};
static struct {unsigned f; char r[4];} string24 = {196612, ".ip"};
static struct {unsigned f; char r[4];} string25 = {65540, "\012\000\000"};
static struct {unsigned f; char r[8];} string26 = {458760, "Failure"};
static struct {unsigned f; char r[44];} string27 = {2621484, "position: %g, wasThere: %g, notThere: %g\000\000\000"};
static struct {unsigned f; char r[16];} string28 = {786448, "GargoyleToIP\000\000\000"};
static struct {unsigned f; char r[16];} string29 = {917520, "GGToInterpress\000"};
static struct {unsigned f; char r[8];} string30 = {393224, "GGToIP\000"};
static struct {unsigned f; char r[92];} string31 = {5963868, "useage:\012GGToIP list of Gargoyle filenames\012    or\012GGToIP OutputFile.ip ← InputFile.gargoyle\012"};
static struct {unsigned f; char r[28];} string32 = {1638428, "Gargoyle file for scene: \000\000"};
static struct {unsigned f; char r[20];} string33 = {1245204, "Produced by version"};
static struct {unsigned f; char r[12];} string34 = {589836, "Entities:\000\000"};
static struct {unsigned f; char r[4];} string35 = {131076, "]:\000"};
static struct {unsigned f; char r[12];} string36 = {524300, "Outline:\000\000\000"};
static struct {unsigned f; char r[8];} string37 = {458760, "Outline"};
static struct {unsigned f; char r[8];} string38 = {327688, "Slice\000\000"};
static struct {unsigned f; char r[8];} string39 = {458760, "Cluster"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\117\260\216\200\300\276\026\172\367\100\164\000\000"};
static struct {unsigned f; char r[12];} string41 = {524296, "\006\001\074\010\000\004\037\001\000\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\311\235\133\064\300\165\175\234\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300\244\106\101\245\300\067\272\166\272\100\150\000\000"};
static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\103\154\257\030\300\165\276\076\350\100\150\000\000"};
static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\344\212\014\176\300\070\230\121\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\254\061\235\240\300\234\075\103\347\100\150\000\000"};
static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\336\025\013\356\300\216\115\352\271\100\150\000\000"};
static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\124\360\214\337\300\200\347\202\313\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {
   word f0[46]; 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[19]; 
   } globalframe = {
   {0}, (word) IsEndLine←P360, 0, (word) FileinEntity←P300, 
   0, (word) SkipOptions←P240, 0, (word) FileinSceneOnly←P180, 
   0, (word) IPFromGGCommand←P120, 0, (word) IPFromGG←P60, 
   0, (word) GGToIPImpl←P0, {0}
   };

static void NoName←Q1056()
   {
   register ptr gf←c0171 =  (ptr) &globalframe;
   word var←c27260;
   (* (( (ptr) gf←c0171)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0171)+10) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0171)+11) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0171)+12) ) = (word) XR←GetTypeIndexS((word) (&string7));
   (* (( (ptr) gf←c0171)+14) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string2);
   (*  (ptr) (( (bPt) gf←c0171)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+14) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0171)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0171)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0171)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0171)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0171)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+14) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0171)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0171)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0171)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0171)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0171)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0171)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0171)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0171)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0171)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0171)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0171)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0171)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+14) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0171)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0171)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0171)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0171)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0171)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0171)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0171)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0171)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0171)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0171)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0171)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+14) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0171)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0171)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0171)+5) ), (word) &string39);
   (void) XR←DeclareGlobalFrame((word) "GGToIPImpl", &globalframe, (word) XR←GetTypeIndex((word) &string40, 0, (word) &string41)
      , (word) (( (bPt) gf←c0171)+232)/* var←c25564 */ );
   var←c27260 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string42)), 3);
   (* (( (ptr) gf←c0171)+60)/* var←c25596 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 1310725);
   var←c27260 = (word) XR←ImportInterface((word) "CommanderOps", (word) XR←GetTypeIndexS((word) (&string43)), 14);
   (* (( (ptr) gf←c0171)+70)/* var←c26396 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67633666);
   var←c27260 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string44)), 25);
   (* (( (ptr) gf←c0171)+62)/* var←c25724 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 1313029);
   (void) XR←ImportProcS(var←c27260, 790787);
   (void) XR←ImportProcS(var←c27260, 67109632);
   (void) XR←ImportProcS(var←c27260, 1575429);
   (void) XR←ImportProcS(var←c27260, 1050628);
   var←c27260 = (word) XR←ImportInterface((word) "FeedbackClasses", (word) XR←GetTypeIndexS((word) (&string45)), 19);
   (* (( (ptr) gf←c0171)+71)/* var←c26428 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67897603);
   var←c27260 = (word) XR←ImportInterface((word) "FileNames", (word) XR←GetTypeIndexS((word) (&string46)), 17);
   (* (( (ptr) gf←c0171)+72)/* var←c26716 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67371265);
   var←c27260 = (word) XR←ImportInterface((word) "FS", (word) XR←GetTypeIndexS((word) (&string47)), 36);
   (* (( (ptr) gf←c0171)+64)/* var←c25948 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 788995);
   (void) XR←ImportProcS(var←c27260, 940048898);
   (void) XR←ImportProcS(var←c27260, 70522636);
   var←c27260 = (word) XR←ImportInterface((word) "GGFileOps", (word) XR←GetTypeIndexS((word) (&string48)), 7);
   (* (( (ptr) gf←c0171)+63)/* var←c25756 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67371521);
   (void) XR←ImportProcS(var←c27260, 202638341);
   (void) XR←ImportProcS(var←c27260, 135267076);
   var←c27260 = (word) XR←ImportInterface((word) "GGParseIn", (word) XR←GetTypeIndexS((word) (&string49)), 26);
   (* (( (ptr) gf←c0171)+74)/* var←c26812 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67372033);
   (void) XR←ImportProcS(var←c27260, 67371777);
   (void) XR←ImportProcS(var←c27260, 134481921);
   (void) XR←ImportProcS(var←c27260, 262657);
   (void) XR←ImportProcS(var←c27260, 67376385);
   (void) XR←ImportProcS(var←c27260, 525826);
   (void) XR←ImportProcS(var←c27260, 67376897);
   (void) XR←ImportProcS(var←c27260, 67372801);
   (void) XR←ImportProcS(var←c27260, 525570);
   var←c27260 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string50)), 50);
   (* (( (ptr) gf←c0171)+66)/* var←c26012 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 787971);
   (void) XR←ImportProcS(var←c27260, 68164356);
   (void) XR←ImportProcS(var←c27260, 67371009);
   var←c27260 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string51)), 128);
   (* (( (ptr) gf←c0171)+77)/* var←c27228 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67371777);
   var←c27260 = (word) XR←ImportInterface((word) "GGSliceOps", (word) XR←GetTypeIndexS((word) (&string52)), 73);
   (* (( (ptr) gf←c0171)+69)/* var←c26300 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 68436485);
   (void) XR←ImportProcS(var←c27260, 1313541);
   var←c27260 = (word) XR←ImportInterface((word) "GGUtility", (word) XR←GetTypeIndexS((word) (&string53)), 42);
   (* (( (ptr) gf←c0171)+76)/* var←c26972 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 135008515);
   (void) XR←ImportProcS(var←c27260, 134221824);
   var←c27260 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string54)), 84);
   (* (( (ptr) gf←c0171)+68)/* var←c26236 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 527106);
   (void) XR←ImportProcS(var←c27260, 536578);
   var←c27260 = (word) XR←ImportInterface((word) "ImagerInterpress", (word) XR←GetTypeIndexS((word) (&string55)), 10);
   (* (( (ptr) gf←c0171)+67)/* var←c26076 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 264193);
   (void) XR←ImportProcS(var←c27260, 788227);
   (void) XR←ImportProcS(var←c27260, 67633410);
   var←c27260 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string56)), 103);
   (* (( (ptr) gf←c0171)+65)/* var←c25980 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67372801);
   (void) XR←ImportProcS(var←c27260, 67374849);
   (void) XR←ImportProcS(var←c27260, 1071364);
   (void) XR←ImportProcS(var←c27260, 530434);
   var←c27260 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string57)), 22);
   (* (( (ptr) gf←c0171)+73)/* var←c26780 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 3584);
   var←c27260 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string58)), 11);
   (* (( (ptr) gf←c0171)+75)/* var←c26940 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67371521);
   var←c27260 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string59)), 43);
   (* (( (ptr) gf←c0171)+61)/* var←c25692 */  ) = var←c27260;
   (void) XR←ImportProcS(var←c27260, 67633666);
   (void) XR←ImportProcS(var←c27260, 67900163);
   (void) XR←ImportProcS(var←c27260, 67373569);
   (void) XR←ImportProcS(var←c27260, 67896323);
   }

static void GGToIPImpl←P0(formal←c039, formal←c038)
   word formal←c039;
   word formal←c038;
   {
   register ptr gf←c27292 =  (ptr) &globalframe;
   /* GGToIPImpl: */ 
SOURCE(206, 8087)
SOURCE(7811, 70)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c27292)+60)/* var←c25596 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) gf←c27292)+36) ), (word) (( (bPt) gf←c27292)+216)/* var←c25500 */ , (* (
            ( (ptr) gf←c27292)+37) ), 0, 1, pd60);
      };
SOURCE(7883, 78)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c27292)+60)/* var←c25596 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))((* (( (ptr) gf←c27292)+35) ), (word) (( (bPt) gf←c27292)+216)/* var←c25500 */ , (* (
            ( (ptr) gf←c27292)+37) ), 0, 1, pd61);
      };
SOURCE(7963, 76)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c27292)+60)/* var←c25596 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))((* (( (ptr) gf←c27292)+34) ), (word) (( (bPt) gf←c27292)+216)/* var←c25500 */ , (* (
            ( (ptr) gf←c27292)+37) ), 0, 1, pd62);
      };
SOURCE(8041, 84)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c27292)+60)/* var←c25596 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd63 ))))((* (( (ptr) gf←c27292)+26) ), (word) (( (bPt) gf←c27292)+216)/* var←c25500 */ , (* (
            ( (ptr) gf←c27292)+37) ), 0, 1, pd63);
      };
SOURCE(8127, 166)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c27292)+60)/* var←c25596 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd64 ))))((* (( (ptr) gf←c27292)+25) ), (word) (( (bPt) gf←c27292)+216)/* var←c25500 */ , (* (
            ( (ptr) gf←c27292)+16) ), 0, 1, pd64);
      };
   }

static void IPFromGG←P60(ggName←v3780, ipName←v3808, router←v3836, formal←c0211)
   word ggName←v3780;
   word ipName←v3808;
   word router←v3836;
   word formal←c0211;
   {
   W15 var←c27324;
   /* declaration of camera←v3864 skipped */ 
   register ptr gf←c27356 =  (ptr) &globalframe;
   /* declaration of var←c25628 skipped */ 
   /* declaration of var←c25660 skipped */ 
   /* declaration of scene←v4516 skipped */ 
   word f←v4544 = 0;
   word ipRef←v4572 = 0;
   /* declaration of ggFullName←v4600 skipped */ 
   word ipFullName←v4628 = 0;
   word success←v4656 = 0;
   (* (( (ptr) &var←c27324)+4)/* camera←v3864 */  ) = formal←c0211;
   /* IPFromGG: */ 
SOURCE(430, 3372)
   {
      word tmpAddr65;
      tmpAddr65 = (word) (( (ptr) &var←c27324)+5)/* var←c25628 */ ;
      (*  (ptr) tmpAddr65 ) = ( ((word)  (fPt) DoIP←P480) );
      (* (( (ptr) tmpAddr65) + 1) ) = 1;
      };
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c27324)+7)/* var←c25660 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) DrawObjects←P420) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
SOURCE(1003, 25)
   (* (( (ptr) &var←c27324)+9)/* scene←v4516 */  ) = 0;
SOURCE(1073, 33)
   (* (( (ptr) &var←c27324)+10)/* ggFullName←v4600 */  ) = 0;
SOURCE(1132, 2670)
SOURCE(1138, 2664)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c27356)+61)/* var←c25692 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd67 ))))(ipName←v3808, 0, 1, pd67))) {
SOURCE(1172, 79)
         {
            word pd68;
            pd68 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd68 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+17) ), pd68)
            ;
            };
SOURCE(1253, 6)
         return;
         };
      };
SOURCE(1264, 2538)
   {
      W2 var←c25788;
      {
         word pd69;
         pd69 = (* (( (ptr) (* (( (ptr) gf←c27356)+63)/* var←c25756 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd69 ))))((word) &var←c25788, (* (( (ptr) gf←c27356)+36) ), ipName←v3808, 0, router←v3836, pd69)
         ;
         };
      success←v4656 = var←c25788.f1;
      ipFullName←v4628 = var←c25788.f0;
      };
SOURCE(1352, 2450)
   if ((0 == success←v4656)) {
SOURCE(1374, 2428)
      {
         W2 var←c25820;
         var←c25820.f0 = 11;
         var←c25820.f1 = ipName←v3808;
         {
            word pd70;
            pd70 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd70 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+18) ), var←c25820, pd70)
            ;
            };
         };
SOURCE(1457, 6)
      return;
      };
SOURCE(1469, 2333)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c27356)+61)/* var←c25692 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd71 ))))(ggName←v3780, 0, 1, pd71))) {
SOURCE(1503, 85)
         {
            word pd72;
            pd72 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd72 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+19) ), pd72)
            ;
            };
SOURCE(1590, 6)
         return;
         };
      };
SOURCE(1601, 2201)
   {
      W3 var←c25852;
      {
         word pd73;
         pd73 = (* (( (ptr) (* (( (ptr) gf←c27356)+63)/* var←c25756 */  ))+8) );
         (void) ( *( (fPt) ((*  (ptr) pd73 ))))((word) &var←c25852, (* (( (ptr) gf←c27356)+36) ), ggName←v3780, 0, router←v3836, 0, pd73)
         ;
         };
      success←v4656 = var←c25852.f1;
      (* (( (ptr) &var←c27324)+10)/* ggFullName←v4600 */  ) = var←c25852.f0;
      };
SOURCE(1687, 2115)
   if ((0 == success←v4656)) {
SOURCE(1709, 2093)
      {
         W2 var←c25884;
         var←c25884.f0 = 11;
         var←c25884.f1 = ggName←v3780;
         {
            word pd74;
            pd74 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd74 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+18) ), var←c25884, pd74)
            ;
            };
         };
SOURCE(1792, 6)
      return;
      };
SOURCE(1804, 1998)
   {
      /* declaration of var←c01 skipped */ 
      /* declaration of var←c02 skipped */ 
      (* (( (ptr) &var←c27324)+11) ) = 7;
      (* (( (ptr) &var←c27324)+12) ) = 1;
      (* (( (ptr) &var←c27324)+13)/* var←c02 */  ) = (* (( (ptr) (* (( (ptr) gf←c27356)+64)/* var←c25948 */  ))+27) );
      {
         /* declaration of var←c03 skipped */ 
         {
            word var←c04;
            {
               word var←c0197;
               var←c0197 = (word) &var←c27324;
               var←c04 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1116) ), ( ((word)  (fPt) NoName←Q1536) ), var←c0197);
               };
            if ((var←c04 == 2)) {
               goto lab←L100000;
               };
            };
         f←v4544 = (* (( (ptr) &var←c27324)+14)/* var←c03 */  );
         };
      };
SOURCE(1878, 1924)
   {
      word pd75;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c27356)+66)/* var←c26012 */  ))+4) );
      (* (( (ptr) &var←c27324)+9)/* scene←v4516 */  ) = (word) ( *( (fPt) ((*  (ptr) pd75 ))))(0, pd75);
      };
SOURCE(1909, 1893)
   {
      W2 var←c26044;
      (void) FileinSceneOnly←P180((word) &var←c26044, f←v4544, (* (( (ptr) &var←c27324)+9)/* scene←v4516 */  ), router←v3836, (* (
            ( (ptr) &var←c27324)+4)/* camera←v3864 */  ));
      success←v4656 = var←c26044.f0;
      };
SOURCE(1966, 20)
   if ((0 == success←v4656)) {
SOURCE(1986, 9)
      goto lab←L100001;
      };
SOURCE(1997, 1805)
   {
      word pd76;
      pd76 = (* (( (ptr) (* (( (ptr) gf←c27356)+67)/* var←c26076 */  ))+5) );
      ipRef←v4572 = (word) ( *( (fPt) ((*  (ptr) pd76 ))))(ipFullName←v4628, 0, pd76);
      };
SOURCE(2042, 1760)
   {
      W2 var←c26108;
      var←c26108.f0 = 11;
      var←c26108.f1 = ipFullName←v4628;
      {
         word pd77;
         pd77 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd77 ))))(router←v3836, 1, (* (( (ptr) gf←c27356)+20) ), (* (( (ptr) gf←c27356)+21) ), var←c26108, pd77)
         ;
         };
      };
SOURCE(2134, 41)
   {
      word pd78;
      pd78 = (* (( (ptr) (* (( (ptr) gf←c27356)+67)/* var←c26076 */  ))+11) );
      (void) ( *( (fPt) ((*  (ptr) pd78 ))))(ipRef←v4572, (word) (( (bPt) &var←c27324)+20)/* var←c25628 */ , (*  (ptr) &fc79 ), pd78)
      ;
      };
SOURCE(2177, 29)
   {
      word pd80;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c27356)+67)/* var←c26076 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd80 ))))(ipRef←v4572, pd80);
      };
SOURCE(2208, 11)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c27356)+65)/* var←c25980 */  ))+28) );
      (void) ( *( (fPt) ((*  (ptr) pd81 ))))(f←v4544, 0, pd81);
      };
SOURCE(2221, 47)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd82 ))))(router←v3836, 3, (* (( (ptr) gf←c27356)+20) ), (* (( (ptr) gf←c27356)+22) ), pd82)
      ;
      };
   goto lab←L100004;
   lab←L100000: ;
SOURCE(2285, 1517)
   {
      W2 var←c26140;
      var←c26140.f0 = 11;
      var←c26140.f1 = (* (( (ptr) &var←c27324)+10)/* ggFullName←v4600 */  );
      {
         word pd83;
         pd83 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd83 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+23) ), var←c26140, pd83)
         ;
         };
      };
   goto lab←L100004;
   lab←L100001: ;
SOURCE(2412, 1390)
   {
      W2 var←c26172;
      var←c26172.f0 = 11;
      var←c26172.f1 = (* (( (ptr) &var←c27324)+10)/* ggFullName←v4600 */  );
      {
         word pd84;
         pd84 = (* (( (ptr) (* (( (ptr) gf←c27356)+62)/* var←c25724 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd84 ))))(router←v3836, 0, (* (( (ptr) gf←c27356)+15) ), (* (( (ptr) gf←c27356)+24) ), var←c26172, pd84)
         ;
         };
      };
   lab←L100004: ;
   }

static word NoName←Q1116(formal←c0174)
   word formal←c0174;
   {
SOURCE(1804, 1998)
   {
      word pd85;
      pd85 = (* (( (ptr) formal←c0174)+13) );
      (* (( (ptr) formal←c0174)+14) ) = (word) ( *( (fPt) ((*  (ptr) pd85 ))))((* (( (ptr) formal←c0174)+10) ), 0, 7, 1, 2560, (*  (W2Pt) (
            ( (ptr) formal←c0174)+11) )
         , 0, 2147483647, 1, 0, 0, 0, pd85);
      };
   return(0);
   }

static void DrawObjects←P420(formal←c0212, scene←v4760, formal←c0213, formal←c27452)
   word formal←c0212;
   word scene←v4760;
   word formal←c0213;
   word formal←c27452;
   {
   W8 var←c27388;
   /* declaration of dc←v4732 skipped */ 
   /* declaration of camera←v4788 skipped */ 
   register ptr gf←c27420 =  (ptr) &globalframe;
   /* declaration of var←c26204 skipped */ 
   formal←c27452 = (formal←c27452 - 28);
   var←c27388.f4/* dc←v4732 */  = formal←c0212;
   var←c27388.f5/* camera←v4788 */  = formal←c0213;
   var←c27388.f0 = formal←c27452;
   /* DrawObjects: */ 
SOURCE(533, 3269)
   {
      word tmpAddr86;
      tmpAddr86 = (word) (( (ptr) &var←c27388)+6)/* var←c26204 */ ;
      (*  (ptr) tmpAddr86 ) = ( ((word)  (fPt) DoDrawObject←P540) );
      (* (( (ptr) tmpAddr86) + 1) ) = 1;
      };
SOURCE(768, 33)
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c27420)+68)/* var←c26236 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd87 ))))(var←c27388.f4/* dc←v4732 */ , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c27420)+68)/* var←c26236 */  ))+54)
          ) ), pd87);
      };
SOURCE(803, 2999)
   {
      word var←c26268;
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c27420)+66)/* var←c26012 */  ))+31) );
      var←c26268 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(scene←v4760, 0, (word) (( (bPt) &var←c27388)+24)/* var←c26204 */ , 0, pd88)
      ;
      };
   }

static word DoDrawObject←P540(slice←v4952, formal←c27516)
   word slice←v4952;
   word formal←c27516;
   {
   register ptr gf←c27484 =  (ptr) &globalframe;
   word done←v4996;
   formal←c27516 = (formal←c27516 - 24);
   /* DoDrawObject: */ 
SOURCE(632, 131)
SOURCE(632, 131)
   done←v4996 = 0;
SOURCE(712, 51)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c27484)+69)/* var←c26300 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd89 ))))(slice←v4952, 0, (* (( (ptr) formal←c27516)+4) ), (* (( (ptr) formal←c27516)+5) ), 0, pd89)
      ;
      };
SOURCE(632, 131)
   return(done←v4996);
   }

static void DoIP←P480(dc←v4848, formal←c27580)
   word dc←v4848;
   word formal←c27580;
   {
   register ptr gf←c27548 =  (ptr) &globalframe;
   formal←c27580 = (formal←c27580 - 20);
   /* DoIP: */ 
SOURCE(860, 137)
SOURCE(932, 33)
   {
      word pd90;
      word x92;
      word x94;
      float tf95;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c27548)+68)/* var←c26236 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd90 ))))(dc←v4848, (
            tf95 = (
               x92 = (*  (ptr) &fc91 ),  *(float*)&x92
               ) / (
               x94 = (*  (ptr) &fc93 ),  *(float*)&x94
               ),  *(word*)&tf95
            ), pd90);
      };
SOURCE(967, 30)
   (void) DrawObjects←P420(dc←v4848, (* (( (ptr) formal←c27580)+9) ), (* (( (ptr) formal←c27580)+4) ), (word) (( (bPt) formal←c27580)+28)
      );
   }

static void IPFromGGCommand←P120(formal←c093, formal←c0214)
   word formal←c093;
   word formal←c0214;
   {
   W13 var←c27612;
   /* declaration of cmd←v7684 skipped */ 
   register ptr gf←c27644 =  (ptr) &globalframe;
   word result←v7728;
   /* declaration of msg←v7756 skipped */ 
   /* declaration of var←c26332 skipped */ 
   (* (( (ptr) &var←c27612)+4)/* cmd←v7684 */  ) = formal←c0214;
   /* IPFromGGCommand: */ 
SOURCE(2527, 2159)
   {
      word tmpAddr96;
      tmpAddr96 = (word) (( (ptr) &var←c27612)+6)/* var←c26332 */ ;
      (*  (ptr) tmpAddr96 ) = ( ((word)  (fPt) TryPattern←P648) );
      (* (( (ptr) tmpAddr96) + 1) ) = 1;
      };
SOURCE(2527, 2159)
   result←v7728 = 0;
SOURCE(2527, 2159)
   (* (( (ptr) &var←c27612)+5)/* msg←v7756 */  ) = 0;
SOURCE(2568, 2118)
SOURCE(2570, 18)
   {
      word dest←v5096 = 0;
      word arrow←v5124 = 0;
      word source←v5152 = 0;
      /* declaration of sawSomeFile←v5180 skipped */ 
      /* declaration of camera←v5208 skipped */ 
      /* declaration of out←v5236 skipped */ 
      word argv←v5264;
      /* declaration of router←v5292 skipped */ 
      word msgHandler←v5320;
SOURCE(3548, 25)
      (* (( (ptr) &var←c27612)+8)/* sawSomeFile←v5180 */  ) = 0;
SOURCE(3575, 95)
      (* (( (ptr) &var←c27612)+9)/* camera←v5208 */  ) = XR←NewObject(20, (* (( (ptr) gf←c27644)+12) ));
      (*  (ptr) (* (( (ptr) &var←c27612)+9)/* camera←v5208 */  ) ) = 2;
      (* (( (ptr) (* (( (ptr) &var←c27612)+9)/* camera←v5208 */  ))+4) ) = (*  (ptr) &fc79 );
SOURCE(3672, 24)
      (* (( (ptr) &var←c27612)+10)/* out←v5236 */  ) = (* (( (ptr) (* (( (ptr) &var←c27612)+4)/* cmd←v7684 */  ))+1) );
SOURCE(3698, 89)
      {
         /* declaration of var←c05 skipped */ 
         (* (( (ptr) &var←c27612)+11)/* var←c05 */  ) = (* (( (ptr) (* (( (ptr) gf←c27644)+70)/* var←c26396 */  ))+6) );
         {
            /* declaration of var←c06 skipped */ 
            {
               word var←c07;
               {
                  word var←c0198;
                  var←c0198 = (word) &var←c27612;
                  var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1176) ), ( ((word)  (fPt) NoName←Q1476) ), var←c0198);
                  };
               if ((var←c07 == 3)) {
                  goto lab←L100006;
                  };
               };
            argv←v5264 = (* (( (ptr) &var←c27612)+12)/* var←c06 */  );
            };
         };
SOURCE(3821, 52)
      {
         word pd97;
         pd97 = (* (( (ptr) (* (( (ptr) gf←c27644)+62)/* var←c25724 */  ))+7) );
         (* (( (ptr) &var←c27612)+11)/* router←v5292 */  ) = (word) ( *( (fPt) ((*  (ptr) pd97 ))))(pd97);
         };
SOURCE(3875, 91)
      {
         word pd98;
         pd98 = (* (( (ptr) (* (( (ptr) gf←c27644)+71)/* var←c26428 */  ))+13) );
         msgHandler←v5320 = (word) ( *( (fPt) ((*  (ptr) pd98 ))))((* (( (ptr) (* (( (ptr) &var←c27612)+4)/* cmd←v7684 */  ))+1) ), 1, 0, pd98)
         ;
         };
SOURCE(3968, 73)
      {
         word var←c26460;
         {
            word var←c26492;
            word var←c26524;
            var←c26492 = XR←NewObject(8, (* (( (ptr) gf←c27644)+11) ));
            var←c26524 = var←c26492;
            (*  (ptr) var←c26524 ) = (* (( (ptr) gf←c27644)+20) );
            (* (( (ptr) var←c26524)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c27644)+11) ));
            var←c26524 = (* (( (ptr) var←c26524)+1) );
            (*  (ptr) var←c26524 ) = (* (( (ptr) gf←c27644)+15) );
            var←c26460 = var←c26492;
            };
         {
            word pd99;
            pd99 = (* (( (ptr) (* (( (ptr) gf←c27644)+62)/* var←c25724 */  ))+21) );
            (void) ( *( (fPt) ((*  (ptr) pd99 ))))((* (( (ptr) &var←c27612)+11)/* router←v5292 */  ), var←c26460, msgHandler←v5320, pd99)
            ;
            };
         };
SOURCE(4044, 594)
      {
         register word i←v5480 = 1;
         register word noName←c26556;
         noName←c26556 = (*  (ptr) argv←v5264 );
         if ((i←v5480 >= noName←c26556)) {
            goto lab←L100009;
            };
         lab←L100012: ;
SOURCE(4076, 14)
         {
            word limit100;
            dest←v5096 = (* ((( (ptr) argv←v5264)+1)+(
                  limit100 = (*  (ptr) argv←v5264 ),
                  BCK(i←v5480, limit100)
                  )) );
            };
SOURCE(4092, 48)
         if (( (int)i←v5480 <  (int)((*  (ptr) argv←v5264 ) - 1))) {
            {
               word var←c26588;
               var←c26588 = (i←v5480 + 1);
               {
                  word limit101;
                  arrow←v5124 = (* ((( (ptr) argv←v5264)+1)+(
                        limit101 = (*  (ptr) argv←v5264 ),
                        BCK(var←c26588, limit101)
                        )) );
                  };
               };
            }
         else {
            arrow←v5124 = 0;
            };
SOURCE(4160, 49)
         if (( (int)i←v5480 <  (int)((*  (ptr) argv←v5264 ) - 2))) {
            {
               word var←c26620;
               var←c26620 = (i←v5480 + 2);
               {
                  word limit102;
                  source←v5152 = (* ((( (ptr) argv←v5264)+1)+(
                        limit102 = (*  (ptr) argv←v5264 ),
                        BCK(var←c26620, limit102)
                        )) );
                  };
               };
            }
         else {
            source←v5152 = 0;
            };
SOURCE(4234, 30)
         {
            word pd103;
            pd103 = (* (( (ptr) (* (( (ptr) gf←c27644)+61)/* var←c25692 */  ))+14) );
            if (( (int)(word) ( *( (fPt) ((*  (ptr) pd103 ))))(dest←v5096, pd103) ==  (int)0)) {
SOURCE(4264, 4)
               goto lab←L100011;
               };
            };
SOURCE(4280, 19)
         (* (( (ptr) &var←c27612)+8)/* sawSomeFile←v5180 */  ) = 0;
SOURCE(4342, 111)
         {
            word tc104;
            word pd105;
            pd105 = (* (( (ptr) (* (( (ptr) gf←c27644)+61)/* var←c25692 */  ))+23) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd105 ))))((* (( (ptr) gf←c27644)+27) ), arrow←v5124, 1, pd105))) {
               tc104 =  (word) (source←v5152 != 0);
               }
            else {
               tc104 =  (word) 0;
               };
            if (tc104) {
SOURCE(4390, 30)
               (void) TryPattern←P648(dest←v5096, source←v5152, 1, (word) (( (bPt) &var←c27612)+24)/* var←c26332 */ );
SOURCE(4422, 6)
               goto lab←L100005;
               }
            else {
SOURCE(4437, 16)
               (void) TryPattern←P648(dest←v5096, 0, 0, (word) (( (bPt) &var←c27612)+24)/* var←c26332 */ );
               };
            };
SOURCE(4504, 134)
         if ((0 == (* (( (ptr) &var←c27612)+8)/* sawSomeFile←v5180 */  ))) {
SOURCE(4528, 110)
            {
               W2 var←c26652;
               var←c26652.f0 = 11;
               var←c26652.f1 = source←v5152;
               {
                  word pd106;
                  pd106 = (* (( (ptr) (* (( (ptr) gf←c27644)+62)/* var←c25724 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd106 ))))((* (( (ptr) &var←c27612)+11)/* router←v5292 */  ), 0, (* (( (ptr) gf←c27644)+15) ), (* (
                        ( (ptr) gf←c27644)+28) ), var←c26652, pd106);
                  };
               };
            };
         lab←L100011: ;
         i←v5480 = (i←v5480 + 1);
         if ((i←v5480 < noName←c26556)) {
            goto lab←L100012;
            };
         lab←L100009: ;
         };
      };
   goto lab←L100013;
   lab←L100006: ;
SOURCE(4666, 17)
   result←v7728 = (* (( (ptr) gf←c27644)+32) );
   lab←L100013: ;
   /* removed tail goto */ 
   lab←L100005: ;
   (*  (ptr) formal←c093 ) = result←v7728;
   (* (( (ptr) formal←c093)+1) ) = (* (( (ptr) &var←c27612)+5)/* msg←v7756 */  );
   return;
   }

static word NoName←Q1176(formal←c0182)
   word formal←c0182;
   {
SOURCE(3698, 89)
   {
      word pd107;
      pd107 = (* (( (ptr) formal←c0182)+11) );
      (* (( (ptr) formal←c0182)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd107 ))))((* (( (ptr) formal←c0182)+4) ), 0, pd107);
      };
   return(0);
   }

static void TryPattern←P648(formal←c0215, formal←c0216, formal←c0217, formal←c27740)
   word formal←c0215;
   word formal←c0216;
   word formal←c0217;
   word formal←c27740;
   {
   W9 var←c27676;
   /* declaration of dest←v5396 skipped */ 
   /* declaration of source←v5424 skipped */ 
   /* declaration of isArrow←v5452 skipped */ 
   register ptr gf←c27708 =  (ptr) &globalframe;
   /* declaration of var←c26684 skipped */ 
   formal←c27740 = (formal←c27740 - 24);
   (* (( (ptr) &var←c27676)+4)/* dest←v5396 */  ) = formal←c0215;
   (* (( (ptr) &var←c27676)+5)/* source←v5424 */  ) = formal←c0216;
   (* (( (ptr) &var←c27676)+6)/* isArrow←v5452 */  ) = formal←c0217;
   (*  (ptr) &var←c27676 ) = formal←c27740;
   /* TryPattern: */ 
SOURCE(2570, 18)
   {
      word tmpAddr108;
      tmpAddr108 = (word) (( (ptr) &var←c27676)+7)/* var←c26684 */ ;
      (*  (ptr) tmpAddr108 ) = ( ((word)  (fPt) EachFile←P804) );
      (* (( (ptr) tmpAddr108) + 1) ) = 1;
      };
SOURCE(2644, 1158)
SOURCE(2646, 1156)
   {
      word var←c08;
      {
         word var←c0199;
         var←c0199 = (word) &var←c27676;
         var←c08 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1236) ), ( ((word)  (fPt) NoName←Q1416) ), var←c0199);
         };
      if ((var←c08 == 4)) {
         goto lab←L100014;
         };
      };
   goto lab←L100017;
   lab←L100014: ;
SOURCE(3480, 21)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c27708)+65)/* var←c25980 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd109 ))))((* (( (ptr) formal←c27740)+10) ), (* (( (ptr) gf←c27708)+31) ), 0, 2147483647, pd109)
      ;
      };
SOURCE(3503, 6)
   return;
   lab←L100017: ;
   }

static word NoName←Q1236(formal←c0186)
   word formal←c0186;
   {
   register ptr gf←c0185 =  (ptr) &globalframe;
SOURCE(2768, 24)
   {
      W14 var←c099;
SOURCE(3028, 774)
      if ( ( (0 != (* (( (ptr) formal←c0186)+6) )) ? ((* (( (ptr) formal←c0186)+5) ) != 0) : 0 ) ) {
         {
            W14 var←c098;
SOURCE(3119, 683)
            {
               word pd110;
               pd110 = (* (( (ptr) (* (( (ptr) gf←c0185)+72)/* var←c26716 */  ))+5) );
               (* (( (ptr) formal←c0186)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd110 ))))((* ((( (ptr) formal←c0186)+4)) ), pd110);
               };
SOURCE(3163, 639)
            {
               word pd111;
               pd111 = (* (( (ptr) (* (( (ptr) gf←c0185)+64)/* var←c25948 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd111 ))))((word) &var←c098, (* (( (ptr) formal←c0186)+4) ), 0, pd111);
               };
            (* (( (ptr) formal←c0186)+4) ) = (*  (ptr) &var←c098 );
            };
         }
      else {
SOURCE(3255, 13)
         (* (( (ptr) formal←c0186)+5) ) = (* (( (ptr) formal←c0186)+4) );
SOURCE(3304, 10)
         (* (( (ptr) formal←c0186)+4) ) = 0;
         };
SOURCE(3336, 466)
      {
         word pd112;
         pd112 = (* (( (ptr) (* (( (ptr) gf←c0185)+72)/* var←c26716 */  ))+5) );
         (* (( (ptr) formal←c0186)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd112 ))))((* ((( (ptr) formal←c0186)+5)) ), pd112);
         };
SOURCE(3384, 418)
      {
         word pd113;
         pd113 = (* (( (ptr) (* (( (ptr) gf←c0185)+64)/* var←c25948 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd113 ))))((word) &var←c099, (* (( (ptr) formal←c0186)+5) ), 0, pd113);
         };
      (* (( (ptr) formal←c0186)+5) ) = (*  (ptr) &var←c099 );
SOURCE(3426, 38)
      {
         word pd114;
         pd114 = (* (( (ptr) (* (( (ptr) gf←c0185)+64)/* var←c25948 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd114 ))))((* (( (ptr) formal←c0186)+5) ), (word) (( (bPt) formal←c0186)+28), 0, pd114);
         };
      };
   return(0);
   }

static word EachFile←P804(fullFName←v19424, formal←c27804)
   word fullFName←v19424;
   word formal←c27804;
   {
   register ptr gf←c27772 =  (ptr) &globalframe;
   word continue←v19468;
   word ipName←v5568;
   formal←c27804 = (formal←c27804 - 28);
   /* EachFile: */ 
SOURCE(2768, 24)
SOURCE(2794, 110)
   if (((* (( (ptr) formal←c27804)+4) ) != 0)) {
      ipName←v5568 = (* (( (ptr) formal←c27804)+4) );
      }
   else {
      {
         word var←c26748;
         {
            word pd115;
            pd115 = (* (( (ptr) (* (( (ptr) gf←c27772)+63)/* var←c25756 */  ))+6) );
            var←c26748 = (word) ( *( (fPt) ((*  (ptr) pd115 ))))(fullFName←v19424, pd115);
            };
         {
            word pd116;
            pd116 = (* (( (ptr) (* (( (ptr) gf←c27772)+61)/* var←c25692 */  ))+6) );
            ipName←v5568 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(var←c26748, (* (( (ptr) gf←c27772)+30) ), pd116);
            };
         };
      };
SOURCE(2906, 16)
   continue←v19468 = 0;
SOURCE(2924, 23)
   {
      word pd117;
      pd117 = (* (( (ptr) (* (( (ptr) gf←c27772)+73)/* var←c26780 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd117 ))))(pd117);
      };
SOURCE(2949, 43)
   (void) IPFromGG←P60(fullFName←v19424, ipName←v5568, (* (( (ptr) (*  (ptr) formal←c27804 ))+11) ), (* (( (ptr) (*  (ptr) formal←c27804 ))+9)
       ));
SOURCE(2994, 29)
   continue←v19468 = 1;
   (* (( (ptr) (*  (ptr) formal←c27804 ))+8) ) = 1;
SOURCE(2768, 24)
   return(continue←v19468);
   }

static void FileinSceneOnly←P180(formal←c0110, formal←c0218, formal←c0219, formal←c0220, formal←c0221)
   word formal←c0110;
   word formal←c0218;
   word formal←c0219;
   word formal←c0220;
   word formal←c0221;
   {
   W10 var←c27836;
   /* declaration of f←v3924 skipped */ 
   /* declaration of scene←v3952 skipped */ 
   /* declaration of router←v3980 skipped */ 
   /* declaration of camera←v4008 skipped */ 
   /* declaration of success←v4052 skipped */ 
   /* declaration of sceneName←v4080 skipped */ 
   (* (( (ptr) &var←c27836)+4)/* f←v3924 */  ) = formal←c0218;
   (* (( (ptr) &var←c27836)+5)/* scene←v3952 */  ) = formal←c0219;
   (* (( (ptr) &var←c27836)+6)/* router←v3980 */  ) = formal←c0220;
   (* (( (ptr) &var←c27836)+7)/* camera←v4008 */  ) = formal←c0221;
   /* FileinSceneOnly: */ 
SOURCE(4839, 1231)
SOURCE(4839, 1231)
   (* (( (ptr) &var←c27836)+8)/* success←v4052 */  ) = 0;
SOURCE(4839, 1231)
   (* (( (ptr) &var←c27836)+9)/* sceneName←v4080 */  ) = 0;
SOURCE(4990, 1080)
SOURCE(4992, 1034)
   {
      word var←c09;
      {
         word var←c0200;
         var←c0200 = (word) &var←c27836;
         var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q1296) ), ( ((word)  (fPt) NoName←Q1356) ), var←c0200);
         };
      if ((var←c09 == 6)) {
         goto lab←L100019;
         }
      else {
         if ((var←c09 == 5)) {
            goto lab←L100018;
            };
         };
      };
   goto lab←L100026;
   lab←L100019: ;
   lab←L100026: ;
   /* removed tail goto */ 
   lab←L100018: ;
   (*  (ptr) formal←c0110 ) = (* (( (ptr) &var←c27836)+8)/* success←v4052 */  );
   (* (( (ptr) formal←c0110)+1) ) = (* (( (ptr) &var←c27836)+9)/* sceneName←v4080 */  );
   return;
   }

static word NoName←Q1296(formal←c0190)
   word formal←c0190;
   {
   register ptr gf←c0189 =  (ptr) &globalframe;
SOURCE(5195, 13)
   {
      word version←v5612;
      word count←v5640;
      word entity←v5668 = 0;
      word finger←v5696 = 0;
      word newEntities←v5724 = 0;
SOURCE(5273, 50)
      {
         word pd118;
         pd118 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd118 ))))((* (( (ptr) formal←c0190)+4) ), (* (( (ptr) gf←c0189)+38) ), pd118);
         };
SOURCE(5325, 33)
      {
         word pd119;
         pd119 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+11) );
         (* (( (ptr) formal←c0190)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd119 ))))((* ((( (ptr) formal←c0190)+4)) ), pd119);
         };
SOURCE(5360, 44)
      {
         word pd120;
         pd120 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd120 ))))((* (( (ptr) formal←c0190)+4) ), (* (( (ptr) gf←c0189)+39) ), pd120);
         };
SOURCE(5406, 31)
      {
         word pd121;
         pd121 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+27) );
         version←v5612 = (word) ( *( (fPt) ((*  (ptr) pd121 ))))((* ((( (ptr) formal←c0190)+4)) ), pd121);
         };
SOURCE(5439, 41)
      {
         word pd122;
         word x123;
         word x125;
         float tf126;
         word x127;
         pd122 = (* (( (ptr) (* (( (ptr) gf←c0189)+75)/* var←c26940 */  ))+6) );
         *(float*)&version←v5612 = (float)(int)(word) ( *( (fPt) ((*  (ptr) pd122 ))))((
               tf126 = (
                  x123 = version←v5612,  *(float*)&x123
                  ) * (
                  x125 = (*  (ptr) &fc124 ),  *(float*)&x125
                  ),  *(word*)&tf126
               ), pd122) / (
            x127 = (*  (ptr) &fc124 ),  *(float*)&x127
            );
         };
SOURCE(5526, 41)
      {
         word x128;
         word x130;
         if (((
            x128 = version←v5612,  *(float*)&x128
            ) >= (
            x130 = (*  (ptr) &fc129 ),  *(float*)&x130
            ))) {
SOURCE(5553, 14)
            (void) SkipOptions←P240((* ((( (ptr) formal←c0190)+4)) ));
            };
         };
SOURCE(5569, 34)
      {
         word pd131;
         pd131 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd131 ))))((* (( (ptr) formal←c0190)+4) ), (* (( (ptr) gf←c0189)+40) ), pd131);
         };
SOURCE(5605, 25)
      {
         word pd132;
         pd132 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd132 ))))((* (( (ptr) formal←c0190)+4) ), 91, pd132);
         };
SOURCE(5632, 28)
      {
         word pd133;
         pd133 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+25) );
         count←v5640 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))((* ((( (ptr) formal←c0190)+4)) ), pd133);
         };
SOURCE(5662, 27)
      {
         word pd134;
         pd134 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd134 ))))((* (( (ptr) formal←c0190)+4) ), (* (( (ptr) gf←c0189)+41) ), pd134);
         };
SOURCE(5691, 27)
      {
         word pd135;
         pd135 = (* (( (ptr) (* (( (ptr) gf←c0189)+74)/* var←c26812 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd135 ))))((* ((( (ptr) formal←c0190)+4)) ), pd135);
         };
SOURCE(5720, 50)
      {
         W2 var←c27004;
         {
            word pd136;
            pd136 = (* (( (ptr) (* (( (ptr) gf←c0189)+76)/* var←c26972 */  ))+20) );
            (void) ( *( (fPt) ((*  (ptr) pd136 ))))((word) (&var←c27004), pd136);
            };
         finger←v5696 = var←c27004.f1;
         newEntities←v5724 = var←c27004.f0;
         };
SOURCE(5772, 168)
      {
         register word i←v5852 = 1;
         register word noName←c27036;
         noName←c27036 = count←v5640;
         if ((i←v5852 > noName←c27036)) {
            goto lab←L100022;
            };
         lab←L100025: ;
SOURCE(5799, 49)
         entity←v5668 = (word) FileinEntity←P300((* (( (ptr) formal←c0190)+4) ), version←v5612, (* (( (ptr) formal←c0190)+6) ), (* (
               ( (ptr) formal←c0190)+7) ));
SOURCE(5850, 90)
         if ((entity←v5668 != 0)) {
SOURCE(5869, 71)
            {
               W2 var←c27068;
               {
                  word pd137;
                  pd137 = (* (( (ptr) (* (( (ptr) gf←c0189)+76)/* var←c26972 */  ))+21) );
                  (void) ( *( (fPt) ((*  (ptr) pd137 ))))((word) &var←c27068, entity←v5668, newEntities←v5724, finger←v5696, pd137);
                  };
               finger←v5696 = var←c27068.f1;
               newEntities←v5724 = var←c27068.f0;
               };
            };
         if ((i←v5852 >= noName←c27036)) {
            goto lab←L100022;
            };
         i←v5852 = (i←v5852 + 1);
         goto lab←L100025;
         lab←L100022: ;
         };
SOURCE(5951, 11)
      {
         word pd138;
         pd138 = (* (( (ptr) (* (( (ptr) gf←c0189)+65)/* var←c25980 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd138 ))))((* (( (ptr) formal←c0190)+4) ), 0, pd138);
         };
SOURCE(5964, 37)
      {
         word pd139;
         pd139 = (* (( (ptr) (* (( (ptr) gf←c0189)+66)/* var←c26012 */  ))+10) );
         (void) ( *( (fPt) ((*  (ptr) pd139 ))))((* (( (ptr) formal←c0190)+5) ), newEntities←v5724,  (word) -1, pd139);
         };
SOURCE(6003, 23)
      (* (( (ptr) formal←c0190)+8) ) = 1;
      (* (( (ptr) formal←c0190)+9) ) = (* (( (ptr) formal←c0190)+9) );
      return(5);
      };
   /* c2c skipped dead code */ 
   }

static void SkipOptions←P240(f←v4140)
   word f←v4140;
   {
   register ptr gf←c27868 =  (ptr) &globalframe;
   word keyWord←v5896 = 0;
   word option←v5924 = 0;
   word good←v5952;
   word nextChar←v5980;
   word twoCRsFound←v6008 = 0;
   /* SkipOptions: */ 
SOURCE(6074, 605)
SOURCE(6194, 485)
   lab←L100029: ;
   if ((0 == twoCRsFound←v6008)) {
      }
   else {
      goto lab←L100027;
      };
SOURCE(6215, 42)
   {
      W2 var←c27100;
      {
         word pd140;
         pd140 = (* (( (ptr) (* (( (ptr) gf←c27868)+74)/* var←c26812 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd140 ))))((word) &var←c27100, f←v4140, pd140);
         };
      good←v5952 = var←c27100.f1;
      keyWord←v5896 = var←c27100.f0;
      };
SOURCE(6259, 114)
   if ((0 == good←v5952)) {
SOURCE(6278, 25)
      {
         word pd141;
         pd141 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+19) );
         nextChar←v5980 = (word) ( *( (fPt) ((*  (ptr) pd141 ))))(f←v4140, pd141);
         };
SOURCE(6305, 68)
      if ((0 != (word) IsEndLine←P360(nextChar←v5980))) {
SOURCE(6335, 18)
         {
            word var←c27132;
            word pd142;
            pd142 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+11) );
            var←c27132 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(f←v4140, pd142);
            };
SOURCE(6355, 18)
         twoCRsFound←v6008 = 1;
         };
SOURCE(6378, 4)
      goto lab←L100029;
      };
SOURCE(6385, 39)
   {
      word pd143;
      pd143 = (* (( (ptr) (* (( (ptr) gf←c27868)+74)/* var←c26812 */  ))+7) );
      good←v5952 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(f←v4140, pd143);
      };
SOURCE(6426, 114)
   if ((0 == good←v5952)) {
SOURCE(6445, 25)
      {
         word pd144;
         pd144 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+19) );
         nextChar←v5980 = (word) ( *( (fPt) ((*  (ptr) pd144 ))))(f←v4140, pd144);
         };
SOURCE(6472, 68)
      if ((0 != (word) IsEndLine←P360(nextChar←v5980))) {
SOURCE(6502, 18)
         {
            word var←c27164;
            word pd145;
            pd145 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+11) );
            var←c27164 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))(f←v4140, pd145);
            };
SOURCE(6522, 18)
         twoCRsFound←v6008 = 1;
         };
SOURCE(6545, 4)
      goto lab←L100029;
      };
SOURCE(6552, 30)
   {
      word pd146;
      pd146 = (* (( (ptr) (* (( (ptr) gf←c27868)+74)/* var←c26812 */  ))+11) );
      option←v5924 = (word) ( *( (fPt) ((*  (ptr) pd146 ))))(f←v4140, pd146);
      };
SOURCE(6584, 25)
   {
      word pd147;
      pd147 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+19) );
      nextChar←v5980 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))(f←v4140, pd147);
      };
SOURCE(6611, 68)
   if ((0 != (word) IsEndLine←P360(nextChar←v5980))) {
SOURCE(6641, 18)
      {
         word var←c27196;
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c27868)+65)/* var←c25980 */  ))+11) );
         var←c27196 = (word) ( *( (fPt) ((*  (ptr) pd148 ))))(f←v4140, pd148);
         };
SOURCE(6661, 18)
      twoCRsFound←v6008 = 1;
      };
   goto lab←L100029;
   lab←L100027: ;
   }

static word FileinEntity←P300(f←v4200, version←v4228, router←v4256, camera←v4284)
   word f←v4200;
   word version←v4228;
   word router←v4256;
   word camera←v4284;
   {
   register ptr gf←c27900 =  (ptr) &globalframe;
   word entity←v4328;
   word nextWord←v6052 = 0;
   /* FileinEntity: */ 
SOURCE(6697, 888)
SOURCE(6697, 888)
   entity←v4328 = 0;
SOURCE(6839, 746)
   {
      word x149;
      word x151;
      if (((
         x149 = version←v4228,  *(float*)&x149
         ) > (
         x151 = (*  (ptr) &fc150 ),  *(float*)&x151
         ))) {
SOURCE(6867, 391)
         {
            word x152;
            word x154;
            if (((
               x152 = version←v4228,  *(float*)&x152
               ) >= (
               x154 = (*  (ptr) &fc153 ),  *(float*)&x154
               ))) {
SOURCE(6896, 59)
               {
                  word pd155;
                  pd155 = (* (( (ptr) (* (( (ptr) gf←c27900)+69)/* var←c26300 */  ))+70) );
                  entity←v4328 = (word) ( *( (fPt) ((*  (ptr) pd155 ))))(f←v4200, version←v4228, router←v4256, camera←v4284, 0, pd155);
                  };
               }
            else {
SOURCE(6966, 32)
               {
                  word pd156;
                  pd156 = (* (( (ptr) (* (( (ptr) gf←c27900)+74)/* var←c26812 */  ))+8) );
                  nextWord←v6052 = (word) ( *( (fPt) ((*  (ptr) pd156 ))))(f←v4200, pd156);
                  };
               {
                  word pd157;
                  pd157 = (* (( (ptr) (* (( (ptr) gf←c27900)+61)/* var←c25692 */  ))+8) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd157 ))))(nextWord←v6052, (* (( (ptr) gf←c27900)+42) ), 1, pd157))) {
SOURCE(7053, 108)
                     {
                        word class←v6096;
SOURCE(7055, 53)
                        {
                           word pd158;
                           pd158 = (* (( (ptr) (* (( (ptr) gf←c27900)+77)/* var←c27228 */  ))+7) );
                           class←v6096 = (word) ( *( (fPt) ((*  (ptr) pd158 ))))((* ((( (ptr) gf←c27900)+43)) ), pd158);
                           };
SOURCE(7110, 49)
                        {
                           word pd159;
                           pd159 = (* (( (ptr) class←v6096)+20) );
                           entity←v4328 = (word) ( *( (fPt) ((*  (ptr) pd159 ))))(f←v4200, version←v4228, router←v4256, camera←v4284, pd159);
                           };
                        };
                     }
                  else {
                     {
                        word pd160;
                        pd160 = (* (( (ptr) (* (( (ptr) gf←c27900)+61)/* var←c25692 */  ))+8) );
                        if ((0 != (word) ( *( (fPt) ((*  (ptr) pd160 ))))(nextWord←v6052, (* (( (ptr) gf←c27900)+44) ), 1, pd160))) {
SOURCE(7199, 59)
                           {
/*1*/   word pd161;
/*1*/   pd161 = (* (( (ptr) (* (( (ptr) gf←c27900)+69)/* var←c26300 */  ))+70) );
/*1*/   entity←v4328 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))(f←v4200, version←v4228, router←v4256, camera←v4284, 0, pd161);
/*1*/   };
                           }
                        else {
SOURCE(7274, 6)
                           (void) XR←RaiseUnnamedError();
                           };
                        };
                     };
                  };
               };
            };
         }
      else {
SOURCE(7291, 32)
         {
            word pd162;
            pd162 = (* (( (ptr) (* (( (ptr) gf←c27900)+74)/* var←c26812 */  ))+8) );
            nextWord←v6052 = (word) ( *( (fPt) ((*  (ptr) pd162 ))))(f←v4200, pd162);
            };
         {
            word pd163;
            pd163 = (* (( (ptr) (* (( (ptr) gf←c27900)+61)/* var←c25692 */  ))+8) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd163 ))))(nextWord←v6052, (* (( (ptr) gf←c27900)+42) ), 1, pd163))) {
SOURCE(7378, 108)
               {
                  word class←v6140;
SOURCE(7380, 53)
                  {
                     word pd164;
                     pd164 = (* (( (ptr) (* (( (ptr) gf←c27900)+77)/* var←c27228 */  ))+7) );
                     class←v6140 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((* ((( (ptr) gf←c27900)+43)) ), pd164);
                     };
SOURCE(7435, 49)
                  {
                     word pd165;
                     pd165 = (* (( (ptr) class←v6140)+20) );
                     entity←v4328 = (word) ( *( (fPt) ((*  (ptr) pd165 ))))(f←v4200, version←v4228, router←v4256, camera←v4284, pd165);
                     };
                  };
               }
            else {
               {
                  word pd166;
                  pd166 = (* (( (ptr) (* (( (ptr) gf←c27900)+61)/* var←c25692 */  ))+8) );
                  if ((0 != (word) ( *( (fPt) ((*  (ptr) pd166 ))))(nextWord←v6052, (* (( (ptr) gf←c27900)+45) ), 1, pd166))) {
SOURCE(7526, 59)
                     {
                        word pd167;
                        pd167 = (* (( (ptr) (* (( (ptr) gf←c27900)+69)/* var←c26300 */  ))+70) );
                        entity←v4328 = (word) ( *( (fPt) ((*  (ptr) pd167 ))))(f←v4200, version←v4228, router←v4256, camera←v4284, 0, pd167);
                        };
                     }
                  else {
SOURCE(7601, 5)
                     (void) XR←RaiseUnnamedError();
                     };
                  };
               };
            };
         };
      };
SOURCE(6697, 888)
   return(entity←v4328);
   }

static word IsEndLine←P360(c←v4388)
   word c←v4388;
   {
   word var←c4432;
   /* IsEndLine: */ 
SOURCE(7615, 71)
SOURCE(7660, 26)
   {
      word tc168;
      if ((c←v4388 == 13)) {
         tc168 =  (word)  (unsigned) 1;
         }
      else {
         tc168 =  (word)  (unsigned) (c←v4388 == 10);
         };
      return(tc168);
      };
   }

static void NoName←Q1356(formal←c0153, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0153;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0193 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0193)+74)/* var←c26812 */  ))+4) ))) {
      {
         word position←v20608;
         word wasThere←v20636;
         word notThere←v20664;
         position←v20608 = (*  (ptr) formal←c200015 );
         wasThere←v20636 = (* (( (ptr) formal←c200015)+1) );
         notThere←v20664 = (* (( (ptr) formal←c200015)+2) );
SOURCE(5026, 152)
         {
            word var←c26844;
            {
               word var←c26876;
               word var←c26908;
               var←c26876 = XR←NewObject(12, (* (( (ptr) gf←c0193)+10) ));
               var←c26908 = var←c26876;
               (*  (ptr) var←c26908 ) = 5;
               (* (( (ptr) var←c26908)+1) ) = position←v20608;
               (* (( (ptr) var←c26908)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c0193)+10) ));
               var←c26908 = (* (( (ptr) var←c26908)+2) );
               (*  (ptr) var←c26908 ) = 11;
               (* (( (ptr) var←c26908)+1) ) = wasThere←v20636;
               (* (( (ptr) var←c26908)+2) ) = XR←NewObject(12, (* (( (ptr) gf←c0193)+10) ));
               var←c26908 = (* (( (ptr) var←c26908)+2) );
               (*  (ptr) var←c26908 ) = 11;
               (* (( (ptr) var←c26908)+1) ) = notThere←v20664;
               var←c26844 = var←c26876;
               };
            {
               word pd169;
               pd169 = (* (( (ptr) (* (( (ptr) gf←c0193)+62)/* var←c25724 */  ))+13) );
               (void) ( *( (fPt) ((*  (ptr) pd169 ))))((* (( (ptr) formal←c200012)+6) ), 0, (* (( (ptr) gf←c0193)+15) ), (* (( (ptr) gf←c0193)+33)
                   ), var←c26844, pd169);
               };
            };
SOURCE(5180, 10)
         (*  (ptr) formal←c0153 ) = 2;
         (* (( (ptr) formal←c0153)+1) ) = 6;
         return;
         };
      };
   (*  (ptr) formal←c0153 ) = 0;
   (* (( (ptr) formal←c0153)+1) ) = 0;
   return;
   }

static void NoName←Q1416(formal←c0159, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0159;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0194 =  (ptr) &globalframe;
   if ((formal←c200009 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0194)+64)/* var←c25948 */  ))+4) ) ))) {
      {
         W4 error←v19020;
         error←v19020 = (*  (W4Pt) formal←c200011 );
SOURCE(2665, 89)
         if ((error←v19020.f0 != 1)) {
SOURCE(2694, 24)
            {
               word pd170;
               pd170 = (* (( (ptr) (* (( (ptr) gf←c0194)+65)/* var←c25980 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd170 ))))((* (( (ptr) (*  (ptr) formal←c200008 ))+10) ), (* (( (ptr) gf←c0194)+29) ), 0, 2147483647, pd170)
               ;
               };
SOURCE(2720, 34)
            {
               word pd171;
               pd171 = (* (( (ptr) (* (( (ptr) gf←c0194)+65)/* var←c25980 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd171 ))))((* (( (ptr) (*  (ptr) formal←c200008 ))+10) ), error←v19020.f2, 0, 2147483647, pd171)
               ;
               };
SOURCE(2756, 9)
            (*  (ptr) formal←c0159 ) = 2;
            (* (( (ptr) formal←c0159)+1) ) = 4;
            return;
            };
         };
      };
   (*  (ptr) formal←c0159 ) = 0;
   (* (( (ptr) formal←c0159)+1) ) = 0;
   return;
   }

static void NoName←Q1476(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←c0195 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0195)+70)/* var←c26396 */  ))+4) ))) {
      {
         word errorMsg←v17696;
         errorMsg←v17696 = (*  (ptr) formal←c200007 );
SOURCE(3788, 14)
         (* (( (ptr) formal←c200004)+5) ) = errorMsg←v17696;
SOURCE(3804, 12)
         (*  (ptr) formal←c0165 ) = 2;
         (* (( (ptr) formal←c0165)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0165 ) = 0;
   (* (( (ptr) formal←c0165)+1) ) = 0;
   return;
   }

static void NoName←Q1536(formal←c0170, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0170;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0196 =  (ptr) &globalframe;
   if ((formal←c200001 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0196)+64)/* var←c25948 */  ))+4) ) )) || (formal←c200001 == (* (
      ( (ptr) (* (( (ptr) gf←c0196)+65)/* var←c25980 */  ))+5) ))) {
SOURCE(1864, 10)
      (*  (ptr) formal←c0170 ) = 2;
      (* (( (ptr) formal←c0170)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0170 ) = 0;
   (* (( (ptr) formal←c0170)+1) ) = 0;
   return;
   }

/* file: GGToIPImpl, module: GGToIPImpl, compiled at: July 11, 1993 7:55:48 pm PDT */ 
extern void XR←install←GGToIPImpl() {
   NoName←Q1056();
   }
extern void XR←run←GGToIPImpl() { XR←Start(&globalframe); }