From c64fdd4e4fc0d21ab156b48884b7de6551187558 Mon Sep 17 00:00:00 2001
From: jg8481 <joshua.gorospe@gmail.com>
Date: Thu, 11 Apr 2024 05:56:37 -0400
Subject: [PATCH] Add a Gas Report enhancement to the Hardhat Ethers.js
 automation

---
 ...t-contract-hardhat-Ethereum-tests-log.html |  450 ++++++--
 ...contract-hardhat-Ethereum-tests-output.xml | 1010 ++++++++---------
 .../robotframework-hardhat-remote-library.js  |   38 +-
 ...robotframework-hardhat-test-keywords.robot |   10 +-
 4 files changed, 892 insertions(+), 616 deletions(-)

diff --git a/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-log.html b/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-log.html
index 90f6e21..0c16665 100644
--- a/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-log.html
+++ b/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-log.html
@@ -5,16 +5,60 @@
 <meta http-equiv="Pragma" content="no-cache">
 <meta http-equiv="Expires" content="-1">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta content="Robot Framework 6.0.2 (Python 3.9.12 on darwin)" name="Generator">
+<meta content="Robot Framework 7.0 (Python 3.11.8 on darwin)" name="Generator">
 <link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAqAAAAAAAAAAAAAAAAAAAALIAAAD/AAAA4AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA4AAAAP8AAACxAAAAAAAAAKYAAAD/AAAAuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AAAA/wAAAKkAAAD6AAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN8AAAD/AAAA+gAAAMMAAAAAAAAAAgAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAADAAAAAAAAADaAAAA/wAAAPoAAADDAAAAAAAAAIsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAAAAAA2gAAAP8AAAD6AAAAwwAAAAAAAAAAAAAAMgAAADIAAAAyAAAAMgAAADIAAAAyAAAAMgAAADIAAAAFAAAAAAAAANoAAAD/AAAA+gAAAMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADaAAAA/wAAAPoAAADDAAAAAAAAADwAAAB8AAAAAAAAAGAAAABcAAAAAAAAAH8AAABKAAAAAAAAAAAAAAAAAAAA2gAAAP8AAAD6AAAAwwAAAAAAAADCAAAA/wAAACkAAADqAAAA4QAAAAAAAAD7AAAA/wAAALAAAAAGAAAAAAAAANoAAAD/AAAA+gAAAMMAAAAAAAAAIwAAAP4AAAD/AAAA/wAAAGAAAAAAAAAAAAAAAMkAAAD/AAAAigAAAAAAAADaAAAA/wAAAPoAAADDAAAAAAAAAAAAAAAIAAAAcAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAA2gAAAP8AAAD7AAAAywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN4AAAD/AAAAqwAAAP8AAACvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALIAAAD/AAAAsgAAAAAAAAC5AAAA/wAAAMoAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMkAAAD/AAAAvAAAAAAAAAAAAAAAAAAAAKwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAArQAAAAAAAAAAwAMAAIABAAAf+AAAP/wAAD/8AAAgBAAAP/wAAD/8AAA//AAAJIwAADHEAAA//AAAP/wAAB/4AACAAQAAwAMAAA==">
-<style media="all" type="text/css">
+<style media="all">
+:root {
+    --text-color: black;
+    --background-color: white;
+    --primary-color: #ddd;
+    --secondary-color: #ccc;
+    --link-color: #15c;
+    --link-hover-color: #61c;
+    --highlight-color: #eee;
+    --target-color: #f9f9f9;
+    --pass-color: #97bd61;
+    --fail-color: #ce3e01;
+    --warn-color: #fed84f;
+    --pass-link-color: #098a09;
+    --warn-link-color: #927201;
+    --fail-link-color: #ce3e01;
+    --ascending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);
+    --descending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);
+}
+@media (prefers-color-scheme: dark) {
+    :root {
+        color-scheme: dark;
+    }
+}
+[data-theme="dark"] {
+    --text-color: #e2e1d7;
+    --background-color: #1c2227;
+    --primary-color: #26373b;
+    --secondary-color: #424f5a;
+    --link-color: #8cc4ff;
+    --link-hover-color: #bb86fc;
+    --highlight-color: #002b36;
+    --target-color: #1a252e;
+    --pass-link-color: #97bd61;
+    --warn-link-color: #fed84f;
+    --fail-link-color: #ff9b8f;
+    --ascending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAAfn5+////f/cqYgAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);
+    --descending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAA////fn5+K6jOaAAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);
+}
 /* Generic and misc styles */
 body {
     font-family: Helvetica, sans-serif;
     font-size: 0.8em;
-    color: black;
+    color: black; /* Fallback value */
+    color: var(--text-color);
     padding: 6px;
-    background: white;
+    background: white; /* Fallback value */
+    background: var(--background-color);
+    margin-left: 15px;
+}
+body[theme-toggled] {
+    transition: background 0.3s, background-color 0.3s, color 0.3s, border-color 0.3s;
 }
 table {
     table-layout: fixed;
@@ -29,20 +73,37 @@
     mso-data-placement: same-cell; /* maintain line breaks in Excel */
 }
 hr {
-    background: #ccc;
+    background: #ccc; /* Fallback value */
+    background: var(--secondary-color);
     height: 1px;
     border: 0;
 }
 a, a:link, a:visited {
     text-decoration: none;
-    color: #15c;
+    color: #15c; /* Fallback value */
+    color: var(--link-color);
 }
 a > img {
-    border: 1px solid #15c !important;
+    border-width: 1px !important;
+    border-style: solid !important;
+    border-color: #15c !important; /* Fallback value */
+    border-color: var(--link-color) !important;
 }
 a:hover, a:active {
     text-decoration: underline;
-    color: #61c;
+    color: #61c; /* Fallback value */
+    color: var(--link-hover-color);
+}
+select {
+    background-color: white; /* Fallback value */
+    background-color: var(--background-color);
+    color: black; /* Fallback value */
+    color: var(--text-color);
+    border-width: 2px;
+    border-style: solid;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
+    border-radius: 4px;
 }
 .parent-name {
     font-size: 0.7em;
@@ -55,7 +116,7 @@
 #header {
     width: 65em;
     height: 3em;
-    margin: 6px 0;
+    margin: 20px 0 6px 0;
 }
 h1 {
     float: left;
@@ -83,14 +144,17 @@
 }
 /* Status text colors -- !important allows using them in links */
 .fail {
-    color: #ce3e01 !important;
+    color: #ce3e01 !important; /* Fallback value */
+    color: var(--fail-link-color) !important;
     font-weight: bold;
 }
 .pass {
-    color: #098a09 !important;
+    color: #098a09 !important; /* Fallback value */
+    color: var(--pass-link-color) !important;
 }
 .skip {
-    color: #927201 !important;
+    color: #927201 !important; /* Fallback value */
+    color: var(--warn-link-color) !important;
     font-weight: bold;
 }
 .label {
@@ -98,8 +162,10 @@
     font-size: 0.75em;
     letter-spacing: 1px;
     white-space: nowrap;
-    color: black;
-    background-color: #ddd;
+    color: black; /* Fallback value */
+    color: var(--text-color);
+    background-color: #ddd; /* Fallback value */
+    background-color: var(--primary-color);
     border-radius: 3px;
 }
 .label.debug, .label.trace, .label.error, .label.keyword {
@@ -109,15 +175,18 @@
     font-weight: bold;
 }
 .label.pass {
-    background-color: #97bd61;
+    background-color: #97bd61; /* Fallback value */
+    background-color: var(--pass-color);
     color: #000 !important;
 }
 .label.fail, .label.error {
-    background-color: #ce3e01;
+    background-color: #ce3e01; /* Fallback value */
+    background-color: var(--fail-color);
     color: #fff !important;
 }
 .label.skip, .label.warn {
-    background-color: #fed84f;
+    background-color: #fed84f; /* Fallback value */
+    background-color: var(--warn-color);
     color: #000 !important;
 }
 /* Top right header */
@@ -146,7 +215,8 @@
     padding: 0.3em 0;
     font-size: 0.9em;
     border-bottom-left-radius: 4px;
-    background: #ddd;
+    background: #ddd; /* Fallback value */
+    background: var(--primary-color);
 }
 /* Statistics table */
 .statistics {
@@ -156,15 +226,20 @@
     margin-bottom: 1em;
 }
 .statistics tr:hover {
-    background: #f4f4f4;
+    background: #eee; /* Fallback value */
+    background: var(--highlight-color);
     cursor: pointer;
 }
 .statistics th, .statistics td {
-    border: 1px solid #ccc;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
     padding: 0.1em 0.3em;
 }
 .statistics th {
-    background-color: #ddd;
+    background-color: #ddd; /* Fallback value */
+    background-color: var(--primary-color);
     padding: 0.2em 0.3em;
 }
 .statistics td {
@@ -200,27 +275,33 @@
 }
 /* Statistics graph */
 .graph, .empty-graph {
-    border: 1px solid #ccc;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
     width: auto;
     height: 7px;
     padding: 0;
-    background: #aaa;
 }
 .empty-graph {
-    background: #eee;
+    background: #eee; /* Fallback value */
+    background: var(--highlight-color);
 }
 .pass-bar, .fail-bar, .skip-bar {
     float: left;
     height: 100%;
 }
 .fail-bar {
-    background: #ce3e01;
+    background: #ce3e01; /* Fallback value */
+    background: var(--fail-color);
 }
 .pass-bar {
-    background: #97bd61;
+    background: #97bd61; /* Fallback value */
+    background: var(--pass-color);
 }
 .skip-bar {
-    background: #fed84f;
+    background: #fed84f; /* Fallback value */
+    background: var(--warn-color);
 }
 /* Tablesorter - adapted from provided Blue Skin */
 .tablesorter-header {
@@ -230,30 +311,84 @@
     cursor: pointer;
 }
 .tablesorter-header:hover {
-    background-color: #ccc;
+    background-color: #ccc; /* Fallback value */
+    background-color: var(--secondary-color);
 }
 .tablesorter-headerAsc {
-    background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);
-    background-color: #ccc !important;
+    background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==); /* Fallback value */
+    background-image: var(--ascending-icon);
+    background-color: #ccc !important; /* Fallback value */
+    background-color: var(--secondary-color) !important;
 }
 .tablesorter-headerDesc {
-    background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);
-    background-color: #ccc !important;
+    background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==); /* Fallback value */
+    background-image: var(--descending-icon);
+    background-color: #ccc !important; /* Fallback value */
+    background-color: var(--secondary-color) !important;
 }
 .sorter-false {
     background-image: none;
     cursor: default;
 }
 .sorter-false:hover {
-    background-color: #ddd;
+    background-color: #ddd; /* Fallback value */
+    background-color: var(--primary-color);
+}
+#theme-toggle {
+    position: fixed;
+    right: 0;
+    bottom: 0;
+    width: 28px;
+    height: 28px;
+    border: none;
+    padding: 4px;
+    z-index: 1000;
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px;
+    background: var(--highlight-color);
+}
+[data-theme="dark"] .dark-mode-icon,
+[data-theme="light"] .light-mode-icon {
+    display: none;
+}
+[data-theme="dark"] .light-mode-icon,
+[data-theme="light"] .dark-mode-icon {
+    display: block;
+}
+@keyframes highlight {
+    0% {
+        background: var(--primary-color)
+    }
+    100% {
+        background: var(--target-color);
+    }
+}
+:target {
+    background: var(--target-color);
+    transition: background 0.3s;
+    animation: highlight 4s;
 }
 </style>
-<style media="all" type="text/css">
+<style media="all">
 /* Icons are from Open Iconic <https://useiconic.com/open/>.
    Licensed under the MIT License. */
+:root {
+    --icon-filter: invert(0);
+    --icon-highlight: var(--secondary-color);
+    --elapsed-color: #666;
+}
+/* @media (prefers-color-scheme: dark) { */
+[data-theme="dark"] {
+    --icon-filter: invert(1);
+    --icon-highlight: #a39990;
+    --elapsed-color: #999;
+}
 /* Containers */
 .suite, .test, #errors {
-    border: 1px solid #ccc;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
+    border-width: 1px;
+    border-style: solid;
     padding: 0.3em 0.2em;
     margin: 0.2em 0;
 }
@@ -282,8 +417,10 @@
 }
 .element-header:hover {
     cursor: pointer;
-    background-color: #eee;
-    border-color: #ccc;
+    background-color: #eee; /* Fallback value */
+    background-color: var(--highlight-color);
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
 }
 .element-header-toggle {
     position: absolute;
@@ -293,10 +430,14 @@
     background-position: center;
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JChSkZz20AAAAGklEQVQI12NgQAKMDKzInP8IDhOqMk4G7AAANQwBE427PYUAAAAASUVORK5CYII=);
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2Mmg4di0yaC04eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAzKSIgLz4KPC9zdmc+), none;
+    filter: var(--icon-filter);
     height: 10px;
     width: 10px;
     background-size: 6px 6px;
-    border: 1px solid #ccc;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--icon-highlight);
+    border-width: 1px;
+    border-style: solid;
     border-radius: 2px;
 }
 .closed > .element-header-toggle {
@@ -304,7 +445,8 @@
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0zIDB2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN2LTNoLTJ6IiAvPgo8L3N2Zz4=), none;
 }
 .element-header:hover > .element-header-toggle {
-    background-color: #ccc;
+    background-color: #ccc; /* Fallback value */
+    background-color: var(--icon-highlight);
 }
 .element-header-right:hover ~ .element-header-toggle {
     background-color: transparent;
@@ -324,23 +466,31 @@
 }
 .name {
     font-weight: bold;
+    white-space: pre-wrap;
+}
+.arg, .assign {
+    white-space: pre-wrap;
 }
 .elapsed {
     float: right;
-    color: #666;
+    color: #666; /* Fallback value */
+    color: var(--elapsed-color);
     padding-left: 1em;
 }
 .link {
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUGJVtzrEJwmAQBtCn6ASuIKTIBhY2gmghBiJYB1udwk10B8FJbKMBcQFbtbkfJHrVwfu+4/idJR64Y9H7E3higj5O3S8Y44ApLnjhnXCNGhV2yNGggDJwiC02gavUbpDFvscRo4QdXOMKDHBufz3HLYKzNn4AbSkV3fncGQYAAAAASUVORK5CYII=);
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik01Ljg4LjAzYy0uMTguMDEtLjM2LjAzLS41My4wOS0uMjcuMS0uNTMuMjUtLjc1LjQ3YS41LjUgMCAxIDAgLjY5LjY5Yy4xMS0uMTEuMjQtLjE3LjM4LS4yMi4zNS0uMTIuNzgtLjA3IDEuMDYuMjIuMzkuMzkuMzkgMS4wNCAwIDEuNDRsLTEuNSAxLjVjLS40NC40NC0uOC40OC0xLjA2LjQ3LS4yNi0uMDEtLjQxLS4xMy0uNDEtLjEzYS41LjUgMCAxIDAtLjUuODhzLjM0LjIyLjg0LjI1Yy41LjAzIDEuMi0uMTYgMS44MS0uNzhsMS41LTEuNWMuNzgtLjc4Ljc4LTIuMDQgMC0yLjgxLS4yOC0uMjgtLjYxLS40NS0uOTctLjUzLS4xOC0uMDQtLjM4LS4wNC0uNTYtLjAzem0tMiAyLjMxYy0uNS0uMDItMS4xOS4xNS0xLjc4Ljc1bC0xLjUgMS41Yy0uNzguNzgtLjc4IDIuMDQgMCAyLjgxLjU2LjU2IDEuMzYuNzIgMi4wNi40Ny4yNy0uMS41My0uMjUuNzUtLjQ3YS41LjUgMCAxIDAtLjY5LS42OWMtLjExLjExLS4yNC4xNy0uMzguMjItLjM1LjEyLS43OC4wNy0xLjA2LS4yMi0uMzktLjM5LS4zOS0xLjA0IDAtMS40NGwxLjUtMS41Yy40LS40Ljc1LS40NSAxLjAzLS40NC4yOC4wMS40Ny4wOS40Ny4wOWEuNS41IDAgMSAwIC40NC0uODhzLS4zNC0uMi0uODQtLjIyeiIKICAvPgo8L3N2Zz4=), none;
+    filter: var(--icon-filter);
 }
 .expand {
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUGJVjYCACKDAwMByA0ljFDjAwMPxnYGB4ABVQgLL/Q+VQBB6gseGmIivCkERXhFUSWRFOSawAAEl7E3uv1iMcAAAAAElFTkSuQmCC);
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0xLjUgMGwtMS41IDEuNSA0IDQgNC00LTEuNS0xLjUtMi41IDIuNS0yLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgLz4KPC9zdmc+), none;
+    filter: var(--icon-filter);
 }
 .collapse {
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUGJVjYCARNEAxTsn/UIyhCFkSQxG6ThQ+C5IpjWhG1yNb4YDFTdjEMAEACi8Q++9Y9TAAAAAASUVORK5CYII=);
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik00IDBsLTQgNCAxLjUgMS41IDIuNS0yLjUgMi41IDIuNSAxLjUtMS41LTQtNHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMSkiIC8+Cjwvc3ZnPg==), none;
+    filter: var(--icon-filter);
 }
 .expand, .collapse, .link {
     float: left;
@@ -352,7 +502,10 @@
     background-size: 8px 8px;
     background-repeat: no-repeat;
     background-position: center;
-    border: 1px solid #ccc;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--icon-highlight);
+    border-width: 1px;
+    border-style: solid;
     border-radius: 2px;
 }
 .link {
@@ -362,7 +515,8 @@
     visibility: visible;
 }
 .expand:hover, .collapse:hover, .link:hover {
-    background-color: #ccc;
+    background-color: #ccc; /* Fallback value */
+    background-color: var(--icon-highlight);
 }
 /* Messages and errors */
 .messages .time, .messages .message {
@@ -403,11 +557,16 @@
 .message-row:hover .select-message div {
     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0MOzhWKZQOAAAASUlEQVQY032PsRHAIAwDX9BkicD+W8UMEqegAQJWKZ/+3sLZJhFGQEZzNaIa4ibh66En867VNaIeoP5WppNuIGoAlOm3g5VC1AdYeQv1BZPRSgAAAABJRU5ErkJggg==);
     background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2MWg4di0xaC04em0wIDJ2MWg2di0xaC02em0wIDJ2MWg4di0xaC04em0wIDJ2MWg2di0xaC02eiIgLz4KPC9zdmc+), none;
-    border: 1px solid #ccc;
+    filter: var(--icon-filter);
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--icon-highlight);
+    border-width: 1px;
+    border-style: solid;
     border-radius: 2px;
 }
 .select-message:hover div {
-    background-color: #ccc;
+    background-color: #ccc; /* Fallback value */
+    background-color: var(--icon-highlight);
     cursor: pointer;
 }
 /* Message tables - these MUST NOT be combined together because otherwise
@@ -439,7 +598,7 @@
     cursor: default;
 }
 </style>
-<style media="print" type="text/css">
+<style media="print">
 body {
     background: white !important;
     padding: 0;
@@ -479,7 +638,7 @@
     background: #ddd !important;
 }
 </style>
-<style media="all" type="text/css">
+<style media="all">
 #javascript-disabled {
     width: 600px;
     margin: 100px auto 0 auto;
@@ -502,7 +661,7 @@
     font-style: italic;
 }
 </style>
-<style media="all" type="text/css">
+<style media="all">
 .doc > * {
     margin: 0.7em 1em 0.1em 1em;
     padding: 0;
@@ -514,14 +673,12 @@
     margin-top: 0.1em;
 }
 .doc table {
-    border: 1px solid #ccc;
     background: transparent;
     border-collapse: collapse;
     empty-cells: show;
     font-size: 0.9em;
 }
 .doc table th, .doc table td {
-    border: 1px solid #ccc;
     background: transparent;
     padding: 0.1em 0.3em;
     height: 1.2em;
@@ -531,24 +688,32 @@
     letter-spacing: 0.1em;
 }
 .doc pre {
+    border-radius: 2px;
     font-size: 1.1em;
     letter-spacing: 0.05em;
-    background: #f4f4f4;
+    background: #eee; /* Fallback value */
+    background: var(--highlight-color);
 }
 .doc code {
+    border-radius: 2px;
     padding: 0 0.2em;
     letter-spacing: 0.05em;
-    background: #eee;
+    background: #eee; /* Fallback value */
+    background: var(--highlight-color);
 }
 .doc li {
     list-style-position: inside;
     list-style-type: square;
 }
-.doc img {
-    border: 1px solid #ccc;
+.doc img, .doc table, .doc table th, .doc table td {
+    border-width: 1px;
+    border-style: solid;
+    border-color: #ccc; /* Fallback value */
+    border-color: var(--secondary-color);
 }
 .doc hr {
-    background: #ccc;
+    background: #ccc; /* Fallback value */
+    background: var(--secondary-color);
     height: 1px;
     border: 0;
 }
@@ -560,6 +725,9 @@
 }
 function toggleTest(testId) {
     toggleElement(testId, ['keyword']);
+    var test = window.testdata.findLoaded(testId);
+    if (test.status == "FAIL" || test.status == "SKIP")
+        expandFailed(test);
 }
 function toggleKeyword(kwId) {
     toggleElement(kwId, ['keyword']);
@@ -623,7 +791,7 @@
     }
 }
 function expandFailed(element) {
-    if (element.status == "FAIL") {
+    if (element.status == "FAIL" || (element.type == "test" && element.status == "SKIP")) {
         window.elementsToExpand = [element];
         window.expandDecider = function (e) {
             return e.status == "FAIL";
@@ -847,7 +1015,6 @@
         suite.populateSuites = createIterablePopulator('Suite');
         suite.childrenNames = ['keyword', 'suite', 'test'];
         suite.callWhenChildrenReady = function (callable) { callable(); };
-        suite.message = data.message;
         suite.children = function () {
             return suite.keywords().concat(suite.tests()).concat(suite.suites());
         };
@@ -938,6 +1105,7 @@
             name: data.name,
             doc: data.doc,
             status: data.status,
+            message: data.message,
             times: data.times,
             id: data.parent ? data.parent.id + '-' + data.id : data.id
         };
@@ -958,7 +1126,6 @@
                 return test.keywords();
         };
         test.tags = data.tags;
-        test.message = data.message;
         test.matchesTagPattern = function (pattern) {
             return containsTagPattern(test.tags, pattern);
         };
@@ -969,13 +1136,12 @@
     }
     function Keyword(data) {
         var kw = createModelObject(data);
-        var flatTypes = ['RETURN', 'BREAK', 'CONTINUE'];
         kw.libname = data.libname;
         kw.fullName = (kw.libname ? kw.libname + '.' : '') + kw.name;
         kw.type = data.type;
         kw.template = 'keywordTemplate';
         kw.arguments = data.args;
-        kw.assign = data.assign + (data.assign ? ' =' : '');
+        kw.assign = data.assign + (data.assign ? ' =  ' : '');
         kw.tags = data.tags;
         kw.timeout = data.timeout;
         kw.populateKeywords = createIterablePopulator('Keyword');
@@ -1354,8 +1520,9 @@
     var _statistics = null;
     var LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FAIL', 'SKIP'];
     var STATUSES = ['FAIL', 'PASS', 'SKIP', 'NOT RUN'];
-    var KEYWORD_TYPES = ['KEYWORD', 'SETUP', 'TEARDOWN', 'FOR', 'ITERATION', 'IF', 'ELSE IF', 'ELSE', 'RETURN',
-                         'TRY', 'EXCEPT', 'FINALLY', 'WHILE', 'CONTINUE', 'BREAK'];
+    var KEYWORD_TYPES = ['KEYWORD', 'SETUP', 'TEARDOWN', 'FOR', 'ITERATION', 'IF',
+                         'ELSE IF', 'ELSE', 'RETURN', 'VAR', 'TRY', 'EXCEPT', 'FINALLY',
+                         'WHILE', 'CONTINUE', 'BREAK', 'ERROR'];
     function addElement(elem) {
         if (!elem.id)
             elem.id = uniqueId();
@@ -1398,6 +1565,7 @@
         return createKeyword(parent, element, strings, index - messages.length);
     }
     function createKeyword(parent, element, strings, index) {
+        var status = element[8];
         var kw = model.Keyword({
             parent: parent,
             type: KEYWORD_TYPES[element[0]],
@@ -1413,7 +1581,12 @@
                 this.doc = function () { return doc; };
                 return doc;
             },
-            status: parseStatus(element[8], strings),
+            status: parseStatus(status),
+            message: function () {
+                var msg = status.length == 4 ? strings.get(status[3]) : '';
+                this.message = function () { return msg; };
+                return msg;
+            },
             times: model.Times(times(element[8])),
             isChildrenLoaded: typeof(element[9]) !== 'number'
         });
@@ -1624,6 +1797,20 @@
 }();
 </script>
 <script type="text/javascript">
+const lightModeIcon = `
+<svg class="light-mode-icon" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24"
+    viewBox="0 0 24 24" fill="var(--text-color)">
+    <rect fill="none" height="24" width="24" />
+    <path
+        d="M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0 c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2 c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1 C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06 c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41 l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41 c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36 c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z" />
+</svg>`
+const darkModeIcon = `
+<svg class="dark-mode-icon" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24"
+    viewBox="0 0 24 24" fill="var(--text-color)">
+    <rect fill="none" height="24" width="24" />
+    <path
+        d="M11.01,3.05C6.51,3.54,3,7.36,3,12c0,4.97,4.03,9,9,9c4.63,0,8.45-3.5,8.95-8c0.09-0.79-0.78-1.42-1.54-0.95 c-0.84,0.54-1.84,0.85-2.91,0.85c-2.98,0-5.4-2.42-5.4-5.4c0-1.06,0.31-2.06,0.84-2.89C12.39,3.94,11.9,2.98,11.01,3.05z" />
+</svg>`
 function removeJavaScriptDisabledWarning() {
     // Not using jQuery here for maximum speed
     document.getElementById('javascript-disabled').style.display = 'none';
@@ -1659,6 +1846,10 @@
 function addHeader() {
     var generated = util.timestamp(window.output.generated);
     $.tmpl('<h1>${title}</h1>' +
+           '<button id=theme-toggle>' +
+             lightModeIcon +
+             darkModeIcon +
+           '</button>' +
            '<div id="generated">' +
              '<span>Generated<br>${generated}</span><br>' +
              '<span id="generated-ago">${ago} ago</span>' +
@@ -1670,6 +1861,7 @@
         ago: util.createGeneratedAgoString(generated),
         title: document.title
     }).appendTo($('#header'));
+    document.getElementById('theme-toggle')?.addEventListener('click', theme.onClick);
 }
 function addReportOrLogLink(myType) {
     var url;
@@ -1798,30 +1990,116 @@
     if (event.stopPropagation)
         event.stopPropagation();
 }
+const theme = function () {
+    const storageKey = 'theme-preference';
+    const urlParams = new URLSearchParams(window.location.search);
+    var storage;
+    var theme;
+    function init(givenStorage) {
+        storage = givenStorage;
+        theme = { value: getPreference() };
+        document.body.setAttribute('data-theme', theme.value);
+        reflectPreference();
+        window.matchMedia('(prefers-color-scheme: dark)')
+            .addEventListener('change', ({matches:isDark}) => {
+                theme.value = isDark ? 'dark' : 'light';
+                setPreference();
+            });
+        window.addEventListener('storage', ({key, newValue}) => {
+            if (key === storage.fullKey(storageKey)) {
+                theme.value = newValue === 'dark' ? 'dark' : 'light';
+                setPreference();
+            }
+        });
+    }
+    function getPreference() {
+        if (urlParams.has('theme')) {
+            var urlTheme = urlParams.get('theme') === 'dark' ? 'dark' : 'light';
+            storage.set(storageKey, urlTheme);
+            urlParams.delete('theme');
+            return urlTheme;
+        }
+        if (storage.get(storageKey))
+            return storage.get(storageKey) === 'dark' ? 'dark' : 'light';
+        return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
+    }
+    function setPreference() {
+        storage.set(storageKey, theme.value);
+        reflectPreference();
+    }
+    function reflectPreference() {
+        document.body.setAttribute('data-theme', theme.value);
+        document.querySelector('#theme-toggle')?.setAttribute('aria-label', theme.value);
+        const event = new Event('theme-change', {value: theme.value});
+        document.dispatchEvent(event);
+    }
+    function onClick() {
+        theme.value = theme.value === 'light' ? 'dark' : 'light';
+        document.body.setAttribute('theme-toggled', "");
+        setPreference();
+    }
+    return {init: init, getPreference: getPreference, setPreference: setPreference,
+        reflectPreference: reflectPreference, onClick: onClick};
+}();
+</script>
+<script type="text/javascript">
+storage = function () {
+    var prefix = 'robot-framework-';
+    var storage;
+    function init(user) {
+        if (user)
+            prefix += user + '-';
+        storage = getStorage();
+    }
+    function getStorage() {
+        // Use localStorage if it's accessible, normal object otherwise.
+        // Inspired by https://stackoverflow.com/questions/11214404
+        try {
+            localStorage.setItem(prefix, prefix);
+            localStorage.removeItem(prefix);
+            return localStorage;
+        } catch (exception) {
+            return {};
+        }
+    }
+    function get(key, defaultValue) {
+        var value = storage[fullKey(key)];
+        if (typeof value === 'undefined')
+            return defaultValue;
+        return value;
+    }
+    function set(key, value) {
+        storage[fullKey(key)] = value;
+    }
+    function fullKey(key) {
+        return prefix + key;
+    }
+    return {init: init, get: get, set: set, fullKey: fullKey};
+}();
 </script>
 <script type="text/javascript">
 window.output = {};
 </script>
 <script type="text/javascript">
-window.output["suite"] = [1,2,3,0,[],[1,0,1440],[],[[4,0,0,[5],[1,135,587],[[0,6,7,0,0,8,9,0,[1,136,585],[[721,2,10]]],[0,11,12,0,13,14,0,0,[1,721,1],[]]]],[15,0,0,[],[1,723,37],[[0,16,7,0,0,8,9,0,[1,723,33],[[756,2,17]]],[0,18,0,0,0,19,0,0,[1,757,3],[[0,20,12,0,21,22,0,0,[1,757,0],[[757,2,23]]],[0,24,12,0,25,26,0,0,[1,757,1],[]],[0,24,12,0,25,26,0,0,[1,758,0],[]],[0,24,12,0,25,26,0,0,[1,758,0],[]],[0,24,12,0,25,22,0,0,[1,758,0],[]],[0,24,12,0,25,26,0,0,[1,758,1],[]],[0,24,12,0,25,26,0,0,[1,759,0],[]],[0,24,12,0,25,26,0,0,[1,759,0],[]],[0,27,12,0,28,22,0,0,[1,759,0],[[759,2,29]]],[0,11,12,0,13,30,0,0,[1,759,1],[]],[0,31,12,0,32,33,0,0,[1,760,0],[]]]]]],[34,0,0,[],[1,761,28],[[0,35,7,0,0,8,9,0,[1,761,24],[[785,2,36]]],[0,18,0,0,0,37,0,0,[1,785,4],[[0,20,12,0,21,22,0,0,[1,786,0],[[786,2,38]]],[0,24,12,0,25,26,0,0,[1,786,0],[]],[0,24,12,0,25,26,0,0,[1,786,0],[]],[0,24,12,0,25,26,0,0,[1,786,1],[]],[0,24,12,0,25,22,0,0,[1,787,0],[]],[0,24,12,0,25,26,0,0,[1,787,0],[]],[0,24,12,0,25,26,0,0,[1,787,0],[]],[0,24,12,0,25,26,0,0,[1,788,0],[]],[0,27,12,0,28,22,0,0,[1,788,0],[[788,2,29]]],[0,11,12,0,13,30,0,0,[1,788,0],[]],[0,31,12,0,32,33,0,0,[1,788,1],[]]]]]],[39,0,0,[],[1,789,25],[[0,40,7,0,0,8,9,0,[1,790,20],[[810,2,41]]],[0,18,0,0,0,42,0,0,[1,810,3],[[0,20,12,0,21,22,0,0,[1,811,0],[[811,2,43]]],[0,24,12,0,25,26,0,0,[1,811,0],[]],[0,24,12,0,25,26,0,0,[1,811,0],[]],[0,24,12,0,25,26,0,0,[1,811,1],[]],[0,24,12,0,25,22,0,0,[1,812,0],[]],[0,24,12,0,25,26,0,0,[1,812,0],[]],[0,24,12,0,25,26,0,0,[1,812,0],[]],[0,24,12,0,25,26,0,0,[1,812,1],[]],[0,27,12,0,28,22,0,0,[1,813,0],[[813,2,29]]],[0,11,12,0,13,30,0,0,[1,813,0],[]],[0,31,12,0,32,33,0,0,[1,813,0],[]]]]]],[44,0,0,[],[1,814,35],[[0,45,7,0,0,8,9,0,[1,814,31],[[845,2,46]]],[0,18,0,0,0,47,0,0,[1,846,3],[[0,20,12,0,21,22,0,0,[1,846,0],[[846,2,48]]],[0,24,12,0,25,26,0,0,[1,846,0],[]],[0,24,12,0,25,26,0,0,[1,847,0],[]],[0,24,12,0,25,26,0,0,[1,847,0],[]],[0,24,12,0,25,22,0,0,[1,847,0],[]],[0,24,12,0,25,26,0,0,[1,847,0],[]],[0,24,12,0,25,26,0,0,[1,847,1],[]],[0,24,12,0,25,26,0,0,[1,848,0],[]],[0,27,12,0,28,22,0,0,[1,848,0],[[848,2,29]]],[0,11,12,0,13,30,0,0,[1,848,0],[]],[0,31,12,0,32,33,0,0,[1,848,1],[]]]]]],[49,0,0,[],[1,849,66],[[0,50,7,0,0,8,51,0,[1,849,20],[[868,2,52]]],[0,18,0,0,0,53,0,0,[1,869,5],[[0,20,12,0,21,22,0,0,[1,869,0],[[869,2,54]]],[0,24,12,0,25,26,0,0,[1,869,1],[]],[0,24,12,0,25,26,0,0,[1,870,0],[]],[0,24,12,0,25,26,0,0,[1,870,0],[]],[0,24,12,0,25,22,0,0,[1,870,1],[]],[0,24,12,0,25,26,0,0,[1,871,0],[]],[0,24,12,0,25,26,0,0,[1,871,0],[]],[0,24,12,0,25,26,0,0,[1,872,0],[]],[0,27,12,0,28,22,0,0,[1,872,0],[[872,2,29]]],[0,11,12,0,13,30,0,0,[1,872,1],[]],[0,31,12,0,32,33,0,0,[1,873,0],[]]]],[0,55,7,0,0,8,9,0,[1,874,37],[[911,2,56]]],[0,18,0,0,0,57,0,0,[1,911,4],[[0,20,12,0,21,22,0,0,[1,912,0],[[912,2,58]]],[0,24,12,0,25,26,0,0,[1,912,0],[]],[0,24,12,0,25,26,0,0,[1,912,0],[]],[0,24,12,0,25,26,0,0,[1,913,0],[]],[0,24,12,0,25,22,0,0,[1,913,0],[]],[0,24,12,0,25,26,0,0,[1,913,0],[]],[0,24,12,0,25,26,0,0,[1,913,1],[]],[0,24,12,0,25,26,0,0,[1,914,0],[]],[0,27,12,0,28,22,0,0,[1,914,0],[[914,2,29]]],[0,11,12,0,13,30,0,0,[1,914,0],[]],[0,31,12,0,32,33,0,0,[1,914,1],[]]]]]],[59,0,0,[],[1,915,113],[[0,60,7,0,0,8,61,0,[1,916,16],[[932,2,62]]],[0,18,0,0,0,63,0,0,[1,932,4],[[0,20,12,0,21,22,0,0,[1,933,0],[[933,2,64]]],[0,24,12,0,25,26,0,0,[1,933,0],[]],[0,24,12,0,25,26,0,0,[1,933,1],[]],[0,24,12,0,25,26,0,0,[1,934,0],[]],[0,24,12,0,25,22,0,0,[1,934,0],[]],[0,24,12,0,25,26,0,0,[1,935,0],[]],[0,24,12,0,25,26,0,0,[1,935,0],[]],[0,24,12,0,25,26,0,0,[1,935,1],[]],[0,27,12,0,28,22,0,0,[1,936,0],[[936,2,29]]],[0,11,12,0,13,30,0,0,[1,936,0],[]],[0,31,12,0,32,33,0,0,[1,936,0],[]]]],[0,65,7,0,0,8,9,0,[1,937,86],[[1023,2,66]]],[0,18,0,0,0,67,0,0,[1,1023,5],[[0,20,12,0,21,22,0,0,[1,1024,0],[[1024,2,68]]],[0,24,12,0,25,26,0,0,[1,1024,1],[]],[0,24,12,0,25,26,0,0,[1,1025,0],[]],[0,24,12,0,25,26,0,0,[1,1025,0],[]],[0,24,12,0,25,22,0,0,[1,1025,1],[]],[0,24,12,0,25,26,0,0,[1,1026,0],[]],[0,24,12,0,25,26,0,0,[1,1026,0],[]],[0,24,12,0,25,26,0,0,[1,1026,0],[]],[0,27,12,0,28,22,0,0,[1,1027,0],[[1027,2,29]]],[0,11,12,0,13,30,0,0,[1,1027,0],[]],[0,31,12,0,32,33,0,0,[1,1027,0],[]]]]]],[69,0,0,[],[1,1028,33],[[0,55,7,0,0,8,9,0,[1,1028,29],[[1057,2,70]]],[0,18,0,0,0,57,0,0,[1,1057,4],[[0,20,12,0,21,22,0,0,[1,1058,0],[[1058,2,71]]],[0,24,12,0,25,26,0,0,[1,1058,0],[]],[0,24,12,0,25,26,0,0,[1,1059,0],[]],[0,24,12,0,25,26,0,0,[1,1059,0],[]],[0,24,12,0,25,22,0,0,[1,1059,0],[]],[0,24,12,0,25,26,0,0,[1,1059,0],[]],[0,24,12,0,25,26,0,0,[1,1060,0],[]],[0,24,12,0,25,26,0,0,[1,1060,0],[]],[0,27,12,0,28,22,0,0,[1,1060,0],[[1060,2,29]]],[0,11,12,0,13,30,0,0,[1,1060,0],[]],[0,31,12,0,32,33,0,0,[1,1061,0],[]]]]]],[72,0,0,[],[1,1061,109],[[0,73,7,0,0,8,74,0,[1,1062,64],[[1126,2,75]]],[0,18,0,0,0,76,0,0,[1,1127,6],[[0,20,12,0,21,22,0,0,[1,1127,0],[[1127,2,77]]],[0,24,12,0,25,26,0,0,[1,1128,0],[]],[0,24,12,0,25,26,0,0,[1,1128,0],[]],[0,24,12,0,25,26,0,0,[1,1128,1],[]],[0,24,12,0,25,22,0,0,[1,1129,0],[]],[0,24,12,0,25,26,0,0,[1,1130,0],[]],[0,24,12,0,25,26,0,0,[1,1130,1],[]],[0,24,12,0,25,26,0,0,[1,1131,0],[]],[0,27,12,0,28,22,0,0,[1,1132,0],[[1132,2,29]]],[0,11,12,0,13,30,0,0,[1,1132,0],[]],[0,31,12,0,32,33,0,0,[1,1132,1],[]]]],[0,78,7,0,0,8,9,0,[1,1133,32],[[1165,2,79]]],[0,18,0,0,0,80,0,0,[1,1165,5],[[0,20,12,0,21,22,0,0,[1,1166,1],[[1167,2,81]]],[0,24,12,0,25,26,0,0,[1,1167,0],[]],[0,24,12,0,25,26,0,0,[1,1167,0],[]],[0,24,12,0,25,26,0,0,[1,1167,1],[]],[0,24,12,0,25,22,0,0,[1,1168,0],[]],[0,24,12,0,25,26,0,0,[1,1168,0],[]],[0,24,12,0,25,26,0,0,[1,1168,0],[]],[0,24,12,0,25,26,0,0,[1,1168,1],[]],[0,27,12,0,28,22,0,0,[1,1169,0],[[1169,2,29]]],[0,11,12,0,13,30,0,0,[1,1169,0],[]],[0,31,12,0,32,33,0,0,[1,1169,1],[]]]]]],[82,0,0,[],[1,1170,147],[[0,50,7,0,0,8,51,0,[1,1171,20],[[1191,2,52]]],[0,18,0,0,0,53,0,0,[1,1192,3],[[0,20,12,0,21,22,0,0,[1,1192,0],[[1192,2,54]]],[0,24,12,0,25,26,0,0,[1,1192,0],[]],[0,24,12,0,25,26,0,0,[1,1193,0],[]],[0,24,12,0,25,26,0,0,[1,1193,0],[]],[0,24,12,0,25,22,0,0,[1,1193,0],[]],[0,24,12,0,25,26,0,0,[1,1193,0],[]],[0,24,12,0,25,26,0,0,[1,1194,0],[]],[0,24,12,0,25,26,0,0,[1,1194,0],[]],[0,27,12,0,28,22,0,0,[1,1194,0],[[1194,2,29]]],[0,11,12,0,13,30,0,0,[1,1194,0],[]],[0,31,12,0,32,33,0,0,[1,1195,0],[]]]],[0,60,7,0,0,8,61,0,[1,1195,23],[[1218,2,62]]],[0,18,0,0,0,63,0,0,[1,1218,4],[[0,20,12,0,21,22,0,0,[1,1218,0],[[1218,2,64]]],[0,24,12,0,25,26,0,0,[1,1218,1],[]],[0,24,12,0,25,26,0,0,[1,1219,0],[]],[0,24,12,0,25,26,0,0,[1,1219,1],[]],[0,24,12,0,25,22,0,0,[1,1220,0],[]],[0,24,12,0,25,26,0,0,[1,1220,0],[]],[0,24,12,0,25,26,0,0,[1,1220,0],[]],[0,24,12,0,25,26,0,0,[1,1221,0],[]],[0,27,12,0,28,22,0,0,[1,1221,0],[[1221,2,29]]],[0,11,12,0,13,30,0,0,[1,1221,1],[]],[0,31,12,0,32,33,0,0,[1,1222,0],[]]]],[0,83,7,0,0,8,9,0,[1,1223,90],[[1313,2,84]]],[0,18,0,0,0,85,0,0,[1,1313,3],[[0,20,12,0,21,22,0,0,[1,1314,0],[[1314,2,86]]],[0,24,12,0,25,26,0,0,[1,1314,0],[]],[0,24,12,0,25,26,0,0,[1,1314,0],[]],[0,24,12,0,25,26,0,0,[1,1315,0],[]],[0,24,12,0,25,22,0,0,[1,1315,0],[]],[0,24,12,0,25,26,0,0,[1,1315,0],[]],[0,24,12,0,25,26,0,0,[1,1315,0],[]],[0,24,12,0,25,26,0,0,[1,1315,1],[]],[0,27,12,0,28,22,0,0,[1,1316,0],[[1316,2,29]]],[0,11,12,0,13,30,0,0,[1,1316,0],[]],[0,31,12,0,32,33,0,0,[1,1316,0],[]]]]]],[87,0,0,[],[1,1317,61],[[0,88,7,0,0,8,9,0,[1,1317,57],[[1374,2,89]]],[0,18,0,0,0,90,0,0,[1,1374,4],[[0,20,12,0,21,22,0,0,[1,1375,0],[[1375,2,91]]],[0,24,12,0,25,26,0,0,[1,1375,0],[]],[0,24,12,0,25,26,0,0,[1,1375,1],[]],[0,24,12,0,25,26,0,0,[1,1376,0],[]],[0,24,12,0,25,22,0,0,[1,1376,0],[]],[0,24,12,0,25,26,0,0,[1,1376,0],[]],[0,24,12,0,25,26,0,0,[1,1376,1],[]],[0,24,12,0,25,26,0,0,[1,1377,0],[]],[0,27,12,0,28,22,0,0,[1,1377,0],[[1377,2,29]]],[0,11,12,0,13,30,0,0,[1,1377,0],[]],[0,31,12,0,32,33,0,0,[1,1377,1],[]]]]]],[92,0,0,[],[1,1378,61],[[0,93,7,0,0,8,9,0,[1,1379,56],[[1435,2,94]]],[0,18,0,0,0,95,0,0,[1,1436,3],[[0,20,12,0,21,22,0,0,[1,1436,0],[[1436,2,96]]],[0,24,12,0,25,26,0,0,[1,1436,0],[]],[0,24,12,0,25,26,0,0,[1,1436,1],[]],[0,24,12,0,25,26,0,0,[1,1437,0],[]],[0,24,12,0,25,22,0,0,[1,1437,0],[]],[0,24,12,0,25,26,0,0,[1,1437,0],[]],[0,24,12,0,25,26,0,0,[1,1437,1],[]],[0,24,12,0,25,26,0,0,[1,1438,0],[]],[0,27,12,0,28,22,0,0,[1,1438,0],[[1438,2,29]]],[0,11,12,0,13,30,0,0,[1,1438,0],[]],[0,31,12,0,32,33,0,0,[1,1439,0],[]]]]]]],[],[12,12,0,0]];
+window.output["suite"] = [1,2,3,0,[],[1,0,599],[],[[4,0,0,[5],[1,111,65],[[0,6,7,0,0,8,9,0,[1,112,64],[[175,2,10]]],[0,11,12,0,13,14,0,0,[1,176,0],[]]]],[15,0,0,[],[1,176,17],[[0,16,7,0,0,8,9,0,[1,177,13],[[189,2,17]]],[0,18,0,0,0,19,0,0,[1,190,3],[[0,20,12,0,21,22,0,0,[1,190,0],[[190,2,23]]],[0,24,12,0,25,26,0,0,[1,190,0],[]],[0,24,12,0,25,26,0,0,[1,190,0],[]],[0,24,12,0,25,26,0,0,[1,191,0],[]],[0,24,12,0,25,22,0,0,[1,191,0],[]],[0,24,12,0,25,26,0,0,[1,191,0],[]],[0,24,12,0,25,26,0,0,[1,192,0],[]],[0,24,12,0,25,26,0,0,[1,192,0],[]],[0,27,12,0,28,22,0,0,[1,192,0],[[192,2,29]]],[0,11,12,0,13,30,0,0,[1,192,0],[]],[0,31,12,0,32,33,0,0,[1,193,0],[]]]]]],[34,0,0,[],[1,193,26],[[0,35,7,0,0,8,9,0,[1,194,19],[[212,2,36]]],[0,18,0,0,0,37,0,0,[1,213,7],[[0,20,12,0,21,22,0,0,[1,213,1],[[213,2,38]]],[0,24,12,0,25,26,0,0,[1,214,1],[]],[0,24,12,0,25,26,0,0,[1,215,2],[]],[0,24,12,0,25,26,0,0,[1,217,0],[]],[0,24,12,0,25,22,0,0,[1,217,0],[]],[0,24,12,0,25,26,0,0,[1,218,0],[]],[0,24,12,0,25,26,0,0,[1,218,0],[]],[0,24,12,0,25,26,0,0,[1,218,0],[]],[0,27,12,0,28,22,0,0,[1,219,0],[[219,2,29]]],[0,11,12,0,13,30,0,0,[1,219,0],[]],[0,31,12,0,32,33,0,0,[1,219,0],[]]]]]],[39,0,0,[],[1,220,18],[[0,40,7,0,0,8,9,0,[1,220,13],[[234,2,41]]],[0,18,0,0,0,42,0,0,[1,234,4],[[0,20,12,0,21,22,0,0,[1,234,0],[[235,2,43]]],[0,24,12,0,25,26,0,0,[1,235,0],[]],[0,24,12,0,25,26,0,0,[1,235,0],[]],[0,24,12,0,25,26,0,0,[1,235,0],[]],[0,24,12,0,25,22,0,0,[1,235,1],[]],[0,24,12,0,25,26,0,0,[1,237,0],[]],[0,24,12,0,25,26,0,0,[1,237,0],[]],[0,24,12,0,25,26,0,0,[1,237,0],[]],[0,27,12,0,28,22,0,0,[1,237,0],[[237,2,29]]],[0,11,12,0,13,30,0,0,[1,238,0],[]],[0,31,12,0,32,33,0,0,[1,238,0],[]]]]]],[44,0,0,[],[1,238,19],[[0,45,7,0,0,8,9,0,[1,239,15],[[254,2,46]]],[0,18,0,0,0,47,0,0,[1,254,3],[[0,20,12,0,21,22,0,0,[1,255,0],[[255,2,48]]],[0,24,12,0,25,26,0,0,[1,255,0],[]],[0,24,12,0,25,26,0,0,[1,255,0],[]],[0,24,12,0,25,26,0,0,[1,256,0],[]],[0,24,12,0,25,22,0,0,[1,256,0],[]],[0,24,12,0,25,26,0,0,[1,256,0],[]],[0,24,12,0,25,26,0,0,[1,256,0],[]],[0,24,12,0,25,26,0,0,[1,256,0],[]],[0,27,12,0,28,22,0,0,[1,257,0],[[257,2,29]]],[0,11,12,0,13,30,0,0,[1,257,0],[]],[0,31,12,0,32,33,0,0,[1,257,0],[]]]]]],[49,0,0,[],[1,258,38],[[0,50,7,0,0,8,51,0,[1,258,13],[[271,2,52]]],[0,18,0,0,0,53,0,0,[1,272,3],[[0,20,12,0,21,22,0,0,[1,272,0],[[272,2,54]]],[0,24,12,0,25,26,0,0,[1,272,0],[]],[0,24,12,0,25,26,0,0,[1,272,0],[]],[0,24,12,0,25,26,0,0,[1,273,0],[]],[0,24,12,0,25,22,0,0,[1,273,0],[]],[0,24,12,0,25,26,0,0,[1,273,0],[]],[0,24,12,0,25,26,0,0,[1,273,0],[]],[0,24,12,0,25,26,0,0,[1,273,0],[]],[0,27,12,0,28,22,0,0,[1,274,0],[[274,2,29]]],[0,11,12,0,13,30,0,0,[1,274,0],[]],[0,31,12,0,32,33,0,0,[1,274,0],[]]]],[0,55,7,0,0,8,9,0,[1,275,18],[[292,2,56]]],[0,18,0,0,0,57,0,0,[1,292,3],[[0,20,12,0,21,22,0,0,[1,293,0],[[293,2,58]]],[0,24,12,0,25,26,0,0,[1,293,0],[]],[0,24,12,0,25,26,0,0,[1,293,0],[]],[0,24,12,0,25,26,0,0,[1,294,0],[]],[0,24,12,0,25,22,0,0,[1,294,0],[]],[0,24,12,0,25,26,0,0,[1,294,0],[]],[0,24,12,0,25,26,0,0,[1,295,0],[]],[0,24,12,0,25,26,0,0,[1,295,0],[]],[0,27,12,0,28,22,0,0,[1,295,0],[[295,2,29]]],[0,11,12,0,13,30,0,0,[1,295,0],[]],[0,31,12,0,32,33,0,0,[1,295,0],[]]]]]],[59,0,0,[],[1,296,58],[[0,60,7,0,0,8,61,0,[1,296,13],[[309,2,62]]],[0,18,0,0,0,63,0,0,[1,309,2],[[0,20,12,0,21,22,0,0,[1,309,0],[[310,2,64]]],[0,24,12,0,25,26,0,0,[1,310,0],[]],[0,24,12,0,25,26,0,0,[1,310,0],[]],[0,24,12,0,25,26,0,0,[1,310,0],[]],[0,24,12,0,25,22,0,0,[1,310,0],[]],[0,24,12,0,25,26,0,0,[1,310,0],[]],[0,24,12,0,25,26,0,0,[1,311,0],[]],[0,24,12,0,25,26,0,0,[1,311,0],[]],[0,27,12,0,28,22,0,0,[1,311,0],[[311,2,29]]],[0,11,12,0,13,30,0,0,[1,311,0],[]],[0,31,12,0,32,33,0,0,[1,311,0],[]]]],[0,65,7,0,0,8,9,0,[1,312,39],[[351,2,66]]],[0,18,0,0,0,67,0,0,[1,351,3],[[0,20,12,0,21,22,0,0,[1,352,0],[[352,2,68]]],[0,24,12,0,25,26,0,0,[1,352,0],[]],[0,24,12,0,25,26,0,0,[1,352,0],[]],[0,24,12,0,25,26,0,0,[1,352,0],[]],[0,24,12,0,25,22,0,0,[1,353,0],[]],[0,24,12,0,25,26,0,0,[1,353,0],[]],[0,24,12,0,25,26,0,0,[1,353,0],[]],[0,24,12,0,25,26,0,0,[1,353,0],[]],[0,27,12,0,28,22,0,0,[1,354,0],[[354,2,69]]],[0,11,12,0,13,30,0,0,[1,354,0],[]],[0,31,12,0,32,33,0,0,[1,354,0],[]]]]]],[70,0,0,[],[1,355,21],[[0,55,7,0,0,8,9,0,[1,355,16],[[371,2,71]]],[0,18,0,0,0,57,0,0,[1,372,4],[[0,20,12,0,21,22,0,0,[1,372,0],[[372,2,72]]],[0,24,12,0,25,26,0,0,[1,372,0],[]],[0,24,12,0,25,26,0,0,[1,373,0],[]],[0,24,12,0,25,26,0,0,[1,373,0],[]],[0,24,12,0,25,22,0,0,[1,374,0],[]],[0,24,12,0,25,26,0,0,[1,374,0],[]],[0,24,12,0,25,26,0,0,[1,374,0],[]],[0,24,12,0,25,26,0,0,[1,374,0],[]],[0,27,12,0,28,22,0,0,[1,375,0],[[375,2,29]]],[0,11,12,0,13,30,0,0,[1,375,0],[]],[0,31,12,0,32,33,0,0,[1,375,0],[]]]]]],[73,0,0,[],[1,376,59],[[0,74,7,0,0,8,75,0,[1,377,34],[[411,2,76]]],[0,18,0,0,0,77,0,0,[1,411,4],[[0,20,12,0,21,22,0,0,[1,412,0],[[412,2,78]]],[0,24,12,0,25,26,0,0,[1,413,0],[]],[0,24,12,0,25,26,0,0,[1,413,0],[]],[0,24,12,0,25,26,0,0,[1,413,0],[]],[0,24,12,0,25,22,0,0,[1,413,0],[]],[0,24,12,0,25,26,0,0,[1,414,0],[]],[0,24,12,0,25,26,0,0,[1,414,0],[]],[0,24,12,0,25,26,0,0,[1,414,0],[]],[0,27,12,0,28,22,0,0,[1,414,0],[[415,2,69]]],[0,11,12,0,13,30,0,0,[1,415,0],[]],[0,31,12,0,32,33,0,0,[1,415,0],[]]]],[0,79,7,0,0,8,9,0,[1,415,17],[[432,2,80]]],[0,18,0,0,0,81,0,0,[1,432,3],[[0,20,12,0,21,22,0,0,[1,433,0],[[433,2,82]]],[0,24,12,0,25,26,0,0,[1,433,0],[]],[0,24,12,0,25,26,0,0,[1,433,0],[]],[0,24,12,0,25,26,0,0,[1,433,0],[]],[0,24,12,0,25,22,0,0,[1,434,0],[]],[0,24,12,0,25,26,0,0,[1,434,0],[]],[0,24,12,0,25,26,0,0,[1,434,0],[]],[0,24,12,0,25,26,0,0,[1,434,0],[]],[0,27,12,0,28,22,0,0,[1,435,0],[[435,2,29]]],[0,11,12,0,13,30,0,0,[1,435,0],[]],[0,31,12,0,32,33,0,0,[1,435,0],[]]]]]],[83,0,0,[],[1,436,83],[[0,50,7,0,0,8,51,0,[1,436,13],[[449,2,52]]],[0,18,0,0,0,53,0,0,[1,449,3],[[0,20,12,0,21,22,0,0,[1,450,0],[[450,2,54]]],[0,24,12,0,25,26,0,0,[1,450,0],[]],[0,24,12,0,25,26,0,0,[1,450,0],[]],[0,24,12,0,25,26,0,0,[1,450,0],[]],[0,24,12,0,25,22,0,0,[1,451,0],[]],[0,24,12,0,25,26,0,0,[1,451,0],[]],[0,24,12,0,25,26,0,0,[1,451,0],[]],[0,24,12,0,25,26,0,0,[1,451,0],[]],[0,27,12,0,28,22,0,0,[1,451,0],[[452,2,29]]],[0,11,12,0,13,30,0,0,[1,452,0],[]],[0,31,12,0,32,33,0,0,[1,452,0],[]]]],[0,60,7,0,0,8,61,0,[1,452,12],[[464,2,62]]],[0,18,0,0,0,63,0,0,[1,465,3],[[0,20,12,0,21,22,0,0,[1,465,0],[[465,2,64]]],[0,24,12,0,25,26,0,0,[1,465,0],[]],[0,24,12,0,25,26,0,0,[1,465,0],[]],[0,24,12,0,25,26,0,0,[1,465,0],[]],[0,24,12,0,25,22,0,0,[1,466,0],[]],[0,24,12,0,25,26,0,0,[1,466,0],[]],[0,24,12,0,25,26,0,0,[1,466,0],[]],[0,24,12,0,25,26,0,0,[1,467,0],[]],[0,27,12,0,28,22,0,0,[1,467,0],[[467,2,29]]],[0,11,12,0,13,30,0,0,[1,467,0],[]],[0,31,12,0,32,33,0,0,[1,467,0],[]]]],[0,84,7,0,0,8,9,0,[1,468,48],[[516,2,85]]],[0,18,0,0,0,86,0,0,[1,516,3],[[0,20,12,0,21,22,0,0,[1,516,0],[[516,2,87]]],[0,24,12,0,25,26,0,0,[1,517,0],[]],[0,24,12,0,25,26,0,0,[1,517,0],[]],[0,24,12,0,25,26,0,0,[1,517,0],[]],[0,24,12,0,25,22,0,0,[1,517,0],[]],[0,24,12,0,25,26,0,0,[1,517,0],[]],[0,24,12,0,25,26,0,0,[1,518,0],[]],[0,24,12,0,25,26,0,0,[1,518,0],[]],[0,27,12,0,28,22,0,0,[1,518,0],[[518,2,69]]],[0,11,12,0,13,30,0,0,[1,518,0],[]],[0,31,12,0,32,33,0,0,[1,518,0],[]]]]]],[88,0,0,[],[1,519,39],[[0,89,7,0,0,8,9,0,[1,519,35],[[555,2,90]]],[0,18,0,0,0,91,0,0,[1,555,3],[[0,20,12,0,21,22,0,0,[1,556,0],[[556,2,92]]],[0,24,12,0,25,26,0,0,[1,556,0],[]],[0,24,12,0,25,26,0,0,[1,556,0],[]],[0,24,12,0,25,26,0,0,[1,556,0],[]],[0,24,12,0,25,22,0,0,[1,557,0],[]],[0,24,12,0,25,26,0,0,[1,557,0],[]],[0,24,12,0,25,26,0,0,[1,557,0],[]],[0,24,12,0,25,26,0,0,[1,557,0],[]],[0,27,12,0,28,22,0,0,[1,557,0],[[558,2,69]]],[0,11,12,0,13,30,0,0,[1,558,0],[]],[0,31,12,0,32,33,0,0,[1,558,0],[]]]]]],[93,0,0,[],[1,558,40],[[0,94,7,0,0,8,9,0,[1,559,37],[[595,2,95]]],[0,18,0,0,0,96,0,0,[1,596,2],[[0,20,12,0,21,22,0,0,[1,596,0],[[596,2,97]]],[0,24,12,0,25,26,0,0,[1,596,0],[]],[0,24,12,0,25,26,0,0,[1,596,0],[]],[0,24,12,0,25,26,0,0,[1,597,0],[]],[0,24,12,0,25,22,0,0,[1,597,0],[]],[0,24,12,0,25,26,0,0,[1,597,0],[]],[0,24,12,0,25,26,0,0,[1,597,0],[]],[0,24,12,0,25,26,0,0,[1,597,0],[]],[0,27,12,0,28,22,0,0,[1,598,0],[[598,2,69]]],[0,11,12,0,13,30,0,0,[1,598,0],[]],[0,31,12,0,32,33,0,0,[1,598,0],[]]]]]]],[],[12,12,0,0]];
 </script>
 <script type="text/javascript">
 window.output["strings"] = [];
 </script>
 <script type="text/javascript">
-window.output["strings"] = window.output["strings"].concat(["*","*Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","*/Users/jgorospe/Documents/GitHub/Robot-Framework-Solidity-Testing-Toolkit_Dotenv_WIP/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot","*../robotframework-hardhat-test-keywords.robot","*HARDHAT ETHERS.JS TEST 1 : Get the deployed smart contract using the hardhat-ethers plugin object and check the result.","*Forked_Mainnet_Test","*Get Contract","*Remote","*%{CONTRACT_ADDRESS}","*${RESULT}","*${RESULT} = {'checkContract': {'interface': {'fragments': [{'name': None, 'type': 'constructor', 'inputs': [], 'payable': False, 'stateMutability': 'nonpayable', 'gas': None, '_isFragment': True}, {'name': 'Appro...","*Should Not Contain","*BuiltIn","*<p>Fails if <code>container\x3c/code> contains <code>item\x3c/code> one or more times.\x3c/p>","*${RESULT}, errorName","*HARDHAT ETHERS.JS TEST 2 : Get token name from the deployed smart contract and check the result.","*Get Name","*${RESULT} = {'name': 'TestToken'}","*Check Smart Contract Results And Log Them","*${RESULT}, name","*Log","*<p>Logs the given message with the given level.\x3c/p>","*${HARDHAT_OUTPUT}","*{'name': 'TestToken'}","*Log To Console","*<p>Logs the given message to the console.\x3c/p>","*...","*Should Not Be Empty","*<p>Verifies that the given item is not empty.\x3c/p>","*Length is 1","*${HARDHAT_OUTPUT}, Error","*Should Contain","*<p>Fails if <code>container\x3c/code> does not contain <code>item\x3c/code> one or more times.\x3c/p>","*${HARDHAT_OUTPUT}, ${HARDHAT_CHECK}","*HARDHAT ETHERS.JS TEST 3 : Get token symbol from the deployed smart contract and check the result.","*Get Symbol","*${RESULT} = {'symbol': 'TEST'}","*${RESULT}, symbol","*{'symbol': 'TEST'}","*HARDHAT ETHERS.JS TEST 4 : Get the decimals from the deployed smart contract and check the result.","*Get Default Decimals","*${RESULT} = {'decimals': 18}","*${RESULT}, decimals","*{'decimals': 18}","*HARDHAT ETHERS.JS TEST 5 : Get total token supply from the deployed smart contract and check the result.","*Get Total Supply","*${RESULT} = {'totalSupplyFormatUnits': '1000000.0'}","*${RESULT}, totalSupplyFormatUnits","*{'totalSupplyFormatUnits': '1000000.0'}","*HARDHAT ETHERS.JS TEST 6 : Get balance of tokens from the address of the deployed smart contract owner and check the result.","*Get Token Balance Address","*${TOKEN_ADDRESS}","*${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}","*${TOKEN_ADDRESS}, testTokenAddress","*{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}","*Get Balance Of Address","*${RESULT} = {'addressBalance': '1000000.0'}","*${RESULT}, addressBalance","*{'addressBalance': '1000000.0'}","*HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result.","*Get Receiver Target Address","*${RECEIVING_ADDRESS}","*${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}","*${RECEIVING_ADDRESS}, receivingAddress","*{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}","*Transfer To Target Address","*${RESULT} = {'receiverBalanceFormatUnits': '80000.0'}","*${RESULT}, receiverBalanceFormatUnits","*{'receiverBalanceFormatUnits': '80000.0'}","*HARDHAT ETHERS.JS TEST 8 : Get balance of tokens from the address of the deployed smart contract owner after sending tokens to another address and check the result.","*${RESULT} = {'addressBalance': '920000.0'}","*{'addressBalance': '920000.0'}","*HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result.","*Approve Spender Amount","*${APPROVAL_OUTPUT}","*${APPROVAL_OUTPUT} = {'approvalSuccess': 'Amount has been approved'}","*${APPROVAL_OUTPUT}, approvalSuccess","*{'approvalSuccess': 'Amount has been approved'}","*Show Spender Allowance","*${RESULT} = {'showAllowance': '200000.0'}","*${RESULT}, showAllowance","*{'showAllowance': '200000.0'}","*HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result.","*Transfer From Target Address","*${RESULT} = {'senderBalanceFormatUnits': '79300.0'}","*${RESULT}, senderBalanceFormatUnits","*{'senderBalanceFormatUnits': '79300.0'}","*HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result.","*Increase Spender Allowance","*${RESULT} = {'showIncreasedAllowance': '201300.0'}","*${RESULT}, showIncreasedAllowance","*{'showIncreasedAllowance': '201300.0'}","*HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result.","*Decrease Spender Allowance","*${RESULT} = {'showDecreasedAllowance': '200300.0'}","*${RESULT}, showDecreasedAllowance","*{'showDecreasedAllowance': '200300.0'}"]);
+window.output["strings"] = window.output["strings"].concat(["*","*Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","*/Users/jgorospe/Documents/GitHub/Robot-Framework-Solidity-Testing-Toolkit_Gas-Report-Enhancement/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot","*../robotframework-hardhat-test-keywords.robot","*HARDHAT ETHERS.JS TEST 1 : Get the deployed smart contract using the hardhat-ethers plugin object and check the result.","*Forked_Mainnet_Test","*Get Contract","*Remote","*%{CONTRACT_ADDRESS}","*${RESULT}","*${RESULT} = {'checkContract': {'interface': {'fragments': [{'name': None, 'type': 'constructor', 'inputs': [], 'payable': False, 'stateMutability': 'nonpayable', 'gas': None, '_isFragment': True}, {'name': 'Appro...","*Should Not Contain","*BuiltIn","*<p>Fails if <code>container\x3c/code> contains <code>item\x3c/code> one or more times.\x3c/p>","*${RESULT}    errorName","*HARDHAT ETHERS.JS TEST 2 : Get token name from the deployed smart contract and check the result.","*Get Name","*${RESULT} = {'name': 'TestToken'}","*Check Smart Contract Results And Log Them","*${RESULT}    name","*Log","*<p>Logs the given message with the given level.\x3c/p>","*${HARDHAT_OUTPUT}","*{'name': 'TestToken'}","*Log To Console","*<p>Logs the given message to the console.\x3c/p>","*...","*Should Not Be Empty","*<p>Verifies that the given item is not empty.\x3c/p>","*Length is 1.","*${HARDHAT_OUTPUT}    Error","*Should Contain","*<p>Fails if <code>container\x3c/code> does not contain <code>item\x3c/code> one or more times.\x3c/p>","*${HARDHAT_OUTPUT}    ${HARDHAT_CHECK}","*HARDHAT ETHERS.JS TEST 3 : Get token symbol from the deployed smart contract and check the result.","*Get Symbol","*${RESULT} = {'symbol': 'TEST'}","*${RESULT}    symbol","*{'symbol': 'TEST'}","*HARDHAT ETHERS.JS TEST 4 : Get the decimals from the deployed smart contract and check the result.","*Get Default Decimals","*${RESULT} = {'decimals': 18}","*${RESULT}    decimals","*{'decimals': 18}","*HARDHAT ETHERS.JS TEST 5 : Get total token supply from the deployed smart contract and check the result.","*Get Total Supply","*${RESULT} = {'totalSupplyFormatUnits': '1000000.0'}","*${RESULT}    totalSupplyFormatUnits","*{'totalSupplyFormatUnits': '1000000.0'}","*HARDHAT ETHERS.JS TEST 6 : Get balance of tokens from the address of the deployed smart contract owner and check the result.","*Get Token Balance Address","*${TOKEN_ADDRESS}","*${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}","*${TOKEN_ADDRESS}    testTokenAddress","*{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}","*Get Balance Of Address","*${RESULT} = {'addressBalance': '920700.0'}","*${RESULT}    addressBalance","*{'addressBalance': '920700.0'}","*HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result. Show the amount of gas that was used.","*Get Receiver Target Address","*${RECEIVING_ADDRESS}","*${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}","*${RECEIVING_ADDRESS}    receivingAddress","*{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}","*Transfer To Target Address","*${RESULT} = {'receiverBalanceFormatUnits': '159300.0', 'gasReport': 'Gas used for transferToTargetAddress: 35111'}","*${RESULT}    receiverBalanceFormatUnits","*{'receiverBalanceFormatUnits': '159300.0', 'gasReport': 'Gas used for transferToTargetAddress: 35111'}","*Length is 2.","*HARDHAT ETHERS.JS TEST 8 : Get balance of tokens from the address of the deployed smart contract owner after sending tokens to another address and check the result.","*${RESULT} = {'addressBalance': '840700.0'}","*{'addressBalance': '840700.0'}","*HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result. Show the amount of gas that was used.","*Approve Spender Amount","*${APPROVAL_OUTPUT}","*${APPROVAL_OUTPUT} = {'approvalSuccess': 'Amount has been approved', 'gasReport': 'Gas used for approveSpenderAmount: 29800'}","*${APPROVAL_OUTPUT}    approvalSuccess","*{'approvalSuccess': 'Amount has been approved', 'gasReport': 'Gas used for approveSpenderAmount: 29800'}","*Show Spender Allowance","*${RESULT} = {'showAllowance': '200000.0'}","*${RESULT}    showAllowance","*{'showAllowance': '200000.0'}","*HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result. Show the amount of gas that was used.","*Transfer From Target Address","*${RESULT} = {'senderBalanceFormatUnits': '158600.0', 'gasReport': 'Gas used for transferFromTargetAddres: 43268'}","*${RESULT}    senderBalanceFormatUnits","*{'senderBalanceFormatUnits': '158600.0', 'gasReport': 'Gas used for transferFromTargetAddres: 43268'}","*HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result. Show the amount of gas that was used.","*Increase Spender Allowance","*${RESULT} = {'showIncreasedAllowance': '201300.0', 'gasReport': 'Gas used for increaseSpenderAllowance: 30193'}","*${RESULT}    showIncreasedAllowance","*{'showIncreasedAllowance': '201300.0', 'gasReport': 'Gas used for increaseSpenderAllowance: 30193'}","*HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result. Show the amount of gas that was used.","*Decrease Spender Allowance","*${RESULT} = {'showDecreasedAllowance': '200300.0', 'gasReport': 'Gas used for decreaseSpenderAllowance: 30116'}","*${RESULT}    showDecreasedAllowance","*{'showDecreasedAllowance': '200300.0', 'gasReport': 'Gas used for decreaseSpenderAllowance: 30116'}"]);
 </script>
 <script type="text/javascript">
-window.output["stats"] = [[{"elapsed":"00:00:01","fail":0,"label":"All Tests","pass":12,"skip":0}],[{"elapsed":"00:00:01","fail":0,"label":"Forked_Mainnet_Test","pass":1,"skip":0}],[{"elapsed":"00:00:01","fail":0,"id":"s1","label":"Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","name":"Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","pass":12,"skip":0}]];
+window.output["stats"] = [[{"elapsed":"00:00:00","fail":0,"label":"All Tests","pass":12,"skip":0}],[{"elapsed":"00:00:00","fail":0,"label":"Forked_Mainnet_Test","pass":1,"skip":0}],[{"elapsed":"00:00:01","fail":0,"id":"s1","label":"Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","name":"Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test","pass":12,"skip":0}]];
 </script>
 <script type="text/javascript">
 window.output["errors"] = [];
 </script>
 <script type="text/javascript">
-window.output["baseMillis"] = 1675923409246;
+window.output["baseMillis"] = 1712829163113;
 </script>
 <script type="text/javascript">
-window.output["generated"] = 1457;
+window.output["generated"] = 611;
 </script>
 <script type="text/javascript">
 window.output["expand_keywords"] = null;
@@ -1831,7 +2109,7 @@
 </script>
 <title></title>
 </head>
-<body>
+<body data-theme="dark">
 <div id="javascript-disabled">
   <h1>Opening Robot Framework log failed</h1>
   <ul>
@@ -1841,12 +2119,13 @@ <h1>Opening Robot Framework log failed</h1>
   </ul>
 </div>
 <script type="text/javascript">removeJavaScriptDisabledWarning();</script>
-
 <div id="header"></div>
 <div id="statistics-container"></div>
 
 <script type="text/javascript">
 $(document).ready(function() {
+    storage.init();
+    theme.init(storage);
     try {
         var topsuite = window.testdata.suite();
     } catch (error) {
@@ -1854,6 +2133,7 @@ <h1>Opening Robot Framework log failed</h1>
         return;
     }
     initLayout(topsuite.name, 'Log');
+    theme.reflectPreference();
     addStatistics();
     addErrors();
     addExecutionLog(topsuite);
@@ -1894,25 +2174,6 @@ <h1>Opening Robot Framework log failed</h1>
         // Errors may have moved scroll position. Resetting location re-scrolls.
         if (window.location.hash)
             window.location.replace(window.location.hash);
-        highlightLinkTarget();
-    }
-}
-
-function highlightLinkTarget() {
-    if (window.location.hash) {
-        var target = $(window.location.hash);
-        highlight(target);
-    }
-}
-
-function highlight(element, color) {
-    if (color === undefined)
-        color = 242;
-    if (color < 255) {
-        element.css({'background-color': 'rgb('+color+','+color+','+color+')'});
-        setTimeout(function () { highlight(element, color+1); }, 300);
-    } else {
-        element.css({'background-color': ''});
     }
 }
 
@@ -1928,9 +2189,8 @@ <h1>Opening Robot Framework log failed</h1>
         util.map(ids, expandElementWithId);
         if (ids.length) {
             expandFailed(window.testdata.findLoaded(util.last(ids)));
-            window.location.hash = '';
             window.location.hash = id;
-            highlightLinkTarget();
+            document.getElementById(id).scrollIntoView();
         }
     });
 }
@@ -2128,8 +2388,9 @@ <h2>{{= testOrTask('{Test}')}} Execution Errors</h2>
       <div class="element-header-left" title="${type}  {{if name}}{{html fullName}}  {{/if}}[${status}]">
         <span class="elapsed" title="Elapsed time">${times.elapsedTime}</span>
         <span class="label ${status.toLowerCase()}">${type}</span>
-        <span>{{html assign}}</span>
+        <span class="assign">{{html assign}}</span>
         <span class="name"><span class="parent-name">{{html libname}}{{if libname}} . {{/if}}</span>{{html name}}</span>
+        &nbsp;
         <span class="arg">{{html arguments}}</span>
       </div>
       <div class="element-header-right" onclick="stopPropagation(event)">
@@ -2163,6 +2424,12 @@ <h2>{{= testOrTask('{Test}')}} Execution Errors</h2>
           <th>Start / End / Elapsed:</th>
           <td>${times.startTime} / ${times.endTime} / ${times.elapsedTime}</td>
         </tr>
+        {{if message()}}
+        <tr>
+          <th>Message:</th>
+          <td class="message">{{html message()}}</td>
+        </tr>
+        {{/if}}
       </table>
     </div>
   </div>
@@ -2185,6 +2452,7 @@ <h2>{{= testOrTask('{Test}')}} Execution Errors</h2>
   <div id="log-level-selector">
   Log level:
     <select onchange="logLevelSelected(this.options[selectedIndex].value)">
+      <option value="3">WARN</option>
       <option value="2">INFO</option>
       <option value="1">DEBUG</option>
       {{if showTrace()}}<option value="0">TRACE</option>{{/if}}
diff --git a/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-output.xml b/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-output.xml
index 9a1082f..ece9714 100644
--- a/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-output.xml
+++ b/solidity-hardhat-multichain-tools/logs/smart-contract-hardhat-Ethereum-tests-output.xml
@@ -1,1176 +1,1176 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<robot generator="Robot 6.0.2 (Python 3.9.12 on darwin)" generated="20230209 01:16:49.245" rpa="false" schemaversion="3">
-<suite id="s1" name="Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test" source="/Users/jgorospe/Documents/GitHub/Robot-Framework-Solidity-Testing-Toolkit_Dotenv_WIP/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot">
+<robot generator="Robot 7.0 (Python 3.11.8 on darwin)" generated="2024-04-11T05:52:43.110632" rpa="false" schemaversion="5">
+<suite id="s1" name="Robot Framework Solidity Smart Contract Hardhat Network Ethereum Test" source="/Users/jgorospe/Documents/GitHub/Robot-Framework-Solidity-Testing-Toolkit_Gas-Report-Enhancement/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot">
 <test id="s1-t1" name="HARDHAT ETHERS.JS TEST 1 : Get the deployed smart contract using the hardhat-ethers plugin object and check the result." line="9">
-<kw name="Get Contract" library="Remote">
+<kw name="Get Contract" owner="Remote">
+<msg time="2024-04-11T05:52:43.288293" level="INFO">${RESULT} = {'checkContract': {'interface': {'fragments': [{'name': None, 'type': 'constructor', 'inputs': [], 'payable': False, 'stateMutability': 'nonpayable', 'gas': None, '_isFragment': True}, {'name': 'Appro...</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:49.967" level="INFO">${RESULT} = {'checkContract': {'interface': {'fragments': [{'name': None, 'type': 'constructor', 'inputs': [], 'payable': False, 'stateMutability': 'nonpayable', 'gas': None, '_isFragment': True}, {'name': 'Appro...</msg>
-<status status="PASS" starttime="20230209 01:16:49.382" endtime="20230209 01:16:49.967"/>
+<status status="PASS" start="2024-04-11T05:52:43.224505" elapsed="0.063840"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${RESULT}</arg>
 <arg>errorName</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:49.967" endtime="20230209 01:16:49.968"/>
+<status status="PASS" start="2024-04-11T05:52:43.288616" elapsed="0.000206"/>
 </kw>
 <tag>Forked_Mainnet_Test</tag>
-<status status="PASS" starttime="20230209 01:16:49.381" endtime="20230209 01:16:49.968"/>
+<status status="PASS" start="2024-04-11T05:52:43.223791" elapsed="0.065183"/>
 </test>
 <test id="s1-t2" name="HARDHAT ETHERS.JS TEST 2 : Get token name from the deployed smart contract and check the result." line="14">
-<kw name="Get Name" library="Remote">
+<kw name="Get Name" owner="Remote">
+<msg time="2024-04-11T05:52:43.302046" level="INFO">${RESULT} = {'name': 'TestToken'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.002" level="INFO">${RESULT} = {'name': 'TestToken'}</msg>
-<status status="PASS" starttime="20230209 01:16:49.969" endtime="20230209 01:16:50.002"/>
+<status status="PASS" start="2024-04-11T05:52:43.289549" elapsed="0.012577"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>name</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.303059" level="INFO">{'name': 'TestToken'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.003" level="INFO">{'name': 'TestToken'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.003" endtime="20230209 01:16:50.003"/>
+<status status="PASS" start="2024-04-11T05:52:43.302906" elapsed="0.000201"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.003" endtime="20230209 01:16:50.004"/>
+<status status="PASS" start="2024-04-11T05:52:43.303201" elapsed="0.000152"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.004" endtime="20230209 01:16:50.004"/>
+<status status="PASS" start="2024-04-11T05:52:43.303462" elapsed="0.000164"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.004" endtime="20230209 01:16:50.004"/>
+<status status="PASS" start="2024-04-11T05:52:43.303776" elapsed="0.000207"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.004" endtime="20230209 01:16:50.004"/>
+<status status="PASS" start="2024-04-11T05:52:43.304152" elapsed="0.000188"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.004" endtime="20230209 01:16:50.005"/>
+<status status="PASS" start="2024-04-11T05:52:43.304463" elapsed="0.000115"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.005" endtime="20230209 01:16:50.005"/>
+<status status="PASS" start="2024-04-11T05:52:43.304688" elapsed="0.000107"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.005" endtime="20230209 01:16:50.005"/>
+<status status="PASS" start="2024-04-11T05:52:43.304905" elapsed="0.000113"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.305258" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.005" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.005" endtime="20230209 01:16:50.005"/>
+<status status="PASS" start="2024-04-11T05:52:43.305122" elapsed="0.000175"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.005" endtime="20230209 01:16:50.006"/>
+<status status="PASS" start="2024-04-11T05:52:43.305391" elapsed="0.000117"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.006" endtime="20230209 01:16:50.006"/>
+<status status="PASS" start="2024-04-11T05:52:43.305585" elapsed="0.000132"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.003" endtime="20230209 01:16:50.006"/>
+<arg>${RESULT}</arg>
+<arg>name</arg>
+<status status="PASS" start="2024-04-11T05:52:43.302556" elapsed="0.003222"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:49.969" endtime="20230209 01:16:50.006"/>
+<status status="PASS" start="2024-04-11T05:52:43.289196" elapsed="0.016778"/>
 </test>
 <test id="s1-t3" name="HARDHAT ETHERS.JS TEST 3 : Get token symbol from the deployed smart contract and check the result." line="18">
-<kw name="Get Symbol" library="Remote">
+<kw name="Get Symbol" owner="Remote">
+<msg time="2024-04-11T05:52:43.325180" level="INFO">${RESULT} = {'symbol': 'TEST'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.031" level="INFO">${RESULT} = {'symbol': 'TEST'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.007" endtime="20230209 01:16:50.031"/>
+<status status="PASS" start="2024-04-11T05:52:43.306723" elapsed="0.018514"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>symbol</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.326477" level="INFO">{'symbol': 'TEST'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.032" level="INFO">{'symbol': 'TEST'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.032" endtime="20230209 01:16:50.032"/>
+<status status="PASS" start="2024-04-11T05:52:43.326180" elapsed="0.000548"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.032" endtime="20230209 01:16:50.032"/>
+<status status="PASS" start="2024-04-11T05:52:43.327055" elapsed="0.000530"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.032" endtime="20230209 01:16:50.032"/>
+<status status="PASS" start="2024-04-11T05:52:43.328257" elapsed="0.001502"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.032" endtime="20230209 01:16:50.033"/>
+<status status="PASS" start="2024-04-11T05:52:43.330083" elapsed="0.000254"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.033" endtime="20230209 01:16:50.033"/>
+<status status="PASS" start="2024-04-11T05:52:43.330470" elapsed="0.000250"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.033" endtime="20230209 01:16:50.033"/>
+<status status="PASS" start="2024-04-11T05:52:43.330861" elapsed="0.000174"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.033" endtime="20230209 01:16:50.033"/>
+<status status="PASS" start="2024-04-11T05:52:43.331228" elapsed="0.000169"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.034" endtime="20230209 01:16:50.034"/>
+<status status="PASS" start="2024-04-11T05:52:43.331489" elapsed="0.000118"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.331820" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.034" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.034" endtime="20230209 01:16:50.034"/>
+<status status="PASS" start="2024-04-11T05:52:43.331687" elapsed="0.000173"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.034" endtime="20230209 01:16:50.034"/>
+<status status="PASS" start="2024-04-11T05:52:43.331938" elapsed="0.000119"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.034" endtime="20230209 01:16:50.035"/>
+<status status="PASS" start="2024-04-11T05:52:43.332139" elapsed="0.000135"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.031" endtime="20230209 01:16:50.035"/>
+<arg>${RESULT}</arg>
+<arg>symbol</arg>
+<status status="PASS" start="2024-04-11T05:52:43.325654" elapsed="0.006683"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.007" endtime="20230209 01:16:50.035"/>
+<status status="PASS" start="2024-04-11T05:52:43.306299" elapsed="0.026188"/>
 </test>
 <test id="s1-t4" name="HARDHAT ETHERS.JS TEST 4 : Get the decimals from the deployed smart contract and check the result." line="22">
-<kw name="Get Default Decimals" library="Remote">
+<kw name="Get Default Decimals" owner="Remote">
+<msg time="2024-04-11T05:52:43.346706" level="INFO">${RESULT} = {'decimals': 18}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.056" level="INFO">${RESULT} = {'decimals': 18}</msg>
-<status status="PASS" starttime="20230209 01:16:50.036" endtime="20230209 01:16:50.056"/>
+<status status="PASS" start="2024-04-11T05:52:43.333332" elapsed="0.013414"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>decimals</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.347517" level="INFO">{'decimals': 18}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.057" level="INFO">{'decimals': 18}</msg>
-<status status="PASS" starttime="20230209 01:16:50.057" endtime="20230209 01:16:50.057"/>
+<status status="PASS" start="2024-04-11T05:52:43.347374" elapsed="0.000187"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.057" endtime="20230209 01:16:50.057"/>
+<status status="PASS" start="2024-04-11T05:52:43.347754" elapsed="0.000138"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.057" endtime="20230209 01:16:50.057"/>
+<status status="PASS" start="2024-04-11T05:52:43.347983" elapsed="0.000122"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.057" endtime="20230209 01:16:50.058"/>
+<status status="PASS" start="2024-04-11T05:52:43.348194" elapsed="0.000136"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.058" endtime="20230209 01:16:50.058"/>
+<status status="PASS" start="2024-04-11T05:52:43.348408" elapsed="0.001262"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.058" endtime="20230209 01:16:50.058"/>
+<status status="PASS" start="2024-04-11T05:52:43.349764" elapsed="0.000124"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.058" endtime="20230209 01:16:50.058"/>
+<status status="PASS" start="2024-04-11T05:52:43.349971" elapsed="0.000112"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.058" endtime="20230209 01:16:50.059"/>
+<status status="PASS" start="2024-04-11T05:52:43.350160" elapsed="0.000107"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.350449" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.059" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.059" endtime="20230209 01:16:50.059"/>
+<status status="PASS" start="2024-04-11T05:52:43.350341" elapsed="0.000144"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.059" endtime="20230209 01:16:50.059"/>
+<status status="PASS" start="2024-04-11T05:52:43.350558" elapsed="0.000115"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.059" endtime="20230209 01:16:50.059"/>
+<status status="PASS" start="2024-04-11T05:52:43.350750" elapsed="0.000129"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.056" endtime="20230209 01:16:50.059"/>
+<arg>${RESULT}</arg>
+<arg>decimals</arg>
+<status status="PASS" start="2024-04-11T05:52:43.347037" elapsed="0.003897"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.035" endtime="20230209 01:16:50.060"/>
+<status status="PASS" start="2024-04-11T05:52:43.332841" elapsed="0.018222"/>
 </test>
 <test id="s1-t5" name="HARDHAT ETHERS.JS TEST 5 : Get total token supply from the deployed smart contract and check the result." line="26">
-<kw name="Get Total Supply" library="Remote">
+<kw name="Get Total Supply" owner="Remote">
+<msg time="2024-04-11T05:52:43.367026" level="INFO">${RESULT} = {'totalSupplyFormatUnits': '1000000.0'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.091" level="INFO">${RESULT} = {'totalSupplyFormatUnits': '1000000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.060" endtime="20230209 01:16:50.091"/>
+<status status="PASS" start="2024-04-11T05:52:43.351611" elapsed="0.015459"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>totalSupplyFormatUnits</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.367994" level="INFO">{'totalSupplyFormatUnits': '1000000.0'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.092" level="INFO">{'totalSupplyFormatUnits': '1000000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.092" endtime="20230209 01:16:50.092"/>
+<status status="PASS" start="2024-04-11T05:52:43.367841" elapsed="0.000207"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.092" endtime="20230209 01:16:50.092"/>
+<status status="PASS" start="2024-04-11T05:52:43.368145" elapsed="0.000153"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.093" endtime="20230209 01:16:50.093"/>
+<status status="PASS" start="2024-04-11T05:52:43.368386" elapsed="0.000125"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.093" endtime="20230209 01:16:50.093"/>
+<status status="PASS" start="2024-04-11T05:52:43.368605" elapsed="0.000106"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.093" endtime="20230209 01:16:50.093"/>
+<status status="PASS" start="2024-04-11T05:52:43.368786" elapsed="0.000141"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.093" endtime="20230209 01:16:50.093"/>
+<status status="PASS" start="2024-04-11T05:52:43.369002" elapsed="0.000105"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.093" endtime="20230209 01:16:50.094"/>
+<status status="PASS" start="2024-04-11T05:52:43.369183" elapsed="0.000103"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.094" endtime="20230209 01:16:50.094"/>
+<status status="PASS" start="2024-04-11T05:52:43.369445" elapsed="0.000142"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.369791" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.094" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.094" endtime="20230209 01:16:50.094"/>
+<status status="PASS" start="2024-04-11T05:52:43.369674" elapsed="0.000153"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.094" endtime="20230209 01:16:50.094"/>
+<status status="PASS" start="2024-04-11T05:52:43.369904" elapsed="0.000116"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.094" endtime="20230209 01:16:50.095"/>
+<status status="PASS" start="2024-04-11T05:52:43.370099" elapsed="0.000132"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.092" endtime="20230209 01:16:50.095"/>
+<arg>${RESULT}</arg>
+<arg>totalSupplyFormatUnits</arg>
+<status status="PASS" start="2024-04-11T05:52:43.367416" elapsed="0.002876"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.060" endtime="20230209 01:16:50.095"/>
+<status status="PASS" start="2024-04-11T05:52:43.351265" elapsed="0.019169"/>
 </test>
 <test id="s1-t6" name="HARDHAT ETHERS.JS TEST 6 : Get balance of tokens from the address of the deployed smart contract owner and check the result." line="30">
-<kw name="Get Token Balance Address" library="Remote">
+<kw name="Get Token Balance Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.384175" level="INFO">${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
 <var>${TOKEN_ADDRESS}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.114" level="INFO">${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.095" endtime="20230209 01:16:50.115"/>
+<status status="PASS" start="2024-04-11T05:52:43.371029" elapsed="0.013190"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${TOKEN_ADDRESS}</arg>
-<arg>testTokenAddress</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.385069" level="INFO">{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.115" level="INFO">{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.115" endtime="20230209 01:16:50.115"/>
+<status status="PASS" start="2024-04-11T05:52:43.384934" elapsed="0.000183"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.115" endtime="20230209 01:16:50.116"/>
+<status status="PASS" start="2024-04-11T05:52:43.385206" elapsed="0.000140"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.116" endtime="20230209 01:16:50.116"/>
+<status status="PASS" start="2024-04-11T05:52:43.385423" elapsed="0.000109"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.116" endtime="20230209 01:16:50.116"/>
+<status status="PASS" start="2024-04-11T05:52:43.385608" elapsed="0.000104"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.116" endtime="20230209 01:16:50.117"/>
+<status status="PASS" start="2024-04-11T05:52:43.385788" elapsed="0.000140"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.117" endtime="20230209 01:16:50.117"/>
+<status status="PASS" start="2024-04-11T05:52:43.386043" elapsed="0.000132"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.117" endtime="20230209 01:16:50.117"/>
+<status status="PASS" start="2024-04-11T05:52:43.386258" elapsed="0.000115"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.118" endtime="20230209 01:16:50.118"/>
+<status status="PASS" start="2024-04-11T05:52:43.386451" elapsed="0.000109"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.386847" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.118" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.118" endtime="20230209 01:16:50.118"/>
+<status status="PASS" start="2024-04-11T05:52:43.386642" elapsed="0.000246"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.118" endtime="20230209 01:16:50.119"/>
+<status status="PASS" start="2024-04-11T05:52:43.386973" elapsed="0.000212"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.119" endtime="20230209 01:16:50.119"/>
+<status status="PASS" start="2024-04-11T05:52:43.387273" elapsed="0.000135"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.115" endtime="20230209 01:16:50.120"/>
+<arg>${TOKEN_ADDRESS}</arg>
+<arg>testTokenAddress</arg>
+<status status="PASS" start="2024-04-11T05:52:43.384538" elapsed="0.002926"/>
 </kw>
-<kw name="Get Balance Of Address" library="Remote">
+<kw name="Get Balance Of Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.405114" level="INFO">${RESULT} = {'addressBalance': '920700.0'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.157" level="INFO">${RESULT} = {'addressBalance': '1000000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.120" endtime="20230209 01:16:50.157"/>
+<status status="PASS" start="2024-04-11T05:52:43.387607" elapsed="0.017541"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>addressBalance</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.405937" level="INFO">{'addressBalance': '920700.0'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.158" level="INFO">{'addressBalance': '1000000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.158" endtime="20230209 01:16:50.158"/>
+<status status="PASS" start="2024-04-11T05:52:43.405780" elapsed="0.000209"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.158" endtime="20230209 01:16:50.158"/>
+<status status="PASS" start="2024-04-11T05:52:43.406105" elapsed="0.000189"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.158" endtime="20230209 01:16:50.158"/>
+<status status="PASS" start="2024-04-11T05:52:43.406423" elapsed="0.000188"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.159" endtime="20230209 01:16:50.159"/>
+<status status="PASS" start="2024-04-11T05:52:43.406727" elapsed="0.000329"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.159" endtime="20230209 01:16:50.159"/>
+<status status="PASS" start="2024-04-11T05:52:43.407157" elapsed="0.000176"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.159" endtime="20230209 01:16:50.159"/>
+<status status="PASS" start="2024-04-11T05:52:43.407416" elapsed="0.000111"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.159" endtime="20230209 01:16:50.160"/>
+<status status="PASS" start="2024-04-11T05:52:43.407606" elapsed="0.000104"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.160" endtime="20230209 01:16:50.160"/>
+<status status="PASS" start="2024-04-11T05:52:43.407786" elapsed="0.000104"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.408072" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.160" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.160" endtime="20230209 01:16:50.160"/>
+<status status="PASS" start="2024-04-11T05:52:43.407965" elapsed="0.000142"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.160" endtime="20230209 01:16:50.160"/>
+<status status="PASS" start="2024-04-11T05:52:43.408181" elapsed="0.000114"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.160" endtime="20230209 01:16:50.161"/>
+<status status="PASS" start="2024-04-11T05:52:43.408372" elapsed="0.000127"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.157" endtime="20230209 01:16:50.161"/>
+<arg>${RESULT}</arg>
+<arg>addressBalance</arg>
+<status status="PASS" start="2024-04-11T05:52:43.405422" elapsed="0.003131"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.095" endtime="20230209 01:16:50.161"/>
+<status status="PASS" start="2024-04-11T05:52:43.370640" elapsed="0.038042"/>
 </test>
-<test id="s1-t7" name="HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result." line="36">
-<kw name="Get Receiver Target Address" library="Remote">
+<test id="s1-t7" name="HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result. Show the amount of gas that was used." line="36">
+<kw name="Get Receiver Target Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.421815" level="INFO">${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
 <var>${RECEIVING_ADDRESS}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.178" level="INFO">${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.162" endtime="20230209 01:16:50.178"/>
+<status status="PASS" start="2024-04-11T05:52:43.409316" elapsed="0.012540"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RECEIVING_ADDRESS}</arg>
-<arg>receivingAddress</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.422519" level="INFO">{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.179" level="INFO">{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.179" endtime="20230209 01:16:50.179"/>
+<status status="PASS" start="2024-04-11T05:52:43.422393" elapsed="0.000168"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.179" endtime="20230209 01:16:50.179"/>
+<status status="PASS" start="2024-04-11T05:52:43.422641" elapsed="0.000124"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.179" endtime="20230209 01:16:50.180"/>
+<status status="PASS" start="2024-04-11T05:52:43.422846" elapsed="0.000112"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.180" endtime="20230209 01:16:50.180"/>
+<status status="PASS" start="2024-04-11T05:52:43.423033" elapsed="0.000104"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.180" endtime="20230209 01:16:50.180"/>
+<status status="PASS" start="2024-04-11T05:52:43.423212" elapsed="0.000139"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.181" endtime="20230209 01:16:50.181"/>
+<status status="PASS" start="2024-04-11T05:52:43.423426" elapsed="0.000103"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.181" endtime="20230209 01:16:50.181"/>
+<status status="PASS" start="2024-04-11T05:52:43.423604" elapsed="0.000107"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.181" endtime="20230209 01:16:50.182"/>
+<status status="PASS" start="2024-04-11T05:52:43.423785" elapsed="0.000107"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.424064" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.182" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.182" endtime="20230209 01:16:50.182"/>
+<status status="PASS" start="2024-04-11T05:52:43.423964" elapsed="0.000134"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.182" endtime="20230209 01:16:50.182"/>
+<status status="PASS" start="2024-04-11T05:52:43.424171" elapsed="0.000111"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.182" endtime="20230209 01:16:50.182"/>
+<status status="PASS" start="2024-04-11T05:52:43.424358" elapsed="0.000127"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.178" endtime="20230209 01:16:50.182"/>
+<arg>${RECEIVING_ADDRESS}</arg>
+<arg>receivingAddress</arg>
+<status status="PASS" start="2024-04-11T05:52:43.422112" elapsed="0.002425"/>
 </kw>
-<kw name="Transfer To Target Address" library="Remote">
+<kw name="Transfer To Target Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.464011" level="INFO">${RESULT} = {'receiverBalanceFormatUnits': '159300.0', 'gasReport': 'Gas used for transferToTargetAddress: 35111'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.269" level="INFO">${RESULT} = {'receiverBalanceFormatUnits': '80000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.183" endtime="20230209 01:16:50.269"/>
+<status status="PASS" start="2024-04-11T05:52:43.424671" elapsed="0.039377"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>receiverBalanceFormatUnits</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.464851" level="INFO">{'receiverBalanceFormatUnits': '159300.0', 'gasReport': 'Gas used for transferToTargetAddress: 35111'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.270" level="INFO">{'receiverBalanceFormatUnits': '80000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.270" endtime="20230209 01:16:50.270"/>
+<status status="PASS" start="2024-04-11T05:52:43.464705" elapsed="0.000195"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.270" endtime="20230209 01:16:50.271"/>
+<status status="PASS" start="2024-04-11T05:52:43.464994" elapsed="0.000153"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.271" endtime="20230209 01:16:50.271"/>
+<status status="PASS" start="2024-04-11T05:52:43.465234" elapsed="0.000124"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.271" endtime="20230209 01:16:50.271"/>
+<status status="PASS" start="2024-04-11T05:52:43.465443" elapsed="0.000118"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.271" endtime="20230209 01:16:50.272"/>
+<status status="PASS" start="2024-04-11T05:52:43.465731" elapsed="0.000165"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.272" endtime="20230209 01:16:50.272"/>
+<status status="PASS" start="2024-04-11T05:52:43.465983" elapsed="0.000119"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.272" endtime="20230209 01:16:50.272"/>
+<status status="PASS" start="2024-04-11T05:52:43.466185" elapsed="0.000115"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.272" endtime="20230209 01:16:50.272"/>
+<status status="PASS" start="2024-04-11T05:52:43.466382" elapsed="0.000112"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.466690" level="INFO">Length is 2.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.273" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.273" endtime="20230209 01:16:50.273"/>
+<status status="PASS" start="2024-04-11T05:52:43.466577" elapsed="0.000153"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.273" endtime="20230209 01:16:50.273"/>
+<status status="PASS" start="2024-04-11T05:52:43.466815" elapsed="0.000126"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.273" endtime="20230209 01:16:50.273"/>
+<status status="PASS" start="2024-04-11T05:52:43.467030" elapsed="0.000161"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.269" endtime="20230209 01:16:50.274"/>
+<arg>${RESULT}</arg>
+<arg>receiverBalanceFormatUnits</arg>
+<status status="PASS" start="2024-04-11T05:52:43.464350" elapsed="0.002896"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.161" endtime="20230209 01:16:50.274"/>
+<status status="PASS" start="2024-04-11T05:52:43.408885" elapsed="0.058491"/>
 </test>
 <test id="s1-t8" name="HARDHAT ETHERS.JS TEST 8 : Get balance of tokens from the address of the deployed smart contract owner after sending tokens to another address and check the result." line="42">
-<kw name="Get Balance Of Address" library="Remote">
+<kw name="Get Balance Of Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.484456" level="INFO">${RESULT} = {'addressBalance': '840700.0'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.303" level="INFO">${RESULT} = {'addressBalance': '920000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.274" endtime="20230209 01:16:50.303"/>
+<status status="PASS" start="2024-04-11T05:52:43.468049" elapsed="0.016458"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>addressBalance</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.485320" level="INFO">{'addressBalance': '840700.0'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.304" level="INFO">{'addressBalance': '920000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.304" endtime="20230209 01:16:50.304"/>
+<status status="PASS" start="2024-04-11T05:52:43.485190" elapsed="0.000174"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.304" endtime="20230209 01:16:50.304"/>
+<status status="PASS" start="2024-04-11T05:52:43.485466" elapsed="0.000496"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.305" endtime="20230209 01:16:50.305"/>
+<status status="PASS" start="2024-04-11T05:52:43.486074" elapsed="0.000145"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.305" endtime="20230209 01:16:50.305"/>
+<status status="PASS" start="2024-04-11T05:52:43.486301" elapsed="0.000119"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.305" endtime="20230209 01:16:50.305"/>
+<status status="PASS" start="2024-04-11T05:52:43.486508" elapsed="0.000202"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.305" endtime="20230209 01:16:50.305"/>
+<status status="PASS" start="2024-04-11T05:52:43.486816" elapsed="0.000156"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.306" endtime="20230209 01:16:50.306"/>
+<status status="PASS" start="2024-04-11T05:52:43.487082" elapsed="0.000240"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.306" endtime="20230209 01:16:50.306"/>
+<status status="PASS" start="2024-04-11T05:52:43.487462" elapsed="0.000212"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.487957" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.306" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.306" endtime="20230209 01:16:50.306"/>
+<status status="PASS" start="2024-04-11T05:52:43.487802" elapsed="0.000199"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.306" endtime="20230209 01:16:50.306"/>
+<status status="PASS" start="2024-04-11T05:52:43.488096" elapsed="0.000130"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.307" endtime="20230209 01:16:50.307"/>
+<status status="PASS" start="2024-04-11T05:52:43.488308" elapsed="0.000133"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.303" endtime="20230209 01:16:50.307"/>
+<arg>${RESULT}</arg>
+<arg>addressBalance</arg>
+<status status="PASS" start="2024-04-11T05:52:43.484859" elapsed="0.003636"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.274" endtime="20230209 01:16:50.307"/>
+<status status="PASS" start="2024-04-11T05:52:43.467595" elapsed="0.021085"/>
 </test>
-<test id="s1-t9" name="HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result." line="46">
-<kw name="Approve Spender Amount" library="Remote">
+<test id="s1-t9" name="HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result. Show the amount of gas that was used." line="46">
+<kw name="Approve Spender Amount" owner="Remote">
+<msg time="2024-04-11T05:52:43.523904" level="INFO">${APPROVAL_OUTPUT} = {'approvalSuccess': 'Amount has been approved', 'gasReport': 'Gas used for approveSpenderAmount: 29800'}</msg>
 <var>${APPROVAL_OUTPUT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.372" level="INFO">${APPROVAL_OUTPUT} = {'approvalSuccess': 'Amount has been approved'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.308" endtime="20230209 01:16:50.372"/>
+<status status="PASS" start="2024-04-11T05:52:43.489511" elapsed="0.034447"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${APPROVAL_OUTPUT}</arg>
-<arg>approvalSuccess</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.525315" level="INFO">{'approvalSuccess': 'Amount has been approved', 'gasReport': 'Gas used for approveSpenderAmount: 29800'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.373" level="INFO">{'approvalSuccess': 'Amount has been approved'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.373" endtime="20230209 01:16:50.373"/>
+<status status="PASS" start="2024-04-11T05:52:43.525099" elapsed="0.000309"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.374" endtime="20230209 01:16:50.374"/>
+<status status="PASS" start="2024-04-11T05:52:43.525572" elapsed="0.000219"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.374" endtime="20230209 01:16:50.374"/>
+<status status="PASS" start="2024-04-11T05:52:43.525955" elapsed="0.000147"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.374" endtime="20230209 01:16:50.375"/>
+<status status="PASS" start="2024-04-11T05:52:43.526190" elapsed="0.000114"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.375" endtime="20230209 01:16:50.375"/>
+<status status="PASS" start="2024-04-11T05:52:43.526414" elapsed="0.000212"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.376" endtime="20230209 01:16:50.376"/>
+<status status="PASS" start="2024-04-11T05:52:43.526725" elapsed="0.000121"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.376" endtime="20230209 01:16:50.377"/>
+<status status="PASS" start="2024-04-11T05:52:43.526982" elapsed="0.000145"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.377" endtime="20230209 01:16:50.377"/>
+<status status="PASS" start="2024-04-11T05:52:43.527254" elapsed="0.000131"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.527625" level="INFO">Length is 2.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.378" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.378" endtime="20230209 01:16:50.378"/>
+<status status="PASS" start="2024-04-11T05:52:43.527489" elapsed="0.000177"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.378" endtime="20230209 01:16:50.378"/>
+<status status="PASS" start="2024-04-11T05:52:43.527751" elapsed="0.000121"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.378" endtime="20230209 01:16:50.379"/>
+<status status="PASS" start="2024-04-11T05:52:43.527953" elapsed="0.000148"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.373" endtime="20230209 01:16:50.379"/>
+<arg>${APPROVAL_OUTPUT}</arg>
+<arg>approvalSuccess</arg>
+<status status="PASS" start="2024-04-11T05:52:43.524348" elapsed="0.003897"/>
 </kw>
-<kw name="Show Spender Allowance" library="Remote">
+<kw name="Show Spender Allowance" owner="Remote">
+<msg time="2024-04-11T05:52:43.545075" level="INFO">${RESULT} = {'showAllowance': '200000.0'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.411" level="INFO">${RESULT} = {'showAllowance': '200000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.379" endtime="20230209 01:16:50.411"/>
+<status status="PASS" start="2024-04-11T05:52:43.528387" elapsed="0.016726"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>showAllowance</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.545785" level="INFO">{'showAllowance': '200000.0'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.413" level="INFO">{'showAllowance': '200000.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.412" endtime="20230209 01:16:50.413"/>
+<status status="PASS" start="2024-04-11T05:52:43.545661" elapsed="0.000166"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.413" endtime="20230209 01:16:50.413"/>
+<status status="PASS" start="2024-04-11T05:52:43.545913" elapsed="0.000124"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.413" endtime="20230209 01:16:50.413"/>
+<status status="PASS" start="2024-04-11T05:52:43.546114" elapsed="0.000172"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.413" endtime="20230209 01:16:50.414"/>
+<status status="PASS" start="2024-04-11T05:52:43.546400" elapsed="0.000157"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.414" endtime="20230209 01:16:50.414"/>
+<status status="PASS" start="2024-04-11T05:52:43.546701" elapsed="0.000227"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.414" endtime="20230209 01:16:50.414"/>
+<status status="PASS" start="2024-04-11T05:52:43.547043" elapsed="0.000129"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.414" endtime="20230209 01:16:50.414"/>
+<status status="PASS" start="2024-04-11T05:52:43.547253" elapsed="0.000116"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.414" endtime="20230209 01:16:50.415"/>
+<status status="PASS" start="2024-04-11T05:52:43.547447" elapsed="0.000107"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.547740" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.415" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.415" endtime="20230209 01:16:50.415"/>
+<status status="PASS" start="2024-04-11T05:52:43.547629" elapsed="0.000146"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.415" endtime="20230209 01:16:50.415"/>
+<status status="PASS" start="2024-04-11T05:52:43.547849" elapsed="0.000117"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.415" endtime="20230209 01:16:50.416"/>
+<status status="PASS" start="2024-04-11T05:52:43.548043" elapsed="0.000130"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.411" endtime="20230209 01:16:50.416"/>
+<arg>${RESULT}</arg>
+<arg>showAllowance</arg>
+<status status="PASS" start="2024-04-11T05:52:43.545379" elapsed="0.002848"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.307" endtime="20230209 01:16:50.416"/>
+<status status="PASS" start="2024-04-11T05:52:43.489059" elapsed="0.059296"/>
 </test>
-<test id="s1-t10" name="HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result." line="52">
-<kw name="Get Token Balance Address" library="Remote">
+<test id="s1-t10" name="HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result. Show the amount of gas that was used." line="52">
+<kw name="Get Token Balance Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.561747" level="INFO">${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
 <var>${TOKEN_ADDRESS}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.437" level="INFO">${TOKEN_ADDRESS} = {'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.417" endtime="20230209 01:16:50.437"/>
+<status status="PASS" start="2024-04-11T05:52:43.549144" elapsed="0.012645"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${TOKEN_ADDRESS}</arg>
-<arg>testTokenAddress</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.562902" level="INFO">{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.438" level="INFO">{'testTokenAddress': '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.438" endtime="20230209 01:16:50.438"/>
+<status status="PASS" start="2024-04-11T05:52:43.562551" elapsed="0.000399"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.438" endtime="20230209 01:16:50.438"/>
+<status status="PASS" start="2024-04-11T05:52:43.563045" elapsed="0.000147"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.439" endtime="20230209 01:16:50.439"/>
+<status status="PASS" start="2024-04-11T05:52:43.563271" elapsed="0.000112"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.439" endtime="20230209 01:16:50.439"/>
+<status status="PASS" start="2024-04-11T05:52:43.563458" elapsed="0.000105"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.439" endtime="20230209 01:16:50.439"/>
+<status status="PASS" start="2024-04-11T05:52:43.563635" elapsed="0.000145"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.439" endtime="20230209 01:16:50.439"/>
+<status status="PASS" start="2024-04-11T05:52:43.563857" elapsed="0.000105"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.440" endtime="20230209 01:16:50.440"/>
+<status status="PASS" start="2024-04-11T05:52:43.564035" elapsed="0.000103"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.440" endtime="20230209 01:16:50.440"/>
+<status status="PASS" start="2024-04-11T05:52:43.564230" elapsed="0.000135"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.564558" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.440" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.440" endtime="20230209 01:16:50.440"/>
+<status status="PASS" start="2024-04-11T05:52:43.564445" elapsed="0.000153"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.440" endtime="20230209 01:16:50.440"/>
+<status status="PASS" start="2024-04-11T05:52:43.564674" elapsed="0.000116"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.441" endtime="20230209 01:16:50.441"/>
+<status status="PASS" start="2024-04-11T05:52:43.564868" elapsed="0.000236"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.438" endtime="20230209 01:16:50.441"/>
+<arg>${TOKEN_ADDRESS}</arg>
+<arg>testTokenAddress</arg>
+<status status="PASS" start="2024-04-11T05:52:43.562124" elapsed="0.003066"/>
 </kw>
-<kw name="Get Receiver Target Address" library="Remote">
+<kw name="Get Receiver Target Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.577306" level="INFO">${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
 <var>${RECEIVING_ADDRESS}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.464" level="INFO">${RECEIVING_ADDRESS} = {'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.441" endtime="20230209 01:16:50.464"/>
+<status status="PASS" start="2024-04-11T05:52:43.565394" elapsed="0.011943"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RECEIVING_ADDRESS}</arg>
-<arg>receivingAddress</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.577965" level="INFO">{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.464" level="INFO">{'receivingAddress': '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.464" endtime="20230209 01:16:50.464"/>
+<status status="PASS" start="2024-04-11T05:52:43.577846" elapsed="0.000158"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.464" endtime="20230209 01:16:50.465"/>
+<status status="PASS" start="2024-04-11T05:52:43.578082" elapsed="0.000116"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.465" endtime="20230209 01:16:50.465"/>
+<status status="PASS" start="2024-04-11T05:52:43.578273" elapsed="0.000107"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.465" endtime="20230209 01:16:50.466"/>
+<status status="PASS" start="2024-04-11T05:52:43.578454" elapsed="0.000105"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.466" endtime="20230209 01:16:50.466"/>
+<status status="PASS" start="2024-04-11T05:52:43.578632" elapsed="0.000146"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.466" endtime="20230209 01:16:50.466"/>
+<status status="PASS" start="2024-04-11T05:52:43.578946" elapsed="0.000183"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.466" endtime="20230209 01:16:50.466"/>
+<status status="PASS" start="2024-04-11T05:52:43.579294" elapsed="0.000157"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.467" endtime="20230209 01:16:50.467"/>
+<status status="PASS" start="2024-04-11T05:52:43.579771" elapsed="0.000185"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.580166" level="INFO">Length is 1.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.467" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.467" endtime="20230209 01:16:50.467"/>
+<status status="PASS" start="2024-04-11T05:52:43.580041" elapsed="0.000164"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.467" endtime="20230209 01:16:50.468"/>
+<status status="PASS" start="2024-04-11T05:52:43.580283" elapsed="0.000118"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.468" endtime="20230209 01:16:50.468"/>
+<status status="PASS" start="2024-04-11T05:52:43.580481" elapsed="0.000133"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.464" endtime="20230209 01:16:50.468"/>
+<arg>${RECEIVING_ADDRESS}</arg>
+<arg>receivingAddress</arg>
+<status status="PASS" start="2024-04-11T05:52:43.577574" elapsed="0.003098"/>
 </kw>
-<kw name="Transfer From Target Address" library="Remote">
+<kw name="Transfer From Target Address" owner="Remote">
+<msg time="2024-04-11T05:52:43.628728" level="INFO">${RESULT} = {'senderBalanceFormatUnits': '158600.0', 'gasReport': 'Gas used for transferFromTargetAddres: 43268'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.559" level="INFO">${RESULT} = {'senderBalanceFormatUnits': '79300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.469" endtime="20230209 01:16:50.559"/>
+<status status="PASS" start="2024-04-11T05:52:43.580812" elapsed="0.047958"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>senderBalanceFormatUnits</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.629463" level="INFO">{'senderBalanceFormatUnits': '158600.0', 'gasReport': 'Gas used for transferFromTargetAddres: 43268'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.560" level="INFO">{'senderBalanceFormatUnits': '79300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.560" endtime="20230209 01:16:50.560"/>
+<status status="PASS" start="2024-04-11T05:52:43.629326" elapsed="0.000180"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.560" endtime="20230209 01:16:50.560"/>
+<status status="PASS" start="2024-04-11T05:52:43.629600" elapsed="0.000129"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.560" endtime="20230209 01:16:50.560"/>
+<status status="PASS" start="2024-04-11T05:52:43.629808" elapsed="0.000117"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.561" endtime="20230209 01:16:50.561"/>
+<status status="PASS" start="2024-04-11T05:52:43.630002" elapsed="0.000115"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.561" endtime="20230209 01:16:50.561"/>
+<status status="PASS" start="2024-04-11T05:52:43.630191" elapsed="0.000151"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.561" endtime="20230209 01:16:50.561"/>
+<status status="PASS" start="2024-04-11T05:52:43.630419" elapsed="0.000111"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.561" endtime="20230209 01:16:50.561"/>
+<status status="PASS" start="2024-04-11T05:52:43.630605" elapsed="0.000109"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.561" endtime="20230209 01:16:50.562"/>
+<status status="PASS" start="2024-04-11T05:52:43.630788" elapsed="0.000109"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.631074" level="INFO">Length is 2.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.562" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.562" endtime="20230209 01:16:50.562"/>
+<status status="PASS" start="2024-04-11T05:52:43.630971" elapsed="0.000142"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.562" endtime="20230209 01:16:50.562"/>
+<status status="PASS" start="2024-04-11T05:52:43.631190" elapsed="0.000116"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.562" endtime="20230209 01:16:50.562"/>
+<status status="PASS" start="2024-04-11T05:52:43.631383" elapsed="0.000131"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.559" endtime="20230209 01:16:50.562"/>
+<arg>${RESULT}</arg>
+<arg>senderBalanceFormatUnits</arg>
+<status status="PASS" start="2024-04-11T05:52:43.629040" elapsed="0.002525"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.416" endtime="20230209 01:16:50.563"/>
+<status status="PASS" start="2024-04-11T05:52:43.548554" elapsed="0.083147"/>
 </test>
-<test id="s1-t11" name="HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result." line="60">
-<kw name="Increase Spender Allowance" library="Remote">
+<test id="s1-t11" name="HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result. Show the amount of gas that was used." line="60">
+<kw name="Increase Spender Allowance" owner="Remote">
+<msg time="2024-04-11T05:52:43.667694" level="INFO">${RESULT} = {'showIncreasedAllowance': '201300.0', 'gasReport': 'Gas used for increaseSpenderAllowance: 30193'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.620" level="INFO">${RESULT} = {'showIncreasedAllowance': '201300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.563" endtime="20230209 01:16:50.620"/>
+<status status="PASS" start="2024-04-11T05:52:43.632442" elapsed="0.035307"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>showIncreasedAllowance</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.668923" level="INFO">{'showIncreasedAllowance': '201300.0', 'gasReport': 'Gas used for increaseSpenderAllowance: 30193'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.621" level="INFO">{'showIncreasedAllowance': '201300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.621" endtime="20230209 01:16:50.621"/>
+<status status="PASS" start="2024-04-11T05:52:43.668700" elapsed="0.000275"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.621" endtime="20230209 01:16:50.621"/>
+<status status="PASS" start="2024-04-11T05:52:43.669075" elapsed="0.000145"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.621" endtime="20230209 01:16:50.622"/>
+<status status="PASS" start="2024-04-11T05:52:43.669302" elapsed="0.000115"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.622" endtime="20230209 01:16:50.622"/>
+<status status="PASS" start="2024-04-11T05:52:43.669495" elapsed="0.000107"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.622" endtime="20230209 01:16:50.622"/>
+<status status="PASS" start="2024-04-11T05:52:43.669678" elapsed="0.000154"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.622" endtime="20230209 01:16:50.622"/>
+<status status="PASS" start="2024-04-11T05:52:43.669914" elapsed="0.000110"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.622" endtime="20230209 01:16:50.623"/>
+<status status="PASS" start="2024-04-11T05:52:43.670101" elapsed="0.000110"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.623" endtime="20230209 01:16:50.623"/>
+<status status="PASS" start="2024-04-11T05:52:43.670286" elapsed="0.000111"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.670603" level="INFO">Length is 2.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.623" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.623" endtime="20230209 01:16:50.623"/>
+<status status="PASS" start="2024-04-11T05:52:43.670470" elapsed="0.000170"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.623" endtime="20230209 01:16:50.623"/>
+<status status="PASS" start="2024-04-11T05:52:43.670717" elapsed="0.000115"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.623" endtime="20230209 01:16:50.624"/>
+<status status="PASS" start="2024-04-11T05:52:43.670910" elapsed="0.000129"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.620" endtime="20230209 01:16:50.624"/>
+<arg>${RESULT}</arg>
+<arg>showIncreasedAllowance</arg>
+<status status="PASS" start="2024-04-11T05:52:43.668122" elapsed="0.002968"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.563" endtime="20230209 01:16:50.624"/>
+<status status="PASS" start="2024-04-11T05:52:43.631955" elapsed="0.039279"/>
 </test>
-<test id="s1-t12" name="HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result." line="64">
-<kw name="Decrease Spender Allowance" library="Remote">
+<test id="s1-t12" name="HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result. Show the amount of gas that was used." line="64">
+<kw name="Decrease Spender Allowance" owner="Remote">
+<msg time="2024-04-11T05:52:43.708322" level="INFO">${RESULT} = {'showDecreasedAllowance': '200300.0', 'gasReport': 'Gas used for decreaseSpenderAllowance: 30116'}</msg>
 <var>${RESULT}</var>
 <arg>%{CONTRACT_ADDRESS}</arg>
-<msg timestamp="20230209 01:16:50.681" level="INFO">${RESULT} = {'showDecreasedAllowance': '200300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.625" endtime="20230209 01:16:50.681"/>
+<status status="PASS" start="2024-04-11T05:52:43.671830" elapsed="0.036527"/>
 </kw>
 <kw name="Check Smart Contract Results And Log Them">
-<arg>${RESULT}</arg>
-<arg>showDecreasedAllowance</arg>
-<kw name="Log" library="BuiltIn">
+<kw name="Log" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.709099" level="INFO">{'showDecreasedAllowance': '200300.0', 'gasReport': 'Gas used for decreaseSpenderAllowance: 30116'}</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message with the given level.</doc>
-<msg timestamp="20230209 01:16:50.682" level="INFO">{'showDecreasedAllowance': '200300.0'}</msg>
-<status status="PASS" starttime="20230209 01:16:50.682" endtime="20230209 01:16:50.682"/>
+<status status="PASS" start="2024-04-11T05:52:43.708978" elapsed="0.000162"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.682" endtime="20230209 01:16:50.682"/>
+<status status="PASS" start="2024-04-11T05:52:43.709219" elapsed="0.000119"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.682" endtime="20230209 01:16:50.683"/>
+<status status="PASS" start="2024-04-11T05:52:43.709414" elapsed="0.000109"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.683" endtime="20230209 01:16:50.683"/>
+<status status="PASS" start="2024-04-11T05:52:43.709598" elapsed="0.000104"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.683" endtime="20230209 01:16:50.683"/>
+<status status="PASS" start="2024-04-11T05:52:43.709777" elapsed="0.000140"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.683" endtime="20230209 01:16:50.683"/>
+<status status="PASS" start="2024-04-11T05:52:43.709995" elapsed="0.000106"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.683" endtime="20230209 01:16:50.684"/>
+<status status="PASS" start="2024-04-11T05:52:43.710178" elapsed="0.000104"/>
 </kw>
-<kw name="Log To Console" library="BuiltIn">
+<kw name="Log To Console" owner="BuiltIn">
 <arg>...</arg>
 <doc>Logs the given message to the console.</doc>
-<status status="PASS" starttime="20230209 01:16:50.684" endtime="20230209 01:16:50.684"/>
+<status status="PASS" start="2024-04-11T05:52:43.710358" elapsed="0.000102"/>
 </kw>
-<kw name="Should Not Be Empty" library="BuiltIn">
+<kw name="Should Not Be Empty" owner="BuiltIn">
+<msg time="2024-04-11T05:52:43.710632" level="INFO">Length is 2.</msg>
 <arg>${HARDHAT_OUTPUT}</arg>
 <doc>Verifies that the given item is not empty.</doc>
-<msg timestamp="20230209 01:16:50.684" level="INFO">Length is 1</msg>
-<status status="PASS" starttime="20230209 01:16:50.684" endtime="20230209 01:16:50.684"/>
+<status status="PASS" start="2024-04-11T05:52:43.710533" elapsed="0.000134"/>
 </kw>
-<kw name="Should Not Contain" library="BuiltIn">
+<kw name="Should Not Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>Error</arg>
 <doc>Fails if ``container`` contains ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.684" endtime="20230209 01:16:50.684"/>
+<status status="PASS" start="2024-04-11T05:52:43.710740" elapsed="0.000113"/>
 </kw>
-<kw name="Should Contain" library="BuiltIn">
+<kw name="Should Contain" owner="BuiltIn">
 <arg>${HARDHAT_OUTPUT}</arg>
 <arg>${HARDHAT_CHECK}</arg>
 <doc>Fails if ``container`` does not contain ``item`` one or more times.</doc>
-<status status="PASS" starttime="20230209 01:16:50.685" endtime="20230209 01:16:50.685"/>
+<status status="PASS" start="2024-04-11T05:52:43.710930" elapsed="0.000128"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.682" endtime="20230209 01:16:50.685"/>
+<arg>${RESULT}</arg>
+<arg>showDecreasedAllowance</arg>
+<status status="PASS" start="2024-04-11T05:52:43.708698" elapsed="0.002410"/>
 </kw>
-<status status="PASS" starttime="20230209 01:16:50.624" endtime="20230209 01:16:50.685"/>
+<status status="PASS" start="2024-04-11T05:52:43.671433" elapsed="0.039801"/>
 </test>
-<status status="PASS" starttime="20230209 01:16:49.246" endtime="20230209 01:16:50.686"/>
+<status status="PASS" start="2024-04-11T05:52:43.112520" elapsed="0.599114"/>
 </suite>
 <statistics>
 <total>
diff --git a/solidity-hardhat-multichain-tools/robotframework-hardhat-remote-library.js b/solidity-hardhat-multichain-tools/robotframework-hardhat-remote-library.js
index 03062ce..bdf2a6e 100644
--- a/solidity-hardhat-multichain-tools/robotframework-hardhat-remote-library.js
+++ b/solidity-hardhat-multichain-tools/robotframework-hardhat-remote-library.js
@@ -107,12 +107,14 @@ lib.transferToTargetAddress = async function(str) {
     const decimals = await testToken.decimals();
     const testTokenSigners = await ethers.getSigners();
     const receivingAddress = testTokenSigners[1].address;
-    await testToken.transfer(receivingAddress, ethers.utils.parseUnits(amountForTransfer.toString(), decimals));
+    const receipt = await (await testToken.transfer(receivingAddress, ethers.utils.parseUnits(amountForTransfer.toString(), decimals))).wait();
+    const gasUsed = receipt.gasUsed.toNumber();
+    const gasReport = `Gas used for transferToTargetAddress: ${gasUsed}`;
     const receiverBalance = await testToken.balanceOf(receivingAddress);
     const receiverBalanceFormatUnits = await ethers.utils.formatUnits(receiverBalance, decimals);
     var timeStamp = new Date();
     console.log(`transferToTargetAddress keyword ran on ${timeStamp}`);
-    return { receiverBalanceFormatUnits };
+    return { receiverBalanceFormatUnits, gasReport };
 };
 
 lib.approveSpenderAmount = async function(str) {
@@ -122,12 +124,14 @@ lib.approveSpenderAmount = async function(str) {
     const decimals = await testToken.decimals();
     const testTokenSigners = await ethers.getSigners();
     const testTokenAddress = testTokenSigners[0].address;
-    const signerTestToken = testToken.connect(testTokenSigners[1]); 
-    await signerTestToken.approve(testTokenAddress, ethers.utils.parseUnits(amountApproved.toString(), decimals));
+    const signerTestToken = testToken.connect(testTokenSigners[1]);   
+    const receipt = await (await signerTestToken.approve(testTokenAddress, ethers.utils.parseUnits(amountApproved.toString(), decimals))).wait();
+    const gasUsed = receipt.gasUsed.toNumber();
+    const gasReport = `Gas used for approveSpenderAmount: ${gasUsed}`;
     var timeStamp = new Date();
     console.log(`approveSpenderAmount keyword ran on ${timeStamp}`);
     const approvalSuccess = 'Amount has been approved'
-    return { approvalSuccess };
+    return { approvalSuccess, gasReport };
 };
 
 lib.showSpenderAllowance = async function(str) {
@@ -152,7 +156,9 @@ lib.transferFromTargetAddress = async function(str) {
     const testTokenSigners = await ethers.getSigners();
     const testTokenAddress = testTokenSigners[0].address;
     const senderAddress = testTokenSigners[1].address;
-    await testToken.transferFrom(senderAddress, testTokenAddress, ethers.utils.parseUnits(amountForTransfer.toString(), decimals));
+    const receipt = await (await testToken.transferFrom(senderAddress, testTokenAddress, ethers.utils.parseUnits(amountForTransfer.toString(), decimals))).wait();
+    const gasUsed = receipt.gasUsed.toNumber();
+    const gasReport = `Gas used for transferFromTargetAddres: ${gasUsed}`;
     const testTokenBalance = await testToken.balanceOf(testTokenAddress);
     const senderBalance = await testToken.balanceOf(senderAddress);
     const senderBalanceFormatUnits = await ethers.utils.formatUnits(senderBalance, decimals);
@@ -160,7 +166,7 @@ lib.transferFromTargetAddress = async function(str) {
     console.log(`Sender's available allowance: ${ethers.utils.formatUnits(transferAllowance, decimals)}`);
     var timeStamp = new Date();
     console.log(`transferFromTargetAddress keyword ran on ${timeStamp}`);
-    return { senderBalanceFormatUnits };
+    return { senderBalanceFormatUnits, gasReport };
 };
 
 lib.increaseSpenderAllowance = async function(str) {
@@ -171,17 +177,18 @@ lib.increaseSpenderAllowance = async function(str) {
     const testTokenSigners = await ethers.getSigners();
     const testTokenAddress = testTokenSigners[0].address;
     const receivingAddress = testTokenSigners[1].address;
-    const signerTestToken = testToken.connect(testTokenSigners[1]); 
-    await signerTestToken.increaseAllowance(testTokenAddress, ethers.utils.parseUnits(increaseSpenderAmount.toString(), decimals));
+    const signerTestToken = testToken.connect(testTokenSigners[1]);   
+    const receipt = await (await signerTestToken.increaseAllowance(testTokenAddress, ethers.utils.parseUnits(increaseSpenderAmount.toString(), decimals))).wait();
+    const gasUsed = receipt.gasUsed.toNumber();
+    const gasReport = `Gas used for increaseSpenderAllowance: ${gasUsed}`;
     const spenderAllowance = await testToken.allowance(receivingAddress, testTokenAddress);
     const showIncreasedAllowance = await ethers.utils.formatUnits(spenderAllowance, decimals)
     console.log(`Allowance will be increased by this amount: ${increaseSpenderAmount}`)
     var timeStamp = new Date();
     console.log(`increaseSpenderAllowance keyword ran on ${timeStamp}`);
-    return { showIncreasedAllowance };
+    return { showIncreasedAllowance, gasReport };
 };
 
-
 lib.decreaseSpenderAllowance = async function(str) {
     const decreaseSpenderAmount = 1000;
     const deployedContract = await ethers.getContractFactory('Token');
@@ -190,17 +197,18 @@ lib.decreaseSpenderAllowance = async function(str) {
     const testTokenSigners = await ethers.getSigners();
     const testTokenAddress = testTokenSigners[0].address;
     const receivingAddress = testTokenSigners[1].address;
-    const signerTestToken = testToken.connect(testTokenSigners[1]); 
-    await signerTestToken.decreaseAllowance(testTokenAddress, ethers.utils.parseUnits(decreaseSpenderAmount.toString(), decimals));
+    const signerTestToken = testToken.connect(testTokenSigners[1]);   
+    const receipt = await (await signerTestToken.decreaseAllowance(testTokenAddress, ethers.utils.parseUnits(decreaseSpenderAmount.toString(), decimals))).wait();
+    const gasUsed = receipt.gasUsed.toNumber();
+    const gasReport = `Gas used for decreaseSpenderAllowance: ${gasUsed}`;
     const spenderAllowance = await testToken.allowance(receivingAddress, testTokenAddress);
     const showDecreasedAllowance = await ethers.utils.formatUnits(spenderAllowance, decimals)
     console.log(`Allowance will be decreased by this amount: ${decreaseSpenderAmount}`)
     var timeStamp = new Date();
     console.log(`decreaseSpenderAllowance keyword ran on ${timeStamp}`);
-    return { showDecreasedAllowance };
+    return { showDecreasedAllowance, gasReport };
 };
 
-
 if (!module.parent) {
     const server = new robot.Server([lib], { host: 'localhost', port: 8270 });
 }
diff --git a/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot b/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot
index fc9acc6..bac620e 100644
--- a/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot
+++ b/solidity-hardhat-multichain-tools/robotframework-hardhat-test-keywords.robot
@@ -33,7 +33,7 @@ HARDHAT ETHERS.JS TEST 6 : Get balance of tokens from the address of the deploye
     ${RESULT}=    Get Balance Of Address    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}   addressBalance
 
-HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result.
+HARDHAT ETHERS.JS TEST 7 : Transfer tokens to a target address from the contract owner address and check the result. Show the amount of gas that was used.
     ${RECEIVING_ADDRESS}=    Get Receiver Target Address    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RECEIVING_ADDRESS}    receivingAddress
     ${RESULT}=    Transfer To Target Address    %{CONTRACT_ADDRESS}
@@ -43,13 +43,13 @@ HARDHAT ETHERS.JS TEST 8 : Get balance of tokens from the address of the deploye
     ${RESULT}=    Get Balance Of Address    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}    addressBalance
 
-HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result.
+HARDHAT ETHERS.JS TEST 9 : Approve a specific amount of tokens for a target address, show the allowance, and check the result. Show the amount of gas that was used.
     ${APPROVAL_OUTPUT}=    Approve Spender Amount    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${APPROVAL_OUTPUT}    approvalSuccess
     ${RESULT}=    Show Spender Allowance    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}    showAllowance
 
-HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result.
+HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contract owner address and check the result. Show the amount of gas that was used.
     ${TOKEN_ADDRESS}=    Get Token Balance Address    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${TOKEN_ADDRESS}   testTokenAddress
     ${RECEIVING_ADDRESS}=    Get Receiver Target Address    %{CONTRACT_ADDRESS}
@@ -57,11 +57,11 @@ HARDHAT ETHERS.JS TEST 10 : Transfer tokens from a target address to the contrac
     ${RESULT}=    Transfer From Target Address    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}    senderBalanceFormatUnits
 
-HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result.
+HARDHAT ETHERS.JS TEST 11 : Increase the allowance of the spender account and check the result. Show the amount of gas that was used.
     ${RESULT}=    Increase Spender Allowance    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}    showIncreasedAllowance
 
-HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result.
+HARDHAT ETHERS.JS TEST 12 : Decrease the allowance of the spender account and check the result. Show the amount of gas that was used.
     ${RESULT}=    Decrease Spender Allowance    %{CONTRACT_ADDRESS}
     Check Smart Contract Results And Log Them    ${RESULT}    showDecreasedAllowance