-- file: TexInit2Impl.mesa
-- Pascal-to-Mesa translator output, translated at September 27, 1985 10:21:36 am PDT


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  TexTypes,
  TexInit,
  TexSysdep,
  TexSysdepInline,
  TexInteraction,
  TexMemory,
  TexSymbols,
  TexOps,
  TexParagraph,
  TexRest;

TexInit2Impl: PROGRAM IMPORTS PascalWizardFiles, TexTypes, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexOps, TexParagraph, TexRest EXPORTS TexInit = PUBLIC
BEGIN OPEN PascalBasic, PascalWizardFiles, TexTypes, TexInit, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexOps, TexParagraph, TexRest;
 LoadFmtFile: PROCEDURE RETURNS[LoadFmtFileResult: PascalBoolean] = 
BEGIN  J, K:PascalInteger;
P, Q:Halfword;X:PascalInteger;W:FourQuarters;--1308:--
 X←FmtFile.element.Int;
{{IF X#94919885  THEN  GOTO Label6666;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X#0  THEN  GOTO Label6666;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X#65000  THEN  GOTO Label6666;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X#5476  THEN  GOTO Label6666;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X#2129  THEN  GOTO Label6666;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X#307  THEN  GOTO Label6666--:1308--;--1310:--BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;IF X<0  THEN  GOTO Label6666;IF X>PoolSize  THEN BEGIN
 {PascalWriteLongString[file: @TermOut, item: "---! Must increase the "]; PascalWriteLongString[file: @TermOut, item: "string pool size"]; PascalWriteLn[file: @TermOut]};
 GOTO Label6666; END  ELSE PoolPtr←X; END;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;IF X<0  THEN  GOTO Label6666;IF X>MaxStrings  THEN BEGIN
 {PascalWriteLongString[file: @TermOut, item: "---! Must increase the "]; PascalWriteLongString[file: @TermOut, item: "max strings"]; PascalWriteLn[file: @TermOut]}; GOTO Label6666;
 END  ELSE StrPtr←X; END;
FOR i:INT    IN [ INT[0 ].. INT[StrPtr ]] DO  K ← i;  BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>PoolPtr) THEN  GOTO Label6666  ELSE StrStart↑[K]←X; ENDLOOP;K←0;
WHILE K+4<PoolPtr DO BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];W←FmtFile.element.Qqqq; END;
StrPool↑[K]←W.B0;StrPool↑[K+1]←W.B1;StrPool↑[K+2]←W.B2;
StrPool↑[K+3]←W.B3;K←K+4; END ENDLOOP ;K← INT[PoolPtr]-4;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
W←FmtFile.element.Qqqq; END;StrPool↑[K]←W.B0;StrPool↑[K+1]←W.B1;
StrPool↑[K+2]←W.B2;StrPool↑[K+3]←W.B3--:1310--;--1312:
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<1019)OR (X>64986) THEN  GOTO Label6666  ELSE LoMemMax←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<20)OR (X>LoMemMax) THEN  GOTO Label6666  ELSE Rover←X; END;P←0;Q←Rover;
X←0;DO FOR i:INT    IN [ INT[P ].. INT[Q+1 ]] DO  K ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Mem[K]↑←FmtFile.element;
 ENDLOOP;P← INT[Q]+Mem[Q]↑.Hh.Lh;
IF( INT[P]>LoMemMax)OR (( INT[Q]>=Mem[Q+1]↑.Hh.Rh)AND (Mem[Q+1]↑.Hh.Rh#Rover)) THEN
 GOTO Label6666;Q←Mem[Q+1]↑.Hh.Rh; IF Q=Rover THEN EXIT; ENDLOOP;
FOR i:INT    IN [ INT[P ].. INT[LoMemMax ]] DO  K ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Mem[K]↑←FmtFile.element; ENDLOOP;
IF  INT[MemMin]<-2  THEN BEGIN P←Mem[Rover+1]↑.Hh.Lh;Q←MemMin+1;
Mem[MemMin]↑.Hh.Rh←0;Mem[MemMin]↑.Hh.Lh←0;Mem[P+1]↑.Hh.Rh←Q;
Mem[Rover+1]↑.Hh.Lh←Q;Mem[Q+1]↑.Hh.Rh←Rover;Mem[Q+1]↑.Hh.Lh←P;
Mem[Q]↑.Hh.Rh←65515;Mem[Q]↑.Hh.Lh← INT[-0]-Q; END;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;
IF(X<LoMemMax+1)OR (X>64987) THEN  GOTO Label6666  ELSE HiMemMin←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>65000) THEN  GOTO Label6666  ELSE Avail←X; END;MemEnd←65000;
FOR i:INT    IN [ INT[HiMemMin ].. INT[MemEnd ]] DO  K ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Mem[K]↑←FmtFile.element;
 ENDLOOP;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];VarUsed←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
DynUsed←FmtFile.element.Int; END--:1312--;--1314:----1317:--K←1;
DO BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<1)OR (K+X>5477) THEN  GOTO Label6666;
FOR i:INT    IN [ INT[K ].. INT[K+X-1 ]] DO  J ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Eqtb↑[J]←FmtFile.element; ENDLOOP;K←K+X;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (K+X>5477) THEN  GOTO Label6666;
FOR i:INT    IN [ INT[K ].. INT[K+X-1 ]] DO  J ← i; Eqtb↑[J]←Eqtb↑[K-1] ENDLOOP;K←K+X; IF K>5476--:1317-- THEN EXIT; ENDLOOP;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<258)OR (X>2758) THEN  GOTO Label6666  ELSE ParLoc←X; END;
ParToken← INT[4096]+ParLoc;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<258)OR (X>2758) THEN  GOTO Label6666  ELSE WriteLoc←X; END;--1319:
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<258)OR (X>2758) THEN  GOTO Label6666  ELSE HashUsed←X; END;P←257;
DO BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<P+1)OR (X>HashUsed) THEN  GOTO Label6666  ELSE P←X; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Hash↑[P]←FmtFile.element.Hh; END; IF P=HashUsed THEN EXIT; ENDLOOP;
FOR i:INT    IN [ INT[HashUsed+1 ].. INT[3024 ]] DO  P ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];Hash↑[P]←FmtFile.element.Hh;
 ENDLOOP;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];CsCount←FmtFile.element.Int; END--:1319----:1314--;
--1321:--BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF X<7  THEN  GOTO Label6666;IF X>FontMemSize  THEN BEGIN
 {PascalWriteLongString[file: @TermOut, item: "---! Must increase the "]; PascalWriteLongString[file: @TermOut, item: "font mem size"]; PascalWriteLn[file: @TermOut]}; GOTO Label6666;
 END  ELSE FmemPtr←X; END;FOR i:INT    IN [ INT[0 ].. INT[FmemPtr-1 ]] DO  K ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
FontInfo↑[K]←FmtFile.element; ENDLOOP;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int;
 END;IF X<0  THEN  GOTO Label6666;IF X>FontMax  THEN BEGIN
 {PascalWriteLongString[file: @TermOut, item: "---! Must increase the "]; PascalWriteLongString[file: @TermOut, item: "font max"]; PascalWriteLn[file: @TermOut]}; GOTO Label6666;
 END  ELSE FontPtr←X; END;FOR i:INT    IN [ INT[0 ].. INT[FontPtr ]] DO --1323:
K ← i;  BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];FontCheck↑[K]←FmtFile.element.Qqqq; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];FontSize↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
FontDsize↑[K]←FmtFile.element.Int; END;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;
IF(X<0)OR (X>65515) THEN  GOTO Label6666  ELSE FontParams↑[K]←X; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];HyphenChar↑[K]←FmtFile.element.Int; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];SkewChar↑[K]←FmtFile.element.Int; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>StrPtr) THEN  GOTO Label6666  ELSE FontFamily↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>255) THEN  GOTO Label6666  ELSE FontFace↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>StrPtr) THEN  GOTO Label6666  ELSE FontName↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>StrPtr) THEN  GOTO Label6666  ELSE FontArea↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>255) THEN  GOTO Label6666  ELSE FontBc↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>255) THEN  GOTO Label6666  ELSE FontEc↑[K]←X; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];CharBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
WidthBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
HeightBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
DepthBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
ItalicBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
LigKernBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
KernBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
ExtenBase↑[K]←FmtFile.element.Int; END;BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
ParamBase↑[K]←FmtFile.element.Int; END;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;
IF(X<0)OR (X>LoMemMax) THEN  GOTO Label6666  ELSE FontGlue↑[K]←X; END;
--:1323----:1321-- ENDLOOP;--1325:--BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>307) THEN  GOTO Label6666  ELSE HyphCount←X; END;
FOR i:INT    IN [ INT[1 ].. INT[HyphCount ]] DO  K ← i;  BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;IF(X<0)OR (X>307) THEN  GOTO Label6666  ELSE J←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>StrPtr) THEN  GOTO Label6666  ELSE HyphWord↑[J]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>65515) THEN  GOTO Label6666  ELSE HyphList↑[J]←X; END; ENDLOOP;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;IF X<0  THEN  GOTO Label6666;
IF X>TrieSize  THEN BEGIN
 {PascalWriteLongString[file: @TermOut, item: "---! Must increase the "]; PascalWriteLongString[file: @TermOut, item: "trie size"]; PascalWriteLn[file: @TermOut]}; GOTO Label6666;
 END  ELSE TrieMax←X; END;FOR i:INT    IN [ INT[0 ].. INT[TrieMax ]] DO  K ← i;  PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
Trie↑[K]←FmtFile.element.Hh; ENDLOOP;BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int;
 END;IF(X<0)OR (X>255) THEN  GOTO Label6666  ELSE TrieOpPtr←X; END;
FOR i:INT    IN [ INT[1 ].. INT[TrieOpPtr ]] DO  K ← i;  BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];
X←FmtFile.element.Int; END;
IF(X<0)OR (X>63) THEN  GOTO Label6666  ELSE HyfDistance↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>63) THEN  GOTO Label6666  ELSE HyfNum↑[K]←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>255) THEN  GOTO Label6666  ELSE HyfNext↑[K]←X; END;--:1325-- ENDLOOP;
--1327:--BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>3) THEN  GOTO Label6666  ELSE Interaction←X; END;
BEGIN BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF(X<0)OR (X>StrPtr) THEN  GOTO Label6666  ELSE FormatIdent←X; END;
BEGIN PascalGET[file: @FmtFile.baseFile, length: SIZE[MemoryWord, 2], element: @FmtFile.element];X←FmtFile.element.Int; END;
IF (X#69069)OR PascalEOF[file: @FmtFile.baseFile] THEN  GOTO Label6666--:1327--;LoadFmtFileResult←TRUE;
 GOTO Label10;EXITS Label6666 => NULL};{PascalWriteLongString[file: @TermOut, item: "(Fatal format file error; I'm stymied)"]; PascalWriteLn[file: @TermOut]};
LoadFmtFileResult←FALSE;EXITS Label10 => NULL}; END;--:1303----1330:----1333:
 InitPrim: PROCEDURE
 = 
BEGIN 
 NoNewControlSequence←FALSE;--226:--Primitive[244,74,3026];
Primitive[245,74,3027];Primitive[246,74,3028];Primitive[247,74,3029];
Primitive[248,74,3030];Primitive[249,74,3031];Primitive[250,74,3032];
Primitive[251,74,3033];Primitive[252,74,3034];Primitive[253,74,3035];
Primitive[254,74,3036];Primitive[255,74,3037];Primitive[256,74,3038];
Primitive[257,74,3039];Primitive[258,74,3040];Primitive[259,75,3041];
Primitive[260,75,3042];Primitive[261,75,3043];--:226----230:
Primitive[266,71,3557];Primitive[267,71,3558];Primitive[268,71,3559];
Primitive[269,71,3560];Primitive[270,71,3561];Primitive[271,71,3562];
Primitive[272,71,3563];Primitive[273,71,3564];Primitive[274,71,3565];
--:230----238:--Primitive[288,72,4767];Primitive[289,72,4768];
Primitive[290,72,4769];Primitive[291,72,4770];Primitive[292,72,4771];
Primitive[293,72,4772];Primitive[294,72,4773];Primitive[295,72,4774];
Primitive[296,72,4775];Primitive[297,72,4776];Primitive[298,72,4777];
Primitive[299,72,4778];Primitive[300,72,4779];Primitive[301,72,4780];
Primitive[302,72,4781];Primitive[303,72,4782];Primitive[304,72,4783];
Primitive[305,72,4784];Primitive[306,72,4785];Primitive[307,72,4786];
Primitive[308,72,4787];Primitive[309,72,4788];Primitive[310,72,4789];
Primitive[311,72,4790];Primitive[312,72,4791];Primitive[313,72,4792];
Primitive[314,72,4793];Primitive[315,72,4794];Primitive[316,72,4795];
Primitive[317,72,4796];Primitive[318,72,4797];Primitive[319,72,4798];
Primitive[320,72,4799];Primitive[321,72,4800];Primitive[322,72,4801];
Primitive[323,72,4802];Primitive[324,72,4803];Primitive[325,72,4804];
Primitive[326,72,4805];Primitive[327,72,4806];Primitive[328,72,4807];
Primitive[329,72,4808];Primitive[330,72,4809];Primitive[331,72,4810];
Primitive[332,72,4811];Primitive[333,72,4812];Primitive[334,72,4813];
Primitive[335,72,4814];Primitive[336,72,4815];Primitive[337,72,4816];
--:238----248:--Primitive[341,73,5201];Primitive[342,73,5202];
Primitive[343,73,5203];Primitive[344,73,5204];Primitive[345,73,5205];
Primitive[346,73,5206];Primitive[347,73,5207];Primitive[348,73,5208];
Primitive[349,73,5209];Primitive[350,73,5210];Primitive[351,73,5211];
Primitive[352,73,5212];Primitive[353,73,5213];Primitive[354,73,5214];
Primitive[355,73,5215];Primitive[356,73,5216];Primitive[357,73,5217];
Primitive[358,73,5218];Primitive[359,73,5219];Primitive[360,73,5220];
--:248----265:--Primitive[32,64,0];Primitive[47,44,0];Primitive[370,45,0];
Primitive[371,89,0];Primitive[372,40,0];Primitive[373,41,0];
Primitive[374,61,0];Primitive[375,16,0];Primitive[366,106,0];
Primitive[376,15,0];Primitive[377,91,0];Primitive[367,66,0];
Primitive[378,62,0];Hash↑[2760].Rh←378;Eqtb↑[2760]←Eqtb↑[CurVal];
Primitive[379,101,0];Primitive[380,87,0];Primitive[381,76,0];
Primitive[382,32,0];Primitive[383,36,0];Primitive[384,39,0];
Primitive[202,37,0];Primitive[222,18,0];Primitive[385,46,0];
Primitive[386,17,0];Primitive[387,54,0];Primitive[388,90,0];
Primitive[389,34,0];Primitive[390,102,0];Primitive[207,55,0];
Primitive[391,63,0];Primitive[276,83,0];Primitive[392,42,0];
Primitive[393,79,0];Primitive[394,65,0];Primitive[395,95,0];
Primitive[396,0,256];Hash↑[2765].Rh←396;Eqtb↑[2765]←Eqtb↑[CurVal];
Primitive[397,97,0];Primitive[398,108,0];Primitive[275,70,0];
Primitive[223,38,0];Primitive[399,33,0];Primitive[400,56,0];
Primitive[401,35,0];--:265----334:--Primitive[458,13,0];ParLoc←CurVal;
ParToken← INT[4096]+ParLoc;--:334----376:--Primitive[490,103,0];
Primitive[491,103,1];--:376----384:--Primitive[492,109,0];
Primitive[493,109,1];Primitive[494,109,2];Primitive[495,109,3];
Primitive[496,109,4];--:384----411:--Primitive[339,88,0];
Primitive[362,88,1];Primitive[263,88,2];Primitive[264,88,3];--:411----416:
Primitive[529,78,101];Primitive[530,78,1];Primitive[531,81,0];
Primitive[532,81,1];Primitive[533,82,1];Primitive[534,82,3];
Primitive[535,82,2];Primitive[536,69,0];Primitive[537,69,1];
Primitive[538,69,2];--:416----468:--Primitive[595,107,0];
Primitive[596,107,1];Primitive[597,107,2];Primitive[598,107,3];
Primitive[599,107,4];Primitive[600,107,5];--:468----487:
Primitive[616,104,0];Primitive[617,104,1];Primitive[618,104,2];
Primitive[619,104,3];Primitive[620,104,4];Primitive[621,104,5];
Primitive[622,104,6];Primitive[623,104,7];Primitive[624,104,8];
Primitive[625,104,9];Primitive[626,104,10];Primitive[627,104,11];
Primitive[628,104,12];Primitive[629,104,13];Primitive[630,104,14];
Primitive[631,104,15];Primitive[632,104,16];--:487----491:
Primitive[633,105,2];Hash↑[2762].Rh←633;Eqtb↑[2762]←Eqtb↑[CurVal];
Primitive[634,105,4];Primitive[635,105,3];--:491----553:
Primitive[658,86,0];Hash↑[2768].Rh←658;Eqtb↑[2768]←Eqtb↑[CurVal];--:553
--780:--Primitive[756,4,128];Primitive[757,5,129];Hash↑[2759].Rh←757;
Eqtb↑[2759]←Eqtb↑[CurVal];Primitive[758,5,130];Hash↑[2763].Rh←759;
Hash↑[2764].Rh←759;Eqtb↑[2764].Hh.B0←9;Eqtb↑[2764].Hh.Rh←64989;
Eqtb↑[2764].Hh.B1←1;Eqtb↑[2763]←Eqtb↑[2764];Eqtb↑[2763].Hh.B0←114;--:780
--983:--Primitive[823,80,0];Primitive[824,80,1];Primitive[825,80,2];
Primitive[826,80,3];Primitive[827,80,4];Primitive[828,80,5];
Primitive[829,80,6];Primitive[830,80,7];--:983----1052:
Primitive[878,14,0];Primitive[879,14,1];--:1052----1058:
Primitive[880,26,4];Primitive[881,26,0];Primitive[882,26,1];
Primitive[883,26,2];Primitive[884,26,3];Primitive[885,27,4];
Primitive[886,27,0];Primitive[887,27,1];Primitive[888,27,2];
Primitive[889,27,3];Primitive[208,28,5];Primitive[212,29,1];
Primitive[213,30,99];--:1058----1071:--Primitive[907,21,1];
Primitive[908,21,0];Primitive[909,22,1];Primitive[910,22,0];
Primitive[277,20,0];Primitive[911,20,1];Primitive[912,20,2];
Primitive[818,20,3];Primitive[913,20,4];Primitive[820,20,5];
Primitive[914,20,105];Primitive[915,31,99];Primitive[916,31,100];
Primitive[917,31,101];Primitive[918,31,102];--:1071----1088:
Primitive[933,43,1];Primitive[934,43,0];--:1088----1107:
Primitive[943,25,12];Primitive[944,25,11];Primitive[945,25,10];
Primitive[946,23,0];Primitive[947,23,1];Primitive[948,24,0];
Primitive[949,24,1];--:1107----1114:--Primitive[45,47,1];
Primitive[220,47,0];--:1114----1141:--Primitive[980,48,0];
Primitive[981,48,1];--:1141----1156:--Primitive[724,50,16];
Primitive[725,50,17];Primitive[726,50,18];Primitive[727,50,19];
Primitive[728,50,20];Primitive[729,50,21];Primitive[730,50,22];
Primitive[731,50,23];Primitive[733,50,26];Primitive[732,50,27];
Primitive[982,51,0];Primitive[736,51,1];Primitive[737,51,2];--:1156
--1169:--Primitive[719,53,0];Primitive[720,53,2];Primitive[721,53,4];
Primitive[722,53,6];--:1169----1178:--Primitive[1000,52,0];
Primitive[1001,52,1];Primitive[1002,52,2];Primitive[1003,52,3];
Primitive[1004,52,4];Primitive[1005,52,5];--:1178----1188:
Primitive[734,49,30];Primitive[735,49,31];Hash↑[2761].Rh←735;
Eqtb↑[2761]←Eqtb↑[CurVal];--:1188----1208:--Primitive[1024,92,1];
Primitive[1025,92,2];Primitive[1026,92,4];Primitive[1027,96,0];
Primitive[1028,96,1];Primitive[1029,96,2];Primitive[1030,96,3];--:1208
--1219:--Primitive[1044,93,0];Primitive[1045,93,1];--:1219----1222:
Primitive[1046,94,0];Primitive[1047,94,1];Primitive[1048,94,2];
Primitive[1049,94,3];Primitive[1050,94,4];Primitive[1051,94,5];
Primitive[1052,94,6];--:1222----1230:--Primitive[283,84,4127];
Primitive[287,84,4639];Primitive[284,84,4255];Primitive[285,84,4383];
Primitive[286,84,4511];Primitive[340,84,5073];Primitive[280,85,4079];
Primitive[281,85,4095];Primitive[282,85,4111];--:1230----1250:
Primitive[798,98,0];Primitive[808,98,1];--:1250----1254:
Primitive[1068,77,0];Primitive[1069,77,1];--:1254----1262:
Primitive[146,99,0];Primitive[147,99,1];Primitive[148,99,2];
Primitive[1078,99,3];--:1262----1272:--Primitive[1079,60,1];
Primitive[1080,60,0];--:1272----1277:--Primitive[1081,58,0];
Primitive[1082,58,1];--:1277----1286:--Primitive[1088,57,4255];
Primitive[1089,57,4383];--:1286----1291:--Primitive[1090,19,0];
Primitive[1091,19,1];Primitive[1092,19,2];Primitive[1093,19,3];--:1291
--1344:--Primitive[1134,59,0];Primitive[456,59,1];WriteLoc←CurVal;
Primitive[1135,59,2];Primitive[1136,59,3];Primitive[1137,59,4];--:1344--NoNewControlSequence←TRUE; END;--:1336----1338:--
END.