-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTestCoverageReport.html
More file actions
1167 lines (1103 loc) · 635 KB
/
TestCoverageReport.html
File metadata and controls
1167 lines (1103 loc) · 635 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1" />
<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFwklEQVR4AcWXA3Qk2RrH/7e6qtPbaQ6TdKyXsbm2bdv22N7R2raRs9JYyhszk0FvOkYnzfJLnTc3p3rv9GY9X+m7hfv/fagGwRG2PwywdetWUl5e7hNF0QeAv/LKK1f+4wDffPONIXiZqqpntG3DdV13tW3gOC5wt3XM22ElfAZHLPWEkD084cu62br+XH7WBv9fBvjhhx9KAExRFOXCNkHeEDWMHtsEA9fhvkWtaujaQxdgXCEgusAJ63gL/8Jgb//3F4/8SvxDAP6TT7ZEN268d2mfPjf7Hn20t9PphCF6OIAL5BsXRfXYtYa0Yf8/tI/AE/6gXbA/0nxSxSe/C8BfUJAmNzV9pEnSsQqAj08+GaeMGgVBEBgAAIEz41ctCpHItdBNsqZs0GOKJeWDDFvarRVDN4STAlTl5haoweAiXVGyqUjYYsFXV16Jc++914j41xCB4yMXLgpxiQDUp0N6RSDCJq/Vc2rNwO0NDEBDfn53tbl5bZt4DqU2RAy/ymbD2ocfxllXXcUADGk9c1HIEr42QYxymIDomCf8xiyb7/iKknWhdoDI8cdz8vbtP2qSdBIVNZ4xg2x3OlHzxBM49qSTzP0Q+E/o2G9UXrn1kAYT/eF6w8pZ34+X+K9qB4j5fDdp4fCremLkCdEa3pLu3eF86SX06t0bhmmaFsiLDiuFgDv0X9c+UZQph52znxfOqygl2qmnCurGjXtp3ak4BaHiFOjjkhIMfP11+Hw+YxzIjA0qhRV3UA26MyUhAYL6PCzbBtn69SV6Xt4FCAY/Z1JPN4CBevmYY3Deyy/D5XIF0uX+pbpA7oBxlRjX2VfRDGT23ZzzJKKnp78GUbzReLJ9A6jPQBnHOMfhpYsuwnULFwayLUNLZat6R3Ihtjmpn0KszxA9LW0bJKmXWZSFYM81CgLeuvHGwPgZX5cqNpXpAVaU9QXwZUYGQpBlBytqHrPXNKMU2Wl1j+4Q/ApRBptFk/sMQJDo2dkqJInrQJAZr4tGMeGVNKy5zmFMx4owIxaABy8TPSenCarq7TBy07ajTXzh/S58OTPNmMo8eQcwTAZaiF5UtB6yPDi5YCKYPxbDq6dY8MZHBdA4nU7MHH8T5tBcAoSNRO/ZcwEk6QFDoCOIBlHE+7lxvLCkN0Q7Z4qewaB7BolObfhWCM8SedCgY/lIZBkrmAgTliR8ITTj2VUD0JpupbLmErBHamZE084ZTz2L7L7lFi571aqDNiAzGYSkqvi+pQbP/zwQNf0drDiT7OQZaAdo1RqK1mRmEGO8s6BgZondPupw0WuahmWBSrz6Xm/sPbebWZwFoHu2+kwDSj+Hntl16rp7DQB8k5ubUczz5QUOhx2altAD6ysr8e6EHGx6sBB68sUsxpaDzkdgGCJlLQr5WOy5Y/Z/ywnl+iQzc9xwp3Oqz2ZrB9hVU4OPz3di+QuDaKx/MAPsWdEfQ8PzlQv8s3Y/lPCDpHTECEvzgQOLjvV6j8u12/FLYyO+KBTx4zcnQ+Vh2G9Ez+4B1osfjKD6hQNb236QjFg5aVGE+Un2Tu/enVrq6xf3stn6HrA047uyCyB6BCbNGjTzGbNHfaYIwbUNqPnA/4uDSz125/xNB5P+KH2lTx9vpLb2U9Uled6b2X+A7+RcpHhTOqp/UgSxPo7AJ/sR2tKyw53qOnvbvLIDHf4sf/+ii3hJCx41e3DwFSkqXdapZxd0G5YBZ4EHIDq0DtKv6zpC5S1oWFGNpg31Gk8sr3V1d3tw7cxl4T/8z2jgpBEnhVvDk6WIdIzVZYW7uBMcOU7YutphcfDgBA6arEEKiYjXxxD2h9C6qwlySNZ5C/+DwPOTdj29Zc1f/m846JERfSOxyGWqpp2qaWp/TdetSDAdhHAxjuM2coR87zzK+UHZvNV7/tY/p9Tue+UhoWzvxtyIGO0ajUcET6pbsQop1T2zSvwv3fWcgj9gBEfY/gcDB4tklLmGUgAAAABJRU5ErkJggg==" rel="icon" type="image/x-icon" />
<title>Summary - Coverage Report</title>
<style type="text/css">html { font-family: 'Segoe UI', '-apple-system', BlinkMacSystemFont, Roboto, 'Helvetica Neue', Helvetica, Ubuntu, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; margin: 0; padding: 0; font-size: 0.9em; background-color: #fff; height: 100%; }
body { margin: 0; padding: 0; height: 100%; color: #000; }
h1 { font-size: 1.2em; font-weight: normal; color: #000; background-color: rgba(248,248,248,1); padding: 10px; margin: 20px -20px 20px -20px; }
h1:first-of-type { margin-top: 0; }
h2 { font-size: 1.0em; font-weight: bold; margin: 10px 0 15px 0; padding: 0; }
h3 { font-size: 1.0em; font-weight: bold; margin: 0 0 10px 0; padding: 0; display: inline-block; }
a { color: #0078D4; text-decoration: none; }
a:hover { color: #000; text-decoration: underline; }
h1 a.back { background-color: #e8e8e8; display: inline-block; margin: -12px 5px -10px -10px; padding: 10px; border-right: 1px solid #fff; }
h1 a.back:hover { background-color: #ccc; text-decoration: none; }
h1 a.button { color: #000; background-color: #dcdcdc; margin: -5px 0 0 10px; padding: 5px 8px 5px 8px; border: 1px solid #c1c1c1; font-size: 0.9em; border-radius: 3px; float:right; }
h1 a.button:hover { background-color: #f4f4f4; }
h1 a.button i { position: relative; top: 1px; }
.container { margin: auto; background-color: #fff; display: flex; min-height: 100%; }
.containerleft { padding: 0 20px 20px 20px; }
.containerright { width: 340px; min-width: 340px; background-color: #fff; height: 100%; }
.containerrightfixed { position: fixed; padding: 0 20px 20px 20px; border-left: solid 1px #EAEAEA; width: 300px; overflow-y: auto; height: 100%; top: 0; bottom: 0; }
.containerrightfixed h1 { background-color: rgba(248,248,248,1); }
.containerrightfixed label, .containerright a { white-space: nowrap; overflow: hidden; display: inline-block; width: 100%; max-width: 300px; text-overflow: ellipsis; }
.containerright a { margin-bottom: 3px; }
@media screen and (max-width:1200px){
.container { box-shadow: none; width: 100%; }
.containerright { display: none; }
}
.footer { font-size: 0.7em; text-align: center; margin-top: 35px; }
th { text-align: left; }
.table-fixed { table-layout: fixed; }
.overview { border: solid 1px #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; }
.overview th { border: solid 1px #c1c1c1; border-collapse: collapse; padding: 5px 4px 5px 4px; background-color: #fff}
ansi
.overview thead th { background-color: #fff; }
.overview th a { color: #000; }
.overview tr.namespace a { margin-left: 15px; display: block; }
.overview td { border: solid 1px #c1c1c1; border-collapse: collapse; padding: 5px 4px 5px 4px; }
.overview tr:hover { background: #f4f4f4 }
div.currenthistory { margin: -6px -5px 0 -5px; padding: 2px 4px 6px 4px; height: 16px; }
.coverage {
border: solid 1px #c1c1c1;
border-collapse: collapse;
font-size: 5px;
height: 10px;
}
.coverage td { padding: 0; border: none; }
.customizebox { font-size: 0.75em; margin-bottom: 7px; }
.customizebox>div { width: 25%; display: inline-block; }
.customizebox div.right input { font-size: 0.8em; width: 150px; }
#namespaceslider { width: 200px; display: inline-block; margin-left: 8px; }
.percentagebar {
padding-left: 3px;
}
a.percentagebar {
padding-left: 6px;
}
.percentagebarundefined {
border-left: 2px solid #fff;
}
.percentagebar0 {
border-left: 2px solid #DA0A00;
}
.percentagebar10 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 90%, #107C10 90%, #107C10 100%) 1;
}
.percentagebar20 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 80%, #107C10 80%, #107C10 100%) 1;
}
.percentagebar30 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 70%, #107C10 70%, #107C10 100%) 1;
}
.percentagebar40 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 60%, #107C10 60%, #107C10 100%) 1;
}
.percentagebar50 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 50%, #107C10 50%, #107C10 100%) 1;
}
.percentagebar60 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 40%, #107C10 40%, #107C10 100%) 1;
}
.percentagebar70 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 30%, #107C10 30%, #107C10 100%) 1;
}
.percentagebar80 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 20%, #107C10 20%, #107C10 100%) 1;
}
.percentagebar90 {
border-left: 2px solid;
border-image: linear-gradient(to bottom, #DA0A00 10%, #107C10 10%, #107C10 100%) 1;
}
.percentagebar100 {
border-left: 2px solid #107C10;
}
.hidden, .ng-hide { display: none; }
.right { text-align: right; }
.center { text-align: center; }
.rightmargin { padding-right: 8px; }
.leftmargin { padding-left: 5px; }
.green { background-color: #107C10; }
.lightgreen { background-color: #dcf4dc; }
.red { background-color: #DA0A00; }
.lightred { background-color: #f7dede; }
.orange { background-color: #FFA500; }
.lightorange { background-color: #FFEFD5; }
.gray { background-color: #dcdcdc; }
.lightgray { color: #888888; }
.lightgraybg { background-color: #dadada; }
.toggleZoom { text-align:right; }
.ct-chart { position: relative; }
.ct-chart .ct-line { stroke-width: 2px !important; }
.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; }
.ct-chart .ct-point:hover { stroke-width: 10px !important; }
.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #0078D4 !important;}
.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;}
.tinylinecoveragechart, .tinybranchcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: solid 1px #c1c1c1; width: 30px; height: 18px; }
.historiccoverageoffset { margin-top: 7px; }
.tinylinecoveragechart .ct-line, .tinybranchcoveragechart .ct-line { stroke-width: 1px !important; }
.tinybranchcoveragechart .ct-series.ct-series-a .ct-line { stroke: #1c2298 !important; }
.linecoverage { background-color: #0078D4; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
.branchcoverage { background-color: #1c2298; width: 10px; height: 8px; border: 1px solid #000; display: inline-block; }
.tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; }
.column1324 { max-width: 1324px; }
.column674 { max-width: 674px; }
.column60 { width: 60px; }
.column70 { width: 70px; }
.column90 { width: 90px; }
.column98 { width: 98px; }
.column100 { width: 100px; }
.column105 { width: 105px; }
.column112 { width: 112px; }
.column135 { width: 135px; }
.column150 { width: 150px; }
.covered0 { width: 0px; }
.covered1 { width: 1px; }
.covered2 { width: 2px; }
.covered3 { width: 3px; }
.covered4 { width: 4px; }
.covered5 { width: 5px; }
.covered6 { width: 6px; }
.covered7 { width: 7px; }
.covered8 { width: 8px; }
.covered9 { width: 9px; }
.covered10 { width: 10px; }
.covered11 { width: 11px; }
.covered12 { width: 12px; }
.covered13 { width: 13px; }
.covered14 { width: 14px; }
.covered15 { width: 15px; }
.covered16 { width: 16px; }
.covered17 { width: 17px; }
.covered18 { width: 18px; }
.covered19 { width: 19px; }
.covered20 { width: 20px; }
.covered21 { width: 21px; }
.covered22 { width: 22px; }
.covered23 { width: 23px; }
.covered24 { width: 24px; }
.covered25 { width: 25px; }
.covered26 { width: 26px; }
.covered27 { width: 27px; }
.covered28 { width: 28px; }
.covered29 { width: 29px; }
.covered30 { width: 30px; }
.covered31 { width: 31px; }
.covered32 { width: 32px; }
.covered33 { width: 33px; }
.covered34 { width: 34px; }
.covered35 { width: 35px; }
.covered36 { width: 36px; }
.covered37 { width: 37px; }
.covered38 { width: 38px; }
.covered39 { width: 39px; }
.covered40 { width: 40px; }
.covered41 { width: 41px; }
.covered42 { width: 42px; }
.covered43 { width: 43px; }
.covered44 { width: 44px; }
.covered45 { width: 45px; }
.covered46 { width: 46px; }
.covered47 { width: 47px; }
.covered48 { width: 48px; }
.covered49 { width: 49px; }
.covered50 { width: 50px; }
.covered51 { width: 51px; }
.covered52 { width: 52px; }
.covered53 { width: 53px; }
.covered54 { width: 54px; }
.covered55 { width: 55px; }
.covered56 { width: 56px; }
.covered57 { width: 57px; }
.covered58 { width: 58px; }
.covered59 { width: 59px; }
.covered60 { width: 60px; }
.covered61 { width: 61px; }
.covered62 { width: 62px; }
.covered63 { width: 63px; }
.covered64 { width: 64px; }
.covered65 { width: 65px; }
.covered66 { width: 66px; }
.covered67 { width: 67px; }
.covered68 { width: 68px; }
.covered69 { width: 69px; }
.covered70 { width: 70px; }
.covered71 { width: 71px; }
.covered72 { width: 72px; }
.covered73 { width: 73px; }
.covered74 { width: 74px; }
.covered75 { width: 75px; }
.covered76 { width: 76px; }
.covered77 { width: 77px; }
.covered78 { width: 78px; }
.covered79 { width: 79px; }
.covered80 { width: 80px; }
.covered81 { width: 81px; }
.covered82 { width: 82px; }
.covered83 { width: 83px; }
.covered84 { width: 84px; }
.covered85 { width: 85px; }
.covered86 { width: 86px; }
.covered87 { width: 87px; }
.covered88 { width: 88px; }
.covered89 { width: 89px; }
.covered90 { width: 90px; }
.covered91 { width: 91px; }
.covered92 { width: 92px; }
.covered93 { width: 93px; }
.covered94 { width: 94px; }
.covered95 { width: 95px; }
.covered96 { width: 96px; }
.covered97 { width: 97px; }
.covered98 { width: 98px; }
.covered99 { width: 99px; }
.covered100 { width: 100px; }
@media print {
html, body { background-color: #fff; }
.container { max-width: 100%; width: 100%; padding: 0; }
.overview colgroup col:first-child { width: 300px; }
}
.icon-up-dir_active {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDA3OEQ0IiBkPSJNMTQwOCAxMjE2cTAgMjYtMTkgNDV0LTQ1IDE5aC04OTZxLTI2IDAtNDUtMTl0LTE5LTQ1IDE5LTQ1bDQ0OC00NDhxMTktMTkgNDUtMTl0NDUgMTlsNDQ4IDQ0OHExOSAxOSAxOSA0NXoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-down-dir_active {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDA3OEQ0IiBkPSJNMTQwOCA3MDRxMCAyNi0xOSA0NWwtNDQ4IDQ0OHEtMTkgMTktNDUgMTl0LTQ1LTE5bC00NDgtNDQ4cS0xOS0xOS0xOS00NXQxOS00NSA0NS0xOWg4OTZxMjYgMCA0NSAxOXQxOSA0NXoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-down-dir {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-info-circled {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
}
.icon-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgd2lkdGg9IjE3OTIiIGhlaWdodD0iMTc5MiIgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTYwMCA3MzZ2MTkycTAgNDAtMjggNjh0LTY4IDI4aC0xMjE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoMTIxNnE0MCAwIDY4IDI4dDI4IDY4eiIvPjwvc3ZnPg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 15px;
height: 0.9em;
display: inline-block;
position: relative;
top: 3px;
}
.icon-wrench {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNNDQ4IDE0NzJxMC0yNi0xOS00NXQtNDUtMTktNDUgMTktMTkgNDUgMTkgNDUgNDUgMTkgNDUtMTkgMTktNDV6bTY0NC00MjBsLTY4MiA2ODJxLTM3IDM3LTkwIDM3LTUyIDAtOTEtMzdsLTEwNi0xMDhxLTM4LTM2LTM4LTkwIDAtNTMgMzgtOTFsNjgxLTY4MXEzOSA5OCAxMTQuNSAxNzMuNXQxNzMuNSAxMTQuNXptNjM0LTQzNXEwIDM5LTIzIDEwNi00NyAxMzQtMTY0LjUgMjE3LjV0LTI1OC41IDgzLjVxLTE4NSAwLTMxNi41LTEzMS41dC0xMzEuNS0zMTYuNSAxMzEuNS0zMTYuNSAzMTYuNS0xMzEuNXE1OCAwIDEyMS41IDE2LjV0MTA3LjUgNDYuNXExNiAxMSAxNiAyOHQtMTYgMjhsLTI5MyAxNjl2MjI0bDE5MyAxMDdxNS0zIDc5LTQ4LjV0MTM1LjUtODEgNzAuNS0zNS41cTE1IDAgMjMuNSAxMHQ4LjUgMjV6Ii8+DQo8L3N2Zz4NCg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-fork {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNNjcyIDE0NzJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTAtMTE1MnEwLTQwLTI4LTY4dC02OC0yOC02OCAyOC0yOCA2OCAyOCA2OCA2OCAyOCA2OC0yOCAyOC02OHptNjQwIDEyOHEwLTQwLTI4LTY4dC02OC0yOC02OCAyOC0yOCA2OCAyOCA2OCA2OCAyOCA2OC0yOCAyOC02OHptOTYgMHEwIDUyLTI2IDk2LjV0LTcwIDY5LjVxLTIgMjg3LTIyNiA0MTQtNjcgMzgtMjAzIDgxLTEyOCA0MC0xNjkuNSA3MXQtNDEuNSAxMDB2MjZxNDQgMjUgNzAgNjkuNXQyNiA5Ni41cTAgODAtNTYgMTM2dC0xMzYgNTYtMTM2LTU2LTU2LTEzNnEwLTUyIDI2LTk2LjV0NzAtNjkuNXYtODIwcS00NC0yNS03MC02OS41dC0yNi05Ni41cTAtODAgNTYtMTM2dDEzNi01NiAxMzYgNTYgNTYgMTM2cTAgNTItMjYgOTYuNXQtNzAgNjkuNXY0OTdxNTQtMjYgMTU0LTU3IDU1LTE3IDg3LjUtMjkuNXQ3MC41LTMxIDU5LTM5LjUgNDAuNS01MSAyOC02OS41IDguNS05MS41cS00NC0yNS03MC02OS41dC0yNi05Ni41cTAtODAgNTYtMTM2dDEzNi01NiAxMzYgNTYgNTYgMTM2eiIvPg0KPC9zdmc+DQo=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-cube {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIj4NCiAgICA8cGF0aCBkPSJNODk2IDE2MjlsNjQwLTM0OXYtNjM2bC02NDAgMjMzdjc1MnptLTY0LTg2NWw2OTgtMjU0LTY5OC0yNTQtNjk4IDI1NHptODMyLTI1MnY3NjhxMCAzNS0xOCA2NXQtNDkgNDdsLTcwNCAzODRxLTI4IDE2LTYxIDE2dC02MS0xNmwtNzA0LTM4NHEtMzEtMTctNDktNDd0LTE4LTY1di03NjhxMC00MCAyMy03M3Q2MS00N2w3MDQtMjU2cTIyLTggNDQtOHQ0NCA4bDcwNCAyNTZxMzggMTQgNjEgNDd0MjMgNzN6Ii8+DQo8L3N2Zz4NCg==);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-search-plus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-search-minus {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-star {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.icon-sponsor {
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=);
background-repeat: no-repeat;
background-size: contain;
padding-left: 20px;
height: 0.9em;
display: inline-block;
}
.ct-double-octave:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-grid-background,.ct-line{fill:none}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{content:"";display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}</style>
</head><body><div class="container"><div class="containerleft">
<h1>Summary<a class="button" href="https://github.com/danielpalme/ReportGenerator" title="Star on GitHub"><i class="icon-star"></i>Star</a><a class="button" href="https://github.com/sponsors/danielpalme" title="Become a sponsor"><i class="icon-sponsor"></i>Sponsor</a></h1>
<table class="overview table-fixed">
<colgroup>
<col class="column150" />
<col />
</colgroup>
<tbody>
<tr><th>Generated on:</th><td>14/01/2025 - 21:38:08</td></tr>
<tr><th>Parser:</th><td>CoberturaParser</td></tr>
<tr><th>Assemblies:</th><td>10</td></tr>
<tr><th>Classes:</th><td>205</td></tr>
<tr><th>Files:</th><td>222</td></tr>
<tr><th>Covered lines:</th><td>5264</td></tr>
<tr><th>Uncovered lines:</th><td>1483</td></tr>
<tr><th>Coverable lines:</th><td>6747</td></tr>
<tr><th>Total lines:</th><td>15531</td></tr>
<tr><th>Line coverage:</th><td>78% (5264 of 6747)</td></tr>
<tr><th>Covered branches:</th><td>667</td></tr>
<tr><th>Total branches:</th><td>1028</td></tr>
<tr><th>Branch coverage:</th><td>64.8% (667 of 1028)</td></tr>
</tbody>
</table>
<h1>Risk Hotspots</h1>
<risk-hotspots>
</risk-hotspots>
<p>No risk hotspots found.</p>
<h1>Coverage</h1>
<coverage-info>
<table class="overview table-fixed stripped">
<colgroup>
<col />
<col class="column90" />
<col class="column105" />
<col class="column100" />
<col class="column70" />
<col class="column60" />
<col class="column112" />
<col class="column90" />
<col class="column70" />
<col class="column60" />
<col class="column112" />
</colgroup>
<thead><tr><th>Name</th><th class="right">Covered</th><th class="right">Uncovered</th><th class="right">Coverable</th><th class="right">Total</th><th class="center" colspan="2">Line coverage</th><th class="right">Covered</th><th class="right">Total</th><th class="center" colspan="2">Branch coverage</th></tr></thead>
<tbody>
<tr><th>MachineLearning</th><th class="right">725</th><th class="right">58</th><th class="right">783</th><th class="right">1953</th><th title="LineCoverage: 725/783" class="right">92.5%</th><th><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></th><th class="right">217</th><th class="right">242</th><th class="right" title="217/242">89.6%</th><th><table class="coverage"><tr><td class="green covered90"> </td><td class="red covered10"> </td></tr></table></th></tr>
<tr><td><a href="MachineLearning_ArrayHelper.html">MachineLearning.ArrayHelper</a></td><td class="right">6</td><td class="right">16</td><td class="right">22</td><td class="right">49</td><td title="LineCoverage: 6/22" class="right">27.2%</td><td><table class="coverage"><tr><td class="green covered27"> </td><td class="red covered73"> </td></tr></table></td><td class="right">4</td><td class="right">12</td><td class="right" title="4/12">33.3%</td><td><table class="coverage"><tr><td class="green covered33"> </td><td class="red covered67"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseLearningConverter_4.html">MachineLearning.Converters.BaseLearningConverter`4</a></td><td class="right">15</td><td class="right">0</td><td class="right">15</td><td class="right">67</td><td title="LineCoverage: 15/15" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseSupervisedLearningConverter_4.html">MachineLearning.Converters.BaseSupervisedLearningConverter`4</a></td><td class="right">79</td><td class="right">0</td><td class="right">79</td><td class="right">181</td><td title="LineCoverage: 79/79" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">16</td><td class="right">16</td><td class="right" title="16/16">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseUnsupervisedLearningConverter_4.html">MachineLearning.Converters.BaseUnsupervisedLearningConverter`4</a></td><td class="right">67</td><td class="right">0</td><td class="right">67</td><td class="right">149</td><td title="LineCoverage: 67/67" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">12</td><td class="right">12</td><td class="right" title="12/12">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_DataProcessorResult_1.html">MachineLearning.DataProcessorResult`1</a></td><td class="right">8</td><td class="right">0</td><td class="right">8</td><td class="right">39</td><td title="LineCoverage: 8/8" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">4</td><td class="right">4</td><td class="right" title="4/4">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_CorrelationColumnProcessor.html">MachineLearning.DataProcessors.CorrelationColumnProcessor</a></td><td class="right">33</td><td class="right">0</td><td class="right">33</td><td class="right">59</td><td title="LineCoverage: 33/33" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">12</td><td class="right">12</td><td class="right" title="12/12">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_DuplicatesRowProcessor.html">MachineLearning.DataProcessors.DuplicatesRowProcessor</a></td><td class="right">29</td><td class="right">0</td><td class="right">29</td><td class="right">57</td><td title="LineCoverage: 29/29" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">8</td><td class="right">8</td><td class="right" title="8/8">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_InvalidValuesColumnProcessor.html">MachineLearning.DataProcessors.InvalidValuesColumnProcessor</a></td><td class="right">39</td><td class="right">0</td><td class="right">39</td><td class="right">83</td><td title="LineCoverage: 39/39" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">14</td><td class="right">14</td><td class="right" title="14/14">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_LowVariationColumnProcessor.html">MachineLearning.DataProcessors.LowVariationColumnProcessor</a></td><td class="right">23</td><td class="right">0</td><td class="right">23</td><td class="right">54</td><td title="LineCoverage: 23/23" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">6</td><td class="right">6</td><td class="right" title="6/6">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_OutlierRowProcessor.html">MachineLearning.DataProcessors.OutlierRowProcessor</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">41</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_EuclideanDistanceMetric.html">MachineLearning.DistanceMetrics.EuclideanDistanceMetric</a></td><td class="right">9</td><td class="right">0</td><td class="right">9</td><td class="right">26</td><td title="LineCoverage: 9/9" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseCrossValidationLearningEvaluator.html">MachineLearning.LearningEvaluators.BaseCrossValidationLearningEvaluator</a></td><td class="right">7</td><td class="right">7</td><td class="right">14</td><td class="right">54</td><td title="LineCoverage: 7/14" class="right">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseSupervisedCrossValidationEvaluator_2.html">MachineLearning.LearningEvaluators.BaseSupervisedCrossValidationEvaluator`2</a></td><td class="right">32</td><td class="right">5</td><td class="right">37</td><td class="right">103</td><td title="LineCoverage: 32/37" class="right">86.4%</td><td><table class="coverage"><tr><td class="green covered86"> </td><td class="red covered14"> </td></tr></table></td><td class="right">6</td><td class="right">8</td><td class="right" title="6/8">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_BaseUnsupervisedCrossValidationEvaluator_2.html">MachineLearning.LearningEvaluators.BaseUnsupervisedCrossValidationEvaluator`2</a></td><td class="right">28</td><td class="right">3</td><td class="right">31</td><td class="right">93</td><td title="LineCoverage: 28/31" class="right">90.3%</td><td><table class="coverage"><tr><td class="green covered90"> </td><td class="red covered10"> </td></tr></table></td><td class="right">5</td><td class="right">6</td><td class="right" title="5/6">83.3%</td><td><table class="coverage"><tr><td class="green covered83"> </td><td class="red covered17"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_ClassificationCrossValidationEvaluator.html">MachineLearning.LearningEvaluators.ClassificationCrossValidationEvaluator</a></td><td class="right">29</td><td class="right">0</td><td class="right">29</td><td class="right">58</td><td title="LineCoverage: 29/29" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_ClusteringCrossValidationEvaluator.html">MachineLearning.LearningEvaluators.ClusteringCrossValidationEvaluator</a></td><td class="right">14</td><td class="right">0</td><td class="right">14</td><td class="right">39</td><td title="LineCoverage: 14/14" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_RegressionCrossValidationEvaluator.html">MachineLearning.LearningEvaluators.RegressionCrossValidationEvaluator</a></td><td class="right">14</td><td class="right">0</td><td class="right">14</td><td class="right">39</td><td title="LineCoverage: 14/14" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_ValidationFold.html">MachineLearning.LearningEvaluators.ValidationFold</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">29</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_LearningHelper.html">MachineLearning.LearningHelper</a></td><td class="right">6</td><td class="right">6</td><td class="right">12</td><td class="right">43</td><td title="LineCoverage: 6/12" class="right">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td><td class="right">2</td><td class="right">4</td><td class="right" title="2/4">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_LearningModelData_2.html">MachineLearning.LearningModelData`2</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">31</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_KMeanLearningModel.html">MachineLearning.LearningModels.KMeanLearningModel</a></td><td class="right">13</td><td class="right">12</td><td class="right">25</td><td class="right">84</td><td title="LineCoverage: 13/25" class="right">52%</td><td><table class="coverage"><tr><td class="green covered52"> </td><td class="red covered48"> </td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_KNearestNeighborsModel.html">MachineLearning.LearningModels.KNearestNeighborsModel</a></td><td class="right">18</td><td class="right">7</td><td class="right">25</td><td class="right">88</td><td title="LineCoverage: 18/25" class="right">72%</td><td><table class="coverage"><tr><td class="green covered72"> </td><td class="red covered28"> </td></tr></table></td><td class="right">2</td><td class="right">4</td><td class="right" title="2/4">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_MetricAdapter.html">MachineLearning.LearningModels.MetricAdapter</a></td><td class="right">2</td><td class="right">0</td><td class="right">2</td><td class="right">24</td><td title="LineCoverage: 2/2" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_MultipleLinearRegressionModel.html">MachineLearning.LearningModels.MultipleLinearRegressionModel</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">33</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_MinMaxScaler.html">MachineLearning.Scalers.MinMaxScaler</a></td><td class="right">22</td><td class="right">0</td><td class="right">22</td><td class="right">52</td><td title="LineCoverage: 22/22" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">6</td><td class="right">6</td><td class="right" title="6/6">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_AccuracyScoreMetric.html">MachineLearning.ScoreMetrics.AccuracyScoreMetric</a></td><td class="right">13</td><td class="right">0</td><td class="right">13</td><td class="right">31</td><td title="LineCoverage: 13/13" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_AdjustedRandIndexScoreMetric.html">MachineLearning.ScoreMetrics.AdjustedRandIndexScoreMetric</a></td><td class="right">69</td><td class="right">0</td><td class="right">69</td><td class="right">114</td><td title="LineCoverage: 69/69" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">29</td><td class="right">30</td><td class="right" title="29/30">96.6%</td><td><table class="coverage"><tr><td class="green covered97"> </td><td class="red covered3"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_F1ScoreMetric.html">MachineLearning.ScoreMetrics.F1ScoreMetric</a></td><td class="right">32</td><td class="right">0</td><td class="right">32</td><td class="right">56</td><td title="LineCoverage: 32/32" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">20</td><td class="right">22</td><td class="right" title="20/22">90.9%</td><td><table class="coverage"><tr><td class="green covered91"> </td><td class="red covered9"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_RSquaredScoreMetric.html">MachineLearning.ScoreMetrics.RSquaredScoreMetric</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">32</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_SilhouetteScoreMetric.html">MachineLearning.ScoreMetrics.SilhouetteScoreMetric</a></td><td class="right">48</td><td class="right">2</td><td class="right">50</td><td class="right">104</td><td title="LineCoverage: 48/50" class="right">96%</td><td><table class="coverage"><tr><td class="green covered96"> </td><td class="red covered4"> </td></tr></table></td><td class="right">17</td><td class="right">18</td><td class="right" title="17/18">94.4%</td><td><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning_SmapeScoreMetric.html">MachineLearning.ScoreMetrics.SmapeScoreMetric</a></td><td class="right">22</td><td class="right">0</td><td class="right">22</td><td class="right">41</td><td title="LineCoverage: 22/22" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">14</td><td class="right">14</td><td class="right" title="14/14">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><th>MachineLearning.Tests</th><th class="right">844</th><th class="right">8</th><th class="right">852</th><th class="right">1552</th><th title="LineCoverage: 844/852" class="right">99%</th><th><table class="coverage"><tr><td class="green covered99"> </td><td class="red covered1"> </td></tr></table></th><th class="right">17</th><th class="right">18</th><th class="right" title="17/18">94.4%</th><th><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></th></tr>
<tr><td><a href="MachineLearning.Tests_AutoGeneratedProgram.html">AutoGeneratedProgram</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">4</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_BaseLearningConverterTests.html">MachineLearning.Tests.Converters.BaseLearningConverterTests</a></td><td class="right">22</td><td class="right">0</td><td class="right">22</td><td class="right">47</td><td title="LineCoverage: 22/22" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_BaseSupervisedLearningConverterTests.html">MachineLearning.Tests.Converters.BaseSupervisedLearningConverterTests</a></td><td class="right">44</td><td class="right">0</td><td class="right">44</td><td class="right">74</td><td title="LineCoverage: 44/44" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_BaseUnsupervisedLearningConverterTests.html">MachineLearning.Tests.Converters.BaseUnsupervisedLearningConverterTests</a></td><td class="right">40</td><td class="right">0</td><td class="right">40</td><td class="right">70</td><td title="LineCoverage: 40/40" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_LearningConverterPrototype.html">MachineLearning.Tests.Converters.LearningConverterPrototype</a></td><td class="right">5</td><td class="right">4</td><td class="right">9</td><td class="right">33</td><td title="LineCoverage: 5/9" class="right">55.5%</td><td><table class="coverage"><tr><td class="green covered56"> </td><td class="red covered44"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_SupervisedLearningConverterPrototype.html">MachineLearning.Tests.Converters.SupervisedLearningConverterPrototype</a></td><td class="right">12</td><td class="right">1</td><td class="right">13</td><td class="right">39</td><td title="LineCoverage: 12/13" class="right">92.3%</td><td><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_UnsupervisedLearningConverterPrototype.html">MachineLearning.Tests.Converters.UnsupervisedLearningConverterPrototype</a></td><td class="right">11</td><td class="right">1</td><td class="right">12</td><td class="right">37</td><td title="LineCoverage: 11/12" class="right">91.6%</td><td><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_CorrelationColumnProcessorTests.html">MachineLearning.Tests.DataProcessors.CorrelationColumnProcessorTests</a></td><td class="right">28</td><td class="right">0</td><td class="right">28</td><td class="right">47</td><td title="LineCoverage: 28/28" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_DuplicatesRowProcessorTests.html">MachineLearning.Tests.DataProcessors.DuplicatesRowProcessorTests</a></td><td class="right">27</td><td class="right">0</td><td class="right">27</td><td class="right">46</td><td title="LineCoverage: 27/27" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_InvalidValuesColumnProcessorTests.html">MachineLearning.Tests.DataProcessors.InvalidValuesColumnProcessorTests</a></td><td class="right">44</td><td class="right">0</td><td class="right">44</td><td class="right">70</td><td title="LineCoverage: 44/44" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_LowVariationColumnProcessorTests.html">MachineLearning.Tests.DataProcessors.LowVariationColumnProcessorTests</a></td><td class="right">32</td><td class="right">0</td><td class="right">32</td><td class="right">51</td><td title="LineCoverage: 32/32" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_OutlierRowProcessorTests.html">MachineLearning.Tests.DataProcessors.OutlierRowProcessorTests</a></td><td class="right">32</td><td class="right">0</td><td class="right">32</td><td class="right">51</td><td title="LineCoverage: 32/32" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_EuclideanDistanceMetricTests.html">MachineLearning.Tests.DistanceMetrics.EuclideanDistanceMetricTests</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">43</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_ClassificationCrossValidationEvaluatorPrototype.html">MachineLearning.Tests.LearningEvaluators.ClassificationCrossValidationEvaluatorPrototype</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">12</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_ClassificationCrossValidationEvaluatorTests.html">MachineLearning.Tests.LearningEvaluators.ClassificationCrossValidationEvaluatorTests</a></td><td class="right">71</td><td class="right">0</td><td class="right">71</td><td class="right">107</td><td title="LineCoverage: 71/71" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_ClusteringCrossValidationEvaluatorPrototype.html">MachineLearning.Tests.LearningEvaluators.ClusteringCrossValidationEvaluatorPrototype</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">11</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_ClusteringCrossValidationEvaluatorTests.html">MachineLearning.Tests.LearningEvaluators.ClusteringCrossValidationEvaluatorTests</a></td><td class="right">86</td><td class="right">0</td><td class="right">86</td><td class="right">122</td><td title="LineCoverage: 86/86" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_RegressionCrossValidationEvaluatorPrototype.html">MachineLearning.Tests.LearningEvaluators.RegressionCrossValidationEvaluatorPrototype</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">12</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_RegressionCrossValidationEvaluatorTests.html">MachineLearning.Tests.LearningEvaluators.RegressionCrossValidationEvaluatorTests</a></td><td class="right">68</td><td class="right">0</td><td class="right">68</td><td class="right">104</td><td title="LineCoverage: 68/68" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_ValidationFoldComparer.html">MachineLearning.Tests.LearningEvaluators.ValidationFoldComparer</a></td><td class="right">2</td><td class="right">1</td><td class="right">3</td><td class="right">16</td><td title="LineCoverage: 2/3" class="right">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_KMeanLearningModelTests.html">MachineLearning.Tests.LearningModels.KMeanLearningModelTests</a></td><td class="right">26</td><td class="right">0</td><td class="right">26</td><td class="right">48</td><td title="LineCoverage: 26/26" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_KNearestNeighborsModelTests.html">MachineLearning.Tests.LearningModels.KNearestNeighborsModelTests</a></td><td class="right">24</td><td class="right">0</td><td class="right">24</td><td class="right">43</td><td title="LineCoverage: 24/24" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_MultipleLinearRegressionModelTests.html">MachineLearning.Tests.LearningModels.MultipleLinearRegressionModelTests</a></td><td class="right">24</td><td class="right">0</td><td class="right">24</td><td class="right">44</td><td title="LineCoverage: 24/24" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_MinMaxScalerTests.html">MachineLearning.Tests.Scalers.MinMaxScalerTests</a></td><td class="right">35</td><td class="right">0</td><td class="right">35</td><td class="right">71</td><td title="LineCoverage: 35/35" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_AccuracyScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.AccuracyScoreMetricTests</a></td><td class="right">28</td><td class="right">0</td><td class="right">28</td><td class="right">53</td><td title="LineCoverage: 28/28" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_AdjustedRandIndexScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.AdjustedRandIndexScoreMetricTests</a></td><td class="right">37</td><td class="right">0</td><td class="right">37</td><td class="right">70</td><td title="LineCoverage: 37/37" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_F1ScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.F1ScoreMetricTests</a></td><td class="right">30</td><td class="right">0</td><td class="right">30</td><td class="right">55</td><td title="LineCoverage: 30/30" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_RSquaredScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.RSquaredScoreMetricTests</a></td><td class="right">30</td><td class="right">0</td><td class="right">30</td><td class="right">55</td><td title="LineCoverage: 30/30" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_SilhouetteScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.SilhouetteScoreMetricTests</a></td><td class="right">36</td><td class="right">0</td><td class="right">36</td><td class="right">62</td><td title="LineCoverage: 36/36" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="MachineLearning.Tests_SmapeScoreMetricTests.html">MachineLearning.Tests.ScoreMetrics.SmapeScoreMetricTests</a></td><td class="right">30</td><td class="right">0</td><td class="right">30</td><td class="right">55</td><td title="LineCoverage: 30/30" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><th>Model</th><th class="right">136</th><th class="right">53</th><th class="right">189</th><th class="right">555</th><th title="LineCoverage: 136/189" class="right">71.9%</th><th><table class="coverage"><tr><td class="green covered72"> </td><td class="red covered28"> </td></tr></table></th><th class="right">48</th><th class="right">70</th><th class="right" title="48/70">68.5%</th><th><table class="coverage"><tr><td class="green covered68"> </td><td class="red covered32"> </td></tr></table></th></tr>
<tr><td><a href="Model_TaskHelper.html">Model.TaskHelper</a></td><td class="right">27</td><td class="right">1</td><td class="right">28</td><td class="right">89</td><td title="LineCoverage: 27/28" class="right">96.4%</td><td><table class="coverage"><tr><td class="green covered96"> </td><td class="red covered4"> </td></tr></table></td><td class="right">19</td><td class="right">22</td><td class="right" title="19/22">86.3%</td><td><table class="coverage"><tr><td class="green covered86"> </td><td class="red covered14"> </td></tr></table></td></tr>
<tr><td><a href="Model_TaskComposite.html">Model.Tasks.TaskComposite</a></td><td class="right">32</td><td class="right">33</td><td class="right">65</td><td class="right">141</td><td title="LineCoverage: 32/65" class="right">49.2%</td><td><table class="coverage"><tr><td class="green covered49"> </td><td class="red covered51"> </td></tr></table></td><td class="right">11</td><td class="right">28</td><td class="right" title="11/28">39.2%</td><td><table class="coverage"><tr><td class="green covered39"> </td><td class="red covered61"> </td></tr></table></td></tr>
<tr><td><a href="Model_TaskElement.html">Model.Tasks.TaskElement</a></td><td class="right">25</td><td class="right">19</td><td class="right">44</td><td class="right">179</td><td title="LineCoverage: 25/44" class="right">56.8%</td><td><table class="coverage"><tr><td class="green covered57"> </td><td class="red covered43"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model_TimeIntervalElement.html">Model.Times.TimeIntervalElement</a></td><td class="right">26</td><td class="right">0</td><td class="right">26</td><td class="right">81</td><td title="LineCoverage: 26/26" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model_TimeIntervalList.html">Model.Times.TimeIntervalList</a></td><td class="right">26</td><td class="right">0</td><td class="right">26</td><td class="right">65</td><td title="LineCoverage: 26/26" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">8</td><td class="right">8</td><td class="right" title="8/8">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><th>Model.Tests</th><th class="right">204</th><th class="right">4</th><th class="right">208</th><th class="right">372</th><th title="LineCoverage: 204/208" class="right">98%</th><th><table class="coverage"><tr><td class="green covered98"> </td><td class="red covered2"> </td></tr></table></th><th class="right">2</th><th class="right">2</th><th class="right" title="2/2">100%</th><th><table class="coverage"><tr><td class="green covered100"> </td></tr></table></th></tr>
<tr><td><a href="Model.Tests_AutoGeneratedProgram.html">AutoGeneratedProgram</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">4</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model.Tests_TaskHelperTests.html">Model.Tests.TaskHelperTests</a></td><td class="right">111</td><td class="right">0</td><td class="right">111</td><td class="right">162</td><td title="LineCoverage: 111/111" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model.Tests_TaskCompositeTests.html">Model.Tests.Tasks.TaskCompositeTests</a></td><td class="right">67</td><td class="right">0</td><td class="right">67</td><td class="right">123</td><td title="LineCoverage: 67/67" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model.Tests_TaskElementTests.html">Model.Tests.Tasks.TaskElementTests</a></td><td class="right">0</td><td class="right">3</td><td class="right">3</td><td class="right">17</td><td title="LineCoverage: 0/3" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model.Tests_TimeIntervalElementTests.html">Model.Tests.Times.TimeIntervalElementTests</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">32</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="Model.Tests_TimeIntervalListTests.html">Model.Tests.Times.TimeIntervalListTests</a></td><td class="right">14</td><td class="right">0</td><td class="right">14</td><td class="right">34</td><td title="LineCoverage: 14/14" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><th>TrackableFeatures</th><th class="right">151</th><th class="right">33</th><th class="right">184</th><th class="right">443</th><th title="LineCoverage: 151/184" class="right">82%</th><th><table class="coverage"><tr><td class="green covered82"> </td><td class="red covered18"> </td></tr></table></th><th class="right">46</th><th class="right">58</th><th class="right" title="46/58">79.3%</th><th><table class="coverage"><tr><td class="green covered79"> </td><td class="red covered21"> </td></tr></table></th></tr>
<tr><td><a href="TrackableFeatures_TrackableCollection_1.html">TrackableFeatures.TrackableCollection`1</a></td><td class="right">89</td><td class="right">21</td><td class="right">110</td><td class="right">279</td><td title="LineCoverage: 89/110" class="right">80.9%</td><td><table class="coverage"><tr><td class="green covered81"> </td><td class="red covered19"> </td></tr></table></td><td class="right">12</td><td class="right">14</td><td class="right" title="12/14">85.7%</td><td><table class="coverage"><tr><td class="green covered86"> </td><td class="red covered14"> </td></tr></table></td></tr>
<tr><td><a href="TrackableFeatures_TrackableObject.html">TrackableFeatures.TrackableObject</a></td><td class="right">62</td><td class="right">12</td><td class="right">74</td><td class="right">164</td><td title="LineCoverage: 62/74" class="right">83.7%</td><td><table class="coverage"><tr><td class="green covered84"> </td><td class="red covered16"> </td></tr></table></td><td class="right">34</td><td class="right">44</td><td class="right" title="34/44">77.2%</td><td><table class="coverage"><tr><td class="green covered77"> </td><td class="red covered23"> </td></tr></table></td></tr>
<tr><th>TrackableFeatures.Tests</th><th class="right">266</th><th class="right">11</th><th class="right">277</th><th class="right">454</th><th title="LineCoverage: 266/277" class="right">96%</th><th><table class="coverage"><tr><td class="green covered96"> </td><td class="red covered4"> </td></tr></table></th><th class="right">41</th><th class="right">60</th><th class="right" title="41/60">68.3%</th><th><table class="coverage"><tr><td class="green covered68"> </td><td class="red covered32"> </td></tr></table></th></tr>
<tr><td><a href="TrackableFeatures.Tests_AutoGeneratedProgram.html">AutoGeneratedProgram</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">4</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="TrackableFeatures.Tests_TrackableCollectionPrototype.html">TrackableFeatures.Tests.TrackableCollectionPrototype</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">28</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="TrackableFeatures.Tests_TrackableCollectionTests.html">TrackableFeatures.Tests.TrackableCollectionTests</a></td><td class="right">145</td><td class="right">0</td><td class="right">145</td><td class="right">219</td><td title="LineCoverage: 145/145" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">29</td><td class="right">44</td><td class="right" title="29/44">65.9%</td><td><table class="coverage"><tr><td class="green covered66"> </td><td class="red covered34"> </td></tr></table></td></tr>
<tr><td><a href="TrackableFeatures.Tests_TrackableObjectPrototype.html">TrackableFeatures.Tests.TrackableObjectPrototype</a></td><td class="right">20</td><td class="right">0</td><td class="right">20</td><td class="right">38</td><td title="LineCoverage: 20/20" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">6</td><td class="right">6</td><td class="right" title="6/6">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="TrackableFeatures.Tests_TrackableObjectTests.html">TrackableFeatures.Tests.TrackableObjectTests</a></td><td class="right">89</td><td class="right">10</td><td class="right">99</td><td class="right">165</td><td title="LineCoverage: 89/99" class="right">89.8%</td><td><table class="coverage"><tr><td class="green covered90"> </td><td class="red covered10"> </td></tr></table></td><td class="right">4</td><td class="right">8</td><td class="right" title="4/8">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><th>View</th><th class="right">0</th><th class="right">1035</th><th class="right">1035</th><th class="right">2292</th><th title="LineCoverage: 0/1035" class="right">0%</th><th><table class="coverage"><tr><td class="red covered100"> </td></tr></table></th><th class="right">0</th><th class="right">134</th><th class="right" title="0/134">0%</th><th><table class="coverage"><tr><td class="red covered100"> </td></tr></table></th></tr>
<tr><td><a href="View__AvaloniaResources.html">CompiledAvaloniaXaml.!AvaloniaResources</a></td><td class="right">0</td><td class="right">427</td><td class="right">427</td><td class="right">585</td><td title="LineCoverage: 0/427" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">24</td><td class="right" title="0/24">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_App.html">View.App</a></td><td class="right">0</td><td class="right">29</td><td class="right">29</td><td class="right">77</td><td title="LineCoverage: 0/29" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">8</td><td class="right" title="0/8">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_DateTimePicker.html">View.Controls.DateTimePicker</a></td><td class="right">0</td><td class="right">36</td><td class="right">36</td><td class="right">90</td><td title="LineCoverage: 0/36" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">8</td><td class="right" title="0/8">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_FormattableToStringConverter.html">View.Converters.FormattableToStringConverter</a></td><td class="right">0</td><td class="right">6</td><td class="right">6</td><td class="right">28</td><td title="LineCoverage: 0/6" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_StatisticElementsToColumnSeriesConverter.html">View.Converters.StatisticElementsToColumnSeriesConverter</a></td><td class="right">0</td><td class="right">10</td><td class="right">10</td><td class="right">38</td><td title="LineCoverage: 0/10" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_StatisticElementsToPieSeriesConverter.html">View.Converters.StatisticElementsToPieSeriesConverter</a></td><td class="right">0</td><td class="right">10</td><td class="right">10</td><td class="right">38</td><td title="LineCoverage: 0/10" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_TagsToStringConverter.html">View.Converters.TagsToStringConverter</a></td><td class="right">0</td><td class="right">10</td><td class="right">10</td><td class="right">37</td><td title="LineCoverage: 0/10" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_PageDataTemplate.html">View.DataTemplates.PageDataTemplate</a></td><td class="right">0</td><td class="right">17</td><td class="right">17</td><td class="right">50</td><td title="LineCoverage: 0/17" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">8</td><td class="right" title="0/8">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_TaskDataTemplate.html">View.DataTemplates.TaskDataTemplate</a></td><td class="right">0</td><td class="right">31</td><td class="right">31</td><td class="right">74</td><td title="LineCoverage: 0/31" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">26</td><td class="right" title="0/26">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_DesignExtension.html">View.Extensions.DesignExtension</a></td><td class="right">0</td><td class="right">9</td><td class="right">9</td><td class="right">50</td><td title="LineCoverage: 0/9" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">6</td><td class="right" title="0/6">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_EnumsExtension.html">View.Extensions.EnumsExtension</a></td><td class="right">0</td><td class="right">8</td><td class="right">8</td><td class="right">39</td><td title="LineCoverage: 0/8" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_AvaloniaLocalizationManager.html">View.Implementations.AvaloniaLocalizationManager</a></td><td class="right">0</td><td class="right">29</td><td class="right">29</td><td class="right">85</td><td title="LineCoverage: 0/29" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">6</td><td class="right" title="0/6">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_AvaloniaResourceService.html">View.Implementations.AvaloniaResourceService</a></td><td class="right">0</td><td class="right">13</td><td class="right">13</td><td class="right">49</td><td title="LineCoverage: 0/13" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_AvaloniaThemeManager.html">View.Implementations.AvaloniaThemeManager</a></td><td class="right">0</td><td class="right">14</td><td class="right">14</td><td class="right">63</td><td title="LineCoverage: 0/14" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_PageMetadata.html">View.Technilcals.PageMetadata</a></td><td class="right">0</td><td class="right">2</td><td class="right">2</td><td class="right">18</td><td title="LineCoverage: 0/2" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_ViewContainerHelper.html">View.Technilcals.ViewContainerHelper</a></td><td class="right">0</td><td class="right">46</td><td class="right">46</td><td class="right">103</td><td title="LineCoverage: 0/46" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_MainView.html">View.Views.MainView</a></td><td class="right">0</td><td class="right">64</td><td class="right">64</td><td class="right">163</td><td title="LineCoverage: 0/64" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">6</td><td class="right" title="0/6">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_MainWindow.html">View.Views.MainWindow</a></td><td class="right">0</td><td class="right">8</td><td class="right">8</td><td class="right">31</td><td title="LineCoverage: 0/8" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_AddTaskView.html">View.Views.Modals.AddTaskView</a></td><td class="right">0</td><td class="right">13</td><td class="right">13</td><td class="right">43</td><td title="LineCoverage: 0/13" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_AddTimeIntervalView.html">View.Views.Modals.AddTimeIntervalView</a></td><td class="right">0</td><td class="right">22</td><td class="right">22</td><td class="right">54</td><td title="LineCoverage: 0/22" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_CopyTasksView.html">View.Views.Modals.CopyTasksView</a></td><td class="right">0</td><td class="right">22</td><td class="right">22</td><td class="right">54</td><td title="LineCoverage: 0/22" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_EditTaskView.html">View.Views.Modals.EditTaskView</a></td><td class="right">0</td><td class="right">13</td><td class="right">13</td><td class="right">43</td><td title="LineCoverage: 0/13" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_EditTimeIntervalView.html">View.Views.Modals.EditTimeIntervalView</a></td><td class="right">0</td><td class="right">14</td><td class="right">14</td><td class="right">45</td><td title="LineCoverage: 0/14" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_MoveTasksView.html">View.Views.Modals.MoveTasksView</a></td><td class="right">0</td><td class="right">19</td><td class="right">19</td><td class="right">50</td><td title="LineCoverage: 0/19" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_RemoveTasksView.html">View.Views.Modals.RemoveTasksView</a></td><td class="right">0</td><td class="right">14</td><td class="right">14</td><td class="right">44</td><td title="LineCoverage: 0/14" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_EditorView.html">View.Views.Pages.EditorView</a></td><td class="right">0</td><td class="right">32</td><td class="right">32</td><td class="right">67</td><td title="LineCoverage: 0/32" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_SettingsView.html">View.Views.Pages.SettingsView</a></td><td class="right">0</td><td class="right">8</td><td class="right">8</td><td class="right">37</td><td title="LineCoverage: 0/8" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_StatisticView.html">View.Views.Pages.StatisticView</a></td><td class="right">0</td><td class="right">29</td><td class="right">29</td><td class="right">75</td><td title="LineCoverage: 0/29" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_TimeView.html">View.Views.Pages.TimeView</a></td><td class="right">0</td><td class="right">47</td><td class="right">47</td><td class="right">94</td><td title="LineCoverage: 0/47" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="View_ToDoListView.html">View.Views.Pages.ToDoListView</a></td><td class="right">0</td><td class="right">33</td><td class="right">33</td><td class="right">68</td><td title="LineCoverage: 0/33" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><th>View.Tests</th><th class="right">4</th><th class="right">2</th><th class="right">6</th><th class="right">20</th><th title="LineCoverage: 4/6" class="right">66.6%</th><th><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></th><th class="right">0</th><th class="right">0</th><th class="right" title="-"></th><th><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></th></tr>
<tr><td><a href="View.Tests_AutoGeneratedProgram.html">AutoGeneratedProgram</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">4</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="View.Tests_Tests.html">View.Tests.Tests</a></td><td class="right">4</td><td class="right">1</td><td class="right">5</td><td class="right">16</td><td title="LineCoverage: 4/5" class="right">80%</td><td><table class="coverage"><tr><td class="green covered80"> </td><td class="red covered20"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><th>ViewModel</th><th class="right">1592</th><th class="right">276</th><th class="right">1868</th><th class="right">5712</th><th title="LineCoverage: 1592/1868" class="right">85.2%</th><th><table class="coverage"><tr><td class="green covered85"> </td><td class="red covered15"> </td></tr></table></th><th class="right">216</th><th class="right">354</th><th class="right" title="216/354">61%</th><th><table class="coverage"><tr><td class="green covered61"> </td><td class="red covered39"> </td></tr></table></th></tr>
<tr><td><a href="ViewModel_FileLogger.html">ViewModel.Implementations.AppStates.FileLogger</a></td><td class="right">24</td><td class="right">0</td><td class="right">24</td><td class="right">63</td><td title="LineCoverage: 24/24" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_FileService.html">ViewModel.Implementations.AppStates.FileService</a></td><td class="right">11</td><td class="right">0</td><td class="right">11</td><td class="right">45</td><td title="LineCoverage: 11/11" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_JsonSerializer.html">ViewModel.Implementations.AppStates.JsonSerializer</a></td><td class="right">14</td><td class="right">0</td><td class="right">14</td><td class="right">40</td><td title="LineCoverage: 14/14" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BaseDbContext.html">ViewModel.Implementations.AppStates.Sessions.Database.DbContexts.BaseDbContext</a></td><td class="right">18</td><td class="right">0</td><td class="right">18</td><td class="right">74</td><td title="LineCoverage: 18/18" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_DbContextFactory.html">ViewModel.Implementations.AppStates.Sessions.Database.DbContexts.DbContextFactory</a></td><td class="right">2</td><td class="right">0</td><td class="right">2</td><td class="right">17</td><td title="LineCoverage: 2/2" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_SqliteDbContext.html">ViewModel.Implementations.AppStates.Sessions.Database.DbContexts.SqliteDbContext</a></td><td class="right">5</td><td class="right">0</td><td class="right">5</td><td class="right">26</td><td title="LineCoverage: 5/5" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskCompositeDomain.html">ViewModel.Implementations.AppStates.Sessions.Database.Domains.TaskCompositeDomain</a></td><td class="right">3</td><td class="right">22</td><td class="right">25</td><td class="right">60</td><td title="LineCoverage: 3/25" class="right">12%</td><td><table class="coverage"><tr><td class="green covered12"> </td><td class="red covered88"> </td></tr></table></td><td class="right">0</td><td class="right">6</td><td class="right" title="0/6">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementDomain.html">ViewModel.Implementations.AppStates.Sessions.Database.Domains.TaskElementDomain</a></td><td class="right">2</td><td class="right">24</td><td class="right">26</td><td class="right">51</td><td title="LineCoverage: 2/26" class="right">7.6%</td><td><table class="coverage"><tr><td class="green covered8"> </td><td class="red covered92"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalElementDomain.html">ViewModel.Implementations.AppStates.Sessions.Database.Domains.TimeIntervalElementDomain</a></td><td class="right">4</td><td class="right">1</td><td class="right">5</td><td class="right">38</td><td title="LineCoverage: 4/5" class="right">80%</td><td><table class="coverage"><tr><td class="green covered80"> </td><td class="red covered20"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MetadataEntity.html">ViewModel.Implementations.AppStates.Sessions.Database.Entities.MetadataEntity</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">46</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskCompositeEntity.html">ViewModel.Implementations.AppStates.Sessions.Database.Entities.TaskCompositeEntity</a></td><td class="right">3</td><td class="right">0</td><td class="right">3</td><td class="right">29</td><td title="LineCoverage: 3/3" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementEntity.html">ViewModel.Implementations.AppStates.Sessions.Database.Entities.TaskElementEntity</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">76</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskEntity.html">ViewModel.Implementations.AppStates.Sessions.Database.Entities.TaskEntity</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">44</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalEntity.html">ViewModel.Implementations.AppStates.Sessions.Database.Entities.TimeIntervalEntity</a></td><td class="right">5</td><td class="right">0</td><td class="right">5</td><td class="right">39</td><td title="LineCoverage: 5/5" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MetadataMapper.html">ViewModel.Implementations.AppStates.Sessions.Database.Mappers.MetadataMapper</a></td><td class="right">23</td><td class="right">3</td><td class="right">26</td><td class="right">48</td><td title="LineCoverage: 23/26" class="right">88.4%</td><td><table class="coverage"><tr><td class="green covered88"> </td><td class="red covered12"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskCompositeMapper.html">ViewModel.Implementations.AppStates.Sessions.Database.Mappers.TaskCompositeMapper</a></td><td class="right">42</td><td class="right">14</td><td class="right">56</td><td class="right">107</td><td title="LineCoverage: 42/56" class="right">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td><td class="right">10</td><td class="right">18</td><td class="right" title="10/18">55.5%</td><td><table class="coverage"><tr><td class="green covered56"> </td><td class="red covered44"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementMapper.html">ViewModel.Implementations.AppStates.Sessions.Database.Mappers.TaskElementMapper</a></td><td class="right">48</td><td class="right">4</td><td class="right">52</td><td class="right">98</td><td title="LineCoverage: 48/52" class="right">92.3%</td><td><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></td><td class="right">6</td><td class="right">8</td><td class="right" title="6/8">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskMapper.html">ViewModel.Implementations.AppStates.Sessions.Database.Mappers.TaskMapper</a></td><td class="right">24</td><td class="right">2</td><td class="right">26</td><td class="right">72</td><td title="LineCoverage: 24/26" class="right">92.3%</td><td><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></td><td class="right">6</td><td class="right">8</td><td class="right" title="6/8">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalMapper.html">ViewModel.Implementations.AppStates.Sessions.Database.Mappers.TimeIntervalMapper</a></td><td class="right">11</td><td class="right">2</td><td class="right">13</td><td class="right">36</td><td title="LineCoverage: 11/13" class="right">84.6%</td><td><table class="coverage"><tr><td class="green covered85"> </td><td class="red covered15"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_DbSession.html">ViewModel.Implementations.AppStates.Sessions.DbSession</a></td><td class="right">108</td><td class="right">12</td><td class="right">120</td><td class="right">238</td><td title="LineCoverage: 108/120" class="right">90%</td><td><table class="coverage"><tr><td class="green covered90"> </td><td class="red covered10"> </td></tr></table></td><td class="right">29</td><td class="right">40</td><td class="right" title="29/40">72.5%</td><td><table class="coverage"><tr><td class="green covered72"> </td><td class="red covered28"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_AppConfigurationFormat.html">ViewModel.Implementations.AppStates.Settings.AppConfigurationFormat</a></td><td class="right">3</td><td class="right">0</td><td class="right">3</td><td class="right">25</td><td title="LineCoverage: 3/3" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_AppSettings.html">ViewModel.Implementations.AppStates.Settings.AppSettings</a></td><td class="right">71</td><td class="right">22</td><td class="right">93</td><td class="right">203</td><td title="LineCoverage: 71/93" class="right">76.3%</td><td><table class="coverage"><tr><td class="green covered76"> </td><td class="red covered24"> </td></tr></table></td><td class="right">11</td><td class="right">18</td><td class="right" title="11/18">61.1%</td><td><table class="coverage"><tr><td class="green covered61"> </td><td class="red covered39"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeScheduler.html">ViewModel.Implementations.AppStates.TimeScheduler</a></td><td class="right">59</td><td class="right">0</td><td class="right">59</td><td class="right">126</td><td title="LineCoverage: 59/59" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">17</td><td class="right">18</td><td class="right" title="17/18">94.4%</td><td><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementsEditorProxy.html">ViewModel.Implementations.DataManagers.Editors.TaskElementsEditorProxy</a></td><td class="right">48</td><td class="right">1</td><td class="right">49</td><td class="right">110</td><td title="LineCoverage: 48/49" class="right">97.9%</td><td><table class="coverage"><tr><td class="green covered98"> </td><td class="red covered2"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TasksEditorProxy.html">ViewModel.Implementations.DataManagers.Editors.TasksEditorProxy</a></td><td class="right">32</td><td class="right">0</td><td class="right">32</td><td class="right">86</td><td title="LineCoverage: 32/32" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalElementsEditorProxy.html">ViewModel.Implementations.DataManagers.Editors.TimeIntervalElementsEditorProxy</a></td><td class="right">28</td><td class="right">5</td><td class="right">33</td><td class="right">100</td><td title="LineCoverage: 28/33" class="right">84.8%</td><td><table class="coverage"><tr><td class="green covered85"> </td><td class="red covered15"> </td></tr></table></td><td class="right">4</td><td class="right">6</td><td class="right" title="4/6">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskCompositeFactory.html">ViewModel.Implementations.DataManagers.Factories.TaskCompositeFactory</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">46</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementCreatorProxyFactory.html">ViewModel.Implementations.DataManagers.Factories.TaskElementCreatorProxyFactory</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">66</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementFactory.html">ViewModel.Implementations.DataManagers.Factories.TaskElementFactory</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">46</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskMetadataFactory.html">ViewModel.Implementations.DataManagers.Factories.TaskMetadataFactory</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">17</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalElementFactory.html">ViewModel.Implementations.DataManagers.Factories.TimeIntervalElementFactory</a></td><td class="right">4</td><td class="right">0</td><td class="right">4</td><td class="right">23</td><td title="LineCoverage: 4/4" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskElementCreatorProxy.html">ViewModel.Implementations.DataManagers.TaskElementCreatorProxy</a></td><td class="right">45</td><td class="right">29</td><td class="right">74</td><td class="right">231</td><td title="LineCoverage: 45/74" class="right">60.8%</td><td><table class="coverage"><tr><td class="green covered61"> </td><td class="red covered39"> </td></tr></table></td><td class="right">6</td><td class="right">6</td><td class="right" title="6/6">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MockAppLifeState.html">ViewModel.Implementations.Mocks.MockAppLifeState</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">21</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MockLocalizationManager.html">ViewModel.Implementations.Mocks.MockLocalizationManager</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">34</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MockNotificationManager.html">ViewModel.Implementations.Mocks.MockNotificationManager</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">22</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MockResourceService.html">ViewModel.Implementations.Mocks.MockResourceService</a></td><td class="right">8</td><td class="right">0</td><td class="right">8</td><td class="right">31</td><td title="LineCoverage: 8/8" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MockThemeManager.html">ViewModel.Implementations.Mocks.MockThemeManager</a></td><td class="right">6</td><td class="right">0</td><td class="right">6</td><td class="right">32</td><td title="LineCoverage: 6/6" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_NotificationEventArgs.html">ViewModel.Implementations.Mocks.NotificationEventArgs</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">32</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BaseSupervisedEvaluatorLearningController_5.html">ViewModel.Implementations.ModelLearning.BaseSupervisedEvaluatorLearningController`5</a></td><td class="right">33</td><td class="right">2</td><td class="right">35</td><td class="right">96</td><td title="LineCoverage: 33/35" class="right">94.2%</td><td><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></td><td class="right">4</td><td class="right">6</td><td class="right" title="4/6">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BaseTaskElementSupervisedLearningConverter_2.html">ViewModel.Implementations.ModelLearning.Converters.BaseTaskElementSupervisedLearningConverter`2</a></td><td class="right">28</td><td class="right">0</td><td class="right">28</td><td class="right">104</td><td title="LineCoverage: 28/28" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">4</td><td class="right">6</td><td class="right" title="4/6">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_DeadlineTaskElementLearningConverter.html">ViewModel.Implementations.ModelLearning.Converters.DeadlineTaskElementLearningConverter</a></td><td class="right">9</td><td class="right">0</td><td class="right">9</td><td class="right">57</td><td title="LineCoverage: 9/9" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">4</td><td class="right" title="2/4">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ExecutionChanceTaskElementLearningConverter.html">ViewModel.Implementations.ModelLearning.Converters.ExecutionChanceTaskElementLearningConverter</a></td><td class="right">29</td><td class="right">2</td><td class="right">31</td><td class="right">88</td><td title="LineCoverage: 29/31" class="right">93.5%</td><td><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></td><td class="right">9</td><td class="right">16</td><td class="right" title="9/16">56.2%</td><td><table class="coverage"><tr><td class="green covered56"> </td><td class="red covered44"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MetadataCategoriesTransformer.html">ViewModel.Implementations.ModelLearning.Converters.MetadataCategoriesTransformer</a></td><td class="right">16</td><td class="right">4</td><td class="right">20</td><td class="right">44</td><td title="LineCoverage: 16/20" class="right">80%</td><td><table class="coverage"><tr><td class="green covered80"> </td><td class="red covered20"> </td></tr></table></td><td class="right">5</td><td class="right">8</td><td class="right" title="5/8">62.5%</td><td><table class="coverage"><tr><td class="green covered62"> </td><td class="red covered38"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MetadataTagsTransformer.html">ViewModel.Implementations.ModelLearning.Converters.MetadataTagsTransformer</a></td><td class="right">13</td><td class="right">10</td><td class="right">23</td><td class="right">47</td><td title="LineCoverage: 13/23" class="right">56.5%</td><td><table class="coverage"><tr><td class="green covered56"> </td><td class="red covered44"> </td></tr></table></td><td class="right">5</td><td class="right">12</td><td class="right" title="5/12">41.6%</td><td><table class="coverage"><tr><td class="green covered42"> </td><td class="red covered58"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_PlannedRealTaskElementLearningConverter.html">ViewModel.Implementations.ModelLearning.Converters.PlannedRealTaskElementLearningConverter</a></td><td class="right">10</td><td class="right">0</td><td class="right">10</td><td class="right">57</td><td title="LineCoverage: 10/10" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_PlannedTimeTaskElementLearningConverter.html">ViewModel.Implementations.ModelLearning.Converters.PlannedTimeTaskElementLearningConverter</a></td><td class="right">10</td><td class="right">0</td><td class="right">10</td><td class="right">58</td><td title="LineCoverage: 10/10" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ScalerFactory.html">ViewModel.Implementations.ModelLearning.Converters.ScalerFactory</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">19</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_DeadlineTaskElementEvaluatorLearningController.html">ViewModel.Implementations.ModelLearning.DeadlineTaskElementEvaluatorLearningController</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">34</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ExecutionChanceTaskElementEvaluatorLearningController.html">ViewModel.Implementations.ModelLearning.ExecutionChanceTaskElementEvaluatorLearningController</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">35</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_PlannedRealTaskElementEvaluatorLearningController.html">ViewModel.Implementations.ModelLearning.PlannedRealTaskElementEvaluatorLearningController</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">35</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_PlannedTimeTaskElementEvaluatorLearningController.html">ViewModel.Implementations.ModelLearning.PlannedTimeTaskElementEvaluatorLearningController</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">35</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TagEntity.html">ViewModel.Implementations.Sessions.Database.Entities.TagEntity</a></td><td class="right">2</td><td class="right">1</td><td class="right">3</td><td class="right">31</td><td title="LineCoverage: 2/3" class="right">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ItemsUpdatedEventArgs.html">ViewModel.Interfaces.AppStates.Sessions.ItemsUpdatedEventArgs</a></td><td class="right">10</td><td class="right">0</td><td class="right">10</td><td class="right">37</td><td title="LineCoverage: 10/10" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_AppConfiguration.html">ViewModel.Technicals.AppConfiguration</a></td><td class="right">9</td><td class="right">0</td><td class="right">9</td><td class="right">68</td><td title="LineCoverage: 9/9" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_CalendarInterval.html">ViewModel.Technicals.CalendarInterval</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">31</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_StatisticElement.html">ViewModel.Technicals.StatisticElement</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">29</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TaskMetadata.html">ViewModel.Technicals.TaskMetadata</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">82</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ToDoListElement.html">ViewModel.Technicals.ToDoListElement</a></td><td class="right">12</td><td class="right">0</td><td class="right">12</td><td class="right">46</td><td title="LineCoverage: 12/12" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ViewModelContainerHelper.html">ViewModel.Technicals.ViewModelContainerHelper</a></td><td class="right">128</td><td class="right">0</td><td class="right">128</td><td class="right">202</td><td title="LineCoverage: 128/128" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BaseDialogViewModel_2.html">ViewModel.ViewModels.BaseDialogViewModel`2</a></td><td class="right">10</td><td class="right">2</td><td class="right">12</td><td class="right">55</td><td title="LineCoverage: 10/12" class="right">83.3%</td><td><table class="coverage"><tr><td class="green covered83"> </td><td class="red covered17"> </td></tr></table></td><td class="right">1</td><td class="right">2</td><td class="right" title="1/2">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BasePageViewModel.html">ViewModel.ViewModels.BasePageViewModel</a></td><td class="right">1</td><td class="right">0</td><td class="right">1</td><td class="right">15</td><td title="LineCoverage: 1/1" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_BaseViewModel.html">ViewModel.ViewModels.BaseViewModel</a></td><td class="right">20</td><td class="right">1</td><td class="right">21</td><td class="right">88</td><td title="LineCoverage: 20/21" class="right">95.2%</td><td><table class="coverage"><tr><td class="green covered95"> </td><td class="red covered5"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MainViewModel.html">ViewModel.ViewModels.MainViewModel</a></td><td class="right">32</td><td class="right">8</td><td class="right">40</td><td class="right">116</td><td title="LineCoverage: 32/40" class="right">80%</td><td><table class="coverage"><tr><td class="green covered80"> </td><td class="red covered20"> </td></tr></table></td><td class="right">5</td><td class="right">6</td><td class="right" title="5/6">83.3%</td><td><table class="coverage"><tr><td class="green covered83"> </td><td class="red covered17"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_AddTaskViewModel.html">ViewModel.ViewModels.Modals.AddTaskViewModel</a></td><td class="right">14</td><td class="right">2</td><td class="right">16</td><td class="right">61</td><td title="LineCoverage: 14/16" class="right">87.5%</td><td><table class="coverage"><tr><td class="green covered88"> </td><td class="red covered12"> </td></tr></table></td><td class="right">2</td><td class="right">6</td><td class="right" title="2/6">33.3%</td><td><table class="coverage"><tr><td class="green covered33"> </td><td class="red covered67"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_AddTimeIntervalViewModel.html">ViewModel.ViewModels.Modals.AddTimeIntervalViewModel</a></td><td class="right">20</td><td class="right">2</td><td class="right">22</td><td class="right">77</td><td title="LineCoverage: 20/22" class="right">90.9%</td><td><table class="coverage"><tr><td class="green covered91"> </td><td class="red covered9"> </td></tr></table></td><td class="right">3</td><td class="right">8</td><td class="right" title="3/8">37.5%</td><td><table class="coverage"><tr><td class="green covered38"> </td><td class="red covered62"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_CopyTasksViewModel.html">ViewModel.ViewModels.Modals.CopyTasksViewModel</a></td><td class="right">1</td><td class="right">6</td><td class="right">7</td><td class="right">48</td><td title="LineCoverage: 1/7" class="right">14.2%</td><td><table class="coverage"><tr><td class="green covered14"> </td><td class="red covered86"> </td></tr></table></td><td class="right">0</td><td class="right">4</td><td class="right" title="0/4">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_CopyTasksViewModelResult.html">ViewModel.ViewModels.Modals.CopyTasksViewModelResult</a></td><td class="right">0</td><td class="right">7</td><td class="right">7</td><td class="right">31</td><td title="LineCoverage: 0/7" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_EditTaskViewModel.html">ViewModel.ViewModels.Modals.EditTaskViewModel</a></td><td class="right">11</td><td class="right">5</td><td class="right">16</td><td class="right">59</td><td title="LineCoverage: 11/16" class="right">68.7%</td><td><table class="coverage"><tr><td class="green covered69"> </td><td class="red covered31"> </td></tr></table></td><td class="right">2</td><td class="right">6</td><td class="right" title="2/6">33.3%</td><td><table class="coverage"><tr><td class="green covered33"> </td><td class="red covered67"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_EditTimeIntervalViewModel.html">ViewModel.ViewModels.Modals.EditTimeIntervalViewModel</a></td><td class="right">17</td><td class="right">2</td><td class="right">19</td><td class="right">65</td><td title="LineCoverage: 17/19" class="right">89.4%</td><td><table class="coverage"><tr><td class="green covered89"> </td><td class="red covered11"> </td></tr></table></td><td class="right">2</td><td class="right">6</td><td class="right" title="2/6">33.3%</td><td><table class="coverage"><tr><td class="green covered33"> </td><td class="red covered67"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ItemsTasksViewModelArgs.html">ViewModel.ViewModels.Modals.ItemsTasksViewModelArgs</a></td><td class="right">5</td><td class="right">0</td><td class="right">5</td><td class="right">30</td><td title="LineCoverage: 5/5" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_MoveTasksViewModel.html">ViewModel.ViewModels.Modals.MoveTasksViewModel</a></td><td class="right">28</td><td class="right">9</td><td class="right">37</td><td class="right">98</td><td title="LineCoverage: 28/37" class="right">75.6%</td><td><table class="coverage"><tr><td class="green covered76"> </td><td class="red covered24"> </td></tr></table></td><td class="right">12</td><td class="right">20</td><td class="right" title="12/20">60%</td><td><table class="coverage"><tr><td class="green covered60"> </td><td class="red covered40"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_RemoveTasksViewModel.html">ViewModel.ViewModels.Modals.RemoveTasksViewModel</a></td><td class="right">2</td><td class="right">1</td><td class="right">3</td><td class="right">36</td><td title="LineCoverage: 2/3" class="right">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td><td class="right">1</td><td class="right">4</td><td class="right" title="1/4">25%</td><td><table class="coverage"><tr><td class="green covered25"> </td><td class="red covered75"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TasksViewModel_2.html">ViewModel.ViewModels.Modals.TasksViewModel`2</a></td><td class="right">16</td><td class="right">4</td><td class="right">20</td><td class="right">90</td><td title="LineCoverage: 16/20" class="right">80%</td><td><table class="coverage"><tr><td class="green covered80"> </td><td class="red covered20"> </td></tr></table></td><td class="right">0</td><td class="right">2</td><td class="right" title="0/2">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TasksViewModelArgs.html">ViewModel.ViewModels.Modals.TasksViewModelArgs</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">31</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalViewModelArgs.html">ViewModel.ViewModels.Modals.TimeIntervalViewModelArgs</a></td><td class="right">5</td><td class="right">0</td><td class="right">5</td><td class="right">30</td><td title="LineCoverage: 5/5" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeIntervalViewModelResult.html">ViewModel.ViewModels.Modals.TimeIntervalViewModelResult</a></td><td class="right">8</td><td class="right">0</td><td class="right">8</td><td class="right">32</td><td title="LineCoverage: 8/8" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_EditorViewModel.html">ViewModel.ViewModels.Pages.EditorViewModel</a></td><td class="right">108</td><td class="right">36</td><td class="right">144</td><td class="right">362</td><td title="LineCoverage: 108/144" class="right">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td><td class="right">17</td><td class="right">34</td><td class="right" title="17/34">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_SettingsViewModel.html">ViewModel.ViewModels.Pages.SettingsViewModel</a></td><td class="right">7</td><td class="right">0</td><td class="right">7</td><td class="right">43</td><td title="LineCoverage: 7/7" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_StatisticViewModel.html">ViewModel.ViewModels.Pages.StatisticViewModel</a></td><td class="right">76</td><td class="right">6</td><td class="right">82</td><td class="right">200</td><td title="LineCoverage: 76/82" class="right">92.6%</td><td><table class="coverage"><tr><td class="green covered93"> </td><td class="red covered7"> </td></tr></table></td><td class="right">16</td><td class="right">22</td><td class="right" title="16/22">72.7%</td><td><table class="coverage"><tr><td class="green covered73"> </td><td class="red covered27"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_TimeViewModel.html">ViewModel.ViewModels.Pages.TimeViewModel</a></td><td class="right">79</td><td class="right">5</td><td class="right">84</td><td class="right">247</td><td title="LineCoverage: 79/84" class="right">94%</td><td><table class="coverage"><tr><td class="green covered94"> </td><td class="red covered6"> </td></tr></table></td><td class="right">11</td><td class="right">12</td><td class="right" title="11/12">91.6%</td><td><table class="coverage"><tr><td class="green covered92"> </td><td class="red covered8"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel_ToDoListViewModel.html">ViewModel.ViewModels.Pages.ToDoListViewModel</a></td><td class="right">44</td><td class="right">19</td><td class="right">63</td><td class="right">165</td><td title="LineCoverage: 44/63" class="right">69.8%</td><td><table class="coverage"><tr><td class="green covered70"> </td><td class="red covered30"> </td></tr></table></td><td class="right">16</td><td class="right">24</td><td class="right" title="16/24">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td></tr>
<tr><th>ViewModel.Tests</th><th class="right">1342</th><th class="right">3</th><th class="right">1345</th><th class="right">2194</th><th title="LineCoverage: 1342/1345" class="right">99.7%</th><th><table class="coverage"><tr><td class="green covered100"> </td></tr></table></th><th class="right">80</th><th class="right">90</th><th class="right" title="80/90">88.8%</th><th><table class="coverage"><tr><td class="green covered89"> </td><td class="red covered11"> </td></tr></table></th></tr>
<tr><td><a href="ViewModel.Tests_AutoGeneratedProgram.html">AutoGeneratedProgram</a></td><td class="right">0</td><td class="right">1</td><td class="right">1</td><td class="right">4</td><td title="LineCoverage: 0/1" class="right">0%</td><td><table class="coverage"><tr><td class="red covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_FileLoggerTests.html">ViewModel.Tests.AppStates.FileLoggerTests</a></td><td class="right">17</td><td class="right">0</td><td class="right">17</td><td class="right">42</td><td title="LineCoverage: 17/17" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_FileServiceTests.html">ViewModel.Tests.AppStates.FileServiceTests</a></td><td class="right">70</td><td class="right">0</td><td class="right">70</td><td class="right">130</td><td title="LineCoverage: 70/70" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">2</td><td class="right">2</td><td class="right" title="2/2">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_JsonSerializerTests.html">ViewModel.Tests.AppStates.JsonSerializerTests</a></td><td class="right">27</td><td class="right">0</td><td class="right">27</td><td class="right">54</td><td title="LineCoverage: 27/27" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_DbSessionTests.html">ViewModel.Tests.AppStates.Sessions.DbSessionTests</a></td><td class="right">308</td><td class="right">0</td><td class="right">308</td><td class="right">407</td><td title="LineCoverage: 308/308" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">46</td><td class="right">48</td><td class="right" title="46/48">95.8%</td><td><table class="coverage"><tr><td class="green covered96"> </td><td class="red covered4"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_AppSettingsTests.html">ViewModel.Tests.AppStates.Settings.AppSettingsTests</a></td><td class="right">86</td><td class="right">0</td><td class="right">86</td><td class="right">146</td><td title="LineCoverage: 86/86" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_TimeSchedulerTests.html">ViewModel.Tests.AppStates.TimeSchedulerTests</a></td><td class="right">92</td><td class="right">2</td><td class="right">94</td><td class="right">173</td><td title="LineCoverage: 92/94" class="right">97.8%</td><td><table class="coverage"><tr><td class="green covered98"> </td><td class="red covered2"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_MainViewModelTests.html">ViewModel.Tests.ViewModels.MainViewModelTests</a></td><td class="right">23</td><td class="right">0</td><td class="right">23</td><td class="right">58</td><td title="LineCoverage: 23/23" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">4</td><td class="right">6</td><td class="right" title="4/6">66.6%</td><td><table class="coverage"><tr><td class="green covered67"> </td><td class="red covered33"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_EditorViewModelTests.html">ViewModel.Tests.ViewModels.Pages.EditorViewModelTests</a></td><td class="right">230</td><td class="right">0</td><td class="right">230</td><td class="right">389</td><td title="LineCoverage: 230/230" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">5</td><td class="right">10</td><td class="right" title="5/10">50%</td><td><table class="coverage"><tr><td class="green covered50"> </td><td class="red covered50"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_SettingsViewModelTests.html">ViewModel.Tests.ViewModels.Pages.SettingsViewModelTests</a></td><td class="right">42</td><td class="right">0</td><td class="right">42</td><td class="right">85</td><td title="LineCoverage: 42/42" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_StatisticViewModelTests.html">ViewModel.Tests.ViewModels.Pages.StatisticViewModelTests</a></td><td class="right">155</td><td class="right">0</td><td class="right">155</td><td class="right">236</td><td title="LineCoverage: 155/155" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">0</td><td class="right">0</td><td class="right" title="-"></td><td><table class="coverage"><tr><td class="gray covered100"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_TimeViewModelTests.html">ViewModel.Tests.ViewModels.Pages.TimeViewModelTests</a></td><td class="right">151</td><td class="right">0</td><td class="right">151</td><td class="right">242</td><td title="LineCoverage: 151/151" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">3</td><td class="right">4</td><td class="right" title="3/4">75%</td><td><table class="coverage"><tr><td class="green covered75"> </td><td class="red covered25"> </td></tr></table></td></tr>
<tr><td><a href="ViewModel.Tests_ToDoListViewModelTests.html">ViewModel.Tests.ViewModels.Pages.ToDoListViewModelTests</a></td><td class="right">141</td><td class="right">0</td><td class="right">141</td><td class="right">228</td><td title="LineCoverage: 141/141" class="right">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td><td class="right">10</td><td class="right">10</td><td class="right" title="10/10">100%</td><td><table class="coverage"><tr><td class="green covered100"> </td></tr></table></td></tr>
</tbody>
</table>
</coverage-info>
<div class="footer">Generated by: ReportGenerator 4.7.1.0<br />14/01/2025 - 21:38:08<br /><a href="https://github.com/danielpalme/ReportGenerator">GitHub</a> | <a href="http://www.palmmedia.de">www.palmmedia.de</a></div></div></div>
<script type="text/javascript">/* <![CDATA[ */ /* Chartist.js 0.11.0
* Copyright © 2017 Gion Kunz
* Free to use under either the WTFPL license or the MIT license.
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL
* https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT
*/
!function (a, b) { "function" == typeof define && define.amd ? define("Chartist", [], function () { return a.Chartist = b() }) : "object" == typeof module && module.exports ? module.exports = b() : a.Chartist = b() }(this, function () {
var a = { version: "0.11.0" }; return function (a, b, c) { "use strict"; c.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, c.noop = function (a) { return a }, c.alphaNumerate = function (a) { return String.fromCharCode(97 + a % 26) }, c.extend = function (a) { var b, d, e; for (a = a || {}, b = 1; b < arguments.length; b++) { d = arguments[b]; for (var f in d) e = d[f], "object" != typeof e || null === e || e instanceof Array ? a[f] = e : a[f] = c.extend(a[f], e) } return a }, c.replaceAll = function (a, b, c) { return a.replace(new RegExp(b, "g"), c) }, c.ensureUnit = function (a, b) { return "number" == typeof a && (a += b), a }, c.quantity = function (a) { if ("string" == typeof a) { var b = /^(\d+)\s*(.*)$/g.exec(a); return { value: +b[1], unit: b[2] || void 0 } } return { value: a } }, c.querySelector = function (a) { return a instanceof Node ? a : b.querySelector(a) }, c.times = function (a) { return Array.apply(null, new Array(a)) }, c.sum = function (a, b) { return a + (b ? b : 0) }, c.mapMultiply = function (a) { return function (b) { return b * a } }, c.mapAdd = function (a) { return function (b) { return b + a } }, c.serialMap = function (a, b) { var d = [], e = Math.max.apply(null, a.map(function (a) { return a.length })); return c.times(e).forEach(function (c, e) { var f = a.map(function (a) { return a[e] }); d[e] = b.apply(null, f) }), d }, c.roundWithPrecision = function (a, b) { var d = Math.pow(10, b || c.precision); return Math.round(a * d) / d }, c.precision = 8, c.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, c.serialize = function (a) { return null === a || void 0 === a ? a : ("number" == typeof a ? a = "" + a : "object" == typeof a && (a = JSON.stringify({ data: a })), Object.keys(c.escapingMap).reduce(function (a, b) { return c.replaceAll(a, b, c.escapingMap[b]) }, a)) }, c.deserialize = function (a) { if ("string" != typeof a) return a; a = Object.keys(c.escapingMap).reduce(function (a, b) { return c.replaceAll(a, c.escapingMap[b], b) }, a); try { a = JSON.parse(a), a = void 0 !== a.data ? a.data : a } catch (b) { } return a }, c.createSvg = function (a, b, d, e) { var f; return b = b || "100%", d = d || "100%", Array.prototype.slice.call(a.querySelectorAll("svg")).filter(function (a) { return a.getAttributeNS(c.namespaces.xmlns, "ct") }).forEach(function (b) { a.removeChild(b) }), f = new c.Svg("svg").attr({ width: b, height: d }).addClass(e), f._node.style.width = b, f._node.style.height = d, a.appendChild(f._node), f }, c.normalizeData = function (a, b, d) { var e, f = { raw: a, normalized: {} }; return f.normalized.series = c.getDataArray({ series: a.series || [] }, b, d), e = f.normalized.series.every(function (a) { return a instanceof Array }) ? Math.max.apply(null, f.normalized.series.map(function (a) { return a.length })) : f.normalized.series.length, f.normalized.labels = (a.labels || []).slice(), Array.prototype.push.apply(f.normalized.labels, c.times(Math.max(0, e - f.normalized.labels.length)).map(function () { return "" })), b && c.reverseData(f.normalized), f }, c.safeHasProperty = function (a, b) { return null !== a && "object" == typeof a && a.hasOwnProperty(b) }, c.isDataHoleValue = function (a) { return null === a || void 0 === a || "number" == typeof a && isNaN(a) }, c.reverseData = function (a) { a.labels.reverse(), a.series.reverse(); for (var b = 0; b < a.series.length; b++)"object" == typeof a.series[b] && void 0 !== a.series[b].data ? a.series[b].data.reverse() : a.series[b] instanceof Array && a.series[b].reverse() }, c.getDataArray = function (a, b, d) { function e(a) { if (c.safeHasProperty(a, "value")) return e(a.value); if (c.safeHasProperty(a, "data")) return e(a.data); if (a instanceof Array) return a.map(e); if (!c.isDataHoleValue(a)) { if (d) { var b = {}; return "string" == typeof d ? b[d] = c.getNumberOrUndefined(a) : b.y = c.getNumberOrUndefined(a), b.x = a.hasOwnProperty("x") ? c.getNumberOrUndefined(a.x) : b.x, b.y = a.hasOwnProperty("y") ? c.getNumberOrUndefined(a.y) : b.y, b } return c.getNumberOrUndefined(a) } } return a.series.map(e) }, c.normalizePadding = function (a, b) { return b = b || 0, "number" == typeof a ? { top: a, right: a, bottom: a, left: a } : { top: "number" == typeof a.top ? a.top : b, right: "number" == typeof a.right ? a.right : b, bottom: "number" == typeof a.bottom ? a.bottom : b, left: "number" == typeof a.left ? a.left : b } }, c.getMetaData = function (a, b) { var c = a.data ? a.data[b] : a[b]; return c ? c.meta : void 0 }, c.orderOfMagnitude = function (a) { return Math.floor(Math.log(Math.abs(a)) / Math.LN10) }, c.projectLength = function (a, b, c) { return b / c.range * a }, c.getAvailableHeight = function (a, b) { return Math.max((c.quantity(b.height).value || a.height()) - (b.chartPadding.top + b.chartPadding.bottom) - b.axisX.offset, 0) }, c.getHighLow = function (a, b, d) { function e(a) { if (void 0 !== a) if (a instanceof Array) for (var b = 0; b < a.length; b++)e(a[b]); else { var c = d ? +a[d] : +a; g && c > f.high && (f.high = c), h && c < f.low && (f.low = c) } } b = c.extend({}, b, d ? b["axis" + d.toUpperCase()] : {}); var f = { high: void 0 === b.high ? -Number.MAX_VALUE : +b.high, low: void 0 === b.low ? Number.MAX_VALUE : +b.low }, g = void 0 === b.high, h = void 0 === b.low; return (g || h) && e(a), (b.referenceValue || 0 === b.referenceValue) && (f.high = Math.max(b.referenceValue, f.high), f.low = Math.min(b.referenceValue, f.low)), f.high <= f.low && (0 === f.low ? f.high = 1 : f.low < 0 ? f.high = 0 : f.high > 0 ? f.low = 0 : (f.high = 1, f.low = 0)), f }, c.isNumeric = function (a) { return null !== a && isFinite(a) }, c.isFalseyButZero = function (a) { return !a && 0 !== a }, c.getNumberOrUndefined = function (a) { return c.isNumeric(a) ? +a : void 0 }, c.isMultiValue = function (a) { return "object" == typeof a && ("x" in a || "y" in a) }, c.getMultiValue = function (a, b) { return c.isMultiValue(a) ? c.getNumberOrUndefined(a[b || "y"]) : c.getNumberOrUndefined(a) }, c.rho = function (a) { function b(a, c) { return a % c === 0 ? c : b(c, a % c) } function c(a) { return a * a + 1 } if (1 === a) return a; var d, e = 2, f = 2; if (a % 2 === 0) return 2; do e = c(e) % a, f = c(c(f)) % a, d = b(Math.abs(e - f), a); while (1 === d); return d }, c.getBounds = function (a, b, d, e) { function f(a, b) { return a === (a += b) && (a *= 1 + (b > 0 ? o : -o)), a } var g, h, i, j = 0, k = { high: b.high, low: b.low }; k.valueRange = k.high - k.low, k.oom = c.orderOfMagnitude(k.valueRange), k.step = Math.pow(10, k.oom), k.min = Math.floor(k.low / k.step) * k.step, k.max = Math.ceil(k.high / k.step) * k.step, k.range = k.max - k.min, k.numberOfSteps = Math.round(k.range / k.step); var l = c.projectLength(a, k.step, k), m = l < d, n = e ? c.rho(k.range) : 0; if (e && c.projectLength(a, 1, k) >= d) k.step = 1; else if (e && n < k.step && c.projectLength(a, n, k) >= d) k.step = n; else for (; ;) { if (m && c.projectLength(a, k.step, k) <= d) k.step *= 2; else { if (m || !(c.projectLength(a, k.step / 2, k) >= d)) break; if (k.step /= 2, e && k.step % 1 !== 0) { k.step *= 2; break } } if (j++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var o = 2.221e-16; for (k.step = Math.max(k.step, o), h = k.min, i = k.max; h + k.step <= k.low;)h = f(h, k.step); for (; i - k.step >= k.high;)i = f(i, -k.step); k.min = h, k.max = i, k.range = k.max - k.min; var p = []; for (g = k.min; g <= k.max; g = f(g, k.step)) { var q = c.roundWithPrecision(g); q !== p[p.length - 1] && p.push(q) } return k.values = p, k }, c.polarToCartesian = function (a, b, c, d) { var e = (d - 90) * Math.PI / 180; return { x: a + c * Math.cos(e), y: b + c * Math.sin(e) } }, c.createChartRect = function (a, b, d) { var e = !(!b.axisX && !b.axisY), f = e ? b.axisY.offset : 0, g = e ? b.axisX.offset : 0, h = a.width() || c.quantity(b.width).value || 0, i = a.height() || c.quantity(b.height).value || 0, j = c.normalizePadding(b.chartPadding, d); h = Math.max(h, f + j.left + j.right), i = Math.max(i, g + j.top + j.bottom); var k = { padding: j, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return e ? ("start" === b.axisX.position ? (k.y2 = j.top + g, k.y1 = Math.max(i - j.bottom, k.y2 + 1)) : (k.y2 = j.top, k.y1 = Math.max(i - j.bottom - g, k.y2 + 1)), "start" === b.axisY.position ? (k.x1 = j.left + f, k.x2 = Math.max(h - j.right, k.x1 + 1)) : (k.x1 = j.left, k.x2 = Math.max(h - j.right - f, k.x1 + 1))) : (k.x1 = j.left, k.x2 = Math.max(h - j.right, k.x1 + 1), k.y2 = j.top, k.y1 = Math.max(i - j.bottom, k.y2 + 1)), k }, c.createGrid = function (a, b, d, e, f, g, h, i) { var j = {}; j[d.units.pos + "1"] = a, j[d.units.pos + "2"] = a, j[d.counterUnits.pos + "1"] = e, j[d.counterUnits.pos + "2"] = e + f; var k = g.elem("line", j, h.join(" ")); i.emit("draw", c.extend({ type: "grid", axis: d, index: b, group: g, element: k }, j)) }, c.createGridBackground = function (a, b, c, d) { var e = a.elem("rect", { x: b.x1, y: b.y2, width: b.width(), height: b.height() }, c, !0); d.emit("draw", { type: "gridBackground", group: a, element: e }) }, c.createLabel = function (a, d, e, f, g, h, i, j, k, l, m) { var n, o = {}; if (o[g.units.pos] = a + i[g.units.pos], o[g.counterUnits.pos] = i[g.counterUnits.pos], o[g.units.len] = d, o[g.counterUnits.len] = Math.max(0, h - 10), l) { var p = b.createElement("span"); p.className = k.join(" "), p.setAttribute("xmlns", c.namespaces.xhtml), p.innerText = f[e], p.style[g.units.len] = Math.round(o[g.units.len]) + "px", p.style[g.counterUnits.len] = Math.round(o[g.counterUnits.len]) + "px", n = j.foreignObject(p, c.extend({ style: "overflow: visible;" }, o)) } else n = j.elem("text", o, k.join(" ")).text(f[e]); m.emit("draw", c.extend({ type: "label", axis: g, index: e, group: j, element: n, text: f[e] }, o)) }, c.getSeriesOption = function (a, b, c) { if (a.name && b.series && b.series[a.name]) { var d = b.series[a.name]; return d.hasOwnProperty(c) ? d[c] : b[c] } return b[c] }, c.optionsProvider = function (b, d, e) { function f(b) { var f = h; if (h = c.extend({}, j), d) for (i = 0; i < d.length; i++) { var g = a.matchMedia(d[i][0]); g.matches && (h = c.extend(h, d[i][1])) } e && b && e.emit("optionsChanged", { previousOptions: f, currentOptions: h }) } function g() { k.forEach(function (a) { a.removeListener(f) }) } var h, i, j = c.extend({}, b), k = []; if (!a.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (d) for (i = 0; i < d.length; i++) { var l = a.matchMedia(d[i][0]); l.addListener(f), k.push(l) } return f(), { removeMediaQueryListeners: g, getCurrentOptions: function () { return c.extend({}, h) } } }, c.splitIntoSegments = function (a, b, d) { var e = { increasingX: !1, fillHoles: !1 }; d = c.extend({}, e, d); for (var f = [], g = !0, h = 0; h < a.length; h += 2)void 0 === c.getMultiValue(b[h / 2].value) ? d.fillHoles || (g = !0) : (d.increasingX && h >= 2 && a[h] <= a[h - 2] && (g = !0), g && (f.push({ pathCoordinates: [], valueData: [] }), g = !1), f[f.length - 1].pathCoordinates.push(a[h], a[h + 1]), f[f.length - 1].valueData.push(b[h / 2])); return f } }(window, document, a), function (a, b, c) { "use strict"; c.Interpolation = {}, c.Interpolation.none = function (a) { var b = { fillHoles: !1 }; return a = c.extend({}, b, a), function (b, d) { for (var e = new c.Svg.Path, f = !0, g = 0; g < b.length; g += 2) { var h = b[g], i = b[g + 1], j = d[g / 2]; void 0 !== c.getMultiValue(j.value) ? (f ? e.move(h, i, !1, j) : e.line(h, i, !1, j), f = !1) : a.fillHoles || (f = !0) } return e } }, c.Interpolation.simple = function (a) { var b = { divisor: 2, fillHoles: !1 }; a = c.extend({}, b, a); var d = 1 / Math.max(1, a.divisor); return function (b, e) { for (var f, g, h, i = new c.Svg.Path, j = 0; j < b.length; j += 2) { var k = b[j], l = b[j + 1], m = (k - f) * d, n = e[j / 2]; void 0 !== n.value ? (void 0 === h ? i.move(k, l, !1, n) : i.curve(f + m, g, k - m, l, k, l, !1, n), f = k, g = l, h = n) : a.fillHoles || (f = k = h = void 0) } return i } }, c.Interpolation.cardinal = function (a) { var b = { tension: 1, fillHoles: !1 }; a = c.extend({}, b, a); var d = Math.min(1, Math.max(0, a.tension)), e = 1 - d; return function f(b, g) { var h = c.splitIntoSegments(b, g, { fillHoles: a.fillHoles }); if (h.length) { if (h.length > 1) { var i = []; return h.forEach(function (a) { i.push(f(a.pathCoordinates, a.valueData)) }), c.Svg.Path.join(i) } if (b = h[0].pathCoordinates, g = h[0].valueData, b.length <= 4) return c.Interpolation.none()(b, g); for (var j, k = (new c.Svg.Path).move(b[0], b[1], !1, g[0]), l = 0, m = b.length; m - 2 * !j > l; l += 2) { var n = [{ x: +b[l - 2], y: +b[l - 1] }, { x: +b[l], y: +b[l + 1] }, { x: +b[l + 2], y: +b[l + 3] }, { x: +b[l + 4], y: +b[l + 5] }]; j ? l ? m - 4 === l ? n[3] = { x: +b[0], y: +b[1] } : m - 2 === l && (n[2] = { x: +b[0], y: +b[1] }, n[3] = { x: +b[2], y: +b[3] }) : n[0] = { x: +b[m - 2], y: +b[m - 1] } : m - 4 === l ? n[3] = n[2] : l || (n[0] = { x: +b[l], y: +b[l + 1] }), k.curve(d * (-n[0].x + 6 * n[1].x + n[2].x) / 6 + e * n[2].x, d * (-n[0].y + 6 * n[1].y + n[2].y) / 6 + e * n[2].y, d * (n[1].x + 6 * n[2].x - n[3].x) / 6 + e * n[2].x, d * (n[1].y + 6 * n[2].y - n[3].y) / 6 + e * n[2].y, n[2].x, n[2].y, !1, g[(l + 2) / 2]) } return k } return c.Interpolation.none()([]) } }, c.Interpolation.monotoneCubic = function (a) { var b = { fillHoles: !1 }; return a = c.extend({}, b, a), function d(b, e) { var f = c.splitIntoSegments(b, e, { fillHoles: a.fillHoles, increasingX: !0 }); if (f.length) { if (f.length > 1) { var g = []; return f.forEach(function (a) { g.push(d(a.pathCoordinates, a.valueData)) }), c.Svg.Path.join(g) } if (b = f[0].pathCoordinates, e = f[0].valueData, b.length <= 4) return c.Interpolation.none()(b, e); var h, i, j = [], k = [], l = b.length / 2, m = [], n = [], o = [], p = []; for (h = 0; h < l; h++)j[h] = b[2 * h], k[h] = b[2 * h + 1]; for (h = 0; h < l - 1; h++)o[h] = k[h + 1] - k[h], p[h] = j[h + 1] - j[h], n[h] = o[h] / p[h]; for (m[0] = n[0], m[l - 1] = n[l - 2], h = 1; h < l - 1; h++)0 === n[h] || 0 === n[h - 1] || n[h - 1] > 0 != n[h] > 0 ? m[h] = 0 : (m[h] = 3 * (p[h - 1] + p[h]) / ((2 * p[h] + p[h - 1]) / n[h - 1] + (p[h] + 2 * p[h - 1]) / n[h]), isFinite(m[h]) || (m[h] = 0)); for (i = (new c.Svg.Path).move(j[0], k[0], !1, e[0]), h = 0; h < l - 1; h++)i.curve(j[h] + p[h] / 3, k[h] + m[h] * p[h] / 3, j[h + 1] - p[h] / 3, k[h + 1] - m[h + 1] * p[h] / 3, j[h + 1], k[h + 1], !1, e[h + 1]); return i } return c.Interpolation.none()([]) } }, c.Interpolation.step = function (a) { var b = { postpone: !0, fillHoles: !1 }; return a = c.extend({}, b, a), function (b, d) { for (var e, f, g, h = new c.Svg.Path, i = 0; i < b.length; i += 2) { var j = b[i], k = b[i + 1], l = d[i / 2]; void 0 !== l.value ? (void 0 === g ? h.move(j, k, !1, l) : (a.postpone ? h.line(j, f, !1, g) : h.line(e, k, !1, l), h.line(j, k, !1, l)), e = j, f = k, g = l) : a.fillHoles || (e = f = g = void 0) } return h } } }(window, document, a), function (a, b, c) { "use strict"; c.EventEmitter = function () { function a(a, b) { d[a] = d[a] || [], d[a].push(b) } function b(a, b) { d[a] && (b ? (d[a].splice(d[a].indexOf(b), 1), 0 === d[a].length && delete d[a]) : delete d[a]) } function c(a, b) { d[a] && d[a].forEach(function (a) { a(b) }), d["*"] && d["*"].forEach(function (c) { c(a, b) }) } var d = []; return { addEventHandler: a, removeEventHandler: b, emit: c } } }(window, document, a), function (a, b, c) { "use strict"; function d(a) { var b = []; if (a.length) for (var c = 0; c < a.length; c++)b.push(a[c]); return b } function e(a, b) { var d = b || this.prototype || c.Class, e = Object.create(d); c.Class.cloneDefinitions(e, a); var f = function () { var a, b = e.constructor || function () { }; return a = this === c ? Object.create(e) : this, b.apply(a, Array.prototype.slice.call(arguments, 0)), a }; return f.prototype = e, f["super"] = d, f.extend = this.extend, f } function f() { var a = d(arguments), b = a[0]; return a.splice(1, a.length - 1).forEach(function (a) { Object.getOwnPropertyNames(a).forEach(function (c) { delete b[c], Object.defineProperty(b, c, Object.getOwnPropertyDescriptor(a, c)) }) }), b } c.Class = { extend: e, cloneDefinitions: f } }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, d) { return a && (this.data = a || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), b && (this.options = c.extend({}, d ? this.options : this.defaultOptions, b), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = c.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this } function e() { return this.initializeTimeoutId ? a.clearTimeout(this.initializeTimeoutId) : (a.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this } function f(a, b) { return this.eventEmitter.addEventHandler(a, b), this } function g(a, b) { return this.eventEmitter.removeEventHandler(a, b), this } function h() { a.addEventListener("resize", this.resizeListener), this.optionsProvider = c.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (a) { a instanceof Array ? a[0](this, a[1]) : a(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } function i(a, b, d, e, f) { this.container = c.querySelector(a), this.data = b || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = d, this.options = e, this.responsiveOptions = f, this.eventEmitter = c.EventEmitter(), this.supportsForeignObject = c.Svg.isSupported("Extensibility"), this.supportsAnimations = c.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(h.bind(this), 0) } c.Base = c.Class.extend({ constructor: i, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: d, detach: e, on: f, off: g, version: c.version, supportsForeignObject: !1 }) }(window, document, a), function (a, b, c) { "use strict"; function d(a, d, e, f, g) { a instanceof Element ? this._node = a : (this._node = b.createElementNS(c.namespaces.svg, a), "svg" === a && this.attr({ "xmlns:ct": c.namespaces.ct })), d && this.attr(d), e && this.addClass(e), f && (g && f._node.firstChild ? f._node.insertBefore(this._node, f._node.firstChild) : f._node.appendChild(this._node)) } function e(a, b) { return "string" == typeof a ? b ? this._node.getAttributeNS(b, a) : this._node.getAttribute(a) : (Object.keys(a).forEach(function (b) { if (void 0 !== a[b]) if (b.indexOf(":") !== -1) { var d = b.split(":"); this._node.setAttributeNS(c.namespaces[d[0]], b, a[b]) } else this._node.setAttribute(b, a[b]) }.bind(this)), this) } function f(a, b, d, e) { return new c.Svg(a, b, d, this, e) } function g() { return this._node.parentNode instanceof SVGElement ? new c.Svg(this._node.parentNode) : null } function h() { for (var a = this._node; "svg" !== a.nodeName;)a = a.parentNode; return new c.Svg(a) } function i(a) { var b = this._node.querySelector(a); return b ? new c.Svg(b) : null } function j(a) { var b = this._node.querySelectorAll(a); return b.length ? new c.Svg.List(b) : null } function k() { return this._node } function l(a, d, e, f) { if ("string" == typeof a) { var g = b.createElement("div"); g.innerHTML = a, a = g.firstChild } a.setAttribute("xmlns", c.namespaces.xmlns); var h = this.elem("foreignObject", d, e, f); return h._node.appendChild(a), h } function m(a) { return this._node.appendChild(b.createTextNode(a)), this } function n() { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this } function o() { return this._node.parentNode.removeChild(this._node), this.parent() } function p(a) { return this._node.parentNode.replaceChild(a._node, this._node), a } function q(a, b) { return b && this._node.firstChild ? this._node.insertBefore(a._node, this._node.firstChild) : this._node.appendChild(a._node), this } function r() { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] } function s(a) { return this._node.setAttribute("class", this.classes(this._node).concat(a.trim().split(/\s+/)).filter(function (a, b, c) { return c.indexOf(a) === b }).join(" ")), this } function t(a) { var b = a.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter(function (a) { return b.indexOf(a) === -1 }).join(" ")), this } function u() { return this._node.setAttribute("class", ""), this } function v() { return this._node.getBoundingClientRect().height } function w() { return this._node.getBoundingClientRect().width } function x(a, b, d) { return void 0 === b && (b = !0), Object.keys(a).forEach(function (e) { function f(a, b) { var f, g, h, i = {}; a.easing && (h = a.easing instanceof Array ? a.easing : c.Svg.Easing[a.easing], delete a.easing), a.begin = c.ensureUnit(a.begin, "ms"), a.dur = c.ensureUnit(a.dur, "ms"), h && (a.calcMode = "spline", a.keySplines = h.join(" "), a.keyTimes = "0;1"), b && (a.fill = "freeze", i[e] = a.from, this.attr(i), g = c.quantity(a.begin || 0).value, a.begin = "indefinite"), f = this.elem("animate", c.extend({ attributeName: e }, a)), b && setTimeout(function () { try { f._node.beginElement() } catch (b) { i[e] = a.to, this.attr(i), f.remove() } }.bind(this), g), d && f._node.addEventListener("beginEvent", function () { d.emit("animationBegin", { element: this, animate: f._node, params: a }) }.bind(this)), f._node.addEventListener("endEvent", function () { d && d.emit("animationEnd", { element: this, animate: f._node, params: a }), b && (i[e] = a.to, this.attr(i), f.remove()) }.bind(this)) } a[e] instanceof Array ? a[e].forEach(function (a) { f.bind(this)(a, !1) }.bind(this)) : f.bind(this)(a[e], b) }.bind(this)), this } function y(a) { var b = this; this.svgElements = []; for (var d = 0; d < a.length; d++)this.svgElements.push(new c.Svg(a[d])); Object.keys(c.Svg.prototype).filter(function (a) { return ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(a) === -1 }).forEach(function (a) { b[a] = function () { var d = Array.prototype.slice.call(arguments, 0); return b.svgElements.forEach(function (b) { c.Svg.prototype[a].apply(b, d) }), b } }) } c.Svg = c.Class.extend({ constructor: d, attr: e, elem: f, parent: g, root: h, querySelector: i, querySelectorAll: j, getNode: k, foreignObject: l, text: m, empty: n, remove: o, replace: p, append: q, classes: r, addClass: s, removeClass: t, removeAllClasses: u, height: v, width: w, animate: x }), c.Svg.isSupported = function (a) { return b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + a, "1.1") }; var z = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }; c.Svg.Easing = z, c.Svg.List = c.Class.extend({ constructor: y }) }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, d, e, f, g) { var h = c.extend({ command: f ? a.toLowerCase() : a.toUpperCase() }, b, g ? { data: g } : {}); d.splice(e, 0, h) } function e(a, b) { a.forEach(function (c, d) { u[c.command.toLowerCase()].forEach(function (e, f) { b(c, e, d, f, a) }) }) } function f(a, b) { this.pathElements = [], this.pos = 0, this.close = a, this.options = c.extend({}, v, b) } function g(a) { return void 0 !== a ? (this.pos = Math.max(0, Math.min(this.pathElements.length, a)), this) : this.pos } function h(a) { return this.pathElements.splice(this.pos, a), this } function i(a, b, c, e) { return d("M", { x: +a, y: +b }, this.pathElements, this.pos++, c, e), this } function j(a, b, c, e) { return d("L", { x: +a, y: +b }, this.pathElements, this.pos++, c, e), this } function k(a, b, c, e, f, g, h, i) { return d("C", { x1: +a, y1: +b, x2: +c, y2: +e, x: +f, y: +g }, this.pathElements, this.pos++, h, i), this } function l(a, b, c, e, f, g, h, i, j) { return d("A", { rx: +a, ry: +b, xAr: +c, lAf: +e, sf: +f, x: +g, y: +h }, this.pathElements, this.pos++, i, j), this } function m(a) { var b = a.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce(function (a, b) { return b.match(/[A-Za-z]/) && a.push([]), a[a.length - 1].push(b), a }, []); "Z" === b[b.length - 1][0].toUpperCase() && b.pop(); var d = b.map(function (a) { var b = a.shift(), d = u[b.toLowerCase()]; return c.extend({ command: b }, d.reduce(function (b, c, d) { return b[c] = +a[d], b }, {})) }), e = [this.pos, 0]; return Array.prototype.push.apply(e, d), Array.prototype.splice.apply(this.pathElements, e), this.pos += d.length, this } function n() { var a = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (b, c) { var d = u[c.command.toLowerCase()].map(function (b) { return this.options.accuracy ? Math.round(c[b] * a) / a : c[b] }.bind(this)); return b + c.command + d.join(",") }.bind(this), "") + (this.close ? "Z" : "") } function o(a, b) { return e(this.pathElements, function (c, d) { c[d] *= "x" === d[0] ? a : b }), this } function p(a, b) { return e(this.pathElements, function (c, d) { c[d] += "x" === d[0] ? a : b }), this } function q(a) { return e(this.pathElements, function (b, c, d, e, f) { var g = a(b, c, d, e, f); (g || 0 === g) && (b[c] = g) }), this } function r(a) { var b = new c.Svg.Path(a || this.close); return b.pos = this.pos, b.pathElements = this.pathElements.slice().map(function (a) { return c.extend({}, a) }), b.options = c.extend({}, this.options), b } function s(a) { var b = [new c.Svg.Path]; return this.pathElements.forEach(function (d) { d.command === a.toUpperCase() && 0 !== b[b.length - 1].pathElements.length && b.push(new c.Svg.Path), b[b.length - 1].pathElements.push(d) }), b } function t(a, b, d) { for (var e = new c.Svg.Path(b, d), f = 0; f < a.length; f++)for (var g = a[f], h = 0; h < g.pathElements.length; h++)e.pathElements.push(g.pathElements[h]); return e } var u = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, v = { accuracy: 3 }; c.Svg.Path = c.Class.extend({ constructor: f, position: g, remove: h, move: i, line: j, curve: k, arc: l, scale: o, translate: p, transform: q, parse: m, stringify: n, clone: r, splitByCommand: s }), c.Svg.Path.elementDescriptions = u, c.Svg.Path.join = t }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, c, d) { this.units = a, this.counterUnits = a === f.x ? f.y : f.x, this.chartRect = b, this.axisLength = b[a.rectEnd] - b[a.rectStart], this.gridOffset = b[a.rectOffset], this.ticks = c, this.options = d } function e(a, b, d, e, f) { var g = e["axis" + this.units.pos.toUpperCase()], h = this.ticks.map(this.projectValue.bind(this)), i = this.ticks.map(g.labelInterpolationFnc); h.forEach(function (j, k) { var l, m = { x: 0, y: 0 }; l = h[k + 1] ? h[k + 1] - j : Math.max(this.axisLength - j, 30), c.isFalseyButZero(i[k]) && "" !== i[k] || ("x" === this.units.pos ? (j = this.chartRect.x1 + j, m.x = e.axisX.labelOffset.x, "start" === e.axisX.position ? m.y = this.chartRect.padding.top + e.axisX.labelOffset.y + (d ? 5 : 20) : m.y = this.chartRect.y1 + e.axisX.labelOffset.y + (d ? 5 : 20)) : (j = this.chartRect.y1 - j, m.y = e.axisY.labelOffset.y - (d ? l : 0), "start" === e.axisY.position ? m.x = d ? this.chartRect.padding.left + e.axisY.labelOffset.x : this.chartRect.x1 - 10 : m.x = this.chartRect.x2 + e.axisY.labelOffset.x + 10), g.showGrid && c.createGrid(j, k, this, this.gridOffset, this.chartRect[this.counterUnits.len](), a, [e.classNames.grid, e.classNames[this.units.dir]], f), g.showLabel && c.createLabel(j, l, k, i, this, g.offset, m, b, [e.classNames.label, e.classNames[this.units.dir], "start" === g.position ? e.classNames[g.position] : e.classNames.end], d, f)) }.bind(this)) } var f = { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }; c.Axis = c.Class.extend({ constructor: d, createGridAndLabels: e, projectValue: function (a, b, c) { throw new Error("Base axis can't be instantiated!") } }), c.Axis.units = f }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, d, e) { var f = e.highLow || c.getHighLow(b, e, a.pos); this.bounds = c.getBounds(d[a.rectEnd] - d[a.rectStart], f, e.scaleMinSpace || 20, e.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, c.AutoScaleAxis["super"].constructor.call(this, a, d, this.bounds.values, e) } function e(a) { return this.axisLength * (+c.getMultiValue(a, this.units.pos) - this.bounds.min) / this.bounds.range } c.AutoScaleAxis = c.Axis.extend({ constructor: d, projectValue: e }) }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, d, e) { var f = e.highLow || c.getHighLow(b, e, a.pos); this.divisor = e.divisor || 1, this.ticks = e.ticks || c.times(this.divisor).map(function (a, b) { return f.low + (f.high - f.low) / this.divisor * b }.bind(this)), this.ticks.sort(function (a, b) { return a - b }), this.range = { min: f.low, max: f.high }, c.FixedScaleAxis["super"].constructor.call(this, a, d, this.ticks, e), this.stepLength = this.axisLength / this.divisor } function e(a) { return this.axisLength * (+c.getMultiValue(a, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } c.FixedScaleAxis = c.Axis.extend({ constructor: d, projectValue: e }) }(window, document, a), function (a, b, c) { "use strict"; function d(a, b, d, e) { c.StepAxis["super"].constructor.call(this, a, d, e.ticks, e); var f = Math.max(1, e.ticks.length - (e.stretch ? 1 : 0)); this.stepLength = this.axisLength / f } function e(a, b) { return this.stepLength * b } c.StepAxis = c.Axis.extend({ constructor: d, projectValue: e }) }(window, document, a), function (a, b, c) { "use strict"; function d(a) { var b = c.normalizeData(this.data, a.reverseData, !0); this.svg = c.createSvg(this.container, a.width, a.height, a.classNames.chart); var d, e, g = this.svg.elem("g").addClass(a.classNames.gridGroup), h = this.svg.elem("g"), i = this.svg.elem("g").addClass(a.classNames.labelGroup), j = c.createChartRect(this.svg, a, f.padding); d = void 0 === a.axisX.type ? new c.StepAxis(c.Axis.units.x, b.normalized.series, j, c.extend({}, a.axisX, { ticks: b.normalized.labels, stretch: a.fullWidth })) : a.axisX.type.call(c, c.Axis.units.x, b.normalized.series, j, a.axisX), e = void 0 === a.axisY.type ? new c.AutoScaleAxis(c.Axis.units.y, b.normalized.series, j, c.extend({}, a.axisY, { high: c.isNumeric(a.high) ? a.high : a.axisY.high, low: c.isNumeric(a.low) ? a.low : a.axisY.low })) : a.axisY.type.call(c, c.Axis.units.y, b.normalized.series, j, a.axisY), d.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), e.createGridAndLabels(g, i, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && c.createGridBackground(g, j, a.classNames.gridBackground, this.eventEmitter), b.raw.series.forEach(function (f, g) { var i = h.elem("g"); i.attr({ "ct:series-name": f.name, "ct:meta": c.serialize(f.meta) }), i.addClass([a.classNames.series, f.className || a.classNames.series + "-" + c.alphaNumerate(g)].join(" ")); var k = [], l = []; b.normalized.series[g].forEach(function (a, h) { var i = { x: j.x1 + d.projectValue(a, h, b.normalized.series[g]), y: j.y1 - e.projectValue(a, h, b.normalized.series[g]) }; k.push(i.x, i.y), l.push({ value: a, valueIndex: h, meta: c.getMetaData(f, h) }) }.bind(this)); var m = { lineSmooth: c.getSeriesOption(f, a, "lineSmooth"), showPoint: c.getSeriesOption(f, a, "showPoint"), showLine: c.getSeriesOption(f, a, "showLine"), showArea: c.getSeriesOption(f, a, "showArea"), areaBase: c.getSeriesOption(f, a, "areaBase") }, n = "function" == typeof m.lineSmooth ? m.lineSmooth : m.lineSmooth ? c.Interpolation.monotoneCubic() : c.Interpolation.none(), o = n(k, l); if (m.showPoint && o.pathElements.forEach(function (b) { var h = i.elem("line", { x1: b.x, y1: b.y, x2: b.x + .01, y2: b.y }, a.classNames.point).attr({ "ct:value": [b.data.value.x, b.data.value.y].filter(c.isNumeric).join(","), "ct:meta": c.serialize(b.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: b.data.value, index: b.data.valueIndex, meta: b.data.meta, series: f, seriesIndex: g, axisX: d, axisY: e, group: i, element: h, x: b.x, y: b.y }) }.bind(this)), m.showLine) { var p = i.elem("path", { d: o.stringify() }, a.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: b.normalized.series[g], path: o.clone(), chartRect: j, index: g, series: f, seriesIndex: g, seriesMeta: f.meta, axisX: d, axisY: e, group: i, element: p }) } if (m.showArea && e.range) { var q = Math.max(Math.min(m.areaBase, e.range.max), e.range.min), r = j.y1 - e.projectValue(q); o.splitByCommand("M").filter(function (a) { return a.pathElements.length > 1 }).map(function (a) { var b = a.pathElements[0], c = a.pathElements[a.pathElements.length - 1]; return a.clone(!0).position(0).remove(1).move(b.x, r).line(b.x, b.y).position(a.pathElements.length + 1).line(c.x, r) }).forEach(function (c) { var h = i.elem("path", { d: c.stringify() }, a.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: b.normalized.series[g], path: c.clone(), series: f, seriesIndex: g, axisX: d, axisY: e, chartRect: j, index: g, group: i, element: h }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: e.bounds, chartRect: j, axisX: d, axisY: e, svg: this.svg, options: a }) } function e(a, b, d, e) { c.Line["super"].constructor.call(this, a, b, f, c.extend({}, f, d), e) } var f = { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }; c.Line = c.Base.extend({ constructor: e, createChart: d }) }(window, document, a), function (a, b, c) {
"use strict"; function d(a) {
var b, d; a.distributeSeries ? (b = c.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), b.normalized.series = b.normalized.series.map(function (a) { return [a] })) : b = c.normalizeData(this.data, a.reverseData, a.horizontalBars ? "x" : "y"), this.svg = c.createSvg(this.container, a.width, a.height, a.classNames.chart + (a.horizontalBars ? " " + a.classNames.horizontalBars : "")); var e = this.svg.elem("g").addClass(a.classNames.gridGroup), g = this.svg.elem("g"), h = this.svg.elem("g").addClass(a.classNames.labelGroup); if (a.stackBars && 0 !== b.normalized.series.length) {
var i = c.serialMap(b.normalized.series, function () {
return Array.prototype.slice.call(arguments).map(function (a) { return a }).reduce(function (a, b) { return { x: a.x + (b && b.x) || 0, y: a.y + (b && b.y) || 0 } }, { x: 0, y: 0 })
}); d = c.getHighLow([i], a, a.horizontalBars ? "x" : "y")
} else d = c.getHighLow(b.normalized.series, a, a.horizontalBars ? "x" : "y"); d.high = +a.high || (0 === a.high ? 0 : d.high), d.low = +a.low || (0 === a.low ? 0 : d.low); var j, k, l, m, n, o = c.createChartRect(this.svg, a, f.padding); k = a.distributeSeries && a.stackBars ? b.normalized.labels.slice(0, 1) : b.normalized.labels, a.horizontalBars ? (j = m = void 0 === a.axisX.type ? new c.AutoScaleAxis(c.Axis.units.x, b.normalized.series, o, c.extend({}, a.axisX, { highLow: d, referenceValue: 0 })) : a.axisX.type.call(c, c.Axis.units.x, b.normalized.series, o, c.extend({}, a.axisX, { highLow: d, referenceValue: 0 })), l = n = void 0 === a.axisY.type ? new c.StepAxis(c.Axis.units.y, b.normalized.series, o, { ticks: k }) : a.axisY.type.call(c, c.Axis.units.y, b.normalized.series, o, a.axisY)) : (l = m = void 0 === a.axisX.type ? new c.StepAxis(c.Axis.units.x, b.normalized.series, o, { ticks: k }) : a.axisX.type.call(c, c.Axis.units.x, b.normalized.series, o, a.axisX), j = n = void 0 === a.axisY.type ? new c.AutoScaleAxis(c.Axis.units.y, b.normalized.series, o, c.extend({}, a.axisY, { highLow: d, referenceValue: 0 })) : a.axisY.type.call(c, c.Axis.units.y, b.normalized.series, o, c.extend({}, a.axisY, { highLow: d, referenceValue: 0 }))); var p = a.horizontalBars ? o.x1 + j.projectValue(0) : o.y1 - j.projectValue(0), q = []; l.createGridAndLabels(e, h, this.supportsForeignObject, a, this.eventEmitter), j.createGridAndLabels(e, h, this.supportsForeignObject, a, this.eventEmitter), a.showGridBackground && c.createGridBackground(e, o, a.classNames.gridBackground, this.eventEmitter), b.raw.series.forEach(function (d, e) { var f, h, i = e - (b.raw.series.length - 1) / 2; f = a.distributeSeries && !a.stackBars ? l.axisLength / b.normalized.series.length / 2 : a.distributeSeries && a.stackBars ? l.axisLength / 2 : l.axisLength / b.normalized.series[e].length / 2, h = g.elem("g"), h.attr({ "ct:series-name": d.name, "ct:meta": c.serialize(d.meta) }), h.addClass([a.classNames.series, d.className || a.classNames.series + "-" + c.alphaNumerate(e)].join(" ")), b.normalized.series[e].forEach(function (g, k) { var r, s, t, u; if (u = a.distributeSeries && !a.stackBars ? e : a.distributeSeries && a.stackBars ? 0 : k, r = a.horizontalBars ? { x: o.x1 + j.projectValue(g && g.x ? g.x : 0, k, b.normalized.series[e]), y: o.y1 - l.projectValue(g && g.y ? g.y : 0, u, b.normalized.series[e]) } : { x: o.x1 + l.projectValue(g && g.x ? g.x : 0, u, b.normalized.series[e]), y: o.y1 - j.projectValue(g && g.y ? g.y : 0, k, b.normalized.series[e]) }, l instanceof c.StepAxis && (l.options.stretch || (r[l.units.pos] += f * (a.horizontalBars ? -1 : 1)), r[l.units.pos] += a.stackBars || a.distributeSeries ? 0 : i * a.seriesBarDistance * (a.horizontalBars ? -1 : 1)), t = q[k] || p, q[k] = t - (p - r[l.counterUnits.pos]), void 0 !== g) { var v = {}; v[l.units.pos + "1"] = r[l.units.pos], v[l.units.pos + "2"] = r[l.units.pos], !a.stackBars || "accumulate" !== a.stackMode && a.stackMode ? (v[l.counterUnits.pos + "1"] = p, v[l.counterUnits.pos + "2"] = r[l.counterUnits.pos]) : (v[l.counterUnits.pos + "1"] = t, v[l.counterUnits.pos + "2"] = q[k]), v.x1 = Math.min(Math.max(v.x1, o.x1), o.x2), v.x2 = Math.min(Math.max(v.x2, o.x1), o.x2), v.y1 = Math.min(Math.max(v.y1, o.y2), o.y1), v.y2 = Math.min(Math.max(v.y2, o.y2), o.y1); var w = c.getMetaData(d, k); s = h.elem("line", v, a.classNames.bar).attr({ "ct:value": [g.x, g.y].filter(c.isNumeric).join(","), "ct:meta": c.serialize(w) }), this.eventEmitter.emit("draw", c.extend({ type: "bar", value: g, index: k, meta: w, series: d, seriesIndex: e, axisX: m, axisY: n, chartRect: o, group: h, element: s }, v)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: j.bounds, chartRect: o, axisX: m, axisY: n, svg: this.svg, options: a })
} function e(a, b, d, e) { c.Bar["super"].constructor.call(this, a, b, f, c.extend({}, f, d), e) } var f = { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: c.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }; c.Bar = c.Base.extend({ constructor: e, createChart: d })
}(window, document, a), function (a, b, c) { "use strict"; function d(a, b, c) { var d = b.x > a.x; return d && "explode" === c || !d && "implode" === c ? "start" : d && "implode" === c || !d && "explode" === c ? "end" : "middle" } function e(a) { var b, e, f, h, i, j = c.normalizeData(this.data), k = [], l = a.startAngle; this.svg = c.createSvg(this.container, a.width, a.height, a.donut ? a.classNames.chartDonut : a.classNames.chartPie), e = c.createChartRect(this.svg, a, g.padding), f = Math.min(e.width() / 2, e.height() / 2), i = a.total || j.normalized.series.reduce(function (a, b) { return a + b }, 0); var m = c.quantity(a.donutWidth); "%" === m.unit && (m.value *= f / 100), f -= a.donut && !a.donutSolid ? m.value / 2 : 0, h = "outside" === a.labelPosition || a.donut && !a.donutSolid ? f : "center" === a.labelPosition ? 0 : a.donutSolid ? f - m.value / 2 : f / 2, h += a.labelOffset; var n = { x: e.x1 + e.width() / 2, y: e.y2 + e.height() / 2 }, o = 1 === j.raw.series.filter(function (a) { return a.hasOwnProperty("value") ? 0 !== a.value : 0 !== a }).length; j.raw.series.forEach(function (a, b) { k[b] = this.svg.elem("g", null, null) }.bind(this)), a.showLabel && (b = this.svg.elem("g", null, null)), j.raw.series.forEach(function (e, g) { if (0 !== j.normalized.series[g] || !a.ignoreEmptyValues) { k[g].attr({ "ct:series-name": e.name }), k[g].addClass([a.classNames.series, e.className || a.classNames.series + "-" + c.alphaNumerate(g)].join(" ")); var p = i > 0 ? l + j.normalized.series[g] / i * 360 : 0, q = Math.max(0, l - (0 === g || o ? 0 : .2)); p - q >= 359.99 && (p = q + 359.99); var r, s, t, u = c.polarToCartesian(n.x, n.y, f, q), v = c.polarToCartesian(n.x, n.y, f, p), w = new c.Svg.Path(!a.donut || a.donutSolid).move(v.x, v.y).arc(f, f, 0, p - l > 180, 0, u.x, u.y); a.donut ? a.donutSolid && (t = f - m.value, r = c.polarToCartesian(n.x, n.y, t, l - (0 === g || o ? 0 : .2)), s = c.polarToCartesian(n.x, n.y, t, p), w.line(r.x, r.y), w.arc(t, t, 0, p - l > 180, 1, s.x, s.y)) : w.line(n.x, n.y); var x = a.classNames.slicePie; a.donut && (x = a.classNames.sliceDonut, a.donutSolid && (x = a.classNames.sliceDonutSolid)); var y = k[g].elem("path", { d: w.stringify() }, x); if (y.attr({ "ct:value": j.normalized.series[g], "ct:meta": c.serialize(e.meta) }), a.donut && !a.donutSolid && (y._node.style.strokeWidth = m.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: j.normalized.series[g], totalDataSum: i, index: g, meta: e.meta, series: e, group: k[g], element: y, path: w.clone(), center: n, radius: f, startAngle: l, endAngle: p }), a.showLabel) { var z; z = 1 === j.raw.series.length ? { x: n.x, y: n.y } : c.polarToCartesian(n.x, n.y, h, l + (p - l) / 2); var A; A = j.normalized.labels && !c.isFalseyButZero(j.normalized.labels[g]) ? j.normalized.labels[g] : j.normalized.series[g]; var B = a.labelInterpolationFnc(A, g); if (B || 0 === B) { var C = b.elem("text", { dx: z.x, dy: z.y, "text-anchor": d(n, z, a.labelDirection) }, a.classNames.label).text("" + B); this.eventEmitter.emit("draw", { type: "label", index: g, group: b, element: C, text: "" + B, x: z.x, y: z.y }) } } l = p } }.bind(this)), this.eventEmitter.emit("created", { chartRect: e, svg: this.svg, options: a }) } function f(a, b, d, e) { c.Pie["super"].constructor.call(this, a, b, g, c.extend({}, g, d), e) } var g = { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: c.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }; c.Pie = c.Base.extend({ constructor: f, createChart: e, determineAnchorPosition: d }) }(window, document, a), a
});
var i, l, selectedLine = null;
/* Navigate to hash without browser history entry */
var navigateToHash = function () {
if (window.history !== undefined && window.history.replaceState !== undefined) {
window.history.replaceState(undefined, undefined, this.getAttribute("href"));
}
};
var hashLinks = document.getElementsByClassName('navigatetohash');
for (i = 0, l = hashLinks.length; i < l; i++) {
hashLinks[i].addEventListener('click', navigateToHash);
}
/* Switch test method */
var switchTestMethod = function () {
var method = this.getAttribute("value");
console.log("Selected test method: " + method);
var lines, i, l, coverageData, lineAnalysis, cells;
lines = document.querySelectorAll('.lineAnalysis tr');
for (i = 1, l = lines.length; i < l; i++) {
coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"'));
lineAnalysis = coverageData[method];
cells = lines[i].querySelectorAll('td');
if (lineAnalysis === undefined) {
lineAnalysis = coverageData.AllTestMethods;
if (lineAnalysis.LVS !== 'gray') {
cells[0].setAttribute('class', 'red');
cells[1].innerText = cells[1].textContent = '0';
cells[4].setAttribute('class', 'lightred');
}
} else {
cells[0].setAttribute('class', lineAnalysis.LVS);
cells[1].innerText = cells[1].textContent = lineAnalysis.VC;
cells[4].setAttribute('class', 'light' + lineAnalysis.LVS);
}
}
};
var testMethods = document.getElementsByClassName('switchtestmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
testMethods[i].addEventListener('change', switchTestMethod);
}
/* Highlight test method by line */
var toggleLine = function () {
if (selectedLine === this) {
selectedLine = null;
} else {
selectedLine = null;
unhighlightTestMethods();
highlightTestMethods.call(this);
selectedLine = this;
}
};
var highlightTestMethods = function () {
if (selectedLine !== null) {
return;
}
var lineAnalysis;
var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"'));
var testMethods = document.getElementsByClassName('testmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
lineAnalysis = coverageData[testMethods[i].id];
if (lineAnalysis === undefined) {
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
} else {
testMethods[i].className += ' light' + lineAnalysis.LVS;
}
}
};
var unhighlightTestMethods = function () {
if (selectedLine !== null) {
return;
}
var testMethods = document.getElementsByClassName('testmethod');
for (i = 0, l = testMethods.length; i < l; i++) {
testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, "");
}
};
var coverableLines = document.getElementsByClassName('coverableline');
for (i = 0, l = coverableLines.length; i < l; i++) {
coverableLines[i].addEventListener('click', toggleLine);
coverableLines[i].addEventListener('mouseenter', highlightTestMethods);
coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods);
}
/* History charts */
var renderChart = function (chart) {
// Remove current children (e.g. PNG placeholder)
while (chart.firstChild) {
chart.firstChild.remove();
}
var chartData = window[chart.getAttribute('data-data')];
var options = {
axisY: {
type: undefined,
onlyInteger: true
},
lineSmooth: false,
low: 0,
high: 100,
scaleMinSpace: 20,
onlyInteger: true,
fullWidth: true
};
var lineChart = new Chartist.Line(chart, {
labels: [],
series: chartData.series
}, options);
/* Zoom */
var zoomButtonDiv = document.createElement("div");
zoomButtonDiv.className = "toggleZoom";
var zoomButtonLink = document.createElement("a");
zoomButtonLink.setAttribute("href", "");
var zoomButtonText = document.createElement("i");
zoomButtonText.className = "icon-search-plus";
zoomButtonLink.appendChild(zoomButtonText);
zoomButtonDiv.appendChild(zoomButtonLink);
chart.appendChild(zoomButtonDiv);
zoomButtonDiv.addEventListener('click', function (event) {
event.preventDefault();
if (options.axisY.type === undefined) {
options.axisY.type = Chartist.AutoScaleAxis;
zoomButtonText.className = "icon-search-minus";
} else {
options.axisY.type = undefined;
zoomButtonText.className = "icon-search-plus";
}
lineChart.update(null, options);
});
var tooltip = document.createElement("div");
tooltip.className = "tooltip";
chart.appendChild(tooltip);
/* Tooltips */
var showToolTip = function () {
var point = this;
var index = [].slice.call(chart.getElementsByClassName('ct-point')).indexOf(point);
tooltip.innerHTML = chartData.tooltips[index % chartData.tooltips.length];
tooltip.style.display = 'block';
};
var moveToolTip = function (event) {
var box = chart.getBoundingClientRect();
var left = event.pageX - box.left - window.pageXOffset;
var top = event.pageY - box.top - window.pageYOffset;
left = left + 20;
top = top - tooltip.offsetHeight / 2;
if (left + tooltip.offsetWidth > box.width) {
left -= tooltip.offsetWidth + 40;
}
if (top < 0) {
top = 0;
}
if (top + tooltip.offsetHeight > box.height) {
top = box.height - tooltip.offsetHeight;
}
tooltip.style.left = left + 'px';
tooltip.style.top = top + 'px';
};
var hideToolTip = function () {
tooltip.style.display = 'none';
};
chart.addEventListener('mousemove', moveToolTip);
lineChart.on('created', function () {
var chartPoints = chart.getElementsByClassName('ct-point');
for (i = 0, l = chartPoints.length; i < l; i++) {
chartPoints[i].addEventListener('mousemove', showToolTip);
chartPoints[i].addEventListener('mouseout', hideToolTip);
}
});
};
var charts = document.getElementsByClassName('historychart');
for (i = 0, l = charts.length; i < l; i++) {
renderChart(charts[i]);
}
var assemblies = [
{
"name": "MachineLearning",
"classes": [
{ "name": "MachineLearning.ArrayHelper", "rp": "MachineLearning_ArrayHelper.html", "cl": 6, "ucl": 16, "cal": 22, "tl": 49, "ct": "LineCoverage", "mc": "-", "cb": 4, "tb": 12, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Converters.BaseLearningConverter`4", "rp": "MachineLearning_BaseLearningConverter_4.html", "cl": 15, "ucl": 0, "cal": 15, "tl": 67, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Converters.BaseSupervisedLearningConverter`4", "rp": "MachineLearning_BaseSupervisedLearningConverter_4.html", "cl": 79, "ucl": 0, "cal": 79, "tl": 181, "ct": "LineCoverage", "mc": "-", "cb": 16, "tb": 16, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Converters.BaseUnsupervisedLearningConverter`4", "rp": "MachineLearning_BaseUnsupervisedLearningConverter_4.html", "cl": 67, "ucl": 0, "cal": 67, "tl": 149, "ct": "LineCoverage", "mc": "-", "cb": 12, "tb": 12, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessorResult`1", "rp": "MachineLearning_DataProcessorResult_1.html", "cl": 8, "ucl": 0, "cal": 8, "tl": 39, "ct": "LineCoverage", "mc": "-", "cb": 4, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessors.CorrelationColumnProcessor", "rp": "MachineLearning_CorrelationColumnProcessor.html", "cl": 33, "ucl": 0, "cal": 33, "tl": 59, "ct": "LineCoverage", "mc": "-", "cb": 12, "tb": 12, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessors.DuplicatesRowProcessor", "rp": "MachineLearning_DuplicatesRowProcessor.html", "cl": 29, "ucl": 0, "cal": 29, "tl": 57, "ct": "LineCoverage", "mc": "-", "cb": 8, "tb": 8, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessors.InvalidValuesColumnProcessor", "rp": "MachineLearning_InvalidValuesColumnProcessor.html", "cl": 39, "ucl": 0, "cal": 39, "tl": 83, "ct": "LineCoverage", "mc": "-", "cb": 14, "tb": 14, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessors.LowVariationColumnProcessor", "rp": "MachineLearning_LowVariationColumnProcessor.html", "cl": 23, "ucl": 0, "cal": 23, "tl": 54, "ct": "LineCoverage", "mc": "-", "cb": 6, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DataProcessors.OutlierRowProcessor", "rp": "MachineLearning_OutlierRowProcessor.html", "cl": 17, "ucl": 0, "cal": 17, "tl": 41, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.DistanceMetrics.EuclideanDistanceMetric", "rp": "MachineLearning_EuclideanDistanceMetric.html", "cl": 9, "ucl": 0, "cal": 9, "tl": 26, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.BaseCrossValidationLearningEvaluator", "rp": "MachineLearning_BaseCrossValidationLearningEvaluator.html", "cl": 7, "ucl": 7, "cal": 14, "tl": 54, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.BaseSupervisedCrossValidationEvaluator`2", "rp": "MachineLearning_BaseSupervisedCrossValidationEvaluator_2.html", "cl": 32, "ucl": 5, "cal": 37, "tl": 103, "ct": "LineCoverage", "mc": "-", "cb": 6, "tb": 8, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.BaseUnsupervisedCrossValidationEvaluator`2", "rp": "MachineLearning_BaseUnsupervisedCrossValidationEvaluator_2.html", "cl": 28, "ucl": 3, "cal": 31, "tl": 93, "ct": "LineCoverage", "mc": "-", "cb": 5, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.ClassificationCrossValidationEvaluator", "rp": "MachineLearning_ClassificationCrossValidationEvaluator.html", "cl": 29, "ucl": 0, "cal": 29, "tl": 58, "ct": "LineCoverage", "mc": "-", "cb": 10, "tb": 10, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.ClusteringCrossValidationEvaluator", "rp": "MachineLearning_ClusteringCrossValidationEvaluator.html", "cl": 14, "ucl": 0, "cal": 14, "tl": 39, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.RegressionCrossValidationEvaluator", "rp": "MachineLearning_RegressionCrossValidationEvaluator.html", "cl": 14, "ucl": 0, "cal": 14, "tl": 39, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningEvaluators.ValidationFold", "rp": "MachineLearning_ValidationFold.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 29, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningHelper", "rp": "MachineLearning_LearningHelper.html", "cl": 6, "ucl": 6, "cal": 12, "tl": 43, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningModelData`2", "rp": "MachineLearning_LearningModelData_2.html", "cl": 6, "ucl": 0, "cal": 6, "tl": 31, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningModels.KMeanLearningModel", "rp": "MachineLearning_KMeanLearningModel.html", "cl": 13, "ucl": 12, "cal": 25, "tl": 84, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningModels.KNearestNeighborsModel", "rp": "MachineLearning_KNearestNeighborsModel.html", "cl": 18, "ucl": 7, "cal": 25, "tl": 88, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningModels.MetricAdapter", "rp": "MachineLearning_MetricAdapter.html", "cl": 2, "ucl": 0, "cal": 2, "tl": 24, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.LearningModels.MultipleLinearRegressionModel", "rp": "MachineLearning_MultipleLinearRegressionModel.html", "cl": 7, "ucl": 0, "cal": 7, "tl": 33, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Scalers.MinMaxScaler", "rp": "MachineLearning_MinMaxScaler.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 52, "ct": "LineCoverage", "mc": "-", "cb": 6, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.AccuracyScoreMetric", "rp": "MachineLearning_AccuracyScoreMetric.html", "cl": 13, "ucl": 0, "cal": 13, "tl": 31, "ct": "LineCoverage", "mc": "-", "cb": 10, "tb": 10, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.AdjustedRandIndexScoreMetric", "rp": "MachineLearning_AdjustedRandIndexScoreMetric.html", "cl": 69, "ucl": 0, "cal": 69, "tl": 114, "ct": "LineCoverage", "mc": "-", "cb": 29, "tb": 30, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.F1ScoreMetric", "rp": "MachineLearning_F1ScoreMetric.html", "cl": 32, "ucl": 0, "cal": 32, "tl": 56, "ct": "LineCoverage", "mc": "-", "cb": 20, "tb": 22, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.RSquaredScoreMetric", "rp": "MachineLearning_RSquaredScoreMetric.html", "cl": 12, "ucl": 0, "cal": 12, "tl": 32, "ct": "LineCoverage", "mc": "-", "cb": 10, "tb": 10, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.SilhouetteScoreMetric", "rp": "MachineLearning_SilhouetteScoreMetric.html", "cl": 48, "ucl": 2, "cal": 50, "tl": 104, "ct": "LineCoverage", "mc": "-", "cb": 17, "tb": 18, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.ScoreMetrics.SmapeScoreMetric", "rp": "MachineLearning_SmapeScoreMetric.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 41, "ct": "LineCoverage", "mc": "-", "cb": 14, "tb": 14, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "MachineLearning.Tests",
"classes": [
{ "name": "AutoGeneratedProgram", "rp": "MachineLearning.Tests_AutoGeneratedProgram.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 4, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.BaseLearningConverterTests", "rp": "MachineLearning.Tests_BaseLearningConverterTests.html", "cl": 22, "ucl": 0, "cal": 22, "tl": 47, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.BaseSupervisedLearningConverterTests", "rp": "MachineLearning.Tests_BaseSupervisedLearningConverterTests.html", "cl": 44, "ucl": 0, "cal": 44, "tl": 74, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.BaseUnsupervisedLearningConverterTests", "rp": "MachineLearning.Tests_BaseUnsupervisedLearningConverterTests.html", "cl": 40, "ucl": 0, "cal": 40, "tl": 70, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.LearningConverterPrototype", "rp": "MachineLearning.Tests_LearningConverterPrototype.html", "cl": 5, "ucl": 4, "cal": 9, "tl": 33, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.SupervisedLearningConverterPrototype", "rp": "MachineLearning.Tests_SupervisedLearningConverterPrototype.html", "cl": 12, "ucl": 1, "cal": 13, "tl": 39, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Converters.UnsupervisedLearningConverterPrototype", "rp": "MachineLearning.Tests_UnsupervisedLearningConverterPrototype.html", "cl": 11, "ucl": 1, "cal": 12, "tl": 37, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DataProcessors.CorrelationColumnProcessorTests", "rp": "MachineLearning.Tests_CorrelationColumnProcessorTests.html", "cl": 28, "ucl": 0, "cal": 28, "tl": 47, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DataProcessors.DuplicatesRowProcessorTests", "rp": "MachineLearning.Tests_DuplicatesRowProcessorTests.html", "cl": 27, "ucl": 0, "cal": 27, "tl": 46, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DataProcessors.InvalidValuesColumnProcessorTests", "rp": "MachineLearning.Tests_InvalidValuesColumnProcessorTests.html", "cl": 44, "ucl": 0, "cal": 44, "tl": 70, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DataProcessors.LowVariationColumnProcessorTests", "rp": "MachineLearning.Tests_LowVariationColumnProcessorTests.html", "cl": 32, "ucl": 0, "cal": 32, "tl": 51, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DataProcessors.OutlierRowProcessorTests", "rp": "MachineLearning.Tests_OutlierRowProcessorTests.html", "cl": 32, "ucl": 0, "cal": 32, "tl": 51, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.DistanceMetrics.EuclideanDistanceMetricTests", "rp": "MachineLearning.Tests_EuclideanDistanceMetricTests.html", "cl": 17, "ucl": 0, "cal": 17, "tl": 43, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.ClassificationCrossValidationEvaluatorPrototype", "rp": "MachineLearning.Tests_ClassificationCrossValidationEvaluatorPrototype.html", "cl": 1, "ucl": 0, "cal": 1, "tl": 12, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.ClassificationCrossValidationEvaluatorTests", "rp": "MachineLearning.Tests_ClassificationCrossValidationEvaluatorTests.html", "cl": 71, "ucl": 0, "cal": 71, "tl": 107, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.ClusteringCrossValidationEvaluatorPrototype", "rp": "MachineLearning.Tests_ClusteringCrossValidationEvaluatorPrototype.html", "cl": 1, "ucl": 0, "cal": 1, "tl": 11, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.ClusteringCrossValidationEvaluatorTests", "rp": "MachineLearning.Tests_ClusteringCrossValidationEvaluatorTests.html", "cl": 86, "ucl": 0, "cal": 86, "tl": 122, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.RegressionCrossValidationEvaluatorPrototype", "rp": "MachineLearning.Tests_RegressionCrossValidationEvaluatorPrototype.html", "cl": 1, "ucl": 0, "cal": 1, "tl": 12, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.RegressionCrossValidationEvaluatorTests", "rp": "MachineLearning.Tests_RegressionCrossValidationEvaluatorTests.html", "cl": 68, "ucl": 0, "cal": 68, "tl": 104, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningEvaluators.ValidationFoldComparer", "rp": "MachineLearning.Tests_ValidationFoldComparer.html", "cl": 2, "ucl": 1, "cal": 3, "tl": 16, "ct": "LineCoverage", "mc": "-", "cb": 1, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningModels.KMeanLearningModelTests", "rp": "MachineLearning.Tests_KMeanLearningModelTests.html", "cl": 26, "ucl": 0, "cal": 26, "tl": 48, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningModels.KNearestNeighborsModelTests", "rp": "MachineLearning.Tests_KNearestNeighborsModelTests.html", "cl": 24, "ucl": 0, "cal": 24, "tl": 43, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.LearningModels.MultipleLinearRegressionModelTests", "rp": "MachineLearning.Tests_MultipleLinearRegressionModelTests.html", "cl": 24, "ucl": 0, "cal": 24, "tl": 44, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.Scalers.MinMaxScalerTests", "rp": "MachineLearning.Tests_MinMaxScalerTests.html", "cl": 35, "ucl": 0, "cal": 35, "tl": 71, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.AccuracyScoreMetricTests", "rp": "MachineLearning.Tests_AccuracyScoreMetricTests.html", "cl": 28, "ucl": 0, "cal": 28, "tl": 53, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.AdjustedRandIndexScoreMetricTests", "rp": "MachineLearning.Tests_AdjustedRandIndexScoreMetricTests.html", "cl": 37, "ucl": 0, "cal": 37, "tl": 70, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.F1ScoreMetricTests", "rp": "MachineLearning.Tests_F1ScoreMetricTests.html", "cl": 30, "ucl": 0, "cal": 30, "tl": 55, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.RSquaredScoreMetricTests", "rp": "MachineLearning.Tests_RSquaredScoreMetricTests.html", "cl": 30, "ucl": 0, "cal": 30, "tl": 55, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.SilhouetteScoreMetricTests", "rp": "MachineLearning.Tests_SilhouetteScoreMetricTests.html", "cl": 36, "ucl": 0, "cal": 36, "tl": 62, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "MachineLearning.Tests.ScoreMetrics.SmapeScoreMetricTests", "rp": "MachineLearning.Tests_SmapeScoreMetricTests.html", "cl": 30, "ucl": 0, "cal": 30, "tl": 55, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "Model",
"classes": [
{ "name": "Model.TaskHelper", "rp": "Model_TaskHelper.html", "cl": 27, "ucl": 1, "cal": 28, "tl": 89, "ct": "LineCoverage", "mc": "-", "cb": 19, "tb": 22, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tasks.TaskComposite", "rp": "Model_TaskComposite.html", "cl": 32, "ucl": 33, "cal": 65, "tl": 141, "ct": "LineCoverage", "mc": "-", "cb": 11, "tb": 28, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tasks.TaskElement", "rp": "Model_TaskElement.html", "cl": 25, "ucl": 19, "cal": 44, "tl": 179, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Times.TimeIntervalElement", "rp": "Model_TimeIntervalElement.html", "cl": 26, "ucl": 0, "cal": 26, "tl": 81, "ct": "LineCoverage", "mc": "-", "cb": 10, "tb": 10, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Times.TimeIntervalList", "rp": "Model_TimeIntervalList.html", "cl": 26, "ucl": 0, "cal": 26, "tl": 65, "ct": "LineCoverage", "mc": "-", "cb": 8, "tb": 8, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "Model.Tests",
"classes": [
{ "name": "AutoGeneratedProgram", "rp": "Model.Tests_AutoGeneratedProgram.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 4, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tests.TaskHelperTests", "rp": "Model.Tests_TaskHelperTests.html", "cl": 111, "ucl": 0, "cal": 111, "tl": 162, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tests.Tasks.TaskCompositeTests", "rp": "Model.Tests_TaskCompositeTests.html", "cl": 67, "ucl": 0, "cal": 67, "tl": 123, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tests.Tasks.TaskElementTests", "rp": "Model.Tests_TaskElementTests.html", "cl": 0, "ucl": 3, "cal": 3, "tl": 17, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tests.Times.TimeIntervalElementTests", "rp": "Model.Tests_TimeIntervalElementTests.html", "cl": 12, "ucl": 0, "cal": 12, "tl": 32, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "Model.Tests.Times.TimeIntervalListTests", "rp": "Model.Tests_TimeIntervalListTests.html", "cl": 14, "ucl": 0, "cal": 14, "tl": 34, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "TrackableFeatures",
"classes": [
{ "name": "TrackableFeatures.TrackableCollection`1", "rp": "TrackableFeatures_TrackableCollection_1.html", "cl": 89, "ucl": 21, "cal": 110, "tl": 279, "ct": "LineCoverage", "mc": "-", "cb": 12, "tb": 14, "lch": [], "bch": [], "hc": [] },
{ "name": "TrackableFeatures.TrackableObject", "rp": "TrackableFeatures_TrackableObject.html", "cl": 62, "ucl": 12, "cal": 74, "tl": 164, "ct": "LineCoverage", "mc": "-", "cb": 34, "tb": 44, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "TrackableFeatures.Tests",
"classes": [
{ "name": "AutoGeneratedProgram", "rp": "TrackableFeatures.Tests_AutoGeneratedProgram.html", "cl": 0, "ucl": 1, "cal": 1, "tl": 4, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "TrackableFeatures.Tests.TrackableCollectionPrototype", "rp": "TrackableFeatures.Tests_TrackableCollectionPrototype.html", "cl": 12, "ucl": 0, "cal": 12, "tl": 28, "ct": "LineCoverage", "mc": "-", "cb": 2, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "TrackableFeatures.Tests.TrackableCollectionTests", "rp": "TrackableFeatures.Tests_TrackableCollectionTests.html", "cl": 145, "ucl": 0, "cal": 145, "tl": 219, "ct": "LineCoverage", "mc": "-", "cb": 29, "tb": 44, "lch": [], "bch": [], "hc": [] },
{ "name": "TrackableFeatures.Tests.TrackableObjectPrototype", "rp": "TrackableFeatures.Tests_TrackableObjectPrototype.html", "cl": 20, "ucl": 0, "cal": 20, "tl": 38, "ct": "LineCoverage", "mc": "-", "cb": 6, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "TrackableFeatures.Tests.TrackableObjectTests", "rp": "TrackableFeatures.Tests_TrackableObjectTests.html", "cl": 89, "ucl": 10, "cal": 99, "tl": 165, "ct": "LineCoverage", "mc": "-", "cb": 4, "tb": 8, "lch": [], "bch": [], "hc": [] },
]},
{
"name": "View",
"classes": [
{ "name": "CompiledAvaloniaXaml.!AvaloniaResources", "rp": "View__AvaloniaResources.html", "cl": 0, "ucl": 427, "cal": 427, "tl": 585, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 24, "lch": [], "bch": [], "hc": [] },
{ "name": "View.App", "rp": "View_App.html", "cl": 0, "ucl": 29, "cal": 29, "tl": 77, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 8, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Controls.DateTimePicker", "rp": "View_DateTimePicker.html", "cl": 0, "ucl": 36, "cal": 36, "tl": 90, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 8, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Converters.FormattableToStringConverter", "rp": "View_FormattableToStringConverter.html", "cl": 0, "ucl": 6, "cal": 6, "tl": 28, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Converters.StatisticElementsToColumnSeriesConverter", "rp": "View_StatisticElementsToColumnSeriesConverter.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 38, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Converters.StatisticElementsToPieSeriesConverter", "rp": "View_StatisticElementsToPieSeriesConverter.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 38, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Converters.TagsToStringConverter", "rp": "View_TagsToStringConverter.html", "cl": 0, "ucl": 10, "cal": 10, "tl": 37, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "View.DataTemplates.PageDataTemplate", "rp": "View_PageDataTemplate.html", "cl": 0, "ucl": 17, "cal": 17, "tl": 50, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 8, "lch": [], "bch": [], "hc": [] },
{ "name": "View.DataTemplates.TaskDataTemplate", "rp": "View_TaskDataTemplate.html", "cl": 0, "ucl": 31, "cal": 31, "tl": 74, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 26, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Extensions.DesignExtension", "rp": "View_DesignExtension.html", "cl": 0, "ucl": 9, "cal": 9, "tl": 50, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Extensions.EnumsExtension", "rp": "View_EnumsExtension.html", "cl": 0, "ucl": 8, "cal": 8, "tl": 39, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 4, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Implementations.AvaloniaLocalizationManager", "rp": "View_AvaloniaLocalizationManager.html", "cl": 0, "ucl": 29, "cal": 29, "tl": 85, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Implementations.AvaloniaResourceService", "rp": "View_AvaloniaResourceService.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 49, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Implementations.AvaloniaThemeManager", "rp": "View_AvaloniaThemeManager.html", "cl": 0, "ucl": 14, "cal": 14, "tl": 63, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Technilcals.PageMetadata", "rp": "View_PageMetadata.html", "cl": 0, "ucl": 2, "cal": 2, "tl": 18, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 0, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Technilcals.ViewContainerHelper", "rp": "View_ViewContainerHelper.html", "cl": 0, "ucl": 46, "cal": 46, "tl": 103, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.MainView", "rp": "View_MainView.html", "cl": 0, "ucl": 64, "cal": 64, "tl": 163, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 6, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.MainWindow", "rp": "View_MainWindow.html", "cl": 0, "ucl": 8, "cal": 8, "tl": 31, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.Modals.AddTaskView", "rp": "View_AddTaskView.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 43, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.Modals.AddTimeIntervalView", "rp": "View_AddTimeIntervalView.html", "cl": 0, "ucl": 22, "cal": 22, "tl": 54, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.Modals.CopyTasksView", "rp": "View_CopyTasksView.html", "cl": 0, "ucl": 22, "cal": 22, "tl": 54, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.Modals.EditTaskView", "rp": "View_EditTaskView.html", "cl": 0, "ucl": 13, "cal": 13, "tl": 43, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },
{ "name": "View.Views.Modals.EditTimeIntervalView", "rp": "View_EditTimeIntervalView.html", "cl": 0, "ucl": 14, "cal": 14, "tl": 45, "ct": "LineCoverage", "mc": "-", "cb": 0, "tb": 2, "lch": [], "bch": [], "hc": [] },