<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:3.0cm 2.0cm 3.0cm 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">I am working on a python plugin for QGIS where the user can interact with the data in a polygon memory layer.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">When the user clicks on a position in the map, the plugin look up a feature at that position in the memory layer. If a feature was found it will be deleted and afterwards a new one will be created.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">When the user repeat the click after the previous operation has finished the time it takes to perform the above delete/create part increases for each user click. Logging each step I found that the parts which takes longer
 are the layer.startEditing() and layer.commitChanges().<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Below is the log information I collected and the relevant timings where created like this:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    log(‘Start editing.’)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    layer.startEditing()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    log(‘Editing enabled.’)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">and<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    log(‘Commit changes.’)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    layer.commitChanges()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    log(‘Changes committed.’)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">so nothing happens before or after the two layer method calls in the above (just to clarify that it isn’t some other python calls which takes up the time).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">In the timings below notice that in the beginning no measurable time was used to enable and commit, but slowly it increases to seconds and then minutes (the memory layer is empty at first and then one item is added as
 seen in the log below):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:09 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:11 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:14 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:16 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:18 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:19 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:20 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:22 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:26 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:32 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:28:45 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:29:36 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:29:36 -> Start editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Editing enabled.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Look for existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Found existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Delete existing feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Add new feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:32:03 -> Commit changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt">2016-10-13 10:38:18 -> Changes committed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:8.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">This was done on the latest Windows 7 x64 nightly build from OSGeo4W, while the same plugin on Ubuntu 16.04 x64 doesn’t show this increase in time consumption.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Can anyone give me a clue to what might be happening here?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Regards, Casper<o:p></o:p></span></p>
</div>
</body>
</html>