View Issue Details

IDProjectCategoryView StatusLast Update
0005587Compliance Test Tool (CTT) Unified ArchitectureApi Changepublic2021-05-13 14:57
ReporterDirk Blettenberg Assigned ToSebastian Allmendinger  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Product Version1.03 
Fixed in Version1.03.341.399 
Summary0005587: TypeError Msg when call OpenSecureChannelService
Description

Starting point:
All sockets for SecureChannels (MaxSecureChannels) on one server have already been used up by connecting to clients.

Exam:
When CTT tries to connect to the server as a client, the following error message is generated:

TypeError: Result of the expression 'currEndpoint' [undefined] is not an object <<

Result:
The connection is established in Test.connect (). Due to the exception, there is no return value - the Javascript file is completely terminated.

Steps To Reproduce
  • Reproduction is given
  • maxsecurechannels is 35 for me
  • Establish 35 client connections, e.g. UaExpert (you only need one connection)
  • Start the 36 client connection with CTT and call a user test case with Test.connect ().
Additional Information
  • Version: OPC UA 1.03 Compliance Test Tool (Logo Member) V1.3.341.395
    Conspicuous places in the code [OpenSecureChanne.js / OpenSecureChannelService] is variable currEndpoint -> see appendix.

The variable is created and initialized within a block of a for loop. This variable is accessed after the for loop!
It cannot be guaranteed that this variable exists or has content at this time!

A short investigation showed that the variable "getEndpointsHelper.Response.Endpoints.length" has the value "0" for the For loop in this case. "CurrEndpoint" is therefore neither created nor initialized.

TagsNo tags attached.
Attached Files
OpenSecureChannel.PNG (67,221 bytes)   
OpenSecureChannel.PNG (67,221 bytes)   
MultipleClients_client_36.results.xml (17,230 bytes)   
<UaCttResults xsi:noNamespaceSchemaLocation="uacttresults.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ResultNode name="Debug Run1" timestamp="2020-04-17 13:14:46.160" status="" testresult="0" description="">
        <ResultNode name="beforeTest.js" timestamp="2020-04-17 13:14:46.160" status="" testresult="0" description="">
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.390" status="BadTcpSecureChannelUnknown (0x807f0000)" testresult="0" description="GetEndpoints the ErrorCode in the Error Message received doesn't match the expectation. Expected: Good (0x00000000) but received: &#10;BadTcpSecureChannelUnknown (0x807f0000)">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.391" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/assertions.js" linenumber="304"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.391" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="59"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.391" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="81"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.392" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="54"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.392" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.392" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.394" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/RunOnce/beforeTest.js" linenumber="251"/>
            </ResultNode>
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.395" status="" testresult="0" description="Server doesn't provide the desired endpoint. Please verify CTT Settings (Project-&gt;Settings-&gt;Server Test-&gt;SecureChannel and &#10;Project-&gt;Settings-&gt;Server Test-&gt;ServerUrl)">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.395" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="86"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.395" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.395" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.395" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/RunOnce/beforeTest.js" linenumber="251"/>
            </ResultNode>
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.395" status="" testresult="0" description="TypeError: Result of expression 'currEndpoint' [undefined] is not an object.">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.395" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="89"/>
            </ResultNode>
        </ResultNode>
        <ResultNode name="UserDefinedCG" timestamp="2020-04-17 13:14:46.395" status="" testresult="0" description="User defined conformance group.">
            <ResultNode name="Before" timestamp="2020-04-17 13:14:46.395" status="" testresult="0" description="">
                <ResultNode name="initialize.js" timestamp="2020-04-17 13:14:46.395" status="" testresult="5" description=""/>
                <ResultNode name="loadLib.js" timestamp="2020-04-17 13:14:46.396" status="" testresult="5" description="">
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.398" status="" testresult="6" description="load Lib: output.js"/>
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.399" status="" testresult="6" description="load Lib: rfu6xxNodesIDTable.js"/>
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.400" status="" testresult="6" description="load Lib: API.js"/>
                </ResultNode>
                <ResultNode name="loadRFU6XXNodesIDTable.js" timestamp="2020-04-17 13:14:46.400" status="" testresult="5" description="">
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.402" status="" testresult="6" description="#CHECKResult:: Check: true, Name: loadRFUFromCSVFile, Result: true"/>
                </ResultNode>
                <ResultNode name="cleanup.js" timestamp="2020-04-17 13:14:46.402" status="" testresult="0" description="">
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.403" status="" testresult="0" description="Disconnect args.channel not defined"/>
                </ResultNode>
            </ResultNode>
            <ResultNode name="autoID_multipleclients" timestamp="2020-04-17 13:14:46.403" status="" testresult="0" description="">
                <ResultNode name="initialize.js" timestamp="2020-04-17 13:14:46.403" status="" testresult="0" description="">
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.413" status="" testresult="6" description="Check Multiple Clients"/>
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.445" status="BadTcpSecureChannelUnknown (0x807f0000)" testresult="0" description="GetEndpoints the ErrorCode in the Error Message received doesn't match the expectation. Expected: Good (0x00000000) but received: &#10;BadTcpSecureChannelUnknown (0x807f0000)">
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/assertions.js" linenumber="304"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="59"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="81"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="54"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/maintree/UserDefinedCG/autoID_multipleclients/Test Cases/initialize.js" linenumber="24"/>
                    </ResultNode>
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.445" status="" testresult="0" description="Server doesn't provide the desired endpoint. Please verify CTT Settings (Project-&gt;Settings-&gt;Server Test-&gt;SecureChannel and &#10;Project-&gt;Settings-&gt;Server Test-&gt;ServerUrl)">
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="86"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/maintree/UserDefinedCG/autoID_multipleclients/Test Cases/initialize.js" linenumber="24"/>
                    </ResultNode>
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.445" status="" testresult="0" description="TypeError: Result of expression 'currEndpoint' [undefined] is not an object.">
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.445" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="89"/>
                    </ResultNode>
                </ResultNode>
                <ResultNode name="tc_maxclients.js" timestamp="2020-04-17 13:14:46.446" status="" testresult="0" description="">
                    <ResultNode name="Log" timestamp="2020-04-17 13:14:46.447" status="" testresult="6" description="Check TC_MaxClient run"/>
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.456" status="" testresult="0" description="Test.Execute() encounted an unexpected error:&#10;&#9; message: Read CTOR, session not specified.">
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.456" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="126"/>
                        <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.456" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/maintree/UserDefinedCG/autoID_multipleclients/Test Cases/tc_maxclients.js" linenumber="38"/>
                    </ResultNode>
                </ResultNode>
                <ResultNode name="cleanup.js" timestamp="2020-04-17 13:14:46.456" status="" testresult="0" description="">
                    <ResultNode name="Error" timestamp="2020-04-17 13:14:46.459" status="" testresult="0" description="Disconnect args.channel not defined"/>
                </ResultNode>
            </ResultNode>
        </ResultNode>
        <ResultNode name="afterTest.js" timestamp="2020-04-17 13:14:46.459" status="" testresult="0" description="">
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.491" status="BadTcpSecureChannelUnknown (0x807f0000)" testresult="0" description="GetEndpoints the ErrorCode in the Error Message received doesn't match the expectation. Expected: Good (0x00000000) but received: &#10;BadTcpSecureChannelUnknown (0x807f0000)">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/assertions.js" linenumber="304"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="59"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DiscoveryServiceSet/GetEndpoints.js" linenumber="81"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="54"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.491" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DetectUAServices.js" linenumber="268"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="" linenumber="-1"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/RunOnce/afterTest.js" linenumber="1"/>
            </ResultNode>
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.492" status="" testresult="0" description="Server doesn't provide the desired endpoint. Please verify CTT Settings (Project-&gt;Settings-&gt;Server Test-&gt;SecureChannel and &#10;Project-&gt;Settings-&gt;Server Test-&gt;ServerUrl)">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="86"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/sessionCreator.js" linenumber="38"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/Base/safeInvoke.js" linenumber="46"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/DetectUAServices.js" linenumber="268"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="" linenumber="-1"/>
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/RunOnce/afterTest.js" linenumber="1"/>
            </ResultNode>
            <ResultNode name="Error" timestamp="2020-04-17 13:14:46.492" status="" testresult="0" description="TypeError: Result of expression 'currEndpoint' [undefined] is not an object.">
                <ResultNode name="Backtrace" timestamp="2020-04-17 13:14:46.492" status="" testresult="6" functionname="" filename="C:/Projekte/10_Testing/RFU6xx_TESTSYSTEM/work/CommonTools/AutoID_CTT/library/ServiceBased/SecureChannel/OpenSecureChannel.js" linenumber="89"/>
            </ResultNode>
        </ResultNode>
    </ResultNode>
</UaCttResults>
Files Affected

Activities

Dirk Blettenberg

2020-04-22 07:15

reporter   ~0011973

Logfile

Paul Hunkar

2020-04-24 17:33

administrator   ~0011991

Some additional notes: the test should be fixed to handle the problem, but some other notes that the submitter should be aware of;

  • The CTT should be run against a product that does not have other external connections while it is being tested ( i.e. no UAExpert or other client connected while running server tests)
  • The behavior of the server is incorrect in this case since it should always have a spare secure channel on which it can return an error and then close the request.

Dirk Blettenberg

2020-04-27 05:19

reporter   ~0011996

Thank you for your reply.
Can you continue the sentence: "The behavior of the server is incorrect in this case since it should always have a spare secure channel on which it can return an error and then close the request." please! In which document is the behavior described? I would forward it to our programmer.

The code shows that a variable is created and initialized in a block. The variable is accessible outside the block!
It cannot be assumed that the variable exists after the block because the creation is linked to a condition.

The error message explicitly refers to an uninitialized variable!
My workaround currently has a try exception for the Test.Connect () call.

Paul Hunkar

2020-04-27 12:50

administrator   ~0011999

in Part 6 - 7.1.2.3 Hello message

"If the Server does not have sufficient resources to allow the establishment of a new SecureChannel it shall immediately return a Bad_TcpNotEnoughResources Error Message and gracefully close the socket. Client should not overload Servers that return this error by immediately trying to create a new SecureChannel."

Dirk Blettenberg

2020-04-27 14:33

reporter   ~0012000

Thanks again, I will pass it on to the developers.

Sebastian Allmendinger

2021-04-08 13:42

developer   ~0014183

An updated script has been prepared. An additional check will prevent the usage of the undefined object.

Paul Hunkar

2021-05-13 14:57

administrator   ~0014375

In CMP call, review change change, agreed to change and closed

Issue History

Date Modified Username Field Change
2020-04-22 07:13 Dirk Blettenberg New Issue
2020-04-22 07:13 Dirk Blettenberg File Added: OpenSecureChannel.PNG
2020-04-22 07:15 Dirk Blettenberg File Added: MultipleClients_client_36.results.xml
2020-04-22 07:15 Dirk Blettenberg Note Added: 0011973
2020-04-24 17:25 Paul Hunkar Product Version 1.02 => 1.03
2020-04-24 17:25 Paul Hunkar Description Updated
2020-04-24 17:25 Paul Hunkar Steps to Reproduce Updated
2020-04-24 17:25 Paul Hunkar Additional Information Updated
2020-04-24 17:26 Paul Hunkar Project Certification => Compliance Test Tool (CTT) Unified Architecture
2020-04-24 17:26 Paul Hunkar Category Implementation Bug => Api Change
2020-04-24 17:28 Paul Hunkar Assigned To => Alexander Allmendinger
2020-04-24 17:28 Paul Hunkar Status new => assigned
2020-04-24 17:33 Paul Hunkar Note Added: 0011991
2020-04-27 05:19 Dirk Blettenberg Note Added: 0011996
2020-04-27 12:50 Paul Hunkar Note Added: 0011999
2020-04-27 14:33 Dirk Blettenberg Note Added: 0012000
2021-04-08 13:42 Sebastian Allmendinger Note Added: 0014183
2021-04-08 13:42 Sebastian Allmendinger Assigned To Alexander Allmendinger => Sebastian Allmendinger
2021-04-08 13:42 Sebastian Allmendinger Status assigned => resolved
2021-04-08 13:42 Sebastian Allmendinger Resolution open => fixed
2021-04-08 13:42 Sebastian Allmendinger Fixed in Version => 1.03.341.399
2021-05-13 14:57 Paul Hunkar Status resolved => closed
2021-05-13 14:57 Paul Hunkar Note Added: 0014375