/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: March 16, 1992 3:02:21 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: TiogaOps2Impl, module: TiogaOps2Impl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [576254350,83180952] TiogaOps2Impl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; word r;} W9;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W9 r;} W25;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W16 f; W2 r;} W18;
typedef struct {unsigned u1:7, f:1;} * P1x7b;
typedef struct {unsigned u1:8, f:24;} * P24x8w;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static void NoName←Q4836();
static void TiogaOps2Impl←P0();
static word MakeName←P60();
static word CreateGeneralPattern←P120();
static word NoName←Q4896();
static word CreateSimplePattern←P180();
static word SelectionSearch←P240();
static void Found←P4296();
static void Locations←P4356();
static void NodeSearch←P300();
static void Found←P4416();
static void Locations←P4476();
static word DoSearch←P360();
static void DoLookForPattern←P4536();
static void Forwards←P4596();
static void Backwards←P4656();
static word SelectMatchingBrackets←P420();
static void NextPlaceholder←P480();
static word NextViewer←P540();
static void Position←P600();
static void Normalize←P660();
static void PrevPlace←P720();
static void Reselect←P780();
static void Save←P840();
static void Load←P900();
static word Open←P960();
static word CloseAndOpen←P1020();
static void LoadImpl←P1080();
static word OpenImpl←P1140();
static word CloseAndOpenImpl←P1200();
static void LoadPreviousFile←P1260();
static void OpenPreviousFile←P1320();
static void CloseAndOpenPreviousFile←P1380();
static void DefaultMenus←P1440();
static void Store←P1500();
static word New←P1560();
static void Empty←P1620();
static word CloseAndNewViewer←P1680();
static void Reset←P1740();
static void Jump←P1800();
static void FirstLevelOnly←P1860();
static void MoreLevels←P1920();
static void FewerLevels←P1980();
static void AllLevels←P2040();
static word GetRope←P2100();
static word Parent←P2160();
static word Root←P2220();
static word Next←P2280();
static word Previous←P2340();
static word StepForward←P2400();
static word StepBackward←P2460();
static word FirstSibling←P2520();
static word LastSibling←P2580();
static word LastWithin←P2640();
static void LastLocWithin←P2700();
static word FirstChild←P2760();
static word LastChild←P2820();
static word IsDirty←P2880();
static word IsNew←P2940();
static void ClearDirty←P3000();
static void ClearNew←P3060();
static word ViewerDoc←P3120();
static void PutProp←P3180();
static word GetProp←P3240();
static void RemProp←P3300();
static word MapProps←P3360();
static void RegisterPropProc←P3420();
static word NullRead←P3480();
static word NullWrite←P3540();
static word NullCopy←P3600();
static word NodeOrder←P3660();
static word CompareLocOrder←P3720();
static word CompareNodeOrder←P3780();
static word GetFile←P3840();
static void PutFile←P3900();
static void FreeTree←P3960();
static void SelectPoint←P4020();
static void RegisterCommand←P4080();
static void UnRegisterCommand←P4140();
static void NoName←Q4956();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\042\130\361\216\300\004\365\075\230\100\200\000\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\106\150\000\000"};
static struct {unsigned f; char r[4];} string4 = {196611, "\004F\201"};
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\164\000\000"};
static struct {unsigned f; char r[16];} string7 = {851981, "\006\005\000\001\004\001\054\001\070\001\100\114\001\000\000"};
static struct {unsigned f; char r[8];} string8 = {327688, "**#**\000\000"};
static struct {unsigned f; char r[32];} string9 = {1966112, "  Using looks from first char.\000"};
static struct {unsigned f; char r[12];} string10 = {589836, "ViewerDoc\000\000"};
static struct {unsigned f; char r[44];} string11 = {2818092, "Search pattern does not have uniform looks."};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\042\130\361\216\300\004\365\075\230\100\164\000\000"};
static struct {unsigned f; char r[8];} string13 = {262148, "\004\200x\000\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\234\060\361\073\300\103\025\207\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\375\366\273\111\300\156\046\321\053\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\165\053\345\211\300\333\235\216\021\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300R-\356\251\300YX]$@h\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\071\221\120\257\300\230\321\322\204\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\255\037\131\057\300\313\250\372\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\3004+\202s\300vm?\203@h\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\350\261\325\141\300\201\034\054\100\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\115\337\006\176\300\345\373\131\011\100\164\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\254\115\304\364\300\360\125\113\107\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\233\251\177\064\300\273\157\236\236\100\150\000\000"};
static struct {unsigned f; char r[8];} string37 = {1416195943, "aOps"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\100\150\000\000"};
static struct {unsigned f; char r[24];} string39 = {1441816, "\211\012\011\106\151\156\144\145\162\122\145\143\300\136\253\306\024\300\100\114\357\174\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\054\221\365\223\300\171\063\250\230\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300hqQB\300Vy\362\001@h\000\000"};
static struct {
   word f0[16]; 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; word f38; 
   word f39; word f40; word f41; word f42; 
   word f43; word f44; word f45; word f46; 
   word f47; word f48; word f49; word f50; 
   word f51; word f52; word f53; word f54; 
   word f55; word f56; word f57; word f58; 
   word f59; word f60; word f61; word f62; 
   word f63; word f64; word f65; word f66; 
   word f67; word f68; word f69; word f70; 
   word f71; word f72; word f73; word f74; 
   word f75; word f76; word f77; word f78; 
   word f79; word f80; word f81; word f82; 
   word f83; word f84; word f85; word f86; 
   word f87; word f88; word f89; word f90; 
   word f91; word f92; word f93; word f94; 
   word f95; word f96; word f97; word f98; 
   word f99; word f100; word f101; word f102; 
   word f103; word f104; word f105; word f106; 
   word f107; word f108; word f109; word f110; 
   word f111; word f112; word f113; word f114; 
   word f115; word f116; word f117; word f118; 
   word f119; word f120; word f121; word f122; 
   word f123; word f124; word f125; word f126; 
   word f127; word f128; word f129; word f130; 
   word f131; word f132; word f133; word f134; 
   word f135; word f136; word f137; word f138; 
   word f139; word f140; word f141; word f142; 
   word f143; word f144; word f145; word f146; 
   word f147; word f148; word f149; word f150; 
   word f151; word f152; word f153; word f154; 
   word f155; word f156; word f157[28]; 
   } globalframe = {
   {0}, (word) UnRegisterCommand←P4140, 0, (word) RegisterCommand←P4080, 
   0, (word) SelectPoint←P4020, 0, (word) FreeTree←P3960, 
   0, (word) PutFile←P3900, 0, (word) GetFile←P3840, 
   0, (word) CompareNodeOrder←P3780, 0, (word) CompareLocOrder←P3720, 
   0, (word) NodeOrder←P3660, 0, (word) NullCopy←P3600, 
   0, (word) NullWrite←P3540, 0, (word) NullRead←P3480, 
   0, (word) RegisterPropProc←P3420, 0, (word) MapProps←P3360, 
   0, (word) RemProp←P3300, 0, (word) GetProp←P3240, 
   0, (word) PutProp←P3180, 0, (word) ViewerDoc←P3120, 
   0, (word) ClearNew←P3060, 0, (word) ClearDirty←P3000, 
   0, (word) IsNew←P2940, 0, (word) IsDirty←P2880, 
   0, (word) LastChild←P2820, 0, (word) FirstChild←P2760, 
   0, (word) LastLocWithin←P2700, 0, (word) LastWithin←P2640, 
   0, (word) LastSibling←P2580, 0, (word) FirstSibling←P2520, 
   0, (word) StepBackward←P2460, 0, (word) StepForward←P2400, 
   0, (word) Previous←P2340, 0, (word) Next←P2280, 
   0, (word) Root←P2220, 0, (word) Parent←P2160, 
   0, (word) GetRope←P2100, 0, (word) AllLevels←P2040, 
   0, (word) FewerLevels←P1980, 0, (word) MoreLevels←P1920, 
   0, (word) FirstLevelOnly←P1860, 0, (word) Jump←P1800, 
   0, (word) Reset←P1740, 0, (word) CloseAndNewViewer←P1680, 
   0, (word) Empty←P1620, 0, (word) New←P1560, 
   0, (word) Store←P1500, 0, (word) DefaultMenus←P1440, 
   0, (word) CloseAndOpenPreviousFile←P1380, 0, (word) OpenPreviousFile←P1320, 
   0, (word) LoadPreviousFile←P1260, 0, (word) CloseAndOpenImpl←P1200, 
   0, (word) OpenImpl←P1140, 0, (word) LoadImpl←P1080, 
   0, (word) CloseAndOpen←P1020, 0, (word) Open←P960, 
   0, (word) Load←P900, 0, (word) Save←P840, 
   0, (word) Reselect←P780, 0, (word) PrevPlace←P720, 
   0, (word) Normalize←P660, 0, (word) Position←P600, 
   0, (word) NextViewer←P540, 0, (word) NextPlaceholder←P480, 
   0, (word) SelectMatchingBrackets←P420, 0, (word) DoSearch←P360, 
   0, (word) NodeSearch←P300, 0, (word) SelectionSearch←P240, 
   0, (word) CreateSimplePattern←P180, 0, (word) CreateGeneralPattern←P120, 
   0, (word) MakeName←P60, 0, (word) TiogaOps2Impl←P0, 
   0, 2147483647, {0}
   };

static void NoName←Q4836()
   {
   register ptr gf←c0396 =  (ptr) &globalframe;
   word var←c44796;
   (* (( (ptr) gf←c0396)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0396)+5) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0396)+7) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string2);
   (* (( (ptr) gf←c0396)+9) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (*  (ptr) (( (bPt) gf←c0396)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0396)+7) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0396)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0396)+7) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0396)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0396)+7) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0396)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0396)+7) ), (word) &string11);
   (void) XR←DeclareGlobalFrame((word) "TiogaOps2Impl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
      , (word) (( (bPt) gf←c0396)+616)/* var←c41532 */ );
   var←c44796 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string14)), 16);
   (* (( (ptr) gf←c0396)+161)/* var←c41692 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67372289);
   (void) XR←ImportProcS(var←c44796, 67895555);
   var←c44796 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string15)), 23);
   (* (( (ptr) gf←c0396)+180)/* var←c44444 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67637762);
   var←c44796 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string16)), 7);
   (* (( (ptr) gf←c0396)+164)/* var←c41820 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 524546);
   var←c44796 = (word) XR←ImportInterface((word) "NodeProps", (word) XR←GetTypeIndexS((word) (&string17)), 28);
   (* (( (ptr) gf←c0396)+179)/* var←c44156 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67638274);
   (void) XR←ImportProcS(var←c44796, 67638018);
   (void) XR←ImportProcS(var←c44796, 67637762);
   (void) XR←ImportProcS(var←c44796, 1052932);
   (void) XR←ImportProcS(var←c44796, 68158212);
   (void) XR←ImportProcS(var←c44796, 67633410);
   (void) XR←ImportProcS(var←c44796, 786435);
   var←c44796 = (word) XR←ImportInterface((word) "NodeStyleOps", (word) XR←GetTypeIndexS((word) (&string18)), 23);
   (* (( (ptr) gf←c0396)+165)/* var←c41948 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67375105);
   var←c44796 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string19)), 40);
   (* (( (ptr) gf←c0396)+181)/* var←c44636 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67371265);
   var←c44796 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string20)), 43);
   (* (( (ptr) gf←c0396)+160)/* var←c41660 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67373313);
   var←c44796 = (word) XR←ImportInterface((word) "TEditDocument", (word) XR←GetTypeIndexS((word) (&string21)), 6);
   (* (( (ptr) gf←c0396)+178)/* var←c44092 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 262657);
   (void) XR←ImportProcS(var←c44796, 68157700);
   var←c44796 = (word) XR←ImportInterface((word) "TEditDocumentPrivate", (word) XR←GetTypeIndexS((word) (&string22)), 67);
   (* (( (ptr) gf←c0396)+175)/* var←c43164 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 1321221);
   (void) XR←ImportProcS(var←c44796, 67374337);
   (void) XR←ImportProcS(var←c44796, 264449);
   (void) XR←ImportProcS(var←c44796, 67635970);
   (void) XR←ImportProcS(var←c44796, 532738);
   (void) XR←ImportProcS(var←c44796, 533250);
   (void) XR←ImportProcS(var←c44796, 269825);
   (void) XR←ImportProcS(var←c44796, 269569);
   (void) XR←ImportProcS(var←c44796, 269313);
   (void) XR←ImportProcS(var←c44796, 67638530);
   (void) XR←ImportProcS(var←c44796, 67900163);
   (void) XR←ImportProcS(var←c44796, 67901699);
   (void) XR←ImportProcS(var←c44796, 68161284);
   (void) XR←ImportProcS(var←c44796, 68163332);
   (void) XR←ImportProcS(var←c44796, 1321477);
   (void) XR←ImportProcS(var←c44796, 1312005);
   (void) XR←ImportProcS(var←c44796, 1312261);
   var←c44796 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string23)), 44);
   (* (( (ptr) gf←c0396)+170)/* var←c42300 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 527618);
   (void) XR←ImportProcS(var←c44796, 789507);
   (void) XR←ImportProcS(var←c44796, 269825);
   (void) XR←ImportProcS(var←c44796, 134487809);
   (void) XR←ImportProcS(var←c44796, 134488577);
   (void) XR←ImportProcS(var←c44796, 134488321);
   (void) XR←ImportProcS(var←c44796, 134488065);
   (void) XR←ImportProcS(var←c44796, 134489345);
   var←c44796 = (word) XR←ImportInterface((word) "TEditInputOps", (word) XR←GetTypeIndexS((word) (&string24)), 66);
   (* (( (ptr) gf←c0396)+172)/* var←c42492 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67382529);
   (void) XR←ImportProcS(var←c44796, 135802630);
   (void) XR←ImportProcS(var←c44796, 67644162);
   (void) XR←ImportProcS(var←c44796, 524290);
   var←c44796 = (word) XR←ImportInterface((word) "TEditOps", (word) XR←GetTypeIndexS((word) (&string25)), 12);
   (* (( (ptr) gf←c0396)+169)/* var←c42268 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 263681);
   var←c44796 = (word) XR←ImportInterface((word) "TEditProfile", (word) XR←GetTypeIndexS((word) (&string26)), 19);
   (* (( (ptr) gf←c0396)+173)/* var←c42652 */  ) = var←c44796;
   var←c44796 = (word) XR←ImportInterface((word) "TEditRefresh", (word) XR←GetTypeIndexS((word) (&string27)), 3);
   (* (( (ptr) gf←c0396)+171)/* var←c42332 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 786947);
   var←c44796 = (word) XR←ImportInterface((word) "TEditScrolling", (word) XR←GetTypeIndexS((word) (&string28)), 3);
   (* (( (ptr) gf←c0396)+176)/* var←c43452 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 1048835);
   var←c44796 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string29)), 68);
   (* (( (ptr) gf←c0396)+168)/* var←c42236 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 278017);
   (void) XR←ImportProcS(var←c44796, 1316101);
   (void) XR←ImportProcS(var←c44796, 279041);
   var←c44796 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string30)), 39);
   (* (( (ptr) gf←c0396)+162)/* var←c41756 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67376641);
   (void) XR←ImportProcS(var←c44796, 1837831);
   (void) XR←ImportProcS(var←c44796, 67373313);
   (void) XR←ImportProcS(var←c44796, 67633410);
   (void) XR←ImportProcS(var←c44796, 67371521);
   var←c44796 = (word) XR←ImportInterface((word) "TextEditBogus", (word) XR←GetTypeIndexS((word) (&string31)), 1);
   (* (( (ptr) gf←c0396)+177)/* var←c43644 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67371009);
   var←c44796 = (word) XR←ImportInterface((word) "TextFind", (word) XR←GetTypeIndexS((word) (&string32)), 12);
   (* (( (ptr) gf←c0396)+167)/* var←c42076 */  ) = var←c44796;
   var←c44796 = (word) XR←ImportInterface((word) "TextLooks", (word) XR←GetTypeIndexS((word) (&string33)), 8);
   (* (( (ptr) gf←c0396)+163)/* var←c41788 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67372545);
   var←c44796 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string34)), 34);
   (* (( (ptr) gf←c0396)+174)/* var←c42748 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 67377409);
   (void) XR←ImportProcS(var←c44796, 67377153);
   (void) XR←ImportProcS(var←c44796, 134485761);
   (void) XR←ImportProcS(var←c44796, 67376641);
   (void) XR←ImportProcS(var←c44796, 67376385);
   (void) XR←ImportProcS(var←c44796, 67376129);
   (void) XR←ImportProcS(var←c44796, 67634946);
   (void) XR←ImportProcS(var←c44796, 67372545);
   (void) XR←ImportProcS(var←c44796, 67372289);
   (void) XR←ImportProcS(var←c44796, 67372033);
   (void) XR←ImportProcS(var←c44796, 67635970);
   (void) XR←ImportProcS(var←c44796, 67373569);
   var←c44796 = (word) XR←ImportInterface((word) "TiogaFind", (word) XR←GetTypeIndexS((word) (&string35)), 5);
   (* (( (ptr) gf←c0396)+166)/* var←c42044 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 273154320);
   (void) XR←ImportProcS(var←c44796, 68157444);
   var←c44796 = (word) XR←ImportInterface((word) "TiogaIO", (word) XR←GetTypeIndexS((word) (&string36)), 17);
   (* (( (ptr) gf←c0396)+182)/* var←c44668 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 403180546);
   (void) XR←ImportProcS(var←c44796, 403966722);
   var←c44796 = (word) XR←ImportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 128);
   (* (( (ptr) gf←c0396)+183)/* var←c44764 */  ) = var←c44796;
   (void) XR←ImportProcS(var←c44796, 2374919);
   var←c44796 = (word) XR←ExportInterface((word) &string37, (word) XR←GetTypeIndexS((word) (&string38)), 128);
   (* (( (ptr) gf←c0396)+184)/* var←c44828 */  ) = var←c44796;
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+560)/* var←c41308 */ , 67646722);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+552)/* var←c41276 */ , 135804422);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+544)/* var←c41244 */ , 67385089);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+80)/* var←c39388 */ , 1064451);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+336)/* var←c40412 */ , 67390721);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+328)/* var←c40380 */ , 67390977);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+320)/* var←c40348 */ , 67391233);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+312)/* var←c40316 */ , 67391489);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+304)/* var←c40284 */ , 67653890);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+296)/* var←c40252 */ , 67392001);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+288)/* var←c40220 */ , 67654402);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+280)/* var←c40188 */ , 67392513);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+272)/* var←c40156 */ , 67392769);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+264)/* var←c40124 */ , 67393025);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+248)/* var←c40060 */ , 67393281);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+240)/* var←c40028 */ , 67393537);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+200)/* var←c39868 */ , 67393793);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+256)/* var←c40092 */ , 134503681);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+376)/* var←c40572 */ , 810498);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+192)/* var←c39836 */ , 810755);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+184)/* var←c39804 */ , 67657730);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+232)/* var←c39996 */ , 67398657);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+224)/* var←c39964 */ , 67398913);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+216)/* var←c39932 */ , 290305);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+208)/* var←c39900 */ , 290561);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+120)/* var←c39548 */ , 68186114);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+112)/* var←c39516 */ , 67662082);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+584)/* var←c41404 */ , 68974087);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+576)/* var←c41372 */ , 338458377);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+592)/* var←c41436 */ , 68450309);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+600)/* var←c41468 */ , 70023435);
   (void) XR←ExportVar(var←c44796, 122, (word) (( (bPt) gf←c0396)+60)/* var←c39292 */ );
   (void) XR←ExportType((word) "FinderRec", (word) XR←GetTypeIndexS((word) (&string39)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
      );
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+72)/* var←c39356 */ , 818179);
   var←c44796 = (word) XR←ExportInterface((word) "TiogaMenuOps", (word) XR←GetTypeIndexS((word) (&string40)), 25);
   (* (( (ptr) gf←c0396)+184)/* var←c44828 */  ) = var←c44796;
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+536)/* var←c41212 */ , 262145);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+528)/* var←c41180 */ , 262401);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+520)/* var←c41148 */ , 262657);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+512)/* var←c41116 */ , 262913);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+504)/* var←c41084 */ , 263169);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+496)/* var←c41052 */ , 787715);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+488)/* var←c41020 */ , 67896835);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+480)/* var←c40988 */ , 67897091);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+472)/* var←c40956 */ , 526338);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+464)/* var←c40924 */ , 67635458);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+456)/* var←c40892 */ , 67635714);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+448)/* var←c40860 */ , 264961);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+440)/* var←c40828 */ , 265217);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+432)/* var←c40796 */ , 265473);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+416)/* var←c40732 */ , 527874);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+400)/* var←c40668 */ , 265985);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+408)/* var←c40700 */ , 67375105);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+392)/* var←c40636 */ , 67375361);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+384)/* var←c40604 */ , 266753);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+368)/* var←c40540 */ , 267009);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+360)/* var←c40508 */ , 267265);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+352)/* var←c40476 */ , 267521);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+344)/* var←c40444 */ , 267777);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+424)/* var←c40764 */ , 530178);
   var←c44796 = (word) XR←ExportInterface((word) "TiogaExtraOps", (word) XR←GetTypeIndexS((word) (&string41)), 18);
   (* (( (ptr) gf←c0396)+184)/* var←c44828 */  ) = var←c44796;
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+192)/* var←c39836 */ , 786691);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+184)/* var←c39804 */ , 67633666);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+176)/* var←c39772 */ , 525058);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+168)/* var←c39740 */ , 68158468);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+160)/* var←c39708 */ , 1049860);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+152)/* var←c39676 */ , 67634690);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+144)/* var←c39644 */ , 67634946);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+136)/* var←c39612 */ , 67635202);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+104)/* var←c39484 */ , 67374593);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+96)/* var←c39452 */ , 528130);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+88)/* var←c39420 */ , 266241);
   (void) XR←ExportProcS(var←c44796, (word) (( (bPt) gf←c0396)+64)/* var←c39324 */ , 528642);
   }

static void TiogaOps2Impl←P0(formal←c0105, formal←c0104)
   word formal←c0105;
   word formal←c0104;
   {
   /* TiogaOps2Impl: */ 
   /* moved to installation proc */ 
   }

static word MakeName←P60(r←v6244)
   word r←v6244;
   {
   register ptr gf←c44860 =  (ptr) &globalframe;
   word var←c6288;
   /* MakeName: */ 
SOURCE(2567, 96)
SOURCE(2611, 52)
   {
      word pd42;
      word pd43;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c44860)+160)/* var←c41660 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd42 ))))(r←v6244, pd42))) {
         return(0);
         }
      else {
         pd43 = (* (( (ptr) (* (( (ptr) gf←c44860)+161)/* var←c41692 */  ))+5) );
         return((word) ( *( (fPt) ((*  (ptr) pd43 ))))(r←v6244, 0, 2147483647, pd43));
         };
      };
   }

static word CreateGeneralPattern←P120(target←v6408, text←v6436, looks←v6464, format←v6492, style←v6520, comment←v6548, case←v6576, formal←c0486, word←v6632, subset←v6660, addBounds←v6688)
   word target←v6408;
   word text←v6436;
   word looks←v6464;
   word format←v6492;
   word style←v6520;
   word comment←v6548;
   word case←v6576;
   word formal←c0486;
   word word←v6632;
   word subset←v6660;
   word addBounds←v6688;
   {
   W8 var←c44892;
   /* declaration of literal←v6604 skipped */ 
   register ptr gf←c44924 =  (ptr) &globalframe;
   word pattern←v6732;
   word txt←v14228;
   /* declaration of patternTxt←v14256 skipped */ 
   var←c44892.f4/* literal←v6604 */  = formal←c0486;
   /* CreateGeneralPattern: */ 
SOURCE(2740, 2093)
SOURCE(2740, 2093)
   pattern←v6732 = 0;
SOURCE(3461, 18)
   txt←v14228 = target←v6408;
SOURCE(3481, 22)
   var←c44892.f5/* patternTxt←v14256 */  = txt←v14228;
SOURCE(3505, 34)
   pattern←v6732 = XR←NewObject(44, (* (( (ptr) gf←c44924)+5) ));
SOURCE(3541, 559)
   if ( ( (0 != looks←v6464) ? (0 == text←v6436) : 0 ) ) {
SOURCE(3565, 537)
      {
         word size←v14300;
         word lks←v14328;
SOURCE(3616, 30)
         {
            word pd44;
            pd44 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+6) );
            size←v14300 = (word) ( *( (fPt) ((*  (ptr) pd44 ))))(txt←v14228, pd44);
            };
SOURCE(3648, 67)
         {
            word tc45;
            word pd46;
            if (( (int)size←v14300 ==  (int)0)) {
               tc45 =  (word) 0;
               }
            else {
               pd46 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+5) );
               tc45 =  (word) ( *( (fPt) ((*  (ptr) pd46 ))))(txt←v14228, 0, pd46);
               };
            lks←v14328 = tc45;
            };
SOURCE(3717, 48)
         {
            word pd47;
            pd47 = (* (( (ptr) (* (( (ptr) gf←c44924)+163)/* var←c41788 */  ))+10) );
            (* (( (ptr) pattern←v6732)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(lks←v14328, pd47);
            };
SOURCE(3767, 196)
         {
            register word i←v14372 = 1;
            if (( (int)i←v14372 >=  (int)size←v14300)) {
               goto lab←L100000;
               };
            lab←L100003: ;
SOURCE(3794, 169)
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+5) );
               if (((word) ( *( (fPt) ((*  (ptr) pd48 ))))(txt←v14228, i←v14372, pd48) != lks←v14328)) {
SOURCE(3835, 72)
                  {
                     word pd49;
                     pd49 = (* (( (ptr) (* (( (ptr) gf←c44924)+164)/* var←c41820 */  ))+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) gf←c44924)+14) ), 1, pd49);
                     };
SOURCE(3909, 54)
                  {
                     word pd50;
                     pd50 = (* (( (ptr) (* (( (ptr) gf←c44924)+164)/* var←c41820 */  ))+5) );
                     (void) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) gf←c44924)+12) ), 0, pd50);
                     };
SOURCE(3965, 6)
                  goto lab←L100001;
                  };
               };
            i←v14372 = (i←v14372 + 1);
            if (( (int)i←v14372 <  (int)size←v14300)) {
               goto lab←L100003;
               };
            lab←L100000: ;
            lab←L100001: ;
            };
SOURCE(3983, 15)
         var←c44892.f4/* literal←v6604 */  = 0;
SOURCE(4000, 39)
         {
            word pd51;
            pd51 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+13) );
            var←c44892.f5/* patternTxt←v14256 */  = (word) ( *( (fPt) ((*  (ptr) pd51 ))))((* ((( (ptr) gf←c44924)+11)) ), pd51);
            };
SOURCE(4041, 59)
         {
            word pd52;
            pd52 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+15) );
            (void) ( *( (fPt) ((*  (ptr) pd52 ))))(0, var←c44892.f5/* patternTxt←v14256 */ , 0, lks←v14328, 0, 2147483647
               , 0, pd52);
            };
         };
      };
SOURCE(4105, 19)
   (* (( (ptr) pattern←v6732)+1) ) = text←v6436;
SOURCE(4126, 21)
   (* (( (ptr) pattern←v6732)+2) ) = looks←v6464;
SOURCE(4149, 19)
   (* (( (ptr) pattern←v6732)+4) ) = word←v6632;
SOURCE(4170, 28)
   (* (( (ptr) pattern←v6732)+3) ) = (0 == subset←v6660);
SOURCE(4200, 127)
   if ((0 == comment←v6548) || (txt←v14228 == 0)) {
      (* (( (ptr) pattern←v6732)+5) ) = 0;
      }
   else {
      if (*((int*)txt←v14228 + 9)<0) {
         (* (( (ptr) pattern←v6732)+5) ) = 2;
         }
      else {
         (* (( (ptr) pattern←v6732)+5) ) = 1;
         };
      };
SOURCE(4329, 28)
   (* (( (ptr) pattern←v6732)+6) ) = format←v6492;
SOURCE(4359, 58)
   {
      word var←c41852;
      {
         word pd53;
         pd53 = (* (( (ptr) (* (( (ptr) gf←c44924)+162)/* var←c41756 */  ))+26) );
         var←c41852 = (word) ( *( (fPt) ((*  (ptr) pd53 ))))(target←v6408, pd53);
         };
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c44924)+161)/* var←c41692 */  ))+9) );
         (* (( (ptr) pattern←v6732)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd54 ))))(var←c41852, pd54);
         };
      };
SOURCE(4419, 26)
   (* (( (ptr) pattern←v6732)+8) ) = style←v6520;
SOURCE(4447, 92)
   {
      word var←c41884;
      if ((0 == style←v6520)) {
         var←c41884 = 0;
         }
      else {
         {
            word var←c41916;
            {
               word pd55;
               pd55 = (* (( (ptr) (* (( (ptr) gf←c44924)+165)/* var←c41948 */  ))+20) );
               var←c41916 = (word) ( *( (fPt) ((*  (ptr) pd55 ))))(target←v6408, pd55);
               };
            {
               word pd56;
               pd56 = (* (( (ptr) (* (( (ptr) gf←c44924)+161)/* var←c41692 */  ))+9) );
               var←c41884 = (word) ( *( (fPt) ((*  (ptr) pd56 ))))(var←c41916, pd56);
               };
            };
         };
      (* (( (ptr) pattern←v6732)+9) ) = var←c41884;
      };
SOURCE(4541, 292)
   if (((0 != text←v6436) || (0 != looks←v6464))) {
SOURCE(4563, 270)
SOURCE(4604, 125)
      {
         word var←c41980;
         {
            word var←c42012;
            word var←c42108;
            {
               /* declaration of var←c01 skipped */ 
               var←c44892.f6/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c44924)+166)/* var←c42044 */  ))+4) );
               {
                  /* declaration of var←c02 skipped */ 
                  {
                     word var←c03;
                     {
                        word var←c0473;
                        var←c0473 = (word) &var←c44892;
                        var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q4896) ), ( ((word)  (fPt) NoName←Q4956) ), var←c0473);
                        };
                     if ((var←c03 == 2)) {
                        goto lab←L100004;
                        };
                     };
                  var←c42012 = var←c44892.f7/* var←c02 */ ;
                  };
               };
            var←c42108 = XR←NewObject(12, (* (( (ptr) gf←c44924)+4) ));
            (*  (ptr) var←c42108 ) = var←c42012;
            (* (( (ptr) var←c42108)+1) ) = case←v6576;
            (* (( (ptr) var←c42108)+2) ) = addBounds←v6688;
            var←c41980 = var←c42108;
            };
         (*  (ptr) pattern←v6732 ) = var←c41980;
         };
      goto lab←L100007;
      lab←L100004: ;
SOURCE(4802, 29)
      {
         word var←c0131 = 6;
         (void) XR←RaiseError((word) (( (bPt) gf←c44924)+60)/* var←c39292 */ , (word) &var←c0131);
         };
      lab←L100007: ;
      };
SOURCE(2740, 2093)
   return(pattern←v6732);
   }

static word NoName←Q4896(formal←c0399)
   word formal←c0399;
   {
SOURCE(4604, 125)
   {
      word pd57;
      pd57 = (* (( (ptr) formal←c0399)+6) );
      (* (( (ptr) formal←c0399)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) formal←c0399)+5) ), 0, 2147483647, (0 == (* (
            ( (ptr) formal←c0399)+4) )), pd57);
      };
   return(0);
   }

static word CreateSimplePattern←P180(target←v6792, case←v6820, literal←v6848, word←v6876, addBounds←v6904)
   word target←v6792;
   word case←v6820;
   word literal←v6848;
   word word←v6876;
   word addBounds←v6904;
   {
   register ptr gf←c44956 =  (ptr) &globalframe;
   word pattern←v6948;
   /* CreateSimplePattern: */ 
SOURCE(4840, 497)
SOURCE(4840, 497)
   pattern←v6948 = 0;
SOURCE(5210, 127)
   {
      word var←c42140;
      {
         word pd58;
         pd58 = (* (( (ptr) (* (( (ptr) gf←c44956)+162)/* var←c41756 */  ))+13) );
         var←c42140 = (word) ( *( (fPt) ((*  (ptr) pd58 ))))(target←v6792, pd58);
         };
      return((word) CreateGeneralPattern←P120(var←c42140, 1, 0, 0, 0, 0
         , case←v6820, literal←v6848, word←v6876, 1, addBounds←v6904));
      };
   }

static word SelectionSearch←P240(pattern←v7008, whichDir←v7036, interrupt←v7064, startBoundaryNode←v7092, endBoundaryNode←v7120, startBoundaryOffset←v7148, endBoundaryOffset←v7176)
   word pattern←v7008;
   word whichDir←v7036;
   word interrupt←v7064;
   word startBoundaryNode←v7092;
   word endBoundaryNode←v7120;
   word startBoundaryOffset←v7148;
   word endBoundaryOffset←v7176;
   {
   W9 var←c44988;
   register ptr gf←c45020 =  (ptr) &globalframe;
   word found←v7232;
   /* declaration of var←c42172 skipped */ 
   /* declaration of var←c42204 skipped */ 
   /* declaration of pSel←v14416 skipped */ 
   /* SelectionSearch: */ 
SOURCE(5343, 858)
   {
      word tmpAddr59;
      tmpAddr59 = (word) (( (ptr) &var←c44988)+4)/* var←c42172 */ ;
      (*  (ptr) tmpAddr59 ) = ( ((word)  (fPt) Locations←P4356) );
      (* (( (ptr) tmpAddr59) + 1) ) = 1;
      };
   {
      word tmpAddr60;
      tmpAddr60 = (word) (( (ptr) &var←c44988)+6)/* var←c42204 */ ;
      (*  (ptr) tmpAddr60 ) = ( ((word)  (fPt) Found←P4296) );
      (* (( (ptr) tmpAddr60) + 1) ) = 1;
      };
SOURCE(5609, 51)
   (* (( (ptr) &var←c44988)+8)/* pSel←v14416 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45020)+168)/* var←c42236 */  ))+4)
    ) );
SOURCE(6059, 142)
   found←v7232 = (word) DoSearch←P360(pattern←v7008, whichDir←v7036, interrupt←v7064, (word) (( (bPt) &var←c44988)+24)/* var←c42204 */ , (word) (
         ( (bPt) &var←c44988)+16)/* var←c42172 */ , startBoundaryNode←v7092
      , endBoundaryNode←v7120, startBoundaryOffset←v7148, endBoundaryOffset←v7176);
SOURCE(5343, 858)
   return(found←v7232);
   }

static void Found←P4296(tSel←v14548, formal←c45084)
   word tSel←v14548;
   word formal←c45084;
   {
   register ptr gf←c45052 =  (ptr) &globalframe;
   formal←c45084 = (formal←c45084 - 24);
   /* Found: */ 
SOURCE(5662, 296)
SOURCE(5710, 25)
   (*  (ptr) tSel←v14548 ) = (*  (ptr) (* (( (ptr) formal←c45084)+8) ) );
SOURCE(5737, 21)
   (* (( (ptr) tSel←v14548)+1) ) = (* (( (ptr) (* (( (ptr) formal←c45084)+8) ))+1) );
SOURCE(5760, 45)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c45052)+169)/* var←c42268 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))((*  (ptr) ((* (( (ptr) formal←c45084)+8) )) ), pd61);
      };
SOURCE(5807, 32)
   {
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c45052)+168)/* var←c42236 */  ))+70) );
      (void) ( *( (fPt) ((*  (ptr) pd62 ))))(tSel←v14548, pd62);
      };
SOURCE(5841, 39)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c45052)+168)/* var←c42236 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd63 ))))(tSel←v14548, 0, 0, 0, 1, pd63);
      };
SOURCE(5882, 23)
   (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45052)+170)/* var←c42300 */  ))+12) ) ) = 1;
SOURCE(5907, 51)
   {
      word pd64;
      pd64 = (* (( (ptr) (* (( (ptr) gf←c45052)+171)/* var←c42332 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd64 ))))((*  (ptr) tSel←v14548 ), 0, 0, pd64);
      };
   }

static void Locations←P4356(formal←c0153, formal←c45116)
   word formal←c0153;
   word formal←c45116;
   {
   W2 start←v14608;
   W2 end←v14636;
   formal←c45116 = (formal←c45116 - 16);
   /* Locations: */ 
SOURCE(5961, 95)
SOURCE(5961, 95)
   start←v14608.f0 = 0;
   start←v14608.f1 = 0;
SOURCE(5961, 95)
   end←v14636.f0 = 0;
   end←v14636.f1 = 0;
SOURCE(6012, 22)
   start←v14608 = (*  (W2Pt) (( (ptr) (* (( (ptr) formal←c45116)+8) ))+2) );
SOURCE(6036, 20)
   end←v14636 = (*  (W2Pt) (( (ptr) (* (( (ptr) formal←c45116)+8) ))+11) );
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0153 ) = start←v14608;
   (*  (W2Pt) (( (ptr) formal←c0153)+2) ) = end←v14636;
   return;
   }

static void NodeSearch←P300(formal←c0168, pattern←v7292, whichDir←v7320, formal←c0487, endLoc←v7376, interrupt←v7404, startBoundaryNode←v7432, endBoundaryNode←v7460, startBoundaryOffset←v7488, endBoundaryOffset←v7516)
   word formal←c0168;
   word pattern←v7292;
   word whichDir←v7320;
   W2 formal←c0487;
   W2 endLoc←v7376;
   word interrupt←v7404;
   word startBoundaryNode←v7432;
   word endBoundaryNode←v7460;
   word startBoundaryOffset←v7488;
   word endBoundaryOffset←v7516;
   {
   W14 var←c45148;
   /* declaration of startLoc←v7348 skipped */ 
   word found←v7572;
   /* declaration of start←v7600 skipped */ 
   /* declaration of end←v7628 skipped */ 
   /* declaration of var←c42364 skipped */ 
   /* declaration of var←c42396 skipped */ 
   (*  (W2Pt) (( (ptr) &var←c45148)+4)/* startLoc←v7348 */  ) = formal←c0487;
   /* NodeSearch: */ 
SOURCE(6204, 638)
   {
      word tmpAddr65;
      tmpAddr65 = (word) (( (ptr) &var←c45148)+10)/* var←c42364 */ ;
      (*  (ptr) tmpAddr65 ) = ( ((word)  (fPt) Locations←P4476) );
      (* (( (ptr) tmpAddr65) + 1) ) = 1;
      };
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c45148)+12)/* var←c42396 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) Found←P4416) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
SOURCE(6204, 638)
   (* (( (ptr) &var←c45148)+6) ) = 0;
   (* (( (ptr) &var←c45148)+7) ) = 0;
SOURCE(6204, 638)
   (* (( (ptr) &var←c45148)+8) ) = 0;
   (* (( (ptr) &var←c45148)+9) ) = 0;
SOURCE(6700, 142)
   found←v7572 = (word) DoSearch←P360(pattern←v7292, whichDir←v7320, interrupt←v7404, (word) (( (bPt) &var←c45148)+48)/* var←c42396 */ , (word) (
         ( (bPt) &var←c45148)+40)/* var←c42364 */ , startBoundaryNode←v7432
      , endBoundaryNode←v7460, startBoundaryOffset←v7488, endBoundaryOffset←v7516);
   /* removed tail goto */ 
   (*  (ptr) formal←c0168 ) = found←v7572;
   (*  (W2Pt) (( (ptr) formal←c0168)+1) ) = (*  (W2Pt) (( (ptr) &var←c45148)+6)/* start←v7600 */  );
   (*  (W2Pt) (( (ptr) formal←c0168)+3) ) = (*  (W2Pt) (( (ptr) &var←c45148)+8)/* end←v7628 */  );
   return;
   }

static void Found←P4416(tSel←v14768, formal←c45180)
   word tSel←v14768;
   word formal←c45180;
   {
   formal←c45180 = (formal←c45180 - 48);
   /* Found: */ 
SOURCE(6515, 90)
SOURCE(6563, 22)
   (*  (W2Pt) (( (ptr) formal←c45180)+6) ) = (*  (W2Pt) (( (ptr) tSel←v14768)+2) );
SOURCE(6587, 18)
   (*  (W2Pt) (( (ptr) formal←c45180)+8) ) = (*  (W2Pt) (( (ptr) tSel←v14768)+11) );
   }

static void Locations←P4476(formal←c0172, formal←c45212)
   word formal←c0172;
   word formal←c45212;
   {
   W2 start←v14828;
   W2 end←v14856;
   formal←c45212 = (formal←c45212 - 40);
   /* Locations: */ 
SOURCE(6611, 84)
SOURCE(6611, 84)
   start←v14828.f0 = 0;
   start←v14828.f1 = 0;
SOURCE(6611, 84)
   end←v14856.f0 = 0;
   end←v14856.f1 = 0;
SOURCE(6662, 33)
   start←v14828 = (*  (W2Pt) (( (ptr) formal←c45212)+4) );
   /* removed bogus assignment */ 
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0172 ) = start←v14828;
   (*  (W2Pt) (( (ptr) formal←c0172)+2) ) = end←v14856;
   return;
   }

static word DoSearch←P360(formal←c0488, formal←c0489, formal←c0490, formal←c0491, formal←c0492, formal←c0493, formal←c0494, formal←c0495, formal←c0496)
   word formal←c0488;
   word formal←c0489;
   word formal←c0490;
   word formal←c0491;
   word formal←c0492;
   word formal←c0493;
   word formal←c0494;
   word formal←c0495;
   word formal←c0496;
   {
   W25 var←c45244;
   /* declaration of pattern←v7688 skipped */ 
   /* declaration of whichDir←v7716 skipped */ 
   /* declaration of interrupt←v7744 skipped */ 
   /* declaration of foundProc←v7772 skipped */ 
   /* declaration of locationProc←v7800 skipped */ 
   /* declaration of startBoundaryNode←v7828 skipped */ 
   /* declaration of endBoundaryNode←v7856 skipped */ 
   /* declaration of startBoundaryOffset←v7884 skipped */ 
   /* declaration of endBoundaryOffset←v7912 skipped */ 
   register ptr gf←c45276 =  (ptr) &globalframe;
   /* declaration of found←v8116 skipped */ 
   /* declaration of var←c42428 skipped */ 
   /* declaration of at←v14884 skipped */ 
   /* declaration of atEnd←v14912 skipped */ 
   /* declaration of offset←v14940 skipped */ 
   /* declaration of first←v14968 skipped */ 
   /* declaration of where←v14996 skipped */ 
   /* declaration of startLoc←v15024 skipped */ 
   /* declaration of endLoc←v15052 skipped */ 
   (* (( (ptr) &var←c45244)+4)/* pattern←v7688 */  ) = formal←c0488;
   (* (( (ptr) &var←c45244)+5)/* whichDir←v7716 */  ) = formal←c0489;
   (* (( (ptr) &var←c45244)+6)/* interrupt←v7744 */  ) = formal←c0490;
   (* (( (ptr) &var←c45244)+7)/* foundProc←v7772 */  ) = formal←c0491;
   (* (( (ptr) &var←c45244)+8)/* locationProc←v7800 */  ) = formal←c0492;
   (* (( (ptr) &var←c45244)+9)/* startBoundaryNode←v7828 */  ) = formal←c0493;
   (* (( (ptr) &var←c45244)+10)/* endBoundaryNode←v7856 */  ) = formal←c0494;
   (* (( (ptr) &var←c45244)+11)/* startBoundaryOffset←v7884 */  ) = formal←c0495;
   (* (( (ptr) &var←c45244)+12)/* endBoundaryOffset←v7912 */  ) = formal←c0496;
   /* DoSearch: */ 
SOURCE(6846, 2854)
   {
      word tmpAddr67;
      tmpAddr67 = (word) (( (ptr) &var←c45244)+14)/* var←c42428 */ ;
      (*  (ptr) tmpAddr67 ) = ( ((word)  (fPt) DoLookForPattern←P4536) );
      (* (( (ptr) tmpAddr67) + 1) ) = 1;
      };
SOURCE(6846, 2854)
   (* (( (ptr) &var←c45244)+13)/* found←v8116 */  ) = 0;
SOURCE(7205, 26)
   (* (( (ptr) &var←c45244)+16)/* at←v14884 */  ) = 0;
   (* (( (ptr) &var←c45244)+17)/* atEnd←v14912 */  ) = 0;
   (* (( (ptr) &var←c45244)+18)/* offset←v14940 */  ) = 0;
SOURCE(7233, 11)
   (* (( (ptr) &var←c45244)+19)/* first←v14968 */  ) = 0;
SOURCE(7246, 11)
   (* (( (ptr) &var←c45244)+20)/* where←v14996 */  ) = 0;
SOURCE(7259, 26)
   (* (( (ptr) &var←c45244)+21) ) = 0;
   (* (( (ptr) &var←c45244)+22) ) = 0;
   (*  (W2Pt) (( (ptr) &var←c45244)+23)/* endLoc←v15052 */  ) = (*  (W2Pt) (( (ptr) &var←c45244)+21)/* startLoc←v15024 */  );
SOURCE(9647, 53)
   {
      word pd68;
      pd68 = (* (( (ptr) (* (( (ptr) gf←c45276)+172)/* var←c42492 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd68 ))))((word) (( (bPt) &var←c45244)+56)/* var←c42428 */ , 0, pd68);
      };
SOURCE(6846, 2854)
   return((* (( (ptr) &var←c45244)+13)/* found←v8116 */  ));
   }

static void DoLookForPattern←P4536(root←v15156, tSel←v15184, formal←c45372)
   word root←v15156;
   word tSel←v15184;
   word formal←c45372;
   {
   W11 var←c45308;
   register ptr gf←c45340 =  (ptr) &globalframe;
   /* declaration of var←c42524 skipped */ 
   /* declaration of var←c42556 skipped */ 
   word finder←v15212;
   /* declaration of target←v15240 skipped */ 
   /* declaration of case←v15268 skipped */ 
   /* declaration of match←v15296 skipped */ 
   formal←c45372 = (formal←c45372 - 56);
   (*  (ptr) &var←c45308 ) = formal←c45372;
   /* DoLookForPattern: */ 
SOURCE(7288, 2353)
   {
      word tmpAddr69;
      tmpAddr69 = (word) (( (ptr) &var←c45308)+4)/* var←c42524 */ ;
      (*  (ptr) tmpAddr69 ) = ( ((word)  (fPt) Backwards←P4656) );
      (* (( (ptr) tmpAddr69) + 1) ) = 1;
      };
   {
      word tmpAddr70;
      tmpAddr70 = (word) (( (ptr) &var←c45308)+6)/* var←c42556 */ ;
      (*  (ptr) tmpAddr70 ) = ( ((word)  (fPt) Forwards←P4596) );
      (* (( (ptr) tmpAddr70) + 1) ) = 1;
      };
SOURCE(7359, 31)
   finder←v15212 = (*  (ptr) (* (( (ptr) formal←c45372)+4) ) );
SOURCE(7392, 67)
   (* (( (ptr) &var←c45308)+8)/* target←v15240 */  ) =  ( (finder←v15212 != 0) ? (*  (ptr) finder←v15212 ) : 0 ) ;
SOURCE(7461, 53)
   (* (( (ptr) &var←c45308)+9)/* case←v15268 */  ) =  ( (finder←v15212 != 0) ? (* (( (ptr) finder←v15212)+1) ) : 1 ) ;
SOURCE(7516, 109)
   (* (( (ptr) &var←c45308)+10)/* match←v15296 */  ) =  (  ( (finder←v15212 != 0) ? (0 != (* (( (ptr) finder←v15212)+2) )) : 0 )  ? 3 :  ( (0 != (* (
      ( (ptr) (* (( (ptr) formal←c45372)+4) ))+4) )) ? 1 : 0 )  ) ;
SOURCE(9051, 35)
   {
      W4 var←c42588;
      {
         word pd71;
         pd71 = (* (( (ptr) formal←c45372)+8) );
         (void) ( *( (fPt) ((*  (ptr) pd71 ))))((word) (&var←c42588), pd71);
         };
      (*  (W2Pt) (( (ptr) formal←c45372)+23) ) = (*  (W2Pt) (( (ptr) &var←c42588)+2) );
      (*  (W2Pt) (( (ptr) formal←c45372)+21) ) = (*  (W2Pt) &var←c42588 );
      };
SOURCE(9088, 40)
   if (((* (( (ptr) formal←c45372)+6) ) != 0)) {
SOURCE(9110, 18)
      (*  (ptr) (* (( (ptr) formal←c45372)+6) ) ) = 0;
      };
SOURCE(9130, 177)
   {
      word var←c42620;
      var←c42620 = (* (( (ptr) formal←c45372)+5) );
      switch (var←c42620) {
         case 0: 
SOURCE(9163, 10)
            (void) Forwards←P4596((word) ((( (bPt) &var←c45308)+24)/* var←c42556 */ ));
            break;
         case 1: 
SOURCE(9188, 11)
            (void) Backwards←P4656((word) ((( (bPt) &var←c45308)+16)/* var←c42524 */ ));
            break;
         case 2: 
SOURCE(9215, 10)
            (void) Forwards←P4596((word) ((( (bPt) &var←c45308)+24)/* var←c42556 */ ));
SOURCE(9227, 80)
            if (((* (( (ptr) formal←c45372)+20) ) != 0)) {
SOURCE(9245, 25)
               (* (( (ptr) formal←c45372)+5) ) = 0;
               }
            else {
SOURCE(9272, 20)
               (* (( (ptr) formal←c45372)+5) ) = 1;
SOURCE(9294, 13)
               (void) Backwards←P4656((word) ((( (bPt) &var←c45308)+16)/* var←c42524 */ ));
               };
            break;
         default: 
SOURCE(9323, 5)
            (void) XR←RaiseUnnamedError();
            break;
         };
      };
SOURCE(9330, 42)
   if (((* (( (ptr) formal←c45372)+20) ) == 0)) {
SOURCE(9348, 12)
      return;
      }
   else {
SOURCE(9360, 12)
      (* (( (ptr) formal←c45372)+13) ) = 1;
      };
SOURCE(9374, 27)
   (* (( (ptr) tSel←v15184)+2) ) = (* (( (ptr) formal←c45372)+20) );
   (* (( (ptr) tSel←v15184)+3) ) = (* (( (ptr) formal←c45372)+16) );
SOURCE(9403, 37)
   (* (( (ptr) tSel←v15184)+11) ) = (* (( (ptr) formal←c45372)+20) );
   {
      word x72;
      (* (( (ptr) tSel←v15184)+12) ) = (x72 = ((* (( (ptr) formal←c45372)+17) ) - 1),
         MAX((int)(word), 0, x72));
      };
SOURCE(9442, 103)
   if ( ( (0 == (* (( (ptr) (* (( (ptr) formal←c45372)+4) ))+2) )) ? (0 == (* (( (ptr) (* (( (ptr) formal←c45372)+4) ))+1) )) : 0 ) ) {
      (* (( (ptr) tSel←v15184)+22) ) = 3;
      }
   else {
      if (((* (( (ptr) &var←c45308)+10)/* match←v15296 */  ) == 1)) {
         (* (( (ptr) tSel←v15184)+22) ) = 2;
         }
      else {
         (* (( (ptr) tSel←v15184)+22) ) = 1;
         };
      };
SOURCE(9547, 77)
   if (((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45340)+173)/* var←c42652 */  ))+19) ) ) == 0)) {
      (* (( (ptr) tSel←v15184)+24) ) = 0;
      }
   else {
      (* (( (ptr) tSel←v15184)+24) ) = 1;
      };
SOURCE(9626, 15)
   {
      word pd73;
      pd73 = (* (( (ptr) formal←c45372)+7) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))(tSel←v15184, pd73);
      };
   }

static void Forwards←P4596(formal←c45436)
   word formal←c45436;
   {
   register ptr gf←c45404 =  (ptr) &globalframe;
   word var←c0474;
   word var←c42684;
   formal←c45436 = (formal←c45436 - 24);
   /* Forwards: */ 
SOURCE(7627, 700)
SOURCE(7646, 123)
   {
      word pd74;
      (* (( (ptr) (*  (ptr) formal←c45436 ))+18) ) = ((* (( (ptr) (*  (ptr) formal←c45436 ))+24) ) + 1);
      var←c0474 = (* (( (ptr) (*  (ptr) formal←c45436 ))+18) );
      {
         word var←c42716;
         var←c42716 = (* (( (ptr) (*  (ptr) formal←c45436 ))+23) );
         (* (( (ptr) (*  (ptr) formal←c45436 ))+19) ) = var←c42716;
         var←c42684 = var←c42716;
         };
      pd74 = (* (( (ptr) (* (( (ptr) gf←c45404)+162)/* var←c41756 */  ))+6) );
      if (( (int)var←c0474 >=  (int)(word) ( *( (fPt) ((*  (ptr) pd74 ))))(var←c42684, pd74))) {
SOURCE(7720, 35)
         {
            word pd75;
            pd75 = (* (( (ptr) (* (( (ptr) gf←c45404)+174)/* var←c42748 */  ))+14) );
            (* (( (ptr) (*  (ptr) formal←c45436 ))+19) ) = (word) ( *( (fPt) ((*  (ptr) pd75 ))))((* ((( (ptr) (*  (ptr) formal←c45436 ))+19)
               ) ), pd75);
            };
SOURCE(7757, 12)
         (* (( (ptr) (*  (ptr) formal←c45436 ))+18) ) = 0;
         };
      };
SOURCE(7772, 555)
   {
      W4 var←c42908;
      {
         word var←c42780;
         word var←c42812;
         var←c42780 = (word) MakeName←P60((* ((( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+7)) ));
         var←c42812 = (word) MakeName←P60((* ((( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+9)) ));
         {
            W18 var←c0209;
            W2 var←c42844;
            W2 var←c42876;
            (*  (ptr) (word) &var←c0209 ) = 0;
            var←c42844.f0 = (* (( (ptr) (*  (ptr) formal←c45436 ))+19) );
            var←c42844.f1 = (* (( (ptr) (*  (ptr) formal←c45436 ))+18) );
            (*  (W2Pt) (( (ptr) (word) &var←c0209) + 1) ) = var←c42844;
            var←c42876.f0 = (* (( (ptr) (*  (ptr) formal←c45436 ))+10) );
            var←c42876.f1 = (* (( (ptr) (*  (ptr) formal←c45436 ))+12) );
            (*  (W2Pt) (( (ptr) (word) &var←c0209) + 3) ) = var←c42876;
            (* (( (ptr) (word) &var←c0209) + 5) ) = (* (( (ptr) formal←c45436)+8) );
            (* (( (ptr) (word) &var←c0209) + 6) ) = (* (( (ptr) formal←c45436)+9) );
            (* (( (ptr) (word) &var←c0209) + 7) ) = (* (( (ptr) formal←c45436)+10) );
            (* (( (ptr) (word) &var←c0209) + 8) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+2) );
            (* (( (ptr) (word) &var←c0209) + 9) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+3) );
            (* (( (ptr) (word) &var←c0209) + 10) ) = ((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+5) ) != 0);
            (* (( (ptr) (word) &var←c0209) + 11) ) = ((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+5) ) == 2);
            (* (( (ptr) (word) &var←c0209) + 12) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+6) );
            (* (( (ptr) (word) &var←c0209) + 13) ) = var←c42780;
            (* (( (ptr) (word) &var←c0209) + 14) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45436 ))+4) ))+8) );
            (* (( (ptr) (word) &var←c0209) + 15) ) = var←c42812;
            (* (( (ptr) (word) &var←c0209) + 16) ) = (* (( (ptr) (* (( (ptr) gf←c45404)+165)/* var←c41948 */  ))+20) );
            (* (( (ptr) (word) &var←c0209) + 17) ) = (* (( (ptr) (*  (ptr) formal←c45436 ))+6) );
            {
               W4 var←c0210;
               {
                  word pd76;
                  pd76 = (* (( (ptr) (* (( (ptr) gf←c45404)+166)/* var←c42044 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd76 ))))((word) &var←c0210, (word) &var←c0209, pd76);
                  };
               var←c42908 = var←c0210;
               };
            };
         };
      (* (( (ptr) (*  (ptr) formal←c45436 ))+17) ) = var←c42908.f2;
      (* (( (ptr) (*  (ptr) formal←c45436 ))+16) ) = var←c42908.f1;
      (* (( (ptr) (*  (ptr) formal←c45436 ))+20) ) = var←c42908.f0;
      };
   }

static void Backwards←P4656(formal←c45500)
   word formal←c45500;
   {
   register ptr gf←c45468 =  (ptr) &globalframe;
   formal←c45500 = (formal←c45500 - 16);
   /* Backwards: */ 
SOURCE(8332, 714)
SOURCE(8352, 132)
   (* (( (ptr) (*  (ptr) formal←c45500 ))+18) ) = (* (( (ptr) (*  (ptr) formal←c45500 ))+22) );
   if (( (int)(* (( (ptr) (*  (ptr) formal←c45500 ))+22) ) ==  (int)0)) {
SOURCE(8390, 44)
      {
         word pd77;
         pd77 = (* (( (ptr) (* (( (ptr) gf←c45468)+174)/* var←c42748 */  ))+15) );
         (* (( (ptr) (*  (ptr) formal←c45500 ))+19) ) = (word) ( *( (fPt) ((*  (ptr) pd77 ))))((* (( (ptr) (*  (ptr) formal←c45500 ))+21)
             ), 0, pd77);
         };
SOURCE(8436, 20)
      (* (( (ptr) (*  (ptr) formal←c45500 ))+18) ) = 2147483647;
      }
   else {
SOURCE(8463, 21)
      (* (( (ptr) (*  (ptr) formal←c45500 ))+19) ) = (* (( (ptr) (*  (ptr) formal←c45500 ))+21) );
      };
SOURCE(8486, 560)
   {
      W4 var←c43068;
      {
         word var←c42940;
         word var←c42972;
         var←c42940 = (word) MakeName←P60((* ((( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+7)) ));
         var←c42972 = (word) MakeName←P60((* ((( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+9)) ));
         {
            W18 var←c0216;
            W2 var←c43004;
            W2 var←c43036;
            (*  (ptr) (word) &var←c0216 ) = 1;
            var←c43004.f0 = (* (( (ptr) (*  (ptr) formal←c45500 ))+9) );
            var←c43004.f1 = (* (( (ptr) (*  (ptr) formal←c45500 ))+11) );
            (*  (W2Pt) (( (ptr) (word) &var←c0216) + 1) ) = var←c43004;
            var←c43036.f0 = (* (( (ptr) (*  (ptr) formal←c45500 ))+19) );
            var←c43036.f1 = (* (( (ptr) (*  (ptr) formal←c45500 ))+18) );
            (*  (W2Pt) (( (ptr) (word) &var←c0216) + 3) ) = var←c43036;
            (* (( (ptr) (word) &var←c0216) + 5) ) = (* (( (ptr) formal←c45500)+8) );
            (* (( (ptr) (word) &var←c0216) + 6) ) = (* (( (ptr) formal←c45500)+9) );
            (* (( (ptr) (word) &var←c0216) + 7) ) = (* (( (ptr) formal←c45500)+10) );
            (* (( (ptr) (word) &var←c0216) + 8) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+2) );
            (* (( (ptr) (word) &var←c0216) + 9) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+3) );
            (* (( (ptr) (word) &var←c0216) + 10) ) = ((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+5) ) != 0);
            (* (( (ptr) (word) &var←c0216) + 11) ) = ((* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+5) ) == 2);
            (* (( (ptr) (word) &var←c0216) + 12) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+6) );
            (* (( (ptr) (word) &var←c0216) + 13) ) = var←c42940;
            (* (( (ptr) (word) &var←c0216) + 14) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) formal←c45500 ))+4) ))+8) );
            (* (( (ptr) (word) &var←c0216) + 15) ) = var←c42972;
            (* (( (ptr) (word) &var←c0216) + 16) ) = (* (( (ptr) (* (( (ptr) gf←c45468)+165)/* var←c41948 */  ))+20) );
            (* (( (ptr) (word) &var←c0216) + 17) ) = (* (( (ptr) (*  (ptr) formal←c45500 ))+6) );
            {
               W4 var←c0217;
               {
                  word pd78;
                  pd78 = (* (( (ptr) (* (( (ptr) gf←c45468)+166)/* var←c42044 */  ))+5) );
                  (void) ( *( (fPt) ((*  (ptr) pd78 ))))((word) &var←c0217, (word) &var←c0216, pd78);
                  };
               var←c43068 = var←c0217;
               };
            };
         };
      (* (( (ptr) (*  (ptr) formal←c45500 ))+17) ) = var←c43068.f2;
      (* (( (ptr) (*  (ptr) formal←c45500 ))+16) ) = var←c43068.f1;
      (* (( (ptr) (*  (ptr) formal←c45500 ))+20) ) = var←c43068.f0;
      };
   }

static word SelectMatchingBrackets←P420(before←v8176, after←v8204)
   word before←v8176;
   word after←v8204;
   {
   register ptr gf←c45532 =  (ptr) &globalframe;
   word found←v8248;
   /* SelectMatchingBrackets: */ 
SOURCE(9703, 147)
SOURCE(9787, 63)
   {
      word pd79;
      pd79 = (* (( (ptr) (* (( (ptr) gf←c45532)+172)/* var←c42492 */  ))+47) );
      found←v8248 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(before←v8176, after←v8204, pd79);
      };
SOURCE(9703, 147)
   return(found←v8248);
   }

static void NextPlaceholder←P480(formal←c0231, dir←v8308, gotoend←v8336, startBoundaryNode←v8364, endBoundaryNode←v8392, startBoundaryOffset←v8420, endBoundaryOffset←v8448)
   word formal←c0231;
   word dir←v8308;
   word gotoend←v8336;
   word startBoundaryNode←v8364;
   word endBoundaryNode←v8392;
   word startBoundaryOffset←v8420;
   word endBoundaryOffset←v8448;
   {
   register ptr gf←c45564 =  (ptr) &globalframe;
   word found←v8492;
   word wenttoend←v8520;
   /* NextPlaceholder: */ 
SOURCE(9853, 379)
SOURCE(10078, 154)
   {
      W2 var←c43100;
      {
         word pd80;
         pd80 = (* (( (ptr) (* (( (ptr) gf←c45564)+172)/* var←c42492 */  ))+51) );
         (void) ( *( (fPt) ((*  (ptr) pd80 ))))((word) &var←c43100, (dir←v8308 == 0), gotoend←v8336, startBoundaryNode←v8364, endBoundaryNode←v8392, startBoundaryOffset←v8420
            , endBoundaryOffset←v8448, pd80);
         };
      wenttoend←v8520 = var←c43100.f1;
      found←v8492 = var←c43100.f0;
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0231 ) = found←v8492;
   (* (( (ptr) formal←c0231)+1) ) = wenttoend←v8520;
   return;
   }

static word NextViewer←P540(dir←v8580)
   word dir←v8580;
   {
   register ptr gf←c45596 =  (ptr) &globalframe;
   word found←v8624;
   /* NextViewer: */ 
SOURCE(10235, 129)
SOURCE(10315, 49)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c45596)+172)/* var←c42492 */  ))+49) );
      found←v8624 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))((dir←v8580 == 0), pd81);
      };
SOURCE(10235, 129)
   return(found←v8624);
   }

static void Position←P600(viewer←v8684)
   word viewer←v8684;
   {
   register ptr gf←c45628 =  (ptr) &globalframe;
   /* Position: */ 
SOURCE(10367, 74)
SOURCE(10410, 31)
   {
      word pd82;
      pd82 = (* (( (ptr) (* (( (ptr) gf←c45628)+168)/* var←c42236 */  ))+66) );
      (void) ( *( (fPt) ((*  (ptr) pd82 ))))(viewer←v8684, pd82);
      };
   }

static void Normalize←P660(viewer←v8744)
   word viewer←v8744;
   {
   register ptr gf←c45660 =  (ptr) &globalframe;
   /* Normalize: */ 
SOURCE(10447, 77)
SOURCE(10491, 33)
   {
      W2 var←c43132;
      {
         word pd83;
         pd83 = (* (( (ptr) (* (( (ptr) gf←c45660)+170)/* var←c42300 */  ))+41) );
         (void) ( *( (fPt) ((*  (ptr) pd83 ))))((word) &var←c43132, viewer←v8744, pd83);
         };
      };
   }

static void PrevPlace←P720(viewer←v8804)
   word viewer←v8804;
   {
   register ptr gf←c45692 =  (ptr) &globalframe;
   /* PrevPlace: */ 
SOURCE(10530, 87)
SOURCE(10574, 43)
   {
      word pd84;
      pd84 = (* (( (ptr) (* (( (ptr) gf←c45692)+175)/* var←c43164 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd84 ))))(viewer←v8804, 0, 0, 0, 0, pd84);
      };
   }

static void Reselect←P780(viewer←v8864)
   word viewer←v8864;
   {
   register ptr gf←c45724 =  (ptr) &globalframe;
   /* Reselect: */ 
SOURCE(10623, 80)
SOURCE(10666, 37)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c45724)+175)/* var←c43164 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd85 ))))(viewer←v8864, 0, 0, 0, 0, pd85);
      };
   }

static void Save←P840(viewer←v8924)
   word viewer←v8924;
   {
   register ptr gf←c45756 =  (ptr) &globalframe;
   /* Save: */ 
SOURCE(10708, 72)
SOURCE(10747, 33)
   {
      word pd86;
      pd86 = (* (( (ptr) (* (( (ptr) gf←c45756)+175)/* var←c43164 */  ))+46) );
      (void) ( *( (fPt) ((*  (ptr) pd86 ))))(viewer←v8924, 0, 0, 0, 0, pd86);
      };
   }

static void Load←P900(viewer←v8984, fileName←v9012, fileNameProcViewer←v9040)
   word viewer←v8984;
   word fileName←v9012;
   word fileNameProcViewer←v9040;
   {
   register ptr gf←c45788 =  (ptr) &globalframe;
   /* Load: */ 
SOURCE(10786, 176)
SOURCE(10881, 81)
   {
      word var←c43196;
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c45788)+175)/* var←c43164 */  ))+27) );
      var←c43196 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(viewer←v8984, fileName←v9012, 0, fileNameProcViewer←v9040, pd87);
      };
   }

static word Open←P960(fileName←v9100, fileNameProcViewer←v9128, column←v9156)
   word fileName←v9100;
   word fileNameProcViewer←v9128;
   word column←v9156;
   {
   register ptr gf←c45820 =  (ptr) &globalframe;
   word var←c9200;
   /* Open: */ 
SOURCE(10968, 235)
SOURCE(11087, 116)
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c45820)+175)/* var←c43164 */  ))+19) );
      return((word) ( *( (fPt) ((*  (ptr) pd88 ))))(fileName←v9100, column←v9156, 0, fileNameProcViewer←v9128, pd88));
      };
   }

static word CloseAndOpen←P1020(viewer←v9260, fileName←v9288, fileNameProcViewer←v9316)
   word viewer←v9260;
   word fileName←v9288;
   word fileNameProcViewer←v9316;
   {
   register ptr gf←c45852 =  (ptr) &globalframe;
   word var←c9360;
   /* CloseAndOpen: */ 
SOURCE(11209, 204)
SOURCE(11329, 84)
   {
      word pd89;
      pd89 = (* (( (ptr) (* (( (ptr) gf←c45852)+175)/* var←c43164 */  ))+27) );
      return((word) ( *( (fPt) ((*  (ptr) pd89 ))))(viewer←v9260, fileName←v9288, 1, fileNameProcViewer←v9316, pd89));
      };
   }

static void LoadImpl←P1080(viewer←v9420, fileName←v9448)
   word viewer←v9420;
   word fileName←v9448;
   {
   register ptr gf←c45884 =  (ptr) &globalframe;
   /* LoadImpl: */ 
SOURCE(11419, 123)
SOURCE(11484, 58)
   {
      word var←c43292;
      word pd90;
      pd90 = (* (( (ptr) (* (( (ptr) gf←c45884)+175)/* var←c43164 */  ))+29) );
      var←c43292 = (word) ( *( (fPt) ((*  (ptr) pd90 ))))(viewer←v9420, fileName←v9448, 0, pd90);
      };
   }

static word OpenImpl←P1140(fileName←v9508, column←v9536)
   word fileName←v9508;
   word column←v9536;
   {
   register ptr gf←c45916 =  (ptr) &globalframe;
   word var←c9580;
   /* OpenImpl: */ 
SOURCE(11548, 151)
SOURCE(11637, 62)
   {
      word pd91;
      pd91 = (* (( (ptr) (* (( (ptr) gf←c45916)+175)/* var←c43164 */  ))+23) );
      return((word) ( *( (fPt) ((*  (ptr) pd91 ))))(fileName←v9508, column←v9536, 0, pd91));
      };
   }

static word CloseAndOpenImpl←P1200(viewer←v9640, fileName←v9668)
   word viewer←v9640;
   word fileName←v9668;
   {
   register ptr gf←c45948 =  (ptr) &globalframe;
   word var←c9712;
   /* CloseAndOpenImpl: */ 
SOURCE(11705, 160)
SOURCE(11795, 70)
   {
      word pd92;
      pd92 = (* (( (ptr) (* (( (ptr) gf←c45948)+175)/* var←c43164 */  ))+25) );
      return((word) ( *( (fPt) ((*  (ptr) pd92 ))))(viewer←v9640, fileName←v9668, pd92));
      };
   }

static void LoadPreviousFile←P1260(parent←v9772)
   word parent←v9772;
   {
   register ptr gf←c45980 =  (ptr) &globalframe;
   /* LoadPreviousFile: */ 
SOURCE(11871, 96)
SOURCE(11922, 45)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c45980)+175)/* var←c43164 */  ))+32) );
      (void) ( *( (fPt) ((*  (ptr) pd93 ))))(parent←v9772, pd93);
      };
   }

static void OpenPreviousFile←P1320(parent←v9832)
   word parent←v9832;
   {
   register ptr gf←c46012 =  (ptr) &globalframe;
   /* OpenPreviousFile: */ 
SOURCE(11973, 96)
SOURCE(12024, 45)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c46012)+175)/* var←c43164 */  ))+33) );
      (void) ( *( (fPt) ((*  (ptr) pd94 ))))(parent←v9832, pd94);
      };
   }

static void CloseAndOpenPreviousFile←P1380(parent←v9892)
   word parent←v9892;
   {
   register ptr gf←c46044 =  (ptr) &globalframe;
   /* CloseAndOpenPreviousFile: */ 
SOURCE(12075, 112)
SOURCE(12134, 53)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c46044)+175)/* var←c43164 */  ))+34) );
      (void) ( *( (fPt) ((*  (ptr) pd95 ))))(parent←v9892, pd95);
      };
   }

static void DefaultMenus←P1440(viewer←v9952, paint←v9980)
   word viewer←v9952;
   word paint←v9980;
   {
   register ptr gf←c46076 =  (ptr) &globalframe;
   /* DefaultMenus: */ 
SOURCE(12193, 116)
SOURCE(12261, 48)
   {
      word pd96;
      pd96 = (* (( (ptr) (* (( (ptr) gf←c46076)+175)/* var←c43164 */  ))+39) );
      (void) ( *( (fPt) ((*  (ptr) pd96 ))))(viewer←v9952, paint←v9980, pd96);
      };
   }

static void Store←P1500(viewer←v10040, fileName←v10068)
   word viewer←v10040;
   word fileName←v10068;
   {
   register ptr gf←c46108 =  (ptr) &globalframe;
   /* Store: */ 
SOURCE(12315, 112)
SOURCE(12377, 50)
   {
      word pd97;
      pd97 = (* (( (ptr) (* (( (ptr) gf←c46108)+175)/* var←c43164 */  ))+37) );
      (void) ( *( (fPt) ((*  (ptr) pd97 ))))(viewer←v10040, fileName←v10068, pd97);
      };
   }

static word New←P1560(column←v10128)
   word column←v10128;
   {
   register ptr gf←c46140 =  (ptr) &globalframe;
   word var←c10172;
   /* New: */ 
SOURCE(12433, 111)
SOURCE(12495, 49)
   {
      word pd98;
      pd98 = (* (( (ptr) (* (( (ptr) gf←c46140)+175)/* var←c43164 */  ))+15) );
      return((word) ( *( (fPt) ((*  (ptr) pd98 ))))(column←v10128, 0, pd98));
      };
   }

static void Empty←P1620(viewer←v10232)
   word viewer←v10232;
   {
   register ptr gf←c46172 =  (ptr) &globalframe;
   /* Empty: */ 
SOURCE(12550, 80)
SOURCE(12590, 40)
   {
      word pd99;
      pd99 = (* (( (ptr) (* (( (ptr) gf←c46172)+175)/* var←c43164 */  ))+13) );
      (void) ( *( (fPt) ((*  (ptr) pd99 ))))(viewer←v10232, pd99);
      };
   }

static word CloseAndNewViewer←P1680(viewer←v10292)
   word viewer←v10292;
   {
   register ptr gf←c46204 =  (ptr) &globalframe;
   word var←c10336;
   /* CloseAndNewViewer: */ 
SOURCE(12636, 126)
SOURCE(12705, 57)
   {
      word pd100;
      pd100 = (* (( (ptr) (* (( (ptr) gf←c46204)+175)/* var←c43164 */  ))+17) );
      return((word) ( *( (fPt) ((*  (ptr) pd100 ))))(viewer←v10292, pd100));
      };
   }

static void Reset←P1740(viewer←v10396)
   word viewer←v10396;
   {
   register ptr gf←c46236 =  (ptr) &globalframe;
   /* Reset: */ 
SOURCE(12768, 74)
SOURCE(12808, 34)
   {
      word pd101;
      pd101 = (* (( (ptr) (* (( (ptr) gf←c46236)+175)/* var←c43164 */  ))+45) );
      (void) ( *( (fPt) ((*  (ptr) pd101 ))))(viewer←v10396, 0, 0, 0, 0, pd101);
      };
   }

static void Jump←P1800(viewer←v10456, loc←v10484)
   word viewer←v10456;
   W2 loc←v10484;
   {
   register ptr gf←c46268 =  (ptr) &globalframe;
   /* Jump: */ 
SOURCE(12848, 103)
SOURCE(12902, 49)
   {
      word pd102;
      pd102 = (* (( (ptr) (* (( (ptr) gf←c46268)+176)/* var←c43452 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd102 ))))(viewer←v10456, loc←v10484, 1, pd102);
      };
   }

static void FirstLevelOnly←P1860(viewer←v10544)
   word viewer←v10544;
   {
   register ptr gf←c46300 =  (ptr) &globalframe;
   /* FirstLevelOnly: */ 
SOURCE(12956, 88)
SOURCE(13005, 39)
   {
      W2 var←c43484;
      {
         word pd103;
         pd103 = (* (( (ptr) (* (( (ptr) gf←c46300)+170)/* var←c42300 */  ))+36) );
         (void) ( *( (fPt) ((*  (ptr) pd103 ))))((word) &var←c43484, viewer←v10544, pd103);
         };
      };
   }

static void MoreLevels←P1920(viewer←v10604)
   word viewer←v10604;
   {
   register ptr gf←c46332 =  (ptr) &globalframe;
   /* MoreLevels: */ 
SOURCE(13048, 80)
SOURCE(13093, 35)
   {
      W2 var←c43516;
      {
         word pd104;
         pd104 = (* (( (ptr) (* (( (ptr) gf←c46332)+170)/* var←c42300 */  ))+37) );
         (void) ( *( (fPt) ((*  (ptr) pd104 ))))((word) &var←c43516, viewer←v10604, pd104);
         };
      };
   }

static void FewerLevels←P1980(viewer←v10664)
   word viewer←v10664;
   {
   register ptr gf←c46364 =  (ptr) &globalframe;
   /* FewerLevels: */ 
SOURCE(13132, 82)
SOURCE(13178, 36)
   {
      W2 var←c43548;
      {
         word pd105;
         pd105 = (* (( (ptr) (* (( (ptr) gf←c46364)+170)/* var←c42300 */  ))+38) );
         (void) ( *( (fPt) ((*  (ptr) pd105 ))))((word) &var←c43548, viewer←v10664, pd105);
         };
      };
   }

static void AllLevels←P2040(viewer←v10724)
   word viewer←v10724;
   {
   register ptr gf←c46396 =  (ptr) &globalframe;
   /* AllLevels: */ 
SOURCE(13218, 78)
SOURCE(13262, 34)
   {
      W2 var←c43580;
      {
         word pd106;
         pd106 = (* (( (ptr) (* (( (ptr) gf←c46396)+170)/* var←c42300 */  ))+35) );
         (void) ( *( (fPt) ((*  (ptr) pd106 ))))((word) &var←c43580, viewer←v10724, pd106);
         };
      };
   }

static word GetRope←P2100(node←v10784)
   word node←v10784;
   {
   register ptr gf←c46428 =  (ptr) &globalframe;
   word var←c10828;
   /* GetRope: */ 
SOURCE(13300, 91)
SOURCE(13354, 37)
   {
      word pd107;
      pd107 = (* (( (ptr) (* (( (ptr) gf←c46428)+177)/* var←c43644 */  ))+4) );
      return((word) ( *( (fPt) ((*  (ptr) pd107 ))))(node←v10784, pd107));
      };
   }

static word Parent←P2160(node←v10888)
   word node←v10888;
   {
   register ptr gf←c46460 =  (ptr) &globalframe;
   word var←c10932;
   /* Parent: */ 
SOURCE(13395, 83)
SOURCE(13447, 31)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c46460)+174)/* var←c42748 */  ))+8) );
      return((word) ( *( (fPt) ((*  (ptr) pd108 ))))(node←v10888, pd108));
      };
   }

static word Root←P2220(node←v10992)
   word node←v10992;
   {
   register ptr gf←c46492 =  (ptr) &globalframe;
   word var←c11036;
   /* Root: */ 
SOURCE(13482, 79)
SOURCE(13532, 29)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c46492)+174)/* var←c42748 */  ))+9) );
      return((word) ( *( (fPt) ((*  (ptr) pd109 ))))(node←v10992, pd109));
      };
   }

static word Next←P2280(node←v11096)
   word node←v11096;
   {
   register ptr gf←c46524 =  (ptr) &globalframe;
   word var←c11140;
   /* Next: */ 
SOURCE(13565, 79)
SOURCE(13615, 29)
   {
      word pd110;
      pd110 = (* (( (ptr) (* (( (ptr) gf←c46524)+174)/* var←c42748 */  ))+10) );
      return((word) ( *( (fPt) ((*  (ptr) pd110 ))))(node←v11096, pd110));
      };
   }

static word Previous←P2340(node←v11200, parent←v11228)
   word node←v11200;
   word parent←v11228;
   {
   register ptr gf←c46556 =  (ptr) &globalframe;
   word nx←v11272;
   /* Previous: */ 
SOURCE(13648, 111)
SOURCE(13648, 111)
   nx←v11272 = 0;
SOURCE(13726, 33)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c46556)+174)/* var←c42748 */  ))+11) );
      return((word) ( *( (fPt) ((*  (ptr) pd111 ))))(node←v11200, 0, pd111));
      };
   }

static word StepForward←P2400(node←v11332)
   word node←v11332;
   {
   register ptr gf←c46588 =  (ptr) &globalframe;
   word nx←v11376;
   /* StepForward: */ 
SOURCE(13763, 97)
SOURCE(13763, 97)
   nx←v11376 = 0;
SOURCE(13824, 36)
   {
      word pd112;
      pd112 = (* (( (ptr) (* (( (ptr) gf←c46588)+174)/* var←c42748 */  ))+14) );
      return((word) ( *( (fPt) ((*  (ptr) pd112 ))))(node←v11332, pd112));
      };
   }

static word StepBackward←P2460(node←v11436, parent←v11464)
   word node←v11436;
   word parent←v11464;
   {
   register ptr gf←c46620 =  (ptr) &globalframe;
   word back←v11508;
   /* StepBackward: */ 
SOURCE(13864, 129)
SOURCE(13864, 129)
   back←v11508 = 0;
SOURCE(13948, 45)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c46620)+174)/* var←c42748 */  ))+15) );
      return((word) ( *( (fPt) ((*  (ptr) pd113 ))))(node←v11436, parent←v11464, pd113));
      };
   }

static word FirstSibling←P2520(node←v11568)
   word node←v11568;
   {
   register ptr gf←c46652 =  (ptr) &globalframe;
   word var←c11612;
   /* FirstSibling: */ 
SOURCE(13997, 95)
SOURCE(14055, 37)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c46652)+174)/* var←c42748 */  ))+24) );
      return((word) ( *( (fPt) ((*  (ptr) pd114 ))))(node←v11568, pd114));
      };
   }

static word LastSibling←P2580(node←v11672)
   word node←v11672;
   {
   register ptr gf←c46684 =  (ptr) &globalframe;
   word var←c11716;
   /* LastSibling: */ 
SOURCE(14096, 93)
SOURCE(14153, 36)
   {
      word pd115;
      pd115 = (* (( (ptr) (* (( (ptr) gf←c46684)+174)/* var←c42748 */  ))+25) );
      return((word) ( *( (fPt) ((*  (ptr) pd115 ))))(node←v11672, pd115));
      };
   }

static word LastWithin←P2640(node←v11776)
   word node←v11776;
   {
   register ptr gf←c46716 =  (ptr) &globalframe;
   word var←c11820;
   /* LastWithin: */ 
SOURCE(14193, 91)
SOURCE(14249, 35)
   {
      word pd116;
      pd116 = (* (( (ptr) (* (( (ptr) gf←c46716)+174)/* var←c42748 */  ))+26) );
      return((word) ( *( (fPt) ((*  (ptr) pd116 ))))(node←v11776, pd116));
      };
   }

static void LastLocWithin←P2700(formal←c0315, node←v11880)
   word formal←c0315;
   word node←v11880;
   {
   register ptr gf←c46748 =  (ptr) &globalframe;
   W2 var←c11924;
   /* LastLocWithin: */ 
SOURCE(14288, 100)
SOURCE(14351, 37)
   {
      W2 var←c43996;
      {
         word pd117;
         pd117 = (* (( (ptr) (* (( (ptr) gf←c46748)+174)/* var←c42748 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd117 ))))((word) &var←c43996, node←v11880, pd117);
         };
      var←c11924 = var←c43996;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c0315 ) = var←c11924;
   return;
   }

static word FirstChild←P2760(node←v11984)
   word node←v11984;
   {
   register ptr gf←c46780 =  (ptr) &globalframe;
   word var←c12028;
   /* FirstChild: */ 
SOURCE(14395, 91)
SOURCE(14451, 35)
   {
      word pd118;
      pd118 = (* (( (ptr) (* (( (ptr) gf←c46780)+174)/* var←c42748 */  ))+28) );
      return((word) ( *( (fPt) ((*  (ptr) pd118 ))))(node←v11984, pd118));
      };
   }

static word LastChild←P2820(node←v12088)
   word node←v12088;
   {
   register ptr gf←c46812 =  (ptr) &globalframe;
   word var←c12132;
   /* LastChild: */ 
SOURCE(14490, 89)
SOURCE(14545, 34)
   {
      word pd119;
      pd119 = (* (( (ptr) (* (( (ptr) gf←c46812)+174)/* var←c42748 */  ))+29) );
      return((word) ( *( (fPt) ((*  (ptr) pd119 ))))(node←v12088, pd119));
      };
   }

static word IsDirty←P2880(node←v12192)
   word node←v12192;
   {
   word var←c12236;
   /* IsDirty: */ 
SOURCE(14583, 73)
SOURCE(14636, 20)
   return(((* (( (bPt) node←v12192)+36) ) & 1));
   }

static word IsNew←P2940(node←v12296)
   word node←v12296;
   {
   word var←c12340;
   /* IsNew: */ 
SOURCE(14660, 69)
SOURCE(14711, 18)
   return(( (((unsigned)(* (( (ptr) node←v12296)+9) ) << 8) >> 8) ));
   }

static void ClearDirty←P3000(node←v12400)
   word node←v12400;
   {
   /* ClearDirty: */ 
SOURCE(14733, 60)
SOURCE(14774, 19)
   ((P1x7b) (( (bPt) node←v12400) + 36))->f = 0;
   }

static void ClearNew←P3060(node←v12460)
   word node←v12460;
   {
   /* ClearNew: */ 
SOURCE(14797, 56)
SOURCE(14836, 17)
   ((P24x8w) (( (ptr) node←v12460) + 9))->f = 0;
   }

static word ViewerDoc←P3120(viewer←v12520)
   word viewer←v12520;
   {
   register ptr gf←c46844 =  (ptr) &globalframe;
   word root←v12564;
   word tdd←v15428;
   /* ViewerDoc: */ 
SOURCE(14857, 285)
SOURCE(14857, 285)
   root←v12564 = 0;
SOURCE(14922, 58)
   tdd←v15428 = XR←Narrow((* (( (ptr) viewer←v12520)+26) ), (* (( (ptr) gf←c46844)+9) ));
SOURCE(14982, 30)
   if ((tdd←v15428 == 0)) {
SOURCE(15000, 12)
      return(0);
      };
SOURCE(15014, 48)
   {
      word var←c44124;
      word pd120;
      pd120 = (* (( (ptr) (* (( (ptr) gf←c46844)+178)/* var←c44092 */  ))+5) );
      var←c44124 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(tdd←v15428, (* (( (ptr) gf←c46844)+13) ), 0, 0, pd120);
      };
SOURCE(15099, 15)
   root←v12564 = (*  (ptr) tdd←v15428 );
SOURCE(15116, 26)
   {
      word pd121;
      pd121 = (* (( (ptr) (* (( (ptr) gf←c46844)+178)/* var←c44092 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd121 ))))(tdd←v15428, pd121);
      };
SOURCE(14857, 285)
   return(root←v12564);
   }

static void PutProp←P3180(n←v12624, name←v12652, value←v12680)
   word n←v12624;
   word name←v12652;
   word value←v12680;
   {
   register ptr gf←c46876 =  (ptr) &globalframe;
   /* PutProp: */ 
SOURCE(15146, 94)
SOURCE(15205, 35)
   {
      word pd122;
      pd122 = (* (( (ptr) (* (( (ptr) gf←c46876)+179)/* var←c44156 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd122 ))))(n←v12624, name←v12652, value←v12680, pd122);
      };
   }

static word GetProp←P3240(n←v12756, name←v12784)
   word n←v12756;
   word name←v12784;
   {
   register ptr gf←c46908 =  (ptr) &globalframe;
   word var←c12828;
   /* GetProp: */ 
SOURCE(15243, 98)
SOURCE(15304, 37)
   {
      word pd123;
      pd123 = (* (( (ptr) (* (( (ptr) gf←c46908)+179)/* var←c44156 */  ))+5) );
      return((word) ( *( (fPt) ((*  (ptr) pd123 ))))(n←v12756, name←v12784, pd123));
      };
   }

static void RemProp←P3300(n←v12900, name←v12928)
   word n←v12900;
   word name←v12928;
   {
   register ptr gf←c46940 =  (ptr) &globalframe;
   /* RemProp: */ 
SOURCE(15345, 75)
SOURCE(15392, 28)
   {
      word pd124;
      pd124 = (* (( (ptr) (* (( (ptr) gf←c46940)+179)/* var←c44156 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd124 ))))(n←v12900, name←v12928, 0, pd124);
      };
   }

static word MapProps←P3360(n←v12988, action←v13016, formatFlag←v13044, commentFlag←v13072)
   word n←v12988;
   word action←v13016;
   word formatFlag←v13044;
   word commentFlag←v13072;
   {
   register ptr gf←c46972 =  (ptr) &globalframe;
   word var←c13116;
   /* MapProps: */ 
SOURCE(15424, 191)
SOURCE(15551, 64)
   {
      word pd125;
      pd125 = (* (( (ptr) (* (( (ptr) gf←c46972)+179)/* var←c44156 */  ))+7) );
      return((word) ( *( (fPt) ((*  (ptr) pd125 ))))(n←v12988, action←v13016, formatFlag←v13044, commentFlag←v13072, pd125));
      };
   }

static void RegisterPropProc←P3420(name←v13176, reader←v13204, writer←v13232, copier←v13260)
   word name←v13176;
   word reader←v13204;
   word writer←v13232;
   word copier←v13260;
   {
   register ptr gf←c47004 =  (ptr) &globalframe;
   /* RegisterPropProc: */ 
SOURCE(15620, 195)
SOURCE(15767, 48)
   {
      word pd126;
      pd126 = (* (( (ptr) (* (( (ptr) gf←c47004)+179)/* var←c44156 */  ))+21) );
      (void) ( *( (fPt) ((*  (ptr) pd126 ))))(name←v13176, reader←v13204, writer←v13232, copier←v13260, pd126);
      };
   }

static word NullRead←P3480(name←v33100, specs←v33128)
   word name←v33100;
   word specs←v33128;
   {
   register ptr gf←c47036 =  (ptr) &globalframe;
   word value←v33172;
   /* NullRead: */ 
SOURCE(15821, 82)
SOURCE(15821, 82)
   value←v33172 = 0;
SOURCE(15866, 37)
   {
      word var←c44252;
      word pd127;
      pd127 = (* (( (ptr) (* (( (ptr) gf←c47036)+179)/* var←c44156 */  ))+22) );
      var←c44252 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))(name←v33100, specs←v33128, pd127);
      };
SOURCE(15821, 82)
   return(value←v33172);
   }

static word NullWrite←P3540(name←v33232, value←v33260)
   word name←v33232;
   word value←v33260;
   {
   register ptr gf←c47068 =  (ptr) &globalframe;
   word specs←v33304;
   /* NullWrite: */ 
SOURCE(15906, 85)
SOURCE(15906, 85)
   specs←v33304 = 0;
SOURCE(15953, 38)
   {
      word var←c44284;
      word pd128;
      pd128 = (* (( (ptr) (* (( (ptr) gf←c47068)+179)/* var←c44156 */  ))+23) );
      var←c44284 = (word) ( *( (fPt) ((*  (ptr) pd128 ))))(name←v33232, value←v33260, pd128);
      };
SOURCE(15906, 85)
   return(specs←v33304);
   }

static word NullCopy←P3600(name←v33364, value←v33392)
   word name←v33364;
   word value←v33392;
   {
   register ptr gf←c47100 =  (ptr) &globalframe;
   word new←v33436;
   /* NullCopy: */ 
SOURCE(15994, 81)
SOURCE(15994, 81)
   new←v33436 = 0;
SOURCE(16038, 37)
   {
      word var←c44316;
      word pd129;
      pd129 = (* (( (ptr) (* (( (ptr) gf←c47100)+179)/* var←c44156 */  ))+24) );
      var←c44316 = (word) ( *( (fPt) ((*  (ptr) pd129 ))))(name←v33364, value←v33392, pd129);
      };
SOURCE(15994, 81)
   return(new←v33436);
   }

static word NodeOrder←P3660(order←v13320)
   word order←v13320;
   {
   word var←c13364;
   /* NodeOrder: */ 
SOURCE(16079, 191)
SOURCE(16156, 114)
   {
      word var←c44380;
      var←c44380 = order←v13320;
      switch (var←c44380) {
         case 0: 
            return(0);
         case 1: 
            return(1);
         case 2: 
            return(2);
         case 3: 
            return(3);
         default: 
            return((
               XR←RaiseUnnamedError(), 0
               ));
         };
      };
   }

static word CompareLocOrder←P3720(loc1←v13424, loc2←v13452)
   W2 loc1←v13424;
   W2 loc2←v13452;
   {
   register ptr gf←c47132 =  (ptr) &globalframe;
   word order←v13496;
   /* CompareLocOrder: */ 
SOURCE(16274, 273)
SOURCE(16366, 66)
   {
      word var←c44412;
      {
         word pd130;
         pd130 = (* (( (ptr) (* (( (ptr) gf←c47132)+180)/* var←c44444 */  ))+22) );
         var←c44412 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))(loc1←v13424.f0, loc2←v13452.f0, pd130);
         };
      order←v13496 = (word) NodeOrder←P3660(var←c44412);
      };
SOURCE(16434, 113)
   if ((order←v13496 == 1)) {
SOURCE(16453, 94)
      {
         word var←c44476;
         var←c44476 = loc1←v13424.f1;
         if (( (int)var←c44476 <  (int)loc2←v13452.f1)) {
            order←v13496 = 0;
            }
         else {
            if (( (int)var←c44476 ==  (int)loc2←v13452.f1)) {
               order←v13496 = 1;
               }
            else {
               order←v13496 = 2;
               };
            };
         };
      };
SOURCE(16274, 273)
   return(order←v13496);
   }

static word CompareNodeOrder←P3780(node1←v13556, node2←v13584)
   word node1←v13556;
   word node2←v13584;
   {
   register ptr gf←c47164 =  (ptr) &globalframe;
   word order←v13628;
   /* CompareNodeOrder: */ 
SOURCE(16551, 151)
SOURCE(16642, 60)
   {
      word var←c44540;
      {
         word pd131;
         pd131 = (* (( (ptr) (* (( (ptr) gf←c47164)+180)/* var←c44444 */  ))+22) );
         var←c44540 = (word) ( *( (fPt) ((*  (ptr) pd131 ))))(node1←v13556, node2←v13584, pd131);
         };
      return((word) NodeOrder←P3660(var←c44540));
      };
   }

static word GetFile←P3840(name←v13688)
   word name←v13688;
   {
   register ptr gf←c47196 =  (ptr) &globalframe;
   word root←v13732;
   /* GetFile: */ 
SOURCE(16706, 113)
SOURCE(16706, 113)
   root←v13732 = 0;
SOURCE(16765, 54)
   {
      word var←c0475;
      word var←c44604;
      W6 var←c0374;
      {
         word pd132;
         pd132 = (* (( (ptr) (* (( (ptr) gf←c47196)+181)/* var←c44636 */  ))+5) );
         var←c44604 = (word) ( *( (fPt) ((*  (ptr) pd132 ))))(name←v13688, pd132);
         };
      {
         word pd133;
         pd133 = (* (( (ptr) (* (( (ptr) gf←c47196)+182)/* var←c44668 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd133 ))))((word) &var←c0374, var←c44604, (*  (W4Pt) (( (ptr) gf←c47196)+156)/* var←c41596 */  ), pd133)
         ;
         };
      var←c0475 = var←c0374.f5;
      return(var←c0475);
      };
   }

static void PutFile←P3900(name←v13792, root←v13820)
   word name←v13792;
   word root←v13820;
   {
   register ptr gf←c47228 =  (ptr) &globalframe;
   /* PutFile: */ 
SOURCE(16825, 99)
SOURCE(16875, 49)
   {
      W6 var←c44732;
      {
         word var←c44700;
         {
            word pd134;
            pd134 = (* (( (ptr) (* (( (ptr) gf←c47228)+181)/* var←c44636 */  ))+5) );
            var←c44700 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))(name←v13792, pd134);
            };
         {
            word pd135;
            pd135 = (* (( (ptr) (* (( (ptr) gf←c47228)+182)/* var←c44668 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd135 ))))((word) &var←c44732, var←c44700, root←v13820, pd135);
            };
         };
      };
   }

static void FreeTree←P3960(root←v13880)
   word root←v13880;
   {
   register ptr gf←c47260 =  (ptr) &globalframe;
   /* FreeTree: */ 
SOURCE(16930, 65)
SOURCE(16969, 26)
   {
      word pd136;
      pd136 = (* (( (ptr) (* (( (ptr) gf←c47260)+170)/* var←c42300 */  ))+34) );
      (void) ( *( (fPt) ((*  (ptr) pd136 ))))(root←v13880, pd136);
      };
   }

static void SelectPoint←P4020(viewer←v13940, caret←v13968, which←v13996)
   word viewer←v13940;
   W2 caret←v13968;
   word which←v13996;
   {
   register ptr gf←c47292 =  (ptr) &globalframe;
   /* SelectPoint: */ 
SOURCE(16998, 200)
SOURCE(17107, 91)
   {
      word pd137;
      pd137 = (* (( (ptr) (* (( (ptr) gf←c47292)+183)/* var←c44764 */  ))+65) );
      (void) ( *( (fPt) ((*  (ptr) pd137 ))))(viewer←v13940, caret←v13968, caret←v13968, 0, 1, 0
         , which←v13996, pd137);
      };
   }

static void RegisterCommand←P4080(name←v14056, proc←v14084, before←v14112)
   word name←v14056;
   word proc←v14084;
   word before←v14112;
   {
   register ptr gf←c47324 =  (ptr) &globalframe;
   /* RegisterCommand: */ 
SOURCE(17204, 135)
SOURCE(17299, 40)
   {
      word pd138;
      pd138 = (* (( (ptr) (* (( (ptr) gf←c47324)+170)/* var←c42300 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd138 ))))(name←v14056, proc←v14084, before←v14112, pd138);
      };
   }

static void UnRegisterCommand←P4140(name←v14172, proc←v14200)
   word name←v14172;
   word proc←v14200;
   {
   register ptr gf←c47356 =  (ptr) &globalframe;
   /* UnRegisterCommand: */ 
SOURCE(17343, 110)
SOURCE(17419, 34)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c47356)+170)/* var←c42300 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd139 ))))(name←v14172, proc←v14200, pd139);
      };
   }

static void NoName←Q4956(formal←c0395, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0395;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0472 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0472)+167)/* var←c42076 */  ))+8) ))) {
      {
         word index←v36620;
         word reason←v36648;
         index←v36620 = (*  (ptr) formal←c200003 );
         reason←v36648 = (* (( (ptr) formal←c200003)+1) );
SOURCE(4729, 52)
         (*  (ptr) formal←c0395 ) = 2;
         (* (( (ptr) formal←c0395)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0395 ) = 0;
   (* (( (ptr) formal←c0395)+1) ) = 0;
   return;
   }

/* file: TiogaOps2Impl, module: TiogaOps2Impl, compiled at: March 16, 1992 3:02:19 pm PST */ 
extern void XR←install←TiogaOps2Impl() {
   NoName←Q4836();
   }
extern void XR←run←TiogaOps2Impl() { XR←Start(&globalframe); }