head     56.3;
access   paws bayes jws quist brad dew jwh;
symbols  ;
locks    ; strict;
comment  @# @;


56.3
date     93.01.27.13.20.02;  author jwh;  state Exp;
branches ;
next     56.2;

56.2
date     93.01.27.12.00.45;  author jwh;  state Exp;
branches ;
next     56.1;

56.1
date     91.11.05.09.39.17;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.17.54;  author jwh;  state Exp;
branches ;
next     54.3;

54.3
date     91.08.21.12.34.33;  author jwh;  state Exp;
branches ;
next     54.2;

54.2
date     91.08.21.09.45.35;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.23.36;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.24.48;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.08.26;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.07.49;  author jwh;  state Exp;
branches ;
next     50.1;

50.1
date     90.10.29.16.23.01;  author jwh;  state Exp;
branches ;
next     49.1;

49.1
date     90.08.14.14.07.18;  author jwh;  state Exp;
branches ;
next     48.1;

48.1
date     90.07.26.11.13.11;  author jwh;  state Exp;
branches ;
next     47.1;

47.1
date     90.05.14.10.54.01;  author dew;  state Exp;
branches ;
next     46.1;

46.1
date     90.05.07.08.40.46;  author jwh;  state Exp;
branches ;
next     45.1;

45.1
date     90.04.19.15.48.05;  author jwh;  state Exp;
branches ;
next     44.1;

44.1
date     90.04.01.22.05.55;  author jwh;  state Exp;
branches ;
next     43.1;

43.1
date     90.03.20.13.56.21;  author jwh;  state Exp;
branches ;
next     42.1;

42.1
date     90.01.23.17.41.23;  author jwh;  state Exp;
branches ;
next     41.1;

41.1
date     89.12.22.11.24.16;  author jwh;  state Exp;
branches ;
next     40.1;

40.1
date     89.09.29.11.46.34;  author jwh;  state Exp;
branches ;
next     39.1;

39.1
date     89.09.26.16.31.22;  author dew;  state Exp;
branches ;
next     38.1;

38.1
date     89.08.29.11.22.36;  author jwh;  state Exp;
branches ;
next     37.1;

37.1
date     89.05.12.11.35.44;  author dew;  state Exp;
branches ;
next     36.1;

36.1
date     89.02.06.10.14.31;  author dew;  state Exp;
branches ;
next     35.1;

35.1
date     89.02.02.13.27.38;  author dew;  state Exp;
branches ;
next     34.1;

34.1
date     89.01.23.16.02.53;  author jwh;  state Exp;
branches ;
next     33.1;

33.1
date     89.01.16.11.36.27;  author dew;  state Exp;
branches ;
next     32.1;

32.1
date     89.01.10.11.43.38;  author bayes;  state Exp;
branches ;
next     31.1;

31.1
date     88.12.14.18.04.47;  author bayes;  state Exp;
branches ;
next     30.1;

30.1
date     88.12.09.13.42.20;  author dew;  state Exp;
branches ;
next     29.1;

29.1
date     88.10.31.15.26.51;  author bayes;  state Exp;
branches ;
next     28.1;

28.1
date     88.10.06.10.55.04;  author dew;  state Exp;
branches ;
next     27.1;

27.1
date     88.09.29.11.24.02;  author bayes;  state Exp;
branches ;
next     26.1;

26.1
date     88.09.28.12.59.43;  author bayes;  state Exp;
branches ;
next     25.1;

25.1
date     88.03.02.09.20.45;  author bayes;  state Exp;
branches ;
next     24.1;

24.1
date     87.08.31.09.37.53;  author jws;  state Exp;
branches ;
next     23.1;

23.1
date     87.08.26.10.14.30;  author bayes;  state Exp;
branches ;
next     22.1;

22.1
date     87.08.17.10.57.25;  author bayes;  state Exp;
branches ;
next     21.1;

21.1
date     87.08.12.13.42.37;  author bayes;  state Exp;
branches ;
next     20.1;

20.1
date     87.07.30.10.55.27;  author bayes;  state Exp;
branches ;
next     19.1;

19.1
date     87.06.01.08.11.52;  author jws;  state Exp;
branches ;
next     18.1;

18.1
date     87.05.20.15.07.42;  author bayes;  state Exp;
branches ;
next     17.1;

17.1
date     87.04.30.10.23.31;  author jws;  state Exp;
branches ;
next     16.1;

16.1
date     87.04.26.15.36.22;  author jws;  state Exp;
branches ;
next     15.1;

15.1
date     87.04.13.09.08.27;  author jws;  state Exp;
branches ;
next     14.1;

14.1
date     87.04.01.15.09.11;  author jws;  state Exp;
branches ;
next     13.2;

13.2
date     87.04.01.09.47.34;  author jws;  state Exp;
branches ;
next     13.1;

13.1
date     87.02.28.18.22.44;  author jws;  state Exp;
branches ;
next     12.1;

12.1
date     87.02.02.13.12.01;  author jws;  state Exp;
branches ;
next     11.2;

11.2
date     87.01.23.13.17.30;  author bayes;  state Exp;
branches ;
next     11.1;

11.1
date     87.01.19.09.37.51;  author jws;  state Exp;
branches ;
next     10.1;

10.1
date     86.12.24.10.45.24;  author jws;  state Exp;
branches ;
next     9.1;

9.1
date     86.12.12.14.21.10;  author bayes;  state Exp;
branches ;
next     8.1;

8.1
date     86.11.27.11.42.38;  author jws;  state Exp;
branches ;
next     7.1;

7.1
date     86.11.20.13.31.35;  author hal;  state Exp;
branches ;
next     6.1;

6.1
date     86.11.04.17.40.49;  author paws;  state Exp;
branches ;
next     5.1;

5.1
date     86.10.28.16.26.51;  author hal;  state Exp;
branches ;
next     4.2;

4.2
date     86.10.08.09.32.57;  author hal;  state Exp;
branches ;
next     4.1;

4.1
date     86.09.30.19.34.53;  author hal;  state Exp;
branches ;
next     3.1;

3.1
date     86.09.01.11.44.35;  author hal;  state Exp;
branches ;
next     2.2;

2.2
date     86.08.27.14.10.53;  author hal;  state Exp;
branches ;
next     2.1;

2.1
date     86.07.30.14.29.20;  author hal;  state Exp;
branches ;
next     1.1;

1.1
date     86.06.30.14.20.41;  author danm;  state tmp;
branches ;
next     ;


desc
@Base file for PWS 3.2 release.

@


56.3
log
@
pws2rcs automatic delta on Wed Jan 27 13:14:25 MST 1993
@
text
@					       (*

 (c) Copyright Hewlett-Packard Company, 1983.
All rights are reserved.  Copying or other
reproduction of this program except for archival
purposes is prohibited without the prior
written consent of Hewlett-Packard Company.


	    RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the Government
is subject to restrictions as set forth in
paragraph (b) (3) (B) of the Rights in Technical
Data and Computer Software clause in
DAR 7-104.9(a).

HEWLETT-PACKARD COMPANY
Fort Collins, Colorado                         *)


$modcal$
$debug off, range off, ovflcheck off, stackcheck off, iocheck off$
$ALLOW_PACKED ON$ {JWS 3/31/87}

module convert_text;

import sysglobals, misc, asm;

export

const pagesize = 1024;

type  pagebuftype = packed array[0..pagesize-1] of char;

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);

implement

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
label 1;
const strsize = 120;                  {arbitrary choice}
type str = string[strsize];
     strptr = ^str;
     charptr = ^ char;
var i,j: integer;         s: str;         sp: strptr;
    endline: boolean;
    k : integer;        {SFB}
    fp : fibp;          {SFB}

  procedure iocheck;
  begin
  if ioresult <> ord(inoerror) then
    begin
    if ioresult = ord(ieof) then ioresult := ord(inoerror);
    goto 1;
    end;
  end;

begin
  fp := addr(T);        {ready to check for space replace SFB}
  i := 0; endline := false;
  while (i < pagesize - strsize) do
    begin
    if endline then
      begin
      sp := addr(pagebuffer[i],-1);
      read(T, sp^);
      j := strlen(sp^);
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to j do
	 if sp^[k] = chr(tab) then
	  sp^[k] := ' ' {space char};
      charptr(sp)^ := eol;      iocheck;
      i := i + j;
      end
    else
      begin
      read(T, s); iocheck;
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to strlen(s) do
	 if s[k] = chr(tab) then
	  s[k] := ' ' {space char};
      moveleft(s[1], pagebuffer[i], strlen(s));
      i := i + strlen(s);
      end;
    endline := eoln(T); iocheck;
    if endline then begin
		    pagebuffer[i] := eol; i := i + 1;
		    readln(T); iocheck;
		    end;
    end;
  1: for i := i to pagesize-1 do pagebuffer[i] := nullchar;
end;

$iocheck on$

procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);
label 1;
type pageptr = ^pagebuftype;
var i, j: integer;
    c: char;
begin
try
i := 0;
repeat
  c := pagebuffer[i];
  if c = chr(dle) then
    begin
    i := i + 1;
    if i = pagesize then begin write(T, c); goto 1; end
    else
      begin
      c := pagebuffer[i];
      if c > ' ' then write(T, ' ':ord(c)-ord(' '));
      i := i + 1;
      if i = pagesize then goto 1;
      c := pagebuffer[i];
      end;
    end;
  j := i;
  while (c<>eol) and (c<>nullchar) do
    begin
    j := j + 1;
    if j = pagesize then c := nullchar
    else c := pagebuffer[j];
    end;
  write(T, pageptr(addr(pagebuffer[i]))^:j-i);
  if c = nullchar then goto 1;
  writeln(T);
  i := j + 1;
until i = pagesize;
1:
recover if escapecode <> -10 then escape(escapecode);
end;

end. {module convert_text}


@


56.2
log
@
pws2rcs automatic delta on Wed Jan 27 11:57:27 MST 1993
@
text
@d1 140
@


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@a0 140
					       (*

 (c) Copyright Hewlett-Packard Company, 1983.
All rights are reserved.  Copying or other
reproduction of this program except for archival
purposes is prohibited without the prior
written consent of Hewlett-Packard Company.


	    RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the Government
is subject to restrictions as set forth in
paragraph (b) (3) (B) of the Rights in Technical
Data and Computer Software clause in
DAR 7-104.9(a).

HEWLETT-PACKARD COMPANY
Fort Collins, Colorado                         *)


$modcal$
$debug off, range off, ovflcheck off, stackcheck off, iocheck off$
$ALLOW_PACKED ON$ {JWS 3/31/87}

module convert_text;

import sysglobals, misc, asm;

export

const pagesize = 1024;

type  pagebuftype = packed array[0..pagesize-1] of char;

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);

implement

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
label 1;
const strsize = 120;                  {arbitrary choice}
type str = string[strsize];
     strptr = ^str;
     charptr = ^ char;
var i,j: integer;         s: str;         sp: strptr;
    endline: boolean;
    k : integer;        {SFB}
    fp : fibp;          {SFB}

  procedure iocheck;
  begin
  if ioresult <> ord(inoerror) then
    begin
    if ioresult = ord(ieof) then ioresult := ord(inoerror);
    goto 1;
    end;
  end;

begin
  fp := addr(T);        {ready to check for space replace SFB}
  i := 0; endline := false;
  while (i < pagesize - strsize) do
    begin
    if endline then
      begin
      sp := addr(pagebuffer[i],-1);
      read(T, sp^);
      j := strlen(sp^);
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to j do
	 if sp^[k] = chr(tab) then
	  sp^[k] := ' ' {space char};
      charptr(sp)^ := eol;      iocheck;
      i := i + j;
      end
    else
      begin
      read(T, s); iocheck;
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to strlen(s) do
	 if s[k] = chr(tab) then
	  s[k] := ' ' {space char};
      moveleft(s[1], pagebuffer[i], strlen(s));
      i := i + strlen(s);
      end;
    endline := eoln(T); iocheck;
    if endline then begin
		    pagebuffer[i] := eol; i := i + 1;
		    readln(T); iocheck;
		    end;
    end;
  1: for i := i to pagesize-1 do pagebuffer[i] := nullchar;
end;

$iocheck on$

procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);
label 1;
type pageptr = ^pagebuftype;
var i, j: integer;
    c: char;
begin
try
i := 0;
repeat
  c := pagebuffer[i];
  if c = chr(dle) then
    begin
    i := i + 1;
    if i = pagesize then begin write(T, c); goto 1; end
    else
      begin
      c := pagebuffer[i];
      if c > ' ' then write(T, ' ':ord(c)-ord(' '));
      i := i + 1;
      if i = pagesize then goto 1;
      c := pagebuffer[i];
      end;
    end;
  j := i;
  while (c<>eol) and (c<>nullchar) do
    begin
    j := j + 1;
    if j = pagesize then c := nullchar
    else c := pagebuffer[j];
    end;
  write(T, pageptr(addr(pagebuffer[i]))^:j-i);
  if c = nullchar then goto 1;
  writeln(T);
  i := j + 1;
until i = pagesize;
1:
recover if escapecode <> -10 then escape(escapecode);
end;

end. {module convert_text}


@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@@


54.3
log
@
pws2rcs automatic delta on Wed Aug 21 12:27:56 MDT 1991
@
text
@@


54.2
log
@
pws2rcs automatic delta on Wed Aug 21 09:35:48 MDT 1991
@
text
@d1 140
@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@a0 140
					       (*

 (c) Copyright Hewlett-Packard Company, 1983.
All rights are reserved.  Copying or other
reproduction of this program except for archival
purposes is prohibited without the prior
written consent of Hewlett-Packard Company.


	    RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the Government
is subject to restrictions as set forth in
paragraph (b) (3) (B) of the Rights in Technical
Data and Computer Software clause in
DAR 7-104.9(a).

HEWLETT-PACKARD COMPANY
Fort Collins, Colorado                         *)


$modcal$
$debug off, range off, ovflcheck off, stackcheck off, iocheck off$
$ALLOW_PACKED ON$ {JWS 3/31/87}

module convert_text;

import sysglobals, misc, asm;

export

const pagesize = 1024;

type  pagebuftype = packed array[0..pagesize-1] of char;

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);

implement

procedure any_to_UCSD(var T: text; anyvar pagebuffer: pagebuftype);
label 1;
const strsize = 120;                  {arbitrary choice}
type str = string[strsize];
     strptr = ^str;
     charptr = ^ char;
var i,j: integer;         s: str;         sp: strptr;
    endline: boolean;
    k : integer;        {SFB}
    fp : fibp;          {SFB}

  procedure iocheck;
  begin
  if ioresult <> ord(inoerror) then
    begin
    if ioresult = ord(ieof) then ioresult := ord(inoerror);
    goto 1;
    end;
  end;

begin
  fp := addr(T);        {ready to check for space replace SFB}
  i := 0; endline := false;
  while (i < pagesize - strsize) do
    begin
    if endline then
      begin
      sp := addr(pagebuffer[i],-1);
      read(T, sp^);
      j := strlen(sp^);
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to j do
	 if sp^[k] = chr(tab) then
	  sp^[k] := ' ' {space char};
      charptr(sp)^ := eol;      iocheck;
      i := i + j;
      end
    else
      begin
      read(T, s); iocheck;
      if fp^.feft = uxfile_eft then  {then space replace tabs SFB}
	for k:=1 to strlen(s) do
	 if s[k] = chr(tab) then
	  s[k] := ' ' {space char};
      moveleft(s[1], pagebuffer[i], strlen(s));
      i := i + strlen(s);
      end;
    endline := eoln(T); iocheck;
    if endline then begin
		    pagebuffer[i] := eol; i := i + 1;
		    readln(T); iocheck;
		    end;
    end;
  1: for i := i to pagesize-1 do pagebuffer[i] := nullchar;
end;

$iocheck on$

procedure UCSD_to_any(anyvar pagebuffer: pagebuftype; var T: text);
label 1;
type pageptr = ^pagebuftype;
var i, j: integer;
    c: char;
begin
try
i := 0;
repeat
  c := pagebuffer[i];
  if c = chr(dle) then
    begin
    i := i + 1;
    if i = pagesize then begin write(T, c); goto 1; end
    else
      begin
      c := pagebuffer[i];
      if c > ' ' then write(T, ' ':ord(c)-ord(' '));
      i := i + 1;
      if i = pagesize then goto 1;
      c := pagebuffer[i];
      end;
    end;
  j := i;
  while (c<>eol) and (c<>nullchar) do
    begin
    j := j + 1;
    if j = pagesize then c := nullchar
    else c := pagebuffer[j];
    end;
  write(T, pageptr(addr(pagebuffer[i]))^:j-i);
  if c = nullchar then goto 1;
  writeln(T);
  i := j + 1;
until i = pagesize;
1:
recover if escapecode <> -10 then escape(escapecode);
end;

end. {module convert_text}


@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@@


50.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


49.1
log
@Automatic bump of revision number for PWS version 3.24b
@
text
@@


48.1
log
@Automatic bump of revision number for PWS version 3.24a
@
text
@@


47.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


46.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


45.1
log
@Automatic bump of revision number for PWS version 3.23C
@
text
@@


44.1
log
@Automatic bump of revision number for PWS version 3.23B
@
text
@@


43.1
log
@Automatic bump of revision number for PWS version 3.23aA
@
text
@@


42.1
log
@Automatic bump of revision number for PWS version 3.23e
@
text
@@


41.1
log
@Automatic bump of revision number for PWS version 3.23d
@
text
@@


40.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


39.1
log
@Automatic bump of revision number for PWS version 3.23b
@
text
@@


38.1
log
@Automatic bump of revision number for PWS version 3.23a
@
text
@@


37.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


36.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


35.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


34.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


33.1
log
@Automatic bump of revision number for PWS version 3.22D
@
text
@@


32.1
log
@Automatic bump of revision number for PWS version 3.22C
@
text
@@


31.1
log
@Automatic bump of revision number for PWS version 3.22B
@
text
@@


30.1
log
@Automatic bump of revision number for PWS version 3.22A
@
text
@@


29.1
log
@Automatic bump of revision number for PWS version 3.22b
@
text
@@


28.1
log
@Automatic bump of revision number for PWS version 3.3b
@
text
@@


27.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


26.1
log
@Automatic bump of revision number for PWS version 3.3 Synch
@
text
@@


25.1
log
@Automatic bump of revision number for PWS version 3.2Y
@
text
@@


24.1
log
@Automatic bump of revision number for PWS version 3.2
@
text
@@


23.1
log
@Automatic bump of revision number for PWS version 3.2P
@
text
@@


22.1
log
@Automatic bump of revision number for PWS version 3.2N
@
text
@@


21.1
log
@Automatic bump of revision number for PWS version 3.2M
@
text
@@


20.1
log
@Automatic bump of revision number for PWS version 3.2L
@
text
@@


19.1
log
@Automatic bump of revision number for PWS version 3.2K
@
text
@@


18.1
log
@Automatic bump of revision number for PWS version 3.2J
@
text
@@


17.1
log
@Automatic bump of revision number for PWS version 3.2I+
@
text
@@


16.1
log
@Automatic bump of revision number for PWS version 3.2I
@
text
@@


15.1
log
@Automatic bump of revision number for PWS version 3.2H
@
text
@@


14.1
log
@Automatic bump of revision number for PWS version 3.2G
@
text
@@


13.2
log
@Pws2unix automatic delta on Wed Apr  1 08:30:27 MST 1987
@
text
@@


13.1
log
@Automatic bump of revision number for PWS version 3.2F
@
text
@d24 1
@


12.1
log
@Automatic bump of revision number for PWS version 3.2E
@
text
@@


11.2
log
@Added tab-to-space conversion on input, to support EDITOR/COMPILER/ASSEMBLER
without UXTEXT_AM
@
text
@@


11.1
log
@Automatic bump of revision number for PWS version 3.2D
@
text
@d48 2
d61 1
d70 4
d80 4
@


10.1
log
@Automatic bump of revision number for PWS version 3.2C
@
text
@@


9.1
log
@Automatic bump of revision number for PWS version 3.2B
@
text
@@


8.1
log
@Automatic bump of revision number for PWS version 3.2A
@
text
@@


7.1
log
@Automatic bump of revision number for PWS version 3.2l
@
text
@@


6.1
log
@Automatic bump of revision number for PWS version 3.2k
@
text
@@


5.1
log
@Automatic bump of revision number for PWS version 3.2j
@
text
@@


4.2
log
@Remove tab expansion due to "management" decision to expand tabs
in UX am instead.  Gobble gobble!
@
text
@@


4.1
log
@Automatic bump of revision number for PWS version 3.2i
@
text
@a57 27
  procedure expand_tabs(istart: integer; var ilen: integer);
  const
    tabchr = #9;
  var
    cop: str;
    i, j: shortint;
  begin
    if fibp(addr(T))^.fkind = uxfile then begin
      setstrlen(cop, ilen);
      moveleft(pagebuffer[istart], cop[1], ilen);
      j := 0;
      for i := 1 to ilen do begin
	if cop[i] <> tabchr then begin
	  pagebuffer[istart + j] := cop[i];
	  j := j + 1;
	end
	else begin
	  repeat
	    pagebuffer[istart + j] := ' ';
	    j := j + 1;
	  until j mod 8 = 0;
	end;
      end;
      ilen := j;
    end;
  end;

d67 1
a67 2
      expand_tabs(i, j);
      pagebuffer[i-1] := eol;      iocheck;
d74 1
a74 3
      j := strlen(s);
      expand_tabs(i, j);
      i := i + j;
@


3.1
log
@Automatic bump of revision number for PWS version 3.2h
@
text
@@


2.2
log
@Expand tabs (8-col stops) if uxfile.
@
text
@@


2.1
log
@Auto bump rev number to 2.1 for sys 3.2e.
@
text
@d58 27
d94 2
a95 1
      charptr(sp)^ := eol;      iocheck;
d102 3
a104 1
      i := i + strlen(s);
@


1.1
log
@Initial revision
@
text
@@
