texlive[72915] Master: mcf2graph runtime files (20nov24)

commits+karl at tug.org commits+karl at tug.org
Wed Nov 20 23:09:01 CET 2024


Revision: 72915
          https://tug.org/svn/texlive?view=revision&revision=72915
Author:   karl
Date:     2024-11-20 23:09:01 +0100 (Wed, 20 Nov 2024)
Log Message:
-----------
mcf2graph runtime files (20nov24)

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/metapost/mcf2graph/
    trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf
    trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp

Deleted: trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf	2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf	2024-11-20 22:09:01 UTC (rev 72915)
@@ -1,2984 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% molecular library file    main_lib.mcf   by Akira Yamaji   2024.11.17
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  must use version 5.14
-%  tag1:var1;tag2:var2;tag3:var3 .....
-%  first character of line "%" comment out
-%  first character of line ":"  start MCF
-%  first character of line "="  start parameter setting
-%  first character of line "*"  start ext(...)
-%  first character of line "+"  start add(...)
-%  first character of line ";"  stop MCF
-%  CAT = CATegory,EN = Name,MW = Molecular weight
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%==============================================================================
-CAT:-;EN:-;MW:0;EXA:-;
-=
- sw_frame:=Atom;
-:
-<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
-*
- defaultscale:=.5;
- label.bot(decimal(fig_num)&":"&EN,(.5w,0));
-+
- defaultscale:=.3;
- label.bot("A2",A2) withcolor red;
- label.top("A6",A6) withcolor red;
- label.top("A9",A9) withcolor red;
-;
-%==============================================================================
-CAT:biological;EN:Adenine;MW:135.13;EXA:1
-:
-<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Guanine;MW:151.13;EXA:1
-:
-<30,?6,3=?5,1'3'9=db,2'9:N,6'7:NH,5:?O,1:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cytosine;MW:111.10;EXA:1
-:
-<30,?6,4'6=db,4:N,3:?O,2:NH,5:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Thymine;MW:126.11;EXA:1
-:
-<30,?6,3=db,2'6:NH,1'5:?O,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Uracil;MW:112.09;EXA:1
-:
-<30,?6,6=db,3'5:?O,2'4:NH
-;
-%== Amino acid ================================================================
-CAT:biological;EN:Glycine;MW:75.07;EXA:-
-:
-<30,NH2,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glycine;MW:75.07;EXA:-
-:
-<30,NH2,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Alanine;MW:89.10;EXA:-
-:
-<30,NH2,!wb,?!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Valine;MW:117.15;EXA:-
-:
-<30,NH2,!wb,/?!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Leucine;MW:131.16;EXA:1
-:
-<30,NH2,!wb,/!?!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Isoleucine;MW:131.16;EXA:-
-:
-<30,NH2,!wb,/?z'!2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Serine;MW:105.09;EXA:-
-:
-<30,NH2,!wb,/!OH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Threonine;MW:119.12;EXA:-
-:
-<30,NH2,!wb,/?'!w'OH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Cysteine;MW:121.16;EXA:-
-:
-<30,NH2,!wb,/!SH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Methionine;MW:149.21;EXA:-
-:
-<30,NH2,!wb,/!2'S!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Phenylalanine;MW:165.19;EXA:-
-:
-<30,NH2,!wb,/!Ph,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Tyrosine;MW:181.19;EXA:-
-:
-<30,NH2,!wb,/!Ph'(5:/OH),!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Triptophan;MW:204.21;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\,!,<24,|,?5,2=dr,5=dl,2=Ph,4:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Proline;MW:115.13;EXA:-
-:
-<18,?5,3:NH,4:*/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Glutamine;MW:146.15;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\`1,!`1,!,?O!,NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Asparagine;MW:132.12;EXA:-
-:
-<30,NH2,!wb,/!?O!'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Aspartic acid;MW:133.10;EXA:-
-:
-<30,NH2,!wb,/!COOH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Glutamic acid;MW:147.13;EXA:-
-:
-<30,NH2,!wb,/!2'COOH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Lysine;MW:146.19;EXA:-
-:
-<30,NH2,!wb,/!4'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Arginine;MW:174.21;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\`1,!`1,!2,NH!,?NH,!NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Hystidine;MW:155.16;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\,!,|,?5,1'3=dl,3:N,5:NH
-;
-%==============================================================================
-CAT:biological;EN:L-DOPA;MW:197.19;EXA:-
-:
-<30,NH2,!wb,/!Ph'(4'5:/OH),!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ornithine;MW:132.16;EXA:-
-:
-<30,NH2,!wb,/!3'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Citrulline;MW:175.2;EXA:-
-:
-<30,NH2,!wb,/!3'NH!'?O!'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:GABA;MW:103.12;EXA:-
-:
-<30,NH2,!4,COOH
-;
-%==============================================================================
-CAT:biological;EN:Citrate;MW:192.12;EXA:-
-:
-<30,COOH,!2,/COOH^30,/OH^-30,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:cis-Aconitate;MW:174.11;EXA:-
-:
-<30,COOH,!2,/COOH,!d,60,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Isocitrate;MW:192.12;EXA:-
-:
-<30,COOH,!4,COOH,3:!COOH,4:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Oxalosuccinate;MW:190.11;EXA:-
-:
-<30,COOH,!2,/COOH,!?O!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:-
-:
-<30,COOH,!3,?O!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Succinate;MW:118.09;EXA:-
-:
-<30,COOH,!3,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fumarate;MW:116.07;EXA:-
-:
-<30,COOH,!,!d,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Malate;MW:134.09;EXA:-
-:
-<30,COOH,!3,COOH,3:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Oxaloacetate;MW:132.07;EXA:-
-:
-<30,COOH,!,?O!2,COOH
-;
-%==============================================================================
-CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
-:
-<30,?6,5:O,2:*/OH,1'3:/*OH,4:*/*OH,6:*/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glucose 2;MW:180.16;EXA:1
-:
-<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,?O!,H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Glucose;MW:180.16;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fructose 1;MW:180.16;EXA:1
-:
-<30,OH,!2,/*OH,!,*/OH,!,*/OH,!,?O!2,OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fructose 2;MW:180.16;EXA:1
-:
-<-18,?5,5:O,1^-48:*/*!OH,1^48:/OH,*2'3:*/OH,4:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Fluctose;MW:180.16;EXA:1
-:
-Pyranose_hp,#.5,1^$-90:/OH,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Galactose;MW:180.16;EXA:1
-:
-hexose_hp,#.5,{1^$90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Mannose;MW:180.16;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Fucose;MW:164.16;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$-90'3^$90'4^$90}:/OH,6^$-90:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Ribose;MW:150.13;EXA:1
-:
-Pyranose_hp,#.5,{2^$-90'3^$-90'4^$90}:/OH,1^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Deoxyribose;MW:134.13;EXA:1
-:
-Pyranose_hp,#.5,{2^$-90'4^$90}:/OH,1^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Glucosamine;MW:179.17;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'4^$-90}:/OH,3^$-90:/NH2,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:N-acetyl-Glucosamine;MW:221.21;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'4^$-90}:/OH,3^$-90>lr:/NH!'?O!,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glucuronic acid;MW:194.14;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Maltose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sucrose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
- |,#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##,
- #.5,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Lactose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$0~arc_ltr,O,$0~arc_lbr,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cellobiose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$0~arc_lbr,O,$0~arc_ltr,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Trehalose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,@(1,0),|,hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- ||, at 4,$-37~arc_lb`3.25,O,&10~arc_br
-;
-%==============================================================================
-CAT:biological;EN:Geraniol;MW:154.25;EXA:1
-:
-<30,!8,OH,2'6=dr,2'6:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Limonene;MW:136.24;EXA:-
-:
-<30,?6,2=dl,2:/_,5:*/?!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
-:
-<30,?6,2:/*?!,5:*/_,3:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Allicin;MW:162.28;EXA:1
-:
-<-30,!d,!2,S?O,!,S,!2,!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzoic acid;MW:122.12;EXA:-
-:
-<30,Ph,3:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Gallic acid;MW:170.12;EXA:-
-:
-<30,Ph,3:/COOH,1'5'6:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Salicylic acid;MW:138.12;EXA:-
-:
-<30,Ph,3:/COOH,4:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cinnamic acid;MW:148.16;EXA:-
-:
-<30,Ph,3:/!dr'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cinnamaldehyde;MW:132.16;EXA:-
-:
-<30,Ph,3:/!dr'!CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Caffeic acid;MW:180.16;EXA:1
-:
-<30,Ph,1'6:/OH,3:/!d'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Vanillin;MW:152.15;EXA:1
-:
-<30,Ph,1:/OH,6:/O!,4:/CHO
-;
-CAT:biological;EN:alfa-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6:/_,3'5=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:beta-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6://_,3=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6:/_,3'6=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:delta-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3://?!,6:/_,5=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Eugenol;MW:164.20;EXA:-
-:
-<30,Ph,1:/OH,6:/O!,4:/!'!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Thymol;MW:150.22;EXA:-
-:
-<30,Ph,4:/OH,3:/?!,6:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Anisaldehyde;MW:136.15;EXA:-
-:
-<30,Ph,4:/CHO,1:/O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzaldehyde;MW:106.12;EXA:-
-:
-<30,Ph,4:/CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Nonalactone;MW:156.23;EXA:-
-:
-<18,?5,2:O,1:?O,3^-12:/!4
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Undecalactone;MW:184.27;EXA:-
-:
-<18,?5,2:O,1:?O,3^-12:/!6
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Muscone;MW:238.40;EXA:-
-:
-<-72,#1,60,-48,60,60,-48,60,60,-48,60,60,-48,60,60,-48,##,&1,9:?O,7:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:alfa-Pinene;MW:136.24;EXA:-
-:
-<30,?6,3:??,5:/_,5=db, at 2,180~zf`1,&4~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:beta-Pinene;MW:136.24;EXA:-
-:
-<30,?6,3:??,5://_, at 2,180~zf`1,&4~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Neral;MW:152.24;EXA:-
-:
-<30,!?,!d,!3,?,!d,-60,CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Geranial;MW:152.24;EXA:-
-:
-<30,!?,!d,!3,?,!d,!,CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:p-Cymene;MW:134.21;EXA:-
-:
-<30,Ph,4:/?!,1:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzyl-acetate;MW:150.18;EXA:-
-:
-<30,Ph, at 4,\,?O!,O!,!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzyl-benzoate;MW:212.25;EXA:-
-:
-<30,Ph,4:/!O!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Stearic acid;MW:284.48;EXA:1
-:
-<30,!17,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Linoleic acid;MW:280.45;EXA:1
-:
-<30,!5,-30,-30,!,-30,-30,!7,COOH,6'9=dr
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sphingosine;MW:299.50;EXA:1
-:
-<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Tocopherol;MW:430.717;EXA:1
-:
-<30,Ph,3=?6,7:O,1'2'5:/_,8:/*_^60,6:/OH, at 8,\,|,!12,4'8:/*_,12:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Thiamine;MW:265.35;EXA:1
-:
-<30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,-1'-4=dl,1'5'8:N,11:S,6'9:/_,
- -3^-12:/!2'OH,8:p_^72
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Riboflavin;MW:376.37;EXA:1
-:
-<30,Ph,3'9=?6,8'16=dl,7'10'14:N,12:NH,11'13:?O,1'6:/_,
- @10,\`1.5,!,*/OH,!,/*OH,!,*/OH,!2,OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotinic acid;MW:123.11;EXA:1
-:
-<30,Ph,2:N,4:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotinamide;MW:122.12;EXA:1
-:
-<30,Ph,2:N,4:/?O'!NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pantothenic acid;MW:219.23;EXA:1
-:
-<30,OH,!8,COOH,3:??,4^35:/*H,4^-20:*/OH,5:?O,6:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyridoxine;MW:169.18;EXA:1
-:
-<30,Ph,2:N,3:/_,4:/OH,5'6:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Biotin;MW:244.31;EXA:1
-:
-<18,?5,4=?5,2:S,6'8:NH,7:?O,{4^-54'5^54}:*/H,3^-12:/*!4'COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Folic acid;MW:441.3975;EXA:1
-:
-<30,?6,3=Ph2,1=dl,2'7'10:N,6:NH,5:?O,1:/NH2,
- @9,\,!NH!,Ph, at -3,\,?O,!NH!,/*COOH,!3,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Carotene;MW:536.8726;EXA:1
-:
-<30,?6, at 4,\,!18,?6,
- 8'10'12'14'16'18'20'22'24=dr,5'9'13'18'22'-5:/_,4'-6=dl,3'-1:??
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Adrenalin;MW:183.21;EXA:1
-:
-<30,Ph,1'6:/OH, at 4,\,*/OH,!2,NH!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Caffeine;MW:194.194;EXA:1
-:
-<30,?6,3=dl,1'5:?O,-4=?5,-3=dl,7:N,2'6'9:N?
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotine;MW:162.23;EXA:1
-:
-<30,Ph,2:N,4:/?5'(2:N?)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Capsaicin;MW:305.418;EXA:1
-:
-<30,Ph,1:/OH,6:/O!, at 4,\,!NH!,?O,!7,?!,-3=dl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Gibberellin A3;MW:346.379;EXA:1
-:
-<18,?5,3=?7,5=?6[12], at 8,160`1.3,&3,13=dl,6=wf,8=wb,
- @5,40~zf`1,O,50,?O^180,&14~zb,2:/COOH,7://_,*8'13:*/OH,14:*/_,1'4:*/H^60
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cholesterol;MW:386.664;EXA:1
-:
-<30,?6,-4'-2=?6,-4=?5,7=dl,
- 1:*/OH,4'12:*/_^60,{*9^60'10^180'11^-60'-1^-60}:/*H, at -1,17,/*_,!4,?!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Resveratrol;MW:228.24;EXA:1
-:
-<30,Ph, at 4,\,!d,!Ph,2'6'-3:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glutathione;MW:307.33;EXA:1
-:
-<-30,COOH,!,/*NH2,!3,?O,!NH!,*/!SH,!,?O!,NH,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Trenbolone;MW:270.37;EXA:1
-:
-<30,?6,3'10=?6,13=?5,2'11'15=dl,1:?O,12:*/_^60,-1:/*OH,{9^60'*11^-60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Luciferin;MW:280.33;EXA:1
-:
-<30,Ph,3=?5, at 8,\,?5,9'16=dl,9'14:N,7'11:S,1:/OH,-2:*/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Chlorophyll a;MW:893.509;EXA:1
-:
-<-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,
- 4'6'8'10'14'16'18'21'23'27=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23,
- 4'11'17'23:N,{1~zf'9'15'21}:/_,14:/!,20:/!d,25:/*?O!'O!,26:?O,
- @2,*\^-6,!2,?O!,O!2,!d,|,!13,1'5'9'13:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Alizarin;MW:240.21;EXA:1
-:
-<30,Ph,3=?6,-3=Ph2,7'10:?O,13'14:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Indigo;MW:262.26;EXA:1
-:
-<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:6,6'-dibromoindigo;MW:420.0549;EXA:1
-:
-<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O,1'-2:/Br
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Carminic Acid;MW:492.39;EXA:1
-:
-<30,Ph,3=?6,-3=Ph2,7'10:?O,2'5'6'13:/OH,11:/_,12:/COOH,
- @1,\~wb`1,?6,-5:O,-1'*-2'-3:/*OH,-4:*/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Curcumin;MW:368.38;EXA:1
-:
-<30,Ph, at 3,\,!7,Ph,8'13=dr,9'11:?O,6'-3:/OH,5'-4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Berberine;MW:336.36;EXA:1
-:
-<30,Ph,3=Ph,-3=?6,-2=Ph2,-3=?5,8:N,8:p_^60,-1'-3:O,{1>vt'2}:/!OH
-;
-%==============================================================================
-CAT:biological;EN:Apigenin;MW:270.24;EXA:-
-:
-<30,Ph,2'6:/OH,3=?6,9=dl,10:O,7:?O,9:/Ph'(-3:/OH)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Luteolin;MW:286.24;EXA:-
-:
-<30,Ph,2'6:/OH,3=?6,9=dl,10:O,7:?O,9:/Ph'(-2'-3:/OH)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Flavone;MW:222.24;EXA:1
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Isoflavone;MW:222.24;EXA:-
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,8:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Flavanone;MW:224.25;EXA:-
-:
-<30,Ph,3=?6,10:O,7:?O,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Flavonol;MW:238.24;EXA:1
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,8:/OH,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cianidanol;MW:290.27;EXA:1
-:
-<30,Ph,3=?6, at 8,*\,Ph,7:O,{1'5'9~zf'13'14}:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Quercetin;MW:302.24;EXA:1
-:
-<30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7:?O,2'6'8'13'14:/OH
-;
-%==============================================================================
-CAT:biological;EN:Limonin;MW:470.518;EXA:1
-:
-<30,?6,-3'-4=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,13'15'17'20:O,
- 3'12'21:?O,{4^60'*8^60}:*/_,18:??,{1^60'5^180'16^60}:/*H,
- @14,\*,|,?5,1'4=dl,3:O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cromolyn;MW:468.37;EXA:1
-:
-<30,Ph,|,-1=?6,3=dl,1:O,4:?O,2:/COOH,
- @$2,\,O!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1:?O,3:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Emetine;MW:480.649;EXA:1
-:
-<30,Ph,-4'-4=?6,8:N,1'6:/O!,-2:/*!,{7^-60'12^-60}:/*H,
- @-3,\,!zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,2'4=dl,-2'-3:/O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Acronycine;MW:321.376;EXA:1
-:
-<30,Ph,|,-4=?6,1:N?,4:?O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Piperine;MW:285.343;EXA:1
-:
-<30,Ph,-1=?5,-1'-3:O, at 4,\,!d,!,!d,!,?O!,?6,-6:N
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Febrifugine;MW:301.34;EXA:1
-:
-<30,Ph,3=?6, at 9,8=dl,\,!2,!zb,?6,7'9:N,-5:NH,10'12:?O,-1:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Hypericin;MW:504.44;EXA:1
-:
-<30,Ph,{-4'-3'11--4'16---17'19'23---24'22--29}=?6,
- 12'14'16'17'*22'24'26'28'33'35=dl,
- 7'25:?O,13'26:/_,2'6'11'21'23'28:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Camphor;MW:152.23;EXA:1
-:
-#1,15,-30,90,90,30,##,&1, at 2,0~si_`1.6,&5,{-1^45'-1^-65'5^-45}:/_,4:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sparteine;MW:234.3803;EXA:1
-:
-<30,?6,3=?6,9=wf,10=wb, at 8,#1,60,60,N,60,##,&10,-3=?6,3:N,{4^60'*11^-60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Mitomycine C;MW:334.332;EXA:1
-:
-<30,?6,3'6=dl,2'5:?O,1:/_,-4=?5,-3:N,
- 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,8:/*O!^35,@$9,\,!,O,60,?O!,NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
-:
-<0,?5,2'5:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3:?O,
- @10,\*,Ph,-2'-3'-4:/O!,13:/*OH,{11^-60'*12^60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Warfarin;MW:308.333;EXA:1
-:
-<30,Ph,3=?6,8=dl,10:O,7:/OH,9:?O, at 8,\,/Ph`1,60,!,?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Genistein;MW:270.24;EXA:1
-:
-<30,Ph,3=?6,9=dl,10:O,2'6:/OH,7:?O,8:/Ph'(-3:/OH)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Baicalein;MW:270.24;EXA:1
-:
-<30,Ph,3=?6,9=dl,10:O,1'2'6:/OH,7:?O,8:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Reserpine;MW:608.688;EXA:1
-:
-<54,Ph,3=?5,-2'-4'-3=?6,9=dl,11:N,7:NH,{*10^-60'15^-60'16^60}:/*H,
- @20,*\,O!,?O,!Ph,{-2'-3'-4'1'19~zf>rl}:/O!,18:*/?O!'O!>lr
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Rotenone;MW:394.423;EXA:1
-:
-<-60,?5,-3'-2'-3'-4=?6,*3'7'9'*17'-2'-4=dl,
- 2'13'16:O,10:?O,{11^-60'12^60}:*/H,-2'-3:/O!,1:*/?!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyrethrin I;MW:328.452;EXA:1
-:
-<30,?3,{3^35'*3^-35}:*/_, at 1,*\,!d,?!,
- @2,\*,?O!,O,-36~zb,|,?5,-2=dl,-1:/_,-3:?O, at -2,\,!4,-1'-3=dl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Oseltamivir;MW:312.40;EXA:1
-:
-<30,?6,3=dl,6:*/NH2, at 1,\*,NH!,?O!, at 2,*\,O!,/!,!2,4:/?O!'O!2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Paclitaxel;MW:853.918;EXA:1
-:
-?6,5=dl, at 3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
- 4:??,6:/_,{3^-60'15}:*/OH,8^-60:/*H,9^60:*/_,10:?O,
- @1,\,O!,?O!,*/OH,!,/Ph,60~wf,NH,-60,?O,60,Ph,
- @7,\*,O,-45,?O,60,Ph,{11>rl'*12^-15>lr}:*/O!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Mevastatin;MW:390.52;EXA:1
-:
-<30,?6,2=dl,4^60:*/H,-4=?6,-4=dl,9:*/_,
- @10,*\,!,60~wb,?6,6:O,-2:?O,-4:/*OH, at 5,\*,O,60,?O!,*/_,!2 
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sesamine;MW:354.35;EXA:1
-:
-<54,?5,1=?5,4'7:O,{1^-54'2^54}:*/H,
- 5^-12:*/Ph'(4=?5)'(7'9:O),8^-12:*/Ph'(4=?5)'(7'9:O)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Morphine;MW:285.343;EXA:1
-:
-<30,Ph,2'-4=?6,1---12=?5,-1:O,-1=zb,
- @7,60~wf`0.75,70~si_`1.3,45,N?,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Quinine;MW:324.424;EXA:1
-:
-<30,Ph,3=Ph,7:N,6:/O!,
- @10,\,*/OH,/*H^-60,!,|,?6,2:N,1^60:*/H, at 4,*\,!d, at 2,165~zf,60,&5~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Atoropin;MW:289.375;EXA:1
-:
-<30,O!,?O!2,Ph,@$1,\~zb^-60,|,?7`1.1, at 6,*\^190`1.25,N?,&3~wb,$3:/!OH~wv 
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Colchicine;MW:399.443;EXA:1
-:
-<30,Ph,1'2'6:/O!,-4'-5=?7,-1'-4'-6=dl,-2:?O,-3:/O!,9:/NH!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Lycorine;MW:287.315;EXA:1
-:
-<30,Ph,-4'-2=?6,6'(9--12)=?5,13=dl,8:N,15'17:O,{*9^180'10^60}:*/H,13'*14:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ibotenic acid;MW:158.113;EXA:1
-:
-<18,?5,4=dl,3:O,2:NH,1:?O,4^-24:/?NH2'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Illudin S;MW:264.3;EXA:1
-:
-<30,?6,3=?5,6:**?3,4'7=dl,2:?O,5:/_,{1^35'8^35}:*/_,{*1^-35'9}:*/OH,8^-35:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Muscarine;MW:174.26;EXA:1
-:
-<18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Psilocybin;MW:284.248;EXA:1
-:
-<30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,?O^-45,/OH^45,90,OH,7:/!2'N?!>lr
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Tetrodotoxine;MW:319.27;EXA:1
-:
-#1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4,
- @10,\,O,60`1.33,60,&$3~si_, at 8,-15~si_,O,&12,##,
- @9,45,-60,OH,1^120://NH,{5~zf^-15'7'9^-75'12'13~zf}:/OH,2:NH,6^180:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin B1;MW:312.27;EXA:1
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
- 2:/O!,8'11:?O,{15^-54'16^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin B2;MW:314.3;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,2:/O!,8'11:?O,{15^-54'16^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin G1;MW:328.27;EXA:2
-:
-<30,Ph,6=?6,-2=?6,4=?5,-2=?5,-2'10=dl,7'12'15'18:O,
- 2:/O!,8'11:?O,{16^-54'17^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin G2;MW:330.29;EXA:-
-:
-<30,Ph,6=?6,-2=?6,4=?5,-2=?5,10=dl,7'12'15'18:O,
- 2:/O!,8'11:?O,{16^-54'17^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin M1;MW:328.3;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
- 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin M2;MW:330.29;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,
- 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ochratoxin A;MW:403.813;EXA:1
-:
-<30,Ph, at 4,\,!,/*COOH,!`1.2,NH,!`1.2,?O!,
- Ph,-2:/Cl,-5:/OH,-4=?6,-3:O,-2:*/_,-4:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Deoxynivalenol;MW:296.32;EXA:1
-:
-<30,?6,3=?6,5=dl,1:?O,6:/_,-1:O,{*4^60'-2}:*/H,7^30:*/_, at 7,72`.9,80`1.3,&9,
- @8,?3,-3=wf_,-1=si_,-1:O,{2'12^18}:/*OH,3^-60`1:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Patulin;MW:154.12;EXA:1
-:
-<30,?6,3=?5,2'10=dl,6'7:O,5:/OH,8:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Citrinin;MW:250.247;EXA:1
-:
-<30,?6,3=?6,2'5'11=dl,9:O,1:?O,2:/_,7'*8:*/_,5:/OH,6:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Zearalenone;MW:318.364;EXA:1
-:
-<30,Ph, at 3,#1,\,!5,60,60,!4,&4,##,1'5'8=dl,17:O,16:*/_,1'5:/OH,12'18:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fumonisin B1;MW:721.83;EXA:1
-:
-<30,!19, at 6,*\,O!,?O!2,/COOH,!2,COOH, at 7,\*`1.2,O!,?O!2,/COOH,!2,COOH,
- 5'9:/*_,11'16'*18:*/OH,19:/*NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Dicumarol;MW:336.295;EXA:-
-:
-<30,Ph,3=?6, at 8,\`1.5,!`1.5,?6,-4=Ph2,8'14=db,10'16:O,9'17:?O,7'13:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Dihydroxybergamotin;MW:338.40;EXA:-
-:
-<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,/OH,!,??,!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Bergamotin;MW:338.40;EXA:-
-:
-<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,!d,?!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Alkannin;MW:288.29;EXA:-
-:
-<30,Ph,3=?6,9=db,2'5:/OH,7'10:?O, at 8,\,/*OH,!2,!d,?!
-;
-%==============================================================================
-CAT:synthetic;EN:Benzene;MW:78.11;EXA:-
-:
-<30,Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Phenol;MW:94.11;EXA:-
-:
-<30,Ph,3:/OH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Aniline;MW:93.13;EXA:-
-:
-<30,Ph,3:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Picric acid;MW:229.10;EXA:-
-:
-<30,Ph,1'3'5:/NO2,2:/OH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Hexaphenylbenzene;MW:534.6876;EXA:1
-:
-<30,Ph,1'2'3'4'5'6:/Ph
-;
-%==============================================================================
-CAT:synthetic;EN:Naphthalene;MW:128.17;EXA:1
-:
-<30,Ph,3=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Anthracene;MW:178.23;EXA:1
-:
-<30,Ph,3'6=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:1
-:
-<30,Ph,4'6=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:1
-:
-<30,Ph,6'3'-3=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Chrysene;MW:228.3;EXA:1
-:
-<30,Ph2,6'4'-4=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Pyrene;MW:202.25;EXA:1
-:
-<30,Ph2,6'4=Ph,16---7=?6,-2=dl
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Coronene;MW:300.35;EXA:1
-:
-<30,Ph,{1'11--2'15--3'19--4'23--5'27---7}=?6,9'12'14'17'20'22'25'28'30=dl
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Kekulene;MW:600.7;EXA:1
-:
-<30,?6,{3'-3'-2'-3'-2'-3'-2'-3'-2'-3'-2----5'5---- -4}=?6,
- 1'*5'7'9'11'13'17'19'21'23'27'29'31'33'37'39'41'43'47'49'51'53'57'60=dl
-;
-%==============================================================================
-CAT:synthetic;EN:12-Crown-4;MW:176.21;EXA:-
-:
-<-180,O,30,60,60,O,-30,60,60,O,-30,60,60,O,-30,60,&1
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:15-Crown-5;MW:220.26;EXA:2
-:
-<-180,O,48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,&1
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:18-Crown-6;MW:264.32;EXA:1
-:
-<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,&1
-;
-%==============================================================================
-CAT:synthetic;EN:Porphyrin;MW:310.4;EXA:1
-:
-<9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##,
- 1'4'6'8'10'14'16'18'21'23'27=dl,4'17:N,11'23:NH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Sulflower;MW:448.69;EXA:1
-:
-<67.5,?8,1'3'5'7=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,
- @17,30`1.15,&18, at 20,30`1.15,&9,9'12'13'16'17'20'21'24=dl,
- 10'13'16'19'21'22'23'24:S
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Arsphenamine x5;MW:915.2;EXA:1
-:
-<18,?5,1'2'3'4'5:As,1'2'3'4'5:/Ph'(3:/NH2)'(4:/OH)
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
-:
-<30,Ph,2'4'6:N,1'3'5:/NH2
-;
-%==============================================================================
-CAT:synthetic;EN:Tartrazine;MW:534.3;EXA:1
-:
-<30,Ph,1:/SO3Na, at 4,\,N,!d,N,!,<-12,?5,-2'-5=dl,-2'-3:N,-1:/COONa,-4:/OH,
- -3:/Ph'(4:/SO3Na)
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse yellow 3;MW:269.30;EXA:1
-:
-<30,Ph,2:/_,5:/OH, at 4,\,N,!d,N,!Ph,-3:/NH!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse orenge 30;MW:450.27;EXA:1
-:
-<30,Ph,1:/NO2,3'5:/Cl, at 4,\,N,!d,N,!Ph, at -3,\,N,/!2'CN,!3,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse red 65;MW:371.82;EXA:1
-:
-<30,Ph,1:/NO2,3:/Cl, at 4,\,N,!d,N,!Ph,-1:/_, at -3,\,N,/!2'CN,!2
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
-:
-<30,Ph,3'9=?6,8'13'16=dl,10:O,-2:?O,1'5'12'14:/I, at 7,\,Ph,-1:/COOH,6:/OH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Sudan red 1;MW:248.28;EXA:1
-:
-<30,Ph,1=Ph,4:/OH, at 3,\,N,!d,N,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Basic blue 1;MW:319.86;EXA:1
-:
-<30,Ph,3=Ph,6=Ph,2:S,5:N,8'13:/N?!,2:p_, at 2,@(3.5,1.5),Cl,n_^15
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse red 11;MW:268.274;EXA:1
-:
-<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,-2:/O!
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse red 60;MW:331.326;EXA:1
-:
-<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,-2:/O!'Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse violet 26;MW:422.438;EXA:1
-:
-<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,{-2>-30'-3>30}:/O!'Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Vat blue 1;MW:262.27;EXA:1
-:
-<30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,7'14:NH,9'11:?O
-;
-%==============================================================================
-CAT:antibiotics;EN:Amoxicillin;MW:365.4042;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!,*/NH2,!Ph,-3:/OH
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Ampicillin;MW:349.405;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??, 
- @4,*\^15,NH!,?O!,/*NH2,!Ph       
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Penicillin G;MW:334.4;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!2,Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Penicillin V;MW:350.3895;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!2,O,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,N,!d,!,?7,-7:N
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Nafcillin;MW:414.4748;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O,!Ph,-2=Ph,-9:/O!2  
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Oxacillin;MW:401.4363;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_, at -1,-24,Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cloxacillin;MW:435.8813;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_, at -1,-24,Ph,-5:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Dicloxacillin;MW:470.3264;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_,-1^-24:/Ph'(2'6:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefalexin;MW:347.3889;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,6:/_,
- @4,*\^15,NH!,?O!,*/NH2,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefalonium;MW:458.5107;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15, at 5,\*,?O!,O,n_^40,
- @4,*\^15,NH!,?O!2,?5,-1'-3=dl,-4:S,
- @6,\,!,|,Ph,1:N,1:p_^180,4:/?O!'NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefazorin;MW:454.51;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
- @4,*\^15,NH!,?O!2,?5,-2'-4=dl,-1'-2'-3'-5:N,
- @6,\,!,S,!,?5,-3'-5=dl,-1:S,-2:/_,-3'-4:N
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefoperazone;MW:645.67;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
- @4,*\^15,NH!,?O!,/*Ph'(4:/OH),!NH!,?O!,?6,-3'-6:N,-4'-5:?O,-3:/!,
- @6,\,!,S,!,?5,-3'-5=dl,-1:/_,-1'-2'-3'-4:N,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefquinome;MW:528.6;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15, at 5,\*,?O!,O,n_^40,
- @4,*\^15,NH!,?O!,//N!'O!,!,?5,-2'-5=dl,-3:S,-1:N,-2:/NH2,
- @6,\,!Ph,-2=?6,-10:N,-10:p_^180
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Ceftiofur;MW:523.5626;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
- @4,*\^15,NH!,?O!,//N!'O!,!,?5,-2'-5=dl,-3:S,-1:N,-2:/NH2,
- @6,\,!,S,!,?O!,?5,-1'-3=dl,-4:O
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Cefuroxime;MW:424.3852;EXA:1
-:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
- @4,*\^15,NH!,?O!,//N!'O!,!,?5,-1'-3=dl,-4:O, at 6,\,!O!,?O!,NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
-:
-<30,?6,3=?6,2'10:O, at 1,\*,O,60~zb,?6, at 9,\*,O,-60~zb,?6,-5:O,
- 7'13'*14'*-1'-2:*/OH,*6'15'17'*-3:*/NH2,8:*/NH!^-20,
- -4:*/!OH,{*3^-60,4^60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Gentamycin;MW:477.596;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\*,O,0~zb,?6,-5:O,2'4'*20:*/NH2,6:*/OH,
- 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:*/?!'NH!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Kanamycin;MW:484.499;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
- 2'4'12:*/NH2,*6'11'13'18'*19,20:/*OH,10:*/!OH,17:*/!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Neomycin;MW:614.644;EXA:1
-:
-<30,?6,3:O,2:/*!NH2,1'*6:*/OH,5:*/NH2,
- @4,*\,O,!wb,?6,{-3,-5^15}:/*NH2,-2:*/OH^-15,
- @-1,\*,O,-72~wb,?5,-4:O,-1:/*OH>vt,-3:*/!OH>vt,
- @-2,\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2'*-3:*/OH,-4:/*!NH2>60
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Streptmycin;MW:581.574;EXA:1
-:
-<54,?5,3:O,4:/*_,5:/OH^45, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
-  5:/!dO^-48,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
-  {17^-18'19}:*/NH!'?NH'!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Streptmycin-H2O;MW:599.574;EXA:-
-:
-<54,?5,3:O,4:/*_,5:/OH^60, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
-  @5,-18,/OH^15,45,OH,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
-  {17^-18'19}:*/NH!'?NH'!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:dihydro-Streptmycin;MW:583.574;EXA:1
-:
-<54,?5,3:O,4:/*_,5:/!OH^-48,5:/*OH^35, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
- 10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,{17^-18'19}:*/NH!'?NH'!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Spectinomycin;MW:332.35;EXA:1
-:
-<30,?6,3'9=?6,7=zf,11=wb,7'10'14:O,9^60:*/H,11:?O,{1'*5'8^-60}:*/OH,
- 13:/*_,2'6:*/NH!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tobramycin;MW:467.51;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
- 2'4'12'*20:*/NH2,*6'11'13'18:/*OH,10:*/!OH,17:*/!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Spiramycin;MW:843.1;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,{1'10^-30}:/*_,5:/*OH,3:?O,6:/*O!>vt,8:/*!'!dO,
- @-6,\*^-30,O,!wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
- @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
-   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35'-3}:*/OH,{-2^-35'-4}:/*_,##,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Neospiramycin;MW:698.9;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,{1'10^-30}:/*_,5:/*OH,3:?O,6:/*O!>vt,8:/*!'!dO,
- @-6,\*^-30,O,!wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
- @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-4:*/_,-1'-3:/*OH,##,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Josamycin;MW:827.995;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,1:/*_,3:?O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*O!'?O!^-25,8:/*!'!dO,
- @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
-   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35'-4}:/*_,##,
-   @-3,*\,O,60,?O,60,-60,/_,!,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Leucomycin A5;MW:771.942;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,1:/*_,3:?O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*OH,8:/*!'!dO,
- @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
-   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35'-4}:/*_,##,
-   @-3,*\,O,60,?O,60,-60,60,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Erythromycin;MW:733.93;EXA:1
-:
-<30,#1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,##,&1,
- 14:O,13:/*!,1'9:?O,{*2'4'6^-35'8'*10'12^35}:/*_,
- {6^35'11'12^-35}:*/OH,
- @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf'3^35}:/_,4:/*OH,3^-35:/*O!,##,
- @$5,\*^30`1.7,O,!zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Emamectine;MW:886.133;EXA:1
-:
-<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
- @5,#1.04,6,?O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,##,&7,
- -1'-3'-7=dl,-11--(-10)=?6, at -2,?6,-6=wf,-1=zb,-5=dl,
- -1'-6:O,-3:*/_, at -2,\,*/_,!2,
- 17:/_,19:/*_, at 18,\,O!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
- @-3,\,O,60,?6`.7,-5:O,#.5,-4:*/_,-3:/*NH!,-2:*/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Spinosad;MW:731.968;EXA:2
-:
-<30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##,
- 5=?5,-1=dl,{-2^60'-3^-35}:/*H,-3=?6,-4=dl,
- {-1^35'*-2^-60}:*/H,-2=?5,2:O,{3^25,7^-25}:?O,1:*/!,
- @-2,\*,O,66~zb,?6`.7,-1:O,#.5,-2:*/_,{*-3'-4'-5}:*/O!,8:*/_,5^-65:*/H,##,
- @9,\*,O,!zb,|,?6`.7,6:O,#.5,5:/*_,4:*/N?!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Natamycin;MW:665.733;EXA:1
-:
-<-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
- 60,60,-60,60,-60,60,-60,60,60,-60,&1,##,12--13=?6,
- 2'4'6'8'20=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
- 18=?3,-1=wb,-2=wf,-1:O,22:?O,24:*/_,{14^60'16}:*/OH,
- @10,*\^15,O,90,?6`.7,-1:O,#.5,-3'*-5:*/OH,-4:/*NH2,-2:/*_
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tylocin;MW:916.10;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,1:/*!,5:/*OH,3:?O,10:/*_,6:/*_,-6:?O,-3:/_,8:/*!'!dO,
- @-1,*\,-60,O,0~wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/*O!,##,
- @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
-   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35'-3}:*/OH,{-2^-35'-4}:/*_,##,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tilmicosin;MW:869.133;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- 12'14=dl,2:O,1:/*!,5:/*OH,3'11:?O,6'10:/*_,14:/_,
- @-1,*\,-60,O,0~zb,?6`.7,-5:O,#.5,-1'-2:*/O!,-3:*/OH,-4:/*_,##,
- @7,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1'-3:/*OH,-4:*/_,##,
- @8,\*,!2,?6`.7,-6:N,#.5,-2'-4:*/_
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Mirosamicin;MW:727.8791;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- @8,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
- 5'13=dl,15=?3,-2=wf,-1=wb,-1:O,3:O,2:/*!,4'12:?O,7'9'*11:*/_,1:/*OH^-80,
- @1,*\,!,O,!wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Chlortetracyclin;MW:478.88;EXA:1
-:
-<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,2:/Cl,
- {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Oxytetracyclin;MW:460.434;EXA:1
-:
-<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,11:*/OH,
- {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tetracyclin;MW:444.435;EXA:1
-:
-<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,
- {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Doxycyclin;MW:444.43;EXA:1
-:
-<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_,
- {5'13~wf^60'11~wf'14'16}:/OH,15:*/N?!,17:/?O!'NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tiamulin;MW:493.74;EXA:1
-:
-<-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
- {3^-45'5'8}:*/_, at 3,\*^30,!d,4:/*OH,11:?O,7:*/H^60,
- @1,15,O!,?O!2,S,60,60,-60,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
-:
-<30,Ph,6:/_^30,5:/OH,-6=?5,-3:O,-8=?6,-2'-4=dl,-1'-4:/OH,
- #1, at -2,\,NH,60,-60,60~dl,60,60~dl,-60,
- 60,-60,60,60,-60,60,-53,66,-53~dl,66`1.2,O,##,&$8,
- ||,9'15:?O,16:/_,{20'24^30}:*/_,21'23:/*OH,{8^60'22'26^30}:/*_,
- -4:/*O!, at -6,-30,O!,?O!,@$11,\,!d,N,!,|,?6,1:N,4:N?
-;
-%==============================================================================
-CAT:pesticide;EN:BHC;MW:290.83;EXA:1
-:
-<30,?6,1'*2'3'4'*5'6:*/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDT;MW:354.49;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:op-DDT;MW:354.49;EXA:-
-:
-<30,Ph,4:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDD;MW:320;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,/?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDE;MW:318;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,//?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:XMC;MW:179.2;EXA:-
-:
-<30,Ph,1'5:/_, at 3,\,O!,?O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Acrinathrin;MW:541.45;EXA:1
-:
-<-30,?3,{2^-35,*2^35}:*/_,
- @1,\,!d,!,?O,!O!,/?F?F!F,!,?F?F!F, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:1
-:
-<30,Ph,4'6:/Cl, at 3,\,!2,?5,-2'-4=dl,-2'-4'-5:N, at 7,?5,-1'-4:O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:1
-:
-<30,Ph,2:/_,4:/!, at 3,\,N,/?O!2'Cl,!2,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Atrazine;MW:215.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Alachrol;MW:269.8;EXA:1
-:
-<-30,!,O!2,N,/Ph'(-5'-1:/!),!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:1
-:
-<30,Ph,2:/?!,3:/O!'?O!'NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:1
-:
-<30,!?!,O!,?O!,//?5'(2'5:S),!?O,!O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:1
-:
-<30,!?!,O!,P,?O,/O'!?!^170,!,S,!2,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:1
-:
-<30,Ph, at 3,\,!S!,?O!,N?2!,?!,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\`1.1,/!,N,!2,/_,!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:1
-:
-<30,Ph, at 5,\,O,!Ph, at 10,\,O!3,??,!Ph,-3:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endrin;MW:380.91;EXA:1
-:
-<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
-  @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:1
-:
-<30,Ph,4'6:/Cl,1:/O'!?!, at 3,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:1
-:
-<30,Ph,2'4:/_, at 3,\,N,!1,?O!2,O!, at 7,\,|,?5,1:N,2:O,5:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:1
-:
-<30,Ph,6:/?F?F!F,4:/Cl, at 3,\,O,!Ph,-3:/NO2,-4:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:1
-:
-<30,Ph,2'4'6:/_, at 3,\,S?O?O,!,|,?5,2'5=dl,2'4'5:N,-2:/?O!'N?'!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:1
-:
-<30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,?O!,O!2,
- @3,\,|,?5,4=dl,1'3'5:N,-4:?O,-3:/?F!F,-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carboxin;MW:235.301;EXA:1
-:
-<30,?6,3=dl,2:S,5:O,4:/_, at 3,\,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:1
-:
-<30,Ph,4=Ph,10:N,2'6:/Cl, at 7,\,O,!Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quitozene;MW:295.3;EXA:1
-:
-<30,Ph,1'2'3'4'6:/Cl,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:1
-:
-<30,Ph, at 3,\,/?O!'O!,!d,N,!O!, at 4,\,!,O,!Ph,-1:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clomazone;MW:239.7;EXA:1
-:
-<30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2:??,-1:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:1
-:
-<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/?F?F!F,2:/!O!2,3:/Ph'(-3:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:1
-:
-<30,Ph, at 3,\,O!,S?O?O,!Ph,6'12:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:1
-:
-<30,Ph,6:/Cl, at 4,\,NH!,?O!,O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:1
-:
-<30,Ph, at 3,\,S,!2,Ph,6'12:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:1
-:
-<30,Ph, at 3,\,/OH^-35,/?O!'O!2^30>lr,!Ph,6'11:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:1
-:
-<30,Ph,1:/Cl,3:/_, at 5,\,?O,60,NH!, at 4,\,NH!,?O!,<24,?5,-1'-3=db,-3'-4:N,-2:/Br,
- @-4,24,Ph,-5:N,-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:1
-:
-<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,/?O!'O!,!d,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiuram;MW:240.43;EXA:1
-:
-<30,!,N?!,//S,!,S,!,S,!,//S,!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Probenazole;MW:223.25;EXA:1
-:
-<12,Ph,3=?5,9=dl,7:S,8:N,{7^35'7^-35}:?O,9:/O!2'!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Penflufen;MW:317.41;EXA:1
-:
-<30,Ph, at 3,\,NH!,?O!,?5,-1'-4=db,-2'-3:N,-2'-4:/_,-1:/F, at 4,\,/_,60,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:MCPA;MW:200.62;EXA:1
-:
-<30,Ph,1:/Cl,5:/_,4:/O!2'COOH
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Asulam;MW:230.2;EXA:1
-:
-<30,Ph,1:/NH2, at 3,\,S?O?O,!NH!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazosulfuron;MW:412.81;EXA:1
-:
-<-11.8,?6,3=?5,1'5'7'9=db,4'7:N,8:/Cl,
- @-1,\,S?O?O,!NH!,?O,!NH!,Ph,-1'-5:N,-2'-4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triaziflam;MW:333.4;EXA:1
-:,
-<30,Ph,2'6:/_, at 4,\,O!2,?!,NH!,Ph,-1'-3'-5:N,-2:/NH2,-4:/??'!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Trichlopyr;MW:256.47;EXA:1
-:,
-<30,Ph,2:N,1'4'6:/Cl,3:/O!2'COOH
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Halosulfuron-methyl;MW:434.82;EXA:1
-:,
-<6,?5,3'5=db,1'2:N,2:/_,5:/Cl, at 3,\,S?O?O,!NH!,?O,!NH!,Ph,-2'-4:/O!,4:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
-:
-<30,Ph,4:/Cl, at 1,\,?5,-2'-4=db,-2'-4'-5:N,-1:/Ph,-3:/?O!'NH2,
- @3,\,!,O!2,/F^35,/F^-35,!,?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!'??'!CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:1
-:
-<30,Ph, at 4,\,NH!,?O!,O,!?!,1'6:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:1
-:
-<30,Ph,4'6:/Cl, at 3,\,O,!Ph, at -4,\,O,!?!,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl,
- @3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:1
-:
-<30,Ph,1:/CN,4:/F, at 3,\,O,!Ph, at -3,\,O,!?!,?O!,O,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:1
-:
-<30,Ph, at 3,\,!Ph,-5:/?O!'N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_,
- @1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-3:/F,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:1
-:
-<30,Ph,1'5:/F, at 4,\,NH!,?O,!Ph,6:N,-5:/O!'Ph'(-3:/?F?F!F)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:1
-:
-<30,?3, at 2,\,?!,/OH^30,-90,!,|,<-18,?5,2'4=dl,1'3'5:N,@$5,-30,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simazine;MW:201.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethametryn;MW:255.4;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH'!?!'?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:1
-:
-<-6,?5,3'5=dl,2:S,3'5:/_, at 4,\,N,!,?O!2,Cl,6:/?!2'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simetryn;MW:213.3;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1'3:/NH!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:1
-:
-<30,Ph, at 3,\,??,!S!,?O!,?6,-6:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diazinon;MW:304.35;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,4'6:N,5:/_,3:/?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:1
-:
-<30,Ph,1:/Cl, at 4,\,!S!,?O!,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiometon;MW:246.34;EXA:1
-:
-<-30,!O!,P,//S,/O!^160,!,S!3,S!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:1
-:
-<-12,?5,3'5=dl,2:S,5:N,3:/?F?F!F,1:/_,
- @4,\,?O,!NH!,<6,Ph,-5'-1:/Br,-3:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:1
-:
-<30,?6`1.2,3=?6,6=dl,9=?3,-1:O, at 2,148~wf`1.4,&5~wb,
- @7,*\^145`1.3,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldrin;MW:364.908;EXA:1
-:
-<30,?6`1.3,3=?6,6'9=dl,
- @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'11^-210'11^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:1
-:
-<30,Ph,{1,3,4,6}:/Cl,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:1
-:
-<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4'5:/Cl),!d,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:1
-:
-<-6,?5,2'5=dl,1'2'4:N, at 4,\,!3,O!,/F^35,/F^-35,!,?F!F,7:/Ph'(4'6:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:1
-:
-<30,Ph, at 3,\,S?O?O,!Ph,6'10'11'13:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:1
-:
-<6,?5,2'5=dl,4:S,2:/O!, at 3,\,!,N,7^-15:/Ph'(6'2:/_),!,?O!2,Cl,
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:1
-:
-<36,?5,1'4=dl,1'3'5:N, at 3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:1
-:
-<6,?5,3'5=dl,1'2:N,4:/Cl,5:/!,2:/_, at 3,\,?O!,NH,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl, at 3,\,?O!,O!2,|,Ph,2'3'5'6:/F,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH!'??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbufos;MW:288.42;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,S!,??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,O!2,?O!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triazophos;MW:313.31;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,<-12,|,?5,2'5=dl,2'4'5:N,4:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triallate;MW:304.7;EXA:1
-:
-<-30,!?!,N,/?!,!,?O!,S!2,/Cl,!d,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:1
-:
-<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\,N,/!2,!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Napropamide;MW:271.4;EXA:1
-:
-<-30,Ph,4=Ph, at 10,\,O!,?!,?O!,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
-:
-<30,Ph,5:/NO2,1'3:/?O!'O!'?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
-:
-<30,?6,1'5=dl,4'5:N,1:/NH!,3:?O,2:/Cl,4:/Ph'(3:/?F?F!F)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,!2,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
-:
-<30,Ph,5:/?F?F!F, at 3,\,O,!Ph,-5:N, at -4,\,?O,!NH!,Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
-:
-<30,Ph, at 3,\,Ph, at -3,\,O!2,/OH,!,??!, at 14,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,O,!Ph,-4:/?O!'O!,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
-:
-<-30,?3,{2^-35'*2^35}:*/_,
- @1,\,!d,/Cl,!,?F?F!F, at 3,\,?O,!O!,-60,Ph,-1:/_,-2:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
-:
-<30,Ph,6:/Cl,4:/F, at 3,\,|,?5,1'4=dl,2'3:N,-3:/_,5:/Cl,
-  @-2,\,O!,/F,!F,@$1,\,O!2,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
-:
-<30,?6,2'4=dl,5'6:N,6:/??!,1:?O,2:/Cl, at -4,\,S,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?6,1'5=dl,2'3:N,4:?O,3:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:1
-:
-<30,Ph,5:/??!, at 3,\,?O!,S!,N?!,Ph,-5:N,-4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:1
-:
-<30,Ph, at 5,\,O,!Ph, at -3,\,O!2,?!,O,-60,Ph,-5:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
-:
-<30,Ph,2:/O!'?O!, at 5,\,/_,!d,N,!O!, at 3,\,O!,|,Ph,2'6:N,3'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
-:
-<30,Ph, at 3,\,NH!,|,Ph,2'6:N,3'5:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:1
-:
-<30,Ph,3=?6,10:N,9:?O,11--4=?5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:1
-:
-<36,?5,3:N,5:O,2'4:?O,1:/_^54,1:/!d^-30,3:/Ph'(3'5:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
-:
-<30,Ph,2'4:/Cl,6:/?F?F!F, at 3,\,|,?5,2'4=dl,1'2:N,3:/CN,5:/NH2,-2:/S?O'!?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
-:
-<30,!2,O!,P,?O,/NH'!?!^160,!,O,!Ph,-4:/_,-3:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
-:
-<30,Ph, at 3,\,!Ph,4'11:/Cl,7:/OH^30,7^-30:/Ph'(3'5:N)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
-:
-<30,Ph, at 3,\,O,!5,S,!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/S'?O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-4:/_,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Parathion-methyl;MW:263.2;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Parathion;MW:291.3;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O,!Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O!,|,Ph,3:/_,4:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
-:
-<-30,!2,?!,NH!,P,//S,/O!2^170>rl,!O!,|,Ph,2:/NO2,5:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S,!,/Ph,!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
-:
-<-30,!3,O!,P,//S,/O!2^160>rl,!O!,Ph,-5'-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
-:
-<-30,!3,O!,P,?O,/O!3^160>rl,!O!,Ph,-3:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
-:
-<30,!2,O!,P,//S,/O!3^160>rl,!O,!Ph,-5:/Cl,-3:/Br
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
-:
-<-30,!O!, P,//S,/O!^160,!O!,|,Ph,3'6:/Cl,4:/Br
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,|,?5,4=Ph,4=dr,1:N,2:?O,3:O,8:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phosmet;MW:317.32;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S,!2,|,?5,3=Ph2,1:N,2'5:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phorate;MW:260.4;EXA:-
-:
-<30,!2,O!,P,//S,!,S!2,S!2,4:/O!2^160>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!S!,/!?O!'O!2`1,!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methidathion;MW:302.32;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S!2,|,?5,4=dl,1'5:N,3:S,2:?O,4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
-:
-<-30,!O!,P,?O,/O!^160,!O,!?,!d,!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
-:
-<-30,!O!,P,//S,/O!^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
-:
-<-30,!2,?!,S!,P,?O,/O!2^160>rl,!,S,!?,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S!2,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
-:
-<30,!4,S,!,P,?O,/S'!4^160>rl,!,S,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'6:/Cl,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
-:
-<-30,!3,O!,P,//S,/O'!?!^160>rl,!,S!2,?O!,|,?6,1:N,6:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
-:
-<30,!2,O!,P,?O,/S!3^160>rl,!O!,<-12,|,?5,1'4=dl,3'4:N, at -3,-12,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrazophos;MW:373.37;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?5,3=?6,2'5'7'9=dl,4'5'6:N,7:/_,-2:/?O!'O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:EPN;MW:323.303;EXA:-
-:
-<30,!2,O!,P,//S,/Ph^170,!,O,!Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Anilofos;MW:367.9;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S,!2,?O!,N,/?!,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isazofos;MW:313.74;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?5,2'5=dl,2'4'5:N,4:/Cl,3:/?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethion;MW:384.46;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,S,!2,S,!,P,//S,/O!2^200>lr,!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Edifenphos;MW:310.37;EXA:-
-:
-<30,Ph, at 3,\,O!,P,//S,/O!2>rl^160,!,S,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethoprophos;MW:242.33;EXA:-
-:
-<-30,!3,S,!,P,?O,/S!3^160>rl,!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethrimfos;MW:292.29;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'4:N,5:/!,3:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quinalphos;MW:298.30;EXA:-
-:
-<30,!,O!2,P,//S,/O!2^160>rl,!O!,|,Ph,3=Ph,2'5:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenvinphos;MW:359.58;EXA:-
-:
-<30,!2,O!,P,?O,/O!2^160>rl,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pirimiphos-methyl;MW:305.333;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O,!Ph,-5'-3:N,-2:/_,-4:/N?2'!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyanophos;MW:243.22;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dichlofenthion;MW:315.2;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-5'-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenvalerate;MW:419.91;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O'!Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenpropathrin;MW:349.4;EXA:-
-:
-<-30,?3,{1^35'2^-35}:*/_,{1^-35'2^35}:/*_, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:1
-:
-<30,?6,3:N,6:O,1'5:*/_, at 3,\,!?,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phthalide;MW:271.9;EXA:1
-:
-<30,Ph,3=?5,8:O,9:?O,1'2'5'6:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Butachlor;MW:311.85;EXA:-
-:
-<30,!4,O!2,N,/Ph'(-1'-5:/!)`1,!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:1
-:
-<30,Ph,4'6:N,1:/_, at 3,\,O!,S?O?O,!,N?!,2:/!3,5:/NH!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:1
-:
-<-30,?6,1'5:N,1:/Ph,3:S,6:?O,5:/?!,4://N'!??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flamprop-methyl;MW:335.8;EXA:-
-:
-<30,Ph,1:/Cl,6:/F, at 3,\,N,/?O!'Ph>rl,!?!,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:1
-:
-<30,Ph,4'6:N,1:/?F?F!F,5:/O'!?!, at 3,\,O!2,Ph, at -1,\,|,!d,!O!,1:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:1
-:
-<30,Ph,3=?6,8=dl,7'9:N,6:/F,10:?O, at 8,\,|,?5,2'4=dl,1'3'5:N,$9:/Ph'(4'6:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:1
-:
-<30,Ph,5=?5,7'9:O,{8^-40'8^40}:/F, at 4,\,|,?5,2'5=dl,-2:NH,-4:/CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:1
-:
-<30,Ph, at 6,\,O!,/F,!,F, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:1
-:
-<30,Ph,2:/?F?F!F, at 3,\,?O,!NH!,Ph,-1:/O'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:1
-:
-<30,Ph,5:/Cl,1:/?F?F!F, at 4,\,NH!,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:1
-:
-<30,Ph,6:/F,3=?6,-1:O,-4:N,-3:?O, at -4,\,!,!t, at 1,\,|,?5,3=?6,3=dr,1:N,2'5:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pretilachlor;MW:311.85;EXA:-
-:
-<30,Ph,2'4:/!, at 3,\,N,/?O!2'Cl`1,!3,O!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Procymidone;MW:284.136;EXA:-
-:
-?6,1:N, at 3,&5,2'6:?O,3'5:/_,1:/Ph'(3'5:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propachlor;MW:211.689;EXA:-
-:
-<30,Ph, at 3,\,N,/?!,!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propazine;MW:229.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1'3:/NH'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propanil;MW:218.077;EXA:-
-:
-<30,Ph,1'6:/Cl,3:/NH!'?O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propyzamide;MW:256.1;EXA:1
-:
-<30,Ph,1'5:/Cl, at 3,\,?O,!NH,!??!,!t
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,!2,|,?5,2'4=dl,1'2'4:N,@$7,?5,-1'-4:O,-3:/!2^-15
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prohydrojasmon;MW:254.37;EXA:-
-:
-<18,?5,2:?O,3:*/!4^-12,4:/*!?O!'O!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromacil;MW:261.119;EXA:1
-:
-<30,?6,6=dl,3:N,1:/Br,2'4:?O,5:NH,6:/_,3:/?!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prometryn;MW:241.4;EXA:-
-:
-<30,Ph,2'4'6:N,5:/S!,1'3:/NH'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromobutide;MW:312.2;EXA:-
-:
-<30,Ph, at 3,\,??,!NH!,?O!,/Br,!??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromopropylate;MW:428.12;EXA:-
-:
-<30,Ph, at 3,\,!Ph,6'11:/Br,7:/OH^-45, at 7,30,?O!,O,-60,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexaconazole;MW:314.2;EXA:-
-:
-<36,?5,1'4=dl,1'3'5:N, at 3,30,!5,-4^30:/OH, at -5,-30,Ph,-3'-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
-:
-<30,?6,3=dl,2'4'6:N,2:/_,1'5:?O,6:/?6,3:/N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benalaxyl;MW:325.4;EXA:-
-:
-<30,Ph, at 3,\,!,?O!,N,/Ph'(-5'-1:/_),!?!,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benoxacor;MW:260.1;EXA:-
-:
-<90,Ph,3=?6,7:N,10:O,8:/_, at 7,\,?O!,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:1
-:
-<30,?6`1.3,3=?5,6'8=dl, at 2,210~wf`1.5,&5~wb,{1'2'5'6'9'10^-210'10^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Permethrin;MW:391.30;EXA:-
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O!,O!2,Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Penconazole;MW:284.184;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,/!2,!2,|,<30,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pendimethalin;MW:281.3;EXA:-
-:
-<30,Ph,3'5:/NO2,1'2:/_, at 4,\,NH,!?,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F,2:/N?2'!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:1
-:
-<30,Ph,3=?5,7:O,9:??, at 6,\,O!,S?O?O,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bensulide;MW:397.5;EXA:1
-:
-<30,!?!,O!,P,//S,/O'!?!^160>rl,!,S!3,NH!,S?O?O,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Myclobutanil;MW:288.8;EXA:-
-:
-<36,?5,1'4=dl,1'3'5:N, at 3,30,!,/CN^30,/Ph'(4:/Cl)^-30,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methoxychlor;MW:345.644;EXA:-
-:
-<30,Ph, at 3,\,!Ph,6'11:/O!,7:/?Cl?Cl!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Metolachlor;MW:283.8;EXA:-
-:
-<30,Ph,5:/!,3:/_, at 4,\,N,/?!2'O!,!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mefenacet;MW:298.4;EXA:-
-:
-<12,Ph,3=?5,9=dl,9:N,7:S, at 8,\,O!2,?O!,N?!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mefenpyr-diethyl;MW:373.23;EXA:-
-:
-<18,?5,5=dl,4'5:N,3^65:/_,{1^12'3^-12}:/?O!'O!2, at 4,-24,Ph,-3'-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mepronil;MW:269.3;EXA:-
-:
-<30,Ph,2:/_, at 3,\,?O,!NH!,Ph,-2:/O'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Molinate;MW:187.3;EXA:1
-:
-<47,?7,3:N, at 3,\,?O!,S!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,?!,3:/?O!'O!2,|,?5,3'5=dl,2:O,3:/!Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Lenacil;MW:234.3;EXA:-
-:
-<30,?6,3=?5,3=dl,6:N,2:NH,1'5:?O,6:/?6
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Halfenprox;MW:477.4;EXA:1
-:
-<30,Ph, at 6,\,O!,/F^35,/F^-35,!,Br, at 3,\,!??!,O!2,Ph,-2:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paraquat;MW:257.16;EXA:1
-:
-Ph, at 4,\,Ph,1'10:N?,1:p_^-90,10:p_^90, at 1,@(0,1.2),Cl,n_^15,
- @10,@(0,1.2),Cl,n_^15
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:1
-:
-Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,Ph,-2=Ph,10:N, at 4,&12~vf, at 23,&12~vf
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:1
-:
-<26,?7,7=?6[13], at 11,208~wf`1.45,&8~wb,10=dl,3'5:O,4:S,4:?O,
- {8'9'10'11'12^-210'12^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Uniconazole-P;MW:291.779;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%******************************************************************************
-CAT:pesticide;EN:Azinphos-methyl;MW:317.318;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S!2,|,?6,-3=?6,2'4'8'10=dl,1'3:N,6:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:1
-:
-<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,//!O!,!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aramite;MW:334.859;EXA:-
-:
-<30,Ph,6:/??!, at 3,\,O!2,?!,O!,S,?O,!,O!3,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldicarb;MW:190.3;EXA:-
-:
-<-30,!,S,!,??,!,!d,N,!O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldoxycarb;MW:222.3;EXA:-
-:
-<30,!,?O,!NH!,O!,N,!d,!,??,!,S?O?O,!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoxaflutole;MW:359.319;EXA:-
-:
-<30,Ph,6:/?F?F!F, at 4,\,S?O?O,!, at 3,\`1,?O,!`1,<-12,|,?5,1'4=dl,3:O,4:N,2:/?3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Iprovalicarb;MW:320.4;EXA:-
-:
-<30,Ph,6:/_, at 3,\,!?!,NH!,?O!,??,!NH!,?O!,O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazalil;MW:297.2;EXA:1
-:
-<-30,!,/Ph'(4'6:/Cl),!,O!2,!d, at 1,60,|,?5,2'4=dl,1'3:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:1
-:
-<30,Ph,1:N,6:/Cl, at 3,\,!,|,?5,1:N,3:NH,2://N'!NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Indanofan;MW:340.80;EXA:-
-:
-<30,Ph,3=?5,7'9:?O,8^55>lr:/!, at 8,-30,!2,Ph,-2:/Cl, at 11,?3,-2:O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Indoxacarb;MW:527.837;EXA:-
-:
-<-6,Ph,3=?5,9=?6,15=dl,10:O,12'13:N,1:/Cl,8`1^-54:/?O!'O!,
- @12,\,?O!,N,/?O!'O!,!Ph,-3:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxamyl;MW:219.3;EXA:-
-:
-<-30,!,N?!,?O!,/S!,!d,N,!O!,?O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oryzalin;MW:346.4;EXA:-
-:
-<30,Ph,1'3:/NO2,5:/S?O?O'!NH2,2:/N?2'!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carbaryl;MW:201.22;EXA:-
-:
-<30,Ph,5=Ph, at 4,\,?O,!O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carpropamid;MW:334.665;EXA:-
-:
-<-30,?3,1:/_,{2^-35'*2^35}:*/Cl,3^70:/!, at 3,\,?O!,NH,!?!,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cumyluron;MW:302.802;EXA:-
-:
-<30,Ph, at 4,\,??,!NH!,?O!,NH,!2,Ph,-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cloquintocet-methyl;MW:335.83;EXA:-
-:
-<90,Ph,4=Ph,2:N,10:/Cl, at 7,\,O!2,?O!,O,!?,!5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:1
-:
-<6,?5,3'5=dl,2:S,5:N,1:/Cl, at 3,\,!NH!,/NH!,!d,N,!NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chromafenozide;MW:394.515;EXA:-
-:
-<30,?6,3=?6,5:O,7'9'11=dl,7:/_, at 8,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-3:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clomeprop;MW:324.2;EXA:-
-:
-<30,Ph,4'6:/Cl,5:/_, at 3,\,O,!?!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
-:
-<30,?6,3'4:N,2'6=dl,5:?O,1:/NH2,6:/Cl,4:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chloroxuron;MW:290.745;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,O,!Ph, at -3,\,NH!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyazofamid;MW:324.783;EXA:-
-:
-<18,?5,2'5=dl,2'4:N,1:/Cl,3:/CN, at 4,\,S?O?O,!,N?!,5:/Ph'(4:/_)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diuron;MW:233.1;EXA:-
-:
-<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyflufenamid;MW:412.36;EXA:-
-:
-<30,Ph,4^20:/?F?F!F,1'2:/F, at 3,\,!NH!,?O!2,Ph, at -10,\\,N,!,<-12,O!2,?3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diflubenzuron;MW:310.7;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyprodinil;MW:225.295;EXA:-
-:
-<30,Ph,2'4:N,5:/_,1:/?3,3:/NH!'Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simeconazole;MW:293.417;EXA:-
-:
-<36,?5,1'3'5:N,1'4=dl, at 3,30,!,/OH^30,!2,Si,??!,7^-30:/Ph'(4:/F),
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
-:
-<30,?6,3'5=dl,1:?O,2:NH,3:/N?!,4:N,5:/_,6:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethomorph;MW:387.86;EXA:-
-:
-<30,?6,1:O,4:N, at 4,\,?O!,!d`1,/Ph'(4:/Cl),!,|,Ph,4'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Silafluofen;MW:408.588;EXA:-
-:
-<30,Ph, at 5,\,O,!Ph,-1:/F, at 10,\,!3,Si,??,!Ph,-3:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Di-allate;MW:270.212;EXA:-
-:
-<-30,!?!,N,!,?O!,S,!2,!d,!Cl,3:/?!,7:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Daimuron;MW:268.4;EXA:-
-:
-<30,Ph, at 4,\,??,!NH!,?O,!NH!,Ph,-3:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiacloprid;MW:252.72;EXA:-
-:
-<30,Ph,1:N,6:/Cl, at 3,\,!,<-12,|,?5,1:N,3:S,-4://N'!CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
-:
-<30,Ph,3=?5,8=dl,9:NH,7:N, at 8,\,|,?5,1'4=dl,3:S,5:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiamethoxam;MW:291.71;EXA:-
-:
-<30,?6,2:O,4'6:N,6:/_, at 5,\\,N,!NO2, at 4,\,!,|,?5,1'3=dl,3:N,5:S,4:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebuthiuron;MW:228.3;EXA:-
-:
-<18,?5,3'5=dl,4'5:N,2:S,1:/??!, at 3,\,N?!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebufenozide;MW:352.5;EXA:-
-:
-<30,Ph,6:/!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Teflubenzuron;MW:381.1;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl,4'6:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
-:
-<30,?6,3:N,6:O,1'5:/_,3:/!12
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triflumuron;MW:358.701;EXA:-
-:
-<30,Ph,4:/Cl, at 3,\,?O,!NH!,?O,!NH!,Ph,-2:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Naproanilide;MW:291.35;EXA:-
-:
-<30,Ph,4=Ph, at 8,\,O,!?!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Novaluron;MW:492.706;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,
- Ph,-4:/Cl, at -3,\,O!,/F^-35,/F^35,!,/F,!O!,?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraclostrobin;MW:387.817;EXA:-
-:
-<30,Ph, at 3,\,!O!,<12,|,?5,2'5=dl,4'5:N, at 4,12,Ph,-3:/Cl,||, at 2,\,N,/O!,!?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pirimicarb;MW:238.291;EXA:-
-:
-<30,Ph,1'5:N,2'3:/_,6:/N?!, at 4,\,O!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenoxycarb;MW:301.35;EXA:-
-:
-<30,Ph, at 5,\,O,!Ph, at -3,\,O!3,NH!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenobucarb;MW:207.3;EXA:-
-:
-<30,Ph,5:/?!2, at 4,\,O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ferimzone;MW:254.337;EXA:-
-:
-<30,Ph,4:/_, at 3,\,/_,!d,N,!NH!,|,Ph,2'6:N,3'5:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenamidone;MW:311.403;EXA:-
-:
-<18,?5,4=dl,3'5:N,2:?O, at 3,\,NH!,Ph,4:/S!,1^52:*/_,1^-48:/*Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenpyroximate;MW:421.49;EXA:-
-:
-<-6,?5,3'5=db,1'2:N,2'5:/_, at 3,-15,O,!Ph, at 4,\,!d,N!,O!2,Ph, at -3,\,?O,-60,O,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phenmedipham;MW:300.32;EXA:-
-:
-<30,Ph,5:/_, at 3,\,NH!,?O!,O,!Ph,-4:/NH!'?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Butafenacil;MW:474.817;EXA:-
-:
-<30,?6,6=dl,3'5:N,2'4:?O,6:/?F?F!F,3:/Ph'(4:/Cl), at -2,\,?O,!O!,??,!,?O!,O!2,!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flufenacet;MW:363.331;EXA:-
-:
-<6,?5,2'5=dl,1'2:N,4:S,5:/?F?F!F, at 3,\,O!,-60,?O!,N,/?!,!Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flufenoxuron;MW:488.77;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-1:/F, at -3,\,O,!Ph,-3:/?F?F!F,-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
-:
-<30,?6,3'6=dl,2:N,2:/_,5:?O, at 4,\,Ph,-4:/?F?F!F,6:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propaquizafop;MW:443.884;EXA:-
-:
-<90,Ph,3=?6,8'10=dl,7'10:N,1:/Cl, at 8,\,O,!Ph, at -3,\,O,!?!,?O,!O,!3,O!,N,!dr,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexaflumuron;MW:461.14;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl, at 4,\,O!,/F^-35,/F^35,!,/F,!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexathiazox;MW:352.877;EXA:-
-:
-<30,?6, at 3,\,NH!,?O!,<-24,|,?5,1:N,3:S,2:?O,5:/_,4:/Ph'(4:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pencycuron;MW:328.84;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,!N,/?5,!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bendiocarb;MW:223.228;EXA:-
-:
-<30,Ph,5=?5,7'9:O,8:??, at 4,\,O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pentoxazone;MW:353.774;EXA:-
-:
-<66,?5,5://?!,1:O,3:N,2'4:?O, at 3,\,|,Ph,4:/Cl,6:/F,3:/O!'?5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Boscalid;MW:343.21;EXA:-
-:
-<30,Ph,5:N,4:/Cl, at 3,\,?O,!NH!,Ph,-1:/Ph'(4:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methabenzthiazuron;MW:221.3;EXA:-
-:
-Ph,3=?5,9=dl,7:S,9:N, at 8,\,N?!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methoxyfenozide;MW:368.48;EXA:-
-:
-<30,Ph,2:/_,1:/O!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Monolinuron;MW:214.6;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,NH!,?O!,N?!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Lactofen;MW:461.78;EXA:-
-:
-<30,Ph,4:/Cl,6:/?F?F!F, at 3,\,O,!Ph,-3:/NO2, at -4,\,?O!,O,!?!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Linuron;MW:249.1;EXA:-
-:
-<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Lufenuron;MW:511.15;EXA:-
-:
-<30,Ph,2'4:/F,
- @3,\,?O,!NH!,?O,!NH!,Ph,-1'-4:/Cl, at -3,\,O!,/F^35,/F^-35,!,/F,!,?F?F!F
-;
-%******************************************************************************
-CAT:antibacterial;EN:Sulfacetamide;MW:214.239;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfatiazole;MW:255.31;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,1'3=dl,2:N,5:S
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
-:
-<30,Ph,1'3:/_,2:N,4'6:/Cl,5:/OH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadiadine;MW:250.276;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-5'-1:N
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Levamisole;MW:204.29;EXA:-
-:
-?5,3=?5,6=dl,2:S,4'6:N,7:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA:-
-:
-<30,Ph,3=?6,8=dl,7:N,9:NH,6:/S!3,8:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-1:N
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Marbofloxacin;MW:362.361;EXA:-
-:
-<30,Ph,3'(2--7)=?6,9=dl,6:/F,7'13:N,11:O,9:/COOH,10:?O,13:/_,1:/?6'(1:N)'(4:N?)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-5'-1:N,-4:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Trimethoprim;MW:290.323;EXA:-
-:
-<30,Ph,1'5:N,2'6:/NH2,3:/!Ph'(4'5'6:/O!)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ofloxacin;MW:361.373;EXA:-
-:
-<30,Ph,3'(2--7)=?6,9=dl,7:N,11:O,
- 6:/F,9:/COOH,10:?O,13:/_,1:/?6'(1:N)'(4:N?)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,1:/?6'(1:N)'(4:NH)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Enrofloxacin;MW:359.401;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,1:/?6'(1:N)'(4:N?2)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Danofloxacin;MW:357.385;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,
- @1,\,|,?6, at 2,-200`1.1,&5,1'4:N,4:*/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ormetoprim;MW:274.324;EXA:-
-:
-<30,Ph,1'5:N,2'6:/NH2, at 3,\,!,|,Ph,2:/_,4'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadimidine;MW:278.33;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,2'5'6:/F,7:/?3,9:/COOH,10:?O, at 1,\,|,?6,1:N,3'5:*/_,4:NH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamethoxypyridazine;MW:280.302;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sarafloxacin;MW:385.371;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10:?O, at 1,\,?6,-6:N,-3:NH,7:/Ph'(4:/F)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Difloxacin;MW:399.398;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,7:/Ph'(4:/F),1:/?6'(1:N)'(4:N?)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,4'6:N,2'3:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,2'5=dl,4:O,5:N,3:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,Ph,-2'-4:N,-1:/!,-3'-5:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxibendazole;MW:249.27;EXA:-
-:
-<30,Ph,3=?5,9=dl,7:NH,9:N,1:/O!3,8:/NH!'COOH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
-:
-<30,Ph,3=?6,6=?5,9=dl,7:N,11'13:O,10:?O,7:/!,9:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfabenzamide;MW:276.31;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ethopabate;MW:237.255;EXA:-
-:
-<30,Ph,1:/NH!'?O!,3:/O!2,4:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadimethoxine;MW:310.33;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfaquinoxaline;MW:300.337;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-4=Ph,-5'-2:N
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
-:
-<30,Ph,3=?6,9=dl,5'10:N,6:/_,7:?O,8:/COOH,10:/!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Flubendazole;MW:313.288;EXA:-
-:
-<30,Ph,3=?5,9=dl,7:NH,9:N, at 1,\,O,!Ph,8:/NH!'?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
-:
-<30,Ph,3'(2--7)=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,13:/_
-;
-%------------------------------------------------------------------------------
-34;CAT:antibacterial;EN:Sulfanitran;MW:335.334;EXA:-
-:
-<30,Ph, at 1,\,NH!,?O!, at 4,\,S?O?O,!NH!,Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Xylazine;MW:220.334;EXA:-
-:
-<30,?6,3=dl,2:S,4:N, at 3,\,NH!,Ph,-5'-1:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Famphur;MW:325.3;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/S?O?O!'N?!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Lincomycin;MW:406.54;EXA:1
-:
-<6,?5,5:N,5:*/_,2:*/!2,
- @3,\*,?O,!NH!,!wb,?6,-1:O,*-3'-4'-5:*/OH,-2:/*S!,8:/?!'OH^-30>lr
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:2-acethylamino-5-nitrothiazole;MW:187.178;EXA:-
-:
-<18,?5,2'5=dl,2:N,4:S,3:/NH!'?O!,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Chlorsulon;MW:380.66;EXA:-
-:
-<30,Ph,6:/NH2,1'3:/S?O?O'!NH2, at 4,\,/Cl,60~dl,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Florfenicol;MW:358.21;EXA:-
-:
-<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!F,!NH!,?O!,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Thiamphenicol;MW:356.22;EXA:-
-:
-<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,?O!,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxadiargyl;MW:341.19;EXA:-
-:
-<30,Ph,1'3:/Cl,6:/O!2'!t, at 4,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxaziclomefone;MW:376.277;EXA:-
-:
-<30,?6,6=dl,4:N,2:O,1:/_,5:?O,6:/Ph, at 4,\,??,!Ph,-4'-2:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyrrolnitrin;MW:111;EXA:-
-:
-<30,Ph, at 3,\,?5,8'11=db,1'11:/Cl,9:NH,2:/NO2,
-;
-%******************************************************************************
-CAT:biological;EN:Okadaic acid;MW:805.00;EXA:2
-:
-<30,?6, at 4,?6, at -4,\,!3,<-12,?5, at -3,<-12,?6,-3=?6, at -3,*\,!3,
- ?6, at -4,?6, at 6,\,!,/*_^-40,*/OH^20,!,?O!,OH,
- 3=wb,11=dl,15=dr,17=wf,19=wf,38=wb,5'7'16'24'25'33'42:O,
- 32:*/H^60,10:/_,12'31'*37:*/_,27://_,28:/OH,3'29:/*OH
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Vancomycin;MW:1449.25;EXA:2
-:
-<-30,#1,!12,1'3'12=zf,7=wf,60,60,Ph, at -3,\,O,!Ph, at -4,\,O,!Ph, at -3,\,&1,
- @7,&26,@$1,60,60,NH,60,-60,Ph, at -1,\,Ph, at -2,&4,##,
- {36'3^40'6'9'12}:?O,2'5'8'11:NH,{1'4^180'*7^-60'*10^60'*14^60'35^-60}:*/H,
- 41'43'46:/OH,14'*35:*/OH,{17'34^15}:/Cl,38^180:*/COOH,
- @10,*\^-60,60,?O!,NH2, at 13,*\,NH!,?O!,/??!,*/H^60,!z,NH!,
- @23,\,O,!z,|,?6`.7,2:O,3^10:*/!OH,*4'5:*/OH,
- @-1,\*,O,!wb,|,?6`.7,6:O,{*3^35'5}:*/_,3^-35:/NH2,4:/*OH,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Maitotoxin;MW:3425.86;EXA:2
-:
-<55.8,?6,-4=?7,-4'-3'-3'-3=?6, at -3,\,!3,?6,-4'-3'-3'-3=?6, at -3,\,?6,-3=?6,
- @-3,\,!3,60,<-30,?6,-3=?6, at -3,30,<30,?6,-3'-3=?6,-3=?7,-4'-3'-3=?6,
- @-2,\,?6,-3=?6,-3=?7,-3'-3=?6,-3=?8,-3=dl,-5'-3'-3'-3=?6,
- {5'7'15'16'23'24'32'40'41'48'49'58'59'72'73'82'83'90'91'99'
-   100'107'113'114'122'123'130'131'140'141'148'149}:O,
- {1^60'2'26'28'29'51'54'61'63'68'75^60'78'109}:*/OH,
- 11'20'35'45'52'55'65'69'86:/*OH,
- 3'8'13'17'21'33'38'42'56'70'84'92'101'106'111'128'138'142'146'150:/*H^-60,
- 4'14'22'34'39'43'*47'*57'*71'81'89'98'102'116'121'125'129'133:*/H^60,
- 6'46'50'53'60'67'74:*/H^-60,
- 9'18'85'93'112'139'143'147:*/_^60`1,80'88'97'*108'115'120'124:/*_^-60`1,
- @$6,\,|,!11,60~dr,-60,60,OH,*2'7'10:*/OH,1'3'*8:*/_,11://_,12:/_,
-   @6,\,O,30,SO3Na,
- @$36,-45~zf,O,30,SO3Na,
- @$150,\,|,!7,1'2:/*OH,4:*/_,5:/*_,7=dl
-;
-%------------------------------------------------------------------------------

Deleted: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp	2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp	2024-11-20 22:09:01 UTC (rev 72915)
@@ -1,1722 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 5.14    Copyright (c) 2013-2024   Akira Yamaji
-%
-% Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-% and associated documentation files (the "Software"), to deal in the Software without restriction,
-% including without limitation the rights to use, copy, modify, merge, publish, distribute,
-% sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
-% furnished to do so, subject to the following conditions:
-%
-% The above copyright notice and this permission notice shall be included in all copies
-% or substantial portions of the Software.
-%
-% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED,
-% INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE
-% AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-% DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-%-------------------------------------------------------------------------------------------------
-%  mcf2graph is MetaPost macro package convert Molecular Coding Format(MCF) to graphic file
-%  sgv/eps/png/mdl molfile
-%-------------------------------------------------------------------------------------------------
-% This package is located at : http://www.ctan.org/pkg/mcf2graph
-% Suggestion or request mail to : mcf2graph at gmail.com 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-message "* This is mcf2graph ver 5.14  2024.11.17";
-tracingstats:=1; prologues:=3; warningcheck:=0;
-%-------------------------------------------------------------------------------------------------
-newinternal string EN_;
-numeric save_num[],pcode_com[][],pcode_par[][],pcode_cnt[],tbl_atom[],tbl_group[][],tbl_atom_wt[],
-        tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],at_char[],mc_indent[],op_indent[],ex_indent[],
-        ad_indent[],unit_lines[],info[],tbl_asc[],lenw[];
-string  row[][],save_str[],tbl_atom_str[],str_tbl[],arg_s[],mc[],ex[],ad[],op[],tag[],rw[],
-        lib_tag[][],lib_val[][],mc,ex,ad,op,aux_delimiter,default_library,EN,FM,MW,MI,CAT,JN,CAS,
-        USE,EXA,EXB,file_input,file_output,default_temp_file,mpfont,atomfont,tempc,temps,blanks,
-        sC,sI,sS,sT,sV,forbiddens;
-pair    save_pair[],msize,mposition,fsize,fmargin,save_mposition;
-%-------------------------------------------------------------------------------------------------
-fig_num:=str_cnt:=tbl_cnt:=mangle:=sw_frame:=sw_trimming:=sw_ext_all:=sw_abbreviate:=sw_expand:=0;
-sw_comment:=sw_output:=sw_numbering:=tag_cnt:=rw_cnt:=pcode_all:=0; 
-numbering_start:=1; numbering_end:=4095;
-%-------------------------------------------------------------------------------------------------
-aux_delimiter:=";"; blanks:= "            ";  forbiddens:=" &()[]{}^=;!'+,`~";
-for s="No","EN","JN","MW","MI","FM","CAT","CAS","USE","EXA","EXB": tag[incr tag_cnt]:=s; endfor
-MW_n:=0; Fig:=1; Mcode:=2; Calc:=4; Info:=8; Table:=16; Report:=32; MOL2k:=64; MOL3k:=128;
-Atom:=8; Bond:=16; Group:=32; Mol:=64; Outside:=1; Inside:=2; Bothside:=Outside+Inside;
-%-------------------------------------------------------------------------------------------------
-PRS:=ASCII("(");PRE:=ASCII(")");BRS:=ASCII("{");BRE:=ASCII("}");BKS:=ASCII("[");BKE:=ASCII("]");
-CMA:=ASCII(",");EQU:=ASCII("=");AST:=ASCII("*");SLS:=ASCII("/");GTN:=ASCII("<");LTN:=ASCII(">");
-AMP:=ASCII("&");HSH:=ASCII("#");HAT:=ASCII("^");TLD:=ASCII("~");BQT:=ASCII("`");CLN:=ASCII(":");
-AMK:=ASCII("@");QUT:=ASCII("'");BAR:=ASCII("|");PLS:=ASCII("+");MIS:=ASCII("-");BLK:=ASCII(" ");
-BSL:=ASCII("\");QES:=ASCII("?");
-%-------------------------------------------------------------------------------------------------
-for s="??!","!?!","!!!","!?","?!","??","*/*","/*","*/","//","**","##","||","\\":
-  rw[incr rw_cnt]:=s; lenw[rw_cnt]:=length(s); endfor
-%-------------------------------------------------------------------------------------------------
-let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif;
-let ISP=intersectionpoint; def ]]]=] ] ] enddef; let +++ = ++;
-%-------------------------------------------------------------------------------------------------
-def ext(text t)= sw_ext_all:=1; def EXT_ALL = t enddef; enddef;
-def ext_clear= sw_ext_all:=0; def EXT_ALL = enddef; enddef;
-def wpcs expr n= withpen pencircle scaled n enddef;
-def ppcs expr n= pickup pencircle scaled n enddef;
-def sbp(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
-def printf expr s= write s to file_output enddef;
-def warning(expr s)= message "% "&decimal(fig_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
-%-------------------------------------------------------------------------------------------------
-vardef frac primary n= n-floor n enddef;
-vardef iif(expr a,b,c)=if a: b else: c fi enddef;
-vardef subc(expr i,s)= substring(i-1,i) of s enddef;
-vardef sfrt(expr a,b,c)= a shifted ((b,0) rotated c) enddef;
-vardef fsr(expr n)(expr s)= (substring(0,n-length(s)) of blanks)&s enddef;
-vardef fsl(expr n)(expr s)= s&(substring(0,n-length(s)) of blanks) enddef;
-vardef fdr(expr n)(expr s)=
-  if length(decimal(s))>n: substring (0,n) of decimal(s) else: fsr(n)(decimal(s)) fi enddef;
-vardef fdl(expr n)(expr s)= fsl(n)(decimal(s)) enddef;
-vardef Incr suffix $ == $:=$+1; $ enddef;
-%=================================================================================================
-default_library:="main_lib.mcf"; default_temp_file:="temp.mcf";
-mpfont:="uhvr8r"; atomfont:="draw"; defaultfont:=mpfont;
-%--default ahangle=45---------------------------------------------------------------------
-if ahangle=1:  outputformat:="png"; hppp:=vppp:=0.12;   % png format(600dpi)
-ef ahangle=11: outputformat:="png"; hppp:=vppp:=0.06;   % png format(1200dpi)
-ef ahangle=2:  outputformat:="eps";                     % eps format(.eps)
-ef ahangle=3:  outputformat:="eps";                     % eps format(.mps)
-ef ahangle=45: outputformat:="svg";                     % svg format  *default
-fi
-%--default ahlength=4---------------------------------------------------------------------
-if ahlength=3:  sw_output:=Fig; sw_expand:=1;           % output figure(expanded)
-ef ahlength=4:  sw_output:=Fig;                         % output figure *default
-ef ahlength=5:  sw_output:=MOL2k; sw_expand:=1;         % output MOL(V2000)
-ef ahlength=6:  sw_output:=MOL3k; sw_expand:=1;         % output MOL(V3000)
-ef ahlength=7:  sw_output:=Report;                      % output report
-fi
-%-- default bboxmargin=2------------------------------------------------------------------
-if bboxmargin=3: ext(defaultfont:=mpfont; defaultscale:=.3; label.rt(EN,(0,0));)
-ef bboxmargin=4: sw_output:=Fig+Calc;
-  ext(defaultfont:=mpfont; defaultscale:=.3;
-  label.rt(EN&" / "&MW&" / "&decimal(MW_n-scantokens(MW)),(0,0));) fi
-%--default outputtemplate:="%j-%3c."&"svg"------------------------------------------------
-if outputformat="svg":                 outputtemplate:="s%3c-%{EN_}.svg";
-ef outputformat="png":                 outputtemplate:="p%3c-%{EN_}.png";
-ef (outputformat="eps")and(ahangle=3): outputtemplate:="%j-%3c.mps";
-else:                                  outputtemplate:="%j-%3c."&outputformat; fi
-%-----------------------------------------------------------------------------------------
-message "* jobname="&jobname;
-message "* numbersystem="&numbersystem;
-message "* outputformat="&outputformat;
-message "* outputtemplate="&outputtemplate;
-if ahlength=5: message "* output MOL file(V2000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
-ef ahlength=6: message "* output MOL file(V3000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
-ef ahlength=7: message "* output report file"; message "* file name="&jobname&"-report.txt"; fi
-clearit;
-%-------------------------------------------------------------------------------------------------
-ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015;
-ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15;
-ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.04;
-offset_thickness:=0.2; offset_bond_gap:=0.3; offset_hash_gap:=0.1; offset_atom:=0.8;
-offset_wedge:=0.4; thickness_frame:=0.2;
-max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5;
-fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5);
-ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
-lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
-outputformatoptions:="";
-%=================================================================================================
-pcode_emb_start:=1001;     % 1001 => 1900   for embedded pcode (max 900)
-pcode_emi_start:=1901;     % 1901 => 2000   for embedded internal pcode (max 100)
-pcode_usr_start:=2001;     % 2001 => 3000   for user     pcode (max 1000)
-pcode_int_start:=3000;     % 3001 => 4000   for internal pcode (max 1000)
-%-------------------------------------------------------------------------------------------------
-def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef;
-def_com(-4090)(_com,_jp_atom,_jp_absA,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_tmp_line,_chg_len,
-  _get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB,
-  _group_si,_group_dm,_group_wf,_group_zf,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,
-  _tmp_rot,_fuse,_fuse_di,_size_atom,_numeric,_numeric_inv,_jump_at,_set_add,_chg_add,_nop,
-  _mark,_moff,_term,_len_s,_len_e,_len_ss,_len_ee,_group_s,_group_e,_rest,_charge,_from,_until,
-  si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,wf_r,wb_r,bd_r,arc_lb,arc_br,
-  arc_lbr,arc_ltr,si_,wf_,wb_,zf_,zb_,wv_,bd_);
-%-------------------------------------------------------------------------------------------------
-def parameter_list=
-  sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_abbreviate,ratio_atom_bond,
-  ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond,ratio_hash_black,
-  ratio_hashgap_bond,ratio_thickness_char,ratio_wedge_bond,ratio_atomgap_atom,lonepairdiam,
-  lonepairspace,offset_atom,offset_wedge,max_blength,offset_hash_gap,offset_bond_gap,
-  thickness_frame,offset_thickness,numbering_start,numbering_end,defaultsize,defaultscale,
-  labeloffset,mangle,blength,fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap
-enddef;
-%-------------------------------------------------------------------------------------------------
-def init_par(text t)= nA:=nB:=nC:=0;
-  for list=t: if numeric list: save_num[incr nA]:=list;
-              ef pair list:    save_pair[incr nB]:=list;
-              ef string list:  save_str[incr nC]:=list;
-              fi
-  endfor
-enddef;
-%-------------------------------------------------------------------------------------------------
-def store_par(text t)= nA:=nB:=nC:=0;
-  for list=t: if numeric list: if save_num[incr nA]<>list:  save_num[nA]:=list; fi
-              ef pair list:    if save_pair[incr nB]<>list: save_pair[nB]:=list; fi
-              ef string list:  if save_str[incr nC]<>list:  save_str[nC]:=list; fi
-              fi
-  endfor
-enddef;
-%-------------------------------------------------------------------------------------------------
-def restore_par(text t)= nA:=nB:=nC:=0;
-  forsuffixes list=t: if numeric list: if list<>save_num[incr nA]:  list:=save_num[nA]; fi
-                      ef pair    list: if list<>save_pair[incr nB]: list:=save_pair[nB]; fi
-                      ef string  list: if list<>save_str[incr nC]:  list:=save_str[nC]; fi
-                      fi
-  endfor
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def beginfigm=
-  begingroup
-  save ','',`,``,//,@,#,#@,##,\,\\,\*,|=,|<,**,++,_,f_ext,blen,ext,add,ang_br,fw_n,bw_n,
-       info_cnt,bond_cntA,firstc,warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,
-       minX,minY,maxX,maxY,posA,posM,lineB,sB,eB,angB,angA,lenB,angX,numS,sumA,bond_num,wdM,htM,
-       chargeA,addA,add_rot,mol_pic,color_list,filter_s,no,mw,mi,fm;
-  numeric hideH[],lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],strA[],sumA[],bond_num[],
-          wdM[],htM[],chargeA[],addA[],add_rot[];
-  pair posA[],posM[][];
-  string mi,no,fm,mw,firstc,filter_s;
-  picture mol_pic[];
-  color color_list[];
-  %-----------------------------------------------------------------------------------------------
-  store_par(parameter_list);
-  no:=mc:=ex:=ad:=op:=temps:=mw:=mi:=fm:=filter_s:="";
-  EN:=JN:=MW:=FM:=MI:=CAS:=CAT:=EXA:=EXB:=USE:="-";
-  f_ext:=cntM:=mc_row:=ex_row:=ad_row:=op_row:=info_cnt:=err_cnt:=0;
-  let ext=ext_to_fig; let add=add_to_molecule; let ++=add_to_molecule; let **=ext_to_fig;
-  def '' = define_parts enddef; def '` = readm enddef;
-  def \ = drawm enddef; def \\ = putm enddef;
-  def \* = checkm enddef; def $ = getm enddef; def @ expr p = mposition:=p; enddef;
-  def # expr p = fsize:=p; enddef; def #@ expr p = fmargin:=p; enddef; 
-  def `(expr s) = define_group_string(s)() enddef; def `` = define_group_string enddef;
-  def ## expr p = msize:=p; enddef; def |=(expr n) = blength:=n; enddef;
-  def |<(expr n) = max_blength:=n; enddef; def _ expr s = EN:=s; enddef;
-  pcode_num:=pcode_usr_start; pcode_int:=pcode_int_start; fig_num:=fig_num+1;
-  mol_pic[0]:=nullpicture;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def endfigm=
-  %--------------------------------------------------------------------------------------------
-  if cntM>=1:
-  %--------------------------------------------------------------------------------------------
-  if scan_bit(sw_output,Fig):
-    if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
-    beginfig(fig_num)
-    %------------------------------------------------------------------------------------------
-      if sw_ext_all=1: ext_to_fig(EXT_ALL); fi
-      if sw_trimming>=1:
-        nA:=nC:=4095; nB:=nD:=-4095;
-        for i=1 upto cntM:
-          if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
-          if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
-          if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
-          if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
-        endfor
-        fig_wd:=nB-nA+2xpart(fmargin); fig_ht:=nD-nC+2ypart(fmargin); fsize:=(fig_wd,fig_ht);
-        for i=1 upto cntM:
-          posM[0][i]:=posM[0][i]+fmargin-(nA,nC); posM[1][i]:=posM[1][i]+fmargin-(nA,nC);
-        endfor
-      fi
-      %----------------------------------------------------------------------------------------
-      if scan_bit(sw_frame,Outside): draw_frame((0,0),fsize,thickness_frame);
-      else:                          draw_corner(fsize,0.004); fi
-      if scan_bit(sw_frame,Inside): draw_frame(fmargin,fsize-2fmargin,thickness_frame); fi
-      for i=1 upto cntM:
-        addto currentpicture also mol_pic[i] shifted posM[0][i]; mol_pic[i]:=nullpicture;
-        if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],(w[i],h[i]),thickness_frame)) fi
-      endfor
-      if f_ext=1: addto currentpicture also mol_pic[0]; mol_pic[0]:=nullpicture; fi
-    %-----------------------------------------------------------------------------------------
-    endfig;
-    clearit;
-  fi
-  %---------------------------------------------------------------------------------------------
-  if scan_bit(sw_output,Report): proc_report_out; fi
-  if scan_bit(sw_output,MOL2k):  proc_mol_out(2000); fi
-  if scan_bit(sw_output,MOL3k):  proc_mol_out(3000); fi
-  %---------------------------------------------------------------------------------------------
-  ef scan_bit(sw_output,Fig):
-    EN_:="no_figure";
-    beginfig(fig_num)
-    defaultscale:=.6; draw_frame((0,0),fsize,thickness_frame) label("no figure",0.5fsize);
-    endfig;
-    clearit;
-  fi
-  %---------------------------------------------------------------------------------------------
-  if err_cnt=0:
-    if scan_bit(sw_output,Mcode):  proc_mc_out;         message "["&decimal(fig_num)&"]:"&EN; fi
-    if scan_bit(sw_output,Report): proc_report_out;     message "["&decimal(fig_num)&"]:"&EN; fi
-    if scan_bit(sw_output,MOL2k):  proc_mol_out(2000);  message "["&decimal(fig_num)&"]:"&EN; fi
-    if scan_bit(sw_output,MOL3k):  proc_mol_out(3000);  message "["&decimal(fig_num)&"]:"&EN; fi
-  fi
-  %---------------------------------------------------------------------------------------------
-  restore_par(parameter_list);
-  endgroup;
-  message EN;
-enddef;
-%=================================================================================================
-def readm(text s)=
-  save fw_n,bw_n;
-  for list=s:
-    fw_n:=scan_char(" ",list,1,1)-1; bw_n:=scan_char(" ",list,-1,1);
-    mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=substring(fw_n,bw_n) of list; mc:=mc&mc[mc_row];
-  endfor
-enddef;
-%=================================================================================================
-def getm(expr a)=if string a: read_unit(get_adr("EN",a)) ef numeric a: read_unit(a) fi enddef;
-%-------------------------------------------------------------------------------------------------
-def read_unit(expr n)=
-  save nF; nF:=0;
-  if (n>=1)and(n<=ucount):
-    for i=1 upto info[n]:
-      for j=1 upto tag_cnt: if lib_tag[n][i]=tag[j]: scantokens(tag[j]):=lib_val[n][i]; fi endfor
-    endfor
-    for i=1 upto unit_lines[n]:
-      temps:=row[n][i]; firstc:=subc(1,temps); exitif firstc=";";
-      if firstc=":": nF:=1; ef firstc="=": nF:=2; ef firstc="*": nF:=3; ef firstc="+": nF:=4;
-      ef firstc="%":
-      else:
-        fw_n:=scan_char(" ",temps,1,1)-1; temps:=substring(fw_n,length(temps)) of temps;
-        if nF=1: mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=temps; mc:=mc&temps;
-        ef nF=2: op_indent[incr op_row]:=fw_n; op[op_row]:=temps; op:=op&temps;
-        ef nF=3: ex_indent[incr ex_row]:=fw_n; ex[ex_row]:=temps; ex:=ex&temps;
-        ef nF=4: ad_indent[incr ad_row]:=fw_n; ad[ad_row]:=temps; ad:=ad&temps;
-        fi
-      fi
-    endfor
-  fi 
-enddef;
-%=================================================================================================
-vardef get_adr(expr t,v)=
-  save adr_n; adr_n:=0;
-  for n=1 upto ucount:
-    for i=1 upto info[n]:
-      for j=1 upto tag_cnt: if (lib_tag[n][i]=t)and(lib_val[n][i]=v): adr_n:=n; fi endfor
-      exitif adr_n>=1;
-    endfor
-  endfor
-  message if adr_n>1: "* found [" else: "* not found [" fi &v&"]"&"("&decimal(adr_n)&")";
-  adr_n
-enddef;
-%-------------------------------------------------------------------------------------------------
-def putm=
-  if op_row>=1: scantokens(op) fi
-  if mc_row>=1: if checkm(mc)=0: drawm(scantokens(mc)) fi fi
-  if ad_row>=1: add(scantokens(ad)) fi
-  if ex_row>=1: ext(scantokens(ex)) fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef define_parts(text t)= pcode_num:=pcode_num+1; read_mcf(pcode_num)(t); pcode_num enddef;
-vardef abs_adress primary n = if n LT 0:: (n+360)-4095 else:: n-4095 fi enddef;
-primarydef a from_until b = (_from,a),(_until,b) enddef;
-primarydef a op_quot b = add_parts(a,b) enddef;
-primarydef a bond__bond b = (a,b) enddef;
-primarydef a bond___bond b = (a+2000,b) enddef;
-primarydef a bond____bond b = (a+2000,b+2000) enddef;
-tertiarydef a op_equ b = if (known a)and(known b):: change_bond(a,b) else:: _nop fi enddef; 
-tertiarydef a op_col b = if (known a)and(known b):: change_atom(a,b) else:: _nop fi enddef;
-tertiarydef a op_hat b = if known b:: (_tmp_rot,b),a  else:: _nop,a fi enddef;
-tertiarydef a op_til b = if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
-tertiarydef a op_lth b = if known b:: (_tmp_env,b),a  else:: _nop,a fi enddef;
-tertiarydef a op_bqu b = if known b:: (_tmp_len,b),a  else:: _nop,a fi enddef;
-def rot_angle primary n = (_rot_ang,n) enddef; def cyc_atom  primary n = (_cyc,n) enddef;
-def jump_atom_abs primary a =
-  if numeric a:: (_jp_atom,$a) ef pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi enddef;
-def jump_atom primary a =
-  if numeric  a:: (_jp_atom,a) ef pair a:: <$0,angle(a)~0`length(a),<$0 fi enddef;
-def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
-def group_si secondary n = if known n:: (_group_si,n) else:: _nop fi enddef;
-def group_dm secondary n = if known n:: (_group_dm,n) else:: _nop fi enddef;
-def group_wf secondary n = if known n:: (_group_wf,n) else:: _nop fi enddef;
-def group_zf secondary n = if known n:: (_group_zf,n) else:: _nop fi enddef;
-def group_wv secondary n = /n~wv enddef;  def group_nb secondary n = /n~nb enddef;
-%=================================================================================================
-def read_mcf(expr n)(text t)=
-  begingroup
-  if unknown inside_mc::
-    save /,//,*,/*,*/,**,*/*,~,^,`,',<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,
-         --,---,----,CP,CA,CC,DL,FR,inside_mc;
-    inside_mc:=1; | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=NO_ATOM;
-    \:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv; let ' == op_quot;
-    let = ==op_equ; let : ==op_col; let ^ ==op_hat; let ~ ==op_til; let > ==op_lth;
-    let ` ==op_bqu; let -- == bond__bond; let --- == bond___bond; let ---- == bond____bond;
-    let } == ); let @$ ==jump_atom_abs; let < ==rot_angle; let @ ==jump_atom; let & ==cyc_atom;
-    let # ==chg_length; let / ==group_si; let // ==group_dm; let */ ==group_wf; let /* ==group_zf;
-    let */* ==group_wv; let ** ==group_nb; let CP == pcode_add; let CA == pcode_add_adr;
-    let FR == fuse_ring_bonds; def DL(expr p)==CA(_set_line,dl,p) enddef;
-    def CB(expr p)==CP(_mk_bond,p) enddef; def CC(expr p)==CP(_com,p) enddef;
-    def $ ==abs_adress enddef; def &$ ==&.$ enddef; def { ==read_adress( enddef;
-    def * primary p == (_numeric_inv,p) enddef;
-  fi
-  %----------------------------------------------------------------------------------------------
-  pcode_cnt[n]:=0;
-  for list==t::
-    if known list::
-      if pair list::
-        pcode_com[n][Incr pcode_cnt[n]]:=xpart(list); pcode_par[n][pcode_cnt[n]]:=ypart(list);
-      ef numeric list::
-        if list==_nop:: message "unknown command in "AND decimal(n);
-        ef list>=pcode_emb_start:: expand_pcode(n,list);
-        else:: pcode_com[n][Incr pcode_cnt[n]]:=_mk_bond; pcode_par[n][pcode_cnt[n]]:=list;
-        fi
-      fi
-    else:: message "unknown command in "AND decimal(n);
-    fi
-  endfor
-  endgroup
-enddef;
-%-------------------------------------------------------------------------------------------------
-def expand_pcode(expr n,a)=
-  if n==0::
-    for i==1 upto pcode_cnt[a]::
-      if pcode_com[a][i]>=pcode_emb_start:: expand_pcode(n,pcode_com[a][i]);
-      else::
-        pcode_com[n][Incr pcode_cnt[n]]:=pcode_com[a][i];
-        pcode_par[n][pcode_cnt[n]]:=pcode_par[a][i];
-      fi
-    endfor
-  else:: pcode_com[n][Incr pcode_cnt[n]]:=a;
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef read_adress(text t)=
-  save :,';
-  let ' == , ; let : == from_until;
-  pcode_int:=pcode_int+1;
-  nA:=0;
-  for list==t::
-    if known list::
-      if numeric list::
-        if list==_nop:: message "unknown command in "AND decimal(pcode_int);
-        else:: pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=list;
-        fi
-      ef pair list::
-        if xpart(list)==_from:: nB:=ypart(list);
-        ef xpart(list)==_until::
-           for i==nB upto ypart(list)::
-             pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=i; endfor
-        else:: pcode_com[pcode_int][Incr nA]:=xpart(list); pcode_par[pcode_int][nA]:=ypart(list);
-        fi
-      fi
-    else:: message "unknown command in "AND decimal(pcode_int);
-    fi
-  endfor
-  pcode_cnt[pcode_int]:=nA; pcode_int
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef add_parts(expr a,b)=
-  if (pair a)and(pair b)::
-    pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
-    pcode_com[Incr pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b;
-    pcode_cnt[pcode_int]:=2;
-  elseif pair a::
-    pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
-    if b>=pcode_emb_start:: pcode_com[pcode_int][2]:=b;
-    else:: pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b;
-    fi
-    pcode_cnt[pcode_int]:=2;
-  elseif pair b::
-    if a>=pcode_int_start::
-      pcode_com[a][Incr pcode_cnt[a]]:=xpart b; pcode_par[a][pcode_cnt[a]]:=ypart b;
-    elseif a>=pcode_emb_start::
-      pcode_com[Incr pcode_int][1]:=a;
-      pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
-    else::
-      pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
-      pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
-    fi
-  elseif (a LT pcode_emb_start)and(b LT pcode_emb_start)::
-    pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
-    pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
-  elseif (a>=pcode_int_start)and(b LT pcode_int_start)::
-    if b>=pcode_emb_start:: pcode_com[a][Incr pcode_cnt[a]]:=b;
-    else:: pcode_com[a][Incr pcode_cnt[a]]:=_numeric; pcode_par[a][pcode_cnt[a]]:=b;
-    fi
-  else:: pcode_com[Incr pcode_int][1]:=a; pcode_com[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
-  fi
-  pcode_int
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def fuse_ring(expr a,b) =
-  CP(_jp_bond,a) CP(_rot_ang,180) CP(_get_len,a) CC(_len_s) CP(_chg_len,_ring_len)
-  for i==1 upto b-2:: CB(360 DIV b) endfor
-  CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def fuse_ring_bonds(expr s,e,b,c) =
-  CP(_jp_bond,s) CP(_rot_ang,180) CC(_len_s)
-  if b==6:: CP(_chg_len,1) for i==1 upto c-1:: CB(60) endfor
-  ef b==5:: if c==2:: CP(_chg_len,1.25) CB(80) ef c==3:: CP(_chg_len,1.1) CB(78) CB(72) fi
-  ef b==4:: CP(_chg_len,1.225) CB(105)
-  fi
-  CC(_len_e) if e<=0:: CP(_cyc_eB,e-c+1) else:: CP(_cyc_eB,e) fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def fuse_ring_size(expr a,b,c) =
-  CP(_jp_bond,a) CP(_rot_ang,180) CC(_len_s) CP(_chg_len,c DIV 10)
-  if b==5:: CB(72-((c-9) MUL 1.5)) CB(72+(c-9)) CB(72+(c-9))
-  ef b==6:: CB(60-(c-8)) for i==1 upto 3:: CB(60+((c-8) DIV 2)) endfor
-  ef b==7:: CB(360 DIV 7-(c-8)) for i==1 upto 4:: CB(360 DIV 7+((c-8) DIV 2.5)) endfor
-  ef b==8:: CB(45-(c-8))  for i==1 upto 5:: CB(45+((c-8) DIV 3)) endfor
-  fi
-  CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi
-enddef;
-%=================================================================================================
-vardef change_bond(expr a,b) =
-  if known b:: pcode_int:=pcode_int+1; nC:=0;
-    if numeric b::
-      if (b>=si)and(b<=bd_)::
-        if a>=pcode_int_start::
-          for i==1 upto pcode_cnt[a]::
-            if pcode_com[a][i]==_numeric:: CA(_set_line,b,pcode_par[a][i])
-            elseif pcode_com[a][i]==_numeric_inv::
-              if b==dl:: CA(_set_line,dr,pcode_par[a][i])
-              ef b==dr:: CA(_set_line,dl,pcode_par[a][i]) fi
-            fi
-          endfor
-        else:: CP(_set_adr,a) CP(_set_line,b)
-        fi
-      elseif (b>=?3)and(b<=?8[15])::
-        if numeric a::
-          if a>=pcode_int_start::
-            for i==1 upto pcode_cnt[a]::
-              if pcode_com[a][i]==_numeric::
-                if b==Ph1:: fuse_ring(pcode_par[a][i],6) DL(-2) DL(-4)
-                ef b==Ph2:: fuse_ring(pcode_par[a][i],6) DL(-1) DL(-3) DL(-5)
-                ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
-                else:: fuse_ring(pcode_par[a][i],b-?3+3) fi
-              else::
-                if b==?6:: 
-                  if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
-                    FR(pcode_com[a][i],pcode_par[a][i],6,4)
-                  ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],6,3)
-                  else:: FR(pcode_com[a][i]-2000,pcode_par[a][i]-2000,6,2)
-                  fi
-                ef b==?5::
-                  if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
-                    FR(pcode_com[a][i],pcode_par[a][i],5,3)
-                  ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],5,2)
-                  fi
-                ef b==?4::  FR(pcode_com[a][i],pcode_par[a][i],4,2)
-                ef b==Ph1:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-1) DL(-3)
-                ef b==Ph2:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-2) DL(-4)
-                fi
-              fi
-           endfor
-          else::
-            if b==Ph1:: fuse_ring(a,6) DL(-2) DL(-4)
-            ef b==Ph2:: fuse_ring(a,6) DL(-1) DL(-3) DL(-5)
-            ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
-            else:: fuse_ring(a,b-?3+3)
-            fi
-          fi
-        ef pair a::
-          if b==?6:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,6,4)
-                     ef ypart a<=1800:: FR((xpart a)-2000,ypart a,6,3)
-                     else:: FR((xpart a)-2000,(ypart a)-2000,6,2)
-                     fi
-          ef b==?5:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,5,3)
-                     ef ypart a<=1800:: FR((xpart a)-2000,ypart a,5,2)
-                     fi
-          ef b==?4:: FR(xpart a,ypart a,4,2)
-        fi
-      fi
-    fi
-    elseif color b:: cntC:=cntC+1; color_list[cntC]:=b; CA(_set_colorB,cntC,a) fi
-    pcode_cnt[pcode_int]:=nC; pcode_int
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef change_atom(expr a,b)=
-  if known b:: pcode_int:=pcode_int+1; nC:=0;
-    if numeric b::
-      if (b GT pcode_emb_start)and(b<=pcode_atm_end):: CA(_chg_atom,b,a)
-      ef b==NH::  CA(_chg_atom,N,a) if sw_expand==0:: CP(_tmp_line,nl) fi
-                  CC(_group_s) CA(_group_si,H,a) CC(_group_e)
-      ef b==N?::  CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
-      ef b==N?2:: CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,!,a) CC(_group_e)
-      ef b==?O::  CC(_group_s) CA(_group_dm,O,a) CC(_group_e)
-      ef b==?NH:: CC(_group_s) CA(_group_dm,NH,a) CC(_group_e)
-      ef b==??::  CP(_tmp_rot, 35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
-                  CP(_tmp_rot,-35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
-      ef b==n_::  CC(_group_s) CP(_set_add,MIS) CP(_chg_add,a) CC(_group_e)
-      ef b==p_::  CC(_group_s) CP(_set_add,PLS) CP(_chg_add,a) CC(_group_e)
-      fi
-    ef pair b::
-      CC(_group_s)
-      if a>=pcode_emb_start::
-        for i==1 upto pcode_cnt[a]::
-          if pcode_com[a][i]==_numeric:: CA(xpart(b),ypart(b),pcode_par[a][i])
-          elseif pcode_com[a][i]==_numeric_inv::
-            if xpart(b)==_group_wf:: CA(_group_zf,ypart(b),pcode_par[a][i])
-            ef xpart(b)==_group_zf:: CA(_group_wf,ypart(b),pcode_par[a][i]) fi
-          else:: CP(pcode_com[a][i],pcode_par[a][i])
-          fi
-        endfor
-      else:: CA(xpart(b),ypart(b),a) fi
-      CC(_group_e)
-    ef color b:: cntC:=cntC+1; color_list[cntC]:=b; CA(_set_colorA,cntC,a)
-    fi
-    pcode_cnt[pcode_int]:=nC; pcode_int
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def pcode_add(expr c,p)= pcode_com[pcode_int][Incr nC]:=c; pcode_par[pcode_int][nC]:=p; enddef;
-def pcode_add_adr(expr c,p,a)=
-  if a>=pcode_emb_start::
-    for i==1 upto pcode_cnt[a]::
-      if pcode_com[a][i]==_numeric:: pcode_add(_set_adr,pcode_par[a][i]) pcode_add(c,p) 
-      else:: pcode_add(pcode_com[a][i],pcode_par[a][i])
-      fi
-    endfor
-  else:: pcode_add(_set_adr,a) pcode_add(c,p)
-  fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def ext_setup=
-  pickup pencircle scaled ext_defaultline;
-  dotlabeldiam:=3; labeloffset:=3; em:=defaultscale*defaultsize; defaultfont:=mpfont;
-  let # = scaled; let << = rotated; let => = shifted; __ = (1,0); An:=cntA; Bn:=cntB;
-  primarydef a /* b = point b of a enddef;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def add_to_molecule(text t)=
-  begingroup
-  save w,h,n,l,p,am,aw,A,B,An,Bn,plus,minus,lonepair,__,#,=>,<<,/*;
-  numeric A[]dir,B[]up,A[]ang,B[]ang;
-  pair __,p[],A[],B[]s,B[]e,B[]m,A[]up,A[]left,A[]right,A[]down,B[]up,B[]left,B[]right,B[]down;
-  path B[];
-  def plus = circled_plus_add enddef; def minus = circled_minus_add enddef;
-  def lonepair = lone_pair_add enddef;
-  ext_setup;
-  w:=mol_wd; h:=mol_ht; l:=blen; aw:=atom_wd; p0:=(minX,minY);
-  lonepairdiam:=0.3aw; lonepairspace:=.7aw; circlediam:=.6aw; circlepen:=.2;
-  for i=1 upto cntA:
-    A[i]:=posA[i]; A[i]ang:=angX[i]; A[i]up:=dir(angX[i]);
-    A[i]left:=dir(angX[i]+90); A[i]right:=dir(angX[i]-90); A[i]down:=dir(angX[i]+180);
-  endfor
-  for i=1 upto cntB:
-    B[i]s:=posA[sB[i]]; B[i]e:=posA[eB[i]]; B[i]m:=0.5[B[i]s,B[i]e]; B[i]:=B[i]s--B[i]e;
-    B[i]ang:=angB[i]; B[i]up:=dir(angB[i]);
-    B[i]down:=dir(angB[i]+180); B[i]left:=dir(angB[i]+90); B[i]right:=dir(angB[i]-90);
-  endfor
-  t addto mol_pic[cntM] also currentpicture; clearit;
-  endgroup;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def ext_to_fig(text t)=
-  begingroup
-  save w,h,An,Bn,wd,ht,n,p,am,aw,__,#,<<,=>,/*;
-  pair __,p[];
-  ext_setup;
-  w:=xpart(fsize); h:=ypart(fsize);
-  w0:=w-2xpart(fmargin); h0:=h-2ypart(fmargin); p0:=fmargin; aw:=atom_wd; n:=cntM;
-  for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor
-  t addto mol_pic[0] also currentpicture; clearit; f_ext:=1;
-  endgroup;
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef circled_plus_add= nA:=circlediam; nB:=circlepen;
-  image(draw fullcircle scaled nA wpcs nB;
-        draw (-.5nA,0)--(.5nA,0) wpcs nB; draw (0,-.5nA)--(0,.5nA) wpcs nB;)
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef circled_minus_add= nA:=circlediam; nB:=circlepen;
-  image(draw fullcircle scaled nA wpcs nB; draw (-.5nA,0)--(.5nA,0) wpcs nB;)
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef lone_pair_add expr n=
-  image(draw (0,0) wpcs lonepairdiam; draw ((0,lonepairspace) rotated n) wpcs lonepairdiam;)
-enddef;
-%=================================================================================================
-def drawm(text t)=
-  begingroup
-  save f_bra,temp_strA,temp_lenE,temp_lenF,temp_cntB,f_term,f_at,f_lineT,f_rotT,angL,lenL,cpos,
-       tpos,f_lenT,f_envT,factor,m_wd,m_ht,raise_pos,slen,sdir,char_wd,char_ht,tcol,f_col,knownA,
-       group_num,markA,markB,saveA,saveB,bondL,lenT,lineT,angT,rotT,envT,envB,rate_cr,posBs,posBe,
-       group_par,group_cnt,group_com,colorA,colorB,aW,aH,fW,fH,hW,hW,hH,qH,fP,hP,ww,aw,ap,am,
-       Ls,Le,pA,zA,zL;
-  numeric group_com[][],group_par[][],group_cnt[],colorA[],colorB[];
-  pair cpos,tpos,raise_pos,posBs,posBe,pA,Ls,Le;
-  path frameA[],zA,zL;
-  %-----------------------------------------------------------------------------------------------
-  if sw_expand=1: rate_cr:=1; else: rate_cr:=-ratio_chain_ring; fi
-  cntA:=cntB:=cntC:=group_num:=0; str_tbl[0]:="C"; str_cnt:=2000;
-  %-----------------------------------------------------------------------------------------------
-  fig_wd:=xpart(fsize); fig_ht:=ypart(fsize);
-  %===============================================================================================
-  read_mcf(0)(t,(_com,_term));
-  proc_bond_atom(0)(1);
-  if (group_num>0)and(not scan_bit(sw_abbreviate,Group)): expand_group(1); fi
-  %-scaling---------------------------------------------------------------------------------------
-  if     blength>1: blen:=blength;        proc_size_setup; proc_skeleton(0); proc_scaling;
-  elseif blength>0: blen:=fig_wd*blength; proc_size_setup; proc_skeleton(0); proc_scaling;
-  else:
-    blen:=3mm;
-    proc_size_setup;
-    if xpart(msize)<1: m_wd:=fig_wd*xpart(msize); else: m_wd:=fig_wd; fi
-    if ypart(msize)<1: m_ht:=fig_ht*ypart(msize); else: m_ht:=fig_ht; fi
-    for i=1 upto 6:
-      proc_skeleton(0); proc_scaling;
-      if (mol_ht/mol_wd)>(m_ht/m_wd):
-        if ypart(msize)>1: factor:=ypart(msize)/mol_ht;
-        else: factor:=((fig_ht-2ypart(fmargin))*ypart(msize))/mol_ht; fi
-      else:
-        if xpart(msize)>1: factor:=xpart(msize)/mol_wd;
-        else: factor:=((fig_wd-2xpart(fmargin))*xpart(msize))/mol_wd; fi fi
-      exitif (factor>=1-eps)and(factor<=1+eps); blen:=blen*factor; proc_size_setup;
-    endfor
-    if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi
-  fi
-  %-----------------------------------------------------------------------------------------------
-  for i=1 upto cntA:
-    if addA[i]<>0:
-      tempc:=char(addA[i]);
-      if tempc="+": chargeA[i]:=1; ef tempc="-": chargeA[i]:=-1; else: chargeA[i]:=0; fi
-    else: chargeA[i]:=0;
-    fi
-  endfor
-  %===============================================================================================
-  if scan_bit(sw_output,Fig):
-    %-draw atom-----------------------------------------------------------------------------------
-    if sw_numbering=0: for i=1 upto cntA: if strA[i]<>0: draw_atom(i); fi endfor fi
-    %-draw add to atom----------------------------------------------------------------------------
-    if (not scan_bit(sw_numbering,Atom))and(not scan_bit(sw_numbering,Bond)):
-      for i=1 upto cntA:
-        if addA[i]<>0: draw_char(char(addA[i]),sfrt(posA[i],atom_wd,angX[i]+add_rot[i])); fi
-      endfor
-    fi
-    %-draw bond-----------------------------------------------------------------------------------
-    for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
-    for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
-    %-atom numbering------------------------------------------------------------------------------
-    if scan_bit(sw_numbering,Atom):
-      for i=1 upto cntA:
-        if (i>=numbering_start)and(i<=numbering_end):
-          defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
-          if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
-          erase fill unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2));
-          draw unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2)) wpcs 0.1;
-          label(decimal(i),posA[i]);
-        fi
-      endfor
-    fi
-    %-bond numbering------------------------------------------------------------------------------
-    if scan_bit(sw_numbering,Bond):
-      for i=1 upto cntB:
-        if (i>=numbering_start)and(i<=numbering_end):
-          defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
-          if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
-          nH:=defaultsize*defaultscale; tpos:=.5[posA[sB[i]],posA[eB[i]]];
-          erase fill unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2));
-          draw unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2)) wpcs 0.1;
-          label(decimal(i),tpos);
-       fi
-      endfor
-    fi
-    %---------------------------------------------------------------------------------------------
-    if xpart(mposition)>1: nX:=xpart(mposition)-minX;
-    else: nX:=xpart(fmargin)-minX+(fig_wd-mol_wd-2xpart(fmargin))*xpart(mposition); fi
-    if ypart(mposition)>1: nY:=ypart(mposition)-minY;
-    else: nY:=ypart(fmargin)-minY+(fig_ht-mol_ht-2ypart(fmargin))*ypart(mposition); fi
-    posM[0][incr cntM]:=(nX,nY); posM1[cntM]:=(minX+nX,minY+nY); posM2[cntM]:=(maxX+nX,maxY+nY);
-    wdM[cntM]:=mol_wd; htM[cntM]:=mol_ht;
-    mol_pic[cntM]:=currentpicture;
-    clearit;
-  fi
-  if sw_output>=Calc: proc_calc(0); fi
-  endgroup;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def expand_group(expr n)=
-  save_group_num:=group_num; save_pcode_cnt:=pcode_cnt[0];
-  for i=n upto group_num:
-    for j=1 upto group_cnt[i]:
-      if group_com[i][j]>=pcode_emb_start: expand_pcode(0,group_com[i][j]);
-      else: pcode_com[0][incr pcode_cnt[0]]:=group_com[i][j];
-            pcode_par[0][pcode_cnt[0]]:=group_par[i][j];
-      fi
-    endfor
-  endfor
-  proc_bond_atom(0)(save_pcode_cnt+1);
-  if group_num>save_group_num: expand_group(save_group_num+1); fi
-enddef;
-%=================================================================================================
-def draw_frame(expr o,p,n)=
-  draw ((0,0)--(xpart p,0)--p--(0,ypart p)--cycle) shifted o withpen pensquare scaled n; enddef;
-%-------------------------------------------------------------------------------------------------
-def draw_corner(expr p,n)=
-  draw (0,0) wpcs n; draw(xpart p,0) wpcs n; draw p wpcs n; draw(0,ypart p) wpcs n; enddef;
-%-------------------------------------------------------------------------------------------------
-def proc_size_setup=
-  atom_wd:=     blen*ratio_atom_bond+offset_atom;
-  wedge_wd:=    blen*ratio_wedge_bond+offset_wedge;
-  hash_gap:=    blen*ratio_hashgap_bond+offset_hash_gap;
-  bondgap:=     blen*ratio_bondgap_bond+offset_bond_gap;
-  bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def proc_scaling=
-  minX:=minY:=4095; maxX:=maxY:=-4095;
-  for i=1 upto cntA:
-    nX:=xpart(posA[i]); nY:=ypart(posA[i]);
-    if strA[i]<>0:
-      nU:=nD:=nP:=nL:=nR:=0;
-      for j=1 upto length(str_tbl[strA[i]]):
-        tempc:=subc(j,str_tbl[strA[i]]);
-        if tempc="^": nU:=.5atom_wd; ef tempc="_": nD:=.5atom_wd;
-        ef (tempc<>"{")and(tempc<>"}"): nP:=nP+atom_wd*tbl_char_wd[ASCII(tempc)];
-        fi
-      endfor
-      if (angX[i]<=90)or(angX[i]>=270): nR:=nP; else: nL:=nP; fi
-      if (nX-nL+.5atom_wd)<minX: minX:=nX-nL+.5atom_wd; fi
-      if (nX+nR-.5atom_wd)>maxX: maxX:=nX+nR-.5atom_wd; fi
-      if (nY-nD-.5atom_wd)<minY: minY:=nY-nD-.5atom_wd; fi
-      if (nY+nU+.5atom_wd)>maxY: maxY:=nY+nU+.5atom_wd; fi
-    else: if nX<minX: minX:=nX; fi if nX>maxX: maxX:=nX; fi
-          if nY<minY: minY:=nY; fi if nY>maxY: maxY:=nY; fi
-    fi
-  endfor
-  mol_wd:=maxX-minX; mol_ht:=maxY-minY;
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_bond_atom(expr a)(expr n)=
-  f_bra:=f_term:=rotT:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=temp_strA:=f_at:=0;
-  bondL:=rate_cr; lenT:=rate_cr; sB[0]:=0; eB[0]:=1; lineT:=si;
-  addAT:=markA:=markB:=saveA:=saveB:=0;
-  %-----------------------------------------------------------------------------------------------
-  for i=n upto pcode_cnt[a]: nC:=pcode_com[a][i]; nP:=pcode_par[a][i];
-    if nC=_mk_bond: if (nP=0)and(rotT<>0): rotT:=0; fi add_atom(0);
-    ef nC=_set_adr: adrT:=nP;
-    ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
-                ef nP=_rest: markA:=saveA; markB:=saveB;
-                ef nP=_moff: markA:=markB:=0;
-                ef nP=_term: termA;
-                ef nP=_len_s:  temp_lenE:=bondL; ef nP=_len_e:  bondL:=temp_lenE;
-                ef nP=_len_ss: temp_lenF:=bondL; ef nP=_len_ee: bondL:=temp_lenF;
-                ef nP=_group_s: f_at:=1; if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi
-                                if lenT<>rate_cr: f_lenT:=1;  fi if envT<>hz: f_envT:=1; fi
-                ef nP=_group_e: f_at:=0; f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0;
-                                lineT:=si; lenT:=rate_cr; fi
-    ef nC=_set_atom: temp_strA:=nP;
-    ef nC=_group_si: add_group;
-    ef nC=_group_dm: lineT:=dm; add_group;
-    ef nC=_group_wf: lineT:=wf; add_group;
-    ef nC=_group_zf: lineT:=zf; add_group;
-    ef nC=_jp_bond:  termA; nA:=getB(nP); check_adrB(nA); sB[cntB+1]:=sB[nA]; f_bra:=1;
-    ef nC=_jp_atom:  termA; nA:=getA(nP); check_adrA(nA); sB[cntB+1]:=nA; f_bra:=1;
-    ef nC=_jp_absA:  sB[cntB+1]:=nP; f_bra:=1; temp_cntB:=cntB;
-    ef nC=_chg_atom: strA[getA(adrT)]:=pcode_par[nP][1];
-    ef nC=_chg_len:  if nP=_ring_len: bondL:=ringL; else: bondL:=nP; fi
-    ef nC=_get_len:  if nP=_tmp_len: if bondL=rate_cr: bondL:=lenT; fi
-                     ef nP=_ring_len:
-                       if lenT<>rate_cr: bondL:=lenT; else: if bondL<0: bondL:=1; fi fi
-                     else: ringL:=lenB[getB(nP)]; fi
-    ef nC=_tmp_len:  lenT:=nP;
-    ef nC=_set_line: lineB[getB(adrT)]:=nP;
-    ef nC=_tmp_line: lineT:=nP;
-    ef nC=_tmp_rot:  rotT:=nP;
-    ef nC=_cyc:      check_adrA(getA(nP)); add_atom(getA(nP));
-    ef nC=_cyc_eB:   add_atom(eB[getB(nP)]);
-    ef nC=_cyc_sB:   add_atom(sB[getB(nP)]);
-    ef nC=_chg_env:  envB:=nP;
-    ef nC=_tmp_env:  envT:=nP;
-    ef nC=_set_colorA: colorA[getA(adrT)]:=nP;
-    ef nC=_set_colorB: colorB[getB(adrT)]:=nP;
-    ef nC=_set_add: addAT:=nP;
-    ef nC=_chg_add: addA[getA(nP)]:=addAT; addAT:=0; if rotT<>0: add_rot[getA(nP)]:=rotT; fi
-    else:
-    fi
-  endfor
-enddef;
-%-------------------------------------------------------------------------------------------------
-def add_group=
-  if f_at=1: nE:=getA(adrT); check_adrA(nE); else: nE:=cntA+1; fi
-  group_cnt[incr group_num]:=0; store_group(_jp_absA,nE)
-  store_group(_com,_mark)
-  store_group(_com,_len_s)
-  if lineT<>nb: store_group(_tmp_line,lineT) fi
-  if rotT<>0:   store_group(_rot_ang,rotT) fi
-  if lenT<>rate_cr: store_group(_chg_len,lenT)
-  ef bondL<>rate_cr: 
-    if bondL>=0: store_group(_chg_len,-bondL) else: store_group(_chg_len,bondL) fi fi
-  if envT<>hz:  store_group(_chg_env,envT) fi
-  if lineT=nl:  store_group(_chg_len,_size_atom) store_group(_adj_ang,0) fi
-  if lineT<>nb: store_group(_mk_bond,0) fi
-  if nP<>NO_ATOM:
-    for i=1 upto pcode_cnt[nP]: store_group(pcode_com[nP][i],pcode_par[nP][i]) endfor 
-  fi
-  store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
-  store_group(_com,_rest)
-  if f_lineT=0: lineT:=si; fi
-  if f_lenT=0:  lenT:=rate_cr; fi 
-  if f_rotT=0:  rotT:=0;   fi
-  if f_envT=0:  envT:=hz;  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def store_group(expr a,b)=
-  group_com[group_num][incr group_cnt[group_num]]:=a; 
-  group_par[group_num][group_cnt[group_num]]:=b;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def add_atom(expr n)=
-  lineB[incr cntB]:=lineT; lineT:=si;
-  if lenT=rate_cr: lenB[cntB]:=bondL; else: lenB[cntB]:=lenT; lenT:=rate_cr; fi
-  if f_bra=0: strA[incr cntA]:=temp_strA; sB[cntB]:=cntA;
-              addA[cntA]:=addAT; addAT:=temp_strA:=add_rot[cntA]:=0;
-              if rotT<>0: add_rot[cntA]:=rotT; rotT:=0; fi
-  else: f_bra:=0; fi
-  if n=0: eB[cntB]:=cntA+1; f_term:=0; else: eB[cntB]:=n; f_term:=1; fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def check_adrA(expr n)=
-  if (n>iif(f_term=0,cntA+1,cntA))or(n<=0): errmessage("cntA=[ "&decimal(n)&" ]"); fi enddef;
-def check_adrB(expr n)= if (n>cntB)or(n<=0): errmessage("cntB=[ "&decimal(n)&" ]"); fi enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_skeleton(expr n)=
-  markA:=markB:=cntA:=cntB:=f_bra:=rotT:=f_term:=0;
-  envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=0; lineT:=si; angT:=mangle;
-  angA[0]:=angB[0]:=angX[0]:=0; posA[0]:=posBs:=posBe:=(0,0);
-  %-----------------------------------------------------------------------------------------------
-  for i=1 upto pcode_cnt[n]: nC:=pcode_com[n][i]; nP:=pcode_par[n][i];
-    if nC=_mk_bond: if (nP=0)and(rotT<>0):nP:=rotT; rotT:=0; fi add_bond(nP,1);
-    ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
-                ef nP=_rest: markA:=saveA; markB:=saveB;
-                ef nP=_moff: markA:=markB:=0; ef nP=_term: termB;
-                ef nP=_group_e: lineT:=si; lenT:=rate_cr; rotT:=envT:=0; fi
-    ef nC=_jp_bond: termB; nA:=getB(nP); posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
-    ef nC=_jp_atom: termB; adrT:=getA(nP); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
-    ef nC=_jp_absA: adrT:=nP; posBs:=posA[adrT]; angT:=angX[adrT];
-                    f_bra:=1; rotT:=0; temp_cntB:=cntB;
-    ef nC=_adj_ang: angT:=adjust_ang(angT);
-    ef nC=_rot_ang: if nP>-3700: angT:=(angT+nP) mod 360; else: angT:=(nP+4095) mod 360; fi
-    ef nC=_tmp_rot: rotT:=nP;
-    ef nC=_chg_env: envB:=nP;
-    ef nC=_tmp_env: envT:=nP;
-    ef nC=_cyc:     add_bond(angle(posA[getA(nP)]-posBs)-angT,0);
-    ef nC=_cyc_sB:  add_bond(angle(posA[sB[getB(nP)]]-posBs)-angT,0);
-    ef nC=_cyc_eB:  add_bond(angle(posA[eB[getB(nP)]]-posBs)-angT,0);
-    else:
-    fi
-  endfor
-enddef;
-%-------------------------------------------------------------------------------------------------
-def add_bond(expr n,f)=
-  if n=_arrange_ang: nA:=arrange_ang(angT mod 360); else: nA:=n; fi
-  if f_bra=0:
-    adrT:=incr cntA; posA[cntA]:=posBs; angA[cntA]:=angT; 
-    angX[cntA]:=(angT+nA/2+iif(nA>=0,-90,90)) mod 360;
-  else: f_bra:=0; fi
-  cntB:=cntB+1;
-  if nA>-3700: angB[cntB]:=angT:=(angT+nA) mod 360; else: angB[cntB]:=angT:=nA+4095; fi
-  if f=1:
-    if lenB[cntB]=_size_atom: posBe:=sfrt(posBs,atom_wd,angT);
-    else:
-      nA:=lenB[cntB]; if nA<0: nB:=glu_atom(adrT)+glu_atom(cntA+1); nA:=abs(nA); else: nB:=0; fi
-      posBe:=sfrt(posBs,nA*blen+nB,angT); fi
-    posA[cntA+1]:=posBe; f_term:=0;
-  else: f_term:=1; fi
-  posBs:=posBe;
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef arrange_ang(expr n)=
-  if cntB=0: angT:=(angT-180) mod 360; 180
-  else: if envB>=pcode_emb_start: pcode_par[envB][cntB-temp_cntB]
-        else: if envB=hz: if n=0:  60 ef n<=90: -60 ef n<=180:  60 ef n<270: -60 else:  60 fi
-              ef envB=vt: if n=0: -60 ef n<90:   60 ef n<=180: -60 ef n<=270: 60 else: -60 fi
-              ef abs(envB)<=180: envB
-              fi
-        fi
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef adjust_ang(expr n)= if (n<40)or(n>320): 0 ef n<140: 90 ef n<220: 180 else: 270 fi enddef;
-%=================================================================================================
-vardef getA(expr n)= if n>=0: markA+n ef n>=-999: cntA+n+1 else: n+4095 fi enddef;
-vardef getB(expr n)= if n>=0: markB+n ef n>=-999: cntB+n+1 else: n+4095 fi enddef;
-%-------------------------------------------------------------------------------------------------
-def termA=
-  if f_term=0:
-    if f_bra=0: strA[incr cntA]:=temp_strA; addA[cntA]:=addAT; add_rot[cntA]:=rotT;
-                addAT:=temp_strA:=rotT:=0;
-    else: f_bra:=0;
-    fi
-    f_term:=1;
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def termB= if f_term=0: if f_bra=0: angX[incr cntA]:=angT; else:f_bra:=0; fi f_term:=1; fi enddef;
-%-------------------------------------------------------------------------------------------------
-vardef glu_atom(expr n)=
- if strA[n]<>0: nE:=angT mod 90; nF:=0.5atom_wd; (iif(nE<45,sind nE,cosd nE)*nF)+++nF else: 0 fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_atom(expr n)=
-  if atomfont<>"draw": defaultfont:=atomfont; defaultsize:=atom_wd; fi
-  temps:=str_tbl[strA[n]]; slen:=length(temps); nC:=nS:=0; raise_pos:=(0,0); tpos:=posA[n];
-  if (angX[n]<=90)or(angX[n]>=270): sdir:=1; else: sdir:=-1; fi
-  for i=1 upto slen:
-    if nC=0: tempc:=subc(i,temps);
-      if (sdir=-1)and(tempc="{"):
-        nD:=i; nC:=0; for j=nD upto slen: nC:=nC+1; exitif subc(j+1,temps)="}"; endfor
-      fi
-      else: nC:=nC-1; tempc:=subc(nD+nC,temps); fi
-    if tempc="_": raise_pos:=iif(raise_pos=(0,0),(0,-.5atom_wd),(0,0));
-    ef tempc="^": raise_pos:=iif(raise_pos=(0,0),(0, .5atom_wd),(0,0));
-    ef (tempc<>"{")and(tempc<>"}"):
-      nS:=nS+1; char_wd:=atom_wd*tbl_char_wd[ASCII(tempc)]; char_ht:=atom_wd;
-      if nS=1: if (sdir=-1)and(char_wd<atom_wd): tpos:=tpos+((atom_wd-char_wd)/2,0); fi 
-      else: tpos:=tpos+(.5char_wd*sdir,0); fi
-      tcol:=colorA[n]; f_col:=0;
-      if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1; fi fi
-      if atomfont="draw": draw_char(tempc,tpos+raise_pos); else: label(tempc,tpos+raise_pos); fi
-      if f_col=1: drawoptions(); fi
-      tpos:=tpos+(.5char_wd*sdir,0);
-    fi
-  endfor
-  nA:=0.56atom_wd; nB:=0.06atom_wd;
-  if sdir=1: frameA[n]:=posA[n]-(nA,nA)--tpos+(nB,-nA)--tpos+(nB,nA)--posA[n]+(-nA,nA)--cycle;
-  else:      frameA[n]:=tpos-(nB,nA)--posA[n]+(nA,-nA)--posA[n]+(nA,nA)--tpos+(-nB,nA)--cycle;
-  fi
-  if scan_bit(sw_frame,Atom): draw frameA[n] wpcs thickness_frame; fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_bond(expr n)=
-  nL:=lineB[n]; angL:=angB[n]; nS:=sB[n]; nE:=eB[n]; f_col:=0;
-  tcol:=colorB[n]; zL:=posA[nS]--posA[nE]; ww:=wedge_wd; ap:=angL+90; am:=angL-90; aw:=atom_wd;
-  %-----------------------------------------------------------------------------------------------
-  if (strA[nS]=0)and(strA[nE]=0)or(sw_numbering>=1):
-                 Ls:=posA[nS];          Le:=posA[nE];          pA:=(.1,.9);
-  ef strA[nS]=0: Ls:=posA[nS];          Le:=zL ISP frameA[nE]; pA:=(.15,1);
-  ef strA[nE]=0: Ls:=zL ISP frameA[nS]; Le:=posA[nE];          pA:=(0,.85);
-  else:          Ls:=zL ISP frameA[nS]; Le:=zL ISP frameA[nE]; pA:=(0,1); fi
-  zA:=Ls--Le; lenL:=length(Le-Ls);
-  %-----------------------------------------------------------------------------------------------
-  if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1;fi fi
-  pickup pencircle scaled bond_pen_wd;
-  if (nL=si)or(scan_bit(sw_abbreviate,Bond)): draw zA;
-  ef nL=dl: draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
-  ef nL=dr: draw zA; draw sfrt(subpath pA of zA,bondgap,am);
-  ef nL=dm: draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
-  ef nL=db: nA:=iif(((angL-angX[nS]) mod 360)<=180,ap,am);
-            draw zA; draw sfrt(subpath pA of zA,bondgap,nA);
-  ef nL=tm: draw zA; draw sfrt(zA,bondgap,ap); draw sfrt(zA,bondgap,am);
-  ef nL=wf: fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
-  ef nL=wb: fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
-  ef nL=bd: draw zA withpen penrazor rotated ap scaled bondgap;
-  ef nL=bz: bz_put(sfrt(Ls,ww,ap),sfrt(Le,ww,ap),sfrt(Ls,ww,am),sfrt(Le,ww,am));
-  ef nL=zf: wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
-  ef nL=zb: wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
-  ef nL=dt: for i=0 step .75hash_gap/lenL until 1: drawdot i[Ls,Le]; endfor
-  ef nL=wv: nA:=.4bondgap; nB:=round(lenL/nA);
-            draw Ls for i=1 upto nB: ..controls(point (i-.5)/nB of sfrt(zA,nA,iif(odd i,ap,am)))
-                                     ..point i/nB of zA endfor
-  ef nL=wf_r: filldraw Ls--sfrt(Le,.35ww,am)--sfrt(Le,.35ww,ap)--cycle wpcs .05ww;
-  ef nL=wb_r: filldraw sfrt(Ls,.35ww,am)--Le--sfrt(Ls,.35ww,ap)--cycle wpcs .05ww;
-  ef nL=bd_r: draw zA wpcs .65bondgap;
-  ef nL=vf:  draw zA;draw sfrt(Le,bondgap,angL-150)--Le--sfrt(Le,bondgap,angL+150);
-  ef nL=vb:  draw zA;draw sfrt(Ls,bondgap,angL-30)--Ls--sfrt(Ls,bondgap,angL+30);
-  ef nL=si_: erase draw subpath (.15,.85) of zA wpcs 0.8bondgap; draw zA;
-  ef nL=dl_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,ap) wpcs 1.8bondgap;
-             draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
-  ef nL=dr_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,am) wpcs 1.8bondgap;
-             draw zA; draw sfrt(subpath pA of zA,bondgap,am);
-  ef nL=dm_: erase draw subpath(0.15,0.85) of zA wpcs 1.8 bondgap;
-             draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
-  ef nL=wf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
-             fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
-  ef nL=wb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
-             fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
-  ef nL=zf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
-             wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
-  ef nL=zb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
-             erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
-             wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
-  ef nL=bd_: erase draw subpath(0.15,0.85) of zA wpcs 1.6bondgap;
-             draw zA withpen penrazor rotated ap scaled bondgap;
-  ef nL=nb:
-  %-- bond type for glycan ----------------------------------------------------------------------
-  ef nL=arc_lb:  draw Ls--Ls-(0,aw)..posA[nE]+(-1.2aw,0)..posA[nE]-(.6aw,0);
-  ef nL=arc_br:  draw posA[nS]+(.6aw,0)..posA[nS]+(1.2aw,0)..Le-(0,aw)--Le;
-  ef nL=arc_lbr: draw posA[nS]+(0,iif(strA[nS]=0,0,-.6aw))--posA[nS]+(0,-.8aw)
-                      ..0.5[posA[nS],posA[nE]]+(0,-1.7aw)..posA[nE]+(0,-.8aw)
-                      --posA[nE]+(0,iif(strA[nE]=0,0,-.6aw));
-  ef nL=arc_ltr: draw posA[nS]+(0,iif(strA[nS]=0,0,0.6aw))--posA[nS]+(0,.8aw)
-                      ..0.5[posA[nS],posA[nE]]+(0,1.7aw)..posA[nE]+(0,.8aw)
-                      --posA[nE]+(0,iif(strA[nE]=0,0,.6aw));
-  %----------------------------------------------------------------------------------------------
-  fi
-  if f_col=1: drawoptions(); fi
-enddef;
-%------------------------------------------------------------------------------------------------
-def wz_put(expr a,b,c)=  nB:=round(lenL/hash_gap);
-  for i=1 upto nB: nA:=i/nB; if i=1: nD:=0; else: nD:=(i-ratio_hash_black)/nB; fi
-    fill nD[a,b]--nD[a,c]--nA[a,c]--nA[a,b]--cycle;
-  endfor
-enddef;
-%------------------------------------------------------------------------------------------------
-def bz_put(expr a,b,c,d)=  nB:=round(lenL/hash_gap);
-  for i=0 upto nB-1: nA:=i/nB; nD:=nA+ratio_hash_black/nB;
-    fill nA[b,a]--nA[d,c]--nD[d,c]--nD[b,a]--cycle;
-  endfor
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def char_size_set(expr w,h)(expr s)=
-  for j=1 upto length(s): nN:=ASCII(subc(j,s)); tbl_char_wd[nN]:=w; tbl_char_ht[nN]:=h; endfor
-enddef;
-%-------------------------------------------------------------------------------------------------
-char_size_set(   1,   1)("CGHMNOQW");
-char_size_set( 0.9,   1)("ABDFIJKPRSTUVXY");
-char_size_set( 0.8,   1)("ELZ");
-char_size_set( 0.7,   1)("0123456789nhtfg");
-char_size_set( 0.7, 0.7)("-+");
-char_size_set(0.45,0.95)("l");
-char_size_set(0.75, 0.8)("opq");
-char_size_set( 0.8, 0.8)("e");
-char_size_set( 0.9, 0.8)("wm");
-char_size_set( 0.7, 0.8)("abdcksuvrxyz");
-char_size_set(0.35, 0.9)("i");
-char_size_set( 0.5, 0.9)("j");
-%-------------------------------------------------------------------------------------------------
-def dw expr p = draw p shifted cpos enddef;
-def dwv expr p = draw p withpen penrazor scaled fP shifted cpos enddef;
-def dwvs(expr n) expr p = draw p withpen penrazor scaled (fP*n) shifted cpos enddef;
-def dwh expr p = draw p withpen penrazor rotated 90 scaled fP shifted cpos enddef;
-def cdw expr p = cutdraw p shifted cpos enddef;
-%-------------------------------------------------------------------------------------------------
-def Z_a=( 0,hP) enddef; def Z_b=(hP, 0) enddef; def Z_c=(hP,hP) enddef; def Z_d=(aW,hP) enddef;
-def Z_e=(fW, 0) enddef; def Z_f=(hW,aH) enddef; def Z_g=(hW, 0) enddef; def Z_h=( 0,hH) enddef;
-def Z_i=(hW,fW) enddef; def Z_j=( 0,qH) enddef; def Z_k=(aW,qH) enddef; def Z_l=(.75aW,0) enddef;
-def Z_m=(hP,hH) enddef; def Z_n=(fW,fH) enddef; def Z_o=(fW,hH) enddef; def Z_p=(hW,aW) enddef;
-def Z_q=( 0,fH) enddef; def Z_r=(hP,fH) enddef; def Z_s=(hW,fH) enddef; def Z_t=(fW,aH) enddef;
-def Z_u=(aW,fH) enddef; def Z_v=(aW,hH) enddef; def Z_w=(hP,aH) enddef; def Z_x=(hW,hP) enddef;
-def Z_y=(hW,hH) enddef; def Z_z=(fW,hP) enddef; 
-%-------------------------------------------------------------------------------------------------
-def circ_O = Z_o..(.8aW,fH-qP)..tension 1.5..(.2aW,fH-qP)..Z_m..
-     (.2aW,1.5hP)..tension 1.5..(.8aW,1.5hP)..cycle enddef;
-def circ_Oh = (hP,qH)..Z_x..(fW,qH)..Z_y..cycle enddef;
-def circ_Oa = (hP,0.35aH)..Z_x..(fW,0.35aH)..(hW,.7aH)..cycle enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_char(expr s,p)=
-  aW:=atom_wd*tbl_char_wd[ASCII(s)]*(1-2ratio_atomgap_atom);
-  aH:=atom_wd*tbl_char_ht[ASCII(s)]*(1-2ratio_atomgap_atom);
-  cpos:=p-(aW/2,atom_wd/2*(1-2ratio_atomgap_atom));
-  fP:=bond_pen_wd*ratio_char_bond;
-  hP:=fP/2; qP:=fP/4; fW:=aW-hP; hW:=aW/2; fH:=aH-hP; hH:=aH/2; qH:=aH/4;
-  %-----------------------------------------------------------------------------------------------
-  pickup pencircle scaled fP;
-  if s="C":  cdw sbp(.05,.95)circ_O;
-  ef s="H":  dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
-  ef s="O":  dw circ_O;
-  ef s="N":  dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
-  ef s="S":  cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
-  ef s="F":  dwh Z_q--Z_u; dwh (0,.45aH)--(fW,.45aH); dw Z_b--Z_r;
-  ef s="P":  dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
-  ef s="I": dwv Z_x--Z_s; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH);
-  ef s="l": dwv Z_g--Z_f; dwh Z_s--Z_r; dwh Z_x--Z_z;
-  ef s="2": cdw (hP,1.3hP)..(.4fW,.35fH)..(fW,.65aH)..Z_s..(hP,.65aH); dwh Z_d--Z_a;
-  ef s="3": cdw sbp(0,.75)circ_Oh; cdw sbp(.25,.98)circ_Oh shifted (0,hH-hP); dwh (.3aW,hH)--Z_y;
-  ef s="4": dwh Z_j--Z_k; dwv Z_l--(0.75aW,aH)--(1.2hP,qH+hP); dwv (.75aW+qP,aH)--(1.7hP,qH+hP);
-  ef s="-": dwh Z_m--Z_o;
-  ef s="+": dwv Z_x--Z_s; dwh Z_m--Z_o;
-  ef s="A": dwvs(1.14)Z_b--Z_f--Z_e; dw .33[Z_b,Z_f]--.33[Z_e,Z_f];
-  ef s="B": dw Z_r--Z_s{right}..(.9fH,.75aH)..{left}Z_y--Z_m--Z_y{right}..(.9fH,qH)..
-              {left}Z_x--Z_c; dwv Z_b--Z_w;
-  ef s="D": dw Z_r--Z_s..Z_o..Z_x--Z_c; dwv Z_b--Z_w;
-  ef s="E": pickup pensquare scaled fP; dw Z_z--Z_c--Z_r--Z_n; dw Z_m--Z_o;
-  ef s="G": cdw sbp(.06,.97)circ_O; dwh bot Z_y-- bot Z_v;
-  ef s="J": cdw Z_m..(hP,.4aH){down}..{right}Z_x{right}..{up}(fW,.4aH)..Z_t;
-  ef s="K": cdw Z_b--Z_w; cdw .35[.45[Z_b,Z_w],Z_u]--Z_e; cdw .35[Z_b,Z_w]--Z_u;
-  ef s="L": dwh Z_d--Z_a; dwv Z_b--Z_w;
-  ef s="M": dwv Z_b--Z_w; dwvs(1.14)Z_w--Z_x--Z_t; dwv Z_t--Z_e;
-  ef s="Q": dw circ_O; dw (.6aW,.4aH)--Z_e;
-  ef s="R": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
-            cdw Z_e{up}..{left}(hW,.44aH);
-  ef s="T": dwh Z_q--Z_u; dwv .5[Z_q,Z_u]--Z_g;
-  ef s="U": cdw Z_w..Z_m{down}..{right}Z_x{right}..{up}Z_o..Z_t;
-  ef s="V": dwvs(1.2)Z_w--Z_g--Z_t;
-  ef s="W": dwvs(1.08)Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
-  ef s="X": dwvs(1.4)Z_w..Z_e; dwvs(1.4) Z_b..Z_t;
-  ef s="Y": dwvs(1.2)Z_w--Z_y--Z_t; dwv Z_y--Z_g;
-  ef s="Z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
-  ef s="a": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_e--Z_t;
-  ef s="b": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_b--(hP,1.3aH)
-  ef s="c": cdw sbp(.06,.94)Z_o..Z_s..Z_m..Z_x..cycle;
-  ef s="d": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_e--(fW,1.3aH);
-  ef s="e": cdw sbp(0,.92)Z_o..Z_s..Z_m..Z_x..cycle; dw Z_o--Z_m;
-  ef s="f": cdw (.4fW,0)--(.4fW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z_h--Z_v;
-  ef s="g": dw circ_Oa; dw sbp(0,.5)circ_Oh shifted (0,-.5fH); cdw (fW,.7aH)--(fW,-qH);
-  ef s="h": cdw Z_b..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z_e; dwv (hP,.3aH)--Z_w;
-  ef s="i": dwv Z_g--(hW,.7aH); ppcs 1.4fP; dw Z_s;
-  ef s="j": cdw (fW,.7aH)--Z_z..(aW/4,-.66fP)..Z_c; ppcs 1.4fP; dw Z_n;
-  ef s="k": dwv Z_b--(hP,1.3fH); cdw .5[Z_b,Z_w]--Z_e; cdw .5[Z_b,Z_w]--Z_u;
-  ef s="m": cdw Z_b..(hP,.3aH){up}..(.28aW,fH)..{down}(hW,.3aH)..Z_g;
-            cdw (hW,.6aH){up}..(.7aW,fH)..{down}(fW,.6aH)..Z_e; dwv (hP,.3aH)--Z_w;
-  ef s="n": cdw Z_b{up}..(hW,.8fH)..{down}Z_o..Z_e; dwv Z_b--(hP,.8aH);
-  ef s="o": dw Z_x..Z_o..Z_s..Z_m..cycle;
-  ef s="p": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_w--(hP,-.3aH);
-  ef s="q": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_t--(fW,-.3aH);
-  ef s="r": cdw (sbp(.33,.72)Z_x..Z_o..Z_s..Z_m..cycle) shifted(0,-hP); dwv Z_b--Z_w;
-  ef s="s": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
-  ef s="t": dwv Z_g--Z_f; dwh (0,.66aH)--(aW,.66aH);
-  ef s="u": cdw Z_w..(hP,.55aH){down}..Z_x..(fW,.55aH){up}..Z_t; dwv Z_t--Z_e;
-  ef s="v": dwv Z_w--Z_g--Z_t;
-  ef s="w": dwv Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
-  ef s="x": dwvs(1.4)Z_w--Z_e; dwvs(1.4) Z_t--Z_b;
-  ef s="y": dwvs(1.4)(Z_w--Z_y) shifted (0,-.3aH); dwvs(1.4)(Z_t--Z_b) shifted (0,-.3aH);
-  ef s="z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
-  ef s="0": dw Z_m...Z_s...Z_o...Z_x...cycle;
-  ef s="1": dwv Z_g--(hW,aH-.3hP)--(hW-fP,aH-fP)--(hW-fP,aH-1.5fP);
-  ef s="5": dwh Z_q--Z_u; dwv Z_r--(hP,.55fH);
-            cdw (qP,.18aH)..(.65aW,1.3hP)..(fW,.4aH)..(hW,.63aH)..(.7hP,.56aH);
-  ef s="6": dw Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle; cdw (.8fP,hH)--Z_f;
-  ef s="7": dwh (0,.fH)--Z_u; dwvs(1.2)(aW-1.2hP,aH-fP)--(.4aW,0);
-  ef s="8": dw circ_Oh; dw (hP,.75aH)...Z_s...(fW,.75aH)...Z_y...cycle;
-  ef s="9": dw (Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW-.45fP,hH)--Z_g;
-  else:
-  fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def warning_bond(expr a)=
-  if addA[a]=0:
-    warning("A"&decimal(a)&" ( "&fsl(8)(str_tbl[strA[a]])&") has"&fdr(2)(bond_cntA)&" bonds");
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef erase_char(expr s)=
-  sS:="";
-  if (length(s)>=4)and(s<>"COOH"):
-    for i=1 upto length(s): sC:=subc(i,s); if scan_c(sC,"{}_^+")=0: sS:=sS&sC; fi endfor sS
-  else: s
-  fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef forbidden_to_underbar(expr t)=  sS:="";
-  for i=1 upto length(t):
-    sC:=subc(i,t); if scan_c(sC,forbiddens)>0: sS:=sS&"_"; else: sS:=sS&sC; fi
-  endfor
-  sS
-enddef;
-%=================================================================================================
-def proc_calc(expr n)=
-  MW_n:=MI_n:=tbl_atom_max:=warning_cnt:=hideH_cnt:=0; nE:=pcode_emb_start;
-  for i=1 upto tbl_atom_end: sumA[i]:=0; endfor
-  for i=1 upto cntA:
-    knownA:=bond_cntA:=0; nS:=strA[i];
-    for j=1 upto cntB:
-      bond_num[j]:=bond_type(lineB[j]);
-      if (sB[j]=i)or(eB[j]=i): bond_cntA:=bond_cntA+bond_num[j]; fi
-    endfor
-    Bcnt[i]:=bond_cntA;
-    if ((nS=0)or(nS=(C-nE)))and(bond_cntA<4):
-      hideH[i]:=4-bond_cntA; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0;
-    fi
-    if nS=0:         if bond_cntA>4:  warning_bond(i) fi
-    ef nS=(O-nE):    if bond_cntA<>2: warning_bond(i) fi
-    ef nS=(N-nE):    if (bond_cntA<>3)and(bond_cntA<>5): warning_bond(i) fi
-    ef nS=(S-nE):    if (bond_cntA<>2)and(bond_cntA<>4)and(bond_cntA<>6): warning_bond(i) fi
-    ef nS=(H-nE):    if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(OH-nE):   if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(COOH-nE): if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(NH2-nE):  if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(CN-nE):   if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(P-nE):    if bond_cntA<>5: warning_bond(i) fi
-    ef nS=(C-nE):    if bond_cntA>4:  warning_bond(i) fi
-    ef nS=(F-nE):    if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(Cl-nE):   if bond_cntA<>1: warning_bond(i) fi
-    ef nS=(Br-nE):   if bond_cntA<>1: warning_bond(i) fi
-    fi
-    for j=1 upto tbl_group_end:
-      if str_tbl[nS]=tbl_atom_str[j]:
-        if tbl_atom[j]=0: sumA[j]:=sumA[j]+1; if j>tbl_atom_max: tbl_atom_max:=j; fi
-        else:
-          for k=1 upto tbl_atom[j]:
-            sumA[tbl_group[j][k]]:=sumA[tbl_group[j][k]]+1;
-            if tbl_group[j][k]>tbl_atom_max: tbl_atom_max:=tbl_group[j][k]; fi
-          endfor
-        fi
-        knownA:=1;
-      fi
-      exitif knownA=1;
-    endfor
-    if knownA=0: warning(" Unknown Str("&str_tbl[strA[i]]&") is used "&decimal(i)); fi
-  endfor
-  %-------------------------------------------------------------------------------------
-  sumA[2]:=sumA[2]+hideH_cnt; if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi
-  for i=1 upto tbl_atom_max:
-    if sumA[i]>=1:
-      MW_n:= MW_n+tbl_atom_wt[i]*sumA[i]; MI_n:= MI_n+tbl_atom_mi[i]*sumA[i];
-      fm:=fm&erase_char(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi;
-    fi
-  endfor
-  mw:=substring(0,8) of decimal(MW_n); MI:=substring(0,10) of decimal(MI_n);
-enddef;
-%=================================================================================================
-def proc_report_out=
-  file_output:=jobname&"-report.txt";
-  printf "===========================================================================";
-  printf " No["&decimal(fig_num)&"],Name<"& EN&">,Category<"&CAT&">,File<"&file_input&">";
-  printf "---------------------------------------------------------------------------";
-  for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
-  printf "---------------------------------------------------------------------------";
-  printf " Row["&decimal(mc_row)&"],Length["&decimal(length(mc))&"],Block"&
-         "["&decimal(block_cnt+1)&"]"&",Code pair["&decimal(pcode_cnt[0])&
-         "],Warning["&decimal(warning_cnt)&"]";
-  printf "---------------------------------------------------------------------------";
-  printf "" for i=EQU,CLN,QES,AMK,AMP,HSH,GTN,BAR,QUT,TLD,HAT,BQT,LTN:
-              if tbl_asc[i]>=1: &" "&char(i)&"["&decimal(tbl_asc[i])&"]" fi
-            endfor ;
-  printf "---------------------------------------------------------------------------";
-  printf " Width["&fdr(8)(mol_wd)&"],Height["&fdr(8)(mol_ht)&"],"&
-         " Shift x["& fdr(8)(minX)&"],Shift y["&fdr(8)(minY)&"]";
-  printf " Bond length["&fdr(8)(blen)&"],Atom size["&fdr(8)(atom_wd)&"]";
-  printf "---------------------------------------------------------------------------";
-  printf " Atom["&decimal(cntA)&"],Bond["&decimal(cntB)&
-         "],Ring["&decimal(cntB-cntA+1)&"],Hide H["&decimal(hideH_cnt)&"]";
-  printf "< NO. ><atom(s) >(  x axis   ,   y axis   )<bond><hideH><chg>";
-  for i=1 upto cntA:
-    printf " A"&fdl(6)(i)&fsl(8)(erase_char(str_tbl[strA[i]]))&
-           " ("&fdr(10)(round(xpart(posA[i])/blen))&" , "&
-            fdr(10)(round(ypart(posA[i])/blen))&" ) "&fdr(4)(Bcnt[i])&
-            iif(hideH[i]>0,fdr(6)(hideH[i]),"        ") if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi;
-  endfor
-  printf "---------------------------------------------------------------------------";
-  printf "< NO. ><  bond   (sdt)><angle +(  +-  )><length (   pt   )>";
-  for i=1 upto cntB:
-    nC:=lenB[i]; if nC=_size_atom: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi
-    nB:=angB[i]; if nB>180: nB:=nB-360; fi
-    printf " B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])&
-           " ("&fdr(3)(bond_num[i])&")"&fdr(8)(round(angB[i]))&
-           " ("&fdr(6)(round(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round(nC*blen))&")";
-  endfor
-  printf "---------------------------------------------------------------------------";
-  printf "<atom>( atom wt )[ mi wt   ]  < cnt > < sum wt   >[ sum mi wt  ]";
-  for i=1 upto tbl_atom_max:
-    if sumA[i]>=1:
-      printf " "&fsl(5)(erase_char(tbl_atom_str[i]))&
-        "("&fdr(9)(tbl_atom_wt[i])&")"&"["&fdr(9)(tbl_atom_mi[i])&"]"&" * "&fdr(8)(sumA[i])
-        &"    "&fdr(7)(tbl_atom_wt[i]*sumA[i])&"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]";
-    fi
-  endfor
-  printf " Molecular Weight [Mono Isotopic] =   "&fsr(12)(mw)&"["&fsr(12)(MI)&"]";
-  printf "---------------------------------------------------------------------------";
-  printf " Weight Calc: "&mw if MW<>"-": &" - Input: "&MW&" = "&fdr(9)(MW_n-scantokens(MW)) fi;
-  printf " Fomula Calc: "&fm if FM<>"-": &" "&iif(fm=FM,"=","<>")&" Input: "&FM fi;
-  printf "===========================================================================";
-enddef;
-%=================================================================================================
-def proc_mol_out(expr n)=
-  if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
-  file_output:="m"&fit_zero(fig_num)&"-"&EN_&".mol";
-  %-V2000---------------------------------------------------------------------------------------
-  if n=2000:
-    printf ""; printf "  -MCFtoMOL- "&fsl(20)(EN); printf "";
-    printf fdr(3)(cntA)&fdr(3)(cntB)&"  0  0  0  0  0  0  0  0999 V2000";
-    for i=1 upto cntA:
-      printf fdr(10)(xpart(posA[i])/blen)& fdr(10)(ypart(posA[i])/blen)&fdr(10)(0)&" "&
-             fsl(2)(erase_char(str_tbl[strA[i]]))&"  0"&fdr(3)(bond_charge(chargeA[i]))&"  0  0";
-    endfor
-    for i=1 upto cntB:
-      if lineB[i]<>0: printf fdr(3)(sB[i])&fdr(3)(eB[i])&fdr(3)(bond_type(lineB[i]))&
-                      fdr(3)(bond_stereo(lineB[i]))&"     0  0";
-      fi
-    endfor
-    printf "M  END";
-  %-V3000---------------------------------------------------------------------------------------
-  elseif n=3000:
-    printf ""; printf "  -MCFtoMOL- "&fsl(20)(EN); printf "";
-    printf "  0  0  0  0  0  0  0  0  0  0  0 V3000"; 
-    printf "M  V30 BEGIN CTAB";
-    printf "M  V30 COUNTS "&decimal(cntA)&" "&decimal(cntB)&" 0 0 0";
-    printf "M  V30 BEGIN ATOM";
-    for i=1 upto cntA:
-      printf "M  V30 "&decimal(i)&" "&erase_char(str_tbl[strA[i]])&" "&
-             decimal(xpart(posA[i])/blen)&" "&decimal(ypart(posA[i])/blen)&" 0 0"
-             if chargeA[i]<>0: &" CHG="&decimal(chargeA[i]) fi;
-    endfor
-    printf "M  V30 END ATOM"; printf "M  V30 BEGIN BOND";
-    for i=1 upto cntB:
-      if lineB[i]<>0:
-        printf "M  V30 "&decimal(i)&" "&decimal(bond_type(lineB[i]))&
-               " "&decimal(sB[i])&" "&decimal(eB[i])
-               if bond_stereo(lineB[i])<>0: &" CFG="&decimal(bond_config(lineB[i])) fi;
-      fi
-    endfor
-    printf "M  V30 END BOND"; printf "M  V30 END CTAB"; printf "M  END"; fi
-enddef;
-%=================================================================================================
-def proc_mc_out=
-  file_output:="temp-mc.aux";
-  if mc_length<100:
-    nN:=split_str(mc,",")(arg_s); nA:=0; temps:="";
-    for i=1 upto nN:
-      if i=nN: temps:=temps&arg_s[i]; printf temps;
-      ef at_char[i+1]-nA>mc_length: nA:=at_char[i]; printf temps&arg_s[i]&","; temps:="";
-      else: temps:=temps&arg_s[i]&",";
-      fi
-    endfor
-  else: for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
-  fi
-  printf EOF;
-enddef;
-%=================================================================================================
-vardef fit_zero(expr n)= if n<=9: "00" ef n<=99: "0" else: "" fi &decimal(n) enddef;
-vardef bond_type(expr n)=
-  if (n>=dl)and(n<=dm_):2 ef n=tm:3 ef (n=0)or(n=vf)or(n=vb): 0 else: 1 fi enddef;
-vardef bond_charge(expr n)= if n=2: 1 ef n=1: 3 ef n=-1: 5 ef n=-2: 6 else: 0 fi enddef;
-vardef bond_stereo(expr n)=
- if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 6 ef n=wv: 4 else: 0 fi enddef;
-vardef bond_config(expr n)=
- if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 3 ef n=wv: 2 else: 0 fi enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef define_atom(expr s,WT,MI)=
-  str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
-  pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
-  str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
-  tbl_atom_wt[tbl_cnt]:=WT; tbl_atom_mi[tbl_cnt]:=MI; pcode_num
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef define_group_string(expr s)(text t)=
-  str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
-  pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
-  str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
-  for list=t: tbl_group[tbl_cnt][incr tbl_atom[tbl_cnt]]:=list-pcode_emb_start; endfor
-  pcode_num
-enddef;
-%=================================================================================================
-def define_atom_group_parts=
-  save `,``,';
-  def `=define_atom enddef; def ``=define_group_string enddef; def '= define_parts enddef;
-  pcode_int:=pcode_emi_start; pcode_num:=pcode_emb_start;
-  ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
-  %-----------------------------------------------------------------------------------------------
-  C:= `("C"   ,12.0107,   12.0000000);       H:= `("H"  , 1.00794,    1.00782503223);
-  D:= `("D"   ,2.012,      2.01410177812);   Ag:=`("{Ag}",107.868,  106.905095);
-  Al:=`("{Al}",26.9815,   26.98153853);      As:=`("{As}",74.9216,   74.92159457);
-  B:= `("B"   ,10.811,    11.00930536);      Ba:=`("{Ba}",137.33,   136.905816);
-  Be:=`("{Be}",9.01218,   0);
-  Bi:=`("{Bi}",208.9804,  208.980338);       Br:=`("{Br}",79.904,    78.9183376);
-  Ca:=`("{Ca}",40.078,    39.962590863);     Cd:=`("{Cd}",112.41,     110.904182);
-  Cl:=`("{Cl}",35.453,    34.968852);        Co:=`("{Co}",58.933194, 58.93319429);
-  Cr:=`("{Cr}",51.9961,   51.94050623);      Cs:=`("{Cs}",132.905,   132.90543);
-  Cu:=`("{Cu}",63.546,    62.92959772);     
-  F:= `("F"   ,18.9984,   18.99840316273);   Fe:=`("{Fe}",55.845,    55.93493633);
-  Hg:=`("{Hg}",200.59,    201.97064340);     I:= `("I"   ,126.90447,126.9044719);
-  K:= `("K"   ,39.0983,   38.9637064864);    Li:=`("{Li}",6.941,      7.0160034366);
-  Mg:=`("{Mg}",24.305,    23.985041697);     Mn:=`("{Mn}",54.938044, 54.93804391);
-  Mo:=`("{Mo}",95.95,     0);
-  N:= `("N"   ,14.0067,   14.00307400443);   Na:=`("{Na}",22.98977,  22.9897692820);
-  Ni:=`("{Ni}",58.693,    57.93534241);      O:= `("O"   ,15.9994,   15.99491461957);
-  P:= `("P"   ,30.973762, 30.97376199842);   Pb:=`("{Pb}",207.2,    205.974455);
-  Pd:=`("{Pd}",106.4,    107.905075);
-  S:= `("S"   ,32.065,    31.9720711744);    Sb:=`("{Sb}",121.75,   120.90381);
-  Se:=`("{Se}",78.971,    79.9165218);       Si:=`("{Si}",28.0855,   27.97692653465);
-  Sn:=`("{Sn}",118.71,   119.90220163);      Ta:=`("{Ta}",180.948,   0);
-  Te:=`("{Te}",127.60,    129.90623);        Ti:=`("{Ti}",47.867,    47.94794198);
-  U:= `("U",   238.0289, 238.05079);         V:= `("V",   50.9415,   50.943957);
-  W:= `("W",   183.85,   181.948225);        Zn:=`("{Zn}",65.409,    63.92914201);
-  NO_ATOM:=`("",0,0);
-  tbl_atom_end:=tbl_cnt;
-  %-----------------------------------------------------------------------------------------------
-  if sw_expand=0:
-    CH3:=``("C{H_3_}")(C,H,H,H); CH2:=``("C{H_3_}")(C,H,H); CN:=``("CN")(C,N); OH:=``("OH")(O,H);
-    COOH:=``("COOH")(C,O,O,H); COONa:=``("COO{Na}")(C,O,O,Na); CHO:=``("CHO")(C,H,O);
-    NO:=``("NO")(N,O); NO2:=``("N{O_2_}")(N,O,O); NH2:=``("N{H_2_}")(N,H,H);
-    SH:= ``("SH")(S,H); SO2H:=``("S{O_2_}H")(S,O,O,H); SO3H:=``("S{O_3_}H")(S,O,O,O,H);
-    ONa:=``("O{Na}")(O,Na); SO3Na:=``("S{O_3_}{Na}")(S,O,O,O,Na);
-  fi
-  %-----------------------------------------------------------------------------------------------
-  tbl_group_end:=tbl_cnt; pcode_atm_end:=pcode_num;
-  ?:='((_group_si,NO_ATOM)); ?wf:=?w:='((_group_wf,NO_ATOM)); ?zf:=?z:='((_group_zf,NO_ATOM));
-  ?O:='((_group_dm,O)); NH:='(N,/H~nl); ?NH:='((_group_dm,NH));
-  %-----------------------------------------------------------------------------------------------
-  ?H:='(/H); ?F:='(/F); ?Cl:='(/Cl); ?OH:='(/OH); ?OH:='(/COOH); ?NH2:='(/NH2);
-  for i=3 upto 20: ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90)
-    for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee));
-  endfor
-  Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl);
-  for i=5,6,7,8: for j=11 upto 15:  ?[i][j]:='((i,j)); endfor endfor
-  %-----------------------------------------------------------------------------------------------
-  !:=!1:='((_mk_bond,_arrange_ang)); !db:=!d:='(!~db); !tm:=!t:='(!~tm); !wf:=!w:='(!~wf);
-  !zf:=!z:='(!~zf); !wb:='(!~wb); !zb:='(!~zb); !dl:='(!~dl); !dr:='(!~dr); !dm:='(!~dm);
-  for i==2  upto 20:
-    ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee));
-  endfor
-  ?!:='(/_,!); ?!d:='(/_,!d); ?!2:='(/_,!2); ??!:='(/_,/_^60,60); ??:='(/_^35,/_^-35);
-  !?:='(!,/_); !?!:='(!?,!); !??!:='(!,??,!); ?2:='(/!); !?2:='(!,?2); ?2!:='(?2,!);
-  n_:='((_set_add,MIS)); p_:='((_set_add,PLS));
-  zero_wf:='(0~wf); zero_zf:='(0~zf); zero_dm:='(0~dm); zero_wv:='(0~wv);
-  mark_adress:='((_com,_mark)); reset_adress:='((_com,_moff)); reset_length:='((_com,_len_e));
-  %-----------------------------------------------------------------------------------------------
-  if sw_expand=1:
-    CH3:='(/H,/H^60,/H^-60); NH:='(N,/H); NH2:='(N,/H^60,/H^-60); NO2:='(N,//O^60,//O^-60);
-    OH:='(O,!,H); NO:='(N,//O); CONH2:='(//O,!,NH2); SH:='(S,!,H); SO2H:='(S,//O^60,/OH^-60);
-    SO3H:='(S,/OH,//O^60,//O^-60); CHO:='(//O^-60,/H^60); COOH:='(//O^-60,/OH^60); CN:='(!~tm,N);
-    ONa:='(O,!,Na); SO3Na:='(S,/ONa,//O^60,//O^-60);
-  fi
-  %-----------------------------------------------------------------------------------------------
-  ?F!F:='(/F,60,F); ?Cl!Cl:='(/Cl,60,Cl); ?Br!Br:='(/Br,60,Br); ?F?F!F:='(/F,/F^60,60,F);
-  ?Cl?Cl!Cl:='(/Cl,/Cl^60,60,Cl);
-  %-----------------------------------------------------------------------------------------------
-  N!:='(N,!); N?:='(N,/_); N!2:='(N,!3); N!2:='(N,!3); !N:='(!,N);
-  N?!:='(N,?!); N?2:='(N,?2); N?2!:='(N?2,!); N?!2:='(N,?!2);
-  S?O:='(S,?O); S?O!:='(S?O,!); ?O?O:='(?O^-35,?O^35); S?O?O:='(S,?O?O); S?O?O!:='(S?O?O,!);
-  O!:='(O,!); O!2:='(O,!2); O!3:='(O,!3); S!:='(S,!); S!2:='(S,!2); S!3:='(S,!3);
-  %-----------------------------------------------------------------------------------------------
-  ?O!:='(?O,!); ?O!2:='(?O,!2); ?O!3:='(?O,!3); !?O:='(!,?O); !?O!:='(!,?O!);
-  NH!:='(NH,!); NH!2:='(NH,!2); !NH:='(!,NH); !NH!:='(!,NH!);
-  %-----------------------------------------------------------------------------------------------
-  !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !S?O:='(!,S?O); !O:='(!,O); !dO:='(!d,O);
-  !O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); !S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
-  !COOH:='(!,COOH); ?COOH:='(/COOH); !CH3:='(!,CH3); !CN:='(!,CN); !CHO:='(!,CHO); !NO2:='(!,NO2);
-  !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !?F!F:='(!,?F!F); !?Cl!Cl:='(!,?Cl!Cl);
-  !?F?F!F:='(!,?F?F!F); !?Cl?Cl!Cl:='(!,?Cl?Cl!Cl);
-  !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8);
-  !Ph:='(!,Ph); !?OH:='(!,?OH); ?OH!:='(?OH,!);
-  %-----------------------------------------------------------------------------------------------
-  lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60 for i==1 upto 10:: ,60,-60 endfor);
-  %-----------------------------------------------------------------------------------------------
-  hexose_hp:='(#1.4,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##);
-  Pyranose_hp:='(#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##);
-enddef;
-%-------------------------------------------------------------------------------------------------
-define_atom_group_parts;
-%=================================================================================================
-init_par(parameter_list);
-%-------------------------------------------------------------------------------------------------
-for i=pcode_emb_start+1 upto pcode_num: pcode_all:=pcode_all+pcode_cnt[i]; endfor
-message "pcode_emb  =" & decimal(pcode_emb_start) &" => " & decimal(pcode_num) & 
-                       " [ " & decimal(pcode_all) & " ]";
-message "pcode_emi  =" & decimal(pcode_emi_start) &" => " & decimal(pcode_int);
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef checkm(expr s)=
-  save mc_char,mc_adr,mc_asc,char_cnt,lens,f_depth;
-  string err_type[];
-  numeric mc_char[],mc_asc[],mc_adr[];
-  err_cnt:=char_cnt:=block_cnt:=f_depth:=0; nA:=1; lens:=length(s);
-  err_type[0]:="no mc-row    "; err_type[1]:="mismatch ()  "; err_type[2]:="mismatch {}  ";
-  err_type[3]:="mismatch []  "; err_type[4]:="missing arg  "; err_type[5]:="extra arg    ";
- %---------------------------------------------------------------------------------------------
-  if mc_row>=1:
-    for i=1 upto 128: tbl_asc[i]:=0; endfor
-    for i=1 upto lens: mc_char[i]:=ASCII(subc(i,s)); endfor
-    forever:
-      temps:=substring (nA-1,nA) of s;
-      if (temps<>",")and(temps<>" "): nF:=0;
-        for j=1 upto rw_cnt: nC:=lenw[j]-1;
-          if substring (nA-1,nA+nC) of s=rw[j]:
-            for k=1 upto nC: mc_char[nA]:=j; mc_char[nA+k]:=BLK; endfor
-            nF:=1; nA:=nA+nC;
-          fi
-          exitif nF=1;
-        endfor
-      fi
-      nA:=nA+1; exitif nA>=lens;
-    endfor
-    for i=1 upto lens:
-      if mc_char[i]<>BLK: mc_asc[incr char_cnt]:=mc_char[i]; mc_adr[char_cnt]:=i; fi
-    endfor
-    mc_asc[0]:=mc_asc[char_cnt+1]:=CMA;
-    %-- argument check -------------------------------------------------------------------------
-    for i=1 upto char_cnt:
-      nA:=mc_asc[i-1]; nB:=mc_asc[i]; nC:=mc_asc[i+1]; tbl_asc[nB]:=tbl_asc[nB]+1;
-      if nB=CMA: if f_depth=0: block_cnt:=block_cnt+1; fi
-      ef (nB=EQU)or(nB=CLN)or(nB=HAT)or(nB=BQT)or(nB=TLD)or(nB=LTN):      % =,:,^,`,~,>
-        if (nA=CMA)or(nC=CMA): proc_err(4,i) fi
-      ef (nB=AMK)or(nB=AMP)or(nB=GTN)or(nB=HSH):                          % @,&,<,#
-        if nA<>CMA: proc_err(5,nB) fi if nC=CMA: proc_err(4,i) fi
-      ef (nB=SLS)or((nB>=7)and(nB<=11)):                                  % /,*/*,//,/*,*/,**
-        if (nA<>CMA)and(nA<>CLN)and(nA<>PRS): proc_err(5,i) fi
-        if nC=CMA: proc_err(4,i) fi
-      fi
-      if (nB=PRS)or(nB=BRS): f_depth:=f_depth+1; ef (nB=PRE)or(nB=BRE): f_depth:=f_depth-1; fi
-    endfor
-    %-- brackets balance check -----------------------------------------------------------------
-    if tbl_asc[PRS]<>tbl_asc[PRE]: proc_err(1,0) fi           %  mismatch ()
-    if tbl_asc[BRS]<>tbl_asc[BRE]: proc_err(2,0) fi           %  mismatch {}
-    if tbl_asc[BKS]<>tbl_asc[BKE]: proc_err(3,0) fi           %  mismatch []
-  else: proc_err(0,0) fi
-  %---------------------------------------------------------------------------------------------
-%%%%%%%  err_cnt>0: readstring;
-  err_cnt
-enddef;
-%-------------------------------------------------------------------------------------------------
-def proc_err(expr e,n)= 
-  err_cnt:=err_cnt+1;
-  message "["&decimal(fig_num)&"]:"&err_type[e]
-    if n>=1: &"("&fdr(3)(n)&") "&substring(mc_adr[n]-2,mc_adr[n]+3) of mc fi ;
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def savem(expr s)=
-  file_output:=s;
-  for i=1 upto ucount: for j=1 upto unit_lines[i]: printf row[i][j]; endfor endfor
-  closefrom file_output;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def loadm(text s)=
-  begingroup
-  save f_mcf,f_line,lines,unit_cnt,row_s,row_cnt,semic_cnt,info_cnt,order,min_n,max_n,firstc,
-       sign_at,sign_n,filter_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p,lib_unit_cnt,
-       at_colon,at_equal,at_less,at_greater,at_n,sort_tbl,key_s,sort_s,sign_s,sV,sS,sT,sort_oder,
-       tag_s,val_s;
-  string row_s[][],sort_s,sort_tbl[],key_s,filter_tag[],filter_var[],sign_s[],sV,sS,sT,firstc,
-         tag_s[][],val_s[][];
-  numeric row_cnt[],order[],order_tbl[],filter_sign[],filter_p[];
-  lines:=f_mcf:=mc_row:=info_cnt:=filter_cnt:=lib_unit_cnt:=0; unit_cnt:=1;
-  file_input:=default_library;
-  sign_s1:="="; sign_s2:="<>"; sign_s3:="<"; sign_s4:=">"; sign_s5:="<="; sign_s6:=">=";
-  %-----------------------------------------------------------------------------------------------
-  for list=s:
-    at_colon:=scan_c(":",list); at_equal:=scan_c("=",list); at_less:=scan_c("<",list);
-    at_greater:=scan_c(">",list); key_s:="";
-    %---------------------------------------------------------------------------------------------
-    if at_colon>=2:                               sign_at:=at_colon;   sign_n:=0; at_n:=1;
-    ef at_equal>=2:   if (at_equal-1)=at_less:    sign_at:=at_equal;   sign_n:=5; at_n:=2;
-                      ef (at_equal-1)=at_greater: sign_at:=at_equal;   sign_n:=6; at_n:=2;
-                      else:                       sign_at:=at_equal;   sign_n:=1; at_n:=1; fi
-    ef at_greater>=2: if (at_greater-1)=at_less:  sign_at:=at_greater; sign_n:=2; at_n:=2;
-                      else:                       sign_at:=at_greater; sign_n:=4; at_n:=1; fi
-    ef at_less>=2:                                sign_at:=at_less;    sign_n:=3; at_n:=1; fi
-    sT:=substring(0,sign_at-at_n) of list; sV:=substring(sign_at,length(list)) of list;
-    %---------------------------------------------------------------------------------------------
-    if sign_n=0:
-      if sT="f": if scan_c(".",sV)=0: file_input:=sV&".mcf";  else: file_input:=sV; fi
-      ef sT="a": key_s:=sV; sort_oder:=0;
-      ef sT="d": key_s:=sV; sort_oder:=1; fi
-    else:
-      filter_tag[incr filter_cnt]:=sT; filter_sign[filter_cnt]:=sign_n;
-      if (sign_n>=3)and(is_num(sV)=1): filter_var[filter_cnt]:=fix_num(sV);
-      else: filter_var[filter_cnt]:=sV; fi
-    fi
-  endfor
-  %-----------------------------------------------------------------------------------------------
-  forever:
-    temps:=readfrom file_input; exitif temps=EOF; firstc:=subc(1,temps);
-    if (firstc<>"%")or(sw_comment=1):
-      row_s[unit_cnt][incr lines]:=temps;
-      if firstc=";":
-        row_cnt[unit_cnt]:=lines; f_mcf:=lines:=0; filter_n:=1;
-        for i=1 upto filter_cnt: filter_p[i]:=0; endfor
-        sort_s:="";
-        for i=1 upto info_cnt:
-          get_tag_var(arg_s[i])(sT,sV);
-          tag_s[unit_cnt][i]:=sT; val_s[unit_cnt][i]:=sV;
-          if sT=key_s: if is_num(sV)=1: sort_s:=fix_num(sV); else: sort_s:=sV; fi fi
-          for j=1 upto filter_cnt:
-            if filter_tag[j]=sT:
-              filter_p[j]:=1;
-              if (filter_sign[j]>=3)and(is_num(sV)=1): temps:=fix_num(sV); else: temps:=sV; fi
-              if filter_sign[j]=1: if not(temps= filter_var[j]): filter_n:=0; fi
-              ef filter_sign[j]=2: if not(temps<>filter_var[j]): filter_n:=0; fi
-              ef filter_sign[j]=3: if not(temps< filter_var[j]): filter_n:=0; fi
-              ef filter_sign[j]=4: if not(temps> filter_var[j]): filter_n:=0; fi
-              ef filter_sign[j]=5: if not(temps<=filter_var[j]): filter_n:=0; fi
-              ef filter_sign[j]=6: if not(temps>=filter_var[j]): filter_n:=0; fi
-              fi
-            fi
-          endfor
-        endfor
-        for i=1 upto filter_cnt: if filter_p[i]=0: filter_n:=0; fi endfor
-        info_cnt:=0; lib_unit_cnt:=lib_unit_cnt+1;
-        if filter_n=1: if key_s<>"": sort_tbl[unit_cnt]:=sort_s; fi unit_cnt:=unit_cnt+1; fi
-      ef (firstc=":")or(firstc="="): f_mcf:=1; mc_row:=1;
-      ef (firstc<>"%")or(sw_comment=1):
-        if f_mcf=1: mc_row:=mc_row+1; else: info[unit_cnt]:=info_cnt:=split_str(temps,";")(arg_s);
-        fi
-      fi
-    fi
-  endfor
-  ucount:=unit_cnt:=unit_cnt-1;
-  %=============================================================================================
-  message "* Input  : "&file_input&" ["&decimal(lib_unit_cnt)&"]";
-  message "* Output : ucount ["&decimal(ucount)&"]";
-  if filter_cnt>=1:
-    for i=1 upto filter_cnt:
-      message "* Filter("&decimal(i)&"): "&filter_tag[i]&" "&sign_s[filter_sign[i]]&filter_var[i];
-    endfor
-    if key_s<>"": message "* Sort key : "&key_s&iif(sort_oder=0," (ascending)"," (descending)");
-    fi
-  fi
-  %-----------------------------------------------------------------------------------------
-  if key_s<>"":
-    for i=1 upto unit_cnt: order[i]:=0; endfor
-    for i=1 upto unit_cnt:
-      if sort_oder=0: temps:="~";
-        for j=1 upto unit_cnt:
-          if order[j]=0: if sort_tbl[j]<temps: temps:=sort_tbl[j]; min_n:=j; fi fi
-        endfor
-        order[min_n]:=i; order_tbl[i]:=min_n;
-      ef sort_oder=1: temps:=" ";
-        for j=1 upto unit_cnt:
-          if order[j]=0: if sort_tbl[j]>temps: temps:=sort_tbl[j]; max_n:=j; fi fi
-        endfor
-        order[max_n]:=i; order_tbl[i]:=max_n;
-      fi
-    endfor
-    %---------------------------------------------------------------------------
-    for i=1 upto unit_cnt:
-      for j=1 upto info[order_tbl[i]]:
-        lib_tag[i][j]:=tag_s[order_tbl[i]][j]; lib_val[i][j]:=val_s[order_tbl[i]][j];
-      endfor
-      unit_lines[i]:=row_cnt[order_tbl[i]];
-      for j=1 upto row_cnt[order_tbl[i]]: row[i][j]:=row_s[order_tbl[i]][j]; endfor
-    endfor
-    %-------------------------------------------------------------------------
-  else:
-    for i=1 upto unit_cnt:
-      for j=1 upto info[i]: lib_tag[i][j]:=tag_s[i][j]; lib_val[i][j]:=val_s[i][j]; endfor
-      unit_lines[i]:=row_cnt[i];
-      for j=1 upto row_cnt[i]: row[i][j]:=row_s[i][j]; endfor
-    endfor
-  fi
-  closefrom file_input;
-  endgroup;
-enddef;
-%=============================================================================================
-vardef fix_num(expr s)=
-  sS:=s; nN:=scan_c(".",sS);
-  if nN=0: sS:=fsr(4)(sS); ef nN=1: sS:="   0"&sS;
-  ef nN=2: sS:="   "&sS; ef nN=3: sS:="  "&sS; ef nN=4: sS:=" "&sS;
-  fi
-  sS
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef is_num(expr s)=
-  for i=1 upto length(s):
-    if ((subc(i,s)>="0")and(subc(i,s)<="9"))or(subc(i,s)="."): nN:=1; else: nN:=0; fi
-  endfor
-  nN
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef scan_bit(expr n,b)= if b>=1: odd(floor(n/b)) else: odd(floor((frac n)/b)) fi enddef;
-%-------------------------------------------------------------------------------------------------
-vardef scan_char(expr c,s,d,n)=
-  nN:=0;
-  if d=0:  for i=n upto length(s):   if subc(i,s)=c:  nN:=i; fi exitif nN>0; endfor
-  ef d=1:  for i=n upto length(s):   if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
-  ef d=-1: for i=length(s) downto n: if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
-  fi
-  nN
-enddef;
-%-------------------------------------------------------------------------------------------------
-def scan_c(expr c,s)= scan_char(c,s,0,1) enddef;
-%-------------------------------------------------------------------------------------------------
-vardef split_str(expr s,c)(suffix v)=
-  at_char[0]:=nN:=0; for i=1 upto length(s): if subc(i,s)=c: at_char[incr nN]:=i; fi endfor
-  nN:=nN+1; at_char[nN]:=length(s)+1;
-  for i=1 upto nN: v[i]:=substring (at_char[i-1],at_char[i]-1) of s; endfor
-  nN
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef get_tag_var(expr s)(suffix t,v)=
-  nN:=scan_c(":",s); t:=substring(0,nN-1) of s; v:=substring(nN,length(s)) of s;
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Added: trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf	                        (rev 0)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf	2024-11-20 22:09:01 UTC (rev 72915)
@@ -0,0 +1,2984 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% molecular library file    main_lib.mcf   by Akira Yamaji   2024.11.17
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%  must use version 5.14
+%  tag1:var1;tag2:var2;tag3:var3 .....
+%  first character of line "%" comment out
+%  first character of line ":"  start MCF
+%  first character of line "="  start parameter setting
+%  first character of line "*"  start ext(...)
+%  first character of line "+"  start add(...)
+%  first character of line ";"  stop MCF
+%  CAT = CATegory,EN = Name,MW = Molecular weight
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%==============================================================================
+CAT:-;EN:-;MW:0;EXA:-;
+=
+ sw_frame:=Atom;
+:
+<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
+*
+ defaultscale:=.5;
+ label.bot(decimal(fig_num)&":"&EN,(.5w,0));
++
+ defaultscale:=.3;
+ label.bot("A2",A2) withcolor red;
+ label.top("A6",A6) withcolor red;
+ label.top("A9",A9) withcolor red;
+;
+%==============================================================================
+CAT:biological;EN:Adenine;MW:135.13;EXA:1
+:
+<30,?6,3=?5,1'3'5'9=db,2'6'9:N,5:/NH2,7:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Guanine;MW:151.13;EXA:1
+:
+<30,?6,3=?5,1'3'9=db,2'9:N,6'7:NH,5:?O,1:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cytosine;MW:111.10;EXA:1
+:
+<30,?6,4'6=db,4:N,3:?O,2:NH,5:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Thymine;MW:126.11;EXA:1
+:
+<30,?6,3=db,2'6:NH,1'5:?O,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Uracil;MW:112.09;EXA:1
+:
+<30,?6,6=db,3'5:?O,2'4:NH
+;
+%== Amino acid ================================================================
+CAT:biological;EN:Glycine;MW:75.07;EXA:-
+:
+<30,NH2,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glycine;MW:75.07;EXA:-
+:
+<30,NH2,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Alanine;MW:89.10;EXA:-
+:
+<30,NH2,!wb,?!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Valine;MW:117.15;EXA:-
+:
+<30,NH2,!wb,/?!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Leucine;MW:131.16;EXA:1
+:
+<30,NH2,!wb,/!?!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Isoleucine;MW:131.16;EXA:-
+:
+<30,NH2,!wb,/?z'!2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Serine;MW:105.09;EXA:-
+:
+<30,NH2,!wb,/!OH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Threonine;MW:119.12;EXA:-
+:
+<30,NH2,!wb,/?'!w'OH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Cysteine;MW:121.16;EXA:-
+:
+<30,NH2,!wb,/!SH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Methionine;MW:149.21;EXA:-
+:
+<30,NH2,!wb,/!2'S!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Phenylalanine;MW:165.19;EXA:-
+:
+<30,NH2,!wb,/!Ph,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Tyrosine;MW:181.19;EXA:-
+:
+<30,NH2,!wb,/!Ph'(5:/OH),!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Triptophan;MW:204.21;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\,!,<24,|,?5,2=dr,5=dl,2=Ph,4:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Proline;MW:115.13;EXA:-
+:
+<18,?5,3:NH,4:*/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Glutamine;MW:146.15;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\`1,!`1,!,?O!,NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Asparagine;MW:132.12;EXA:-
+:
+<30,NH2,!wb,/!?O!'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Aspartic acid;MW:133.10;EXA:-
+:
+<30,NH2,!wb,/!COOH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Glutamic acid;MW:147.13;EXA:-
+:
+<30,NH2,!wb,/!2'COOH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Lysine;MW:146.19;EXA:-
+:
+<30,NH2,!wb,/!4'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Arginine;MW:174.21;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\`1,!`1,!2,NH!,?NH,!NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Hystidine;MW:155.16;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\,!,|,?5,1'3=dl,3:N,5:NH
+;
+%==============================================================================
+CAT:biological;EN:L-DOPA;MW:197.19;EXA:-
+:
+<30,NH2,!wb,/!Ph'(4'5:/OH),!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ornithine;MW:132.16;EXA:-
+:
+<30,NH2,!wb,/!3'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Citrulline;MW:175.2;EXA:-
+:
+<30,NH2,!wb,/!3'NH!'?O!'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:GABA;MW:103.12;EXA:-
+:
+<30,NH2,!4,COOH
+;
+%==============================================================================
+CAT:biological;EN:Citrate;MW:192.12;EXA:-
+:
+<30,COOH,!2,/COOH^30,/OH^-30,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:cis-Aconitate;MW:174.11;EXA:-
+:
+<30,COOH,!2,/COOH,!d,60,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Isocitrate;MW:192.12;EXA:-
+:
+<30,COOH,!4,COOH,3:!COOH,4:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Oxalosuccinate;MW:190.11;EXA:-
+:
+<30,COOH,!2,/COOH,!?O!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:-
+:
+<30,COOH,!3,?O!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Succinate;MW:118.09;EXA:-
+:
+<30,COOH,!3,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fumarate;MW:116.07;EXA:-
+:
+<30,COOH,!,!d,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Malate;MW:134.09;EXA:-
+:
+<30,COOH,!3,COOH,3:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Oxaloacetate;MW:132.07;EXA:-
+:
+<30,COOH,!,?O!2,COOH
+;
+%==============================================================================
+CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
+:
+<30,?6,5:O,2:*/OH,1'3:/*OH,4:*/*OH,6:*/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glucose 2;MW:180.16;EXA:1
+:
+<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,?O!,H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Glucose;MW:180.16;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fructose 1;MW:180.16;EXA:1
+:
+<30,OH,!2,/*OH,!,*/OH,!,*/OH,!,?O!2,OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fructose 2;MW:180.16;EXA:1
+:
+<-18,?5,5:O,1^-48:*/*!OH,1^48:/OH,*2'3:*/OH,4:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Fluctose;MW:180.16;EXA:1
+:
+Pyranose_hp,#.5,1^$-90:/OH,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Galactose;MW:180.16;EXA:1
+:
+hexose_hp,#.5,{1^$90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Mannose;MW:180.16;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Fucose;MW:164.16;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$-90'3^$90'4^$90}:/OH,6^$-90:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Ribose;MW:150.13;EXA:1
+:
+Pyranose_hp,#.5,{2^$-90'3^$-90'4^$90}:/OH,1^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Deoxyribose;MW:134.13;EXA:1
+:
+Pyranose_hp,#.5,{2^$-90'4^$90}:/OH,1^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Glucosamine;MW:179.17;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'4^$-90}:/OH,3^$-90:/NH2,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:N-acetyl-Glucosamine;MW:221.21;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'4^$-90}:/OH,3^$-90>lr:/NH!'?O!,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glucuronic acid;MW:194.14;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Maltose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sucrose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
+ |,#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##,
+ #.5,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Lactose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$0~arc_ltr,O,$0~arc_lbr,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cellobiose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$0~arc_lbr,O,$0~arc_ltr,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Trehalose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,@(1,0),|,hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ ||, at 4,$-37~arc_lb`3.25,O,&10~arc_br
+;
+%==============================================================================
+CAT:biological;EN:Geraniol;MW:154.25;EXA:1
+:
+<30,!8,OH,2'6=dr,2'6:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Limonene;MW:136.24;EXA:-
+:
+<30,?6,2=dl,2:/_,5:*/?!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
+:
+<30,?6,2:/*?!,5:*/_,3:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Allicin;MW:162.28;EXA:1
+:
+<-30,!d,!2,S?O,!,S,!2,!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzoic acid;MW:122.12;EXA:-
+:
+<30,Ph,3:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Gallic acid;MW:170.12;EXA:-
+:
+<30,Ph,3:/COOH,1'5'6:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Salicylic acid;MW:138.12;EXA:-
+:
+<30,Ph,3:/COOH,4:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cinnamic acid;MW:148.16;EXA:-
+:
+<30,Ph,3:/!dr'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cinnamaldehyde;MW:132.16;EXA:-
+:
+<30,Ph,3:/!dr'!CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Caffeic acid;MW:180.16;EXA:1
+:
+<30,Ph,1'6:/OH,3:/!d'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Vanillin;MW:152.15;EXA:1
+:
+<30,Ph,1:/OH,6:/O!,4:/CHO
+;
+CAT:biological;EN:alfa-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6:/_,3'5=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:beta-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6://_,3=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6:/_,3'6=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:delta-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3://?!,6:/_,5=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Eugenol;MW:164.20;EXA:-
+:
+<30,Ph,1:/OH,6:/O!,4:/!'!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Thymol;MW:150.22;EXA:-
+:
+<30,Ph,4:/OH,3:/?!,6:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Anisaldehyde;MW:136.15;EXA:-
+:
+<30,Ph,4:/CHO,1:/O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzaldehyde;MW:106.12;EXA:-
+:
+<30,Ph,4:/CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Nonalactone;MW:156.23;EXA:-
+:
+<18,?5,2:O,1:?O,3^-12:/!4
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Undecalactone;MW:184.27;EXA:-
+:
+<18,?5,2:O,1:?O,3^-12:/!6
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Muscone;MW:238.40;EXA:-
+:
+<-72,#1,60,-48,60,60,-48,60,60,-48,60,60,-48,60,60,-48,##,&1,9:?O,7:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:alfa-Pinene;MW:136.24;EXA:-
+:
+<30,?6,3:??,5:/_,5=db, at 2,180~zf`1,&4~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:beta-Pinene;MW:136.24;EXA:-
+:
+<30,?6,3:??,5://_, at 2,180~zf`1,&4~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Neral;MW:152.24;EXA:-
+:
+<30,!?,!d,!3,?,!d,-60,CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Geranial;MW:152.24;EXA:-
+:
+<30,!?,!d,!3,?,!d,!,CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:p-Cymene;MW:134.21;EXA:-
+:
+<30,Ph,4:/?!,1:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzyl-acetate;MW:150.18;EXA:-
+:
+<30,Ph, at 4,\,?O!,O!,!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzyl-benzoate;MW:212.25;EXA:-
+:
+<30,Ph,4:/!O!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Stearic acid;MW:284.48;EXA:1
+:
+<30,!17,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Linoleic acid;MW:280.45;EXA:1
+:
+<30,!5,-30,-30,!,-30,-30,!7,COOH,6'9=dr
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sphingosine;MW:299.50;EXA:1
+:
+<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Tocopherol;MW:430.717;EXA:1
+:
+<30,Ph,3=?6,7:O,1'2'5:/_,8:/*_^60,6:/OH, at 8,\,|,!12,4'8:/*_,12:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Thiamine;MW:265.35;EXA:1
+:
+<30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,-1'-4=dl,1'5'8:N,11:S,6'9:/_,
+ -3^-12:/!2'OH,8:p_^72
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Riboflavin;MW:376.37;EXA:1
+:
+<30,Ph,3'9=?6,8'16=dl,7'10'14:N,12:NH,11'13:?O,1'6:/_,
+ @10,\`1.5,!,*/OH,!,/*OH,!,*/OH,!2,OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotinic acid;MW:123.11;EXA:1
+:
+<30,Ph,2:N,4:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotinamide;MW:122.12;EXA:1
+:
+<30,Ph,2:N,4:/?O'!NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pantothenic acid;MW:219.23;EXA:1
+:
+<30,OH,!8,COOH,3:??,4^35:/*H,4^-20:*/OH,5:?O,6:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyridoxine;MW:169.18;EXA:1
+:
+<30,Ph,2:N,3:/_,4:/OH,5'6:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Biotin;MW:244.31;EXA:1
+:
+<18,?5,4=?5,2:S,6'8:NH,7:?O,{4^-54'5^54}:*/H,3^-12:/*!4'COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Folic acid;MW:441.3975;EXA:1
+:
+<30,?6,3=Ph2,1=dl,2'7'10:N,6:NH,5:?O,1:/NH2,
+ @9,\,!NH!,Ph, at -3,\,?O,!NH!,/*COOH,!3,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Carotene;MW:536.8726;EXA:1
+:
+<30,?6, at 4,\,!18,?6,
+ 8'10'12'14'16'18'20'22'24=dr,5'9'13'18'22'-5:/_,4'-6=dl,3'-1:??
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Adrenalin;MW:183.21;EXA:1
+:
+<30,Ph,1'6:/OH, at 4,\,*/OH,!2,NH!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Caffeine;MW:194.194;EXA:1
+:
+<30,?6,3=dl,1'5:?O,-4=?5,-3=dl,7:N,2'6'9:N?
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotine;MW:162.23;EXA:1
+:
+<30,Ph,2:N,4:/?5'(2:N?)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Capsaicin;MW:305.418;EXA:1
+:
+<30,Ph,1:/OH,6:/O!, at 4,\,!NH!,?O,!7,?!,-3=dl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Gibberellin A3;MW:346.379;EXA:1
+:
+<18,?5,3=?7,5=?6[12], at 8,160`1.3,&3,13=dl,6=wf,8=wb,
+ @5,40~zf`1,O,50,?O^180,&14~zb,2:/COOH,7://_,*8'13:*/OH,14:*/_,1'4:*/H^60
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cholesterol;MW:386.664;EXA:1
+:
+<30,?6,-4'-2=?6,-4=?5,7=dl,
+ 1:*/OH,4'12:*/_^60,{*9^60'10^180'11^-60'-1^-60}:/*H, at -1,17,/*_,!4,?!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Resveratrol;MW:228.24;EXA:1
+:
+<30,Ph, at 4,\,!d,!Ph,2'6'-3:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glutathione;MW:307.33;EXA:1
+:
+<-30,COOH,!,/*NH2,!3,?O,!NH!,*/!SH,!,?O!,NH,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Trenbolone;MW:270.37;EXA:1
+:
+<30,?6,3'10=?6,13=?5,2'11'15=dl,1:?O,12:*/_^60,-1:/*OH,{9^60'*11^-60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Luciferin;MW:280.33;EXA:1
+:
+<30,Ph,3=?5, at 8,\,?5,9'16=dl,9'14:N,7'11:S,1:/OH,-2:*/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Chlorophyll a;MW:893.509;EXA:1
+:
+<-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,
+ 4'6'8'10'14'16'18'21'23'27=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23,
+ 4'11'17'23:N,{1~zf'9'15'21}:/_,14:/!,20:/!d,25:/*?O!'O!,26:?O,
+ @2,*\^-6,!2,?O!,O!2,!d,|,!13,1'5'9'13:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Alizarin;MW:240.21;EXA:1
+:
+<30,Ph,3=?6,-3=Ph2,7'10:?O,13'14:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Indigo;MW:262.26;EXA:1
+:
+<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:6,6'-dibromoindigo;MW:420.0549;EXA:1
+:
+<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O,1'-2:/Br
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Carminic Acid;MW:492.39;EXA:1
+:
+<30,Ph,3=?6,-3=Ph2,7'10:?O,2'5'6'13:/OH,11:/_,12:/COOH,
+ @1,\~wb`1,?6,-5:O,-1'*-2'-3:/*OH,-4:*/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Curcumin;MW:368.38;EXA:1
+:
+<30,Ph, at 3,\,!7,Ph,8'13=dr,9'11:?O,6'-3:/OH,5'-4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Berberine;MW:336.36;EXA:1
+:
+<30,Ph,3=Ph,-3=?6,-2=Ph2,-3=?5,8:N,8:p_^60,-1'-3:O,{1>vt'2}:/!OH
+;
+%==============================================================================
+CAT:biological;EN:Apigenin;MW:270.24;EXA:-
+:
+<30,Ph,2'6:/OH,3=?6,9=dl,10:O,7:?O,9:/Ph'(-3:/OH)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Luteolin;MW:286.24;EXA:-
+:
+<30,Ph,2'6:/OH,3=?6,9=dl,10:O,7:?O,9:/Ph'(-2'-3:/OH)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Flavone;MW:222.24;EXA:1
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Isoflavone;MW:222.24;EXA:-
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,8:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Flavanone;MW:224.25;EXA:-
+:
+<30,Ph,3=?6,10:O,7:?O,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Flavonol;MW:238.24;EXA:1
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,8:/OH,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cianidanol;MW:290.27;EXA:1
+:
+<30,Ph,3=?6, at 8,*\,Ph,7:O,{1'5'9~zf'13'14}:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Quercetin;MW:302.24;EXA:1
+:
+<30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7:?O,2'6'8'13'14:/OH
+;
+%==============================================================================
+CAT:biological;EN:Limonin;MW:470.518;EXA:1
+:
+<30,?6,-3'-4=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,13'15'17'20:O,
+ 3'12'21:?O,{4^60'*8^60}:*/_,18:??,{1^60'5^180'16^60}:/*H,
+ @14,\*,|,?5,1'4=dl,3:O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cromolyn;MW:468.37;EXA:1
+:
+<30,Ph,|,-1=?6,3=dl,1:O,4:?O,2:/COOH,
+ @$2,\,O!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1:?O,3:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Emetine;MW:480.649;EXA:1
+:
+<30,Ph,-4'-4=?6,8:N,1'6:/O!,-2:/*!,{7^-60'12^-60}:/*H,
+ @-3,\,!zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,2'4=dl,-2'-3:/O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Acronycine;MW:321.376;EXA:1
+:
+<30,Ph,|,-4=?6,1:N?,4:?O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Piperine;MW:285.343;EXA:1
+:
+<30,Ph,-1=?5,-1'-3:O, at 4,\,!d,!,!d,!,?O!,?6,-6:N
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Febrifugine;MW:301.34;EXA:1
+:
+<30,Ph,3=?6, at 9,8=dl,\,!2,!zb,?6,7'9:N,-5:NH,10'12:?O,-1:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Hypericin;MW:504.44;EXA:1
+:
+<30,Ph,{-4'-3'11--4'16---17'19'23---24'22--29}=?6,
+ 12'14'16'17'*22'24'26'28'33'35=dl,
+ 7'25:?O,13'26:/_,2'6'11'21'23'28:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Camphor;MW:152.23;EXA:1
+:
+#1,15,-30,90,90,30,##,&1, at 2,0~si_`1.6,&5,{-1^45'-1^-65'5^-45}:/_,4:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sparteine;MW:234.3803;EXA:1
+:
+<30,?6,3=?6,9=wf,10=wb, at 8,#1,60,60,N,60,##,&10,-3=?6,3:N,{4^60'*11^-60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Mitomycine C;MW:334.332;EXA:1
+:
+<30,?6,3'6=dl,2'5:?O,1:/_,-4=?5,-3:N,
+ 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,8:/*O!^35,@$9,\,!,O,60,?O!,NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
+:
+<0,?5,2'5:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3:?O,
+ @10,\*,Ph,-2'-3'-4:/O!,13:/*OH,{11^-60'*12^60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Warfarin;MW:308.333;EXA:1
+:
+<30,Ph,3=?6,8=dl,10:O,7:/OH,9:?O, at 8,\,/Ph`1,60,!,?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Genistein;MW:270.24;EXA:1
+:
+<30,Ph,3=?6,9=dl,10:O,2'6:/OH,7:?O,8:/Ph'(-3:/OH)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Baicalein;MW:270.24;EXA:1
+:
+<30,Ph,3=?6,9=dl,10:O,1'2'6:/OH,7:?O,8:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Reserpine;MW:608.688;EXA:1
+:
+<54,Ph,3=?5,-2'-4'-3=?6,9=dl,11:N,7:NH,{*10^-60'15^-60'16^60}:/*H,
+ @20,*\,O!,?O,!Ph,{-2'-3'-4'1'19~zf>rl}:/O!,18:*/?O!'O!>lr
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Rotenone;MW:394.423;EXA:1
+:
+<-60,?5,-3'-2'-3'-4=?6,*3'7'9'*17'-2'-4=dl,
+ 2'13'16:O,10:?O,{11^-60'12^60}:*/H,-2'-3:/O!,1:*/?!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyrethrin I;MW:328.452;EXA:1
+:
+<30,?3,{3^35'*3^-35}:*/_, at 1,*\,!d,?!,
+ @2,\*,?O!,O,-36~zb,|,?5,-2=dl,-1:/_,-3:?O, at -2,\,!4,-1'-3=dl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Oseltamivir;MW:312.40;EXA:1
+:
+<30,?6,3=dl,6:*/NH2, at 1,\*,NH!,?O!, at 2,*\,O!,/!,!2,4:/?O!'O!2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Paclitaxel;MW:853.918;EXA:1
+:
+?6,5=dl, at 3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
+ 4:??,6:/_,{3^-60'15}:*/OH,8^-60:/*H,9^60:*/_,10:?O,
+ @1,\,O!,?O!,*/OH,!,/Ph,60~wf,NH,-60,?O,60,Ph,
+ @7,\*,O,-45,?O,60,Ph,{11>rl'*12^-15>lr}:*/O!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Mevastatin;MW:390.52;EXA:1
+:
+<30,?6,2=dl,4^60:*/H,-4=?6,-4=dl,9:*/_,
+ @10,*\,!,60~wb,?6,6:O,-2:?O,-4:/*OH, at 5,\*,O,60,?O!,*/_,!2 
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sesamine;MW:354.35;EXA:1
+:
+<54,?5,1=?5,4'7:O,{1^-54'2^54}:*/H,
+ 5^-12:*/Ph'(4=?5)'(7'9:O),8^-12:*/Ph'(4=?5)'(7'9:O)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Morphine;MW:285.343;EXA:1
+:
+<30,Ph,2'-4=?6,1---12=?5,-1:O,-1=zb,
+ @7,60~wf`0.75,70~si_`1.3,45,N?,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Quinine;MW:324.424;EXA:1
+:
+<30,Ph,3=Ph,7:N,6:/O!,
+ @10,\,*/OH,/*H^-60,!,|,?6,2:N,1^60:*/H, at 4,*\,!d, at 2,165~zf,60,&5~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Atoropin;MW:289.375;EXA:1
+:
+<30,O!,?O!2,Ph,@$1,\~zb^-60,|,?7`1.1, at 6,*\^190`1.25,N?,&3~wb,$3:/!OH~wv 
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Colchicine;MW:399.443;EXA:1
+:
+<30,Ph,1'2'6:/O!,-4'-5=?7,-1'-4'-6=dl,-2:?O,-3:/O!,9:/NH!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Lycorine;MW:287.315;EXA:1
+:
+<30,Ph,-4'-2=?6,6'(9--12)=?5,13=dl,8:N,15'17:O,{*9^180'10^60}:*/H,13'*14:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ibotenic acid;MW:158.113;EXA:1
+:
+<18,?5,4=dl,3:O,2:NH,1:?O,4^-24:/?NH2'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Illudin S;MW:264.3;EXA:1
+:
+<30,?6,3=?5,6:**?3,4'7=dl,2:?O,5:/_,{1^35'8^35}:*/_,{*1^-35'9}:*/OH,8^-35:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Muscarine;MW:174.26;EXA:1
+:
+<18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Psilocybin;MW:284.248;EXA:1
+:
+<30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,?O^-45,/OH^45,90,OH,7:/!2'N?!>lr
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Tetrodotoxine;MW:319.27;EXA:1
+:
+#1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4,
+ @10,\,O,60`1.33,60,&$3~si_, at 8,-15~si_,O,&12,##,
+ @9,45,-60,OH,1^120://NH,{5~zf^-15'7'9^-75'12'13~zf}:/OH,2:NH,6^180:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin B1;MW:312.27;EXA:1
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,{15^-54'16^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin B2;MW:314.3;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,2:/O!,8'11:?O,{15^-54'16^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin G1;MW:328.27;EXA:2
+:
+<30,Ph,6=?6,-2=?6,4=?5,-2=?5,-2'10=dl,7'12'15'18:O,
+ 2:/O!,8'11:?O,{16^-54'17^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin G2;MW:330.29;EXA:-
+:
+<30,Ph,6=?6,-2=?6,4=?5,-2=?5,10=dl,7'12'15'18:O,
+ 2:/O!,8'11:?O,{16^-54'17^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin M1;MW:328.3;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin M2;MW:330.29;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ochratoxin A;MW:403.813;EXA:1
+:
+<30,Ph, at 4,\,!,/*COOH,!`1.2,NH,!`1.2,?O!,
+ Ph,-2:/Cl,-5:/OH,-4=?6,-3:O,-2:*/_,-4:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Deoxynivalenol;MW:296.32;EXA:1
+:
+<30,?6,3=?6,5=dl,1:?O,6:/_,-1:O,{*4^60'-2}:*/H,7^30:*/_, at 7,72`.9,80`1.3,&9,
+ @8,?3,-3=wf_,-1=si_,-1:O,{2'12^18}:/*OH,3^-60`1:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Patulin;MW:154.12;EXA:1
+:
+<30,?6,3=?5,2'10=dl,6'7:O,5:/OH,8:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Citrinin;MW:250.247;EXA:1
+:
+<30,?6,3=?6,2'5'11=dl,9:O,1:?O,2:/_,7'*8:*/_,5:/OH,6:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Zearalenone;MW:318.364;EXA:1
+:
+<30,Ph, at 3,#1,\,!5,60,60,!4,&4,##,1'5'8=dl,17:O,16:*/_,1'5:/OH,12'18:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fumonisin B1;MW:721.83;EXA:1
+:
+<30,!19, at 6,*\,O!,?O!2,/COOH,!2,COOH, at 7,\*`1.2,O!,?O!2,/COOH,!2,COOH,
+ 5'9:/*_,11'16'*18:*/OH,19:/*NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Dicumarol;MW:336.295;EXA:-
+:
+<30,Ph,3=?6, at 8,\`1.5,!`1.5,?6,-4=Ph2,8'14=db,10'16:O,9'17:?O,7'13:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Dihydroxybergamotin;MW:338.40;EXA:-
+:
+<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,/OH,!,??,!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Bergamotin;MW:338.40;EXA:-
+:
+<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,!d,?!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Alkannin;MW:288.29;EXA:-
+:
+<30,Ph,3=?6,9=db,2'5:/OH,7'10:?O, at 8,\,/*OH,!2,!d,?!
+;
+%==============================================================================
+CAT:synthetic;EN:Benzene;MW:78.11;EXA:-
+:
+<30,Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Phenol;MW:94.11;EXA:-
+:
+<30,Ph,3:/OH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Aniline;MW:93.13;EXA:-
+:
+<30,Ph,3:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Picric acid;MW:229.10;EXA:-
+:
+<30,Ph,1'3'5:/NO2,2:/OH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Hexaphenylbenzene;MW:534.6876;EXA:1
+:
+<30,Ph,1'2'3'4'5'6:/Ph
+;
+%==============================================================================
+CAT:synthetic;EN:Naphthalene;MW:128.17;EXA:1
+:
+<30,Ph,3=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Anthracene;MW:178.23;EXA:1
+:
+<30,Ph,3'6=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:1
+:
+<30,Ph,4'6=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:1
+:
+<30,Ph,6'3'-3=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Chrysene;MW:228.3;EXA:1
+:
+<30,Ph2,6'4'-4=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Pyrene;MW:202.25;EXA:1
+:
+<30,Ph2,6'4=Ph,16---7=?6,-2=dl
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Coronene;MW:300.35;EXA:1
+:
+<30,Ph,{1'11--2'15--3'19--4'23--5'27---7}=?6,9'12'14'17'20'22'25'28'30=dl
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Kekulene;MW:600.7;EXA:1
+:
+<30,?6,{3'-3'-2'-3'-2'-3'-2'-3'-2'-3'-2----5'5---- -4}=?6,
+ 1'*5'7'9'11'13'17'19'21'23'27'29'31'33'37'39'41'43'47'49'51'53'57'60=dl
+;
+%==============================================================================
+CAT:synthetic;EN:12-Crown-4;MW:176.21;EXA:-
+:
+<-180,O,30,60,60,O,-30,60,60,O,-30,60,60,O,-30,60,&1
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:15-Crown-5;MW:220.26;EXA:2
+:
+<-180,O,48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,&1
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:18-Crown-6;MW:264.32;EXA:1
+:
+<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,&1
+;
+%==============================================================================
+CAT:synthetic;EN:Porphyrin;MW:310.4;EXA:1
+:
+<9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##,
+ 1'4'6'8'10'14'16'18'21'23'27=dl,4'17:N,11'23:NH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Sulflower;MW:448.69;EXA:1
+:
+<67.5,?8,1'3'5'7=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,
+ @17,30`1.15,&18, at 20,30`1.15,&9,9'12'13'16'17'20'21'24=dl,
+ 10'13'16'19'21'22'23'24:S
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Arsphenamine x5;MW:915.2;EXA:1
+:
+<18,?5,1'2'3'4'5:As,1'2'3'4'5:/Ph'(3:/NH2)'(4:/OH)
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
+:
+<30,Ph,2'4'6:N,1'3'5:/NH2
+;
+%==============================================================================
+CAT:synthetic;EN:Tartrazine;MW:534.3;EXA:1
+:
+<30,Ph,1:/SO3Na, at 4,\,N,!d,N,!,<-12,?5,-2'-5=dl,-2'-3:N,-1:/COONa,-4:/OH,
+ -3:/Ph'(4:/SO3Na)
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse yellow 3;MW:269.30;EXA:1
+:
+<30,Ph,2:/_,5:/OH, at 4,\,N,!d,N,!Ph,-3:/NH!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse orenge 30;MW:450.27;EXA:1
+:
+<30,Ph,1:/NO2,3'5:/Cl, at 4,\,N,!d,N,!Ph, at -3,\,N,/!2'CN,!3,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 65;MW:371.82;EXA:1
+:
+<30,Ph,1:/NO2,3:/Cl, at 4,\,N,!d,N,!Ph,-1:/_, at -3,\,N,/!2'CN,!2
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
+:
+<30,Ph,3'9=?6,8'13'16=dl,10:O,-2:?O,1'5'12'14:/I, at 7,\,Ph,-1:/COOH,6:/OH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Sudan red 1;MW:248.28;EXA:1
+:
+<30,Ph,1=Ph,4:/OH, at 3,\,N,!d,N,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Basic blue 1;MW:319.86;EXA:1
+:
+<30,Ph,3=Ph,6=Ph,2:S,5:N,8'13:/N?!,2:p_, at 2,@(3.5,1.5),Cl,n_^15
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 11;MW:268.274;EXA:1
+:
+<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,-2:/O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 60;MW:331.326;EXA:1
+:
+<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,-2:/O!'Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse violet 26;MW:422.438;EXA:1
+:
+<30,Ph,3=?6,-3=dr,9=Ph,7'10:?O,-1'-4:/NH2,{-2>-30'-3>30}:/O!'Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Vat blue 1;MW:262.27;EXA:1
+:
+<30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,7'14:NH,9'11:?O
+;
+%==============================================================================
+CAT:antibiotics;EN:Amoxicillin;MW:365.4042;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!,*/NH2,!Ph,-3:/OH
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Ampicillin;MW:349.405;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??, 
+ @4,*\^15,NH!,?O!,/*NH2,!Ph       
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Penicillin G;MW:334.4;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!2,Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Penicillin V;MW:350.3895;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!2,O,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,N,!d,!,?7,-7:N
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Nafcillin;MW:414.4748;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O,!Ph,-2=Ph,-9:/O!2  
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Oxacillin;MW:401.4363;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_, at -1,-24,Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cloxacillin;MW:435.8813;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_, at -1,-24,Ph,-5:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Dicloxacillin;MW:470.3264;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,NH!,?O!,<-24,?5,-2'-5=dl,-2:N,-3:O,-4:/_,-1^-24:/Ph'(2'6:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefalexin;MW:347.3889;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,6:/_,
+ @4,*\^15,NH!,?O!,*/NH2,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefalonium;MW:458.5107;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15, at 5,\*,?O!,O,n_^40,
+ @4,*\^15,NH!,?O!2,?5,-1'-3=dl,-4:S,
+ @6,\,!,|,Ph,1:N,1:p_^180,4:/?O!'NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefazorin;MW:454.51;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
+ @4,*\^15,NH!,?O!2,?5,-2'-4=dl,-1'-2'-3'-5:N,
+ @6,\,!,S,!,?5,-3'-5=dl,-1:S,-2:/_,-3'-4:N
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefoperazone;MW:645.67;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
+ @4,*\^15,NH!,?O!,/*Ph'(4:/OH),!NH!,?O!,?6,-3'-6:N,-4'-5:?O,-3:/!,
+ @6,\,!,S,!,?5,-3'-5=dl,-1:/_,-1'-2'-3'-4:N,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefquinome;MW:528.6;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15, at 5,\*,?O!,O,n_^40,
+ @4,*\^15,NH!,?O!,//N!'O!,!,?5,-2'-5=dl,-3:S,-1:N,-2:/NH2,
+ @6,\,!Ph,-2=?6,-10:N,-10:p_^180
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Ceftiofur;MW:523.5626;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
+ @4,*\^15,NH!,?O!,//N!'O!,!,?5,-2'-5=dl,-3:S,-1:N,-2:/NH2,
+ @6,\,!,S,!,?O!,?5,-1'-3=dl,-4:O
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Cefuroxime;MW:424.3852;EXA:1
+:
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1:?O^15,5:/*COOH,
+ @4,*\^15,NH!,?O!,//N!'O!,!,?5,-1'-3=dl,-4:O, at 6,\,!O!,?O!,NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
+:
+<30,?6,3=?6,2'10:O, at 1,\*,O,60~zb,?6, at 9,\*,O,-60~zb,?6,-5:O,
+ 7'13'*14'*-1'-2:*/OH,*6'15'17'*-3:*/NH2,8:*/NH!^-20,
+ -4:*/!OH,{*3^-60,4^60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Gentamycin;MW:477.596;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\*,O,0~zb,?6,-5:O,2'4'*20:*/NH2,6:*/OH,
+ 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:*/?!'NH!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Kanamycin;MW:484.499;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
+ 2'4'12:*/NH2,*6'11'13'18'*19,20:/*OH,10:*/!OH,17:*/!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Neomycin;MW:614.644;EXA:1
+:
+<30,?6,3:O,2:/*!NH2,1'*6:*/OH,5:*/NH2,
+ @4,*\,O,!wb,?6,{-3,-5^15}:/*NH2,-2:*/OH^-15,
+ @-1,\*,O,-72~wb,?5,-4:O,-1:/*OH>vt,-3:*/!OH>vt,
+ @-2,\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2'*-3:*/OH,-4:/*!NH2>60
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Streptmycin;MW:581.574;EXA:1
+:
+<54,?5,3:O,4:/*_,5:/OH^45, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+  5:/!dO^-48,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
+  {17^-18'19}:*/NH!'?NH'!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Streptmycin-H2O;MW:599.574;EXA:-
+:
+<54,?5,3:O,4:/*_,5:/OH^60, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+  @5,-18,/OH^15,45,OH,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
+  {17^-18'19}:*/NH!'?NH'!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:dihydro-Streptmycin;MW:583.574;EXA:1
+:
+<54,?5,3:O,4:/*_,5:/!OH^-48,5:/*OH^35, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+ 10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,{17^-18'19}:*/NH!'?NH'!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Spectinomycin;MW:332.35;EXA:1
+:
+<30,?6,3'9=?6,7=zf,11=wb,7'10'14:O,9^60:*/H,11:?O,{1'*5'8^-60}:*/OH,
+ 13:/*_,2'6:*/NH!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tobramycin;MW:467.51;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
+ 2'4'12'*20:*/NH2,*6'11'13'18:/*OH,10:*/!OH,17:*/!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Spiramycin;MW:843.1;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,{1'10^-30}:/*_,5:/*OH,3:?O,6:/*O!>vt,8:/*!'!dO,
+ @-6,\*^-30,O,!wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
+ @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35'-3}:*/OH,{-2^-35'-4}:/*_,##,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Neospiramycin;MW:698.9;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,{1'10^-30}:/*_,5:/*OH,3:?O,6:/*O!>vt,8:/*!'!dO,
+ @-6,\*^-30,O,!wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
+ @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-4:*/_,-1'-3:/*OH,##,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Josamycin;MW:827.995;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,1:/*_,3:?O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*O!'?O!^-25,8:/*!'!dO,
+ @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35'-4}:/*_,##,
+   @-3,*\,O,60,?O,60,-60,/_,!,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Leucomycin A5;MW:771.942;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,1:/*_,3:?O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*OH,8:/*!'!dO,
+ @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35'-4}:/*_,##,
+   @-3,*\,O,60,?O,60,-60,60,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Erythromycin;MW:733.93;EXA:1
+:
+<30,#1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,##,&1,
+ 14:O,13:/*!,1'9:?O,{*2'4'6^-35'8'*10'12^35}:/*_,
+ {6^35'11'12^-35}:*/OH,
+ @$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf'3^35}:/_,4:/*OH,3^-35:/*O!,##,
+ @$5,\*^30`1.7,O,!zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Emamectine;MW:886.133;EXA:1
+:
+<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
+ @5,#1.04,6,?O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,##,&7,
+ -1'-3'-7=dl,-11--(-10)=?6, at -2,?6,-6=wf,-1=zb,-5=dl,
+ -1'-6:O,-3:*/_, at -2,\,*/_,!2,
+ 17:/_,19:/*_, at 18,\,O!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
+ @-3,\,O,60,?6`.7,-5:O,#.5,-4:*/_,-3:/*NH!,-2:*/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Spinosad;MW:731.968;EXA:2
+:
+<30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##,
+ 5=?5,-1=dl,{-2^60'-3^-35}:/*H,-3=?6,-4=dl,
+ {-1^35'*-2^-60}:*/H,-2=?5,2:O,{3^25,7^-25}:?O,1:*/!,
+ @-2,\*,O,66~zb,?6`.7,-1:O,#.5,-2:*/_,{*-3'-4'-5}:*/O!,8:*/_,5^-65:*/H,##,
+ @9,\*,O,!zb,|,?6`.7,6:O,#.5,5:/*_,4:*/N?!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Natamycin;MW:665.733;EXA:1
+:
+<-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
+ 60,60,-60,60,-60,60,-60,60,60,-60,&1,##,12--13=?6,
+ 2'4'6'8'20=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
+ 18=?3,-1=wb,-2=wf,-1:O,22:?O,24:*/_,{14^60'16}:*/OH,
+ @10,*\^15,O,90,?6`.7,-1:O,#.5,-3'*-5:*/OH,-4:/*NH2,-2:/*_
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tylocin;MW:916.10;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,1:/*!,5:/*OH,3:?O,10:/*_,6:/*_,-6:?O,-3:/_,8:/*!'!dO,
+ @-1,*\,-60,O,0~wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/*O!,##,
+ @7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+   @-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35'-3}:*/OH,{-2^-35'-4}:/*_,##,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tilmicosin;MW:869.133;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ 12'14=dl,2:O,1:/*!,5:/*OH,3'11:?O,6'10:/*_,14:/_,
+ @-1,*\,-60,O,0~zb,?6`.7,-5:O,#.5,-1'-2:*/O!,-3:*/OH,-4:/*_,##,
+ @7,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1'-3:/*OH,-4:*/_,##,
+ @8,\*,!2,?6`.7,-6:N,#.5,-2'-4:*/_
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Mirosamicin;MW:727.8791;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ @8,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+ 5'13=dl,15=?3,-2=wf,-1=wb,-1:O,3:O,2:/*!,4'12:?O,7'9'*11:*/_,1:/*OH^-80,
+ @1,*\,!,O,!wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Chlortetracyclin;MW:478.88;EXA:1
+:
+<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,2:/Cl,
+ {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Oxytetracyclin;MW:460.434;EXA:1
+:
+<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,11:*/OH,
+ {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tetracyclin;MW:444.435;EXA:1
+:
+<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_^-35,
+ {5'7~zf^35'13~wf^60'14'16}:/OH,15:*/N?!,17:/?O!'NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Doxycyclin;MW:444.43;EXA:1
+:
+<30,Ph,-4'-3'-3=?6,16'19=dl,10'18:?O,7:*/_,
+ {5'13~wf^60'11~wf'14'16}:/OH,15:*/N?!,17:/?O!'NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tiamulin;MW:493.74;EXA:1
+:
+<-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
+ {3^-45'5'8}:*/_, at 3,\*^30,!d,4:/*OH,11:?O,7:*/H^60,
+ @1,15,O!,?O!2,S,60,60,-60,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
+:
+<30,Ph,6:/_^30,5:/OH,-6=?5,-3:O,-8=?6,-2'-4=dl,-1'-4:/OH,
+ #1, at -2,\,NH,60,-60,60~dl,60,60~dl,-60,
+ 60,-60,60,60,-60,60,-53,66,-53~dl,66`1.2,O,##,&$8,
+ ||,9'15:?O,16:/_,{20'24^30}:*/_,21'23:/*OH,{8^60'22'26^30}:/*_,
+ -4:/*O!, at -6,-30,O!,?O!,@$11,\,!d,N,!,|,?6,1:N,4:N?
+;
+%==============================================================================
+CAT:pesticide;EN:BHC;MW:290.83;EXA:1
+:
+<30,?6,1'*2'3'4'*5'6:*/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:pp-DDT;MW:354.49;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:op-DDT;MW:354.49;EXA:-
+:
+<30,Ph,4:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:pp-DDD;MW:320;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,/?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:pp-DDE;MW:318;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,//?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:XMC;MW:179.2;EXA:-
+:
+<30,Ph,1'5:/_, at 3,\,O!,?O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Acrinathrin;MW:541.45;EXA:1
+:
+<-30,?3,{2^-35,*2^35}:*/_,
+ @1,\,!d,!,?O,!O!,/?F?F!F,!,?F?F!F, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:1
+:
+<30,Ph,4'6:/Cl, at 3,\,!2,?5,-2'-4=dl,-2'-4'-5:N, at 7,?5,-1'-4:O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:1
+:
+<30,Ph,2:/_,4:/!, at 3,\,N,/?O!2'Cl,!2,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Atrazine;MW:215.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Alachrol;MW:269.8;EXA:1
+:
+<-30,!,O!2,N,/Ph'(-5'-1:/!),!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:1
+:
+<30,Ph,2:/?!,3:/O!'?O!'NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:1
+:
+<30,!?!,O!,?O!,//?5'(2'5:S),!?O,!O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:1
+:
+<30,!?!,O!,P,?O,/O'!?!^170,!,S,!2,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:1
+:
+<30,Ph, at 3,\,!S!,?O!,N?2!,?!,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\`1.1,/!,N,!2,/_,!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:1
+:
+<30,Ph, at 5,\,O,!Ph, at 10,\,O!3,??,!Ph,-3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Endrin;MW:380.91;EXA:1
+:
+<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
+  @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:1
+:
+<30,Ph,4'6:/Cl,1:/O'!?!, at 3,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:1
+:
+<30,Ph,2'4:/_, at 3,\,N,!1,?O!2,O!, at 7,\,|,?5,1:N,2:O,5:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:1
+:
+<30,Ph,6:/?F?F!F,4:/Cl, at 3,\,O,!Ph,-3:/NO2,-4:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:1
+:
+<30,Ph,2'4'6:/_, at 3,\,S?O?O,!,|,?5,2'5=dl,2'4'5:N,-2:/?O!'N?'!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:1
+:
+<30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,?O!,O!2,
+ @3,\,|,?5,4=dl,1'3'5:N,-4:?O,-3:/?F!F,-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carboxin;MW:235.301;EXA:1
+:
+<30,?6,3=dl,2:S,5:O,4:/_, at 3,\,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:1
+:
+<30,Ph,4=Ph,10:N,2'6:/Cl, at 7,\,O,!Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quitozene;MW:295.3;EXA:1
+:
+<30,Ph,1'2'3'4'6:/Cl,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:1
+:
+<30,Ph, at 3,\,/?O!'O!,!d,N,!O!, at 4,\,!,O,!Ph,-1:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clomazone;MW:239.7;EXA:1
+:
+<30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2:??,-1:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:1
+:
+<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/?F?F!F,2:/!O!2,3:/Ph'(-3:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:1
+:
+<30,Ph, at 3,\,O!,S?O?O,!Ph,6'12:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:1
+:
+<30,Ph,6:/Cl, at 4,\,NH!,?O!,O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:1
+:
+<30,Ph, at 3,\,S,!2,Ph,6'12:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:1
+:
+<30,Ph, at 3,\,/OH^-35,/?O!'O!2^30>lr,!Ph,6'11:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:1
+:
+<30,Ph,1:/Cl,3:/_, at 5,\,?O,60,NH!, at 4,\,NH!,?O!,<24,?5,-1'-3=db,-3'-4:N,-2:/Br,
+ @-4,24,Ph,-5:N,-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:1
+:
+<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,/?O!'O!,!d,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiuram;MW:240.43;EXA:1
+:
+<30,!,N?!,//S,!,S,!,S,!,//S,!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Probenazole;MW:223.25;EXA:1
+:
+<12,Ph,3=?5,9=dl,7:S,8:N,{7^35'7^-35}:?O,9:/O!2'!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Penflufen;MW:317.41;EXA:1
+:
+<30,Ph, at 3,\,NH!,?O!,?5,-1'-4=db,-2'-3:N,-2'-4:/_,-1:/F, at 4,\,/_,60,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:MCPA;MW:200.62;EXA:1
+:
+<30,Ph,1:/Cl,5:/_,4:/O!2'COOH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Asulam;MW:230.2;EXA:1
+:
+<30,Ph,1:/NH2, at 3,\,S?O?O,!NH!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imazosulfuron;MW:412.81;EXA:1
+:
+<-11.8,?6,3=?5,1'5'7'9=db,4'7:N,8:/Cl,
+ @-1,\,S?O?O,!NH!,?O,!NH!,Ph,-1'-5:N,-2'-4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triaziflam;MW:333.4;EXA:1
+:,
+<30,Ph,2'6:/_, at 4,\,O!2,?!,NH!,Ph,-1'-3'-5:N,-2:/NH2,-4:/??'!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Trichlopyr;MW:256.47;EXA:1
+:,
+<30,Ph,2:N,1'4'6:/Cl,3:/O!2'COOH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Halosulfuron-methyl;MW:434.82;EXA:1
+:,
+<6,?5,3'5=db,1'2:N,2:/_,5:/Cl, at 3,\,S?O?O,!NH!,?O,!NH!,Ph,-2'-4:/O!,4:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
+:
+<30,Ph,4:/Cl, at 1,\,?5,-2'-4=db,-2'-4'-5:N,-1:/Ph,-3:/?O!'NH2,
+ @3,\,!,O!2,/F^35,/F^-35,!,?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!'??'!CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:1
+:
+<30,Ph, at 4,\,NH!,?O!,O,!?!,1'6:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:1
+:
+<30,Ph,4'6:/Cl, at 3,\,O,!Ph, at -4,\,O,!?!,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl,
+ @3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:1
+:
+<30,Ph,1:/CN,4:/F, at 3,\,O,!Ph, at -3,\,O,!?!,?O!,O,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:1
+:
+<30,Ph, at 3,\,!Ph,-5:/?O!'N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_,
+ @1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-3:/F,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:1
+:
+<30,Ph,1'5:/F, at 4,\,NH!,?O,!Ph,6:N,-5:/O!'Ph'(-3:/?F?F!F)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:1
+:
+<30,?3, at 2,\,?!,/OH^30,-90,!,|,<-18,?5,2'4=dl,1'3'5:N,@$5,-30,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Simazine;MW:201.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethametryn;MW:255.4;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH'!?!'?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:1
+:
+<-6,?5,3'5=dl,2:S,3'5:/_, at 4,\,N,!,?O!2,Cl,6:/?!2'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Simetryn;MW:213.3;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1'3:/NH!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:1
+:
+<30,Ph, at 3,\,??,!S!,?O!,?6,-6:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diazinon;MW:304.35;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,4'6:N,5:/_,3:/?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:1
+:
+<30,Ph,1:/Cl, at 4,\,!S!,?O!,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiometon;MW:246.34;EXA:1
+:
+<-30,!O!,P,//S,/O!^160,!,S!3,S!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:1
+:
+<-12,?5,3'5=dl,2:S,5:N,3:/?F?F!F,1:/_,
+ @4,\,?O,!NH!,<6,Ph,-5'-1:/Br,-3:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:1
+:
+<30,?6`1.2,3=?6,6=dl,9=?3,-1:O, at 2,148~wf`1.4,&5~wb,
+ @7,*\^145`1.3,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aldrin;MW:364.908;EXA:1
+:
+<30,?6`1.3,3=?6,6'9=dl,
+ @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'11^-210'11^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:1
+:
+<30,Ph,{1,3,4,6}:/Cl,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:1
+:
+<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4'5:/Cl),!d,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:1
+:
+<-6,?5,2'5=dl,1'2'4:N, at 4,\,!3,O!,/F^35,/F^-35,!,?F!F,7:/Ph'(4'6:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:1
+:
+<30,Ph, at 3,\,S?O?O,!Ph,6'10'11'13:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:1
+:
+<6,?5,2'5=dl,4:S,2:/O!, at 3,\,!,N,7^-15:/Ph'(6'2:/_),!,?O!2,Cl,
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:1
+:
+<36,?5,1'4=dl,1'3'5:N, at 3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:1
+:
+<6,?5,3'5=dl,1'2:N,4:/Cl,5:/!,2:/_, at 3,\,?O!,NH,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl, at 3,\,?O!,O!2,|,Ph,2'3'5'6:/F,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH!'??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Terbufos;MW:288.42;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,S!,??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,O!2,?O!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triazophos;MW:313.31;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,<-12,|,?5,2'5=dl,2'4'5:N,4:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triallate;MW:304.7;EXA:1
+:
+<-30,!?!,N,/?!,!,?O!,S!2,/Cl,!d,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:1
+:
+<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\,N,/!2,!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Napropamide;MW:271.4;EXA:1
+:
+<-30,Ph,4=Ph, at 10,\,O!,?!,?O!,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
+:
+<30,Ph,5:/NO2,1'3:/?O!'O!'?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
+:
+<30,?6,1'5=dl,4'5:N,1:/NH!,3:?O,2:/Cl,4:/Ph'(3:/?F?F!F)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,!2,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
+:
+<30,Ph,5:/?F?F!F, at 3,\,O,!Ph,-5:N, at -4,\,?O,!NH!,Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
+:
+<30,Ph, at 3,\,Ph, at -3,\,O!2,/OH,!,??!, at 14,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,O,!Ph,-4:/?O!'O!,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
+:
+<-30,?3,{2^-35'*2^35}:*/_,
+ @1,\,!d,/Cl,!,?F?F!F, at 3,\,?O,!O!,-60,Ph,-1:/_,-2:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
+:
+<30,Ph,6:/Cl,4:/F, at 3,\,|,?5,1'4=dl,2'3:N,-3:/_,5:/Cl,
+  @-2,\,O!,/F,!F,@$1,\,O!2,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
+:
+<30,?6,2'4=dl,5'6:N,6:/??!,1:?O,2:/Cl, at -4,\,S,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?6,1'5=dl,2'3:N,4:?O,3:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:1
+:
+<30,Ph,5:/??!, at 3,\,?O!,S!,N?!,Ph,-5:N,-4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:1
+:
+<30,Ph, at 5,\,O,!Ph, at -3,\,O!2,?!,O,-60,Ph,-5:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
+:
+<30,Ph,2:/O!'?O!, at 5,\,/_,!d,N,!O!, at 3,\,O!,|,Ph,2'6:N,3'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
+:
+<30,Ph, at 3,\,NH!,|,Ph,2'6:N,3'5:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:1
+:
+<30,Ph,3=?6,10:N,9:?O,11--4=?5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:1
+:
+<36,?5,3:N,5:O,2'4:?O,1:/_^54,1:/!d^-30,3:/Ph'(3'5:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
+:
+<30,Ph,2'4:/Cl,6:/?F?F!F, at 3,\,|,?5,2'4=dl,1'2:N,3:/CN,5:/NH2,-2:/S?O'!?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
+:
+<30,!2,O!,P,?O,/NH'!?!^160,!,O,!Ph,-4:/_,-3:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
+:
+<30,Ph, at 3,\,!Ph,4'11:/Cl,7:/OH^30,7^-30:/Ph'(3'5:N)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
+:
+<30,Ph, at 3,\,O,!5,S,!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/S'?O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-4:/_,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Parathion-methyl;MW:263.2;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Parathion;MW:291.3;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,3:/_,4:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
+:
+<-30,!2,?!,NH!,P,//S,/O!2^170>rl,!O!,|,Ph,2:/NO2,5:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S,!,/Ph,!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
+:
+<-30,!3,O!,P,//S,/O!2^160>rl,!O!,Ph,-5'-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
+:
+<-30,!3,O!,P,?O,/O!3^160>rl,!O!,Ph,-3:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
+:
+<30,!2,O!,P,//S,/O!3^160>rl,!O,!Ph,-5:/Cl,-3:/Br
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
+:
+<-30,!O!, P,//S,/O!^160,!O!,|,Ph,3'6:/Cl,4:/Br
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,|,?5,4=Ph,4=dr,1:N,2:?O,3:O,8:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phosmet;MW:317.32;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S,!2,|,?5,3=Ph2,1:N,2'5:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phorate;MW:260.4;EXA:-
+:
+<30,!2,O!,P,//S,!,S!2,S!2,4:/O!2^160>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!S!,/!?O!'O!2`1,!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methidathion;MW:302.32;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S!2,|,?5,4=dl,1'5:N,3:S,2:?O,4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
+:
+<-30,!O!,P,?O,/O!^160,!O,!?,!d,!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
+:
+<-30,!O!,P,//S,/O!^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
+:
+<-30,!2,?!,S!,P,?O,/O!2^160>rl,!,S,!?,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S!2,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
+:
+<30,!4,S,!,P,?O,/S'!4^160>rl,!,S,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'6:/Cl,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
+:
+<-30,!3,O!,P,//S,/O'!?!^160>rl,!,S!2,?O!,|,?6,1:N,6:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
+:
+<30,!2,O!,P,?O,/S!3^160>rl,!O!,<-12,|,?5,1'4=dl,3'4:N, at -3,-12,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyrazophos;MW:373.37;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?5,3=?6,2'5'7'9=dl,4'5'6:N,7:/_,-2:/?O!'O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:EPN;MW:323.303;EXA:-
+:
+<30,!2,O!,P,//S,/Ph^170,!,O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Anilofos;MW:367.9;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S,!2,?O!,N,/?!,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isazofos;MW:313.74;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?5,2'5=dl,2'4'5:N,4:/Cl,3:/?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethion;MW:384.46;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,S,!2,S,!,P,//S,/O!2^200>lr,!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Edifenphos;MW:310.37;EXA:-
+:
+<30,Ph, at 3,\,O!,P,//S,/O!2>rl^160,!,S,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethoprophos;MW:242.33;EXA:-
+:
+<-30,!3,S,!,P,?O,/S!3^160>rl,!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethrimfos;MW:292.29;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'4:N,5:/!,3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quinalphos;MW:298.30;EXA:-
+:
+<30,!,O!2,P,//S,/O!2^160>rl,!O!,|,Ph,3=Ph,2'5:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenvinphos;MW:359.58;EXA:-
+:
+<30,!2,O!,P,?O,/O!2^160>rl,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pirimiphos-methyl;MW:305.333;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O,!Ph,-5'-3:N,-2:/_,-4:/N?2'!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyanophos;MW:243.22;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dichlofenthion;MW:315.2;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-5'-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenvalerate;MW:419.91;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O'!Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenpropathrin;MW:349.4;EXA:-
+:
+<-30,?3,{1^35'2^-35}:*/_,{1^-35'2^35}:/*_, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:1
+:
+<30,?6,3:N,6:O,1'5:*/_, at 3,\,!?,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phthalide;MW:271.9;EXA:1
+:
+<30,Ph,3=?5,8:O,9:?O,1'2'5'6:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Butachlor;MW:311.85;EXA:-
+:
+<30,!4,O!2,N,/Ph'(-1'-5:/!)`1,!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:1
+:
+<30,Ph,4'6:N,1:/_, at 3,\,O!,S?O?O,!,N?!,2:/!3,5:/NH!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:1
+:
+<-30,?6,1'5:N,1:/Ph,3:S,6:?O,5:/?!,4://N'!??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flamprop-methyl;MW:335.8;EXA:-
+:
+<30,Ph,1:/Cl,6:/F, at 3,\,N,/?O!'Ph>rl,!?!,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:1
+:
+<30,Ph,4'6:N,1:/?F?F!F,5:/O'!?!, at 3,\,O!2,Ph, at -1,\,|,!d,!O!,1:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:1
+:
+<30,Ph,3=?6,8=dl,7'9:N,6:/F,10:?O, at 8,\,|,?5,2'4=dl,1'3'5:N,$9:/Ph'(4'6:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:1
+:
+<30,Ph,5=?5,7'9:O,{8^-40'8^40}:/F, at 4,\,|,?5,2'5=dl,-2:NH,-4:/CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:1
+:
+<30,Ph, at 6,\,O!,/F,!,F, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:1
+:
+<30,Ph,2:/?F?F!F, at 3,\,?O,!NH!,Ph,-1:/O'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:1
+:
+<30,Ph,5:/Cl,1:/?F?F!F, at 4,\,NH!,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:1
+:
+<30,Ph,6:/F,3=?6,-1:O,-4:N,-3:?O, at -4,\,!,!t, at 1,\,|,?5,3=?6,3=dr,1:N,2'5:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pretilachlor;MW:311.85;EXA:-
+:
+<30,Ph,2'4:/!, at 3,\,N,/?O!2'Cl`1,!3,O!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Procymidone;MW:284.136;EXA:-
+:
+?6,1:N, at 3,&5,2'6:?O,3'5:/_,1:/Ph'(3'5:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propachlor;MW:211.689;EXA:-
+:
+<30,Ph, at 3,\,N,/?!,!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propazine;MW:229.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1'3:/NH'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propanil;MW:218.077;EXA:-
+:
+<30,Ph,1'6:/Cl,3:/NH!'?O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propyzamide;MW:256.1;EXA:1
+:
+<30,Ph,1'5:/Cl, at 3,\,?O,!NH,!??!,!t
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,!2,|,?5,2'4=dl,1'2'4:N,@$7,?5,-1'-4:O,-3:/!2^-15
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Prohydrojasmon;MW:254.37;EXA:-
+:
+<18,?5,2:?O,3:*/!4^-12,4:/*!?O!'O!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromacil;MW:261.119;EXA:1
+:
+<30,?6,6=dl,3:N,1:/Br,2'4:?O,5:NH,6:/_,3:/?!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Prometryn;MW:241.4;EXA:-
+:
+<30,Ph,2'4'6:N,5:/S!,1'3:/NH'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromobutide;MW:312.2;EXA:-
+:
+<30,Ph, at 3,\,??,!NH!,?O!,/Br,!??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromopropylate;MW:428.12;EXA:-
+:
+<30,Ph, at 3,\,!Ph,6'11:/Br,7:/OH^-45, at 7,30,?O!,O,-60,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexaconazole;MW:314.2;EXA:-
+:
+<36,?5,1'4=dl,1'3'5:N, at 3,30,!5,-4^30:/OH, at -5,-30,Ph,-3'-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
+:
+<30,?6,3=dl,2'4'6:N,2:/_,1'5:?O,6:/?6,3:/N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benalaxyl;MW:325.4;EXA:-
+:
+<30,Ph, at 3,\,!,?O!,N,/Ph'(-5'-1:/_),!?!,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benoxacor;MW:260.1;EXA:-
+:
+<90,Ph,3=?6,7:N,10:O,8:/_, at 7,\,?O!,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:1
+:
+<30,?6`1.3,3=?5,6'8=dl, at 2,210~wf`1.5,&5~wb,{1'2'5'6'9'10^-210'10^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Permethrin;MW:391.30;EXA:-
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O!,O!2,Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Penconazole;MW:284.184;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,/!2,!2,|,<30,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pendimethalin;MW:281.3;EXA:-
+:
+<30,Ph,3'5:/NO2,1'2:/_, at 4,\,NH,!?,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F,2:/N?2'!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:1
+:
+<30,Ph,3=?5,7:O,9:??, at 6,\,O!,S?O?O,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bensulide;MW:397.5;EXA:1
+:
+<30,!?!,O!,P,//S,/O'!?!^160>rl,!,S!3,NH!,S?O?O,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Myclobutanil;MW:288.8;EXA:-
+:
+<36,?5,1'4=dl,1'3'5:N, at 3,30,!,/CN^30,/Ph'(4:/Cl)^-30,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methoxychlor;MW:345.644;EXA:-
+:
+<30,Ph, at 3,\,!Ph,6'11:/O!,7:/?Cl?Cl!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Metolachlor;MW:283.8;EXA:-
+:
+<30,Ph,5:/!,3:/_, at 4,\,N,/?!2'O!,!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mefenacet;MW:298.4;EXA:-
+:
+<12,Ph,3=?5,9=dl,9:N,7:S, at 8,\,O!2,?O!,N?!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mefenpyr-diethyl;MW:373.23;EXA:-
+:
+<18,?5,5=dl,4'5:N,3^65:/_,{1^12'3^-12}:/?O!'O!2, at 4,-24,Ph,-3'-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mepronil;MW:269.3;EXA:-
+:
+<30,Ph,2:/_, at 3,\,?O,!NH!,Ph,-2:/O'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Molinate;MW:187.3;EXA:1
+:
+<47,?7,3:N, at 3,\,?O!,S!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,?!,3:/?O!'O!2,|,?5,3'5=dl,2:O,3:/!Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Lenacil;MW:234.3;EXA:-
+:
+<30,?6,3=?5,3=dl,6:N,2:NH,1'5:?O,6:/?6
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Halfenprox;MW:477.4;EXA:1
+:
+<30,Ph, at 6,\,O!,/F^35,/F^-35,!,Br, at 3,\,!??!,O!2,Ph,-2:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Paraquat;MW:257.16;EXA:1
+:
+Ph, at 4,\,Ph,1'10:N?,1:p_^-90,10:p_^90, at 1,@(0,1.2),Cl,n_^15,
+ @10,@(0,1.2),Cl,n_^15
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:1
+:
+Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,Ph,-2=Ph,10:N, at 4,&12~vf, at 23,&12~vf
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:1
+:
+<26,?7,7=?6[13], at 11,208~wf`1.45,&8~wb,10=dl,3'5:O,4:S,4:?O,
+ {8'9'10'11'12^-210'12^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Uniconazole-P;MW:291.779;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%******************************************************************************
+CAT:pesticide;EN:Azinphos-methyl;MW:317.318;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S!2,|,?6,-3=?6,2'4'8'10=dl,1'3:N,6:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:1
+:
+<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,//!O!,!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aramite;MW:334.859;EXA:-
+:
+<30,Ph,6:/??!, at 3,\,O!2,?!,O!,S,?O,!,O!3,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aldicarb;MW:190.3;EXA:-
+:
+<-30,!,S,!,??,!,!d,N,!O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aldoxycarb;MW:222.3;EXA:-
+:
+<30,!,?O,!NH!,O!,N,!d,!,??,!,S?O?O,!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoxaflutole;MW:359.319;EXA:-
+:
+<30,Ph,6:/?F?F!F, at 4,\,S?O?O,!, at 3,\`1,?O,!`1,<-12,|,?5,1'4=dl,3:O,4:N,2:/?3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Iprovalicarb;MW:320.4;EXA:-
+:
+<30,Ph,6:/_, at 3,\,!?!,NH!,?O!,??,!NH!,?O!,O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imazalil;MW:297.2;EXA:1
+:
+<-30,!,/Ph'(4'6:/Cl),!,O!2,!d, at 1,60,|,?5,2'4=dl,1'3:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:1
+:
+<30,Ph,1:N,6:/Cl, at 3,\,!,|,?5,1:N,3:NH,2://N'!NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Indanofan;MW:340.80;EXA:-
+:
+<30,Ph,3=?5,7'9:?O,8^55>lr:/!, at 8,-30,!2,Ph,-2:/Cl, at 11,?3,-2:O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Indoxacarb;MW:527.837;EXA:-
+:
+<-6,Ph,3=?5,9=?6,15=dl,10:O,12'13:N,1:/Cl,8`1^-54:/?O!'O!,
+ @12,\,?O!,N,/?O!'O!,!Ph,-3:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxamyl;MW:219.3;EXA:-
+:
+<-30,!,N?!,?O!,/S!,!d,N,!O!,?O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oryzalin;MW:346.4;EXA:-
+:
+<30,Ph,1'3:/NO2,5:/S?O?O'!NH2,2:/N?2'!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carbaryl;MW:201.22;EXA:-
+:
+<30,Ph,5=Ph, at 4,\,?O,!O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carpropamid;MW:334.665;EXA:-
+:
+<-30,?3,1:/_,{2^-35'*2^35}:*/Cl,3^70:/!, at 3,\,?O!,NH,!?!,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cumyluron;MW:302.802;EXA:-
+:
+<30,Ph, at 4,\,??,!NH!,?O!,NH,!2,Ph,-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cloquintocet-methyl;MW:335.83;EXA:-
+:
+<90,Ph,4=Ph,2:N,10:/Cl, at 7,\,O!2,?O!,O,!?,!5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:1
+:
+<6,?5,3'5=dl,2:S,5:N,1:/Cl, at 3,\,!NH!,/NH!,!d,N,!NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chromafenozide;MW:394.515;EXA:-
+:
+<30,?6,3=?6,5:O,7'9'11=dl,7:/_, at 8,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-3:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clomeprop;MW:324.2;EXA:-
+:
+<30,Ph,4'6:/Cl,5:/_, at 3,\,O,!?!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
+:
+<30,?6,3'4:N,2'6=dl,5:?O,1:/NH2,6:/Cl,4:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chloroxuron;MW:290.745;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,O,!Ph, at -3,\,NH!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyazofamid;MW:324.783;EXA:-
+:
+<18,?5,2'5=dl,2'4:N,1:/Cl,3:/CN, at 4,\,S?O?O,!,N?!,5:/Ph'(4:/_)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diuron;MW:233.1;EXA:-
+:
+<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyflufenamid;MW:412.36;EXA:-
+:
+<30,Ph,4^20:/?F?F!F,1'2:/F, at 3,\,!NH!,?O!2,Ph, at -10,\\,N,!,<-12,O!2,?3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diflubenzuron;MW:310.7;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyprodinil;MW:225.295;EXA:-
+:
+<30,Ph,2'4:N,5:/_,1:/?3,3:/NH!'Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Simeconazole;MW:293.417;EXA:-
+:
+<36,?5,1'3'5:N,1'4=dl, at 3,30,!,/OH^30,!2,Si,??!,7^-30:/Ph'(4:/F),
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
+:
+<30,?6,3'5=dl,1:?O,2:NH,3:/N?!,4:N,5:/_,6:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethomorph;MW:387.86;EXA:-
+:
+<30,?6,1:O,4:N, at 4,\,?O!,!d`1,/Ph'(4:/Cl),!,|,Ph,4'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Silafluofen;MW:408.588;EXA:-
+:
+<30,Ph, at 5,\,O,!Ph,-1:/F, at 10,\,!3,Si,??,!Ph,-3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Di-allate;MW:270.212;EXA:-
+:
+<-30,!?!,N,!,?O!,S,!2,!d,!Cl,3:/?!,7:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Daimuron;MW:268.4;EXA:-
+:
+<30,Ph, at 4,\,??,!NH!,?O,!NH!,Ph,-3:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiacloprid;MW:252.72;EXA:-
+:
+<30,Ph,1:N,6:/Cl, at 3,\,!,<-12,|,?5,1:N,3:S,-4://N'!CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
+:
+<30,Ph,3=?5,8=dl,9:NH,7:N, at 8,\,|,?5,1'4=dl,3:S,5:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiamethoxam;MW:291.71;EXA:-
+:
+<30,?6,2:O,4'6:N,6:/_, at 5,\\,N,!NO2, at 4,\,!,|,?5,1'3=dl,3:N,5:S,4:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebuthiuron;MW:228.3;EXA:-
+:
+<18,?5,3'5=dl,4'5:N,2:S,1:/??!, at 3,\,N?!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebufenozide;MW:352.5;EXA:-
+:
+<30,Ph,6:/!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Teflubenzuron;MW:381.1;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl,4'6:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
+:
+<30,?6,3:N,6:O,1'5:/_,3:/!12
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triflumuron;MW:358.701;EXA:-
+:
+<30,Ph,4:/Cl, at 3,\,?O,!NH!,?O,!NH!,Ph,-2:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Naproanilide;MW:291.35;EXA:-
+:
+<30,Ph,4=Ph, at 8,\,O,!?!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Novaluron;MW:492.706;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,
+ Ph,-4:/Cl, at -3,\,O!,/F^-35,/F^35,!,/F,!O!,?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraclostrobin;MW:387.817;EXA:-
+:
+<30,Ph, at 3,\,!O!,<12,|,?5,2'5=dl,4'5:N, at 4,12,Ph,-3:/Cl,||, at 2,\,N,/O!,!?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pirimicarb;MW:238.291;EXA:-
+:
+<30,Ph,1'5:N,2'3:/_,6:/N?!, at 4,\,O!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenoxycarb;MW:301.35;EXA:-
+:
+<30,Ph, at 5,\,O,!Ph, at -3,\,O!3,NH!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenobucarb;MW:207.3;EXA:-
+:
+<30,Ph,5:/?!2, at 4,\,O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ferimzone;MW:254.337;EXA:-
+:
+<30,Ph,4:/_, at 3,\,/_,!d,N,!NH!,|,Ph,2'6:N,3'5:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenamidone;MW:311.403;EXA:-
+:
+<18,?5,4=dl,3'5:N,2:?O, at 3,\,NH!,Ph,4:/S!,1^52:*/_,1^-48:/*Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenpyroximate;MW:421.49;EXA:-
+:
+<-6,?5,3'5=db,1'2:N,2'5:/_, at 3,-15,O,!Ph, at 4,\,!d,N!,O!2,Ph, at -3,\,?O,-60,O,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phenmedipham;MW:300.32;EXA:-
+:
+<30,Ph,5:/_, at 3,\,NH!,?O!,O,!Ph,-4:/NH!'?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Butafenacil;MW:474.817;EXA:-
+:
+<30,?6,6=dl,3'5:N,2'4:?O,6:/?F?F!F,3:/Ph'(4:/Cl), at -2,\,?O,!O!,??,!,?O!,O!2,!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flufenacet;MW:363.331;EXA:-
+:
+<6,?5,2'5=dl,1'2:N,4:S,5:/?F?F!F, at 3,\,O!,-60,?O!,N,/?!,!Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flufenoxuron;MW:488.77;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-1:/F, at -3,\,O,!Ph,-3:/?F?F!F,-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
+:
+<30,?6,3'6=dl,2:N,2:/_,5:?O, at 4,\,Ph,-4:/?F?F!F,6:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propaquizafop;MW:443.884;EXA:-
+:
+<90,Ph,3=?6,8'10=dl,7'10:N,1:/Cl, at 8,\,O,!Ph, at -3,\,O,!?!,?O,!O,!3,O!,N,!dr,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexaflumuron;MW:461.14;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl, at 4,\,O!,/F^-35,/F^35,!,/F,!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexathiazox;MW:352.877;EXA:-
+:
+<30,?6, at 3,\,NH!,?O!,<-24,|,?5,1:N,3:S,2:?O,5:/_,4:/Ph'(4:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pencycuron;MW:328.84;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,!N,/?5,!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bendiocarb;MW:223.228;EXA:-
+:
+<30,Ph,5=?5,7'9:O,8:??, at 4,\,O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pentoxazone;MW:353.774;EXA:-
+:
+<66,?5,5://?!,1:O,3:N,2'4:?O, at 3,\,|,Ph,4:/Cl,6:/F,3:/O!'?5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Boscalid;MW:343.21;EXA:-
+:
+<30,Ph,5:N,4:/Cl, at 3,\,?O,!NH!,Ph,-1:/Ph'(4:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methabenzthiazuron;MW:221.3;EXA:-
+:
+Ph,3=?5,9=dl,7:S,9:N, at 8,\,N?!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methoxyfenozide;MW:368.48;EXA:-
+:
+<30,Ph,2:/_,1:/O!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Monolinuron;MW:214.6;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,NH!,?O!,N?!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Lactofen;MW:461.78;EXA:-
+:
+<30,Ph,4:/Cl,6:/?F?F!F, at 3,\,O,!Ph,-3:/NO2, at -4,\,?O!,O,!?!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Linuron;MW:249.1;EXA:-
+:
+<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Lufenuron;MW:511.15;EXA:-
+:
+<30,Ph,2'4:/F,
+ @3,\,?O,!NH!,?O,!NH!,Ph,-1'-4:/Cl, at -3,\,O!,/F^35,/F^-35,!,/F,!,?F?F!F
+;
+%******************************************************************************
+CAT:antibacterial;EN:Sulfacetamide;MW:214.239;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfatiazole;MW:255.31;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,1'3=dl,2:N,5:S
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
+:
+<30,Ph,1'3:/_,2:N,4'6:/Cl,5:/OH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadiadine;MW:250.276;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-5'-1:N
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Levamisole;MW:204.29;EXA:-
+:
+?5,3=?5,6=dl,2:S,4'6:N,7:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA:-
+:
+<30,Ph,3=?6,8=dl,7:N,9:NH,6:/S!3,8:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-1:N
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Marbofloxacin;MW:362.361;EXA:-
+:
+<30,Ph,3'(2--7)=?6,9=dl,6:/F,7'13:N,11:O,9:/COOH,10:?O,13:/_,1:/?6'(1:N)'(4:N?)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-5'-1:N,-4:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Trimethoprim;MW:290.323;EXA:-
+:
+<30,Ph,1'5:N,2'6:/NH2,3:/!Ph'(4'5'6:/O!)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ofloxacin;MW:361.373;EXA:-
+:
+<30,Ph,3'(2--7)=?6,9=dl,7:N,11:O,
+ 6:/F,9:/COOH,10:?O,13:/_,1:/?6'(1:N)'(4:N?)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,1:/?6'(1:N)'(4:NH)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Enrofloxacin;MW:359.401;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,1:/?6'(1:N)'(4:N?2)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Danofloxacin;MW:357.385;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,
+ @1,\,|,?6, at 2,-200`1.1,&5,1'4:N,4:*/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ormetoprim;MW:274.324;EXA:-
+:
+<30,Ph,1'5:N,2'6:/NH2, at 3,\,!,|,Ph,2:/_,4'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadimidine;MW:278.33;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,2'5'6:/F,7:/?3,9:/COOH,10:?O, at 1,\,|,?6,1:N,3'5:*/_,4:NH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamethoxypyridazine;MW:280.302;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sarafloxacin;MW:385.371;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10:?O, at 1,\,?6,-6:N,-3:NH,7:/Ph'(4:/F)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Difloxacin;MW:399.398;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,7:/Ph'(4:/F),1:/?6'(1:N)'(4:N?)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,4'6:N,2'3:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,2'5=dl,4:O,5:N,3:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,Ph,-2'-4:N,-1:/!,-3'-5:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxibendazole;MW:249.27;EXA:-
+:
+<30,Ph,3=?5,9=dl,7:NH,9:N,1:/O!3,8:/NH!'COOH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
+:
+<30,Ph,3=?6,6=?5,9=dl,7:N,11'13:O,10:?O,7:/!,9:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfabenzamide;MW:276.31;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ethopabate;MW:237.255;EXA:-
+:
+<30,Ph,1:/NH!'?O!,3:/O!2,4:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadimethoxine;MW:310.33;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfaquinoxaline;MW:300.337;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-4=Ph,-5'-2:N
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
+:
+<30,Ph,3=?6,9=dl,5'10:N,6:/_,7:?O,8:/COOH,10:/!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Flubendazole;MW:313.288;EXA:-
+:
+<30,Ph,3=?5,9=dl,7:NH,9:N, at 1,\,O,!Ph,8:/NH!'?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
+:
+<30,Ph,3'(2--7)=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,13:/_
+;
+%------------------------------------------------------------------------------
+34;CAT:antibacterial;EN:Sulfanitran;MW:335.334;EXA:-
+:
+<30,Ph, at 1,\,NH!,?O!, at 4,\,S?O?O,!NH!,Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Xylazine;MW:220.334;EXA:-
+:
+<30,?6,3=dl,2:S,4:N, at 3,\,NH!,Ph,-5'-1:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Famphur;MW:325.3;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/S?O?O!'N?!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Lincomycin;MW:406.54;EXA:1
+:
+<6,?5,5:N,5:*/_,2:*/!2,
+ @3,\*,?O,!NH!,!wb,?6,-1:O,*-3'-4'-5:*/OH,-2:/*S!,8:/?!'OH^-30>lr
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:2-acethylamino-5-nitrothiazole;MW:187.178;EXA:-
+:
+<18,?5,2'5=dl,2:N,4:S,3:/NH!'?O!,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Chlorsulon;MW:380.66;EXA:-
+:
+<30,Ph,6:/NH2,1'3:/S?O?O'!NH2, at 4,\,/Cl,60~dl,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Florfenicol;MW:358.21;EXA:-
+:
+<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!F,!NH!,?O!,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Thiamphenicol;MW:356.22;EXA:-
+:
+<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,?O!,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxadiargyl;MW:341.19;EXA:-
+:
+<30,Ph,1'3:/Cl,6:/O!2'!t, at 4,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxaziclomefone;MW:376.277;EXA:-
+:
+<30,?6,6=dl,4:N,2:O,1:/_,5:?O,6:/Ph, at 4,\,??,!Ph,-4'-2:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyrrolnitrin;MW:111;EXA:-
+:
+<30,Ph, at 3,\,?5,8'11=db,1'11:/Cl,9:NH,2:/NO2,
+;
+%******************************************************************************
+CAT:biological;EN:Okadaic acid;MW:805.00;EXA:2
+:
+<30,?6, at 4,?6, at -4,\,!3,<-12,?5, at -3,<-12,?6,-3=?6, at -3,*\,!3,
+ ?6, at -4,?6, at 6,\,!,/*_^-40,*/OH^20,!,?O!,OH,
+ 3=wb,11=dl,15=dr,17=wf,19=wf,38=wb,5'7'16'24'25'33'42:O,
+ 32:*/H^60,10:/_,12'31'*37:*/_,27://_,28:/OH,3'29:/*OH
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Vancomycin;MW:1449.25;EXA:2
+:
+<-30,#1,!12,1'3'12=zf,7=wf,60,60,Ph, at -3,\,O,!Ph, at -4,\,O,!Ph, at -3,\,&1,
+ @7,&26,@$1,60,60,NH,60,-60,Ph, at -1,\,Ph, at -2,&4,##,
+ {36'3^40'6'9'12}:?O,2'5'8'11:NH,{1'4^180'*7^-60'*10^60'*14^60'35^-60}:*/H,
+ 41'43'46:/OH,14'*35:*/OH,{17'34^15}:/Cl,38^180:*/COOH,
+ @10,*\^-60,60,?O!,NH2, at 13,*\,NH!,?O!,/??!,*/H^60,!z,NH!,
+ @23,\,O,!z,|,?6`.7,2:O,3^10:*/!OH,*4'5:*/OH,
+ @-1,\*,O,!wb,|,?6`.7,6:O,{*3^35'5}:*/_,3^-35:/NH2,4:/*OH,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Maitotoxin;MW:3425.86;EXA:2
+:
+<55.8,?6,-4=?7,-4'-3'-3'-3=?6, at -3,\,!3,?6,-4'-3'-3'-3=?6, at -3,\,?6,-3=?6,
+ @-3,\,!3,60,<-30,?6,-3=?6, at -3,30,<30,?6,-3'-3=?6,-3=?7,-4'-3'-3=?6,
+ @-2,\,?6,-3=?6,-3=?7,-3'-3=?6,-3=?8,-3=dl,-5'-3'-3'-3=?6,
+ {5'7'15'16'23'24'32'40'41'48'49'58'59'72'73'82'83'90'91'99'
+   100'107'113'114'122'123'130'131'140'141'148'149}:O,
+ {1^60'2'26'28'29'51'54'61'63'68'75^60'78'109}:*/OH,
+ 11'20'35'45'52'55'65'69'86:/*OH,
+ 3'8'13'17'21'33'38'42'56'70'84'92'101'106'111'128'138'142'146'150:/*H^-60,
+ 4'14'22'34'39'43'*47'*57'*71'81'89'98'102'116'121'125'129'133:*/H^60,
+ 6'46'50'53'60'67'74:*/H^-60,
+ 9'18'85'93'112'139'143'147:*/_^60`1,80'88'97'*108'115'120'124:/*_^-60`1,
+ @$6,\,|,!11,60~dr,-60,60,OH,*2'7'10:*/OH,1'3'*8:*/_,11://_,12:/_,
+   @6,\,O,30,SO3Na,
+ @$36,-45~zf,O,30,SO3Na,
+ @$150,\,|,!7,1'2:/*OH,4:*/_,5:/*_,7=dl
+;
+%------------------------------------------------------------------------------

Added: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp	                        (rev 0)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp	2024-11-20 22:09:01 UTC (rev 72915)
@@ -0,0 +1,1722 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% mcf2graph ver 5.14    Copyright (c) 2013-2024   Akira Yamaji
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+% and associated documentation files (the "Software"), to deal in the Software without restriction,
+% including without limitation the rights to use, copy, modify, merge, publish, distribute,
+% sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in all copies
+% or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED,
+% INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE
+% AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+% DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+%-------------------------------------------------------------------------------------------------
+%  mcf2graph is MetaPost macro package convert Molecular Coding Format(MCF) to graphic file
+%  sgv/eps/png/mdl molfile
+%-------------------------------------------------------------------------------------------------
+% This package is located at : http://www.ctan.org/pkg/mcf2graph
+% Suggestion or request mail to : mcf2graph at gmail.com 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+message "* This is mcf2graph ver 5.14  2024.11.17";
+tracingstats:=1; prologues:=3; warningcheck:=0;
+%-------------------------------------------------------------------------------------------------
+newinternal string EN_;
+numeric save_num[],pcode_com[][],pcode_par[][],pcode_cnt[],tbl_atom[],tbl_group[][],tbl_atom_wt[],
+        tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],at_char[],mc_indent[],op_indent[],ex_indent[],
+        ad_indent[],unit_lines[],info[],tbl_asc[],lenw[];
+string  row[][],save_str[],tbl_atom_str[],str_tbl[],arg_s[],mc[],ex[],ad[],op[],tag[],rw[],
+        lib_tag[][],lib_val[][],mc,ex,ad,op,aux_delimiter,default_library,EN,FM,MW,MI,CAT,JN,CAS,
+        USE,EXA,EXB,file_input,file_output,default_temp_file,mpfont,atomfont,tempc,temps,blanks,
+        sC,sI,sS,sT,sV,forbiddens;
+pair    save_pair[],msize,mposition,fsize,fmargin,save_mposition;
+%-------------------------------------------------------------------------------------------------
+fig_num:=str_cnt:=tbl_cnt:=mangle:=sw_frame:=sw_trimming:=sw_ext_all:=sw_abbreviate:=sw_expand:=0;
+sw_comment:=sw_output:=sw_numbering:=tag_cnt:=rw_cnt:=pcode_all:=0; 
+numbering_start:=1; numbering_end:=4095;
+%-------------------------------------------------------------------------------------------------
+aux_delimiter:=";"; blanks:= "            ";  forbiddens:=" &()[]{}^=;!'+,`~";
+for s="No","EN","JN","MW","MI","FM","CAT","CAS","USE","EXA","EXB": tag[incr tag_cnt]:=s; endfor
+MW_n:=0; Fig:=1; Mcode:=2; Calc:=4; Info:=8; Table:=16; Report:=32; MOL2k:=64; MOL3k:=128;
+Atom:=8; Bond:=16; Group:=32; Mol:=64; Outside:=1; Inside:=2; Bothside:=Outside+Inside;
+%-------------------------------------------------------------------------------------------------
+PRS:=ASCII("(");PRE:=ASCII(")");BRS:=ASCII("{");BRE:=ASCII("}");BKS:=ASCII("[");BKE:=ASCII("]");
+CMA:=ASCII(",");EQU:=ASCII("=");AST:=ASCII("*");SLS:=ASCII("/");GTN:=ASCII("<");LTN:=ASCII(">");
+AMP:=ASCII("&");HSH:=ASCII("#");HAT:=ASCII("^");TLD:=ASCII("~");BQT:=ASCII("`");CLN:=ASCII(":");
+AMK:=ASCII("@");QUT:=ASCII("'");BAR:=ASCII("|");PLS:=ASCII("+");MIS:=ASCII("-");BLK:=ASCII(" ");
+BSL:=ASCII("\");QES:=ASCII("?");
+%-------------------------------------------------------------------------------------------------
+for s="??!","!?!","!!!","!?","?!","??","*/*","/*","*/","//","**","##","||","\\":
+  rw[incr rw_cnt]:=s; lenw[rw_cnt]:=length(s); endfor
+%-------------------------------------------------------------------------------------------------
+let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif;
+let ISP=intersectionpoint; def ]]]=] ] ] enddef; let +++ = ++;
+%-------------------------------------------------------------------------------------------------
+def ext(text t)= sw_ext_all:=1; def EXT_ALL = t enddef; enddef;
+def ext_clear= sw_ext_all:=0; def EXT_ALL = enddef; enddef;
+def wpcs expr n= withpen pencircle scaled n enddef;
+def ppcs expr n= pickup pencircle scaled n enddef;
+def sbp(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
+def printf expr s= write s to file_output enddef;
+def warning(expr s)= message "% "&decimal(fig_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
+%-------------------------------------------------------------------------------------------------
+vardef frac primary n= n-floor n enddef;
+vardef iif(expr a,b,c)=if a: b else: c fi enddef;
+vardef subc(expr i,s)= substring(i-1,i) of s enddef;
+vardef sfrt(expr a,b,c)= a shifted ((b,0) rotated c) enddef;
+vardef fsr(expr n)(expr s)= (substring(0,n-length(s)) of blanks)&s enddef;
+vardef fsl(expr n)(expr s)= s&(substring(0,n-length(s)) of blanks) enddef;
+vardef fdr(expr n)(expr s)=
+  if length(decimal(s))>n: substring (0,n) of decimal(s) else: fsr(n)(decimal(s)) fi enddef;
+vardef fdl(expr n)(expr s)= fsl(n)(decimal(s)) enddef;
+vardef Incr suffix $ == $:=$+1; $ enddef;
+%=================================================================================================
+default_library:="main_lib.mcf"; default_temp_file:="temp.mcf";
+mpfont:="uhvr8r"; atomfont:="draw"; defaultfont:=mpfont;
+%--default ahangle=45---------------------------------------------------------------------
+if ahangle=1:  outputformat:="png"; hppp:=vppp:=0.12;   % png format(600dpi)
+ef ahangle=11: outputformat:="png"; hppp:=vppp:=0.06;   % png format(1200dpi)
+ef ahangle=2:  outputformat:="eps";                     % eps format(.eps)
+ef ahangle=3:  outputformat:="eps";                     % eps format(.mps)
+ef ahangle=45: outputformat:="svg";                     % svg format  *default
+fi
+%--default ahlength=4---------------------------------------------------------------------
+if ahlength=3:  sw_output:=Fig; sw_expand:=1;           % output figure(expanded)
+ef ahlength=4:  sw_output:=Fig;                         % output figure *default
+ef ahlength=5:  sw_output:=MOL2k; sw_expand:=1;         % output MOL(V2000)
+ef ahlength=6:  sw_output:=MOL3k; sw_expand:=1;         % output MOL(V3000)
+ef ahlength=7:  sw_output:=Report;                      % output report
+fi
+%-- default bboxmargin=2------------------------------------------------------------------
+if bboxmargin=3: ext(defaultfont:=mpfont; defaultscale:=.3; label.rt(EN,(0,0));)
+ef bboxmargin=4: sw_output:=Fig+Calc;
+  ext(defaultfont:=mpfont; defaultscale:=.3;
+  label.rt(EN&" / "&MW&" / "&decimal(MW_n-scantokens(MW)),(0,0));) fi
+%--default outputtemplate:="%j-%3c."&"svg"------------------------------------------------
+if outputformat="svg":                 outputtemplate:="s%3c-%{EN_}.svg";
+ef outputformat="png":                 outputtemplate:="p%3c-%{EN_}.png";
+ef (outputformat="eps")and(ahangle=3): outputtemplate:="%j-%3c.mps";
+else:                                  outputtemplate:="%j-%3c."&outputformat; fi
+%-----------------------------------------------------------------------------------------
+message "* jobname="&jobname;
+message "* numbersystem="&numbersystem;
+message "* outputformat="&outputformat;
+message "* outputtemplate="&outputtemplate;
+if ahlength=5: message "* output MOL file(V2000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
+ef ahlength=6: message "* output MOL file(V3000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
+ef ahlength=7: message "* output report file"; message "* file name="&jobname&"-report.txt"; fi
+clearit;
+%-------------------------------------------------------------------------------------------------
+ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015;
+ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15;
+ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.04;
+offset_thickness:=0.2; offset_bond_gap:=0.3; offset_hash_gap:=0.1; offset_atom:=0.8;
+offset_wedge:=0.4; thickness_frame:=0.2;
+max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5;
+fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5);
+ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
+lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
+outputformatoptions:="";
+%=================================================================================================
+pcode_emb_start:=1001;     % 1001 => 1900   for embedded pcode (max 900)
+pcode_emi_start:=1901;     % 1901 => 2000   for embedded internal pcode (max 100)
+pcode_usr_start:=2001;     % 2001 => 3000   for user     pcode (max 1000)
+pcode_int_start:=3000;     % 3001 => 4000   for internal pcode (max 1000)
+%-------------------------------------------------------------------------------------------------
+def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef;
+def_com(-4090)(_com,_jp_atom,_jp_absA,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_tmp_line,_chg_len,
+  _get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB,
+  _group_si,_group_dm,_group_wf,_group_zf,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,
+  _tmp_rot,_fuse,_fuse_di,_size_atom,_numeric,_numeric_inv,_jump_at,_set_add,_chg_add,_nop,
+  _mark,_moff,_term,_len_s,_len_e,_len_ss,_len_ee,_group_s,_group_e,_rest,_charge,_from,_until,
+  si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,wf_r,wb_r,bd_r,arc_lb,arc_br,
+  arc_lbr,arc_ltr,si_,wf_,wb_,zf_,zb_,wv_,bd_);
+%-------------------------------------------------------------------------------------------------
+def parameter_list=
+  sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_abbreviate,ratio_atom_bond,
+  ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond,ratio_hash_black,
+  ratio_hashgap_bond,ratio_thickness_char,ratio_wedge_bond,ratio_atomgap_atom,lonepairdiam,
+  lonepairspace,offset_atom,offset_wedge,max_blength,offset_hash_gap,offset_bond_gap,
+  thickness_frame,offset_thickness,numbering_start,numbering_end,defaultsize,defaultscale,
+  labeloffset,mangle,blength,fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap
+enddef;
+%-------------------------------------------------------------------------------------------------
+def init_par(text t)= nA:=nB:=nC:=0;
+  for list=t: if numeric list: save_num[incr nA]:=list;
+              ef pair list:    save_pair[incr nB]:=list;
+              ef string list:  save_str[incr nC]:=list;
+              fi
+  endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
+def store_par(text t)= nA:=nB:=nC:=0;
+  for list=t: if numeric list: if save_num[incr nA]<>list:  save_num[nA]:=list; fi
+              ef pair list:    if save_pair[incr nB]<>list: save_pair[nB]:=list; fi
+              ef string list:  if save_str[incr nC]<>list:  save_str[nC]:=list; fi
+              fi
+  endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
+def restore_par(text t)= nA:=nB:=nC:=0;
+  forsuffixes list=t: if numeric list: if list<>save_num[incr nA]:  list:=save_num[nA]; fi
+                      ef pair    list: if list<>save_pair[incr nB]: list:=save_pair[nB]; fi
+                      ef string  list: if list<>save_str[incr nC]:  list:=save_str[nC]; fi
+                      fi
+  endfor
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def beginfigm=
+  begingroup
+  save ','',`,``,//,@,#,#@,##,\,\\,\*,|=,|<,**,++,_,f_ext,blen,ext,add,ang_br,fw_n,bw_n,
+       info_cnt,bond_cntA,firstc,warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,
+       minX,minY,maxX,maxY,posA,posM,lineB,sB,eB,angB,angA,lenB,angX,numS,sumA,bond_num,wdM,htM,
+       chargeA,addA,add_rot,mol_pic,color_list,filter_s,no,mw,mi,fm;
+  numeric hideH[],lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],strA[],sumA[],bond_num[],
+          wdM[],htM[],chargeA[],addA[],add_rot[];
+  pair posA[],posM[][];
+  string mi,no,fm,mw,firstc,filter_s;
+  picture mol_pic[];
+  color color_list[];
+  %-----------------------------------------------------------------------------------------------
+  store_par(parameter_list);
+  no:=mc:=ex:=ad:=op:=temps:=mw:=mi:=fm:=filter_s:="";
+  EN:=JN:=MW:=FM:=MI:=CAS:=CAT:=EXA:=EXB:=USE:="-";
+  f_ext:=cntM:=mc_row:=ex_row:=ad_row:=op_row:=info_cnt:=err_cnt:=0;
+  let ext=ext_to_fig; let add=add_to_molecule; let ++=add_to_molecule; let **=ext_to_fig;
+  def '' = define_parts enddef; def '` = readm enddef;
+  def \ = drawm enddef; def \\ = putm enddef;
+  def \* = checkm enddef; def $ = getm enddef; def @ expr p = mposition:=p; enddef;
+  def # expr p = fsize:=p; enddef; def #@ expr p = fmargin:=p; enddef; 
+  def `(expr s) = define_group_string(s)() enddef; def `` = define_group_string enddef;
+  def ## expr p = msize:=p; enddef; def |=(expr n) = blength:=n; enddef;
+  def |<(expr n) = max_blength:=n; enddef; def _ expr s = EN:=s; enddef;
+  pcode_num:=pcode_usr_start; pcode_int:=pcode_int_start; fig_num:=fig_num+1;
+  mol_pic[0]:=nullpicture;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def endfigm=
+  %--------------------------------------------------------------------------------------------
+  if cntM>=1:
+  %--------------------------------------------------------------------------------------------
+  if scan_bit(sw_output,Fig):
+    if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
+    beginfig(fig_num)
+    %------------------------------------------------------------------------------------------
+      if sw_ext_all=1: ext_to_fig(EXT_ALL); fi
+      if sw_trimming>=1:
+        nA:=nC:=4095; nB:=nD:=-4095;
+        for i=1 upto cntM:
+          if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
+          if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
+          if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
+          if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
+        endfor
+        fig_wd:=nB-nA+2xpart(fmargin); fig_ht:=nD-nC+2ypart(fmargin); fsize:=(fig_wd,fig_ht);
+        for i=1 upto cntM:
+          posM[0][i]:=posM[0][i]+fmargin-(nA,nC); posM[1][i]:=posM[1][i]+fmargin-(nA,nC);
+        endfor
+      fi
+      %----------------------------------------------------------------------------------------
+      if scan_bit(sw_frame,Outside): draw_frame((0,0),fsize,thickness_frame);
+      else:                          draw_corner(fsize,0.004); fi
+      if scan_bit(sw_frame,Inside): draw_frame(fmargin,fsize-2fmargin,thickness_frame); fi
+      for i=1 upto cntM:
+        addto currentpicture also mol_pic[i] shifted posM[0][i]; mol_pic[i]:=nullpicture;
+        if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],(w[i],h[i]),thickness_frame)) fi
+      endfor
+      if f_ext=1: addto currentpicture also mol_pic[0]; mol_pic[0]:=nullpicture; fi
+    %-----------------------------------------------------------------------------------------
+    endfig;
+    clearit;
+  fi
+  %---------------------------------------------------------------------------------------------
+  if scan_bit(sw_output,Report): proc_report_out; fi
+  if scan_bit(sw_output,MOL2k):  proc_mol_out(2000); fi
+  if scan_bit(sw_output,MOL3k):  proc_mol_out(3000); fi
+  %---------------------------------------------------------------------------------------------
+  ef scan_bit(sw_output,Fig):
+    EN_:="no_figure";
+    beginfig(fig_num)
+    defaultscale:=.6; draw_frame((0,0),fsize,thickness_frame) label("no figure",0.5fsize);
+    endfig;
+    clearit;
+  fi
+  %---------------------------------------------------------------------------------------------
+  if err_cnt=0:
+    if scan_bit(sw_output,Mcode):  proc_mc_out;         message "["&decimal(fig_num)&"]:"&EN; fi
+    if scan_bit(sw_output,Report): proc_report_out;     message "["&decimal(fig_num)&"]:"&EN; fi
+    if scan_bit(sw_output,MOL2k):  proc_mol_out(2000);  message "["&decimal(fig_num)&"]:"&EN; fi
+    if scan_bit(sw_output,MOL3k):  proc_mol_out(3000);  message "["&decimal(fig_num)&"]:"&EN; fi
+  fi
+  %---------------------------------------------------------------------------------------------
+  restore_par(parameter_list);
+  endgroup;
+  message EN;
+enddef;
+%=================================================================================================
+def readm(text s)=
+  save fw_n,bw_n;
+  for list=s:
+    fw_n:=scan_char(" ",list,1,1)-1; bw_n:=scan_char(" ",list,-1,1);
+    mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=substring(fw_n,bw_n) of list; mc:=mc&mc[mc_row];
+  endfor
+enddef;
+%=================================================================================================
+def getm(expr a)=if string a: read_unit(get_adr("EN",a)) ef numeric a: read_unit(a) fi enddef;
+%-------------------------------------------------------------------------------------------------
+def read_unit(expr n)=
+  save nF; nF:=0;
+  if (n>=1)and(n<=ucount):
+    for i=1 upto info[n]:
+      for j=1 upto tag_cnt: if lib_tag[n][i]=tag[j]: scantokens(tag[j]):=lib_val[n][i]; fi endfor
+    endfor
+    for i=1 upto unit_lines[n]:
+      temps:=row[n][i]; firstc:=subc(1,temps); exitif firstc=";";
+      if firstc=":": nF:=1; ef firstc="=": nF:=2; ef firstc="*": nF:=3; ef firstc="+": nF:=4;
+      ef firstc="%":
+      else:
+        fw_n:=scan_char(" ",temps,1,1)-1; temps:=substring(fw_n,length(temps)) of temps;
+        if nF=1: mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=temps; mc:=mc&temps;
+        ef nF=2: op_indent[incr op_row]:=fw_n; op[op_row]:=temps; op:=op&temps;
+        ef nF=3: ex_indent[incr ex_row]:=fw_n; ex[ex_row]:=temps; ex:=ex&temps;
+        ef nF=4: ad_indent[incr ad_row]:=fw_n; ad[ad_row]:=temps; ad:=ad&temps;
+        fi
+      fi
+    endfor
+  fi 
+enddef;
+%=================================================================================================
+vardef get_adr(expr t,v)=
+  save adr_n; adr_n:=0;
+  for n=1 upto ucount:
+    for i=1 upto info[n]:
+      for j=1 upto tag_cnt: if (lib_tag[n][i]=t)and(lib_val[n][i]=v): adr_n:=n; fi endfor
+      exitif adr_n>=1;
+    endfor
+  endfor
+  message if adr_n>1: "* found [" else: "* not found [" fi &v&"]"&"("&decimal(adr_n)&")";
+  adr_n
+enddef;
+%-------------------------------------------------------------------------------------------------
+def putm=
+  if op_row>=1: scantokens(op) fi
+  if mc_row>=1: if checkm(mc)=0: drawm(scantokens(mc)) fi fi
+  if ad_row>=1: add(scantokens(ad)) fi
+  if ex_row>=1: ext(scantokens(ex)) fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+vardef define_parts(text t)= pcode_num:=pcode_num+1; read_mcf(pcode_num)(t); pcode_num enddef;
+vardef abs_adress primary n = if n LT 0:: (n+360)-4095 else:: n-4095 fi enddef;
+primarydef a from_until b = (_from,a),(_until,b) enddef;
+primarydef a op_quot b = add_parts(a,b) enddef;
+primarydef a bond__bond b = (a,b) enddef;
+primarydef a bond___bond b = (a+2000,b) enddef;
+primarydef a bond____bond b = (a+2000,b+2000) enddef;
+tertiarydef a op_equ b = if (known a)and(known b):: change_bond(a,b) else:: _nop fi enddef; 
+tertiarydef a op_col b = if (known a)and(known b):: change_atom(a,b) else:: _nop fi enddef;
+tertiarydef a op_hat b = if known b:: (_tmp_rot,b),a  else:: _nop,a fi enddef;
+tertiarydef a op_til b = if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
+tertiarydef a op_lth b = if known b:: (_tmp_env,b),a  else:: _nop,a fi enddef;
+tertiarydef a op_bqu b = if known b:: (_tmp_len,b),a  else:: _nop,a fi enddef;
+def rot_angle primary n = (_rot_ang,n) enddef; def cyc_atom  primary n = (_cyc,n) enddef;
+def jump_atom_abs primary a =
+  if numeric a:: (_jp_atom,$a) ef pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi enddef;
+def jump_atom primary a =
+  if numeric  a:: (_jp_atom,a) ef pair a:: <$0,angle(a)~0`length(a),<$0 fi enddef;
+def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
+def group_si secondary n = if known n:: (_group_si,n) else:: _nop fi enddef;
+def group_dm secondary n = if known n:: (_group_dm,n) else:: _nop fi enddef;
+def group_wf secondary n = if known n:: (_group_wf,n) else:: _nop fi enddef;
+def group_zf secondary n = if known n:: (_group_zf,n) else:: _nop fi enddef;
+def group_wv secondary n = /n~wv enddef;  def group_nb secondary n = /n~nb enddef;
+%=================================================================================================
+def read_mcf(expr n)(text t)=
+  begingroup
+  if unknown inside_mc::
+    save /,//,*,/*,*/,**,*/*,~,^,`,',<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,
+         --,---,----,CP,CA,CC,DL,FR,inside_mc;
+    inside_mc:=1; | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=NO_ATOM;
+    \:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv; let ' == op_quot;
+    let = ==op_equ; let : ==op_col; let ^ ==op_hat; let ~ ==op_til; let > ==op_lth;
+    let ` ==op_bqu; let -- == bond__bond; let --- == bond___bond; let ---- == bond____bond;
+    let } == ); let @$ ==jump_atom_abs; let < ==rot_angle; let @ ==jump_atom; let & ==cyc_atom;
+    let # ==chg_length; let / ==group_si; let // ==group_dm; let */ ==group_wf; let /* ==group_zf;
+    let */* ==group_wv; let ** ==group_nb; let CP == pcode_add; let CA == pcode_add_adr;
+    let FR == fuse_ring_bonds; def DL(expr p)==CA(_set_line,dl,p) enddef;
+    def CB(expr p)==CP(_mk_bond,p) enddef; def CC(expr p)==CP(_com,p) enddef;
+    def $ ==abs_adress enddef; def &$ ==&.$ enddef; def { ==read_adress( enddef;
+    def * primary p == (_numeric_inv,p) enddef;
+  fi
+  %----------------------------------------------------------------------------------------------
+  pcode_cnt[n]:=0;
+  for list==t::
+    if known list::
+      if pair list::
+        pcode_com[n][Incr pcode_cnt[n]]:=xpart(list); pcode_par[n][pcode_cnt[n]]:=ypart(list);
+      ef numeric list::
+        if list==_nop:: message "unknown command in "AND decimal(n);
+        ef list>=pcode_emb_start:: expand_pcode(n,list);
+        else:: pcode_com[n][Incr pcode_cnt[n]]:=_mk_bond; pcode_par[n][pcode_cnt[n]]:=list;
+        fi
+      fi
+    else:: message "unknown command in "AND decimal(n);
+    fi
+  endfor
+  endgroup
+enddef;
+%-------------------------------------------------------------------------------------------------
+def expand_pcode(expr n,a)=
+  if n==0::
+    for i==1 upto pcode_cnt[a]::
+      if pcode_com[a][i]>=pcode_emb_start:: expand_pcode(n,pcode_com[a][i]);
+      else::
+        pcode_com[n][Incr pcode_cnt[n]]:=pcode_com[a][i];
+        pcode_par[n][pcode_cnt[n]]:=pcode_par[a][i];
+      fi
+    endfor
+  else:: pcode_com[n][Incr pcode_cnt[n]]:=a;
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef read_adress(text t)=
+  save :,';
+  let ' == , ; let : == from_until;
+  pcode_int:=pcode_int+1;
+  nA:=0;
+  for list==t::
+    if known list::
+      if numeric list::
+        if list==_nop:: message "unknown command in "AND decimal(pcode_int);
+        else:: pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=list;
+        fi
+      ef pair list::
+        if xpart(list)==_from:: nB:=ypart(list);
+        ef xpart(list)==_until::
+           for i==nB upto ypart(list)::
+             pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=i; endfor
+        else:: pcode_com[pcode_int][Incr nA]:=xpart(list); pcode_par[pcode_int][nA]:=ypart(list);
+        fi
+      fi
+    else:: message "unknown command in "AND decimal(pcode_int);
+    fi
+  endfor
+  pcode_cnt[pcode_int]:=nA; pcode_int
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef add_parts(expr a,b)=
+  if (pair a)and(pair b)::
+    pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
+    pcode_com[Incr pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b;
+    pcode_cnt[pcode_int]:=2;
+  elseif pair a::
+    pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
+    if b>=pcode_emb_start:: pcode_com[pcode_int][2]:=b;
+    else:: pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b;
+    fi
+    pcode_cnt[pcode_int]:=2;
+  elseif pair b::
+    if a>=pcode_int_start::
+      pcode_com[a][Incr pcode_cnt[a]]:=xpart b; pcode_par[a][pcode_cnt[a]]:=ypart b;
+    elseif a>=pcode_emb_start::
+      pcode_com[Incr pcode_int][1]:=a;
+      pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
+    else::
+      pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
+      pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
+    fi
+  elseif (a LT pcode_emb_start)and(b LT pcode_emb_start)::
+    pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
+    pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
+  elseif (a>=pcode_int_start)and(b LT pcode_int_start)::
+    if b>=pcode_emb_start:: pcode_com[a][Incr pcode_cnt[a]]:=b;
+    else:: pcode_com[a][Incr pcode_cnt[a]]:=_numeric; pcode_par[a][pcode_cnt[a]]:=b;
+    fi
+  else:: pcode_com[Incr pcode_int][1]:=a; pcode_com[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
+  fi
+  pcode_int
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def fuse_ring(expr a,b) =
+  CP(_jp_bond,a) CP(_rot_ang,180) CP(_get_len,a) CC(_len_s) CP(_chg_len,_ring_len)
+  for i==1 upto b-2:: CB(360 DIV b) endfor
+  CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def fuse_ring_bonds(expr s,e,b,c) =
+  CP(_jp_bond,s) CP(_rot_ang,180) CC(_len_s)
+  if b==6:: CP(_chg_len,1) for i==1 upto c-1:: CB(60) endfor
+  ef b==5:: if c==2:: CP(_chg_len,1.25) CB(80) ef c==3:: CP(_chg_len,1.1) CB(78) CB(72) fi
+  ef b==4:: CP(_chg_len,1.225) CB(105)
+  fi
+  CC(_len_e) if e<=0:: CP(_cyc_eB,e-c+1) else:: CP(_cyc_eB,e) fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def fuse_ring_size(expr a,b,c) =
+  CP(_jp_bond,a) CP(_rot_ang,180) CC(_len_s) CP(_chg_len,c DIV 10)
+  if b==5:: CB(72-((c-9) MUL 1.5)) CB(72+(c-9)) CB(72+(c-9))
+  ef b==6:: CB(60-(c-8)) for i==1 upto 3:: CB(60+((c-8) DIV 2)) endfor
+  ef b==7:: CB(360 DIV 7-(c-8)) for i==1 upto 4:: CB(360 DIV 7+((c-8) DIV 2.5)) endfor
+  ef b==8:: CB(45-(c-8))  for i==1 upto 5:: CB(45+((c-8) DIV 3)) endfor
+  fi
+  CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi
+enddef;
+%=================================================================================================
+vardef change_bond(expr a,b) =
+  if known b:: pcode_int:=pcode_int+1; nC:=0;
+    if numeric b::
+      if (b>=si)and(b<=bd_)::
+        if a>=pcode_int_start::
+          for i==1 upto pcode_cnt[a]::
+            if pcode_com[a][i]==_numeric:: CA(_set_line,b,pcode_par[a][i])
+            elseif pcode_com[a][i]==_numeric_inv::
+              if b==dl:: CA(_set_line,dr,pcode_par[a][i])
+              ef b==dr:: CA(_set_line,dl,pcode_par[a][i]) fi
+            fi
+          endfor
+        else:: CP(_set_adr,a) CP(_set_line,b)
+        fi
+      elseif (b>=?3)and(b<=?8[15])::
+        if numeric a::
+          if a>=pcode_int_start::
+            for i==1 upto pcode_cnt[a]::
+              if pcode_com[a][i]==_numeric::
+                if b==Ph1:: fuse_ring(pcode_par[a][i],6) DL(-2) DL(-4)
+                ef b==Ph2:: fuse_ring(pcode_par[a][i],6) DL(-1) DL(-3) DL(-5)
+                ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
+                else:: fuse_ring(pcode_par[a][i],b-?3+3) fi
+              else::
+                if b==?6:: 
+                  if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
+                    FR(pcode_com[a][i],pcode_par[a][i],6,4)
+                  ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],6,3)
+                  else:: FR(pcode_com[a][i]-2000,pcode_par[a][i]-2000,6,2)
+                  fi
+                ef b==?5::
+                  if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
+                    FR(pcode_com[a][i],pcode_par[a][i],5,3)
+                  ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],5,2)
+                  fi
+                ef b==?4::  FR(pcode_com[a][i],pcode_par[a][i],4,2)
+                ef b==Ph1:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-1) DL(-3)
+                ef b==Ph2:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-2) DL(-4)
+                fi
+              fi
+           endfor
+          else::
+            if b==Ph1:: fuse_ring(a,6) DL(-2) DL(-4)
+            ef b==Ph2:: fuse_ring(a,6) DL(-1) DL(-3) DL(-5)
+            ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
+            else:: fuse_ring(a,b-?3+3)
+            fi
+          fi
+        ef pair a::
+          if b==?6:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,6,4)
+                     ef ypart a<=1800:: FR((xpart a)-2000,ypart a,6,3)
+                     else:: FR((xpart a)-2000,(ypart a)-2000,6,2)
+                     fi
+          ef b==?5:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,5,3)
+                     ef ypart a<=1800:: FR((xpart a)-2000,ypart a,5,2)
+                     fi
+          ef b==?4:: FR(xpart a,ypart a,4,2)
+        fi
+      fi
+    fi
+    elseif color b:: cntC:=cntC+1; color_list[cntC]:=b; CA(_set_colorB,cntC,a) fi
+    pcode_cnt[pcode_int]:=nC; pcode_int
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef change_atom(expr a,b)=
+  if known b:: pcode_int:=pcode_int+1; nC:=0;
+    if numeric b::
+      if (b GT pcode_emb_start)and(b<=pcode_atm_end):: CA(_chg_atom,b,a)
+      ef b==NH::  CA(_chg_atom,N,a) if sw_expand==0:: CP(_tmp_line,nl) fi
+                  CC(_group_s) CA(_group_si,H,a) CC(_group_e)
+      ef b==N?::  CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+      ef b==N?2:: CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,!,a) CC(_group_e)
+      ef b==?O::  CC(_group_s) CA(_group_dm,O,a) CC(_group_e)
+      ef b==?NH:: CC(_group_s) CA(_group_dm,NH,a) CC(_group_e)
+      ef b==??::  CP(_tmp_rot, 35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+                  CP(_tmp_rot,-35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+      ef b==n_::  CC(_group_s) CP(_set_add,MIS) CP(_chg_add,a) CC(_group_e)
+      ef b==p_::  CC(_group_s) CP(_set_add,PLS) CP(_chg_add,a) CC(_group_e)
+      fi
+    ef pair b::
+      CC(_group_s)
+      if a>=pcode_emb_start::
+        for i==1 upto pcode_cnt[a]::
+          if pcode_com[a][i]==_numeric:: CA(xpart(b),ypart(b),pcode_par[a][i])
+          elseif pcode_com[a][i]==_numeric_inv::
+            if xpart(b)==_group_wf:: CA(_group_zf,ypart(b),pcode_par[a][i])
+            ef xpart(b)==_group_zf:: CA(_group_wf,ypart(b),pcode_par[a][i]) fi
+          else:: CP(pcode_com[a][i],pcode_par[a][i])
+          fi
+        endfor
+      else:: CA(xpart(b),ypart(b),a) fi
+      CC(_group_e)
+    ef color b:: cntC:=cntC+1; color_list[cntC]:=b; CA(_set_colorA,cntC,a)
+    fi
+    pcode_cnt[pcode_int]:=nC; pcode_int
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def pcode_add(expr c,p)= pcode_com[pcode_int][Incr nC]:=c; pcode_par[pcode_int][nC]:=p; enddef;
+def pcode_add_adr(expr c,p,a)=
+  if a>=pcode_emb_start::
+    for i==1 upto pcode_cnt[a]::
+      if pcode_com[a][i]==_numeric:: pcode_add(_set_adr,pcode_par[a][i]) pcode_add(c,p) 
+      else:: pcode_add(pcode_com[a][i],pcode_par[a][i])
+      fi
+    endfor
+  else:: pcode_add(_set_adr,a) pcode_add(c,p)
+  fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def ext_setup=
+  pickup pencircle scaled ext_defaultline;
+  dotlabeldiam:=3; labeloffset:=3; em:=defaultscale*defaultsize; defaultfont:=mpfont;
+  let # = scaled; let << = rotated; let => = shifted; __ = (1,0); An:=cntA; Bn:=cntB;
+  primarydef a /* b = point b of a enddef;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def add_to_molecule(text t)=
+  begingroup
+  save w,h,n,l,p,am,aw,A,B,An,Bn,plus,minus,lonepair,__,#,=>,<<,/*;
+  numeric A[]dir,B[]up,A[]ang,B[]ang;
+  pair __,p[],A[],B[]s,B[]e,B[]m,A[]up,A[]left,A[]right,A[]down,B[]up,B[]left,B[]right,B[]down;
+  path B[];
+  def plus = circled_plus_add enddef; def minus = circled_minus_add enddef;
+  def lonepair = lone_pair_add enddef;
+  ext_setup;
+  w:=mol_wd; h:=mol_ht; l:=blen; aw:=atom_wd; p0:=(minX,minY);
+  lonepairdiam:=0.3aw; lonepairspace:=.7aw; circlediam:=.6aw; circlepen:=.2;
+  for i=1 upto cntA:
+    A[i]:=posA[i]; A[i]ang:=angX[i]; A[i]up:=dir(angX[i]);
+    A[i]left:=dir(angX[i]+90); A[i]right:=dir(angX[i]-90); A[i]down:=dir(angX[i]+180);
+  endfor
+  for i=1 upto cntB:
+    B[i]s:=posA[sB[i]]; B[i]e:=posA[eB[i]]; B[i]m:=0.5[B[i]s,B[i]e]; B[i]:=B[i]s--B[i]e;
+    B[i]ang:=angB[i]; B[i]up:=dir(angB[i]);
+    B[i]down:=dir(angB[i]+180); B[i]left:=dir(angB[i]+90); B[i]right:=dir(angB[i]-90);
+  endfor
+  t addto mol_pic[cntM] also currentpicture; clearit;
+  endgroup;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def ext_to_fig(text t)=
+  begingroup
+  save w,h,An,Bn,wd,ht,n,p,am,aw,__,#,<<,=>,/*;
+  pair __,p[];
+  ext_setup;
+  w:=xpart(fsize); h:=ypart(fsize);
+  w0:=w-2xpart(fmargin); h0:=h-2ypart(fmargin); p0:=fmargin; aw:=atom_wd; n:=cntM;
+  for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor
+  t addto mol_pic[0] also currentpicture; clearit; f_ext:=1;
+  endgroup;
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef circled_plus_add= nA:=circlediam; nB:=circlepen;
+  image(draw fullcircle scaled nA wpcs nB;
+        draw (-.5nA,0)--(.5nA,0) wpcs nB; draw (0,-.5nA)--(0,.5nA) wpcs nB;)
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef circled_minus_add= nA:=circlediam; nB:=circlepen;
+  image(draw fullcircle scaled nA wpcs nB; draw (-.5nA,0)--(.5nA,0) wpcs nB;)
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef lone_pair_add expr n=
+  image(draw (0,0) wpcs lonepairdiam; draw ((0,lonepairspace) rotated n) wpcs lonepairdiam;)
+enddef;
+%=================================================================================================
+def drawm(text t)=
+  begingroup
+  save f_bra,temp_strA,temp_lenE,temp_lenF,temp_cntB,f_term,f_at,f_lineT,f_rotT,angL,lenL,cpos,
+       tpos,f_lenT,f_envT,factor,m_wd,m_ht,raise_pos,slen,sdir,char_wd,char_ht,tcol,f_col,knownA,
+       group_num,markA,markB,saveA,saveB,bondL,lenT,lineT,angT,rotT,envT,envB,rate_cr,posBs,posBe,
+       group_par,group_cnt,group_com,colorA,colorB,aW,aH,fW,fH,hW,hW,hH,qH,fP,hP,ww,aw,ap,am,
+       Ls,Le,pA,zA,zL;
+  numeric group_com[][],group_par[][],group_cnt[],colorA[],colorB[];
+  pair cpos,tpos,raise_pos,posBs,posBe,pA,Ls,Le;
+  path frameA[],zA,zL;
+  %-----------------------------------------------------------------------------------------------
+  if sw_expand=1: rate_cr:=1; else: rate_cr:=-ratio_chain_ring; fi
+  cntA:=cntB:=cntC:=group_num:=0; str_tbl[0]:="C"; str_cnt:=2000;
+  %-----------------------------------------------------------------------------------------------
+  fig_wd:=xpart(fsize); fig_ht:=ypart(fsize);
+  %===============================================================================================
+  read_mcf(0)(t,(_com,_term));
+  proc_bond_atom(0)(1);
+  if (group_num>0)and(not scan_bit(sw_abbreviate,Group)): expand_group(1); fi
+  %-scaling---------------------------------------------------------------------------------------
+  if     blength>1: blen:=blength;        proc_size_setup; proc_skeleton(0); proc_scaling;
+  elseif blength>0: blen:=fig_wd*blength; proc_size_setup; proc_skeleton(0); proc_scaling;
+  else:
+    blen:=3mm;
+    proc_size_setup;
+    if xpart(msize)<1: m_wd:=fig_wd*xpart(msize); else: m_wd:=fig_wd; fi
+    if ypart(msize)<1: m_ht:=fig_ht*ypart(msize); else: m_ht:=fig_ht; fi
+    for i=1 upto 6:
+      proc_skeleton(0); proc_scaling;
+      if (mol_ht/mol_wd)>(m_ht/m_wd):
+        if ypart(msize)>1: factor:=ypart(msize)/mol_ht;
+        else: factor:=((fig_ht-2ypart(fmargin))*ypart(msize))/mol_ht; fi
+      else:
+        if xpart(msize)>1: factor:=xpart(msize)/mol_wd;
+        else: factor:=((fig_wd-2xpart(fmargin))*xpart(msize))/mol_wd; fi fi
+      exitif (factor>=1-eps)and(factor<=1+eps); blen:=blen*factor; proc_size_setup;
+    endfor
+    if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi
+  fi
+  %-----------------------------------------------------------------------------------------------
+  for i=1 upto cntA:
+    if addA[i]<>0:
+      tempc:=char(addA[i]);
+      if tempc="+": chargeA[i]:=1; ef tempc="-": chargeA[i]:=-1; else: chargeA[i]:=0; fi
+    else: chargeA[i]:=0;
+    fi
+  endfor
+  %===============================================================================================
+  if scan_bit(sw_output,Fig):
+    %-draw atom-----------------------------------------------------------------------------------
+    if sw_numbering=0: for i=1 upto cntA: if strA[i]<>0: draw_atom(i); fi endfor fi
+    %-draw add to atom----------------------------------------------------------------------------
+    if (not scan_bit(sw_numbering,Atom))and(not scan_bit(sw_numbering,Bond)):
+      for i=1 upto cntA:
+        if addA[i]<>0: draw_char(char(addA[i]),sfrt(posA[i],atom_wd,angX[i]+add_rot[i])); fi
+      endfor
+    fi
+    %-draw bond-----------------------------------------------------------------------------------
+    for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
+    for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
+    %-atom numbering------------------------------------------------------------------------------
+    if scan_bit(sw_numbering,Atom):
+      for i=1 upto cntA:
+        if (i>=numbering_start)and(i<=numbering_end):
+          defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
+          if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
+          erase fill unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2));
+          draw unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2)) wpcs 0.1;
+          label(decimal(i),posA[i]);
+        fi
+      endfor
+    fi
+    %-bond numbering------------------------------------------------------------------------------
+    if scan_bit(sw_numbering,Bond):
+      for i=1 upto cntB:
+        if (i>=numbering_start)and(i<=numbering_end):
+          defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
+          if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
+          nH:=defaultsize*defaultscale; tpos:=.5[posA[sB[i]],posA[eB[i]]];
+          erase fill unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2));
+          draw unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2)) wpcs 0.1;
+          label(decimal(i),tpos);
+       fi
+      endfor
+    fi
+    %---------------------------------------------------------------------------------------------
+    if xpart(mposition)>1: nX:=xpart(mposition)-minX;
+    else: nX:=xpart(fmargin)-minX+(fig_wd-mol_wd-2xpart(fmargin))*xpart(mposition); fi
+    if ypart(mposition)>1: nY:=ypart(mposition)-minY;
+    else: nY:=ypart(fmargin)-minY+(fig_ht-mol_ht-2ypart(fmargin))*ypart(mposition); fi
+    posM[0][incr cntM]:=(nX,nY); posM1[cntM]:=(minX+nX,minY+nY); posM2[cntM]:=(maxX+nX,maxY+nY);
+    wdM[cntM]:=mol_wd; htM[cntM]:=mol_ht;
+    mol_pic[cntM]:=currentpicture;
+    clearit;
+  fi
+  if sw_output>=Calc: proc_calc(0); fi
+  endgroup;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def expand_group(expr n)=
+  save_group_num:=group_num; save_pcode_cnt:=pcode_cnt[0];
+  for i=n upto group_num:
+    for j=1 upto group_cnt[i]:
+      if group_com[i][j]>=pcode_emb_start: expand_pcode(0,group_com[i][j]);
+      else: pcode_com[0][incr pcode_cnt[0]]:=group_com[i][j];
+            pcode_par[0][pcode_cnt[0]]:=group_par[i][j];
+      fi
+    endfor
+  endfor
+  proc_bond_atom(0)(save_pcode_cnt+1);
+  if group_num>save_group_num: expand_group(save_group_num+1); fi
+enddef;
+%=================================================================================================
+def draw_frame(expr o,p,n)=
+  draw ((0,0)--(xpart p,0)--p--(0,ypart p)--cycle) shifted o withpen pensquare scaled n; enddef;
+%-------------------------------------------------------------------------------------------------
+def draw_corner(expr p,n)=
+  draw (0,0) wpcs n; draw(xpart p,0) wpcs n; draw p wpcs n; draw(0,ypart p) wpcs n; enddef;
+%-------------------------------------------------------------------------------------------------
+def proc_size_setup=
+  atom_wd:=     blen*ratio_atom_bond+offset_atom;
+  wedge_wd:=    blen*ratio_wedge_bond+offset_wedge;
+  hash_gap:=    blen*ratio_hashgap_bond+offset_hash_gap;
+  bondgap:=     blen*ratio_bondgap_bond+offset_bond_gap;
+  bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def proc_scaling=
+  minX:=minY:=4095; maxX:=maxY:=-4095;
+  for i=1 upto cntA:
+    nX:=xpart(posA[i]); nY:=ypart(posA[i]);
+    if strA[i]<>0:
+      nU:=nD:=nP:=nL:=nR:=0;
+      for j=1 upto length(str_tbl[strA[i]]):
+        tempc:=subc(j,str_tbl[strA[i]]);
+        if tempc="^": nU:=.5atom_wd; ef tempc="_": nD:=.5atom_wd;
+        ef (tempc<>"{")and(tempc<>"}"): nP:=nP+atom_wd*tbl_char_wd[ASCII(tempc)];
+        fi
+      endfor
+      if (angX[i]<=90)or(angX[i]>=270): nR:=nP; else: nL:=nP; fi
+      if (nX-nL+.5atom_wd)<minX: minX:=nX-nL+.5atom_wd; fi
+      if (nX+nR-.5atom_wd)>maxX: maxX:=nX+nR-.5atom_wd; fi
+      if (nY-nD-.5atom_wd)<minY: minY:=nY-nD-.5atom_wd; fi
+      if (nY+nU+.5atom_wd)>maxY: maxY:=nY+nU+.5atom_wd; fi
+    else: if nX<minX: minX:=nX; fi if nX>maxX: maxX:=nX; fi
+          if nY<minY: minY:=nY; fi if nY>maxY: maxY:=nY; fi
+    fi
+  endfor
+  mol_wd:=maxX-minX; mol_ht:=maxY-minY;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def proc_bond_atom(expr a)(expr n)=
+  f_bra:=f_term:=rotT:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=temp_strA:=f_at:=0;
+  bondL:=rate_cr; lenT:=rate_cr; sB[0]:=0; eB[0]:=1; lineT:=si;
+  addAT:=markA:=markB:=saveA:=saveB:=0;
+  %-----------------------------------------------------------------------------------------------
+  for i=n upto pcode_cnt[a]: nC:=pcode_com[a][i]; nP:=pcode_par[a][i];
+    if nC=_mk_bond: if (nP=0)and(rotT<>0): rotT:=0; fi add_atom(0);
+    ef nC=_set_adr: adrT:=nP;
+    ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
+                ef nP=_rest: markA:=saveA; markB:=saveB;
+                ef nP=_moff: markA:=markB:=0;
+                ef nP=_term: termA;
+                ef nP=_len_s:  temp_lenE:=bondL; ef nP=_len_e:  bondL:=temp_lenE;
+                ef nP=_len_ss: temp_lenF:=bondL; ef nP=_len_ee: bondL:=temp_lenF;
+                ef nP=_group_s: f_at:=1; if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi
+                                if lenT<>rate_cr: f_lenT:=1;  fi if envT<>hz: f_envT:=1; fi
+                ef nP=_group_e: f_at:=0; f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0;
+                                lineT:=si; lenT:=rate_cr; fi
+    ef nC=_set_atom: temp_strA:=nP;
+    ef nC=_group_si: add_group;
+    ef nC=_group_dm: lineT:=dm; add_group;
+    ef nC=_group_wf: lineT:=wf; add_group;
+    ef nC=_group_zf: lineT:=zf; add_group;
+    ef nC=_jp_bond:  termA; nA:=getB(nP); check_adrB(nA); sB[cntB+1]:=sB[nA]; f_bra:=1;
+    ef nC=_jp_atom:  termA; nA:=getA(nP); check_adrA(nA); sB[cntB+1]:=nA; f_bra:=1;
+    ef nC=_jp_absA:  sB[cntB+1]:=nP; f_bra:=1; temp_cntB:=cntB;
+    ef nC=_chg_atom: strA[getA(adrT)]:=pcode_par[nP][1];
+    ef nC=_chg_len:  if nP=_ring_len: bondL:=ringL; else: bondL:=nP; fi
+    ef nC=_get_len:  if nP=_tmp_len: if bondL=rate_cr: bondL:=lenT; fi
+                     ef nP=_ring_len:
+                       if lenT<>rate_cr: bondL:=lenT; else: if bondL<0: bondL:=1; fi fi
+                     else: ringL:=lenB[getB(nP)]; fi
+    ef nC=_tmp_len:  lenT:=nP;
+    ef nC=_set_line: lineB[getB(adrT)]:=nP;
+    ef nC=_tmp_line: lineT:=nP;
+    ef nC=_tmp_rot:  rotT:=nP;
+    ef nC=_cyc:      check_adrA(getA(nP)); add_atom(getA(nP));
+    ef nC=_cyc_eB:   add_atom(eB[getB(nP)]);
+    ef nC=_cyc_sB:   add_atom(sB[getB(nP)]);
+    ef nC=_chg_env:  envB:=nP;
+    ef nC=_tmp_env:  envT:=nP;
+    ef nC=_set_colorA: colorA[getA(adrT)]:=nP;
+    ef nC=_set_colorB: colorB[getB(adrT)]:=nP;
+    ef nC=_set_add: addAT:=nP;
+    ef nC=_chg_add: addA[getA(nP)]:=addAT; addAT:=0; if rotT<>0: add_rot[getA(nP)]:=rotT; fi
+    else:
+    fi
+  endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
+def add_group=
+  if f_at=1: nE:=getA(adrT); check_adrA(nE); else: nE:=cntA+1; fi
+  group_cnt[incr group_num]:=0; store_group(_jp_absA,nE)
+  store_group(_com,_mark)
+  store_group(_com,_len_s)
+  if lineT<>nb: store_group(_tmp_line,lineT) fi
+  if rotT<>0:   store_group(_rot_ang,rotT) fi
+  if lenT<>rate_cr: store_group(_chg_len,lenT)
+  ef bondL<>rate_cr: 
+    if bondL>=0: store_group(_chg_len,-bondL) else: store_group(_chg_len,bondL) fi fi
+  if envT<>hz:  store_group(_chg_env,envT) fi
+  if lineT=nl:  store_group(_chg_len,_size_atom) store_group(_adj_ang,0) fi
+  if lineT<>nb: store_group(_mk_bond,0) fi
+  if nP<>NO_ATOM:
+    for i=1 upto pcode_cnt[nP]: store_group(pcode_com[nP][i],pcode_par[nP][i]) endfor 
+  fi
+  store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
+  store_group(_com,_rest)
+  if f_lineT=0: lineT:=si; fi
+  if f_lenT=0:  lenT:=rate_cr; fi 
+  if f_rotT=0:  rotT:=0;   fi
+  if f_envT=0:  envT:=hz;  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def store_group(expr a,b)=
+  group_com[group_num][incr group_cnt[group_num]]:=a; 
+  group_par[group_num][group_cnt[group_num]]:=b;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def add_atom(expr n)=
+  lineB[incr cntB]:=lineT; lineT:=si;
+  if lenT=rate_cr: lenB[cntB]:=bondL; else: lenB[cntB]:=lenT; lenT:=rate_cr; fi
+  if f_bra=0: strA[incr cntA]:=temp_strA; sB[cntB]:=cntA;
+              addA[cntA]:=addAT; addAT:=temp_strA:=add_rot[cntA]:=0;
+              if rotT<>0: add_rot[cntA]:=rotT; rotT:=0; fi
+  else: f_bra:=0; fi
+  if n=0: eB[cntB]:=cntA+1; f_term:=0; else: eB[cntB]:=n; f_term:=1; fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def check_adrA(expr n)=
+  if (n>iif(f_term=0,cntA+1,cntA))or(n<=0): errmessage("cntA=[ "&decimal(n)&" ]"); fi enddef;
+def check_adrB(expr n)= if (n>cntB)or(n<=0): errmessage("cntB=[ "&decimal(n)&" ]"); fi enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def proc_skeleton(expr n)=
+  markA:=markB:=cntA:=cntB:=f_bra:=rotT:=f_term:=0;
+  envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=0; lineT:=si; angT:=mangle;
+  angA[0]:=angB[0]:=angX[0]:=0; posA[0]:=posBs:=posBe:=(0,0);
+  %-----------------------------------------------------------------------------------------------
+  for i=1 upto pcode_cnt[n]: nC:=pcode_com[n][i]; nP:=pcode_par[n][i];
+    if nC=_mk_bond: if (nP=0)and(rotT<>0):nP:=rotT; rotT:=0; fi add_bond(nP,1);
+    ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
+                ef nP=_rest: markA:=saveA; markB:=saveB;
+                ef nP=_moff: markA:=markB:=0; ef nP=_term: termB;
+                ef nP=_group_e: lineT:=si; lenT:=rate_cr; rotT:=envT:=0; fi
+    ef nC=_jp_bond: termB; nA:=getB(nP); posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
+    ef nC=_jp_atom: termB; adrT:=getA(nP); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
+    ef nC=_jp_absA: adrT:=nP; posBs:=posA[adrT]; angT:=angX[adrT];
+                    f_bra:=1; rotT:=0; temp_cntB:=cntB;
+    ef nC=_adj_ang: angT:=adjust_ang(angT);
+    ef nC=_rot_ang: if nP>-3700: angT:=(angT+nP) mod 360; else: angT:=(nP+4095) mod 360; fi
+    ef nC=_tmp_rot: rotT:=nP;
+    ef nC=_chg_env: envB:=nP;
+    ef nC=_tmp_env: envT:=nP;
+    ef nC=_cyc:     add_bond(angle(posA[getA(nP)]-posBs)-angT,0);
+    ef nC=_cyc_sB:  add_bond(angle(posA[sB[getB(nP)]]-posBs)-angT,0);
+    ef nC=_cyc_eB:  add_bond(angle(posA[eB[getB(nP)]]-posBs)-angT,0);
+    else:
+    fi
+  endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
+def add_bond(expr n,f)=
+  if n=_arrange_ang: nA:=arrange_ang(angT mod 360); else: nA:=n; fi
+  if f_bra=0:
+    adrT:=incr cntA; posA[cntA]:=posBs; angA[cntA]:=angT; 
+    angX[cntA]:=(angT+nA/2+iif(nA>=0,-90,90)) mod 360;
+  else: f_bra:=0; fi
+  cntB:=cntB+1;
+  if nA>-3700: angB[cntB]:=angT:=(angT+nA) mod 360; else: angB[cntB]:=angT:=nA+4095; fi
+  if f=1:
+    if lenB[cntB]=_size_atom: posBe:=sfrt(posBs,atom_wd,angT);
+    else:
+      nA:=lenB[cntB]; if nA<0: nB:=glu_atom(adrT)+glu_atom(cntA+1); nA:=abs(nA); else: nB:=0; fi
+      posBe:=sfrt(posBs,nA*blen+nB,angT); fi
+    posA[cntA+1]:=posBe; f_term:=0;
+  else: f_term:=1; fi
+  posBs:=posBe;
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef arrange_ang(expr n)=
+  if cntB=0: angT:=(angT-180) mod 360; 180
+  else: if envB>=pcode_emb_start: pcode_par[envB][cntB-temp_cntB]
+        else: if envB=hz: if n=0:  60 ef n<=90: -60 ef n<=180:  60 ef n<270: -60 else:  60 fi
+              ef envB=vt: if n=0: -60 ef n<90:   60 ef n<=180: -60 ef n<=270: 60 else: -60 fi
+              ef abs(envB)<=180: envB
+              fi
+        fi
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef adjust_ang(expr n)= if (n<40)or(n>320): 0 ef n<140: 90 ef n<220: 180 else: 270 fi enddef;
+%=================================================================================================
+vardef getA(expr n)= if n>=0: markA+n ef n>=-999: cntA+n+1 else: n+4095 fi enddef;
+vardef getB(expr n)= if n>=0: markB+n ef n>=-999: cntB+n+1 else: n+4095 fi enddef;
+%-------------------------------------------------------------------------------------------------
+def termA=
+  if f_term=0:
+    if f_bra=0: strA[incr cntA]:=temp_strA; addA[cntA]:=addAT; add_rot[cntA]:=rotT;
+                addAT:=temp_strA:=rotT:=0;
+    else: f_bra:=0;
+    fi
+    f_term:=1;
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def termB= if f_term=0: if f_bra=0: angX[incr cntA]:=angT; else:f_bra:=0; fi f_term:=1; fi enddef;
+%-------------------------------------------------------------------------------------------------
+vardef glu_atom(expr n)=
+ if strA[n]<>0: nE:=angT mod 90; nF:=0.5atom_wd; (iif(nE<45,sind nE,cosd nE)*nF)+++nF else: 0 fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_atom(expr n)=
+  if atomfont<>"draw": defaultfont:=atomfont; defaultsize:=atom_wd; fi
+  temps:=str_tbl[strA[n]]; slen:=length(temps); nC:=nS:=0; raise_pos:=(0,0); tpos:=posA[n];
+  if (angX[n]<=90)or(angX[n]>=270): sdir:=1; else: sdir:=-1; fi
+  for i=1 upto slen:
+    if nC=0: tempc:=subc(i,temps);
+      if (sdir=-1)and(tempc="{"):
+        nD:=i; nC:=0; for j=nD upto slen: nC:=nC+1; exitif subc(j+1,temps)="}"; endfor
+      fi
+      else: nC:=nC-1; tempc:=subc(nD+nC,temps); fi
+    if tempc="_": raise_pos:=iif(raise_pos=(0,0),(0,-.5atom_wd),(0,0));
+    ef tempc="^": raise_pos:=iif(raise_pos=(0,0),(0, .5atom_wd),(0,0));
+    ef (tempc<>"{")and(tempc<>"}"):
+      nS:=nS+1; char_wd:=atom_wd*tbl_char_wd[ASCII(tempc)]; char_ht:=atom_wd;
+      if nS=1: if (sdir=-1)and(char_wd<atom_wd): tpos:=tpos+((atom_wd-char_wd)/2,0); fi 
+      else: tpos:=tpos+(.5char_wd*sdir,0); fi
+      tcol:=colorA[n]; f_col:=0;
+      if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1; fi fi
+      if atomfont="draw": draw_char(tempc,tpos+raise_pos); else: label(tempc,tpos+raise_pos); fi
+      if f_col=1: drawoptions(); fi
+      tpos:=tpos+(.5char_wd*sdir,0);
+    fi
+  endfor
+  nA:=0.56atom_wd; nB:=0.06atom_wd;
+  if sdir=1: frameA[n]:=posA[n]-(nA,nA)--tpos+(nB,-nA)--tpos+(nB,nA)--posA[n]+(-nA,nA)--cycle;
+  else:      frameA[n]:=tpos-(nB,nA)--posA[n]+(nA,-nA)--posA[n]+(nA,nA)--tpos+(-nB,nA)--cycle;
+  fi
+  if scan_bit(sw_frame,Atom): draw frameA[n] wpcs thickness_frame; fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_bond(expr n)=
+  nL:=lineB[n]; angL:=angB[n]; nS:=sB[n]; nE:=eB[n]; f_col:=0;
+  tcol:=colorB[n]; zL:=posA[nS]--posA[nE]; ww:=wedge_wd; ap:=angL+90; am:=angL-90; aw:=atom_wd;
+  %-----------------------------------------------------------------------------------------------
+  if (strA[nS]=0)and(strA[nE]=0)or(sw_numbering>=1):
+                 Ls:=posA[nS];          Le:=posA[nE];          pA:=(.1,.9);
+  ef strA[nS]=0: Ls:=posA[nS];          Le:=zL ISP frameA[nE]; pA:=(.15,1);
+  ef strA[nE]=0: Ls:=zL ISP frameA[nS]; Le:=posA[nE];          pA:=(0,.85);
+  else:          Ls:=zL ISP frameA[nS]; Le:=zL ISP frameA[nE]; pA:=(0,1); fi
+  zA:=Ls--Le; lenL:=length(Le-Ls);
+  %-----------------------------------------------------------------------------------------------
+  if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1;fi fi
+  pickup pencircle scaled bond_pen_wd;
+  if (nL=si)or(scan_bit(sw_abbreviate,Bond)): draw zA;
+  ef nL=dl: draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
+  ef nL=dr: draw zA; draw sfrt(subpath pA of zA,bondgap,am);
+  ef nL=dm: draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
+  ef nL=db: nA:=iif(((angL-angX[nS]) mod 360)<=180,ap,am);
+            draw zA; draw sfrt(subpath pA of zA,bondgap,nA);
+  ef nL=tm: draw zA; draw sfrt(zA,bondgap,ap); draw sfrt(zA,bondgap,am);
+  ef nL=wf: fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
+  ef nL=wb: fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
+  ef nL=bd: draw zA withpen penrazor rotated ap scaled bondgap;
+  ef nL=bz: bz_put(sfrt(Ls,ww,ap),sfrt(Le,ww,ap),sfrt(Ls,ww,am),sfrt(Le,ww,am));
+  ef nL=zf: wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
+  ef nL=zb: wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
+  ef nL=dt: for i=0 step .75hash_gap/lenL until 1: drawdot i[Ls,Le]; endfor
+  ef nL=wv: nA:=.4bondgap; nB:=round(lenL/nA);
+            draw Ls for i=1 upto nB: ..controls(point (i-.5)/nB of sfrt(zA,nA,iif(odd i,ap,am)))
+                                     ..point i/nB of zA endfor
+  ef nL=wf_r: filldraw Ls--sfrt(Le,.35ww,am)--sfrt(Le,.35ww,ap)--cycle wpcs .05ww;
+  ef nL=wb_r: filldraw sfrt(Ls,.35ww,am)--Le--sfrt(Ls,.35ww,ap)--cycle wpcs .05ww;
+  ef nL=bd_r: draw zA wpcs .65bondgap;
+  ef nL=vf:  draw zA;draw sfrt(Le,bondgap,angL-150)--Le--sfrt(Le,bondgap,angL+150);
+  ef nL=vb:  draw zA;draw sfrt(Ls,bondgap,angL-30)--Ls--sfrt(Ls,bondgap,angL+30);
+  ef nL=si_: erase draw subpath (.15,.85) of zA wpcs 0.8bondgap; draw zA;
+  ef nL=dl_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,ap) wpcs 1.8bondgap;
+             draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
+  ef nL=dr_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,am) wpcs 1.8bondgap;
+             draw zA; draw sfrt(subpath pA of zA,bondgap,am);
+  ef nL=dm_: erase draw subpath(0.15,0.85) of zA wpcs 1.8 bondgap;
+             draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
+  ef nL=wf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
+             fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
+  ef nL=wb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
+             fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
+  ef nL=zf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
+             wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
+  ef nL=zb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
+             erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
+             wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
+  ef nL=bd_: erase draw subpath(0.15,0.85) of zA wpcs 1.6bondgap;
+             draw zA withpen penrazor rotated ap scaled bondgap;
+  ef nL=nb:
+  %-- bond type for glycan ----------------------------------------------------------------------
+  ef nL=arc_lb:  draw Ls--Ls-(0,aw)..posA[nE]+(-1.2aw,0)..posA[nE]-(.6aw,0);
+  ef nL=arc_br:  draw posA[nS]+(.6aw,0)..posA[nS]+(1.2aw,0)..Le-(0,aw)--Le;
+  ef nL=arc_lbr: draw posA[nS]+(0,iif(strA[nS]=0,0,-.6aw))--posA[nS]+(0,-.8aw)
+                      ..0.5[posA[nS],posA[nE]]+(0,-1.7aw)..posA[nE]+(0,-.8aw)
+                      --posA[nE]+(0,iif(strA[nE]=0,0,-.6aw));
+  ef nL=arc_ltr: draw posA[nS]+(0,iif(strA[nS]=0,0,0.6aw))--posA[nS]+(0,.8aw)
+                      ..0.5[posA[nS],posA[nE]]+(0,1.7aw)..posA[nE]+(0,.8aw)
+                      --posA[nE]+(0,iif(strA[nE]=0,0,.6aw));
+  %----------------------------------------------------------------------------------------------
+  fi
+  if f_col=1: drawoptions(); fi
+enddef;
+%------------------------------------------------------------------------------------------------
+def wz_put(expr a,b,c)=  nB:=round(lenL/hash_gap);
+  for i=1 upto nB: nA:=i/nB; if i=1: nD:=0; else: nD:=(i-ratio_hash_black)/nB; fi
+    fill nD[a,b]--nD[a,c]--nA[a,c]--nA[a,b]--cycle;
+  endfor
+enddef;
+%------------------------------------------------------------------------------------------------
+def bz_put(expr a,b,c,d)=  nB:=round(lenL/hash_gap);
+  for i=0 upto nB-1: nA:=i/nB; nD:=nA+ratio_hash_black/nB;
+    fill nA[b,a]--nA[d,c]--nD[d,c]--nD[b,a]--cycle;
+  endfor
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def char_size_set(expr w,h)(expr s)=
+  for j=1 upto length(s): nN:=ASCII(subc(j,s)); tbl_char_wd[nN]:=w; tbl_char_ht[nN]:=h; endfor
+enddef;
+%-------------------------------------------------------------------------------------------------
+char_size_set(   1,   1)("CGHMNOQW");
+char_size_set( 0.9,   1)("ABDFIJKPRSTUVXY");
+char_size_set( 0.8,   1)("ELZ");
+char_size_set( 0.7,   1)("0123456789nhtfg");
+char_size_set( 0.7, 0.7)("-+");
+char_size_set(0.45,0.95)("l");
+char_size_set(0.75, 0.8)("opq");
+char_size_set( 0.8, 0.8)("e");
+char_size_set( 0.9, 0.8)("wm");
+char_size_set( 0.7, 0.8)("abdcksuvrxyz");
+char_size_set(0.35, 0.9)("i");
+char_size_set( 0.5, 0.9)("j");
+%-------------------------------------------------------------------------------------------------
+def dw expr p = draw p shifted cpos enddef;
+def dwv expr p = draw p withpen penrazor scaled fP shifted cpos enddef;
+def dwvs(expr n) expr p = draw p withpen penrazor scaled (fP*n) shifted cpos enddef;
+def dwh expr p = draw p withpen penrazor rotated 90 scaled fP shifted cpos enddef;
+def cdw expr p = cutdraw p shifted cpos enddef;
+%-------------------------------------------------------------------------------------------------
+def Z_a=( 0,hP) enddef; def Z_b=(hP, 0) enddef; def Z_c=(hP,hP) enddef; def Z_d=(aW,hP) enddef;
+def Z_e=(fW, 0) enddef; def Z_f=(hW,aH) enddef; def Z_g=(hW, 0) enddef; def Z_h=( 0,hH) enddef;
+def Z_i=(hW,fW) enddef; def Z_j=( 0,qH) enddef; def Z_k=(aW,qH) enddef; def Z_l=(.75aW,0) enddef;
+def Z_m=(hP,hH) enddef; def Z_n=(fW,fH) enddef; def Z_o=(fW,hH) enddef; def Z_p=(hW,aW) enddef;
+def Z_q=( 0,fH) enddef; def Z_r=(hP,fH) enddef; def Z_s=(hW,fH) enddef; def Z_t=(fW,aH) enddef;
+def Z_u=(aW,fH) enddef; def Z_v=(aW,hH) enddef; def Z_w=(hP,aH) enddef; def Z_x=(hW,hP) enddef;
+def Z_y=(hW,hH) enddef; def Z_z=(fW,hP) enddef; 
+%-------------------------------------------------------------------------------------------------
+def circ_O = Z_o..(.8aW,fH-qP)..tension 1.5..(.2aW,fH-qP)..Z_m..
+     (.2aW,1.5hP)..tension 1.5..(.8aW,1.5hP)..cycle enddef;
+def circ_Oh = (hP,qH)..Z_x..(fW,qH)..Z_y..cycle enddef;
+def circ_Oa = (hP,0.35aH)..Z_x..(fW,0.35aH)..(hW,.7aH)..cycle enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_char(expr s,p)=
+  aW:=atom_wd*tbl_char_wd[ASCII(s)]*(1-2ratio_atomgap_atom);
+  aH:=atom_wd*tbl_char_ht[ASCII(s)]*(1-2ratio_atomgap_atom);
+  cpos:=p-(aW/2,atom_wd/2*(1-2ratio_atomgap_atom));
+  fP:=bond_pen_wd*ratio_char_bond;
+  hP:=fP/2; qP:=fP/4; fW:=aW-hP; hW:=aW/2; fH:=aH-hP; hH:=aH/2; qH:=aH/4;
+  %-----------------------------------------------------------------------------------------------
+  pickup pencircle scaled fP;
+  if s="C":  cdw sbp(.05,.95)circ_O;
+  ef s="H":  dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
+  ef s="O":  dw circ_O;
+  ef s="N":  dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
+  ef s="S":  cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
+  ef s="F":  dwh Z_q--Z_u; dwh (0,.45aH)--(fW,.45aH); dw Z_b--Z_r;
+  ef s="P":  dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
+  ef s="I": dwv Z_x--Z_s; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH);
+  ef s="l": dwv Z_g--Z_f; dwh Z_s--Z_r; dwh Z_x--Z_z;
+  ef s="2": cdw (hP,1.3hP)..(.4fW,.35fH)..(fW,.65aH)..Z_s..(hP,.65aH); dwh Z_d--Z_a;
+  ef s="3": cdw sbp(0,.75)circ_Oh; cdw sbp(.25,.98)circ_Oh shifted (0,hH-hP); dwh (.3aW,hH)--Z_y;
+  ef s="4": dwh Z_j--Z_k; dwv Z_l--(0.75aW,aH)--(1.2hP,qH+hP); dwv (.75aW+qP,aH)--(1.7hP,qH+hP);
+  ef s="-": dwh Z_m--Z_o;
+  ef s="+": dwv Z_x--Z_s; dwh Z_m--Z_o;
+  ef s="A": dwvs(1.14)Z_b--Z_f--Z_e; dw .33[Z_b,Z_f]--.33[Z_e,Z_f];
+  ef s="B": dw Z_r--Z_s{right}..(.9fH,.75aH)..{left}Z_y--Z_m--Z_y{right}..(.9fH,qH)..
+              {left}Z_x--Z_c; dwv Z_b--Z_w;
+  ef s="D": dw Z_r--Z_s..Z_o..Z_x--Z_c; dwv Z_b--Z_w;
+  ef s="E": pickup pensquare scaled fP; dw Z_z--Z_c--Z_r--Z_n; dw Z_m--Z_o;
+  ef s="G": cdw sbp(.06,.97)circ_O; dwh bot Z_y-- bot Z_v;
+  ef s="J": cdw Z_m..(hP,.4aH){down}..{right}Z_x{right}..{up}(fW,.4aH)..Z_t;
+  ef s="K": cdw Z_b--Z_w; cdw .35[.45[Z_b,Z_w],Z_u]--Z_e; cdw .35[Z_b,Z_w]--Z_u;
+  ef s="L": dwh Z_d--Z_a; dwv Z_b--Z_w;
+  ef s="M": dwv Z_b--Z_w; dwvs(1.14)Z_w--Z_x--Z_t; dwv Z_t--Z_e;
+  ef s="Q": dw circ_O; dw (.6aW,.4aH)--Z_e;
+  ef s="R": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
+            cdw Z_e{up}..{left}(hW,.44aH);
+  ef s="T": dwh Z_q--Z_u; dwv .5[Z_q,Z_u]--Z_g;
+  ef s="U": cdw Z_w..Z_m{down}..{right}Z_x{right}..{up}Z_o..Z_t;
+  ef s="V": dwvs(1.2)Z_w--Z_g--Z_t;
+  ef s="W": dwvs(1.08)Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
+  ef s="X": dwvs(1.4)Z_w..Z_e; dwvs(1.4) Z_b..Z_t;
+  ef s="Y": dwvs(1.2)Z_w--Z_y--Z_t; dwv Z_y--Z_g;
+  ef s="Z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
+  ef s="a": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_e--Z_t;
+  ef s="b": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_b--(hP,1.3aH)
+  ef s="c": cdw sbp(.06,.94)Z_o..Z_s..Z_m..Z_x..cycle;
+  ef s="d": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_e--(fW,1.3aH);
+  ef s="e": cdw sbp(0,.92)Z_o..Z_s..Z_m..Z_x..cycle; dw Z_o--Z_m;
+  ef s="f": cdw (.4fW,0)--(.4fW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z_h--Z_v;
+  ef s="g": dw circ_Oa; dw sbp(0,.5)circ_Oh shifted (0,-.5fH); cdw (fW,.7aH)--(fW,-qH);
+  ef s="h": cdw Z_b..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z_e; dwv (hP,.3aH)--Z_w;
+  ef s="i": dwv Z_g--(hW,.7aH); ppcs 1.4fP; dw Z_s;
+  ef s="j": cdw (fW,.7aH)--Z_z..(aW/4,-.66fP)..Z_c; ppcs 1.4fP; dw Z_n;
+  ef s="k": dwv Z_b--(hP,1.3fH); cdw .5[Z_b,Z_w]--Z_e; cdw .5[Z_b,Z_w]--Z_u;
+  ef s="m": cdw Z_b..(hP,.3aH){up}..(.28aW,fH)..{down}(hW,.3aH)..Z_g;
+            cdw (hW,.6aH){up}..(.7aW,fH)..{down}(fW,.6aH)..Z_e; dwv (hP,.3aH)--Z_w;
+  ef s="n": cdw Z_b{up}..(hW,.8fH)..{down}Z_o..Z_e; dwv Z_b--(hP,.8aH);
+  ef s="o": dw Z_x..Z_o..Z_s..Z_m..cycle;
+  ef s="p": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_w--(hP,-.3aH);
+  ef s="q": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_t--(fW,-.3aH);
+  ef s="r": cdw (sbp(.33,.72)Z_x..Z_o..Z_s..Z_m..cycle) shifted(0,-hP); dwv Z_b--Z_w;
+  ef s="s": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
+  ef s="t": dwv Z_g--Z_f; dwh (0,.66aH)--(aW,.66aH);
+  ef s="u": cdw Z_w..(hP,.55aH){down}..Z_x..(fW,.55aH){up}..Z_t; dwv Z_t--Z_e;
+  ef s="v": dwv Z_w--Z_g--Z_t;
+  ef s="w": dwv Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
+  ef s="x": dwvs(1.4)Z_w--Z_e; dwvs(1.4) Z_t--Z_b;
+  ef s="y": dwvs(1.4)(Z_w--Z_y) shifted (0,-.3aH); dwvs(1.4)(Z_t--Z_b) shifted (0,-.3aH);
+  ef s="z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
+  ef s="0": dw Z_m...Z_s...Z_o...Z_x...cycle;
+  ef s="1": dwv Z_g--(hW,aH-.3hP)--(hW-fP,aH-fP)--(hW-fP,aH-1.5fP);
+  ef s="5": dwh Z_q--Z_u; dwv Z_r--(hP,.55fH);
+            cdw (qP,.18aH)..(.65aW,1.3hP)..(fW,.4aH)..(hW,.63aH)..(.7hP,.56aH);
+  ef s="6": dw Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle; cdw (.8fP,hH)--Z_f;
+  ef s="7": dwh (0,.fH)--Z_u; dwvs(1.2)(aW-1.2hP,aH-fP)--(.4aW,0);
+  ef s="8": dw circ_Oh; dw (hP,.75aH)...Z_s...(fW,.75aH)...Z_y...cycle;
+  ef s="9": dw (Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW-.45fP,hH)--Z_g;
+  else:
+  fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def warning_bond(expr a)=
+  if addA[a]=0:
+    warning("A"&decimal(a)&" ( "&fsl(8)(str_tbl[strA[a]])&") has"&fdr(2)(bond_cntA)&" bonds");
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef erase_char(expr s)=
+  sS:="";
+  if (length(s)>=4)and(s<>"COOH"):
+    for i=1 upto length(s): sC:=subc(i,s); if scan_c(sC,"{}_^+")=0: sS:=sS&sC; fi endfor sS
+  else: s
+  fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef forbidden_to_underbar(expr t)=  sS:="";
+  for i=1 upto length(t):
+    sC:=subc(i,t); if scan_c(sC,forbiddens)>0: sS:=sS&"_"; else: sS:=sS&sC; fi
+  endfor
+  sS
+enddef;
+%=================================================================================================
+def proc_calc(expr n)=
+  MW_n:=MI_n:=tbl_atom_max:=warning_cnt:=hideH_cnt:=0; nE:=pcode_emb_start;
+  for i=1 upto tbl_atom_end: sumA[i]:=0; endfor
+  for i=1 upto cntA:
+    knownA:=bond_cntA:=0; nS:=strA[i];
+    for j=1 upto cntB:
+      bond_num[j]:=bond_type(lineB[j]);
+      if (sB[j]=i)or(eB[j]=i): bond_cntA:=bond_cntA+bond_num[j]; fi
+    endfor
+    Bcnt[i]:=bond_cntA;
+    if ((nS=0)or(nS=(C-nE)))and(bond_cntA<4):
+      hideH[i]:=4-bond_cntA; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0;
+    fi
+    if nS=0:         if bond_cntA>4:  warning_bond(i) fi
+    ef nS=(O-nE):    if bond_cntA<>2: warning_bond(i) fi
+    ef nS=(N-nE):    if (bond_cntA<>3)and(bond_cntA<>5): warning_bond(i) fi
+    ef nS=(S-nE):    if (bond_cntA<>2)and(bond_cntA<>4)and(bond_cntA<>6): warning_bond(i) fi
+    ef nS=(H-nE):    if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(OH-nE):   if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(COOH-nE): if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(NH2-nE):  if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(CN-nE):   if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(P-nE):    if bond_cntA<>5: warning_bond(i) fi
+    ef nS=(C-nE):    if bond_cntA>4:  warning_bond(i) fi
+    ef nS=(F-nE):    if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(Cl-nE):   if bond_cntA<>1: warning_bond(i) fi
+    ef nS=(Br-nE):   if bond_cntA<>1: warning_bond(i) fi
+    fi
+    for j=1 upto tbl_group_end:
+      if str_tbl[nS]=tbl_atom_str[j]:
+        if tbl_atom[j]=0: sumA[j]:=sumA[j]+1; if j>tbl_atom_max: tbl_atom_max:=j; fi
+        else:
+          for k=1 upto tbl_atom[j]:
+            sumA[tbl_group[j][k]]:=sumA[tbl_group[j][k]]+1;
+            if tbl_group[j][k]>tbl_atom_max: tbl_atom_max:=tbl_group[j][k]; fi
+          endfor
+        fi
+        knownA:=1;
+      fi
+      exitif knownA=1;
+    endfor
+    if knownA=0: warning(" Unknown Str("&str_tbl[strA[i]]&") is used "&decimal(i)); fi
+  endfor
+  %-------------------------------------------------------------------------------------
+  sumA[2]:=sumA[2]+hideH_cnt; if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi
+  for i=1 upto tbl_atom_max:
+    if sumA[i]>=1:
+      MW_n:= MW_n+tbl_atom_wt[i]*sumA[i]; MI_n:= MI_n+tbl_atom_mi[i]*sumA[i];
+      fm:=fm&erase_char(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi;
+    fi
+  endfor
+  mw:=substring(0,8) of decimal(MW_n); MI:=substring(0,10) of decimal(MI_n);
+enddef;
+%=================================================================================================
+def proc_report_out=
+  file_output:=jobname&"-report.txt";
+  printf "===========================================================================";
+  printf " No["&decimal(fig_num)&"],Name<"& EN&">,Category<"&CAT&">,File<"&file_input&">";
+  printf "---------------------------------------------------------------------------";
+  for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
+  printf "---------------------------------------------------------------------------";
+  printf " Row["&decimal(mc_row)&"],Length["&decimal(length(mc))&"],Block"&
+         "["&decimal(block_cnt+1)&"]"&",Code pair["&decimal(pcode_cnt[0])&
+         "],Warning["&decimal(warning_cnt)&"]";
+  printf "---------------------------------------------------------------------------";
+  printf "" for i=EQU,CLN,QES,AMK,AMP,HSH,GTN,BAR,QUT,TLD,HAT,BQT,LTN:
+              if tbl_asc[i]>=1: &" "&char(i)&"["&decimal(tbl_asc[i])&"]" fi
+            endfor ;
+  printf "---------------------------------------------------------------------------";
+  printf " Width["&fdr(8)(mol_wd)&"],Height["&fdr(8)(mol_ht)&"],"&
+         " Shift x["& fdr(8)(minX)&"],Shift y["&fdr(8)(minY)&"]";
+  printf " Bond length["&fdr(8)(blen)&"],Atom size["&fdr(8)(atom_wd)&"]";
+  printf "---------------------------------------------------------------------------";
+  printf " Atom["&decimal(cntA)&"],Bond["&decimal(cntB)&
+         "],Ring["&decimal(cntB-cntA+1)&"],Hide H["&decimal(hideH_cnt)&"]";
+  printf "< NO. ><atom(s) >(  x axis   ,   y axis   )<bond><hideH><chg>";
+  for i=1 upto cntA:
+    printf " A"&fdl(6)(i)&fsl(8)(erase_char(str_tbl[strA[i]]))&
+           " ("&fdr(10)(round(xpart(posA[i])/blen))&" , "&
+            fdr(10)(round(ypart(posA[i])/blen))&" ) "&fdr(4)(Bcnt[i])&
+            iif(hideH[i]>0,fdr(6)(hideH[i]),"        ") if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi;
+  endfor
+  printf "---------------------------------------------------------------------------";
+  printf "< NO. ><  bond   (sdt)><angle +(  +-  )><length (   pt   )>";
+  for i=1 upto cntB:
+    nC:=lenB[i]; if nC=_size_atom: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi
+    nB:=angB[i]; if nB>180: nB:=nB-360; fi
+    printf " B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])&
+           " ("&fdr(3)(bond_num[i])&")"&fdr(8)(round(angB[i]))&
+           " ("&fdr(6)(round(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round(nC*blen))&")";
+  endfor
+  printf "---------------------------------------------------------------------------";
+  printf "<atom>( atom wt )[ mi wt   ]  < cnt > < sum wt   >[ sum mi wt  ]";
+  for i=1 upto tbl_atom_max:
+    if sumA[i]>=1:
+      printf " "&fsl(5)(erase_char(tbl_atom_str[i]))&
+        "("&fdr(9)(tbl_atom_wt[i])&")"&"["&fdr(9)(tbl_atom_mi[i])&"]"&" * "&fdr(8)(sumA[i])
+        &"    "&fdr(7)(tbl_atom_wt[i]*sumA[i])&"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]";
+    fi
+  endfor
+  printf " Molecular Weight [Mono Isotopic] =   "&fsr(12)(mw)&"["&fsr(12)(MI)&"]";
+  printf "---------------------------------------------------------------------------";
+  printf " Weight Calc: "&mw if MW<>"-": &" - Input: "&MW&" = "&fdr(9)(MW_n-scantokens(MW)) fi;
+  printf " Fomula Calc: "&fm if FM<>"-": &" "&iif(fm=FM,"=","<>")&" Input: "&FM fi;
+  printf "===========================================================================";
+enddef;
+%=================================================================================================
+def proc_mol_out(expr n)=
+  if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
+  file_output:="m"&fit_zero(fig_num)&"-"&EN_&".mol";
+  %-V2000---------------------------------------------------------------------------------------
+  if n=2000:
+    printf ""; printf "  -MCFtoMOL- "&fsl(20)(EN); printf "";
+    printf fdr(3)(cntA)&fdr(3)(cntB)&"  0  0  0  0  0  0  0  0999 V2000";
+    for i=1 upto cntA:
+      printf fdr(10)(xpart(posA[i])/blen)& fdr(10)(ypart(posA[i])/blen)&fdr(10)(0)&" "&
+             fsl(2)(erase_char(str_tbl[strA[i]]))&"  0"&fdr(3)(bond_charge(chargeA[i]))&"  0  0";
+    endfor
+    for i=1 upto cntB:
+      if lineB[i]<>0: printf fdr(3)(sB[i])&fdr(3)(eB[i])&fdr(3)(bond_type(lineB[i]))&
+                      fdr(3)(bond_stereo(lineB[i]))&"     0  0";
+      fi
+    endfor
+    printf "M  END";
+  %-V3000---------------------------------------------------------------------------------------
+  elseif n=3000:
+    printf ""; printf "  -MCFtoMOL- "&fsl(20)(EN); printf "";
+    printf "  0  0  0  0  0  0  0  0  0  0  0 V3000"; 
+    printf "M  V30 BEGIN CTAB";
+    printf "M  V30 COUNTS "&decimal(cntA)&" "&decimal(cntB)&" 0 0 0";
+    printf "M  V30 BEGIN ATOM";
+    for i=1 upto cntA:
+      printf "M  V30 "&decimal(i)&" "&erase_char(str_tbl[strA[i]])&" "&
+             decimal(xpart(posA[i])/blen)&" "&decimal(ypart(posA[i])/blen)&" 0 0"
+             if chargeA[i]<>0: &" CHG="&decimal(chargeA[i]) fi;
+    endfor
+    printf "M  V30 END ATOM"; printf "M  V30 BEGIN BOND";
+    for i=1 upto cntB:
+      if lineB[i]<>0:
+        printf "M  V30 "&decimal(i)&" "&decimal(bond_type(lineB[i]))&
+               " "&decimal(sB[i])&" "&decimal(eB[i])
+               if bond_stereo(lineB[i])<>0: &" CFG="&decimal(bond_config(lineB[i])) fi;
+      fi
+    endfor
+    printf "M  V30 END BOND"; printf "M  V30 END CTAB"; printf "M  END"; fi
+enddef;
+%=================================================================================================
+def proc_mc_out=
+  file_output:="temp-mc.aux";
+  if mc_length<100:
+    nN:=split_str(mc,",")(arg_s); nA:=0; temps:="";
+    for i=1 upto nN:
+      if i=nN: temps:=temps&arg_s[i]; printf temps;
+      ef at_char[i+1]-nA>mc_length: nA:=at_char[i]; printf temps&arg_s[i]&","; temps:="";
+      else: temps:=temps&arg_s[i]&",";
+      fi
+    endfor
+  else: for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
+  fi
+  printf EOF;
+enddef;
+%=================================================================================================
+vardef fit_zero(expr n)= if n<=9: "00" ef n<=99: "0" else: "" fi &decimal(n) enddef;
+vardef bond_type(expr n)=
+  if (n>=dl)and(n<=dm_):2 ef n=tm:3 ef (n=0)or(n=vf)or(n=vb): 0 else: 1 fi enddef;
+vardef bond_charge(expr n)= if n=2: 1 ef n=1: 3 ef n=-1: 5 ef n=-2: 6 else: 0 fi enddef;
+vardef bond_stereo(expr n)=
+ if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 6 ef n=wv: 4 else: 0 fi enddef;
+vardef bond_config(expr n)=
+ if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 3 ef n=wv: 2 else: 0 fi enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+vardef define_atom(expr s,WT,MI)=
+  str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
+  pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
+  str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
+  tbl_atom_wt[tbl_cnt]:=WT; tbl_atom_mi[tbl_cnt]:=MI; pcode_num
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef define_group_string(expr s)(text t)=
+  str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
+  pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
+  str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
+  for list=t: tbl_group[tbl_cnt][incr tbl_atom[tbl_cnt]]:=list-pcode_emb_start; endfor
+  pcode_num
+enddef;
+%=================================================================================================
+def define_atom_group_parts=
+  save `,``,';
+  def `=define_atom enddef; def ``=define_group_string enddef; def '= define_parts enddef;
+  pcode_int:=pcode_emi_start; pcode_num:=pcode_emb_start;
+  ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
+  %-----------------------------------------------------------------------------------------------
+  C:= `("C"   ,12.0107,   12.0000000);       H:= `("H"  , 1.00794,    1.00782503223);
+  D:= `("D"   ,2.012,      2.01410177812);   Ag:=`("{Ag}",107.868,  106.905095);
+  Al:=`("{Al}",26.9815,   26.98153853);      As:=`("{As}",74.9216,   74.92159457);
+  B:= `("B"   ,10.811,    11.00930536);      Ba:=`("{Ba}",137.33,   136.905816);
+  Be:=`("{Be}",9.01218,   0);
+  Bi:=`("{Bi}",208.9804,  208.980338);       Br:=`("{Br}",79.904,    78.9183376);
+  Ca:=`("{Ca}",40.078,    39.962590863);     Cd:=`("{Cd}",112.41,     110.904182);
+  Cl:=`("{Cl}",35.453,    34.968852);        Co:=`("{Co}",58.933194, 58.93319429);
+  Cr:=`("{Cr}",51.9961,   51.94050623);      Cs:=`("{Cs}",132.905,   132.90543);
+  Cu:=`("{Cu}",63.546,    62.92959772);     
+  F:= `("F"   ,18.9984,   18.99840316273);   Fe:=`("{Fe}",55.845,    55.93493633);
+  Hg:=`("{Hg}",200.59,    201.97064340);     I:= `("I"   ,126.90447,126.9044719);
+  K:= `("K"   ,39.0983,   38.9637064864);    Li:=`("{Li}",6.941,      7.0160034366);
+  Mg:=`("{Mg}",24.305,    23.985041697);     Mn:=`("{Mn}",54.938044, 54.93804391);
+  Mo:=`("{Mo}",95.95,     0);
+  N:= `("N"   ,14.0067,   14.00307400443);   Na:=`("{Na}",22.98977,  22.9897692820);
+  Ni:=`("{Ni}",58.693,    57.93534241);      O:= `("O"   ,15.9994,   15.99491461957);
+  P:= `("P"   ,30.973762, 30.97376199842);   Pb:=`("{Pb}",207.2,    205.974455);
+  Pd:=`("{Pd}",106.4,    107.905075);
+  S:= `("S"   ,32.065,    31.9720711744);    Sb:=`("{Sb}",121.75,   120.90381);
+  Se:=`("{Se}",78.971,    79.9165218);       Si:=`("{Si}",28.0855,   27.97692653465);
+  Sn:=`("{Sn}",118.71,   119.90220163);      Ta:=`("{Ta}",180.948,   0);
+  Te:=`("{Te}",127.60,    129.90623);        Ti:=`("{Ti}",47.867,    47.94794198);
+  U:= `("U",   238.0289, 238.05079);         V:= `("V",   50.9415,   50.943957);
+  W:= `("W",   183.85,   181.948225);        Zn:=`("{Zn}",65.409,    63.92914201);
+  NO_ATOM:=`("",0,0);
+  tbl_atom_end:=tbl_cnt;
+  %-----------------------------------------------------------------------------------------------
+  if sw_expand=0:
+    CH3:=``("C{H_3_}")(C,H,H,H); CH2:=``("C{H_3_}")(C,H,H); CN:=``("CN")(C,N); OH:=``("OH")(O,H);
+    COOH:=``("COOH")(C,O,O,H); COONa:=``("COO{Na}")(C,O,O,Na); CHO:=``("CHO")(C,H,O);
+    NO:=``("NO")(N,O); NO2:=``("N{O_2_}")(N,O,O); NH2:=``("N{H_2_}")(N,H,H);
+    SH:= ``("SH")(S,H); SO2H:=``("S{O_2_}H")(S,O,O,H); SO3H:=``("S{O_3_}H")(S,O,O,O,H);
+    ONa:=``("O{Na}")(O,Na); SO3Na:=``("S{O_3_}{Na}")(S,O,O,O,Na);
+  fi
+  %-----------------------------------------------------------------------------------------------
+  tbl_group_end:=tbl_cnt; pcode_atm_end:=pcode_num;
+  ?:='((_group_si,NO_ATOM)); ?wf:=?w:='((_group_wf,NO_ATOM)); ?zf:=?z:='((_group_zf,NO_ATOM));
+  ?O:='((_group_dm,O)); NH:='(N,/H~nl); ?NH:='((_group_dm,NH));
+  %-----------------------------------------------------------------------------------------------
+  ?H:='(/H); ?F:='(/F); ?Cl:='(/Cl); ?OH:='(/OH); ?OH:='(/COOH); ?NH2:='(/NH2);
+  for i=3 upto 20: ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90)
+    for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee));
+  endfor
+  Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl);
+  for i=5,6,7,8: for j=11 upto 15:  ?[i][j]:='((i,j)); endfor endfor
+  %-----------------------------------------------------------------------------------------------
+  !:=!1:='((_mk_bond,_arrange_ang)); !db:=!d:='(!~db); !tm:=!t:='(!~tm); !wf:=!w:='(!~wf);
+  !zf:=!z:='(!~zf); !wb:='(!~wb); !zb:='(!~zb); !dl:='(!~dl); !dr:='(!~dr); !dm:='(!~dm);
+  for i==2  upto 20:
+    ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee));
+  endfor
+  ?!:='(/_,!); ?!d:='(/_,!d); ?!2:='(/_,!2); ??!:='(/_,/_^60,60); ??:='(/_^35,/_^-35);
+  !?:='(!,/_); !?!:='(!?,!); !??!:='(!,??,!); ?2:='(/!); !?2:='(!,?2); ?2!:='(?2,!);
+  n_:='((_set_add,MIS)); p_:='((_set_add,PLS));
+  zero_wf:='(0~wf); zero_zf:='(0~zf); zero_dm:='(0~dm); zero_wv:='(0~wv);
+  mark_adress:='((_com,_mark)); reset_adress:='((_com,_moff)); reset_length:='((_com,_len_e));
+  %-----------------------------------------------------------------------------------------------
+  if sw_expand=1:
+    CH3:='(/H,/H^60,/H^-60); NH:='(N,/H); NH2:='(N,/H^60,/H^-60); NO2:='(N,//O^60,//O^-60);
+    OH:='(O,!,H); NO:='(N,//O); CONH2:='(//O,!,NH2); SH:='(S,!,H); SO2H:='(S,//O^60,/OH^-60);
+    SO3H:='(S,/OH,//O^60,//O^-60); CHO:='(//O^-60,/H^60); COOH:='(//O^-60,/OH^60); CN:='(!~tm,N);
+    ONa:='(O,!,Na); SO3Na:='(S,/ONa,//O^60,//O^-60);
+  fi
+  %-----------------------------------------------------------------------------------------------
+  ?F!F:='(/F,60,F); ?Cl!Cl:='(/Cl,60,Cl); ?Br!Br:='(/Br,60,Br); ?F?F!F:='(/F,/F^60,60,F);
+  ?Cl?Cl!Cl:='(/Cl,/Cl^60,60,Cl);
+  %-----------------------------------------------------------------------------------------------
+  N!:='(N,!); N?:='(N,/_); N!2:='(N,!3); N!2:='(N,!3); !N:='(!,N);
+  N?!:='(N,?!); N?2:='(N,?2); N?2!:='(N?2,!); N?!2:='(N,?!2);
+  S?O:='(S,?O); S?O!:='(S?O,!); ?O?O:='(?O^-35,?O^35); S?O?O:='(S,?O?O); S?O?O!:='(S?O?O,!);
+  O!:='(O,!); O!2:='(O,!2); O!3:='(O,!3); S!:='(S,!); S!2:='(S,!2); S!3:='(S,!3);
+  %-----------------------------------------------------------------------------------------------
+  ?O!:='(?O,!); ?O!2:='(?O,!2); ?O!3:='(?O,!3); !?O:='(!,?O); !?O!:='(!,?O!);
+  NH!:='(NH,!); NH!2:='(NH,!2); !NH:='(!,NH); !NH!:='(!,NH!);
+  %-----------------------------------------------------------------------------------------------
+  !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !S?O:='(!,S?O); !O:='(!,O); !dO:='(!d,O);
+  !O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); !S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
+  !COOH:='(!,COOH); ?COOH:='(/COOH); !CH3:='(!,CH3); !CN:='(!,CN); !CHO:='(!,CHO); !NO2:='(!,NO2);
+  !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !?F!F:='(!,?F!F); !?Cl!Cl:='(!,?Cl!Cl);
+  !?F?F!F:='(!,?F?F!F); !?Cl?Cl!Cl:='(!,?Cl?Cl!Cl);
+  !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8);
+  !Ph:='(!,Ph); !?OH:='(!,?OH); ?OH!:='(?OH,!);
+  %-----------------------------------------------------------------------------------------------
+  lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60 for i==1 upto 10:: ,60,-60 endfor);
+  %-----------------------------------------------------------------------------------------------
+  hexose_hp:='(#1.4,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##);
+  Pyranose_hp:='(#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##);
+enddef;
+%-------------------------------------------------------------------------------------------------
+define_atom_group_parts;
+%=================================================================================================
+init_par(parameter_list);
+%-------------------------------------------------------------------------------------------------
+for i=pcode_emb_start+1 upto pcode_num: pcode_all:=pcode_all+pcode_cnt[i]; endfor
+message "pcode_emb  =" & decimal(pcode_emb_start) &" => " & decimal(pcode_num) & 
+                       " [ " & decimal(pcode_all) & " ]";
+message "pcode_emi  =" & decimal(pcode_emi_start) &" => " & decimal(pcode_int);
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+vardef checkm(expr s)=
+  save mc_char,mc_adr,mc_asc,char_cnt,lens,f_depth;
+  string err_type[];
+  numeric mc_char[],mc_asc[],mc_adr[];
+  err_cnt:=char_cnt:=block_cnt:=f_depth:=0; nA:=1; lens:=length(s);
+  err_type[0]:="no mc-row    "; err_type[1]:="mismatch ()  "; err_type[2]:="mismatch {}  ";
+  err_type[3]:="mismatch []  "; err_type[4]:="missing arg  "; err_type[5]:="extra arg    ";
+ %---------------------------------------------------------------------------------------------
+  if mc_row>=1:
+    for i=1 upto 128: tbl_asc[i]:=0; endfor
+    for i=1 upto lens: mc_char[i]:=ASCII(subc(i,s)); endfor
+    forever:
+      temps:=substring (nA-1,nA) of s;
+      if (temps<>",")and(temps<>" "): nF:=0;
+        for j=1 upto rw_cnt: nC:=lenw[j]-1;
+          if substring (nA-1,nA+nC) of s=rw[j]:
+            for k=1 upto nC: mc_char[nA]:=j; mc_char[nA+k]:=BLK; endfor
+            nF:=1; nA:=nA+nC;
+          fi
+          exitif nF=1;
+        endfor
+      fi
+      nA:=nA+1; exitif nA>=lens;
+    endfor
+    for i=1 upto lens:
+      if mc_char[i]<>BLK: mc_asc[incr char_cnt]:=mc_char[i]; mc_adr[char_cnt]:=i; fi
+    endfor
+    mc_asc[0]:=mc_asc[char_cnt+1]:=CMA;
+    %-- argument check -------------------------------------------------------------------------
+    for i=1 upto char_cnt:
+      nA:=mc_asc[i-1]; nB:=mc_asc[i]; nC:=mc_asc[i+1]; tbl_asc[nB]:=tbl_asc[nB]+1;
+      if nB=CMA: if f_depth=0: block_cnt:=block_cnt+1; fi
+      ef (nB=EQU)or(nB=CLN)or(nB=HAT)or(nB=BQT)or(nB=TLD)or(nB=LTN):      % =,:,^,`,~,>
+        if (nA=CMA)or(nC=CMA): proc_err(4,i) fi
+      ef (nB=AMK)or(nB=AMP)or(nB=GTN)or(nB=HSH):                          % @,&,<,#
+        if nA<>CMA: proc_err(5,nB) fi if nC=CMA: proc_err(4,i) fi
+      ef (nB=SLS)or((nB>=7)and(nB<=11)):                                  % /,*/*,//,/*,*/,**
+        if (nA<>CMA)and(nA<>CLN)and(nA<>PRS): proc_err(5,i) fi
+        if nC=CMA: proc_err(4,i) fi
+      fi
+      if (nB=PRS)or(nB=BRS): f_depth:=f_depth+1; ef (nB=PRE)or(nB=BRE): f_depth:=f_depth-1; fi
+    endfor
+    %-- brackets balance check -----------------------------------------------------------------
+    if tbl_asc[PRS]<>tbl_asc[PRE]: proc_err(1,0) fi           %  mismatch ()
+    if tbl_asc[BRS]<>tbl_asc[BRE]: proc_err(2,0) fi           %  mismatch {}
+    if tbl_asc[BKS]<>tbl_asc[BKE]: proc_err(3,0) fi           %  mismatch []
+  else: proc_err(0,0) fi
+  %---------------------------------------------------------------------------------------------
+%%%%%%%  err_cnt>0: readstring;
+  err_cnt
+enddef;
+%-------------------------------------------------------------------------------------------------
+def proc_err(expr e,n)= 
+  err_cnt:=err_cnt+1;
+  message "["&decimal(fig_num)&"]:"&err_type[e]
+    if n>=1: &"("&fdr(3)(n)&") "&substring(mc_adr[n]-2,mc_adr[n]+3) of mc fi ;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def savem(expr s)=
+  file_output:=s;
+  for i=1 upto ucount: for j=1 upto unit_lines[i]: printf row[i][j]; endfor endfor
+  closefrom file_output;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def loadm(text s)=
+  begingroup
+  save f_mcf,f_line,lines,unit_cnt,row_s,row_cnt,semic_cnt,info_cnt,order,min_n,max_n,firstc,
+       sign_at,sign_n,filter_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p,lib_unit_cnt,
+       at_colon,at_equal,at_less,at_greater,at_n,sort_tbl,key_s,sort_s,sign_s,sV,sS,sT,sort_oder,
+       tag_s,val_s;
+  string row_s[][],sort_s,sort_tbl[],key_s,filter_tag[],filter_var[],sign_s[],sV,sS,sT,firstc,
+         tag_s[][],val_s[][];
+  numeric row_cnt[],order[],order_tbl[],filter_sign[],filter_p[];
+  lines:=f_mcf:=mc_row:=info_cnt:=filter_cnt:=lib_unit_cnt:=0; unit_cnt:=1;
+  file_input:=default_library;
+  sign_s1:="="; sign_s2:="<>"; sign_s3:="<"; sign_s4:=">"; sign_s5:="<="; sign_s6:=">=";
+  %-----------------------------------------------------------------------------------------------
+  for list=s:
+    at_colon:=scan_c(":",list); at_equal:=scan_c("=",list); at_less:=scan_c("<",list);
+    at_greater:=scan_c(">",list); key_s:="";
+    %---------------------------------------------------------------------------------------------
+    if at_colon>=2:                               sign_at:=at_colon;   sign_n:=0; at_n:=1;
+    ef at_equal>=2:   if (at_equal-1)=at_less:    sign_at:=at_equal;   sign_n:=5; at_n:=2;
+                      ef (at_equal-1)=at_greater: sign_at:=at_equal;   sign_n:=6; at_n:=2;
+                      else:                       sign_at:=at_equal;   sign_n:=1; at_n:=1; fi
+    ef at_greater>=2: if (at_greater-1)=at_less:  sign_at:=at_greater; sign_n:=2; at_n:=2;
+                      else:                       sign_at:=at_greater; sign_n:=4; at_n:=1; fi
+    ef at_less>=2:                                sign_at:=at_less;    sign_n:=3; at_n:=1; fi
+    sT:=substring(0,sign_at-at_n) of list; sV:=substring(sign_at,length(list)) of list;
+    %---------------------------------------------------------------------------------------------
+    if sign_n=0:
+      if sT="f": if scan_c(".",sV)=0: file_input:=sV&".mcf";  else: file_input:=sV; fi
+      ef sT="a": key_s:=sV; sort_oder:=0;
+      ef sT="d": key_s:=sV; sort_oder:=1; fi
+    else:
+      filter_tag[incr filter_cnt]:=sT; filter_sign[filter_cnt]:=sign_n;
+      if (sign_n>=3)and(is_num(sV)=1): filter_var[filter_cnt]:=fix_num(sV);
+      else: filter_var[filter_cnt]:=sV; fi
+    fi
+  endfor
+  %-----------------------------------------------------------------------------------------------
+  forever:
+    temps:=readfrom file_input; exitif temps=EOF; firstc:=subc(1,temps);
+    if (firstc<>"%")or(sw_comment=1):
+      row_s[unit_cnt][incr lines]:=temps;
+      if firstc=";":
+        row_cnt[unit_cnt]:=lines; f_mcf:=lines:=0; filter_n:=1;
+        for i=1 upto filter_cnt: filter_p[i]:=0; endfor
+        sort_s:="";
+        for i=1 upto info_cnt:
+          get_tag_var(arg_s[i])(sT,sV);
+          tag_s[unit_cnt][i]:=sT; val_s[unit_cnt][i]:=sV;
+          if sT=key_s: if is_num(sV)=1: sort_s:=fix_num(sV); else: sort_s:=sV; fi fi
+          for j=1 upto filter_cnt:
+            if filter_tag[j]=sT:
+              filter_p[j]:=1;
+              if (filter_sign[j]>=3)and(is_num(sV)=1): temps:=fix_num(sV); else: temps:=sV; fi
+              if filter_sign[j]=1: if not(temps= filter_var[j]): filter_n:=0; fi
+              ef filter_sign[j]=2: if not(temps<>filter_var[j]): filter_n:=0; fi
+              ef filter_sign[j]=3: if not(temps< filter_var[j]): filter_n:=0; fi
+              ef filter_sign[j]=4: if not(temps> filter_var[j]): filter_n:=0; fi
+              ef filter_sign[j]=5: if not(temps<=filter_var[j]): filter_n:=0; fi
+              ef filter_sign[j]=6: if not(temps>=filter_var[j]): filter_n:=0; fi
+              fi
+            fi
+          endfor
+        endfor
+        for i=1 upto filter_cnt: if filter_p[i]=0: filter_n:=0; fi endfor
+        info_cnt:=0; lib_unit_cnt:=lib_unit_cnt+1;
+        if filter_n=1: if key_s<>"": sort_tbl[unit_cnt]:=sort_s; fi unit_cnt:=unit_cnt+1; fi
+      ef (firstc=":")or(firstc="="): f_mcf:=1; mc_row:=1;
+      ef (firstc<>"%")or(sw_comment=1):
+        if f_mcf=1: mc_row:=mc_row+1; else: info[unit_cnt]:=info_cnt:=split_str(temps,";")(arg_s);
+        fi
+      fi
+    fi
+  endfor
+  ucount:=unit_cnt:=unit_cnt-1;
+  %=============================================================================================
+  message "* Input  : "&file_input&" ["&decimal(lib_unit_cnt)&"]";
+  message "* Output : ucount ["&decimal(ucount)&"]";
+  if filter_cnt>=1:
+    for i=1 upto filter_cnt:
+      message "* Filter("&decimal(i)&"): "&filter_tag[i]&" "&sign_s[filter_sign[i]]&filter_var[i];
+    endfor
+    if key_s<>"": message "* Sort key : "&key_s&iif(sort_oder=0," (ascending)"," (descending)");
+    fi
+  fi
+  %-----------------------------------------------------------------------------------------
+  if key_s<>"":
+    for i=1 upto unit_cnt: order[i]:=0; endfor
+    for i=1 upto unit_cnt:
+      if sort_oder=0: temps:="~";
+        for j=1 upto unit_cnt:
+          if order[j]=0: if sort_tbl[j]<temps: temps:=sort_tbl[j]; min_n:=j; fi fi
+        endfor
+        order[min_n]:=i; order_tbl[i]:=min_n;
+      ef sort_oder=1: temps:=" ";
+        for j=1 upto unit_cnt:
+          if order[j]=0: if sort_tbl[j]>temps: temps:=sort_tbl[j]; max_n:=j; fi fi
+        endfor
+        order[max_n]:=i; order_tbl[i]:=max_n;
+      fi
+    endfor
+    %---------------------------------------------------------------------------
+    for i=1 upto unit_cnt:
+      for j=1 upto info[order_tbl[i]]:
+        lib_tag[i][j]:=tag_s[order_tbl[i]][j]; lib_val[i][j]:=val_s[order_tbl[i]][j];
+      endfor
+      unit_lines[i]:=row_cnt[order_tbl[i]];
+      for j=1 upto row_cnt[order_tbl[i]]: row[i][j]:=row_s[order_tbl[i]][j]; endfor
+    endfor
+    %-------------------------------------------------------------------------
+  else:
+    for i=1 upto unit_cnt:
+      for j=1 upto info[i]: lib_tag[i][j]:=tag_s[i][j]; lib_val[i][j]:=val_s[i][j]; endfor
+      unit_lines[i]:=row_cnt[i];
+      for j=1 upto row_cnt[i]: row[i][j]:=row_s[i][j]; endfor
+    endfor
+  fi
+  closefrom file_input;
+  endgroup;
+enddef;
+%=============================================================================================
+vardef fix_num(expr s)=
+  sS:=s; nN:=scan_c(".",sS);
+  if nN=0: sS:=fsr(4)(sS); ef nN=1: sS:="   0"&sS;
+  ef nN=2: sS:="   "&sS; ef nN=3: sS:="  "&sS; ef nN=4: sS:=" "&sS;
+  fi
+  sS
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef is_num(expr s)=
+  for i=1 upto length(s):
+    if ((subc(i,s)>="0")and(subc(i,s)<="9"))or(subc(i,s)="."): nN:=1; else: nN:=0; fi
+  endfor
+  nN
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef scan_bit(expr n,b)= if b>=1: odd(floor(n/b)) else: odd(floor((frac n)/b)) fi enddef;
+%-------------------------------------------------------------------------------------------------
+vardef scan_char(expr c,s,d,n)=
+  nN:=0;
+  if d=0:  for i=n upto length(s):   if subc(i,s)=c:  nN:=i; fi exitif nN>0; endfor
+  ef d=1:  for i=n upto length(s):   if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
+  ef d=-1: for i=length(s) downto n: if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
+  fi
+  nN
+enddef;
+%-------------------------------------------------------------------------------------------------
+def scan_c(expr c,s)= scan_char(c,s,0,1) enddef;
+%-------------------------------------------------------------------------------------------------
+vardef split_str(expr s,c)(suffix v)=
+  at_char[0]:=nN:=0; for i=1 upto length(s): if subc(i,s)=c: at_char[incr nN]:=i; fi endfor
+  nN:=nN+1; at_char[nN]:=length(s)+1;
+  for i=1 upto nN: v[i]:=substring (at_char[i-1],at_char[i]-1) of s; endfor
+  nN
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef get_tag_var(expr s)(suffix t,v)=
+  nN:=scan_c(":",s); t:=substring(0,nN-1) of s; v:=substring(nN,length(s)) of s;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Property changes on: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2024-11-20 22:09:01 UTC (rev 72915)
@@ -3533,7 +3533,7 @@
  'latexmp',     'latexmp.mp',
  'latex-graphics-companion', 'NULL',    # doc package
  'luamesh',	'luamesh.mp',		# not doc file fond.mp
- 'mcf2graph',	'mcf2graph.mf',	# not the examples
+ 'mcf2graph',	'mcf2graph.mp|main_lib.mcf',	# not the examples
  'metapost-colorbrewer','colorbrewer-[cr].*mp',	# not -sampler
  'metapost-examples',	'NULL',		# doc package
  'minim-hatching',	'.*g\.mp',	# not doc.mp



More information about the tex-live-commits mailing list.