/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: September 2, 1993 3:30:22 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: TiogaComfortsImpl, module: TiogaComfortsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3175825031,741064996] TiogaComfortsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W2 r;} W10;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static void NoName←Q2064();
static void TiogaComfortsImpl←P0();
static word IsComment←P60();
static void CommentPrefix←P120();
static word SkipOverBackward←P180();
static void EnumerateInitialCommentLines←P240();
static void GetTrimmedLine←P912();
static void CopyrightButton←P300();
static void UpdateCopyrightNotice←P360();
static word NoName←Q2124();
static void Inner←P1116();
static word EachComment←P1176();
static void Add←P1284();
static word MakeComment←P420();
static void UpdateLastEditedLine←P480();
static word NoName←Q2184();
static void Inner←P1488();
static word EachComment←P1548();
static word GetNiceUserName←P540();
static void FindDate←P600();
static word NoName←Q2244();
static void InstallMenuButton←P660();
static void NoName←Q2304();
static void NoName←Q2364();
static void NoName←Q2424();
static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string5 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string6 = {196612, "Sep"};
static struct {unsigned f; char r[4];} string7 = {196612, "Aug"};
static struct {unsigned f; char r[4];} string8 = {196612, "Jul"};
static struct {unsigned f; char r[4];} string9 = {196612, "Jun"};
static struct {unsigned f; char r[4];} string10 = {196612, "May"};
static struct {unsigned f; char r[4];} string11 = {196612, "Apr"};
static struct {unsigned f; char r[4];} string12 = {196612, "Mar"};
static struct {unsigned f; char r[4];} string13 = {196612, "Feb"};
static struct {unsigned f; char r[4];} string14 = {196612, "Jan"};
static struct {unsigned f; char r[4];} string15 = {196612, "Oct"};
static struct {unsigned f; char r[4];} string16 = {65540, "\323\000\000"};
static struct {unsigned f; char r[4];} string17 = {196612, "Nov"};
static struct {unsigned f; char r[24];} string18 = {1376280, "UpdateCopyrightNotice\000\000"};
static struct {unsigned f; char r[4];} string19 = {196612, "Dec"};
static struct {unsigned f; char r[8];} string20 = {458760, "RedSave"};
static struct {unsigned f; char r[12];} string21 = {524300, "RedStore\000\000\000"};
static struct {unsigned f; char r[4];} string22 = {131076, "--\000"};
static struct {unsigned f; char r[4];} string23 = {131076, "//\000"};
static struct {unsigned f; char r[4];} string24 = {65540, ";\000\000"};
static struct {unsigned f; char r[4];} string25 = {131076, "(*\000"};
static struct {unsigned f; char r[4];} string26 = {131076, "*)\000"};
static struct {unsigned f; char r[4];} string27 = {131076, "/*\000"};
static struct {unsigned f; char r[4];} string28 = {131076, "*/\000"};
static struct {unsigned f; char r[4];} string29 = {131076, "\012\015\000"};
static struct {unsigned f; char r[4];} string30 = {131076, " \011\000"};
static struct {unsigned f; char r[24];} string31 = {1376280, "Tioga.CopyrightHolder\000\000"};
static struct {unsigned f; char r[20];} string32 = {1114132, "Xerox Corporation\000\000"};
static struct {unsigned f; char r[44];} string33 = {2818092, "Copyright \323 %g by %g.  All rights reserved."};
static struct {unsigned f; char r[12];} string34 = {655372, "Copyright \000"};
static struct {unsigned f; char r[4];} string35 = {196612, ", \011"};
static struct {unsigned f; char r[8];} string36 = {262152, ", %g\000\000\000"};
static struct {unsigned f; char r[4];} string37 = {196612, " c "};
static struct {unsigned f; char r[4];} string38 = {196612, " \323 "};
static struct {unsigned f; char r[8];} string39 = {327688, " (C) \000\000"};
static struct {unsigned f; char r[8];} string40 = {327688, "%g %g\000\000"};
static struct {unsigned f; char r[12];} string41 = {524300, "%g %g %g\000\000\000"};
static struct {unsigned f; char r[20];} string42 = {1048596, "Tioga.LastEdited\000\000\000"};
static struct {unsigned f; char r[4];} string43 = {65540, ",\000\000"};
static struct {unsigned f; char r[24];} string44 = {1310744, "UpdateLastEditedLine\000\000\000"};
static struct {unsigned f; char r[4];} string45 = {131076, "ST\000"};
static struct {unsigned f; char r[4];} string46 = {131076, "DT\000"};
static struct {unsigned f; char r[4];} string47 = {196612, "GMT"};
static struct {unsigned f; char r[4];} string48 = {196612, " am"};
static struct {unsigned f; char r[4];} string49 = {196612, " pm"};
static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\275\113\076\207\300\054\053\301\044\100\164\000\000"};
static struct {unsigned f; char r[12];} string51 = {655370, "\006\002\020\001\060\010\000\004\055\001\000"};
static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"};
static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\317\042\141\053\300\247\142\073\274\100\150\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[12];} string58 = {720908, "\257\300kte\023\205\204\320@h"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string62 = {851984, "\257\3004+\202s\300vm?\203@h\000\000"};
static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\054\221\365\223\300\171\063\250\230\100\150\000\000"};
static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\100\150\000\000"};
static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {
   word f0[57]; 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[3]; 
   word f86; word f87[17]; 
   } globalframe = {
   {0}, (word) InstallMenuButton←P660, 0, (word) FindDate←P600, 
   0, (word) GetNiceUserName←P540, 0, (word) UpdateLastEditedLine←P480, 
   0, (word) MakeComment←P420, 0, (word) UpdateCopyrightNotice←P360, 
   0, (word) CopyrightButton←P300, 0, (word) EnumerateInitialCommentLines←P240, 
   0, (word) SkipOverBackward←P180, 0, (word) CommentPrefix←P120, 
   0, (word) IsComment←P60, 0, (word) TiogaComfortsImpl←P0, 
   0, (word) 2, (word) 1, {0}, 
   (word) 1, {0}
   };

static void NoName←Q2064()
   {
   register ptr gf←c0274 =  (ptr) &globalframe;
   word var←c28128;
   (* (( (ptr) gf←c0274)+6) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0274)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0274)+10) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
   (*  (ptr) (( (bPt) gf←c0274)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c0274)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0274)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0274)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0274)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c0274)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c0274)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c0274)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c0274)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0274)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0274)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0274)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0274)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+10) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0274)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0274)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+10) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0274)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+10) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0274)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0274)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0274)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0274)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0274)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0274)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0274)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0274)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0274)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0274)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0274)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0274)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0274)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0274)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0274)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0274)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0274)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0274)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0274)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0274)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0274)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0274)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0274)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0274)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0274)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0274)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0274)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0274)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0274)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0274)+8) ), (word) &string49);
   (void) XR←DeclareGlobalFrame((word) "TiogaComfortsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string50, 0, (word) &string51)
      , (word) (( (bPt) gf←c0274)+316)/* var←c25216 */ );
   var←c28128 = (word) XR←ImportInterface((word) "BasicTime", (word) XR←GetTypeIndexS((word) (&string52)), 24);
   (* (( (ptr) gf←c0274)+96)/* var←c26400 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67111424);
   (void) XR←ImportProcS(var←c28128, 738464257);
   var←c28128 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string53)), 73);
   (* (( (ptr) gf←c0274)+100)/* var←c27392 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67373825);
   (void) XR←ImportProcS(var←c28128, 68689158);
   var←c28128 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string54)), 23);
   (* (( (ptr) gf←c0274)+99)/* var←c26944 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 270274052);
   (void) XR←ImportProcS(var←c28128, 68422405);
   var←c28128 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string55)), 103);
   (* (( (ptr) gf←c0274)+98)/* var←c26592 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67910402);
   (void) XR←ImportProcS(var←c28128, 68958724);
   var←c28128 = (word) XR←ImportInterface((word) "Menus", (word) XR←GetTypeIndexS((word) (&string56)), 21);
   (* (( (ptr) gf←c0274)+103)/* var←c28096 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 788995);
   (void) XR←ImportProcS(var←c28128, 788483);
   (void) XR←ImportProcS(var←c28128, 68682246);
   (void) XR←ImportProcS(var←c28128, 67634946);
   var←c28128 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string57)), 43);
   (* (( (ptr) gf←c0274)+91)/* var←c25536 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 68160516);
   (void) XR←ImportProcS(var←c28128, 68159236);
   (void) XR←ImportProcS(var←c28128, 67899907);
   (void) XR←ImportProcS(var←c28128, 67379457);
   (void) XR←ImportProcS(var←c28128, 67633666);
   (void) XR←ImportProcS(var←c28128, 68158980);
   (void) XR←ImportProcS(var←c28128, 67900419);
   (void) XR←ImportProcS(var←c28128, 67898627);
   (void) XR←ImportProcS(var←c28128, 67634434);
   (void) XR←ImportProcS(var←c28128, 67373313);
   (void) XR←ImportProcS(var←c28128, 67373825);
   (void) XR←ImportProcS(var←c28128, 67901955);
   (void) XR←ImportProcS(var←c28128, 67900675);
   (void) XR←ImportProcS(var←c28128, 68686086);
   var←c28128 = (word) XR←ImportInterface((word) "SystemNames", (word) XR←GetTypeIndexS((word) (&string58)), 9);
   (* (( (ptr) gf←c0274)+101)/* var←c27872 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67108864);
   var←c28128 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string59)), 44);
   (* (( (ptr) gf←c0274)+89)/* var←c25440 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 530690);
   (void) XR←ImportProcS(var←c28128, 789507);
   var←c28128 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string60)), 7);
   (* (( (ptr) gf←c0274)+95)/* var←c26240 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 262913);
   (void) XR←ImportProcS(var←c28128, 67895299);
   var←c28128 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string61)), 39);
   (* (( (ptr) gf←c0274)+90)/* var←c25504 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67633410);
   (void) XR←ImportProcS(var←c28128, 67376641);
   (void) XR←ImportProcS(var←c28128, 792323);
   (void) XR←ImportProcS(var←c28128, 1837831);
   (void) XR←ImportProcS(var←c28128, 792835);
   (void) XR←ImportProcS(var←c28128, 136585481);
   (void) XR←ImportProcS(var←c28128, 67377153);
   var←c28128 = (word) XR←ImportInterface((word) "TextEditBogus", (word) XR←GetTypeIndexS((word) (&string62)), 1);
   (* (( (ptr) gf←c0274)+93)/* var←c25952 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67371009);
   var←c28128 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string63)), 34);
   (* (( (ptr) gf←c0274)+92)/* var←c25920 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67374081);
   (void) XR←ImportProcS(var←c28128, 67373569);
   var←c28128 = (word) XR←ImportInterface((word) "TiogaMenuOps", (word) XR←GetTypeIndexS((word) (&string64)), 25);
   (* (( (ptr) gf←c0274)+102)/* var←c28064 */  ) = var←c28128;
   var←c28128 = (word) XR←ImportInterface((word) "TiogaOps", (word) XR←GetTypeIndexS((word) (&string65)), 128);
   (* (( (ptr) gf←c0274)+94)/* var←c26176 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67393793);
   var←c28128 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string66)), 11);
   (* (( (ptr) gf←c0274)+97)/* var←c26464 */  ) = var←c28128;
   (void) XR←ImportProcS(var←c28128, 67634178);
   }

static void TiogaComfortsImpl←P0(formal←c041, formal←c038)
   word formal←c041;
   word formal←c038;
   {
   register ptr gf←c28160 =  (ptr) &globalframe;
   /* TiogaComfortsImpl: */ 
SOURCE(882, 13200)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(12421, 11)
   {
      word var←c25376;
      word var←c25408;
      var←c25376 = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = var←c25376;
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+20) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+19) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+18) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+17) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+16) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+15) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+14) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+13) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+12) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+21) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+23) );
      (* (( (ptr) var←c25408)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c28160)+6) ));
      var←c25408 = (* (( (ptr) var←c25408)+1) );
      (*  (ptr) var←c25408 ) = (* (( (ptr) gf←c28160)+25) );
      (* (( (ptr) gf←c28160)+4)/* monthList←v3616 */  ) = var←c25376;
      };
SOURCE(13848, 17)
   (* (( (ptr) gf←c28160) + 5) ) |= 134217728;
SOURCE(13868, 39)
   (void) InstallMenuButton←P660((* (( (ptr) gf←c28160)+22) ), (word) (( (bPt) gf←c28160)+276)/* var←c25056 */ );
SOURCE(13909, 66)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c28160)+89)/* var←c25440 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd67 ))))((* (( (ptr) gf←c28160)+24) ), (word) (( (bPt) gf←c28160)+268)/* var←c25024 */ , 1, pd67)
      ;
      };
SOURCE(13977, 51)
   {
      word pd68;
      pd68 = (* (( (ptr) (* (( (ptr) gf←c28160)+89)/* var←c25440 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd68 ))))((* (( (ptr) gf←c28160)+26) ), (word) (( (bPt) gf←c28160)+252)/* var←c24960 */ , 1, pd68)
      ;
      };
SOURCE(14030, 52)
   {
      word pd69;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c28160)+89)/* var←c25440 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd69 ))))((* (( (ptr) gf←c28160)+27) ), (word) (( (bPt) gf←c28160)+252)/* var←c24960 */ , 1, pd69)
      ;
      };
   }

static word IsComment←P60(node←v3808)
   word node←v3808;
   {
   register ptr gf←c28192 =  (ptr) &globalframe;
   word var←c3852;
   /* IsComment: */ 
SOURCE(1146, 83)
SOURCE(1194, 35)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c28192)+90)/* var←c25504 */  ))+28) );
      return((word) ( *( (fPt) ((*  (ptr) pd70 ))))(node←v3808, pd70));
      };
   }

static void CommentPrefix←P120(formal←c054, rope←v4040, start←v4068)
   word formal←c054;
   word rope←v4040;
   word start←v4068;
   {
   register ptr gf←c28224 =  (ptr) &globalframe;
   W4 var←c4112;
   /* CommentPrefix: */ 
SOURCE(1324, 480)
SOURCE(1393, 411)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+21) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd71 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+28) ), 0, 1, 2147483647, pd71)
       ==  (int)2)) {
SOURCE(1430, 35)
         var←c4112.f0 = 2;
         var←c4112.f1 = 1;
         var←c4112.f2 = 0;
         var←c4112.f3 = (* (( (ptr) gf←c28224)+28) );
         /* removed tail goto */ 
         }
      else {
SOURCE(1465, 339)
         {
            word pd72;
            pd72 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+21) );
            if (( (int)(word) ( *( (fPt) ((*  (ptr) pd72 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+29) ), 0, 1, 2147483647, pd72)
             ==  (int)2)) {
SOURCE(1501, 34)
               var←c4112 = (*  (W4Pt) (( (ptr) gf←c28224)+81)/* var←c25280 */  );
               /* removed tail goto */ 
               }
            else {
SOURCE(1535, 269)
               {
                  word pd73;
                  pd73 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+21) );
                  if (( (int)(word) ( *( (fPt) ((*  (ptr) pd73 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+30) ), 0, 1, 2147483647, pd73)
                   ==  (int)1)) {
SOURCE(1568, 66)
                     {
                        W4 var←c25696;
                        {
                           W4 var←c25664;
                           {
/*1*/   word pd74;
/*1*/   pd74 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+25) );
/*1*/   var←c25664.f0 = ((word) ( *( (fPt) ((*  (ptr) pd74 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+30) ), pd74) - start←v4068);
/*1*/   };
                           var←c25664.f1 = 1;
                           var←c25664.f2 = 0;
                           var←c25664.f3 = 0;
                           var←c25696 = var←c25664;
                           };
                        var←c4112 = var←c25696;
                        /* removed tail goto */ 
                        };
                     }
                  else {
SOURCE(1634, 170)
                     {
                        word pd75;
                        pd75 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+21) );
                        if (( (int)(word) ( *( (fPt) ((*  (ptr) pd75 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+31) ), 0, 1, 2147483647, pd75)
                         ==  (int)2)) {
SOURCE(1668, 37)
                           var←c4112.f0 = 2;
                           var←c4112.f1 = 0;
                           var←c4112.f2 = (* (( (ptr) gf←c28224)+31) );
                           var←c4112.f3 = (* (( (ptr) gf←c28224)+32) );
                           /* removed tail goto */ 
                           }
                        else {
SOURCE(1705, 99)
                           {
/*1*/   word pd76;
/*1*/   pd76 = (* (( (ptr) (* (( (ptr) gf←c28224)+91)/* var←c25536 */  ))+21) );
/*1*/   if (( (int)(word) ( *( (fPt) ((*  (ptr) pd76 ))))(rope←v4040, start←v4068, (* (( (ptr) gf←c28224)+33) ), 0, 1, 2147483647, pd76)
/*1*/    ==  (int)2)) {
SOURCE(1739, 37)
/*1*/      var←c4112.f0 = 2;
/*1*/      var←c4112.f1 = 0;
/*1*/      var←c4112.f2 = (* (( (ptr) gf←c28224)+33) );
/*1*/      var←c4112.f3 = (* (( (ptr) gf←c28224)+34) );
/*1*/      /* removed tail goto */ 
/*1*/      }
/*1*/   else {
SOURCE(1776, 28)
/*1*/      var←c4112 = (*  (W4Pt) (( (ptr) gf←c28224)+85)/* var←c25344 */  );
/*1*/      /* removed tail goto */ 
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   (*  (W4Pt) formal←c054 ) = var←c4112;
   return;
   }

static word SkipOverBackward←P180(s←v4172, pos←v4200, skip←v4228)
   word s←v4172;
   word pos←v4200;
   word skip←v4228;
   {
   register ptr gf←c28256 =  (ptr) &globalframe;
   word var←c4272;
   word skipText←v5256;
   word skiplen←v5284;
   word slen←v5312;
   word start←v5340;
   /* SkipOverBackward: */ 
SOURCE(1810, 502)
SOURCE(1897, 36)
   {
      word pd77;
      pd77 = (* (( (ptr) (* (( (ptr) gf←c28256)+91)/* var←c25536 */  ))+30) );
      skipText←v5256 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))(skip←v4228, 0, 2147483647, pd77);
      };
SOURCE(1935, 60)
   {
      word tc78;
      word pd79;
      word idx80;
      if ((skipText←v5256 == 0)) {
         tc78 =  (word) 0;
         }
      else {
         pd79 = (* (( (ptr) (* (( (ptr) gf←c28256)+91)/* var←c25536 */  ))+15) );
         tc78 =  (word) ( *( (fPt) ((*  (ptr) pd79 ))))(skipText←v5256, pd79);
         };
      skiplen←v5284 = (
         idx80 = (word) tc78,
         SGNCK(idx80)
         );
      };
SOURCE(1997, 20)
   {
      word pd81;
      pd81 = (* (( (ptr) (* (( (ptr) gf←c28256)+91)/* var←c25536 */  ))+15) );
      slen←v5312 = (word) ( *( (fPt) ((*  (ptr) pd81 ))))(s←v4172, pd81);
      };
SOURCE(2019, 29)
   start←v5340 = (MIN((int)(word), (slen←v5312 - 1), pos←v4200));
SOURCE(2050, 44)
   {
      word pd83;
      if (( (int)start←v5340 <  (int)0)) { goto then082;};
      pd83 = (* (( (ptr) (* (( (ptr) gf←c28256)+91)/* var←c25536 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd83 ))))(s←v4172, pd83))) {
         then082: ;
SOURCE(2083, 11)
         return( (word) -1);
         };
      };
SOURCE(2096, 31)
   if ((skiplen←v5284 == 0)) {
SOURCE(2114, 13)
      return(start←v5340);
      };
SOURCE(2129, 152)
   {
      register word n←v5384;
      n←v5384 = start←v5340;
      lab←L100004: ;
      if (( (int)n←v5384 >=  (int)0)) {
         }
      else {
         goto lab←L100001;
         };
      {
         word c←v5428;
SOURCE(2169, 20)
         {
            word pd84;
            pd84 = (* (( (ptr) (* (( (ptr) gf←c28256)+91)/* var←c25536 */  ))+9) );
            c←v5428 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(s←v4172, n←v5384, pd84);
            };
SOURCE(2191, 90)
         {
            register word i←v5472 = 0;
            if ((i←v5472 >= skiplen←v5284)) {
               goto lab←L100005;
               };
            lab←L100008: ;
SOURCE(2221, 24)
            {
               word limit85;
               if ((c←v5428 ==  (unsigned) (word) (* ((( (bPt) skipText←v5256)+4)+(
                     limit85 = (word)  (unsigned) ( (((unsigned)(* (( (hPt) skipText←v5256)+1) ) << 17) >> 17) ),
                     BCK(i←v5472, limit85)
                     )) ))) {
SOURCE(2245, 4)
                  goto lab←L100006;
                  };
               };
            i←v5472 = (i←v5472 + 1);
            if ((i←v5472 < skiplen←v5284)) {
               goto lab←L100008;
               };
            lab←L100005: ;
SOURCE(2271, 10)
            return(n←v5384);
            lab←L100006: ;
            };
         };
      n←v5384 = (n←v5384 - 1);
      goto lab←L100004;
      lab←L100001: ;
      };
SOURCE(2301, 11)
   return( (word) -1);
   }

static void EnumerateInitialCommentLines←P240(formal←c085, root←v4332, proc←v4360)
   word formal←c085;
   word root←v4332;
   word proc←v4360;
   {
   W13 var←c28288;
   register ptr gf←c28320 =  (ptr) &globalframe;
   word finalNode←v4648;
   word finalStart←v4676;
   word finalAfter←v4704;
   /* declaration of var←c25888 skipped */ 
   /* declaration of index←v5516 skipped */ 
   word node←v5544;
   /* declaration of contents←v5572 skipped */ 
   /* declaration of hasLineBreak←v5600 skipped */ 
   /* EnumerateInitialCommentLines: */ 
SOURCE(2318, 2574)
   {
      word tmpAddr86;
      tmpAddr86 = (word) (( (ptr) &var←c28288)+4)/* var←c25888 */ ;
      (*  (ptr) tmpAddr86 ) = ( ((word)  (fPt) GetTrimmedLine←P912) );
      (* (( (ptr) tmpAddr86) + 1) ) = 1;
      };
SOURCE(2318, 2574)
   finalNode←v4648 = 0;
SOURCE(2318, 2574)
   finalStart←v4676 = 0;
SOURCE(2318, 2574)
   finalAfter←v4704 = 0;
SOURCE(2545, 14)
   (* (( (ptr) &var←c28288)+6)/* index←v5516 */  ) = 0;
SOURCE(2561, 39)
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c28320)+92)/* var←c25920 */  ))+14) );
      node←v5544 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))(root←v4332, pd87);
      };
SOURCE(2602, 44)
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c28320)+93)/* var←c25952 */  ))+4) );
      (* (( (ptr) &var←c28288)+7)/* contents←v5572 */  ) = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(node←v5544, pd88);
      };
SOURCE(2648, 25)
   (* (( (ptr) &var←c28288)+8)/* hasLineBreak←v5600 */  ) = 1;
SOURCE(2675, 2217)
   lab←L100012: ;
SOURCE(2675, 2217)
   {
      word start←v5672;
      word length←v5700;
      /* declaration of pa←v5728 skipped */ 
      word var←c0305;
SOURCE(4203, 13)
      (* (( (ptr) &var←c28288)+9) ) = 0;
      (* (( (ptr) &var←c28288)+10) ) = 0;
      (* (( (ptr) &var←c28288)+11) ) = 0;
      (* (( (ptr) &var←c28288)+12) ) = 0;
SOURCE(4219, 483)
      (void) CommentPrefix←P120((word) (( (bPt) &var←c28288)+36)/* pa←v5728 */ , (* (( (ptr) &var←c28288)+7)/* contents←v5572 */  ), (* (
            ( (ptr) &var←c28288)+6)/* index←v5516 */  ));
      var←c0305 = (*  (W4Pt) (( (ptr) &var←c28288)+9)/* pa←v5728 */  ).f0;
      if (( (int)var←c0305 >  (int)0) || (0 != (word) IsComment←P60(node←v5544))) {
SOURCE(4301, 410)
         {
            word savedIndex←v5932;
            word bad←v5960;
SOURCE(4303, 23)
            savedIndex←v5932 = (* (( (ptr) &var←c28288)+6)/* index←v5516 */  );
SOURCE(4339, 62)
            {
               W3 var←c26016;
               (void) GetTrimmedLine←P912((word) &var←c26016, ((* (( (ptr) &var←c28288)+6)/* index←v5516 */  ) + (* (( (ptr) &var←c28288)+9)
                   )), (word) (( (bPt) &var←c28288)+16)/* var←c25888 */ );
               bad←v5960 = var←c26016.f2;
               length←v5700 = var←c26016.f1;
               start←v5672 = var←c26016.f0;
               };
SOURCE(4403, 12)
            if ((0 != bad←v5960)) {
SOURCE(4415, 4)
               goto lab←L100011;
               };
SOURCE(4421, 281)
            if (( (int)length←v5700 >  (int)0) || ( (int)(* (( (ptr) &var←c28288)+9) ) >  (int)0)) {
               {
                  word var←c26048;
SOURCE(4501, 16)
                  finalNode←v4648 = node←v5544;
SOURCE(4566, 23)
                  finalStart←v4676 = savedIndex←v5932;
SOURCE(4591, 18)
                  finalAfter←v4704 = (* (( (ptr) &var←c28288)+6)/* index←v5516 */  );
SOURCE(4611, 91)
                  {
                     word pd89;
                     pd89 = (* (( (ptr) (* (( (ptr) gf←c28320)+91)/* var←c25536 */  ))+17) );
                     var←c26048 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))((* (( (ptr) &var←c28288)+7)/* contents←v5572 */  ), start←v5672, length←v5700, pd89)
                     ;
                     };
                  if ((0 == (word) ( *( (fPt) ((*  (ptr) proc←v4360 ))))(var←c26048, node←v5544, start←v5672, length←v5700, (* (( (ptr) &var←c28288)+6)
                     /* index←v5516 */  ), (* (( (ptr) &var←c28288)+8)/* hasLineBreak←v5600 */  ), proc←v4360))) {
SOURCE(4702, 4)
                     goto lab←L100011;
                     };
                  };
               };
            };
         }
      else {
SOURCE(4718, 4)
         goto lab←L100011;
         };
SOURCE(4725, 167)
      {
         word pd90;
         pd90 = (* (( (ptr) (* (( (ptr) gf←c28320)+91)/* var←c25536 */  ))+15) );
         if (( (int)(* (( (ptr) &var←c28288)+6)/* index←v5516 */  ) >=  (int)(word) ( *( (fPt) ((*  (ptr) pd90 ))))((* ((( (ptr) &var←c28288)+7)
            /* contents←v5572 */ ) ), pd90))) {
SOURCE(4783, 33)
            {
               word pd91;
               pd91 = (* (( (ptr) (* (( (ptr) gf←c28320)+92)/* var←c25920 */  ))+14) );
               node←v5544 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))(node←v5544, pd91);
               };
SOURCE(4818, 9)
            (* (( (ptr) &var←c28288)+6)/* index←v5516 */  ) = 0;
SOURCE(4829, 19)
            if ((node←v5544 == 0)) {
SOURCE(4848, 4)
               goto lab←L100011;
               };
SOURCE(4854, 38)
            {
               word pd92;
               pd92 = (* (( (ptr) (* (( (ptr) gf←c28320)+93)/* var←c25952 */  ))+4) );
               (* (( (ptr) &var←c28288)+7)/* contents←v5572 */  ) = (word) ( *( (fPt) ((*  (ptr) pd92 ))))(node←v5544, pd92);
               };
            };
         };
      };
   goto lab←L100012;
   lab←L100011: ;
   /* removed tail goto */ 
   (*  (ptr) formal←c085 ) = finalNode←v4648;
   (* (( (ptr) formal←c085)+1) ) = finalStart←v4676;
   (* (( (ptr) formal←c085)+2) ) = finalAfter←v4704;
   return;
   }

static void GetTrimmedLine←P912(formal←c099, begin←v5804, formal←c28384)
   word formal←c099;
   word begin←v5804;
   word formal←c28384;
   {
   register ptr gf←c28352 =  (ptr) &globalframe;
   word start←v5848;
   word length←v5876;
   word bad←v5904;
   word lim←v6004;
   word lineBreak←v6032;
   word fin←v6060;
   formal←c28384 = (formal←c28384 - 16);
   /* GetTrimmedLine: */ 
SOURCE(2678, 22)
SOURCE(2678, 22)
   bad←v5904 = 0;
SOURCE(2764, 26)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+15) );
      lim←v6004 = (word) ( *( (fPt) ((*  (ptr) pd93 ))))((* ((( (ptr) formal←c28384)+7)) ), pd93);
      };
SOURCE(2792, 47)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+24) );
      lineBreak←v6032 = (word) ( *( (fPt) ((*  (ptr) pd94 ))))((* (( (ptr) formal←c28384)+7) ), begin←v5804, (* (( (ptr) gf←c28352)+35)
          ), pd94);
      };
SOURCE(2897, 1147)
   if (((* (( (ptr) formal←c28384)+12) ) == 0)) {
SOURCE(2921, 30)
      if ((0 == (* (( (ptr) formal←c28384)+10) ))) {
SOURCE(2951, 5)
         (void) XR←RaiseUnnamedError();
         };
SOURCE(2958, 15)
      fin←v6060 = lineBreak←v6032;
SOURCE(2975, 15)
      (* (( (ptr) formal←c28384)+6) ) = (fin←v6060 + 1);
SOURCE(3016, 28)
      (* (( (ptr) formal←c28384)+8) ) =  (unsigned) ( (int)lineBreak←v6032 <  (int)lim←v6004);
      }
   else {
SOURCE(3051, 995)
      {
         word after←v6104;
SOURCE(3125, 41)
         if ((0 != (* (( (ptr) formal←c28384)+10) ))) {
SOURCE(3151, 15)
            lim←v6004 = lineBreak←v6032;
            };
SOURCE(3168, 694)
         if (((* (( (ptr) formal←c28384)+11) ) != 0)) {
SOURCE(3190, 554)
            {
               word depth←v6148 = 1;
               word lo←v6176;
               word lc←v6204;
SOURCE(3208, 42)
               {
                  word pd95;
                  pd95 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
                  lo←v6176 = (word) ( *( (fPt) ((*  (ptr) pd95 ))))((* (( (ptr) formal←c28384)+7) ), begin←v5804, (* (( (ptr) formal←c28384)+11)
                      ), 1, pd95);
                  };
SOURCE(3252, 42)
               {
                  word pd96;
                  pd96 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
                  lc←v6204 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((* (( (ptr) formal←c28384)+7) ), begin←v5804, (* (( (ptr) formal←c28384)+12)
                      ), 1, pd96);
                  };
SOURCE(3296, 11)
               fin←v6060 = begin←v5804;
SOURCE(3309, 379)
               lab←L100016: ;
               if ( ( ( (int)depth←v6148 >  (int)0) ? ( (int)lc←v6204 <  (int)lim←v6004) : 0 ) ) {
                  }
               else {
                  goto lab←L100014;
                  };
SOURCE(3341, 347)
               if (( (int)lo←v6176 <  (int)lc←v6204)) {
SOURCE(3356, 17)
                  depth←v6148 = (depth←v6148 + 1);
SOURCE(3375, 27)
                  {
                     word pd97;
                     pd97 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+15) );
                     after←v6104 = (lo←v6176 + (word) ( *( (fPt) ((*  (ptr) pd97 ))))((* ((( (ptr) formal←c28384)+11)) ), pd97));
                     };
SOURCE(3404, 54)
                  if (( (int)lc←v6204 <  (int)after←v6104)) {
SOURCE(3421, 37)
                     {
                        word pd98;
                        pd98 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
                        lc←v6204 = (word) ( *( (fPt) ((*  (ptr) pd98 ))))((* (( (ptr) formal←c28384)+7) ), after←v6104, (* (( (ptr) formal←c28384)+12)
                            ), 1, pd98);
                        };
                     };
SOURCE(3460, 37)
                  {
                     word pd99;
                     pd99 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
                     lo←v6176 = (word) ( *( (fPt) ((*  (ptr) pd99 ))))((* (( (ptr) formal←c28384)+7) ), after←v6104, (* (( (ptr) formal←c28384)+11)
                         ), 1, pd99);
                     };
                  }
               else {
SOURCE(3504, 184)
                  if (( (int)lc←v6204 <  (int)lo←v6176)) {
SOURCE(3519, 17)
                     depth←v6148 = (depth←v6148 - 1);
SOURCE(3538, 37)
                     {
                        word var←c0306;
                        fin←v6060 = lc←v6204;
                        var←c0306 = lc←v6204;
                        {
                           word pd100;
                           pd100 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+15) );
                           after←v6104 = (var←c0306 + (word) ( *( (fPt) ((*  (ptr) pd100 ))))((* ((( (ptr) formal←c28384)+12)) ), pd100));
                           };
                        };
SOURCE(3577, 111)
                     if (( (int)depth←v6148 >  (int)0)) {
SOURCE(3595, 54)
                        if (( (int)lo←v6176 <  (int)after←v6104)) {
SOURCE(3612, 37)
                           {
/*1*/   word pd101;
/*1*/   pd101 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
/*1*/   lo←v6176 = (word) ( *( (fPt) ((*  (ptr) pd101 ))))((* (( (ptr) formal←c28384)+7) ), after←v6104, (* (( (ptr) formal←c28384)+11)
/*1*/       ), 1, pd101);
/*1*/   };
                           };
SOURCE(3651, 37)
                        {
                           word pd102;
                           pd102 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
                           lc←v6204 = (word) ( *( (fPt) ((*  (ptr) pd102 ))))((* (( (ptr) formal←c28384)+7) ), after←v6104, (* (( (ptr) formal←c28384)+12)
/*1*/    ), 1, pd102);
                           };
                        };
                     }
                  else {
SOURCE(3696, 4)
                     goto lab←L100015;
                     };
                  };
               goto lab←L100016;
               lab←L100014: ;
               lab←L100015: ;
SOURCE(3711, 33)
               if (( (int)depth←v6148 >  (int)0)) {
SOURCE(3727, 17)
                  after←v6104 = lim←v6004;
                  fin←v6060 = lim←v6004;
                  };
               };
            }
         else {
SOURCE(3753, 38)
            {
               word pd103;
               pd103 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+10) );
               fin←v6060 = (word) ( *( (fPt) ((*  (ptr) pd103 ))))((* (( (ptr) formal←c28384)+7) ), begin←v5804, (* (( (ptr) formal←c28384)+12)
                   ), 1, pd103);
               };
SOURCE(3793, 69)
            if (( (int)fin←v6060 <  (int)lim←v6004)) {
SOURCE(3809, 36)
               {
                  word pd104;
                  pd104 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+15) );
                  after←v6104 = (fin←v6060 + (word) ( *( (fPt) ((*  (ptr) pd104 ))))((* ((( (ptr) formal←c28384)+12)) ), pd104));
                  };
               }
            else {
SOURCE(3845, 17)
               after←v6104 = lim←v6004;
               fin←v6060 = lim←v6004;
               };
            };
SOURCE(3867, 38)
         {
            word pd105;
            pd105 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+24) );
            (* (( (ptr) formal←c28384)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd105 ))))((* (( (ptr) formal←c28384)+7) ), after←v6104, (* (
                  ( (ptr) gf←c28352)+35) ), pd105);
            };
SOURCE(3907, 71)
         if (( (int)(* (( (ptr) formal←c28384)+6) ) >  (int)after←v6104)) {
            bad←v5904 =  (unsigned) ( (int)(word) SkipOverBackward←P180((* (( (ptr) formal←c28384)+7) ), ((* (( (ptr) formal←c28384)+6)
                ) - 1), (* (( (ptr) gf←c28352)+36) )) >=  (int)after←v6104);
            }
         else {
            bad←v5904 =  (unsigned) 0;
            };
SOURCE(3980, 64)
         {
            word pd106;
            pd106 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+15) );
            (* (( (ptr) formal←c28384)+8) ) =  (unsigned) ( (int)(* (( (ptr) formal←c28384)+6) ) <  (int)(word) ( *( (fPt) ((*  (ptr) pd106 ))
            ))((* ((( (ptr) formal←c28384)+7)) ), pd106));
            };
         if ((0 != (* (( (ptr) formal←c28384)+8) ))) {
SOURCE(4029, 15)
            (* (( (ptr) formal←c28384)+6) ) = ((* (( (ptr) formal←c28384)+6) ) + 1);
            };
         };
      };
SOURCE(4049, 39)
   {
      word pd107;
      pd107 = (* (( (ptr) (* (( (ptr) gf←c28352)+91)/* var←c25536 */  ))+25) );
      start←v5848 = (word) ( *( (fPt) ((*  (ptr) pd107 ))))((* (( (ptr) formal←c28384)+7) ), begin←v5804, (* (( (ptr) gf←c28352)+36)
          ), pd107);
      };
SOURCE(4090, 48)
   fin←v6060 = (word) SkipOverBackward←P180((* (( (ptr) formal←c28384)+7) ), (fin←v6060 - 1), (* (( (ptr) gf←c28352)+36) ));
SOURCE(4140, 32)
   {
      word x108;
      length←v5876 = (x108 = ((fin←v6060 - start←v5848) + 1),
         MAX((int)(word), 0, x108));
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c099 ) = start←v5848;
   (* (( (ptr) formal←c099)+1) ) = length←v5876;
   (* (( (ptr) formal←c099)+2) ) = bad←v5904;
   return;
   }

static void CopyrightButton←P300(parent←v21100, clientData←v21128, mouseButton←v21156, shift←v21184, control←v21212)
   word parent←v21100;
   word clientData←v21128;
   word mouseButton←v21156;
   word shift←v21184;
   word control←v21212;
   {
   register ptr gf←c28416 =  (ptr) &globalframe;
   /* CopyrightButton: */ 
SOURCE(4910, 93)
SOURCE(4947, 56)
   {
      word pd109;
      pd109 = (* (( (ptr) (* (( (ptr) gf←c28416)+89)/* var←c25440 */  ))+29) );
      (void) ( *( (fPt) ((*  (ptr) pd109 ))))(parent←v21100, (* (( (ptr) gf←c28416)+24) ), pd109);
      };
   }

static void UpdateCopyrightNotice←P360(formal←c0113, viewer←v21272)
   word formal←c0113;
   word viewer←v21272;
   {
   W8 var←c28448;
   register ptr gf←c28480 =  (ptr) &globalframe;
   word recordAtom←v21316;
   word quit←v21344;
   /* declaration of var←c26144 skipped */ 
   /* declaration of root←v6248 skipped */ 
   /* declaration of hasNodes←v6276 skipped */ 
   /* UpdateCopyrightNotice: */ 
SOURCE(5009, 4124)
   {
      word tmpAddr110;
      tmpAddr110 = (word) (( (ptr) &var←c28448)+4)/* var←c26144 */ ;
      (*  (ptr) tmpAddr110 ) = ( ((word)  (fPt) Inner←P1116) );
      (* (( (ptr) tmpAddr110) + 1) ) = 1;
      };
SOURCE(5009, 4124)
   recordAtom←v21316 = 1;
SOURCE(5009, 4124)
   quit←v21344 = 0;
SOURCE(5059, 39)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c28480)+94)/* var←c26176 */  ))+93) );
      var←c28448.f6/* root←v6248 */  = (word) ( *( (fPt) ((*  (ptr) pd111 ))))(viewer←v21272, pd111);
      };
SOURCE(5100, 75)
   {
      word var←c26208;
      {
         word pd112;
         pd112 = (* (( (ptr) (* (( (ptr) gf←c28480)+92)/* var←c25920 */  ))+14) );
         var←c26208 = (word) ( *( (fPt) ((*  (ptr) pd112 ))))(var←c28448.f6/* root←v6248 */ , pd112);
         };
      {
         word pd113;
         pd113 = (* (( (ptr) (* (( (ptr) gf←c28480)+92)/* var←c25920 */  ))+14) );
         var←c28448.f7/* hasNodes←v6276 */  =  (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd113 ))))(var←c26208, pd113) != 0);
         };
      };
SOURCE(8972, 51)
   {
      word var←c26272;
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c28480)+95)/* var←c26240 */  ))+4) );
      var←c26272 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(var←c28448.f6/* root←v6248 */ , (* (( (ptr) gf←c28480)+37) ), 1, pd114)
      ;
      };
SOURCE(9025, 42)
   {
      word var←c0307;
      var←c0307 = (word) &var←c28448;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2124) ), ( ((word)  (fPt) NoName←Q2424) ), var←c0307);
      };
SOURCE(9069, 23)
   {
      word pd115;
      pd115 = (* (( (ptr) (* (( (ptr) gf←c28480)+95)/* var←c26240 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd115 ))))(var←c28448.f6/* root←v6248 */ , pd115);
      };
SOURCE(9096, 37)
   recordAtom←v21316 = 1;
   quit←v21344 = 1;
   /* removed tail goto */ 
   (*  (ptr) formal←c0113 ) = recordAtom←v21316;
   (* (( (ptr) formal←c0113)+1) ) = quit←v21344;
   return;
   }

static word NoName←Q2124(formal←c0284)
   word formal←c0284;
   {
SOURCE(9025, 42)
   (void) Inner←P1116((word) ((( (bPt) formal←c0284)+16)));
   return(0);
   }

static void Inner←P1116(formal←c28576)
   word formal←c28576;
   {
   W12 var←c28512;
   register ptr gf←c28544 =  (ptr) &globalframe;
   /* declaration of var←c26304 skipped */ 
   /* declaration of var←c26336 skipped */ 
   /* declaration of year←v6364 skipped */ 
   word var←c26368;
   W11 var←c0118;
   /* declaration of done←v6392 skipped */ 
   /* declaration of afterFirst←v6420 skipped */ 
   /* declaration of firstHasLinebreak←v6448 skipped */ 
   formal←c28576 = (formal←c28576 - 16);
   (*  (ptr) &var←c28512 ) = formal←c28576;
   /* Inner: */ 
SOURCE(5177, 3786)
   {
      word tmpAddr116;
      tmpAddr116 = (word) (( (ptr) &var←c28512)+4)/* var←c26304 */ ;
      (*  (ptr) tmpAddr116 ) = ( ((word)  (fPt) Add←P1284) );
      (* (( (ptr) tmpAddr116) + 1) ) = 1;
      };
   {
      word tmpAddr117;
      tmpAddr117 = (word) (( (ptr) &var←c28512)+6)/* var←c26336 */ ;
      (*  (ptr) tmpAddr117 ) = ( ((word)  (fPt) EachComment←P1176) );
      (* (( (ptr) tmpAddr117) + 1) ) = 1;
      };
SOURCE(5193, 50)
   {
      word pd118;
      pd118 = (* (( (ptr) (* (( (ptr) gf←c28544)+96)/* var←c26400 */  ))+14) );
      var←c26368 = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(pd118);
      };
   {
      word pd119;
      pd119 = (* (( (ptr) (* (( (ptr) gf←c28544)+96)/* var←c26400 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd119 ))))((word) &var←c0118, var←c26368, pd119);
      };
   (* (( (ptr) &var←c28512)+8)/* year←v6364 */  ) = (*  (ptr) &var←c0118 );
SOURCE(5245, 18)
   (* (( (ptr) &var←c28512)+9)/* done←v6392 */  ) = 0;
SOURCE(5265, 19)
   (* (( (ptr) &var←c28512)+10)/* afterFirst←v6420 */  ) = 0;
SOURCE(5286, 31)
   (* (( (ptr) &var←c28512)+11)/* firstHasLinebreak←v6448 */  ) = 0;
SOURCE(7213, 52)
   {
      W3 var←c26432;
      (void) EnumerateInitialCommentLines←P240((word) &var←c26432, (* (( (ptr) formal←c28576)+6) ), (word) (( (bPt) &var←c28512)+24)
         /* var←c26336 */ );
      };
SOURCE(7268, 1695)
   if ((0 == (* (( (ptr) &var←c28512)+9)/* done←v6392 */  ))) {
SOURCE(7285, 1680)
      {
         word holder←v6764;
         word line←v6792;
         word node←v6820;
         word rope←v6848;
         W4 pa←v6876;
         word prefix←v6904;
         word index←v6932;
SOURCE(7324, 77)
         {
            word pd120;
            pd120 = (* (( (ptr) (* (( (ptr) gf←c28544)+97)/* var←c26464 */  ))+8) );
            holder←v6764 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))((* (( (ptr) gf←c28544)+38) ), (* (( (ptr) gf←c28544)+39) ), pd120)
            ;
            };
SOURCE(7403, 101)
         {
            W2 var←c26496;
            W2 var←c26528;
            W2 var←c0308;
            var←c26496.f0 = 5;
            var←c26496.f1 = (* (( (ptr) &var←c28512)+8)/* year←v6364 */  );
            var←c26528.f0 = 11;
            var←c26528.f1 = holder←v6764;
            (*  (ptr) (word) &var←c0308 ) = 0;
            (* (( (ptr) (word) &var←c0308) + 1) ) = 0;
            {
               word pd121;
               pd121 = (* (( (ptr) (* (( (ptr) gf←c28544)+98)/* var←c26592 */  ))+62) );
               line←v6792 = (word) ( *( (fPt) ((*  (ptr) pd121 ))))((* (( (ptr) gf←c28544)+40) ), var←c26496, var←c26528, var←c0308, pd121)
               ;
               };
            };
SOURCE(7506, 39)
         {
            word pd122;
            pd122 = (* (( (ptr) (* (( (ptr) gf←c28544)+92)/* var←c25920 */  ))+14) );
            node←v6820 = (word) ( *( (fPt) ((*  (ptr) pd122 ))))((* ((( (ptr) formal←c28576)+6)) ), pd122);
            };
SOURCE(7586, 40)
         {
            word pd123;
            pd123 = (* (( (ptr) (* (( (ptr) gf←c28544)+93)/* var←c25952 */  ))+4) );
            rope←v6848 = (word) ( *( (fPt) ((*  (ptr) pd123 ))))(node←v6820, pd123);
            };
SOURCE(7628, 38)
         (void) CommentPrefix←P120((word) &pa←v6876, rope←v6848, 0);
SOURCE(7668, 48)
         {
            word pd124;
            pd124 = (* (( (ptr) (* (( (ptr) gf←c28544)+91)/* var←c25536 */  ))+17) );
            prefix←v6904 = (word) ( *( (fPt) ((*  (ptr) pd124 ))))(rope←v6848, 0, pa←v6876.f0, pd124);
            };
SOURCE(7718, 38)
         {
            word pd125;
            pd125 = (* (( (ptr) (* (( (ptr) gf←c28544)+91)/* var←c25536 */  ))+24) );
            index←v6932 = (word) ( *( (fPt) ((*  (ptr) pd125 ))))(rope←v6848, 0, (* (( (ptr) gf←c28544)+35) ), pd125);
            };
SOURCE(8409, 554)
         if ( ( (0 == (word) IsComment←P60(node←v6820)) ? ( (int)pa←v6876.f0 ==  (int)0) : 0 ) ) {
SOURCE(8483, 36)
            (void) Add←P1284(node←v6820, line←v6792, 0, 1, (word) (( (bPt) &var←c28512)+16)/* var←c26304 */ );
            }
         else {
SOURCE(8519, 444)
            if ((0 != (* (( (ptr) &var←c28512)+11)/* firstHasLinebreak←v6448 */  ))) {
SOURCE(8545, 283)
               {
                  word newline←v7148;
                  word fullLine←v7176;
SOURCE(8584, 33)
                  {
                     word pd126;
                     pd126 = (* (( (ptr) (* (( (ptr) gf←c28544)+91)/* var←c25536 */  ))+9) );
                     newline←v7148 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))(rope←v6848, index←v6932, pd126);
                     };
SOURCE(8619, 77)
                  {
                     word var←c26624;
                     word var←c26656;
                     var←c26624 = (word) MakeComment←P420(line←v6792, prefix←v6904, pa←v6876);
                     {
                        word pd127;
                        pd127 = (* (( (ptr) (* (( (ptr) gf←c28544)+91)/* var←c25536 */  ))+37) );
                        var←c26656 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))(newline←v7148, pd127);
                        };
                     {
                        word pd128;
                        pd128 = (* (( (ptr) (* (( (ptr) gf←c28544)+91)/* var←c25536 */  ))+6) );
                        fullLine←v7176 = (word) ( *( (fPt) ((*  (ptr) pd128 ))))(var←c26624, var←c26656, pd128);
                        };
                     };
SOURCE(8698, 128)
                  {
                     W2 var←c26688;
                     {
                        word pd129;
                        pd129 = (* (( (ptr) (* (( (ptr) gf←c28544)+90)/* var←c25504 */  ))+37) );
                        (void) ( *( (fPt) ((*  (ptr) pd129 ))))((word) &var←c26688, (* (( (ptr) formal←c28576)+6) ), node←v6820, (* (( (ptr) &var←c28512)+10)
                           /* afterFirst←v6420 */  ), 0, fullLine←v7176
                           , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28544)+89)/* var←c25440 */  ))+6) ) ), pd129);
                        };
                     };
                  };
               }
            else {
SOURCE(8835, 128)
               if (( (int)pa←v6876.f0 ==  (int)0)) {
SOURCE(8863, 35)
                  (void) Add←P1284(node←v6820, line←v6792, 3, 1, (word) (( (bPt) &var←c28512)+16)/* var←c26304 */ );
                  }
               else {
SOURCE(8898, 65)
                  {
                     word var←c26720;
                     word var←c26752;
                     var←c26720 = (word) MakeComment←P420(line←v6792, prefix←v6904, pa←v6876);
                     var←c26752 = (word) IsComment←P60(node←v6820);
                     (void) Add←P1284(node←v6820, var←c26720, 1, var←c26752, (word) (( (bPt) &var←c28512)+16)/* var←c26304 */ );
                     };
                  };
               };
            };
         };
      };
   }

static word EachComment←P1176(text←v6552, node←v6580, start←v6608, length←v6636, after←v6664, hasLineBreak←v6692, formal←c28640)
   word text←v6552;
   word node←v6580;
   word start←v6608;
   word length←v6636;
   word after←v6664;
   word hasLineBreak←v6692;
   word formal←c28640;
   {
   register ptr gf←c28608 =  (ptr) &globalframe;
   word continue←v6736;
   word index←v7264 = 0;
   word foundYear←v7292 = 0;
   word lastDigitPos←v7320 = 0;
   word thisLooks←v7348;
   formal←c28640 = (formal←c28640 - 24);
   /* EachComment: */ 
SOURCE(5319, 1888)
SOURCE(5479, 73)
   thisLooks←v7348 =  ( (0 != (* (( (ptr) (*  (ptr) formal←c28640 ))+7) )) ? (* (( (ptr) gf←c28608)+5)/* eLooks←v3728 */  ) : 0 ) ;
SOURCE(5554, 74)
   if (( (int)(* (( (ptr) formal←c28640)+10) ) ==  (int)0)) {
SOURCE(5576, 18)
      (* (( (ptr) formal←c28640)+10) ) = after←v6664;
SOURCE(5596, 32)
      (* (( (ptr) formal←c28640)+11) ) = hasLineBreak←v6692;
      };
SOURCE(5632, 60)
   {
      word pd130;
      pd130 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+22) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd130 ))))((* (( (ptr) gf←c28608)+41) ), text←v6552, 1, pd130))) {
SOURCE(5679, 13)
         return(1);
         };
      };
SOURCE(5695, 29)
   {
      word pd131;
      pd131 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+24) );
      index←v7264 = (word) ( *( (fPt) ((*  (ptr) pd131 ))))(text←v6552, 0, (* (( (ptr) gf←c28608)+36) ), pd131);
      };
SOURCE(5763, 35)
   {
      word pd132;
      pd132 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+25) );
      index←v7264 = (word) ( *( (fPt) ((*  (ptr) pd132 ))))(text←v6552, index←v7264, (* (( (ptr) gf←c28608)+36) ), pd132);
      };
SOURCE(5800, 33)
   {
      word pd133;
      pd133 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+24) );
      index←v7264 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))(text←v6552, index←v7264, (* (( (ptr) gf←c28608)+36) ), pd133);
      };
SOURCE(5835, 35)
   {
      word pd134;
      pd134 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+25) );
      index←v7264 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))(text←v6552, index←v7264, (* (( (ptr) gf←c28608)+36) ), pd134);
      };
SOURCE(5872, 22)
   lastDigitPos←v7320 = (index←v7264 - 2);
SOURCE(5948, 520)
   lab←L100022: ;
   if (( (int)index←v7264 <  (int)length←v6636)) {
      }
   else {
      goto lab←L100020;
      };
   {
      word c←v7392;
SOURCE(5972, 27)
      {
         word pd135;
         pd135 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+9) );
         c←v7392 = (word) ( *( (fPt) ((*  (ptr) pd135 ))))(text←v6552, index←v7264, pd135);
         };
SOURCE(6001, 467)
      if (((c←v7392 - 48) <= 9)) {
SOURCE(6025, 20)
         lastDigitPos←v7320 = index←v7264;
SOURCE(6047, 17)
         index←v7264 = (index←v7264 + 1);
SOURCE(6066, 83)
         if (( (int)foundYear←v7292 <  (int)1000)) {
SOURCE(6091, 44)
            foundYear←v7292 = (IOP2( * ,  (int)foundYear←v7292,  (int)10) + (c←v7392 - 48));
            }
         else {
SOURCE(6135, 14)
            foundYear←v7292 =  (word) -1;
            };
         }
      else {
SOURCE(6158, 310)
         if (( (int)foundYear←v7292 ==  (int)(* (( (ptr) formal←c28640)+8) ))) {
SOURCE(6184, 10)
            goto lab←L100021;
            }
         else {
SOURCE(6194, 274)
            switch (c←v7392) {
               case 44: case 32: case 9: 
SOURCE(6231, 13)
                  foundYear←v7292 = 0;
SOURCE(6246, 40)
                  {
                     word pd136;
                     pd136 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+25) );
                     index←v7264 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))(text←v6552, (index←v7264 + 1), (* (( (ptr) gf←c28608)+42) ), pd136)
                     ;
                     };
                  break;
               default: 
SOURCE(6297, 171)
                  {
                     W2 var←c26848;
                     {
                        word var←c26784;
                        {
                           W2 var←c26816;
                           var←c26816.f0 = 5;
                           var←c26816.f1 = (* (( (ptr) formal←c28640)+8) );
                           {
/*1*/   word pd137;
/*1*/   pd137 = (* (( (ptr) (* (( (ptr) gf←c28608)+98)/* var←c26592 */  ))+63) );
/*1*/   var←c26784 = (word) ( *( (fPt) ((*  (ptr) pd137 ))))((* (( (ptr) gf←c28608)+43) ), var←c26816, pd137);
/*1*/   };
                           };
                        {
                           W2 var←c0157;
                           {
/*1*/   word pd138;
/*1*/   pd138 = (* (( (ptr) (* (( (ptr) gf←c28608)+90)/* var←c25504 */  ))+37) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd138 ))))((word) &var←c0157, (* (( (ptr) (*  (ptr) formal←c28640 ))+6) ), node←v6580, ((start←v6608 + 
/*1*/      lastDigitPos←v7320) + 1), 0, var←c26784
/*1*/      , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28608)+89)/* var←c25440 */  ))+6) ) ), pd138);
/*1*/   };
                           var←c26848 = var←c0157;
                           };
                        };
                     };
SOURCE(6470, 4)
                  goto lab←L100021;
               };
            };
         };
      };
   goto lab←L100022;
   lab←L100020: ;
   lab←L100021: ;
SOURCE(6489, 685)
   {
      word pd139;
      pd139 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+21) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd139 ))))(text←v6552, 9, (* (( (ptr) gf←c28608)+44) ), 0, 1, 2147483647, pd139) ==  (int)3)) {
SOURCE(6557, 148)
         {
            W2 var←c26880;
            {
               word pd140;
               pd140 = (* (( (ptr) (* (( (ptr) gf←c28608)+90)/* var←c25504 */  ))+37) );
               (void) ( *( (fPt) ((*  (ptr) pd140 ))))((word) &var←c26880, (* (( (ptr) (*  (ptr) formal←c28640 ))+6) ), node←v6580, (start←v6608 + 
                  9), 3, (* (( (ptr) gf←c28608)+45) )
                  , thisLooks←v7348, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28608)+89)/* var←c25440 */  ))+6) ) ), pd140);
               };
            };
         }
      else {
SOURCE(6705, 469)
         {
            word pd141;
            pd141 = (* (( (ptr) (* (( (ptr) gf←c28608)+91)/* var←c25536 */  ))+21) );
            if (( (int)(word) ( *( (fPt) ((*  (ptr) pd141 ))))(text←v6552, 9, (* (( (ptr) gf←c28608)+46) ), 0, 0, 2147483647, pd141) ==  (int)5)) {
SOURCE(6804, 148)
               {
                  W2 var←c26912;
                  {
                     word pd142;
                     pd142 = (* (( (ptr) (* (( (ptr) gf←c28608)+90)/* var←c25504 */  ))+37) );
                     (void) ( *( (fPt) ((*  (ptr) pd142 ))))((word) &var←c26912, (* (( (ptr) (*  (ptr) formal←c28640 ))+6) ), node←v6580, (start←v6608 + 
                        9), 5, (* (( (ptr) gf←c28608)+45) )
                        , thisLooks←v7348, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28608)+89)/* var←c25440 */  ))+6) ) ), pd142);
                     };
                  };
               }
            else {
SOURCE(6952, 222)
               if ((0 != (* (( (ptr) (*  (ptr) formal←c28640 ))+7) ))) {
SOURCE(6969, 207)
                  {
                     word looks←v7436;
SOURCE(6971, 61)
                     {
                        word pd143;
                        pd143 = (* (( (ptr) (* (( (ptr) gf←c28608)+90)/* var←c25504 */  ))+5) );
                        looks←v7436 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(node←v6580, (start←v6608 + 10), pd143);
                        };
SOURCE(7034, 140)
                     if ( ! (((unsigned)looks←v7436 << 4) >> 31)) {
SOURCE(7056, 118)
                        {
                           word pd144;
                           pd144 = (* (( (ptr) (* (( (ptr) gf←c28608)+90)/* var←c25504 */  ))+15) );
                           (void) ( *( (fPt) ((*  (ptr) pd144 ))))((* (( (ptr) (*  (ptr) formal←c28640 ))+6) ), node←v6580, 0, (* (( (ptr) gf←c28608)+5)
/*1*/   /* eLooks←v3728 */  ), (start←v6608 + 10), 1
/*1*/   , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28608)+89)/* var←c25440 */  ))+6) ) ), pd144);
                           };
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(7180, 11)
   (* (( (ptr) formal←c28640)+9) ) = 1;
SOURCE(7193, 14)
   return(0);
   }

static void Add←P1284(node←v7036, fullLine←v7064, where←v7092, comment←v7120, formal←c28704)
   word node←v7036;
   word fullLine←v7064;
   word where←v7092;
   word comment←v7120;
   word formal←c28704;
   {
   register ptr gf←c28672 =  (ptr) &globalframe;
   word child←v7220;
   formal←c28704 = (formal←c28704 - 16);
   /* Add: */ 
SOURCE(7758, 11)
SOURCE(7839, 108)
   {
      word pd145;
      pd145 = (* (( (ptr) (* (( (ptr) gf←c28672)+99)/* var←c26944 */  ))+15) );
      child←v7220 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))((* (( (ptr) (*  (ptr) formal←c28704 ))+6) ), node←v7036, where←v7092, 0, (*  (ptr) (* (
            ( (ptr) (* (( (ptr) gf←c28672)+89)/* var←c25440 */  ))+6) ) ), pd145);
      };
SOURCE(7950, 102)
   {
      W2 var←c26976;
      {
         word pd146;
         pd146 = (* (( (ptr) (* (( (ptr) gf←c28672)+90)/* var←c25504 */  ))+37) );
         (void) ( *( (fPt) ((*  (ptr) pd146 ))))((word) &var←c26976, (* (( (ptr) (*  (ptr) formal←c28704 ))+6) ), child←v7220, 0, 2147483647, fullLine←v7064
            , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28672)+89)/* var←c25440 */  ))+6) ) ), pd146);
         };
      };
SOURCE(8054, 75)
   if ((0 != comment←v7120)) {
SOURCE(8070, 59)
      {
         word pd147;
         pd147 = (* (( (ptr) (* (( (ptr) gf←c28672)+90)/* var←c25504 */  ))+29) );
         (void) ( *( (fPt) ((*  (ptr) pd147 ))))(child←v7220, 1, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28672)+89)/* var←c25440 */  ))+6)
             ) ), pd147);
         };
      };
SOURCE(8131, 129)
   if ((0 != (* (( (ptr) (*  (ptr) formal←c28704 ))+7) ))) {
SOURCE(8148, 112)
      {
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c28672)+90)/* var←c25504 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd148 ))))((* (( (ptr) (*  (ptr) formal←c28704 ))+6) ), child←v7220, 0, (* (( (ptr) gf←c28672)+5)
            /* eLooks←v3728 */  ), 10, 1
            , (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28672)+89)/* var←c25440 */  ))+6) ) ), pd148);
         };
      };
SOURCE(8262, 141)
   if ( ( (node←v7036 != (* (( (ptr) (*  (ptr) formal←c28704 ))+6) )) ? (where←v7092 != 0) : 0 ) ) {
SOURCE(8303, 100)
      {
         word var←c27008;
         {
            word pd149;
            pd149 = (* (( (ptr) (* (( (ptr) gf←c28672)+90)/* var←c25504 */  ))+26) );
            var←c27008 = (word) ( *( (fPt) ((*  (ptr) pd149 ))))(node←v7036, pd149);
            };
         {
            word pd150;
            pd150 = (* (( (ptr) (* (( (ptr) gf←c28672)+90)/* var←c25504 */  ))+27) );
            (void) ( *( (fPt) ((*  (ptr) pd150 ))))(child←v7220, var←c27008, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28672)+89)/* var←c25440 */  ))+6)
                ) ), pd150);
            };
         };
      };
   }

static word MakeComment←P420(content←v4764, prefix←v4792, pa←v4820)
   word content←v4764;
   word prefix←v4792;
   W4 pa←v4820;
   {
   register ptr gf←c28736 =  (ptr) &globalframe;
   word var←c4864;
   /* MakeComment: */ 
SOURCE(9139, 294)
SOURCE(9215, 218)
   if (( (int)pa←v4820.f0 ==  (int)0)) {
SOURCE(9241, 22)
      return(content←v4764);
      }
   else {
SOURCE(9263, 170)
      if ((0 != pa←v4820.f1)) {
SOURCE(9289, 64)
         {
            word var←c0310;
            {
               W2 var←c27040;
               W2 var←c27072;
               W2 var←c0309;
               var←c27040.f0 = 11;
               var←c27040.f1 = prefix←v4792;
               var←c27072.f0 = 11;
               var←c27072.f1 = content←v4764;
               (*  (ptr) (word) &var←c0309 ) = 0;
               (* (( (ptr) (word) &var←c0309) + 1) ) = 0;
               {
                  word pd151;
                  pd151 = (* (( (ptr) (* (( (ptr) gf←c28736)+98)/* var←c26592 */  ))+62) );
                  var←c0310 = (word) ( *( (fPt) ((*  (ptr) pd151 ))))((* (( (ptr) gf←c28736)+47) ), var←c27040, var←c27072, var←c0309, pd151)
                  ;
                  };
               };
            return(var←c0310);
            };
         }
      else {
SOURCE(9353, 80)
         {
            word var←c0311;
            {
               W2 var←c27136;
               W2 var←c27168;
               W2 var←c27200;
               var←c27136.f0 = 11;
               var←c27136.f1 = prefix←v4792;
               var←c27168.f0 = 11;
               var←c27168.f1 = content←v4764;
               var←c27200.f0 = 11;
               var←c27200.f1 = pa←v4820.f3;
               {
                  word pd152;
                  pd152 = (* (( (ptr) (* (( (ptr) gf←c28736)+98)/* var←c26592 */  ))+62) );
                  var←c0311 = (word) ( *( (fPt) ((*  (ptr) pd152 ))))((* (( (ptr) gf←c28736)+48) ), var←c27136, var←c27168, var←c27200, pd152)
                  ;
                  };
               };
            return(var←c0311);
            };
         };
      };
   }

static void UpdateLastEditedLine←P480(formal←c0189, viewer←v21404)
   word formal←c0189;
   word viewer←v21404;
   {
   W9 var←c28768;
   register ptr gf←c28800 =  (ptr) &globalframe;
   word recordAtom←v21448;
   word quit←v21476;
   /* declaration of var←c27232 skipped */ 
   /* declaration of root←v7480 skipped */ 
   /* declaration of userName←v7508 skipped */ 
   /* declaration of editedBy←v7536 skipped */ 
   /* UpdateLastEditedLine: */ 
SOURCE(9437, 2757)
   {
      word tmpAddr153;
      tmpAddr153 = (word) (( (ptr) &var←c28768)+4)/* var←c27232 */ ;
      (*  (ptr) tmpAddr153 ) = ( ((word)  (fPt) Inner←P1488) );
      (* (( (ptr) tmpAddr153) + 1) ) = 1;
      };
SOURCE(9437, 2757)
   recordAtom←v21448 = 1;
SOURCE(9437, 2757)
   quit←v21476 = 0;
SOURCE(9486, 39)
   {
      word pd154;
      pd154 = (* (( (ptr) (* (( (ptr) gf←c28800)+94)/* var←c26176 */  ))+93) );
      (* (( (ptr) &var←c28768)+6)/* root←v7480 */  ) = (word) ( *( (fPt) ((*  (ptr) pd154 ))))(viewer←v21404, pd154);
      };
SOURCE(9527, 34)
   (* (( (ptr) &var←c28768)+7)/* userName←v7508 */  ) = (word) GetNiceUserName←P540();
SOURCE(9563, 75)
   {
      word var←c27264;
      {
         word pd155;
         pd155 = (* (( (ptr) (* (( (ptr) gf←c28800)+91)/* var←c25536 */  ))+6) );
         var←c27264 = (word) ( *( (fPt) ((*  (ptr) pd155 ))))((* (( (ptr) &var←c28768)+7)/* userName←v7508 */  ), (* (( (ptr) gf←c28800)+50)
             ), pd155);
         };
      {
         word pd156;
         pd156 = (* (( (ptr) (* (( (ptr) gf←c28800)+97)/* var←c26464 */  ))+8) );
         (* (( (ptr) &var←c28768)+8)/* editedBy←v7536 */  ) = (word) ( *( (fPt) ((*  (ptr) pd156 ))))((* (( (ptr) gf←c28800)+49) ), var←c27264, pd156)
         ;
         };
      };
SOURCE(12033, 50)
   {
      word var←c27296;
      word pd157;
      pd157 = (* (( (ptr) (* (( (ptr) gf←c28800)+95)/* var←c26240 */  ))+4) );
      var←c27296 = (word) ( *( (fPt) ((*  (ptr) pd157 ))))((* (( (ptr) &var←c28768)+6)/* root←v7480 */  ), (* (( (ptr) gf←c28800)+51)
          ), 1, pd157);
      };
SOURCE(12085, 42)
   {
      word var←c0312;
      var←c0312 = (word) &var←c28768;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q2184) ), ( ((word)  (fPt) NoName←Q2364) ), var←c0312);
      };
SOURCE(12129, 23)
   {
      word pd158;
      pd158 = (* (( (ptr) (* (( (ptr) gf←c28800)+95)/* var←c26240 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd158 ))))((* ((( (ptr) &var←c28768)+6)/* root←v7480 */ ) ), pd158);
      };
SOURCE(12155, 39)
   recordAtom←v21448 = 0;
   quit←v21476 = 0;
   /* removed tail goto */ 
   (*  (ptr) formal←c0189 ) = recordAtom←v21448;
   (* (( (ptr) formal←c0189)+1) ) = quit←v21476;
   return;
   }

static word NoName←Q2184(formal←c0293)
   word formal←c0293;
   {
SOURCE(12085, 42)
   (void) Inner←P1488((word) ((( (bPt) formal←c0293)+16)));
   return(0);
   }

static void Inner←P1488(formal←c28896)
   word formal←c28896;
   {
   W10 var←c28832;
   register ptr gf←c28864 =  (ptr) &globalframe;
   /* declaration of var←c27328 skipped */ 
   /* declaration of dateNode←v7624 skipped */ 
   /* declaration of dateStart←v7652 skipped */ 
   /* declaration of dateLength←v7680 skipped */ 
   /* declaration of lastHasLineBreak←v7708 skipped */ 
   word lastCommentNode←v7764 = 0;
   word lastCommentStart←v7792;
   word lastCommentAfter←v7820;
   word nowRope←v7848;
   formal←c28896 = (formal←c28896 - 16);
   (*  (ptr) &var←c28832 ) = formal←c28896;
   /* Inner: */ 
SOURCE(9640, 2381)
   {
      word tmpAddr159;
      tmpAddr159 = (word) (( (ptr) &var←c28832)+4)/* var←c27328 */ ;
      (*  (ptr) tmpAddr159 ) = ( ((word)  (fPt) EachComment←P1548) );
      (* (( (ptr) tmpAddr159) + 1) ) = 1;
      };
SOURCE(9656, 20)
   (* (( (ptr) &var←c28832)+6)/* dateNode←v7624 */  ) = 0;
SOURCE(9678, 30)
   (* (( (ptr) &var←c28832)+7)/* dateStart←v7652 */  ) = 0;
   (* (( (ptr) &var←c28832)+8)/* dateLength←v7680 */  ) = 0;
SOURCE(9710, 30)
   (* (( (ptr) &var←c28832)+9)/* lastHasLineBreak←v7708 */  ) = 0;
SOURCE(10283, 53)
   {
      word var←c27360;
      {
         word pd160;
         pd160 = (* (( (ptr) (* (( (ptr) gf←c28864)+96)/* var←c26400 */  ))+14) );
         var←c27360 = (word) ( *( (fPt) ((*  (ptr) pd160 ))))(pd160);
         };
      {
         word pd161;
         pd161 = (* (( (ptr) (* (( (ptr) gf←c28864)+100)/* var←c27392 */  ))+33) );
         nowRope←v7848 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))(var←c27360, 0, 4, 0, 1, 1, pd161);
         };
      };
SOURCE(10339, 103)
   {
      W3 var←c27424;
      (void) EnumerateInitialCommentLines←P240((word) &var←c27424, (* (( (ptr) formal←c28896)+6) ), (word) (( (bPt) &var←c28832)+16)
         /* var←c27328 */ );
      lastCommentAfter←v7820 = var←c27424.f2;
      lastCommentStart←v7792 = var←c27424.f1;
      lastCommentNode←v7764 = var←c27424.f0;
      };
SOURCE(10444, 1577)
   if (((* (( (ptr) &var←c28832)+6)/* dateNode←v7624 */  ) != 0)) {
SOURCE(10494, 139)
      {
         W2 var←c27456;
         {
            word pd162;
            pd162 = (* (( (ptr) (* (( (ptr) gf←c28864)+90)/* var←c25504 */  ))+37) );
            (void) ( *( (fPt) ((*  (ptr) pd162 ))))((word) &var←c27456, (* (( (ptr) formal←c28896)+6) ), (* (( (ptr) &var←c28832)+6)/* dateNode←v7624 */  ), (* (
                  ( (ptr) &var←c28832)+7)/* dateStart←v7652 */  ), (* (( (ptr) &var←c28832)+8)/* dateLength←v7680 */  ), nowRope←v7848
               , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28864)+89)/* var←c25440 */  ))+6) ) ), pd162);
            };
         };
      }
   else {
SOURCE(10642, 1379)
      if ((lastCommentNode←v7764 == 0)) {
SOURCE(10722, 12)
         return;
         }
      else {
SOURCE(10734, 1292)
         {
            word rope←v8136;
            word eol←v8164;
            W4 pa←v8192;
            word prefix←v8220;
            word shortLine←v8248;
            word prefixedLine←v8276;
SOURCE(10763, 51)
            {
               word pd163;
               pd163 = (* (( (ptr) (* (( (ptr) gf←c28864)+93)/* var←c25952 */  ))+4) );
               rope←v8136 = (word) ( *( (fPt) ((*  (ptr) pd163 ))))(lastCommentNode←v7764, pd163);
               };
SOURCE(10816, 48)
            {
               word pd164;
               pd164 = (* (( (ptr) (* (( (ptr) gf←c28864)+91)/* var←c25536 */  ))+24) );
               eol←v8164 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))(rope←v8136, lastCommentStart←v7792, (* (( (ptr) gf←c28864)+35) ), pd164)
               ;
               };
SOURCE(10866, 53)
            (void) CommentPrefix←P120((word) &pa←v8192, rope←v8136, lastCommentStart←v7792);
SOURCE(10921, 61)
            {
               word pd165;
               pd165 = (* (( (ptr) (* (( (ptr) gf←c28864)+91)/* var←c25536 */  ))+17) );
               prefix←v8220 = (word) ( *( (fPt) ((*  (ptr) pd165 ))))(rope←v8136, lastCommentStart←v7792, pa←v8192.f0, pd165);
               };
SOURCE(10984, 70)
            {
               W2 var←c27488;
               W2 var←c27520;
               W2 var←c0313;
               var←c27488.f0 = 11;
               var←c27488.f1 = (* (( (ptr) formal←c28896)+8) );
               var←c27520.f0 = 11;
               var←c27520.f1 = nowRope←v7848;
               (*  (ptr) (word) &var←c0313 ) = 0;
               (* (( (ptr) (word) &var←c0313) + 1) ) = 0;
               {
                  word pd166;
                  pd166 = (* (( (ptr) (* (( (ptr) gf←c28864)+98)/* var←c26592 */  ))+62) );
                  shortLine←v8248 = (word) ( *( (fPt) ((*  (ptr) pd166 ))))((* (( (ptr) gf←c28864)+47) ), var←c27488, var←c27520, var←c0313, pd166)
                  ;
                  };
               };
SOURCE(11056, 55)
            prefixedLine←v8276 = (word) MakeComment←P420(shortLine←v8248, prefix←v8220, pa←v8192);
SOURCE(11114, 907)
            if ((0 != (* (( (ptr) &var←c28832)+9)/* lastHasLineBreak←v7708 */  ))) {
SOURCE(11139, 263)
               {
                  word fullLine←v8320;
SOURCE(11185, 68)
                  {
                     word var←c27584;
                     {
                        word var←c27616;
                        {
                           word pd167;
                           pd167 = (* (( (ptr) (* (( (ptr) gf←c28864)+91)/* var←c25536 */  ))+9) );
                           var←c27616 = (word) ( *( (fPt) ((*  (ptr) pd167 ))))(rope←v8136, eol←v8164, pd167);
                           };
                        {
                           word pd168;
                           pd168 = (* (( (ptr) (* (( (ptr) gf←c28864)+91)/* var←c25536 */  ))+37) );
                           var←c27584 = (word) ( *( (fPt) ((*  (ptr) pd168 ))))(var←c27616, pd168);
                           };
                        };
                     {
                        word pd169;
                        pd169 = (* (( (ptr) (* (( (ptr) gf←c28864)+91)/* var←c25536 */  ))+6) );
                        fullLine←v8320 = (word) ( *( (fPt) ((*  (ptr) pd169 ))))(prefixedLine←v8276, var←c27584, pd169);
                        };
                     };
SOURCE(11255, 145)
                  {
                     W2 var←c27648;
                     {
                        word pd170;
                        pd170 = (* (( (ptr) (* (( (ptr) gf←c28864)+90)/* var←c25504 */  ))+37) );
                        (void) ( *( (fPt) ((*  (ptr) pd170 ))))((word) &var←c27648, (* (( (ptr) formal←c28896)+6) ), lastCommentNode←v7764, lastCommentAfter←v7820, 0, fullLine←v8320
                           , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28864)+89)/* var←c25440 */  ))+6) ) ), pd170);
                        };
                     };
                  };
               }
            else {
SOURCE(11409, 614)
               {
                  word newNode←v8364;
                  W2 newNodeLocation←v8392;
                  W4 newNodeSpan←v8420;
SOURCE(11456, 137)
                  {
                     word pd171;
                     pd171 = (* (( (ptr) (* (( (ptr) gf←c28864)+99)/* var←c26944 */  ))+15) );
                     newNode←v8364 = (word) ( *( (fPt) ((*  (ptr) pd171 ))))((* (( (ptr) formal←c28896)+6) ), lastCommentNode←v7764, 1, 1, (*  (ptr) (* (
                           ( (ptr) (* (( (ptr) gf←c28864)+89)/* var←c25440 */  ))+6) ) ), pd171);
                     };
SOURCE(11595, 80)
                  newNodeLocation←v8392.f0 = newNode←v8364;
                  newNodeLocation←v8392.f1 =  (word) -1;
SOURCE(11677, 75)
                  (*  (W2Pt) &newNodeSpan←v8420 ) = newNodeLocation←v8392;
                  (*  (W2Pt) (( (ptr) &newNodeSpan←v8420)+2) ) = newNodeLocation←v8392;
SOURCE(11754, 108)
                  {
                     W2 var←c27744;
                     {
                        word pd172;
                        pd172 = (* (( (ptr) (* (( (ptr) gf←c28864)+90)/* var←c25504 */  ))+37) );
                        (void) ( *( (fPt) ((*  (ptr) pd172 ))))((word) &var←c27744, (* (( (ptr) formal←c28896)+6) ), newNode←v8364, 0, 2147483647, prefixedLine←v8276
                           , 0, 0, 0, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c28864)+89)/* var←c25440 */  ))+6) ) ), pd172);
                        };
                     };
SOURCE(11864, 157)
                  if (( (int)pa←v8192.f0 ==  (int)0)) {
SOURCE(11892, 129)
                     {
                        W4 var←c27808;
                        {
                           word var←c27776;
                           {
/*1*/   word pd173;
/*1*/   pd173 = (* (( (ptr) (* (( (ptr) gf←c28864)+92)/* var←c25920 */  ))+16) );
/*1*/   var←c27776 = (2 - (word) ( *( (fPt) ((*  (ptr) pd173 ))))(newNode←v8364, pd173));
/*1*/   };
                           {
/*1*/   word pd174;
/*1*/   pd174 = (* (( (ptr) (* (( (ptr) gf←c28864)+99)/* var←c26944 */  ))+18) );
/*1*/   (void) ( *( (fPt) ((*  (ptr) pd174 ))))((word) &var←c27808, (* (( (ptr) formal←c28896)+6) ), newNodeSpan←v8420, var←c27776, (*  (ptr) (* (
/*1*/         ( (ptr) (* (( (ptr) gf←c28864)+89)/* var←c25440 */  ))+6) ) ), pd174);
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static word EachComment←P1548(text←v7924, node←v7952, start←v7980, length←v8008, after←v8036, hasLineBreak←v8064, formal←c28960)
   word text←v7924;
   word node←v7952;
   word start←v7980;
   word length←v8008;
   word after←v8036;
   word hasLineBreak←v8064;
   word formal←c28960;
   {
   register ptr gf←c28928 =  (ptr) &globalframe;
   word continue←v8108;
   formal←c28960 = (formal←c28960 - 16);
   /* EachComment: */ 
SOURCE(9742, 441)
SOURCE(9861, 31)
   (* (( (ptr) formal←c28960)+9) ) = hasLineBreak←v8064;
SOURCE(9894, 268)
   {
      word pd175;
      word pd177;
      pd175 = (* (( (ptr) (* (( (ptr) gf←c28928)+91)/* var←c25536 */  ))+11) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd175 ))))(text←v7924, (* (( (ptr) (*  (ptr) formal←c28960 ))+7) ), 0, 1, pd175) >=  (int)0)) { goto then0176;};
      pd177 = (* (( (ptr) (* (( (ptr) gf←c28928)+91)/* var←c25536 */  ))+11) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd177 ))))(text←v7924, (* (( (ptr) (*  (ptr) formal←c28960 ))+8) ), 0, 1, pd177) >=  (int)0)) {
         then0176: ;
SOURCE(9955, 212)
         {
            word dStart←v8464;
            word dLength←v8492;
SOURCE(9979, 34)
            {
               W2 var←c27840;
               (void) FindDate←P600((word) &var←c27840, text←v7924);
               dLength←v8492 = var←c27840.f1;
               dStart←v8464 = var←c27840.f0;
               };
SOURCE(10015, 147)
            if (( (int)dStart←v8464 >=  (int)0)) {
SOURCE(10060, 15)
               (* (( (ptr) formal←c28960)+6) ) = node←v7952;
SOURCE(10077, 26)
               (* (( (ptr) formal←c28960)+7) ) = (dStart←v8464 + start←v7980);
SOURCE(10142, 20)
               (* (( (ptr) formal←c28960)+8) ) = dLength←v8492;
               };
            };
         };
      };
SOURCE(10170, 13)
   return(1);
   }

static word GetNiceUserName←P540()
   {
   register ptr gf←c28992 =  (ptr) &globalframe;
   word var←c4924;
   word user←v8536;
   /* GetNiceUserName: */ 
SOURCE(12200, 215)
SOURCE(12241, 35)
   {
      word pd178;
      pd178 = (* (( (ptr) (* (( (ptr) gf←c28992)+101)/* var←c27872 */  ))+4) );
      user←v8536 = (word) ( *( (fPt) ((*  (ptr) pd178 ))))(pd178);
      };
SOURCE(12278, 40)
   {
      word pd179;
      pd179 = (* (( (ptr) (* (( (ptr) gf←c28992)+91)/* var←c25536 */  ))+13) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd179 ))))(user←v8536, pd179))) {
SOURCE(12305, 13)
         return(user←v8536);
         };
      };
SOURCE(12320, 80)
   {
      word var←c27904;
      {
         word var←c27936;
         {
            word var←c27968;
            word ch←v24816;
            {
               word pd180;
               pd180 = (* (( (ptr) (* (( (ptr) gf←c28992)+91)/* var←c25536 */  ))+9) );
               ch←v24816 = (word) ( *( (fPt) ((*  (ptr) pd180 ))))(user←v8536, 0, pd180);
               };
            if (((ch←v24816 - 97) <= 25)) {
               var←c27968 = (ch←v24816 - 32);
               }
            else {
               var←c27968 = ch←v24816;
               };
            var←c27936 = var←c27968;
            };
         {
            word pd181;
            pd181 = (* (( (ptr) (* (( (ptr) gf←c28992)+91)/* var←c25536 */  ))+37) );
            var←c27904 = (word) ( *( (fPt) ((*  (ptr) pd181 ))))(var←c27936, pd181);
            };
         };
      {
         word pd182;
         pd182 = (* (( (ptr) (* (( (ptr) gf←c28992)+91)/* var←c25536 */  ))+16) );
         user←v8536 = (word) ( *( (fPt) ((*  (ptr) pd182 ))))(user←v8536, 0, 1, var←c27904, pd182);
         };
      };
SOURCE(12402, 13)
   return(user←v8536);
   }

static void FindDate←P600(formal←c0252, rope←v5068)
   word formal←c0252;
   word rope←v5068;
   {
   W9 var←c29024;
   register ptr gf←c29056 =  (ptr) &globalframe;
   /* declaration of start←v5112 skipped */ 
   word length←v5140;
   word len←v8580;
   /* FindDate: */ 
SOURCE(12564, 869)
SOURCE(12625, 22)
   {
      word pd183;
      pd183 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+15) );
      len←v8580 = (word) ( *( (fPt) ((*  (ptr) pd183 ))))(rope←v5068, pd183);
      };
SOURCE(12649, 750)
   if (( (int)len←v8580 <=  (int)256)) {
SOURCE(12676, 723)
      {
         register word months←v8624;
         months←v8624 = (* (( (ptr) gf←c29056)+4)/* monthList←v3616 */  );
         lab←L100031: ;
         if ((months←v8624 != 0)) {
            }
         else {
            goto lab←L100028;
            };
         {
            /* declaration of pos←v8752 skipped */ 
            word end←v8780 = 0;
SOURCE(12748, 17)
            (* (( (ptr) &var←c29024)+5)/* pos←v8752 */  ) = 0;
SOURCE(12767, 632)
            lab←L100034: ;
            if (( (int)(* (( (ptr) &var←c29024)+5)/* pos←v8752 */  ) <  (int)len←v8580)) {
               }
            else {
               goto lab←L100032;
               };
SOURCE(12786, 36)
            {
               word pd184;
               pd184 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
               (* (( (ptr) &var←c29024)+4)/* start←v5112 */  ) = (word) ( *( (fPt) ((*  (ptr) pd184 ))))(rope←v5068, (*  (ptr) months←v8624 ), (* (
                     ( (ptr) &var←c29024)+5)/* pos←v8752 */  ), 1, pd184);
               };
SOURCE(12824, 18)
            if (( (int)(* (( (ptr) &var←c29024)+4)/* start←v5112 */  ) <  (int)0)) {
SOURCE(12842, 4)
               goto lab←L100033;
               };
            {
               word pd185;
               pd185 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
               end←v8780 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))(rope←v5068, (* (( (ptr) gf←c29056)+52) ), (* (( (ptr) &var←c29024)+4)
                  /* start←v5112 */  ), 1, pd185);
               };
            if (( (int)end←v8780 !=  (int) (word) -1)) {
SOURCE(12924, 13)
               end←v8780 = (end←v8780 + 1);
               }
            else {
               {
                  word pd186;
                  pd186 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
                  end←v8780 = (word) ( *( (fPt) ((*  (ptr) pd186 ))))(rope←v5068, (* (( (ptr) gf←c29056)+53) ), (* (( (ptr) &var←c29024)+4)
                     /* start←v5112 */  ), 1, pd186);
                  };
               if (( (int)end←v8780 !=  (int) (word) -1)) {
SOURCE(12980, 13)
                  end←v8780 = (end←v8780 + 1);
                  }
               else {
                  {
                     word pd187;
                     pd187 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
                     end←v8780 = (word) ( *( (fPt) ((*  (ptr) pd187 ))))(rope←v5068, (* (( (ptr) gf←c29056)+54) ), (* (( (ptr) &var←c29024)+4)
                        /* start←v5112 */  ), 1, pd187);
                     };
                  if (( (int)end←v8780 !=  (int) (word) -1)) {
SOURCE(13037, 13)
                     end←v8780 = (end←v8780 + 2);
                     }
                  else {
                     {
                        word pd188;
                        pd188 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
                        end←v8780 = (word) ( *( (fPt) ((*  (ptr) pd188 ))))(rope←v5068, (* (( (ptr) gf←c29056)+55) ), (* (( (ptr) &var←c29024)+4)
                           /* start←v5112 */  ), 0, pd188);
                        };
                     if (( (int)end←v8780 !=  (int) (word) -1)) {
SOURCE(13102, 13)
                        end←v8780 = (end←v8780 + 2);
                        }
                     else {
                        {
                           word pd189;
                           pd189 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+11) );
                           end←v8780 = (word) ( *( (fPt) ((*  (ptr) pd189 ))))(rope←v5068, (* (( (ptr) gf←c29056)+56) ), (* (( (ptr) &var←c29024)+4)
/*1*/   /* start←v5112 */  ), 0, pd189);
                           };
                        if (( (int)end←v8780 !=  (int) (word) -1)) {
SOURCE(13166, 13)
                           end←v8780 = (end←v8780 + 2);
                           }
                        else {
SOURCE(13193, 4)
                           goto lab←L100033;
                           };
                        };
                     };
                  };
               };
SOURCE(13224, 133)
            {
               word var←c28032;
               {
                  /* declaration of var←c28000 skipped */ 
                  {
                     word pd190;
                     pd190 = (* (( (ptr) (* (( (ptr) gf←c29056)+91)/* var←c25536 */  ))+17) );
                     (* (( (ptr) &var←c29024)+6)/* var←c28000 */  ) = (word) ( *( (fPt) ((*  (ptr) pd190 ))))(rope←v5068, (* (( (ptr) &var←c29024)+4)
                        /* start←v5112 */  ), ((end←v8780 - (* (( (ptr) &var←c29024)+4)/* start←v5112 */  )) + 1), pd190);
                     };
                  {
                     /* declaration of var←c01 skipped */ 
                     (* (( (ptr) &var←c29024)+7)/* var←c01 */  ) = (* (( (ptr) (* (( (ptr) gf←c29056)+100)/* var←c27392 */  ))+15) );
                     {
                        /* declaration of var←c02 skipped */ 
                        {
                           word var←c03;
                           {
/*1*/   word var←c0314;
/*1*/   var←c0314 = (word) &var←c29024;
/*1*/   var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2244) ), ( ((word)  (fPt) NoName←Q2304) ), var←c0314);
/*1*/   };
                           if ((var←c03 == 2)) {
/*1*/   goto lab←L100034;
/*1*/   };
                           };
                        var←c28032 = (* (( (ptr) &var←c29024)+8)/* var←c02 */  );
                        };
                     };
                  };
               };
SOURCE(13369, 30)
            /* removed bogus assignment */ 
            length←v5140 = ((end←v8780 - (* (( (ptr) &var←c29024)+4)/* start←v5112 */  )) + 1);
            goto lab←L100027;
            /* c2c skipped dead code */ 
            lab←L100032: ;
            lab←L100033: ;
            };
         months←v8624 = (* (( (ptr) months←v8624)+1) );
         goto lab←L100031;
         lab←L100028: ;
         };
      };
SOURCE(13419, 14)
   (* (( (ptr) &var←c29024)+4)/* start←v5112 */  ) =  (word) -1;
   length←v5140 =  (word) -1;
   /* removed tail goto */ 
   lab←L100027: ;
   (*  (ptr) formal←c0252 ) = (* (( (ptr) &var←c29024)+4)/* start←v5112 */  );
   (* (( (ptr) formal←c0252)+1) ) = length←v5140;
   return;
   }

static word NoName←Q2244(formal←c0300)
   word formal←c0300;
   {
SOURCE(13224, 133)
   {
      word pd191;
      pd191 = (* (( (ptr) formal←c0300)+7) );
      (* (( (ptr) formal←c0300)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd191 ))))((* ((( (ptr) formal←c0300)+6)) ), pd191);
      };
   return(0);
   }

static void InstallMenuButton←P660(name←v5200, proc←v5228)
   word name←v5200;
   word proc←v5228;
   {
   register ptr gf←c29088 =  (ptr) &globalframe;
   word old←v8824;
   word new←v8852;
   /* InstallMenuButton: */ 
SOURCE(13439, 360)
SOURCE(13503, 85)
   {
      word pd192;
      pd192 = (* (( (ptr) (* (( (ptr) gf←c29088)+103)/* var←c28096 */  ))+11) );
      old←v8824 = (word) ( *( (fPt) ((*  (ptr) pd192 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c29088)+102)/* var←c28064 */  ))+28)
          ) ), name←v5200, pd192);
      };
SOURCE(13590, 77)
   {
      word pd193;
      pd193 = (* (( (ptr) (* (( (ptr) gf←c29088)+103)/* var←c28096 */  ))+6) );
      new←v8852 = (word) ( *( (fPt) ((*  (ptr) pd193 ))))(name←v5200, proc←v5228, 0, 0, 0, 0, pd193);
      };
SOURCE(13669, 130)
   if ((old←v8824 == 0)) {
SOURCE(13687, 56)
      {
         word pd194;
         pd194 = (* (( (ptr) (* (( (ptr) gf←c29088)+103)/* var←c28096 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd194 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c29088)+102)/* var←c28064 */  ))+28) ) ), new←v8852, 0, pd194)
         ;
         };
      }
   else {
SOURCE(13743, 56)
      {
         word pd195;
         pd195 = (* (( (ptr) (* (( (ptr) gf←c29088)+103)/* var←c28096 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd195 ))))((*  (ptr) (* (( (ptr) (* (( (ptr) gf←c29088)+102)/* var←c28064 */  ))+28) ) ), old←v8824, new←v8852, pd195)
         ;
         };
      };
   }

static void NoName←Q2304(formal←c0263, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0263;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0302 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0302)+100)/* var←c27392 */  ))+7) ))) {
      {
         word reason←v24596;
         word index←v24624;
         reason←v24596 = (*  (ptr) formal←c200011 );
         index←v24624 = (* (( (ptr) formal←c200011)+1) );
SOURCE(13342, 15)
         (* (( (ptr) formal←c200008)+5) ) = ((* (( (ptr) formal←c200008)+4) ) + 3);
SOURCE(13359, 4)
         (*  (ptr) formal←c0263 ) = 2;
         (* (( (ptr) formal←c0263)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0263 ) = 0;
   (* (( (ptr) formal←c0263)+1) ) = 0;
   return;
   }

static void NoName←Q2364(formal←c0268, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0268;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0303 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
SOURCE(12103, 24)
      {
         word pd196;
         pd196 = (* (( (ptr) (* (( (ptr) gf←c0303)+95)/* var←c26240 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd196 ))))((* ((( (ptr) formal←c200004)+6)) ), pd196);
         };
      };
   (*  (ptr) formal←c0268 ) = 0;
   (* (( (ptr) formal←c0268)+1) ) = 0;
   return;
   }

static void NoName←Q2424(formal←c0273, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0273;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0304 =  (ptr) &globalframe;
   if ((formal←c200001 == XR←Unwind)) {
SOURCE(9043, 24)
      {
         word pd197;
         pd197 = (* (( (ptr) (* (( (ptr) gf←c0304)+95)/* var←c26240 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd197 ))))((* ((( (ptr) formal←c200000)+6)) ), pd197);
         };
      };
   (*  (ptr) formal←c0273 ) = 0;
   (* (( (ptr) formal←c0273)+1) ) = 0;
   return;
   }

/* file: TiogaComfortsImpl, module: TiogaComfortsImpl, compiled at: September 2, 1993 3:30:20 pm PDT */ 
extern void XR←install←TiogaComfortsImpl() {
   NoName←Q2064();
   }
extern void XR←run←TiogaComfortsImpl() { XR←Start(&globalframe); }