<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>28781</bug_id>
          
          <creation_ts>2009-08-27 12:46:53 -0700</creation_ts>
          <short_desc>Add QWebFrame::renderElement to API</short_desc>
          <delta_ts>2009-10-19 08:57:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>29799</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Viatcheslav Ostapenko">ostap73</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143171</commentid>
    <comment_count>0</comment_count>
      <attachid>38679</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-08-27 12:46:53 -0700</bug_when>
    <thetext>Created attachment 38679
Implements new API

Hi,

Add QWebFrame::renderElement method that allows rendering of any frame element in custom position.
Useful for rendering elements for printing or images for image view.
Render cache is used if the frame was rendered already.
Existing QWebFrame::render or QWebFrame::renderContents paint elements at the layout position only.

The attached patch adds new method to QWebFrame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143389</commentid>
    <comment_count>1</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-08-28 09:25:37 -0700</bug_when>
    <thetext>By comments from irc discussion:
Ariya Hidayat:
Move method to QWebElement as QWebElement::render((QPainter*)
The position argument is not needed, one can always translate the QPainter.

Laszlo Gombos:
QWebFrame:render will not work in this case because it will draw other elements on top of element we need it they overlap (background image, layers).

&lt;richmoore1&gt; ariya: i like QWebElement::render(), i&apos;d asked for that already</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143442</commentid>
    <comment_count>2</comment_count>
      <attachid>38748</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-08-28 13:22:39 -0700</bug_when>
    <thetext>Created attachment 38748
QWebElement::render API implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144194</commentid>
    <comment_count>3</comment_count>
      <attachid>38748</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-09-02 05:14:30 -0700</bug_when>
    <thetext>Comment on attachment 38748
QWebElement::render API implementation

&gt; +void QWebElement::render(QPainter *painter)

Need docs

&gt; +    Frame* fr = doc-&gt;frame();

Style, use meaningful variable names.

&gt; +    if ( !fr || !fr-&gt;view() || !fr-&gt;contentRenderer())
&gt; +        return;
&gt; +
&gt; +    IntRect p_rect = e-&gt;getRect();

Same as above + camelCase, not _

Goes for all of the variables in the method.

&gt; +    void render(QPainter *painter);

Need autotest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147403</commentid>
    <comment_count>4</comment_count>
      <attachid>39619</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-09-15 16:02:57 -0700</bug_when>
    <thetext>Created attachment 39619
Updated QWebElement::render implementation with API autotest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147425</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-15 17:20:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=39619) [details]
&gt; Updated QWebElement::render implementation with API autotest

Cool feature you are implementing and nice with the test.

I didn&apos;t look at the patch itself, but the coding style it at least not right, so please fix that first :-)


&gt;+    Frame* cFrame = doc-&gt;frame();

Why cFrame? what does the c stand for? 

&gt;+    IntRect pRect = e-&gt;getRect();

name here with pRect!

This is not WebKit coding style, you need to write out the name, or just use &apos;frame&apos; and &apos;rect&apos;

&gt;+    WebCore::RenderObject* WebKitRenderer = e-&gt;renderer();

This one is even worse. What is a WebKit Renderer? it is actually a RenderObject. Plus, the variable should always start with a lowercase letter. RenderTheme just uses o for RenderObjects, so

RenderObject* o = e-&gt;renderer() would be OK I guess. Or spell it out renderObject.

&gt;+        Image* img = toRenderImage(WebKitRenderer)-&gt;cachedImage()-&gt;image();

I would spell out img as image

&gt;+    WebCore::RenderObject::PaintInfo cPaintInfo(&amp;context, pRect, PaintPhaseBlockBackground, false, 0, 0);

In Qt, we try not to pass booleans without comments when it is not obvious what they mean.

Examples:

setEnabled(true) is right
doSomething(rect, true) is wrong
doSomething(rect, /* clear cache */ true);

That was the code is easier to read and understand afterward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147426</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-15 17:21:56 -0700</bug_when>
    <thetext>
&gt; 
&gt; This is not WebKit coding style, you need to write out the name, or just use
&gt; &apos;frame&apos; and &apos;rect&apos;

with this I mean cFrame -&gt; coreFrame (assuming the c means that)
and pRect -&gt; painterRect (assuming the p means that)

Personally I think frame and rect are better options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147450</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-15 19:24:17 -0700</bug_when>
    <thetext>So I looked a bit more at the patch. Ariya added some code to the DumpRenderTree to compare images, maybe that is better for the auto test, than just comparing sizes?

The code looks fine, but im wondering about one thing. The cache optimization is only for images right?, so that makes this comment a bit confusing

+    // fall back to full rendering if no cached image

Maybe change the other comment to

// Optimization when the render object is an image and has been cached.

Then you could leave out the other comment, or write something like

// No optimization possible, fall back to normal rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147566</commentid>
    <comment_count>8</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-09-16 11:22:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Created an attachment (id=39619) [details] [details]
&gt; &gt; Updated QWebElement::render implementation with API autotest
&gt; 
&gt; Cool feature you are implementing and nice with the test.
&gt; 
&gt; I didn&apos;t look at the patch itself, but the coding style it at least not right,
&gt; so please fix that first :-)
&gt; 
&gt; 
&gt; &gt;+    Frame* cFrame = doc-&gt;frame();
&gt; 
&gt; Why cFrame? what does the c stand for? 
&gt; 
&gt; &gt;+    IntRect pRect = e-&gt;getRect();
&gt; 
&gt; name here with pRect!
&gt; 
&gt; This is not WebKit coding style, you need to write out the name, or just use
&gt; &apos;frame&apos; and &apos;rect&apos;
&gt; 
&gt; &gt;+    WebCore::RenderObject* WebKitRenderer = e-&gt;renderer();
&gt; 
&gt; This one is even worse. What is a WebKit Renderer? it is actually a
&gt; RenderObject. Plus, the variable should always start with a lowercase letter.
&gt; RenderTheme just uses o for RenderObjects, so
&gt; 
&gt; RenderObject* o = e-&gt;renderer() would be OK I guess. Or spell it out
&gt; renderObject.
&gt; 
&gt; &gt;+        Image* img = toRenderImage(WebKitRenderer)-&gt;cachedImage()-&gt;image();
&gt; 
&gt; I would spell out img as image
&gt; 
&gt; &gt;+    WebCore::RenderObject::PaintInfo cPaintInfo(&amp;context, pRect, PaintPhaseBlockBackground, false, 0, 0);
&gt; 
&gt; In Qt, we try not to pass booleans without comments when it is not obvious what
&gt; they mean.
&gt; 
&gt; Examples:
&gt; 
&gt; setEnabled(true) is right
&gt; doSomething(rect, true) is wrong
&gt; doSomething(rect, /* clear cache */ true);
&gt; 
&gt; That was the code is easier to read and understand afterward.

Ok, I&apos;ll fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147571</commentid>
    <comment_count>9</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-09-16 11:56:52 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; So I looked a bit more at the patch. Ariya added some code to the
&gt; DumpRenderTree to compare images, maybe that is better for the auto test, than
&gt; just comparing sizes?

Do you mean ImageDiff in DumpRenderTree/qt?
I&apos;ve tried to do image compare, but it didn&apos;t really work because of differences in text rendering on different platforms. 
I think ImageDiff compare with tolerance value would work. Is it possible to move this functionality somewhere as a library, or should I just copy/paste the code?

&gt; The code looks fine, but im wondering about one thing. The cache optimization
&gt; is only for images right?, so that makes this comment a bit confusing
&gt; 
&gt; +    // fall back to full rendering if no cached image
&gt; 
&gt; Maybe change the other comment to
&gt; 
&gt; // Optimization when the render object is an image and has been cached.
&gt; 
&gt; Then you could leave out the other comment, or write something like
&gt; 
&gt; // No optimization possible, fall back to normal rendering.

As I understand, RenderImage is base class for the render objects, that are heavy on rendering/unpacking, like images or video thumbnails, so it&apos;s not really limited to images only.
I&apos;d suggest 1st comment like:
// Optimization when the render object has a cached image.

Thanks,
  Sl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147599</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-09-16 13:24:11 -0700</bug_when>
    <thetext>
&gt; Do you mean ImageDiff in DumpRenderTree/qt?
&gt; I&apos;ve tried to do image compare, but it didn&apos;t really work because of
&gt; differences in text rendering on different platforms. 
&gt; I think ImageDiff compare with tolerance value would work. Is it possible to
&gt; move this functionality somewhere as a library, or should I just copy/paste the
&gt; code?

Yes, I was refering to that. Maybe you also want to default the rendering to use the raster engine when comparing images, as we do with the DRT. (QApplication::setGraphicsSystem(&quot;raster&quot;) &lt;- has to be before the QApplication is created.)

About making it a library, I&apos;m OK with that, but I think you should discuss it with Ariya as he is the author.

&gt; As I understand, RenderImage is base class for the render objects, that are
&gt; heavy on rendering/unpacking, like images or video thumbnails, so it&apos;s not
&gt; really limited to images only.
&gt; I&apos;d suggest 1st comment like:
&gt; // Optimization when the render object has a cached image.

Good! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148574</commentid>
    <comment_count>11</comment_count>
      <attachid>39619</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-09-20 14:31:08 -0700</bug_when>
    <thetext>Comment on attachment 39619
Updated QWebElement::render implementation with API autotest


&gt; +        Add QWebElement::render API which allows rendering of single
&gt; +        element in custom position.

Is the &quot;custom position&quot; part necessary? The render function only takes a QPainter, custom positioning is implied by QPainter transformation.

&gt; +#include &lt;qpainter.h&gt;

Use the norm of QPainter or QtGui/QPainter like in other files.

&gt; +void QWebElement::render(QPainter *painter)

This function needs the API documentation.

&gt; +    // fall back to full rendering if no cached image

Comment could be better and more descriptive.

&gt; +    pRect.move(-pRect.x(), -pRect.y());
&gt; +    WebCore::RenderObject::PaintInfo cPaintInfo(&amp;context, pRect, PaintPhaseBlockBackground, false, 0, 0);
&gt; +    WebKitRenderer-&gt;paint(cPaintInfo, 0, 0);
&gt; +    cPaintInfo.phase = PaintPhaseForeground;
&gt; +    WebKitRenderer-&gt;paint(cPaintInfo, 0, 0);

All the variables don&apos;t have prefix, we&apos;re not using Hungarian notation in Qt :)

&gt; +    QImage resource(&quot;:/image.png&quot;);
&gt; +    QPicture picture1;
&gt; +    QPainter painter1(&amp;picture1);
&gt; +    imgs[0].render(&amp;painter1);
&gt; +    painter1.end();

The idea with QPicture is interesting, but I seriously doubt the test needs to be complicated.

In principle, just paint to a QImage (of a given size) and compare the pixels to what you would expect
(you know this because of your test HTML fragment, you can find out e.g. the position of image.png)

Also no need for ImageDiff code reuse for this, as we simply needs to compare pixel-per-pixel (ImageDiff supports &quot;fuzzy comparison&quot;).
If a pixel is not correct, for this use case we can safely assume that something has gone wrong.

Painting to QImage, you don&apos;t need to worry about settings the graphics system to raster. It will be raster when doing the painting to image.


r- until these issues are addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148656</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-21 07:51:51 -0700</bug_when>
    <thetext> Viatcheslav, we would like to defer this new feature until we have released QtWebKit as part of Qt 4.6. We are trying to stabilize the codebase and try to avoid adding new APIs.

Do you mind if we look into this again in December?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149166</commentid>
    <comment_count>13</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-09-22 13:25:02 -0700</bug_when>
    <thetext>
&gt; The idea with QPicture is interesting, but I seriously doubt the test needs to
&gt; be complicated.
&gt; 
&gt; In principle, just paint to a QImage (of a given size) and compare the pixels
&gt; to what you would expect
&gt; (you know this because of your test HTML fragment, you can find out e.g. the
&gt; position of image.png)
&gt; 
&gt; Also no need for ImageDiff code reuse for this, as we simply needs to compare
&gt; pixel-per-pixel (ImageDiff supports &quot;fuzzy comparison&quot;).
&gt; If a pixel is not correct, for this use case we can safely assume that
&gt; something has gone wrong.
&gt; 
&gt; Painting to QImage, you don&apos;t need to worry about settings the graphics system
&gt; to raster. It will be raster when doing the painting to image.

My problem, that in test I render table with some text (to test rendering of composite elements).
Comparing of images works fine, but text could be rendered differently on different systems, as I understand.
Or do you mean I should do image compare for text only and leave &quot;table&quot; test as it is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149412</commentid>
    <comment_count>14</comment_count>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-09-23 09:25:46 -0700</bug_when>
    <thetext>
&gt; My problem, that in test I render table with some text (to test rendering of
&gt; composite elements).
&gt; Comparing of images works fine, but text could be rendered differently on
&gt; different systems, as I understand.
&gt; Or do you mean I should do image compare for text only and leave &quot;table&quot; test
&gt; as it is?

Think simple. You know where the text is supposed to be located. So draw the text yourself on the reference image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150145</commentid>
    <comment_count>15</comment_count>
      <attachid>40143</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-09-25 14:16:45 -0700</bug_when>
    <thetext>Created attachment 40143
Updated QWebElement::render implementation with API autotest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152641</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-06 03:35:25 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=40143) [details]
&gt; Updated QWebElement::render implementation with API autotest

Could the implementation be simplified perhaps, similar to Frame::nodeImage() in WebCore/page/win/FrameCGWin.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152642</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-06 03:35:47 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; Created an attachment (id=40143) [details] [details]
&gt; &gt; Updated QWebElement::render implementation with API autotest
&gt; 
&gt; Could the implementation be simplified perhaps, similar to Frame::nodeImage()
&gt; in WebCore/page/win/FrameCGWin.cpp?

To clarify: This is just a thought/suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152644</commentid>
    <comment_count>18</comment_count>
      <attachid>40143</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-10-06 03:44:59 -0700</bug_when>
    <thetext>Comment on attachment 40143
Updated QWebElement::render implementation with API autotest


&gt; +/*!
&gt; +  Render the element into \a painter .
&gt; +*/

Needs \since tag.

&gt; +&lt;file&gt;image.png&lt;/file&gt;

Can we have other name that resembles the content of the test image?
image.png sounds too generic, we might want to add images for future tests.

&gt; +    QCOMPARE(image1 == testImage, true);

I doubt this is going to work properly, we need pixel-by-pixel comparison (see autotest for QImage in Qt source tree).
Since this is used in few places, it&apos;s a good idea to refactor to a function, e.g.
static bool isImageEqual(const QImage &amp;img1, const QImage &amp;img2);


Also: see Simon&apos;s comment on Frame::nodeImage().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153783</commentid>
    <comment_count>19</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-09 15:24:01 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; Created an attachment (id=40143) [details] [details]
&gt; &gt; Updated QWebElement::render implementation with API autotest
&gt; 
&gt; Could the implementation be simplified perhaps, similar to Frame::nodeImage()
&gt; in WebCore/page/win/FrameCGWin.cpp?

Thanks a lot!
Now painting part looks like:

    context.save();
    context.translate(-rect.x(), -rect.y());
    view-&gt;setNodeToDraw(e);
    view-&gt;paintContents(&amp;context, rect);
    view-&gt;setNodeToDraw(NULL);
    context.restore();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153789</commentid>
    <comment_count>20</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-09 15:44:50 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 40143 [details])
&gt; 
&gt; &gt; +/*!
&gt; &gt; +  Render the element into \a painter .
&gt; &gt; +*/
&gt; 
&gt; Needs \since tag.

I assume it should be 
\since 4.6
But in this case the whole QWebElement class has \since 4.6 .
Should I put the same tag also for render method?

&gt; &gt; +&lt;file&gt;image.png&lt;/file&gt;
&gt; 
&gt; Can we have other name that resembles the content of the test image?
&gt; image.png sounds too generic, we might want to add images for future tests.

I was sure it will cause questions.
This image is just a copy from the qwebframe test. 1st I wanted to make a reference to the qwebframe image, but noticed that all test cases do not share any resources.
I would suggest to move all test resource files (images, htmls and etc.) into common resource directory, but could it be done after this patch?
 
&gt; &gt; +    QCOMPARE(image1 == testImage, true);
&gt; 
&gt; I doubt this is going to work properly, we need pixel-by-pixel comparison (see
&gt; autotest for QImage in Qt source tree).
&gt; Since this is used in few places, it&apos;s a good idea to refactor to a function,
&gt; e.g.
&gt; static bool isImageEqual(const QImage &amp;img1, const QImage &amp;img2);

What do you mean &quot;work properly&quot;?
I&apos;ve looked at the QImage &quot;==&quot; operator and I think it does exactly what I need.
IMHO, in QImage autotest the QImage class functionality is under test and that&apos;s why test cannot rely on it.
In QWebElement test QImage functionality is assumed to be tested, as I think ;)
 
&gt; Also: see Simon&apos;s comment on Frame::nodeImage().

Done!

Thanks a lot,
  Sl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153791</commentid>
    <comment_count>21</comment_count>
      <attachid>40970</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-09 16:07:20 -0700</bug_when>
    <thetext>Created attachment 40970
Updated QWebElement::render implementation with API autotest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153868</commentid>
    <comment_count>22</comment_count>
      <attachid>40970</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-10-10 06:27:56 -0700</bug_when>
    <thetext>Comment on attachment 40970
Updated QWebElement::render implementation with API autotest 


&gt; +void QWebElement::render(QPainter *painter)

coding style violation.


&gt; +    Frame* frame = doc-&gt;frame();
&gt; +    if ( !frame || !frame-&gt;view() || !frame-&gt;contentRenderer())

coding style violation.



&gt; +    FrameView* view = frame-&gt;view();

you need a null check here.



&gt; +    view-&gt;setNodeToDraw(NULL);

do not use NULL in C++ code.



&gt; +    QWebPage page;
&gt; +    QSignalSpy loadSpy(&amp;page, SIGNAL(loadFinished(bool)));
&gt; +    page.mainFrame()-&gt;setHtml(html);
&gt; +
&gt; +    QTest::qWait(200);
&gt; +    QCOMPARE(loadSpy.count(), 1);


Please use the waitForSignal to make this test more robust.


&gt; +
&gt; +    QList&lt;QWebElement&gt; imgs = page.mainFrame()-&gt;findAllElements(&quot;img&quot;);
&gt; +    QCOMPARE(imgs.count(), 1);
&gt; +
&gt; +    QImage resource(&quot;:/image.png&quot;);
&gt; +    QRect imageRect(0, 0, resource.width(), resource.height());

do you load resource only for width/height?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154040</commentid>
    <comment_count>23</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-12 06:52:44 -0700</bug_when>
    <thetext>&gt; &gt; +    FrameView* view = frame-&gt;view();
&gt; 
&gt; you need a null check here.

There is null check 2 lines upper.

&gt; &gt; +    QList&lt;QWebElement&gt; imgs = page.mainFrame()-&gt;findAllElements(&quot;img&quot;);
&gt; &gt; +    QCOMPARE(imgs.count(), 1);
&gt; &gt; +
&gt; &gt; +    QImage resource(&quot;:/image.png&quot;);
&gt; &gt; +    QRect imageRect(0, 0, resource.width(), resource.height());
&gt; 
&gt; do you load resource only for width/height?

No. Image get compared to the rendered image. Check testImage - this is resource image painted on white background - the same way as it rendered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154067</commentid>
    <comment_count>24</comment_count>
      <attachid>41045</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-12 08:47:04 -0700</bug_when>
    <thetext>Created attachment 41045
Updated QWebElement::render implementation with API autotest

Updates from Holger Freyther comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154582</commentid>
    <comment_count>25</comment_count>
      <attachid>41045</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-10-14 08:36:41 -0700</bug_when>
    <thetext>Comment on attachment 41045
Updated QWebElement::render implementation with API autotest


&gt; +void QWebElement::render(QPainter *painter)

Coding style, please place the * to the left :)

&gt; +{
&gt; +    WebCore::Element* e = m_element;
&gt; +    Document* doc = e-&gt;document();
&gt; +    if (!doc)
&gt; +        return;

This is going to crash if the element is a null element. How about this?

Document* doc = e ? e-&gt;document() : 0;

&gt; +    QImage resource(&quot;:/image.png&quot;);
&gt; +    QRect imageRect(0, 0, resource.width(), resource.height());
&gt; +
&gt; +    QImage testImage(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; +    QPainter painter0(&amp;testImage);
&gt; +    painter0.fillRect(imageRect, Qt::white);
&gt; +    painter0.drawImage(0, 0, resource);
&gt; +    painter0.end();
&gt; +
&gt; +    QImage image1(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; +    QPainter painter1(&amp;image1);
&gt; +    painter1.fillRect(imageRect, Qt::white);
&gt; +    imgs[0].render(&amp;painter1);
&gt; +    painter1.end();
&gt; +
&gt; +    QCOMPARE(image1 == testImage, true);

It&apos;s easier to write

QVERIFY(image1 == testImage)

:-)

&gt; +    // render image 2nd time to make sure that cached rendering works fine
&gt; +    QImage image2(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; +    QPainter painter2(&amp;image2);
&gt; +    painter2.fillRect(imageRect, Qt::white);
&gt; +    imgs[0].render(&amp;painter2);
&gt; +    painter2.end();
&gt; +
&gt; +    QCOMPARE(image2 == testImage, true);
&gt; +
&gt; +    // compare table rendered through QWebElement::render to whole page table rendering
&gt; +    QRect tableRect(0, 0, 300, 300);
&gt; +    QList&lt;QWebElement&gt; tables = page.mainFrame()-&gt;findAllElements(&quot;table&quot;);
&gt; +    QCOMPARE(tables.count(), 1);
&gt; +
&gt; +    QImage image3(300, 300, QImage::Format_ARGB32);
&gt; +    QPainter painter3(&amp;image3);
&gt; +    painter3.fillRect(tableRect, Qt::white);
&gt; +    tables[0].render(&amp;painter3);
&gt; +    painter3.end();
&gt; +
&gt; +    QImage image4(300, 300, QImage::Format_ARGB32);
&gt; +    QPainter painter4(&amp;image4);
&gt; +    page.mainFrame()-&gt;setClipRenderToViewport(false);
&gt; +    page.mainFrame()-&gt;render(&amp;painter4, tableRect);
&gt; +    painter4.end();

It&apos;s probably a matter of preference, but instead of allocating QImage123 and QPainter123 you
could also use scopes. Just an idea :)

&gt; +    QCOMPARE(image3 == image4, true);

QVERIFY() is simpler here, too.

r- because of the missing null pointer check, the rest looks fine to me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154665</commentid>
    <comment_count>26</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-14 15:31:42 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 41045 [details])
&gt; &gt; +void QWebElement::render(QPainter *painter)
&gt; Coding style, please place the * to the left :)

Fixed.
For a long time worked on another project, which has completely different coding style ;)
BTW, webkit style check script doesn&apos;t detect this.

&gt; &gt; +{
&gt; &gt; +    WebCore::Element* e = m_element;
&gt; &gt; +    Document* doc = e-&gt;document();
&gt; &gt; +    if (!doc)
&gt; &gt; +        return;
&gt; This is going to crash if the element is a null element. How about this?
&gt; Document* doc = e ? e-&gt;document() : 0;

Fixed.

&gt; &gt; +    QImage resource(&quot;:/image.png&quot;);
&gt; &gt; +    QRect imageRect(0, 0, resource.width(), resource.height());
&gt; &gt; +
&gt; &gt; +    QImage testImage(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; &gt; +    QPainter painter0(&amp;testImage);
&gt; &gt; +    painter0.fillRect(imageRect, Qt::white);
&gt; &gt; +    painter0.drawImage(0, 0, resource);
&gt; &gt; +    painter0.end();
&gt; &gt; +
&gt; &gt; +    QImage image1(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; &gt; +    QPainter painter1(&amp;image1);
&gt; &gt; +    painter1.fillRect(imageRect, Qt::white);
&gt; &gt; +    imgs[0].render(&amp;painter1);
&gt; &gt; +    painter1.end();
&gt; &gt; +
&gt; &gt; +    QCOMPARE(image1 == testImage, true);
&gt; 
&gt; It&apos;s easier to write
&gt; QVERIFY(image1 == testImage)
&gt; :-)

Fixed.

&gt; &gt; +    // render image 2nd time to make sure that cached rendering works fine
&gt; &gt; +    QImage image2(resource.width(), resource.height(), QImage::Format_ARGB32);
&gt; &gt; +    QPainter painter2(&amp;image2);
&gt; &gt; +    painter2.fillRect(imageRect, Qt::white);
&gt; &gt; +    imgs[0].render(&amp;painter2);
&gt; &gt; +    painter2.end();
&gt; &gt; +
&gt; &gt; +    QCOMPARE(image2 == testImage, true);
&gt; &gt; +
&gt; &gt; +    // compare table rendered through QWebElement::render to whole page table rendering
&gt; &gt; +    QRect tableRect(0, 0, 300, 300);
&gt; &gt; +    QList&lt;QWebElement&gt; tables = page.mainFrame()-&gt;findAllElements(&quot;table&quot;);
&gt; &gt; +    QCOMPARE(tables.count(), 1);
&gt; &gt; +
&gt; &gt; +    QImage image3(300, 300, QImage::Format_ARGB32);
&gt; &gt; +    QPainter painter3(&amp;image3);
&gt; &gt; +    painter3.fillRect(tableRect, Qt::white);
&gt; &gt; +    tables[0].render(&amp;painter3);
&gt; &gt; +    painter3.end();
&gt; &gt; +
&gt; &gt; +    QImage image4(300, 300, QImage::Format_ARGB32);
&gt; &gt; +    QPainter painter4(&amp;image4);
&gt; &gt; +    page.mainFrame()-&gt;setClipRenderToViewport(false);
&gt; &gt; +    page.mainFrame()-&gt;render(&amp;painter4, tableRect);
&gt; &gt; +    painter4.end();
&gt; 
&gt; It&apos;s probably a matter of preference, but instead of allocating QImage123 and
&gt; QPainter123 you
&gt; could also use scopes. Just an idea :)

Yes, that&apos;s would be better.
I was looking at another test cases and doing the same.
Now I prefer it to stay as it is, because if I start changing it a lot there is a good chance to miss-place some spaces ;)

Thanks,
  Sl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154667</commentid>
    <comment_count>27</comment_count>
      <attachid>41192</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-14 16:08:43 -0700</bug_when>
    <thetext>Created attachment 41192
Updated QWebElement::render implementation with API autotest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155072</commentid>
    <comment_count>28</comment_count>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-10-16 06:02:10 -0700</bug_when>
    <thetext>
&gt; What do you mean &quot;work properly&quot;?
&gt; I&apos;ve looked at the QImage &quot;==&quot; operator and I think it does exactly what I
&gt; need.

Ah, you are wrong, I was mistaken. Since you want to have perfect comparison (no fuzzy), then QImage operator= works just fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155073</commentid>
    <comment_count>29</comment_count>
      <attachid>41192</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-10-16 06:06:04 -0700</bug_when>
    <thetext>Comment on attachment 41192
Updated QWebElement::render implementation with API autotest

&gt; +/*! 
&gt; +  Render the element into \a painter .
&gt; +*/

Why is this still missing \since tag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155081</commentid>
    <comment_count>30</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2009-10-16 06:37:42 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 41192 [details])
&gt; &gt; +/*! 
&gt; &gt; +  Render the element into \a painter .
&gt; &gt; +*/
&gt; 
&gt; Why is this still missing \since tag?

I&apos;m sorry, but you&apos;ve missed question in my previous reply.
The whole qwebelement.cpp file already has \since 4.6 tag.
Simon Hausmann added this bug to the 4.6 dependency list, so, as I understand, this decided to go out in the 4.6 release.
In this case, does this method need separate \since tag or (as I understand) the whole file \since 4.6 applies to this method also?

Thanks,
  Sl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155620</commentid>
    <comment_count>31</comment_count>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-10-19 02:28:23 -0700</bug_when>
    <thetext>
&gt; I&apos;m sorry, but you&apos;ve missed question in my previous reply.
&gt; The whole qwebelement.cpp file already has \since 4.6 tag.
&gt; Simon Hausmann added this bug to the 4.6 dependency list, so, as I understand,
&gt; this decided to go out in the 4.6 release.

Ah, OK. Sorry for my confusion, I thought it has not been decided whether this is 4.7 or not.

If this is 4.6, then even better :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155621</commentid>
    <comment_count>32</comment_count>
      <attachid>41192</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-19 02:45:52 -0700</bug_when>
    <thetext>Comment on attachment 41192
Updated QWebElement::render implementation with API autotest

Rejecting patch 41192 from commit-queue.

Patch https://bugs.webkit.org/attachment.cgi?id=41192 from bug 28781 failed to download and apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155689</commentid>
    <comment_count>33</comment_count>
      <attachid>41192</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-19 08:34:08 -0700</bug_when>
    <thetext>Comment on attachment 41192
Updated QWebElement::render implementation with API autotest

Patch does not apply cleanly;

patching file WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
Hunk #1 FAILED at 90.

Will land &quot;manually&quot;. Laszlo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155711</commentid>
    <comment_count>34</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-10-19 08:57:35 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/49785.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38679</attachid>
            <date>2009-08-27 12:46:53 -0700</date>
            <delta_ts>2009-08-28 13:22:39 -0700</delta_ts>
            <desc>Implements new API</desc>
            <filename>renderElement.diff</filename>
            <type>text/plain</type>
            <size>2576</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gMTc0MjYpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDgtMjcgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJGcmFtZTo6cmVuZGVyRWxlbWVudCBB
UEkgd2hpY2ggYWxsb3dzIHJlbmRlcmluZworICAgICAgICBvZiBzaW5nbGUgZWxlbWVudCBpbiBj
dXN0b20gcG9zaXRpb24uCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAg
KFFXZWJGcmFtZTo6cmVuZGVyRWxlbWVudCk6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5oOgor
CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L3F0L0FwaS9xd2ViZnJhbWUuY3BwCShyZXZpc2lvbiAxNzIwMikKKysrIFdlYktpdC9xdC9BcGkv
cXdlYmZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xs
YmFyLmgiCkBAIC0yMzYsNiArMjM3LDM3IEBAIHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6cmVuZGVy
UHJpdmF0ZShRUGEKICAgICB9CiB9CiAKK3ZvaWQgUVdlYkZyYW1lOjpyZW5kZXJFbGVtZW50KFFQ
YWludGVyICpwYWludGVyLCBjb25zdCBRV2ViRWxlbWVudCAmZWxlbWVudCwgY29uc3QgUVBvaW50
ICZwb3MpCit7CisgICAgaWYgKCFkLT5mcmFtZS0+dmlldygpIHx8ICFkLT5mcmFtZS0+Y29udGVu
dFJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkNvcmU6OkVsZW1lbnQqIGUg
PSBlbGVtZW50Lm1fZWxlbWVudDsKKyAgICBJbnRSZWN0IHBfcmVjdCA9IGUtPmdldFJlY3QoKTsK
KworICAgIGlmIChwX3JlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQocGFpbnRlcik7CisgICAgV2ViQ29yZTo6UmVuZGVy
T2JqZWN0KiB3Y19yZW5kZXJlciA9IGUtPnJlbmRlcmVyKCk7CisKKyAgICAvLyB0cnkgdG8gdXNl
IHJlbmRlcmVyIGNhY2hlZCBpbWFnZQorICAgIGlmICh3Y19yZW5kZXJlci0+aXNSZW5kZXJJbWFn
ZSgpKSB7CisgICAgICAgIFJlbmRlckltYWdlKiByaSA9IHRvUmVuZGVySW1hZ2Uod2NfcmVuZGVy
ZXIpOworICAgICAgICBJbWFnZSogaW1nID0gcmktPmNhY2hlZEltYWdlKCktPmltYWdlKCk7Cisg
ICAgICAgIGlmIChpbWcgJiYgaW1nLT5kYXRhKCkpIHsKKyAgICAgICAgICAgIGNvbnRleHQuZHJh
d0ltYWdlKGltZywgcG9zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0K
KworICAgIC8vIGZhbGwgYmFjayB0byBmdWxsIHJlbmRlcmluZyBpZiBubyBjYWNoZWQgaW1hZ2UK
KyAgICBwX3JlY3QubW92ZSgtcF9yZWN0LngoKSwgLXBfcmVjdC55KCkpOworICAgIFdlYkNvcmU6
OlJlbmRlck9iamVjdDo6UGFpbnRJbmZvIHBfaW5mbygmY29udGV4dCwgcF9yZWN0LCBQYWludFBo
YXNlRm9yZWdyb3VuZCwgZmFsc2UsIDAsIDApOworICAgIHdjX3JlbmRlcmVyLT5wYWludChwX2lu
Zm8sIHBvcy54KCksIHBvcy55KCkpOworfQorCisKIC8qIQogICAgIFxjbGFzcyBRV2ViRnJhbWUK
ICAgICBcc2luY2UgNC40CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmgJKHJldmlzaW9uIDE3MjAyKQorKysgV2Vi
S2l0L3F0L0FwaS9xd2ViZnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDYgKzE2OCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlbmRlcihRUGFpbnRlciAqcGFpbnRlciwgY29uc3QgUVJlZ2lv
biAmY2xpcCk7CiAgICAgdm9pZCByZW5kZXIoUVBhaW50ZXIgKnBhaW50ZXIpOwogICAgIHZvaWQg
cmVuZGVyQ29udGVudHMoUVBhaW50ZXIgKnBhaW50ZXIsIGNvbnN0IFFSZWdpb24gJmNvbnRlbnRz
KTsKKyAgICB2b2lkIHJlbmRlckVsZW1lbnQoUVBhaW50ZXIgKnBhaW50ZXIsIGNvbnN0IFFXZWJF
bGVtZW50ICZlbGVtZW50LCBjb25zdCBRUG9pbnQgJnBvcyk7CiAKICAgICB2b2lkIHNldFRleHRT
aXplTXVsdGlwbGllcihxcmVhbCBmYWN0b3IpOwogICAgIHFyZWFsIHRleHRTaXplTXVsdGlwbGll
cigpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38748</attachid>
            <date>2009-08-28 13:22:39 -0700</date>
            <delta_ts>2009-09-15 16:02:57 -0700</delta_ts>
            <desc>QWebElement::render API implementation</desc>
            <filename>QWebElement_render.diff</filename>
            <type>text/plain</type>
            <size>2926</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gMTc0NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDgtMjggIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlIAorICAgICAgICBlbGVtZW50IGluIGN1c3Rv
bSBwb3NpdGlvbi4KKworICAgICAgICAqIEFwaS9xd2ViZWxlbWVudC5jcHA6CisgICAgICAgIChR
V2ViRWxlbWVudDo6cmVuZGVyKToKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1lbnQuaDoKKwpJbmRl
eDogcXdlYmVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHF3ZWJlbGVtZW50LmNwcAkocmV2aXNp
b24gMTc0NjApCisrKyBxd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEyICsz
MCwxNCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0hUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKICNpbmNs
dWRlICJOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlByb3BlcnR5TmFtZUFycmF5LmgiCisjaW5jbHVk
ZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJTY3JpcHRGdW5jdGlvbkNhbGwuaCIKICNpbmNs
dWRlICJTdGF0aWNOb2RlTGlzdC5oIgogI2luY2x1ZGUgInF0X3J1bnRpbWUuaCIKQEAgLTQ0LDYg
KzQ2LDggQEAKICNpbmNsdWRlICJydW50aW1lX3Jvb3QuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKKyNpbmNsdWRlIDxxcGFpbnRlci5oPgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogY2xhc3MgUVdlYkVsZW1lbnRQcml2YXRlCkBAIC0xNjI0LDMgKzE2MjgsNDEgQEAKIAogICAg
IFJldHVybnMgdHJ1ZSBpZiB0aGlzIGVsZW1lbnQgcG9pbnRzIHRvIGEgZGlmZmVyZW50IHVuZGVy
bHlpbmcgRE9NIG9iamVjdCB0aGFuIFxhIG87IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogKi8K
Kwordm9pZCBRV2ViRWxlbWVudDo6cmVuZGVyKFFQYWludGVyICpwYWludGVyKQoreworICAgIFdl
YkNvcmU6OkVsZW1lbnQqIGUgPSBtX2VsZW1lbnQ7CisgICAgRG9jdW1lbnQqIGRvYyA9IGUtPmRv
Y3VtZW50KCk7CisgICAgaWYgKCFkb2MpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBm
ciA9IGRvYy0+ZnJhbWUoKTsKKyAgICBpZiAoICFmciB8fCAhZnItPnZpZXcoKSB8fCAhZnItPmNv
bnRlbnRSZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBJbnRSZWN0IHBfcmVjdCA9
IGUtPmdldFJlY3QoKTsKKworICAgIGlmIChwX3JlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQocGFpbnRlcik7CisgICAg
V2ViQ29yZTo6UmVuZGVyT2JqZWN0KiB3Y19yZW5kZXJlciA9IGUtPnJlbmRlcmVyKCk7CisKKyAg
ICAvLyB0cnkgdG8gdXNlIHJlbmRlcmVyIGNhY2hlZCBpbWFnZQorICAgIGlmICh3Y19yZW5kZXJl
ci0+aXNSZW5kZXJJbWFnZSgpKSB7CisgICAgICAgIFJlbmRlckltYWdlKiByaSA9IHRvUmVuZGVy
SW1hZ2Uod2NfcmVuZGVyZXIpOworICAgICAgICBJbWFnZSogaW1nID0gcmktPmNhY2hlZEltYWdl
KCktPmltYWdlKCk7CisgICAgICAgIGlmIChpbWcgJiYgaW1nLT5kYXRhKCkpIHsKKyAgICAgICAg
ICAgIGNvbnRleHQuZHJhd0ltYWdlKGltZywgSW50UG9pbnQoMCwgMCkpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gZmFsbCBiYWNrIHRvIGZ1bGwgcmVu
ZGVyaW5nIGlmIG5vIGNhY2hlZCBpbWFnZQorICAgIHBfcmVjdC5tb3ZlKC1wX3JlY3QueCgpLCAt
cF9yZWN0LnkoKSk7CisgICAgV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpQYWludEluZm8gcF9pbmZv
KCZjb250ZXh0LCBwX3JlY3QsIFBhaW50UGhhc2VGb3JlZ3JvdW5kLCBmYWxzZSwgMCwgMCk7Cisg
ICAgd2NfcmVuZGVyZXItPnBhaW50KHBfaW5mbywgMCwgMCk7Cit9CisKKworCkluZGV4OiBxd2Vi
ZWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHF3ZWJlbGVtZW50LmgJKHJldmlzaW9uIDE3NDYwKQor
KysgcXdlYmVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsMTAgQEAKICAgICBj
bGFzcyBOb2RlOwogfQogCitRVF9CRUdJTl9OQU1FU1BBQ0UKK2NsYXNzIFFQYWludGVyOworUVRf
RU5EX05BTUVTUEFDRQorCiBjbGFzcyBRV2ViRnJhbWU7CiBjbGFzcyBRV2ViRWxlbWVudFByaXZh
dGU7CiAKQEAgLTE0MSw2ICsxNDUsOCBAQAogCiAgICAgUVN0cmluZyBjb21wdXRlZFN0eWxlUHJv
cGVydHkoY29uc3QgUVN0cmluZyAmbmFtZSkgY29uc3Q7CiAKKyAgICB2b2lkIHJlbmRlcihRUGFp
bnRlciAqcGFpbnRlcik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUVdlYkVsZW1lbnQoV2Vi
Q29yZTo6RWxlbWVudCAqZG9tRWxlbWVudCk7CiAgICAgZXhwbGljaXQgUVdlYkVsZW1lbnQoV2Vi
Q29yZTo6Tm9kZSAqbm9kZSk7Cg==
</data>
<flag name="review"
          id="19747"
          type_id="1"
          status="-"
          setter="vestbo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39619</attachid>
            <date>2009-09-15 16:02:57 -0700</date>
            <delta_ts>2009-09-25 14:16:45 -0700</delta_ts>
            <desc>Updated QWebElement::render implementation with API autotest</desc>
            <filename>QWebElement_render_with_test.diff</filename>
            <type>text/plain</type>
            <size>26773</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDktMTEgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlCisgICAgICAgIGVsZW1lbnQgaW4gY3VzdG9t
IHBvc2l0aW9uLgorCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKFFX
ZWJFbGVtZW50OjpyZW5kZXIpOgorICAgICAgICAqIEFwaS9xd2ViZWxlbWVudC5oOgorCiAyMDA5
LTA5LTEwICBTaW1vbiBIYXVzbWFubiAgPGhhdXNtYW5uQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQXJpeWEgSGlkYXlhdC4KSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYmVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCShyZXZp
c2lvbiA0ODI2MikKKysrIFdlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCwxMiArMzAsMTQgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkpT
R2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkpT
T2JqZWN0LmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKICNpbmNsdWRlICJQcm9wZXJ0eU5hbWVB
cnJheS5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiU2NyaXB0RnVuY3Rp
b25DYWxsLmgiCiAjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3QuaCIKICNpbmNsdWRlICJxdF9ydW50
aW1lLmgiCkBAIC00NSw2ICs0Nyw4IEBACiAjaW5jbHVkZSA8cGFyc2VyL1NvdXJjZUNvZGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKKyNpbmNsdWRlIDxxcGFpbnRlci5oPgorCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY2xhc3MgUVdlYkVsZW1lbnRQcml2YXRlIHsKQEAgLTE2
NzQsMyArMTY3OCw0NCBAQCB2b2lkIFFXZWJFbGVtZW50OjpyZXBsYWNlKGNvbnN0IFFTdHJpbmcg
CiAgICAgUmV0dXJucyB0cnVlIGlmIHRoaXMgZWxlbWVudCBwb2ludHMgdG8gYSBkaWZmZXJlbnQg
dW5kZXJseWluZyBET00gb2JqZWN0CiAgICAgdGhhbiBcYSBvOyBvdGhlcndpc2UgcmV0dXJucyBm
YWxzZS4KICovCisKK3ZvaWQgUVdlYkVsZW1lbnQ6OnJlbmRlcihRUGFpbnRlciAqcGFpbnRlcikK
K3sKKyAgICBXZWJDb3JlOjpFbGVtZW50KiBlID0gbV9lbGVtZW50OworICAgIERvY3VtZW50KiBk
b2MgPSBlLT5kb2N1bWVudCgpOworICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm47CisKKyAg
ICBGcmFtZSogY0ZyYW1lID0gZG9jLT5mcmFtZSgpOworICAgIGlmICggIWNGcmFtZSB8fCAhY0Zy
YW1lLT52aWV3KCkgfHwgIWNGcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGNGcmFtZS0+dmlldygpLT5sYXlvdXRJZk5lZWRlZFJlY3Vyc2l2ZSgpOworCisg
ICAgSW50UmVjdCBwUmVjdCA9IGUtPmdldFJlY3QoKTsKKworICAgIGlmIChwUmVjdC5zaXplKCku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4
dChwYWludGVyKTsKKyAgICBXZWJDb3JlOjpSZW5kZXJPYmplY3QqIFdlYktpdFJlbmRlcmVyID0g
ZS0+cmVuZGVyZXIoKTsKKworICAgIC8vIHRyeSB0byB1c2UgcmVuZGVyZXIgY2FjaGVkIGltYWdl
CisgICAgaWYgKFdlYktpdFJlbmRlcmVyLT5pc1JlbmRlckltYWdlKCkpIHsKKyAgICAgICAgSW1h
Z2UqIGltZyA9IHRvUmVuZGVySW1hZ2UoV2ViS2l0UmVuZGVyZXIpLT5jYWNoZWRJbWFnZSgpLT5p
bWFnZSgpOworICAgICAgICBpZiAoaW1nICYmIGltZy0+ZGF0YSgpKSB7CisgICAgICAgICAgICBj
b250ZXh0LmRyYXdJbWFnZShpbWcsIEludFBvaW50KDAsIDApKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIGZhbGwgYmFjayB0byBmdWxsIHJlbmRlcmlu
ZyBpZiBubyBjYWNoZWQgaW1hZ2UKKyAgICBwUmVjdC5tb3ZlKC1wUmVjdC54KCksIC1wUmVjdC55
KCkpOworICAgIFdlYkNvcmU6OlJlbmRlck9iamVjdDo6UGFpbnRJbmZvIGNQYWludEluZm8oJmNv
bnRleHQsIHBSZWN0LCBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kLCBmYWxzZSwgMCwgMCk7Cisg
ICAgV2ViS2l0UmVuZGVyZXItPnBhaW50KGNQYWludEluZm8sIDAsIDApOworICAgIGNQYWludElu
Zm8ucGhhc2UgPSBQYWludFBoYXNlRm9yZWdyb3VuZDsKKyAgICBXZWJLaXRSZW5kZXJlci0+cGFp
bnQoY1BhaW50SW5mbywgMCwgMCk7Cit9CisKKworCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJl
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5oCShyZXZp
c2lvbiA0ODI2MikKKysrIFdlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNiArMzEsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIE5vZGU7
CiB9CiAKK1FUX0JFR0lOX05BTUVTUEFDRQorY2xhc3MgUVBhaW50ZXI7CitRVF9FTkRfTkFNRVNQ
QUNFCisKIGNsYXNzIFFXZWJGcmFtZTsKIGNsYXNzIFFXZWJFbGVtZW50UHJpdmF0ZTsKIApAQCAt
MTM3LDYgKzE0MSw4IEBAIHB1YmxpYzoKIAogICAgIFFTdHJpbmcgY29tcHV0ZWRTdHlsZVByb3Bl
cnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUpIGNvbnN0OwogCisgICAgdm9pZCByZW5kZXIoUVBhaW50
ZXIgKnBhaW50ZXIpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFFXZWJFbGVtZW50KFdlYkNv
cmU6OkVsZW1lbnQqKTsKICAgICBleHBsaWNpdCBRV2ViRWxlbWVudChXZWJDb3JlOjpOb2RlKik7
CkluZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvcXdlYmVsZW1lbnQucXJjCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9xd2ViZWxlbWVudC5xcmMJKHJl
dmlzaW9uIDQ4MjYyKQorKysgV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3F3ZWJlbGVtZW50
LnFyYwkod29ya2luZyBjb3B5KQpAQCAtMiw1ICsyLDYgQEAKIDxxcmVzb3VyY2UgcHJlZml4PSIv
Ij4KIDxmaWxlPnN0eWxlLmNzczwvZmlsZT4KIDxmaWxlPnN0eWxlMi5jc3M8L2ZpbGU+Cis8Zmls
ZT5pbWFnZS5wbmc8L2ZpbGU+CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgpJbmRleDogV2ViS2l0L3F0
L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAJKHJldmlzaW9uIDQ4
MjYyKQorKysgV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDggQEAKICNpbmNsdWRlIDxxd2Vidmlldy5oPgog
I2luY2x1ZGUgPHF3ZWJmcmFtZS5oPgogI2luY2x1ZGUgPHF3ZWJlbGVtZW50Lmg+CisjaW5jbHVk
ZSA8UVBpY3R1cmU+CisKIC8vVEVTVEVEX0NMQVNTPQogLy9URVNURURfRklMRVM9CiAKQEAgLTkw
LDYgKzkyLDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIG51bGxTZWxlY3QoKTsKICAgICB2
b2lkIGZpcnN0Q2hpbGROZXh0U2libGluZygpOwogICAgIHZvaWQgbGFzdENoaWxkUHJldmlvdXNT
aWJsaW5nKCk7CisgICAgdm9pZCByZW5kZXIoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyog
bV92aWV3OwpAQCAtODc4LDUgKzg4MSw2MyBAQCB2b2lkIHRzdF9RV2ViRWxlbWVudDo6bGFzdENo
aWxkUHJldmlvdXNTCiAgICAgUVZFUklGWShwLnByZXZpb3VzU2libGluZygpLmlzTnVsbCgpKTsK
IH0KIAordm9pZCB0c3RfUVdlYkVsZW1lbnQ6OnJlbmRlcigpCit7CisgICAgUVN0cmluZyBodG1s
KCAiPGh0bWw+IgorICAgICAgICAgICAgICAgICAgICAiPGhlYWQ+PHN0eWxlPiIKKyAgICAgICAg
ICAgICAgICAgICAgICAgImJvZHksIGlmcmFtZSB7IG1hcmdpbjogMHB4OyBib3JkZXI6IG5vbmU7
IH0iCisgICAgICAgICAgICAgICAgICAgICI8L3N0eWxlPjwvaGVhZD4iCisgICAgICAgICAgICAg
ICAgICAgICI8Ym9keT48dGFibGUgd2lkdGg9JzMwMHB4JyBoZWlnaHQ9JzMwMHB4JyBib3JkZXI9
JzEnPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICI8dHI+IgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICI8dGQ+dGVzdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiPC90ZD4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjx0ZD48aW1nIHNyYz0n
cXJjOi8vL2ltYWdlLnBuZyc+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3Rk
PiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3RyPiIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIjwvdGFibGU+IgorICAgICAgICAgICAgICAgICAgICAiPC9ib2R5PiIKKyAgICAg
ICAgICAgICAgICAgIjwvaHRtbD4iCisgICAgICAgICAgICAgICAgKTsKKworICAgIFFXZWJQYWdl
IHBhZ2U7CisgICAgUVNpZ25hbFNweSBsb2FkU3B5KCZwYWdlLCBTSUdOQUwobG9hZEZpbmlzaGVk
KGJvb2wpKSk7CisgICAgcGFnZS5tYWluRnJhbWUoKS0+c2V0SHRtbChodG1sKTsKKworICAgIFFU
ZXN0OjpxV2FpdCgyMDApOworICAgIFFDT01QQVJFKGxvYWRTcHkuY291bnQoKSwgMSk7CisKKyAg
ICBRTGlzdDxRV2ViRWxlbWVudD4gaW1ncyA9IHBhZ2UubWFpbkZyYW1lKCktPmZpbmRBbGxFbGVt
ZW50cygiaW1nIik7CisgICAgUUNPTVBBUkUoaW1ncy5jb3VudCgpLCAxKTsKKworICAgIFFJbWFn
ZSByZXNvdXJjZSgiOi9pbWFnZS5wbmciKTsKKyAgICBRUGljdHVyZSBwaWN0dXJlMTsKKyAgICBR
UGFpbnRlciBwYWludGVyMSgmcGljdHVyZTEpOworICAgIGltZ3NbMF0ucmVuZGVyKCZwYWludGVy
MSk7CisgICAgcGFpbnRlcjEuZW5kKCk7CisKKyAgICBRQ09NUEFSRShwaWN0dXJlMS5ib3VuZGlu
Z1JlY3QoKS53aWR0aCgpLCByZXNvdXJjZS53aWR0aCgpKTsgICAvLyByZXNvdXJjZSB3aWR0aDog
MTI4cHgKKyAgICBRQ09NUEFSRShwaWN0dXJlMS5ib3VuZGluZ1JlY3QoKS5oZWlnaHQoKSwgcmVz
b3VyY2UuaGVpZ2h0KCkpOyAvLyByZXNvdXJjZSBoZWlnaHQ6IDEyOHB4CisKKyAgICAvLyByZW5k
ZXIgaW1hZ2UgMm5kIHRpbWUgdG8gbWFrZSBzdXJlIHRoYXQgY2FjaGVkIHJlbmRlcmluZyB3b3Jr
cyBmaW5lCisgICAgUVBpY3R1cmUgcGljdHVyZTI7CisgICAgUVBhaW50ZXIgcGFpbnRlcjIoJnBp
Y3R1cmUyKTsKKyAgICBpbWdzWzBdLnJlbmRlcigmcGFpbnRlcjIpOworICAgIHBhaW50ZXIyLmVu
ZCgpOworCisgICAgUUNPTVBBUkUocGljdHVyZTIuYm91bmRpbmdSZWN0KCkud2lkdGgoKSwgcmVz
b3VyY2Uud2lkdGgoKSk7ICAgLy8gcmVzb3VyY2Ugd2lkdGg6IDEyOHB4CisgICAgUUNPTVBBUkUo
cGljdHVyZTIuYm91bmRpbmdSZWN0KCkuaGVpZ2h0KCksIHJlc291cmNlLmhlaWdodCgpKTsgLy8g
cmVzb3VyY2UgaGVpZ2h0OiAxMjhweAorCisgICAgUUxpc3Q8UVdlYkVsZW1lbnQ+IHRhYmxlcyA9
IHBhZ2UubWFpbkZyYW1lKCktPmZpbmRBbGxFbGVtZW50cygidGFibGUiKTsKKyAgICBRQ09NUEFS
RSh0YWJsZXMuY291bnQoKSwgMSk7CisKKyAgICBRUGljdHVyZSBwaWN0dXJlMzsKKyAgICBRUGFp
bnRlciBwYWludGVyMygmcGljdHVyZTMpOworICAgIHRhYmxlc1swXS5yZW5kZXIoJnBhaW50ZXIz
KTsKKyAgICBwYWludGVyMy5lbmQoKTsKKworICAgIFFDT01QQVJFKHBpY3R1cmUzLmJvdW5kaW5n
UmVjdCgpLndpZHRoKCksIDMwMCk7ICAgCisgICAgUUNPTVBBUkUocGljdHVyZTMuYm91bmRpbmdS
ZWN0KCkuaGVpZ2h0KCksIDMwMCk7Cit9CisKIFFURVNUX01BSU4odHN0X1FXZWJFbGVtZW50KQog
I2luY2x1ZGUgInRzdF9xd2ViZWxlbWVudC5tb2MiCkluZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdl
YmVsZW1lbnQvaW1hZ2UucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9pbWFn
ZS5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFJQUFBQUNBQ0FZQUFBRERQbUhM
QUFBQUJHZEJUVUVBQU5rRFF0WlBvUUFBQUFsd1NGbHoKQUFBTEV3QUFDeE1CQUpxY0dBQUFBQ1Iw
UlZoMFUyOW1kSGRoY21VQVVYVnBZMnRVYVcxbElEWXVOUzR4SUNoTllXTWdUMU1nV0NrQQpTeVA0
eWdBQUFBZDBTVTFGQjlRSkhRd0FIMjRLN1RzQUFEajJTVVJCVkhqYTdiMTVrQ1RYZmQvNXljeTZx
N3VycitucEdjd0Fnd0V3CkdOd0VTWUFnaVNVcGdoUlByd2paNHJXVVNTdXNjT3phM0pCM0xlMS9H
N0d5dFpKc2g4UlZiRGk4Tk5lSEpJc0tTMXlKMmhXeEZyMFUKRDRFSFJOekFZQURNaGJtUHZ1dks2
NzIzZjd5WG1hK3lzcXE3WjNwQTBrWkhaR1JXZFZWMVYzNS92Ky92ZkwvbjhNYlA2L0hqV0djSApj
SUhmQlA1aDhvSkhQMzQzLytTM1BrUzlYa0lwQ1VnVU1VcVpnd2lwUXBRS2tTcEFLcDlZaHBTVlQv
Tkl3T3JaQ283VFI0a1FKV09VCmpLeXpBQ1ZSU3FDa1FDbUZVaUJVOW8rOThmUDZndi9yd1ArWXZP
Qm5QM0VQdi82RkQxT3V1TnNHdjM0a1pPMWtCYmZTeTRHZkNNQm8KOElWUWJ3akFqd0Q4M3dEK2gr
UUZmL09UOS9BYnYvTlJQSTl0Z1Y5VlBwVVhZOVpQbGE0YWZLbjBQL1RHejQ4SS9FYy9mamYveXov
Nwo0TGJCMTVvZjBEM25YaFA0VXI1aEFsNVA4UDhwOEVzMjdmL2FiMytJYXRYYlFkcmYzT2JiNE1m
aURRSDRrZG44My95ZGorQ1ZuQjJrCi9lMkRINy9CQUs4LzdmK3RUOTNMci85dkg3bDZtMyttaE90
ZEcrMG40RWV4ZXNNSGVCMUN2WnpOLzhEVjJmeVhBemJPZVRzS2ZoUy8Kd1FEL1JZUjZvOEFIU2Vr
TjdINThRNzNyQ2I1QUVVUzhJUUN2UjRidmFrSzlha0w3Wjh2WFJmT0RDTDcwZS92ZkVJQWYxMUN2
ZWlSawo1V1QxK21pK0QxLzg4bzBjdlZMN2lSVUFad3ZQNTEralJseXpoZWUzYXZOLzZmclNmcndE
dEsvNDRyL2Z6OUdsR2g0L0dVNWdIbFNuCkFJRDg0M0VDb0FxdVJ6MHVFb3JyR3VwVmo0U3NuYTRV
ZVB0WEYrZmJ0TitMNEl1L3U1OGpTM1hLZ0VMOFdETEFLTURkZ211MzRIZGIKRlFBRnlCSG4vTFd5
UGxOdFp2Ti85Wi9uYmI3WWNxaTNjcnE2NCtBbkR0K1hmazlyZmdLKytqR0tBbXl3OGtBbmp6MXo3
Vm5QZTduZgoyKzhmUmZIU1hBdnJzVEJuKzlyK3Zjd0pUL0svL2E4MitNV2hua0NwYUV1YWZ6MXNm
dUx3ZmZIM3RjMzNMUEIvSEFUQTFsWTNCN29OCmVDbDNManJ5QW1OL3Zzb0pRS0xkWXNRUjU4N0tP
aWNDOEdzRDRIL1NwSGM5Wjl1YVgza3hadTFVNWZvNWZQOStQMGVXcWdPYXI4ei8KVi9veDBYWWI5
QVRvQk95eXVTNWJ6NWNMWG1kL2hqUENCS2dDYlk4dG9DUHJjWlQ3bmJEZSs0K0J6dy9RL2ovN1FE
SDRiTkxNOFVyQQo2cm5LOVF2MS9tQS9SNWNhbEZGRDRDdms2K29FRmpsdWVTMHU1UUN2V0VmWk9w
ZHpBbUV6UXlJSVJReGdBMitEbndDZUhHSEJPWG5QCi93VDgvUlQ4VDl6RHIvLzJoNmdNaEhvVytD
cThDb2N2MmhGdi8wdS90NThqVjJwNE9JWGd2NTRtd01scGZCSG95VkUxUUNmbldzRnoKbFp3dzVF
MkRtMk1CbGJQM3RnRFlvQ2RIWUYzNzF1Ly9lK0R2YkU3N3dvQWZJVlZrZ1I4TXhQblhMOE9uK09M
djd1Zm9VbjNJNXR2WApyMGNxdUFoNE4wZmxGUXZjbW5XdW0zUE5lcHo4emhhR1VVSlFaQUxHZ1I5
WWdBZm1uQndoOFBQQXg1TVArOWpQM2NXdi90T2Z4bk50CmI5OEFSbVFjdnlobEFBMStrTkgrMmV0
RSszNUcrOTRJMmsvQXY5NE1rUGZraTRDdjVrQnVXRWU5NEhFaUZOV3BHZWJtOXpDN3NKZlcKcmox
TXpDMVNuMTJnT2oxTHVkbWkxR2ppVldxNEtBaDhaSytMYUs4VHJ5OFRyVjRoV0xwSS84b0ZPbGZP
c2I1MGtaWDJHc3NXOEgxego3cG5yRHdNZnpHeitYZnphYjMySVdxMWticVl5NE1kV3ZCK2x3Q3NM
L1BxUmNFU290ek81L1MvOVFVTDdtNE92dUQ0OWdhUG8zZ1krCkQzclRPaytZbzJrZnN3c3MzblNJ
eFlOM01IZnpIVXpkZWhjVDlZWU8vWlNsNHlxbjg2bjdyMFluQmZvZHhJbVg2Sng4aVkxVFIxaysK
Zll5THE1ZTVhQVJnM3RiOFJ6OXhGNy94aFE5VEtydXBaUm1rZmR2dSsxcnpsVTlKNmphdTYxWFZT
NUk4VzZIOUJIeXVnd0RrRXpXMgpGMjlyZktNQThFbHpua3F1Ri9heTc5Qjk3TC83cmV5NisyMU1U
MDFUVWprRXJ4VjgrMDNKNjlaWGlWOThncldqVDdIMHcyK3lQNDVvCnB1RC85b2Z4UEFjSnVJNEVK
N25CT2ZBSmpjUG5hNXYvUXJpam5UeURvWjdpaTErK2tTT1hxNVRIT0h4NThObmhWTEFOdnEzMUNm
QlYKQy9TbUJYakxnRDRGdENwVjVnN2Z6MjF2ZWpzM1BQQWVacWZuS0N1R3diNW04UFBQbThmUzNC
c2w0Y29GK0o4L3E1K2ZuWjNoeVNOLwp3Znp1SG9KVHhKd2c3TGZwZGdSU2FPckhNZUdla3poOEd2
emFpeEZycHp5OGNnOHBncDBIUDgzdGJ3LzhtTjZPK0FENVpFNFIzU2YyCmZNSUMzVDZtSjFyc3Zm
Y2hEajMwQ0h2dmZ3ZlRoZHFhQTc5UnVZSEoyaTAwcXpkUnIreWhWcDZuNGszanVUVmN0NHlVTVpI
c0VzWHIKK05FeWZyU0VIMTJtRzF5Z0YxNmdGMXpRRks2S0dlSDdYOCt1UC95UkQ3QnY5MkVjUE9B
dE9wVllENWl0WHlEaUtDSFBFOHNUWExrVQpJdU1RNVFiVUNDay9HN04ydG9SWDd1NDgrS2F3WStm
MnR3Tit3T28xTTRCdDcvUGc1MjM4cE5IeWFRUDZMREJkYjdMbnpROXo1My8xCklmYmQ5UUJUQTVT
Y085ZEt1NWlvSGFSWnZZbkoyaTNVeXJ0dzNScWVVOEYxeXppVWNSekhhTEpBcWhncFE0VDBpV1dQ
V1BTSVJBOGgKZTBTaVF4aHYwQXN1R09GWXhnOVg5ZCtUR29CZi9sbm9kL1hmZnV6cmY4SWo3M3Mz
RGg0dU5Wd3FRemREMGtWd2hvam5FZndKRjc1MgppczY1Q202NW84RVgwWTZIZXRjQ1BseGJRMGdS
K0xaM1g3ZHNmS0xwTSthWUJXYnZlNGo3M3YxUkRqendVOHptNjI3SlpiMXlBN01UCjl6UFhmQXN6
emZzb2UxTjRiaFhYcWFLUVNHbkNMQmtpRXM5YlJraVZWZC9Bd1hVcWxGd0h6NjBoMVJSVkZTTmx4
RVQxSmlMWkk0NDcKOU1JcmRQdG42UWFYK09IanF5bjRkOTE5Qis5Njl6dHhxZU5SRzNsRFhKcTRI
S2JNWWM0OHZrejczS3Q0bFJnVjcxeEpOd24xdE9iWApyZ244YXhHQVBQZ2x5OTRuNFZyaTJMVnMw
SUg1UFRkeTI3cyt3aDBmL2hSN1hjOThsZ1crNDVTWm4zZ3JDNjEzc3pEMU1MWFNMbHluCkRJNkRV
akZDaHNTeWg1UWhpbGhydTlRRkY2RWkvYnlLa1NveVFoR2xRcEZleTlBOGpuRndLWGtObXBXOVZM
d1ptdFdEL0wrLzkwMFQKQk1DblB2MUpHdVZkNCsrSTVWVEVZWS91cFcvaWVoSWxCRkxHUnZ0M3Bx
cVhnZTljRS9qQWhkSU9nVy9iKzZibHpTY2FQMmZDcWZrSApmNHEzZlBBVEhEeDBEeE41dTE3eUpw
aWZmRHY3WmovS3d1VERlRjVkM3lRbERIQ3hBVllmQ2ZpSnBpZGdLMFFLdmxJeFVzYUQ0S3NvCi9R
eGhoRVhJUkRBRTdYWEp5VmMwK0kxR2cwLzgzS2MzQlY5Sm5XaDB2QkwrNmt2NGE4ZkJVUmJ0eHp0
VDFTdWtmVnNJdGc0KzhOV3IKWllBOCtGVUwvTVRXcHhvUDdKcWU0K0I3SCtWTmozNk8vWTR6Nk5T
VjNBYXprdzl3WVA1VExFeTlrNUkzZ1JBOW85WENBSm9EWDhaSQpjcHF2OU0yMndSZXBwbHZnUzhN
TU1rblZ4dW5qV0laOC9jOU9wbC8wL2U5L1A3ZmVldXRZclZmU0ZCZU5hblRPUEk0VVhYQTlEYm9s
CkJOZGUxYXZ0R1BqQXlkSTFobnFsbk9aUFdRN2VITEFMMkhYZ0VQZDgrTlBjOVk3M00yZXp2YU5j
SnV1M2NldnV2OHZpOUNQVXk0dEUKb2swc3VrYnpOY2pwZFFwK1pKN1BhWDZpMWFQQXQyaC9BSHlq
bmJHTUVYSE1uMzM1VlBxRlAvdlp6NDdSZVBOdEhCTlRPdzVTOU5pNAo4SVRXZnZPNUdCYTcxbEJ2
bVBhdkd2dy9CVTRCM2RJMWdGOHVBSC9hMHZvRllPSGVCM25Mei93Q2gyKy9od2tiL0xMYjRzYjV2
OG5OCjg1OW11bmtQc2V3Uml2V1U4cFVTWThFZnBQSXRhcjZsNllPYWIxNHZZNDQ4dThUeTVRQ0FB
d2NPOEw3M3ZhOUE0NjBtSVVlQkkzR0UKQXJkTWYrVVkvZFVYY1Z5UVVlYjRJY1VPaDNyWERqN1FL
MTJqNXRjdDJrODBmNWNCZi9lRDcrVnRILzk3SEZyY3AxM25CUHlwMmlFTwo3LzBsRmx1UFVQWW1p
TVNHb2ZoRXE0V2w0U0lONlpUTWJIY21GRmRQKzRrcEVZWUZwSWo0MTE5NE9mM1NuL2pFSjVpY25C
elVlaWZUCmVCeWw5VkZJSEtWd1haZk91ZThUOWRzNGJqbHovSEthTDVWT09DWGdDd08rS05MODM5
L1BrZVg2VHRKK0N2NTJHU0FmNTFjdGIzOHEKcC9tTEQzK0FkM3pxODl6V21xR01sWGpjMDNvL2gv
ZDhucm5KdDZYeHVhMzF0dVpMR1dmMlA5SDhQTzBQZ1IrTkFUOGNlTCttL1lRQgpJb0lnNU5pUk5n
Q1ZTb1ZQZmZLVFd1dU54bXJnVlFvOFVpS2x6cWU3Q2hBOTFrOC9qb3RFeWtoVHZ4U3A4NWVDTDBI
SVFmQmpBWkZJCmxtc2xiVno3T2JLOHN6YmZCbityREZDVTI2OFZnRCtYYVA3REgrQWRuL21ISEpx
WTFHR21BankzeXMzem4rSFczYi9JUk8wQXNleHEKZWt4S3FBVzBQd1QrQ0ljdkJYVVR6YmZOU2FM
NTBnck4vdkt4QyttWGZ2aWREM1BmZmZjTmFuMWk2NFZDcWx6L2FMbE1zSGFjN3RLTApLS1hEMVFH
bkx3ZStrS1JISkNDT2xUNHJMUVQvOG5jUGNIUzV2T00yM3daL0t3eVE3OTdKTzMyVFZveS9DMWg0
OEwyODdWT2Y1elliCi9KTGI0UGJGZjhEQjNaK2o0cldJUlMvbjRBMDZmRkthVU00QVBnaCttRDIv
YVp3ZkdaQUhiYjRHUDBJSTh4a3lKaFlSWC8zOU0ra1gKLy9tZi80eXU4enVabytjSWhYQVVqc3Ax
amJzU0tORTUrOWZFL21VY3A1UTZnRkpHS0NrUk1xUDlCUGc0MVg1RkdJTlFpakJXL0t2Zgp2NUdq
U3hXcmpXc1FlUDFZR1FHNGV2Q0JmbWtiMUc4N2ZRMHJ3emVUaEhyM1BzaGJQdjczT05TYXlRbzRK
YS9Kblh2K0VRY1hQb3ZqCmxCRFN6NzdJWnBxZkNvVk4rL0UyNHZ4TWNBbzFQd2tuVmN6SlY5ZTVj
TVlIWUdGaGdZOSs5Q05HQlhUZm5KU21maTRUZ1pBNGpnRkEKS0pBK0crY2VSMFVTU25iY0w0bGxz
YjJQaGRiNktBWXBJbnBoaVgvejVmMjh0RncxNE1zUjJyOWw4TDg2RHZ6TkJNQXB5UEhiS2Q2Vwps
ZVRaZGVBUTkvek1MM0I0Y1IrMUJIelByWFBuM2wvbWxvWFBBWTd1a01rQm44VDV3OTUrUE9Ed0Zk
bjhRczBmRStjbm1tOG5sR0laCklZVGdTLzg4aS8wZmZmUmp6TTNONFNpSlZOSTQvNmJFNkdqcWQ1
UUFwWENrd3ZFOFJQOHM3VXRQbzBwWjhrZEtrV3E0UkJCTENFT0YKakdQQ2hQSmozWmNUMCtCZmYz
a1hSNWVybEZMd1pZSDI3NHptSjAwdnBTMVcrT3l5YmlQbjljOVB6M0h3dzUvbXJ0dXQ3SjduMWpt
OAorSGtPN3ZyYkJ2dzRCZC8yK0ZQYUg5RFN2TU1YV3I4Zm8va2o0dnk4NXV2WEM1TUpqSWxpd1N2
UGQ5SlkvdWMvOHhrTmZscFhObmJlCkFjZVJ1bHFVWlA1Y0FWNlZqUXZQMEY4L2c2c2tvUWlRWVVB
WUNmMzUwa05LRCtsVWNXdlRsQ2RtcU5TbWNhcTdvVDZIVjV0bFphM00KVXU4SkZDZFJlQ253WEVm
d3h3bkFLSysva1V2enpnTHo3MzJVTjczai9jeWxDUjZueE0zem4rYVczWC9IbEdYREF2REZlUEJ6
S2R2aQpVQzhhQUZ1cW1KV1ZOdTMxTGt0WDJpaGloQklnQmMwcGg4YWt5L1NzaDFMQ3BINWpwQlE4
OGMybDlFcy84TUJiZWVDQnR4Z25MK3NuCmRSeVpOUXNJcFlGUGxoZUlpQ3V2UGthbjNhUFpxRkF1
VlZFVGU2bFZGcUd4aDBwak4yNTlFYmMraCtzMkNGU1ppQ3BCNkJQNEFYN1AKcHpLdDJIZFRuVXRI
SS9NWGl4eTluYUY5dTlleHRJbmo1eFk0ZmhNbTRUT1Q1UFlmL1J6N2JiZG9jZXE5M0xyN0Z5bDdV
Nm5OTDQ3egpDOEF2aXZOSE9IeGhGTEs2dk1INWM4dGN2cmpPMm1xWEtBeUpSVXdjYXg4QVErT09L
M0ZkaVZ1Q2VnTmFjeVZtRjF3bVd5NWYrYmVaCjkvL3BUMzZTa3VkbHdMdVNOR3VEd25HRWlmbDBO
NUJFSWYxMVp2YmR4OHorTjFHZHVBRlJtVU82RmNLd1FpUktSRkZFRlBxRVlSYy8KOUFuQ0htR3dR
ZWdIK0VGQUVJYjRjWWw5QnhyODhHaEcvV212NGZiQVA3bFY4RWNKQURtdnY1eXI2eWVsM2RrOU4z
TGJCei9CUWJ1cgpZS0o2TTRmM2ZGNkhlcUpYYVBQSGV2dWJ4UGx4RkhEcDBpcXZuYnpNaVZjdnNi
TGMxb2tXUkpad1FSWmN5NEhyMTA1STdhREZnck1uCnRQUFhhclg0Mk1kK1J0dDVCUTVDYTczRTBM
MVpWdUFvcE5BQU9US21WSmJzdXZNenhFTFI3N1lSUVJ1Lzd4UDZIY0lnSUJJaFlSd1EKQlJGUkhC
RDZPdWNRaEJyOElBenhBNC81M1U3YTFZUGxCK2pybmFOOXErVTkzb29BMko2L2JmdG4zL1VSN3Jq
TnBIZ0JLdDQwZDk3dwp5OHhOdmszSCtaYmRMNlI5TXBPd2xUai8rTEZ6dkh6a0hDZU9YVUltcWRV
QjhPVkl3SWV2RlZJcFhuNmhtMzdwRDMzd3A5bC80MTVqCjU1TVZnU29EM3VnaFVtZ25NUEVCVU1U
aEduMi9SNy9UcDkvMUNhT1FNSXdJUkkvUUQ0bmpTRC9uNjNNUWhvUlJST0FIV2hBQ3djeHUKcUx0
VDlPUUtEdTUyd1AvcTFZQmZKQUQ1bnI1OHBTOEovYWJ2ZTRqN1B2UXA5bVp2OU5nLyt5aUxyVWMw
N2FjRm15M0UrUVBlL25DYwpmK0hjRWs5ODcyWE9uVmttanVNdGF2c21RaUVWU2dtT3Y5akxDajkv
V3p0L0tKT3hBUU8rQmtGSmllUEVJQTBibVBVQXNRanB0cnYwCituMzYzVDVCRkdnTmozeWlJQ0NL
UTZJZ0pveWlWRERDS0NMb0JvUnhRQkQwQ2FNQXg0UFptUklieTBtL3Zyb3V0Rzh2ZVN0dFEvdlQK
enA1Nmt6M3YraWdIUEt1Wlk3SitLd2QyZlpxeU42bTFmMHVhWDBUN1daemZEL3I4OFB1djhOelRK
NG1pT0F1SnRxM3RPYzJYbWw0dgpuUXNJQTMxekR4OCt4SHZlL1hDYSt0WEFnM0pNZjVpTWNCeWx6
WUtyUUFsd0JMRWYwV2wzNkhiNzlQcDkvTENQMys4UlJpRlJuR2g4CnBQMkFPQ2FNQXNJZ0p2UUR3
akFnalBxRW9VOFVoWVNSdy95aTROU3kxSkhUMW1qL3BBRjgyK0RuQldDemFsL2kvVS9mL3pCM1Bt
aTEKY1hsdW5WdDMvMTFtbXZjU3hldkRkai92OEptMHJMUWN2WHhoNStLbFpiNzlqZWU1Y0c3RjBt
aFJvT0hiMFh5VlhrdWxPUEpVcHYyZgordmpQVWEyVXRaTm4wcjVLR3M5ZjZ1Y2NKMWtnSElNUVJG
RkVwOTJsMiszUzlidDArMTJDdnFiME1BeUl3dGdBSHhGR01XRVFFdmtoCllSUVFSUUZoM0NNS1Fz
SXdJSTRqSXVreXY5dUZGekhnc3hYd0U3QzNEVDZnU2lNYVBmTDBuOWovcVlrV2U5LzFJZmJablR4
emsyOWoKY2ZvUll0RWRUZnUydDUvVC9MeTNmK0xFZWI3NTllZHB0N3ZEb0E0QXUxMUcwRGw4SlNW
UklGaGJqZ0dvVnF0OC9PTS9xMjIvWTJoWApTZzI4N2Z3bFN3dGpRUlNFdERzZE9wMmVCci9UeGc5
OC9NRFB0RDRPQ2FPWUtBeE5KQkFTeFJyOEtQUUovWUJZYUthSW81ZzRsdXphCkZWT2hSa3lBTTU3
MlQrUTB2NzlkOEFGWjJvYjNQd0cwN24ySVEzYjNydWMxT1REL1Nlcmx4WkgxL0VITkwramtrYUh4
Q1VLT0h6dlAKWC96NVU0UlJPR3pqcjBuelZmcThWSXJYamdYcGwzN3ZUNzJMdzdjZjFIU2ZhcnpN
NG44a09ERW1wMHNZQnJSN2JUcmRIdTMrQnIxTwpqMTdmeCsvNVd2dWpoUFpqNGlnaURBTGlPREFD
NEJPSElWRVVhdkREa0ZoRWlEaEdTRUdwVm1hcVVXS3AxMGZoNThHL2FNQS9Ya0Q3CnllRnZGWHli
QVp3UjJqK1EvS2xVbVh2b0VmYmF2Zm03SnQvQnd0UTdpVVI3OHppL3lPR3pNbnpIajUzakw3NzJ0
QUZmRm9DL05jMHYKbGFGVWRuQTkxL2h6RXQ5WHhLRjIvbENLRXkvNTZWMzkzT2MrclFzL2lmTm44
dndhZUZPcmxSS1VJQWdDT3YwT0c1ME5PaHRkdXIwdQozVTZQdnUrYmtDNGc5R1BqK0VYRVFtdDhM
TFFBeEdGSUxDUGlLRVRFa2M1WHlOZ1VwbUtVNHpJOUUzQ3gxeU5tM1FiL0V2Qm54dHZ2Cjd3VDQr
YTVncDZERDEzWUFKdy9mejIzSm9nMWxNbjc3Wmo5S3ladXcycmpHeC9tSmc1ZGs4SkxIcDA1ZDRE
ODk5Z3hoR0E1cnVzb1YKajNLQzREaUtoYjFWcG1aS1RMWWNtbE1PMVFhVVNoSXBCWkVRdE5jQ2Vy
Mll0ZVdJVjU3djBldG9KMi9mdnIzODlDUHZ5ZXk4S3pNNwpMNU8wYndiK1JuK045bnFIVHJkRHA5
dWwyemJPbjBub2hFR29IVUEvSkpZQmNld1RCU0ZDUkVTUlBzZHhqQkNtR2lteWxEWlNzTHdlCjBI
TldpR25iNEY4R3ZnYWN6dG42cnJXQXRXOHRidDBTK0hrZndCblI4SkgyOTcvcDdkeGdkL2JNVHp6
QXd1VERDTkhiVnB5ZnQvbEwKUzZ2OHA4ZWV3UStDRWVBWDA3N2pLZzdkMVdML3pUVW1aMXhjVDZS
VlFDMkFDcUVVbmxTVXF5NHQ2YkY3SC96eHY4cWN2N3Z2dnBmcAoxaFJLeFpuV1k4cDF3dHczUnhD
RUFSdjlEVGJXMm5UN0hUcnRMcDFPbjI2dlI4LzM4ZnVhL3FNZ1NqVStqZ0xpS0RLZ2h3aGhnSS9O
ClBSRDYzdlQ3QWFmT3JuUHM1QnJuTDNVUlltRGQyakx3RGVDTVpkczdPd0crelFCNUUxREpNVUJ6
WVMvN0huZ1BzL2EvdHRCNk41NVgKSDlUd3BOUmFFT2NYZWZ0QjVQUHR2M3lCYnJjL0J2eEJFK0I2
a2dPSEpqbDh6eVROS1NjdCsyYmc2eHkvVUxvVFIwaVJNa2dVQ1U0ZQpEZFBDVDcvZjUxOTg4U3Y4
ZC8vdG95QkNEYnpSK01RRTlJTU9uWFpITzMzdEx1MU9sMDZ2UzdmYnA5dnBhZTN2QjRTUlR4ajV4
RkdvCkFZOGloSXhTNExXMml6UUt1bmhwZzVlUHIzRHE3QWFkYmxTVWtGc0IvZ280YjgwdTZGdG5t
L2FEN1lLZkNNQzQ4QzhWZ0VQM3NiODEKcDl1N2toVTdDMU1QRjJpK0dCbm5GL1h3UGZQRDQ1eDU3
Y29tbXArQlB6VmQ0azF2bjJQUHZxb1JxRHo0d29DdjI3Rmt3aHBTSUlUZwppVzlrbWIvcDZXbXEx
U3AvL0pVdjArbDArWlYvOUVtSWZBMitLMUNFK04wKzdhNEdmbU9qVGJ2YnBkUHRhZSsvMjZQZjlm
R0RIa0hZCjE1b2Y2YXlmQmx3ZzR0Q0FydGN4cksvM09YbG1sVmRQckhEeGNyY3dEVnV1RWtjQlI0
Mm52NVFiWXRHM1BQNUVFTUtyQVQvUEFFN08KL3RzaFlQT3V0N0xMWHNjeE8zRS90ZEt1OFhGK3Zw
bkRXckVqVmN6bFM4czgrY1N4TGRQK3JqMVZIbnJQQW8wSk1vR1NwdkZqQlBqUwpDRkFzOWVjOTlv
ZVpiZDI5ZXplKzd4T0dJVi8rdzMvSCt2b0d2L2FydndCUmdDTEM3L1ZvOTlxME43cTAyMTNhM1E3
dFRrL0gvcjBlCnZXNFBQOUNKbnlnT3RLMlhHZmpLMEh3c1lzNmVYZVBvaVN1Y09yTkdFSWdoMEtz
TnVQbE8ySHNMTEY4aWVQYWJkS3lwSnNrMGsvd0EKQzF2em8rMkNid3RBUHYxYnRwZDV6UzZ3ZU0v
Yk11Y1BZSzc1Rmx5blBGaXl6Y2Y1K2R4K3JwNy8xQlBIQ2NOb2hNTTNDUDd1RzJvOAovUDdkbE1y
SzB2eTRnUGFGYVNiSmFGOUlYZFE1Y3lMZzRoa2QrNWZMWlZxdEZyN3Y0L3MrL1g2ZmYvdnYvZzlX
VjliNEYvLzczNmUvCnZrSm5vOHRHcDBPNzNhUFQ3ZEx1OUdodmRPaDJPM1RiWGZwQmx5RHdkY0hI
T0hpNjJVUXZHVjlaNzNEc3hCVmVQYkhDMGtwdk9PWHEKd09KTnNQc21tRjZBU2czS0ZkamJvUDdx
VXpSNkd5bG8rUmxHWVc2Y2pUM1Z6S3BUandlL3lBU1VDdGIwMTI4NnhLSTluS0ZhbW1lbQplUzg0
TGxJR1c0L3pyY0xPcVJNWE9IbjgwbkNHendMTzF2eDNQTEtiVWxrT3RIb1YwLzR3K0VwS2hKTDh3
ZTlzcEY5OFptYUdPSTRKCmdnRGY5M1Uycjl2bFgzN3hDNnl1clBHRjMvNUYydDArN1k0QnZ0MDJZ
VitIYnE5RDM5ZmFIL1I5SGNjYjhQMSt5S216eTd4ODdCS24KejYwVHgzTG9wdGNhc0hnQTV2WkNw
UXBsQTN5bEN1VXFsS3E0YzN1WU5BS1FlS2IyVENQYjN1YzFmOHZnNXdWZzVDaVhnM2RrelI0bwpt
S3pkUXRscm1UazRXNC96RXlhSW80RGp4eTRTUmRGd1BKOER2ekhoOGVDN2RsR3BLcXZieC80N1lz
RGhrOVo3WTVIMUEwUnh6SWtqCm1hTTFOVFZGdjk5UHRiL1Q2ZERwZEZCSzhZZC85Ry9ZNkd6d1Qv
N3hmME43UXp0LzNZMHUzVzZiYm4rRGZxK1A3L2NKQXAzTWlVWEkKeFl0ckhEMTJtV01ubDlobys4
UGROUjdzdmhGbUY2RmFCOWNGcjZTUFVra0xRTmtJUTZrQ3UyNWc0c3pMNldoYW1UTUZzV1h2bzl3
TQp3eTJEYnd0QVBnazBNTDNyNWp1WXNqK3FXYjBSejYybEN5dTNFdWRuYlZ3UmErdHRYajE2UG1m
bjFWQ2M3N2lTKzkrK2k0a3BKNlg5CnJJWXd4dUZMYUY5SkpCSXBKVTk5S3dPbFZxdmh1aTY5WG85
K3YwK3YxMHZCVDM2Kzl0aFg2SFk2L01xdi9BMTYzUTJqOVIzOG5xSDkKTUtEZDdmRHlxeGM1K3Nv
bHpsNVlROHJoZTkyWWhCdHVnYWs1VGZtT1VUZlhCYmVrRDY4RVhobThTaVlJaXpkVHQxcnppdVli
MnFCZgpGZmhGWWFDWFgrYy9OY1BjclhjeFlXZi9KbXUzNGpvVll0bmRVcHlmWDdGejh0Z2xiZnVI
OHZ1RGNmNE5OOWJaZDZCdVBtZHpiMThxCjdmY0kweXNna0FnaDhYdUNQLzAvTTQrNzJXeW10aito
L3FLZmIzM25QOUxwYlBENWYvQWUvRjZid084UmhEMk9uN3JFYzgrZjRkV1QKbCtsMGc2SDNWYXFH
NHZkb1FIRXM4TTNkZGx6d1BQQXNRU2lWb0dUTXdONkROQnFUVFBiYUtVUExFWE1PcnhyOFBBUGt4
N1NXZ2NyOApIbWJ0YVZ5TnlsNnE1WGt6bkNFWC80OVlxNWNzN1pZcUloYVJ0djFLREdmNUxPZlBL
OE45RDg1WWJMSTU3WU5NTlY4b3JmbEJUL0Q0Cll6NnJTOW9XdTY1THVWeW0yKzJtMmovdTU4bW52
OGR2L21hWHYvV3hReno5N0NzODljd1p6bDlhTFh4dHN3VTNIWWFwMmN6Snd6VTIKTmpjRDNYRzBX
WEJjelFhT1k1akFnN0ptQTdjMXoyU3ZQYkN4bDJKNDJya3RBTnNDZjFRZXdCYUE4c0plV3ZZblR0
UnV4WFByV1VoWApwUG01Tmk1cDlmcDEybDJXTG0rTTFYeUY1TWFEa3pRbW5RSnZmK3UwNzNjRlQz
MHI0SVVud2t3N0s1WFU4ZXYzKzF1NlNTKzk4aHkvCi9sc3ZFc2ZENFZ1cERKTXpEczJXWXVFR3FK
dWxoSTZiMGIyalFEa1oxU28wNkRqZ21Cbm55V1BQQTZlay9ZRFdMaVl1bkJ5YWUxdzAKemw0V3pN
Rml1d3hRS0FTNzltU3Qza3JCUlBVbVBMZUtrRUh4RXUzY3F0MTg2L2FGOHl1NnVjTUd2YUN3cys5
QUxjMG1qb3Z6azljWApnZi8wZHdLV0x3dE92UnhuenBpeC9VRVFiR3RkdkEyKzQ4RGtERFNtSENy
VlpKR29yaG1WeWhyOGdmNTZoNEZCVk9uYVVzZGFidUFZCkVGeGpGaHlZV2FEQjhOamIvUGlrcXdZ
Lzd3UGtKMjU3UUdsdWtibzlBYVZlMllOTFNVY0Ftd3huS0ZxMHNiclVMZ3oxN09UUDFMVEgKNUt3
N05yMDdyUGtLYVV4QTBCYzg4MWNCUzVjRXE1Y0ZRVitsNE1keFRCaUdWelVWbzF5RjZYbUgrbVFH
ckpQT0J0QjFvMUxGb25rRApybElhMEdTdlhxVUdFWFRNWUNycFpQNkI2MEZyZ1JyRjA4K2RxNlg4
Y1NhQUFnSHdaaGVvMmt2aGF1VjVIS2VjT1hZajR2emloWm9oCnk4dnRzWnF2bEdSNlY0MWFYVzJi
OW9VVStGM0pVOS9XbXErazRvVWZEdWJZdHd0K3VRTDdEem5VSjZDM29hazg5ZVVzOEJNbDhYSWQK
RmtvYUJwQWFWR1ZtRU5yUVNWTnR0bmNqY0Z5WW1xWEM4RTRvdHR4YzgwL2VCOGh2MU9DMVpyUDhQ
MHAzL2pxT2cxVGhtTWtjSTVacgp5WmhPdTc5cE04ZFV5OTBDK0hJRStMNEdYeWtDWDlKZXphUlhT
cm5sRzlPYWcwTnZkcGpacGUrMjN3Ry9aOTk2bFFLZjBqeVpBSmpXClFoelhBTzRhRmxXV0NxdXMy
cHcwSUNuTFBFek1wUHNpNUlkdGo5b1doNnMxQVVVTFFsekFtMmlsRGFwbXlWZk5MSTRKQnpSLzdJ
b2QKR1NLVllHVzViYnA2Unpkek9JNmkybUJyNlYzTDVnZjl6T1lycWR1NlZpN0xiZDJNNWhRY3V0
OWg3MEdqclRJRFVqVTF1TWs2UWNjbQpZaXRkNDdxWm5VLzdTMndmd0x3dVhXU0VYbHdza3ZZRE0y
cElPZERVSzZ4dC80eWRBbjZVQ2NpdkM2VFJ4TE56QUs1VDFqZDlUSnlmCmdtOGVDeE1DUmxGZyt2
bEh0M0dWS2xDZmNNYkUrVEtOODIzd24vcVd0dm02OVV2ZjNabGRXN3RQQy92Z3JlOXphYzBwUkdR
cXdyRmgKWkpscHRsZENKM3ZVWUZpblZBYVA0MlpDb1F6NFVtV2ZoVFR1dXdIYnhaZ0FrWm1DWkNS
QnBaSHVnK1FVMEg2UmFiZ21Cc2lEN3dCTwpwYXEvV3JKR1V1Ymkva0hhejYvVlN6eDRjMDFTSHRa
QUZyS0FVbVpkdlJvYjV3K0VldDhlMVB4a0JrKzVDcmZjN1hIOGhlSHdiWElHCkh2cWd3ODEzT2tn
SlVXRDZQM1FucHRaa05YaTRya0hTQmxsbDNqeFdwaytLWE9DdXNqV2xacm1pSmcycGhTWnBQa29P
cWYyUHJleUcKeGs0S3dQQkFMQXQ4QlVTeXExZXRGRTdqaW9kc3ZyVDhoS1JmRUJ2MElVRUFxZlJB
aGF5L1lIU2NuNmY5ZkVSMDg1ME9lMjh1Y2ZhRQpaUDJLWW5JVzVoY2RwbmZEalljY1NtVkZGT3BV
YklKazR0R25nNk9WMW56WHN6UytDSHpEQUVxWTFKM0tnRS9CdDJ5K1NzQTNtaS9zCmxXaUsxK1du
VklEM2dPQ0dQckxXd0V0K0VjVWJlRzRWY0Fyai9BejhRZUNsMG5WeFBXaGhmUGR1SENjalZVYkgr
WW5OSDZSOTBzOUkKcmxGUXFTb08zTzRnYjNPUVNpRUY5TnB3N0RuRndidWhXa3VFWEJ0Z3h6aGp5
VXB3VFgwbW5adUFiTmwrVzBIc3FlT0pENkNFZFJaVwptNkh1UWtkNm1mMVBmQVNsSUFvTDl5N2NV
ZEZ3R2IxVHBnTG9kUmpvVUF1aVpXTFpINmI2QXZDVFF5ajlYTFdxNytxNEVEQUlCTDJ1CnFTS21t
aDhQZ04vdnhqejVUUXQ4YTN4YjVteXAxR0hMdm1EbWdqdEEwRmNjZjE3aCsrQjVTaGRtUE0wR3Jt
ZXVTMXJ6WlpqWmVHVjkKeGtCY1p1Nm1sSVBnQzBzSWhEQU9uMjN6WmVZVDJFZ0VQVVFSSmdWcDRX
c1NnS0lQVEFzUDdRMWkrdzM5NkFxeDZBMzIrVm5lZnBIbQpKeXhSbndEWEhkTzNiNTdyZHJMS1g1
cmJSMS8zdS9HZ3piZTBQZG0vWXdqODVIb2diTlBhSHZUaDJET0t2aDdzcVE5VHFIRTlwYXQyCkxn
UytCYlREOEo0RjZQY2tnQXFoSGNsVUNDemcwMnNiL0p3bjVnQzlqWUY5QytWT2dUNktBWXAyemhU
cnkwUzJoUGpSWlNMVEJWd1UKNXc5b3ZkRjhLYk1wWGZVSnQzaTVscElwZUJ0cmNhSERGL1Jrb2Mx
UEFGZUdoNVZSSlpWY0crRVljR2pzNUZBQUoxN1FvK0VkTnpuVQpRRDYvM3htMitjcnlFUko3YnZl
VVNoTk41TUVmc1BsVzZPYzRXUTFCQVozMW9WcS92ZWZoamdoQzNnUU1sUnhYcnhEWXQ2d2JYTkJM
CndJYmkvSGh3SkV0K2hJdVoyRFU1NVJaNC90bGpVS3d0UlhUYTBRRDRrUy80NjIvNG12WUh2SDJW
QXM2QS9TY1RBb2ZoSFNlc0JBNk8KMXZBVHo0UGYxUmsrdTNidkFOMTJMcWR2MjN5andhNW53STB6
QmhCV2lHZGZKNzVBTW9na0FkOTFzbWlpdlpMdVZ4am53Tjl4RTFDMApvNllBNHFXTDlPMWlVQys4
b1BzQWtqamZhTDVJeDdJWnNIT2FuOVR6WjNkN3c3U1B0WFFMeWNaYXpOcFNsSUt2bENBS0ZDSlox
bTFiCmRhV0diYjRFcjZ5NDVSNkhac3VhNUs3VUlBbmtqSGpRaHhNdnFIU2ZnT1ExblEwdEdNbXRs
N21pYkJMWGw4ckQ0SXZZSElrUXhJTXMKWUtkK1BhczhETEN4UkwrZytjUGUxM2pIVElBc2FEMktn
ZWpLQlRwMk1hZ2ZYaVNNMWkwbkx4NjRWa08xZXoyY0tXR0c2VGtYMTFPRgptbzhSQkpUaTlJbVFX
Q1R6ZFJYVkNjV2JIeTdSMnNVZ3ZlZkJWK0NXRllmZjRuRERyWERIV3gxcWpjeEhTSGhPT1prelo3
T0QzNGNUCnowR3ZreVZ2MXBjZ2pnZTkvSUc0M2pCQXVUSmU4MU83YnpOQVVnazBCU0RYU3MydFhx
WlQwT3BkMVB5eFl6N0FBUGhBZE9VYzYzWXgKU0VsSkw3eG9IRUV4bVByTmFiNDlxRkdZc202NXFw
amJYUnJ3QWJKOTl4SjdyVGgvS21MdFNveVN1c3FuaEtUU2hQdmU0ZEdhYzRhYwp2d1I4eDFQYzhZ
REQzQjU5c3h1VGNOY0R1aEV6MlF4S0ZaVlZISlZqQXEzMWdROXJseTFiUHlLdTkxeWRlSklqdEQw
QlA0MEFrakNRCnJEM01LMldDNERpd2RvbDFxeEcwU0FqVVRqS0FLQkNBY09raUsvMnVDVWRVNGdn
dUVabElvTmpteDJrYlY5ck9aYTBhM25Oak9hWDkKZFBxR0JYN3kvQ3ZQaHFhelI0K0dBRVd0RG5j
LzVESTFhMm0rT1h0bHVQdHREbk9MNllBUHBGQTBKdUh3Vy9WNlFidVFtdVg2MVFDNApLQWg2Y1BK
RnVQaWFkaExUT0wwQWZDV2hVamQ3RFcwRmZFdjdiZnAzdlV3SXdnQ3h0c1RLbUo3L0hXTUFDb1Fn
WFluU1htUDV4RXQwCjdLM1kvSENGV0hRR2VnSEdhMzRtSUVMR3pDKzZWT3UyNXNzQjhKWHhxaTZm
MTgwY3lWeGVKZlJhdi9vRTNQdE9qNm01VFBPOU10engKQU16c2RySTRYT2pmU2FBeG9iajl6Ym9q
MTZieWdYZ3VsOFRwZDJIbHd1YmdLNlVMU1Z2Vi9PVEFWQXM5cXpFMGFSTTdmNHhPYnlQZAp6VFFj
MGYyN296NkF0TUMzRnlJRUo0K3dZVHVDb1ZqSGo1WVFNdHBFOCtNQnpVK0tPUFVKV054ZkdxQjlY
V0NTS2ZoNkpvL2kxZWNpCk5sWWtTdWloVHFCSHZGUnFpbnZlN2pJMXE5MzB3MitGMmQyT0h2OWln
NjlBeEhwTWEzMFNEcjNaWlA0U3piZHo4R293STVlQ3ZBbjQKbFpweEFMZWcrUVBPSDFsN2VLbGl0
TCtrNmYvaUNkcTV4WjZSSlFRN0ZncmFQa0IrVStWazVZbC82bVdXR1hDQUpHMy9ERUw2MlREbQp0
RHRvME9ZblZiM0VvWk5LRDErNDhiWXlYaWxQK3d5QXIxQ0V2dUxJRXhIOW5qUnBYR1hxK29wcVRX
djltOS9qTUxlWUF6OUp5TVFxCkJWWks3UXZjZWg5VWFvTzBQd0MrM0RyNFNzTEVkQWIwcHVEYnpw
K3g5MTVaSDZXeURnTWRCODZmWURtMzFqOHFXUGExNDA1Z2JDMDYKQ0pMRmlLZVBjWEZqTmNzSUtx
QWZYaUlTM1hTbWI5N2J6K3I1Wmt1V2RLTW5IZFpOemNLZUcwc0ROajhWaGx5Y3YzSkY4dXozWW9L
ZQpUQ2Q0NnFuYmttb0RKcWJWRVBoQ3FpSHdFd0JxVGNVdGQrdjI3VUxOVjFzSHYxTFh6dDlXTlQ5
TitaS0JYemJyQWR5U2JoTHRkWWd2Cm5lYWl0ZXc3eUVVRE8rb0VVbUQvRXdib0EvM1Z5MXg4OGE5
WnM5TW9nVmluRjF6TWR0MGFvZm1hOWdjZHdjUVUzSFpmaVZKWkRkRisKVVp5L2NsSHkxTGRqMWxj
VVFpakxjVk9ETmovWmpFRlFDTDQwdjZzMTRlYTc5VXFjcTZIOXBOVnJvalhzL0kwQ1ArMzRVVmti
ZUFLKwpWOWFQSFE5T3ZjQmFlemtWZ0g2QkNSQzVadEFkY1FKVkFRTWtXNmgzano3RmxZRlNvUWtI
RTRmUHp2c1BhMzV4UGIvYVVCeCtjNmtRCi9LSTRmMk5GOGZRM0plZFBTZUxZZ0prRDM3N1JBK0RM
RFB3a05xL1c0ZWE3dEEzZkx2aEppRm11YmcvOHBJcm9lcHJ5elZwQUxRUW0KQW5qdENFdG1DRVF2
dHdJNHdVZnR0Qk9vY2s1Z2FObWZIdEE5OWdKbjFwZUo3RlI2UDd5TUh5NWJEU0ZtYVpqUmZMbEpQ
UjhsdWVHQQp4NjRiblBIZ1czRitHQ2lPL0VEeDRnOGtxMWR5M3I2WnkxK28rV0lRZkdtMVlWVnEy
d2NmOVB1MkNyNjBQdDl4ak0ydjZNK28xREluCnNOY21PdnN5WjZ3SklIay9ZRWZ6QUY2dUd5aFpF
K0RsVndqMzJyanplOWgvNFBac05LeFVFc2R4S1h0VFE3UXZjK3Y4aXNCWFVxRmMKU1d2ZTRjb0ZR
Umd3TnNPWDV0K0I3Z1pjUGd1ZE5ZV01ITlBRb1ViVHZzekFqeU5ZdmF6ZmYrR0U3dmJkRHZqSnRk
OHpiZUJxRS9CRgo5cjg3am41UHJRbU5LZTFBTmxwUW45QnM4TklQV0Q3eVhaNEVycURIdzZ3QmJj
TUlOaFBzaUFrbzVYSmkrV0VFOWpTS3puUGY0OXk3Ci8ydDIyeEZCTDdwQ3BUUk55YTJudEQ4SXZr
Z0J6M0w3TXMzd1NhbW9OaFIzdjYzRWs5OE1DZnhpelUrcWZTbU5LaENSNHZJWnVIeGEKTjVMV0ov
VHlyRnBUcjdQVGRYaHRHc0lBT3VzNnhkdFowNGtlRVcvUDRaTzVheUYwbm1CcXp1cnNLUURmMW56
WHphaS9Xb2RLSXdzagpYUStPUDgwNUE3Zzk4eS9JUlFFN1ZnN09DMEErRWtoTVFBZG92L29jcno3
M2ZRN2F3eUtVQ09tSGwybFc5dzVvdnQzQW1kVHpiYzJYClNLUXdtektnYU0zQ1hROTZQUGU5bUNn
czBIeGwxZllMc25lOWpxN1lYVGx2RldtUzE4amN3Szl4b2Q4V3dVK3VZd0dybDNTUG9kM2UKbGZm
OGsyWVN6eXdBcmRhaDJ0VG5jbFdiaEpQUHNYYm1LSzlhR3QrejZEOGZBYkRUVG1BK0daU0VINGtB
YkVRQnkwLytKZWZKbGRXRAphQlUvV3MrV2VJOW80RXoyM3N2QXp6SjhVaW5tOWpyYy9aQkx1VHJv
Q3lqR2c2OFk5dUtGUmZzRGJWaFhDLzRZQVlvaldGdUMwQjhHClAvWDhFOGV2b2hOUjFhWm1xbXJk
aElBZXZQUURMc1FoeThDR0pRQ0J4UUQ1SkJBNzdRTTRJMVlMcC83QTZqTHUvdHZZTzc5STFmWUYK
RkVLdkdZQ1JEbDhlZkdWMlVCUkpUVUFxYWhPSzZRV0gxU3M2Q1RSUWQ3ZkJsNE0xZVpYUDdZOEQr
MnJBSC9VWjFuUGxhbEovR0FRLwpvZjV5QldyR1RFM09hdnRmbjlTNWhMTXZzL0dEUCtmSk9PUU1l
akRVaXJIL25ad1p1QzRNUUVGRFNKUUxCZHZBUm0rRDg5Ly9qNXkxCmUrSVZFTVp0Z21oTmc2OEcr
L2FUa3U0QTdSdlVoSlhlbGNheG1HakIvZTl5bU52ci9NakJUNzdqT1BDVHBlR3V1MG5NWDlXWnlQ
cUUKUHFwTm5ZeHlQWGp4Y2M3NUhjNGI3Vy9uUXNDb29DR0VuV1lBbXduc3BVajVvUkdWbFV2SWhS
dFlYTHlSK2tDWG9vcHgzRElPcmxrMgpYcXo1aVNrWUFGOG0xeHBFeDlVTE5yeVNkdHJpNlBVRkgy
QmlSaGQ1Z3A1MitFYUNQMlYxQThtQ1dyK25IYjM2cE5iNnlWbnRNOVFuCnRBQWNmNWJWSjc3R0V5
TG1iSUgySjRJUVhROGZ3Q3NBM3hteFhqQWRJQlZIdUg2ZnFmdmZ6YUxyWm4wMXdxemxkNXlTV2Z0
bUpuUnYKQXI1U0dmaFN5bFFJcElUSmFZZld2S25PdFEwUTF4bjgrb1QyN090TjdiaVZLcm8zSUov
T2RjYUJyeXp3cTlyZU42ZGhjazRMUUdOSwoyMyt2aFByMkgzRjArUnd2bXREdkNyQUtyRnVSUUhn
OXdCL0ZBTFo1S0JvZFV3WXFWODdUcjlSWXVPVXVQVDhvNmFzUVNpZXFYS2RrCnZIQnBObWpJV3Jk
SGFYNlN6MC9UdSthNWNnVm1Gb3dnbUJ6QUFHaHFrOExPRnNHdk4vVzR0bVpMZzVja2VWQ0RRckNw
NWx1NS9uSlYKendCc3RyVFdUeG5iWDV2UXJQRGsxN253N0RmNExub2U4SlVDN1ErdWwvYVBNd0hP
Sms2aEI1UlhyK0R0djVXRjZRVXFkcitBamdSMAozRFBROXlmR2FiNUtkL093d2M5VzBpaEtGWmpl
QmZNMzZBWUtuWGhSbUdVRDJ3WS9hY1NZbUliWjNUcTE2M3JGaFoyazV5RG82L2MyClcrUEJUNWlq
V29mNmxLSDlPVVA5azFvb0xwMmk4NzJ2OGt5L3cwbjBOUEJsby8wYnI0ZjJqeE9BY1pHQmExaWcx
TjBnOW50TXZ1bGgKZG1QMTNFdGw5cnhWRGs3U2dpTUg2L2w1elUrcmVRWGc1OU83amluQ3pPOVZ0
T2FnTWFHTE9wWGE0T2cxcjJMT1pUTjd4MmhqcmFIdAplMnNPV3ZNNkxJUE5TN3BKNzMrNU9ocjha
RWw0cVd6QW45Ui9hOHFpL2xwRC8vNWJmOFRMWjEvbUdhUDlTMFlBYkNmUTF2N3JzbGhzCm5Ba1k1
dzhrUXlXOWk2ZnA0akovMjcyMEJsbkFKQllkSjEwT3JWTE5sK2tObDFKYW1xbzJCVCtmM25WZEhV
Wk5UR3Z0YXMxRGE1ZG0KaWdUZ3FkbU1laFB2dTF3Mml6ampyYmR4U1pHMWhnOFVuZ3JBcjlRMG8w
eE1aK0EzazVSdkRYN3c1NXg5NXYvamNmUU9JRmVNQUt4WgoydTlmajl6L1ZnWEF5ZjJ4SWtGSXpj
S2xzOFN0R2ViMzNFd2p2OVJRQ3BHc3BqZk9tN1EwWFJwS0hxWjlJZFRBRXFzTS9NRUVUNzZ3Ck13
cEFZUU5jMExlLzFYcStuVlFxcFAyeTVmRWJtejg1cHgzQStxVCszYXRQc3ZLRC80ZS9qbnhlczhC
ZnRSSkFkdlpQN0hUb2R6VU0Ka0E4UEJ3UWg3Qk12WDhSYlBNRGM5RHlWZk1ldDlnR3NoWlBDWkFT
M0RUN2p3WThMbnQ4RS9QeUtIUkVQTCtBb1N1OXVCbjZ6Wlpobgp6aFI4SnJWSnVIU0t6bmYvaE9k
V0wzSFVvdjdFNngrVjlGRmovRFBuZWdsQTRjQ0lFVUxoYnF6U1cxdWlkdFB0ekRhbktEbjVwY1pL
ClpXTlJrcEFOTzFldnIwZUNYMURQTHdSL201by9ybSsvVU9qTXNpKzdxemROOGRhSGFYOWlPclA3
N1RXQzczeUZvK2RlNFZrTC9DS3YKUHk1byszSkdDQUhYSWhEZUZzRWZ4dzVwdUxoOGdmYkdLbzFi
N21LMlVzK0dTeWJUTkpKMkxxV2NnVUpORXNibDA2NUZuVHlqTkh5NwptcjlkMmg4QTM1cmprenFY
OVN6UmsycitqSW4zR3hENnhOLzVZNDRkZTRvblIyaCtVdmZQOS80N0JlenJiRUV4dHlRTTNoWUZ4
ZG5xCitkSnAxamRXYWQ1eUR6UGxhcFpxVmxhRkxuMkx4UUtKZmM4UFRTcXE1Ny9lTmovdDVMWFg4
Wm4wYnNWRUZ2VXB5OXVmeXpTLzBvQTQKUm56blAzRGlwZS94dzV6V2J4UlUvTVFtRVppYnk5R01F
d2cyRXdSdkcyeFJOS2d3djc0R2dBdW5XRjFmcG5IekhVeFg2M2hKVmt4WgowcEJXOFpMaWljcUhn
UmJ0VzZ0c0N6WC9lb0l2czNVQ2lhMTMzYXlicDliTWlqdXB0NS9ZL0FaRVB2RjMvb2hUTHo3TzAx
YWN2MjVDCnZTSjdiMDhEcy9NdVh1NTVMeWNJdG1DTUMrbXZpUUhHL1F5VUJTNmNZbVgxTXRXOUIy
azFweWlsUzZzZHV3bFJZZVk3RHlSc2txMzcKVkJJTzdwRG1iOWZoVXpid1ZnOS91VEpJK1pNekp0
R1RoSHFtd3RkWkkveXJyL0Rha2UveWZNN0w3MW5kUFNMWGtXVm5YUE5IeVRvUwo0Y2lINXpackZB
SHZYQzBEakFKOTFOUUtkZWswcTFmT1Vaclp6ZFRNTGgwZEZLM1VWc1l2U0hJRE9tT25zbTdiaEJY
R1JRRlhBZjZRClo1K3ZDNUN0MjArQXI5Uk5TZGUwYzAzT21WRFBKSG1TT1AvS2FmcmYvYjg0ODhx
VHZHTEY5amJkaTV6R0o4QldzVWIxVzBmRktzaU4KRW9nOEV6aWJtUUx2R3NFdkF0NWV2U3FYTDdC
Ni9qaXkybUJpejAwMDdCVzVUcEhsc2xxK2hxS0JFZUhnZHNFZkN1V0tSclE0MmFTUQpoTzZyVFUz
dHpaYTI5MGxxTjZucjF4cFFxc0dKcCtsODcwODVlL3BvdXM5ZjM5SjRsUVBlM3B3ajJhZXBSclps
bi8xOFhpQXFPVUh3ClJnZ0NPK0VEYkpVTmxDWGRBcER0VlRaT3ZVUW44R2tjdUl0V09qNDlCMzQy
Z3BYQkpsQTVQSERKcnN5SlhQdVZMSmpHTWRTZG13TTkKYitPVDVWcVZ1cmJ6ZGFQMXplbU03aWVO
bDErYk1KVzlDano1RjZ6OTRQL203Tko1bGhqYzAwZGEzOWJlbTlIZW43RXg0cWpuamxvQgpNK1FG
WVp3WlNQMjJxeEdBZklqUENPMGZHRFVUK3ZST3ZNREZ5NmZ4V3ZNMHArZXAyQ1RscU15N1ZyYUFE
SmlKNFdPZzEwOFdPSENpCm9GQWtjNTZSYTJtNzFiQ1pBTitZMHJXSGlabE00NXRKV3JtdTJXSHBI
TkhqZjhMS0R4L2pmTkNuVjVERHQ1MjZLcmxkMlN5d205YXgKVlVISXMwSGVIeGpKM3FXcjFIVEhr
dWk0d0I4WXRkalVmLzY3K0JkZjQvSmJIK0dPZC80TWUxMVB6MXgydk94ZkxaR05YTGZuNXFTSApP
emlnV1Vsd1ZUYVowLzdhQSs5SjdvbzlwajFab20xbTkzdjJjcTFxMXJkZmFaaEd6cm9wUEpsR1R0
ZUZaNzVGNzRWdnNYSDVOQnRrCm95UVRvQjNydW1pUG4vejBEMW53dTVqaFBZTUdGdkF5dktWYzN6
SUp6dURDZUdUeTFhL0ZCRGdGREpCdk1DMmNPOUJyczNIc1djNmYKUFlZcWw2a3U3S2Z1V1BQS1U3
QmNEWXByd0VrV1U3cTJVRml2ZDZ6NU9nbWQyNit4dGJ4a2JkSmthM3Q5MGxDOW9mdUpsdTdiYjA0
WgpPOS9VWnFGVWdkZU9FUDNWbjlMOTRXT3NkOWNKY3pUdjVub3FLNVp0citXMDJ0YjQ1Z2hXc0Yv
ZnNIeUZQQVBrdFYrTk9DQTNLK05xCmhZQ0N6cUV5dVoxSGdVbGdDcGdHV3NBc01GMXJzT2Z3QTl6
NTV2ZXc3K0I5cHJuRWhHQko1aTIyMHJ3aWhpZ0NFV1huT05TZHVWR28KWHh1SDJXdnpucjNOQ09u
R1RaN1pyNmVTYVg5eUxpVkhPWnZpY2U0WTR1VWZFQjU5QXIvZlRvRzNWKzZPbXV3bEN4UkVGVHcz
YW4rZwovSzVoOW5heWZhdURPem1TOVFVZGl4bnNIa094RTNObm5SRlNYODVKZmJJTCtZUVJBUHVZ
Ymt5eTk3YjdPWFR2TzloNyt3Tk1TMnVxCnRtM2ZiVzlmV0dDbndoQlo0SnZYRDhUenlYNDlaaWlr
NDFrOUE2WEJZUTNKZFRJLzhNeFJ4Q3RQRXIvNkpGRm5kV2lHbjl3RWFITG4KVVpHVFl2d0dVUkdE
K3dmYSt3aDNyWDZDRGV1Nm5ZdEdndVF6ZDNMdzhLWXQ1VGtuWjlJU2hpbHp0TW9WNWc3Y3hXMjN2
NFViN25pUQoyWWtaeW9tOXRpZHZ5cHkzbjA3anlsVUVoNXcrUy91ZGtwN3RrNEpjMHViRkxXVm13
KytpVGo2UFBQa2M0dml6eEdHL1VIUFZObzlSCm9iUEtDWkROSkVVTVlBdEFvdWtKOE92bTJMRHFE
YjM4T3NNZG5UeGRVTGp3TE04MHZ4OXhJZ3dKS3lRQ01aVmN6KzVtMzQxM3NQL1cKKzFnNGVDK3R4
cVRPS05ydFhTTHYvZWVmenpkU3VZT09aRElaMUhZMCt6M1V1VmRRWjQ0aVQ3K0V1SHg2b0RLM0dh
Q2JYYlBKWjQwVApBREZDQUhxV0FDU2dyMW4xaG5Xcnk2aHZoYWJ4VGd0QTNpOFl1eU5wUVJoa0M4
U0ViVFphOHl6dXVabkZ2YmN3ZjhPdFRPNjdsV2E1CmhqdllHWnlsa3BORWtsMklzbzJWN2YzSEVW
eDZEWG5wRlBMQ1NYMnNuQjhDZlJ5QTQvYndLZHJVNlQ5ckFTaGlBNWZCdlluTE9VYW8KNVpnaGZ3
eDV4czBXYzdPN21adFpZR3Bta1dackY3WEpHY3JOYVVxMUptNmxobHZXbVFhaUFCWDRxSDRIMWQx
QWRWZFI3UlhrMmhYawp5aVhrNmtYa3huTGhZR2ExeGVkZy9FQm5OaEdpLzJ4TXdGYllvRWdRS3Js
MFp6NFZtb1JLK2JNZEdpVkNsSHhXdWFDS3RwWE5GN1lDCnNoeFRGV1ViZ3ZRamR3SkwxMWtBaW02
WXcvQm15SWswOTYyNHRsckFFRVVwMDJaT1dHcTVGR2twVnpWek5zbVNqYXR6T0d3eVhuOGIKZ2lC
SFVQOU9oWUc5WEEyaWNNRFU5UmFBb3V5aFk5R2JaMzI1MFB3L1FTNVhucStLMllrVVd5Q1M2K1Ex
UldYVWNkV3lVZjBOZWVDYwpNV0NQZTV6UGxJNUtuNnVDVE9BNEFRaXNicUsrVlhYc1drSmdUeGti
aUdJY1h2OGZaOUFuSDJvNTkzSkZqWHdadE1odnFPV09xbVVHClNqbHpVQ1FFRk5jbEIvNW5lWTBz
V0VUN2pOSDhuVWdGOTYzblF3cm1EUHdvQkdCY0VtblUrb09TRlVyYWZrTWxaL3RyQlJXeThpWTEK
OHlKQlVLT3FaeU44QitjcUJhQm9yd2ExaVFERU9UWUljMGVRTy9MQUQwd2IvVkVMd0RoV0tGcURZ
R3R6dVVBZ1JqVk1sQXRhcWhqRApCS05ZSVY5ZVZWdG92dHdzK1NOSDFFOWt6bGNxTWdkeHppbU1j
c1UzbXpHS2lrNzh1QWdBbS9TeGpkemIyQUs0Tk9id3R0RlltVytwCllnc2ROdHRoQU1aa0VzVVlS
MUFXMUJxS1dDRWVJVEN5S0d2NTR5Z0FtN0ZESGp3dlp5N3l6WlNqZ1BjWTBkNCtBdlJ4Q3pLMkln
QnMKa3Z3WnhRYWpmSU54d2pHcUNEV1V3ZnhKRUlCUkNhWlJheGR0bG5ER1VIN2U1eWdTaG5IQWIy
Y2p4KzJtZ291RVFZMG9PSWt4VlVZNQpKbTNOVDZvQWpESVRqQUZ2SE1DYm1ZQ3QwcjZ6aWZhemhW
cUIzRVFvMUpoS1l0RnpqTWxiL0VRTHdDaEJnTzB2b2Ryc09iYW85VnNSCmdNMVN5R29NUzJ6M09U
YkpWd0R3L3dObnFLb3dFeGsvdFFBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>
<flag name="review"
          id="20726"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40143</attachid>
            <date>2009-09-25 14:16:45 -0700</date>
            <delta_ts>2009-10-09 16:07:20 -0700</delta_ts>
            <desc>Updated QWebElement::render implementation with API autotest</desc>
            <filename>QWebElement_render_with_test.diff</filename>
            <type>text/plain</type>
            <size>27654</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMDktMjIgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlCisgICAgICAgIGVsZW1lbnQuCisKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnJlbmRlcik6
CisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1l
bnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6cmVuZGVy
KToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZWxlbWVudC9xd2ViZWxlbWVudC5xcmM6CisgICAgICAg
ICogdGVzdHMvcXdlYmVsZW1lbnQvaW1hZ2UucG5nOiBBZGRlZC4KKwogMjAwOS0wOS0xMCAgU2lt
b24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNjIp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTIgKzMwLDE0IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZy
YWdtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgog
I2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUHJvcGVydHlOYW1lQXJyYXkuaCIKKyNp
bmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdEZ1bmN0aW9uQ2FsbC5oIgog
I2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCiAjaW5jbHVkZSAicXRfcnVudGltZS5oIgpAQCAt
NDUsNiArNDcsOCBAQAogI2luY2x1ZGUgPHBhcnNlci9Tb3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCisjaW5jbHVkZSA8UVBhaW50ZXI+CisKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBjbGFzcyBRV2ViRWxlbWVudFByaXZhdGUgewpAQCAtMTY3NCwzICsxNjc4LDUy
IEBAIHZvaWQgUVdlYkVsZW1lbnQ6OnJlcGxhY2UoY29uc3QgUVN0cmluZyAKICAgICBSZXR1cm5z
IHRydWUgaWYgdGhpcyBlbGVtZW50IHBvaW50cyB0byBhIGRpZmZlcmVudCB1bmRlcmx5aW5nIERP
TSBvYmplY3QKICAgICB0aGFuIFxhIG87IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogKi8KKwor
CisvKiEKKyAgUmVuZGVyIHRoZSBlbGVtZW50IGludG8gXGEgcGFpbnRlciAuCisqLwordm9pZCBR
V2ViRWxlbWVudDo6cmVuZGVyKFFQYWludGVyICpwYWludGVyKQoreworICAgIFdlYkNvcmU6OkVs
ZW1lbnQqIGUgPSBtX2VsZW1lbnQ7CisgICAgRG9jdW1lbnQqIGRvYyA9IGUtPmRvY3VtZW50KCk7
CisgICAgaWYgKCFkb2MpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBmcmFtZSA9IGRv
Yy0+ZnJhbWUoKTsKKyAgICBpZiAoICFmcmFtZSB8fCAhZnJhbWUtPnZpZXcoKSB8fCAhZnJhbWUt
PmNvbnRlbnRSZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBmcmFtZS0+dmlldygp
LT5sYXlvdXRJZk5lZWRlZFJlY3Vyc2l2ZSgpOworCisgICAgSW50UmVjdCByZWN0ID0gZS0+Z2V0
UmVjdCgpOworCisgICAgaWYgKHJlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQocGFpbnRlcik7CisgICAgV2ViQ29yZTo6
UmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IGUtPnJlbmRlcmVyKCk7CisKKyAgICAvLyBPcHRpbWl6
YXRpb24gd2hlbiB0aGUgcmVuZGVyIG9iamVjdCBoYXMgYSBjYWNoZWQgaW1hZ2UuCisgICAgaWYg
KHJlbmRlcmVyLT5pc1JlbmRlckltYWdlKCkpIHsKKyAgICAgICAgSW1hZ2UqIGltYWdlID0gdG9S
ZW5kZXJJbWFnZShyZW5kZXJlciktPmNhY2hlZEltYWdlKCktPmltYWdlKCk7CisgICAgICAgIGlm
IChpbWFnZSAmJiBpbWFnZS0+ZGF0YSgpKSB7CisgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFn
ZShpbWFnZSwgSW50UG9pbnQoMCwgMCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorCisgICAgLy8gTm8gb3B0aW1pemF0aW9uIHBvc3NpYmxlLCBmYWxsIGJhY2sgdG8g
bm9ybWFsIHJlbmRlcmluZy4KKyAgICByZWN0Lm1vdmUoLXJlY3QueCgpLCAtcmVjdC55KCkpOwor
ICAgIFdlYkNvcmU6OlJlbmRlck9iamVjdDo6UGFpbnRJbmZvIHBhaW50SW5mbygmY29udGV4dCwg
cmVjdCwgUGFpbnRQaGFzZUJsb2NrQmFja2dyb3VuZCwgLyogZm9yY2UgYmxhY2sgdGV4dCAqLyBm
YWxzZSwgMCwgMCk7CisgICAgcmVuZGVyZXItPnBhaW50KHBhaW50SW5mbywgMCwgMCk7CisgICAg
cGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZUNoaWxkQmxvY2tCYWNrZ3JvdW5kczsKKyAgICBy
ZW5kZXJlci0+cGFpbnQocGFpbnRJbmZvLCAwLCAwKTsKKyAgICBwYWludEluZm8ucGhhc2UgPSBQ
YWludFBoYXNlRmxvYXQ7CisgICAgcmVuZGVyZXItPnBhaW50KHBhaW50SW5mbywgMCwgMCk7Cisg
ICAgcGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZUZvcmVncm91bmQ7CisgICAgcmVuZGVyZXIt
PnBhaW50KHBhaW50SW5mbywgMCwgMCk7CisgICAgcGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFz
ZU91dGxpbmU7CisgICAgcmVuZGVyZXItPnBhaW50KHBhaW50SW5mbywgMCwgMCk7Cit9CisKSW5k
ZXg6IFdlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQv
QXBpL3F3ZWJlbGVtZW50LmgJKHJldmlzaW9uIDQ4MjYyKQorKysgV2ViS2l0L3F0L0FwaS9xd2Vi
ZWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgTm9kZTsKIH0KIAorUVRfQkVHSU5fTkFNRVNQQUNFCitjbGFzcyBR
UGFpbnRlcjsKK1FUX0VORF9OQU1FU1BBQ0UKKwogY2xhc3MgUVdlYkZyYW1lOwogY2xhc3MgUVdl
YkVsZW1lbnRQcml2YXRlOwogCkBAIC0xMzcsNiArMTQxLDggQEAgcHVibGljOgogCiAgICAgUVN0
cmluZyBjb21wdXRlZFN0eWxlUHJvcGVydHkoY29uc3QgUVN0cmluZyYgbmFtZSkgY29uc3Q7CiAK
KyAgICB2b2lkIHJlbmRlcihRUGFpbnRlciAqcGFpbnRlcik7CisKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgUVdlYkVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwogICAgIGV4cGxpY2l0IFFXZWJF
bGVtZW50KFdlYkNvcmU6Ok5vZGUqKTsKSW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVu
dC9xd2ViZWxlbWVudC5xcmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVt
ZW50L3F3ZWJlbGVtZW50LnFyYwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvdGVzdHMv
cXdlYmVsZW1lbnQvcXdlYmVsZW1lbnQucXJjCSh3b3JraW5nIGNvcHkpCkBAIC0yLDUgKzIsNiBA
QAogPHFyZXNvdXJjZSBwcmVmaXg9Ii8iPgogPGZpbGU+c3R5bGUuY3NzPC9maWxlPgogPGZpbGU+
c3R5bGUyLmNzczwvZmlsZT4KKzxmaWxlPmltYWdlLnBuZzwvZmlsZT4KIDwvcXJlc291cmNlPgog
PC9SQ0M+CkluZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJl
bGVtZW50LmNwcAkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1l
bnQvdHN0X3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBAQCBw
cml2YXRlIHNsb3RzOgogICAgIHZvaWQgbnVsbFNlbGVjdCgpOwogICAgIHZvaWQgZmlyc3RDaGls
ZE5leHRTaWJsaW5nKCk7CiAgICAgdm9pZCBsYXN0Q2hpbGRQcmV2aW91c1NpYmxpbmcoKTsKKyAg
ICB2b2lkIHJlbmRlcigpOwogCiBwcml2YXRlOgogICAgIFFXZWJWaWV3KiBtX3ZpZXc7CkBAIC04
NzgsNSArODc5LDc5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjpsYXN0Q2hpbGRQcmV2aW91c1MK
ICAgICBRVkVSSUZZKHAucHJldmlvdXNTaWJsaW5nKCkuaXNOdWxsKCkpOwogfQogCit2b2lkIHRz
dF9RV2ViRWxlbWVudDo6cmVuZGVyKCkKK3sKKyAgICBRU3RyaW5nIGh0bWwoICI8aHRtbD4iCisg
ICAgICAgICAgICAgICAgICAgICI8aGVhZD48c3R5bGU+IgorICAgICAgICAgICAgICAgICAgICAg
ICAiYm9keSwgaWZyYW1lIHsgbWFyZ2luOiAwcHg7IGJvcmRlcjogbm9uZTsgfSIKKyAgICAgICAg
ICAgICAgICAgICAgIjwvc3R5bGU+PC9oZWFkPiIKKyAgICAgICAgICAgICAgICAgICAgIjxib2R5
Pjx0YWJsZSB3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnIGJvcmRlcj0nMSc+IgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIjx0cj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIjx0ZD50ZXN0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3RkPiIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPHRkPjxpbWcgc3JjPSdxcmM6Ly8vaW1hZ2Uu
cG5nJz4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvdGQ+IgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIjwvdHI+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAiPC90
YWJsZT4iCisgICAgICAgICAgICAgICAgICAgICI8L2JvZHk+IgorICAgICAgICAgICAgICAgICAi
PC9odG1sPiIKKyAgICAgICAgICAgICAgICApOworCisgICAgUVdlYlBhZ2UgcGFnZTsKKyAgICBR
U2lnbmFsU3B5IGxvYWRTcHkoJnBhZ2UsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKTsKKyAg
ICBwYWdlLm1haW5GcmFtZSgpLT5zZXRIdG1sKGh0bWwpOworCisgICAgUVRlc3Q6OnFXYWl0KDIw
MCk7CisgICAgUUNPTVBBUkUobG9hZFNweS5jb3VudCgpLCAxKTsKKworICAgIFFMaXN0PFFXZWJF
bGVtZW50PiBpbWdzID0gcGFnZS5tYWluRnJhbWUoKS0+ZmluZEFsbEVsZW1lbnRzKCJpbWciKTsK
KyAgICBRQ09NUEFSRShpbWdzLmNvdW50KCksIDEpOworCisgICAgUUltYWdlIHJlc291cmNlKCI6
L2ltYWdlLnBuZyIpOworICAgIFFSZWN0IGltYWdlUmVjdCgwLCAwLCByZXNvdXJjZS53aWR0aCgp
LCByZXNvdXJjZS5oZWlnaHQoKSk7CisKKyAgICBRSW1hZ2UgdGVzdEltYWdlKHJlc291cmNlLndp
ZHRoKCksIHJlc291cmNlLmhlaWdodCgpLCBRSW1hZ2U6OkZvcm1hdF9BUkdCMzIpOworICAgIFFQ
YWludGVyIHBhaW50ZXIwKCZ0ZXN0SW1hZ2UpOworICAgIHBhaW50ZXIwLmZpbGxSZWN0KGltYWdl
UmVjdCwgUXQ6OndoaXRlKTsKKyAgICBwYWludGVyMC5kcmF3SW1hZ2UoMCwgMCwgcmVzb3VyY2Up
OworICAgIHBhaW50ZXIwLmVuZCgpOworCisgICAgUUltYWdlIGltYWdlMShyZXNvdXJjZS53aWR0
aCgpLCByZXNvdXJjZS5oZWlnaHQoKSwgUUltYWdlOjpGb3JtYXRfQVJHQjMyKTsKKyAgICBRUGFp
bnRlciBwYWludGVyMSgmaW1hZ2UxKTsKKyAgICBwYWludGVyMS5maWxsUmVjdChpbWFnZVJlY3Qs
IFF0Ojp3aGl0ZSk7CisgICAgaW1nc1swXS5yZW5kZXIoJnBhaW50ZXIxKTsKKyAgICBwYWludGVy
MS5lbmQoKTsKKworICAgIFFDT01QQVJFKGltYWdlMSA9PSB0ZXN0SW1hZ2UsIHRydWUpOworCisg
ICAgLy8gcmVuZGVyIGltYWdlIDJuZCB0aW1lIHRvIG1ha2Ugc3VyZSB0aGF0IGNhY2hlZCByZW5k
ZXJpbmcgd29ya3MgZmluZQorICAgIFFJbWFnZSBpbWFnZTIocmVzb3VyY2Uud2lkdGgoKSwgcmVz
b3VyY2UuaGVpZ2h0KCksIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFp
bnRlcjIoJmltYWdlMik7CisgICAgcGFpbnRlcjIuZmlsbFJlY3QoaW1hZ2VSZWN0LCBRdDo6d2hp
dGUpOworICAgIGltZ3NbMF0ucmVuZGVyKCZwYWludGVyMik7CisgICAgcGFpbnRlcjIuZW5kKCk7
CisKKyAgICBRQ09NUEFSRShpbWFnZTIgPT0gdGVzdEltYWdlLCB0cnVlKTsKKworICAgIC8vIGNv
bXBhcmUgdGFibGUgcmVuZGVyZWQgdGhyb3VnaCBRV2ViRWxlbWVudDo6cmVuZGVyIHRvIHdob2xl
IHBhZ2UgdGFibGUgcmVuZGVyaW5nCisgICAgUVJlY3QgdGFibGVSZWN0KDAsIDAsIDMwMCwgMzAw
KTsKKyAgICBRTGlzdDxRV2ViRWxlbWVudD4gdGFibGVzID0gcGFnZS5tYWluRnJhbWUoKS0+Zmlu
ZEFsbEVsZW1lbnRzKCJ0YWJsZSIpOworICAgIFFDT01QQVJFKHRhYmxlcy5jb3VudCgpLCAxKTsK
KworICAgIFFJbWFnZSBpbWFnZTMoMzAwLCAzMDAsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7Cisg
ICAgUVBhaW50ZXIgcGFpbnRlcjMoJmltYWdlMyk7CisgICAgcGFpbnRlcjMuZmlsbFJlY3QodGFi
bGVSZWN0LCBRdDo6d2hpdGUpOworICAgIHRhYmxlc1swXS5yZW5kZXIoJnBhaW50ZXIzKTsKKyAg
ICBwYWludGVyMy5lbmQoKTsKKworICAgIFFJbWFnZSBpbWFnZTQoMzAwLCAzMDAsIFFJbWFnZTo6
Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjQoJmltYWdlNCk7CisgICAgcGFn
ZS5tYWluRnJhbWUoKS0+c2V0Q2xpcFJlbmRlclRvVmlld3BvcnQoZmFsc2UpOworICAgIHBhZ2Uu
bWFpbkZyYW1lKCktPnJlbmRlcigmcGFpbnRlcjQsIHRhYmxlUmVjdCk7CisgICAgcGFpbnRlcjQu
ZW5kKCk7CisKKyAgICBRQ09NUEFSRShpbWFnZTMgPT0gaW1hZ2U0LCB0cnVlKTsKK30KKwogUVRF
U1RfTUFJTih0c3RfUVdlYkVsZW1lbnQpCiAjaW5jbHVkZSAidHN0X3F3ZWJlbGVtZW50Lm1vYyIK
SW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9pbWFnZS5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L2ltYWdlLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQUlBQUFBQ0FDQVlBQUFERFBtSExBQUFBQkdkQlRVRUFBTmtEUXRaUG9RQUFBQWx3U0Zs
egpBQUFMRXdBQUN4TUJBSnFjR0FBQUFDUjBSVmgwVTI5bWRIZGhjbVVBVVhWcFkydFVhVzFsSURZ
dU5TNHhJQ2hOWVdNZ1QxTWdXQ2tBClN5UDR5Z0FBQUFkMFNVMUZCOVFKSFF3QUgyNEs3VHNBQURq
MlNVUkJWSGphN2IxNWtDVFhmZC81eWN5NnE3dXJyK25wR2N3QWd3RXcKR053RVNZQWdpU1VwZ2hS
UHJ3alo0cldVU1N1c2NPemEzSkIzTGUxL0c3R3l0WkpzaDhSVmJEaThOTmVISklzS1MxeUoyaFd4
RnIwVQpENEVIUk56QVlBRE1oYm1QdnV2SzY3MjNmN3lYbWEreXNxcTdaM3BBMGtaSFpHUldkVlYx
VjM1L3YrL3ZmTC9uOE1iUDYvSGpXR2NICmNJSGZCUDVoOG9KSFAzNDMvK1MzUGtTOVhrSXBDVWdV
TVVxWmd3aXBRcFFLa1NwQUtwOVlocFNWVC9OSXdPclpDbzdUUjRrUUpXT1UKakt5ekFDVlJTcUNr
UUNtRlVpQlU5bys5OGZQNmd2L3J3UCtZdk9CblAzRVB2LzZGRDFPdXVOc0d2MzRrWk8xa0JiZlN5
NEdmQ01Cbwo4SVZRYndqQWp3RDgzd0QraCtRRmYvT1Q5L0Fidi9OUlBJOXRnVjlWUHBVWFk5WlBs
YTRhZktuMFAvVEd6NDhJL0VjL2ZqZi95ei83CjRMYkIxNW9mMEQzblhoUDRVcjVoQWw1UDhQOHA4
RXMyN2YvYWIzK0lhdFhiUWRyZjNPYmI0TWZpRFFINGtkbjgzL3lkaitDVm5CMmsKL2UyREg3L0JB
SzgvN2YrdFQ5M0xyLzl2SDdsNm0zK21oT3RkRyswbjRFZXhlc01IZUIxQ3Zaek4vOERWMmZ5WEF6
Yk9lVHNLZmhTLwp3UUQvUllSNm84QUhTZWtON0g1OFE3M3JDYjVBRVVTOElRQ3ZSNGJ2YWtLOWFr
TDdaOHZYUmZPRENMNzBlL3ZmRUlBZjExQ3ZlaVJrCjVXVDErbWkrRDEvODhvMGN2Vkw3aVJVQVp3
dlA1MStqUmx5emhlZTNhdk4vNmZyU2Zyd0R0Sy80NHIvZno5R2xHaDQvR1U1Z0hsU24KQUlEODQz
RUNvQXF1UnowdUVvcnJHdXBWajRTc25hNFVlUHRYRitmYnROK0w0SXUvdTU4alMzWEtnRUw4V0RM
QUtNRGRnbXUzNEhkYgpGUUFGeUJIbi9MV3lQbE50WnZOLzlaL25iYjdZY3FpM2NycTY0K0FuRHQr
WGZrOXJmZ0srK2pHS0FteXc4a0FuanoxejdWblBlN25mCjIrOGZSZkhTWEF2cnNUQm4rOXIrdmN3
SlQvSy8vYTgyK01XaG5rQ3BhRXVhZnoxc2Z1THdmZkgzdGMzM0xQQi9IQVRBMWxZM0I3b04KZUNs
M0xqcnlBbU4vdnNvSlFLTGRZc1FSNTg3S09pY0M4R3NENEgvU3BIYzlaOXVhWDNreFp1MVU1Zm81
ZlA5K1AwZVdxZ09hcjh6LwpWL294MFhZYjlBVG9CT3l5dVM1Yno1Y0xYbWQvaGpQQ0JLZ0NiWTh0
b0NQcmNaVDduYkRlKzQrQnp3L1Evai83UURINGJOTE04VXJBCjZybks5UXYxL21BL1I1Y2FsRkZE
NEN2azYrb0VGamx1ZVMwdTVRQ3ZXRWZaT3BkekFtRXpReUlJUlF4Z0EyK0Rud0NlSEdIQk9YblAK
L3dUOC9SVDhUOXpEci8vMmg2Z01oSG9XK0NxOENvY3YyaEZ2LzB1L3Q1OGpWMnA0T0lYZ3Y1NG13
TWxwZkJIb3lWRTFRQ2ZuV3NGegpsWnd3NUUyRG0yTUJsYlAzdGdEWW9DZEhZRjM3MXUvL2UrRHZi
RTc3d29BZklWVmtnUjhNeFBuWEw4T24rT0x2N3Vmb1VuM0k1dHZYCnIwY3F1QWg0TjBmbEZRdmNt
bld1bTNQTmVwejh6aGFHVVVKUVpBTEdnUjlZZ0FmbW5Cd2g4UFBBeDVNUCs5alAzY1d2L3RPZnhu
TnQKYjk4QVJtUWN2eWhsQUExK2tOSCsyZXRFKzM1Rys5NEkyay9Bdjk0TWtQZmtpNEN2NWtCdVdF
ZTk0SEVpRk5XcEdlYm05ekM3c0pmVwpyajFNekMxU24xMmdPajFMdWRtaTFHamlWV3E0S0FoOFpL
K0xhSzhUcnk4VHJWNGhXTHBJLzhvRk9sZk9zYjUwa1pYMkdzc1c4SDF6CjdwbnJEd01mekd6K1hm
emFiMzJJV3Exa2JxWXk0TWRXdkIrbHdDc0wvUHFSY0VTb3R6TzUvUy85UVVMN200T3Z1RDQ5Z2FQ
bzNnWSsKRDNyVE9rK1lvMmtmc3dzczNuU0l4WU4zTUhmekhVemRlaGNUOVlZTy9aU2w0eXFuODZu
N3IwWW5CZm9keEltWDZKeDhpWTFUUjFrKwpmWXlMcTVlNWFBUmczdGI4Uno5eEY3L3hoUTlUS3J1
cFpSbWtmZHZ1KzFyemxVOUo2amF1NjFYVlM1SThXNkg5Qkh5dWd3RGtFelcyCkYyOXJmS01BOEVs
em5rcXVGL2F5NzlCOTdMLzdyZXk2KzIxTVQwMVRVamtFcnhWOCswM0o2OVpYaVY5OGdyV2pUN0gw
dzIreVA0NW8KcHVELzlvZnhQQWNKdUk0RUo3bkJPZkFKamNQbmE1di9RcmlqblR5RG9aN2lpMSsr
a1NPWHE1VEhPSHg1OE5uaFZMQU52cTMxQ2ZCVgpDL1NtQlhqTGdENEZ0Q3BWNWc3ZnoyMXZlanMz
UFBBZVpxZm5LQ3VHd2I1bThQUFBtOGZTM0JzbDRjb0YrSjgvcTUrZm5aM2h5U04vCndmenVIb0pU
eEp3ZzdMZnBkZ1JTYU9ySE1lR2Vremg4R3Z6YWl4RnJwenk4Y2c4cGdwMEhQODN0YncvOG1ONk8r
QUQ1WkU0UjNTZjIKZk1JQzNUNm1KMXJzdmZjaERqMzBDSHZ2ZndmVGhkcWFBNzlSdVlISjJpMDBx
emRScit5aFZwNm40azNqdVRWY3Q0eVVNWkhzRXNYcgorTkV5ZnJTRUgxMm1HMXlnRjE2Z0YxelFG
SzZLR2VIN1g4K3VQL3lSRDdCdjkyRWNQT0F0T3BWWUQ1aXRYeURpS0NIUEU4c1RYTGtVCkl1TVE1
UWJVQ0NrL0c3TjJ0b1JYN3U0OCtLYXdZK2YydHdOK3dPbzFNNEJ0Ny9QZzUyMzhwTkh5YVFQNkxE
QmRiN0xuelE5ejUzLzEKSWZiZDlRQlRBNVNjTzlkS3U1aW9IYVJadlluSjJpM1V5cnR3M1JxZVU4
RjF5emlVY1J6SGFMSkFxaGdwUTRUMGlXV1BXUFNJUkE4aAplMFNpUXhodjBBc3VHT0ZZeGc5WDlk
K1RHb0JmL2xub2QvWGZmdXpyZjhJajczczNEaDR1TlZ3cVF6ZEQwa1Z3aG9qbkVmd0pGNzUyCmlz
NjVDbTY1bzhFWDBZNkhldGNDUGx4YlEwZ1IrTFozWDdkc2ZLTHBNK2FZQldidmU0ajczdjFSRGp6
d1U4em02MjdKWmIxeUE3TVQKOXpQWGZBc3p6ZnNvZTFONGJoWFhxYUtRU0duQ0xCa2lFczliUmtp
VlZkL0F3WFVxbEZ3SHo2MGgxUlJWRlNObHhFVDFKaUxaSTQ0Nwo5TUlyZFB0bjZRYVgrT0hqcXlu
NGQ5MTlCKzk2OXp0eHFlTlJHM2xEWEpxNEhLYk1ZYzQ4dmt6NzNLdDRsUmdWNzF4Sk53bjF0T2JY
CnJnbjhheEdBUFBnbHk5NG40VnJpMkxWczBJSDVQVGR5MjdzK3doMGYvaFI3WGM5OGxnVys0NVNa
bjNnckM2MTNzekQxTUxYU0xseW4KREk2RFVqRkNoc1N5aDVRaGlsaHJ1OVFGRjZFaS9ieUtrU295
UWhHbFFwRmV5OUE4am5Gd0tYa05tcFc5Vkx3Wm10V0QvTCsvOTAwVApCTUNuUHYxSkd1VmQ0KytJ
NVZURVlZL3VwVy9pZWhJbEJGTEdSdnQzcHFxWGdlOWNFL2pBaGRJT2dXL2IrNmJselNjYVAyZkNx
ZmtICmY0cTNmUEFUSER4MER4TjV1MTd5SnBpZmZEdjdaai9Ld3VURGVGNWQzeVFsREhDeEFWWWZD
ZmlKcGlkZ0swUUt2bEl4VXNhRDRLc28KL1F4aGhFWElSREFFN1hYSnlWYzArSTFHZzAvODNLYzNC
VjlKbldoMHZCTCs2a3Y0YThmQlVSYnR4enRUMVN1a2ZWc0l0ZzQrOE5XcgpaWUE4K0ZVTC9NVFdw
eG9QN0pxZTQrQjdIK1ZOajM2Ty9ZNHo2TlNWM0Fhemt3OXdZUDVUTEV5OWs1STNnUkE5bzlYQ0FK
b0RYOFpJCmNwcXY5TTIyd1JlcHBsdmdTOE1NTWtuVnh1bmpXSVo4L2M5T3BsLzAvZTkvUDdmZWV1
dFlyVmZTRkJlTmFuVE9QSTRVWFhBOURib2wKQk5kZTFhdnRHUGpBeWRJMWhucWxuT1pQV1E3ZUhM
QUwySFhnRVBkOCtOUGM5WTczTTJlenZhTmNKdXUzY2V2dXY4dmk5Q1BVeTR0RQpvazBzdWtiek5j
anBkUXArWko3UGFYNmkxYVBBdDJoL0FIeWpuYkdNRVhITW4zMzVWUHFGUC92Wno0N1JlUE50SEJO
VE93NVM5Tmk0CjhJVFdmdk81R0JhNzFsQnZtUGF2R3Z3L0JVNEIzZEkxZ0Y4dUFIL2Ewdm9GWU9I
ZUIzbkx6L3dDaDIrL2h3a2IvTExiNHNiNXY4bk4KODU5bXVua1BzZXdSaXZXVThwVVNZOEVmcFBJ
dGFyNmw2WU9hYjE0dlk0NDh1OFR5NVFDQUF3Y084TDczdmE5QTQ2MG1JVWVCSTNHRQpBcmRNZitV
WS9kVVhjVnlRVWViNEljVU9oM3JYRGo3UUsxMmo1dGN0Mms4MGY1Y0JmL2VENytWdEgvOTdIRnJj
cDEzbkJQeXAyaUVPCjcvMGxGbHVQVVBZbWlNU0dvZmhFcTRXbDRTSU42WlRNYkhjbUZGZFArNGtw
RVlZRnBJajQxMTk0T2YzU24vakVKNWljbkJ6VWVpZlQKZUJ5bDlWRklIS1Z3WFpmT3VlOFQ5ZHM0
Ympsei9IS2FMNVZPT0NYZ0N3TytLTkw4MzkvUGtlWDZUdEorQ3Y1MkdTQWY1MWN0YjM4cQpwL21M
RDMrQWQzenE4OXpXbXFHTWxYamMwM28vaC9kOG5ybkp0Nlh4dWEzMXR1WkxHV2YyUDlIOFBPMFBn
UitOQVQ4Y2VMK20vWVFCCklvSWc1TmlSTmdDVlNvVlBmZktUV3V1TnhtcmdWUW84VWlLbHpxZTdD
aEE5MWs4L2pvdEV5a2hUdnhTcDg1ZUNMMEhJUWZCakFaRkkKbG1zbGJWejdPYks4c3piZkJuK3JE
RkNVMjY4VmdEK1hhUDdESCtBZG4vbUhISnFZMUdHbUFqeTN5czN6bitIVzNiL0lSTzBBc2V4cQpl
a3hLcUFXMFB3VCtDSWN2QlhVVHpiZk5TYUw1MGdyTi92S3hDK21YZnZpZEQzUGZmZmNOYW4xaTY0
VkNxbHovYUxsTXNIYWM3dEtMCktLWEQxUUduTHdlK2tLUkhKQ0NPbFQ0ckxRVC84bmNQY0hTNXZP
TTIzd1ovS3d5UTc5N0pPMzJUVm95L0MxaDQ4TDI4N1ZPZjV6WWIKL0pMYjRQYkZmOERCM1orajRy
V0lSUy9uNEEwNmZGS2FVTTRBUGdoK21EMi9hWndmR1pBSGJiNEdQMElJOHhreUpoWVJYLzM5TStr
WAovL21mLzR5dTh6dVpvK2NJaFhBVWpzcDFqYnNTS05FNSs5ZkUvbVVjcDVRNmdGSkdLQ2tSTXFQ
OUJQZzQxWDVGR0lOUWlqQlcvS3ZmCnY1R2pTeFdyaldzUWVQMVlHUUc0ZXZDQmZta2IxRzg3ZlEw
cnd6ZVRoSHIzUHNoYlB2NzNPTlNheVFvNEphL0puWHYrRVFjWFBvdmoKbEJEU3o3N0lacHFmQ29W
TisvRTI0dnhNY0FvMVB3a25WY3pKVjllNWNNWUhZR0ZoZ1k5KzlDTkdCWFRmbkpTbWZpNFRnWkE0
amdGQQpLSkErRytjZVIwVVNTbmJjTDRsbHNiMlBoZGI2S0FZcElucGhpWC96NWYyOHRGdzE0TXNS
MnI5bDhMODZEdnpOQk1BcHlQSGJLZDZXCmxlVFpkZUFROS96TUwzQjRjUisxQkh6UHJYUG4zbC9t
bG9YUEFZN3VrTWtCbjhUNXc5NStQT0R3RmRuOFFzMGZFK2NubW04bmxHSVoKSVlUZ1MvODhpLzBm
ZmZSanpNM040U2lKVk5JNC82YkU2R2pxZDVRQXBYQ2t3dkU4UlA4czdVdFBvMHBaOGtkS2tXcTRS
QkJMQ0VPRgpqR1BDaFBKajNaY1QwK0JmZjNrWFI1ZXJsRkx3WllIMjc0em1KMDB2cFMxVytPeXli
aVBuOWM5UHozSHd3NS9tcnR1dDdKN24xam04CitIa083dnJiQnZ3NEJkLzIrRlBhSDlEU3ZNTVhX
cjhmby9rajR2eTg1dXZYQzVNSmpJbGl3U3ZQZDlKWS91Yy84eGtOZmxwWE5uYmUKQWNlUnVscVVa
UDVjQVY2VmpRdlAwRjgvZzZza29RaVFZVUFZQ2YzNTBrTktEK2xVY1d2VGxDZG1xTlNtY2FxN29U
NkhWNXRsWmEzTQpVdThKRkNkUmVDbndYRWZ3eHduQUtLKy9rVXZ6emdMejczMlVONzNqL2N5bENS
Nm54TTN6bithVzNYL0hsR1hEQXZERmVQQnpLZHZpClVDOGFBRnVxbUpXVk51MzFMa3RYMmloaWhC
SWdCYzBwaDhha3kvU3NoMUxDcEg1anBCUTg4YzJsOUVzLzhNQmJlZUNCdHhnbkwrc24KZFJ5Wk5R
c0lwWUZQbGhlSWlDdXZQa2FuM2FQWnFGQXVWVkVUZTZsVkZxR3hoMHBqTjI1OUViYytoK3MyQ0ZT
WmlDcEI2QlA0QVg3UApwekt0MkhkVG5VdEhJL01YaXh5OW5hRjl1OWV4dEluajV4WTRmaE1tNFRP
VDVQWWYvUno3YmJkb2NlcTkzTHI3RnlsN1U2bk5MNDd6CkM4QXZpdk5IT0h4aEZMSzZ2TUg1Yzh0
Y3Zyak8ybXFYS0F5SlJVd2NheDhBUStPT0szRmRpVnVDZWdOYWN5Vm1GMXdtV3k1ZitiZVoKOS8v
cFQzNlNrdWRsd0x1U05HdUR3bkdFaWZsME41QkVJZjExWnZiZHg4eitOMUdkdUFGUm1VTzZGY0t3
UWlSS1JGRkVGUHFFWVJjLwo5QW5DSG1Hd1FlZ0grRUZBRUliNGNZbDlCeHI4OEdoRy9XbXY0ZmJB
UDdsVjhFY0pBRG12djV5cjZ5ZWwzZGs5TjNMYkJ6L0JRYnVyCllLSjZNNGYzZkY2SGVxSlhhUFBI
ZXZ1YnhQbHhGSERwMGlxdm5iek1pVmN2c2JMYzFva1dSSlp3UVJaY3k0SHIxMDVJN2FERmdyTW4K
dFBQWGFyWDQyTWQrUnR0NUJRNUNhNzNFMEwxWlZ1QW9wTkFBT1RLbVZKYnN1dk16eEVMUjc3WVJR
UnUvN3hQNkhjSWdJQkloWVJ3UQpCUkZSSEJENk91Y1FoQnI4SUF6eEE0LzUzVTdhMVlQbEIranJu
YU45cStVOTNvb0EySjYvYmZ0bjMvVVI3cmpOcEhnQkt0NDBkOTd3Cnk4eE52azNIK1piZEw2UjlN
cE93bFRqLytMRnp2SHprSENlT1hVSW1xZFVCOE9WSXdJZXZGVklwWG42aG0zN3BEMzN3cDlsLzQx
NWoKNTVNVmdTb0QzdWdoVW1nbk1QRUJVTVRoR24yL1I3L1RwOS8xQ2FPUU1Jd0lSSS9RRDRualNE
L242M01RaG9SUlJPQUhXaEFDd2N4dQpxTHRUOU9RS0R1NTJ3UC9xMVlCZkpBRDVucjU4cFM4Si9h
YnZlNGo3UHZRcDltWnY5TmcvK3lpTHJVYzA3YWNGbXkzRStRUGUvbkNjCmYrSGNFazk4NzJYT25W
a21qdU10YXZzbVFpRVZTZ21PdjlqTENqOS9XenQvS0pPeEFRTytCa0ZKaWVQRUlBMGJtUFVBc1Fq
cHRydjAKK24zNjNUNUJGR2dOajN5aUlDQ0tRNklnSm95aVZERENLQ0xvQm9SeFFCRDBDYU1BeDRQ
Wm1SSWJ5MG0vdnJvdXRHOHZlU3R0US92VAp6cDU2a3ozditpZ0hQS3VaWTdKK0t3ZDJmWnF5TjZt
MWYwdWFYMFQ3V1p6ZkQvcjg4UHV2OE56VEo0bWlPQXVKdHEzdE9jMlhtbDR2Cm5Rc0lBMzF6RHg4
K3hIdmUvWENhK3RYQWczSk1mNWlNY0J5bHpZS3JRQWx3QkxFZjBXbDM2SGI3OVBwOS9MQ1AzKzhS
UmlGUm5HaDgKcFAyQU9DYU1Bc0lnSnZRRHdqQWdqUHFFb1U4VWhZU1J3L3lpNE5TeTFKSFQxbWov
cEFGODIrRG5CV0N6YWwvaS9VL2YvekIzUG1pMQpjWGx1blZ0My8xMW1tdmNTeGV2RGRqL3Y4Sm0w
ckxRY3ZYeGg1K0tsWmI3OWplZTVjRzdGMG1oUm9PSGIwWHlWWGt1bE9QSlVwdjJmCit2alBVYTJV
dFpObjByNUtHczlmNnVjY0oxa2dISU1RUkZGRXA5MmwyKzNTOWJ0MCsxMkN2cWIwTUF5SXd0Z0FI
eEZHTVdFUUV2a2gKWVJRUVJRRmgzQ01LUXNJd0lJNGpJdWt5djl1RkZ6SGdzeFh3RTdDM0RUNmdT
aU1hUGZMMG45ai9xWWtXZTkvMUlmYlpuVHh6azI5agpjZm9SWXRFZFRmdTJ0NS9UL0x5M2YrTEVl
Yjc1OWVkcHQ3dkRvQTRBdTExRzBEbDhKU1ZSSUZoYmpnR29WcXQ4L09NL3EyMi9ZMmhYClNnMjg3
ZndsU3d0alFSU0V0RHNkT3AyZUJyL1R4Zzk4L01EUHRENE9DYU9ZS0F4TkpCQVN4UnI4S1BRSi9Z
QllhS2FJbzVnNGx1emEKRlZPaFJreUFNNTcyVCtRMHY3OWQ4QUZaMm9iM1B3RzA3bjJJUTNiM3J1
YzFPVEQvU2VybHhaSDEvRUhOTCtqa2thSHhDVUtPSHp2UApYL3o1VTRSUk9HempyMG56VmZxOFZJ
clhqZ1hwbDM3dlQ3Mkx3N2NmMUhTZmFyek00bjhrT0RFbXAwc1lCclI3YlRyZEh1MytCcjFPCmox
N2Z4Ky81V3Z1amhQWmo0aWdpREFMaU9EQUM0Qk9ISVZFVWF2RERrRmhFaURoR1NFR3BWbWFxVVdL
cDEwZmg1OEcvYU1BL1hrRDcKeWVGdkZYeWJBWndSMmorUS9LbFVtWHZvRWZiYXZmbTdKdC9Cd3RR
N2lVUjc4emkveU9Hek1uekhqNTNqTDc3MnRBRmZGb0MvTmMwdgpsYUZVZG5BOTEvaHpFdDlYeEtG
Mi9sQ0tFeS81NlYzOTNPYytyUXMvaWZObjh2d2FlRk9ybFJLVUlBZ0NPdjBPRzUwTk9odGR1cjB1
CjNVNlB2dStia0M0ZzlHUGorRVhFUW10OExMUUF4R0ZJTENQaUtFVEVrYzVYeU5nVXBtS1U0ekk5
RTNDeDF5Tm0zUWIvRXZCbnh0dnYKN3dUNCthNWdwNkREMTNZQUp3L2Z6MjNKb2cxbE1uNzdaajlL
eVp1dzJyakd4L21KZzVkazhKTEhwMDVkNEQ4OTlneGhHQTVydXNvVgpqM0tDNERpS2hiMVZwbVpL
VExZY21sTU8xUWFVU2hJcEJaRVF0TmNDZXIyWXRlV0lWNTd2MGV0b0oyL2Z2cjM4OUNQdnlleThL
ek03Ckw1TzBid2IrUm4rTjlucUhUcmREcDl1bDJ6Yk9uMG5vaEVHb0hVQS9KSllCY2V3VEJTRkNS
RVNSUHNkeGpCQ21HaW15bERaU3NMd2UKMEhOV2lHbmI0RjhHdmdhY3p0bjZycldBdFc4dGJ0MFMr
SGtmd0JuUjhKSDI5Ny9wN2R4Z2QvYk1UenpBd3VURENOSGJWcHlmdC9sTApTNnY4cDhlZXdRK0NF
ZUFYMDc3aktnN2QxV0wvelRVbVoxeGNUNlJWUUMyQUNxRVVubFNVcXk0dDZiRjdIL3p4djhxY3Y3
dnZ2cGZwCjFoUkt4Wm5XWThwMXd0dzNSeENFQVJ2OURUYlcyblQ3SFRydExwMU9uMjZ2UjgvMzhm
dWEvcU1nU2pVK2pnTGlLREtnaHdoaGdJL04KUFJENjN2VDdBYWZPcm5QczVCcm5MM1VSWW1EZDJq
THdEZUNNWmRzN093Ryt6UUI1RTFESk1VQnpZUy83SG5nUHMvYS90dEI2TjU1WApIOVR3cE5SYUVP
Y1hlZnRCNVBQdHYzeUJicmMvQnZ4QkUrQjZrZ09ISmpsOHp5VE5LU2N0KzJiZzZ4eS9VTG9UUjBp
Uk1rZ1VDVTRlCkRkUENUNy9mNTE5ODhTdjhkLy90b3lCQ0RielIrTVFFOUlNT25YWkhPMzN0THUx
T2wwNnZTN2ZicDl2cGFlM3ZCNFNSVHhqNXhGR28KQVk4aWhJeFM0TFcyaXpRS3VuaHBnNWVQcjNE
cTdBYWRibFNVa0ZzQi9nbzRiODB1NkZ0bm0vYUQ3WUtmQ01DNDhDOFZnRVAzc2I4MQpwOXU3a2hV
N0MxTVBGMmkrR0JubkYvWHdQZlBENDV4NTdjb21tcCtCUHpWZDRrMXZuMlBQdnFvUnFEejR3b0N2
MjdGa3docFNJSVRnCmlXOWttYi9wNldtcTFTcC8vSlV2MCtsMCtaVi85RW1JZkEyK0sxQ0UrTjAr
N2E0R2ZtT2pUYnZicGRQdGFlKy8yNlBmOWZHREhrSFkKMTVvZjZheWZCbHdnNHRDQXJ0Y3hySy8z
T1hsbWxWZFBySER4Y3Jjd0RWdXVFa2NCUjQybnY1UWJZdEczUFA1RUVNS3JBVC9QQUU3TwovdHNo
WVBPdXQ3TExYc2N4TzNFL3RkS3U4WEYrdnBuRFdyRWpWY3psUzhzOCtjU3hMZFArcmoxVkhuclBB
bzBKTW9HU3B2RmpCUGpTCkNGQXM5ZWM5OW9lWmJkMjllemUrN3hPR0lWLyt3My9IK3ZvR3YvYXJ2
d0JSZ0NMQzcvVm85OXEwTjdxMDIxM2EzUTd0VGsvSC9yMGUKdlc0UFA5Q0pueWdPdEsyWEdmaksw
SHdzWXM2ZVhlUG9pU3VjT3JOR0VJZ2gwS3NOdVBsTzJIc0xMRjhpZVBhYmRLeXBKc2sway93QQpD
MXZ6bysyQ2J3dEFQdjFidHBkNXpTNndlTS9iTXVjUFlLNzVGbHluUEZpeXpjZjUrZHgrcnA3LzFC
UEhDY05vaE1NM0NQN3VHMm84Ci9QN2RsTXJLMHZ5NGdQYUZhU2JKYUY5SVhkUTVjeUxnNGhrZCs1
ZkxaVnF0RnI3djQvcysvWDZmZi92di9nOVdWOWI0Ri8vNzM2ZS8KdmtKbm84dEdwME83M2FQVDdk
THU5R2h2ZE9oMk8zVGJYZnBCbHlEd2RjSEhPSGk2MlVRdkdWOVo3M0RzeEJWZVBiSEMwa3B2T09Y
cQp3T0pOc1BzbW1GNkFTZzNLRmRqYm9QN3FVelI2R3lsbytSbEdZVzZjalQzVnpLcFRqd2UveUFT
VUN0YjAxMjg2eEtJOW5LRmFtbWVtCmVTODRMbElHVzQvenJjTE9xUk1YT0huODBuQ0d6d0xPMXZ4
M1BMS2JVbGtPdEhvVjAvNHcrRXBLaEpMOHdlOXNwRjk4Wm1hR09JNEoKZ2dEZjkzVTJyOXZsWDM3
eEM2eXVyUEdGMy81RjJ0MCs3WTRCdnQwMllWK0hicTlEMzlmYUgvUjlIY2NiOFAxK3lLbXp5N3g4
N0JLbgp6NjBUeDNMb3B0Y2FzSGdBNXZaQ3BRcGxBM3lsQ3VVcWxLcTRjM3VZTkFLUWVLYjJUQ1Bi
M3VjMWY4dmc1d1ZnNUNpWGczZGt6UjRvCm1LemRRdGxybVRrNFc0L3pFeWFJbzREanh5NFNSZEZ3
UEo4RHZ6SGg4ZUM3ZGxHcEtxdmJ4LzQ3WXNEaGs5WjdZNUgxQTBSeHpJa2oKbWFNMU5UVkZ2OTlQ
dGIvVDZkRHBkRkJLOFlkLzlHL1k2R3p3VC83eGYwTjdRenQvM1kwdTNXNmJibitEZnErUDcvY0pB
cDNNaVVYSQp4WXRySEQxMm1XTW5sOWhvKzhQZE5SN3N2aEZtRjZGYUI5Y0ZyNlNQVWtrTFFOa0lR
NmtDdTI1ZzRzekw2V2hhbVRNRnNXWHZvOXdNCnd5MkRid3RBUGdrME1MM3I1anVZc2orcVdiMFJ6
NjJsQ3l1M0V1ZG5iVndSYSt0dFhqMTZQbWZuMVZDYzc3aVMrOSsraTRrcEo2WDkKcklZd3h1Rkxh
RjlKSkJJcEpVOTlLd09sVnF2aHVpNjlYbzkrdjArdjEwdkJUMzYrOXRoWDZIWTYvTXF2L0ExNjNR
Mmo5UjM4bnFIOQpNS0RkN2ZEeXF4YzUrc29semw1WVE4cmhlOTJZaEJ0dWdhazVUZm1PVVRmWEJi
ZWtENjhFWGhtOFNpWUlpemRUdDFyeml1WWIycUJmCkZmaEZZYUNYWCtjL05jUGNyWGN4WVdmL0pt
dTM0am9WWXRuZFVweWZYN0Z6OHRnbGJmdUg4dnVEY2Y0Tk45YlpkNkJ1UG1kemIxOHEKN2ZjSTB5
c2drQWdoOFh1Q1AvMC9NNCs3Mld5bXRqK2gvcUtmYjMzblA5THBiUEQ1Zi9BZS9GNmJ3TzhSaEQy
T243ckVjOCtmNGRXVApsK2wwZzZIM1ZhcUc0dmRvUUhFczhNM2RkbHp3UFBBc1FTaVZvR1RNd042
RE5CcVRUUGJhS1VQTEVYTU9yeHI4UEFQa3g3U1dnY3I4CkhtYnRhVnlOeWw2cTVYa3puQ0VYLzQ5
WXE1Y3M3WllxSWhhUnR2MUtER2Y1TE9mUEs4TjlEODVZYkxJNTdZTk1OVjhvcmZsQlQvRDQKWXo2
clM5b1d1NjVMdVZ5bTIrMm0yai91NThtbnY4ZHYvbWFYdi9XeFF6ejk3Q3M4OWN3WnpsOWFMWHh0
c3dVM0hZYXAyY3pKd3pVMgpOamNEM1hHMFdYQmN6UWFPWTVqQWc3Sm1BN2MxejJTdlBiQ3hsMko0
MnJrdEFOc0NmMVFld0JhQThzSmVXdlluVHRSdXhYUHJXVWhYCnBQbTVOaTVwOWZwMTJsMldMbStN
MVh5RjVNYURrelFtblFKdmYrdTA3M2NGVDMwcjRJVW53a3c3SzVYVThldjMrMXU2U1MrOThoeS8K
L2xzdkVzZkQ0VnVwREpNekRzMldZdUVHcUp1bGhJNmIwYjJqUURrWjFTbzA2RGpnbUJubnlXUFBB
NmVrL1lEV0xpWXVuQnlhZTF3MAp6bDRXek1GaXV3eFFLQVM3OW1TdDNrckJSUFVtUExlS2tFSHhF
dTNjcXQxODYvYUY4eXU2dWNNR3ZhQ3dzKzlBTGMwbWpvdnprOWNYCmdmLzBkd0tXTHd0T3ZSeG56
cGl4L1VFUWJHdGR2QTIrNDhEa0REU21IQ3JWWkpHb3JobVZ5aHI4Z2Y1Nmg0RkJWT25hVXNkYWJ1
QVkKRUZ4akZoeVlXYURCOE5qYi9QaWtxd1kvN3dQa0oyNTdRR2x1a2JvOUFhVmUyWU5MU1VjQW13
eG5LRnEwc2JyVUxnejE3T1RQMUxUSAo1S3c3TnIwN3JQa0thVXhBMEJjODgxY0JTNWNFcTVjRlFW
K2w0TWR4VEJpR1Z6VVZvMXlGNlhtSCttUUdySlBPQnRCMW8xTEZvbmtECnJsSWEwR1N2WHFVR0VY
VE1ZQ3JwWlA2QjYwRnJnUnJGMDgrZHE2WDhjU2FBQWdId1poZW8ya3ZoYXVWNUhLZWNPWFlqNHZ6
aWhab2gKeTh2dHNacXZsR1I2VjQxYVhXMmI5b1VVK0YzSlU5L1dtcStrNG9VZkR1Yll0d3QrdVFM
N0R6blVKNkMzb2FrODllVXM4Qk1sOFhJZApGa29hQnBBYVZHVm1FTnJRU1ZOdHRuY2pjRnlZbXFY
QzhFNG90dHhjODAvZUI4aHYxT0MxWnJQOFAwcDMvanFPZzFUaG1Na2NJNVpyCnlaaE91NzlwTThk
VXk5MEMrSElFK0w0R1h5a0NYOUplemFSWFNybmxHOU9hZzBOdmRwalpwZSsyM3dHL1o5OTZsUUtm
MGp5WkFKalcKUWh6WEFPNGFGbFdXQ3F1czJwdzBJQ25MUEV6TXBQc2k1SWR0ajlvV2g2czFBVVVM
UWx6QW0yaWxEYXBteVZmTkxJNEpCelIvN0lvZApHU0tWWUdXNWJicDZSemR6T0k2aTJtQnI2VjNM
NWdmOXpPWXJxZHU2Vmk3TGJkMk01aFFjdXQ5aDcwR2pyVElEVWpVMXVNazZRY2NtCllpdGQ0N3Fa
blUvN1Myd2Z3THd1WFdTRVhsd3NrdllETTJwSU9kRFVLNnh0LzR5ZEFuNlVDY2l2QzZUUnhMTnpB
SzVUMWpkOVRKeWYKZ204ZUN4TUNSbEZnK3ZsSHQzR1ZLbENmY01iRStUS044MjN3bi9xV3R2bTY5
VXZmM1psZFc3dFBDL3ZncmU5emFjMHBSR1Fxd3JGaApaSmxwdGxkQ0ozdlVZRmluVkFhUDQyWkNv
UXo0VW1XZmhUVHV1d0hieFpnQWtabUNaQ1JCcFpIdWcrUVUwSDZSYWJnbUJzaUQ3d0JPCnBhcS9X
ckpHVXViaS9rSGF6Ni9WU3p4NGMwMVNIdFpBRnJLQVVtWmR2Um9iNXcrRWV0OGUxUHhrQmsrNUNy
ZmM3WEg4aGVId2JYSUcKSHZxZ3c4MTNPa2dKVVdENlAzUW5wdFprTlhpNHJrSFNCbGxsM2p4V3Br
K0tYT0N1c2pXbFpybWlKZzJwaFNacFBrb09xZjJQcmV5Rwp4azRLd1BCQUxBdDhCVVN5cTFldEZF
N2ppb2RzdnJUOGhLUmZFQnYwSVVFQXFmUkFoYXkvWUhTY242ZjlmRVIwODUwT2UyOHVjZmFFClpQ
MktZbklXNWhjZHBuZkRqWWNjU21WRkZPcFViSUprNHRHbmc2T1YxbnpYc3pTK0NIekRBRXFZMUoz
S2dFL0J0MnkrU3NBM21pL3MKbFdpSzErV25WSUQzZ09DR1ByTFd3RXQrRWNVYmVHNFZjQXJqL0F6
OFFlQ2wwblZ4UFdoaGZQZHVIQ2NqVlViSCtZbk5INlI5MHM5SQpybEZRcVNvTzNPNGdiM09RU2lF
RjlOcHc3RG5Gd2J1aFdrdUVYQnRneHpoanlVcHdUWDBtblp1QWJObCtXMEhzcWVPSkQ2Q0VkUlpX
Cm02SHVRa2Q2bWYxUGZBU2xJQW9MOXk3Y1VkRndHYjFUcGdMb2RSam9VQXVpWldMWkg2YjZBdkNU
UXlqOVhMV3E3K3E0RURBSUJMMnUKcVNLbW1oOFBnTi92eGp6NVRRdDhhM3hiNW15cDFHSEx2bURt
Z2p0QTBGY2NmMTdoKytCNVNoZG1QTTBHcm1ldVMxcnpaWmpaZUdWOQp4a0JjWnU2bWxJUGdDMHNJ
aERBT24yM3paZVlUMkVnRVBVUVJKZ1ZwNFdzU2dLSVBUQXNQN1ExaSt3Mzk2QXF4NkEzMitWbmVm
cEhtCkp5eFJud0RYSGRPM2I1N3JkckxLWDVyYlIxLzN1L0dnemJlMFBkbS9Zd2o4NUhvZ2JOUGFI
dlRoMkRPS3ZoN3NxUTlUcUhFOXBhdDIKTGdTK0JiVEQ4SjRGNlBja2dBcWhIY2xVQ0N6ZzAyc2Iv
SnduNWdDOWpZRjlDK1ZPZ1Q2S0FZcDJ6aFRyeTBTMmhQalJaU0xUQlZ3VQo1dzlvdmRGOEtiTXBY
ZlVKdDNpNWxwSXBlQnRyY2FIREYvUmtvYzFQQUZlR2g1VlJKWlZjRytFWWNHanM1RkFBSjE3UW8r
RWROem5VClFENi8zeG0yK2NyeUVSSjdidmVVU2hOTjVNRWZzUGxXNk9jNFdRMUJBWjMxb1ZxL3Zl
ZmhqZ2hDM2dRTWxSeFhyeERZdDZ3YlhOQkwKd0liaS9IaHdKRXQraEl1WjJEVTU1Ulo0L3RsalVL
d3RSWFRhMFFENGtTLzQ2Mi80bXZZSHZIMlZBczZBL1NjVEFvZmhIU2VzQkE2TwoxdkFUejRQZjFS
ayt1M2J2QU4xMkxxZHYyM3lqd2E1bndJMHpCaEJXaUdkZko3NUFNb2drQWQ5MXNtaWl2Wkx1Vnhq
bndOOXhFMUMwCm82WUE0cVdMOU8xaVVDKzhvUHNBa2pqZmFMNUl4N0lac0hPYW45VHpaM2Q3dzdT
UHRYUUx5Y1phek5wU2xJS3ZsQ0FLRkNKWjFtMWIKZGFXR2JiNEVyNnk0NVI2SFpzdWE1SzdVSUFu
a2pIalFoeE12cUhTZmdPUTFuUTB0R01tdGw3bWliQkxYbDhyRDRJdllISWtReElNcwpZS2QrUGFz
OERMQ3hSTCtnK2NQZTEzakhUSUFzYUQyS2dlaktCVHAyTWFnZlhpU00xaTBuTHg2NFZrTzFlejJj
S1dHRzZUa1gxMU9GCm1vOFJCSlRpOUltUVdDVHpkUlhWQ2NXYkh5N1Iyc1VndmVmQlYrQ1dGWWZm
NG5ERHJYREhXeDFxamN4SFNIaE9PWmt6WjdPRDM0Y1QKejBHdmt5VnYxcGNnamdlOS9JRzQzakJB
dVRKZTgxTzdiek5BVWdrMEJTRFhTczJ0WHFaVDBPcGQxUHl4WXo3QUFQaEFkT1VjNjNZeApTRWxK
TDd4b0hFRXhtUHJOYWI0OXFGR1lzbTY1cXBqYlhScndBYko5OXhKN3JUaC9LbUx0U295U3VzcW5o
S1RTaFB2ZTRkR2FjNGFjCnZ3Ujh4MVBjOFlERDNCNTlzeHVUY05jRHVoRXoyUXhLRlpWVkhKVmpB
cTMxZ1E5cmx5MWJQeUt1OTF5ZGVKSWp0RDBCUDQwQWtqQ1EKckQzTUsyV0M0RGl3ZG9sMXF4RzBT
QWpVVGpLQUtCQ0FjT2tpSy8ydUNVZFU0Z2d1RVpsSW9Oam14MmtiVjlyT1phMGEzbk5qT2FYOQpk
UHFHQlg3eS9DdlBocWF6UjQrR0FFV3REbmMvNURJMWEybStPWHRsdVB0dERuT0w2WUFQcEZBMEp1
SHdXL1Y2UWJ1UW11WDYxUUM0CktBaDZjUEpGdVBpYWRoTFRPTDBBZkNXaFVqZDdEVzBGZkV2N2Jm
cDN2VXdJd2dDeHRzVEttSjcvSFdNQUNvUWdYWW5TWG1QNXhFdDAKN0szWS9IQ0ZXSFFHZWdIR2Ez
NG1JRUxHekMrNlZPdTI1c3NCOEpYeHFpNmYxODBjeVZ4ZUpmUmF2L29FM1B0T2o2bTVUUE85TXR6
eApBTXpzZHJJNFhPamZTYUF4b2JqOXpib2oxNmJ5Z1hndWw4VHBkMkhsd3ViZ0s2VUxTVnZWL09U
QVZBczlxekUwYVJNN2Y0eE9ieVBkCnpUUWMwZjI3b3o2QXRNQzNGeUlFSjQrd1lUdUNvVmpIajVZ
UU10cEU4K01CelUrS09QVUpXTnhmR3FCOVhXQ1NLZmg2Sm8vaTFlY2kKTmxZa1N1aWhUcUJIdkZS
cWludmU3akkxcTkzMHcyK0YyZDJPSHY5aWc2OUF4SHBNYTMwU0RyM1paUDRTemJkejhHb3dJNWVD
dkFuNApsWnB4QUxlZytRUE9IMWw3ZUtsaXRMK2s2Zi9pQ2RxNXhaNlJKUVE3RmdyYVBrQitVK1Zr
NVlsLzZtV1dHWENBSkczL0RFTDYyVERtCnREdG8wT1luVmIzRW9aTktEMSs0OGJZeVhpbFArd3lB
cjFDRXZ1TElFeEg5bmpScFhHWHErb3BxVFd2OW05L2pNTGVZQXo5SnlNUXEKQlZaSzdRdmNlaDlV
YW9PMFB3QyszRHI0U3NMRWRBYjBwdURienAreDkxNVpINld5RGdNZEI4NmZZRG0zMWo4cVdQYTE0
MDVnYkMwNgpDSkxGaUtlUGNYRmpOY3NJS3FBZlhpSVMzWFNtYjk3YnorcjVaa3VXZEtNbkhkWk56
Y0tlRzBzRE5qOFZobHljdjNKRjh1ejNZb0tlClRDZDQ2cW5ia21vREpxYlZFUGhDcWlId0V3QnFU
Y1V0ZCt2MjdVTE5WMXNIdjFMWHp0OVdOVDlOK1pLQlh6YnJBZHlTYmhMdGRZZ3YKbmVhaXRldzd5
RVVETytvRVVtRC9Fd2JvQS8zVnkxeDg4YTlaczlNb2dWaW5GMXpNZHQwYW9mbWE5Z2Nkd2NRVTNI
WmZpVkpaRGRGKwpVWnkvY2xIeTFMZGoxbGNVUWlqTGNWT0ROai9aakVGUUNMNDB2NnMxNGVhNzlV
cWNxNkg5cE5Wcm9qWHMvSTBDUCszNFVWa2JlQUsrClY5YVBIUTlPdmNCYWV6a1ZnSDZCQ1JDNVp0
QWRjUUpWQVFNa1c2aDNqejdGbFlGU29Ra0hFNGZQenZzUGEzNXhQYi9hVUJ4K2M2a1EKL0tJNGYy
TkY4ZlEzSmVkUFNlTFlnSmtEMzc3UkErRExEUHdrTnEvVzRlYTd0QTNmTHZoSmlGbXViZy84cEly
b2Vwcnl6VnBBTFFRbQpBbmp0Q0V0bUNFUXZ0d0k0d1VmdHRCT29jazVnYU5tZkh0QTk5Z0puMXBl
SjdGUjZQN3lNSHk1YkRTRm1hWmpSZkxsSlBSOGx1ZUdBCng2NGJuUEhnVzNGK0dDaU8vRUR4NGc4
a3ExZHkzcjZaeTErbytXSVFmR20xWVZWcTJ3Y2Y5UHUyQ3I2MFB0OXhqTTJ2Nk0rbzFESW4Kc05j
bU92c3laNndKSUhrL1lFZnpBRjZ1R3loWkUrRGxWd2ozMnJqemU5aC80UFpzTkt4VUVzZHhLWHRU
UTdRdmMrdjhpc0JYVXFGYwpTV3ZlNGNvRlFSZ3dOc09YNXQrQjdnWmNQZ3VkTllXTUhOUFFvVWJU
dnN6QWp5Tll2YXpmZitHRTd2YmREdmpKdGQ4emJlQnFFL0JGCjlyODdqbjVQclFtTktlMUFObHBR
bjlCczhOSVBXRDd5WFo0RXJxREh3NndCYmNNSU5oUHNpQWtvNVhKaStXRUU5alNLem5QZjQ5eTcK
LzJ0MjJ4RkJMN3BDcFRSTnlhMm50RDhJdmtnQnozTDdNczN3U2Ftb05oUjN2NjNFazk4TUNmeGl6
VStxZlNtTktoQ1I0dkladUh4YQpONUxXSi9UeXJGcFRyN1BUZFhodEdzSUFPdXM2eGR0WjA0a2VF
Vy9QNFpPNWF5RjBubUJxenVyc0tRRGYxbnpYemFpL1dvZEtJd3NqClhRK09QODA1QTdnOTh5L0lS
UUU3Vmc3T0MwQStFa2hNUUFkb3Yvb2NyejczZlE3YXd5S1VDT21IbDJsVzl3NW92dDNBbWRUemJj
MlgKU0tRd216S2dhTTNDWFE5NlBQZTltQ2dzMEh4bDFmWUxzbmU5anE3WVhUbHZGV21TMThqY3dL
OXhvZDhXd1UrdVl3R3JsM1NQb2QzZQpsZmY4azJZU3p5d0FyZGFoMnRUbmNsV2JoSlBQc1hibUtL
OWFHdCt6NkQ4ZkFiRFRUbUErR1pTRUg0a0FiRVFCeTAvK0plZkpsZFdECmFCVS9XcytXZUk5bzRF
ejIzc3ZBenpKOFVpbm05anJjL1pCTHVUcm9DeWpHZzY4WTl1S0ZSZnNEYlZoWEMvNFlBWW9qV0Z1
QzBCOEcKUC9YOEU4ZXZvaE5SMWFabXFtcmRoSUFldlBRRExzUWh5OENHSlFDQnhRRDVKQkE3N1FN
NEkxWUxwLzdBNmpMdS90dllPNzlJMWZZRgpGRUt2R1lDUkRsOGVmR1YyVUJSSlRVQXFhaE9LNlFX
SDFTczZDVFJRZDdmQmw0TTFlWlhQN1k4RCsyckFIL1VaMW5QbGFsSi9HQVEvCm9mNXlCV3JHVEUz
T2F2dGZuOVM1aExNdnMvR0RQK2ZKT09RTWVqRFVpckgvblp3WnVDNE1RRUZEU0pRTEJkdkFSbStE
ODkvL2o1eTEKZStJVkVNWnRnbWhOZzY4RysvYVRrdTRBN1J2VWhKWGVsY2F4bUdqQi9lOXltTnZy
L01qQlQ3N2pPUENUcGVHdXUwbk1YOVdaeVBxRQpQcXBObll4eVBYanhjYzc1SGM0YjdXL25Rc0Nv
b0NHRW5XWUFtd25zcFVqNW9SR1ZsVXZJaFJ0WVhMeVIra0NYb29weDNESU9ybGsyClhxejVpU2tZ
QUY4bTF4cEV4OVVMTnJ5U2R0cmk2UFVGSDJCaVJoZDVncDUyK0VhQ1AyVjFBOG1DV3IrbkhiMzZw
TmI2eVZudE05UW4KdEFBY2Y1YlZKNzdHRXlMbWJJSDJKNElRWFE4ZndDc0EzeG14WGpBZElCVkh1
SDZmcWZ2ZnphTHJabjAxd3F6bGQ1eVNXZnRtSm5SdgpBcjVTR2ZoU3lsUUlwSVRKYVlmV3ZLbk90
UTBRMXhuOCtvVDI3T3RON2JpVktybzNJSi9PZGNhQnJ5endxOXJlTjZkaGNrNExRR05LCjIzK3Zo
UHIySDNGMCtSd3ZtdER2Q3JBS3JGdVJRSGc5d0IvRkFMWjVLQm9kVXdZcVY4N1RyOVJZdU9VdVBU
OG82YXNRU2llcVhLZGsKdkhCcE5taklXcmRIYVg2U3owL1R1K2E1Y2dWbUZvd2dtQnpBQUdocWs4
TE9Gc0d2Ti9XNHRtWkxnNWNrZVZDRFFyQ3A1bHU1L25KVgp6d0JzdHJUV1R4bmJYNXZRclBEazE3
bnc3RGY0TG5vZThKVUM3USt1bC9hUE13SE9KazZoQjVSWHIrRHR2NVdGNlFVcWRyK0FqZ1IwCjNE
UFE5eWZHYWI1S2QvT3d3YzlXMGloS0ZaamVCZk0zNkFZS25YaFJtR1VEMndZL2FjU1ltSWJaM1Rx
MTYzckZoWjJrNXlEbzYvYzIKVytQQlQ1aWpXb2Y2bEtIOU9VUDlrMW9vTHAyaTg3MnY4a3kvdzBu
ME5QQmxvLzBicjRmMmp4T0FjWkdCYTFpZzFOMGc5bnRNdnVsaApkbVAxM0V0bDlyeFZEazdTZ2lN
SDYvbDV6VStyZVFYZzU5TzdqaW5Dek85VnRPYWdNYUdMT3BYYTRPZzFyMkxPWlRON3gyaGpyYUh0
CmUyc09Xdk02TElQTlM3cEo3Mys1T2hyOFpFbDRxV3pBbjlSL2E4cWkvbHBELy81YmY4VExaMS9t
R2FQOVMwWUFiQ2ZRMXY3cnNsaHMKbkFrWTV3OGtReVc5aTZmcDRqSi8yNzIwQmxuQUpCWWRKMTBP
clZMTmwra05sMUphbXFvMkJUK2YzblZkSFVaTlRHdnRhczFEYTVkbQppZ1RncWRtTWVoUHZ1MXcy
aXpqanJiZHhTWkcxaGc4VW5nckFyOVEwbzB4TVorQTNrNVJ2RFg3dzU1eDk1di9qY2ZRT0lGZU1B
S3haCjJ1OWZqOXovVmdYQXlmMnhJa0ZJemNLbHM4U3RHZWIzM0V3anY5UlFDcEdzcGpmT203UTBY
UnBLSHFaOUlkVEFFcXNNL01FRVQ3NncKTXdwQVlRTmMwTGUvMVhxK25WUXFwUDJ5NWZFYm16ODVw
eDNBK3FUKzNhdFBzdktELzRlL2pueGVzOEJmdFJKQWR2WlA3SFRvZHpVTQprQThQQndRaDdCTXZY
OFJiUE1EYzlEeVZmTWV0OWdHc2haUENaQVMzRFQ3andZOExudDhFL1B5S0hSRVBMK0FvU3U5dUJu
NnpaWmhuCnpoUjhKclZKdUhTS3puZi9oT2RXTDNIVW92N0U2eCtWOUZGai9EUG5lZ2xBNGNDSUVV
TGhicXpTVzF1aWR0UHR6RGFuS0RuNXBjWksKWldOUmtwQU5PMWV2cjBlQ1gxRFBMd1IvbTVvL3Jt
Ky9VT2pNc2krN3F6ZE44ZGFIYVg5aU9yUDc3VFdDNzN5Rm8rZGU0VmtML0NLdgpQeTVvKzNKR0NB
SFhJaERlRnNFZnh3NXB1TGg4Z2ZiR0tvMWI3bUsyVXMrR1N5YlROSkoyTHFXY2dVSk5Fc2JsMDY1
Rm5UeWpOSHk3Cm1yOWQyaDhBMzVyamt6cVg5U3pSazJyK2pJbjNHeEQ2eE4vNVk0NGRlNG9uUjJo
K1V2ZlA5LzQ3QmV6cmJFRXh0eVFNM2hZRnhkbnEKK2RKcDFqZFdhZDV5RHpQbGFwWnFWbGFGTG4y
THhRS0pmYzhQVFNxcTU3L2VOai90NUxYWDhabjBic1ZFRnZVcHk5dWZ5elMvMG9BNApSbnpuUDNE
aXBlL3h3NXpXYnhSVS9NUW1FWmlieTlHTUV3ZzJFd1J2RzJ4Uk5LZ3d2NzRHZ0F1bldGMWZwbkh6
SFV4WDYzaEpWa3haCjBwQlc4WkxpaWNxSGdSYnRXNnRzQ3pYL2VvSXZzM1VDaWExMzNheWJwOWJN
aWp1cHQ1L1kvQVpFUHZGMy9vaFRMejdPMDFhY3YyNUMKdlNKN2IwOERzL011WHU1NUx5Y0l0bUNN
QyttdmlRSEcvUXlVQlM2Y1ltWDFNdFc5QjJrMXB5aWxTNnNkdXdsUlllWTdEeVJza3EzNwpWQklP
N3BEbWI5ZmhVemJ3Vmc5L3VUSkkrWk16SnRHVGhIcW13dGRaSS95cnIvRGFrZS95Zk03TDcxbmRQ
U0xYa1dWblhQTkh5VG9TCjRjaUg1elpyRkFIdlhDMERqQUo5MU5RS2RlazBxMWZPVVpyWnpkVE1M
aDBkRkszVVZzWXZTSElET21PbnNtN2JoQlhHUlFGWEFmNlEKWjUrdkM1Q3QyMCtBcjlSTlNkZTBj
MDNPbVZEUEpIbVNPUC9LYWZyZi9iODQ4OHFUdkdMRjlqYmRpNXpHSjhCV3NVYjFXMGZGS3NpTgpF
b2c4RXppYm1RTHZHc0V2QXQ1ZXZTcVhMN0I2L2ppeTJtQml6MDAwN0JXNVRwSGxzbHEraHFLQkVl
SGdkc0VmQ3VXS1JyUTQyYVNRCmhPNnJUVTN0elphMjkwbHFONm5yMXhwUXFzR0pwK2w4NzA4NWUv
cG91czlmMzlKNGxRUGUzcHdqMmFlcFJyWmxuLzE4WGlBcU9VSHcKUmdnQ08rRURiSlVObENYZEFw
RHRWVFpPdlVRbjhHa2N1SXRXT2o0OUIzNDJncFhCSmxBNVBIREpyc3lKWFB1VkxKakdNZFNkbXdN
OQpiK09UNVZxVnVyYnpkYVAxemVtTTdpZU5sMStiTUpXOUNqejVGNno5NFAvbTdOSjVsaGpjMDBk
YTM5YmVtOUhlbjdFeDRxam5qbG9CCk0rUUZZWndaU1AyMnF4R0FmSWpQQ08wZkdEVVQrdlJPdk1E
Rnk2ZnhXdk0wcCtlcDJDVGxxTXk3VnJhQURKaUo0V09nMTA4V09IQ2kKb0ZBa2M1NlJhMm03MWJD
WkFOK1kwcldIaVpsTTQ1dEpXcm11MldIcEhOSGpmOExLRHgvamZOQ25WNUREdDUyNktybGQyU3l3
bTlheApWVUhJczBIZUh4akozcVdyMUhUSGt1aTR3QjhZdGRqVWYvNjcrQmRmNC9KYkgrR09kLzRN
ZTExUHoxeDJ2T3hmTFpHTlhMZm41cVNICk96aWdXVWx3VlRhWjAvN2FBKzlKN29vOXBqMVpvbTFt
OTN2MmNxMXExcmRmYVpoR3pyb3BQSmxHVHRlRlo3NUY3NFZ2c1hINU5CdGsKb3lRVG9CM3J1bWlQ
bi96MEQxbnd1NWpoUFlNR0Z2QXl2S1ZjM3pJSnp1RENlR1R5MWEvRkJEZ0ZESkJ2TUMyY085QnJz
M0hzV2M2ZgpQWVlxbDZrdTdLZnVXUFBLVTdCY0RZcHJ3RWtXVTdxMlVGaXZkNno1T2dtZDI2K3h0
YnhrYmRKa2EzdDkwbEM5b2Z1Smx1N2JiMDRaCk85L1VacUZVZ2RlT0VQM1ZuOUw5NFdPc2Q5Y0pj
elR2NW5vcUs1WnRyK1cwMnRiNDVnaFdzRi9mc0h5RlBBUGt0VitOT0NBM0srTnEKaFlDQ3pxRXl1
WjFIZ1VsZ0NwZ0dXc0FzTUYxcnNPZndBOXo1NXZldzcrQjlwcm5FaEdCSjVpMjIwcndpaGlnQ0VX
WG5PTlNkdVZHbwpYeHVIMld2em5yM05DT25HVFo3WnI2ZVNhWDl5TGlWSE9admljZTRZNHVVZkVC
NTlBci9mVG9HM1YrNk9tdXdsQ3hSRUZUdzNhbitnCi9LNWg5bmF5ZmF1RE96bVM5UVVkaXhuc0hr
T3hFM05ublJGU1g4NUpmYklMK1lRUkFQdVlia3l5OTdiN09YVHZPOWg3K3dOTVMydXEKdG0zZmJX
OWZXR0Nud2hCWjRKdlhEOFR6eVg0OVppaWs0MWs5QTZYQllRM0pkVEkvOE14UnhDdFBFci82SkZG
bmRXaUduOXdFYUhMbgpVWkdUWXZ3R1VSR0Qrd2ZhK3doM3JYNkNEZXU2bll0R2d1UXpkM0x3OEtZ
dDVUa25aOUlTaGlsenRNb1Y1ZzdjeFcyM3Y0VWI3bmlRCjJZa1p5b205dGlkdnlweTNuMDdqeWxV
RWg1dytTL3Vka3A3dGs0SmMwdWJGTFdWbXcrK2lUajZQUFBrYzR2aXp4R0cvVUhQVk5vOVIKb2JQ
S0NaRE5KRVVNWUF0QW91a0o4T3ZtMkxEcURiMzhPc01kblR4ZFVMandMTTgwdng5eElnd0pLeVFD
TVpWY3orNW0zNDEzc1AvVworMWc0ZUMrdHhxVE9LTnJ0WFNMdi9lZWZ6emRTdVlPT1pESVoxSFkw
K3ozVXVWZFFaNDRpVDcrRXVIeDZvREszR2FDYlhiUEpaNDBUCkFERkNBSHFXQUNTZ3IxbjFobldy
eTZodmhhYnhUZ3RBM2k4WXV5TnBRUmhrQzhTRWJUWmE4eXp1dVpuRnZiY3dmOE90VE82N2xXYTUK
aGp2WUdaeWxrcE5Fa2wySXNvMlY3ZjNIRVZ4NkRYbnBGUExDU1gyc25COENmUnlBNC9id0tkclU2
VDlyQVNoaUE1ZkJ2WW5MT1Vhbwo1WmdoZnd4NXhzMFdjN083bVp0WllHcG1rV1pyRjdYSkdjck5h
VXExSm02bGhsdldtUWFpQUJYNHFINEgxZDFBZFZkUjdSWGsyaFhrCnlpWGs2a1hreG5MaFlHYTF4
ZWRnL0VCbk5oR2kvMnhNd0ZiWW9FZ1FLcmwwWno0Vm1vUksrYk1kR2lWQ2xIeFd1YUNLdHBYTkY3
WUMKc2h4VEZXVWJndlFqZHdKTDExa0FpbTZZdy9CbXlJazA5NjI0dGxyQUVFVXAwMlpPV0dxNUZH
a3BWelZ6TnNtU2phdHpPR3d5WG44YgpnaUJIVVA5T2hZRzlYQTJpY01EVTlSYUFvdXloWTlHYloz
MjUwUHcvUVM1WG5xK0syWWtVV3lDUzYrUTFSV1hVY2RXeVVmME5lZUNjCk1XQ1BlNXpQbEk1S242
dUNUT0E0QVFpc2JxSytWWFhzV2tKZ1R4a2JpR0ljWHY4Zlo5QW5IMm81OTNKRmpYd1p0TWh2cU9X
T3FtVUcKU2pselVDUUVGTmNsQi81bmVZMHNXRVQ3ak5IOG5VZ0Y5NjNuUXdybURQd29CR0JjRW1u
VStvT1NGVXJhZmtNbFovdHJCUld5OGlZMQo4eUpCVUtPcVp5TjhCK2NxQmFCb3J3YTFpUURFT1RZ
SWMwZVFPL0xBRDB3Yi9WRUx3RGhXS0ZxRFlHdHp1VUFnUmpWTWxBdGFxaGpECkJLTllJVjllVlZ0
b3Z0d3MrU05IMUU5a3psY3FNZ2R4emltTWNzVTNtekdLaWs3OHVBZ0FtL1N4amR6YjJBSzROT2J3
dHRGWW1XK3AKWWdzZE50dGhBTVprRXNVWVIxQVcxQnFLV0NFZUlUQ3lLR3Y1NHlnQW03RkRIand2
Wnk3eXpaU2pnUGNZMGQ0K0F2UnhDeksySWdCcwprdndaeFFhamZJTnh3akdxQ0RXVXdmeEpFSUJS
Q2FaUmF4ZHRsbkRHVUg3ZTV5Z1NobkhBYjJjangrMm1nb3VFUVkwb09Ja3hWVVk1CkptM05UNm9B
akRJVGpBRnZITUNibVlDdDByNnppZmF6aFZxQjNFUW8xSmhLWXRGempNbGIvRVFMd0NoQmdPMHZv
ZHJzT2JhbzlWc1IKZ00xU3lHb01TMnozT1RiSlZ3RHcvd05ucUtvd0V4ay90UUFBQUFCSlJVNUVy
a0pnZ2c9PQoK
</data>
<flag name="review"
          id="21326"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40970</attachid>
            <date>2009-10-09 16:07:20 -0700</date>
            <delta_ts>2009-10-12 08:47:04 -0700</delta_ts>
            <desc>Updated QWebElement::render implementation with API autotest </desc>
            <filename>QWebElement_render_with_test1.diff</filename>
            <type>text/plain</type>
            <size>26907</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMDktMTEgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlCisgICAgICAgIGVsZW1lbnQuCisKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnJlbmRlcik6
CisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1l
bnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6cmVuZGVy
KToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZWxlbWVudC9xd2ViZWxlbWVudC5xcmM6CisgICAgICAg
ICogdGVzdHMvcXdlYmVsZW1lbnQvaW1hZ2UucG5nOiBBZGRlZC4KKwogMjAwOS0wOS0xMCAgU2lt
b24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNjIp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTIgKzMwLDE0IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZy
YWdtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgog
I2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUHJvcGVydHlOYW1lQXJyYXkuaCIKKyNp
bmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdEZ1bmN0aW9uQ2FsbC5oIgog
I2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCiAjaW5jbHVkZSAicXRfcnVudGltZS5oIgpAQCAt
NDUsNiArNDcsOCBAQAogI2luY2x1ZGUgPHBhcnNlci9Tb3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCisjaW5jbHVkZSA8UVBhaW50ZXI+CisKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBjbGFzcyBRV2ViRWxlbWVudFByaXZhdGUgewpAQCAtMTY3NCwzICsxNjc4LDM4
IEBAIHZvaWQgUVdlYkVsZW1lbnQ6OnJlcGxhY2UoY29uc3QgUVN0cmluZyAKICAgICBSZXR1cm5z
IHRydWUgaWYgdGhpcyBlbGVtZW50IHBvaW50cyB0byBhIGRpZmZlcmVudCB1bmRlcmx5aW5nIERP
TSBvYmplY3QKICAgICB0aGFuIFxhIG87IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogKi8KKwor
CisvKiEgCisgIFJlbmRlciB0aGUgZWxlbWVudCBpbnRvIFxhIHBhaW50ZXIgLgorKi8KK3ZvaWQg
UVdlYkVsZW1lbnQ6OnJlbmRlcihRUGFpbnRlciAqcGFpbnRlcikKK3sKKyAgICBXZWJDb3JlOjpF
bGVtZW50KiBlID0gbV9lbGVtZW50OworICAgIERvY3VtZW50KiBkb2MgPSBlLT5kb2N1bWVudCgp
OworICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm47CisKKyAgICBGcmFtZSogZnJhbWUgPSBk
b2MtPmZyYW1lKCk7CisgICAgaWYgKCAhZnJhbWUgfHwgIWZyYW1lLT52aWV3KCkgfHwgIWZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnJhbWVWaWV3KiB2
aWV3ID0gZnJhbWUtPnZpZXcoKTsKKworICAgIHZpZXctPmxheW91dElmTmVlZGVkUmVjdXJzaXZl
KCk7CisKKyAgICBJbnRSZWN0IHJlY3QgPSBlLT5nZXRSZWN0KCk7CisKKyAgICBpZiAocmVjdC5z
aXplKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBHcmFwaGljc0NvbnRleHQg
Y29udGV4dChwYWludGVyKTsKKworICAgIGNvbnRleHQuc2F2ZSgpOworICAgIGNvbnRleHQudHJh
bnNsYXRlKC1yZWN0LngoKSwgLXJlY3QueSgpKTsKKyAgICB2aWV3LT5zZXROb2RlVG9EcmF3KGUp
OworICAgIHZpZXctPnBhaW50Q29udGVudHMoJmNvbnRleHQsIHJlY3QpOworICAgIHZpZXctPnNl
dE5vZGVUb0RyYXcoTlVMTCk7CisgICAgY29udGV4dC5yZXN0b3JlKCk7Cit9CisKSW5kZXg6IFdl
YktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3
ZWJlbGVtZW50LmgJKHJldmlzaW9uIDQ4MjYyKQorKysgV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgTm9kZTsKIH0KIAorUVRfQkVHSU5fTkFNRVNQQUNFCitjbGFzcyBRUGFpbnRl
cjsKK1FUX0VORF9OQU1FU1BBQ0UKKwogY2xhc3MgUVdlYkZyYW1lOwogY2xhc3MgUVdlYkVsZW1l
bnRQcml2YXRlOwogCkBAIC0xMzcsNiArMTQxLDggQEAgcHVibGljOgogCiAgICAgUVN0cmluZyBj
b21wdXRlZFN0eWxlUHJvcGVydHkoY29uc3QgUVN0cmluZyYgbmFtZSkgY29uc3Q7CiAKKyAgICB2
b2lkIHJlbmRlcihRUGFpbnRlciAqcGFpbnRlcik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
UVdlYkVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwogICAgIGV4cGxpY2l0IFFXZWJFbGVtZW50
KFdlYkNvcmU6Ok5vZGUqKTsKSW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9xd2Vi
ZWxlbWVudC5xcmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3F3
ZWJlbGVtZW50LnFyYwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvdGVzdHMvcXdlYmVs
ZW1lbnQvcXdlYmVsZW1lbnQucXJjCSh3b3JraW5nIGNvcHkpCkBAIC0yLDUgKzIsNiBAQAogPHFy
ZXNvdXJjZSBwcmVmaXg9Ii8iPgogPGZpbGU+c3R5bGUuY3NzPC9maWxlPgogPGZpbGU+c3R5bGUy
LmNzczwvZmlsZT4KKzxmaWxlPmltYWdlLnBuZzwvZmlsZT4KIDwvcXJlc291cmNlPgogPC9SQ0M+
CkluZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0X3F3ZWJlbGVtZW50
LmNwcAkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvdHN0
X3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBAQCBwcml2YXRl
IHNsb3RzOgogICAgIHZvaWQgbnVsbFNlbGVjdCgpOwogICAgIHZvaWQgZmlyc3RDaGlsZE5leHRT
aWJsaW5nKCk7CiAgICAgdm9pZCBsYXN0Q2hpbGRQcmV2aW91c1NpYmxpbmcoKTsKKyAgICB2b2lk
IHJlbmRlcigpOwogCiBwcml2YXRlOgogICAgIFFXZWJWaWV3KiBtX3ZpZXc7CkBAIC04NzgsNSAr
ODc5LDc5IEBAIHZvaWQgdHN0X1FXZWJFbGVtZW50OjpsYXN0Q2hpbGRQcmV2aW91c1MKICAgICBR
VkVSSUZZKHAucHJldmlvdXNTaWJsaW5nKCkuaXNOdWxsKCkpOwogfQogCit2b2lkIHRzdF9RV2Vi
RWxlbWVudDo6cmVuZGVyKCkKK3sKKyAgICBRU3RyaW5nIGh0bWwoICI8aHRtbD4iCisgICAgICAg
ICAgICAgICAgICAgICI8aGVhZD48c3R5bGU+IgorICAgICAgICAgICAgICAgICAgICAgICAiYm9k
eSwgaWZyYW1lIHsgbWFyZ2luOiAwcHg7IGJvcmRlcjogbm9uZTsgfSIKKyAgICAgICAgICAgICAg
ICAgICAgIjwvc3R5bGU+PC9oZWFkPiIKKyAgICAgICAgICAgICAgICAgICAgIjxib2R5Pjx0YWJs
ZSB3aWR0aD0nMzAwcHgnIGhlaWdodD0nMzAwcHgnIGJvcmRlcj0nMSc+IgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjx0cj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjx0
ZD50ZXN0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3RkPiIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiPHRkPjxpbWcgc3JjPSdxcmM6Ly8vaW1hZ2UucG5nJz4i
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvdGQ+IgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIjwvdHI+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAiPC90YWJsZT4i
CisgICAgICAgICAgICAgICAgICAgICI8L2JvZHk+IgorICAgICAgICAgICAgICAgICAiPC9odG1s
PiIKKyAgICAgICAgICAgICAgICApOworCisgICAgUVdlYlBhZ2UgcGFnZTsKKyAgICBRU2lnbmFs
U3B5IGxvYWRTcHkoJnBhZ2UsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKTsKKyAgICBwYWdl
Lm1haW5GcmFtZSgpLT5zZXRIdG1sKGh0bWwpOworCisgICAgUVRlc3Q6OnFXYWl0KDIwMCk7Cisg
ICAgUUNPTVBBUkUobG9hZFNweS5jb3VudCgpLCAxKTsKKworICAgIFFMaXN0PFFXZWJFbGVtZW50
PiBpbWdzID0gcGFnZS5tYWluRnJhbWUoKS0+ZmluZEFsbEVsZW1lbnRzKCJpbWciKTsKKyAgICBR
Q09NUEFSRShpbWdzLmNvdW50KCksIDEpOworCisgICAgUUltYWdlIHJlc291cmNlKCI6L2ltYWdl
LnBuZyIpOworICAgIFFSZWN0IGltYWdlUmVjdCgwLCAwLCByZXNvdXJjZS53aWR0aCgpLCByZXNv
dXJjZS5oZWlnaHQoKSk7CisKKyAgICBRSW1hZ2UgdGVzdEltYWdlKHJlc291cmNlLndpZHRoKCks
IHJlc291cmNlLmhlaWdodCgpLCBRSW1hZ2U6OkZvcm1hdF9BUkdCMzIpOworICAgIFFQYWludGVy
IHBhaW50ZXIwKCZ0ZXN0SW1hZ2UpOworICAgIHBhaW50ZXIwLmZpbGxSZWN0KGltYWdlUmVjdCwg
UXQ6OndoaXRlKTsKKyAgICBwYWludGVyMC5kcmF3SW1hZ2UoMCwgMCwgcmVzb3VyY2UpOworICAg
IHBhaW50ZXIwLmVuZCgpOworCisgICAgUUltYWdlIGltYWdlMShyZXNvdXJjZS53aWR0aCgpLCBy
ZXNvdXJjZS5oZWlnaHQoKSwgUUltYWdlOjpGb3JtYXRfQVJHQjMyKTsKKyAgICBRUGFpbnRlciBw
YWludGVyMSgmaW1hZ2UxKTsKKyAgICBwYWludGVyMS5maWxsUmVjdChpbWFnZVJlY3QsIFF0Ojp3
aGl0ZSk7CisgICAgaW1nc1swXS5yZW5kZXIoJnBhaW50ZXIxKTsKKyAgICBwYWludGVyMS5lbmQo
KTsKKworICAgIFFDT01QQVJFKGltYWdlMSA9PSB0ZXN0SW1hZ2UsIHRydWUpOworCisgICAgLy8g
cmVuZGVyIGltYWdlIDJuZCB0aW1lIHRvIG1ha2Ugc3VyZSB0aGF0IGNhY2hlZCByZW5kZXJpbmcg
d29ya3MgZmluZQorICAgIFFJbWFnZSBpbWFnZTIocmVzb3VyY2Uud2lkdGgoKSwgcmVzb3VyY2Uu
aGVpZ2h0KCksIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjIo
JmltYWdlMik7CisgICAgcGFpbnRlcjIuZmlsbFJlY3QoaW1hZ2VSZWN0LCBRdDo6d2hpdGUpOwor
ICAgIGltZ3NbMF0ucmVuZGVyKCZwYWludGVyMik7CisgICAgcGFpbnRlcjIuZW5kKCk7CisKKyAg
ICBRQ09NUEFSRShpbWFnZTIgPT0gdGVzdEltYWdlLCB0cnVlKTsKKworICAgIC8vIGNvbXBhcmUg
dGFibGUgcmVuZGVyZWQgdGhyb3VnaCBRV2ViRWxlbWVudDo6cmVuZGVyIHRvIHdob2xlIHBhZ2Ug
dGFibGUgcmVuZGVyaW5nCisgICAgUVJlY3QgdGFibGVSZWN0KDAsIDAsIDMwMCwgMzAwKTsKKyAg
ICBRTGlzdDxRV2ViRWxlbWVudD4gdGFibGVzID0gcGFnZS5tYWluRnJhbWUoKS0+ZmluZEFsbEVs
ZW1lbnRzKCJ0YWJsZSIpOworICAgIFFDT01QQVJFKHRhYmxlcy5jb3VudCgpLCAxKTsKKworICAg
IFFJbWFnZSBpbWFnZTMoMzAwLCAzMDAsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBh
aW50ZXIgcGFpbnRlcjMoJmltYWdlMyk7CisgICAgcGFpbnRlcjMuZmlsbFJlY3QodGFibGVSZWN0
LCBRdDo6d2hpdGUpOworICAgIHRhYmxlc1swXS5yZW5kZXIoJnBhaW50ZXIzKTsKKyAgICBwYWlu
dGVyMy5lbmQoKTsKKworICAgIFFJbWFnZSBpbWFnZTQoMzAwLCAzMDAsIFFJbWFnZTo6Rm9ybWF0
X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjQoJmltYWdlNCk7CisgICAgcGFnZS5tYWlu
RnJhbWUoKS0+c2V0Q2xpcFJlbmRlclRvVmlld3BvcnQoZmFsc2UpOworICAgIHBhZ2UubWFpbkZy
YW1lKCktPnJlbmRlcigmcGFpbnRlcjQsIHRhYmxlUmVjdCk7CisgICAgcGFpbnRlcjQuZW5kKCk7
CisKKyAgICBRQ09NUEFSRShpbWFnZTMgPT0gaW1hZ2U0LCB0cnVlKTsKK30KKwogUVRFU1RfTUFJ
Tih0c3RfUVdlYkVsZW1lbnQpCiAjaW5jbHVkZSAidHN0X3F3ZWJlbGVtZW50Lm1vYyIKSW5kZXg6
IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9pbWFnZS5wbmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3Qg
ZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFw
cGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJlbGVtZW50L2ltYWdlLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBl
CiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FB
QUlBQUFBQ0FDQVlBQUFERFBtSExBQUFBQkdkQlRVRUFBTmtEUXRaUG9RQUFBQWx3U0ZsegpBQUFM
RXdBQUN4TUJBSnFjR0FBQUFDUjBSVmgwVTI5bWRIZGhjbVVBVVhWcFkydFVhVzFsSURZdU5TNHhJ
Q2hOWVdNZ1QxTWdXQ2tBClN5UDR5Z0FBQUFkMFNVMUZCOVFKSFF3QUgyNEs3VHNBQURqMlNVUkJW
SGphN2IxNWtDVFhmZC81eWN5NnE3dXJyK25wR2N3QWd3RXcKR053RVNZQWdpU1VwZ2hSUHJ3alo0
cldVU1N1c2NPemEzSkIzTGUxL0c3R3l0WkpzaDhSVmJEaThOTmVISklzS1MxeUoyaFd4RnIwVQpE
NEVIUk56QVlBRE1oYm1QdnV2SzY3MjNmN3lYbWEreXNxcTdaM3BBMGtaSFpHUldkVlYxVjM1L3Yr
L3ZmTC9uOE1iUDYvSGpXR2NICmNJSGZCUDVoOG9KSFAzNDMvK1MzUGtTOVhrSXBDVWdVTVVxWmd3
aXBRcFFLa1NwQUtwOVlocFNWVC9OSXdPclpDbzdUUjRrUUpXT1UKakt5ekFDVlJTcUNrUUNtRlVp
QlU5bys5OGZQNmd2L3J3UCtZdk9CblAzRVB2LzZGRDFPdXVOc0d2MzRrWk8xa0JiZlN5NEdmQ01C
bwo4SVZRYndqQWp3RDgzd0QraCtRRmYvT1Q5L0Fidi9OUlBJOXRnVjlWUHBVWFk5WlBsYTRhZktu
MFAvVEd6NDhJL0VjL2ZqZi95ei83CjRMYkIxNW9mMEQzblhoUDRVcjVoQWw1UDhQOHA4RXMyN2Yv
YWIzK0lhdFhiUWRyZjNPYmI0TWZpRFFINGtkbjgzL3lkaitDVm5CMmsKL2UyREg3L0JBSzgvN2Yr
dFQ5M0xyLzl2SDdsNm0zK21oT3RkRyswbjRFZXhlc01IZUIxQ3Zaek4vOERWMmZ5WEF6Yk9lVHNL
ZmhTLwp3UUQvUllSNm84QUhTZWtON0g1OFE3M3JDYjVBRVVTOElRQ3ZSNGJ2YWtLOWFrTDdaOHZY
UmZPRENMNzBlL3ZmRUlBZjExQ3ZlaVJrCjVXVDErbWkrRDEvODhvMGN2Vkw3aVJVQVp3dlA1MStq
Umx5emhlZTNhdk4vNmZyU2Zyd0R0Sy80NHIvZno5R2xHaDQvR1U1Z0hsU24KQUlEODQzRUNvQXF1
UnowdUVvcnJHdXBWajRTc25hNFVlUHRYRitmYnROK0w0SXUvdTU4alMzWEtnRUw4V0RMQUtNRGRn
bXUzNEhkYgpGUUFGeUJIbi9MV3lQbE50WnZOLzlaL25iYjdZY3FpM2NycTY0K0FuRHQrWGZrOXJm
Z0srK2pHS0FteXc4a0FuanoxejdWblBlN25mCjIrOGZSZkhTWEF2cnNUQm4rOXIrdmN3SlQvSy8v
YTgyK01XaG5rQ3BhRXVhZnoxc2Z1THdmZkgzdGMzM0xQQi9IQVRBMWxZM0I3b04KZUNsM0xqcnlB
bU4vdnNvSlFLTGRZc1FSNTg3S09pY0M4R3NENEgvU3BIYzlaOXVhWDNreFp1MVU1Zm81ZlA5K1Aw
ZVdxZ09hcjh6LwpWL294MFhZYjlBVG9CT3l5dVM1Yno1Y0xYbWQvaGpQQ0JLZ0NiWTh0b0NQcmNa
VDduYkRlKzQrQnp3L1Evai83UURINGJOTE04VXJBCjZybks5UXYxL21BL1I1Y2FsRkZENEN2azYr
b0VGamx1ZVMwdTVRQ3ZXRWZaT3BkekFtRXpReUlJUlF4Z0EyK0Rud0NlSEdIQk9YblAKL3dUOC9S
VDhUOXpEci8vMmg2Z01oSG9XK0NxOENvY3YyaEZ2LzB1L3Q1OGpWMnA0T0lYZ3Y1NG13TWxwZkJI
b3lWRTFRQ2ZuV3NGegpsWnd3NUUyRG0yTUJsYlAzdGdEWW9DZEhZRjM3MXUvL2UrRHZiRTc3d29B
ZklWVmtnUjhNeFBuWEw4T24rT0x2N3Vmb1VuM0k1dHZYCnIwY3F1QWg0TjBmbEZRdmNtbld1bTNQ
TmVwejh6aGFHVVVKUVpBTEdnUjlZZ0FmbW5Cd2g4UFBBeDVNUCs5alAzY1d2L3RPZnhuTnQKYjk4
QVJtUWN2eWhsQUExK2tOSCsyZXRFKzM1Rys5NEkyay9Bdjk0TWtQZmtpNEN2NWtCdVdFZTk0SEVp
Rk5XcEdlYm05ekM3c0pmVwpyajFNekMxU24xMmdPajFMdWRtaTFHamlWV3E0S0FoOFpLK0xhSzhU
cnk4VHJWNGhXTHBJLzhvRk9sZk9zYjUwa1pYMkdzc1c4SDF6CjdwbnJEd01mekd6K1hmemFiMzJJ
V3Exa2JxWXk0TWRXdkIrbHdDc0wvUHFSY0VTb3R6TzUvUy85UVVMN200T3Z1RDQ5Z2FQbzNnWSsK
RDNyVE9rK1lvMmtmc3dzczNuU0l4WU4zTUhmekhVemRlaGNUOVlZTy9aU2w0eXFuODZuN3IwWW5C
Zm9keEltWDZKeDhpWTFUUjFrKwpmWXlMcTVlNWFBUmczdGI4Uno5eEY3L3hoUTlUS3J1cFpSbWtm
ZHZ1KzFyemxVOUo2amF1NjFYVlM1SThXNkg5Qkh5dWd3RGtFelcyCkYyOXJmS01BOEVsem5rcXVG
L2F5NzlCOTdMLzdyZXk2KzIxTVQwMVRVamtFcnhWOCswM0o2OVpYaVY5OGdyV2pUN0gwdzIreVA0
NW8KcHVELzlvZnhQQWNKdUk0RUo3bkJPZkFKamNQbmE1di9RcmlqblR5RG9aN2lpMSsra1NPWHE1
VEhPSHg1OE5uaFZMQU52cTMxQ2ZCVgpDL1NtQlhqTGdENEZ0Q3BWNWc3ZnoyMXZlanMzUFBBZVpx
Zm5LQ3VHd2I1bThQUFBtOGZTM0JzbDRjb0YrSjgvcTUrZm5aM2h5U04vCndmenVIb0pUeEp3ZzdM
ZnBkZ1JTYU9ySE1lR2Vremg4R3Z6YWl4RnJwenk4Y2c4cGdwMEhQODN0YncvOG1ONk8rQUQ1WkU0
UjNTZjIKZk1JQzNUNm1KMXJzdmZjaERqMzBDSHZ2ZndmVGhkcWFBNzlSdVlISjJpMDBxemRScit5
aFZwNm40azNqdVRWY3Q0eVVNWkhzRXNYcgorTkV5ZnJTRUgxMm1HMXlnRjE2Z0YxelFGSzZLR2VI
N1g4K3VQL3lSRDdCdjkyRWNQT0F0T3BWWUQ1aXRYeURpS0NIUEU4c1RYTGtVCkl1TVE1UWJVQ0Nr
L0c3TjJ0b1JYN3U0OCtLYXdZK2YydHdOK3dPbzFNNEJ0Ny9QZzUyMzhwTkh5YVFQNkxEQmRiN0xu
elE5ejUzLzEKSWZiZDlRQlRBNVNjTzlkS3U1aW9IYVJadlluSjJpM1V5cnR3M1JxZVU4RjF5emlV
Y1J6SGFMSkFxaGdwUTRUMGlXV1BXUFNJUkE4aAplMFNpUXhodjBBc3VHT0ZZeGc5WDlkK1RHb0Jm
L2xub2QvWGZmdXpyZjhJajczczNEaDR1TlZ3cVF6ZEQwa1Z3aG9qbkVmd0pGNzUyCmlzNjVDbTY1
bzhFWDBZNkhldGNDUGx4YlEwZ1IrTFozWDdkc2ZLTHBNK2FZQldidmU0ajczdjFSRGp6d1U4em02
MjdKWmIxeUE3TVQKOXpQWGZBc3p6ZnNvZTFONGJoWFhxYUtRU0duQ0xCa2lFczliUmtpVlZkL0F3
WFVxbEZ3SHo2MGgxUlJWRlNObHhFVDFKaUxaSTQ0Nwo5TUlyZFB0bjZRYVgrT0hqcXluNGQ5MTlC
Kzk2OXp0eHFlTlJHM2xEWEpxNEhLYk1ZYzQ4dmt6NzNLdDRsUmdWNzF4Sk53bjF0T2JYCnJnbjhh
eEdBUFBnbHk5NG40VnJpMkxWczBJSDVQVGR5MjdzK3doMGYvaFI3WGM5OGxnVys0NVNabjNnckM2
MTNzekQxTUxYU0xseW4KREk2RFVqRkNoc1N5aDVRaGlsaHJ1OVFGRjZFaS9ieUtrU295UWhHbFFw
RmV5OUE4am5Gd0tYa05tcFc5Vkx3Wm10V0QvTCsvOTAwVApCTUNuUHYxSkd1VmQ0KytJNVZURVlZ
L3VwVy9pZWhJbEJGTEdSdnQzcHFxWGdlOWNFL2pBaGRJT2dXL2IrNmJselNjYVAyZkNxZmtICmY0
cTNmUEFUSER4MER4TjV1MTd5SnBpZmZEdjdaai9Ld3VURGVGNWQzeVFsREhDeEFWWWZDZmlKcGlk
Z0swUUt2bEl4VXNhRDRLc28KL1F4aGhFWElSREFFN1hYSnlWYzArSTFHZzAvODNLYzNCVjlKbldo
MHZCTCs2a3Y0YThmQlVSYnR4enRUMVN1a2ZWc0l0ZzQrOE5XcgpaWUE4K0ZVTC9NVFdweG9QN0px
ZTQrQjdIK1ZOajM2Ty9ZNHo2TlNWM0Fhemt3OXdZUDVUTEV5OWs1STNnUkE5bzlYQ0FKb0RYOFpJ
CmNwcXY5TTIyd1JlcHBsdmdTOE1NTWtuVnh1bmpXSVo4L2M5T3BsLzAvZTkvUDdmZWV1dFlyVmZT
RkJlTmFuVE9QSTRVWFhBOURib2wKQk5kZTFhdnRHUGpBeWRJMWhucWxuT1pQV1E3ZUhMQUwySFhn
RVBkOCtOUGM5WTczTTJlenZhTmNKdXUzY2V2dXY4dmk5Q1BVeTR0RQpvazBzdWtiek5janBkUXAr
Wko3UGFYNmkxYVBBdDJoL0FIeWpuYkdNRVhITW4zMzVWUHFGUC92Wno0N1JlUE50SEJOVE93NVM5
Tmk0CjhJVFdmdk81R0JhNzFsQnZtUGF2R3Z3L0JVNEIzZEkxZ0Y4dUFIL2Ewdm9GWU9IZUIzbkx6
L3dDaDIrL2h3a2IvTExiNHNiNXY4bk4KODU5bXVua1BzZXdSaXZXVThwVVNZOEVmcFBJdGFyNmw2
WU9hYjE0dlk0NDh1OFR5NVFDQUF3Y084TDczdmE5QTQ2MG1JVWVCSTNHRQpBcmRNZitVWS9kVVhj
VnlRVWViNEljVU9oM3JYRGo3UUsxMmo1dGN0Mms4MGY1Y0JmL2VENytWdEgvOTdIRnJjcDEzbkJQ
eXAyaUVPCjcvMGxGbHVQVVBZbWlNU0dvZmhFcTRXbDRTSU42WlRNYkhjbUZGZFArNGtwRVlZRnBJ
ajQxMTk0T2YzU24vakVKNWljbkJ6VWVpZlQKZUJ5bDlWRklIS1Z3WFpmT3VlOFQ5ZHM0Ympsei9I
S2FMNVZPT0NYZ0N3TytLTkw4MzkvUGtlWDZUdEorQ3Y1MkdTQWY1MWN0YjM4cQpwL21MRDMrQWQz
enE4OXpXbXFHTWxYamMwM28vaC9kOG5ybkp0Nlh4dWEzMXR1WkxHV2YyUDlIOFBPMFBnUitOQVQ4
Y2VMK20vWVFCCklvSWc1TmlSTmdDVlNvVlBmZktUV3V1TnhtcmdWUW84VWlLbHpxZTdDaEE5MWs4
L2pvdEV5a2hUdnhTcDg1ZUNMMEhJUWZCakFaRkkKbG1zbGJWejdPYks4c3piZkJuK3JERkNVMjY4
VmdEK1hhUDdESCtBZG4vbUhISnFZMUdHbUFqeTN5czN6bitIVzNiL0lSTzBBc2V4cQpla3hLcUFX
MFB3VCtDSWN2QlhVVHpiZk5TYUw1MGdyTi92S3hDK21YZnZpZEQzUGZmZmNOYW4xaTY0VkNxbHov
YUxsTXNIYWM3dEtMCktLWEQxUUduTHdlK2tLUkhKQ0NPbFQ0ckxRVC84bmNQY0hTNXZPTTIzd1ov
S3d5UTc5N0pPMzJUVm95L0MxaDQ4TDI4N1ZPZjV6WWIKL0pMYjRQYkZmOERCM1orajRyV0lSUy9u
NEEwNmZGS2FVTTRBUGdoK21EMi9hWndmR1pBSGJiNEdQMElJOHhreUpoWVJYLzM5TStrWAovL21m
LzR5dTh6dVpvK2NJaFhBVWpzcDFqYnNTS05FNSs5ZkUvbVVjcDVRNmdGSkdLQ2tSTXFQOUJQZzQx
WDVGR0lOUWlqQlcvS3ZmCnY1R2pTeFdyaldzUWVQMVlHUUc0ZXZDQmZta2IxRzg3ZlEwcnd6ZVRo
SHIzUHNoYlB2NzNPTlNheVFvNEphL0puWHYrRVFjWFBvdmoKbEJEU3o3N0lacHFmQ29WTisvRTI0
dnhNY0FvMVB3a25WY3pKVjllNWNNWUhZR0ZoZ1k5KzlDTkdCWFRmbkpTbWZpNFRnWkE0amdGQQpL
SkErRytjZVIwVVNTbmJjTDRsbHNiMlBoZGI2S0FZcElucGhpWC96NWYyOHRGdzE0TXNSMnI5bDhM
ODZEdnpOQk1BcHlQSGJLZDZXCmxlVFpkZUFROS96TUwzQjRjUisxQkh6UHJYUG4zbC9tbG9YUEFZ
N3VrTWtCbjhUNXc5NStQT0R3RmRuOFFzMGZFK2NubW04bmxHSVoKSVlUZ1MvODhpLzBmZmZSanpN
M040U2lKVk5JNC82YkU2R2pxZDVRQXBYQ2t3dkU4UlA4czdVdFBvMHBaOGtkS2tXcTRSQkJMQ0VP
RgpqR1BDaFBKajNaY1QwK0JmZjNrWFI1ZXJsRkx3WllIMjc0em1KMDB2cFMxVytPeXliaVBuOWM5
UHozSHd3NS9tcnR1dDdKN24xam04CitIa083dnJiQnZ3NEJkLzIrRlBhSDlEU3ZNTVhXcjhmby9r
ajR2eTg1dXZYQzVNSmpJbGl3U3ZQZDlKWS91Yy84eGtOZmxwWE5uYmUKQWNlUnVscVVaUDVjQVY2
VmpRdlAwRjgvZzZza29RaVFZVUFZQ2YzNTBrTktEK2xVY1d2VGxDZG1xTlNtY2FxN29UNkhWNXRs
WmEzTQpVdThKRkNkUmVDbndYRWZ3eHduQUtLKy9rVXZ6emdMejczMlVONzNqL2N5bENSNm54TTN6
bithVzNYL0hsR1hEQXZERmVQQnpLZHZpClVDOGFBRnVxbUpXVk51MzFMa3RYMmloaWhCSWdCYzBw
aDhha3kvU3NoMUxDcEg1anBCUTg4YzJsOUVzLzhNQmJlZUNCdHhnbkwrc24KZFJ5Wk5Rc0lwWUZQ
bGhlSWlDdXZQa2FuM2FQWnFGQXVWVkVUZTZsVkZxR3hoMHBqTjI1OUViYytoK3MyQ0ZTWmlDcEI2
QlA0QVg3UApwekt0MkhkVG5VdEhJL01YaXh5OW5hRjl1OWV4dEluajV4WTRmaE1tNFRPVDVQWWYv
Uno3YmJkb2NlcTkzTHI3RnlsN1U2bk5MNDd6CkM4QXZpdk5IT0h4aEZMSzZ2TUg1Yzh0Y3Zyak8y
bXFYS0F5SlJVd2NheDhBUStPT0szRmRpVnVDZWdOYWN5Vm1GMXdtV3k1ZitiZVoKOS8vcFQzNlNr
dWRsd0x1U05HdUR3bkdFaWZsME41QkVJZjExWnZiZHg4eitOMUdkdUFGUm1VTzZGY0t3UWlSS1JG
RkVGUHFFWVJjLwo5QW5DSG1Hd1FlZ0grRUZBRUliNGNZbDlCeHI4OEdoRy9XbXY0ZmJBUDdsVjhF
Y0pBRG12djV5cjZ5ZWwzZGs5TjNMYkJ6L0JRYnVyCllLSjZNNGYzZkY2SGVxSlhhUFBIZXZ1YnhQ
bHhGSERwMGlxdm5iek1pVmN2c2JMYzFva1dSSlp3UVJaY3k0SHIxMDVJN2FERmdyTW4KdFBQWGFy
WDQyTWQrUnR0NUJRNUNhNzNFMEwxWlZ1QW9wTkFBT1RLbVZKYnN1dk16eEVMUjc3WVJRUnUvN3hQ
NkhjSWdJQkloWVJ3UQpCUkZSSEJENk91Y1FoQnI4SUF6eEE0LzUzVTdhMVlQbEIranJuYU45cStV
OTNvb0EySjYvYmZ0bjMvVVI3cmpOcEhnQkt0NDBkOTd3Cnk4eE52azNIK1piZEw2UjlNcE93bFRq
LytMRnp2SHprSENlT1hVSW1xZFVCOE9WSXdJZXZGVklwWG42aG0zN3BEMzN3cDlsLzQxNWoKNTVN
VmdTb0QzdWdoVW1nbk1QRUJVTVRoR24yL1I3L1RwOS8xQ2FPUU1Jd0lSSS9RRDRualNEL242M01R
aG9SUlJPQUhXaEFDd2N4dQpxTHRUOU9RS0R1NTJ3UC9xMVlCZkpBRDVucjU4cFM4Si9hYnZlNGo3
UHZRcDltWnY5TmcvK3lpTHJVYzA3YWNGbXkzRStRUGUvbkNjCmYrSGNFazk4NzJYT25Wa21qdU10
YXZzbVFpRVZTZ21PdjlqTENqOS9XenQvS0pPeEFRTytCa0ZKaWVQRUlBMGJtUFVBc1FqcHRydjAK
K24zNjNUNUJGR2dOajN5aUlDQ0tRNklnSm95aVZERENLQ0xvQm9SeFFCRDBDYU1BeDRQWm1SSWJ5
MG0vdnJvdXRHOHZlU3R0US92VAp6cDU2a3ozditpZ0hQS3VaWTdKK0t3ZDJmWnF5TjZtMWYwdWFY
MFQ3V1p6ZkQvcjg4UHV2OE56VEo0bWlPQXVKdHEzdE9jMlhtbDR2Cm5Rc0lBMzF6RHg4K3hIdmUv
WENhK3RYQWczSk1mNWlNY0J5bHpZS3JRQWx3QkxFZjBXbDM2SGI3OVBwOS9MQ1AzKzhSUmlGUm5H
aDgKcFAyQU9DYU1Bc0lnSnZRRHdqQWdqUHFFb1U4VWhZU1J3L3lpNE5TeTFKSFQxbWovcEFGODIr
RG5CV0N6YWwvaS9VL2YvekIzUG1pMQpjWGx1blZ0My8xMW1tdmNTeGV2RGRqL3Y4Sm0wckxRY3ZY
eGg1K0tsWmI3OWplZTVjRzdGMG1oUm9PSGIwWHlWWGt1bE9QSlVwdjJmCit2alBVYTJVdFpObjBy
NUtHczlmNnVjY0oxa2dISU1RUkZGRXA5MmwyKzNTOWJ0MCsxMkN2cWIwTUF5SXd0Z0FIeEZHTVdF
UUV2a2gKWVJRUVJRRmgzQ01LUXNJd0lJNGpJdWt5djl1RkZ6SGdzeFh3RTdDM0RUNmdTaU1hUGZM
MG45ai9xWWtXZTkvMUlmYlpuVHh6azI5agpjZm9SWXRFZFRmdTJ0NS9UL0x5M2YrTEVlYjc1OWVk
cHQ3dkRvQTRBdTExRzBEbDhKU1ZSSUZoYmpnR29WcXQ4L09NL3EyMi9ZMmhYClNnMjg3ZndsU3d0
alFSU0V0RHNkT3AyZUJyL1R4Zzk4L01EUHRENE9DYU9ZS0F4TkpCQVN4UnI4S1BRSi9ZQllhS2FJ
bzVnNGx1emEKRlZPaFJreUFNNTcyVCtRMHY3OWQ4QUZaMm9iM1B3RzA3bjJJUTNiM3J1YzFPVEQv
U2VybHhaSDEvRUhOTCtqa2thSHhDVUtPSHp2UApYL3o1VTRSUk9HempyMG56VmZxOFZJclhqZ1hw
bDM3dlQ3Mkx3N2NmMUhTZmFyek00bjhrT0RFbXAwc1lCclI3YlRyZEh1MytCcjFPCmoxN2Z4Ky81
V3Z1amhQWmo0aWdpREFMaU9EQUM0Qk9ISVZFVWF2RERrRmhFaURoR1NFR3BWbWFxVVdLcDEwZmg1
OEcvYU1BL1hrRDcKeWVGdkZYeWJBWndSMmorUS9LbFVtWHZvRWZiYXZmbTdKdC9Cd3RRN2lVUjc4
emkveU9Hek1uekhqNTNqTDc3MnRBRmZGb0MvTmMwdgpsYUZVZG5BOTEvaHpFdDlYeEtGMi9sQ0tF
eS81NlYzOTNPYytyUXMvaWZObjh2d2FlRk9ybFJLVUlBZ0NPdjBPRzUwTk9odGR1cjB1CjNVNlB2
dStia0M0ZzlHUGorRVhFUW10OExMUUF4R0ZJTENQaUtFVEVrYzVYeU5nVXBtS1U0ekk5RTNDeDF5
Tm0zUWIvRXZCbnh0dnYKN3dUNCthNWdwNkREMTNZQUp3L2Z6MjNKb2cxbE1uNzdaajlLeVp1dzJy
akd4L21KZzVkazhKTEhwMDVkNEQ4OTlneGhHQTVydXNvVgpqM0tDNERpS2hiMVZwbVpLVExZY21s
TU8xUWFVU2hJcEJaRVF0TmNDZXIyWXRlV0lWNTd2MGV0b0oyL2Z2cjM4OUNQdnlleThLek03Ckw1
TzBid2IrUm4rTjlucUhUcmREcDl1bDJ6Yk9uMG5vaEVHb0hVQS9KSllCY2V3VEJTRkNSRVNSUHNk
eGpCQ21HaW15bERaU3NMd2UKMEhOV2lHbmI0RjhHdmdhY3p0bjZycldBdFc4dGJ0MFMrSGtmd0Ju
UjhKSDI5Ny9wN2R4Z2QvYk1UenpBd3VURENOSGJWcHlmdC9sTApTNnY4cDhlZXdRK0NFZUFYMDc3
aktnN2QxV0wvelRVbVoxeGNUNlJWUUMyQUNxRVVubFNVcXk0dDZiRjdIL3p4djhxY3Y3dnZ2cGZw
CjFoUkt4Wm5XWThwMXd0dzNSeENFQVJ2OURUYlcyblQ3SFRydExwMU9uMjZ2UjgvMzhmdWEvcU1n
U2pVK2pnTGlLREtnaHdoaGdJL04KUFJENjN2VDdBYWZPcm5QczVCcm5MM1VSWW1EZDJqTHdEZUNN
WmRzN093Ryt6UUI1RTFESk1VQnpZUy83SG5nUHMvYS90dEI2TjU1WApIOVR3cE5SYUVPY1hlZnRC
NVBQdHYzeUJicmMvQnZ4QkUrQjZrZ09ISmpsOHp5VE5LU2N0KzJiZzZ4eS9VTG9UUjBpUk1rZ1VD
VTRlCkRkUENUNy9mNTE5ODhTdjhkLy90b3lCQ0RielIrTVFFOUlNT25YWkhPMzN0THUxT2wwNnZT
N2ZicDl2cGFlM3ZCNFNSVHhqNXhGR28KQVk4aWhJeFM0TFcyaXpRS3VuaHBnNWVQcjNEcTdBYWRi
bFNVa0ZzQi9nbzRiODB1NkZ0bm0vYUQ3WUtmQ01DNDhDOFZnRVAzc2I4MQpwOXU3a2hVN0MxTVBG
MmkrR0JubkYvWHdQZlBENDV4NTdjb21tcCtCUHpWZDRrMXZuMlBQdnFvUnFEejR3b0N2MjdGa3do
cFNJSVRnCmlXOWttYi9wNldtcTFTcC8vSlV2MCtsMCtaVi85RW1JZkEyK0sxQ0UrTjArN2E0R2Zt
T2pUYnZicGRQdGFlKy8yNlBmOWZHREhrSFkKMTVvZjZheWZCbHdnNHRDQXJ0Y3hySy8zT1hsbWxW
ZFBySER4Y3Jjd0RWdXVFa2NCUjQybnY1UWJZdEczUFA1RUVNS3JBVC9QQUU3TwovdHNoWVBPdXQ3
TExYc2N4TzNFL3RkS3U4WEYrdnBuRFdyRWpWY3psUzhzOCtjU3hMZFArcmoxVkhuclBBbzBKTW9H
U3B2RmpCUGpTCkNGQXM5ZWM5OW9lWmJkMjllemUrN3hPR0lWLyt3My9IK3ZvR3YvYXJ2d0JSZ0NM
QzcvVm85OXEwTjdxMDIxM2EzUTd0VGsvSC9yMGUKdlc0UFA5Q0pueWdPdEsyWEdmakswSHdzWXM2
ZVhlUG9pU3VjT3JOR0VJZ2gwS3NOdVBsTzJIc0xMRjhpZVBhYmRLeXBKc2sway93QQpDMXZ6bysy
Q2J3dEFQdjFidHBkNXpTNndlTS9iTXVjUFlLNzVGbHluUEZpeXpjZjUrZHgrcnA3LzFCUEhDY05v
aE1NM0NQN3VHMm84Ci9QN2RsTXJLMHZ5NGdQYUZhU2JKYUY5SVhkUTVjeUxnNGhrZCs1ZkxaVnF0
RnI3djQvcysvWDZmZi92di9nOVdWOWI0Ri8vNzM2ZS8KdmtKbm84dEdwME83M2FQVDdkTHU5R2h2
ZE9oMk8zVGJYZnBCbHlEd2RjSEhPSGk2MlVRdkdWOVo3M0RzeEJWZVBiSEMwa3B2T09YcQp3T0pO
c1BzbW1GNkFTZzNLRmRqYm9QN3FVelI2R3lsbytSbEdZVzZjalQzVnpLcFRqd2UveUFTVUN0YjAx
Mjg2eEtJOW5LRmFtbWVtCmVTODRMbElHVzQvenJjTE9xUk1YT0huODBuQ0d6d0xPMXZ4M1BMS2JV
bGtPdEhvVjAvNHcrRXBLaEpMOHdlOXNwRjk4Wm1hR09JNEoKZ2dEZjkzVTJyOXZsWDM3eEM2eXVy
UEdGMy81RjJ0MCs3WTRCdnQwMllWK0hicTlEMzlmYUgvUjlIY2NiOFAxK3lLbXp5N3g4N0JLbgp6
NjBUeDNMb3B0Y2FzSGdBNXZaQ3BRcGxBM3lsQ3VVcWxLcTRjM3VZTkFLUWVLYjJUQ1BiM3VjMWY4
dmc1d1ZnNUNpWGczZGt6UjRvCm1LemRRdGxybVRrNFc0L3pFeWFJbzREanh5NFNSZEZ3UEo4RHZ6
SGg4ZUM3ZGxHcEtxdmJ4LzQ3WXNEaGs5WjdZNUgxQTBSeHpJa2oKbWFNMU5UVkZ2OTlQdGIvVDZk
RHBkRkJLOFlkLzlHL1k2R3p3VC83eGYwTjdRenQvM1kwdTNXNmJibitEZnErUDcvY0pBcDNNaVVY
SQp4WXRySEQxMm1XTW5sOWhvKzhQZE5SN3N2aEZtRjZGYUI5Y0ZyNlNQVWtrTFFOa0lRNmtDdTI1
ZzRzekw2V2hhbVRNRnNXWHZvOXdNCnd5MkRid3RBUGdrME1MM3I1anVZc2orcVdiMFJ6NjJsQ3l1
M0V1ZG5iVndSYSt0dFhqMTZQbWZuMVZDYzc3aVMrOSsraTRrcEo2WDkKcklZd3h1RkxhRjlKSkJJ
cEpVOTlLd09sVnF2aHVpNjlYbzkrdjArdjEwdkJUMzYrOXRoWDZIWTYvTXF2L0ExNjNRMmo5UjM4
bnFIOQpNS0RkN2ZEeXF4YzUrc29semw1WVE4cmhlOTJZaEJ0dWdhazVUZm1PVVRmWEJiZWtENjhF
WGhtOFNpWUlpemRUdDFyeml1WWIycUJmCkZmaEZZYUNYWCtjL05jUGNyWGN4WVdmL0ptdTM0am9W
WXRuZFVweWZYN0Z6OHRnbGJmdUg4dnVEY2Y0Tk45YlpkNkJ1UG1kemIxOHEKN2ZjSTB5c2drQWdo
OFh1Q1AvMC9NNCs3Mld5bXRqK2gvcUtmYjMzblA5THBiUEQ1Zi9BZS9GNmJ3TzhSaEQyT243ckVj
OCtmNGRXVApsK2wwZzZIM1ZhcUc0dmRvUUhFczhNM2RkbHp3UFBBc1FTaVZvR1RNd042RE5CcVRU
UGJhS1VQTEVYTU9yeHI4UEFQa3g3U1dnY3I4CkhtYnRhVnlOeWw2cTVYa3puQ0VYLzQ5WXE1Y3M3
WllxSWhhUnR2MUtER2Y1TE9mUEs4TjlEODVZYkxJNTdZTk1OVjhvcmZsQlQvRDQKWXo2clM5b1d1
NjVMdVZ5bTIrMm0yai91NThtbnY4ZHYvbWFYdi9XeFF6ejk3Q3M4OWN3WnpsOWFMWHh0c3dVM0hZ
YXAyY3pKd3pVMgpOamNEM1hHMFdYQmN6UWFPWTVqQWc3Sm1BN2MxejJTdlBiQ3hsMko0MnJrdEFO
c0NmMVFld0JhQThzSmVXdlluVHRSdXhYUHJXVWhYCnBQbTVOaTVwOWZwMTJsMldMbStNMVh5RjVN
YURrelFtblFKdmYrdTA3M2NGVDMwcjRJVW53a3c3SzVYVThldjMrMXU2U1MrOThoeS8KL2xzdkVz
ZkQ0VnVwREpNekRzMldZdUVHcUp1bGhJNmIwYjJqUURrWjFTbzA2RGpnbUJubnlXUFBBNmVrL1lE
V0xpWXVuQnlhZTF3MAp6bDRXek1GaXV3eFFLQVM3OW1TdDNrckJSUFVtUExlS2tFSHhFdTNjcXQx
ODYvYUY4eXU2dWNNR3ZhQ3dzKzlBTGMwbWpvdnprOWNYCmdmLzBkd0tXTHd0T3ZSeG56cGl4L1VF
UWJHdGR2QTIrNDhEa0REU21IQ3JWWkpHb3JobVZ5aHI4Z2Y1Nmg0RkJWT25hVXNkYWJ1QVkKRUZ4
akZoeVlXYURCOE5qYi9QaWtxd1kvN3dQa0oyNTdRR2x1a2JvOUFhVmUyWU5MU1VjQW13eG5LRnEw
c2JyVUxnejE3T1RQMUxUSAo1S3c3TnIwN3JQa0thVXhBMEJjODgxY0JTNWNFcTVjRlFWK2w0TWR4
VEJpR1Z6VVZvMXlGNlhtSCttUUdySlBPQnRCMW8xTEZvbmtECnJsSWEwR1N2WHFVR0VYVE1ZQ3Jw
WlA2QjYwRnJnUnJGMDgrZHE2WDhjU2FBQWdId1poZW8ya3ZoYXVWNUhLZWNPWFlqNHZ6aWhab2gK
eTh2dHNacXZsR1I2VjQxYVhXMmI5b1VVK0YzSlU5L1dtcStrNG9VZkR1Yll0d3QrdVFMN0R6blVK
NkMzb2FrODllVXM4Qk1sOFhJZApGa29hQnBBYVZHVm1FTnJRU1ZOdHRuY2pjRnlZbXFYQzhFNG90
dHhjODAvZUI4aHYxT0MxWnJQOFAwcDMvanFPZzFUaG1Na2NJNVpyCnlaaE91NzlwTThkVXk5MEMr
SElFK0w0R1h5a0NYOUplemFSWFNybmxHOU9hZzBOdmRwalpwZSsyM3dHL1o5OTZsUUtmMGp5WkFK
alcKUWh6WEFPNGFGbFdXQ3F1czJwdzBJQ25MUEV6TXBQc2k1SWR0ajlvV2g2czFBVVVMUWx6QW0y
aWxEYXBteVZmTkxJNEpCelIvN0lvZApHU0tWWUdXNWJicDZSemR6T0k2aTJtQnI2VjNMNWdmOXpP
WXJxZHU2Vmk3TGJkMk01aFFjdXQ5aDcwR2pyVElEVWpVMXVNazZRY2NtCllpdGQ0N3FablUvN1My
d2Z3THd1WFdTRVhsd3NrdllETTJwSU9kRFVLNnh0LzR5ZEFuNlVDY2l2QzZUUnhMTnpBSzVUMWpk
OVRKeWYKZ204ZUN4TUNSbEZnK3ZsSHQzR1ZLbENmY01iRStUS044MjN3bi9xV3R2bTY5VXZmM1ps
ZFc3dFBDL3ZncmU5emFjMHBSR1Fxd3JGaApaSmxwdGxkQ0ozdlVZRmluVkFhUDQyWkNvUXo0VW1X
ZmhUVHV1d0hieFpnQWtabUNaQ1JCcFpIdWcrUVUwSDZSYWJnbUJzaUQ3d0JPCnBhcS9XckpHVXVi
aS9rSGF6Ni9WU3p4NGMwMVNIdFpBRnJLQVVtWmR2Um9iNXcrRWV0OGUxUHhrQmsrNUNyZmM3WEg4
aGVId2JYSUcKSHZxZ3c4MTNPa2dKVVdENlAzUW5wdFprTlhpNHJrSFNCbGxsM2p4V3BrK0tYT0N1
c2pXbFpybWlKZzJwaFNacFBrb09xZjJQcmV5Rwp4azRLd1BCQUxBdDhCVVN5cTFldEZFN2ppb2Rz
dnJUOGhLUmZFQnYwSVVFQXFmUkFoYXkvWUhTY242ZjlmRVIwODUwT2UyOHVjZmFFClpQMktZbklX
NWhjZHBuZkRqWWNjU21WRkZPcFViSUprNHRHbmc2T1YxbnpYc3pTK0NIekRBRXFZMUozS2dFL0J0
MnkrU3NBM21pL3MKbFdpSzErV25WSUQzZ09DR1ByTFd3RXQrRWNVYmVHNFZjQXJqL0F6OFFlQ2ww
blZ4UFdoaGZQZHVIQ2NqVlViSCtZbk5INlI5MHM5SQpybEZRcVNvTzNPNGdiM09RU2lFRjlOcHc3
RG5Gd2J1aFdrdUVYQnRneHpoanlVcHdUWDBtblp1QWJObCtXMEhzcWVPSkQ2Q0VkUlpXCm02SHVR
a2Q2bWYxUGZBU2xJQW9MOXk3Y1VkRndHYjFUcGdMb2RSam9VQXVpWldMWkg2YjZBdkNUUXlqOVhM
V3E3K3E0RURBSUJMMnUKcVNLbW1oOFBnTi92eGp6NVRRdDhhM3hiNW15cDFHSEx2bURtZ2p0QTBG
Y2NmMTdoKytCNVNoZG1QTTBHcm1ldVMxcnpaWmpaZUdWOQp4a0JjWnU2bWxJUGdDMHNJaERBT24y
M3paZVlUMkVnRVBVUVJKZ1ZwNFdzU2dLSVBUQXNQN1ExaSt3Mzk2QXF4NkEzMitWbmVmcEhtCkp5
eFJud0RYSGRPM2I1N3JkckxLWDVyYlIxLzN1L0dnemJlMFBkbS9Zd2o4NUhvZ2JOUGFIdlRoMkRP
S3ZoN3NxUTlUcUhFOXBhdDIKTGdTK0JiVEQ4SjRGNlBja2dBcWhIY2xVQ0N6ZzAyc2IvSnduNWdD
OWpZRjlDK1ZPZ1Q2S0FZcDJ6aFRyeTBTMmhQalJaU0xUQlZ3VQo1dzlvdmRGOEtiTXBYZlVKdDNp
NWxwSXBlQnRyY2FIREYvUmtvYzFQQUZlR2g1VlJKWlZjRytFWWNHanM1RkFBSjE3UW8rRWROem5V
ClFENi8zeG0yK2NyeUVSSjdidmVVU2hOTjVNRWZzUGxXNk9jNFdRMUJBWjMxb1ZxL3ZlZmhqZ2hD
M2dRTWxSeFhyeERZdDZ3YlhOQkwKd0liaS9IaHdKRXQraEl1WjJEVTU1Ulo0L3RsalVLd3RSWFRh
MFFENGtTLzQ2Mi80bXZZSHZIMlZBczZBL1NjVEFvZmhIU2VzQkE2TwoxdkFUejRQZjFSayt1M2J2
QU4xMkxxZHYyM3lqd2E1bndJMHpCaEJXaUdkZko3NUFNb2drQWQ5MXNtaWl2Wkx1VnhqbndOOXhF
MUMwCm82WUE0cVdMOU8xaVVDKzhvUHNBa2pqZmFMNUl4N0lac0hPYW45VHpaM2Q3dzdTUHRYUUx5
Y1phek5wU2xJS3ZsQ0FLRkNKWjFtMWIKZGFXR2JiNEVyNnk0NVI2SFpzdWE1SzdVSUFua2pIalFo
eE12cUhTZmdPUTFuUTB0R01tdGw3bWliQkxYbDhyRDRJdllISWtReElNcwpZS2QrUGFzOERMQ3hS
TCtnK2NQZTEzakhUSUFzYUQyS2dlaktCVHAyTWFnZlhpU00xaTBuTHg2NFZrTzFlejJjS1dHRzZU
a1gxMU9GCm1vOFJCSlRpOUltUVdDVHpkUlhWQ2NXYkh5N1Iyc1VndmVmQlYrQ1dGWWZmNG5ERHJY
REhXeDFxamN4SFNIaE9PWmt6WjdPRDM0Y1QKejBHdmt5VnYxcGNnamdlOS9JRzQzakJBdVRKZTgx
Tzdiek5BVWdrMEJTRFhTczJ0WHFaVDBPcGQxUHl4WXo3QUFQaEFkT1VjNjNZeApTRWxKTDd4b0hF
RXhtUHJOYWI0OXFGR1lzbTY1cXBqYlhScndBYko5OXhKN3JUaC9LbUx0U295U3VzcW5oS1RTaFB2
ZTRkR2FjNGFjCnZ3Ujh4MVBjOFlERDNCNTlzeHVUY05jRHVoRXoyUXhLRlpWVkhKVmpBcTMxZ1E5
cmx5MWJQeUt1OTF5ZGVKSWp0RDBCUDQwQWtqQ1EKckQzTUsyV0M0RGl3ZG9sMXF4RzBTQWpVVGpL
QUtCQ0FjT2tpSy8ydUNVZFU0Z2d1RVpsSW9Oam14MmtiVjlyT1phMGEzbk5qT2FYOQpkUHFHQlg3
eS9DdlBocWF6UjQrR0FFV3REbmMvNURJMWEybStPWHRsdVB0dERuT0w2WUFQcEZBMEp1SHdXL1Y2
UWJ1UW11WDYxUUM0CktBaDZjUEpGdVBpYWRoTFRPTDBBZkNXaFVqZDdEVzBGZkV2N2JmcDN2VXdJ
d2dDeHRzVEttSjcvSFdNQUNvUWdYWW5TWG1QNXhFdDAKN0szWS9IQ0ZXSFFHZWdIR2EzNG1JRUxH
ekMrNlZPdTI1c3NCOEpYeHFpNmYxODBjeVZ4ZUpmUmF2L29FM1B0T2o2bTVUUE85TXR6eApBTXpz
ZHJJNFhPamZTYUF4b2JqOXpib2oxNmJ5Z1hndWw4VHBkMkhsd3ViZ0s2VUxTVnZWL09UQVZBczlx
ekUwYVJNN2Y0eE9ieVBkCnpUUWMwZjI3b3o2QXRNQzNGeUlFSjQrd1lUdUNvVmpIajVZUU10cEU4
K01CelUrS09QVUpXTnhmR3FCOVhXQ1NLZmg2Sm8vaTFlY2kKTmxZa1N1aWhUcUJIdkZScWludmU3
akkxcTkzMHcyK0YyZDJPSHY5aWc2OUF4SHBNYTMwU0RyM1paUDRTemJkejhHb3dJNWVDdkFuNAps
WnB4QUxlZytRUE9IMWw3ZUtsaXRMK2s2Zi9pQ2RxNXhaNlJKUVE3RmdyYVBrQitVK1ZrNVlsLzZt
V1dHWENBSkczL0RFTDYyVERtCnREdG8wT1luVmIzRW9aTktEMSs0OGJZeVhpbFArd3lBcjFDRXZ1
TElFeEg5bmpScFhHWHErb3BxVFd2OW05L2pNTGVZQXo5SnlNUXEKQlZaSzdRdmNlaDlVYW9PMFB3
QyszRHI0U3NMRWRBYjBwdURienAreDkxNVpINld5RGdNZEI4NmZZRG0zMWo4cVdQYTE0MDVnYkMw
NgpDSkxGaUtlUGNYRmpOY3NJS3FBZlhpSVMzWFNtYjk3YnorcjVaa3VXZEtNbkhkWk56Y0tlRzBz
RE5qOFZobHljdjNKRjh1ejNZb0tlClRDZDQ2cW5ia21vREpxYlZFUGhDcWlId0V3QnFUY1V0ZCt2
MjdVTE5WMXNIdjFMWHp0OVdOVDlOK1pLQlh6YnJBZHlTYmhMdGRZZ3YKbmVhaXRldzd5RVVETytv
RVVtRC9Fd2JvQS8zVnkxeDg4YTlaczlNb2dWaW5GMXpNZHQwYW9mbWE5Z2Nkd2NRVTNIWmZpVkpa
RGRGKwpVWnkvY2xIeTFMZGoxbGNVUWlqTGNWT0ROai9aakVGUUNMNDB2NnMxNGVhNzlVcWNxNkg5
cE5Wcm9qWHMvSTBDUCszNFVWa2JlQUsrClY5YVBIUTlPdmNCYWV6a1ZnSDZCQ1JDNVp0QWRjUUpW
QVFNa1c2aDNqejdGbFlGU29Ra0hFNGZQenZzUGEzNXhQYi9hVUJ4K2M2a1EKL0tJNGYyTkY4ZlEz
SmVkUFNlTFlnSmtEMzc3UkErRExEUHdrTnEvVzRlYTd0QTNmTHZoSmlGbXViZy84cElyb2Vwcnl6
VnBBTFFRbQpBbmp0Q0V0bUNFUXZ0d0k0d1VmdHRCT29jazVnYU5tZkh0QTk5Z0puMXBlSjdGUjZQ
N3lNSHk1YkRTRm1hWmpSZkxsSlBSOGx1ZUdBCng2NGJuUEhnVzNGK0dDaU8vRUR4NGc4a3ExZHkz
cjZaeTErbytXSVFmR20xWVZWcTJ3Y2Y5UHUyQ3I2MFB0OXhqTTJ2Nk0rbzFESW4Kc05jbU92c3la
NndKSUhrL1lFZnpBRjZ1R3loWkUrRGxWd2ozMnJqemU5aC80UFpzTkt4VUVzZHhLWHRUUTdRdmMr
djhpc0JYVXFGYwpTV3ZlNGNvRlFSZ3dOc09YNXQrQjdnWmNQZ3VkTllXTUhOUFFvVWJUdnN6QWp5
Tll2YXpmZitHRTd2YmREdmpKdGQ4emJlQnFFL0JGCjlyODdqbjVQclFtTktlMUFObHBRbjlCczhO
SVBXRDd5WFo0RXJxREh3NndCYmNNSU5oUHNpQWtvNVhKaStXRUU5alNLem5QZjQ5eTcKLzJ0MjJ4
RkJMN3BDcFRSTnlhMm50RDhJdmtnQnozTDdNczN3U2Ftb05oUjN2NjNFazk4TUNmeGl6VStxZlNt
TktoQ1I0dkladUh4YQpONUxXSi9UeXJGcFRyN1BUZFhodEdzSUFPdXM2eGR0WjA0a2VFVy9QNFpP
NWF5RjBubUJxenVyc0tRRGYxbnpYemFpL1dvZEtJd3NqClhRK09QODA1QTdnOTh5L0lSUUU3Vmc3
T0MwQStFa2hNUUFkb3Yvb2NyejczZlE3YXd5S1VDT21IbDJsVzl3NW92dDNBbWRUemJjMlgKU0tR
d216S2dhTTNDWFE5NlBQZTltQ2dzMEh4bDFmWUxzbmU5anE3WVhUbHZGV21TMThqY3dLOXhvZDhX
d1UrdVl3R3JsM1NQb2QzZQpsZmY4azJZU3p5d0FyZGFoMnRUbmNsV2JoSlBQc1hibUtLOWFHdCt6
NkQ4ZkFiRFRUbUErR1pTRUg0a0FiRVFCeTAvK0plZkpsZFdECmFCVS9XcytXZUk5bzRFejIzc3ZB
enpKOFVpbm05anJjL1pCTHVUcm9DeWpHZzY4WTl1S0ZSZnNEYlZoWEMvNFlBWW9qV0Z1QzBCOEcK
UC9YOEU4ZXZvaE5SMWFabXFtcmRoSUFldlBRRExzUWh5OENHSlFDQnhRRDVKQkE3N1FNNEkxWUxw
LzdBNmpMdS90dllPNzlJMWZZRgpGRUt2R1lDUkRsOGVmR1YyVUJSSlRVQXFhaE9LNlFXSDFTczZD
VFJRZDdmQmw0TTFlWlhQN1k4RCsyckFIL1VaMW5QbGFsSi9HQVEvCm9mNXlCV3JHVEUzT2F2dGZu
OVM1aExNdnMvR0RQK2ZKT09RTWVqRFVpckgvblp3WnVDNE1RRUZEU0pRTEJkdkFSbStEODkvL2o1
eTEKZStJVkVNWnRnbWhOZzY4RysvYVRrdTRBN1J2VWhKWGVsY2F4bUdqQi9lOXltTnZyL01qQlQ3
N2pPUENUcGVHdXUwbk1YOVdaeVBxRQpQcXBObll4eVBYanhjYzc1SGM0YjdXL25Rc0Nvb0NHRW5X
WUFtd25zcFVqNW9SR1ZsVXZJaFJ0WVhMeVIra0NYb29weDNESU9ybGsyClhxejVpU2tZQUY4bTF4
cEV4OVVMTnJ5U2R0cmk2UFVGSDJCaVJoZDVncDUyK0VhQ1AyVjFBOG1DV3IrbkhiMzZwTmI2eVZu
dE05UW4KdEFBY2Y1YlZKNzdHRXlMbWJJSDJKNElRWFE4ZndDc0EzeG14WGpBZElCVkh1SDZmcWZ2
ZnphTHJabjAxd3F6bGQ1eVNXZnRtSm5SdgpBcjVTR2ZoU3lsUUlwSVRKYVlmV3ZLbk90UTBRMXhu
OCtvVDI3T3RON2JpVktybzNJSi9PZGNhQnJ5endxOXJlTjZkaGNrNExRR05LCjIzK3ZoUHIySDNG
MCtSd3ZtdER2Q3JBS3JGdVJRSGc5d0IvRkFMWjVLQm9kVXdZcVY4N1RyOVJZdU9VdVBUOG82YXNR
U2llcVhLZGsKdkhCcE5taklXcmRIYVg2U3owL1R1K2E1Y2dWbUZvd2dtQnpBQUdocWs4TE9Gc0d2
Ti9XNHRtWkxnNWNrZVZDRFFyQ3A1bHU1L25KVgp6d0JzdHJUV1R4bmJYNXZRclBEazE3bnc3RGY0
TG5vZThKVUM3USt1bC9hUE13SE9KazZoQjVSWHIrRHR2NVdGNlFVcWRyK0FqZ1IwCjNEUFE5eWZH
YWI1S2QvT3d3YzlXMGloS0ZaamVCZk0zNkFZS25YaFJtR1VEMndZL2FjU1ltSWJaM1RxMTYzckZo
WjJrNXlEbzYvYzIKVytQQlQ1aWpXb2Y2bEtIOU9VUDlrMW9vTHAyaTg3MnY4a3kvdzBuME5QQmxv
LzBicjRmMmp4T0FjWkdCYTFpZzFOMGc5bnRNdnVsaApkbVAxM0V0bDlyeFZEazdTZ2lNSDYvbDV6
VStyZVFYZzU5TzdqaW5Dek85VnRPYWdNYUdMT3BYYTRPZzFyMkxPWlRON3gyaGpyYUh0CmUyc09X
dk02TElQTlM3cEo3Mys1T2hyOFpFbDRxV3pBbjlSL2E4cWkvbHBELy81YmY4VExaMS9tR2FQOVMw
WUFiQ2ZRMXY3cnNsaHMKbkFrWTV3OGtReVc5aTZmcDRqSi8yNzIwQmxuQUpCWWRKMTBPclZMTmwr
a05sMUphbXFvMkJUK2YzblZkSFVaTlRHdnRhczFEYTVkbQppZ1RncWRtTWVoUHZ1MXcyaXpqanJi
ZHhTWkcxaGc4VW5nckFyOVEwbzB4TVorQTNrNVJ2RFg3dzU1eDk1di9qY2ZRT0lGZU1BS3haCjJ1
OWZqOXovVmdYQXlmMnhJa0ZJemNLbHM4U3RHZWIzM0V3anY5UlFDcEdzcGpmT203UTBYUnBLSHFa
OUlkVEFFcXNNL01FRVQ3NncKTXdwQVlRTmMwTGUvMVhxK25WUXFwUDJ5NWZFYm16ODVweDNBK3FU
KzNhdFBzdktELzRlL2pueGVzOEJmdFJKQWR2WlA3SFRvZHpVTQprQThQQndRaDdCTXZYOFJiUE1E
YzlEeVZmTWV0OWdHc2haUENaQVMzRFQ3andZOExudDhFL1B5S0hSRVBMK0FvU3U5dUJuNnpaWmhu
CnpoUjhKclZKdUhTS3puZi9oT2RXTDNIVW92N0U2eCtWOUZGai9EUG5lZ2xBNGNDSUVVTGhicXpT
VzF1aWR0UHR6RGFuS0RuNXBjWksKWldOUmtwQU5PMWV2cjBlQ1gxRFBMd1IvbTVvL3JtKy9VT2pN
c2krN3F6ZE44ZGFIYVg5aU9yUDc3VFdDNzN5Rm8rZGU0VmtML0NLdgpQeTVvKzNKR0NBSFhJaERl
RnNFZnh3NXB1TGg4Z2ZiR0tvMWI3bUsyVXMrR1N5YlROSkoyTHFXY2dVSk5Fc2JsMDY1Rm5UeWpO
SHk3Cm1yOWQyaDhBMzVyamt6cVg5U3pSazJyK2pJbjNHeEQ2eE4vNVk0NGRlNG9uUjJoK1V2ZlA5
LzQ3QmV6cmJFRXh0eVFNM2hZRnhkbnEKK2RKcDFqZFdhZDV5RHpQbGFwWnFWbGFGTG4yTHhRS0pm
YzhQVFNxcTU3L2VOai90NUxYWDhabjBic1ZFRnZVcHk5dWZ5elMvMG9BNApSbnpuUDNEaXBlL3h3
NXpXYnhSVS9NUW1FWmlieTlHTUV3ZzJFd1J2RzJ4Uk5LZ3d2NzRHZ0F1bldGMWZwbkh6SFV4WDYz
aEpWa3haCjBwQlc4WkxpaWNxSGdSYnRXNnRzQ3pYL2VvSXZzM1VDaWExMzNheWJwOWJNaWp1cHQ1
L1kvQVpFUHZGMy9vaFRMejdPMDFhY3YyNUMKdlNKN2IwOERzL011WHU1NUx5Y0l0bUNNQyttdmlR
SEcvUXlVQlM2Y1ltWDFNdFc5QjJrMXB5aWxTNnNkdXdsUlllWTdEeVJza3EzNwpWQklPN3BEbWI5
ZmhVemJ3Vmc5L3VUSkkrWk16SnRHVGhIcW13dGRaSS95cnIvRGFrZS95Zk03TDcxbmRQU0xYa1dW
blhQTkh5VG9TCjRjaUg1elpyRkFIdlhDMERqQUo5MU5RS2RlazBxMWZPVVpyWnpkVE1MaDBkRksz
VVZzWXZTSElET21PbnNtN2JoQlhHUlFGWEFmNlEKWjUrdkM1Q3QyMCtBcjlSTlNkZTBjMDNPbVZE
UEpIbVNPUC9LYWZyZi9iODQ4OHFUdkdMRjlqYmRpNXpHSjhCV3NVYjFXMGZGS3NpTgpFb2c4RXpp
Ym1RTHZHc0V2QXQ1ZXZTcVhMN0I2L2ppeTJtQml6MDAwN0JXNVRwSGxzbHEraHFLQkVlSGdkc0Vm
Q3VXS1JyUTQyYVNRCmhPNnJUVTN0elphMjkwbHFONm5yMXhwUXFzR0pwK2w4NzA4NWUvcG91czlm
MzlKNGxRUGUzcHdqMmFlcFJyWmxuLzE4WGlBcU9VSHcKUmdnQ08rRURiSlVObENYZEFwRHRWVFpP
dlVRbjhHa2N1SXRXT2o0OUIzNDJncFhCSmxBNVBIREpyc3lKWFB1VkxKakdNZFNkbXdNOQpiK09U
NVZxVnVyYnpkYVAxemVtTTdpZU5sMStiTUpXOUNqejVGNno5NFAvbTdOSjVsaGpjMDBkYTM5YmVt
OUhlbjdFeDRxam5qbG9CCk0rUUZZWndaU1AyMnF4R0FmSWpQQ08wZkdEVVQrdlJPdk1ERnk2ZnhX
dk0wcCtlcDJDVGxxTXk3VnJhQURKaUo0V09nMTA4V09IQ2kKb0ZBa2M1NlJhMm03MWJDWkFOK1kw
cldIaVpsTTQ1dEpXcm11MldIcEhOSGpmOExLRHgvamZOQ25WNUREdDUyNktybGQyU3l3bTlheApW
VUhJczBIZUh4akozcVdyMUhUSGt1aTR3QjhZdGRqVWYvNjcrQmRmNC9KYkgrR09kLzRNZTExUHox
eDJ2T3hmTFpHTlhMZm41cVNICk96aWdXVWx3VlRhWjAvN2FBKzlKN29vOXBqMVpvbTFtOTN2MmNx
MXExcmRmYVpoR3pyb3BQSmxHVHRlRlo3NUY3NFZ2c1hINU5CdGsKb3lRVG9CM3J1bWlQbi96MEQx
bnd1NWpoUFlNR0Z2QXl2S1ZjM3pJSnp1RENlR1R5MWEvRkJEZ0ZESkJ2TUMyY085QnJzM0hzV2M2
ZgpQWVlxbDZrdTdLZnVXUFBLVTdCY0RZcHJ3RWtXVTdxMlVGaXZkNno1T2dtZDI2K3h0YnhrYmRK
a2EzdDkwbEM5b2Z1Smx1N2JiMDRaCk85L1VacUZVZ2RlT0VQM1ZuOUw5NFdPc2Q5Y0pjelR2NW5v
cUs1WnRyK1cwMnRiNDVnaFdzRi9mc0h5RlBBUGt0VitOT0NBM0srTnEKaFlDQ3pxRXl1WjFIZ1Vs
Z0NwZ0dXc0FzTUYxcnNPZndBOXo1NXZldzcrQjlwcm5FaEdCSjVpMjIwcndpaGlnQ0VXWG5PTlNk
dVZHbwpYeHVIMld2em5yM05DT25HVFo3WnI2ZVNhWDl5TGlWSE9admljZTRZNHVVZkVCNTlBci9m
VG9HM1YrNk9tdXdsQ3hSRUZUdzNhbitnCi9LNWg5bmF5ZmF1RE96bVM5UVVkaXhuc0hrT3hFM05u
blJGU1g4NUpmYklMK1lRUkFQdVlia3l5OTdiN09YVHZPOWg3K3dOTVMydXEKdG0zZmJXOWZXR0Nu
d2hCWjRKdlhEOFR6eVg0OVppaWs0MWs5QTZYQllRM0pkVEkvOE14UnhDdFBFci82SkZGbmRXaUdu
OXdFYUhMbgpVWkdUWXZ3R1VSR0Qrd2ZhK3doM3JYNkNEZXU2bll0R2d1UXpkM0x3OEtZdDVUa25a
OUlTaGlsenRNb1Y1ZzdjeFcyM3Y0VWI3bmlRCjJZa1p5b205dGlkdnlweTNuMDdqeWxVRWg1dytT
L3Vka3A3dGs0SmMwdWJGTFdWbXcrK2lUajZQUFBrYzR2aXp4R0cvVUhQVk5vOVIKb2JQS0NaRE5K
RVVNWUF0QW91a0o4T3ZtMkxEcURiMzhPc01kblR4ZFVMandMTTgwdng5eElnd0pLeVFDTVpWY3or
NW0zNDEzc1AvVworMWc0ZUMrdHhxVE9LTnJ0WFNMdi9lZWZ6emRTdVlPT1pESVoxSFkwK3ozVXVW
ZFFaNDRpVDcrRXVIeDZvREszR2FDYlhiUEpaNDBUCkFERkNBSHFXQUNTZ3IxbjFobldyeTZodmhh
YnhUZ3RBM2k4WXV5TnBRUmhrQzhTRWJUWmE4eXp1dVpuRnZiY3dmOE90VE82N2xXYTUKaGp2WUda
eWxrcE5Fa2wySXNvMlY3ZjNIRVZ4NkRYbnBGUExDU1gyc25COENmUnlBNC9id0tkclU2VDlyQVNo
aUE1ZkJ2WW5MT1Vhbwo1WmdoZnd4NXhzMFdjN083bVp0WllHcG1rV1pyRjdYSkdjck5hVXExSm02
bGhsdldtUWFpQUJYNHFINEgxZDFBZFZkUjdSWGsyaFhrCnlpWGs2a1hreG5MaFlHYTF4ZWRnL0VC
bk5oR2kvMnhNd0ZiWW9FZ1FLcmwwWno0Vm1vUksrYk1kR2lWQ2xIeFd1YUNLdHBYTkY3WUMKc2h4
VEZXVWJndlFqZHdKTDExa0FpbTZZdy9CbXlJazA5NjI0dGxyQUVFVXAwMlpPV0dxNUZHa3BWelZ6
TnNtU2phdHpPR3d5WG44YgpnaUJIVVA5T2hZRzlYQTJpY01EVTlSYUFvdXloWTlHYlozMjUwUHcv
UVM1WG5xK0syWWtVV3lDUzYrUTFSV1hVY2RXeVVmME5lZUNjCk1XQ1BlNXpQbEk1S242dUNUT0E0
QVFpc2JxSytWWFhzV2tKZ1R4a2JpR0ljWHY4Zlo5QW5IMm81OTNKRmpYd1p0TWh2cU9XT3FtVUcK
U2pselVDUUVGTmNsQi81bmVZMHNXRVQ3ak5IOG5VZ0Y5NjNuUXdybURQd29CR0JjRW1uVStvT1NG
VXJhZmtNbFovdHJCUld5OGlZMQo4eUpCVUtPcVp5TjhCK2NxQmFCb3J3YTFpUURFT1RZSWMwZVFP
L0xBRDB3Yi9WRUx3RGhXS0ZxRFlHdHp1VUFnUmpWTWxBdGFxaGpECkJLTllJVjllVlZ0b3Z0d3Mr
U05IMUU5a3psY3FNZ2R4emltTWNzVTNtekdLaWs3OHVBZ0FtL1N4amR6YjJBSzROT2J3dHRGWW1X
K3AKWWdzZE50dGhBTVprRXNVWVIxQVcxQnFLV0NFZUlUQ3lLR3Y1NHlnQW03RkRIand2Wnk3eXpa
U2pnUGNZMGQ0K0F2UnhDeksySWdCcwprdndaeFFhamZJTnh3akdxQ0RXVXdmeEpFSUJSQ2FaUmF4
ZHRsbkRHVUg3ZTV5Z1NobkhBYjJjangrMm1nb3VFUVkwb09Ja3hWVVk1CkptM05UNm9BakRJVGpB
RnZITUNibVlDdDByNnppZmF6aFZxQjNFUW8xSmhLWXRGempNbGIvRVFMd0NoQmdPMHZvZHJzT2Jh
bzlWc1IKZ00xU3lHb01TMnozT1RiSlZ3RHcvd05ucUtvd0V4ay90UUFBQUFCSlJVNUVya0pnZ2c9
PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41045</attachid>
            <date>2009-10-12 08:47:04 -0700</date>
            <delta_ts>2009-10-14 16:08:43 -0700</delta_ts>
            <desc>Updated QWebElement::render implementation with API autotest</desc>
            <filename>QWebElement_render_with_test2.diff</filename>
            <type>text/plain</type>
            <size>26934</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMDktMTEgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlCisgICAgICAgIGVsZW1lbnQuCisKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnJlbmRlcik6
CisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1l
bnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6cmVuZGVy
KToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZWxlbWVudC9xd2ViZWxlbWVudC5xcmM6CisgICAgICAg
ICogdGVzdHMvcXdlYmVsZW1lbnQvaW1hZ2UucG5nOiBBZGRlZC4KKwogMjAwOS0wOS0xMCAgU2lt
b24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNjIp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTIgKzMwLDE0IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZy
YWdtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgog
I2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUHJvcGVydHlOYW1lQXJyYXkuaCIKKyNp
bmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdEZ1bmN0aW9uQ2FsbC5oIgog
I2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCiAjaW5jbHVkZSAicXRfcnVudGltZS5oIgpAQCAt
NDUsNiArNDcsOCBAQAogI2luY2x1ZGUgPHBhcnNlci9Tb3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCisjaW5jbHVkZSA8UVBhaW50ZXI+CisKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBjbGFzcyBRV2ViRWxlbWVudFByaXZhdGUgewpAQCAtMTY3NCwzICsxNjc4LDM4
IEBAIHZvaWQgUVdlYkVsZW1lbnQ6OnJlcGxhY2UoY29uc3QgUVN0cmluZyAKICAgICBSZXR1cm5z
IHRydWUgaWYgdGhpcyBlbGVtZW50IHBvaW50cyB0byBhIGRpZmZlcmVudCB1bmRlcmx5aW5nIERP
TSBvYmplY3QKICAgICB0aGFuIFxhIG87IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogKi8KKwor
CisvKiEgCisgIFJlbmRlciB0aGUgZWxlbWVudCBpbnRvIFxhIHBhaW50ZXIgLgorKi8KK3ZvaWQg
UVdlYkVsZW1lbnQ6OnJlbmRlcihRUGFpbnRlciAqcGFpbnRlcikKK3sKKyAgICBXZWJDb3JlOjpF
bGVtZW50KiBlID0gbV9lbGVtZW50OworICAgIERvY3VtZW50KiBkb2MgPSBlLT5kb2N1bWVudCgp
OworICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm47CisKKyAgICBGcmFtZSogZnJhbWUgPSBk
b2MtPmZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPnZpZXcoKSB8fCAhZnJhbWUt
PmNvbnRlbnRSZW5kZXJlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBGcmFtZVZpZXcqIHZp
ZXcgPSBmcmFtZS0+dmlldygpOworCisgICAgdmlldy0+bGF5b3V0SWZOZWVkZWRSZWN1cnNpdmUo
KTsKKworICAgIEludFJlY3QgcmVjdCA9IGUtPmdldFJlY3QoKTsKKworICAgIGlmIChyZWN0LnNp
emUoKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29udGV4dCBj
b250ZXh0KHBhaW50ZXIpOworCisgICAgY29udGV4dC5zYXZlKCk7CisgICAgY29udGV4dC50cmFu
c2xhdGUoLXJlY3QueCgpLCAtcmVjdC55KCkpOworICAgIHZpZXctPnNldE5vZGVUb0RyYXcoZSk7
CisgICAgdmlldy0+cGFpbnRDb250ZW50cygmY29udGV4dCwgcmVjdCk7CisgICAgdmlldy0+c2V0
Tm9kZVRvRHJhdygwKTsKKyAgICBjb250ZXh0LnJlc3RvcmUoKTsKK30KKwpJbmRleDogV2ViS2l0
L3F0L0FwaS9xd2ViZWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYmVs
ZW1lbnQuaAkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBOb2RlOwogfQogCitRVF9CRUdJTl9OQU1FU1BBQ0UKK2NsYXNzIFFQYWludGVyOwor
UVRfRU5EX05BTUVTUEFDRQorCiBjbGFzcyBRV2ViRnJhbWU7CiBjbGFzcyBRV2ViRWxlbWVudFBy
aXZhdGU7CiAKQEAgLTEzNyw2ICsxNDEsOCBAQCBwdWJsaWM6CiAKICAgICBRU3RyaW5nIGNvbXB1
dGVkU3R5bGVQcm9wZXJ0eShjb25zdCBRU3RyaW5nJiBuYW1lKSBjb25zdDsKIAorICAgIHZvaWQg
cmVuZGVyKFFQYWludGVyKiBwYWludGVyKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBRV2Vi
RWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgZXhwbGljaXQgUVdlYkVsZW1lbnQoV2Vi
Q29yZTo6Tm9kZSopOwpJbmRleDogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3F3ZWJlbGVt
ZW50LnFyYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvcXdlYmVs
ZW1lbnQucXJjCShyZXZpc2lvbiA0ODI2MikKKysrIFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVu
dC9xd2ViZWxlbWVudC5xcmMJKHdvcmtpbmcgY29weSkKQEAgLTIsNSArMiw2IEBACiA8cXJlc291
cmNlIHByZWZpeD0iLyI+CiA8ZmlsZT5zdHlsZS5jc3M8L2ZpbGU+CiA8ZmlsZT5zdHlsZTIuY3Nz
PC9maWxlPgorPGZpbGU+aW1hZ2UucG5nPC9maWxlPgogPC9xcmVzb3VyY2U+CiA8L1JDQz4KSW5k
ZXg6IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA0ODI2MikKKysrIFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdl
YmVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5MCw3IEBAIHByaXZhdGUgc2xv
dHM6CiAgICAgdm9pZCBudWxsU2VsZWN0KCk7CiAgICAgdm9pZCBmaXJzdENoaWxkTmV4dFNpYmxp
bmcoKTsKICAgICB2b2lkIGxhc3RDaGlsZFByZXZpb3VzU2libGluZygpOworICAgIHZvaWQgcmVu
ZGVyKCk7CiAKIHByaXZhdGU6CiAgICAgUVdlYlZpZXcqIG1fdmlldzsKQEAgLTg3OCw1ICs4Nzks
NzkgQEAgdm9pZCB0c3RfUVdlYkVsZW1lbnQ6Omxhc3RDaGlsZFByZXZpb3VzUwogICAgIFFWRVJJ
RlkocC5wcmV2aW91c1NpYmxpbmcoKS5pc051bGwoKSk7CiB9CiAKK3ZvaWQgdHN0X1FXZWJFbGVt
ZW50OjpyZW5kZXIoKQoreworICAgIFFTdHJpbmcgaHRtbCggIjxodG1sPiIKKyAgICAgICAgICAg
ICAgICAgICAgIjxoZWFkPjxzdHlsZT4iCisgICAgICAgICAgICAgICAgICAgICAgICJib2R5LCBp
ZnJhbWUgeyBtYXJnaW46IDBweDsgYm9yZGVyOiBub25lOyB9IgorICAgICAgICAgICAgICAgICAg
ICAiPC9zdHlsZT48L2hlYWQ+IgorICAgICAgICAgICAgICAgICAgICAiPGJvZHk+PHRhYmxlIHdp
ZHRoPSczMDBweCcgaGVpZ2h0PSczMDBweCcgYm9yZGVyPScxJz4iCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiPHRyPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPHRkPnRl
c3QiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvdGQ+IgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICI8dGQ+PGltZyBzcmM9J3FyYzovLy9pbWFnZS5wbmcnPiIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPC90ZD4iCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiPC90cj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3RhYmxlPiIKKyAg
ICAgICAgICAgICAgICAgICAgIjwvYm9keT4iCisgICAgICAgICAgICAgICAgICI8L2h0bWw+Igor
ICAgICAgICAgICAgICAgICk7CisKKyAgICBRV2ViUGFnZSBwYWdlOworICAgIFFTaWduYWxTcHkg
bG9hZFNweSgmcGFnZSwgU0lHTkFMKGxvYWRGaW5pc2hlZChib29sKSkpOworICAgIHBhZ2UubWFp
bkZyYW1lKCktPnNldEh0bWwoaHRtbCk7CisKKyAgICB3YWl0Rm9yU2lnbmFsKCZwYWdlLCBTSUdO
QUwobG9hZEZpbmlzaGVkKGJvb2wpKSk7CisgICAgUUNPTVBBUkUobG9hZFNweS5jb3VudCgpLCAx
KTsKKworICAgIFFMaXN0PFFXZWJFbGVtZW50PiBpbWdzID0gcGFnZS5tYWluRnJhbWUoKS0+Zmlu
ZEFsbEVsZW1lbnRzKCJpbWciKTsKKyAgICBRQ09NUEFSRShpbWdzLmNvdW50KCksIDEpOworCisg
ICAgUUltYWdlIHJlc291cmNlKCI6L2ltYWdlLnBuZyIpOworICAgIFFSZWN0IGltYWdlUmVjdCgw
LCAwLCByZXNvdXJjZS53aWR0aCgpLCByZXNvdXJjZS5oZWlnaHQoKSk7CisKKyAgICBRSW1hZ2Ug
dGVzdEltYWdlKHJlc291cmNlLndpZHRoKCksIHJlc291cmNlLmhlaWdodCgpLCBRSW1hZ2U6OkZv
cm1hdF9BUkdCMzIpOworICAgIFFQYWludGVyIHBhaW50ZXIwKCZ0ZXN0SW1hZ2UpOworICAgIHBh
aW50ZXIwLmZpbGxSZWN0KGltYWdlUmVjdCwgUXQ6OndoaXRlKTsKKyAgICBwYWludGVyMC5kcmF3
SW1hZ2UoMCwgMCwgcmVzb3VyY2UpOworICAgIHBhaW50ZXIwLmVuZCgpOworCisgICAgUUltYWdl
IGltYWdlMShyZXNvdXJjZS53aWR0aCgpLCByZXNvdXJjZS5oZWlnaHQoKSwgUUltYWdlOjpGb3Jt
YXRfQVJHQjMyKTsKKyAgICBRUGFpbnRlciBwYWludGVyMSgmaW1hZ2UxKTsKKyAgICBwYWludGVy
MS5maWxsUmVjdChpbWFnZVJlY3QsIFF0Ojp3aGl0ZSk7CisgICAgaW1nc1swXS5yZW5kZXIoJnBh
aW50ZXIxKTsKKyAgICBwYWludGVyMS5lbmQoKTsKKworICAgIFFDT01QQVJFKGltYWdlMSA9PSB0
ZXN0SW1hZ2UsIHRydWUpOworCisgICAgLy8gcmVuZGVyIGltYWdlIDJuZCB0aW1lIHRvIG1ha2Ug
c3VyZSB0aGF0IGNhY2hlZCByZW5kZXJpbmcgd29ya3MgZmluZQorICAgIFFJbWFnZSBpbWFnZTIo
cmVzb3VyY2Uud2lkdGgoKSwgcmVzb3VyY2UuaGVpZ2h0KCksIFFJbWFnZTo6Rm9ybWF0X0FSR0Iz
Mik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjIoJmltYWdlMik7CisgICAgcGFpbnRlcjIuZmlsbFJl
Y3QoaW1hZ2VSZWN0LCBRdDo6d2hpdGUpOworICAgIGltZ3NbMF0ucmVuZGVyKCZwYWludGVyMik7
CisgICAgcGFpbnRlcjIuZW5kKCk7CisKKyAgICBRQ09NUEFSRShpbWFnZTIgPT0gdGVzdEltYWdl
LCB0cnVlKTsKKworICAgIC8vIGNvbXBhcmUgdGFibGUgcmVuZGVyZWQgdGhyb3VnaCBRV2ViRWxl
bWVudDo6cmVuZGVyIHRvIHdob2xlIHBhZ2UgdGFibGUgcmVuZGVyaW5nCisgICAgUVJlY3QgdGFi
bGVSZWN0KDAsIDAsIDMwMCwgMzAwKTsKKyAgICBRTGlzdDxRV2ViRWxlbWVudD4gdGFibGVzID0g
cGFnZS5tYWluRnJhbWUoKS0+ZmluZEFsbEVsZW1lbnRzKCJ0YWJsZSIpOworICAgIFFDT01QQVJF
KHRhYmxlcy5jb3VudCgpLCAxKTsKKworICAgIFFJbWFnZSBpbWFnZTMoMzAwLCAzMDAsIFFJbWFn
ZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjMoJmltYWdlMyk7CisgICAg
cGFpbnRlcjMuZmlsbFJlY3QodGFibGVSZWN0LCBRdDo6d2hpdGUpOworICAgIHRhYmxlc1swXS5y
ZW5kZXIoJnBhaW50ZXIzKTsKKyAgICBwYWludGVyMy5lbmQoKTsKKworICAgIFFJbWFnZSBpbWFn
ZTQoMzAwLCAzMDAsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRl
cjQoJmltYWdlNCk7CisgICAgcGFnZS5tYWluRnJhbWUoKS0+c2V0Q2xpcFJlbmRlclRvVmlld3Bv
cnQoZmFsc2UpOworICAgIHBhZ2UubWFpbkZyYW1lKCktPnJlbmRlcigmcGFpbnRlcjQsIHRhYmxl
UmVjdCk7CisgICAgcGFpbnRlcjQuZW5kKCk7CisKKyAgICBRQ09NUEFSRShpbWFnZTMgPT0gaW1h
Z2U0LCB0cnVlKTsKK30KKwogUVRFU1RfTUFJTih0c3RfUVdlYkVsZW1lbnQpCiAjaW5jbHVkZSAi
dHN0X3F3ZWJlbGVtZW50Lm1vYyIKSW5kZXg6IFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC9p
bWFnZS5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L2ltYWdlLnBuZwpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFt
CgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQ0FDQVlBQUFERFBtSExBQUFBQkdkQlRV
RUFBTmtEUXRaUG9RQUFBQWx3U0ZsegpBQUFMRXdBQUN4TUJBSnFjR0FBQUFDUjBSVmgwVTI5bWRI
ZGhjbVVBVVhWcFkydFVhVzFsSURZdU5TNHhJQ2hOWVdNZ1QxTWdXQ2tBClN5UDR5Z0FBQUFkMFNV
MUZCOVFKSFF3QUgyNEs3VHNBQURqMlNVUkJWSGphN2IxNWtDVFhmZC81eWN5NnE3dXJyK25wR2N3
QWd3RXcKR053RVNZQWdpU1VwZ2hSUHJ3alo0cldVU1N1c2NPemEzSkIzTGUxL0c3R3l0WkpzaDhS
VmJEaThOTmVISklzS1MxeUoyaFd4RnIwVQpENEVIUk56QVlBRE1oYm1QdnV2SzY3MjNmN3lYbWEr
eXNxcTdaM3BBMGtaSFpHUldkVlYxVjM1L3YrL3ZmTC9uOE1iUDYvSGpXR2NICmNJSGZCUDVoOG9K
SFAzNDMvK1MzUGtTOVhrSXBDVWdVTVVxWmd3aXBRcFFLa1NwQUtwOVlocFNWVC9OSXdPclpDbzdU
UjRrUUpXT1UKakt5ekFDVlJTcUNrUUNtRlVpQlU5bys5OGZQNmd2L3J3UCtZdk9CblAzRVB2LzZG
RDFPdXVOc0d2MzRrWk8xa0JiZlN5NEdmQ01Cbwo4SVZRYndqQWp3RDgzd0QraCtRRmYvT1Q5L0Fi
di9OUlBJOXRnVjlWUHBVWFk5WlBsYTRhZktuMFAvVEd6NDhJL0VjL2ZqZi95ei83CjRMYkIxNW9m
MEQzblhoUDRVcjVoQWw1UDhQOHA4RXMyN2YvYWIzK0lhdFhiUWRyZjNPYmI0TWZpRFFINGtkbjgz
L3lkaitDVm5CMmsKL2UyREg3L0JBSzgvN2YrdFQ5M0xyLzl2SDdsNm0zK21oT3RkRyswbjRFZXhl
c01IZUIxQ3Zaek4vOERWMmZ5WEF6Yk9lVHNLZmhTLwp3UUQvUllSNm84QUhTZWtON0g1OFE3M3JD
YjVBRVVTOElRQ3ZSNGJ2YWtLOWFrTDdaOHZYUmZPRENMNzBlL3ZmRUlBZjExQ3ZlaVJrCjVXVDEr
bWkrRDEvODhvMGN2Vkw3aVJVQVp3dlA1MStqUmx5emhlZTNhdk4vNmZyU2Zyd0R0Sy80NHIvZno5
R2xHaDQvR1U1Z0hsU24KQUlEODQzRUNvQXF1UnowdUVvcnJHdXBWajRTc25hNFVlUHRYRitmYnRO
K0w0SXUvdTU4alMzWEtnRUw4V0RMQUtNRGRnbXUzNEhkYgpGUUFGeUJIbi9MV3lQbE50WnZOLzla
L25iYjdZY3FpM2NycTY0K0FuRHQrWGZrOXJmZ0srK2pHS0FteXc4a0FuanoxejdWblBlN25mCjIr
OGZSZkhTWEF2cnNUQm4rOXIrdmN3SlQvSy8vYTgyK01XaG5rQ3BhRXVhZnoxc2Z1THdmZkgzdGMz
M0xQQi9IQVRBMWxZM0I3b04KZUNsM0xqcnlBbU4vdnNvSlFLTGRZc1FSNTg3S09pY0M4R3NENEgv
U3BIYzlaOXVhWDNreFp1MVU1Zm81ZlA5K1AwZVdxZ09hcjh6LwpWL294MFhZYjlBVG9CT3l5dVM1
Yno1Y0xYbWQvaGpQQ0JLZ0NiWTh0b0NQcmNaVDduYkRlKzQrQnp3L1Evai83UURINGJOTE04VXJB
CjZybks5UXYxL21BL1I1Y2FsRkZENEN2azYrb0VGamx1ZVMwdTVRQ3ZXRWZaT3BkekFtRXpReUlJ
UlF4Z0EyK0Rud0NlSEdIQk9YblAKL3dUOC9SVDhUOXpEci8vMmg2Z01oSG9XK0NxOENvY3YyaEZ2
LzB1L3Q1OGpWMnA0T0lYZ3Y1NG13TWxwZkJIb3lWRTFRQ2ZuV3NGegpsWnd3NUUyRG0yTUJsYlAz
dGdEWW9DZEhZRjM3MXUvL2UrRHZiRTc3d29BZklWVmtnUjhNeFBuWEw4T24rT0x2N3Vmb1VuM0k1
dHZYCnIwY3F1QWg0TjBmbEZRdmNtbld1bTNQTmVwejh6aGFHVVVKUVpBTEdnUjlZZ0FmbW5Cd2g4
UFBBeDVNUCs5alAzY1d2L3RPZnhuTnQKYjk4QVJtUWN2eWhsQUExK2tOSCsyZXRFKzM1Rys5NEky
ay9Bdjk0TWtQZmtpNEN2NWtCdVdFZTk0SEVpRk5XcEdlYm05ekM3c0pmVwpyajFNekMxU24xMmdP
ajFMdWRtaTFHamlWV3E0S0FoOFpLK0xhSzhUcnk4VHJWNGhXTHBJLzhvRk9sZk9zYjUwa1pYMkdz
c1c4SDF6CjdwbnJEd01mekd6K1hmemFiMzJJV3Exa2JxWXk0TWRXdkIrbHdDc0wvUHFSY0VTb3R6
TzUvUy85UVVMN200T3Z1RDQ5Z2FQbzNnWSsKRDNyVE9rK1lvMmtmc3dzczNuU0l4WU4zTUhmekhV
emRlaGNUOVlZTy9aU2w0eXFuODZuN3IwWW5CZm9keEltWDZKeDhpWTFUUjFrKwpmWXlMcTVlNWFB
UmczdGI4Uno5eEY3L3hoUTlUS3J1cFpSbWtmZHZ1KzFyemxVOUo2amF1NjFYVlM1SThXNkg5Qkh5
dWd3RGtFelcyCkYyOXJmS01BOEVsem5rcXVGL2F5NzlCOTdMLzdyZXk2KzIxTVQwMVRVamtFcnhW
OCswM0o2OVpYaVY5OGdyV2pUN0gwdzIreVA0NW8KcHVELzlvZnhQQWNKdUk0RUo3bkJPZkFKamNQ
bmE1di9RcmlqblR5RG9aN2lpMSsra1NPWHE1VEhPSHg1OE5uaFZMQU52cTMxQ2ZCVgpDL1NtQlhq
TGdENEZ0Q3BWNWc3ZnoyMXZlanMzUFBBZVpxZm5LQ3VHd2I1bThQUFBtOGZTM0JzbDRjb0YrSjgv
cTUrZm5aM2h5U04vCndmenVIb0pUeEp3ZzdMZnBkZ1JTYU9ySE1lR2Vremg4R3Z6YWl4RnJwenk4
Y2c4cGdwMEhQODN0YncvOG1ONk8rQUQ1WkU0UjNTZjIKZk1JQzNUNm1KMXJzdmZjaERqMzBDSHZ2
ZndmVGhkcWFBNzlSdVlISjJpMDBxemRScit5aFZwNm40azNqdVRWY3Q0eVVNWkhzRXNYcgorTkV5
ZnJTRUgxMm1HMXlnRjE2Z0YxelFGSzZLR2VIN1g4K3VQL3lSRDdCdjkyRWNQT0F0T3BWWUQ1aXRY
eURpS0NIUEU4c1RYTGtVCkl1TVE1UWJVQ0NrL0c3TjJ0b1JYN3U0OCtLYXdZK2YydHdOK3dPbzFN
NEJ0Ny9QZzUyMzhwTkh5YVFQNkxEQmRiN0xuelE5ejUzLzEKSWZiZDlRQlRBNVNjTzlkS3U1aW9I
YVJadlluSjJpM1V5cnR3M1JxZVU4RjF5emlVY1J6SGFMSkFxaGdwUTRUMGlXV1BXUFNJUkE4aApl
MFNpUXhodjBBc3VHT0ZZeGc5WDlkK1RHb0JmL2xub2QvWGZmdXpyZjhJajczczNEaDR1TlZ3cVF6
ZEQwa1Z3aG9qbkVmd0pGNzUyCmlzNjVDbTY1bzhFWDBZNkhldGNDUGx4YlEwZ1IrTFozWDdkc2ZL
THBNK2FZQldidmU0ajczdjFSRGp6d1U4em02MjdKWmIxeUE3TVQKOXpQWGZBc3p6ZnNvZTFONGJo
WFhxYUtRU0duQ0xCa2lFczliUmtpVlZkL0F3WFVxbEZ3SHo2MGgxUlJWRlNObHhFVDFKaUxaSTQ0
Nwo5TUlyZFB0bjZRYVgrT0hqcXluNGQ5MTlCKzk2OXp0eHFlTlJHM2xEWEpxNEhLYk1ZYzQ4dmt6
NzNLdDRsUmdWNzF4Sk53bjF0T2JYCnJnbjhheEdBUFBnbHk5NG40VnJpMkxWczBJSDVQVGR5Mjdz
K3doMGYvaFI3WGM5OGxnVys0NVNabjNnckM2MTNzekQxTUxYU0xseW4KREk2RFVqRkNoc1N5aDVR
aGlsaHJ1OVFGRjZFaS9ieUtrU295UWhHbFFwRmV5OUE4am5Gd0tYa05tcFc5Vkx3Wm10V0QvTCsv
OTAwVApCTUNuUHYxSkd1VmQ0KytJNVZURVlZL3VwVy9pZWhJbEJGTEdSdnQzcHFxWGdlOWNFL2pB
aGRJT2dXL2IrNmJselNjYVAyZkNxZmtICmY0cTNmUEFUSER4MER4TjV1MTd5SnBpZmZEdjdaai9L
d3VURGVGNWQzeVFsREhDeEFWWWZDZmlKcGlkZ0swUUt2bEl4VXNhRDRLc28KL1F4aGhFWElSREFF
N1hYSnlWYzArSTFHZzAvODNLYzNCVjlKbldoMHZCTCs2a3Y0YThmQlVSYnR4enRUMVN1a2ZWc0l0
ZzQrOE5XcgpaWUE4K0ZVTC9NVFdweG9QN0pxZTQrQjdIK1ZOajM2Ty9ZNHo2TlNWM0Fhemt3OXdZ
UDVUTEV5OWs1STNnUkE5bzlYQ0FKb0RYOFpJCmNwcXY5TTIyd1JlcHBsdmdTOE1NTWtuVnh1bmpX
SVo4L2M5T3BsLzAvZTkvUDdmZWV1dFlyVmZTRkJlTmFuVE9QSTRVWFhBOURib2wKQk5kZTFhdnRH
UGpBeWRJMWhucWxuT1pQV1E3ZUhMQUwySFhnRVBkOCtOUGM5WTczTTJlenZhTmNKdXUzY2V2dXY4
dmk5Q1BVeTR0RQpvazBzdWtiek5janBkUXArWko3UGFYNmkxYVBBdDJoL0FIeWpuYkdNRVhITW4z
MzVWUHFGUC92Wno0N1JlUE50SEJOVE93NVM5Tmk0CjhJVFdmdk81R0JhNzFsQnZtUGF2R3Z3L0JV
NEIzZEkxZ0Y4dUFIL2Ewdm9GWU9IZUIzbkx6L3dDaDIrL2h3a2IvTExiNHNiNXY4bk4KODU5bXVu
a1BzZXdSaXZXVThwVVNZOEVmcFBJdGFyNmw2WU9hYjE0dlk0NDh1OFR5NVFDQUF3Y084TDczdmE5
QTQ2MG1JVWVCSTNHRQpBcmRNZitVWS9kVVhjVnlRVWViNEljVU9oM3JYRGo3UUsxMmo1dGN0Mms4
MGY1Y0JmL2VENytWdEgvOTdIRnJjcDEzbkJQeXAyaUVPCjcvMGxGbHVQVVBZbWlNU0dvZmhFcTRX
bDRTSU42WlRNYkhjbUZGZFArNGtwRVlZRnBJajQxMTk0T2YzU24vakVKNWljbkJ6VWVpZlQKZUJ5
bDlWRklIS1Z3WFpmT3VlOFQ5ZHM0Ympsei9IS2FMNVZPT0NYZ0N3TytLTkw4MzkvUGtlWDZUdEor
Q3Y1MkdTQWY1MWN0YjM4cQpwL21MRDMrQWQzenE4OXpXbXFHTWxYamMwM28vaC9kOG5ybkp0Nlh4
dWEzMXR1WkxHV2YyUDlIOFBPMFBnUitOQVQ4Y2VMK20vWVFCCklvSWc1TmlSTmdDVlNvVlBmZktU
V3V1TnhtcmdWUW84VWlLbHpxZTdDaEE5MWs4L2pvdEV5a2hUdnhTcDg1ZUNMMEhJUWZCakFaRkkK
bG1zbGJWejdPYks4c3piZkJuK3JERkNVMjY4VmdEK1hhUDdESCtBZG4vbUhISnFZMUdHbUFqeTN5
czN6bitIVzNiL0lSTzBBc2V4cQpla3hLcUFXMFB3VCtDSWN2QlhVVHpiZk5TYUw1MGdyTi92S3hD
K21YZnZpZEQzUGZmZmNOYW4xaTY0VkNxbHovYUxsTXNIYWM3dEtMCktLWEQxUUduTHdlK2tLUkhK
Q0NPbFQ0ckxRVC84bmNQY0hTNXZPTTIzd1ovS3d5UTc5N0pPMzJUVm95L0MxaDQ4TDI4N1ZPZjV6
WWIKL0pMYjRQYkZmOERCM1orajRyV0lSUy9uNEEwNmZGS2FVTTRBUGdoK21EMi9hWndmR1pBSGJi
NEdQMElJOHhreUpoWVJYLzM5TStrWAovL21mLzR5dTh6dVpvK2NJaFhBVWpzcDFqYnNTS05FNSs5
ZkUvbVVjcDVRNmdGSkdLQ2tSTXFQOUJQZzQxWDVGR0lOUWlqQlcvS3ZmCnY1R2pTeFdyaldzUWVQ
MVlHUUc0ZXZDQmZta2IxRzg3ZlEwcnd6ZVRoSHIzUHNoYlB2NzNPTlNheVFvNEphL0puWHYrRVFj
WFBvdmoKbEJEU3o3N0lacHFmQ29WTisvRTI0dnhNY0FvMVB3a25WY3pKVjllNWNNWUhZR0ZoZ1k5
KzlDTkdCWFRmbkpTbWZpNFRnWkE0amdGQQpLSkErRytjZVIwVVNTbmJjTDRsbHNiMlBoZGI2S0FZ
cElucGhpWC96NWYyOHRGdzE0TXNSMnI5bDhMODZEdnpOQk1BcHlQSGJLZDZXCmxlVFpkZUFROS96
TUwzQjRjUisxQkh6UHJYUG4zbC9tbG9YUEFZN3VrTWtCbjhUNXc5NStQT0R3RmRuOFFzMGZFK2Nu
bW04bmxHSVoKSVlUZ1MvODhpLzBmZmZSanpNM040U2lKVk5JNC82YkU2R2pxZDVRQXBYQ2t3dkU4
UlA4czdVdFBvMHBaOGtkS2tXcTRSQkJMQ0VPRgpqR1BDaFBKajNaY1QwK0JmZjNrWFI1ZXJsRkx3
WllIMjc0em1KMDB2cFMxVytPeXliaVBuOWM5UHozSHd3NS9tcnR1dDdKN24xam04CitIa083dnJi
QnZ3NEJkLzIrRlBhSDlEU3ZNTVhXcjhmby9rajR2eTg1dXZYQzVNSmpJbGl3U3ZQZDlKWS91Yy84
eGtOZmxwWE5uYmUKQWNlUnVscVVaUDVjQVY2VmpRdlAwRjgvZzZza29RaVFZVUFZQ2YzNTBrTktE
K2xVY1d2VGxDZG1xTlNtY2FxN29UNkhWNXRsWmEzTQpVdThKRkNkUmVDbndYRWZ3eHduQUtLKy9r
VXZ6emdMejczMlVONzNqL2N5bENSNm54TTN6bithVzNYL0hsR1hEQXZERmVQQnpLZHZpClVDOGFB
RnVxbUpXVk51MzFMa3RYMmloaWhCSWdCYzBwaDhha3kvU3NoMUxDcEg1anBCUTg4YzJsOUVzLzhN
QmJlZUNCdHhnbkwrc24KZFJ5Wk5Rc0lwWUZQbGhlSWlDdXZQa2FuM2FQWnFGQXVWVkVUZTZsVkZx
R3hoMHBqTjI1OUViYytoK3MyQ0ZTWmlDcEI2QlA0QVg3UApwekt0MkhkVG5VdEhJL01YaXh5OW5h
Rjl1OWV4dEluajV4WTRmaE1tNFRPVDVQWWYvUno3YmJkb2NlcTkzTHI3RnlsN1U2bk5MNDd6CkM4
QXZpdk5IT0h4aEZMSzZ2TUg1Yzh0Y3Zyak8ybXFYS0F5SlJVd2NheDhBUStPT0szRmRpVnVDZWdO
YWN5Vm1GMXdtV3k1ZitiZVoKOS8vcFQzNlNrdWRsd0x1U05HdUR3bkdFaWZsME41QkVJZjExWnZi
ZHg4eitOMUdkdUFGUm1VTzZGY0t3UWlSS1JGRkVGUHFFWVJjLwo5QW5DSG1Hd1FlZ0grRUZBRUli
NGNZbDlCeHI4OEdoRy9XbXY0ZmJBUDdsVjhFY0pBRG12djV5cjZ5ZWwzZGs5TjNMYkJ6L0JRYnVy
CllLSjZNNGYzZkY2SGVxSlhhUFBIZXZ1YnhQbHhGSERwMGlxdm5iek1pVmN2c2JMYzFva1dSSlp3
UVJaY3k0SHIxMDVJN2FERmdyTW4KdFBQWGFyWDQyTWQrUnR0NUJRNUNhNzNFMEwxWlZ1QW9wTkFB
T1RLbVZKYnN1dk16eEVMUjc3WVJRUnUvN3hQNkhjSWdJQkloWVJ3UQpCUkZSSEJENk91Y1FoQnI4
SUF6eEE0LzUzVTdhMVlQbEIranJuYU45cStVOTNvb0EySjYvYmZ0bjMvVVI3cmpOcEhnQkt0NDBk
OTd3Cnk4eE52azNIK1piZEw2UjlNcE93bFRqLytMRnp2SHprSENlT1hVSW1xZFVCOE9WSXdJZXZG
VklwWG42aG0zN3BEMzN3cDlsLzQxNWoKNTVNVmdTb0QzdWdoVW1nbk1QRUJVTVRoR24yL1I3L1Rw
OS8xQ2FPUU1Jd0lSSS9RRDRualNEL242M01RaG9SUlJPQUhXaEFDd2N4dQpxTHRUOU9RS0R1NTJ3
UC9xMVlCZkpBRDVucjU4cFM4Si9hYnZlNGo3UHZRcDltWnY5TmcvK3lpTHJVYzA3YWNGbXkzRStR
UGUvbkNjCmYrSGNFazk4NzJYT25Wa21qdU10YXZzbVFpRVZTZ21PdjlqTENqOS9XenQvS0pPeEFR
TytCa0ZKaWVQRUlBMGJtUFVBc1FqcHRydjAKK24zNjNUNUJGR2dOajN5aUlDQ0tRNklnSm95aVZE
RENLQ0xvQm9SeFFCRDBDYU1BeDRQWm1SSWJ5MG0vdnJvdXRHOHZlU3R0US92VAp6cDU2a3ozditp
Z0hQS3VaWTdKK0t3ZDJmWnF5TjZtMWYwdWFYMFQ3V1p6ZkQvcjg4UHV2OE56VEo0bWlPQXVKdHEz
dE9jMlhtbDR2Cm5Rc0lBMzF6RHg4K3hIdmUvWENhK3RYQWczSk1mNWlNY0J5bHpZS3JRQWx3QkxF
ZjBXbDM2SGI3OVBwOS9MQ1AzKzhSUmlGUm5HaDgKcFAyQU9DYU1Bc0lnSnZRRHdqQWdqUHFFb1U4
VWhZU1J3L3lpNE5TeTFKSFQxbWovcEFGODIrRG5CV0N6YWwvaS9VL2YvekIzUG1pMQpjWGx1blZ0
My8xMW1tdmNTeGV2RGRqL3Y4Sm0wckxRY3ZYeGg1K0tsWmI3OWplZTVjRzdGMG1oUm9PSGIwWHlW
WGt1bE9QSlVwdjJmCit2alBVYTJVdFpObjByNUtHczlmNnVjY0oxa2dISU1RUkZGRXA5MmwyKzNT
OWJ0MCsxMkN2cWIwTUF5SXd0Z0FIeEZHTVdFUUV2a2gKWVJRUVJRRmgzQ01LUXNJd0lJNGpJdWt5
djl1RkZ6SGdzeFh3RTdDM0RUNmdTaU1hUGZMMG45ai9xWWtXZTkvMUlmYlpuVHh6azI5agpjZm9S
WXRFZFRmdTJ0NS9UL0x5M2YrTEVlYjc1OWVkcHQ3dkRvQTRBdTExRzBEbDhKU1ZSSUZoYmpnR29W
cXQ4L09NL3EyMi9ZMmhYClNnMjg3ZndsU3d0alFSU0V0RHNkT3AyZUJyL1R4Zzk4L01EUHRENE9D
YU9ZS0F4TkpCQVN4UnI4S1BRSi9ZQllhS2FJbzVnNGx1emEKRlZPaFJreUFNNTcyVCtRMHY3OWQ4
QUZaMm9iM1B3RzA3bjJJUTNiM3J1YzFPVEQvU2VybHhaSDEvRUhOTCtqa2thSHhDVUtPSHp2UApY
L3o1VTRSUk9HempyMG56VmZxOFZJclhqZ1hwbDM3dlQ3Mkx3N2NmMUhTZmFyek00bjhrT0RFbXAw
c1lCclI3YlRyZEh1MytCcjFPCmoxN2Z4Ky81V3Z1amhQWmo0aWdpREFMaU9EQUM0Qk9ISVZFVWF2
RERrRmhFaURoR1NFR3BWbWFxVVdLcDEwZmg1OEcvYU1BL1hrRDcKeWVGdkZYeWJBWndSMmorUS9L
bFVtWHZvRWZiYXZmbTdKdC9Cd3RRN2lVUjc4emkveU9Hek1uekhqNTNqTDc3MnRBRmZGb0MvTmMw
dgpsYUZVZG5BOTEvaHpFdDlYeEtGMi9sQ0tFeS81NlYzOTNPYytyUXMvaWZObjh2d2FlRk9ybFJL
VUlBZ0NPdjBPRzUwTk9odGR1cjB1CjNVNlB2dStia0M0ZzlHUGorRVhFUW10OExMUUF4R0ZJTENQ
aUtFVEVrYzVYeU5nVXBtS1U0ekk5RTNDeDF5Tm0zUWIvRXZCbnh0dnYKN3dUNCthNWdwNkREMTNZ
QUp3L2Z6MjNKb2cxbE1uNzdaajlLeVp1dzJyakd4L21KZzVkazhKTEhwMDVkNEQ4OTlneGhHQTVy
dXNvVgpqM0tDNERpS2hiMVZwbVpLVExZY21sTU8xUWFVU2hJcEJaRVF0TmNDZXIyWXRlV0lWNTd2
MGV0b0oyL2Z2cjM4OUNQdnlleThLek03Ckw1TzBid2IrUm4rTjlucUhUcmREcDl1bDJ6Yk9uMG5v
aEVHb0hVQS9KSllCY2V3VEJTRkNSRVNSUHNkeGpCQ21HaW15bERaU3NMd2UKMEhOV2lHbmI0RjhH
dmdhY3p0bjZycldBdFc4dGJ0MFMrSGtmd0JuUjhKSDI5Ny9wN2R4Z2QvYk1UenpBd3VURENOSGJW
cHlmdC9sTApTNnY4cDhlZXdRK0NFZUFYMDc3aktnN2QxV0wvelRVbVoxeGNUNlJWUUMyQUNxRVVu
bFNVcXk0dDZiRjdIL3p4djhxY3Y3dnZ2cGZwCjFoUkt4Wm5XWThwMXd0dzNSeENFQVJ2OURUYlcy
blQ3SFRydExwMU9uMjZ2UjgvMzhmdWEvcU1nU2pVK2pnTGlLREtnaHdoaGdJL04KUFJENjN2VDdB
YWZPcm5QczVCcm5MM1VSWW1EZDJqTHdEZUNNWmRzN093Ryt6UUI1RTFESk1VQnpZUy83SG5nUHMv
YS90dEI2TjU1WApIOVR3cE5SYUVPY1hlZnRCNVBQdHYzeUJicmMvQnZ4QkUrQjZrZ09ISmpsOHp5
VE5LU2N0KzJiZzZ4eS9VTG9UUjBpUk1rZ1VDVTRlCkRkUENUNy9mNTE5ODhTdjhkLy90b3lCQ0Ri
elIrTVFFOUlNT25YWkhPMzN0THUxT2wwNnZTN2ZicDl2cGFlM3ZCNFNSVHhqNXhGR28KQVk4aWhJ
eFM0TFcyaXpRS3VuaHBnNWVQcjNEcTdBYWRibFNVa0ZzQi9nbzRiODB1NkZ0bm0vYUQ3WUtmQ01D
NDhDOFZnRVAzc2I4MQpwOXU3a2hVN0MxTVBGMmkrR0JubkYvWHdQZlBENDV4NTdjb21tcCtCUHpW
ZDRrMXZuMlBQdnFvUnFEejR3b0N2MjdGa3docFNJSVRnCmlXOWttYi9wNldtcTFTcC8vSlV2MCts
MCtaVi85RW1JZkEyK0sxQ0UrTjArN2E0R2ZtT2pUYnZicGRQdGFlKy8yNlBmOWZHREhrSFkKMTVv
ZjZheWZCbHdnNHRDQXJ0Y3hySy8zT1hsbWxWZFBySER4Y3Jjd0RWdXVFa2NCUjQybnY1UWJZdEcz
UFA1RUVNS3JBVC9QQUU3TwovdHNoWVBPdXQ3TExYc2N4TzNFL3RkS3U4WEYrdnBuRFdyRWpWY3ps
UzhzOCtjU3hMZFArcmoxVkhuclBBbzBKTW9HU3B2RmpCUGpTCkNGQXM5ZWM5OW9lWmJkMjllemUr
N3hPR0lWLyt3My9IK3ZvR3YvYXJ2d0JSZ0NMQzcvVm85OXEwTjdxMDIxM2EzUTd0VGsvSC9yMGUK
dlc0UFA5Q0pueWdPdEsyWEdmakswSHdzWXM2ZVhlUG9pU3VjT3JOR0VJZ2gwS3NOdVBsTzJIc0xM
RjhpZVBhYmRLeXBKc2sway93QQpDMXZ6bysyQ2J3dEFQdjFidHBkNXpTNndlTS9iTXVjUFlLNzVG
bHluUEZpeXpjZjUrZHgrcnA3LzFCUEhDY05vaE1NM0NQN3VHMm84Ci9QN2RsTXJLMHZ5NGdQYUZh
U2JKYUY5SVhkUTVjeUxnNGhrZCs1ZkxaVnF0RnI3djQvcysvWDZmZi92di9nOVdWOWI0Ri8vNzM2
ZS8KdmtKbm84dEdwME83M2FQVDdkTHU5R2h2ZE9oMk8zVGJYZnBCbHlEd2RjSEhPSGk2MlVRdkdW
OVo3M0RzeEJWZVBiSEMwa3B2T09YcQp3T0pOc1BzbW1GNkFTZzNLRmRqYm9QN3FVelI2R3lsbytS
bEdZVzZjalQzVnpLcFRqd2UveUFTVUN0YjAxMjg2eEtJOW5LRmFtbWVtCmVTODRMbElHVzQvenJj
TE9xUk1YT0huODBuQ0d6d0xPMXZ4M1BMS2JVbGtPdEhvVjAvNHcrRXBLaEpMOHdlOXNwRjk4Wm1h
R09JNEoKZ2dEZjkzVTJyOXZsWDM3eEM2eXVyUEdGMy81RjJ0MCs3WTRCdnQwMllWK0hicTlEMzlm
YUgvUjlIY2NiOFAxK3lLbXp5N3g4N0JLbgp6NjBUeDNMb3B0Y2FzSGdBNXZaQ3BRcGxBM3lsQ3VV
cWxLcTRjM3VZTkFLUWVLYjJUQ1BiM3VjMWY4dmc1d1ZnNUNpWGczZGt6UjRvCm1LemRRdGxybVRr
NFc0L3pFeWFJbzREanh5NFNSZEZ3UEo4RHZ6SGg4ZUM3ZGxHcEtxdmJ4LzQ3WXNEaGs5WjdZNUgx
QTBSeHpJa2oKbWFNMU5UVkZ2OTlQdGIvVDZkRHBkRkJLOFlkLzlHL1k2R3p3VC83eGYwTjdRenQv
M1kwdTNXNmJibitEZnErUDcvY0pBcDNNaVVYSQp4WXRySEQxMm1XTW5sOWhvKzhQZE5SN3N2aEZt
RjZGYUI5Y0ZyNlNQVWtrTFFOa0lRNmtDdTI1ZzRzekw2V2hhbVRNRnNXWHZvOXdNCnd5MkRid3RB
UGdrME1MM3I1anVZc2orcVdiMFJ6NjJsQ3l1M0V1ZG5iVndSYSt0dFhqMTZQbWZuMVZDYzc3aVMr
OSsraTRrcEo2WDkKcklZd3h1RkxhRjlKSkJJcEpVOTlLd09sVnF2aHVpNjlYbzkrdjArdjEwdkJU
MzYrOXRoWDZIWTYvTXF2L0ExNjNRMmo5UjM4bnFIOQpNS0RkN2ZEeXF4YzUrc29semw1WVE4cmhl
OTJZaEJ0dWdhazVUZm1PVVRmWEJiZWtENjhFWGhtOFNpWUlpemRUdDFyeml1WWIycUJmCkZmaEZZ
YUNYWCtjL05jUGNyWGN4WVdmL0ptdTM0am9WWXRuZFVweWZYN0Z6OHRnbGJmdUg4dnVEY2Y0Tk45
YlpkNkJ1UG1kemIxOHEKN2ZjSTB5c2drQWdoOFh1Q1AvMC9NNCs3Mld5bXRqK2gvcUtmYjMzblA5
THBiUEQ1Zi9BZS9GNmJ3TzhSaEQyT243ckVjOCtmNGRXVApsK2wwZzZIM1ZhcUc0dmRvUUhFczhN
M2RkbHp3UFBBc1FTaVZvR1RNd042RE5CcVRUUGJhS1VQTEVYTU9yeHI4UEFQa3g3U1dnY3I4Ckht
YnRhVnlOeWw2cTVYa3puQ0VYLzQ5WXE1Y3M3WllxSWhhUnR2MUtER2Y1TE9mUEs4TjlEODVZYkxJ
NTdZTk1OVjhvcmZsQlQvRDQKWXo2clM5b1d1NjVMdVZ5bTIrMm0yai91NThtbnY4ZHYvbWFYdi9X
eFF6ejk3Q3M4OWN3WnpsOWFMWHh0c3dVM0hZYXAyY3pKd3pVMgpOamNEM1hHMFdYQmN6UWFPWTVq
QWc3Sm1BN2MxejJTdlBiQ3hsMko0MnJrdEFOc0NmMVFld0JhQThzSmVXdlluVHRSdXhYUHJXVWhY
CnBQbTVOaTVwOWZwMTJsMldMbStNMVh5RjVNYURrelFtblFKdmYrdTA3M2NGVDMwcjRJVW53a3c3
SzVYVThldjMrMXU2U1MrOThoeS8KL2xzdkVzZkQ0VnVwREpNekRzMldZdUVHcUp1bGhJNmIwYjJq
UURrWjFTbzA2RGpnbUJubnlXUFBBNmVrL1lEV0xpWXVuQnlhZTF3MAp6bDRXek1GaXV3eFFLQVM3
OW1TdDNrckJSUFVtUExlS2tFSHhFdTNjcXQxODYvYUY4eXU2dWNNR3ZhQ3dzKzlBTGMwbWpvdnpr
OWNYCmdmLzBkd0tXTHd0T3ZSeG56cGl4L1VFUWJHdGR2QTIrNDhEa0REU21IQ3JWWkpHb3JobVZ5
aHI4Z2Y1Nmg0RkJWT25hVXNkYWJ1QVkKRUZ4akZoeVlXYURCOE5qYi9QaWtxd1kvN3dQa0oyNTdR
R2x1a2JvOUFhVmUyWU5MU1VjQW13eG5LRnEwc2JyVUxnejE3T1RQMUxUSAo1S3c3TnIwN3JQa0th
VXhBMEJjODgxY0JTNWNFcTVjRlFWK2w0TWR4VEJpR1Z6VVZvMXlGNlhtSCttUUdySlBPQnRCMW8x
TEZvbmtECnJsSWEwR1N2WHFVR0VYVE1ZQ3JwWlA2QjYwRnJnUnJGMDgrZHE2WDhjU2FBQWdId1po
ZW8ya3ZoYXVWNUhLZWNPWFlqNHZ6aWhab2gKeTh2dHNacXZsR1I2VjQxYVhXMmI5b1VVK0YzSlU5
L1dtcStrNG9VZkR1Yll0d3QrdVFMN0R6blVKNkMzb2FrODllVXM4Qk1sOFhJZApGa29hQnBBYVZH
Vm1FTnJRU1ZOdHRuY2pjRnlZbXFYQzhFNG90dHhjODAvZUI4aHYxT0MxWnJQOFAwcDMvanFPZzFU
aG1Na2NJNVpyCnlaaE91NzlwTThkVXk5MEMrSElFK0w0R1h5a0NYOUplemFSWFNybmxHOU9hZzBO
dmRwalpwZSsyM3dHL1o5OTZsUUtmMGp5WkFKalcKUWh6WEFPNGFGbFdXQ3F1czJwdzBJQ25MUEV6
TXBQc2k1SWR0ajlvV2g2czFBVVVMUWx6QW0yaWxEYXBteVZmTkxJNEpCelIvN0lvZApHU0tWWUdX
NWJicDZSemR6T0k2aTJtQnI2VjNMNWdmOXpPWXJxZHU2Vmk3TGJkMk01aFFjdXQ5aDcwR2pyVElE
VWpVMXVNazZRY2NtCllpdGQ0N3FablUvN1Myd2Z3THd1WFdTRVhsd3NrdllETTJwSU9kRFVLNnh0
LzR5ZEFuNlVDY2l2QzZUUnhMTnpBSzVUMWpkOVRKeWYKZ204ZUN4TUNSbEZnK3ZsSHQzR1ZLbENm
Y01iRStUS044MjN3bi9xV3R2bTY5VXZmM1psZFc3dFBDL3ZncmU5emFjMHBSR1Fxd3JGaApaSmxw
dGxkQ0ozdlVZRmluVkFhUDQyWkNvUXo0VW1XZmhUVHV1d0hieFpnQWtabUNaQ1JCcFpIdWcrUVUw
SDZSYWJnbUJzaUQ3d0JPCnBhcS9XckpHVXViaS9rSGF6Ni9WU3p4NGMwMVNIdFpBRnJLQVVtWmR2
Um9iNXcrRWV0OGUxUHhrQmsrNUNyZmM3WEg4aGVId2JYSUcKSHZxZ3c4MTNPa2dKVVdENlAzUW5w
dFprTlhpNHJrSFNCbGxsM2p4V3BrK0tYT0N1c2pXbFpybWlKZzJwaFNacFBrb09xZjJQcmV5Rwp4
azRLd1BCQUxBdDhCVVN5cTFldEZFN2ppb2RzdnJUOGhLUmZFQnYwSVVFQXFmUkFoYXkvWUhTY242
ZjlmRVIwODUwT2UyOHVjZmFFClpQMktZbklXNWhjZHBuZkRqWWNjU21WRkZPcFViSUprNHRHbmc2
T1YxbnpYc3pTK0NIekRBRXFZMUozS2dFL0J0MnkrU3NBM21pL3MKbFdpSzErV25WSUQzZ09DR1By
TFd3RXQrRWNVYmVHNFZjQXJqL0F6OFFlQ2wwblZ4UFdoaGZQZHVIQ2NqVlViSCtZbk5INlI5MHM5
SQpybEZRcVNvTzNPNGdiM09RU2lFRjlOcHc3RG5Gd2J1aFdrdUVYQnRneHpoanlVcHdUWDBtblp1
QWJObCtXMEhzcWVPSkQ2Q0VkUlpXCm02SHVRa2Q2bWYxUGZBU2xJQW9MOXk3Y1VkRndHYjFUcGdM
b2RSam9VQXVpWldMWkg2YjZBdkNUUXlqOVhMV3E3K3E0RURBSUJMMnUKcVNLbW1oOFBnTi92eGp6
NVRRdDhhM3hiNW15cDFHSEx2bURtZ2p0QTBGY2NmMTdoKytCNVNoZG1QTTBHcm1ldVMxcnpaWmpa
ZUdWOQp4a0JjWnU2bWxJUGdDMHNJaERBT24yM3paZVlUMkVnRVBVUVJKZ1ZwNFdzU2dLSVBUQXNQ
N1ExaSt3Mzk2QXF4NkEzMitWbmVmcEhtCkp5eFJud0RYSGRPM2I1N3JkckxLWDVyYlIxLzN1L0dn
emJlMFBkbS9Zd2o4NUhvZ2JOUGFIdlRoMkRPS3ZoN3NxUTlUcUhFOXBhdDIKTGdTK0JiVEQ4SjRG
NlBja2dBcWhIY2xVQ0N6ZzAyc2IvSnduNWdDOWpZRjlDK1ZPZ1Q2S0FZcDJ6aFRyeTBTMmhQalJa
U0xUQlZ3VQo1dzlvdmRGOEtiTXBYZlVKdDNpNWxwSXBlQnRyY2FIREYvUmtvYzFQQUZlR2g1VlJK
WlZjRytFWWNHanM1RkFBSjE3UW8rRWROem5VClFENi8zeG0yK2NyeUVSSjdidmVVU2hOTjVNRWZz
UGxXNk9jNFdRMUJBWjMxb1ZxL3ZlZmhqZ2hDM2dRTWxSeFhyeERZdDZ3YlhOQkwKd0liaS9IaHdK
RXQraEl1WjJEVTU1Ulo0L3RsalVLd3RSWFRhMFFENGtTLzQ2Mi80bXZZSHZIMlZBczZBL1NjVEFv
ZmhIU2VzQkE2TwoxdkFUejRQZjFSayt1M2J2QU4xMkxxZHYyM3lqd2E1bndJMHpCaEJXaUdkZko3
NUFNb2drQWQ5MXNtaWl2Wkx1VnhqbndOOXhFMUMwCm82WUE0cVdMOU8xaVVDKzhvUHNBa2pqZmFM
NUl4N0lac0hPYW45VHpaM2Q3dzdTUHRYUUx5Y1phek5wU2xJS3ZsQ0FLRkNKWjFtMWIKZGFXR2Ji
NEVyNnk0NVI2SFpzdWE1SzdVSUFua2pIalFoeE12cUhTZmdPUTFuUTB0R01tdGw3bWliQkxYbDhy
RDRJdllISWtReElNcwpZS2QrUGFzOERMQ3hSTCtnK2NQZTEzakhUSUFzYUQyS2dlaktCVHAyTWFn
ZlhpU00xaTBuTHg2NFZrTzFlejJjS1dHRzZUa1gxMU9GCm1vOFJCSlRpOUltUVdDVHpkUlhWQ2NX
Ykh5N1Iyc1VndmVmQlYrQ1dGWWZmNG5ERHJYREhXeDFxamN4SFNIaE9PWmt6WjdPRDM0Y1QKejBH
dmt5VnYxcGNnamdlOS9JRzQzakJBdVRKZTgxTzdiek5BVWdrMEJTRFhTczJ0WHFaVDBPcGQxUHl4
WXo3QUFQaEFkT1VjNjNZeApTRWxKTDd4b0hFRXhtUHJOYWI0OXFGR1lzbTY1cXBqYlhScndBYko5
OXhKN3JUaC9LbUx0U295U3VzcW5oS1RTaFB2ZTRkR2FjNGFjCnZ3Ujh4MVBjOFlERDNCNTlzeHVU
Y05jRHVoRXoyUXhLRlpWVkhKVmpBcTMxZ1E5cmx5MWJQeUt1OTF5ZGVKSWp0RDBCUDQwQWtqQ1EK
ckQzTUsyV0M0RGl3ZG9sMXF4RzBTQWpVVGpLQUtCQ0FjT2tpSy8ydUNVZFU0Z2d1RVpsSW9Oam14
MmtiVjlyT1phMGEzbk5qT2FYOQpkUHFHQlg3eS9DdlBocWF6UjQrR0FFV3REbmMvNURJMWEybStP
WHRsdVB0dERuT0w2WUFQcEZBMEp1SHdXL1Y2UWJ1UW11WDYxUUM0CktBaDZjUEpGdVBpYWRoTFRP
TDBBZkNXaFVqZDdEVzBGZkV2N2JmcDN2VXdJd2dDeHRzVEttSjcvSFdNQUNvUWdYWW5TWG1QNXhF
dDAKN0szWS9IQ0ZXSFFHZWdIR2EzNG1JRUxHekMrNlZPdTI1c3NCOEpYeHFpNmYxODBjeVZ4ZUpm
UmF2L29FM1B0T2o2bTVUUE85TXR6eApBTXpzZHJJNFhPamZTYUF4b2JqOXpib2oxNmJ5Z1hndWw4
VHBkMkhsd3ViZ0s2VUxTVnZWL09UQVZBczlxekUwYVJNN2Y0eE9ieVBkCnpUUWMwZjI3b3o2QXRN
QzNGeUlFSjQrd1lUdUNvVmpIajVZUU10cEU4K01CelUrS09QVUpXTnhmR3FCOVhXQ1NLZmg2Sm8v
aTFlY2kKTmxZa1N1aWhUcUJIdkZScWludmU3akkxcTkzMHcyK0YyZDJPSHY5aWc2OUF4SHBNYTMw
U0RyM1paUDRTemJkejhHb3dJNWVDdkFuNApsWnB4QUxlZytRUE9IMWw3ZUtsaXRMK2s2Zi9pQ2Rx
NXhaNlJKUVE3RmdyYVBrQitVK1ZrNVlsLzZtV1dHWENBSkczL0RFTDYyVERtCnREdG8wT1luVmIz
RW9aTktEMSs0OGJZeVhpbFArd3lBcjFDRXZ1TElFeEg5bmpScFhHWHErb3BxVFd2OW05L2pNTGVZ
QXo5SnlNUXEKQlZaSzdRdmNlaDlVYW9PMFB3QyszRHI0U3NMRWRBYjBwdURienAreDkxNVpINld5
RGdNZEI4NmZZRG0zMWo4cVdQYTE0MDVnYkMwNgpDSkxGaUtlUGNYRmpOY3NJS3FBZlhpSVMzWFNt
Yjk3YnorcjVaa3VXZEtNbkhkWk56Y0tlRzBzRE5qOFZobHljdjNKRjh1ejNZb0tlClRDZDQ2cW5i
a21vREpxYlZFUGhDcWlId0V3QnFUY1V0ZCt2MjdVTE5WMXNIdjFMWHp0OVdOVDlOK1pLQlh6YnJB
ZHlTYmhMdGRZZ3YKbmVhaXRldzd5RVVETytvRVVtRC9Fd2JvQS8zVnkxeDg4YTlaczlNb2dWaW5G
MXpNZHQwYW9mbWE5Z2Nkd2NRVTNIWmZpVkpaRGRGKwpVWnkvY2xIeTFMZGoxbGNVUWlqTGNWT0RO
ai9aakVGUUNMNDB2NnMxNGVhNzlVcWNxNkg5cE5Wcm9qWHMvSTBDUCszNFVWa2JlQUsrClY5YVBI
UTlPdmNCYWV6a1ZnSDZCQ1JDNVp0QWRjUUpWQVFNa1c2aDNqejdGbFlGU29Ra0hFNGZQenZzUGEz
NXhQYi9hVUJ4K2M2a1EKL0tJNGYyTkY4ZlEzSmVkUFNlTFlnSmtEMzc3UkErRExEUHdrTnEvVzRl
YTd0QTNmTHZoSmlGbXViZy84cElyb2Vwcnl6VnBBTFFRbQpBbmp0Q0V0bUNFUXZ0d0k0d1VmdHRC
T29jazVnYU5tZkh0QTk5Z0puMXBlSjdGUjZQN3lNSHk1YkRTRm1hWmpSZkxsSlBSOGx1ZUdBCng2
NGJuUEhnVzNGK0dDaU8vRUR4NGc4a3ExZHkzcjZaeTErbytXSVFmR20xWVZWcTJ3Y2Y5UHUyQ3I2
MFB0OXhqTTJ2Nk0rbzFESW4Kc05jbU92c3laNndKSUhrL1lFZnpBRjZ1R3loWkUrRGxWd2ozMnJq
emU5aC80UFpzTkt4VUVzZHhLWHRUUTdRdmMrdjhpc0JYVXFGYwpTV3ZlNGNvRlFSZ3dOc09YNXQr
QjdnWmNQZ3VkTllXTUhOUFFvVWJUdnN6QWp5Tll2YXpmZitHRTd2YmREdmpKdGQ4emJlQnFFL0JG
CjlyODdqbjVQclFtTktlMUFObHBRbjlCczhOSVBXRDd5WFo0RXJxREh3NndCYmNNSU5oUHNpQWtv
NVhKaStXRUU5alNLem5QZjQ5eTcKLzJ0MjJ4RkJMN3BDcFRSTnlhMm50RDhJdmtnQnozTDdNczN3
U2Ftb05oUjN2NjNFazk4TUNmeGl6VStxZlNtTktoQ1I0dkladUh4YQpONUxXSi9UeXJGcFRyN1BU
ZFhodEdzSUFPdXM2eGR0WjA0a2VFVy9QNFpPNWF5RjBubUJxenVyc0tRRGYxbnpYemFpL1dvZEtJ
d3NqClhRK09QODA1QTdnOTh5L0lSUUU3Vmc3T0MwQStFa2hNUUFkb3Yvb2NyejczZlE3YXd5S1VD
T21IbDJsVzl3NW92dDNBbWRUemJjMlgKU0tRd216S2dhTTNDWFE5NlBQZTltQ2dzMEh4bDFmWUxz
bmU5anE3WVhUbHZGV21TMThqY3dLOXhvZDhXd1UrdVl3R3JsM1NQb2QzZQpsZmY4azJZU3p5d0Fy
ZGFoMnRUbmNsV2JoSlBQc1hibUtLOWFHdCt6NkQ4ZkFiRFRUbUErR1pTRUg0a0FiRVFCeTAvK0pl
ZkpsZFdECmFCVS9XcytXZUk5bzRFejIzc3ZBenpKOFVpbm05anJjL1pCTHVUcm9DeWpHZzY4WTl1
S0ZSZnNEYlZoWEMvNFlBWW9qV0Z1QzBCOEcKUC9YOEU4ZXZvaE5SMWFabXFtcmRoSUFldlBRRExz
UWh5OENHSlFDQnhRRDVKQkE3N1FNNEkxWUxwLzdBNmpMdS90dllPNzlJMWZZRgpGRUt2R1lDUkRs
OGVmR1YyVUJSSlRVQXFhaE9LNlFXSDFTczZDVFJRZDdmQmw0TTFlWlhQN1k4RCsyckFIL1VaMW5Q
bGFsSi9HQVEvCm9mNXlCV3JHVEUzT2F2dGZuOVM1aExNdnMvR0RQK2ZKT09RTWVqRFVpckgvblp3
WnVDNE1RRUZEU0pRTEJkdkFSbStEODkvL2o1eTEKZStJVkVNWnRnbWhOZzY4RysvYVRrdTRBN1J2
VWhKWGVsY2F4bUdqQi9lOXltTnZyL01qQlQ3N2pPUENUcGVHdXUwbk1YOVdaeVBxRQpQcXBObll4
eVBYanhjYzc1SGM0YjdXL25Rc0Nvb0NHRW5XWUFtd25zcFVqNW9SR1ZsVXZJaFJ0WVhMeVIra0NY
b29weDNESU9ybGsyClhxejVpU2tZQUY4bTF4cEV4OVVMTnJ5U2R0cmk2UFVGSDJCaVJoZDVncDUy
K0VhQ1AyVjFBOG1DV3IrbkhiMzZwTmI2eVZudE05UW4KdEFBY2Y1YlZKNzdHRXlMbWJJSDJKNElR
WFE4ZndDc0EzeG14WGpBZElCVkh1SDZmcWZ2ZnphTHJabjAxd3F6bGQ1eVNXZnRtSm5SdgpBcjVT
R2ZoU3lsUUlwSVRKYVlmV3ZLbk90UTBRMXhuOCtvVDI3T3RON2JpVktybzNJSi9PZGNhQnJ5endx
OXJlTjZkaGNrNExRR05LCjIzK3ZoUHIySDNGMCtSd3ZtdER2Q3JBS3JGdVJRSGc5d0IvRkFMWjVL
Qm9kVXdZcVY4N1RyOVJZdU9VdVBUOG82YXNRU2llcVhLZGsKdkhCcE5taklXcmRIYVg2U3owL1R1
K2E1Y2dWbUZvd2dtQnpBQUdocWs4TE9Gc0d2Ti9XNHRtWkxnNWNrZVZDRFFyQ3A1bHU1L25KVgp6
d0JzdHJUV1R4bmJYNXZRclBEazE3bnc3RGY0TG5vZThKVUM3USt1bC9hUE13SE9KazZoQjVSWHIr
RHR2NVdGNlFVcWRyK0FqZ1IwCjNEUFE5eWZHYWI1S2QvT3d3YzlXMGloS0ZaamVCZk0zNkFZS25Y
aFJtR1VEMndZL2FjU1ltSWJaM1RxMTYzckZoWjJrNXlEbzYvYzIKVytQQlQ1aWpXb2Y2bEtIOU9V
UDlrMW9vTHAyaTg3MnY4a3kvdzBuME5QQmxvLzBicjRmMmp4T0FjWkdCYTFpZzFOMGc5bnRNdnVs
aApkbVAxM0V0bDlyeFZEazdTZ2lNSDYvbDV6VStyZVFYZzU5TzdqaW5Dek85VnRPYWdNYUdMT3BY
YTRPZzFyMkxPWlRON3gyaGpyYUh0CmUyc09Xdk02TElQTlM3cEo3Mys1T2hyOFpFbDRxV3pBbjlS
L2E4cWkvbHBELy81YmY4VExaMS9tR2FQOVMwWUFiQ2ZRMXY3cnNsaHMKbkFrWTV3OGtReVc5aTZm
cDRqSi8yNzIwQmxuQUpCWWRKMTBPclZMTmwra05sMUphbXFvMkJUK2YzblZkSFVaTlRHdnRhczFE
YTVkbQppZ1RncWRtTWVoUHZ1MXcyaXpqanJiZHhTWkcxaGc4VW5nckFyOVEwbzB4TVorQTNrNVJ2
RFg3dzU1eDk1di9qY2ZRT0lGZU1BS3haCjJ1OWZqOXovVmdYQXlmMnhJa0ZJemNLbHM4U3RHZWIz
M0V3anY5UlFDcEdzcGpmT203UTBYUnBLSHFaOUlkVEFFcXNNL01FRVQ3NncKTXdwQVlRTmMwTGUv
MVhxK25WUXFwUDJ5NWZFYm16ODVweDNBK3FUKzNhdFBzdktELzRlL2pueGVzOEJmdFJKQWR2WlA3
SFRvZHpVTQprQThQQndRaDdCTXZYOFJiUE1EYzlEeVZmTWV0OWdHc2haUENaQVMzRFQ3andZOExu
dDhFL1B5S0hSRVBMK0FvU3U5dUJuNnpaWmhuCnpoUjhKclZKdUhTS3puZi9oT2RXTDNIVW92N0U2
eCtWOUZGai9EUG5lZ2xBNGNDSUVVTGhicXpTVzF1aWR0UHR6RGFuS0RuNXBjWksKWldOUmtwQU5P
MWV2cjBlQ1gxRFBMd1IvbTVvL3JtKy9VT2pNc2krN3F6ZE44ZGFIYVg5aU9yUDc3VFdDNzN5Rm8r
ZGU0VmtML0NLdgpQeTVvKzNKR0NBSFhJaERlRnNFZnh3NXB1TGg4Z2ZiR0tvMWI3bUsyVXMrR1N5
YlROSkoyTHFXY2dVSk5Fc2JsMDY1Rm5UeWpOSHk3Cm1yOWQyaDhBMzVyamt6cVg5U3pSazJyK2pJ
bjNHeEQ2eE4vNVk0NGRlNG9uUjJoK1V2ZlA5LzQ3QmV6cmJFRXh0eVFNM2hZRnhkbnEKK2RKcDFq
ZFdhZDV5RHpQbGFwWnFWbGFGTG4yTHhRS0pmYzhQVFNxcTU3L2VOai90NUxYWDhabjBic1ZFRnZV
cHk5dWZ5elMvMG9BNApSbnpuUDNEaXBlL3h3NXpXYnhSVS9NUW1FWmlieTlHTUV3ZzJFd1J2RzJ4
Uk5LZ3d2NzRHZ0F1bldGMWZwbkh6SFV4WDYzaEpWa3haCjBwQlc4WkxpaWNxSGdSYnRXNnRzQ3pY
L2VvSXZzM1VDaWExMzNheWJwOWJNaWp1cHQ1L1kvQVpFUHZGMy9vaFRMejdPMDFhY3YyNUMKdlNK
N2IwOERzL011WHU1NUx5Y0l0bUNNQyttdmlRSEcvUXlVQlM2Y1ltWDFNdFc5QjJrMXB5aWxTNnNk
dXdsUlllWTdEeVJza3EzNwpWQklPN3BEbWI5ZmhVemJ3Vmc5L3VUSkkrWk16SnRHVGhIcW13dGRa
SS95cnIvRGFrZS95Zk03TDcxbmRQU0xYa1dWblhQTkh5VG9TCjRjaUg1elpyRkFIdlhDMERqQUo5
MU5RS2RlazBxMWZPVVpyWnpkVE1MaDBkRkszVVZzWXZTSElET21PbnNtN2JoQlhHUlFGWEFmNlEK
WjUrdkM1Q3QyMCtBcjlSTlNkZTBjMDNPbVZEUEpIbVNPUC9LYWZyZi9iODQ4OHFUdkdMRjlqYmRp
NXpHSjhCV3NVYjFXMGZGS3NpTgpFb2c4RXppYm1RTHZHc0V2QXQ1ZXZTcVhMN0I2L2ppeTJtQml6
MDAwN0JXNVRwSGxzbHEraHFLQkVlSGdkc0VmQ3VXS1JyUTQyYVNRCmhPNnJUVTN0elphMjkwbHFO
Nm5yMXhwUXFzR0pwK2w4NzA4NWUvcG91czlmMzlKNGxRUGUzcHdqMmFlcFJyWmxuLzE4WGlBcU9V
SHcKUmdnQ08rRURiSlVObENYZEFwRHRWVFpPdlVRbjhHa2N1SXRXT2o0OUIzNDJncFhCSmxBNVBI
REpyc3lKWFB1VkxKakdNZFNkbXdNOQpiK09UNVZxVnVyYnpkYVAxemVtTTdpZU5sMStiTUpXOUNq
ejVGNno5NFAvbTdOSjVsaGpjMDBkYTM5YmVtOUhlbjdFeDRxam5qbG9CCk0rUUZZWndaU1AyMnF4
R0FmSWpQQ08wZkdEVVQrdlJPdk1ERnk2ZnhXdk0wcCtlcDJDVGxxTXk3VnJhQURKaUo0V09nMTA4
V09IQ2kKb0ZBa2M1NlJhMm03MWJDWkFOK1kwcldIaVpsTTQ1dEpXcm11MldIcEhOSGpmOExLRHgv
amZOQ25WNUREdDUyNktybGQyU3l3bTlheApWVUhJczBIZUh4akozcVdyMUhUSGt1aTR3QjhZdGRq
VWYvNjcrQmRmNC9KYkgrR09kLzRNZTExUHoxeDJ2T3hmTFpHTlhMZm41cVNICk96aWdXVWx3VlRh
WjAvN2FBKzlKN29vOXBqMVpvbTFtOTN2MmNxMXExcmRmYVpoR3pyb3BQSmxHVHRlRlo3NUY3NFZ2
c1hINU5CdGsKb3lRVG9CM3J1bWlQbi96MEQxbnd1NWpoUFlNR0Z2QXl2S1ZjM3pJSnp1RENlR1R5
MWEvRkJEZ0ZESkJ2TUMyY085QnJzM0hzV2M2ZgpQWVlxbDZrdTdLZnVXUFBLVTdCY0RZcHJ3RWtX
VTdxMlVGaXZkNno1T2dtZDI2K3h0YnhrYmRKa2EzdDkwbEM5b2Z1Smx1N2JiMDRaCk85L1VacUZV
Z2RlT0VQM1ZuOUw5NFdPc2Q5Y0pjelR2NW5vcUs1WnRyK1cwMnRiNDVnaFdzRi9mc0h5RlBBUGt0
VitOT0NBM0srTnEKaFlDQ3pxRXl1WjFIZ1VsZ0NwZ0dXc0FzTUYxcnNPZndBOXo1NXZldzcrQjlw
cm5FaEdCSjVpMjIwcndpaGlnQ0VXWG5PTlNkdVZHbwpYeHVIMld2em5yM05DT25HVFo3WnI2ZVNh
WDl5TGlWSE9admljZTRZNHVVZkVCNTlBci9mVG9HM1YrNk9tdXdsQ3hSRUZUdzNhbitnCi9LNWg5
bmF5ZmF1RE96bVM5UVVkaXhuc0hrT3hFM05ublJGU1g4NUpmYklMK1lRUkFQdVlia3l5OTdiN09Y
VHZPOWg3K3dOTVMydXEKdG0zZmJXOWZXR0Nud2hCWjRKdlhEOFR6eVg0OVppaWs0MWs5QTZYQllR
M0pkVEkvOE14UnhDdFBFci82SkZGbmRXaUduOXdFYUhMbgpVWkdUWXZ3R1VSR0Qrd2ZhK3doM3JY
NkNEZXU2bll0R2d1UXpkM0x3OEtZdDVUa25aOUlTaGlsenRNb1Y1ZzdjeFcyM3Y0VWI3bmlRCjJZ
a1p5b205dGlkdnlweTNuMDdqeWxVRWg1dytTL3Vka3A3dGs0SmMwdWJGTFdWbXcrK2lUajZQUFBr
YzR2aXp4R0cvVUhQVk5vOVIKb2JQS0NaRE5KRVVNWUF0QW91a0o4T3ZtMkxEcURiMzhPc01kblR4
ZFVMandMTTgwdng5eElnd0pLeVFDTVpWY3orNW0zNDEzc1AvVworMWc0ZUMrdHhxVE9LTnJ0WFNM
di9lZWZ6emRTdVlPT1pESVoxSFkwK3ozVXVWZFFaNDRpVDcrRXVIeDZvREszR2FDYlhiUEpaNDBU
CkFERkNBSHFXQUNTZ3IxbjFobldyeTZodmhhYnhUZ3RBM2k4WXV5TnBRUmhrQzhTRWJUWmE4eXp1
dVpuRnZiY3dmOE90VE82N2xXYTUKaGp2WUdaeWxrcE5Fa2wySXNvMlY3ZjNIRVZ4NkRYbnBGUExD
U1gyc25COENmUnlBNC9id0tkclU2VDlyQVNoaUE1ZkJ2WW5MT1Vhbwo1WmdoZnd4NXhzMFdjN083
bVp0WllHcG1rV1pyRjdYSkdjck5hVXExSm02bGhsdldtUWFpQUJYNHFINEgxZDFBZFZkUjdSWGsy
aFhrCnlpWGs2a1hreG5MaFlHYTF4ZWRnL0VCbk5oR2kvMnhNd0ZiWW9FZ1FLcmwwWno0Vm1vUksr
Yk1kR2lWQ2xIeFd1YUNLdHBYTkY3WUMKc2h4VEZXVWJndlFqZHdKTDExa0FpbTZZdy9CbXlJazA5
NjI0dGxyQUVFVXAwMlpPV0dxNUZHa3BWelZ6TnNtU2phdHpPR3d5WG44YgpnaUJIVVA5T2hZRzlY
QTJpY01EVTlSYUFvdXloWTlHYlozMjUwUHcvUVM1WG5xK0syWWtVV3lDUzYrUTFSV1hVY2RXeVVm
ME5lZUNjCk1XQ1BlNXpQbEk1S242dUNUT0E0QVFpc2JxSytWWFhzV2tKZ1R4a2JpR0ljWHY4Zlo5
QW5IMm81OTNKRmpYd1p0TWh2cU9XT3FtVUcKU2pselVDUUVGTmNsQi81bmVZMHNXRVQ3ak5IOG5V
Z0Y5NjNuUXdybURQd29CR0JjRW1uVStvT1NGVXJhZmtNbFovdHJCUld5OGlZMQo4eUpCVUtPcVp5
TjhCK2NxQmFCb3J3YTFpUURFT1RZSWMwZVFPL0xBRDB3Yi9WRUx3RGhXS0ZxRFlHdHp1VUFnUmpW
TWxBdGFxaGpECkJLTllJVjllVlZ0b3Z0d3MrU05IMUU5a3psY3FNZ2R4emltTWNzVTNtekdLaWs3
OHVBZ0FtL1N4amR6YjJBSzROT2J3dHRGWW1XK3AKWWdzZE50dGhBTVprRXNVWVIxQVcxQnFLV0NF
ZUlUQ3lLR3Y1NHlnQW03RkRIand2Wnk3eXpaU2pnUGNZMGQ0K0F2UnhDeksySWdCcwprdndaeFFh
amZJTnh3akdxQ0RXVXdmeEpFSUJSQ2FaUmF4ZHRsbkRHVUg3ZTV5Z1NobkhBYjJjangrMm1nb3VF
UVkwb09Ja3hWVVk1CkptM05UNm9BakRJVGpBRnZITUNibVlDdDByNnppZmF6aFZxQjNFUW8xSmhL
WXRGempNbGIvRVFMd0NoQmdPMHZvZHJzT2JhbzlWc1IKZ00xU3lHb01TMnozT1RiSlZ3RHcvd05u
cUtvd0V4ay90UUFBQUFCSlJVNUVya0pnZ2c9PQoK
</data>
<flag name="review"
          id="22358"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41192</attachid>
            <date>2009-10-14 16:08:43 -0700</date>
            <delta_ts>2009-10-19 08:57:55 -0700</delta_ts>
            <desc>Updated QWebElement::render implementation with API autotest</desc>
            <filename>QWebElement_render_with_test3.diff</filename>
            <type>text/plain</type>
            <size>26921</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNDgyNjIpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMDktMTEgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAg
PG9zdGFwZW5rby52aWF0Y2hlc2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFFXZWJFbGVtZW50OjpyZW5kZXIgQVBJIHdo
aWNoIGFsbG93cyByZW5kZXJpbmcgb2Ygc2luZ2xlCisgICAgICAgIGVsZW1lbnQuCisKKyAgICAg
ICAgKiBBcGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6OnJlbmRlcik6
CisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50Lmg6CisgICAgICAgICogdGVzdHMvcXdlYmVsZW1l
bnQvdHN0X3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRWxlbWVudDo6cmVuZGVy
KToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZWxlbWVudC9xd2ViZWxlbWVudC5xcmM6CisgICAgICAg
ICogdGVzdHMvcXdlYmVsZW1lbnQvaW1hZ2UucG5nOiBBZGRlZC4KKwogMjAwOS0wOS0xMCAgU2lt
b24gSGF1c21hbm4gIDxoYXVzbWFubkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24gNDgyNjIp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTIgKzMwLDE0IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZy
YWdtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgogI2luY2x1ZGUgIkpTSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgog
I2luY2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiUHJvcGVydHlOYW1lQXJyYXkuaCIKKyNp
bmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdEZ1bmN0aW9uQ2FsbC5oIgog
I2luY2x1ZGUgIlN0YXRpY05vZGVMaXN0LmgiCiAjaW5jbHVkZSAicXRfcnVudGltZS5oIgpAQCAt
NDUsNiArNDcsOCBAQAogI2luY2x1ZGUgPHBhcnNlci9Tb3VyY2VDb2RlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCisjaW5jbHVkZSA8UVBhaW50ZXI+CisKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBjbGFzcyBRV2ViRWxlbWVudFByaXZhdGUgewpAQCAtMTY3NCwzICsxNjc4LDM4
IEBAIHZvaWQgUVdlYkVsZW1lbnQ6OnJlcGxhY2UoY29uc3QgUVN0cmluZyAKICAgICBSZXR1cm5z
IHRydWUgaWYgdGhpcyBlbGVtZW50IHBvaW50cyB0byBhIGRpZmZlcmVudCB1bmRlcmx5aW5nIERP
TSBvYmplY3QKICAgICB0aGFuIFxhIG87IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgogKi8KKwor
CisvKiEgCisgIFJlbmRlciB0aGUgZWxlbWVudCBpbnRvIFxhIHBhaW50ZXIgLgorKi8KK3ZvaWQg
UVdlYkVsZW1lbnQ6OnJlbmRlcihRUGFpbnRlciogcGFpbnRlcikKK3sKKyAgICBXZWJDb3JlOjpF
bGVtZW50KiBlID0gbV9lbGVtZW50OworICAgIERvY3VtZW50KiBkb2MgPSBlID8gZS0+ZG9jdW1l
bnQoKSA6IDA7CisgICAgaWYgKCFkb2MpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1lKiBm
cmFtZSA9IGRvYy0+ZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+dmlldygpIHx8
ICFmcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZyYW1l
VmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CisKKyAgICB2aWV3LT5sYXlvdXRJZk5lZWRlZFJl
Y3Vyc2l2ZSgpOworCisgICAgSW50UmVjdCByZWN0ID0gZS0+Z2V0UmVjdCgpOworCisgICAgaWYg
KHJlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3ND
b250ZXh0IGNvbnRleHQocGFpbnRlcik7CisKKyAgICBjb250ZXh0LnNhdmUoKTsKKyAgICBjb250
ZXh0LnRyYW5zbGF0ZSgtcmVjdC54KCksIC1yZWN0LnkoKSk7CisgICAgdmlldy0+c2V0Tm9kZVRv
RHJhdyhlKTsKKyAgICB2aWV3LT5wYWludENvbnRlbnRzKCZjb250ZXh0LCByZWN0KTsKKyAgICB2
aWV3LT5zZXROb2RlVG9EcmF3KDApOworICAgIGNvbnRleHQucmVzdG9yZSgpOworfQorCkluZGV4
OiBXZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0Fw
aS9xd2ViZWxlbWVudC5oCShyZXZpc2lvbiA0ODI2MikKKysrIFdlYktpdC9xdC9BcGkvcXdlYmVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIE5vZGU7CiB9CiAKK1FUX0JFR0lOX05BTUVTUEFDRQorY2xhc3MgUVBh
aW50ZXI7CitRVF9FTkRfTkFNRVNQQUNFCisKIGNsYXNzIFFXZWJGcmFtZTsKIGNsYXNzIFFXZWJF
bGVtZW50UHJpdmF0ZTsKIApAQCAtMTM3LDYgKzE0MSw4IEBAIHB1YmxpYzoKIAogICAgIFFTdHJp
bmcgY29tcHV0ZWRTdHlsZVByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUpIGNvbnN0OwogCisg
ICAgdm9pZCByZW5kZXIoUVBhaW50ZXIqIHBhaW50ZXIpOworCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IFFXZWJFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqKTsKICAgICBleHBsaWNpdCBRV2ViRWxl
bWVudChXZWJDb3JlOjpOb2RlKik7CkluZGV4OiBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQv
cXdlYmVsZW1lbnQucXJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVu
dC9xd2ViZWxlbWVudC5xcmMJKHJldmlzaW9uIDQ4MjYyKQorKysgV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJlbGVtZW50L3F3ZWJlbGVtZW50LnFyYwkod29ya2luZyBjb3B5KQpAQCAtMiw1ICsyLDYgQEAK
IDxxcmVzb3VyY2UgcHJlZml4PSIvIj4KIDxmaWxlPnN0eWxlLmNzczwvZmlsZT4KIDxmaWxlPnN0
eWxlMi5jc3M8L2ZpbGU+Cis8ZmlsZT5pbWFnZS5wbmc8L2ZpbGU+CiA8L3FyZXNvdXJjZT4KIDwv
UkNDPgpJbmRleDogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3RzdF9xd2ViZWxl
bWVudC5jcHAJKHJldmlzaW9uIDQ4MjYyKQorKysgV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50
L3RzdF9xd2ViZWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYgKzkwLDcgQEAgcHJp
dmF0ZSBzbG90czoKICAgICB2b2lkIG51bGxTZWxlY3QoKTsKICAgICB2b2lkIGZpcnN0Q2hpbGRO
ZXh0U2libGluZygpOwogICAgIHZvaWQgbGFzdENoaWxkUHJldmlvdXNTaWJsaW5nKCk7CisgICAg
dm9pZCByZW5kZXIoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtODc4
LDUgKzg3OSw3OSBAQCB2b2lkIHRzdF9RV2ViRWxlbWVudDo6bGFzdENoaWxkUHJldmlvdXNTCiAg
ICAgUVZFUklGWShwLnByZXZpb3VzU2libGluZygpLmlzTnVsbCgpKTsKIH0KIAordm9pZCB0c3Rf
UVdlYkVsZW1lbnQ6OnJlbmRlcigpCit7CisgICAgUVN0cmluZyBodG1sKCAiPGh0bWw+IgorICAg
ICAgICAgICAgICAgICAgICAiPGhlYWQ+PHN0eWxlPiIKKyAgICAgICAgICAgICAgICAgICAgICAg
ImJvZHksIGlmcmFtZSB7IG1hcmdpbjogMHB4OyBib3JkZXI6IG5vbmU7IH0iCisgICAgICAgICAg
ICAgICAgICAgICI8L3N0eWxlPjwvaGVhZD4iCisgICAgICAgICAgICAgICAgICAgICI8Ym9keT48
dGFibGUgd2lkdGg9JzMwMHB4JyBoZWlnaHQ9JzMwMHB4JyBib3JkZXI9JzEnPiIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICI8dHI+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICI8dGQ+dGVzdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPC90ZD4iCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjx0ZD48aW1nIHNyYz0ncXJjOi8vL2ltYWdlLnBu
Zyc+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L3RkPiIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICI8L3RyPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvdGFi
bGU+IgorICAgICAgICAgICAgICAgICAgICAiPC9ib2R5PiIKKyAgICAgICAgICAgICAgICAgIjwv
aHRtbD4iCisgICAgICAgICAgICAgICAgKTsKKworICAgIFFXZWJQYWdlIHBhZ2U7CisgICAgUVNp
Z25hbFNweSBsb2FkU3B5KCZwYWdlLCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSk7CisgICAg
cGFnZS5tYWluRnJhbWUoKS0+c2V0SHRtbChodG1sKTsKKworICAgIHdhaXRGb3JTaWduYWwoJnBh
Z2UsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKTsKKyAgICBRQ09NUEFSRShsb2FkU3B5LmNv
dW50KCksIDEpOworCisgICAgUUxpc3Q8UVdlYkVsZW1lbnQ+IGltZ3MgPSBwYWdlLm1haW5GcmFt
ZSgpLT5maW5kQWxsRWxlbWVudHMoImltZyIpOworICAgIFFDT01QQVJFKGltZ3MuY291bnQoKSwg
MSk7CisKKyAgICBRSW1hZ2UgcmVzb3VyY2UoIjovaW1hZ2UucG5nIik7CisgICAgUVJlY3QgaW1h
Z2VSZWN0KDAsIDAsIHJlc291cmNlLndpZHRoKCksIHJlc291cmNlLmhlaWdodCgpKTsKKworICAg
IFFJbWFnZSB0ZXN0SW1hZ2UocmVzb3VyY2Uud2lkdGgoKSwgcmVzb3VyY2UuaGVpZ2h0KCksIFFJ
bWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjAoJnRlc3RJbWFnZSk7
CisgICAgcGFpbnRlcjAuZmlsbFJlY3QoaW1hZ2VSZWN0LCBRdDo6d2hpdGUpOworICAgIHBhaW50
ZXIwLmRyYXdJbWFnZSgwLCAwLCByZXNvdXJjZSk7CisgICAgcGFpbnRlcjAuZW5kKCk7CisKKyAg
ICBRSW1hZ2UgaW1hZ2UxKHJlc291cmNlLndpZHRoKCksIHJlc291cmNlLmhlaWdodCgpLCBRSW1h
Z2U6OkZvcm1hdF9BUkdCMzIpOworICAgIFFQYWludGVyIHBhaW50ZXIxKCZpbWFnZTEpOworICAg
IHBhaW50ZXIxLmZpbGxSZWN0KGltYWdlUmVjdCwgUXQ6OndoaXRlKTsKKyAgICBpbWdzWzBdLnJl
bmRlcigmcGFpbnRlcjEpOworICAgIHBhaW50ZXIxLmVuZCgpOworCisgICAgUVZFUklGWShpbWFn
ZTEgPT0gdGVzdEltYWdlKTsKKworICAgIC8vIHJlbmRlciBpbWFnZSAybmQgdGltZSB0byBtYWtl
IHN1cmUgdGhhdCBjYWNoZWQgcmVuZGVyaW5nIHdvcmtzIGZpbmUKKyAgICBRSW1hZ2UgaW1hZ2Uy
KHJlc291cmNlLndpZHRoKCksIHJlc291cmNlLmhlaWdodCgpLCBRSW1hZ2U6OkZvcm1hdF9BUkdC
MzIpOworICAgIFFQYWludGVyIHBhaW50ZXIyKCZpbWFnZTIpOworICAgIHBhaW50ZXIyLmZpbGxS
ZWN0KGltYWdlUmVjdCwgUXQ6OndoaXRlKTsKKyAgICBpbWdzWzBdLnJlbmRlcigmcGFpbnRlcjIp
OworICAgIHBhaW50ZXIyLmVuZCgpOworCisgICAgUVZFUklGWShpbWFnZTIgPT0gdGVzdEltYWdl
KTsKKworICAgIC8vIGNvbXBhcmUgdGFibGUgcmVuZGVyZWQgdGhyb3VnaCBRV2ViRWxlbWVudDo6
cmVuZGVyIHRvIHdob2xlIHBhZ2UgdGFibGUgcmVuZGVyaW5nCisgICAgUVJlY3QgdGFibGVSZWN0
KDAsIDAsIDMwMCwgMzAwKTsKKyAgICBRTGlzdDxRV2ViRWxlbWVudD4gdGFibGVzID0gcGFnZS5t
YWluRnJhbWUoKS0+ZmluZEFsbEVsZW1lbnRzKCJ0YWJsZSIpOworICAgIFFDT01QQVJFKHRhYmxl
cy5jb3VudCgpLCAxKTsKKworICAgIFFJbWFnZSBpbWFnZTMoMzAwLCAzMDAsIFFJbWFnZTo6Rm9y
bWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjMoJmltYWdlMyk7CisgICAgcGFpbnRl
cjMuZmlsbFJlY3QodGFibGVSZWN0LCBRdDo6d2hpdGUpOworICAgIHRhYmxlc1swXS5yZW5kZXIo
JnBhaW50ZXIzKTsKKyAgICBwYWludGVyMy5lbmQoKTsKKworICAgIFFJbWFnZSBpbWFnZTQoMzAw
LCAzMDAsIFFJbWFnZTo6Rm9ybWF0X0FSR0IzMik7CisgICAgUVBhaW50ZXIgcGFpbnRlcjQoJmlt
YWdlNCk7CisgICAgcGFnZS5tYWluRnJhbWUoKS0+c2V0Q2xpcFJlbmRlclRvVmlld3BvcnQoZmFs
c2UpOworICAgIHBhZ2UubWFpbkZyYW1lKCktPnJlbmRlcigmcGFpbnRlcjQsIHRhYmxlUmVjdCk7
CisgICAgcGFpbnRlcjQuZW5kKCk7CisKKyAgICBRVkVSSUZZKGltYWdlMyA9PSBpbWFnZTQpOwor
fQorCiBRVEVTVF9NQUlOKHRzdF9RV2ViRWxlbWVudCkKICNpbmNsdWRlICJ0c3RfcXdlYmVsZW1l
bnQubW9jIgpJbmRleDogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L2ltYWdlLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9u
OiBXZWJLaXQvcXQvdGVzdHMvcXdlYmVsZW1lbnQvaW1hZ2UucG5nCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBSUFBQUFDQUNBWUFBQUREUG1ITEFBQUFCR2RCVFVFQUFOa0RRdFpQb1FB
QUFBbHdTRmx6CkFBQUxFd0FBQ3hNQkFKcWNHQUFBQUNSMFJWaDBVMjltZEhkaGNtVUFVWFZwWTJ0
VWFXMWxJRFl1TlM0eElDaE5ZV01nVDFNZ1dDa0EKU3lQNHlnQUFBQWQwU1UxRkI5UUpIUXdBSDI0
SzdUc0FBRGoyU1VSQlZIamE3YjE1a0NUWGZkLzV5Y3k2cTd1cnIrbnBHY3dBZ3dFdwpHTndFU1lB
Z2lTVXBnaFJQcndqWjRyV1VTU3VzY096YTNKQjNMZTEvRzdHeXRaSnNoOFJWYkRpOE5OZUhKSXNL
UzF5SjJoV3hGcjBVCkQ0RUhSTnpBWUFETWhibVB2dXZLNjcyM2Y3eVhtYSt5c3FxN1ozcEEwa1pI
WkdSV2RWVjFWMzUvdisvdmZML244TWJQNi9IaldHY0gKY0lIZkJQNWg4b0pIUDM0My8rUzNQa1M5
WGtJcENVZ1VNVXFaZ3dpcFFwUUtrU3BBS3A5WWhwU1ZUL05Jd09yWkNvN1RSNGtRSldPVQpqS3l6
QUNWUlNxQ2tRQ21GVWlCVTlvKzk4ZlA2Z3YvcndQK1l2T0JuUDNFUHYvNkZEMU91dU5zR3YzNGta
TzFrQmJmU3k0R2ZDTUJvCjhJVlFid2pBandEODN3RCtoK1FGZi9PVDkvQWJ2L05SUEk5dGdWOVZQ
cFVYWTlaUGxhNGFmS24wUC9UR3o0OEkvRWMvZmpmL3l6LzcKNExiQjE1b2YwRDNuWGhQNFVyNWhB
bDVQOFA4cDhFczI3Zi9hYjMrSWF0WGJRZHJmM09iYjRNZmlEUUg0a2RuODMveWRqK0NWbkIyawov
ZTJESDcvQkFLOC83Zit0VDkzTHIvOXZIN2w2bTMrbWhPdGRHKzBuNEVleGVzTUhlQjFDdlp6Ti84
RFYyZnlYQXpiT2VUc0tmaFMvCndRRC9SWVI2bzhBSFNla043SDU4UTczckNiNUFFVVM4SVFDdlI0
YnZha0s5YWtMN1o4dlhSZk9EQ0w3MGUvdmZFSUFmMTFDdmVpUmsKNVdUMSttaStEMS84OG8wY3ZW
TDdpUlVBWnd2UDUxK2pSbHl6aGVlM2F2Ti82ZnJTZnJ3RHRLLzQ0ci9mejlHbEdoNC9HVTVnSGxT
bgpBSUQ4NDNFQ29BcXVSejB1RW9yckd1cFZqNFNzbmE0VWVQdFhGK2ZidE4rTDRJdS91NThqUzNY
S2dFTDhXRExBS01EZGdtdTM0SGRiCkZRQUZ5QkhuL0xXeVBsTnRadk4vOVovbmJiN1ljcWkzY3Jx
NjQrQW5EdCtYZms5cmZnSysrakdLQW15dzhrQW5qejF6N1ZuUGU3bmYKMis4ZlJmSFNYQXZyc1RC
bis5cit2Y3dKVC9LLy9hODIrTVdobmtDcGFFdWFmejFzZnVMd2ZmSDN0YzMzTFBCL0hBVEExbFkz
QjdvTgplQ2wzTGpyeUFtTi92c29KUUtMZFlzUVI1ODdLT2ljQzhHc0Q0SC9TcEhjOVo5dWFYM2t4
WnUxVTVmbzVmUDkrUDBlV3FnT2FyOHovClYvb3gwWFliOUFUb0JPeXl1UzViejVjTFhtZC9oalBD
QktnQ2JZOHRvQ1ByY1pUN25iRGUrNCtCencvUS9qLzdRREg0Yk5MTThVckEKNnJuSzlRdjEvbUEv
UjVjYWxGRkQ0Q3ZrNitvRUZqbHVlUzB1NVFDdldFZlpPcGR6QW1FelF5SUlSUXhnQTIrRG53Q2VI
R0hCT1huUAovd1Q4L1JUOFQ5ekRyLy8yaDZnTWhIb1crQ3E4Q29jdjJoRnYvMHUvdDU4alYycDRP
SVhndjU0bXdNbHBmQkhveVZFMVFDZm5Xc0Z6Cmxad3c1RTJEbTJNQmxiUDN0Z0RZb0NkSFlGMzcx
dS8vZStEdmJFNzd3b0FmSVZWa2dSOE14UG5YTDhPbitPTHY3dWZvVW4zSTV0dlgKcjBjcXVBaDRO
MGZsRlF2Y21uV3VtM1BOZXB6OHpoYUdVVUpRWkFMR2dSOVlnQWZtbkJ3aDhQUEF4NU1QKzlqUDNj
V3YvdE9meG5OdApiOThBUm1RY3Z5aGxBQTEra05IKzJldEUrMzVHKzk0STJrL0F2OTRNa1Bma2k0
Q3Y1a0J1V0VlOTRIRWlGTldwR2VibTl6QzdzSmZXCnJqMU16QzFTbjEyZ09qMUx1ZG1pMUdqaVZX
cTRLQWg4WksrTGFLOFRyeThUclY0aFdMcEkvOG9GT2xmT3NiNTBrWlgyR3NzVzhIMXoKN3BuckR3
TWZ6R3orWGZ6YWIzMklXcTFrYnFZeTRNZFd2Qitsd0NzTC9QcVJjRVNvdHpPNS9TLzlRVUw3bTRP
dnVENDlnYVBvM2dZKwpEM3JUT2srWW8ya2Zzd3NzM25TSXhZTjNNSGZ6SFV6ZGVoY1Q5WVlPL1pT
bDR5cW44Nm43cjBZbkJmb2R4SW1YNkp4OGlZMVRSMWsrCmZZeUxxNWU1YUFSZzN0YjhSejl4Rjcv
eGhROVRLcnVwWlJta2ZkdnUrMXJ6bFU5SjZqYXU2MVhWUzVJOFc2SDlCSHl1Z3dEa0V6VzIKRjI5
cmZLTUE4RWx6bmtxdUYvYXk3OUI5N0wvN3JleTYrMjFNVDAxVFVqa0VyeFY4KzAzSjY5WlhpVjk4
Z3JXalQ3SDB3Mit5UDQ1bwpwdUQvOW9meFBBY0p1STRFSjduQk9mQUpqY1BuYTV2L1FyaWpuVHlE
b1o3aWkxKytrU09YcTVUSE9IeDU4Tm5oVkxBTnZxMzFDZkJWCkMvU21CWGpMZ0Q0RnRDcFY1Zzdm
ejIxdmVqczNQUEFlWnFmbktDdUd3YjVtOFBQUG04ZlMzQnNsNGNvRitKOC9xNStmblozaHlTTi8K
d2Z6dUhvSlR4SndnN0xmcGRnUlNhT3JITWVHZWt6aDhHdnphaXhGcnB6eThjZzhwZ3AwSFA4M3Ri
dy84bU42TytBRDVaRTRSM1NmMgpmTUlDM1Q2bUoxcnN2ZmNoRGozMENIdnZmd2ZUaGRxYUE3OVJ1
WUhKMmkwMHF6ZFJyK3loVnA2bjRrM2p1VFZjdDR5VU1aSHNFc1hyCitORXlmclNFSDEybUcxeWdG
MTZnRjF6UUZLNktHZUg3WDgrdVAveVJEN0J2OTJFY1BPQXRPcFZZRDVpdFh5RGlLQ0hQRThzVFhM
a1UKSXVNUTVRYlVDQ2svRzdOMnRvUlg3dTQ4K0thd1krZjJ0d04rd09vMU00QnQ3L1BnNTIzOHBO
SHlhUVA2TERCZGI3TG56UTl6NTMvMQpJZmJkOVFCVEE1U2NPOWRLdTVpb0hhUlp2WW5KMmkzVXly
dHczUnFlVThGMXl6aVVjUnpIYUxKQXFoZ3BRNFQwaVdXUFdQU0lSQThoCmUwU2lReGh2MEFzdUdP
Rll4ZzlYOWQrVEdvQmYvbG5vZC9YZmZ1enJmOElqNzNzM0RoNHVOVndxUXpkRDBrVndob2puRWZ3
SkY3NTIKaXM2NUNtNjVvOEVYMFk2SGV0Y0NQbHhiUTBnUitMWjNYN2RzZktMcE0rYVlCV2J2ZTRq
NzN2MVJEanp3VTh6bTYyN0paYjF5QTdNVAo5elBYZkFzenpmc29lMU40YmhYWHFhS1FTR25DTEJr
aUVzOWJSa2lWVmQvQXdYVXFsRndIejYwaDFSUlZGU05seEVUMUppTFpJNDQ3CjlNSXJkUHRuNlFh
WCtPSGpxeW40ZDkxOUIrOTY5enR4cWVOUkczbERYSnE0SEtiTVljNDh2a3o3M0t0NGxSZ1Y3MXhK
TnduMXRPYlgKcmduOGF4R0FQUGdseTk0bjRWcmkyTFZzMElINVBUZHkyN3Mrd2gwZi9oUjdYYzk4
bGdXKzQ1U1puM2dyQzYxM3N6RDFNTFhTTGx5bgpESTZEVWpGQ2hzU3loNVFoaWxocnU5UUZGNkVp
L2J5S2tTb3lRaEdsUXBGZXk5QThqbkZ3S1hrTm1wVzlWTHdabXRXRC9MKy85MDBUCkJNQ25QdjFK
R3VWZDQrK0k1VlRFWVkvdXBXL2llaElsQkZMR1J2dDNwcXFYZ2U5Y0UvakFoZElPZ1cvYis2Ymx6
U2NhUDJmQ3Fma0gKZjRxM2ZQQVRIRHgwRHhONXUxN3lKcGlmZkR2N1pqL0t3dVREZUY1ZDN5UWxE
SEN4QVZZZkNmaUpwaWRnSzBRS3ZsSXhVc2FENEtzbwovUXhoaEVYSVJEQUU3WFhKeVZjMCtJMUdn
MC84M0tjM0JWOUpuV2gwdkJMKzZrdjRhOGZCVVJidHh6dFQxU3VrZlZzSXRnNCs4TldyClpZQTgr
RlVML01UV3B4b1A3SnFlNCtCN0grVk5qMzZPL1k0ejZOU1YzQWF6a3c5d1lQNVRMRXk5azVJM2dS
QTlvOVhDQUpvRFg4WkkKY3BxdjlNMjJ3UmVwcGx2Z1M4TU1Na25WeHVualdJWjgvYzlPcGwvMC9l
OS9QN2ZlZXV0WXJWZlNGQmVOYW5UT1BJNFVYWEE5RGJvbApCTmRlMWF2dEdQakF5ZEkxaG5xbG5P
WlBXUTdlSExBTDJIWGdFUGQ4K05QYzlZNzNNMmV6dmFOY0p1dTNjZXZ1djh2aTlDUFV5NHRFCm9r
MHN1a2J6TmNqcGRRcCtaSjdQYVg2aTFhUEF0MmgvQUh5am5iR01FWEhNbjMzNVZQcUZQL3ZaejQ3
UmVQTnRIQk5UT3c1UzlOaTQKOElUV2Z2TzVHQmE3MWxCdm1QYXZHdncvQlU0QjNkSTFnRjh1QUgv
YTB2b0ZZT0hlQjNuTHovd0NoMisvaHdrYi9MTGI0c2I1djhuTgo4NTltdW5rUHNld1JpdldVOHBV
U1k4RWZwUEl0YXI2bDZZT2FiMTR2WTQ0OHU4VHk1UUNBQXdjTzhMNzN2YTlBNDYwbUlVZUJJM0dF
CkFyZE1mK1VZL2RVWGNWeVFVZWI0SWNVT2gzclhEajdRSzEyajV0Y3QyazgwZjVjQmYvZUQ3K1Z0
SC85N0hGcmNwMTNuQlB5cDJpRU8KNy8wbEZsdVBVUFltaU1TR29maEVxNFdsNFNJTjZaVE1iSGNt
RkZkUCs0a3BFWVlGcElqNDExOTRPZjNTbi9qRUo1aWNuQnpVZWlmVAplQnlsOVZGSUhLVndYWmZP
dWU4VDlkczRiamx6L0hLYUw1Vk9PQ1hnQ3dPK0tOTDgzOS9Qa2VYNlR0SitDdjUyR1NBZjUxY3Ri
MzhxCnAvbUxEMytBZDN6cTg5eldtcUdNbFhqYzAzby9oL2Q4bnJuSnQ2WHh1YTMxdHVaTEdXZjJQ
OUg4UE8wUGdSK05BVDhjZUwrbS9ZUUIKSW9JZzVOaVJOZ0NWU29WUGZmS1RXdXVOeG1yZ1ZRbzhV
aUtsenFlN0NoQTkxazgvam90RXlraFR2eFNwODVlQ0wwSElRZkJqQVpGSQpsbXNsYlZ6N09iSzhz
emJmQm4rckRGQ1UyNjhWZ0QrWGFQN0RIK0Fkbi9tSEhKcVkxR0dtQWp5M3lzM3puK0hXM2IvSVJP
MEFzZXhxCmVreEtxQVcwUHdUK0NJY3ZCWFVUemJmTlNhTDUwZ3JOL3ZLeEMrbVhmdmlkRDNQZmZm
Y05hbjFpNjRWQ3Fsei9hTGxNc0hhYzd0S0wKS0tYRDFRR25Md2Ura0tSSEpDQ09sVDRyTFFULzhu
Y1BjSFM1dk9NMjN3Wi9Ld3lRNzk3Sk8zMlRWb3kvQzFoNDhMMjg3Vk9mNXpZYgovSkxiNFBiRmY4
REIzWitqNHJXSVJTL240QTA2ZkZLYVVNNEFQZ2grbUQyL2Fad2ZHWkFIYmI0R1AwSUk4eGt5SmhZ
UlgvMzlNK2tYCi8vbWYvNHl1OHp1Wm8rY0loWEFVanNwMWpic1NLTkU1KzlmRS9tVWNwNVE2Z0ZK
R0tDa1JNcVA5QlBnNDFYNUZHSU5RaWpCVy9LdmYKdjVHalN4V3JqV3NRZVAxWUdRRzRldkNCZm1r
YjFHODdmUTByd3plVGhIcjNQc2hiUHY3M09OU2F5UW80SmEvSm5YditFUWNYUG92agpsQkRTejc3
SVpwcWZDb1ZOKy9FMjR2eE1jQW8xUHdrblZjekpWOWU1Y01ZSFlHRmhnWTkrOUNOR0JYVGZuSlNt
Zmk0VGdaQTRqZ0ZBCktKQStHK2NlUjBVU1NuYmNMNGxsc2IyUGhkYjZLQVlwSW5waGlYL3o1ZjI4
dEZ3MTRNc1IycjlsOEw4NkR2ek5CTUFweVBIYktkNlcKbGVUWmRlQVE5L3pNTDNCNGNSKzFCSHpQ
clhQbjNsL21sb1hQQVk3dWtNa0JuOFQ1dzk1K1BPRHdGZG44UXMwZkUrY25tbThubEdJWgpJWVRn
Uy84OGkvMGZmZlJqek0zTjRTaUpWTkk0LzZiRTZHanFkNVFBcFhDa3d2RThSUDhzN1V0UG8wcFo4
a2RLa1dxNFJCQkxDRU9GCmpHUENoUEpqM1pjVDArQmZmM2tYUjVlcmxGTHdaWUgyNzR6bUowMHZw
UzFXK095eWJpUG45YzlQejNId3c1L21ydHV0N0o3bjFqbTgKK0hrTzd2cmJCdnc0QmQvMitGUGFI
OURTdk1NWFdyOGZvL2tqNHZ5ODV1dlhDNU1KaklsaXdTdlBkOUpZL3VjLzh4a05mbHBYTm5iZQpB
Y2VSdWxxVVpQNWNBVjZWalF2UDBGOC9nNnNrb1FpUVlVQVlDZjM1MGtOS0QrbFVjV3ZUbENkbXFO
U21jYXE3b1Q2SFY1dGxaYTNNClV1OEpGQ2RSZUNud1hFZnd4d25BS0srL2tVdnp6Z0x6NzMyVU43
M2ovY3lsQ1I2bnhNM3puK2FXM1gvSGxHWERBdkRGZVBCektkdmkKVUM4YUFGdXFtSldWTnUzMUxr
dFgyaWhpaEJJZ0JjMHBoOGFreS9Tc2gxTENwSDVqcEJRODhjMmw5RXMvOE1CYmVlQ0J0eGduTCtz
bgpkUnlaTlFzSXBZRlBsaGVJaUN1dlBrYW4zYVBacUZBdVZWRVRlNmxWRnFHeGgwcGpOMjU5RWJj
K2grczJDRlNaaUNwQjZCUDRBWDdQCnB6S3QySGRUblV0SEkvTVhpeHk5bmFGOXU5ZXh0SW5qNXhZ
NGZoTW00VE9UNVBZZi9SejdiYmRvY2VxOTNMcjdGeWw3VTZuTkw0N3oKQzhBdml2TkhPSHhoRkxL
NnZNSDVjOHRjdnJqTzJtcVhLQXlKUlV3Y2F4OEFRK09PSzNGZGlWdUNlZ05hY3lWbUYxd21XeTVm
K2JlWgo5Ly9wVDM2U2t1ZGx3THVTTkd1RHduR0VpZmwwTjVCRUlmMTFadmJkeDh6K04xR2R1QUZS
bVVPNkZjS3dRaVJLUkZGRUZQcUVZUmMvCjlBbkNIbUd3UWVnSCtFRkFFSWI0Y1lsOUJ4cjg4R2hH
L1dtdjRmYkFQN2xWOEVjSkFEbXZ2NXlyNnllbDNkazlOM0xiQnovQlFidXIKWUtKNk00ZjNmRjZI
ZXFKWGFQUEhldnVieFBseEZIRHAwaXF2bmJ6TWlWY3ZzYkxjMW9rV1JKWndRUlpjeTRIcjEwNUk3
YURGZ3JNbgp0UFBYYXJYNDJNZCtSdHQ1QlE1Q2E3M0UwTDFaVnVBb3BOQUFPVEttVkpic3V2TXp4
RUxSNzdZUlFSdS83eFA2SGNJZ0lCSWhZUndRCkJSRlJIQkQ2T3VjUWhCcjhJQXp4QTQvNTNVN2Ex
WVBsQitqcm5hTjlxK1U5M29vQTJKNi9iZnRuMy9VUjdyak5wSGdCS3Q0MGQ5N3cKeTh4TnZrM0gr
WmJkTDZSOU1wT3dsVGovK0xGenZIemtIQ2VPWFVJbXFkVUI4T1ZJd0lldkZWSXBYbjZobTM3cEQz
M3dwOWwvNDE1ago1NU1WZ1NvRDN1Z2hVbWduTVBFQlVNVGhHbjIvUjcvVHA5LzFDYU9RTUl3SVJJ
L1FENG5qU0QvbjYzTVFob1JSUk9BSFdoQUN3Y3h1CnFMdFQ5T1FLRHU1MndQL3ExWUJmSkFENW5y
NThwUzhKL2FidmU0ajdQdlFwOW1adjlOZy8reWlMclVjMDdhY0ZteTNFK1FQZS9uQ2MKZitIY0Vr
OTg3MlhPblZrbWp1TXRhdnNtUWlFVlNnbU92OWpMQ2o5L1d6dC9LSk94QVFPK0JrRkppZVBFSUEw
Ym1QVUFzUWpwdHJ2MAorbjM2M1Q1QkZHZ05qM3lpSUNDS1E2SWdKb3lpVkREQ0tDTG9Cb1J4UUJE
MENhTUF4NFBabVJJYnkwbS92cm91dEc4dmVTdHRRL3ZUCnpwNTZrejN2K2lnSFBLdVpZN0orS3dk
MmZacXlONm0xZjB1YVgwVDdXWnpmRC9yODhQdXY4TnpUSjRtaU9BdUp0cTN0T2MyWG1sNHYKblFz
SUEzMXpEeDgreEh2ZS9YQ2ErdFhBZzNKTWY1aU1jQnlsellLclFBbHdCTEVmMFdsMzZIYjc5UHA5
L0xDUDMrOFJSaUZSbkdoOApwUDJBT0NhTUFzSWdKdlFEd2pBZ2pQcUVvVThVaFlTUncveWk0TlN5
MUpIVDFtai9wQUY4MitEbkJXQ3phbC9pL1UvZi96QjNQbWkxCmNYbHVuVnQzLzExbW12Y1N4ZXZE
ZGovdjhKbTByTFFjdlh4aDUrS2xaYjc5amVlNWNHN0YwbWhSb09IYjBYeVZYa3VsT1BKVXB2MmYK
K3ZqUFVhMlV0Wk5uMHI1S0dzOWY2dWNjSjFrZ0hJTVFSRkZFcDkybDIrM1M5YnQwKzEyQ3ZxYjBN
QXlJd3RnQUh4RkdNV0VRRXZraApZUlFRUlFGaDNDTUtRc0l3SUk0akl1a3l2OXVGRnpIZ3N4WHdF
N0MzRFQ2Z1NpTWFQZkwwbjlqL3FZa1dlOS8xSWZiWm5UeHprMjlqCmNmb1JZdEVkVGZ1MnQ1L1Qv
THkzZitMRWViNzU5ZWRwdDd2RG9BNEF1MTFHMERsOEpTVlJJRmhiamdHb1ZxdDgvT00vcTIyL1ky
aFgKU2cyODdmd2xTd3RqUVJTRXREc2RPcDJlQnIvVHhnOTgvTURQdEQ0T0NhT1lLQXhOSkJBU3hS
cjhLUFFKL1lCWWFLYUlvNWc0bHV6YQpGVk9oUmt5QU01NzJUK1Ewdjc5ZDhBRloyb2IzUHdHMDdu
MklRM2IzcnVjMU9URC9TZXJseFpIMS9FSE5MK2pra2FIeENVS09IenZQClgvejVVNFJST0d6anIw
bnpWZnE4VklyWGpnWHBsMzd2VDcyTHc3Y2YxSFNmYXJ6TTRuOGtPREVtcDBzWUJyUjdiVHJkSHUz
K0JyMU8KajE3ZngrLzVXdnVqaFBaajRpZ2lEQUxpT0RBQzRCT0hJVkVVYXZERGtGaEVpRGhHU0VH
cFZtYXFVV0twMTBmaDU4Ry9hTUEvWGtENwp5ZUZ2Rlh5YkFad1IyaitRL0tsVW1Ydm9FZmJhdmZt
N0p0L0J3dFE3aVVSNzh6aS95T0d6TW56SGo1M2pMNzcydEFGZkZvQy9OYzB2CmxhRlVkbkE5MS9o
ekV0OVh4S0YyL2xDS0V5LzU2VjM5M09jK3JRcy9pZk5uOHZ3YWVGT3JsUktVSUFnQ092ME9HNTBO
T2h0ZHVyMHUKM1U2UHZ1K2JrQzRnOUdQaitFWEVRbXQ4TExRQXhHRklMQ1BpS0VURWtjNVh5TmdV
cG1LVTR6STlFM0N4MXlObTNRYi9FdkJueHR2dgo3d1Q0K2E1Z3A2REQxM1lBSncvZnoyM0pvZzFs
TW43N1pqOUt5WnV3MnJqR3gvbUpnNWRrOEpMSHAwNWQ0RDg5OWd4aEdBNXJ1c29WCmozS0M0RGlL
aGIxVnBtWktUTFljbWxNTzFRYVVTaElwQlpFUXROY0NlcjJZdGVXSVY1N3YwZXRvSjIvZnZyMzg5
Q1B2eWV5OEt6TTcKTDVPMGJ3YitSbitOOW5xSFRyZERwOXVsMnpiT24wbm9oRUdvSFVBL0pKWUJj
ZXdUQlNGQ1JFU1JQc2R4akJDbUdpbXlsRFpTc0x3ZQowSE5XaUduYjRGOEd2Z2FjenRuNnJyV0F0
Vzh0YnQwUytIa2Z3Qm5SOEpIMjk3L3A3ZHhnZC9iTVR6ekF3dVREQ05IYlZweWZ0L2xMClM2djhw
OGVld1ErQ0VlQVgwNzdqS2c3ZDFXTC96VFVtWjF4Y1Q2UlZRQzJBQ3FFVW5sU1VxeTR0NmJGN0gv
enh2OHFjdjd2dnZwZnAKMWhSS3habldZOHAxd3R3M1J4Q0VBUnY5RFRiVzJuVDdIVHJ0THAxT24y
NnZSOC8zOGZ1YS9xTWdTalUramdMaUtES2dod2hoZ0kvTgpQUkQ2M3ZUN0FhZk9yblBzNUJybkwz
VVJZbURkMmpMd0RlQ01aZHM3T3dHK3pRQjVFMURKTVVCellTLzdIbmdQcy9hL3R0QjZONTVYCkg5
VHdwTlJhRU9jWGVmdEI1UFB0djN5QmJyYy9CdnhCRStCNmtnT0hKamw4enlUTktTY3QrMmJnNnh5
L1VMb1RSMGlSTWtnVUNVNGUKRGRQQ1Q3L2Y1MTk4OFN2OGQvL3RveUJDRGJ6UitNUUU5SU1Pblha
SE8zM3RMdTFPbDA2dlM3ZmJwOXZwYWUzdkI0U1JUeGo1eEZHbwpBWThpaEl4UzRMVzJpelFLdW5o
cGc1ZVByM0RxN0FhZGJsU1VrRnNCL2dvNGI4MHU2RnRubS9hRDdZS2ZDTUM0OEM4VmdFUDNzYjgx
CnA5dTdraFU3QzFNUEYyaStHQm5uRi9Yd1BmUEQ0NXg1N2NvbW1wK0JQelZkNGsxdm4yUFB2cW9S
cUR6NHdvQ3YyN0Zrd2hwU0lJVGcKaVc5a21iL3A2V21xMVNwLy9KVXYwK2wwK1pWLzlFbUlmQTIr
SzFDRStOMCs3YTRHZm1PalRidmJwZFB0YWUrLzI2UGY5ZkdESGtIWQoxNW9mNmF5ZkJsd2c0dENB
cnRjeHJLLzNPWGxtbFZkUHJIRHhjcmN3RFZ1dUVrY0JSNDJudjVRYll0RzNQUDVFRU1LckFUL1BB
RTdPCi90c2hZUE91dDdMTFhzY3hPM0UvdGRLdThYRit2cG5EV3JFalZjemxTOHM4K2NTeExkUCty
ajFWSG5yUEFvMEpNb0dTcHZGakJQalMKQ0ZBczllYzk5b2VaYmQyOWV6ZSs3eE9HSVYvK3czL0gr
dm9Hdi9hcnZ3QlJnQ0xDNy9Wbzk5cTBON3EwMjEzYTNRN3RUay9IL3IwZQp2VzRQUDlDSm55Z090
SzJYR2ZqSzBId3NZczZlWGVQb2lTdWNPck5HRUlnaDBLc051UGxPMkhzTExGOGllUGFiZEt5cEpz
azBrL3dBCkMxdnpvKzJDYnd0QVB2MWJ0cGQ1elM2d2VNL2JNdWNQWUs3NUZseW5QRml5emNmNStk
eCtycDcvMUJQSENjTm9oTU0zQ1A3dUcybzgKL1A3ZGxNckswdnk0Z1BhRmFTYkphRjlJWGRRNWN5
TGc0aGtkKzVmTFpWcXRGcjd2NC9zKy9YNmZmL3Z2L2c5V1Y5YjRGLy83MzZlLwp2a0pubzh0R3Aw
TzczYVBUN2RMdTlHaHZkT2gyTzNUYlhmcEJseUR3ZGNISE9IaTYyVVF2R1Y5WjczRHN4QlZlUGJI
QzBrcHZPT1hxCndPSk5zUHNtbUY2QVNnM0tGZGpib1A3cVV6UjZHeWxvK1JsR1lXNmNqVDNWektw
VGp3ZS95QVNVQ3RiMDEyODZ4S0k5bktGYW1tZW0KZVM4NExsSUdXNC96cmNMT3FSTVhPSG44MG5D
R3p3TE8xdngzUExLYlVsa090SG9WMC80dytFcEtoSkw4d2U5c3BGOThabWFHT0k0SgpnZ0RmOTNV
MnI5dmxYMzd4QzZ5dXJQR0YzLzVGMnQwKzdZNEJ2dDAyWVYrSGJxOUQzOWZhSC9SOUhjY2I4UDEr
eUttenk3eDg3QktuCno2MFR4M0xvcHRjYXNIZ0E1dlpDcFFwbEEzeWxDdVVxbEtxNGMzdVlOQUtR
ZUtiMlRDUGIzdWMxZjh2ZzV3Vmc1Q2lYZzNka3pSNG8KbUt6ZFF0bHJtVGs0VzQvekV5YUlvNERq
eHk0U1JkRndQSjhEdnpIaDhlQzdkbEdwS3F2YngvNDdZc0RoazlaN1k1SDFBMFJ4eklragptYU0x
TlRWRnY5OVB0Yi9UNmREcGRGQks4WWQvOUcvWTZHendULzd4ZjBON1F6dC8zWTB1M1c2YmJuK0Rm
cStQNy9jSkFwM01pVVhJCnhZdHJIRDEybVdNbmw5aG8rOFBkTlI3c3ZoRm1GNkZhQjljRnI2U1BV
a2tMUU5rSVE2a0N1MjVnNHN6TDZXaGFtVE1Gc1dYdm85d00Kd3kyRGJ3dEFQZ2swTUwzcjVqdVlz
aitxV2IwUno2MmxDeXUzRXVkbmJWd1JhK3R0WGoxNlBtZm4xVkNjNzdpUys5KytpNGtwSjZYOQpy
SVl3eHVGTGFGOUpKQklwSlU5OUt3T2xWcXZodWk2OVhvOSt2MCt2MTB2QlQzNis5dGhYNkhZNi9N
cXYvQTE2M1EyajlSMzhucUg5Ck1LRGQ3ZkR5cXhjNStzb2x6bDVZUThyaGU5MlloQnR1Z2FrNVRm
bU9VVGZYQmJla0Q2OEVYaG04U2lZSWl6ZFR0MXJ6aXVZYjJxQmYKRmZoRllhQ1hYK2MvTmNQY3JY
Y3hZV2YvSm11MzRqb1ZZdG5kVXB5Zlg3Rno4dGdsYmZ1SDh2dURjZjROTjliWmQ2QnVQbWR6YjE4
cQo3ZmNJMHlzZ2tBZ2g4WHVDUC8wL000KzcyV3ltdGoraC9xS2ZiMzNuUDlMcGJQRDVmL0FlL0Y2
YndPOFJoRDJPbjdyRWM4K2Y0ZFdUCmwrbDBnNkgzVmFxRzR2ZG9RSEVzOE0zZGRsendQUEFzUVNp
Vm9HVE13TjZETkJxVFRQYmFLVVBMRVhNT3J4cjhQQVBreDdTV2djcjgKSG1idGFWeU55bDZxNVhr
em5DRVgvNDlZcTVjczdaWXFJaGFSdHYxS0RHZjVMT2ZQSzhOOUQ4NVliTEk1N1lOTU5WOG9yZmxC
VC9ENApZejZyUzlvV3U2NUx1VnltMisybTJqL3U1OG1udjhkdi9tYVh2L1d4UXp6OTdDczg5Y3da
emw5YUxYeHRzd1UzSFlhcDJjekp3elUyCk5qY0QzWEcwV1hCY3pRYU9ZNWpBZzdKbUE3YzF6MlN2
UGJDeGwySjQycmt0QU5zQ2YxUWV3QmFBOHNKZVd2WW5UdFJ1eFhQcldVaFgKcFBtNU5pNXA5ZnAx
MmwyV0xtK00xWHlGNU1hRGt6UW1uUUp2Zit1MDczY0ZUMzByNElVbndrdzdLNVhVOGV2MysxdTZT
Uys5OGh5LwovbHN2RXNmRDRWdXBESk16RHMyV1l1RUdxSnVsaEk2YjBiMmpRRGtaMVNvMDZEamdt
Qm5ueVdQUEE2ZWsvWURXTGlZdW5CeWFlMXcwCnpsNFd6TUZpdXd4UUtBUzc5bVN0M2tyQlJQVW1Q
TGVLa0VIeEV1M2NxdDE4Ni9hRjh5dTZ1Y01HdmFDd3MrOUFMYzBtam92ems5Y1gKZ2YvMGR3S1dM
d3RPdlJ4bnpwaXgvVUVRYkd0ZHZBMis0OERrRERTbUhDclZaSkdvcmhtVnlocjhnZjU2aDRGQlZP
bmFVc2RhYnVBWQpFRnhqRmh5WVdhREI4TmpiL1Bpa3F3WS83d1BrSjI1N1FHbHVrYm85QWFWZTJZ
TkxTVWNBbXd4bktGcTBzYnJVTGd6MTdPVFAxTFRICjVLdzdOcjA3clBrS2FVeEEwQmM4ODFjQlM1
Y0VxNWNGUVYrbDRNZHhUQmlHVnpVVm8xeUY2WG1IK21RR3JKUE9CdEIxbzFMRm9ua0QKcmxJYTBH
U3ZYcVVHRVhUTVlDcnBaUDZCNjBGcmdSckYwOCtkcTZYOGNTYUFBZ0h3WmhlbzJrdmhhdVY1SEtl
Y09YWWo0dnppaFpvaAp5OHZ0c1pxdmxHUjZWNDFhWFcyYjlvVVUrRjNKVTkvV21xK2s0b1VmRHVi
WXR3dCt1UUw3RHpuVUo2QzNvYWs4OWVVczhCTWw4WElkCkZrb2FCcEFhVkdWbUVOclFTVk50dG5j
amNGeVltcVhDOEU0b3R0eGM4MC9lQjhodjFPQzFaclA4UDBwMy9qcU9nMVRobU1rY0k1WnIKeVpo
T3U3OXBNOGRVeTkwQytISUUrTDRHWHlrQ1g5SmV6YVJYU3JubEc5T2FnME52ZHBqWnBlKzIzd0cv
Wjk5NmxRS2YwanlaQUpqVwpRaHpYQU80YUZsV1dDcXVzMnB3MElDbkxQRXpNcFBzaTVJZHRqOW9X
aDZzMUFVVUxRbHpBbTJpbERhcG15VmZOTEk0SkJ6Ui83SW9kCkdTS1ZZR1c1YmJwNlJ6ZHpPSTZp
Mm1CcjZWM0w1Z2Y5ek9ZcnFkdTZWaTdMYmQyTTVoUWN1dDloNzBHanJUSURValUxdU1rNlFjY20K
WWl0ZDQ3cVpuVS83UzJ3ZndMd3VYV1NFWGx3c2t2WURNMnBJT2REVUs2eHQvNHlkQW42VUNjaXZD
NlRSeExOekFLNVQxamQ5VEp5ZgpnbThlQ3hNQ1JsRmcrdmxIdDNHVktsQ2ZjTWJFK1RLTjgyM3du
L3FXdHZtNjlVdmYzWmxkVzd0UEMvdmdyZTl6YWMwcFJHUXF3ckZoClpKbHB0bGRDSjN2VVlGaW5W
QWFQNDJaQ29RejRVbVdmaFRUdXV3SGJ4WmdBa1ptQ1pDUkJwWkh1ZytRVTBINlJhYmdtQnNpRDd3
Qk8KcGFxL1dySkdVdWJpL2tIYXo2L1ZTeng0YzAxU0h0WkFGcktBVW1aZHZSb2I1dytFZXQ4ZTFQ
eGtCays1Q3JmYzdYSDhoZUh3YlhJRwpIdnFndzgxM09rZ0pVV0Q2UDNRbnB0WmtOWGk0cmtIU0Js
bGwzanhXcGsrS1hPQ3VzaldsWnJtaUpnMnBoU1pwUGtvT3FmMlByZXlHCnhrNEt3UEJBTEF0OEJV
U3lxMWV0RkU3amlvZHN2clQ4aEtSZkVCdjBJVUVBcWZSQWhheS9ZSFNjbjZmOWZFUjA4NTBPZTI4
dWNmYUUKWlAyS1luSVc1aGNkcG5mRGpZY2NTbVZGRk9wVWJJSms0dEduZzZPVjFuelhzelMrQ0h6
REFFcVkxSjNLZ0UvQnQyeStTc0EzbWkvcwpsV2lLMStXblZJRDNnT0NHUHJMV3dFdCtFY1ViZUc0
VmNBcmovQXo4UWVDbDBuVnhQV2hoZlBkdUhDY2pWVWJIK1luTkg2UjkwczlJCnJsRlFxU29PM080
Z2IzT1FTaUVGOU5wdzdEbkZ3YnVoV2t1RVhCdGd4emhqeVVwd1RYMG1uWnVBYk5sK1cwSHNxZU9K
RDZDRWRSWlcKbTZIdVFrZDZtZjFQZkFTbElBb0w5eTdjVWRGd0diMVRwZ0xvZFJqb1VBdWlaV0xa
SDZiNkF2Q1RReWo5WExXcTcrcTRFREFJQkwydQpxU0ttbWg4UGdOL3Z4ano1VFF0OGEzeGI1bXlw
MUdITHZtRG1nanRBMEZjY2YxN2grK0I1U2hkbVBNMEdybWV1UzFyelpaalplR1Y5CnhrQmNadTZt
bElQZ0Mwc0loREFPbjIzelplWVQyRWdFUFVRUkpnVnA0V3NTZ0tJUFRBc1A3UTFpK3czOTZBcXg2
QTMyK1ZuZWZwSG0KSnl4Um53RFhIZE8zYjU3cmRyTEtYNXJiUjEvM3UvR2d6YmUwUGRtL1l3ajg1
SG9nYk5QYUh2VGgyRE9Ldmg3c3FROVRxSEU5cGF0MgpMZ1MrQmJURDhKNEY2UGNrZ0FxaEhjbFVD
Q3pnMDJzYi9Kd241Z0M5allGOUMrVk9nVDZLQVlwMnpoVHJ5MFMyaFBqUlpTTFRCVndVCjV3OW92
ZEY4S2JNcFhmVUp0M2k1bHBJcGVCdHJjYUhERi9Sa29jMVBBRmVHaDVWUkpaVmNHK0VZY0dqczVG
QUFKMTdRbytFZE56blUKUUQ2LzN4bTIrY3J5RVJKN2J2ZVVTaE5ONU1FZnNQbFc2T2M0V1ExQkFa
MzFvVnEvdmVmaGpnaEMzZ1FNbFJ4WHJ4RFl0NndiWE5CTAp3SWJpL0hod0pFdCtoSXVaMkRVNTVS
WjQvdGxqVUt3dFJYVGEwUUQ0a1MvNDYyLzRtdllIdkgyVkFzNkEvU2NUQW9maEhTZXNCQTZPCjF2
QVR6NFBmMVJrK3UzYnZBTjEyTHFkdjIzeWp3YTVud0kwekJoQldpR2RmSjc1QU1vZ2tBZDkxc21p
aXZaTHVWeGpud045eEUxQzAKbzZZQTRxV0w5TzFpVUMrOG9Qc0FrampmYUw1SXg3SVpzSE9hbjlU
elozZDd3N1NQdFhRTHljWmF6TnBTbElLdmxDQUtGQ0paMW0xYgpkYVdHYmI0RXI2eTQ1UjZIWnN1
YTVLN1VJQW5rakhqUWh4TXZxSFNmZ09RMW5RMHRHTW10bDdtaWJCTFhsOHJENEl2WUhJa1F4SU1z
CllLZCtQYXM4RExDeFJMK2crY1BlMTNqSFRJQXNhRDJLZ2VqS0JUcDJNYWdmWGlTTTFpMG5MeDY0
VmtPMWV6MmNLV0dHNlRrWDExT0YKbW84UkJKVGk5SW1RV0NUemRSWFZDY1diSHk3UjJzVWd2ZWZC
VitDV0ZZZmY0bkREclhESFd4MXFqY3hIU0hoT09aa3paN09EMzRjVAp6MEd2a3lWdjFwY2dqZ2U5
L0lHNDNqQkF1VEplODFPN2J6TkFVZ2swQlNEWFNzMnRYcVpUME9wZDFQeXhZejdBQVBoQWRPVWM2
M1l4ClNFbEpMN3hvSEVFeG1Qck5hYjQ5cUZHWXNtNjVxcGpiWFJyd0FiSjk5eEo3clRoL0ttTHRT
b3lTdXNxbmhLVFNoUHZlNGRHYWM0YWMKdndSOHgxUGM4WUREM0I1OXN4dVRjTmNEdWhFejJReEtG
WlZWSEpWakFxMzFnUTlybHkxYlB5S3U5MXlkZUpJanREMEJQNDBBa2pDUQpyRDNNSzJXQzREaXdk
b2wxcXhHMFNBalVUaktBS0JDQWNPa2lLLzJ1Q1VkVTRnZ3VFWmxJb05qbXgya2JWOXJPWmEwYTNu
TmpPYVg5CmRQcUdCWDd5L0N2UGhxYXpSNCtHQUVXdERuYy81REkxYTJtK09YdGx1UHR0RG5PTDZZ
QVBwRkEwSnVId1cvVjZRYnVRbXVYNjFRQzQKS0FoNmNQSkZ1UGlhZGhMVE9MMEFmQ1doVWpkN0RX
MEZmRXY3YmZwM3ZVd0l3Z0N4dHNUS21KNy9IV01BQ29RZ1hZblNYbVA1eEV0MAo3SzNZL0hDRldI
UUdlZ0hHYTM0bUlFTEd6Qys2Vk91MjVzc0I4Slh4cWk2ZjE4MGN5VnhlSmZSYXYvb0UzUHRPajZt
NVRQTzlNdHp4CkFNenNkckk0WE9qZlNhQXhvYmo5emJvajE2YnlnWGd1bDhUcGQySGx3dWJnSzZV
TFNWdlYvT1RBVkFzOXF6RTBhUk03ZjR4T2J5UGQKelRRYzBmMjdvejZBdE1DM0Z5SUVKNCt3WVR1
Q29WakhqNVlRTXRwRTgrTUJ6VStLT1BVSldOeGZHcUI5WFdDU0tmaDZKby9pMWVjaQpObFlrU3Vp
aFRxQkh2RlJxaW52ZTdqSTFxOTMwdzIrRjJkMk9IdjlpZzY5QXhIcE1hMzBTRHIzWlpQNFN6YmR6
OEdvd0k1ZUN2QW40CmxacHhBTGVnK1FQT0gxbDdlS2xpdEwrazZmL2lDZHE1eFo2UkpRUTdGZ3Jh
UGtCK1UrVms1WWwvNm1XV0dYQ0FKRzMvREVMNjJURG0KdER0bzBPWW5WYjNFb1pOS0QxKzQ4Yll5
WGlsUCt3eUFyMUNFdnVMSUV4SDlualJwWEdYcStvcHFUV3Y5bTkvak1MZVlBejlKeU1RcQpCVlpL
N1F2Y2VoOVVhb08wUHdDKzNEcjRTc0xFZEFiMHB1RGJ6cCt4OTE1Wkg2V3lEZ01kQjg2ZllEbTMx
ajhxV1BhMTQwNWdiQzA2CkNKTEZpS2VQY1hGak5jc0lLcUFmWGlJUzNYU21iOTdieityNVprdVdk
S01uSGRaTnpjS2VHMHNETmo4VmhseWN2M0pGOHV6M1lvS2UKVENkNDZxbmJrbW9ESnFiVkVQaENx
aUh3RXdCcVRjVXRkK3YyN1VMTlYxc0h2MUxYenQ5V05UOU4rWktCWHpickFkeVNiaEx0ZFlndgpu
ZWFpdGV3N3lFVURPK29FVW1EL0V3Ym9BLzNWeTF4ODhhOVpzOU1vZ1ZpbkYxek1kdDBhb2ZtYTln
Y2R3Y1FVM0haZmlWSlpEZEYrClVaeS9jbEh5MUxkajFsY1VRaWpMY1ZPRE5qL1pqRUZRQ0w0MHY2
czE0ZWE3OVVxY3E2SDlwTlZyb2pYcy9JMENQKzM0VVZrYmVBSysKVjlhUEhROU92Y0JhZXprVmdI
NkJDUkM1WnRBZGNRSlZBUU1rVzZoM2p6N0ZsWUZTb1FrSEU0ZlB6dnNQYTM1eFBiL2FVQngrYzZr
UQovS0k0ZjJORjhmUTNKZWRQU2VMWWdKa0QzNzdSQStETERQd2tOcS9XNGVhN3RBM2ZMdmhKaUZt
dWJnLzhwSXJvZXByeXpWcEFMUVFtCkFuanRDRXRtQ0VRdnR3STR3VWZ0dEJPb2NrNWdhTm1mSHRB
OTlnSm4xcGVKN0ZSNlA3eU1IeTViRFNGbWFaalJmTGxKUFI4bHVlR0EKeDY0Ym5QSGdXM0YrR0Np
Ty9FRHg0ZzhrcTFkeTNyNlp5MStvK1dJUWZHbTFZVlZxMndjZjlQdTJDcjYwUHQ5eGpNMnY2TStv
MURJbgpzTmNtT3ZzeVo2d0pJSGsvWUVmekFGNnVHeWhaRStEbFZ3ajMycmp6ZTloLzRQWnNOS3hV
RXNkeEtYdFRRN1F2Yyt2OGlzQlhVcUZjClNXdmU0Y29GUVJnd05zT1g1dCtCN2daY1BndWROWVdN
SE5QUW9VYlR2c3pBanlOWXZhemZmK0dFN3ZiZER2akp0ZDh6YmVCcUUvQkYKOXI4N2puNVByUW1O
S2UxQU5scFFuOUJzOE5JUFdEN3lYWjRFcnFESHc2d0JiY01JTmhQc2lBa281WEppK1dFRTlqU0t6
blBmNDl5NwovMnQyMnhGQkw3cENwVFJOeWEybnREOEl2a2dCejNMN01zM3dTYW1vTmhSM3Y2M0Vr
OThNQ2Z4aXpVK3FmU21OS2hDUjR2SVp1SHhhCk41TFdKL1R5ckZwVHI3UFRkWGh0R3NJQU91czZ4
ZHRaMDRrZUVXL1A0Wk81YXlGMG5tQnF6dXJzS1FEZjFuelh6YWkvV29kS0l3c2oKWFErT1A4MDVB
N2c5OHkvSVJRRTdWZzdPQzBBK0VraE1RQWRvdi9vY3J6NzNmUTdhd3lLVUNPbUhsMmxXOXc1b3Z0
M0FtZFR6YmMyWApTS1F3bXpLZ2FNM0NYUTk2UFBlOW1DZ3MwSHhsMWZZTHNuZTlqcTdZWFRsdkZX
bVMxOGpjd0s5eG9kOFd3VSt1WXdHcmwzU1BvZDNlCmxmZjhrMllTenl3QXJkYWgydFRuY2xXYmhK
UFBzWGJtS0s5YUd0K3o2RDhmQWJEVFRtQStHWlNFSDRrQWJFUUJ5MC8rSmVmSmxkV0QKYUJVL1dz
K1dlSTlvNEV6MjNzdkF6eko4VWlubTlqcmMvWkJMdVRyb0N5akdnNjhZOXVLRlJmc0RiVmhYQy80
WUFZb2pXRnVDMEI4RwpQL1g4RThldm9oTlIxYVptcW1yZGhJQWV2UFFETHNRaHk4Q0dKUUNCeFFE
NUpCQTc3UU00STFZTHAvN0E2akx1L3R2WU83OUkxZllGCkZFS3ZHWUNSRGw4ZWZHVjJVQlJKVFVB
cWFoT0s2UVdIMVNzNkNUUlFkN2ZCbDRNMWVaWFA3WThEKzJyQUgvVVoxblBsYWxKL0dBUS8Kb2Y1
eUJXckdURTNPYXZ0Zm45UzVoTE12cy9HRFArZkpPT1FNZWpEVWlySC9uWndadUM0TVFFRkRTSlFM
QmR2QVJtK0Q4OS8vajV5MQplK0lWRU1adGdtaE5nNjhHKy9hVGt1NEE3UnZVaEpYZWxjYXhtR2pC
L2U5eW1OdnIvTWpCVDc3ak9QQ1RwZUd1dTBuTVg5V1p5UHFFClBxcE5uWXh5UFhqeGNjNzVIYzRi
N1cvblFzQ29vQ0dFbldZQW13bnNwVWo1b1JHVmxVdkloUnRZWEx5UitrQ1hvb3B4M0RJT3JsazIK
WHF6NWlTa1lBRjhtMXhwRXg5VUxOcnlTZHRyaTZQVUZIMkJpUmhkNWdwNTIrRWFDUDJWMUE4bUNX
cituSGIzNnBOYjZ5Vm50TTlRbgp0QUFjZjViVko3N0dFeUxtYklIMko0SVFYUThmd0NzQTN4bXhY
akFkSUJWSHVINmZxZnZmemFMclpuMDF3cXpsZDV5U1dmdG1KblJ2CkFyNVNHZmhTeWxRSXBJVEph
WWZXdktuT3RRMFExeG44K29UMjdPdE43YmlWS3JvM0lKL09kY2FCcnl6d3E5cmVONmRoY2s0TFFH
TksKMjMrdmhQcjJIM0YwK1J3dm10RHZDckFLckZ1UlFIZzl3Qi9GQUxaNUtCb2RVd1lxVjg3VHI5
Ull1T1V1UFQ4bzZhc1FTaWVxWEtkawp2SEJwTm1qSVdyZEhhWDZTejAvVHUrYTVjZ1ZtRm93Z21C
ekFBR2hxazhMT0ZzR3ZOL1c0dG1aTGc1Y2tlVkNEUXJDcDVsdTUvbkpWCnp3QnN0clRXVHhuYlg1
dlFyUERrMTdudzdEZjRMbm9lOEpVQzdRK3VsL2FQTXdIT0prNmhCNVJYcitEdHY1V0Y2UVVxZHIr
QWpnUjAKM0RQUTl5ZkdhYjVLZC9Pd3djOVcwaWhLRlpqZUJmTTM2QVlLblhoUm1HVUQyd1kvYWNT
WW1JYlozVHExNjNyRmhaMms1eURvNi9jMgpXK1BCVDVpaldvZjZsS0g5T1VQOWsxb29McDJpODcy
djhreS93MG4wTlBCbG8vMGJyNGYyanhPQWNaR0JhMWlnMU4wZzludE12dWxoCmRtUDEzRXRsOXJ4
VkRrN1NnaU1INi9sNXpVK3JlUVhnNTlPN2ppbkN6TzlWdE9hZ01hR0xPcFhhNE9nMXIyTE9aVE43
eDJoanJhSHQKZTJzT1d2TTZMSVBOUzdwSjczKzVPaHI4WkVsNHFXekFuOVIvYThxaS9scEQvLzVi
ZjhUTFoxL21HYVA5UzBZQWJDZlExdjdyc2xocwpuQWtZNXc4a1F5VzlpNmZwNGpKLzI3MjBCbG5B
SkJZZEoxME9yVkxObCtrTmwxSmFtcW8yQlQrZjNuVmRIVVpOVEd2dGFzMURhNWRtCmlnVGdxZG1N
ZWhQdnUxdzJpempqcmJkeFNaRzFoZzhVbmdyQXI5UTBvMHhNWitBM2s1UnZEWDd3NTV4OTV2L2pj
ZlFPSUZlTUFLeFoKMnU5Zmo5ei9WZ1hBeWYyeElrRkl6Y0tsczhTdEdlYjMzRXdqdjlSUUNwR3Nw
amZPbTdRMFhScEtIcVo5SWRUQUVxc00vTUVFVDc2dwpNd3BBWVFOYzBMZS8xWHErblZRcXBQMnk1
ZkVibXo4NXB4M0ErcVQrM2F0UHN2S0QvNGUvam54ZXM4QmZ0UkpBZHZaUDdIVG9kelVNCmtBOFBC
d1FoN0JNdlg4UmJQTURjOUR5VmZNZXQ5Z0dzaFpQQ1pBUzNEVDdqd1k4TG50OEUvUHlLSFJFUEwr
QW9TdTl1Qm42elpaaG4KemhSOEpyVkp1SFNLem5mL2hPZFdMM0hVb3Y3RTZ4K1Y5RkZqL0RQbmVn
bEE0Y0NJRVVMaGJxelNXMXVpZHRQdHpEYW5LRG41cGNaSwpaV05Sa3BBTk8xZXZyMGVDWDFEUEx3
Ui9tNW8vcm0rL1VPak1zaSs3cXpkTjhkYUhhWDlpT3JQNzdUV0M3M3lGbytkZTRWa0wvQ0t2ClB5
NW8rM0pHQ0FIWEloRGVGc0VmeHc1cHVMaDhnZmJHS28xYjdtSzJVcytHU3liVE5KSjJMcVdjZ1VK
TkVzYmwwNjVGblR5ak5IeTcKbXI5ZDJoOEEzNXJqa3pxWDlTelJrMnIrakluM0d4RDZ4Ti81WTQ0
ZGU0b25SMmgrVXZmUDkvNDdCZXpyYkVFeHR5UU0zaFlGeGRucQorZEpwMWpkV2FkNXlEelBsYXBa
cVZsYUZMbjJMeFFLSmZjOFBUU3FxNTcvZU5qL3Q1TFhYOFpuMGJzVkVGdlVweTl1Znl6Uy8wb0E0
ClJuem5QM0RpcGUveHc1eldieFJVL01RbUVaaWJ5OUdNRXdnMkV3UnZHMnhSTktnd3Y3NEdnQXVu
V0YxZnBuSHpIVXhYNjNoSlZreFoKMHBCVzhaTGlpY3FIZ1JidFc2dHNDelgvZW9JdnMzVUNpYTEz
M2F5YnA5Yk1panVwdDUvWS9BWkVQdkYzL29oVEx6N08wMWFjdjI1Qwp2U0o3YjA4RHMvTXVYdTU1
THljSXRtQ01DK212aVFIRy9ReVVCUzZjWW1YMU10VzlCMmsxcHlpbFM2c2R1d2xSWWVZN0R5UnNr
cTM3ClZCSU83cERtYjlmaFV6YndWZzkvdVRKSStaTXpKdEdUaEhxbXd0ZFpJL3lyci9EYWtlL3lm
TTdMNzFuZFBTTFhrV1ZuWFBOSHlUb1MKNGNpSDV6WnJGQUh2WEMwRGpBSjkxTlFLZGVrMHExZk9V
WnJaemRUTUxoMGRGSzNVVnNZdlNISURPbU9uc203YmhCWEdSUUZYQWY2UQpaNSt2QzVDdDIwK0Fy
OVJOU2RlMGMwM09tVkRQSkhtU09QL0thZnJmL2I4NDg4cVR2R0xGOWpiZGk1ekdKOEJXc1ViMVcw
ZkZLc2lOCkVvZzhFemlibVFMdkdzRXZBdDVldlNxWEw3QjYvaml5Mm1CaXowMDA3Qlc1VHBIbHNs
cStocUtCRWVIZ2RzRWZDdVdLUnJRNDJhU1EKaE82clRVM3R6WmEyOTBscU42bnIxeHBRcXNHSnAr
bDg3MDg1ZS9wb3VzOWYzOUo0bFFQZTNwd2oyYWVwUnJabG4vMThYaUFxT1VIdwpSZ2dDTytFRGJK
VU5sQ1hkQXBEdFZUWk92VVFuOEdrY3VJdFdPajQ5QjM0MmdwWEJKbEE1UEhESnJzeUpYUHVWTEpq
R01kU2Rtd005CmIrT1Q1VnFWdXJiemRhUDF6ZW1NN2llTmwxK2JNSlc5Q2p6NUY2ejk0UC9tN05K
NWxoamMwMGRhMzliZW05SGVuN0V4NHFqbmpsb0IKTStRRllad1pTUDIycXhHQWZJalBDTzBmR0RV
VCt2Uk92TURGeTZmeFd2TTBwK2VwMkNUbHFNeTdWcmFBREppSjRXT2cxMDhXT0hDaQpvRkFrYzU2
UmEybTcxYkNaQU4rWTByV0hpWmxNNDV0SldybXUyV0hwSE5IamY4TEtEeC9qZk5DblY1RER0NTI2
S3JsZDJTeXdtOWF4ClZVSElzMEhlSHhqSjNxV3IxSFRIa3VpNHdCOFl0ZGpVZi82NytCZGY0L0pi
SCtHT2QvNE1lMTFQejF4MnZPeGZMWkdOWExmbjVxU0gKT3ppZ1dVbHdWVGFaMC83YUErOUo3b285
cGoxWm9tMW05M3YyY3ExcTFyZGZhWmhHenJvcFBKbEdUdGVGWjc1Rjc0VnZzWEg1TkJ0awpveVFU
b0IzcnVtaVBuL3owRDFud3U1amhQWU1HRnZBeXZLVmMzeklKenVEQ2VHVHkxYS9GQkRnRkRKQnZN
QzJjTzlCcnMzSHNXYzZmClBZWXFsNmt1N0tmdVdQUEtVN0JjRFlwcndFa1dVN3EyVUZpdmQ2ejVP
Z21kMjYreHRieGtiZEprYTN0OTBsQzlvZnVKbHU3YmIwNFoKTzkvVVpxRlVnZGVPRVAzVm45TDk0
V09zZDljSmN6VHY1bm9xSzVadHIrVzAydGI0NWdoV3NGL2ZzSHlGUEFQa3RWK05PQ0EzSytOcQpo
WUNDenFFeXVaMUhnVWxnQ3BnR1dzQXNNRjFyc09md0E5ejU1dmV3NytCOXBybkVoR0JKNWkyMjBy
d2loaWdDRVdYbk9OU2R1VkdvClh4dUgyV3Z6bnIzTkNPbkdUWjdacjZlU2FYOXlMaVZIT1p2aWNl
NFk0dVVmRUI1OUFyL2ZUb0czVis2T211d2xDeFJFRlR3M2FuK2cKL0s1aDluYXlmYXVET3ptUzlR
VWRpeG5zSGtPeEUzTm5uUkZTWDg1SmZiSUwrWVFSQVB1WWJreXk5N2I3T1hUdk85aDcrd05NUzJ1
cQp0bTNmYlc5ZldHQ253aEJaNEp2WEQ4VHp5WDQ5WmlpazQxazlBNlhCWVEzSmRUSS84TXhSeEN0
UEVyLzZKRkZuZFdpR245d0VhSExuClVaR1RZdndHVVJHRCt3ZmErd2gzclg2Q0RldTZuWXRHZ3VR
emQzTHc4S1l0NVRrblo5SVNoaWx6dE1vVjVnN2N4VzIzdjRVYjduaVEKMllrWnlvbTl0aWR2eXB5
M24wN2p5bFVFaDV3K1MvdWRrcDd0azRKYzB1YkZMV1ZtdysraVRqNlBQUGtjNHZpenhHRy9VSFBW
Tm85UgpvYlBLQ1pETkpFVU1ZQXRBb3VrSjhPdm0yTERxRGIzOE9zTWRuVHhkVUxqd0xNODB2eDl4
SWd3Skt5UUNNWlZjeis1bTM0MTNzUC9XCisxZzRlQyt0eHFUT0tOcnRYU0x2L2VlZnp6ZFN1WU9P
WkRJWjFIWTArejNVdVZkUVo0NGlUNytFdUh4Nm9ESzNHYUNiWGJQSlo0MFQKQURGQ0FIcVdBQ1Nn
cjFuMWhuV3J5Nmh2aGFieFRndEEzaThZdXlOcFFSaGtDOFNFYlRaYTh5enV1Wm5GdmJjd2Y4T3RU
TzY3bFdhNQpoanZZR1p5bGtwTkVrbDJJc28yVjdmM0hFVng2RFhucEZQTENTWDJzbkI4Q2ZSeUE0
L2J3S2RyVTZUOXJBU2hpQTVmQnZZbkxPVWFvCjVaZ2hmd3g1eHMwV2M3TzdtWnRaWUdwbWtXWnJG
N1hKR2NyTmFVcTFKbTZsaGx2V21RYWlBQlg0cUg0SDFkMUFkVmRSN1JYazJoWGsKeWlYazZrWGt4
bkxoWUdhMXhlZGcvRUJuTmhHaS8yeE13RmJZb0VnUUtybDBaejRWbW9SSytiTWRHaVZDbEh4V3Vh
Q0t0cFhORjdZQwpzaHhURldVYmd2UWpkd0pMMTFrQWltNll3L0JteUlrMDk2MjR0bHJBRUVVcDAy
Wk9XR3E1RkdrcFZ6VnpOc21TamF0ek9Hd3lYbjhiCmdpQkhVUDlPaFlHOVhBMmljTURVOVJhQW91
eWhZOUdiWjMyNTBQdy9RUzVYbnErSzJZa1VXeUNTNitRMVJXWFVjZFd5VWYwTmVlQ2MKTVdDUGU1
elBsSTVLbjZ1Q1RPQTRBUWlzYnFLK1ZYWHNXa0pnVHhrYmlHSWNYdjhmWjlBbkgybzU5M0pGalh3
WnRNaHZxT1dPcW1VRwpTamx6VUNRRUZOY2xCLzVuZVkwc1dFVDdqTkg4blVnRjk2M25Rd3JtRFB3
b0JHQmNFbW5VK29PU0ZVcmFma01sWi90ckJSV3k4aVkxCjh5SkJVS09xWnlOOEIrY3FCYUJvcndh
MWlRREVPVFlJYzBlUU8vTEFEMHdiL1ZFTHdEaFdLRnFEWUd0enVVQWdSalZNbEF0YXFoakQKQktO
WUlWOWVWVnRvdnR3cytTTkgxRTlremxjcU1nZHh6aW1NY3NVM216R0tpazc4dUFnQW0vU3hqZHpi
MkFLNE5PYnd0dEZZbVcrcApZZ3NkTnR0aEFNWmtFc1VZUjFBVzFCcUtXQ0VlSVRDeUtHdjU0eWdB
bTdGREhqd3ZaeTd5elpTamdQY1kwZDQrQXZSeEN6SzJJZ0JzCmt2d1p4UWFqZklOeHdqR3FDRFdV
d2Z4SkVJQlJDYVpSYXhkdGxuREdVSDdlNXlnU2huSEFiMmNqeCsybWdvdUVRWTBvT0lreFZVWTUK
Sm0zTlQ2b0FqRElUakFGdkhNQ2JtWUN0MHI2emlmYXpoVnFCM0VRbzFKaEtZdEZ6ak1sYi9FUUx3
Q2hCZ08wdm9kcnNPYmFvOVZzUgpnTTFTeUdvTVMyejNPVGJKVndEdy93Tm5xS293RXhrL3RRQUFB
QUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>