<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:1.2em 0px!important">Hi,</p>
<p style="margin:1.2em 0px!important">I’d like to load a .ui file and use a custom widget in it without importing a package from disk. I’m trying to achieve this like so:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="hljs language-python" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;color:rgb(51,51,51);background-color:rgb(248,248,248);background-position:initial initial;background-repeat:initial initial"><span class="hljs-class"><span class="hljs-keyword" style="color:rgb(51,51,51);font-weight:bold">class</span> <span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(68,85,136);font-weight:bold">MyCustomClass</span><span class="hljs-params">(QtWidgets.QPushButton)</span>:</span>
<span class="hljs-function"><span class="hljs-keyword" style="color:rgb(51,51,51);font-weight:bold">def</span> <span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold">__init__</span><span class="hljs-params">(self, *args)</span>:</span>
QtWidgets.QPushButton.__init__(self, *args)
sys.modules[<span class="hljs-string" style="color:rgb(221,17,68)">'mycustompackage'</span>] = MyCustomClass
uic,loadUi(<span class="hljs-string" style="color:rgb(221,17,68)">'my_ui.ui'</span>, self, <span class="hljs-string" style="color:rgb(221,17,68)">'mycustompackage'</span>)
</code></pre>
<p style="margin:1.2em 0px!important">However, the error I’m getting is this:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="hljs language-python" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;color:rgb(51,51,51);background-color:rgb(248,248,248);background-position:initial initial;background-repeat:initial initial">AttributeError: type object <span class="hljs-string" style="color:rgb(221,17,68)">'MyCustomClass'</span> has no attribute <span class="hljs-string" style="color:rgb(221,17,68)">'MyCustomWidget'</span>
</code></pre>
<p style="margin:1.2em 0px!important">Any ideas on whether I can make this work at all - and if so how?</p>
<p style="margin:1.2em 0px!important">Here’s my .ui:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="hljs language-xml" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;color:rgb(51,51,51);background-color:rgb(248,248,248);background-position:initial initial;background-repeat:initial initial"><span class="hljs-pi" style="color:rgb(153,153,153);font-weight:bold"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">ui</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">version</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"4.0"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">class</span>></span>MainWindow<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">class</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">class</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"QMainWindow"</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"MainWindow"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"geometry"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>0<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>0<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>800<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>600<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"windowTitle"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">string</span>></span>MainWindow<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">string</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">class</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"QWidget"</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"centralwidget"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">class</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"MyCustomWidget"</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"customWidget"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"geometry"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>50<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>70<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>113<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>32<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"text"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">string</span>></span>PushButton<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">string</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">class</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"QMenuBar"</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"menubar"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"geometry"</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>0<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">x</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>0<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">y</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>800<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">width</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>22<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">height</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">rect</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">property</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">class</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"QStatusBar"</span> <span class="hljs-attribute" style="color:rgb(0,128,128)">name</span>=<span class="hljs-value" style="color:rgb(221,17,68)">"statusbar"</span>/></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">widget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">customwidgets</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">customwidget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">class</span>></span>MyCustomWidget<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">class</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">extends</span>></span>QPushButton<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">extends</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">header</span>></span>MyCustomClass<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">header</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">customwidget</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">customwidgets</span>></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">resources</span>/></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"><<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">connections</span>/></span>
<span class="hljs-tag" style="color:rgb(0,0,128);font-weight:normal"></<span class="hljs-title" style="color:rgb(153,0,0);font-weight:bold;color:rgb(0,0,128);font-weight:normal">ui</span>></span>
</code></pre>
<p style="margin:1.2em 0px!important">Regards,<br>Fredrik</p>
<div title="MDH:SGksPGRpdj48YnI+PC9kaXY+PGRpdj5JJ2QgbGlrZSB0byBsb2FkIGEgLnVpIGZpbGUgYW5kIHVz
ZSBhIGN1c3RvbSB3aWRnZXQgaW4gaXQgd2l0aG91dCBpbXBvcnRpbmcgYSBwYWNrYWdlIGZyb20g
ZGlzay4gSSdtIHRyeWluZyB0byBhY2hpZXZlIHRoaXMgbGlrZSBzbzo8L2Rpdj48ZGl2Pjxicj48
L2Rpdj48ZGl2PmBgYHB5dGhvbjwvZGl2PjxkaXY+PGRpdj5jbGFzcyBNeUN1c3RvbUNsYXNzKFF0
V2lkZ2V0cy5RUHVzaEJ1dHRvbik6PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGRlZiBfX2luaXRf
XyhzZWxmLCAqYXJncyk6PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUXRX
aWRnZXRzLlFQdXNoQnV0dG9uLl9faW5pdF9fKHNlbGYsICphcmdzKTwvZGl2PjwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+c3lzLm1vZHVsZXNbJ215Y3VzdG9tcGFja2FnZSddID0gTXlDdXN0b21D
bGFzczwvZGl2PjxkaXY+dWljLGxvYWRVaSgnbXlfdWkudWknLCBzZWxmLCAnbXljdXN0b21wYWNr
YWdlJyk8L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRpdj5Ib3dldmVy
LCB0aGUgZXJyb3IgSSdtIGdldHRpbmcgaXMgdGhpczo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
PjxkaXY+YGBgcHl0aG9uPC9kaXY+PGRpdj5BdHRyaWJ1dGVFcnJvcjogdHlwZSBvYmplY3QgJ015
Q3VzdG9tQ2xhc3MnIGhhcyBubyBhdHRyaWJ1dGUgJ015Q3VzdG9tV2lkZ2V0JzwvZGl2PjwvZGl2
PjxkaXY+YGBgPC9kaXY+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BbnkgaWRlYXMgb24gd2hl
dGhlciBJIGNhbiBtYWtlIHRoaXMgd29yayBhdCBhbGwgLSBhbmQgaWYgc28gaG93PzwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+SGVyZSdzIG15IC51aTo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
PmBgYHhtbDwvZGl2PjxkaXY+PGRpdj4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/Jmd0OzwvZGl2PjxkaXY+Jmx0O3VpIHZlcnNpb249IjQuMCImZ3Q7PC9kaXY+PGRpdj4m
bmJzcDsmbHQ7Y2xhc3MmZ3Q7TWFpbldpbmRvdyZsdDsvY2xhc3MmZ3Q7PC9kaXY+PGRpdj4mbmJz
cDsmbHQ7d2lkZ2V0IGNsYXNzPSJRTWFpbldpbmRvdyIgbmFtZT0iTWFpbldpbmRvdyImZ3Q7PC9k
aXY+PGRpdj4mbmJzcDsgJmx0O3Byb3BlcnR5IG5hbWU9Imdlb21ldHJ5IiZndDs8L2Rpdj48ZGl2
PiZuYnNwOyAmbmJzcDsmbHQ7cmVjdCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJmx0O3gm
Z3Q7MCZsdDsveCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJmx0O3kmZ3Q7MCZsdDsveSZn
dDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJmx0O3dpZHRoJmd0OzgwMCZsdDsvd2lkdGgmZ3Q7
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZsdDtoZWlnaHQmZ3Q7NjAwJmx0Oy9oZWlnaHQmZ3Q7
PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7Jmx0Oy9yZWN0Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZs
dDsvcHJvcGVydHkmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJmx0O3Byb3BlcnR5IG5hbWU9IndpbmRv
d1RpdGxlIiZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsmbHQ7c3RyaW5nJmd0O01haW5XaW5k
b3cmbHQ7L3N0cmluZyZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbHQ7L3Byb3BlcnR5Jmd0OzwvZGl2
PjxkaXY+Jm5ic3A7ICZsdDt3aWRnZXQgY2xhc3M9IlFXaWRnZXQiIG5hbWU9ImNlbnRyYWx3aWRn
ZXQiJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyZsdDt3aWRnZXQgY2xhc3M9Ik15Q3VzdG9t
V2lkZ2V0IiBuYW1lPSJjdXN0b21XaWRnZXQiJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bHQ7cHJvcGVydHkgbmFtZT0iZ2VvbWV0cnkiJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsmbHQ7cmVjdCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZsdDt4Jmd0
OzUwJmx0Oy94Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJmx0O3kmZ3Q7NzAm
bHQ7L3kmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbHQ7d2lkdGgmZ3Q7MTEz
Jmx0Oy93aWR0aCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZsdDtoZWlnaHQm
Z3Q7MzImbHQ7L2hlaWdodCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7Jmx0Oy9y
ZWN0Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbHQ7L3Byb3BlcnR5Jmd0OzwvZGl2Pjxk
aXY+Jm5ic3A7ICZuYnNwOyAmbHQ7cHJvcGVydHkgbmFtZT0idGV4dCImZ3Q7PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyZsdDtzdHJpbmcmZ3Q7UHVzaEJ1dHRvbiZsdDsvc3RyaW5nJmd0
OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbHQ7L3Byb3BlcnR5Jmd0OzwvZGl2PjxkaXY+Jm5i
c3A7ICZuYnNwOyZsdDsvd2lkZ2V0Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZsdDsvd2lkZ2V0Jmd0
OzwvZGl2PjxkaXY+Jm5ic3A7ICZsdDt3aWRnZXQgY2xhc3M9IlFNZW51QmFyIiBuYW1lPSJtZW51
YmFyIiZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsmbHQ7cHJvcGVydHkgbmFtZT0iZ2VvbWV0
cnkiJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbHQ7cmVjdCZndDs8L2Rpdj48ZGl2PiZu
YnNwOyAmbmJzcDsgJm5ic3A7Jmx0O3gmZ3Q7MCZsdDsveCZndDs8L2Rpdj48ZGl2PiZuYnNwOyAm
bmJzcDsgJm5ic3A7Jmx0O3kmZ3Q7MCZsdDsveSZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg
Jm5ic3A7Jmx0O3dpZHRoJmd0OzgwMCZsdDsvd2lkdGgmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJm5i
c3A7ICZuYnNwOyZsdDtoZWlnaHQmZ3Q7MjImbHQ7L2hlaWdodCZndDs8L2Rpdj48ZGl2PiZuYnNw
OyAmbmJzcDsgJmx0Oy9yZWN0Jmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyZsdDsvcHJvcGVy
dHkmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsgJmx0Oy93aWRnZXQmZ3Q7PC9kaXY+PGRpdj4mbmJzcDsg
Jmx0O3dpZGdldCBjbGFzcz0iUVN0YXR1c0JhciIgbmFtZT0ic3RhdHVzYmFyIi8mZ3Q7PC9kaXY+
PGRpdj4mbmJzcDsmbHQ7L3dpZGdldCZndDs8L2Rpdj48ZGl2PiZuYnNwOyZsdDtjdXN0b213aWRn
ZXRzJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZsdDtjdXN0b213aWRnZXQmZ3Q7PC9kaXY+PGRpdj4m
bmJzcDsgJm5ic3A7Jmx0O2NsYXNzJmd0O015Q3VzdG9tV2lkZ2V0Jmx0Oy9jbGFzcyZndDs8L2Rp
dj48ZGl2PiZuYnNwOyAmbmJzcDsmbHQ7ZXh0ZW5kcyZndDtRUHVzaEJ1dHRvbiZsdDsvZXh0ZW5k
cyZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsmbHQ7aGVhZGVyJmd0O015Q3VzdG9tQ2xhc3Mm
bHQ7L2hlYWRlciZndDs8L2Rpdj48ZGl2PiZuYnNwOyAmbHQ7L2N1c3RvbXdpZGdldCZndDs8L2Rp
dj48ZGl2PiZuYnNwOyZsdDsvY3VzdG9td2lkZ2V0cyZndDs8L2Rpdj48ZGl2PiZuYnNwOyZsdDty
ZXNvdXJjZXMvJmd0OzwvZGl2PjxkaXY+Jm5ic3A7Jmx0O2Nvbm5lY3Rpb25zLyZndDs8L2Rpdj48
ZGl2PiZsdDsvdWkmZ3Q7PC9kaXY+PC9kaXY+PGRpdj5gYGA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PlJlZ2FyZHMsPC9kaXY+PGRpdj5GcmVkcmlrPC9kaXY+PGRpdj48YnI+PC9kaXY+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div>