@datagrok/bio 2.4.31 → 2.4.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/.eslintrc.json +6 -8
  2. package/README.md +22 -7
  3. package/css/msa.css +3 -0
  4. package/detectors.js +21 -12
  5. package/dist/1.js +2 -0
  6. package/dist/1.js.map +1 -0
  7. package/dist/18.js +2 -0
  8. package/dist/18.js.map +1 -0
  9. package/dist/190.js +2 -0
  10. package/dist/190.js.map +1 -0
  11. package/dist/452.js +2 -0
  12. package/dist/452.js.map +1 -0
  13. package/dist/729.js +2 -0
  14. package/dist/729.js.map +1 -0
  15. package/dist/package-test.js +1 -1
  16. package/dist/package-test.js.map +1 -1
  17. package/dist/package.js +1 -1
  18. package/dist/package.js.map +1 -1
  19. package/files/libraries/broken-lib.sdf +136 -0
  20. package/files/libraries/group1/mock-lib-3.json +74 -0
  21. package/files/libraries/mock-lib-2.json +48 -0
  22. package/files/tests/100_3_clustests.csv +100 -0
  23. package/files/tests/100_3_clustests_empty_vals.csv +100 -0
  24. package/files/tests/peptides_motif-with-random_10000.csv +9998 -0
  25. package/package.json +4 -4
  26. package/scripts/sequence_generator.py +164 -48
  27. package/src/analysis/sequence-activity-cliffs.ts +7 -9
  28. package/src/analysis/sequence-diversity-viewer.ts +8 -3
  29. package/src/analysis/sequence-search-base-viewer.ts +4 -3
  30. package/src/analysis/sequence-similarity-viewer.ts +13 -7
  31. package/src/analysis/sequence-space.ts +15 -12
  32. package/src/analysis/workers/mm-distance-array-service.ts +48 -0
  33. package/src/analysis/workers/mm-distance-array-worker.ts +29 -0
  34. package/src/analysis/workers/mm-distance-worker-creator.ts +6 -9
  35. package/src/apps/web-logo-app.ts +34 -0
  36. package/src/calculations/monomerLevelMols.ts +10 -12
  37. package/src/demo/bio01-similarity-diversity.ts +4 -5
  38. package/src/demo/bio01a-hierarchical-clustering-and-sequence-space.ts +6 -7
  39. package/src/demo/bio01b-hierarchical-clustering-and-activity-cliffs.ts +7 -8
  40. package/src/demo/bio03-atomic-level.ts +1 -4
  41. package/src/demo/bio05-helm-msa-sequence-space.ts +6 -4
  42. package/src/demo/utils.ts +3 -4
  43. package/src/package-test.ts +1 -2
  44. package/src/package.ts +135 -82
  45. package/src/seq_align.ts +482 -483
  46. package/src/substructure-search/substructure-search.ts +3 -3
  47. package/src/tests/Palettes-test.ts +1 -1
  48. package/src/tests/WebLogo-positions-test.ts +12 -35
  49. package/src/tests/_first-tests.ts +1 -1
  50. package/src/tests/activity-cliffs-tests.ts +10 -7
  51. package/src/tests/activity-cliffs-utils.ts +6 -5
  52. package/src/tests/bio-tests.ts +20 -25
  53. package/src/tests/checkInputColumn-tests.ts +5 -11
  54. package/src/tests/converters-test.ts +19 -37
  55. package/src/tests/detectors-benchmark-tests.ts +35 -37
  56. package/src/tests/detectors-tests.ts +29 -34
  57. package/src/tests/detectors-weak-and-likely-tests.ts +11 -21
  58. package/src/tests/fasta-export-tests.ts +3 -3
  59. package/src/tests/fasta-handler-test.ts +2 -3
  60. package/src/tests/lib-tests.ts +2 -4
  61. package/src/tests/mm-distance-tests.ts +25 -17
  62. package/src/tests/monomer-libraries-tests.ts +1 -1
  63. package/src/tests/msa-tests.ts +12 -9
  64. package/src/tests/pepsea-tests.ts +6 -3
  65. package/src/tests/renderers-test.ts +13 -11
  66. package/src/tests/sequence-space-test.ts +10 -8
  67. package/src/tests/sequence-space-utils.ts +6 -4
  68. package/src/tests/similarity-diversity-tests.ts +47 -61
  69. package/src/tests/splitters-test.ts +14 -20
  70. package/src/tests/to-atomic-level-tests.ts +9 -17
  71. package/src/tests/units-handler-splitted-tests.ts +106 -0
  72. package/src/tests/units-handler-tests.ts +22 -26
  73. package/src/tests/utils/sequences-generators.ts +6 -2
  74. package/src/tests/utils.ts +10 -4
  75. package/src/tests/viewers.ts +1 -1
  76. package/src/utils/atomic-works.ts +49 -57
  77. package/src/utils/cell-renderer.ts +25 -8
  78. package/src/utils/check-input-column.ts +19 -4
  79. package/src/utils/constants.ts +3 -3
  80. package/src/utils/convert.ts +56 -23
  81. package/src/utils/monomer-lib.ts +83 -64
  82. package/src/utils/multiple-sequence-alignment-ui.ts +35 -21
  83. package/src/utils/multiple-sequence-alignment.ts +2 -2
  84. package/src/utils/pepsea.ts +17 -7
  85. package/src/utils/save-as-fasta.ts +11 -4
  86. package/src/utils/ui-utils.ts +1 -1
  87. package/src/viewers/vd-regions-viewer.ts +21 -22
  88. package/src/viewers/web-logo-viewer.ts +189 -154
  89. package/src/widgets/bio-substructure-filter.ts +9 -6
  90. package/src/widgets/representations.ts +11 -12
  91. package/tsconfig.json +1 -1
  92. package/dist/258.js +0 -2
  93. package/dist/258.js.map +0 -1
  94. package/dist/457.js +0 -2
  95. package/dist/457.js.map +0 -1
  96. package/dist/562.js +0 -2
  97. package/dist/562.js.map +0 -1
  98. package/dist/925.js +0 -2
  99. package/dist/925.js.map +0 -1
  100. package/src/analysis/workers/mm-distance-worker.ts +0 -16
package/src/seq_align.ts CHANGED
@@ -1,524 +1,523 @@
1
+ /* eslint-disable max-len */
1
2
 
2
- class Cell{
3
- public value: number;
4
- public parentI: number;
5
- public parentJ: number;
6
- public constructor(){
7
- this.value = 0;
8
- this.parentI = 0;
9
- this.parentJ = 0;
10
- }
3
+ class Cell {
4
+ public value: number;
5
+ public parentI: number;
6
+ public parentJ: number;
7
+ public constructor() {
8
+ this.value = 0;
9
+ this.parentI = 0;
10
+ this.parentJ = 0;
11
+ }
11
12
  };
12
13
 
13
14
 
14
- export class Aligned{
15
- public seq1: string;
16
- public seq2: string;
17
- public score: number;
18
- public constructor(seq1_:string, seq2_:string, score_: number){
19
- this.seq1 = seq1_;
20
- this.seq2 = seq2_;
21
- this.score = score_;
22
- }
15
+ export class Aligned {
16
+ public seq1: string;
17
+ public seq2: string;
18
+ public score: number;
19
+ public constructor(seq1_:string, seq2_:string, score_: number) {
20
+ this.seq1 = seq1_;
21
+ this.seq2 = seq2_;
22
+ this.score = score_;
23
+ }
23
24
  };
24
25
 
25
- export class SequenceAlignment{
26
- private seq1:string ='';
27
- private seq2:string ='';
28
- private gap:number =1;
29
- private len1:number =0;
30
- private len2:number =0;
31
- private step:number= 1;
32
- private alignGrid:Array<Array<number>>=[];
33
- private scores:Array<Array<number>>=[];
34
- private dpGrid:Array<Array<Cell>>=[];
35
- private connections: {[id:string]:number} = {};
36
- private BLOSUM45:Array<Array<number>> = [[5,-2,-1,-2,-1,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-2,-2,0,-1,-1,0,-5],
37
- [-2,7,0,-1,-3,1,0,-2,0,-3,-2,3,-1,-2,-2,-1,-1,-2,-1,-2,-1,0,-1,-5],
38
- [-1,0,6,2,-2,0,0,0,1,-2,-3,0,-2,-2,-2,1,0,-4,-2,-3,4,0,-1,-5],
39
- [-2,-1,2,7,-3,0,2,-1,0,-4,-3,0,-3,-4,-1,0,-1,-4,-2,-3,5,1,-1,-5],
40
- [-1,-3,-2,-3,12,-3,-3,-3,-3,-3,-2,-3,-2,-2,-4,-1,-1,-5,-3,-1,-2,-3,-2,-5],
41
- [-1,1,0,0,-3,6,2,-2,1,-2,-2,1,0,-4,-1,0,-1,-2,-1,-3,0,4,-1,-5],
42
- [-1,0,0,2,-3,2,6,-2,0,-3,-2,1,-2,-3,0,0,-1,-3,-2,-3,1,4,-1,-5],
43
- [0,-2,0,-1,-3,-2,-2,7,-2,-4,-3,-2,-2,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-5],
44
- [-2,0,1,0,-3,1,0,-2,10,-3,-2,-1,0,-2,-2,-1,-2,-3,2,-3,0,0,-1,-5],
45
- [-1,-3,-2,-4,-3,-2,-3,-4,-3,5,2,-3,2,0,-2,-2,-1,-2,0,3,-3,-3,-1,-5],
46
- [-1,-2,-3,-3,-2,-2,-2,-3,-2,2,5,-3,2,1,-3,-3,-1,-2,0,1,-3,-2,-1,-5],
47
- [-1,3,0,0,-3,1,1,-2,-1,-3,-3,5,-1,-3,-1,-1,-1,-2,-1,-2,0,1,-1,-5],
48
- [-1,-1,-2,-3,-2,0,-2,-2,0,2,2,-1,6,0,-2,-2,-1,-2,0,1,-2,-1,-1,-5],
49
- [-2,-2,-2,-4,-2,-4,-3,-3,-2,0,1,-3,0,8,-3,-2,-1,1,3,0,-3,-3,-1,-5],
50
- [-1,-2,-2,-1,-4,-1,0,-2,-2,-2,-3,-1,-2,-3,9,-1,-1,-3,-3,-3,-2,-1,-1,-5],
51
- [1,-1,1,0,-1,0,0,0,-1,-2,-3,-1,-2,-2,-1,4,2,-4,-2,-1,0,0,0,-5],
52
- [0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-1,-1,2,5,-3,-1,0,0,-1,0,-5],
53
- [-2,-2,-4,-4,-5,-2,-3,-2,-3,-2,-2,-2,-2,1,-3,-4,-3,15,3,-3,-4,-2,-2,-5],
54
- [-2,-1,-2,-2,-3,-1,-2,-3,2,0,0,-1,0,3,-3,-2,-1,3,8,-1,-2,-2,-1,-5],
55
- [0,-2,-3,-3,-1,-3,-3,-3,-3,3,1,-2,1,0,-3,-1,0,-3,-1,5,-3,-3,-1,-5],
56
- [-1,-1,4,5,-2,0,1,-1,0,-3,-3,0,-2,-3,-2,0,0,-4,-2,-3,4,2,-1,-5],
57
- [-1,0,0,1,-3,4,4,-2,0,-3,-2,1,-1,-3,-1,0,-1,-2,-2,-3,2,4,-1,-5],
58
- [0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-2,-1,-1,-1,-1,-1,-5],
59
- [-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,1]];
26
+ export class SequenceAlignment {
27
+ private seq1:string ='';
28
+ private seq2:string ='';
29
+ private gap:number =1;
30
+ private len1:number =0;
31
+ private len2:number =0;
32
+ private step:number= 1;
33
+ private alignGrid:Array<Array<number>>=[];
34
+ private scores:Array<Array<number>>=[];
35
+ private dpGrid:Array<Array<Cell>>=[];
36
+ private connections: {[id:string]:number} = {};
60
37
 
61
- private BLOSUM50:Array<Array<number>> = [[5,-2,-1,-2,-1,-1,-1,0,-2,-1,-2,-1,-1,-3,-1,1,0,-3,-2,0,-2,-1,-1,-5],
62
- [-2,7,-1,-2,-4,1,0,-3,0,-4,-3,3,-2,-3,-3,-1,-1,-3,-1,-3,-1,0,-1,-5],
63
- [-1,-1,7,2,-2,0,0,0,1,-3,-4,0,-2,-4,-2,1,0,-4,-2,-3,4,0,-1,-5],
64
- [-2,-2,2,8,-4,0,2,-1,-1,-4,-4,-1,-4,-5,-1,0,-1,-5,-3,-4,5,1,-1,-5],
65
- [-1,-4,-2,-4,13,-3,-3,-3,-3,-2,-2,-3,-2,-2,-4,-1,-1,-5,-3,-1,-3,-3,-2,-5],
66
- [-1,1,0,0,-3,7,2,-2,1,-3,-2,2,0,-4,-1,0,-1,-1,-1,-3,0,4,-1,-5],
67
- [-1,0,0,2,-3,2,6,-3,0,-4,-3,1,-2,-3,-1,-1,-1,-3,-2,-3,1,5,-1,-5],
68
- [0,-3,0,-1,-3,-2,-3,8,-2,-4,-4,-2,-3,-4,-2,0,-2,-3,-3,-4,-1,-2,-2,-5],
69
- [-2,0,1,-1,-3,1,0,-2,10,-4,-3,0,-1,-1,-2,-1,-2,-3,2,-4,0,0,-1,-5],
70
- [-1,-4,-3,-4,-2,-3,-4,-4,-4,5,2,-3,2,0,-3,-3,-1,-3,-1,4,-4,-3,-1,-5],
71
- [-2,-3,-4,-4,-2,-2,-3,-4,-3,2,5,-3,3,1,-4,-3,-1,-2,-1,1,-4,-3,-1,-5],
72
- [-1,3,0,-1,-3,2,1,-2,0,-3,-3,6,-2,-4,-1,0,-1,-3,-2,-3,0,1,-1,-5],
73
- [-1,-2,-2,-4,-2,0,-2,-3,-1,2,3,-2,7,0,-3,-2,-1,-1,0,1,-3,-1,-1,-5],
74
- [-3,-3,-4,-5,-2,-4,-3,-4,-1,0,1,-4,0,8,-4,-3,-2,1,4,-1,-4,-4,-2,-5],
75
- [-1,-3,-2,-1,-4,-1,-1,-2,-2,-3,-4,-1,-3,-4,10,-1,-1,-4,-3,-3,-2,-1,-2,-5],
76
- [1,-1,1,0,-1,0,-1,0,-1,-3,-3,0,-2,-3,-1,5,2,-4,-2,-2,0,0,-1,-5],
77
- [0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,2,5,-3,-2,0,0,-1,0,-5],
78
- [-3,-3,-4,-5,-5,-1,-3,-3,-3,-3,-2,-3,-1,1,-4,-4,-3,15,2,-3,-5,-2,-3,-5],
79
- [-2,-1,-2,-3,-3,-1,-2,-3,2,-1,-1,-2,0,4,-3,-2,-2,2,8,-1,-3,-2,-1,-5],
80
- [0,-3,-3,-4,-1,-3,-3,-4,-4,4,1,-3,1,-1,-3,-2,0,-3,-1,5,-4,-3,-1,-5],
81
- [-2,-1,4,5,-3,0,1,-1,0,-4,-4,0,-3,-4,-2,0,0,-5,-3,-4,5,2,-1,-5],
82
- [-1,0,0,1,-3,4,5,-2,0,-3,-3,1,-1,-4,-1,0,-1,-2,-2,-3,2,5,-1,-5],
83
- [-1,-1,-1,-1,-2,-1,-1,-2,-1,-1,-1,-1,-1,-2,-2,-1,0,-3,-1,-1,-1,-1,-1,-5],
84
- [-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,1]];
38
+ private BLOSUM45:Array<Array<number>> = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -2, -2, 0, -1, -1, 0, -5],
39
+ [-2, 7, 0, -1, -3, 1, 0, -2, 0, -3, -2, 3, -1, -2, -2, -1, -1, -2, -1, -2, -1, 0, -1, -5],
40
+ [-1, 0, 6, 2, -2, 0, 0, 0, 1, -2, -3, 0, -2, -2, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
41
+ [-2, -1, 2, 7, -3, 0, 2, -1, 0, -4, -3, 0, -3, -4, -1, 0, -1, -4, -2, -3, 5, 1, -1, -5],
42
+ [-1, -3, -2, -3, 12, -3, -3, -3, -3, -3, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -2, -3, -2, -5],
43
+ [-1, 1, 0, 0, -3, 6, 2, -2, 1, -2, -2, 1, 0, -4, -1, 0, -1, -2, -1, -3, 0, 4, -1, -5],
44
+ [-1, 0, 0, 2, -3, 2, 6, -2, 0, -3, -2, 1, -2, -3, 0, 0, -1, -3, -2, -3, 1, 4, -1, -5],
45
+ [0, -2, 0, -1, -3, -2, -2, 7, -2, -4, -3, -2, -2, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -5],
46
+ [-2, 0, 1, 0, -3, 1, 0, -2, 10, -3, -2, -1, 0, -2, -2, -1, -2, -3, 2, -3, 0, 0, -1, -5],
47
+ [-1, -3, -2, -4, -3, -2, -3, -4, -3, 5, 2, -3, 2, 0, -2, -2, -1, -2, 0, 3, -3, -3, -1, -5],
48
+ [-1, -2, -3, -3, -2, -2, -2, -3, -2, 2, 5, -3, 2, 1, -3, -3, -1, -2, 0, 1, -3, -2, -1, -5],
49
+ [-1, 3, 0, 0, -3, 1, 1, -2, -1, -3, -3, 5, -1, -3, -1, -1, -1, -2, -1, -2, 0, 1, -1, -5],
50
+ [-1, -1, -2, -3, -2, 0, -2, -2, 0, 2, 2, -1, 6, 0, -2, -2, -1, -2, 0, 1, -2, -1, -1, -5],
51
+ [-2, -2, -2, -4, -2, -4, -3, -3, -2, 0, 1, -3, 0, 8, -3, -2, -1, 1, 3, 0, -3, -3, -1, -5],
52
+ [-1, -2, -2, -1, -4, -1, 0, -2, -2, -2, -3, -1, -2, -3, 9, -1, -1, -3, -3, -3, -2, -1, -1, -5],
53
+ [1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -3, -1, -2, -2, -1, 4, 2, -4, -2, -1, 0, 0, 0, -5],
54
+ [0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, 2, 5, -3, -1, 0, 0, -1, 0, -5],
55
+ [-2, -2, -4, -4, -5, -2, -3, -2, -3, -2, -2, -2, -2, 1, -3, -4, -3, 15, 3, -3, -4, -2, -2, -5],
56
+ [-2, -1, -2, -2, -3, -1, -2, -3, 2, 0, 0, -1, 0, 3, -3, -2, -1, 3, 8, -1, -2, -2, -1, -5],
57
+ [0, -2, -3, -3, -1, -3, -3, -3, -3, 3, 1, -2, 1, 0, -3, -1, 0, -3, -1, 5, -3, -3, -1, -5],
58
+ [-1, -1, 4, 5, -2, 0, 1, -1, 0, -3, -3, 0, -2, -3, -2, 0, 0, -4, -2, -3, 4, 2, -1, -5],
59
+ [-1, 0, 0, 1, -3, 4, 4, -2, 0, -3, -2, 1, -1, -3, -1, 0, -1, -2, -2, -3, 2, 4, -1, -5],
60
+ [0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -2, -1, -1, -1, -1, -1, -5],
61
+ [-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
85
62
 
86
- private BLOSUM62:Array<Array<number>> = [[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],
87
- [-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],
88
- [-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],
89
- [-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],
90
- [0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],
91
- [-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],
92
- [-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],
93
- [0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],
94
- [-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],
95
- [-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],
96
- [-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],
97
- [-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],
98
- [-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],
99
- [-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],
100
- [-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],
101
- [1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],
102
- [0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],
103
- [-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],
104
- [-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],
105
- [0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],
106
- [-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],
107
- [-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],
108
- [0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],
109
- [-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]];
63
+ private BLOSUM50:Array<Array<number>> = [[5, -2, -1, -2, -1, -1, -1, 0, -2, -1, -2, -1, -1, -3, -1, 1, 0, -3, -2, 0, -2, -1, -1, -5],
64
+ [-2, 7, -1, -2, -4, 1, 0, -3, 0, -4, -3, 3, -2, -3, -3, -1, -1, -3, -1, -3, -1, 0, -1, -5],
65
+ [-1, -1, 7, 2, -2, 0, 0, 0, 1, -3, -4, 0, -2, -4, -2, 1, 0, -4, -2, -3, 4, 0, -1, -5],
66
+ [-2, -2, 2, 8, -4, 0, 2, -1, -1, -4, -4, -1, -4, -5, -1, 0, -1, -5, -3, -4, 5, 1, -1, -5],
67
+ [-1, -4, -2, -4, 13, -3, -3, -3, -3, -2, -2, -3, -2, -2, -4, -1, -1, -5, -3, -1, -3, -3, -2, -5],
68
+ [-1, 1, 0, 0, -3, 7, 2, -2, 1, -3, -2, 2, 0, -4, -1, 0, -1, -1, -1, -3, 0, 4, -1, -5],
69
+ [-1, 0, 0, 2, -3, 2, 6, -3, 0, -4, -3, 1, -2, -3, -1, -1, -1, -3, -2, -3, 1, 5, -1, -5],
70
+ [0, -3, 0, -1, -3, -2, -3, 8, -2, -4, -4, -2, -3, -4, -2, 0, -2, -3, -3, -4, -1, -2, -2, -5],
71
+ [-2, 0, 1, -1, -3, 1, 0, -2, 10, -4, -3, 0, -1, -1, -2, -1, -2, -3, 2, -4, 0, 0, -1, -5],
72
+ [-1, -4, -3, -4, -2, -3, -4, -4, -4, 5, 2, -3, 2, 0, -3, -3, -1, -3, -1, 4, -4, -3, -1, -5],
73
+ [-2, -3, -4, -4, -2, -2, -3, -4, -3, 2, 5, -3, 3, 1, -4, -3, -1, -2, -1, 1, -4, -3, -1, -5],
74
+ [-1, 3, 0, -1, -3, 2, 1, -2, 0, -3, -3, 6, -2, -4, -1, 0, -1, -3, -2, -3, 0, 1, -1, -5],
75
+ [-1, -2, -2, -4, -2, 0, -2, -3, -1, 2, 3, -2, 7, 0, -3, -2, -1, -1, 0, 1, -3, -1, -1, -5],
76
+ [-3, -3, -4, -5, -2, -4, -3, -4, -1, 0, 1, -4, 0, 8, -4, -3, -2, 1, 4, -1, -4, -4, -2, -5],
77
+ [-1, -3, -2, -1, -4, -1, -1, -2, -2, -3, -4, -1, -3, -4, 10, -1, -1, -4, -3, -3, -2, -1, -2, -5],
78
+ [1, -1, 1, 0, -1, 0, -1, 0, -1, -3, -3, 0, -2, -3, -1, 5, 2, -4, -2, -2, 0, 0, -1, -5],
79
+ [0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 2, 5, -3, -2, 0, 0, -1, 0, -5],
80
+ [-3, -3, -4, -5, -5, -1, -3, -3, -3, -3, -2, -3, -1, 1, -4, -4, -3, 15, 2, -3, -5, -2, -3, -5],
81
+ [-2, -1, -2, -3, -3, -1, -2, -3, 2, -1, -1, -2, 0, 4, -3, -2, -2, 2, 8, -1, -3, -2, -1, -5],
82
+ [0, -3, -3, -4, -1, -3, -3, -4, -4, 4, 1, -3, 1, -1, -3, -2, 0, -3, -1, 5, -4, -3, -1, -5],
83
+ [-2, -1, 4, 5, -3, 0, 1, -1, 0, -4, -4, 0, -3, -4, -2, 0, 0, -5, -3, -4, 5, 2, -1, -5],
84
+ [-1, 0, 0, 1, -3, 4, 5, -2, 0, -3, -3, 1, -1, -4, -1, 0, -1, -2, -2, -3, 2, 5, -1, -5],
85
+ [-1, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1, -1, -2, -2, -1, 0, -3, -1, -1, -1, -1, -1, -5],
86
+ [-5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, 1]];
110
87
 
111
- private BLOSUM80:Array<Array<number>> = [[7,-3,-3,-3,-1,-2,-2,0,-3,-3,-3,-1,-2,-4,-1,2,0,-5,-4,-1,-3,-2,-1,-8],
112
- [-3,9,-1,-3,-6,1,-1,-4,0,-5,-4,3,-3,-5,-3,-2,-2,-5,-4,-4,-2,0,-2,-8],
113
- [-3,-1,9,2,-5,0,-1,-1,1,-6,-6,0,-4,-6,-4,1,0,-7,-4,-5,5,-1,-2,-8],
114
- [-3,-3,2,10,-7,-1,2,-3,-2,-7,-7,-2,-6,-6,-3,-1,-2,-8,-6,-6,6,1,-3,-8],
115
- [-1,-6,-5,-7,13,-5,-7,-6,-7,-2,-3,-6,-3,-4,-6,-2,-2,-5,-5,-2,-6,-7,-4,-8],
116
- [-2,1,0,-1,-5,9,3,-4,1,-5,-4,2,-1,-5,-3,-1,-1,-4,-3,-4,-1,5,-2,-8],
117
- [-2,-1,-1,2,-7,3,8,-4,0,-6,-6,1,-4,-6,-2,-1,-2,-6,-5,-4,1,6,-2,-8],
118
- [0,-4,-1,-3,-6,-4,-4,9,-4,-7,-7,-3,-5,-6,-5,-1,-3,-6,-6,-6,-2,-4,-3,-8],
119
- [-3,0,1,-2,-7,1,0,-4,12,-6,-5,-1,-4,-2,-4,-2,-3,-4,3,-5,-1,0,-2,-8],
120
- [-3,-5,-6,-7,-2,-5,-6,-7,-6,7,2,-5,2,-1,-5,-4,-2,-5,-3,4,-6,-6,-2,-8],
121
- [-3,-4,-6,-7,-3,-4,-6,-7,-5,2,6,-4,3,0,-5,-4,-3,-4,-2,1,-7,-5,-2,-8],
122
- [-1,3,0,-2,-6,2,1,-3,-1,-5,-4,8,-3,-5,-2,-1,-1,-6,-4,-4,-1,1,-2,-8],
123
- [-2,-3,-4,-6,-3,-1,-4,-5,-4,2,3,-3,9,0,-4,-3,-1,-3,-3,1,-5,-3,-2,-8],
124
- [-4,-5,-6,-6,-4,-5,-6,-6,-2,-1,0,-5,0,10,-6,-4,-4,0,4,-2,-6,-6,-3,-8],
125
- [-1,-3,-4,-3,-6,-3,-2,-5,-4,-5,-5,-2,-4,-6,12,-2,-3,-7,-6,-4,-4,-2,-3,-8],
126
- [2,-2,1,-1,-2,-1,-1,-1,-2,-4,-4,-1,-3,-4,-2,7,2,-6,-3,-3,0,-1,-1,-8],
127
- [0,-2,0,-2,-2,-1,-2,-3,-3,-2,-3,-1,-1,-4,-3,2,8,-5,-3,0,-1,-2,-1,-8],
128
- [-5,-5,-7,-8,-5,-4,-6,-6,-4,-5,-4,-6,-3,0,-7,-6,-5,16,3,-5,-8,-5,-5,-8],
129
- [-4,-4,-4,-6,-5,-3,-5,-6,3,-3,-2,-4,-3,4,-6,-3,-3,3,11,-3,-5,-4,-3,-8],
130
- [-1,-4,-5,-6,-2,-4,-4,-6,-5,4,1,-4,1,-2,-4,-3,0,-5,-3,7,-6,-4,-2,-8],
131
- [-3,-2,5,6,-6,-1,1,-2,-1,-6,-7,-1,-5,-6,-4,0,-1,-8,-5,-6,6,0,-3,-8],
132
- [-2,0,-1,1,-7,5,6,-4,0,-6,-5,1,-3,-6,-2,-1,-2,-5,-4,-4,0,6,-1,-8],
133
- [-1,-2,-2,-3,-4,-2,-2,-3,-2,-2,-2,-2,-2,-3,-3,-1,-1,-5,-3,-2,-3,-1,-2,-8],
134
- [-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,1]];
88
+ private BLOSUM62:Array<Array<number>> = [[4, -1, -2, -2, 0, -1, -1, 0, -2, -1, -1, -1, -1, -2, -1, 1, 0, -3, -2, 0, -2, -1, 0, -4],
89
+ [-1, 5, 0, -2, -3, 1, 0, -2, 0, -3, -2, 2, -1, -3, -2, -1, -1, -3, -2, -3, -1, 0, -1, -4],
90
+ [-2, 0, 6, 1, -3, 0, 0, 0, 1, -3, -3, 0, -2, -3, -2, 1, 0, -4, -2, -3, 3, 0, -1, -4],
91
+ [-2, -2, 1, 6, -3, 0, 2, -1, -1, -3, -4, -1, -3, -3, -1, 0, -1, -4, -3, -3, 4, 1, -1, -4],
92
+ [0, -3, -3, -3, 9, -3, -4, -3, -3, -1, -1, -3, -1, -2, -3, -1, -1, -2, -2, -1, -3, -3, -2, -4],
93
+ [-1, 1, 0, 0, -3, 5, 2, -2, 0, -3, -2, 1, 0, -3, -1, 0, -1, -2, -1, -2, 0, 3, -1, -4],
94
+ [-1, 0, 0, 2, -4, 2, 5, -2, 0, -3, -3, 1, -2, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
95
+ [0, -2, 0, -1, -3, -2, -2, 6, -2, -4, -4, -2, -3, -3, -2, 0, -2, -2, -3, -3, -1, -2, -1, -4],
96
+ [-2, 0, 1, -1, -3, 0, 0, -2, 8, -3, -3, -1, -2, -1, -2, -1, -2, -2, 2, -3, 0, 0, -1, -4],
97
+ [-1, -3, -3, -3, -1, -3, -3, -4, -3, 4, 2, -3, 1, 0, -3, -2, -1, -3, -1, 3, -3, -3, -1, -4],
98
+ [-1, -2, -3, -4, -1, -2, -3, -4, -3, 2, 4, -2, 2, 0, -3, -2, -1, -2, -1, 1, -4, -3, -1, -4],
99
+ [-1, 2, 0, -1, -3, 1, 1, -2, -1, -3, -2, 5, -1, -3, -1, 0, -1, -3, -2, -2, 0, 1, -1, -4],
100
+ [-1, -1, -2, -3, -1, 0, -2, -3, -2, 1, 2, -1, 5, 0, -2, -1, -1, -1, -1, 1, -3, -1, -1, -4],
101
+ [-2, -3, -3, -3, -2, -3, -3, -3, -1, 0, 0, -3, 0, 6, -4, -2, -2, 1, 3, -1, -3, -3, -1, -4],
102
+ [-1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1, -2, -4, 7, -1, -1, -4, -3, -2, -2, -1, -2, -4],
103
+ [1, -1, 1, 0, -1, 0, 0, 0, -1, -2, -2, 0, -1, -2, -1, 4, 1, -3, -2, -2, 0, 0, 0, -4],
104
+ [0, -1, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -2, -1, 1, 5, -2, -2, 0, -1, -1, 0, -4],
105
+ [-3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3, -1, 1, -4, -3, -2, 11, 2, -3, -4, -3, -2, -4],
106
+ [-2, -2, -2, -3, -2, -1, -2, -3, 2, -1, -1, -2, -1, 3, -3, -2, -2, 2, 7, -1, -3, -2, -1, -4],
107
+ [0, -3, -3, -3, -1, -2, -2, -3, -3, 3, 1, -2, 1, -1, -2, -2, 0, -3, -1, 4, -3, -2, -1, -4],
108
+ [-2, -1, 3, 4, -3, 0, 1, -1, 0, -3, -4, 0, -3, -3, -2, 0, -1, -4, -3, -3, 4, 1, -1, -4],
109
+ [-1, 0, 0, 1, -3, 3, 4, -2, 0, -3, -3, 1, -1, -3, -1, 0, -1, -3, -2, -2, 1, 4, -1, -4],
110
+ [0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, 0, 0, -2, -1, -1, -1, -1, -1, -4],
111
+ [-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 1]];
135
112
 
136
- private BLOSUM90:Array<Array<number>> = [[5,-2,-2,-3,-1,-1,-1,0,-2,-2,-2,-1,-2,-3,-1,1,0,-4,-3,-1,-2,-1,-1,-6],
137
- [-2,6,-1,-3,-5,1,-1,-3,0,-4,-3,2,-2,-4,-3,-1,-2,-4,-3,-3,-2,0,-2,-6],
138
- [-2,-1,7,1,-4,0,-1,-1,0,-4,-4,0,-3,-4,-3,0,0,-5,-3,-4,4,-1,-2,-6],
139
- [-3,-3,1,7,-5,-1,1,-2,-2,-5,-5,-1,-4,-5,-3,-1,-2,-6,-4,-5,4,0,-2,-6],
140
- [-1,-5,-4,-5,9,-4,-6,-4,-5,-2,-2,-4,-2,-3,-4,-2,-2,-4,-4,-2,-4,-5,-3,-6],
141
- [-1,1,0,-1,-4,7,2,-3,1,-4,-3,1,0,-4,-2,-1,-1,-3,-3,-3,-1,4,-1,-6],
142
- [-1,-1,-1,1,-6,2,6,-3,-1,-4,-4,0,-3,-5,-2,-1,-1,-5,-4,-3,0,4,-2,-6],
143
- [0,-3,-1,-2,-4,-3,-3,6,-3,-5,-5,-2,-4,-5,-3,-1,-3,-4,-5,-5,-2,-3,-2,-6],
144
- [-2,0,0,-2,-5,1,-1,-3,8,-4,-4,-1,-3,-2,-3,-2,-2,-3,1,-4,-1,0,-2,-6],
145
- [-2,-4,-4,-5,-2,-4,-4,-5,-4,5,1,-4,1,-1,-4,-3,-1,-4,-2,3,-5,-4,-2,-6],
146
- [-2,-3,-4,-5,-2,-3,-4,-5,-4,1,5,-3,2,0,-4,-3,-2,-3,-2,0,-5,-4,-2,-6],
147
- [-1,2,0,-1,-4,1,0,-2,-1,-4,-3,6,-2,-4,-2,-1,-1,-5,-3,-3,-1,1,-1,-6],
148
- [-2,-2,-3,-4,-2,0,-3,-4,-3,1,2,-2,7,-1,-3,-2,-1,-2,-2,0,-4,-2,-1,-6],
149
- [-3,-4,-4,-5,-3,-4,-5,-5,-2,-1,0,-4,-1,7,-4,-3,-3,0,3,-2,-4,-4,-2,-6],
150
- [-1,-3,-3,-3,-4,-2,-2,-3,-3,-4,-4,-2,-3,-4,8,-2,-2,-5,-4,-3,-3,-2,-2,-6],
151
- [1,-1,0,-1,-2,-1,-1,-1,-2,-3,-3,-1,-2,-3,-2,5,1,-4,-3,-2,0,-1,-1,-6],
152
- [0,-2,0,-2,-2,-1,-1,-3,-2,-1,-2,-1,-1,-3,-2,1,6,-4,-2,-1,-1,-1,-1,-6],
153
- [-4,-4,-5,-6,-4,-3,-5,-4,-3,-4,-3,-5,-2,0,-5,-4,-4,11,2,-3,-6,-4,-3,-6],
154
- [-3,-3,-3,-4,-4,-3,-4,-5,1,-2,-2,-3,-2,3,-4,-3,-2,2,8,-3,-4,-3,-2,-6],
155
- [-1,-3,-4,-5,-2,-3,-3,-5,-4,3,0,-3,0,-2,-3,-2,-1,-3,-3,5,-4,-3,-2,-6],
156
- [-2,-2,4,4,-4,-1,0,-2,-1,-5,-5,-1,-4,-4,-3,0,-1,-6,-4,-4,4,0,-2,-6],
157
- [-1,0,-1,0,-5,4,4,-3,0,-4,-4,1,-2,-4,-2,-1,-1,-4,-3,-3,0,4,-1,-6],
158
- [-1,-2,-2,-2,-3,-1,-2,-2,-2,-2,-2,-1,-1,-2,-2,-1,-1,-3,-2,-2,-2,-1,-2,-6],
159
- [-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,1]];
113
+ private BLOSUM80:Array<Array<number>> = [[7, -3, -3, -3, -1, -2, -2, 0, -3, -3, -3, -1, -2, -4, -1, 2, 0, -5, -4, -1, -3, -2, -1, -8],
114
+ [-3, 9, -1, -3, -6, 1, -1, -4, 0, -5, -4, 3, -3, -5, -3, -2, -2, -5, -4, -4, -2, 0, -2, -8],
115
+ [-3, -1, 9, 2, -5, 0, -1, -1, 1, -6, -6, 0, -4, -6, -4, 1, 0, -7, -4, -5, 5, -1, -2, -8],
116
+ [-3, -3, 2, 10, -7, -1, 2, -3, -2, -7, -7, -2, -6, -6, -3, -1, -2, -8, -6, -6, 6, 1, -3, -8],
117
+ [-1, -6, -5, -7, 13, -5, -7, -6, -7, -2, -3, -6, -3, -4, -6, -2, -2, -5, -5, -2, -6, -7, -4, -8],
118
+ [-2, 1, 0, -1, -5, 9, 3, -4, 1, -5, -4, 2, -1, -5, -3, -1, -1, -4, -3, -4, -1, 5, -2, -8],
119
+ [-2, -1, -1, 2, -7, 3, 8, -4, 0, -6, -6, 1, -4, -6, -2, -1, -2, -6, -5, -4, 1, 6, -2, -8],
120
+ [0, -4, -1, -3, -6, -4, -4, 9, -4, -7, -7, -3, -5, -6, -5, -1, -3, -6, -6, -6, -2, -4, -3, -8],
121
+ [-3, 0, 1, -2, -7, 1, 0, -4, 12, -6, -5, -1, -4, -2, -4, -2, -3, -4, 3, -5, -1, 0, -2, -8],
122
+ [-3, -5, -6, -7, -2, -5, -6, -7, -6, 7, 2, -5, 2, -1, -5, -4, -2, -5, -3, 4, -6, -6, -2, -8],
123
+ [-3, -4, -6, -7, -3, -4, -6, -7, -5, 2, 6, -4, 3, 0, -5, -4, -3, -4, -2, 1, -7, -5, -2, -8],
124
+ [-1, 3, 0, -2, -6, 2, 1, -3, -1, -5, -4, 8, -3, -5, -2, -1, -1, -6, -4, -4, -1, 1, -2, -8],
125
+ [-2, -3, -4, -6, -3, -1, -4, -5, -4, 2, 3, -3, 9, 0, -4, -3, -1, -3, -3, 1, -5, -3, -2, -8],
126
+ [-4, -5, -6, -6, -4, -5, -6, -6, -2, -1, 0, -5, 0, 10, -6, -4, -4, 0, 4, -2, -6, -6, -3, -8],
127
+ [-1, -3, -4, -3, -6, -3, -2, -5, -4, -5, -5, -2, -4, -6, 12, -2, -3, -7, -6, -4, -4, -2, -3, -8],
128
+ [2, -2, 1, -1, -2, -1, -1, -1, -2, -4, -4, -1, -3, -4, -2, 7, 2, -6, -3, -3, 0, -1, -1, -8],
129
+ [0, -2, 0, -2, -2, -1, -2, -3, -3, -2, -3, -1, -1, -4, -3, 2, 8, -5, -3, 0, -1, -2, -1, -8],
130
+ [-5, -5, -7, -8, -5, -4, -6, -6, -4, -5, -4, -6, -3, 0, -7, -6, -5, 16, 3, -5, -8, -5, -5, -8],
131
+ [-4, -4, -4, -6, -5, -3, -5, -6, 3, -3, -2, -4, -3, 4, -6, -3, -3, 3, 11, -3, -5, -4, -3, -8],
132
+ [-1, -4, -5, -6, -2, -4, -4, -6, -5, 4, 1, -4, 1, -2, -4, -3, 0, -5, -3, 7, -6, -4, -2, -8],
133
+ [-3, -2, 5, 6, -6, -1, 1, -2, -1, -6, -7, -1, -5, -6, -4, 0, -1, -8, -5, -6, 6, 0, -3, -8],
134
+ [-2, 0, -1, 1, -7, 5, 6, -4, 0, -6, -5, 1, -3, -6, -2, -1, -2, -5, -4, -4, 0, 6, -1, -8],
135
+ [-1, -2, -2, -3, -4, -2, -2, -3, -2, -2, -2, -2, -2, -3, -3, -1, -1, -5, -3, -2, -3, -1, -2, -8],
136
+ [-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
160
137
 
161
- private NUCLEOTIDES: Array<Array<number>> = [[1,-1,-1,-1],
162
- [-1,1,-1,-1],
163
- [-1,-1,1,-1],
164
- [-1,-1,-1,1]];
138
+ private BLOSUM90:Array<Array<number>> = [[5, -2, -2, -3, -1, -1, -1, 0, -2, -2, -2, -1, -2, -3, -1, 1, 0, -4, -3, -1, -2, -1, -1, -6],
139
+ [-2, 6, -1, -3, -5, 1, -1, -3, 0, -4, -3, 2, -2, -4, -3, -1, -2, -4, -3, -3, -2, 0, -2, -6],
140
+ [-2, -1, 7, 1, -4, 0, -1, -1, 0, -4, -4, 0, -3, -4, -3, 0, 0, -5, -3, -4, 4, -1, -2, -6],
141
+ [-3, -3, 1, 7, -5, -1, 1, -2, -2, -5, -5, -1, -4, -5, -3, -1, -2, -6, -4, -5, 4, 0, -2, -6],
142
+ [-1, -5, -4, -5, 9, -4, -6, -4, -5, -2, -2, -4, -2, -3, -4, -2, -2, -4, -4, -2, -4, -5, -3, -6],
143
+ [-1, 1, 0, -1, -4, 7, 2, -3, 1, -4, -3, 1, 0, -4, -2, -1, -1, -3, -3, -3, -1, 4, -1, -6],
144
+ [-1, -1, -1, 1, -6, 2, 6, -3, -1, -4, -4, 0, -3, -5, -2, -1, -1, -5, -4, -3, 0, 4, -2, -6],
145
+ [0, -3, -1, -2, -4, -3, -3, 6, -3, -5, -5, -2, -4, -5, -3, -1, -3, -4, -5, -5, -2, -3, -2, -6],
146
+ [-2, 0, 0, -2, -5, 1, -1, -3, 8, -4, -4, -1, -3, -2, -3, -2, -2, -3, 1, -4, -1, 0, -2, -6],
147
+ [-2, -4, -4, -5, -2, -4, -4, -5, -4, 5, 1, -4, 1, -1, -4, -3, -1, -4, -2, 3, -5, -4, -2, -6],
148
+ [-2, -3, -4, -5, -2, -3, -4, -5, -4, 1, 5, -3, 2, 0, -4, -3, -2, -3, -2, 0, -5, -4, -2, -6],
149
+ [-1, 2, 0, -1, -4, 1, 0, -2, -1, -4, -3, 6, -2, -4, -2, -1, -1, -5, -3, -3, -1, 1, -1, -6],
150
+ [-2, -2, -3, -4, -2, 0, -3, -4, -3, 1, 2, -2, 7, -1, -3, -2, -1, -2, -2, 0, -4, -2, -1, -6],
151
+ [-3, -4, -4, -5, -3, -4, -5, -5, -2, -1, 0, -4, -1, 7, -4, -3, -3, 0, 3, -2, -4, -4, -2, -6],
152
+ [-1, -3, -3, -3, -4, -2, -2, -3, -3, -4, -4, -2, -3, -4, 8, -2, -2, -5, -4, -3, -3, -2, -2, -6],
153
+ [1, -1, 0, -1, -2, -1, -1, -1, -2, -3, -3, -1, -2, -3, -2, 5, 1, -4, -3, -2, 0, -1, -1, -6],
154
+ [0, -2, 0, -2, -2, -1, -1, -3, -2, -1, -2, -1, -1, -3, -2, 1, 6, -4, -2, -1, -1, -1, -1, -6],
155
+ [-4, -4, -5, -6, -4, -3, -5, -4, -3, -4, -3, -5, -2, 0, -5, -4, -4, 11, 2, -3, -6, -4, -3, -6],
156
+ [-3, -3, -3, -4, -4, -3, -4, -5, 1, -2, -2, -3, -2, 3, -4, -3, -2, 2, 8, -3, -4, -3, -2, -6],
157
+ [-1, -3, -4, -5, -2, -3, -3, -5, -4, 3, 0, -3, 0, -2, -3, -2, -1, -3, -3, 5, -4, -3, -2, -6],
158
+ [-2, -2, 4, 4, -4, -1, 0, -2, -1, -5, -5, -1, -4, -4, -3, 0, -1, -6, -4, -4, 4, 0, -2, -6],
159
+ [-1, 0, -1, 0, -5, 4, 4, -3, 0, -4, -4, 1, -2, -4, -2, -1, -1, -4, -3, -3, 0, 4, -1, -6],
160
+ [-1, -2, -2, -2, -3, -1, -2, -2, -2, -2, -2, -1, -1, -2, -2, -1, -1, -3, -2, -2, -2, -1, -2, -6],
161
+ [-6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, 1]];
165
162
 
166
- private PAM30: Array<Array<number>> = [[6,-7,-4,-3,-6,-4,-2,-2,-7,-5,-6,-7,-5,-8,-2,0,-1,-13,-8,-2,-3,-3,-3,-17],
167
- [-7,8,-6,-10,-8,-2,-9,-9,-2,-5,-8,0,-4,-9,-4,-3,-6,-2,-10,-8,-7,-4,-6,-17],
168
- [-4,-6,8,2,-11,-3,-2,-3,0,-5,-7,-1,-9,-9,-6,0,-2,-8,-4,-8,6,-3,-3,-17],
169
- [-3,-10,2,8,-14,-2,2,-3,-4,-7,-12,-4,-11,-15,-8,-4,-5,-15,-11,-8,6,1,-5,-17],
170
- [-6,-8,-11,-14,10,-14,-14,-9,-7,-6,-15,-14,-13,-13,-8,-3,-8,-15,-4,-6,-12,-14,-9,-17],
171
- [-4,-2,-3,-2,-14,8,1,-7,1,-8,-5,-3,-4,-13,-3,-5,-5,-13,-12,-7,-3,6,-5,-17],
172
- [-2,-9,-2,2,-14,1,8,-4,-5,-5,-9,-4,-7,-14,-5,-4,-6,-17,-8,-6,1,6,-5,-17],
173
- [-2,-9,-3,-3,-9,-7,-4,6,-9,-11,-10,-7,-8,-9,-6,-2,-6,-15,-14,-5,-3,-5,-5,-17],
174
- [-7,-2,0,-4,-7,1,-5,-9,9,-9,-6,-6,-10,-6,-4,-6,-7,-7,-3,-6,-1,-1,-5,-17],
175
- [-5,-5,-5,-7,-6,-8,-5,-11,-9,8,-1,-6,-1,-2,-8,-7,-2,-14,-6,2,-6,-6,-5,-17],
176
- [-6,-8,-7,-12,-15,-5,-9,-10,-6,-1,7,-8,1,-3,-7,-8,-7,-6,-7,-2,-9,-7,-6,-17],
177
- [-7,0,-1,-4,-14,-3,-4,-7,-6,-6,-8,7,-2,-14,-6,-4,-3,-12,-9,-9,-2,-4,-5,-17],
178
- [-5,-4,-9,-11,-13,-4,-7,-8,-10,-1,1,-2,11,-4,-8,-5,-4,-13,-11,-1,-10,-5,-5,-17],
179
- [-8,-9,-9,-15,-13,-13,-14,-9,-6,-2,-3,-14,-4,9,-10,-6,-9,-4,2,-8,-10,-13,-8,-17],
180
- [-2,-4,-6,-8,-8,-3,-5,-6,-4,-8,-7,-6,-8,-10,8,-2,-4,-14,-13,-6,-7,-4,-5,-17],
181
- [0,-3,0,-4,-3,-5,-4,-2,-6,-7,-8,-4,-5,-6,-2,6,0,-5,-7,-6,-1,-5,-3,-17],
182
- [-1,-6,-2,-5,-8,-5,-6,-6,-7,-2,-7,-3,-4,-9,-4,0,7,-13,-6,-3,-3,-6,-4,-17],
183
- [-13,-2,-8,-15,-15,-13,-17,-15,-7,-14,-6,-12,-13,-4,-14,-5,-13,13,-5,-15,-10,-14,-11,-17],
184
- [-8,-10,-4,-11,-4,-12,-8,-14,-3,-6,-7,-9,-11,2,-13,-7,-6,-5,10,-7,-6,-9,-7,-17],
185
- [-2,-8,-8,-8,-6,-7,-6,-5,-6,2,-2,-9,-1,-8,-6,-6,-3,-15,-7,7,-8,-6,-5,-17],
186
- [-3,-7,6,6,-12,-3,1,-3,-1,-6,-9,-2,-10,-10,-7,-1,-3,-10,-6,-8,6,0,-5,-17],
187
- [-3,-4,-3,1,-14,6,6,-5,-1,-6,-7,-4,-5,-13,-4,-5,-6,-14,-9,-6,0,6,-5,-17],
188
- [-3,-6,-3,-5,-9,-5,-5,-5,-5,-5,-6,-5,-5,-8,-5,-3,-4,-11,-7,-5,-5,-5,-5,-17],
189
- [-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,1]];
163
+ private NUCLEOTIDES: Array<Array<number>> = [[1, -1, -1, -1],
164
+ [-1, 1, -1, -1],
165
+ [-1, -1, 1, -1],
166
+ [-1, -1, -1, 1]];
190
167
 
191
- private PAM70:Array<Array<number>> = [[5,-4,-2,-1,-4,-2,-1,0,-4,-2,-4,-4,-3,-6,0,1,1,-9,-5,-1,-1,-1,-2,-11],
192
- [-4,8,-3,-6,-5,0,-5,-6,0,-3,-6,2,-2,-7,-2,-1,-4,0,-7,-5,-4,-2,-3,-11],
193
- [-2,-3,6,3,-7,-1,0,-1,1,-3,-5,0,-5,-6,-3,1,0,-6,-3,-5,5,-1,-2,-11],
194
- [-1,-6,3,6,-9,0,3,-1,-1,-5,-8,-2,-7,-10,-4,-1,-2,-10,-7,-5,5,2,-3,-11],
195
- [-4,-5,-7,-9,9,-9,-9,-6,-5,-4,-10,-9,-9,-8,-5,-1,-5,-11,-2,-4,-8,-9,-6,-11],
196
- [-2,0,-1,0,-9,7,2,-4,2,-5,-3,-1,-2,-9,-1,-3,-3,-8,-8,-4,-1,5,-2,-11],
197
- [-1,-5,0,3,-9,2,6,-2,-2,-4,-6,-2,-4,-9,-3,-2,-3,-11,-6,-4,2,5,-3,-11],
198
- [0,-6,-1,-1,-6,-4,-2,6,-6,-6,-7,-5,-6,-7,-3,0,-3,-10,-9,-3,-1,-3,-3,-11],
199
- [-4,0,1,-1,-5,2,-2,-6,8,-6,-4,-3,-6,-4,-2,-3,-4,-5,-1,-4,0,1,-3,-11],
200
- [-2,-3,-3,-5,-4,-5,-4,-6,-6,7,1,-4,1,0,-5,-4,-1,-9,-4,3,-4,-4,-3,-11],
201
- [-4,-6,-5,-8,-10,-3,-6,-7,-4,1,6,-5,2,-1,-5,-6,-4,-4,-4,0,-6,-4,-4,-11],
202
- [-4,2,0,-2,-9,-1,-2,-5,-3,-4,-5,6,0,-9,-4,-2,-1,-7,-7,-6,-1,-2,-3,-11],
203
- [-3,-2,-5,-7,-9,-2,-4,-6,-6,1,2,0,10,-2,-5,-3,-2,-8,-7,0,-6,-3,-3,-11],
204
- [-6,-7,-6,-10,-8,-9,-9,-7,-4,0,-1,-9,-2,8,-7,-4,-6,-2,4,-5,-7,-9,-5,-11],
205
- [0,-2,-3,-4,-5,-1,-3,-3,-2,-5,-5,-4,-5,-7,7,0,-2,-9,-9,-3,-4,-2,-3,-11],
206
- [1,-1,1,-1,-1,-3,-2,0,-3,-4,-6,-2,-3,-4,0,5,2,-3,-5,-3,0,-2,-1,-11],
207
- [1,-4,0,-2,-5,-3,-3,-3,-4,-1,-4,-1,-2,-6,-2,2,6,-8,-4,-1,-1,-3,-2,-11],
208
- [-9,0,-6,-10,-11,-8,-11,-10,-5,-9,-4,-7,-8,-2,-9,-3,-8,13,-3,-10,-7,-10,-7,-11],
209
- [-5,-7,-3,-7,-2,-8,-6,-9,-1,-4,-4,-7,-7,4,-9,-5,-4,-3,9,-5,-4,-7,-5,-11],
210
- [-1,-5,-5,-5,-4,-4,-4,-3,-4,3,0,-6,0,-5,-3,-3,-1,-10,-5,6,-5,-4,-2,-11],
211
- [-1,-4,5,5,-8,-1,2,-1,0,-4,-6,-1,-6,-7,-4,0,-1,-7,-4,-5,5,1,-2,-11],
212
- [-1,-2,-1,2,-9,5,5,-3,1,-4,-4,-2,-3,-9,-2,-2,-3,-10,-7,-4,1,5,-3,-11],
213
- [-2,-3,-2,-3,-6,-2,-3,-3,-3,-3,-4,-3,-3,-5,-3,-1,-2,-7,-5,-2,-2,-3,-3,-11],
214
- [-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,1]];
168
+ private PAM30: Array<Array<number>> = [[6, -7, -4, -3, -6, -4, -2, -2, -7, -5, -6, -7, -5, -8, -2, 0, -1, -13, -8, -2, -3, -3, -3, -17],
169
+ [-7, 8, -6, -10, -8, -2, -9, -9, -2, -5, -8, 0, -4, -9, -4, -3, -6, -2, -10, -8, -7, -4, -6, -17],
170
+ [-4, -6, 8, 2, -11, -3, -2, -3, 0, -5, -7, -1, -9, -9, -6, 0, -2, -8, -4, -8, 6, -3, -3, -17],
171
+ [-3, -10, 2, 8, -14, -2, 2, -3, -4, -7, -12, -4, -11, -15, -8, -4, -5, -15, -11, -8, 6, 1, -5, -17],
172
+ [-6, -8, -11, -14, 10, -14, -14, -9, -7, -6, -15, -14, -13, -13, -8, -3, -8, -15, -4, -6, -12, -14, -9, -17],
173
+ [-4, -2, -3, -2, -14, 8, 1, -7, 1, -8, -5, -3, -4, -13, -3, -5, -5, -13, -12, -7, -3, 6, -5, -17],
174
+ [-2, -9, -2, 2, -14, 1, 8, -4, -5, -5, -9, -4, -7, -14, -5, -4, -6, -17, -8, -6, 1, 6, -5, -17],
175
+ [-2, -9, -3, -3, -9, -7, -4, 6, -9, -11, -10, -7, -8, -9, -6, -2, -6, -15, -14, -5, -3, -5, -5, -17],
176
+ [-7, -2, 0, -4, -7, 1, -5, -9, 9, -9, -6, -6, -10, -6, -4, -6, -7, -7, -3, -6, -1, -1, -5, -17],
177
+ [-5, -5, -5, -7, -6, -8, -5, -11, -9, 8, -1, -6, -1, -2, -8, -7, -2, -14, -6, 2, -6, -6, -5, -17],
178
+ [-6, -8, -7, -12, -15, -5, -9, -10, -6, -1, 7, -8, 1, -3, -7, -8, -7, -6, -7, -2, -9, -7, -6, -17],
179
+ [-7, 0, -1, -4, -14, -3, -4, -7, -6, -6, -8, 7, -2, -14, -6, -4, -3, -12, -9, -9, -2, -4, -5, -17],
180
+ [-5, -4, -9, -11, -13, -4, -7, -8, -10, -1, 1, -2, 11, -4, -8, -5, -4, -13, -11, -1, -10, -5, -5, -17],
181
+ [-8, -9, -9, -15, -13, -13, -14, -9, -6, -2, -3, -14, -4, 9, -10, -6, -9, -4, 2, -8, -10, -13, -8, -17],
182
+ [-2, -4, -6, -8, -8, -3, -5, -6, -4, -8, -7, -6, -8, -10, 8, -2, -4, -14, -13, -6, -7, -4, -5, -17],
183
+ [0, -3, 0, -4, -3, -5, -4, -2, -6, -7, -8, -4, -5, -6, -2, 6, 0, -5, -7, -6, -1, -5, -3, -17],
184
+ [-1, -6, -2, -5, -8, -5, -6, -6, -7, -2, -7, -3, -4, -9, -4, 0, 7, -13, -6, -3, -3, -6, -4, -17],
185
+ [-13, -2, -8, -15, -15, -13, -17, -15, -7, -14, -6, -12, -13, -4, -14, -5, -13, 13, -5, -15, -10, -14, -11, -17],
186
+ [-8, -10, -4, -11, -4, -12, -8, -14, -3, -6, -7, -9, -11, 2, -13, -7, -6, -5, 10, -7, -6, -9, -7, -17],
187
+ [-2, -8, -8, -8, -6, -7, -6, -5, -6, 2, -2, -9, -1, -8, -6, -6, -3, -15, -7, 7, -8, -6, -5, -17],
188
+ [-3, -7, 6, 6, -12, -3, 1, -3, -1, -6, -9, -2, -10, -10, -7, -1, -3, -10, -6, -8, 6, 0, -5, -17],
189
+ [-3, -4, -3, 1, -14, 6, 6, -5, -1, -6, -7, -4, -5, -13, -4, -5, -6, -14, -9, -6, 0, 6, -5, -17],
190
+ [-3, -6, -3, -5, -9, -5, -5, -5, -5, -5, -6, -5, -5, -8, -5, -3, -4, -11, -7, -5, -5, -5, -5, -17],
191
+ [-17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, 1]];
215
192
 
216
- private PAM250:Array<Array<number>> = [[2,-2,0,0,-2,0,0,1,-1,-1,-2,-1,-1,-3,1,1,1,-6,-3,0,0,0,0,-8],
217
- [-2,6,0,-1,-4,1,-1,-3,2,-2,-3,3,0,-4,0,0,-1,2,-4,-2,-1,0,-1,-8],
218
- [0,0,2,2,-4,1,1,0,2,-2,-3,1,-2,-3,0,1,0,-4,-2,-2,2,1,0,-8],
219
- [0,-1,2,4,-5,2,3,1,1,-2,-4,0,-3,-6,-1,0,0,-7,-4,-2,3,3,-1,-8],
220
- [-2,-4,-4,-5,12,-5,-5,-3,-3,-2,-6,-5,-5,-4,-3,0,-2,-8,0,-2,-4,-5,-3,-8],
221
- [0,1,1,2,-5,4,2,-1,3,-2,-2,1,-1,-5,0,-1,-1,-5,-4,-2,1,3,-1,-8],
222
- [0,-1,1,3,-5,2,4,0,1,-2,-3,0,-2,-5,-1,0,0,-7,-4,-2,3,3,-1,-8],
223
- [1,-3,0,1,-3,-1,0,5,-2,-3,-4,-2,-3,-5,0,1,0,-7,-5,-1,0,0,-1,-8],
224
- [-1,2,2,1,-3,3,1,-2,6,-2,-2,0,-2,-2,0,-1,-1,-3,0,-2,1,2,-1,-8],
225
- [-1,-2,-2,-2,-2,-2,-2,-3,-2,5,2,-2,2,1,-2,-1,0,-5,-1,4,-2,-2,-1,-8],
226
- [-2,-3,-3,-4,-6,-2,-3,-4,-2,2,6,-3,4,2,-3,-3,-2,-2,-1,2,-3,-3,-1,-8],
227
- [-1,3,1,0,-5,1,0,-2,0,-2,-3,5,0,-5,-1,0,0,-3,-4,-2,1,0,-1,-8],
228
- [-1,0,-2,-3,-5,-1,-2,-3,-2,2,4,0,6,0,-2,-2,-1,-4,-2,2,-2,-2,-1,-8],
229
- [-3,-4,-3,-6,-4,-5,-5,-5,-2,1,2,-5,0,9,-5,-3,-3,0,7,-1,-4,-5,-2,-8],
230
- [1,0,0,-1,-3,0,-1,0,0,-2,-3,-1,-2,-5,6,1,0,-6,-5,-1,-1,0,-1,-8],
231
- [1,0,1,0,0,-1,0,1,-1,-1,-3,0,-2,-3,1,2,1,-2,-3,-1,0,0,0,-8],
232
- [1,-1,0,0,-2,-1,0,0,-1,0,-2,0,-1,-3,0,1,3,-5,-3,0,0,-1,0,-8],
233
- [-6,2,-4,-7,-8,-5,-7,-7,-3,-5,-2,-3,-4,0,-6,-2,-5,17,0,-6,-5,-6,-4,-8],
234
- [-3,-4,-2,-4,0,-4,-4,-5,0,-1,-1,-4,-2,7,-5,-3,-3,0,10,-2,-3,-4,-2,-8],
235
- [0,-2,-2,-2,-2,-2,-2,-1,-2,4,2,-2,2,-1,-1,-1,0,-6,-2,4,-2,-2,-1,-8],
236
- [0,-1,2,3,-4,1,3,0,1,-2,-3,1,-2,-4,-1,0,0,-5,-3,-2,3,2,-1,-8],
237
- [0,0,1,3,-5,3,3,0,2,-2,-3,0,-2,-5,0,0,-1,-6,-4,-2,2,3,-1,-8],
238
- [0,-1,0,-1,-3,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,0,0,-4,-2,-1,-1,-1,-1,-8],
239
- [-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,1]];
193
+ private PAM70:Array<Array<number>> = [[5, -4, -2, -1, -4, -2, -1, 0, -4, -2, -4, -4, -3, -6, 0, 1, 1, -9, -5, -1, -1, -1, -2, -11],
194
+ [-4, 8, -3, -6, -5, 0, -5, -6, 0, -3, -6, 2, -2, -7, -2, -1, -4, 0, -7, -5, -4, -2, -3, -11],
195
+ [-2, -3, 6, 3, -7, -1, 0, -1, 1, -3, -5, 0, -5, -6, -3, 1, 0, -6, -3, -5, 5, -1, -2, -11],
196
+ [-1, -6, 3, 6, -9, 0, 3, -1, -1, -5, -8, -2, -7, -10, -4, -1, -2, -10, -7, -5, 5, 2, -3, -11],
197
+ [-4, -5, -7, -9, 9, -9, -9, -6, -5, -4, -10, -9, -9, -8, -5, -1, -5, -11, -2, -4, -8, -9, -6, -11],
198
+ [-2, 0, -1, 0, -9, 7, 2, -4, 2, -5, -3, -1, -2, -9, -1, -3, -3, -8, -8, -4, -1, 5, -2, -11],
199
+ [-1, -5, 0, 3, -9, 2, 6, -2, -2, -4, -6, -2, -4, -9, -3, -2, -3, -11, -6, -4, 2, 5, -3, -11],
200
+ [0, -6, -1, -1, -6, -4, -2, 6, -6, -6, -7, -5, -6, -7, -3, 0, -3, -10, -9, -3, -1, -3, -3, -11],
201
+ [-4, 0, 1, -1, -5, 2, -2, -6, 8, -6, -4, -3, -6, -4, -2, -3, -4, -5, -1, -4, 0, 1, -3, -11],
202
+ [-2, -3, -3, -5, -4, -5, -4, -6, -6, 7, 1, -4, 1, 0, -5, -4, -1, -9, -4, 3, -4, -4, -3, -11],
203
+ [-4, -6, -5, -8, -10, -3, -6, -7, -4, 1, 6, -5, 2, -1, -5, -6, -4, -4, -4, 0, -6, -4, -4, -11],
204
+ [-4, 2, 0, -2, -9, -1, -2, -5, -3, -4, -5, 6, 0, -9, -4, -2, -1, -7, -7, -6, -1, -2, -3, -11],
205
+ [-3, -2, -5, -7, -9, -2, -4, -6, -6, 1, 2, 0, 10, -2, -5, -3, -2, -8, -7, 0, -6, -3, -3, -11],
206
+ [-6, -7, -6, -10, -8, -9, -9, -7, -4, 0, -1, -9, -2, 8, -7, -4, -6, -2, 4, -5, -7, -9, -5, -11],
207
+ [0, -2, -3, -4, -5, -1, -3, -3, -2, -5, -5, -4, -5, -7, 7, 0, -2, -9, -9, -3, -4, -2, -3, -11],
208
+ [1, -1, 1, -1, -1, -3, -2, 0, -3, -4, -6, -2, -3, -4, 0, 5, 2, -3, -5, -3, 0, -2, -1, -11],
209
+ [1, -4, 0, -2, -5, -3, -3, -3, -4, -1, -4, -1, -2, -6, -2, 2, 6, -8, -4, -1, -1, -3, -2, -11],
210
+ [-9, 0, -6, -10, -11, -8, -11, -10, -5, -9, -4, -7, -8, -2, -9, -3, -8, 13, -3, -10, -7, -10, -7, -11],
211
+ [-5, -7, -3, -7, -2, -8, -6, -9, -1, -4, -4, -7, -7, 4, -9, -5, -4, -3, 9, -5, -4, -7, -5, -11],
212
+ [-1, -5, -5, -5, -4, -4, -4, -3, -4, 3, 0, -6, 0, -5, -3, -3, -1, -10, -5, 6, -5, -4, -2, -11],
213
+ [-1, -4, 5, 5, -8, -1, 2, -1, 0, -4, -6, -1, -6, -7, -4, 0, -1, -7, -4, -5, 5, 1, -2, -11],
214
+ [-1, -2, -1, 2, -9, 5, 5, -3, 1, -4, -4, -2, -3, -9, -2, -2, -3, -10, -7, -4, 1, 5, -3, -11],
215
+ [-2, -3, -2, -3, -6, -2, -3, -3, -3, -3, -4, -3, -3, -5, -3, -1, -2, -7, -5, -2, -2, -3, -3, -11],
216
+ [-11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, 1]];
240
217
 
241
- private SCHNEIDER :Array<Array<number>> = [[11.6,-2.7,9.7,-1.7,-2.7,-6.4,-3.9,-5.6,5.1,-5.0,3.6,-4.2,-6.3,-13.0,-7.1,-11.5,0.4,-6.0,-1.9,-5.3,-8.5,-11.2,-8.9,-10.8,2.1,0.0,1.4,0.2,-10.2,-13.5,-13.0,-12.5,-2.6,-8.5,-5.0,-8.1,-6.3,-9.9,-7.5,-9.0,-7.1,-10.2,-8.2,-9.2,-8.2,-12.5,-11.1,-11.4,-50.0,-14.8,-50.0,-13.8,-7.3,-10.1,-8.4,-9.1,-50.0,-13.0,-13.5,-12.4,-10.7,-18.1,-11.8,-17.2,],
242
- [-2.7,13.0,-3.3,10.9,-3.5,-0.4,-3.3,-1.8,-5.4,4.6,-5.5,3.0,-10.2,-7.9,-9.9,-9.6,-5.0,0.5,-5.5,-1.0,-10.3,-8.1,-9.4,-9.6,-8.1,-5.0,-7.3,-6.3,-13.4,-11.3,-14.4,-12.9,-6.3,0.8,-6.4,-1.1,-7.4,-5.0,-6.2,-6.5,-5.6,-1.6,-4.7,-3.0,-10.8,-8.7,-11.9,-10.0,-50.0,-6.2,-50.0,-7.5,-6.3,-4.3,-6.2,-5.4,-50.0,-7.0,-16.3,-8.2,-13.2,-12.3,-13.1,-13.3,],
243
- [9.7,-3.3,11.6,-2.8,-4.5,-6.7,-3.1,-6.9,3.3,-5.5,4.8,-5.1,-8.9,-13.2,-5.7,-12.6,-1.5,-6.1,-0.6,-6.1,-10.0,-11.8,-8.6,-11.9,1.2,0.5,2.2,0.1,-11.8,-14.0,-11.9,-13.4,-4.9,-9.1,-3.4,-8.9,-8.0,-10.0,-7.2,-10.0,-9.1,-10.2,-7.1,-9.9,-10.1,-13.0,-10.6,-12.7,-50.0,-14.9,-50.0,-14.4,-8.9,-10.8,-8.9,-10.4,-50.0,-13.1,-11.8,-13.0,-12.4,-19.4,-11.5,-17.8,],
244
- [-1.7,10.9,-2.8,12.9,-2.7,-2.2,-2.8,0.2,-4.8,2.9,-5.2,5.2,-9.1,-9.5,-9.0,-7.0,-4.0,-1.0,-5.0,1.0,-9.0,-8.8,-8.9,-7.7,-7.0,-6.8,-7.1,-4.3,-12.4,-12.9,-13.9,-10.0,-4.9,-0.7,-5.6,1.4,-6.0,-6.5,-6.2,-4.8,-5.1,-3.2,-5.0,-1.2,-9.8,-9.9,-11.3,-8.2,-50.0,-7.6,-50.0,-5.1,-5.5,-5.8,-5.9,-4.2,-50.0,-8.3,-15.5,-5.9,-11.6,-14.2,-12.0,-11.6,],
245
- [-2.7,-3.5,-4.5,-2.7,11.7,9.0,10.6,9.6,-3.2,-0.7,-5.1,-0.4,0.7,-4.6,-0.4,-3.6,-4.8,-8.9,-6.5,-7.8,-1.4,-4.1,-2.9,-3.3,-8.0,-9.1,-8.0,-8.2,-6.0,-9.3,-7.7,-8.5,-6.4,-10.1,-7.5,-8.6,2.8,-0.7,0.9,0.1,-5.9,-7.3,-6.5,-6.5,-0.4,-3.9,-2.6,-3.1,-50.0,-14.6,-50.0,-12.6,2.9,0.1,1.8,1.0,-50.0,-9.2,-13.6,-7.7,-4.8,-12.2,-6.2,-11.0,],
246
- [-6.4,-0.4,-6.7,-2.2,9.0,12.3,9.8,9.6,-7.1,2.4,-7.2,0.3,-2.9,-1.2,-3.0,-3.3,-7.6,-6.7,-8.1,-7.9,-4.9,-1.9,-4.5,-3.8,-9.5,-7.8,-9.3,-8.9,-9.4,-7.1,-9.0,-9.0,-9.4,-7.5,-9.3,-9.2,-0.7,2.6,0.2,-0.1,-8.0,-4.6,-7.7,-6.1,-3.6,-1.0,-4.1,-3.1,-50.0,-11.6,-50.0,-11.6,0.2,2.3,0.4,0.5,-50.0,-6.5,-15.3,-7.8,-8.4,-9.5,-8.3,-11.1,],
247
- [-3.9,-3.3,-3.1,-2.8,10.6,9.8,12.2,9.8,-4.9,0.1,-3.6,-0.2,-1.7,-4.1,0.9,-3.5,-5.9,-8.9,-5.6,-8.5,-3.9,-3.9,-2.2,-4.5,-7.3,-7.5,-6.4,-8.5,-7.1,-8.2,-6.7,-7.8,-7.9,-9.1,-7.1,-9.4,0.9,-0.2,2.5,-0.3,-6.9,-6.5,-5.5,-6.8,-1.7,-3.4,-1.7,-2.8,-50.0,-13.0,-50.0,-11.5,1.5,0.7,2.7,0.6,-50.0,-8.9,-12.1,-7.4,-6.1,-11.5,-5.4,-10.4,],
248
- [-5.6,-1.8,-6.9,0.2,9.6,9.6,9.8,11.6,-6.6,0.9,-7.2,2.5,-2.3,-3.4,-2.3,-0.6,-6.5,-8.2,-8.0,-6.3,-3.7,-3.5,-3.9,-1.6,-9.9,-8.9,-9.6,-7.0,-8.6,-8.9,-8.8,-6.8,-8.6,-8.2,-8.8,-6.8,0.3,0.1,0.2,2.4,-7.4,-6.2,-6.9,-4.4,-2.9,-2.9,-3.5,-0.9,-50.0,-12.2,-50.0,-10.1,1.2,0.6,1.2,2.4,-50.0,-7.6,-16.1,-5.8,-7.2,-10.8,-7.4,-9.0,],
249
- [5.1,-5.4,3.3,-4.8,-3.2,-7.1,-4.9,-6.6,13.3,-2.8,11.2,-1.9,-5.7,-12.5,-7.2,-11.6,-0.7,-4.8,-3.1,-4.3,-10.0,-11.6,-8.8,-11.7,10.5,7.7,9.1,8.5,-9.8,-12.7,-11.7,-11.8,-6.3,-11.4,-8.8,-11.0,-7.5,-10.3,-8.3,-9.9,-1.9,-6.7,-4.1,-6.4,-7.9,-12.5,-11.4,-11.7,-50.0,-14.0,-50.0,-13.2,-8.5,-10.4,-9.1,-9.6,-50.0,-9.8,-7.7,-8.8,-10.3,-17.9,-11.8,-16.0,],
250
- [-5.0,4.6,-5.5,2.9,-0.7,2.4,0.1,0.9,-2.8,12.8,-2.6,11.0,-8.4,-6.3,-8.3,-7.7,-6.1,-2.9,-6.5,-4.2,-8.5,-5.9,-7.5,-7.7,-5.5,-2.4,-5.5,-4.1,-12.9,-10.3,-12.7,-11.3,-7.4,-3.1,-7.4,-4.9,-4.4,-1.8,-3.5,-3.5,-1.6,3.0,-0.8,0.9,-8.4,-6.3,-9.6,-7.3,-50.0,-9.0,-50.0,-9.7,-2.3,-0.2,-1.2,-1.5,-50.0,-0.7,-13.3,-2.0,-11.8,-11.9,-12.3,-12.7,],
251
- [3.6,-5.5,4.8,-5.2,-5.1,-7.2,-3.6,-7.2,11.2,-2.6,13.4,-2.1,-7.7,-12.5,-5.3,-11.9,-2.2,-4.4,-1.9,-4.8,-10.2,-11.5,-8.1,-12.0,9.3,8.2,10.0,8.0,-10.8,-11.9,-10.7,-12.4,-8.2,-11.8,-6.9,-11.5,-8.4,-9.9,-7.1,-10.6,-4.7,-6.8,-1.2,-7.0,-9.8,-11.6,-9.6,-12.1,-50.0,-14.1,-50.0,-12.7,-10.0,-10.8,-8.8,-10.5,-50.0,-9.2,-4.2,-9.3,-11.0,-18.2,-11.1,-16.1,],
252
- [-4.2,3.0,-5.1,5.2,-0.4,0.3,-0.2,2.5,-1.9,11.0,-2.1,13.2,-7.6,-8.5,-8.0,-5.3,-5.6,-4.5,-6.8,-2.4,-7.8,-7.9,-7.9,-6.2,-5.7,-5.1,-5.4,-2.1,-12.4,-12.3,-13.1,-10.1,-6.6,-4.4,-6.9,-2.6,-3.6,-3.8,-3.7,-2.0,-1.4,0.8,-0.9,3.0,-8.2,-8.1,-9.2,-5.8,-50.0,-10.1,-50.0,-7.4,-1.7,-2.0,-1.5,-0.5,-50.0,-2.1,-12.6,-0.4,-11.6,-13.9,-11.4,-11.1,],
253
- [-6.3,-10.2,-8.9,-9.1,0.7,-2.9,-1.7,-2.3,-5.7,-8.4,-7.7,-7.6,13.2,9.6,3.5,9.7,-8.7,-12.4,-10.7,-10.7,-7.8,-10.2,-8.8,-9.6,-9.5,-11.9,-10.9,-10.5,2.3,-0.4,-0.2,-0.3,-9.7,-15.5,-11.4,-13.7,-3.0,-6.4,-4.1,-5.4,-9.6,-11.9,-10.5,-11.8,6.2,3.3,3.7,3.6,-50.0,-13.6,-50.0,-11.9,-5.6,-8.8,-7.2,-8.9,-50.0,-12.4,-14.1,-11.6,2.8,-6.4,0.5,-5.2,],
254
- [-13.0,-7.9,-13.2,-9.5,-4.6,-1.2,-4.1,-3.4,-12.5,-6.3,-12.5,-8.5,9.6,12.7,0.2,10.5,-12.4,-11.6,-13.2,-12.0,-12.4,-10.1,-11.6,-12.0,-15.1,-13.1,-14.3,-13.4,-1.4,1.4,-1.6,-0.5,-14.9,-14.3,-15.2,-16.8,-7.7,-4.7,-6.3,-6.6,-14.6,-10.8,-12.8,-13.0,2.3,6.0,2.5,3.6,-50.0,-11.2,-50.0,-11.9,-10.5,-9.2,-10.5,-10.5,-50.0,-10.3,-16.2,-11.3,-1.7,-3.7,-2.5,-5.4,],
255
- [-7.1,-9.9,-5.7,-9.0,-0.4,-3.0,0.9,-2.3,-7.2,-8.3,-5.3,-8.0,3.5,0.2,14.3,1.0,-7.3,-11.2,-6.9,-9.7,-8.5,-10.2,-7.7,-9.8,-10.0,-10.4,-8.4,-10.2,1.0,-0.6,1.7,-0.5,-11.1,-14.8,-9.7,-14.5,-3.7,-5.8,-3.1,-5.6,-10.4,-11.5,-8.2,-11.1,0.6,-1.6,1.6,-1.1,-50.0,-12.4,-50.0,-11.5,-5.5,-8.0,-4.9,-7.2,-50.0,-12.4,-10.3,-11.6,0.7,-6.8,2.4,-6.0,],
256
- [-11.5,-9.6,-12.6,-7.0,-3.6,-3.3,-3.5,-0.6,-11.6,-7.7,-11.9,-5.3,9.7,10.5,1.0,12.6,-12.0,-12.2,-12.5,-9.7,-11.1,-11.2,-11.9,-9.4,-12.9,-14.3,-14.0,-11.9,-1.0,-0.4,-1.6,1.2,-13.9,-15.4,-13.7,-12.6,-6.2,-6.7,-6.3,-4.4,-13.0,-12.2,-13.0,-10.4,2.9,3.8,2.5,5.8,-50.0,-12.5,-50.0,-10.2,-9.6,-9.7,-9.6,-8.3,-50.0,-11.6,-15.4,-9.4,-1.1,-5.4,-1.6,-3.3,],
257
- [0.4,-5.0,-1.5,-4.0,-4.8,-7.6,-5.9,-6.5,-0.7,-6.1,-2.2,-5.6,-8.7,-12.4,-7.3,-12.0,12.8,2.3,10.2,3.0,0.0,-3.4,-0.7,-3.2,2.5,-0.8,0.9,0.2,-3.0,-7.2,-5.7,-6.1,-0.2,-6.6,-1.8,-6.0,-5.3,-8.2,-5.7,-7.6,-6.7,-9.6,-7.5,-9.3,-7.1,-10.5,-9.6,-9.4,-50.0,-8.1,-50.0,-7.2,-4.3,-6.8,-5.7,-6.3,-50.0,-9.5,-9.6,-8.9,-6.2,-12.8,-6.8,-11.8,],
258
- [-6.0,0.5,-6.1,-1.0,-8.9,-6.7,-8.9,-8.2,-4.8,-2.9,-4.4,-4.5,-12.4,-11.6,-11.2,-12.2,2.3,14.6,1.9,12.9,-5.5,-2.6,-4.1,-4.7,-1.2,3.0,-1.1,1.6,-8.0,-4.7,-8.7,-6.0,-8.2,-4.7,-7.8,-6.7,-10.0,-8.3,-8.9,-9.9,-10.8,-7.1,-10.0,-9.2,-11.6,-10.1,-12.3,-11.9,-50.0,2.2,-50.0,0.9,-7.9,-5.9,-7.4,-6.9,-50.0,-4.6,-11.6,-5.6,-9.7,-5.9,-9.9,-7.3,],
259
- [-1.9,-5.5,-0.6,-5.0,-6.5,-8.1,-5.6,-8.0,-3.1,-6.5,-1.9,-6.8,-10.7,-13.2,-6.9,-12.5,10.2,1.9,11.9,2.1,-2.3,-4.1,-0.5,-4.6,-0.1,-0.9,2.4,-0.8,-5.1,-6.9,-4.8,-6.7,-2.3,-7.1,-0.8,-7.2,-7.2,-8.0,-5.6,-8.5,-9.4,-9.7,-7.2,-9.8,-9.2,-11.1,-9.5,-10.7,-50.0,-8.7,-50.0,-8.6,-6.1,-7.5,-5.5,-7.7,-50.0,-10.4,-7.7,-10.0,-7.3,-13.6,-6.4,-13.3,],
260
- [-5.3,-1.0,-6.1,1.0,-7.8,-7.9,-8.5,-6.3,-4.3,-4.2,-4.8,-2.4,-10.7,-12.0,-9.7,-9.7,3.0,12.9,2.1,14.7,-4.9,-3.8,-4.0,-2.4,-1.0,0.8,-1.3,3.4,-7.6,-5.7,-8.1,-3.5,-6.8,-5.8,-7.2,-4.2,-8.9,-10.2,-8.4,-8.2,-9.9,-8.4,-9.7,-6.4,-11.1,-11.1,-11.8,-10.0,-50.0,0.4,-50.0,2.6,-7.2,-7.0,-7.4,-5.1,-50.0,-5.7,-9.8,-3.2,-8.4,-7.4,-8.9,-5.9,],
261
- [-8.5,-10.3,-10.0,-9.0,-1.4,-4.9,-3.9,-3.7,-10.0,-8.5,-10.2,-7.8,-7.8,-12.4,-8.5,-11.1,0.0,-5.5,-2.3,-4.9,12.6,10.0,11.1,10.5,-6.0,-8.3,-6.9,-7.5,-2.2,-7.4,-5.3,-5.9,-8.9,-12.5,-9.4,-11.6,-0.7,-3.9,-2.3,-3.0,-9.1,-9.8,-9.2,-9.5,-5.6,-9.0,-8.0,-8.5,-50.0,-15.3,-50.0,-14.1,2.3,-1.4,0.3,-0.5,-50.0,-13.6,-14.3,-11.5,-5.3,-13.7,-6.1,-12.7,],
262
- [-11.2,-8.1,-11.8,-8.8,-4.1,-1.9,-3.9,-3.5,-11.6,-5.9,-11.5,-7.9,-10.2,-10.1,-10.2,-11.2,-3.4,-2.6,-4.1,-3.8,10.0,13.1,10.7,10.6,-8.1,-5.2,-8.0,-6.7,-6.1,-3.7,-7.5,-5.6,-11.1,-10.3,-10.6,-11.9,-3.2,-1.0,-2.2,-2.8,-10.5,-8.1,-9.4,-9.5,-8.3,-6.9,-9.4,-8.8,-50.0,-11.3,-50.0,-12.8,-0.6,2.2,-0.3,0.1,-50.0,-10.1,-17.5,-11.1,-8.6,-9.9,-8.6,-11.9,],
263
- [-8.9,-9.4,-8.6,-8.9,-2.9,-4.5,-2.2,-3.9,-8.8,-7.5,-8.1,-7.9,-8.8,-11.6,-7.7,-11.9,-0.7,-4.1,-0.5,-4.0,11.1,10.7,13.2,10.4,-5.7,-5.8,-3.5,-6.1,-3.6,-6.5,-3.3,-5.5,-9.4,-11.0,-8.7,-11.2,-1.8,-2.7,0.7,-3.0,-9.1,-8.2,-7.3,-9.4,-7.2,-8.2,-7.2,-8.2,-50.0,-13.2,-50.0,-13.3,0.5,-0.9,1.8,-0.6,-50.0,-11.4,-11.1,-10.5,-6.1,-12.9,-5.0,-11.9,],
264
- [-10.8,-9.6,-11.9,-7.7,-3.3,-3.8,-4.5,-1.6,-11.7,-7.7,-12.0,-6.2,-9.6,-12.0,-9.8,-9.4,-3.2,-4.7,-4.6,-2.4,10.5,10.6,10.4,12.6,-8.2,-7.9,-9.0,-4.7,-6.1,-6.0,-7.5,-2.9,-10.9,-12.2,-11.2,-10.9,-2.4,-2.9,-2.7,-0.9,-10.4,-9.7,-10.2,-8.0,-8.4,-9.1,-9.3,-6.5,-50.0,-13.3,-50.0,-11.0,-0.0,-0.4,-0.4,2.3,-50.0,-10.9,-17.2,-8.3,-8.3,-12.7,-7.8,-9.3,],
265
- [2.1,-8.1,1.2,-7.0,-8.0,-9.5,-7.3,-9.9,10.5,-5.5,9.3,-5.7,-9.5,-15.1,-10.0,-12.9,2.5,-1.2,-0.1,-1.0,-6.0,-8.1,-5.7,-8.2,13.8,11.3,11.8,12.1,-6.0,-9.1,-9.0,-9.5,-8.9,-13.4,-10.0,-13.1,-9.9,-11.7,-9.8,-12.8,-5.9,-9.4,-6.5,-8.1,-10.7,-14.0,-13.3,-13.9,-50.0,-11.9,-50.0,-9.7,-8.9,-10.8,-9.0,-11.1,-50.0,-6.5,-5.3,-6.3,-10.5,-16.2,-10.4,-15.2,],
266
- [0.0,-5.0,0.5,-6.8,-9.1,-7.8,-7.5,-8.9,7.7,-2.4,8.2,-5.1,-11.9,-13.1,-10.4,-14.3,-0.8,3.0,-0.9,0.8,-8.3,-5.2,-5.8,-7.9,11.3,15.0,11.2,12.8,-9.7,-5.3,-9.2,-7.8,-11.7,-10.6,-10.1,-12.2,-11.7,-8.8,-8.9,-11.8,-9.3,-5.0,-8.0,-8.2,-13.6,-11.4,-12.8,-13.0,-50.0,-7.2,-50.0,-8.4,-11.0,-7.7,-8.7,-10.2,-50.0,-1.5,-7.1,-4.9,-11.2,-11.6,-11.6,-15.0,],
267
- [1.4,-7.3,2.2,-7.1,-8.0,-9.3,-6.4,-9.6,9.1,-5.5,10.0,-5.4,-10.9,-14.3,-8.4,-14.0,0.9,-1.1,2.4,-1.3,-6.9,-8.0,-3.5,-9.0,11.8,11.2,13.4,11.4,-7.3,-8.8,-6.5,-8.5,-10.0,-12.5,-7.8,-12.5,-9.6,-11.0,-7.1,-10.7,-7.9,-8.0,-4.3,-9.4,-11.4,-12.3,-10.9,-12.9,-50.0,-11.8,-50.0,-11.2,-9.4,-9.8,-7.3,-10.5,-50.0,-6.2,-2.2,-6.7,-9.8,-15.2,-8.5,-14.9,],
268
- [0.2,-6.3,0.1,-4.3,-8.2,-8.9,-8.5,-7.0,8.5,-4.1,8.0,-2.1,-10.5,-13.4,-10.2,-11.9,0.2,1.6,-0.8,3.4,-7.5,-6.7,-6.1,-4.7,12.1,12.8,11.4,14.7,-8.7,-7.4,-9.4,-5.3,-9.9,-11.8,-10.5,-10.3,-9.9,-10.1,-9.3,-9.3,-8.1,-7.2,-8.0,-5.2,-12.0,-12.1,-12.6,-10.9,-50.0,-7.9,-50.0,-5.3,-9.3,-8.8,-8.9,-7.0,-50.0,-3.6,-7.1,-1.2,-10.2,-12.7,-9.9,-11.0,],
269
- [-10.2,-13.4,-11.8,-12.4,-6.0,-9.4,-7.1,-8.6,-9.8,-12.9,-10.8,-12.4,2.3,-1.4,1.0,-1.0,-3.0,-8.0,-5.1,-7.6,-2.2,-6.1,-3.6,-6.1,-6.0,-9.7,-7.3,-8.7,11.2,7.9,8.9,8.1,-12.1,-17.4,-13.2,-16.8,-6.3,-9.5,-7.5,-8.8,-12.7,-15.2,-13.1,-14.2,0.0,-3.1,-1.8,-3.1,-50.0,-10.7,-50.0,-9.3,-4.6,-8.9,-5.9,-8.3,-50.0,-12.8,-9.6,-10.6,9.5,-3.2,8.2,-2.8,],
270
- [-13.5,-11.3,-14.0,-12.9,-9.3,-7.1,-8.2,-8.9,-12.7,-10.3,-11.9,-12.3,-0.4,1.4,-0.6,-0.4,-7.2,-4.7,-6.9,-5.7,-7.4,-3.7,-6.5,-6.0,-9.1,-5.3,-8.8,-7.4,7.9,11.9,7.8,9.3,-15.2,-15.1,-14.6,-17.2,-9.7,-7.3,-8.2,-9.2,-15.0,-12.8,-14.1,-14.9,-2.8,0.2,-2.9,-2.3,-50.0,-7.4,-50.0,-8.7,-9.4,-7.3,-9.4,-9.4,-50.0,-8.0,-11.9,-9.7,6.5,0.5,6.4,-1.8,],
271
- [-13.0,-14.4,-11.9,-13.9,-7.7,-9.0,-6.7,-8.8,-11.7,-12.7,-10.7,-13.1,-0.2,-1.6,1.7,-1.6,-5.7,-8.7,-4.8,-8.1,-5.3,-7.5,-3.3,-7.5,-9.0,-9.2,-6.5,-9.4,8.9,7.8,10.1,7.8,-14.3,-17.7,-13.0,-17.8,-8.0,-9.4,-6.2,-9.2,-15.1,-14.9,-12.2,-14.9,-1.8,-3.2,-0.8,-3.2,-50.0,-10.8,-50.0,-9.9,-7.3,-9.6,-6.4,-9.4,-50.0,-12.3,-8.7,-11.3,7.6,-3.3,8.7,-2.9,],
272
- [-12.5,-12.9,-13.4,-10.0,-8.5,-9.0,-7.8,-6.8,-11.8,-11.3,-12.4,-10.1,-0.3,-0.5,-0.5,1.2,-6.1,-6.0,-6.7,-3.5,-5.9,-5.6,-5.5,-2.9,-9.5,-7.8,-8.5,-5.3,8.1,9.3,7.8,11.8,-14.4,-15.7,-14.5,-14.6,-8.4,-8.7,-7.9,-7.1,-14.3,-13.8,-13.8,-12.3,-2.4,-2.2,-2.9,-0.2,-50.0,-8.9,-50.0,-7.1,-8.1,-9.1,-8.7,-6.6,-50.0,-9.7,-11.4,-8.0,6.8,-1.8,6.9,0.4,],
273
- [-2.6,-6.3,-4.9,-4.9,-6.4,-9.4,-7.9,-8.6,-6.3,-7.4,-8.2,-6.6,-9.7,-14.9,-11.1,-13.9,-0.2,-8.2,-2.3,-6.8,-8.9,-11.1,-9.4,-10.9,-8.9,-11.7,-10.0,-9.9,-12.1,-15.2,-14.3,-14.4,11.1,2.9,9.2,3.5,-3.0,-7.0,-4.3,-6.2,-2.2,-6.6,-3.7,-5.7,-6.0,-10.4,-8.6,-9.5,-50.0,-15.5,-50.0,-13.9,-7.8,-10.5,-8.7,-9.6,-50.0,-16.5,-17.1,-14.8,-12.1,-18.9,-12.4,-17.4,],
274
- [-8.5,0.8,-9.1,-0.7,-10.1,-7.5,-9.1,-8.2,-11.4,-3.1,-11.8,-4.4,-15.5,-14.3,-14.8,-15.4,-6.6,-4.7,-7.1,-5.8,-12.5,-10.3,-11.0,-12.2,-13.4,-10.6,-12.5,-11.8,-17.4,-15.1,-17.7,-15.7,2.9,12.5,3.1,10.3,-7.7,-5.2,-6.2,-7.3,-5.4,-1.7,-5.4,-3.7,-11.6,-9.1,-13.0,-10.8,-50.0,-10.3,-50.0,-11.2,-9.8,-8.3,-9.1,-9.7,-50.0,-12.7,-20.6,-13.1,-16.0,-16.6,-17.0,-18.4,],
275
- [-5.0,-6.4,-3.4,-5.6,-7.5,-9.3,-7.1,-8.8,-8.8,-7.4,-6.9,-6.9,-11.4,-15.2,-9.7,-13.7,-1.8,-7.8,-0.8,-7.2,-9.4,-10.6,-8.7,-11.2,-10.0,-10.1,-7.8,-10.5,-13.2,-14.6,-13.0,-14.5,9.2,3.1,10.8,3.0,-4.5,-6.7,-2.7,-6.7,-5.0,-6.8,-2.5,-6.7,-7.5,-10.4,-7.4,-10.2,-50.0,-15.5,-50.0,-14.2,-8.9,-10.2,-8.5,-10.0,-50.0,-15.6,-15.3,-15.5,-13.0,-18.8,-12.6,-18.3,],
276
- [-8.1,-1.1,-8.9,1.4,-8.6,-9.2,-9.4,-6.8,-11.0,-4.9,-11.5,-2.6,-13.7,-16.8,-14.5,-12.6,-6.0,-6.7,-7.2,-4.2,-11.6,-11.9,-11.2,-10.9,-13.1,-12.2,-12.5,-10.3,-16.8,-17.2,-17.8,-14.6,3.5,10.3,3.0,12.4,-6.9,-7.5,-6.8,-4.9,-5.4,-4.2,-5.4,-1.3,-10.8,-11.5,-12.4,-8.2,-50.0,-12.5,-50.0,-8.9,-9.2,-10.0,-9.4,-7.9,-50.0,-14.3,-19.9,-11.4,-16.2,-19.2,-15.8,-15.9,],
277
- [-6.3,-7.4,-8.0,-6.0,2.8,-0.7,0.9,0.3,-7.5,-4.4,-8.4,-3.6,-3.0,-7.7,-3.7,-6.2,-5.3,-10.0,-7.2,-8.9,-0.7,-3.2,-1.8,-2.4,-9.9,-11.7,-9.6,-9.9,-6.3,-9.7,-8.0,-8.4,-3.0,-7.7,-4.5,-6.9,11.3,8.2,9.4,9.1,-1.0,-3.3,-1.8,-2.4,1.5,-2.1,-0.4,-1.1,-50.0,-14.5,-50.0,-12.9,2.8,-0.0,1.4,0.7,-50.0,-8.7,-14.1,-7.5,-5.2,-12.5,-6.5,-10.7,],
278
- [-9.9,-5.0,-10.0,-6.5,-0.7,2.6,-0.2,0.1,-10.3,-1.8,-9.9,-3.8,-6.4,-4.7,-5.8,-6.7,-8.2,-8.3,-8.0,-10.2,-3.9,-1.0,-2.7,-2.9,-11.7,-8.8,-11.0,-10.1,-9.5,-7.3,-9.4,-8.7,-7.0,-5.2,-6.7,-7.5,8.2,11.6,8.8,9.1,-3.7,-0.9,-3.1,-3.0,-2.0,1.2,-2.3,-1.3,-50.0,-12.1,-50.0,-12.6,0.1,2.5,0.7,0.6,-50.0,-6.0,-14.8,-7.5,-8.6,-9.4,-8.5,-11.2,],
279
- [-7.5,-6.2,-7.2,-6.2,0.9,0.2,2.5,0.2,-8.3,-3.5,-7.1,-3.7,-4.1,-6.3,-3.1,-6.3,-5.7,-8.9,-5.6,-8.4,-2.3,-2.2,0.7,-2.7,-9.8,-8.9,-7.1,-9.3,-7.5,-8.2,-6.2,-7.9,-4.3,-6.2,-2.7,-6.8,9.4,8.8,12.1,8.8,-2.1,-2.0,0.1,-2.4,0.0,-1.1,1.3,-0.8,-50.0,-11.9,-50.0,-12.6,1.2,0.7,3.5,0.8,-50.0,-7.1,-12.4,-7.1,-7.1,-10.6,-5.0,-10.6,],
280
- [-9.0,-6.5,-10.0,-4.8,0.1,-0.1,-0.3,2.4,-9.9,-3.5,-10.6,-2.0,-5.4,-6.6,-5.6,-4.4,-7.6,-9.9,-8.5,-8.2,-3.0,-2.8,-3.0,-0.9,-12.8,-11.8,-10.7,-9.3,-8.8,-9.2,-9.2,-7.1,-6.2,-7.3,-6.7,-4.9,9.1,9.1,8.8,11.2,-3.1,-3.0,-3.3,-1.0,-1.1,-1.4,-2.0,1.2,-50.0,-12.8,-50.0,-10.9,0.8,0.5,0.7,2.3,-50.0,-7.5,-16.5,-5.9,-7.8,-11.1,-7.8,-9.0,],
281
- [-7.1,-5.6,-9.1,-5.1,-5.9,-8.0,-6.9,-7.4,-1.9,-1.6,-4.7,-1.4,-9.6,-14.6,-10.4,-13.0,-6.7,-10.8,-9.4,-9.9,-9.1,-10.5,-9.1,-10.4,-5.9,-9.3,-7.9,-8.1,-12.7,-15.0,-15.1,-14.3,-2.2,-5.4,-5.0,-5.4,-1.0,-3.7,-2.1,-3.1,12.8,9.6,11.1,10.1,-4.8,-9.4,-8.1,-8.6,-50.0,-18.3,-50.0,-15.4,-5.9,-7.5,-6.6,-7.1,-50.0,-9.5,-11.7,-8.4,-12.5,-17.3,-13.2,-15.4,],
282
- [-10.2,-1.6,-10.2,-3.2,-7.3,-4.6,-6.5,-6.2,-6.7,3.0,-6.8,0.8,-11.9,-10.8,-11.5,-12.2,-9.6,-7.1,-9.7,-8.4,-9.8,-8.1,-8.2,-9.7,-9.4,-5.0,-8.0,-7.2,-15.2,-12.8,-14.9,-13.8,-6.6,-1.7,-6.8,-4.2,-3.3,-0.9,-2.0,-3.0,9.6,12.8,9.7,10.5,-8.5,-5.6,-9.3,-7.8,-50.0,-12.7,-50.0,-13.8,-6.8,-5.1,-5.3,-6.5,-50.0,-4.1,-12.8,-5.8,-14.4,-14.1,-13.6,-14.8,],
283
- [-8.2,-4.7,-7.1,-5.0,-6.5,-7.7,-5.5,-6.9,-4.1,-0.8,-1.2,-0.9,-10.5,-12.8,-8.2,-13.0,-7.5,-10.0,-7.2,-9.7,-9.2,-9.4,-7.3,-10.2,-6.5,-8.0,-4.3,-8.0,-13.1,-14.1,-12.2,-13.8,-3.7,-5.4,-2.5,-5.4,-1.8,-3.1,0.1,-3.3,11.1,9.7,12.9,9.8,-5.5,-8.1,-5.4,-7.8,-50.0,-16.4,-50.0,-14.8,-5.9,-7.1,-4.7,-7.2,-50.0,-8.4,-6.4,-8.1,-12.1,-16.2,-10.3,-15.8,],
284
- [-9.2,-3.0,-9.9,-1.2,-6.5,-6.1,-6.8,-4.4,-6.4,0.9,-7.0,3.0,-11.8,-13.0,-11.1,-10.4,-9.3,-9.2,-9.8,-6.4,-9.5,-9.5,-9.4,-8.0,-8.1,-8.2,-9.4,-5.2,-14.2,-14.9,-14.9,-12.3,-5.7,-3.7,-6.7,-1.3,-2.4,-3.0,-2.4,-1.0,10.1,10.5,9.8,13.1,-7.2,-8.0,-8.4,-5.0,-50.0,-14.7,-50.0,-11.4,-6.3,-6.7,-5.8,-5.0,-50.0,-6.1,-13.4,-3.6,-13.0,-16.0,-13.7,-13.3,],
285
- [-8.2,-10.8,-10.1,-9.8,-0.4,-3.6,-1.7,-2.9,-7.9,-8.4,-9.8,-8.2,6.2,2.3,0.6,2.9,-7.1,-11.6,-9.2,-11.1,-5.6,-8.3,-7.2,-8.4,-10.7,-13.6,-11.4,-12.0,0.0,-2.8,-1.8,-2.4,-6.0,-11.6,-7.5,-10.8,1.5,-2.0,0.0,-1.1,-4.8,-8.5,-5.5,-7.2,11.9,8.6,10.0,9.0,-50.0,-14.2,-50.0,-12.8,-4.1,-7.4,-5.7,-6.5,-50.0,-11.0,-14.3,-9.9,1.4,-7.9,-0.7,-6.8,],
286
- [-12.5,-8.7,-13.0,-9.9,-3.9,-1.0,-3.4,-2.9,-12.5,-6.3,-11.6,-8.1,3.3,6.0,-1.6,3.8,-10.5,-10.1,-11.1,-11.1,-9.0,-6.9,-8.2,-9.1,-14.0,-11.4,-12.3,-12.1,-3.1,0.2,-3.2,-2.2,-10.4,-9.1,-10.4,-11.5,-2.1,1.2,-1.1,-1.4,-9.4,-5.6,-8.1,-8.0,8.6,12.4,8.6,9.5,-50.0,-10.4,-50.0,-11.6,-7.2,-5.7,-7.5,-7.4,-50.0,-8.6,-15.7,-9.7,-3.0,-3.7,-3.2,-5.9,],
287
- [-11.1,-11.9,-10.6,-11.3,-2.6,-4.1,-1.7,-3.5,-11.4,-9.6,-9.6,-9.2,3.7,2.5,1.6,2.5,-9.6,-12.3,-9.5,-11.8,-8.0,-9.4,-7.2,-9.3,-13.3,-12.8,-10.9,-12.6,-1.8,-2.9,-0.8,-2.9,-8.6,-13.0,-7.4,-12.4,-0.4,-2.3,1.3,-2.0,-8.1,-9.3,-5.4,-8.4,10.0,8.6,11.4,8.9,-50.0,-13.7,-50.0,-13.2,-6.1,-8.1,-5.5,-7.5,-50.0,-11.3,-12.7,-10.1,-1.6,-7.8,-0.3,-7.2,],
288
- [-11.4,-10.0,-12.7,-8.2,-3.1,-3.1,-2.8,-0.9,-11.7,-7.3,-12.1,-5.8,3.6,3.6,-1.1,5.8,-9.4,-11.9,-10.7,-10.0,-8.5,-8.8,-8.2,-6.5,-13.9,-13.0,-12.9,-10.9,-3.1,-2.3,-3.2,-0.2,-9.5,-10.8,-10.2,-8.2,-1.1,-1.3,-0.8,1.2,-8.6,-7.8,-7.8,-5.0,9.0,9.5,8.9,12.0,-50.0,-13.0,-50.0,-10.3,-6.2,-7.0,-7.1,-5.4,-50.0,-9.3,-14.0,-8.2,-2.4,-6.3,-2.4,-3.9,],
289
- [-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,33.3,-50.0,30.6,-50.0,-50.0,-50.0,-50.0,-50.0,29.2,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
290
- [-14.8,-6.2,-14.9,-7.6,-14.6,-11.6,-13.0,-12.2,-14.0,-9.0,-14.1,-10.1,-13.6,-11.2,-12.4,-12.5,-8.1,2.2,-8.7,0.4,-15.3,-11.3,-13.2,-13.3,-11.9,-7.2,-11.8,-7.9,-10.7,-7.4,-10.8,-8.9,-15.5,-10.3,-15.5,-12.5,-14.5,-12.1,-11.9,-12.8,-18.3,-12.7,-16.4,-14.7,-14.2,-10.4,-13.7,-13.0,-50.0,15.1,-50.0,13.3,-9.9,-5.8,-8.9,-7.6,-50.0,-1.5,-7.8,-3.0,-8.1,3.6,-9.4,2.0,],
291
- [-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,30.6,-50.0,35.2,-50.0,-50.0,-50.0,-50.0,-50.0,28.5,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
292
- [-13.8,-7.5,-14.4,-5.1,-12.6,-11.6,-11.5,-10.1,-13.2,-9.7,-12.7,-7.4,-11.9,-11.9,-11.5,-10.2,-7.2,0.9,-8.6,2.6,-14.1,-12.8,-13.3,-11.0,-9.7,-8.4,-11.2,-5.3,-9.3,-8.7,-9.9,-7.1,-13.9,-11.2,-14.2,-8.9,-12.9,-12.6,-12.6,-10.9,-15.4,-13.8,-14.8,-11.4,-12.8,-11.6,-13.2,-10.3,-50.0,13.3,-50.0,15.2,-8.6,-7.0,-8.4,-4.8,-50.0,-3.0,-7.1,-0.1,-7.3,2.3,-8.7,3.9,],
293
- [-7.3,-6.3,-8.9,-5.5,2.9,0.2,1.5,1.2,-8.5,-2.3,-10.0,-1.7,-5.6,-10.5,-5.5,-9.6,-4.3,-7.9,-6.1,-7.2,2.3,-0.6,0.5,-0.0,-8.9,-11.0,-9.4,-9.3,-4.6,-9.4,-7.3,-8.1,-7.8,-9.8,-8.9,-9.2,2.8,0.1,1.2,0.8,-5.9,-6.8,-5.9,-6.3,-4.1,-7.2,-6.1,-6.2,-50.0,-9.9,-50.0,-8.6,12.5,9.4,11.0,9.8,-50.0,-4.8,-8.7,-3.5,-0.0,-8.6,-2.1,-7.0,],
294
- [-10.1,-4.3,-10.8,-5.8,0.1,2.3,0.7,0.6,-10.4,-0.2,-10.8,-2.0,-8.8,-9.2,-8.0,-9.7,-6.8,-5.9,-7.5,-7.0,-1.4,2.2,-0.9,-0.4,-10.8,-7.7,-9.8,-8.8,-8.9,-7.3,-9.6,-9.1,-10.5,-8.3,-10.2,-10.0,-0.0,2.5,0.7,0.5,-7.5,-5.1,-7.1,-6.7,-7.4,-5.7,-8.1,-7.0,-50.0,-5.8,-50.0,-7.0,9.4,12.7,10.1,10.0,-50.0,-1.5,-11.3,-3.3,-5.4,-4.2,-5.6,-6.8,],
295
- [-8.4,-6.2,-8.9,-5.9,1.8,0.4,2.7,1.2,-9.1,-1.2,-8.8,-1.5,-7.2,-10.5,-4.9,-9.6,-5.7,-7.4,-5.5,-7.4,0.3,-0.3,1.8,-0.4,-9.0,-8.7,-7.3,-8.9,-5.9,-9.4,-6.4,-8.7,-8.7,-9.1,-8.5,-9.4,1.4,0.7,3.5,0.7,-6.6,-5.3,-4.7,-5.8,-5.7,-7.5,-5.5,-7.1,-50.0,-8.9,-50.0,-8.4,11.0,10.1,13.2,10.2,-50.0,-4.2,-6.1,-3.6,-3.5,-8.4,-1.2,-6.8,],
296
- [-9.1,-5.4,-10.4,-4.2,1.0,0.5,0.6,2.4,-9.6,-1.5,-10.5,-0.5,-8.9,-10.5,-7.2,-8.3,-6.3,-6.9,-7.7,-5.1,-0.5,0.1,-0.6,2.3,-11.1,-10.2,-10.5,-7.0,-8.3,-9.4,-9.4,-6.6,-9.6,-9.7,-10.0,-7.9,0.7,0.6,0.8,2.3,-7.1,-6.5,-7.2,-5.0,-6.5,-7.4,-7.5,-5.4,-50.0,-7.6,-50.0,-4.8,9.8,10.0,10.2,12.1,-50.0,-3.1,-11.4,-0.7,-4.6,-6.6,-4.9,-3.9,],
297
- [-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,29.2,-50.0,28.5,-50.0,-50.0,-50.0,-50.0,-50.0,33.3,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,-50.0,],
298
- [-13.0,-7.0,-13.1,-8.3,-9.2,-6.5,-8.9,-7.6,-9.8,-0.7,-9.2,-2.1,-12.4,-10.3,-12.4,-11.6,-9.5,-4.6,-10.4,-5.7,-13.6,-10.1,-11.4,-10.9,-6.5,-1.5,-6.2,-3.6,-12.8,-8.0,-12.3,-9.7,-16.5,-12.7,-15.6,-14.3,-8.7,-6.0,-7.1,-7.5,-9.5,-4.1,-8.4,-6.1,-11.0,-8.6,-11.3,-9.3,-50.0,-1.5,-50.0,-3.0,-4.8,-1.5,-4.2,-3.1,-50.0,16.4,-5.1,14.2,-10.1,-4.3,-10.0,-5.4,],
299
- [-13.5,-16.3,-11.8,-15.5,-13.6,-15.3,-12.1,-16.1,-7.7,-13.3,-4.2,-12.6,-14.1,-16.2,-10.3,-15.4,-9.6,-11.6,-7.7,-9.8,-14.3,-17.5,-11.1,-17.2,-5.3,-7.1,-2.2,-7.1,-9.6,-11.9,-8.7,-11.4,-17.1,-20.6,-15.3,-19.9,-14.1,-14.8,-12.4,-16.5,-11.7,-12.8,-6.4,-13.4,-14.3,-15.7,-12.7,-14.0,-50.0,-7.8,-50.0,-7.1,-8.7,-11.3,-6.1,-11.4,-50.0,-5.1,18.6,-4.8,-8.6,-8.1,-4.5,-7.3,],
300
- [-12.4,-8.2,-13.0,-5.9,-7.7,-7.8,-7.4,-5.8,-8.8,-2.0,-9.3,-0.4,-11.6,-11.3,-11.6,-9.4,-8.9,-5.6,-10.0,-3.2,-11.5,-11.1,-10.5,-8.3,-6.3,-4.9,-6.7,-1.2,-10.6,-9.7,-11.3,-8.0,-14.8,-13.1,-15.5,-11.4,-7.5,-7.5,-7.1,-5.9,-8.4,-5.8,-8.1,-3.6,-9.9,-9.7,-10.1,-8.2,-50.0,-3.0,-50.0,-0.1,-3.5,-3.3,-3.6,-0.7,-50.0,14.2,-4.8,16.4,-8.9,-5.8,-8.9,-3.4,],
301
- [-10.7,-13.2,-12.4,-11.6,-4.8,-8.4,-6.1,-7.2,-10.3,-11.8,-11.0,-11.6,2.8,-1.7,0.7,-1.1,-6.2,-9.7,-7.3,-8.4,-5.3,-8.6,-6.1,-8.3,-10.5,-11.2,-9.8,-10.2,9.5,6.5,7.6,6.8,-12.1,-16.0,-13.0,-16.2,-5.2,-8.6,-7.1,-7.8,-12.5,-14.4,-12.1,-13.0,1.4,-3.0,-1.6,-2.4,-50.0,-8.1,-50.0,-7.3,-0.0,-5.4,-3.5,-4.6,-50.0,-10.1,-8.6,-8.9,13.2,-0.9,9.7,-0.3,],
302
- [-18.1,-12.3,-19.4,-14.2,-12.2,-9.5,-11.5,-10.8,-17.9,-11.9,-18.2,-13.9,-6.4,-3.7,-6.8,-5.4,-12.8,-5.9,-13.6,-7.4,-13.7,-9.9,-12.9,-12.7,-16.2,-11.6,-15.2,-12.7,-3.2,0.5,-3.3,-1.8,-18.9,-16.6,-18.8,-19.2,-12.5,-9.4,-10.6,-11.1,-17.3,-14.1,-16.2,-16.0,-7.9,-3.7,-7.8,-6.3,-50.0,3.6,-50.0,2.3,-8.6,-4.2,-8.4,-6.6,-50.0,-4.3,-8.1,-5.8,-0.9,14.2,-1.8,11.6,],
303
- [-11.8,-13.1,-11.5,-12.0,-6.2,-8.3,-5.4,-7.4,-11.8,-12.3,-11.1,-11.4,0.5,-2.5,2.4,-1.6,-6.8,-9.9,-6.4,-8.9,-6.1,-8.6,-5.0,-7.8,-10.4,-11.6,-8.5,-9.9,8.2,6.4,8.7,6.9,-12.4,-17.0,-12.6,-15.8,-6.5,-8.5,-5.0,-7.8,-13.2,-13.6,-10.3,-13.7,-0.7,-3.2,-0.3,-2.4,-50.0,-9.4,-50.0,-8.7,-2.1,-5.6,-1.2,-4.9,-50.0,-10.0,-4.5,-8.9,9.7,-1.8,11.3,-0.9,],
304
- [-17.2,-13.3,-17.8,-11.6,-11.0,-11.1,-10.4,-9.0,-16.0,-12.7,-16.1,-11.1,-5.2,-5.4,-6.0,-3.3,-11.8,-7.3,-13.3,-5.9,-12.7,-11.9,-11.9,-9.3,-15.2,-15.0,-14.9,-11.0,-2.8,-1.8,-2.9,0.4,-17.4,-18.4,-18.3,-15.9,-10.7,-11.2,-10.6,-9.0,-15.4,-14.8,-15.8,-13.3,-6.8,-5.9,-7.2,-3.9,-50.0,2.0,-50.0,3.9,-7.0,-6.8,-6.8,-3.9,-50.0,-5.4,-7.3,-3.4,-0.3,11.6,-0.9,14.1,]];
218
+ private PAM250:Array<Array<number>> = [[2, -2, 0, 0, -2, 0, 0, 1, -1, -1, -2, -1, -1, -3, 1, 1, 1, -6, -3, 0, 0, 0, 0, -8],
219
+ [-2, 6, 0, -1, -4, 1, -1, -3, 2, -2, -3, 3, 0, -4, 0, 0, -1, 2, -4, -2, -1, 0, -1, -8],
220
+ [0, 0, 2, 2, -4, 1, 1, 0, 2, -2, -3, 1, -2, -3, 0, 1, 0, -4, -2, -2, 2, 1, 0, -8],
221
+ [0, -1, 2, 4, -5, 2, 3, 1, 1, -2, -4, 0, -3, -6, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
222
+ [-2, -4, -4, -5, 12, -5, -5, -3, -3, -2, -6, -5, -5, -4, -3, 0, -2, -8, 0, -2, -4, -5, -3, -8],
223
+ [0, 1, 1, 2, -5, 4, 2, -1, 3, -2, -2, 1, -1, -5, 0, -1, -1, -5, -4, -2, 1, 3, -1, -8],
224
+ [0, -1, 1, 3, -5, 2, 4, 0, 1, -2, -3, 0, -2, -5, -1, 0, 0, -7, -4, -2, 3, 3, -1, -8],
225
+ [1, -3, 0, 1, -3, -1, 0, 5, -2, -3, -4, -2, -3, -5, 0, 1, 0, -7, -5, -1, 0, 0, -1, -8],
226
+ [-1, 2, 2, 1, -3, 3, 1, -2, 6, -2, -2, 0, -2, -2, 0, -1, -1, -3, 0, -2, 1, 2, -1, -8],
227
+ [-1, -2, -2, -2, -2, -2, -2, -3, -2, 5, 2, -2, 2, 1, -2, -1, 0, -5, -1, 4, -2, -2, -1, -8],
228
+ [-2, -3, -3, -4, -6, -2, -3, -4, -2, 2, 6, -3, 4, 2, -3, -3, -2, -2, -1, 2, -3, -3, -1, -8],
229
+ [-1, 3, 1, 0, -5, 1, 0, -2, 0, -2, -3, 5, 0, -5, -1, 0, 0, -3, -4, -2, 1, 0, -1, -8],
230
+ [-1, 0, -2, -3, -5, -1, -2, -3, -2, 2, 4, 0, 6, 0, -2, -2, -1, -4, -2, 2, -2, -2, -1, -8],
231
+ [-3, -4, -3, -6, -4, -5, -5, -5, -2, 1, 2, -5, 0, 9, -5, -3, -3, 0, 7, -1, -4, -5, -2, -8],
232
+ [1, 0, 0, -1, -3, 0, -1, 0, 0, -2, -3, -1, -2, -5, 6, 1, 0, -6, -5, -1, -1, 0, -1, -8],
233
+ [1, 0, 1, 0, 0, -1, 0, 1, -1, -1, -3, 0, -2, -3, 1, 2, 1, -2, -3, -1, 0, 0, 0, -8],
234
+ [1, -1, 0, 0, -2, -1, 0, 0, -1, 0, -2, 0, -1, -3, 0, 1, 3, -5, -3, 0, 0, -1, 0, -8],
235
+ [-6, 2, -4, -7, -8, -5, -7, -7, -3, -5, -2, -3, -4, 0, -6, -2, -5, 17, 0, -6, -5, -6, -4, -8],
236
+ [-3, -4, -2, -4, 0, -4, -4, -5, 0, -1, -1, -4, -2, 7, -5, -3, -3, 0, 10, -2, -3, -4, -2, -8],
237
+ [0, -2, -2, -2, -2, -2, -2, -1, -2, 4, 2, -2, 2, -1, -1, -1, 0, -6, -2, 4, -2, -2, -1, -8],
238
+ [0, -1, 2, 3, -4, 1, 3, 0, 1, -2, -3, 1, -2, -4, -1, 0, 0, -5, -3, -2, 3, 2, -1, -8],
239
+ [0, 0, 1, 3, -5, 3, 3, 0, 2, -2, -3, 0, -2, -5, 0, 0, -1, -6, -4, -2, 2, 3, -1, -8],
240
+ [0, -1, 0, -1, -3, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, 0, 0, -4, -2, -1, -1, -1, -1, -8],
241
+ [-8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, 1]];
305
242
 
306
- private TRANS:Array<Array<number>> = [[5,0,0,4],
307
- [0,5,4,0],
308
- [0,4,5,0],
309
- [4,0,0,5]];
243
+ private SCHNEIDER :Array<Array<number>> = [[11.6, -2.7, 9.7, -1.7, -2.7, -6.4, -3.9, -5.6, 5.1, -5.0, 3.6, -4.2, -6.3, -13.0, -7.1, -11.5, 0.4, -6.0, -1.9, -5.3, -8.5, -11.2, -8.9, -10.8, 2.1, 0.0, 1.4, 0.2, -10.2, -13.5, -13.0, -12.5, -2.6, -8.5, -5.0, -8.1, -6.3, -9.9, -7.5, -9.0, -7.1, -10.2, -8.2, -9.2, -8.2, -12.5, -11.1, -11.4, -50.0, -14.8, -50.0, -13.8, -7.3, -10.1, -8.4, -9.1, -50.0, -13.0, -13.5, -12.4, -10.7, -18.1, -11.8, -17.2],
244
+ [-2.7, 13.0, -3.3, 10.9, -3.5, -0.4, -3.3, -1.8, -5.4, 4.6, -5.5, 3.0, -10.2, -7.9, -9.9, -9.6, -5.0, 0.5, -5.5, -1.0, -10.3, -8.1, -9.4, -9.6, -8.1, -5.0, -7.3, -6.3, -13.4, -11.3, -14.4, -12.9, -6.3, 0.8, -6.4, -1.1, -7.4, -5.0, -6.2, -6.5, -5.6, -1.6, -4.7, -3.0, -10.8, -8.7, -11.9, -10.0, -50.0, -6.2, -50.0, -7.5, -6.3, -4.3, -6.2, -5.4, -50.0, -7.0, -16.3, -8.2, -13.2, -12.3, -13.1, -13.3],
245
+ [9.7, -3.3, 11.6, -2.8, -4.5, -6.7, -3.1, -6.9, 3.3, -5.5, 4.8, -5.1, -8.9, -13.2, -5.7, -12.6, -1.5, -6.1, -0.6, -6.1, -10.0, -11.8, -8.6, -11.9, 1.2, 0.5, 2.2, 0.1, -11.8, -14.0, -11.9, -13.4, -4.9, -9.1, -3.4, -8.9, -8.0, -10.0, -7.2, -10.0, -9.1, -10.2, -7.1, -9.9, -10.1, -13.0, -10.6, -12.7, -50.0, -14.9, -50.0, -14.4, -8.9, -10.8, -8.9, -10.4, -50.0, -13.1, -11.8, -13.0, -12.4, -19.4, -11.5, -17.8],
246
+ [-1.7, 10.9, -2.8, 12.9, -2.7, -2.2, -2.8, 0.2, -4.8, 2.9, -5.2, 5.2, -9.1, -9.5, -9.0, -7.0, -4.0, -1.0, -5.0, 1.0, -9.0, -8.8, -8.9, -7.7, -7.0, -6.8, -7.1, -4.3, -12.4, -12.9, -13.9, -10.0, -4.9, -0.7, -5.6, 1.4, -6.0, -6.5, -6.2, -4.8, -5.1, -3.2, -5.0, -1.2, -9.8, -9.9, -11.3, -8.2, -50.0, -7.6, -50.0, -5.1, -5.5, -5.8, -5.9, -4.2, -50.0, -8.3, -15.5, -5.9, -11.6, -14.2, -12.0, -11.6],
247
+ [-2.7, -3.5, -4.5, -2.7, 11.7, 9.0, 10.6, 9.6, -3.2, -0.7, -5.1, -0.4, 0.7, -4.6, -0.4, -3.6, -4.8, -8.9, -6.5, -7.8, -1.4, -4.1, -2.9, -3.3, -8.0, -9.1, -8.0, -8.2, -6.0, -9.3, -7.7, -8.5, -6.4, -10.1, -7.5, -8.6, 2.8, -0.7, 0.9, 0.1, -5.9, -7.3, -6.5, -6.5, -0.4, -3.9, -2.6, -3.1, -50.0, -14.6, -50.0, -12.6, 2.9, 0.1, 1.8, 1.0, -50.0, -9.2, -13.6, -7.7, -4.8, -12.2, -6.2, -11.0],
248
+ [-6.4, -0.4, -6.7, -2.2, 9.0, 12.3, 9.8, 9.6, -7.1, 2.4, -7.2, 0.3, -2.9, -1.2, -3.0, -3.3, -7.6, -6.7, -8.1, -7.9, -4.9, -1.9, -4.5, -3.8, -9.5, -7.8, -9.3, -8.9, -9.4, -7.1, -9.0, -9.0, -9.4, -7.5, -9.3, -9.2, -0.7, 2.6, 0.2, -0.1, -8.0, -4.6, -7.7, -6.1, -3.6, -1.0, -4.1, -3.1, -50.0, -11.6, -50.0, -11.6, 0.2, 2.3, 0.4, 0.5, -50.0, -6.5, -15.3, -7.8, -8.4, -9.5, -8.3, -11.1],
249
+ [-3.9, -3.3, -3.1, -2.8, 10.6, 9.8, 12.2, 9.8, -4.9, 0.1, -3.6, -0.2, -1.7, -4.1, 0.9, -3.5, -5.9, -8.9, -5.6, -8.5, -3.9, -3.9, -2.2, -4.5, -7.3, -7.5, -6.4, -8.5, -7.1, -8.2, -6.7, -7.8, -7.9, -9.1, -7.1, -9.4, 0.9, -0.2, 2.5, -0.3, -6.9, -6.5, -5.5, -6.8, -1.7, -3.4, -1.7, -2.8, -50.0, -13.0, -50.0, -11.5, 1.5, 0.7, 2.7, 0.6, -50.0, -8.9, -12.1, -7.4, -6.1, -11.5, -5.4, -10.4],
250
+ [-5.6, -1.8, -6.9, 0.2, 9.6, 9.6, 9.8, 11.6, -6.6, 0.9, -7.2, 2.5, -2.3, -3.4, -2.3, -0.6, -6.5, -8.2, -8.0, -6.3, -3.7, -3.5, -3.9, -1.6, -9.9, -8.9, -9.6, -7.0, -8.6, -8.9, -8.8, -6.8, -8.6, -8.2, -8.8, -6.8, 0.3, 0.1, 0.2, 2.4, -7.4, -6.2, -6.9, -4.4, -2.9, -2.9, -3.5, -0.9, -50.0, -12.2, -50.0, -10.1, 1.2, 0.6, 1.2, 2.4, -50.0, -7.6, -16.1, -5.8, -7.2, -10.8, -7.4, -9.0],
251
+ [5.1, -5.4, 3.3, -4.8, -3.2, -7.1, -4.9, -6.6, 13.3, -2.8, 11.2, -1.9, -5.7, -12.5, -7.2, -11.6, -0.7, -4.8, -3.1, -4.3, -10.0, -11.6, -8.8, -11.7, 10.5, 7.7, 9.1, 8.5, -9.8, -12.7, -11.7, -11.8, -6.3, -11.4, -8.8, -11.0, -7.5, -10.3, -8.3, -9.9, -1.9, -6.7, -4.1, -6.4, -7.9, -12.5, -11.4, -11.7, -50.0, -14.0, -50.0, -13.2, -8.5, -10.4, -9.1, -9.6, -50.0, -9.8, -7.7, -8.8, -10.3, -17.9, -11.8, -16.0],
252
+ [-5.0, 4.6, -5.5, 2.9, -0.7, 2.4, 0.1, 0.9, -2.8, 12.8, -2.6, 11.0, -8.4, -6.3, -8.3, -7.7, -6.1, -2.9, -6.5, -4.2, -8.5, -5.9, -7.5, -7.7, -5.5, -2.4, -5.5, -4.1, -12.9, -10.3, -12.7, -11.3, -7.4, -3.1, -7.4, -4.9, -4.4, -1.8, -3.5, -3.5, -1.6, 3.0, -0.8, 0.9, -8.4, -6.3, -9.6, -7.3, -50.0, -9.0, -50.0, -9.7, -2.3, -0.2, -1.2, -1.5, -50.0, -0.7, -13.3, -2.0, -11.8, -11.9, -12.3, -12.7],
253
+ [3.6, -5.5, 4.8, -5.2, -5.1, -7.2, -3.6, -7.2, 11.2, -2.6, 13.4, -2.1, -7.7, -12.5, -5.3, -11.9, -2.2, -4.4, -1.9, -4.8, -10.2, -11.5, -8.1, -12.0, 9.3, 8.2, 10.0, 8.0, -10.8, -11.9, -10.7, -12.4, -8.2, -11.8, -6.9, -11.5, -8.4, -9.9, -7.1, -10.6, -4.7, -6.8, -1.2, -7.0, -9.8, -11.6, -9.6, -12.1, -50.0, -14.1, -50.0, -12.7, -10.0, -10.8, -8.8, -10.5, -50.0, -9.2, -4.2, -9.3, -11.0, -18.2, -11.1, -16.1],
254
+ [-4.2, 3.0, -5.1, 5.2, -0.4, 0.3, -0.2, 2.5, -1.9, 11.0, -2.1, 13.2, -7.6, -8.5, -8.0, -5.3, -5.6, -4.5, -6.8, -2.4, -7.8, -7.9, -7.9, -6.2, -5.7, -5.1, -5.4, -2.1, -12.4, -12.3, -13.1, -10.1, -6.6, -4.4, -6.9, -2.6, -3.6, -3.8, -3.7, -2.0, -1.4, 0.8, -0.9, 3.0, -8.2, -8.1, -9.2, -5.8, -50.0, -10.1, -50.0, -7.4, -1.7, -2.0, -1.5, -0.5, -50.0, -2.1, -12.6, -0.4, -11.6, -13.9, -11.4, -11.1],
255
+ [-6.3, -10.2, -8.9, -9.1, 0.7, -2.9, -1.7, -2.3, -5.7, -8.4, -7.7, -7.6, 13.2, 9.6, 3.5, 9.7, -8.7, -12.4, -10.7, -10.7, -7.8, -10.2, -8.8, -9.6, -9.5, -11.9, -10.9, -10.5, 2.3, -0.4, -0.2, -0.3, -9.7, -15.5, -11.4, -13.7, -3.0, -6.4, -4.1, -5.4, -9.6, -11.9, -10.5, -11.8, 6.2, 3.3, 3.7, 3.6, -50.0, -13.6, -50.0, -11.9, -5.6, -8.8, -7.2, -8.9, -50.0, -12.4, -14.1, -11.6, 2.8, -6.4, 0.5, -5.2],
256
+ [-13.0, -7.9, -13.2, -9.5, -4.6, -1.2, -4.1, -3.4, -12.5, -6.3, -12.5, -8.5, 9.6, 12.7, 0.2, 10.5, -12.4, -11.6, -13.2, -12.0, -12.4, -10.1, -11.6, -12.0, -15.1, -13.1, -14.3, -13.4, -1.4, 1.4, -1.6, -0.5, -14.9, -14.3, -15.2, -16.8, -7.7, -4.7, -6.3, -6.6, -14.6, -10.8, -12.8, -13.0, 2.3, 6.0, 2.5, 3.6, -50.0, -11.2, -50.0, -11.9, -10.5, -9.2, -10.5, -10.5, -50.0, -10.3, -16.2, -11.3, -1.7, -3.7, -2.5, -5.4],
257
+ [-7.1, -9.9, -5.7, -9.0, -0.4, -3.0, 0.9, -2.3, -7.2, -8.3, -5.3, -8.0, 3.5, 0.2, 14.3, 1.0, -7.3, -11.2, -6.9, -9.7, -8.5, -10.2, -7.7, -9.8, -10.0, -10.4, -8.4, -10.2, 1.0, -0.6, 1.7, -0.5, -11.1, -14.8, -9.7, -14.5, -3.7, -5.8, -3.1, -5.6, -10.4, -11.5, -8.2, -11.1, 0.6, -1.6, 1.6, -1.1, -50.0, -12.4, -50.0, -11.5, -5.5, -8.0, -4.9, -7.2, -50.0, -12.4, -10.3, -11.6, 0.7, -6.8, 2.4, -6.0],
258
+ [-11.5, -9.6, -12.6, -7.0, -3.6, -3.3, -3.5, -0.6, -11.6, -7.7, -11.9, -5.3, 9.7, 10.5, 1.0, 12.6, -12.0, -12.2, -12.5, -9.7, -11.1, -11.2, -11.9, -9.4, -12.9, -14.3, -14.0, -11.9, -1.0, -0.4, -1.6, 1.2, -13.9, -15.4, -13.7, -12.6, -6.2, -6.7, -6.3, -4.4, -13.0, -12.2, -13.0, -10.4, 2.9, 3.8, 2.5, 5.8, -50.0, -12.5, -50.0, -10.2, -9.6, -9.7, -9.6, -8.3, -50.0, -11.6, -15.4, -9.4, -1.1, -5.4, -1.6, -3.3],
259
+ [0.4, -5.0, -1.5, -4.0, -4.8, -7.6, -5.9, -6.5, -0.7, -6.1, -2.2, -5.6, -8.7, -12.4, -7.3, -12.0, 12.8, 2.3, 10.2, 3.0, 0.0, -3.4, -0.7, -3.2, 2.5, -0.8, 0.9, 0.2, -3.0, -7.2, -5.7, -6.1, -0.2, -6.6, -1.8, -6.0, -5.3, -8.2, -5.7, -7.6, -6.7, -9.6, -7.5, -9.3, -7.1, -10.5, -9.6, -9.4, -50.0, -8.1, -50.0, -7.2, -4.3, -6.8, -5.7, -6.3, -50.0, -9.5, -9.6, -8.9, -6.2, -12.8, -6.8, -11.8],
260
+ [-6.0, 0.5, -6.1, -1.0, -8.9, -6.7, -8.9, -8.2, -4.8, -2.9, -4.4, -4.5, -12.4, -11.6, -11.2, -12.2, 2.3, 14.6, 1.9, 12.9, -5.5, -2.6, -4.1, -4.7, -1.2, 3.0, -1.1, 1.6, -8.0, -4.7, -8.7, -6.0, -8.2, -4.7, -7.8, -6.7, -10.0, -8.3, -8.9, -9.9, -10.8, -7.1, -10.0, -9.2, -11.6, -10.1, -12.3, -11.9, -50.0, 2.2, -50.0, 0.9, -7.9, -5.9, -7.4, -6.9, -50.0, -4.6, -11.6, -5.6, -9.7, -5.9, -9.9, -7.3],
261
+ [-1.9, -5.5, -0.6, -5.0, -6.5, -8.1, -5.6, -8.0, -3.1, -6.5, -1.9, -6.8, -10.7, -13.2, -6.9, -12.5, 10.2, 1.9, 11.9, 2.1, -2.3, -4.1, -0.5, -4.6, -0.1, -0.9, 2.4, -0.8, -5.1, -6.9, -4.8, -6.7, -2.3, -7.1, -0.8, -7.2, -7.2, -8.0, -5.6, -8.5, -9.4, -9.7, -7.2, -9.8, -9.2, -11.1, -9.5, -10.7, -50.0, -8.7, -50.0, -8.6, -6.1, -7.5, -5.5, -7.7, -50.0, -10.4, -7.7, -10.0, -7.3, -13.6, -6.4, -13.3],
262
+ [-5.3, -1.0, -6.1, 1.0, -7.8, -7.9, -8.5, -6.3, -4.3, -4.2, -4.8, -2.4, -10.7, -12.0, -9.7, -9.7, 3.0, 12.9, 2.1, 14.7, -4.9, -3.8, -4.0, -2.4, -1.0, 0.8, -1.3, 3.4, -7.6, -5.7, -8.1, -3.5, -6.8, -5.8, -7.2, -4.2, -8.9, -10.2, -8.4, -8.2, -9.9, -8.4, -9.7, -6.4, -11.1, -11.1, -11.8, -10.0, -50.0, 0.4, -50.0, 2.6, -7.2, -7.0, -7.4, -5.1, -50.0, -5.7, -9.8, -3.2, -8.4, -7.4, -8.9, -5.9],
263
+ [-8.5, -10.3, -10.0, -9.0, -1.4, -4.9, -3.9, -3.7, -10.0, -8.5, -10.2, -7.8, -7.8, -12.4, -8.5, -11.1, 0.0, -5.5, -2.3, -4.9, 12.6, 10.0, 11.1, 10.5, -6.0, -8.3, -6.9, -7.5, -2.2, -7.4, -5.3, -5.9, -8.9, -12.5, -9.4, -11.6, -0.7, -3.9, -2.3, -3.0, -9.1, -9.8, -9.2, -9.5, -5.6, -9.0, -8.0, -8.5, -50.0, -15.3, -50.0, -14.1, 2.3, -1.4, 0.3, -0.5, -50.0, -13.6, -14.3, -11.5, -5.3, -13.7, -6.1, -12.7],
264
+ [-11.2, -8.1, -11.8, -8.8, -4.1, -1.9, -3.9, -3.5, -11.6, -5.9, -11.5, -7.9, -10.2, -10.1, -10.2, -11.2, -3.4, -2.6, -4.1, -3.8, 10.0, 13.1, 10.7, 10.6, -8.1, -5.2, -8.0, -6.7, -6.1, -3.7, -7.5, -5.6, -11.1, -10.3, -10.6, -11.9, -3.2, -1.0, -2.2, -2.8, -10.5, -8.1, -9.4, -9.5, -8.3, -6.9, -9.4, -8.8, -50.0, -11.3, -50.0, -12.8, -0.6, 2.2, -0.3, 0.1, -50.0, -10.1, -17.5, -11.1, -8.6, -9.9, -8.6, -11.9],
265
+ [-8.9, -9.4, -8.6, -8.9, -2.9, -4.5, -2.2, -3.9, -8.8, -7.5, -8.1, -7.9, -8.8, -11.6, -7.7, -11.9, -0.7, -4.1, -0.5, -4.0, 11.1, 10.7, 13.2, 10.4, -5.7, -5.8, -3.5, -6.1, -3.6, -6.5, -3.3, -5.5, -9.4, -11.0, -8.7, -11.2, -1.8, -2.7, 0.7, -3.0, -9.1, -8.2, -7.3, -9.4, -7.2, -8.2, -7.2, -8.2, -50.0, -13.2, -50.0, -13.3, 0.5, -0.9, 1.8, -0.6, -50.0, -11.4, -11.1, -10.5, -6.1, -12.9, -5.0, -11.9],
266
+ [-10.8, -9.6, -11.9, -7.7, -3.3, -3.8, -4.5, -1.6, -11.7, -7.7, -12.0, -6.2, -9.6, -12.0, -9.8, -9.4, -3.2, -4.7, -4.6, -2.4, 10.5, 10.6, 10.4, 12.6, -8.2, -7.9, -9.0, -4.7, -6.1, -6.0, -7.5, -2.9, -10.9, -12.2, -11.2, -10.9, -2.4, -2.9, -2.7, -0.9, -10.4, -9.7, -10.2, -8.0, -8.4, -9.1, -9.3, -6.5, -50.0, -13.3, -50.0, -11.0, -0.0, -0.4, -0.4, 2.3, -50.0, -10.9, -17.2, -8.3, -8.3, -12.7, -7.8, -9.3],
267
+ [2.1, -8.1, 1.2, -7.0, -8.0, -9.5, -7.3, -9.9, 10.5, -5.5, 9.3, -5.7, -9.5, -15.1, -10.0, -12.9, 2.5, -1.2, -0.1, -1.0, -6.0, -8.1, -5.7, -8.2, 13.8, 11.3, 11.8, 12.1, -6.0, -9.1, -9.0, -9.5, -8.9, -13.4, -10.0, -13.1, -9.9, -11.7, -9.8, -12.8, -5.9, -9.4, -6.5, -8.1, -10.7, -14.0, -13.3, -13.9, -50.0, -11.9, -50.0, -9.7, -8.9, -10.8, -9.0, -11.1, -50.0, -6.5, -5.3, -6.3, -10.5, -16.2, -10.4, -15.2],
268
+ [0.0, -5.0, 0.5, -6.8, -9.1, -7.8, -7.5, -8.9, 7.7, -2.4, 8.2, -5.1, -11.9, -13.1, -10.4, -14.3, -0.8, 3.0, -0.9, 0.8, -8.3, -5.2, -5.8, -7.9, 11.3, 15.0, 11.2, 12.8, -9.7, -5.3, -9.2, -7.8, -11.7, -10.6, -10.1, -12.2, -11.7, -8.8, -8.9, -11.8, -9.3, -5.0, -8.0, -8.2, -13.6, -11.4, -12.8, -13.0, -50.0, -7.2, -50.0, -8.4, -11.0, -7.7, -8.7, -10.2, -50.0, -1.5, -7.1, -4.9, -11.2, -11.6, -11.6, -15.0],
269
+ [1.4, -7.3, 2.2, -7.1, -8.0, -9.3, -6.4, -9.6, 9.1, -5.5, 10.0, -5.4, -10.9, -14.3, -8.4, -14.0, 0.9, -1.1, 2.4, -1.3, -6.9, -8.0, -3.5, -9.0, 11.8, 11.2, 13.4, 11.4, -7.3, -8.8, -6.5, -8.5, -10.0, -12.5, -7.8, -12.5, -9.6, -11.0, -7.1, -10.7, -7.9, -8.0, -4.3, -9.4, -11.4, -12.3, -10.9, -12.9, -50.0, -11.8, -50.0, -11.2, -9.4, -9.8, -7.3, -10.5, -50.0, -6.2, -2.2, -6.7, -9.8, -15.2, -8.5, -14.9],
270
+ [0.2, -6.3, 0.1, -4.3, -8.2, -8.9, -8.5, -7.0, 8.5, -4.1, 8.0, -2.1, -10.5, -13.4, -10.2, -11.9, 0.2, 1.6, -0.8, 3.4, -7.5, -6.7, -6.1, -4.7, 12.1, 12.8, 11.4, 14.7, -8.7, -7.4, -9.4, -5.3, -9.9, -11.8, -10.5, -10.3, -9.9, -10.1, -9.3, -9.3, -8.1, -7.2, -8.0, -5.2, -12.0, -12.1, -12.6, -10.9, -50.0, -7.9, -50.0, -5.3, -9.3, -8.8, -8.9, -7.0, -50.0, -3.6, -7.1, -1.2, -10.2, -12.7, -9.9, -11.0],
271
+ [-10.2, -13.4, -11.8, -12.4, -6.0, -9.4, -7.1, -8.6, -9.8, -12.9, -10.8, -12.4, 2.3, -1.4, 1.0, -1.0, -3.0, -8.0, -5.1, -7.6, -2.2, -6.1, -3.6, -6.1, -6.0, -9.7, -7.3, -8.7, 11.2, 7.9, 8.9, 8.1, -12.1, -17.4, -13.2, -16.8, -6.3, -9.5, -7.5, -8.8, -12.7, -15.2, -13.1, -14.2, 0.0, -3.1, -1.8, -3.1, -50.0, -10.7, -50.0, -9.3, -4.6, -8.9, -5.9, -8.3, -50.0, -12.8, -9.6, -10.6, 9.5, -3.2, 8.2, -2.8],
272
+ [-13.5, -11.3, -14.0, -12.9, -9.3, -7.1, -8.2, -8.9, -12.7, -10.3, -11.9, -12.3, -0.4, 1.4, -0.6, -0.4, -7.2, -4.7, -6.9, -5.7, -7.4, -3.7, -6.5, -6.0, -9.1, -5.3, -8.8, -7.4, 7.9, 11.9, 7.8, 9.3, -15.2, -15.1, -14.6, -17.2, -9.7, -7.3, -8.2, -9.2, -15.0, -12.8, -14.1, -14.9, -2.8, 0.2, -2.9, -2.3, -50.0, -7.4, -50.0, -8.7, -9.4, -7.3, -9.4, -9.4, -50.0, -8.0, -11.9, -9.7, 6.5, 0.5, 6.4, -1.8],
273
+ [-13.0, -14.4, -11.9, -13.9, -7.7, -9.0, -6.7, -8.8, -11.7, -12.7, -10.7, -13.1, -0.2, -1.6, 1.7, -1.6, -5.7, -8.7, -4.8, -8.1, -5.3, -7.5, -3.3, -7.5, -9.0, -9.2, -6.5, -9.4, 8.9, 7.8, 10.1, 7.8, -14.3, -17.7, -13.0, -17.8, -8.0, -9.4, -6.2, -9.2, -15.1, -14.9, -12.2, -14.9, -1.8, -3.2, -0.8, -3.2, -50.0, -10.8, -50.0, -9.9, -7.3, -9.6, -6.4, -9.4, -50.0, -12.3, -8.7, -11.3, 7.6, -3.3, 8.7, -2.9],
274
+ [-12.5, -12.9, -13.4, -10.0, -8.5, -9.0, -7.8, -6.8, -11.8, -11.3, -12.4, -10.1, -0.3, -0.5, -0.5, 1.2, -6.1, -6.0, -6.7, -3.5, -5.9, -5.6, -5.5, -2.9, -9.5, -7.8, -8.5, -5.3, 8.1, 9.3, 7.8, 11.8, -14.4, -15.7, -14.5, -14.6, -8.4, -8.7, -7.9, -7.1, -14.3, -13.8, -13.8, -12.3, -2.4, -2.2, -2.9, -0.2, -50.0, -8.9, -50.0, -7.1, -8.1, -9.1, -8.7, -6.6, -50.0, -9.7, -11.4, -8.0, 6.8, -1.8, 6.9, 0.4],
275
+ [-2.6, -6.3, -4.9, -4.9, -6.4, -9.4, -7.9, -8.6, -6.3, -7.4, -8.2, -6.6, -9.7, -14.9, -11.1, -13.9, -0.2, -8.2, -2.3, -6.8, -8.9, -11.1, -9.4, -10.9, -8.9, -11.7, -10.0, -9.9, -12.1, -15.2, -14.3, -14.4, 11.1, 2.9, 9.2, 3.5, -3.0, -7.0, -4.3, -6.2, -2.2, -6.6, -3.7, -5.7, -6.0, -10.4, -8.6, -9.5, -50.0, -15.5, -50.0, -13.9, -7.8, -10.5, -8.7, -9.6, -50.0, -16.5, -17.1, -14.8, -12.1, -18.9, -12.4, -17.4],
276
+ [-8.5, 0.8, -9.1, -0.7, -10.1, -7.5, -9.1, -8.2, -11.4, -3.1, -11.8, -4.4, -15.5, -14.3, -14.8, -15.4, -6.6, -4.7, -7.1, -5.8, -12.5, -10.3, -11.0, -12.2, -13.4, -10.6, -12.5, -11.8, -17.4, -15.1, -17.7, -15.7, 2.9, 12.5, 3.1, 10.3, -7.7, -5.2, -6.2, -7.3, -5.4, -1.7, -5.4, -3.7, -11.6, -9.1, -13.0, -10.8, -50.0, -10.3, -50.0, -11.2, -9.8, -8.3, -9.1, -9.7, -50.0, -12.7, -20.6, -13.1, -16.0, -16.6, -17.0, -18.4],
277
+ [-5.0, -6.4, -3.4, -5.6, -7.5, -9.3, -7.1, -8.8, -8.8, -7.4, -6.9, -6.9, -11.4, -15.2, -9.7, -13.7, -1.8, -7.8, -0.8, -7.2, -9.4, -10.6, -8.7, -11.2, -10.0, -10.1, -7.8, -10.5, -13.2, -14.6, -13.0, -14.5, 9.2, 3.1, 10.8, 3.0, -4.5, -6.7, -2.7, -6.7, -5.0, -6.8, -2.5, -6.7, -7.5, -10.4, -7.4, -10.2, -50.0, -15.5, -50.0, -14.2, -8.9, -10.2, -8.5, -10.0, -50.0, -15.6, -15.3, -15.5, -13.0, -18.8, -12.6, -18.3],
278
+ [-8.1, -1.1, -8.9, 1.4, -8.6, -9.2, -9.4, -6.8, -11.0, -4.9, -11.5, -2.6, -13.7, -16.8, -14.5, -12.6, -6.0, -6.7, -7.2, -4.2, -11.6, -11.9, -11.2, -10.9, -13.1, -12.2, -12.5, -10.3, -16.8, -17.2, -17.8, -14.6, 3.5, 10.3, 3.0, 12.4, -6.9, -7.5, -6.8, -4.9, -5.4, -4.2, -5.4, -1.3, -10.8, -11.5, -12.4, -8.2, -50.0, -12.5, -50.0, -8.9, -9.2, -10.0, -9.4, -7.9, -50.0, -14.3, -19.9, -11.4, -16.2, -19.2, -15.8, -15.9],
279
+ [-6.3, -7.4, -8.0, -6.0, 2.8, -0.7, 0.9, 0.3, -7.5, -4.4, -8.4, -3.6, -3.0, -7.7, -3.7, -6.2, -5.3, -10.0, -7.2, -8.9, -0.7, -3.2, -1.8, -2.4, -9.9, -11.7, -9.6, -9.9, -6.3, -9.7, -8.0, -8.4, -3.0, -7.7, -4.5, -6.9, 11.3, 8.2, 9.4, 9.1, -1.0, -3.3, -1.8, -2.4, 1.5, -2.1, -0.4, -1.1, -50.0, -14.5, -50.0, -12.9, 2.8, -0.0, 1.4, 0.7, -50.0, -8.7, -14.1, -7.5, -5.2, -12.5, -6.5, -10.7],
280
+ [-9.9, -5.0, -10.0, -6.5, -0.7, 2.6, -0.2, 0.1, -10.3, -1.8, -9.9, -3.8, -6.4, -4.7, -5.8, -6.7, -8.2, -8.3, -8.0, -10.2, -3.9, -1.0, -2.7, -2.9, -11.7, -8.8, -11.0, -10.1, -9.5, -7.3, -9.4, -8.7, -7.0, -5.2, -6.7, -7.5, 8.2, 11.6, 8.8, 9.1, -3.7, -0.9, -3.1, -3.0, -2.0, 1.2, -2.3, -1.3, -50.0, -12.1, -50.0, -12.6, 0.1, 2.5, 0.7, 0.6, -50.0, -6.0, -14.8, -7.5, -8.6, -9.4, -8.5, -11.2],
281
+ [-7.5, -6.2, -7.2, -6.2, 0.9, 0.2, 2.5, 0.2, -8.3, -3.5, -7.1, -3.7, -4.1, -6.3, -3.1, -6.3, -5.7, -8.9, -5.6, -8.4, -2.3, -2.2, 0.7, -2.7, -9.8, -8.9, -7.1, -9.3, -7.5, -8.2, -6.2, -7.9, -4.3, -6.2, -2.7, -6.8, 9.4, 8.8, 12.1, 8.8, -2.1, -2.0, 0.1, -2.4, 0.0, -1.1, 1.3, -0.8, -50.0, -11.9, -50.0, -12.6, 1.2, 0.7, 3.5, 0.8, -50.0, -7.1, -12.4, -7.1, -7.1, -10.6, -5.0, -10.6],
282
+ [-9.0, -6.5, -10.0, -4.8, 0.1, -0.1, -0.3, 2.4, -9.9, -3.5, -10.6, -2.0, -5.4, -6.6, -5.6, -4.4, -7.6, -9.9, -8.5, -8.2, -3.0, -2.8, -3.0, -0.9, -12.8, -11.8, -10.7, -9.3, -8.8, -9.2, -9.2, -7.1, -6.2, -7.3, -6.7, -4.9, 9.1, 9.1, 8.8, 11.2, -3.1, -3.0, -3.3, -1.0, -1.1, -1.4, -2.0, 1.2, -50.0, -12.8, -50.0, -10.9, 0.8, 0.5, 0.7, 2.3, -50.0, -7.5, -16.5, -5.9, -7.8, -11.1, -7.8, -9.0],
283
+ [-7.1, -5.6, -9.1, -5.1, -5.9, -8.0, -6.9, -7.4, -1.9, -1.6, -4.7, -1.4, -9.6, -14.6, -10.4, -13.0, -6.7, -10.8, -9.4, -9.9, -9.1, -10.5, -9.1, -10.4, -5.9, -9.3, -7.9, -8.1, -12.7, -15.0, -15.1, -14.3, -2.2, -5.4, -5.0, -5.4, -1.0, -3.7, -2.1, -3.1, 12.8, 9.6, 11.1, 10.1, -4.8, -9.4, -8.1, -8.6, -50.0, -18.3, -50.0, -15.4, -5.9, -7.5, -6.6, -7.1, -50.0, -9.5, -11.7, -8.4, -12.5, -17.3, -13.2, -15.4],
284
+ [-10.2, -1.6, -10.2, -3.2, -7.3, -4.6, -6.5, -6.2, -6.7, 3.0, -6.8, 0.8, -11.9, -10.8, -11.5, -12.2, -9.6, -7.1, -9.7, -8.4, -9.8, -8.1, -8.2, -9.7, -9.4, -5.0, -8.0, -7.2, -15.2, -12.8, -14.9, -13.8, -6.6, -1.7, -6.8, -4.2, -3.3, -0.9, -2.0, -3.0, 9.6, 12.8, 9.7, 10.5, -8.5, -5.6, -9.3, -7.8, -50.0, -12.7, -50.0, -13.8, -6.8, -5.1, -5.3, -6.5, -50.0, -4.1, -12.8, -5.8, -14.4, -14.1, -13.6, -14.8],
285
+ [-8.2, -4.7, -7.1, -5.0, -6.5, -7.7, -5.5, -6.9, -4.1, -0.8, -1.2, -0.9, -10.5, -12.8, -8.2, -13.0, -7.5, -10.0, -7.2, -9.7, -9.2, -9.4, -7.3, -10.2, -6.5, -8.0, -4.3, -8.0, -13.1, -14.1, -12.2, -13.8, -3.7, -5.4, -2.5, -5.4, -1.8, -3.1, 0.1, -3.3, 11.1, 9.7, 12.9, 9.8, -5.5, -8.1, -5.4, -7.8, -50.0, -16.4, -50.0, -14.8, -5.9, -7.1, -4.7, -7.2, -50.0, -8.4, -6.4, -8.1, -12.1, -16.2, -10.3, -15.8],
286
+ [-9.2, -3.0, -9.9, -1.2, -6.5, -6.1, -6.8, -4.4, -6.4, 0.9, -7.0, 3.0, -11.8, -13.0, -11.1, -10.4, -9.3, -9.2, -9.8, -6.4, -9.5, -9.5, -9.4, -8.0, -8.1, -8.2, -9.4, -5.2, -14.2, -14.9, -14.9, -12.3, -5.7, -3.7, -6.7, -1.3, -2.4, -3.0, -2.4, -1.0, 10.1, 10.5, 9.8, 13.1, -7.2, -8.0, -8.4, -5.0, -50.0, -14.7, -50.0, -11.4, -6.3, -6.7, -5.8, -5.0, -50.0, -6.1, -13.4, -3.6, -13.0, -16.0, -13.7, -13.3],
287
+ [-8.2, -10.8, -10.1, -9.8, -0.4, -3.6, -1.7, -2.9, -7.9, -8.4, -9.8, -8.2, 6.2, 2.3, 0.6, 2.9, -7.1, -11.6, -9.2, -11.1, -5.6, -8.3, -7.2, -8.4, -10.7, -13.6, -11.4, -12.0, 0.0, -2.8, -1.8, -2.4, -6.0, -11.6, -7.5, -10.8, 1.5, -2.0, 0.0, -1.1, -4.8, -8.5, -5.5, -7.2, 11.9, 8.6, 10.0, 9.0, -50.0, -14.2, -50.0, -12.8, -4.1, -7.4, -5.7, -6.5, -50.0, -11.0, -14.3, -9.9, 1.4, -7.9, -0.7, -6.8],
288
+ [-12.5, -8.7, -13.0, -9.9, -3.9, -1.0, -3.4, -2.9, -12.5, -6.3, -11.6, -8.1, 3.3, 6.0, -1.6, 3.8, -10.5, -10.1, -11.1, -11.1, -9.0, -6.9, -8.2, -9.1, -14.0, -11.4, -12.3, -12.1, -3.1, 0.2, -3.2, -2.2, -10.4, -9.1, -10.4, -11.5, -2.1, 1.2, -1.1, -1.4, -9.4, -5.6, -8.1, -8.0, 8.6, 12.4, 8.6, 9.5, -50.0, -10.4, -50.0, -11.6, -7.2, -5.7, -7.5, -7.4, -50.0, -8.6, -15.7, -9.7, -3.0, -3.7, -3.2, -5.9],
289
+ [-11.1, -11.9, -10.6, -11.3, -2.6, -4.1, -1.7, -3.5, -11.4, -9.6, -9.6, -9.2, 3.7, 2.5, 1.6, 2.5, -9.6, -12.3, -9.5, -11.8, -8.0, -9.4, -7.2, -9.3, -13.3, -12.8, -10.9, -12.6, -1.8, -2.9, -0.8, -2.9, -8.6, -13.0, -7.4, -12.4, -0.4, -2.3, 1.3, -2.0, -8.1, -9.3, -5.4, -8.4, 10.0, 8.6, 11.4, 8.9, -50.0, -13.7, -50.0, -13.2, -6.1, -8.1, -5.5, -7.5, -50.0, -11.3, -12.7, -10.1, -1.6, -7.8, -0.3, -7.2],
290
+ [-11.4, -10.0, -12.7, -8.2, -3.1, -3.1, -2.8, -0.9, -11.7, -7.3, -12.1, -5.8, 3.6, 3.6, -1.1, 5.8, -9.4, -11.9, -10.7, -10.0, -8.5, -8.8, -8.2, -6.5, -13.9, -13.0, -12.9, -10.9, -3.1, -2.3, -3.2, -0.2, -9.5, -10.8, -10.2, -8.2, -1.1, -1.3, -0.8, 1.2, -8.6, -7.8, -7.8, -5.0, 9.0, 9.5, 8.9, 12.0, -50.0, -13.0, -50.0, -10.3, -6.2, -7.0, -7.1, -5.4, -50.0, -9.3, -14.0, -8.2, -2.4, -6.3, -2.4, -3.9],
291
+ [-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, 30.6, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
292
+ [-14.8, -6.2, -14.9, -7.6, -14.6, -11.6, -13.0, -12.2, -14.0, -9.0, -14.1, -10.1, -13.6, -11.2, -12.4, -12.5, -8.1, 2.2, -8.7, 0.4, -15.3, -11.3, -13.2, -13.3, -11.9, -7.2, -11.8, -7.9, -10.7, -7.4, -10.8, -8.9, -15.5, -10.3, -15.5, -12.5, -14.5, -12.1, -11.9, -12.8, -18.3, -12.7, -16.4, -14.7, -14.2, -10.4, -13.7, -13.0, -50.0, 15.1, -50.0, 13.3, -9.9, -5.8, -8.9, -7.6, -50.0, -1.5, -7.8, -3.0, -8.1, 3.6, -9.4, 2.0],
293
+ [-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 30.6, -50.0, 35.2, -50.0, -50.0, -50.0, -50.0, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
294
+ [-13.8, -7.5, -14.4, -5.1, -12.6, -11.6, -11.5, -10.1, -13.2, -9.7, -12.7, -7.4, -11.9, -11.9, -11.5, -10.2, -7.2, 0.9, -8.6, 2.6, -14.1, -12.8, -13.3, -11.0, -9.7, -8.4, -11.2, -5.3, -9.3, -8.7, -9.9, -7.1, -13.9, -11.2, -14.2, -8.9, -12.9, -12.6, -12.6, -10.9, -15.4, -13.8, -14.8, -11.4, -12.8, -11.6, -13.2, -10.3, -50.0, 13.3, -50.0, 15.2, -8.6, -7.0, -8.4, -4.8, -50.0, -3.0, -7.1, -0.1, -7.3, 2.3, -8.7, 3.9],
295
+ [-7.3, -6.3, -8.9, -5.5, 2.9, 0.2, 1.5, 1.2, -8.5, -2.3, -10.0, -1.7, -5.6, -10.5, -5.5, -9.6, -4.3, -7.9, -6.1, -7.2, 2.3, -0.6, 0.5, -0.0, -8.9, -11.0, -9.4, -9.3, -4.6, -9.4, -7.3, -8.1, -7.8, -9.8, -8.9, -9.2, 2.8, 0.1, 1.2, 0.8, -5.9, -6.8, -5.9, -6.3, -4.1, -7.2, -6.1, -6.2, -50.0, -9.9, -50.0, -8.6, 12.5, 9.4, 11.0, 9.8, -50.0, -4.8, -8.7, -3.5, -0.0, -8.6, -2.1, -7.0],
296
+ [-10.1, -4.3, -10.8, -5.8, 0.1, 2.3, 0.7, 0.6, -10.4, -0.2, -10.8, -2.0, -8.8, -9.2, -8.0, -9.7, -6.8, -5.9, -7.5, -7.0, -1.4, 2.2, -0.9, -0.4, -10.8, -7.7, -9.8, -8.8, -8.9, -7.3, -9.6, -9.1, -10.5, -8.3, -10.2, -10.0, -0.0, 2.5, 0.7, 0.5, -7.5, -5.1, -7.1, -6.7, -7.4, -5.7, -8.1, -7.0, -50.0, -5.8, -50.0, -7.0, 9.4, 12.7, 10.1, 10.0, -50.0, -1.5, -11.3, -3.3, -5.4, -4.2, -5.6, -6.8],
297
+ [-8.4, -6.2, -8.9, -5.9, 1.8, 0.4, 2.7, 1.2, -9.1, -1.2, -8.8, -1.5, -7.2, -10.5, -4.9, -9.6, -5.7, -7.4, -5.5, -7.4, 0.3, -0.3, 1.8, -0.4, -9.0, -8.7, -7.3, -8.9, -5.9, -9.4, -6.4, -8.7, -8.7, -9.1, -8.5, -9.4, 1.4, 0.7, 3.5, 0.7, -6.6, -5.3, -4.7, -5.8, -5.7, -7.5, -5.5, -7.1, -50.0, -8.9, -50.0, -8.4, 11.0, 10.1, 13.2, 10.2, -50.0, -4.2, -6.1, -3.6, -3.5, -8.4, -1.2, -6.8],
298
+ [-9.1, -5.4, -10.4, -4.2, 1.0, 0.5, 0.6, 2.4, -9.6, -1.5, -10.5, -0.5, -8.9, -10.5, -7.2, -8.3, -6.3, -6.9, -7.7, -5.1, -0.5, 0.1, -0.6, 2.3, -11.1, -10.2, -10.5, -7.0, -8.3, -9.4, -9.4, -6.6, -9.6, -9.7, -10.0, -7.9, 0.7, 0.6, 0.8, 2.3, -7.1, -6.5, -7.2, -5.0, -6.5, -7.4, -7.5, -5.4, -50.0, -7.6, -50.0, -4.8, 9.8, 10.0, 10.2, 12.1, -50.0, -3.1, -11.4, -0.7, -4.6, -6.6, -4.9, -3.9],
299
+ [-50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 29.2, -50.0, 28.5, -50.0, -50.0, -50.0, -50.0, -50.0, 33.3, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0],
300
+ [-13.0, -7.0, -13.1, -8.3, -9.2, -6.5, -8.9, -7.6, -9.8, -0.7, -9.2, -2.1, -12.4, -10.3, -12.4, -11.6, -9.5, -4.6, -10.4, -5.7, -13.6, -10.1, -11.4, -10.9, -6.5, -1.5, -6.2, -3.6, -12.8, -8.0, -12.3, -9.7, -16.5, -12.7, -15.6, -14.3, -8.7, -6.0, -7.1, -7.5, -9.5, -4.1, -8.4, -6.1, -11.0, -8.6, -11.3, -9.3, -50.0, -1.5, -50.0, -3.0, -4.8, -1.5, -4.2, -3.1, -50.0, 16.4, -5.1, 14.2, -10.1, -4.3, -10.0, -5.4],
301
+ [-13.5, -16.3, -11.8, -15.5, -13.6, -15.3, -12.1, -16.1, -7.7, -13.3, -4.2, -12.6, -14.1, -16.2, -10.3, -15.4, -9.6, -11.6, -7.7, -9.8, -14.3, -17.5, -11.1, -17.2, -5.3, -7.1, -2.2, -7.1, -9.6, -11.9, -8.7, -11.4, -17.1, -20.6, -15.3, -19.9, -14.1, -14.8, -12.4, -16.5, -11.7, -12.8, -6.4, -13.4, -14.3, -15.7, -12.7, -14.0, -50.0, -7.8, -50.0, -7.1, -8.7, -11.3, -6.1, -11.4, -50.0, -5.1, 18.6, -4.8, -8.6, -8.1, -4.5, -7.3],
302
+ [-12.4, -8.2, -13.0, -5.9, -7.7, -7.8, -7.4, -5.8, -8.8, -2.0, -9.3, -0.4, -11.6, -11.3, -11.6, -9.4, -8.9, -5.6, -10.0, -3.2, -11.5, -11.1, -10.5, -8.3, -6.3, -4.9, -6.7, -1.2, -10.6, -9.7, -11.3, -8.0, -14.8, -13.1, -15.5, -11.4, -7.5, -7.5, -7.1, -5.9, -8.4, -5.8, -8.1, -3.6, -9.9, -9.7, -10.1, -8.2, -50.0, -3.0, -50.0, -0.1, -3.5, -3.3, -3.6, -0.7, -50.0, 14.2, -4.8, 16.4, -8.9, -5.8, -8.9, -3.4],
303
+ [-10.7, -13.2, -12.4, -11.6, -4.8, -8.4, -6.1, -7.2, -10.3, -11.8, -11.0, -11.6, 2.8, -1.7, 0.7, -1.1, -6.2, -9.7, -7.3, -8.4, -5.3, -8.6, -6.1, -8.3, -10.5, -11.2, -9.8, -10.2, 9.5, 6.5, 7.6, 6.8, -12.1, -16.0, -13.0, -16.2, -5.2, -8.6, -7.1, -7.8, -12.5, -14.4, -12.1, -13.0, 1.4, -3.0, -1.6, -2.4, -50.0, -8.1, -50.0, -7.3, -0.0, -5.4, -3.5, -4.6, -50.0, -10.1, -8.6, -8.9, 13.2, -0.9, 9.7, -0.3],
304
+ [-18.1, -12.3, -19.4, -14.2, -12.2, -9.5, -11.5, -10.8, -17.9, -11.9, -18.2, -13.9, -6.4, -3.7, -6.8, -5.4, -12.8, -5.9, -13.6, -7.4, -13.7, -9.9, -12.9, -12.7, -16.2, -11.6, -15.2, -12.7, -3.2, 0.5, -3.3, -1.8, -18.9, -16.6, -18.8, -19.2, -12.5, -9.4, -10.6, -11.1, -17.3, -14.1, -16.2, -16.0, -7.9, -3.7, -7.8, -6.3, -50.0, 3.6, -50.0, 2.3, -8.6, -4.2, -8.4, -6.6, -50.0, -4.3, -8.1, -5.8, -0.9, 14.2, -1.8, 11.6],
305
+ [-11.8, -13.1, -11.5, -12.0, -6.2, -8.3, -5.4, -7.4, -11.8, -12.3, -11.1, -11.4, 0.5, -2.5, 2.4, -1.6, -6.8, -9.9, -6.4, -8.9, -6.1, -8.6, -5.0, -7.8, -10.4, -11.6, -8.5, -9.9, 8.2, 6.4, 8.7, 6.9, -12.4, -17.0, -12.6, -15.8, -6.5, -8.5, -5.0, -7.8, -13.2, -13.6, -10.3, -13.7, -0.7, -3.2, -0.3, -2.4, -50.0, -9.4, -50.0, -8.7, -2.1, -5.6, -1.2, -4.9, -50.0, -10.0, -4.5, -8.9, 9.7, -1.8, 11.3, -0.9],
306
+ [-17.2, -13.3, -17.8, -11.6, -11.0, -11.1, -10.4, -9.0, -16.0, -12.7, -16.1, -11.1, -5.2, -5.4, -6.0, -3.3, -11.8, -7.3, -13.3, -5.9, -12.7, -11.9, -11.9, -9.3, -15.2, -15.0, -14.9, -11.0, -2.8, -1.8, -2.9, 0.4, -17.4, -18.4, -18.3, -15.9, -10.7, -11.2, -10.6, -9.0, -15.4, -14.8, -15.8, -13.3, -6.8, -5.9, -7.2, -3.9, -50.0, 2.0, -50.0, 3.9, -7.0, -6.8, -6.8, -3.9, -50.0, -5.4, -7.3, -3.4, -0.3, 11.6, -0.9, 14.1]];
310
307
 
311
- private CONBLO: {[id:string]:number} = {'A':0,'R':1,'N':2,'D':3,'C':4,'Q':5,'E':6,'G':7,'H':8,'I':9,'L':10,'K':11,'M':12,'F':13,'P':14,'S':15,'T':16,'W':17,'Y':18,'V':19,'B':20,'Z':21,'X':22,'*':23};
312
- private CONNUCL: {[id:string]:number} = {'A':0,'T':1,'C':2,'G':3};
313
- private CONSCHN: {[id:string]:number} = {'AAA':0,'AAC':1,'AAG':2,'AAT':3,'ACA':4,'ACC':5,'ACG':6,'ACT':7,'AGA':8,'AGC':9,'AGG':10,'AGT':11,'ATA':12,'ATC':13,'ATG':14,'ATT':15,'CAA':16,'CAC':17,'CAG':18,'CAT':19,'CCA':20,'CCC':21,'CCG':22,'CCT':23,'CGA':24,'CGC':25,'CGG':26,'CGT':27,'CTA':28,'CTC':29,'CTG':30,'CTT':31,'GAA':32,'GAC':33,'GAG':34,'GAT':35,'GCA':36,'GCC':37,'GCG':38,'GCT':39,'GGA':40,'GGC':41,'GGG':42,'GGT':43,'GTA':44,'GTC':45,'GTG':46,'GTT':47,'TAA':48,'TAC':49,'TAG':50,'TAT':51,'TCA':52,'TCC':53,'TCG':54,'TCT':55,'TGA':56,'TGC':57,'TGG':58,'TGT':59,'TTA':60,'TTC':61,'TTG':62,'TTT':63};
314
- private fillNeedleman(){
315
- for(let i: number = 0; i<= this.len1; i++){
316
- this.dpGrid[i][0].value = -i*this.gap;
317
- this.dpGrid[i][0].parentI = i-1;
318
- this.dpGrid[i][0].parentJ = 0;
319
- }
308
+ private TRANS:Array<Array<number>> = [[5, 0, 0, 4],
309
+ [0, 5, 4, 0],
310
+ [0, 4, 5, 0],
311
+ [4, 0, 0, 5]];
320
312
 
321
- for(let i: number = 1; i<= this.len2; i++){
322
- this.dpGrid[0][i].value = -i*this.gap;
323
- this.dpGrid[0][i].parentI = 0;
324
- this.dpGrid[0][i].parentJ = i-1;
325
- }
313
+ private CONBLO: {[id:string]:number} = {'A': 0, 'R': 1, 'N': 2, 'D': 3, 'C': 4, 'Q': 5, 'E': 6, 'G': 7, 'H': 8, 'I': 9, 'L': 10, 'K': 11, 'M': 12, 'F': 13, 'P': 14, 'S': 15, 'T': 16, 'W': 17, 'Y': 18, 'V': 19, 'B': 20, 'Z': 21, 'X': 22, '*': 23};
314
+ private CONNUCL: {[id:string]:number} = {'A': 0, 'T': 1, 'C': 2, 'G': 3};
315
+ private CONSCHN: {[id:string]:number} = {'AAA': 0, 'AAC': 1, 'AAG': 2, 'AAT': 3, 'ACA': 4, 'ACC': 5, 'ACG': 6, 'ACT': 7, 'AGA': 8, 'AGC': 9, 'AGG': 10, 'AGT': 11, 'ATA': 12, 'ATC': 13, 'ATG': 14, 'ATT': 15, 'CAA': 16, 'CAC': 17, 'CAG': 18, 'CAT': 19, 'CCA': 20, 'CCC': 21, 'CCG': 22, 'CCT': 23, 'CGA': 24, 'CGC': 25, 'CGG': 26, 'CGT': 27, 'CTA': 28, 'CTC': 29, 'CTG': 30, 'CTT': 31, 'GAA': 32, 'GAC': 33, 'GAG': 34, 'GAT': 35, 'GCA': 36, 'GCC': 37, 'GCG': 38, 'GCT': 39, 'GGA': 40, 'GGC': 41, 'GGG': 42, 'GGT': 43, 'GTA': 44, 'GTC': 45, 'GTG': 46, 'GTT': 47, 'TAA': 48, 'TAC': 49, 'TAG': 50, 'TAT': 51, 'TCA': 52, 'TCC': 53, 'TCG': 54, 'TCT': 55, 'TGA': 56, 'TGC': 57, 'TGG': 58, 'TGT': 59, 'TTA': 60, 'TTC': 61, 'TTG': 62, 'TTT': 63};
316
+ private fillNeedleman() {
317
+ for (let i: number = 0; i<= this.len1; i++) {
318
+ this.dpGrid[i][0].value = -i*this.gap;
319
+ this.dpGrid[i][0].parentI = i-1;
320
+ this.dpGrid[i][0].parentJ = 0;
326
321
  }
327
322
 
328
- private fillOne(i: number, j: number){
329
- this.dpGrid[i][j].value = Math.max(this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1],Math.max(this.dpGrid[i-1][j].value-this.gap, this.dpGrid[i][j-1].value-this.gap));
330
- if(this.dpGrid[i][j].value == this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1]){
331
- this.dpGrid[i][j].parentI = i-1;
332
- this.dpGrid[i][j].parentJ = j-1;
333
- }else if(this.dpGrid[i][j].value == this.dpGrid[i-1][j].value-this.gap){
334
- this.dpGrid[i][j].parentI = i-1;
335
- this.dpGrid[i][j].parentJ = j;
336
- }else{
337
- this.dpGrid[i][j].parentI = i;
338
- this.dpGrid[i][j].parentJ = j-1;
339
- }
323
+ for (let i: number = 1; i<= this.len2; i++) {
324
+ this.dpGrid[0][i].value = -i*this.gap;
325
+ this.dpGrid[0][i].parentI = 0;
326
+ this.dpGrid[0][i].parentJ = i-1;
340
327
  }
328
+ }
341
329
 
342
- private gridFromName (path: string){
343
- switch(path){
344
- case 'BLOSUM45':
345
- this.alignGrid = this.BLOSUM45;
346
- this.connections = this.CONBLO;
347
- this.step = 1;
348
- break;
349
- case 'BLOSUM50':
350
- this.alignGrid = this.BLOSUM50;
351
- this.connections = this.CONBLO;
352
- this.step = 1;
353
- break;
354
- case 'BLOSUM62':
355
- this.alignGrid = this.BLOSUM62;
356
- this.connections = this.CONBLO;
357
- this.step = 1;
358
- break;
359
- case 'BLOSUM80':
360
- this.alignGrid = this.BLOSUM80;
361
- this.connections = this.CONBLO;
362
- this.step = 1;
363
- break;
364
- case 'BLOSUM90':
365
- this.alignGrid = this.BLOSUM90;
366
- this.connections = this.CONBLO;
367
- this.step = 1;
368
- break;
369
- case 'PAM30':
370
- this.alignGrid = this.PAM30;
371
- this.connections = this.CONBLO;
372
- this.step = 1;
373
- break;
374
- case 'PAM70':
375
- this.alignGrid = this.PAM70;
376
- this.connections = this.CONBLO;
377
- this.step = 1;
378
- break;
379
- case 'PAM250':
380
- this.alignGrid = this.PAM250;
381
- this.connections = this.CONBLO;
382
- this.step = 1;
383
- break;
384
- case 'NUCLEOTIDES':
385
- this.alignGrid = this.NUCLEOTIDES;
386
- this.connections = this.CONNUCL;
387
- this.step = 1;
388
- break;
389
- case 'TRANS':
390
- this.alignGrid = this.TRANS;
391
- this.connections = this.CONNUCL;
392
- this.step = 1;
393
- break;
394
- case 'SCHNEIDER':
395
- this.alignGrid = this.SCHNEIDER;
396
- this.connections = this.CONSCHN;
397
- this.step = 3;
398
- break;
399
-
400
- }
401
- this.fillScores();
402
-
330
+ private fillOne(i: number, j: number) {
331
+ this.dpGrid[i][j].value = Math.max(this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1], Math.max(this.dpGrid[i-1][j].value-this.gap, this.dpGrid[i][j-1].value-this.gap));
332
+ if (this.dpGrid[i][j].value == this.dpGrid[i-1][j-1].value+this.scores[i-1][j-1]) {
333
+ this.dpGrid[i][j].parentI = i-1;
334
+ this.dpGrid[i][j].parentJ = j-1;
335
+ } else if (this.dpGrid[i][j].value == this.dpGrid[i-1][j].value-this.gap) {
336
+ this.dpGrid[i][j].parentI = i-1;
337
+ this.dpGrid[i][j].parentJ = j;
338
+ } else {
339
+ this.dpGrid[i][j].parentI = i;
340
+ this.dpGrid[i][j].parentJ = j-1;
403
341
  }
342
+ }
404
343
 
405
- private constructResult(i: number, j: number): Aligned{
406
- let res1:string = "", res2:string ="",gapS:string ="";
407
- let total: number = this.dpGrid[i][j].value;
408
- for(let i:number = 0; i< this.step; i++){
409
- gapS+='|';
410
- }
411
- while(i>0 || j>0){
412
- if(this.dpGrid[i][j].parentI == i) {
413
- res1 = gapS+res1;
414
- res2 = this.seq2.substr((j-1)*this.step,this.step)+res2;
415
- }
416
- else if(this.dpGrid[i][j].parentJ == j){
417
- res2 = gapS+res2;
418
- res1 = this.seq1.substr((i-1)*this.step,this.step)+res1;
419
- }
420
- else{
421
- if(i-1>=0)res1 = this.seq1.substr((i-1)*this.step,this.step)+res1;
422
- else res1 = gapS+res1;
423
- if(j-1>=0)res2 = this.seq2.substr((j-1)*this.step,this.step)+res2;
424
- else res2 = gapS+res2;
425
- }
426
- let tempI: number = i;
427
- i=this.dpGrid[i][j].parentI;
428
- j=this.dpGrid[tempI][j].parentJ;
429
- }
430
- return new Aligned(res1,res2, total);
344
+ private gridFromName(path: string) {
345
+ switch (path) {
346
+ case 'BLOSUM45':
347
+ this.alignGrid = this.BLOSUM45;
348
+ this.connections = this.CONBLO;
349
+ this.step = 1;
350
+ break;
351
+ case 'BLOSUM50':
352
+ this.alignGrid = this.BLOSUM50;
353
+ this.connections = this.CONBLO;
354
+ this.step = 1;
355
+ break;
356
+ case 'BLOSUM62':
357
+ this.alignGrid = this.BLOSUM62;
358
+ this.connections = this.CONBLO;
359
+ this.step = 1;
360
+ break;
361
+ case 'BLOSUM80':
362
+ this.alignGrid = this.BLOSUM80;
363
+ this.connections = this.CONBLO;
364
+ this.step = 1;
365
+ break;
366
+ case 'BLOSUM90':
367
+ this.alignGrid = this.BLOSUM90;
368
+ this.connections = this.CONBLO;
369
+ this.step = 1;
370
+ break;
371
+ case 'PAM30':
372
+ this.alignGrid = this.PAM30;
373
+ this.connections = this.CONBLO;
374
+ this.step = 1;
375
+ break;
376
+ case 'PAM70':
377
+ this.alignGrid = this.PAM70;
378
+ this.connections = this.CONBLO;
379
+ this.step = 1;
380
+ break;
381
+ case 'PAM250':
382
+ this.alignGrid = this.PAM250;
383
+ this.connections = this.CONBLO;
384
+ this.step = 1;
385
+ break;
386
+ case 'NUCLEOTIDES':
387
+ this.alignGrid = this.NUCLEOTIDES;
388
+ this.connections = this.CONNUCL;
389
+ this.step = 1;
390
+ break;
391
+ case 'TRANS':
392
+ this.alignGrid = this.TRANS;
393
+ this.connections = this.CONNUCL;
394
+ this.step = 1;
395
+ break;
396
+ case 'SCHNEIDER':
397
+ this.alignGrid = this.SCHNEIDER;
398
+ this.connections = this.CONSCHN;
399
+ this.step = 3;
400
+ break;
431
401
  }
402
+ this.fillScores();
403
+ }
432
404
 
433
- private fillScores(){
434
- this.scores = [];
435
- for(let i: number = 0; i < this.len1; i++){
436
- this.scores.push([]);
437
- for(let j:number = 0; j < this.len2; j++){
405
+ private constructResult(i: number, j: number): Aligned {
406
+ let res1:string = ''; let res2:string =''; let gapS:string ='';
407
+ const total: number = this.dpGrid[i][j].value;
408
+ for (let i:number = 0; i< this.step; i++)
409
+ gapS+='|';
438
410
 
439
- this.scores[i].push(this.alignGrid[this.connections[this.seq1.substr(i*this.step,this.step)]][this.connections[this.seq2.substr(j*this.step,this.step)]]);
440
- }
441
- }
411
+ while (i>0 || j>0) {
412
+ if (this.dpGrid[i][j].parentI == i) {
413
+ res1 = gapS+res1;
414
+ res2 = this.seq2.substr((j-1)*this.step, this.step)+res2;
415
+ } else if (this.dpGrid[i][j].parentJ == j) {
416
+ res2 = gapS+res2;
417
+ res1 = this.seq1.substr((i-1)*this.step, this.step)+res1;
418
+ } else {
419
+ if (i-1>=0)res1 = this.seq1.substr((i-1)*this.step, this.step)+res1;
420
+ else res1 = gapS+res1;
421
+ if (j-1>=0)res2 = this.seq2.substr((j-1)*this.step, this.step)+res2;
422
+ else res2 = gapS+res2;
423
+ }
424
+ const tempI: number = i;
425
+ i=this.dpGrid[i][j].parentI;
426
+ j=this.dpGrid[tempI][j].parentJ;
442
427
  }
428
+ return new Aligned(res1, res2, total);
429
+ }
443
430
 
444
- private typeRec():string{
445
- if(/[ATGC]*/.test(this.seq1) && /[ATGC]*/.test(this.seq2)) return "NUCLEOTIDES";
446
- if (/[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq1) && /[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq2)) return "BLOSUM62";
447
- throw Error("Can't recognize sequence type");
431
+ private fillScores() {
432
+ this.scores = [];
433
+ for (let i: number = 0; i < this.len1; i++) {
434
+ this.scores.push([]);
435
+ for (let j:number = 0; j < this.len2; j++) {
436
+ this.scores[i].push(
437
+ this.alignGrid[
438
+ this.connections[this.seq1.substr(i*this.step, this.step)]
439
+ ][this.connections[this.seq2.substr(j*this.step, this.step)]]);
440
+ }
448
441
  }
442
+ }
449
443
 
444
+ private typeRec():string {
445
+ if (/[ATGC]*/.test(this.seq1) && /[ATGC]*/.test(this.seq2)) return 'NUCLEOTIDES';
446
+ if (/[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq1) &&
447
+ /[ARNDCQEGHILKMFPSTWYVBZX*]*/.test(this.seq2)) return 'BLOSUM62';
448
+ throw Error('Can\'t recognize sequence type');
449
+ }
450
450
 
451
- public needlemanWunch():Aligned{
452
- this.dpGrid=[];
453
- for (let i:number = 0 ; i<this.len1+1;i++){
454
- let row : Cell[] =[]
455
- for(let j: number = 0; j<this.len2+1; j++)
456
- row.push(new Cell());
457
- this.dpGrid.push(row);
458
- }
459
- this.fillNeedleman();
460
- for(let i:number = 1; i<= this.len1; i++){
461
- for(let j: number =1; j<=this.len2;j++){
462
- this.fillOne(i,j);
463
- }
464
- }
465
- return this.constructResult(this.len1,this.len2);
451
+
452
+ public needlemanWunch():Aligned {
453
+ this.dpGrid=[];
454
+ for (let i:number = 0; i<this.len1+1; i++) {
455
+ const row : Cell[] =[];
456
+ for (let j: number = 0; j<this.len2+1; j++)
457
+ row.push(new Cell());
458
+ this.dpGrid.push(row);
459
+ }
460
+ this.fillNeedleman();
461
+ for (let i:number = 1; i<= this.len1; i++) {
462
+ for (let j: number =1; j<=this.len2; j++)
463
+ this.fillOne(i, j);
466
464
  }
465
+ return this.constructResult(this.len1, this.len2);
466
+ }
467
467
 
468
- public smithWaterman():Aligned{
469
- this.dpGrid=[]
470
- for (let i:number = 0 ; i<this.len1+1;i++){
471
- let row : Cell[] =[]
472
- for(let j: number = 0; j<this.len2+1; j++)
473
- row.push(new Cell());
474
- this.dpGrid.push(row);
468
+ public smithWaterman():Aligned {
469
+ this.dpGrid=[];
470
+ for (let i:number = 0; i<this.len1+1; i++) {
471
+ const row : Cell[] =[];
472
+ for (let j: number = 0; j<this.len2+1; j++)
473
+ row.push(new Cell());
474
+ this.dpGrid.push(row);
475
+ }
476
+ let bestVal:number=0;
477
+ let bestI:number=0; let bestJ:number=0;
478
+ for (let i:number = 1; i<= this.len1; i++) {
479
+ for (let j:number =1; j<=this.len2; j++) {
480
+ this.fillOne(i, j);
481
+ if (this.dpGrid[i][j].value <= 0) {
482
+ this.dpGrid[i][j].value = 0;
483
+ this.dpGrid[i][j].parentI = 0;
484
+ this.dpGrid[i][j].parentJ = 0;
485
+ } else if (this.dpGrid[this.dpGrid[i][j].parentI][this.dpGrid[i][j].parentJ].value == 0) {
486
+ this.dpGrid[i][j].parentI = 0;
487
+ this.dpGrid[i][j].parentJ = 0;
475
488
  }
476
- let bestVal:number=0;
477
- let bestI:number=0, bestJ:number=0;
478
- for(let i:number = 1; i<= this.len1; i++){
479
- for(let j:number =1; j<=this.len2;j++){
480
- this.fillOne(i,j);
481
- if(this.dpGrid[i][j].value <= 0){
482
- this.dpGrid[i][j].value = 0;
483
- this.dpGrid[i][j].parentI = 0;
484
- this.dpGrid[i][j].parentJ = 0;
485
- }
486
- else if(this.dpGrid[this.dpGrid[i][j].parentI][this.dpGrid[i][j].parentJ].value == 0){
487
- this.dpGrid[i][j].parentI = 0;
488
- this.dpGrid[i][j].parentJ = 0;
489
- }
490
- if(this.dpGrid[i][j].value > bestVal){
491
- bestVal = this.dpGrid[i][j].value;
492
- bestI = i;
493
- bestJ = j;
494
- }
495
- }
489
+ if (this.dpGrid[i][j].value > bestVal) {
490
+ bestVal = this.dpGrid[i][j].value;
491
+ bestI = i;
492
+ bestJ = j;
496
493
  }
497
- return this.constructResult(bestI, bestJ);
494
+ }
498
495
  }
496
+ return this.constructResult(bestI, bestJ);
497
+ }
499
498
 
500
- public setSequences( seq1_: string, seq2_: string){
501
- this.seq1 = seq1_;
502
- this.seq2 = seq2_;
503
- this.len1 = this.seq1.length/this.step;
504
- this.len2 = this.seq2.length/this.step;
505
- this.fillScores();
506
- }
499
+ public setSequences( seq1_: string, seq2_: string) {
500
+ this.seq1 = seq1_;
501
+ this.seq2 = seq2_;
502
+ this.len1 = this.seq1.length/this.step;
503
+ this.len2 = this.seq2.length/this.step;
504
+ this.fillScores();
505
+ }
507
506
 
508
- public setGap( gap_:number){
509
- this.gap = gap_;
510
- }
507
+ public setGap( gap_:number) {
508
+ this.gap = gap_;
509
+ }
511
510
 
512
- public setMethod( alignGrid_ : string= ""){
513
- if(alignGrid_ == "AUTO"){
514
- alignGrid_ = this.typeRec();
515
- }
516
- this.gridFromName(alignGrid_);
517
- }
511
+ public setMethod( alignGrid_ : string= '') {
512
+ if (alignGrid_ == 'AUTO')
513
+ alignGrid_ = this.typeRec();
518
514
 
519
- public constructor( seq1_:string, seq2_:string, gap_:number, alignGrid_:string = ""){
520
- this.setMethod(alignGrid_);
521
- this.setSequences(seq1_, seq2_);
522
- this.setGap(gap_);
523
- }
524
- }
515
+ this.gridFromName(alignGrid_);
516
+ }
517
+
518
+ public constructor( seq1_:string, seq2_:string, gap_:number, alignGrid_:string = '') {
519
+ this.setMethod(alignGrid_);
520
+ this.setSequences(seq1_, seq2_);
521
+ this.setGap(gap_);
522
+ }
523
+ }