<?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>49220</bug_id>
          
          <creation_ts>2010-11-08 16:12:01 -0800</creation_ts>
          <short_desc>REGRESSION: transform matrix applied too many times when nested</short_desc>
          <delta_ts>2011-03-03 03:56:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.satine.org/research/webkit/snowleopard/snowstack.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>50970</dependson>
          <blocked>50963</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>hyatt</cc>
    
    <cc>kenneth</cc>
    
    <cc>mihaip</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>306440</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-11-08 16:12:01 -0800</bug_when>
    <thetext>Go to http://www.satine.org/research/webkit/snowleopard/snowstack.html

It is very very slow both with compositing enabled and disabled, both in the webkit nightly and in chrome. This regressed in chromium r63327, which was a webkit roll from r70157 to r70206.

http://trac.webkit.org/changeset/70170 looks most related in that range.

http://trac.webkit.org/changeset/70172 and http://trac.webkit.org/changeset/70198 might also be related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306468</commentid>
    <comment_count>1</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2010-11-08 16:50:32 -0800</bug_when>
    <thetext>According to my testing, http://trac.webkit.org/changeset/70170 is definitely to blame for some (and likely all) of the regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306500</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-08 17:23:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/8644849&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306501</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-08 17:25:41 -0800</bug_when>
    <thetext>Lots of time in TransformationMatrix::multLeft()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313314</commentid>
    <comment_count>4</comment_count>
      <attachid>74763</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-24 08:36:04 -0800</bug_when>
    <thetext>Created attachment 74763
Testcase

Here&apos;s a reduced testcase based on the Snowstack markup. In ToT, the time to layout based on number of enclosing containers:

0: 3ms
1: 4ms
2: 10ms
3: 28ms
4: 103ms
5: 406ms
6: 1632ms
7: 6641ms

Safari 5.0.2 always has constant time (~3 ms).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314069</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-26 10:34:41 -0800</bug_when>
    <thetext>How does it behave if body has { overflow: hidden; } in your testcase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314477</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-29 09:54:08 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; How does it behave if body has { overflow: hidden; } in your testcase?

Doesn&apos;t change anything.

We still end up in RenderView::layout, which calls docWidth() and docHeight(), which in turn call rightmostPosition() and lowestPosition(). Looking at RenderBlock::rightmostPosition, we call transformedFrameRect once at the start, once for each child. But then we also recurse for each child, and we also call topmost/lowest/leftmostPosition at the end, which do their own recursing. An even simpler test case (two nested containers, three leaf nodes; attachment to follow) ends up calling RenderBox::applyLayerTransformToRect 1272 times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314478</commentid>
    <comment_count>7</comment_count>
      <attachid>75038</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-11-29 09:54:44 -0800</bug_when>
    <thetext>Created attachment 75038
Testcase (simplified)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314530</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-29 11:20:06 -0800</bug_when>
    <thetext>Right, we have some high-order perf issues here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314589</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-29 13:20:27 -0800</bug_when>
    <thetext>The plan of action here:

1. Clean up RenderBox::applyLayerTransformToRect():
     a) no need for transform.makeIdentity();
     b) layer()-&gt;updateTransform(); should not be necessary here: i filed bug 50175 on that issue.

2. Cache the transformedFrameRect() on the layer.
3. See what&apos;s left.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314696</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-11-29 15:45:12 -0800</bug_when>
    <thetext>Things are still very slow with a cached transformedFrameRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317240</commentid>
    <comment_count>11</comment_count>
      <attachid>75601</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-03 23:09:33 -0800</bug_when>
    <thetext>Created attachment 75601
Work in progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317244</commentid>
    <comment_count>12</comment_count>
      <attachid>75604</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-04 00:34:03 -0800</bug_when>
    <thetext>Created attachment 75604
Work in progress

Still working on passing everything but getting pretty close.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317299</commentid>
    <comment_count>13</comment_count>
      <attachid>75613</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-04 12:21:29 -0800</bug_when>
    <thetext>Created attachment 75613
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317356</commentid>
    <comment_count>14</comment_count>
      <attachid>75626</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-05 00:22:56 -0800</bug_when>
    <thetext>Created attachment 75626
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317468</commentid>
    <comment_count>15</comment_count>
      <attachid>75651</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-05 23:53:46 -0800</bug_when>
    <thetext>Created attachment 75651
Patch with updated test results

No ChangeLog yet.  Flagging just to make sure it builds on other platforms and to get style checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317679</commentid>
    <comment_count>16</comment_count>
      <attachid>75708</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-06 09:49:26 -0800</bug_when>
    <thetext>Created attachment 75708
Patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317693</commentid>
    <comment_count>17</comment_count>
      <attachid>75709</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-06 10:09:44 -0800</bug_when>
    <thetext>Created attachment 75709
Patch (fix tabs in ChangeLog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317750</commentid>
    <comment_count>18</comment_count>
      <attachid>75709</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-06 11:38:56 -0800</bug_when>
    <thetext>Comment on attachment 75709
Patch (fix tabs in ChangeLog)

View in context: https://bugs.webkit.org/attachment.cgi?id=75709&amp;action=review

&gt; WebCore/ChangeLog:82
&gt; +        Blocks now have a computeOverflow function called at the end that adds in all the types of overflow.  The addOverflowFromChildren

Called at the end of what?

&gt; WebCore/ChangeLog:99
&gt; +        (WebCore::RenderBlock::addOverhangingFloats):
&gt; +        The propagation of float overflow has changed substantially.  The basic rules are:
&gt; +            (1) The float must be in our floating objects list to contribute to overflow.
&gt; +            (2) The float must be a descendant to contribute to overflow.
&gt; +            (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
&gt; +                so the float needs to be included in its overflow.

Are these covered by layout tests?

&gt; WebCore/rendering/RenderTreeAsText.cpp:621
&gt; +    // FIXME: Apply overflow to the root layer to not break every test.  Complete hack.  Sigh.

Maybe file a bug on this and reference it in the comment?

&gt; LayoutTests/ChangeLog:33
&gt; +        Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 &lt;&lt;rdar://problem/8644849&gt;, REGRESSION: transforms now
&gt; +        O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
&gt; +
&gt; +        This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
&gt; +        in the engine to cache all the information required to properly handle scrolling.
&gt; +
&gt; +        In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
&gt; +        affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
&gt; +        wasn&apos;t actually used to determine scroll width or scroll height.  It didn&apos;t propagate across self-painting layer
&gt; +        boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
&gt; +        visual overflow rects.
&gt; +
&gt; +        In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
&gt; +        is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
&gt; +        been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
&gt; +        work with writing modes.
&gt; +
&gt; +        In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
&gt; +        Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
&gt; +        A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView&apos;s layer, since otherwise
&gt; +        a huge number of tests would change.
&gt; +
&gt; +        Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
&gt; +
&gt; +        * page/FrameView.cpp:
&gt; +        (WebCore::FrameView::adjustViewSize):
&gt; +        (WebCore::FrameView::forceLayoutForPagination):
&gt; +        Changed to use RenderView&apos;s docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
&gt; +        to account for writing modes.

You can just describe the LayoutTests changes here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317752</commentid>
    <comment_count>19</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-06 11:43:18 -0800</bug_when>
    <thetext>(In reply to comment #18)
w.  The addOverflowFromChildren
&gt; 
&gt; Called at the end of what?
&gt; 

End of layout.  I fixed the comment.

&gt; &gt; WebCore/ChangeLog:99
&gt; &gt; +        (WebCore::RenderBlock::addOverhangingFloats):
&gt; &gt; +        The propagation of float overflow has changed substantially.  The basic rules are:
&gt; &gt; +            (1) The float must be in our floating objects list to contribute to overflow.
&gt; &gt; +            (2) The float must be a descendant to contribute to overflow.
&gt; &gt; +            (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
&gt; &gt; +                so the float needs to be included in its overflow.
&gt; 
&gt; Are these covered by layout tests?
&gt; 

Very well yes.  Visual overflow stays essentially the same and is tested by repaint tests. Layout overflow is tested by the root layer&apos;s scroll dimensions in the dumps.

&gt; &gt; WebCore/rendering/RenderTreeAsText.cpp:621
&gt; &gt; +    // FIXME: Apply overflow to the root layer to not break every test.  Complete hack.  Sigh.
&gt; 
&gt; Maybe file a bug on this and reference it in the comment?
&gt; 

Yeah I&apos;m going  to file a bug about just rebaselining the whole render tree and removing all of the FIXMEs.
des.
&gt; 
&gt; You can just describe the LayoutTests changes here.

Ok, snipped that out of the layout tests changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317776</commentid>
    <comment_count>20</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-06 12:10:59 -0800</bug_when>
    <thetext>Fixed in r73885.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320994</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-13 02:07:30 -0800</bug_when>
    <thetext>I think this broke fast/blockflow/broken-ideograph-small-caps.html on leopard.  It seems to have broken between about r73379 and 73390 and this seems to be the most likely commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324334</commentid>
    <comment_count>22</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-12-20 04:56:08 -0800</bug_when>
    <thetext>I think this change caused Bug 51328.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361509</commentid>
    <comment_count>23</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-03 03:56:12 -0800</bug_when>
    <thetext>No&apos;am this might be why Snowstack was so slow on our branch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>74763</attachid>
            <date>2010-11-24 08:36:04 -0800</date>
            <delta_ts>2010-11-24 08:36:04 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>snowstack-static.html</filename>
            <type>text/html</type>
            <size>7375</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+TmVzdGVkIGNvbnRhaW5lcnM8
L3RpdGxlPgogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgLmNvbnRhaW5lciB7CiAgICAtd2Vi
a2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgfQoKICAuY2VsbCB7CiAgICBiYWNr
Z3JvdW5kOiByZWQ7CiAgICB3aWR0aDogOTFweDsKICAgIGhlaWdodDogOTFweDsKICAgIC13ZWJr
aXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9CiAgPC9zdHlsZT4KICA8c2Ny
aXB0PgogICAgb25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBzdGFydCA9IERhdGUubm93
KCk7CiAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7CiAgICAgIGFsZXJ0KCdUaW1lIHRv
IGxheW91dDogJyArIChEYXRlLm5vdygpIC0gc3RhcnQpKTsKICAgIH07CiAgPC9zY3JpcHQ+Cjwv
aGVhZD4KCjxib2R5PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJj
b250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xh
c3M9ImNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNv
bnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rp
dj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJj
ZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAg
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwv
ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAg
ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxs
Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2
PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNl
bGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9k
aXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
Y2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAg
ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48
L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2Pgog
ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwi
PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAg
IDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2Vs
bCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rp
dj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJj
ZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAg
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwv
ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAg
ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxs
Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2
PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNl
bGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9k
aXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
Y2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAg
ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48
L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2Pgog
ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwi
PjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAg
IDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2Vs
bCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBj
bGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rp
dj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAg
ICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJj
ZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAg
ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwv
ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAg
ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+
PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAg
ICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4K
ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAg
PGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxs
Ij48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAg
ICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNs
YXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2
PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAg
ICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNl
bGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYg
Y2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9k
aXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0i
Y2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4KICAg
ICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48
L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbGwiPjwvZGl2PgogICAgICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY2VsbCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNz
PSJjZWxsIj48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAg
ICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8
L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>75038</attachid>
            <date>2010-11-29 09:54:44 -0800</date>
            <delta_ts>2010-11-29 09:54:44 -0800</delta_ts>
            <desc>Testcase (simplified)</desc>
            <filename>snowstack-simple.html</filename>
            <type>text/html</type>
            <size>684</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+IAo8aHRtbD4gCjxoZWFkPiAKICA8dGl0bGU+TmVzdGVkIGNvbnRhaW5l
cnMgKHNpbXBsZSk8L3RpdGxlPiAKICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogIC5jb250YWlu
ZXIgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KIAog
IC5jZWxsIHsKICAgIGJhY2tncm91bmQ6IHJlZDsKICAgIHdpZHRoOiA5MXB4OwogICAgaGVpZ2h0
OiA5MXB4OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0K
ICA8L3N0eWxlPiAKICA8c2NyaXB0PiAKICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICB2
YXIgc3RhcnQgPSBEYXRlLm5vdygpOwogICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOwog
ICAgICBhbGVydCgnVGltZSB0byBsYXlvdXQ6ICcgKyAoRGF0ZS5ub3coKSAtIHN0YXJ0KSk7CiAg
ICB9OwogIDwvc2NyaXB0PiAKPC9oZWFkPiAKIAo8Ym9keT4gCiAgPGRpdiBjbGFzcz0iY29udGFp
bmVyIj4gCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPiAKICAgICAgPGRpdiBjbGFzcz0iY2Vs
bCI+PC9kaXY+IAogICAgICA8ZGl2IGNsYXNzPSJjZWxsIj48L2Rpdj4gCiAgICAgIDxkaXYgY2xh
c3M9ImNlbGwiPjwvZGl2PiAKICAgIDwvZGl2PiAKICA8L2Rpdj4gCjwvYm9keT4gCjwvaHRtbD4g
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75601</attachid>
            <date>2010-12-03 23:09:33 -0800</date>
            <delta_ts>2010-12-04 00:34:03 -0800</delta_ts>
            <desc>Work in progress.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>111896</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsOSArNDM1LDkgQEAgdm9pZCBGcmFtZVZp
ZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0g
cm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCkg
LSByb290LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hlaWdodCgpKTsKIAotICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIC1y
b290LT50b3BMYXlvdXRPdmVyZmxvdygpKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1y
b290LT5kb2NUb3AoKSksIHNpemUgPT0gY29udGVudHNTaXplKCkpOwogICAgIAogICAgIHNldENv
bnRlbnRzU2l6ZShzaXplKTsKIH0KQEAgLTIyMTksMTUgKzIyMTksMTUgQEAgdm9pZCBGcmFtZVZp
ZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4g
c2hydW5rLCB3ZSB3aWxsIGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEg
Y29udGVudC4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1m
aXQgcHJpbnRpbmcgaW1wbGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxl
bWVudGF0aW9uIHNob3VsZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IHJpZ2h0bW9zdFBvcyA9
IHJvb3QtPnJpZ2h0bW9zdFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChyaWdodG1vc3RQb3MgPiBw
YWdlU2l6ZS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBwYWdlVyA9IHN0ZDo6bWluPGludD4ocmln
aHRtb3N0UG9zLCBjZWlsZihwYWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3Rvcikp
OworICAgICAgICBpbnQgZG9jV2lkdGggPSByb290LT5kb2NXaWR0aCgpOworICAgICAgICBpZiAo
ZG9jV2lkdGggPiBwYWdlU2l6ZS53aWR0aCgpKSB7CisgICAgICAgICAgICBwYWdlVyA9IHN0ZDo6
bWluPGludD4oZG9jV2lkdGgsIGNlaWxmKHBhZ2VTaXplLndpZHRoKCkgKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKSk7CiAgICAgICAgICAgICBpZiAocGFnZVNpemUuaGVpZ2h0KCkpCiAgICAgICAgICAg
ICAgICAgcm9vdC0+c2V0UGFnZUhlaWdodChwYWdlVyAvIHBhZ2VTaXplLndpZHRoKCkgKiBwYWdl
U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CiAgICAg
ICAgICAgICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAg
ICAgICAgIGZvcmNlTGF5b3V0KCk7Ci0gICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBkb2NIZWlnaHQgPSByb290
LT5kb2NIZWlnaHQoKTsKICAgICAgICAgICAgIHJvb3QtPmNsZWFyTGF5b3V0T3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIHJvb3QtPmFkZExheW91dE92ZXJmbG93KEludFJlY3QoMCwgMCwgcGFnZVcs
IGRvY0hlaWdodCkpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cg
YWdhaW4uCiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3MzA4
MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzMsNiArMjMzLDggQEAgcHVibGljOgogICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlz
SG9yaXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KICAgICBp
bnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0
KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQogCisgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7
IHJldHVybiBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKwogICAgIC8v
IFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJv
eCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGlu
ZS4KICAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/
IG1feCA6IG1feTsgfQogICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KQEAgLTI2NSw3ICsyNjcsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVU
eXBlKSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5iYXNlbGluZVBvc2l0aW9uKGJh
c2VsaW5lVHlwZSwgbV9maXJzdExpbmUsIGlzSG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUg
OiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT25Db250YWluaW5nTGluZSk7IH0KICAgICB2aXJ0dWFs
IGludCBsaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+bGluZUhl
aWdodChtX2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRp
Y2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQogICAgIAotCiAgICAgdmlydHVh
bCBpbnQgY2FyZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9m
ZnNldCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNl
dCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9u
IDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1OSwxOCArMjU5LDcgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bklubGluZURpcgogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2Fs
TGVmdChsb2dpY2FsTGVmdCk7Ci0KLSAgICBpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9
IGxvZ2ljYWxMZWZ0OwotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IGxvZ2lj
YWxMZWZ0OwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7
Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0KLSAg
ICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdo
dDsKLSAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGlu
ZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJp
Z2h0KTsKLQotICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQg
KyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0KKyAg
CiAgICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKICAgICBsb2dpY2FsTGVm
dCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxMZWZ0KCk7CiAgICAgCkBA
IC0yODQsMzAgKzI3Myw2IEBAIGludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVE
aXIKICAgICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUo
cnQtPmNoYXJhY3RlcnMoKVt0ZXh0LT5lbmQoKV0pOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgdGV4dC0+c2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5z
dHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgLy8gSWYgbGV0dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3Ig
dGhhdCBpbnRvIHJpZ2h0IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3Bh
Y2luZyBpcwotICAgICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgcmlnaHQsIHNvIHRoaXMgaXMg
bm90IGFuIGlzc3VlIHdpdGggbGVmdCBvdmVyZmxvdy4KLSAgICAgICAgICAgIGludCBsZXR0ZXJT
cGFjaW5nID0gbWluKDAsIChpbnQpcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmxldHRl
clNwYWNpbmcoKSk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1h
eChsb2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpIC0gbGV0dGVyU3BhY2luZywgbG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93
KiBnbHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5z
ZWNvbmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93
ID0gLXN0cm9rZU92ZXJmbG93IC0gKGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0
IDogMCk7Ci0gICAgICAgICAgICBpbnQgbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdyA9IHN0cm9r
ZU92ZXJmbG93IC0gbGV0dGVyU3BhY2luZyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxv
dy0+cmlnaHQgOiAwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZs
b3dMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdzsKLSAgICAgICAgICAgIGlu
dCBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdzsK
LSAgICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgICAgICAgICBpbnQg
dGV4dFNoYWRvd0xvZ2ljYWxSaWdodDsKLSAgICAgICAgICAgIHJ0LT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxM
ZWZ0LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dM
b2dpY2FsTGVmdCA9IG1pbihjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dp
Y2FsTGVmdCArIGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBjaGlsZE92
ZXJmbG93TG9naWNhbFJpZ2h0ID0gbWF4KGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIHRleHRT
aGFkb3dMb2dpY2FsUmlnaHQgKyBsb2dpY2FsUmlnaHRHbHlwaE92ZXJmbG93KTsKLSAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGlsZE92
ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyB0ZXh0LT5s
b2dpY2FsV2lkdGgoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZp
c3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0g
dGV4dC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpIHsKQEAgLTMyNSwxMCArMjkwLDYgQEAg
aW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAgICAgICAgICAgICAg
ICAgbG9naWNhbExlZnQgPSBmbG93LT5wbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24obG9naWNh
bExlZnQsIG5lZWRzV29yZFNwYWNpbmcsIHRleHRCb3hEYXRhTWFwKTsKICAgICAgICAgICAgICAg
ICBsb2dpY2FsTGVmdCArPSBmbG93LT5tYXJnaW5Mb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAg
ICAgICBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgICAg
ICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgICAgICAgICB9
IGVsc2UgaWYgKCFjdXJyLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSB8fCB0b1JlbmRlckxp
c3RNYXJrZXIoY3Vyci0+cmVuZGVyZXIoKSktPmlzSW5zaWRlKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgYm94IGNhbiBoYXZlIGEgZGlmZmVyZW50IHdyaXRpbmctbW9kZSB0aGFuIHRoZSBv
dmVyYWxsIGxpbmUsIHNvIHRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCiAgICAgICAgICAgICAg
ICAgLy8gSnVzdCBnZXQgYWxsIHRoZSBwaHlzaWNhbCBtYXJnaW4gYW5kIG92ZXJmbG93IHZhbHVl
cyBieSBoYW5kIGJhc2VkIG9mZiB8aXNWZXJ0aWNhbHwuCkBAIC0zMzcsMTggKzI5OCw2IEBAIGlu
dCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAg
ICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJC
b3goY3Vyci0+cmVuZGVyZXIoKSk7Ci0KLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IDAgOiAoaXNIb3Jpem9udGFs
KCkgPyBib3gtPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm94LT50b3BMYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IGJveC0+
aGFzT3ZlcmZsb3dDbGlwKCkgPyBjdXJyLT5sb2dpY2FsV2lkdGgoKSA6IChpc0hvcml6b250YWwo
KSA/IGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExheW91
dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBs
b2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRM
YXlvdXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAgICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkg
PyBib3gtPmxlZnRWaXN1YWxPdmVyZmxvdygpIDogYm94LT50b3BWaXN1YWxPdmVyZmxvdygpKSwg
bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gt
PnJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6IGJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSksIGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0ICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpICsgbG9naWNhbFJpZ2h0TWFy
Z2luOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNTYsMTAgKzMwNSw2IEBAIGludCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKIAogICAgIGxvZ2ljYWxMZWZ0ICs9
IGJvcmRlckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdodCgpOwogICAgIHNldExv
Z2ljYWxXaWR0aChsb2dpY2FsTGVmdCAtIHN0YXJ0TG9naWNhbExlZnQpOwotICAgIGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgYm94U2hhZG93TG9naWNhbFJp
Z2h0LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgbG9naWNhbFJpZ2h0TGF5b3V0
T3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsK
LQotICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxMZWZ0TGF5
b3V0T3ZlcmZsb3csIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7CiAgICAgcmV0dXJuIGxvZ2lj
YWxMZWZ0OwogfQogCkBAIC03NDMsMzIgKzY4OCwxMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpm
bGlwTGluZXNJbkJsb2NrRGlyZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21w
dXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJv
b2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdmVyZmxvdyhJ
bnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAgaWYgKCFwYXJlbnQoKSkKKyAg
ICAgICAgcmV0dXJuOyAvLyBCb3gtc2hhZG93IGRvZXNuJ3QgYXBwbHkgdG8gcm9vdCBsaW5lIGJv
eGVzLgorCisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxUb3A7CisgICAgaW50IGJveFNoYWRvd0xv
Z2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hT
aGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsVG9wLCBib3hTaGFkb3dM
b2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0g
bWluKGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9n
aWNhbEJvdHRvbSgpICsgYm94U2hhZG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJm
bG93LmJvdHRvbSgpKTsKKyAgICAKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7CisgICAg
aW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0
TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2Fs
TGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKKworICAgIGludCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gq
IHRleHRCb3gsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1h
cCwgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQogeworICAgIGludCBzdHJva2VPdmVy
ZmxvdyA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYocmVuZGVyZXIoKS0+c3R5bGUoKS0+dGV4dFN0
cm9rZVdpZHRoKCkgLyAyLjBmKSk7CisKKyAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHRleHRCb3gpOworICAgIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0YU1hcC5lbmQoKSA/
IDAgOiAmaXQtPnNlY29uZC5zZWNvbmQ7CisKICAgICBib29sIGlzRmxpcHBlZExpbmUgPSByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKTsK
IAotICAgIGludCBib3hIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IHRvcEdseXBo
RWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJv
dHRvbSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOworICAgIGludCBib3R0b21HbHlwaEVkZ2Ug
PSBnbHlwaE92ZXJmbG93ID8gKGlzRmxpcHBlZExpbmUgPyBnbHlwaE92ZXJmbG93LT50b3AgOiBn
bHlwaE92ZXJmbG93LT5ib3R0b20pIDogMDsKKyAgICBpbnQgbGVmdEdseXBoRWRnZSA9IGdseXBo
T3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMDsKKyAgICBpbnQgcmlnaHRHbHlwaEVk
Z2UgPSBnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmlnaHQgOiAwOworICAgIAorICAg
IGludCB0b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOwor
ICAgIGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlw
aEVkZ2U7CisgICAgaW50IGxlZnRHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gbGVm
dEdseXBoRWRnZTsKKyAgICBpbnQgcmlnaHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cg
KyByaWdodEdseXBoRWRnZTsKKworICAgIC8vIElmIGxldHRlci1zcGFjaW5nIGlzIG5lZ2F0aXZl
LCB3ZSBzaG91bGQgZmFjdG9yIHRoYXQgaW50byByaWdodCBsYXlvdXQgb3ZlcmZsb3cuIChFdmVu
IGluIFJUTCwgbGV0dGVyLXNwYWNpbmcgaXMKKyAgICAvLyBhcHBsaWVkIHRvIHRoZSByaWdodCwg
c28gdGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93LgorICAgIGludCBsZXR0
ZXJTcGFjaW5nID0gbWluKDAsIChpbnQpcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkubGV0dGVyU3BhY2luZygpKTsKKyAgICByaWdodEdseXBoT3ZlcmZsb3cgLT0gbGV0dGVy
U3BhY2luZzsKKworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFRvcDsKKyAgICBpbnQgdGV4dFNo
YWRvd0xvZ2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5n
ZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxUb3AsIHRl
eHRTaGFkb3dMb2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxUb3AgPSBtaW4odGV4dFNoYWRvd0xvZ2ljYWxUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BH
bHlwaE92ZXJmbG93KTsKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20gPSBtYXgo
dGV4dFNoYWRvd0xvZ2ljYWxCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlw
aE92ZXJmbG93KTsKKyAgIAorICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50
IHRleHRTaGFkb3dMb2dpY2FsUmlnaHQ7CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5nZXRUZXh0U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dMb2dpY2Fs
TGVmdCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCk7CisgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gbWluKHRleHRTaGFkb3dMb2dpY2FsTGVmdCArIGxlZnRHbHlwaE92ZXJm
bG93LCBsZWZ0R2x5cGhPdmVyZmxvdyk7CisgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQgPSBtYXgodGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIHJpZ2h0R2x5cGhPdmVyZmxvdywgcmln
aHRHbHlwaE92ZXJmbG93KTsKKworICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBt
aW4odGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZs
b3cgPSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxC
b3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5ib3R0b20oKSk7CisgICAgaW50IGxvZ2ljYWxM
ZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnJpZ2h0KCkp
OworICAgIAorICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
VG9wVmlzdWFsT3ZlcmZsb3cpOworfQorCit2b2lkIElubGluZUZsb3dCb3g6OmFkZFJlcGxhY2Vk
Q2hpbGRPdmVyZmxvdyhjb25zdCBJbmxpbmVCb3gqIGlubGluZUJveCwgSW50UmVjdCYgbG9naWNh
bExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAg
UmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChpbmxpbmVCb3gtPnJlbmRlcmVyKCkpOworICAg
IAorICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGJveCBkb2Vz
bid0IGhhdmUgYSBzZWxmLXBhaW50aW5nIGxheWVyLiAgVGhpcyByZWN0YW5nbGUgZG9lcyBub3Qg
aW5jbHVkZQorICAgIC8vIHRyYW5zZm9ybXMgb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgKHNpbmNl
IHRob3NlIG9iamVjdHMgYWx3YXlzIGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMpLCBidXQgaXQg
ZG9lcyBuZWVkIHRvIGJlIGFkanVzdGVkCisgICAgLy8gZm9yIHdyaXRpbmctbW9kZSBkaWZmZXJl
bmNlcy4KKyAgICBpZiAoIWJveC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICBJ
bnRSZWN0IGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisgICAgICAgIGNo
aWxkTG9naWNhbFZpc3VhbE92ZXJmbG93Lm1vdmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBp
bmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy51
bml0ZShjaGlsZExvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgfQorCisgICAgLy8gTGF5b3V0
IG92ZXJmbG93IGludGVybmFsIHRvIHRoZSBjaGlsZCBib3ggb25seSBwcm9wYWdhdGVzIGlmIHRo
ZSBjaGlsZCBib3ggZG9lc24ndCBoYXZlIG92ZXJmbG93IGNsaXAgc2V0LgorICAgIC8vIE90aGVy
d2lzZSB0aGUgY2hpbGQgYm9yZGVyIGJveCBwcm9wYWdhdGVzIGFzIGxheW91dCBvdmVyZmxvdy4g
IFRoaXMgcmVjdGFuZ2xlIG11c3QgaW5jbHVkZSB0cmFuc2Zvcm1zIGFuZCByZWxhdGl2ZSBwb3Np
dGlvbmluZworICAgIC8vIGFuZCBiZSBhZGp1c3RlZCBmb3Igd3JpdGluZy1tb2RlIGRpZmZlcmVu
Y2VzLgorICAgIEludFJlY3QgY2hpbGRMb2dpY2FsTGF5b3V0T3ZlcmZsb3cgPSBib3gtPmxvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigpLT5zdHlsZSgpKTsK
KyAgICBjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdy5tb3ZlKGlubGluZUJveC0+bG9naWNhbExl
ZnQoKSwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkpOworICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dy51bml0ZShjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7Cit9CiAKK3ZvaWQgSW5saW5lRmxv
d0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBz
dHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCit7CiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhlIGxpbmUgdG9wIGFuZCBi
b3R0b20gaXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0IGlnbm9yZSB0aGlzLCBz
aW5jZSBpdCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91ciBhc2NlbnQvZGVzY2Vu
dCBkb24ndCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgogICAgIGludCB0b3BPdmVyZmxvdyA9IG1h
eChsb2dpY2FsVG9wKCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihs
b2dpY2FsVG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOworICAgIGludCBib3R0b21PdmVy
ZmxvdyA9IG1pbihsb2dpY2FsQm90dG9tKCksIGxpbmVCb3R0b20pOwogICAgIAotICAgIGludCB0
b3BMYXlvdXRPdmVyZmxvdyA9IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9IGJvdHRvbU92ZXJmbG93OwotICAgIAotICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdyA9
IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGJvdHRvbU92ZXJm
bG93OworICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBqdXN0IGluY2x1ZGVzIG92ZXJmbG93IGZvciBz
dHVmZiB3ZSBuZWVkIHRvIHJlcGFpbnQgb3Vyc2VsdmVzLiAgU2VsZi1wYWludGluZyBsYXllcnMg
YXJlIGlnbm9yZWQuCisgICAgLy8gTGF5b3V0IG92ZXJmbG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5l
IHNjcm9sbGluZyBleHRlbnQsIHNvIGl0IHN0aWxsIGluY2x1ZGVzIGNoaWxkIGxheWVycyBhbmQg
YWxzbyBmYWN0b3JzIGluCisgICAgLy8gdHJhbnNmb3JtcywgcmVsYXRpdmUgcG9zaXRpb25pbmcs
IGV0Yy4KKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdCgpLCB0
b3BPdmVyZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cp
OworICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyk7CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9vdCBsaW5lIGJveGVzIGlzIGFwcGx5aW5n
IHRvIHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5lcy4KLSAgICBpZiAocGFyZW50KCkpIHsK
LSAgICAgICAgaW50IGJveFNoYWRvd1RvcDsKLSAgICAgICAgaW50IGJveFNoYWRvd0JvdHRvbTsK
LSAgICAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9j
a0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7Ci0gICAgICAg
IAotICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsVG9wKCkgKyBib3hTaGFk
b3dUb3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSBtYXgobG9naWNhbFRvcCgpICsgYm94SGVpZ2h0ICsgYm94U2hhZG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgfQorICAgIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyk7CiAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0
Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCkBAIC03NzksNjQgKzgwNCw2MCBAQCB2
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBSZW5k
ZXJUZXh0KiBydCA9IHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAg
IGlmIChydC0+aXNCUigpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KHRleHQsIHRleHRCb3hEYXRhTWFwLCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cpOworICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Jl
bmRlcklubGluZSgpKSB7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgZmxvdy0+Y29tcHV0ZU92
ZXJmbG93KGxpbmVUb3AsIGxpbmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsK
KyAgICAgICAgICAgIGlmICghZmxvdy0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5n
TGF5ZXIoKSkKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudW5pdGUoZmxv
dy0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgICAgIEludFJlY3QgY2hp
bGRMYXlvdXRPdmVyZmxvdyA9IGZsb3ctPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3cubW92ZShmbG93LT5ib3hNb2RlbE9iamVjdCgp
LT5yZWxhdGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCgpKTsKKyAgICAgICAgICAgIGxvZ2ljYWxM
YXlvdXRPdmVyZmxvdy51bml0ZShjaGlsZExheW91dE92ZXJmbG93KTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY3VyciwgbG9naWNhbExheW91
dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIH0KKyAgICAKKyAgICBzZXRP
dmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3csIGxpbmVUb3AsIGxpbmVCb3R0b20pOworfQogCi0gICAgICAgICAgICBpbnQg
c3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgpLT50ZXh0
U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLQotICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZh
bGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9yIGl0ID0gdGV4dEJveERhdGFNYXAuZmluZChzdGF0aWNf
Y2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3VycikpOwotICAgICAgICAgICAgR2x5cGhPdmVyZmxvdyog
Z2x5cGhPdmVyZmxvdyA9IGl0ID09IHRleHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vj
b25kLnNlY29uZDsKLQotICAgICAgICAgICAgaW50IHRvcEdseXBoRWRnZSA9IGdseXBoT3ZlcmZs
b3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA6IGdseXBoT3ZlcmZs
b3ctPnRvcCkgOiAwOwotICAgICAgICAgICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3Zl
cmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZs
b3ctPmJvdHRvbSkgOiAwOwotCi0gICAgICAgICAgICBpbnQgdG9wR2x5cGhPdmVyZmxvdyA9IC1z
dHJva2VPdmVyZmxvdyAtIHRvcEdseXBoRWRnZTsKLSAgICAgICAgICAgIGludCBib3R0b21HbHlw
aE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlwaEVkZ2U7Cit2b2lkIElubGlu
ZUZsb3dCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QsIGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSkKK3sKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0
KCk7CisgICAgZnJhbWVCb3guaW50ZXJzZWN0KEludFJlY3QoZnJhbWVCb3gueCgpLCBsaW5lVG9w
LCBmcmFtZUJveC53aWR0aCgpLCBsaW5lQm90dG9tIC0gbGluZVRvcCkpOworICAgIGlmIChmcmFt
ZUJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgICAKKyAgICBpZiAoIW1fb3ZlcmZsb3cpCisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5l
dyBSZW5kZXJPdmVyZmxvdyhmcmFtZUJveCwgZnJhbWVCb3gpKTsKKyAgICAKKyAgICBtX292ZXJm
bG93LT5hZGRMYXlvdXRPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgaW50IHRleHRT
aGFkb3dUb3A7Ci0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd0JvdHRvbTsKLSAgICAgICAgICAg
IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0VGV4dFNoYWRvd0Jsb2Nr
RGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dUb3AsIHRleHRTaGFkb3dCb3R0b20pOwordm9pZCBJ
bmxpbmVGbG93Qm94OjphZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBpbnQg
bGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1l
UmVjdCgpOworICAgIGZyYW1lQm94LmludGVyc2VjdChJbnRSZWN0KGZyYW1lQm94LngoKSwgbGlu
ZVRvcCwgZnJhbWVCb3gud2lkdGgoKSwgbGluZUJvdHRvbSAtIGxpbmVUb3ApKTsKKyAgICBpZiAo
ZnJhbWVCb3guY29udGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd1RvcCA9IG1pbih0ZXh0
U2hhZG93VG9wICsgdG9wR2x5cGhPdmVyZmxvdywgdG9wR2x5cGhPdmVyZmxvdyk7Ci0gICAgICAg
ICAgICBpbnQgY2hpbGRPdmVyZmxvd0JvdHRvbSA9IG1heCh0ZXh0U2hhZG93Qm90dG9tICsgYm90
dG9tR2x5cGhPdmVyZmxvdywgYm90dG9tR2x5cGhPdmVyZmxvdyk7CisgICAgaWYgKCFtX292ZXJm
bG93KQorICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coZnJhbWVCb3gs
IGZyYW1lQm94KSk7CiAgICAgCi0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihj
dXJyLT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxPdmVyZmxvdyk7
Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT5sb2dpY2FsVG9w
KCkgKyB0ZXh0LT5sb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgIH0gZWxzZSAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlz
UmVuZGVySW5saW5lKCkpIHsKLSAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0
aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7Ci0gICAgICAgICAgICBmbG93LT5jb21wdXRl
QmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhsaW5lVG9wLCBsaW5lQm90dG9tLCBzdHJpY3RNb2RlLCB0
ZXh0Qm94RGF0YU1hcCk7Ci0gICAgICAgICAgICB0b3BMYXlvdXRPdmVyZmxvdyA9IG1pbih0b3BM
YXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbFRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAg
ICAgICAgYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBtYXgoYm90dG9tTGF5b3V0T3ZlcmZsb3csIGZs
b3ctPmxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpKTsKLSAgICAgICAgICAgIHRvcFZpc3Vh
bE92ZXJmbG93ID0gbWluKHRvcFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChib3R0
b21WaXN1YWxPdmVyZmxvdywgZmxvdy0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOwot
ICAgICAgICB9IGVsc2UgaWYgKCFjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRp
bmdMYXllcigpKXsKLSAgICAgICAgICAgIC8vIE9ubHkgaW5jbHVkZSBvdmVyZmxvdyBmcm9tIHJl
cGxhY2VkIGlubGluZXMgaWYgdGhleSBkbyBub3QgcGFpbnQgdGhlbXNlbHZlcy4KLSAgICAgICAg
ICAgIGludCBib3hMb2dpY2FsVG9wID0gY3Vyci0+bG9naWNhbFRvcCgpOwotICAgICAgICAgICAg
aW50IGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21M
YXlvdXRPdmVyZmxvdzsKLSAgICAgICAgICAgIGludCBjaGlsZFRvcFZpc3VhbE92ZXJmbG93Owot
ICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3c7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3goY3Vyci0+cmVuZGVyZXIo
KSk7Ci0gICAgICAgICAgICBib3gtPmJsb2NrRGlyZWN0aW9uT3ZlcmZsb3coaXNIb3Jpem9udGFs
KCksIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3csIGNoaWxkQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRUb3BWaXN1YWxPdmVy
ZmxvdywgY2hpbGRCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChib3gtPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICAgICAgY2hpbGRU
b3BMYXlvdXRPdmVyZmxvdyA9IDA7Ci0gICAgICAgICAgICAgICAgY2hpbGRCb3R0b21MYXlvdXRP
dmVyZmxvdyA9IGN1cnItPmxvZ2ljYWxIZWlnaHQoKTsKLSAgICAgICAgICAgIH0KKyAgICBtX292
ZXJmbG93LT5hZGRWaXN1YWxPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgdG9wTGF5
b3V0T3ZlcmZsb3cgPSBtaW4oYm94TG9naWNhbFRvcCArIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3cs
IHRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0g
bWF4KGJveExvZ2ljYWxUb3AgKyBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93LCBib3R0b21MYXlv
dXRPdmVyZmxvdyk7Ci0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihib3hMb2dp
Y2FsVG9wICsgY2hpbGRUb3BWaXN1YWxPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAg
ICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoYm94TG9naWNhbFRvcCArIGNoaWxk
Qm90dG9tVmlzdWFsT3ZlcmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgfQot
ICAgIH0KK3ZvaWQgSW5saW5lRmxvd0JveDo6c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNv
bnN0IEludFJlY3QmIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNh
bFZpc3VhbE92ZXJmbG93LCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50
UmVjdCBsYXlvdXRPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyA6IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgpKTsKKyAgICBhZGRMYXlv
dXRPdmVyZmxvdyhsYXlvdXRPdmVyZmxvdywgbGluZVRvcCwgbGluZUJvdHRvbSk7CiAgICAgCi0g
ICAgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyh0b3BMYXlvdXRPdmVyZmxvdywg
Ym90dG9tTGF5b3V0T3ZlcmZsb3csIHRvcFZpc3VhbE92ZXJmbG93LCBib3R0b21WaXN1YWxPdmVy
Zmxvdyk7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyA6IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgp
KTsKKyAgICBhZGRWaXN1YWxPdmVyZmxvdyh2aXN1YWxPdmVyZmxvdywgbGluZVRvcCwgbGluZUJv
dHRvbSk7CiB9CiAKIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVz
dFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IHgsIGludCB5LCBp
bnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXNpYmxlT3ZlcmZs
b3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc3VhbE92ZXJmbG93UmVjdCgp
KTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVyZmxvd1Jl
Y3QubW92ZSh0eCwgdHkpOwogICAgIGlmICghb3ZlcmZsb3dSZWN0LmludGVyc2VjdHMocmVzdWx0
LnJlY3RGb3JQb2ludCh4LCB5KSkpCkBAIC04NjUsNyArODg2LDcgQEAgYm9vbCBJbmxpbmVGbG93
Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogCiB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50KFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJm
bG93UmVjdCh2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
KHZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICBvdmVyZmxvd1JlY3QuaW5mbGF0ZShyZW5kZXJl
cigpLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAgZmxpcEZvcldy
aXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUodHgsIHR5KTsK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDczMDgxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsMTAg
KzE2MywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbihp
bnQgbG9naWNhbFRvcCwgaW50IG1heEhlaWdodCwgaW50IG1heEFzY2VudCwgYm9vbCBzdHJpY3RN
b2RlLCBpbnQmIGxpbmVUb3AsIGludCYgbGluZUJvdHRvbSwgYm9vbCYgc2V0TGluZVRvcCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbGluZVRvcEluY2x1ZGluZ01h
cmdpbnMsIGludCYgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGJvb2wmIGNvbnRhaW5zUnVi
eSwgRm9udEJhc2VsaW5lKTsKICAgICB2b2lkIGZsaXBMaW5lc0luQmxvY2tEaXJlY3Rpb24oaW50
IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKLSAgICB2b2lkIGNvbXB1dGVCbG9ja0RpcmVjdGlv
bk92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBH
bHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIGJvb2wgcmVxdWlyZXNJZGVv
Z3JhcGhpY0Jhc2VsaW5lKGNvbnN0IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJikg
Y29uc3Q7CiAgICAgaW50IGNvbXB1dGVCbG9ja0RpcmVjdGlvblJ1YnlBZGp1c3RtZW50KGludCBh
bGxvd2VkUG9zaXRpb24pIGNvbnN0OwogICAgIAorICAgIHZvaWQgY29tcHV0ZU92ZXJmbG93KGlu
dCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIAogICAgIHZvaWQgcmVtb3ZlQ2hpbGQoSW5saW5l
Qm94KiBjaGlsZCk7CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUg
c2VsZWN0aW9uU3RhdGUoKTsKQEAgLTE4MywxNyArMTg0LDYgQEAgcHVibGljOgogICAgIC8vIHRv
cC9yaWdodC9ib3R0b20vbGVmdCBpbiB0aGUgY29kZSAtIHRoZXNlIGFyZW4ndCBwdXJlbHkgcGh5
c2ljYWwgZGlyZWN0aW9ucy4gIEZvciBob3Jpem9udGFsLXRiIGFuZCB2ZXJ0aWNhbC1sciB0aGV5
IHdpbGwgbWF0Y2ggcGh5c2ljYWwKICAgICAvLyBkaXJlY3Rpb25zLCBidXQgZm9yIGhvcml6b250
YWwtYnQgYW5kIHZlcnRpY2FsLXJsLCB0aGUgdG9wL2JvdHRvbSBhbmQgbGVmdC9yaWdodCByZXNw
ZWN0aXZlbHkgYXJlIGludmVydGVkIHdoZW4gY29tcGFyZWQgdG8KICAgICAvLyB0aGVpciBwaHlz
aWNhbCBjb3VudGVycGFydHMuCi0gICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsg
cmV0dXJuIHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93KCksIHRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbihsZWZ0
TGF5b3V0T3ZlcmZsb3coKSwgbGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IHJpZ2h0
VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgocmlnaHRMYXlvdXRPdmVy
ZmxvdygpLCByaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2ljYWxMZWZ0Vmlz
aWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptaW4obG9naWNhbExlZnRMYXlvdXRP
dmVyZmxvdygpLCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2lj
YWxSaWdodFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4KGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93KCksIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1p
bihsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBzdGQ6Om1heChsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KCkpOyB9Ci0KLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJsZU92ZXJmbG93UmVj
dCgpIDogSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyAgfQotCiAgICAgaW50
IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZs
b3ctPnRvcExheW91dE92ZXJmbG93KCkgOiBtX3k7IH0KICAgICBpbnQgYm90dG9tTGF5b3V0T3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5
b3V0T3ZlcmZsb3coKSA6IG1feSArIGhlaWdodCgpOyB9CiAgICAgaW50IGxlZnRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5b3V0
T3ZlcmZsb3coKSA6IG1feDsgfQpAQCAtMjAzLDYgKzE5MywxMyBAQCBwdWJsaWM6CiAgICAgaW50
IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFRvcExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHRvcFZpc3VhbE92ZXJmbG93KCkgOiBsZWZ0VmlzdWFsT3ZlcmZsb3co
KTsgfQogICAgIGludCBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm90dG9t
TGF5b3V0T3ZlcmZsb3coKSA6IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKTsgfQorICAgIEludFJlY3Qg
bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0CisgICAgeworICAgICAgICBJbnRSZWN0
IHJlc3VsdCA9IGxheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICBpZiAoIXJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICByZXN1bHQg
PSByZXN1bHQudHJhbnNwb3NlZFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CiAKICAgICBpbnQgdG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
ID8gbV9vdmVyZmxvdy0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IG1feTsgfQogICAgIGludCBib3R0
b21WaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KQEAgLTIxMywxMSAr
MjEwLDIyIEBAIHB1YmxpYzoKICAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gcmlnaHRWaXN1YWxPdmVyZmxvdygpIDogYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsgfQog
ICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZs
b3coKSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBib3R0b21WaXN1YWxPdmVyZmxvdygpIDogcmlnaHRWaXN1YWxP
dmVyZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29u
c3QKKyAgICB7CisgICAgICAgIEludFJlY3QgcmVzdWx0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7
CisgICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC50cmFuc3Bvc2VkUmVjdCgpOworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAotICAgIHZvaWQgc2V0SW5saW5lRGlyZWN0aW9u
T3ZlcmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dp
Y2FsUmlnaHRMYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIHZvaWQgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bv
c2l0aW9ucyhpbnQgbG9naWNhbFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxh
eW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KTsKKyAgICB2b2lkIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhjb25zdCBJbnRS
ZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IEludFJlY3QmIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdywgaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKKyAgICB2b2lkIGFkZExheW91
dE92ZXJmbG93KGNvbnN0IEludFJlY3QmLCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pOwor
ICAgIHZvaWQgYWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYsIGludCBsaW5lVG9wLCBp
bnQgbGluZUJvdHRvbSk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBhZGRCb3hTaGFkb3dWaXN1YWxP
dmVyZmxvdyhJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgYWRkVGV4
dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gqLCBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcCYsIEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAg
dm9pZCBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY29uc3QgSW5saW5lQm94KiwgSW50UmVjdCYg
bG9naWNhbExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgT3duUHRyPFJlbmRlck92ZXJmbG93PiBtX292ZXJmbG93OwpAQCAt
MjM5LDUyICsyNDcsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKLWlubGluZSB2b2lkIElu
bGluZUZsb3dCb3g6OnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3csIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdykgCi17IAotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9n
aWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodExh
eW91dE92ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpIAotICAgICAgICAgICAgJiYgbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBt
X292ZXJmbG93ID0gYWRvcHRQdHIobmV3IFJlbmRlck92ZXJmbG93KEludFJlY3QobV94LCBtX3ks
IHdpZHRoKCksIGhlaWdodCgpKSkpOyAgIAotICAgIH0KLQotICAgIGlmIChpc0hvcml6b250YWwo
KSkgewotICAgICAgICBtX292ZXJmbG93LT5zZXRMZWZ0TGF5b3V0T3ZlcmZsb3cobG9naWNhbExl
ZnRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3Zl
cmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5z
ZXRMZWZ0VmlzdWFsT3ZlcmZsb3cobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7IAotICAgICAg
ICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KTsKLSAgICB9IGVsc2UgewotICAgICAgICBtX292ZXJmbG93LT5zZXRUb3BMYXlvdXRP
dmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+
c2V0Qm90dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAg
ICAgICBtX292ZXJmbG93LT5zZXRUb3BWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsgIAotICAgIH0KLX0KLQotaW5saW5lIHZvaWQgSW5s
aW5lRmxvd0JveDo6c2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNh
bFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KQotewotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9naWNhbFRv
cExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxUb3AoKSAmJiBsb2dpY2FsQm90dG9tTGF5b3V0T3Zl
cmZsb3cgPT0gbG9naWNhbEJvdHRvbSgpCi0gICAgICAgICAgICAmJiBsb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYmIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9
PSBsb2dpY2FsQm90dG9tKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZs
b3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3ZlcmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgo
KSwgaGVpZ2h0KCkpKSk7Ci0gICAgfQotCi0gICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAg
ICAgIG1fb3ZlcmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVy
Zmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbUxheW91dE92ZXJmbG93KGxvZ2lj
YWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3Vh
bE92ZXJmbG93KGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93
LT5zZXRCb3R0b21WaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRMYXlvdXRPdmVyZmxvdyhs
b2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodExh
eW91dE92ZXJmbG93KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3Zl
cmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOyAK
LSAgICAgICAgbV9vdmVyZmxvdy0+c2V0UmlnaHRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9t
VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0KLX0KLQogI2lmZGVmIE5ERUJVRwogaW5saW5lIHZvaWQg
SW5saW5lRmxvd0JveDo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIzMSwxMSArMTIzMSw3IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXkKIAogICAgIC8vIEFkZCBvdmVy
ZmxvdyBmcm9tIGNoaWxkcmVuICh1bmxlc3Mgd2UncmUgbXVsdGktY29sdW1uLCBzaW5jZSBpbiB0
aGF0IGNhc2UgYWxsIG91ciBjaGlsZCBvdmVyZmxvdyBpcyBjbGlwcGVkIGFueXdheSkuCiAgICAg
aWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gVGhpcyBjaGVjayBpcyBkZXNpZ25lZCB0
byBjYXRjaCBhbnlvbmUKLSAgICAgICAgLy8gd2hvIHdhc24ndCBnb2luZyB0byBwcm9wYWdhdGUg
ZmxvYXQgaW5mb3JtYXRpb24gdXAgdG8gdGhlIHBhcmVudCBhbmQgeWV0IGNvdWxkIHBvdGVudGlh
bGx5IGJlIHBhaW50ZWQgYnkgaXRzIGFuY2VzdG9yLgotICAgICAgICBpZiAoaXNSb290KCkgfHwg
ZXhwYW5kc1RvRW5jbG9zZU92ZXJoYW5naW5nRmxvYXRzKCkpCi0gICAgICAgICAgICBhZGRPdmVy
Zmxvd0Zyb21GbG9hdHMoKTsKLQorICAgICAgICBhZGRPdmVyZmxvd0Zyb21GbG9hdHMoKTsKICAg
ICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21J
bmxpbmVDaGlsZHJlbigpOwogICAgICAgICBlbHNlCkBAIC0xMjYzLDggKzEyNTksOCBAQCB2b2lk
IFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAgLy8gUmVwYWludCB3aXRo
IG91ciBuZXcgYm91bmRzIGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIG91ciBvbGQgYm91bmRz
LgogICAgIGJvb2wgZGlkRnVsbFJlcGFpbnQgPSByZXBhaW50ZXIucmVwYWludEFmdGVyTGF5b3V0
KCk7CiAgICAgaWYgKCFkaWRGdWxsUmVwYWludCAmJiByZXBhaW50TG9naWNhbFRvcCAhPSByZXBh
aW50TG9naWNhbEJvdHRvbSAmJiAoc3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUgfHwg
ZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJsZUNvbnRlbnQoKSkpIHsKLSAgICAgICAgaW50IHJl
cGFpbnRMb2dpY2FsTGVmdCA9IG1pbihsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCksIGxvZ2lj
YWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgIGludCByZXBhaW50TG9naWNhbFJpZ2h0
ID0gbWF4KGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCksIGxvZ2ljYWxSaWdodExheW91dE92
ZXJmbG93KCkpOworICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdygpOworICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxSaWdodCA9IGxvZ2lj
YWxSaWdodFZpc3VhbE92ZXJmbG93KCk7CiAgICAgICAgIAogICAgICAgICBJbnRSZWN0IHJlcGFp
bnRSZWN0OwogICAgICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
QEAgLTEzMTEsNyArMTMwNyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUZs
b2F0cygKICAgICBGbG9hdGluZ09iamVjdCogcjsKICAgICBEZXByZWNhdGVkUHRyTGlzdEl0ZXJh
dG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwogICAgIGZvciAoOyAo
ciA9IGl0LmN1cnJlbnQoKSk7ICsraXQpIHsKLSAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQg
JiYgIXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkpCisgICAgICAgIGlmIChy
LT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkp
CiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChyLT5tX3JlbmRlcmVyLCBJbnRTaXpl
KHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSwgci0+dG9wKCkgKyByLT5t
X3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSkpOwogICAgIH0KICAgICByZXR1cm47CkBAIC0xOTk2LDYg
KzE5OTIsMTYgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBvc2l0aW9uZWRPYgogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmICghaGFzQ29sdW1ucygpICYm
IG1fb3ZlcmZsb3cgJiYgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgIT0gY2xpZW50Qm94UmVjdCgpKSB7
CisgICAgICAgIC8vIFJlY29tcHV0ZSBvdXIgb3ZlcmZsb3cgaW5mb3JtYXRpb24uCisgICAgICAg
IG1fb3ZlcmZsb3ctPnJlc2V0TGF5b3V0T3ZlcmZsb3coY2xpZW50Qm94UmVjdCgpKTsKKyAgICAg
ICAgYWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCk7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgp
KQorICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOworICAgIH0K
KwogICAgIC8vIEFsbCB3ZSBoYXZlIHRvIGlzIGxheSBvdXQgb3VyIHBvc2l0aW9uZWQgb2JqZWN0
cy4KICAgICBsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhmYWxzZSk7CiAKQEAgLTIwMzgsNiArMjA0
NCwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0CiAgICAgICAg
ICAgICBpZiAoci0+bmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXRPbmx5KCkpCiAgICAgICAg
ICAgICAgICAgci0+dHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCk7CiAgICAg
ICAgICAgICByLT5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICAv
LyBGaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGRvbid0IGNvbnRyaWJ1dGUgdG8gbGF5b3V0IG92
ZXJmbG93LCBzaW5jZSB0aGV5IGRvbid0IHNjcm9sbCB3aXRoIHRoZSBjb250ZW50LgorICAgICAg
ICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKKyAgICAg
ICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChyKTsKICAgICAgICAgfQogICAgICAgICAK
ICAgICAgICAgaWYgKGhhc0NvbHVtbnMoKSkKQEAgLTIxMDcsNyArMjExNyw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICAvLyBGSVhNRTogQ291bGQgZWxp
bWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBmaXggYmFja2dyb3VuZCBwYWludGluZyBz
byB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFpbnRzIHRoZSByb290J3MgYmFja2dyb3Vu
ZC4KICAgICBpZiAoIWlzUm9vdCgpKSB7Ci0gICAgICAgIEludFJlY3Qgb3ZlcmZsb3dCb3ggPSB2
aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXN1
YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgb3ZlcmZsb3dCb3guaW5mbGF0ZShtYXhpbWFsT3V0
bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAgICAgIG92ZXJmbG93Qm94Lm1vdmUodHgs
IHR5KTsKICAgICAgICAgaWYgKCFvdmVyZmxvd0JveC5pbnRlcnNlY3RzKHBhaW50SW5mby5yZWN0
KSkKQEAgLTMzNDcsNyArMzM1Nyw3IEBAIGludCBSZW5kZXJCbG9jazo6bG93ZXN0RmxvYXRMb2dp
Y2FsQm90dG8KICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0Qm90dG9tOwogfQotCisvKgog
aW50IFJlbmRlckJsb2NrOjp0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0CiB7CiAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFuc2Zvcm1lZEZyYW1lUmVj
dCgpOwpAQCAtMzc1OSw2ICszNzY5LDcgQEAgaW50IFJlbmRlckJsb2NrOjpsZWZ0bW9zdFBvc2l0
aW9uKGJvb2wgaQogICAgIAogICAgIHJldHVybiBsZWZ0OwogfQorKi8KIAogdm9pZCBSZW5kZXJC
bG9jazo6bWFya0xpbmVzRGlydHlJbkJsb2NrUmFuZ2UoaW50IGxvZ2ljYWxUb3AsIGludCBsb2dp
Y2FsQm90dG9tLCBSb290SW5saW5lQm94KiBoaWdoZXN0KQogewpAQCAtNDA5NSw3ICs0MTA2LDcg
QEAgYm9vbCBSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VAogCiAgICAgaWYgKCFp
c1JlbmRlclZpZXcoKSkgewogICAgICAgICAvLyBDaGVjayBpZiB3ZSBuZWVkIHRvIGRvIGFueXRo
aW5nIGF0IGFsbC4KLSAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc2libGVPdmVyZmxv
d1JlY3QoKTsKKyAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVj
dCgpOwogICAgICAgICBvdmVyZmxvd0JveC5tb3ZlKHR4LCB0eSk7CiAgICAgICAgIGlmICghb3Zl
cmZsb3dCb3guaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KF94LCBfeSkpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNjE1NSw4ICs2MTY2LDggQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRqdXN0TGluZVBvc2l0aW9uRm9yUAogICAgIC8vIGxpbmUgYW5kIGFsbCBmb2xsb3dpbmcg
bGluZXMuCiAgICAgTGF5b3V0U3RhdGUqIGxheW91dFN0YXRlID0gdmlldygpLT5sYXlvdXRTdGF0
ZSgpOwogICAgIGludCBwYWdlSGVpZ2h0ID0gbGF5b3V0U3RhdGUtPm1fcGFnZUhlaWdodDsKLSAg
ICBpbnQgeVBvcyA9IGxpbmVCb3gtPnRvcFZpc2libGVPdmVyZmxvdygpOwotICAgIGludCBsaW5l
SGVpZ2h0ID0gbGluZUJveC0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSB5UG9zOworICAgIGlu
dCB5UG9zID0gbGluZUJveC0+dG9wVmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgbGluZUhlaWdo
dCA9IGxpbmVCb3gtPmJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSB5UG9zOwogICAgIGlmIChsYXlv
dXRTdGF0ZS0+bV9jb2x1bW5JbmZvKQogICAgICAgICBsYXlvdXRTdGF0ZS0+bV9jb2x1bW5JbmZv
LT51cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KGxpbmVIZWlnaHQpOwogICAgIHlQb3MgKz0gZGVs
dGE7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDczMDgxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTgsMTEgKzk4
LDYgQEAgcHVibGljOgogICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGludCBw
b3NpdGlvbiwgYm9vbCBmaXJzdExpbmUpIGNvbnN0OwogICAgIGludCBsb2dpY2FsUmlnaHRPZmZz
ZXRGb3JMaW5lKGludCBwb3NpdGlvbiwgYm9vbCBmaXJzdExpbmUpIGNvbnN0IHsgcmV0dXJuIGxv
Z2ljYWxSaWdodE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxSaWdodE9mZnNldEZvckNv
bnRlbnQoKSwgZmlyc3RMaW5lKTsgfQogICAgIGludCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUo
aW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnRP
ZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQoKSwgZmly
c3RMaW5lKTsgfQotCi0gICAgdmlydHVhbCBpbnQgdG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlU
cmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsb3dl
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNs
dWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7
Ci0gICAgdmlydHVhbCBpbnQgcmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9
IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxlZnRtb3N0UG9zaXRp
b24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYg
PSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwogICAgIAog
ICAgIHZpcnR1YWwgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnQoY29uc3QgSW50UG9p
bnQmKTsKICAgICAKQEAgLTQ2NCw4ICs0NTksOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVsZXRl
RWxsaXBzaXNMaW5lQm94ZXMoKTsKICAgICB2b2lkIGNoZWNrTGluZXNGb3JUZXh0T3ZlcmZsb3co
KTsKICAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCk7Ci0gICAgaW50IGJl
Zm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25zdDsKLSAg
ICBpbnQgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KikgY29u
c3Q7CisgICAgaW50IGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJv
eCopIGNvbnN0OworICAgIGludCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoUm9vdElu
bGluZUJveCopIGNvbnN0OwogICAgIGludCBiZWZvcmVTaWRlTGF5b3V0T3ZlcmZsb3dGb3JMaW5l
KFJvb3RJbmxpbmVCb3gqKSBjb25zdDsKICAgICBpbnQgYWZ0ZXJTaWRlTGF5b3V0T3ZlcmZsb3dG
b3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25zdDsKICAgICAvLyBFbmQgb2YgZnVuY3Rpb25zIGRl
ZmluZWQgaW4gUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcC4KSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02MTUsOCArNjE1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4o
YgogICAgICAgICAgICAgUmVuZGVyQXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAg
ICAgICAgIFJvb3RJbmxpbmVCb3gqIGJveCA9IHN0YXJ0TGluZTsKICAgICAgICAgICAgIHdoaWxl
IChib3gpIHsKLSAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50
TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7Ci0gICAg
ICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0
b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7CisgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVW
aXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJm
bG93Rm9yTGluZShib3gpKTsKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0g
Ym94LT5uZXh0Um9vdEJveCgpOwogICAgICAgICAgICAgICAgIGJveC0+ZGVsZXRlTGluZShhcmVu
YSk7CiAgICAgICAgICAgICAgICAgYm94ID0gbmV4dDsKQEAgLTc2NCw2ICs3NjQsOSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAjZW5kaWYKIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSBvdXIg
b3ZlcmZsb3cgbm93LgorICAgICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZU92
ZXJmbG93KGxpbmVCb3gtPmxpbmVUb3AoKSwgbGluZUJveC0+bGluZUJvdHRvbSgpLCBkb2N1bWVu
dCgpLT5pbk5vUXVpcmtzTW9kZSgpLCB0ZXh0Qm94RGF0YU1hcCk7CisgICAgCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYW4g
b3ZlcmZsb3cgaW5mbGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCkt
PmhpZ2hsaWdodCgpICE9IG51bGxBdG9tKQpAQCAtNzc3LDggKzc4MCw4IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBpZiAobGluZUJv
eCkgewogICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5v
YmosIGVuZC5wb3MsIHJlc29sdmVyLnN0YXR1cygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHVzZVJlcGFpbnRCb3VuZHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dp
Y2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93
Rm9yTGluZShsaW5lQm94KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNh
bEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJm
bG93Rm9yTGluZShsaW5lQm94KSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9n
aWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93
Rm9yTGluZShsaW5lQm94KSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNh
bEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZs
b3dGb3JMaW5lKGxpbmVCb3gpKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2luYXRlZCkgewpAQCAtNzg4LDcg
Kzc5MSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgb2xkTGluZVdpZHRoID0gYXZhaWxhYmxlTG9naWNh
bFdpZHRoRm9yTGluZShvbGRMb2dpY2FsSGVpZ2h0LCBmaXJzdExpbmUpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpbmVCb3gtPmFkanVzdFBvc2l0aW9uKDAsIGFkanVzdG1lbnQpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSAvLyBUaGlz
IGNhbiBvbmx5IGJlIGEgcG9zaXRpdmUgYWRqdXN0bWVudCwgc28gbm8gbmVlZCB0byB1cGRhdGUg
cmVwYWludFRvcC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVy
Zmxvd0ZvckxpbmUobGluZUJveCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRl
VmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aEZvckxpbmUob2xkTG9naWNhbEhlaWdodCArIGFkanVzdG1lbnQsIGZpcnN0TGluZSkg
IT0gb2xkTGluZVdpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdl
IGhhdmUgdG8gZGVsZXRlIHRoaXMgbGluZSwgcmVtb3ZlIGFsbCBmbG9hdHMgdGhhdCBnb3QgYWRk
ZWQsIGFuZCBsZXQgbGluZSBsYXlvdXQgcmUtcnVuLgpAQCAtODQyLDggKzg0NSw4IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAg
ICAgIGFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRpb24obGluZSwgZGVsdGEpOwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChkZWx0YSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxU
b3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAw
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChy
ZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5l
KSArIG1heChkZWx0YSwgMCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0Zv
ckxpbmUobGluZSkgKyBtaW4oZGVsdGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
cGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVW
aXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkgKyBtYXgoZGVsdGEsIDApKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpbmUtPmFkanVzdFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckJveCo+KiBj
bGVhbkxpbmVGbG9hdHMgPSBsaW5lLT5mbG9hdHNQdHIoKSkgewpAQCAtODYxLDggKzg2NCw4IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAg
ICBSb290SW5saW5lQm94KiBsaW5lID0gZW5kTGluZTsKICAgICAgICAgICAgICAgICBSZW5kZXJB
cmVuYSogYXJlbmEgPSByZW5kZXJBcmVuYSgpOwogICAgICAgICAgICAgICAgIHdoaWxlIChsaW5l
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRM
b2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2Fs
Qm90dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJl
Zm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkpOworICAgICAgICAgICAgICAgICAg
ICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJT
aWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKICAgICAgICAgICAgICAgICAgICAgUm9v
dElubGluZUJveCogbmV4dCA9IGxpbmUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAg
ICAgIGxpbmUtPmRlbGV0ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICBsaW5lID0g
bmV4dDsKQEAgLTg3NCw3ICs4NzcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVD
aGlsZHJlbihiCiAgICAgICAgICAgICAvLyBUaGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBhZGRp
bmcgaW4gdGhlIGJvdHRvbSBib3JkZXIvcGFkZGluZywgb3IgdGhlIGZsb2F0IHdpbGwKICAgICAg
ICAgICAgIC8vIGluY2x1ZGUgdGhlIHBhZGRpbmcgaW5jb3JyZWN0bHkuIC1kd2gKICAgICAgICAg
ICAgIGlmIChjaGVja0ZvckZsb2F0c0Zyb21MYXN0TGluZSkgewotICAgICAgICAgICAgICAgIGlu
dCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUo
bGFzdFJvb3RCb3goKSk7CisgICAgICAgICAgICAgICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93
ID0gYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOwogICAgICAg
ICAgICAgICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdyA9IGFmdGVyU2lkZUxheW91dE92ZXJm
bG93Rm9yTGluZShsYXN0Um9vdEJveCgpKTsKICAgICAgICAgICAgICAgICBUcmFpbGluZ0Zsb2F0
c1Jvb3RJbmxpbmVCb3gqIHRyYWlsaW5nRmxvYXRzTGluZUJveCA9IG5ldyAocmVuZGVyQXJlbmEo
KSkgVHJhaWxpbmdGbG9hdHNSb290SW5saW5lQm94KHRoaXMpOwogICAgICAgICAgICAgICAgIG1f
bGluZUJveGVzLmFwcGVuZExpbmVCb3godHJhaWxpbmdGbG9hdHNMaW5lQm94KTsKQEAgLTg4Miw3
ICs4ODUsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAg
ICAgICAgICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwIHRleHRCb3hEYXRh
TWFwOwogICAgICAgICAgICAgICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB2ZXJ0aWNhbFBvc2l0
aW9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5hbGlnbkJv
eGVzSW5CbG9ja0RpcmVjdGlvbihsb2dpY2FsSGVpZ2h0KCksIHRleHRCb3hEYXRhTWFwLCB2ZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUpOwotICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJv
eC0+c2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhsb2dpY2FsSGVpZ2h0KCksIGJv
dHRvbUxheW91dE92ZXJmbG93LCBsb2dpY2FsSGVpZ2h0KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93
KTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyh0cmFpbGlu
Z0Zsb2F0c0xpbmVCb3gtPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgICAgICAg
ICAgICAgbG9naWNhbExheW91dE92ZXJmbG93LnNldFkobG9naWNhbEhlaWdodCgpKTsKKyAgICAg
ICAgICAgICAgICBsb2dpY2FsTGF5b3V0T3ZlcmZsb3cuc2V0SGVpZ2h0KGJvdHRvbUxheW91dE92
ZXJmbG93IC0gbG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyh0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPmxvZ2ljYWxWaXN1YWxPdmVy
Zmxvd1JlY3QoKSk7CisgICAgICAgICAgICAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93LnNldFko
bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cu
c2V0SGVpZ2h0KGJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbEhlaWdodCgpKTsKKyAgICAg
ICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxS
ZWN0cyhsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdywgdHJhaWxp
bmdGbG9hdHNMaW5lQm94LT5saW5lVG9wKCksIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+bGluZUJv
dHRvbSgpKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2Nr
TG9naWNhbEhlaWdodChsb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGxhc3RGbG9hdCkgewpAQCAtOTU1LDggKzk2NCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJl
bmRlckJsb2NrOjpkZXRlcm1pbmVTdGEKICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VSZXBh
aW50Qm91bmRzKQogICAgICAgICAgICAgICAgICAgICAgICAgdXNlUmVwYWludEJvdW5kcyA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgcmVwYWlu
dExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3Zl
cmZsb3dGb3JMaW5lKGN1cnIpICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOwotICAgICAgICAg
ICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRv
bSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1heChwYWdpbmF0aW9u
RGVsdGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4o
cmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoY3Vycikg
KyBtaW4ocGFnaW5hdGlvbkRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxP
dmVyZmxvd0ZvckxpbmUoY3VycikgKyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGN1cnItPmFkanVzdFBvc2l0aW9uKDAsIHBhZ2luYXRpb25EZWx0YSk7CiAg
ICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIH0KQEAgLTExNzIs
OCArMTE4MSw4IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKGNvbnN0IEkKICAg
ICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGJveFRvRGVsZXRlID0gZW5kTGluZTsKICAgICAgICAg
ICAgIFJlbmRlckFyZW5hKiBhcmVuYSA9IHJlbmRlckFyZW5hKCk7CiAgICAgICAgICAgICB3aGls
ZSAoYm94VG9EZWxldGUgJiYgYm94VG9EZWxldGUgIT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVW
aXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7Ci0gICAgICAgICAgICAgICAgcmVw
YWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZp
c2libGVPdmVyZmxvd0ZvckxpbmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAgICAgICByZXBh
aW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92
ZXJmbG93Rm9yTGluZShib3hUb0RlbGV0ZSkpOworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dp
Y2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVy
Zmxvd0ZvckxpbmUoYm94VG9EZWxldGUpKTsKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94
KiBuZXh0ID0gYm94VG9EZWxldGUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgYm94
VG9EZWxldGUtPmRlbGV0ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveFRvRGVsZXRl
ID0gbmV4dDsKQEAgLTIwMjksMjkgKzIwMzgsMzggQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxv
Y2s6OmZpbmROZXh0TGluZQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Jbmxp
bmVDaGlsZHJlbigpCiB7CisgICAgYm9vbCBhY2NvbW1vZGF0ZUNhcmV0T25Mb2dpY2FsUmlnaHQg
PSBub2RlKCkgJiYgbm9kZSgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpICYmIG5vZGUoKSA9PSBub2Rl
KCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpICYmICFwYWRk
aW5nRW5kKCk7CiAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGFkZExheW91dE92
ZXJmbG93KGN1cnItPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgSW50UmVjdCBsaW5l
TGF5b3V0T3ZlcmZsb3cgPSBjdXJyLT5sYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgaWYg
KGFjY29tbW9kYXRlQ2FyZXRPbkxvZ2ljYWxSaWdodCkgeworICAgICAgICAgICAgaWYgKHN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNldFdpZHRoKGxpbmVMYXlvdXRPdmVyZmxvdy53aWR0aCgpICsgMSk7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNldEhlaWdo
dChsaW5lTGF5b3V0T3ZlcmZsb3cuaGVpZ2h0KCkgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBh
ZGRMYXlvdXRPdmVyZmxvdyhsaW5lTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICBpZiAoIWhhc092
ZXJmbG93Q2xpcCgpKQogICAgICAgICAgICAgYWRkVmlzdWFsT3ZlcmZsb3coY3Vyci0+dmlzdWFs
T3ZlcmZsb3dSZWN0KCkpOwogICAgIH0KIH0KIAotaW50IFJlbmRlckJsb2NrOjpiZWZvcmVTaWRl
VmlzaWJsZU92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAoraW50IFJl
bmRlckJsb2NrOjpiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gq
IGxpbmUpIGNvbnN0CiB7CiAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRp
bmF0ZSBzcGFjZSwgd2hpY2ggbWVhbnMgaXQgaXNuJ3QgcHVyZWx5IHBoeXNpY2FsLiAgRm9yIGZs
aXBwZWQgYmxvY2tzIChybCBhbmQgYnQpLAogICAgIC8vIHdlIGNvbnRpbnVlIHRvIHVzZSB0b3Ag
YW5kIGxlZnQgb3ZlcmZsb3cgZXZlbiB0aG91Z2ggcGh5c2ljYWxseSBpdCdzIGJvdHRvbSBhbmQg
cmlnaHQuCiAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAg
ICAgIHJldHVybiBsaW5lLT50b3BWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICByZXR1cm4gbGluZS0+
bGVmdFZpc2libGVPdmVyZmxvdygpOworICAgICAgICByZXR1cm4gbGluZS0+dG9wVmlzdWFsT3Zl
cmZsb3coKTsKKyAgICByZXR1cm4gbGluZS0+bGVmdFZpc3VhbE92ZXJmbG93KCk7CiB9CiAKLWlu
dCBSZW5kZXJCbG9jazo6YWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShSb290SW5saW5l
Qm94KiBsaW5lKSBjb25zdAoraW50IFJlbmRlckJsb2NrOjphZnRlclNpZGVWaXN1YWxPdmVyZmxv
d0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKIHsKICAgICAvLyBPdmVyZmxvdyBp
cyBpbiB0aGUgYmxvY2sncyBjb29yZGluYXRlIHNwYWNlLCB3aGljaCBtZWFucyBpdCBpc24ndCBw
dXJlbHkgcGh5c2ljYWwuICBGb3IgZmxpcHBlZCBibG9ja3MgKHJsIGFuZCBidCksCiAgICAgLy8g
d2UgY29udGludWUgdG8gdXNlIGJvdHRvbSBhbmQgcmlnaHQgb3ZlcmZsb3cgZXZlbiB0aG91Z2gg
cGh5c2ljYWxseSBpdCdzIHRvcCBhbmQgbGVmdC4KICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIGxpbmUtPmJvdHRvbVZpc2libGVPdmVy
ZmxvdygpOwotICAgIHJldHVybiBsaW5lLT5yaWdodFZpc2libGVPdmVyZmxvdygpOworICAgICAg
ICByZXR1cm4gbGluZS0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKTsKKyAgICByZXR1cm4gbGluZS0+
cmlnaHRWaXN1YWxPdmVyZmxvdygpOwogfQogCiBpbnQgUmVuZGVyQmxvY2s6OmJlZm9yZVNpZGVM
YXlvdXRPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDUsOSArNDA1LDEwIEBAIGludCBS
ZW5kZXJCb3g6OnNjcm9sbFdpZHRoKCkgY29uc3QKICAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkp
CiAgICAgICAgIHJldHVybiBsYXllcigpLT5zY3JvbGxXaWR0aCgpOwogICAgIC8vIEZvciBvYmpl
Y3RzIHdpdGggdmlzaWJsZSBvdmVyZmxvdywgdGhpcyBtYXRjaGVzIElFLgorICAgIC8vIEZJWE1F
OiBOZWVkIHRvIHdvcmsgcmlnaHQgd2l0aCB3cml0aW5nIG1vZGVzLgogICAgIGlmIChzdHlsZSgp
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgIHJldHVybiBtYXgoY2xpZW50V2lk
dGgoKSwgcmlnaHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm9yZGVyTGVmdCgpKTsKLSAg
ICByZXR1cm4gY2xpZW50V2lkdGgoKSAtIG1pbigwLCBsZWZ0bW9zdFBvc2l0aW9uKHRydWUsIGZh
bHNlKSAtIGJvcmRlckxlZnQoKSk7CisgICAgICAgIHJldHVybiBtYXgoY2xpZW50V2lkdGgoKSwg
cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0gYm9yZGVyTGVmdCgpKTsKKyAgICByZXR1cm4gY2xpZW50
V2lkdGgoKSAtIG1pbigwLCBsZWZ0TGF5b3V0T3ZlcmZsb3coKSAtIGJvcmRlckxlZnQoKSk7CiB9
CiAKIGludCBSZW5kZXJCb3g6OnNjcm9sbEhlaWdodCgpIGNvbnN0CkBAIC00MTUsNyArNDE2LDgg
QEAgaW50IFJlbmRlckJveDo6c2Nyb2xsSGVpZ2h0KCkgY29uc3QKICAgICBpZiAoaGFzT3ZlcmZs
b3dDbGlwKCkpCiAgICAgICAgIHJldHVybiBsYXllcigpLT5zY3JvbGxIZWlnaHQoKTsKICAgICAv
LyBGb3Igb2JqZWN0cyB3aXRoIHZpc2libGUgb3ZlcmZsb3csIHRoaXMgbWF0Y2hlcyBJRS4KLSAg
ICByZXR1cm4gbWF4KGNsaWVudEhlaWdodCgpLCBsb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkg
LSBib3JkZXJUb3AoKSk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gd29yayByaWdodCB3aXRoIHdy
aXRpbmcgbW9kZXMuCisgICAgcmV0dXJuIG1heChjbGllbnRIZWlnaHQoKSwgYm90dG9tTGF5b3V0
T3ZlcmZsb3coKSAtIGJvcmRlclRvcCgpKTsKIH0KIAogaW50IFJlbmRlckJveDo6c2Nyb2xsTGVm
dCgpIGNvbnN0CkBAIC00NTAsMjIgKzQ1Miw2IEBAIHZvaWQgUmVuZGVyQm94OjphYnNvbHV0ZVF1
YWRzKFZlY3RvcjxGbG8KICAgICBxdWFkcy5hcHBlbmQobG9jYWxUb0Fic29sdXRlUXVhZChGbG9h
dFJlY3QoMCwgMCwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7CiB9CiAKLUludFJlY3QgUmVuZGVyQm94
OjphcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Ci17
Ci0gICAgaWYgKGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAg
ICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOwotICAgICAgICB0cmFuc2Zvcm0udHJh
bnNsYXRlKHJlY3QueCgpLCByZWN0LnkoKSk7Ci0gICAgICAgIHRyYW5zZm9ybS5tdWx0TGVmdChs
YXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtLm1h
cFJlY3QoSW50UmVjdCgwLCAwLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpKTsKLSAgICB9
Ci0gICAgcmV0dXJuIHJlY3Q7Ci19Ci0KLUludFJlY3QgUmVuZGVyQm94Ojp0cmFuc2Zvcm1lZEZy
YW1lUmVjdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3Qo
ZnJhbWVSZWN0KCkpOwotfQotCiB2b2lkIFJlbmRlckJveDo6dXBkYXRlTGF5ZXJUcmFuc2Zvcm0o
KQogewogICAgIC8vIFRyYW5zZm9ybS1vcmlnaW4gZGVwZW5kcyBvbiBib3ggc2l6ZSwgc28gd2Ug
bmVlZCB0byB1cGRhdGUgdGhlIGxheWVyIHRyYW5zZm9ybSBhZnRlciBsYXlvdXQuCkBAIC03NzIs
OCArNzU4LDggQEAgdm9pZCBSZW5kZXJCb3g6OnBhaW50Um9vdEJveERlY29yYXRpb25zKAogICAg
IC8vIENTUzIgMTQuMjoKICAgICAvLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYm94IGdlbmVyYXRl
ZCBieSB0aGUgcm9vdCBlbGVtZW50IGNvdmVycyB0aGUgZW50aXJlIGNhbnZhcyBpbmNsdWRpbmcK
ICAgICAvLyBpdHMgbWFyZ2lucy4KLSAgICBpbnQgYnggPSB0eCAtIG1hcmdpbkxlZnQoKSArIHZp
ZXcoKS0+bGVmdExheW91dE92ZXJmbG93KCk7Ci0gICAgaW50IGJ5ID0gdHkgLSBtYXJnaW5Ub3Ao
KSArIHZpZXcoKS0+dG9wTGF5b3V0T3ZlcmZsb3coKTsKKyAgICBpbnQgYnggPSB0eCAtIG1hcmdp
bkxlZnQoKSArIHZpZXcoKS0+ZG9jTGVmdCgpOworICAgIGludCBieSA9IHR5IC0gbWFyZ2luVG9w
KCkgKyB2aWV3KCktPmRvY1RvcCgpOwogICAgIGludCBidyA9IG1heCh3ICsgbWFyZ2luTGVmdCgp
ICsgbWFyZ2luUmlnaHQoKSArIGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCksIHJ3KTsKICAg
ICBpbnQgYmggPSBtYXgoaCArIG1hcmdpblRvcCgpICsgbWFyZ2luQm90dG9tKCkgKyBib3JkZXJU
b3AoKSArIGJvcmRlckJvdHRvbSgpLCByaCk7CiAKQEAgLTEzMTUsNyArMTMwMSw3IEBAIEludFJl
Y3QgUmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm8KICAgICBpZiAoc3R5bGUoKS0+dmlz
aWJpbGl0eSgpICE9IFZJU0lCTEUgJiYgIWVuY2xvc2luZ0xheWVyKCktPmhhc1Zpc2libGVDb250
ZW50KCkpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKLSAgICBJbnRSZWN0IHIgPSB2aXNp
YmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgSW50UmVjdCByID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7
CiAKICAgICBSZW5kZXJWaWV3KiB2ID0gdmlldygpOwogICAgIGlmICh2KSB7CkBAIC0yOTYxLDUw
ICsyOTQ3LDYgQEAgSW50UmVjdCBSZW5kZXJCb3g6OmxvY2FsQ2FyZXRSZWN0KElubGluZQogICAg
IHJldHVybiByZWN0OwogfQogCi1pbnQgUmVuZGVyQm94Ojp0b3Btb3N0UG9zaXRpb24oYm9vbCAv
KmluY2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNm
b3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0
ID0gYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRy
YW5zZm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxm
IHx8ICF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50
IHRvcCA9IDA7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICB0b3AgKz0gcmVs
YXRpdmVQb3NpdGlvbk9mZnNldFkoKTsKLSAgICByZXR1cm4gdG9wOwotfQotCi1pbnQgUmVuZGVy
Qm94Ojpsb3dlc3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IqLywgYm9v
bCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0g
ICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJh
bnNmb3JtICYmIGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6IGZyYW1lUmVj
dCgpOwotICAgIGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICBpbnQgYm90dG9tID0gdHJhbnNmb3JtZWRSZWN0LmhlaWdo
dCgpOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgYm90dG9tICs9IHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRZKCk7Ci0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRl
ckJveDo6cmlnaHRtb3N0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8s
IGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAot
ewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVk
ZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFt
ZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0
KCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGludCByaWdodCA9IHRyYW5zZm9ybWVkUmVjdC53
aWR0aCgpOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgcmlnaHQgKz0gcmVs
YXRpdmVQb3NpdGlvbk9mZnNldFgoKTsKLSAgICByZXR1cm4gcmlnaHQ7Ci19Ci0KLWludCBSZW5k
ZXJCb3g6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8s
IGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAot
ewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVk
ZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFt
ZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0
KCkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKTsKLSAgICBpbnQgbGVm
dCA9IDA7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBsZWZ0ICs9IHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRYKCk7Ci0gICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIFZpc2libGVQb3Np
dGlvbiBSZW5kZXJCb3g6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50KQog
ewogICAgIC8vIG5vIGNoaWxkcmVuLi4ucmV0dXJuIHRoaXMgcmVuZGVyIG9iamVjdCdzIGVsZW1l
bnQsIGlmIHRoZXJlIGlzIG9uZSwgYW5kIG9mZnNldCAwCkBAIC0zMTI5LDM1ICszMDcxLDMxIEBA
IHZvaWQgUmVuZGVyQm94OjphZGRTaGFkb3dPdmVyZmxvdygpCiAKIHZvaWQgUmVuZGVyQm94Ojph
ZGRPdmVyZmxvd0Zyb21DaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRTaXplJiBkZWx0
YSkKIHsKLSAgICAvLyBVcGRhdGUgb3VyIG92ZXJmbG93IGluIGNhc2UgdGhlIGNoaWxkIHNwaWxs
cyBvdXQgdGhlIGJsb2NrLCBidXQgb25seSBpZiB3ZSB3ZXJlIGdvaW5nIHRvIHBhaW50Ci0gICAg
Ly8gdGhlIGNoaWxkIGJsb2NrIG91cnNlbHZlcy4KLSAgICBpZiAoY2hpbGQtPmhhc1NlbGZQYWlu
dGluZ0xheWVyKCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIC8vIE9ubHkgcHJvcGFnYXRlIGxh
eW91dCBvdmVyZmxvdyBmcm9tIHRoZSBjaGlsZCBpZiB0aGUgY2hpbGQgaXNuJ3QgY2xpcHBpbmcg
aXRzIG92ZXJmbG93LiAgSWYgaXQgaXMsIHRoZW4KLSAgICAvLyBpdHMgb3ZlcmZsb3cgaXMgaW50
ZXJuYWwgdG8gaXQsIGFuZCB3ZSBkb24ndCBjYXJlIGFib3V0IGl0LgotICAgIEludFJlY3QgY2hp
bGRMYXlvdXRPdmVyZmxvd1JlY3QgPSBjaGlsZC0+aGFzT3ZlcmZsb3dDbGlwKCkgPyBjaGlsZC0+
Ym9yZGVyQm94UmVjdCgpIDogY2hpbGQtPmxheW91dE92ZXJmbG93UmVjdCgpOworICAgIC8vIGl0
cyBvdmVyZmxvdyBpcyBpbnRlcm5hbCB0byBpdCwgYW5kIHdlIGRvbid0IGNhcmUgYWJvdXQgaXQu
ICBsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbiB0YWtlcyBjYXJlIG9mIHRoaXMKKyAg
ICAvLyBhbmQganVzdCBwcm9wYWdhdGVzIHRoZSBib3JkZXIgYm94IHJlY3QgaW5zdGVhZC4KKyAg
ICBJbnRSZWN0IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0ID0gY2hpbGQtPmxheW91dE92ZXJmbG93
UmVjdEZvclByb3BhZ2F0aW9uKHN0eWxlKCkpOwogICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0
Lm1vdmUoZGVsdGEpOwogICAgIGFkZExheW91dE92ZXJmbG93KGNoaWxkTGF5b3V0T3ZlcmZsb3dS
ZWN0KTsKICAgICAgICAgICAgIAogICAgIC8vIEFkZCBpbiB2aXN1YWwgb3ZlcmZsb3cgZnJvbSB0
aGUgY2hpbGQuICBFdmVuIGlmIHRoZSBjaGlsZCBjbGlwcyBpdHMgb3ZlcmZsb3csIGl0IG1heSBz
dGlsbAogICAgIC8vIGhhdmUgdmlzdWFsIG92ZXJmbG93IG9mIGl0cyBvd24gc2V0IGZyb20gYm94
IHNoYWRvd3Mgb3IgcmVmbGVjdGlvbnMuICBJdCBpcyB1bm5lY2Vzc2FyeSB0byBwcm9wYWdhdGUg
dGhpcwogICAgIC8vIG92ZXJmbG93IGlmIHdlIGFyZSBjbGlwcGluZyBvdXIgb3duIG92ZXJmbG93
LgotICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAoY2hpbGQtPmhhc1NlbGZQYWlu
dGluZ0xheWVyKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBJ
bnRSZWN0IGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVj
dCgpOworICAgIEludFJlY3QgY2hpbGRWaXN1YWxPdmVyZmxvd1JlY3QgPSBjaGlsZC0+dmlzdWFs
T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oc3R5bGUoKSk7CiAgICAgY2hpbGRWaXN1YWxPdmVy
Zmxvd1JlY3QubW92ZShkZWx0YSk7CiAgICAgYWRkVmlzdWFsT3ZlcmZsb3coY2hpbGRWaXN1YWxP
dmVyZmxvd1JlY3QpOwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkTGF5b3V0T3ZlcmZsb3coY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGJvcmRlckJveCA9IGJvcmRlckJveFJl
Y3QoKTsKLSAgICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAgIEludFJlY3QgY2xp
ZW50Qm94ID0gY2xpZW50Qm94UmVjdCgpOworICAgIGlmIChjbGllbnRCb3guY29udGFpbnMocmVj
dCkgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYg
KCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3co
Ym9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVyZmxvdyhj
bGllbnRCb3gsIGJvcmRlckJveFJlY3QoKSkpOwogICAgIAogICAgIG1fb3ZlcmZsb3ctPmFkZExh
eW91dE92ZXJmbG93KHJlY3QpOwogfQpAQCAtMzE2NSwxMSArMzEwMywxMSBAQCB2b2lkIFJlbmRl
ckJveDo6YWRkTGF5b3V0T3ZlcmZsb3coY29uc3QgCiB2b2lkIFJlbmRlckJveDo6YWRkVmlzdWFs
T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IGJvcmRlckJveCA9
IGJvcmRlckJveFJlY3QoKTsKLSAgICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAg
IGlmIChib3JkZXJCb3guY29udGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJm
bG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coYm9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZs
b3cuc2V0KG5ldyBSZW5kZXJPdmVyZmxvdyhjbGllbnRCb3hSZWN0KCksIGJvcmRlckJveCkpOwog
ICAgIAogICAgIG1fb3ZlcmZsb3ctPmFkZFZpc3VhbE92ZXJmbG93KHJlY3QpOwogfQpAQCAtMzIw
NSwyMCArMzE0Myw3NiBAQCBpbnQgUmVuZGVyQm94OjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNl
CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpibG9ja0RpcmVjdGlvbk92ZXJm
bG93KGJvb2wgaXNMaW5lSG9yaXpvbnRhbCwgaW50JiBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cs
IGludCYgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50JiBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCYgbG9n
aWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KQorSW50UmVjdCBSZW5kZXJCb3g6OmxvZ2ljYWxWaXN1
YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNv
bnN0CiB7Ci0gICAgaWYgKGlzTGluZUhvcml6b250YWwpIHsKLSAgICAgICAgbG9naWNhbFRvcExh
eW91dE92ZXJmbG93ID0gdG9wTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRv
bUxheW91dE92ZXJmbG93ID0gYm90dG9tTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNh
bFRvcFZpc3VhbE92ZXJmbG93ID0gdG9wVmlzdWFsT3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNh
bEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPSBsZWZ0TGF5b3V0T3ZlcmZs
b3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0gcmlnaHRMYXlvdXRP
dmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBsZWZ0VmlzdWFs
T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gcmlnaHRW
aXN1YWxPdmVyZmxvdygpOwotICAgIH0gCisgICAgSW50UmVjdCByZWN0ID0gdmlzdWFsT3ZlcmZs
b3dSZWN0Rm9yUHJvcGFnYXRpb24ocGFyZW50U3R5bGUpOworICAgIGlmICghcGFyZW50U3R5bGUt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiByZWN0LnRyYW5zcG9z
ZWRSZWN0KCk7CisgICAgcmV0dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojp2aXN1
YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNv
bnN0Cit7CisgICAgLy8gSWYgdGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJl
bnQgbWF0Y2gsIHRoZW4gd2UgZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5j
eS4gSnVzdCByZXR1cm4gdGhlIHJlc3VsdC4KKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxPdmVy
Zmxvd1JlY3QoKTsKKyAgICBpZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUo
KS0+d3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2Ug
YXJlIHB1dHRpbmcgb3Vyc2VsdmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2Uu
ICBJZiB0aGVyZSBpcyBhIGZsaXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRp
Y3VsYXIgYXhpcywgdGhlbiB3ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlz
LgorICAgIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01v
ZGUgfHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9k
ZSkKKyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2Ug
aWYgKHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBw
YXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAg
ICAgICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiBy
ZWN0OworfQorCitJbnRSZWN0IFJlbmRlckJveDo6bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKK3sKKyAgICBJbnRS
ZWN0IHJlY3QgPSBsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7
CisgICAgaWYgKCFwYXJlbnRTdHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAg
ICAgcmV0dXJuIHJlY3QudHJhbnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKwor
SW50UmVjdCBSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRl
clN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKK3sKKyAgICAvLyBPbmx5IHByb3BhZ2F0ZSBpbnRl
cmlvciBsYXlvdXQgb3ZlcmZsb3cgaWYgd2UgZG9uJ3QgY2xpcCBpdC4KKyAgICBJbnRSZWN0IHJl
Y3QgPSBib3JkZXJCb3hSZWN0KCk7CisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAg
ICAgcmVjdC51bml0ZShsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisKKyAgICBpZiAoaXNSZWxQb3Np
dGlvbmVkKCkgfHwgaGFzVHJhbnNmb3JtKCkpIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIHJlbGF0
aXZlbHkgcG9zaXRpb25lZCBvciBpZiB3ZSBoYXZlIGEgdHJhbnNmb3JtLCB0aGVuIHdlIGhhdmUg
dG8gY29udmVydAorICAgICAgICAvLyB0aGlzIHJlY3RhbmdsZSBpbnRvIHBoeXNpY2FsIGNvb3Jk
aW5hdGVzLCBhcHBseSByZWxhdGl2ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcworICAgICAg
ICAvLyB0byBpdCwgYW5kIHRoZW4gY29udmVydCBpdCBiYWNrLgorICAgICAgICBmbGlwRm9yV3Jp
dGluZ01vZGUocmVjdCk7CisgICAgICAgIAorICAgICAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCisg
ICAgICAgICAgICByZWN0ID0gbGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpLm1hcFJlY3QocmVj
dCk7CisKKyAgICAgICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgcmVjdC5t
b3ZlKHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCksIHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkp
OworICAgICAgICAKKyAgICAgICAgLy8gTm93IHdlIG5lZWQgdG8gZmxpcCBiYWNrLgorICAgICAg
ICBmbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7CisgICAgfQorICAgIAorICAgIC8vIElmIHRoZSB3
cml0aW5nIG1vZGVzIG9mIHRoZSBjaGlsZCBhbmQgcGFyZW50IG1hdGNoLCB0aGVuIHdlIGRvbid0
IGhhdmUgdG8gCisgICAgLy8gZG8gYW55dGhpbmcgZmFuY3kuIEp1c3QgcmV0dXJuIHRoZSByZXN1
bHQuCisgICAgaWYgKHBhcmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IHN0eWxlKCktPndyaXRp
bmdNb2RlKCkpCisgICAgICAgIHJldHVybiByZWN0OworICAgIAorICAgIC8vIFdlIGFyZSBwdXR0
aW5nIG91cnNlbHZlcyBpbnRvIG91ciBwYXJlbnQncyBjb29yZGluYXRlIHNwYWNlLiAgSWYgdGhl
cmUgaXMgYSBmbGlwcGVkIGJsb2NrIG1pc21hdGNoCisgICAgLy8gaW4gYSBwYXJ0aWN1bGFyIGF4
aXMsIHRoZW4gd2UgaGF2ZSB0byBmbGlwIHRoZSByZWN0IGFsb25nIHRoYXQgYXhpcy4KKyAgICBp
ZiAoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHBh
cmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpCisgICAg
ICAgIHJlY3Quc2V0WCh3aWR0aCgpIC0gcmVjdC5yaWdodCgpKTsKKyAgICBlbHNlIGlmIChzdHls
ZSgpLT53cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUgfHwgcGFyZW50U3R5
bGUtPndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSkKKyAgICAgICAgcmVj
dC5zZXRZKGhlaWdodCgpIC0gcmVjdC5ib3R0b20oKSk7CisKKyAgICByZXR1cm4gcmVjdDsKIH0K
IAogSW50UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgUmVuZGVyQm94
KiBjaGlsZCwgY29uc3QgSW50UG9pbnQmIHBvaW50LCBGbGlwcGluZ0FkanVzdG1lbnQgYWRqdXN0
bWVudCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3MzA4MSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTIg
KzEwNiwxMSBAQCBwdWJsaWM6CiAgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJldHVy
biBtX2ZyYW1lUmVjdDsgfQogICAgIHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmIHJl
Y3QpIHsgbV9mcmFtZVJlY3QgPSByZWN0OyB9CiAKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkRnJh
bWVSZWN0KCkgY29uc3Q7Ci0gICAgSW50UmVjdCBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KGNv
bnN0IEludFJlY3QmKSBjb25zdDsKLQogICAgIEludFJlY3QgYm9yZGVyQm94UmVjdCgpIGNvbnN0
IHsgcmV0dXJuIEludFJlY3QoMCwgMCwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9CiAgICAgdmlydHVh
bCBJbnRSZWN0IGJvcmRlckJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gYm9yZGVyQm94UmVj
dCgpOyB9IAogICAgIAorICAgIEludFJlY3QgY2xpZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IEludFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJUb3AoKSwgY2xpZW50V2lkdGgoKSwgY2xpZW50
SGVpZ2h0KCkpOyB9CisKICAgICAvLyBUaGUgY29udGVudCBhcmVhIG9mIHRoZSBib3ggKGV4Y2x1
ZGVzIHBhZGRpbmcgYW5kIGJvcmRlcikuCiAgICAgSW50UmVjdCBjb250ZW50Qm94UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIEludFJlY3QoYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYm9yZGVy
VG9wKCkgKyBwYWRkaW5nVG9wKCksIGNvbnRlbnRXaWR0aCgpLCBjb250ZW50SGVpZ2h0KCkpOyB9
CiAgICAgLy8gVGhlIGNvbnRlbnQgYm94IGluIGFic29sdXRlIGNvb3Jkcy4gSWdub3JlcyB0cmFu
c2Zvcm1zLgpAQCAtMTI4LDE3ICsxMjcsMTYgQEAgcHVibGljOgogICAgIFJlbmRlckJveCogbmV4
dFNpYmxpbmdCb3goKSBjb25zdDsKICAgICBSZW5kZXJCb3gqIHBhcmVudEJveCgpIGNvbnN0Owog
Ci0gICAgSW50UmVjdCB2aXNpYmxlT3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gaGFzT3Zl
cmZsb3dDbGlwKCkgPyB2aXN1YWxPdmVyZmxvd1JlY3QoKSA6IChtX292ZXJmbG93ID8gbV9vdmVy
Zmxvdy0+dmlzaWJsZU92ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpKTsgfQogICAgIGlu
dCB0b3BWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/
IHRvcFZpc3VhbE92ZXJmbG93KCkgOiBzdGQ6Om1pbih0b3BMYXlvdXRPdmVyZmxvdygpLCB0b3BW
aXN1YWxPdmVyZmxvdygpKTsgfQogICAgIGludCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiBz
dGQ6Om1heChib3R0b21MYXlvdXRPdmVyZmxvdygpLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKTsg
fQogICAgIGludCBsZWZ0VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZs
b3dDbGlwKCkgPyBsZWZ0VmlzdWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKGxlZnRMYXlvdXRPdmVy
ZmxvdygpLCBsZWZ0VmlzdWFsT3ZlcmZsb3coKSk7IH0KICAgICBpbnQgcmlnaHRWaXNpYmxlT3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHJpZ2h0VmlzdWFsT3Zl
cmZsb3coKSA6ICBzdGQ6Om1heChyaWdodExheW91dE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3Zl
cmZsb3coKSk7IH0KIAotICAgIEludFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgpIDogYm9y
ZGVyQm94UmVjdCgpOyB9Ci0gICAgaW50IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gbV9vdmVyZmxvdz8gbV9vdmVyZmxvdy0+dG9wTGF5b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAg
ICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8g
bV9vdmVyZmxvdy0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6IGhlaWdodCgpOyB9Ci0gICAgaW50
IGxlZnRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgcmlnaHRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91
dE92ZXJmbG93KCkgOiB3aWR0aCgpOyB9CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3Qo
KSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dS
ZWN0KCkgOiBjbGllbnRCb3hSZWN0KCk7IH0KKyAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygp
IDogYm9yZGVyVG9wKCk7IH0KKyAgICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7
IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6
IGJvcmRlclRvcCgpICsgY2xpZW50SGVpZ2h0KCk7IH0KKyAgICBpbnQgbGVmdExheW91dE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRP
dmVyZmxvdygpIDogYm9yZGVyTGVmdCgpOyB9CisgICAgaW50IHJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+cmlnaHRMYXlvdXRPdmVy
ZmxvdygpIDogYm9yZGVyTGVmdCgpICsgY2xpZW50V2lkdGgoKTsgfQogICAgIGludCBsb2dpY2Fs
TGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IGxlZnRMYXlvdXRPdmVyZmxvdygpIDogdG9wTGF5b3V0T3ZlcmZsb3co
KTsgfQogICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByaWdodExheW91dE92ZXJmbG93
KCkgOiBib3R0b21MYXlvdXRPdmVyZmxvdygpOyB9CiAgICAgCkBAIC0yNzAsMTIgKzI2OCw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldElubGluZUJveFdyYXBwZXIoSW5saW5lQm94KiBib3hXcmFw
cGVyKSB7IG1faW5saW5lQm94V3JhcHBlciA9IGJveFdyYXBwZXI7IH0KICAgICB2b2lkIGRlbGV0
ZUxpbmVCb3hXcmFwcGVyKCk7CiAKLSAgICBlbnVtIEFwcGx5VHJhbnNmb3JtIHsgSW5jbHVkZVRy
YW5zZm9ybSwgRXhjbHVkZVRyYW5zZm9ybSB9OwotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2Vs
ZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAg
dmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9
IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCAgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRl
VHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29s
IGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUs
IEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBp
bnQgbGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwg
Ym9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9y
bSkgY29uc3Q7Ci0KICAgICB2aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJl
cGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHZpcnR1
YWwgdm9pZCBjb21wdXRlUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIEludFJlY3QmLCBib29sIGZpeGVkID0gZmFsc2UpOwogCkBAIC0zOTAsNiAr
MzgyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0Jikg
Y29uc3Q7CiAgICAgSW50U2l6ZSBsb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29u
c3Q7CiAKKyAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlv
bihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9y
UHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlv
dXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIElu
dFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25z
dDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgJKHJl
dmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgaW50IHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRYKCkgY29uc3Q7CiAgICAgaW50IHJlbGF0aXZlUG9zaXRpb25PZmZz
ZXRZKCkgY29uc3Q7CiAgICAgSW50U2l6ZSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gSW50U2l6ZShyZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpLCByZWxhdGl2ZVBvc2l0
aW9uT2Zmc2V0WSgpKTsgfQorICAgIEludFNpemUgcmVsYXRpdmVQb3NpdGlvbkxvZ2ljYWxPZmZz
ZXQoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpIDogcmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpLnRyYW5z
cG9zZWRTaXplKCk7IH0KIAogICAgIC8vIElFIGV4dGVuc2lvbnMuIFVzZWQgdG8gY2FsY3VsYXRl
IG9mZnNldFdpZHRoL0hlaWdodC4gIE92ZXJyaWRkZW4gYnkgaW5saW5lcyAoUmVuZGVyRmxvdykK
ICAgICAvLyB0byByZXR1cm4gdGhlIHJlbWFpbmluZyB3aWR0aCBvbiBhIGdpdmVuIGxpbmUgKGFu
ZCB0aGUgaGVpZ2h0IG9mIGEgc2luZ2xlIGxpbmUpLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklu
bGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3OSw3ICs1NzksNyBAQCBJbnRSZWN0IFJlbmRl
cklubGluZTo6bGluZXNCb3VuZGluZ0JveCgpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotSW50
UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzaWJsZU92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25z
dAorSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgp
IGNvbnN0CiB7CiAgICAgaWYgKCFmaXJzdExpbmVCb3goKSB8fCAhbGFzdExpbmVCb3goKSkKICAg
ICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTU4OCwxNiArNTg4LDE2IEBAIEludFJlY3QgUmVu
ZGVySW5saW5lOjpsaW5lc1Zpc2libGVPdmVyZmwKICAgICBpbnQgbG9naWNhbExlZnRTaWRlID0g
bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CiAgICAgaW50IGxvZ2ljYWxSaWdodFNpZGUgPSBu
dW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIg
PSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKLSAg
ICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNh
bExlZnRWaXNpYmxlT3ZlcmZsb3coKSk7Ci0gICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgo
bG9naWNhbFJpZ2h0U2lkZSwgY3Vyci0+bG9naWNhbFJpZ2h0VmlzaWJsZU92ZXJmbG93KCkpOwor
ICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dp
Y2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4
KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOwog
ICAgIH0KIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgaW50IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2Fs
TGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bGVmdFZpc2libGVPdmVyZmxvdygpOwotICAgIGlu
dCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPnRvcFZpc2libGVPdmVyZmxvdygp
IDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2lj
YWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5yaWdodFZpc2li
bGVPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPmxlZnRWaXNpYmxlT3ZlcmZsb3coKTsKLSAg
ICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+Ym90dG9tVmlzaWJs
ZU92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+dG9wVmlzaWJsZU92ZXJmbG93KCkgOiBsb2dp
Y2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgIGludCB4ID0gaXNIb3Jpem9udGFs
ID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPmxlZnRWaXN1YWxPdmVyZmxvdygp
OworICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPnRvcFZpc3VhbE92
ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFs
ID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPnJp
Z2h0VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5sZWZ0VmlzdWFsT3ZlcmZsb3co
KTsKKyAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+Ym90dG9t
VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT50b3BWaXN1YWxPdmVyZmxvdygpIDog
bG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKICAgICByZXR1cm4gSW50UmVjdCh4
LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIH0KIApAQCAtNjEwLDcgKzYxMCw3IEBAIEludFJlY3QgUmVu
ZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWMKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsK
IAogICAgIC8vIEZpbmQgb3VyIGxlZnRtb3N0IHBvc2l0aW9uLgotICAgIEludFJlY3QgYm91bmRp
bmdCb3gobGluZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpKTsKKyAgICBJbnRSZWN0IGJv
dW5kaW5nQm94KGxpbmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpKTsKICAgICBpbnQgbGVm
dCA9IGJvdW5kaW5nQm94LngoKTsKICAgICBpbnQgdG9wID0gYm91bmRpbmdCb3gueSgpOwogCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRTaXplIG9mZnNldEZyb21Db250YWluZXIoUmVuZGVy
T2JqZWN0KiwgY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAogICAgIEludFJlY3QgbGluZXNCb3Vu
ZGluZ0JveCgpIGNvbnN0OwotICAgIEludFJlY3QgbGluZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGlu
Z0JveCgpIGNvbnN0OworICAgIEludFJlY3QgbGluZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94
KCkgY29uc3Q7CiAKICAgICBJbmxpbmVGbG93Qm94KiBjcmVhdGVBbmRBcHBlbmRJbmxpbmVGbG93
Qm94KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDczMDgx
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NzYsMTQgKzY3Niw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24o
KQogICAgIH0gZWxzZSBpZiAoUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKSkgewogICAgICAg
ICBzZXRXaWR0aChib3gtPndpZHRoKCkpOwogICAgICAgICBzZXRIZWlnaHQoYm94LT5oZWlnaHQo
KSk7Ci0KLSAgICAgICAgaWYgKCFib3gtPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgICAg
ICBpZiAoYm94LT5yaWdodExheW91dE92ZXJmbG93KCkgPiBib3gtPndpZHRoKCkpCi0gICAgICAg
ICAgICAgICAgc2V0V2lkdGgoYm94LT5yaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAg
ICAgaWYgKGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA+IGJveC0+aGVpZ2h0KCkpCi0gICAg
ICAgICAgICAgICAgc2V0SGVpZ2h0KGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAg
ICAgIH0KLSAgICAgICAgCiAgICAgICAgIGxvY2FsUG9pbnQgKz0gYm94LT5sb2NhdGlvbk9mZnNl
dEluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgfQogCkBAIC0xOTY2LDYgKzE5NTgsMzkgQEAgaW50
IFJlbmRlckxheWVyOjpzY3JvbGxIZWlnaHQoKQogICAgIHJldHVybiBtX3Njcm9sbEhlaWdodDsK
IH0KIAoraW50IFJlbmRlckxheWVyOjpvdmVyZmxvd1RvcCgpIGNvbnN0Cit7CisgICAgLy8gQ2xp
cCBvdXQgdG9wIG92ZXJmbG93IGluIHZlcnRpY2FsIExUUiBwYWdlcyBvciBob3Jpem9udGFsLXRi
IHBhZ2VzLgorICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBv
dmVyZmxvd1JlY3QoMCwgYm94LT50b3BMYXlvdXRPdmVyZmxvdygpLCAwLCBib3gtPmJvdHRvbUxh
eW91dE92ZXJmbG93KCkgLSBib3gtPnRvcExheW91dE92ZXJmbG93KCkpOworICAgIGJveC0+Zmxp
cEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC55
KCk7Cit9CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dCb3R0b20oKSBjb25zdAoreworICAg
IFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3Qo
Ym94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUo
b3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LmJvdHRvbSgpOworfQorCitp
bnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93TGVmdCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBi
b3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91dE92
ZXJmbG93UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3Qp
OworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOworfQorCitpbnQgUmVuZGVyTGF5ZXI6Om92
ZXJmbG93UmlnaHQoKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7
CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7Cisg
ICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3Zl
cmZsb3dSZWN0LnJpZ2h0KCk7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxE
aW1lbnNpb25zKGJvb2wqIG5lZWRIQmFyLCBib29sKiBuZWVkVkJhcikKIHsKICAgICBSZW5kZXJC
b3gqIGJveCA9IHJlbmRlckJveCgpOwpAQCAtMTk3OSwxNCArMjAwNCwxNCBAQCB2b2lkIFJlbmRl
ckxheWVyOjpjb21wdXRlU2Nyb2xsRGltZW5zaW9uCiAgICAgYm9vbCBoYXNMZWZ0T3ZlcmZsb3cg
PSAoIWJveC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSB8fCAhYm94LT5zdHls
ZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpICYmIGJveC0+c3R5bGUoKS0+d3JpdGluZ01v
ZGUoKSAhPSBMZWZ0VG9SaWdodFdyaXRpbmdNb2RlOwogICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cg
PSAoYm94LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxl
KCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgJiYgYm94LT5zdHlsZSgpLT53cml0aW5nTW9k
ZSgpICE9IFRvcFRvQm90dG9tV3JpdGluZ01vZGU7CiAKLSAgICBtX3Njcm9sbExlZnRPdmVyZmxv
dyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDogbWluKDAsIGJveC0+bGVmdG1vc3RQb3NpdGlvbih0
cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxlZnQoKSk7Ci0gICAgbV9zY3JvbGxUb3BPdmVyZmxv
dyA9ICFoYXNUb3BPdmVyZmxvdyA/IDAgOiBtaW4oMCwgYm94LT50b3Btb3N0UG9zaXRpb24odHJ1
ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJUb3AoKSk7CisgICAgbV9zY3JvbGxMZWZ0T3ZlcmZsb3cg
PSAhaGFzTGVmdE92ZXJmbG93ID8gMCA6IG1pbigwLCBvdmVyZmxvd0xlZnQoKSAtIGJveC0+Ym9y
ZGVyTGVmdCgpKTsKKyAgICBtX3Njcm9sbFRvcE92ZXJmbG93ID0gIWhhc1RvcE92ZXJmbG93ID8g
MCA6IG1pbigwLCBvdmVyZmxvd1RvcCgpIC0gYm94LT5ib3JkZXJUb3AoKSk7CiAKICAgICBpbnQg
cmlnaHRQb3MgPSAhaGFzTGVmdE92ZXJmbG93ID8KLSAgICAgICAgICAgICAgICAgICAgYm94LT5y
aWdodG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxlZnQoKSA6CisgICAg
ICAgICAgICAgICAgICAgIG92ZXJmbG93UmlnaHQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpIDoKICAg
ICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBtX3Njcm9sbExlZnRPdmVyZmxvdzsKICAg
ICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93ID8KLSAgICAgICAgICAgICAgICAgICAg
Ym94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlclRvcCgpIDoKKyAg
ICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dCb3R0b20oKSAtIGJveC0+Ym9yZGVyVG9wKCkgOgog
ICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQgLSBtX3Njcm9sbFRvcE92ZXJmbG93Owog
CiAgICAgbV9zY3JvbGxXaWR0aCA9IG1heChyaWdodFBvcywgY2xpZW50V2lkdGgpOwpAQCAtMjMy
NCwxMiArMjM0OSwxMyBAQCBzdGF0aWMgdm9pZCByZXN0b3JlQ2xpcChHcmFwaGljc0NvbnRleHQq
CiAgICAgcC0+cmVzdG9yZSgpOwogfQogCi1zdGF0aWMgdm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3Rz
KE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRlc3RSZXF1ZXN0cywgY29uc3QgSW50UmVj
dCYgbGF5ZXJCb3VuZHMpCitzdGF0aWMgdm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBU
ZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRlc3RSZXF1ZXN0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJv
b3RMYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKQogewogICAgIFZlY3RvcjxPdmVybGFw
VGVzdFJlcXVlc3RDbGllbnQqPiBvdmVybGFwcGVkUmVxdWVzdENsaWVudHM7CiAgICAgT3Zlcmxh
cFRlc3RSZXF1ZXN0TWFwOjppdGVyYXRvciBlbmQgPSBvdmVybGFwVGVzdFJlcXVlc3RzLmVuZCgp
OworICAgIEludFJlY3QgYm91bmRpbmdCb3ggPSBsYXllci0+Ym91bmRpbmdCb3gocm9vdExheWVy
KTsKICAgICBmb3IgKE92ZXJsYXBUZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgaXQgPSBvdmVybGFw
VGVzdFJlcXVlc3RzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWxh
eWVyQm91bmRzLmludGVyc2VjdHMoaXQtPnNlY29uZCkpCisgICAgICAgIGlmICghYm91bmRpbmdC
b3guaW50ZXJzZWN0cyhpdC0+c2Vjb25kKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
ICAgIGl0LT5maXJzdC0+c2V0T3ZlcmxhcFRlc3RSZXN1bHQodHJ1ZSk7CkBAIC0yNDU2LDcgKzI0
ODIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyKFJlbmRlckxheWVyCiAgICAgICAg
IHBhaW50aW5nUm9vdEZvclJlbmRlcmVyID0gcGFpbnRpbmdSb290OwogCiAgICAgaWYgKG92ZXJs
YXBUZXN0UmVxdWVzdHMgJiYgaXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICBwZXJmb3Jt
T3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3RzLCBsYXllckJvdW5kcyk7CisgICAgICAg
IHBlcmZvcm1PdmVybGFwVGVzdHMoKm92ZXJsYXBUZXN0UmVxdWVzdHMsIHJvb3RMYXllciwgdGhp
cyk7CiAKICAgICAvLyBXZSB3YW50IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkgaWYgd2Ug
aW50ZXJzZWN0IHRoZSBkYW1hZ2UgcmVjdC4KICAgICBib29sIHNob3VsZFBhaW50ID0gaW50ZXJz
ZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIHJvb3RMYXllcikgJiYgbV9o
YXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGluZ0xheWVyKCk7CkBAIC0yNjY1LDExICsy
NjkxLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3QoY29uc3QgSGl0VGVzdFIKIHsKICAg
ICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXQoKTsKICAgICAKLSAgICBJbnRS
ZWN0IGJvdW5kc1JlY3QobV94LCBtX3ksIHdpZHRoKCksIGhlaWdodCgpKTsKKyAgICBJbnRSZWN0
IGhpdFRlc3RBcmVhID0gcmVzdWx0LnJlY3RGb3JQb2ludChyZXN1bHQucG9pbnQoKSk7CiAgICAg
aWYgKCFyZXF1ZXN0Lmlnbm9yZUNsaXBwaW5nKCkpCi0gICAgICAgIGJvdW5kc1JlY3QuaW50ZXJz
ZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOworICAgICAgICBoaXRUZXN0QXJlYS5p
bnRlcnNlY3QoZnJhbWVWaXNpYmxlUmVjdChyZW5kZXJlcigpKSk7CiAKLSAgICBSZW5kZXJMYXll
ciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhpcywgMCwgcmVxdWVzdCwgcmVzdWx0LCBi
b3VuZHNSZWN0LCByZXN1bHQucG9pbnQoKSwgZmFsc2UpOworICAgIFJlbmRlckxheWVyKiBpbnNp
ZGVMYXllciA9IGhpdFRlc3RMYXllcih0aGlzLCAwLCByZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RB
cmVhLCByZXN1bHQucG9pbnQoKSwgZmFsc2UpOwogICAgIGlmICghaW5zaWRlTGF5ZXIpIHsKICAg
ICAgICAgLy8gV2UgZGlkbid0IGhpdCBhbnkgbGF5ZXIuIElmIHdlIGFyZSB0aGUgcm9vdCBsYXll
ciBhbmQgdGhlIG1vdXNlIGlzIC0tIG9yIGp1c3Qgd2FzIC0tIGRvd24sIAogICAgICAgICAvLyBy
ZXR1cm4gb3Vyc2VsdmVzLiBXZSBkbyB0aGlzIHNvIG1vdXNlIGV2ZW50cyBjb250aW51ZSBnZXR0
aW5nIGRlbGl2ZXJlZCBhZnRlciBhIGRyYWcgaGFzIApAQCAtMzM3NSw4ICszNDAxLDggQEAgSW50
UmVjdCBSZW5kZXJMYXllcjo6bG9jYWxCb3VuZGluZ0JveCgpIAogICAgICAgICBJbmxpbmVGbG93
Qm94KiBmaXJzdEJveCA9IGlubGluZUZsb3ctPmZpcnN0TGluZUJveCgpOwogICAgICAgICBpZiAo
IWZpcnN0Qm94KQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgaW50IHRvcCA9
IGZpcnN0Qm94LT50b3BWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGlu
bGluZUZsb3ctPmxhc3RMaW5lQm94KCktPmJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgICAg
ICBpbnQgdG9wID0gZmlyc3RCb3gtPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgIGludCBi
b3R0b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgpLT5ib3R0b21WaXN1YWxPdmVyZmxvdygp
OwogICAgICAgICBpbnQgbGVmdCA9IGZpcnN0Qm94LT54KCk7CiAgICAgICAgIGZvciAoSW5saW5l
Rmxvd0JveCogY3VyciA9IGZpcnN0Qm94LT5uZXh0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vy
ci0+bmV4dExpbmVCb3goKSkKICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgY3Vyci0+eCgp
KTsKQEAgLTMzODcsNyArMzQxMyw3IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRp
bmdCb3goKSAKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNUYWJsZUNlbGwoKSkgewogICAgICAg
ICAgICAgICAgIEludFJlY3QgYmJveCA9IHRvUmVuZGVyQm94KGNoaWxkKS0+Ym9yZGVyQm94UmVj
dCgpOwogICAgICAgICAgICAgICAgIHJlc3VsdC51bml0ZShiYm94KTsKLSAgICAgICAgICAgICAg
ICBJbnRSZWN0IG92ZXJmbG93UmVjdCA9IHJlbmRlckJveCgpLT52aXNpYmxlT3ZlcmZsb3dSZWN0
KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSByZW5kZXJCb3goKS0+
dmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgICAgICAgICAgaWYgKGJib3ggIT0gb3ZlcmZs
b3dSZWN0KQogICAgICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsK
ICAgICAgICAgICAgIH0KQEAgLTM0MDAsNyArMzQyNiw3IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6
OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBJbnRSZWN0
IGJib3ggPSBib3gtPmJvcmRlckJveFJlY3QoKTsKICAgICAgICAgICAgIHJlc3VsdCA9IGJib3g7
Ci0gICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCA9IGJveC0+dmlzaWJsZU92ZXJmbG93
UmVjdCgpOworICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSBib3gtPnZpc3VhbE92
ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgaWYgKGJib3ggIT0gb3ZlcmZsb3dSZWN0KQogICAg
ICAgICAgICAgICAgIHJlc3VsdC51bml0ZShvdmVyZmxvd1JlY3QpOwogICAgICAgICB9CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgxLDYgKzU4MSwxMSBAQCBw
cml2YXRlOgogICAgIC8vIE9ubHkgc2FmZSB0byBjYWxsIGZyb20gUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OmRlc3Ryb3lMYXllcihSZW5kZXJBcmVuYSopCiAgICAgdm9pZCBkZXN0cm95KFJlbmRlckFy
ZW5hKik7CiAKKyAgICBpbnQgb3ZlcmZsb3dUb3AoKSBjb25zdDsKKyAgICBpbnQgb3ZlcmZsb3dC
b3R0b20oKSBjb25zdDsKKyAgICBpbnQgb3ZlcmZsb3dMZWZ0KCkgY29uc3Q7CisgICAgaW50IG92
ZXJmbG93UmlnaHQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiBtX3JlbmRlcmVyOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExp
c3QuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVC
b3hMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2LDEwICsxNzYsMTAgQEAgYm9vbCBSZW5k
ZXJMaW5lQm94TGlzdDo6YW55TGluZUludGVyc2VjdAogICAgIC8vIGludGVyc2VjdC4gIFRoaXMg
aXMgYSBxdWljayBzaG9ydC1jaXJjdWl0IHRoYXQgd2UgY2FuIHRha2UgdG8gYXZvaWQgd2Fsa2lu
ZyBhbnkgbGluZXMuCiAgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgaXMgZmxhd2VkIGluIHRoZSBm
b2xsb3dpbmcgZXh0cmVtZWx5IG9ic2N1cmUgd2F5OgogICAgIC8vIGlmIHNvbWUgbGluZSBpbiB0
aGUgbWlkZGxlIGhhcyBhIGh1Z2Ugb3ZlcmZsb3csIGl0IG1pZ2h0IGFjdHVhbGx5IGV4dGVuZCBi
ZWxvdyB0aGUgbGFzdCBsaW5lLgotICAgIGludCBmaXJzdExpbmVUb3AgPSBmaXJzdExpbmVCb3go
KS0+bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpOworICAgIGludCBmaXJzdExpbmVUb3AgPSBm
aXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYgKHVzZVBy
aW50UmVjdCAmJiAhZmlyc3RMaW5lQm94KCktPnBhcmVudCgpKQogICAgICAgICBmaXJzdExpbmVU
b3AgPSBtaW4oZmlyc3RMaW5lVG9wLCBmaXJzdExpbmVCb3goKS0+cm9vdCgpLT5saW5lVG9wKCkp
OwotICAgIGludCBsYXN0TGluZUJvdHRvbSA9IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b21W
aXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQgbGFzdExpbmVCb3R0b20gPSBsYXN0TGluZUJveCgp
LT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKICAgICBpZiAodXNlUHJpbnRSZWN0ICYm
ICFsYXN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAgICAgICAgbGFzdExpbmVCb3R0b20gPSBtYXgo
bGFzdExpbmVCb3R0b20sIGxhc3RMaW5lQm94KCktPnJvb3QoKS0+bGluZUJvdHRvbSgpKTsKICAg
ICBpbnQgbG9naWNhbFRvcCA9IGZpcnN0TGluZVRvcCAtIG91dGxpbmVTaXplOwpAQCAtMTkwLDgg
KzE5MCw4IEBAIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNlY3QKIAogYm9v
bCBSZW5kZXJMaW5lQm94TGlzdDo6bGluZUludGVyc2VjdHNEaXJ0eVJlY3QoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlbmRlcmVyLCBJbmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkgY29uc3QKIHsKLSAgICBpbnQgbG9naWNhbFRvcCA9
IG1pbihib3gtPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKSwgYm94LT5yb290KCktPnNlbGVj
dGlvblRvcCgpKSAtIHJlbmRlcmVyLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNl
KTsKLSAgICBpbnQgbG9naWNhbEJvdHRvbSA9IGJveC0+bG9naWNhbEJvdHRvbVZpc2libGVPdmVy
ZmxvdygpICsgcmVuZGVyZXItPm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOwor
ICAgIGludCBsb2dpY2FsVG9wID0gbWluKGJveC0+bG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCks
IGJveC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKSkgLSByZW5kZXJlci0+bWF4aW1hbE91dGxpbmVT
aXplKHBhaW50SW5mby5waGFzZSk7CisgICAgaW50IGxvZ2ljYWxCb3R0b20gPSBib3gtPmxvZ2lj
YWxCb3R0b21WaXN1YWxPdmVyZmxvdygpICsgcmVuZGVyZXItPm1heGltYWxPdXRsaW5lU2l6ZShw
YWludEluZm8ucGhhc2UpOwogICAgIAogICAgIHJldHVybiByYW5nZUludGVyc2VjdHNSZWN0KHJl
bmRlcmVyLCBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tLCBwYWludEluZm8ucmVjdCwgdHgsIHR5
KTsKIH0KQEAgLTIzMCw4ICsyMzAsOCBAQCB2b2lkIFJlbmRlckxpbmVCb3hMaXN0OjpwYWludChS
ZW5kZXJCb3hNCiAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyB0aGUgZGVwcmVjYXRlZCBw
YWdpbmF0aW9uIG1vZGVsIHRoYXQgaXMgc3RpbGwgbmVlZGVkCiAgICAgICAgICAgICAvLyBmb3Ig
ZW1iZWRkZWQgdmlld3MgaW5zaWRlIEFwcEtpdC4gIEFwcEtpdCBpcyBpbmNhcGFibGUgb2YgcGFn
aW5hdGluZyB2ZXJ0aWNhbAogICAgICAgICAgICAgLy8gdGV4dCBwYWdlcywgc28gd2UgZG9uJ3Qg
aGF2ZSB0byBkZWFsIHdpdGggdmVydGljYWwgbGluZXMgYXQgYWxsIGhlcmUuCi0gICAgICAgICAg
ICBpbnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+dG9wVmlzaWJsZU92ZXJmbG93KCk7
Ci0gICAgICAgICAgICBpbnQgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+Ym90dG9t
VmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgICAgICBpbnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNr
ID0gY3Vyci0+dG9wVmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBib3R0b21Gb3JQ
YWdpbmF0aW9uQ2hlY2sgPSBjdXJyLT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOwogICAgICAgICAg
ICAgaWYgKCFjdXJyLT5wYXJlbnQoKSkgewogICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGEgcm9v
dCBib3guICBVc2UgbGluZVRvcCBhbmQgbGluZUJvdHRvbSBhcyB3ZWxsIGhlcmUuCiAgICAgICAg
ICAgICAgICAgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gbWluKHRvcEZvclBhZ2luYXRpb25DaGVj
aywgY3Vyci0+cm9vdCgpLT5saW5lVG9wKCkpOwpAQCAtMjQwLDcgKzI0MCw3IEBAIHZvaWQgUmVu
ZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRlckJveE0KICAgICAgICAgICAgIGlmIChib3R0b21G
b3JQYWdpbmF0aW9uQ2hlY2sgLSB0b3BGb3JQYWdpbmF0aW9uQ2hlY2sgPD0gdi0+cHJpbnRSZWN0
KCkuaGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICBpZiAodHkgKyBib3R0b21Gb3JQYWdpbmF0
aW9uQ2hlY2sgPiB2LT5wcmludFJlY3QoKS5ib3R0b20oKSkgewogICAgICAgICAgICAgICAgICAg
ICBpZiAoUm9vdElubGluZUJveCogbmV4dFJvb3RCb3ggPSBjdXJyLT5yb290KCktPm5leHRSb290
Qm94KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sg
PSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBtaW4obmV4dFJvb3RCb3gtPnRvcFZpc2li
bGVPdmVyZmxvdygpLCBuZXh0Um9vdEJveC0+bGluZVRvcCgpKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBtaW4oYm90dG9tRm9yUGFnaW5hdGlv
bkNoZWNrLCBtaW4obmV4dFJvb3RCb3gtPnRvcFZpc3VhbE92ZXJmbG93KCksIG5leHRSb290Qm94
LT5saW5lVG9wKCkpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKHR5
ICsgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID4gdi0+cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHR5ICsgdG9wRm9yUGFnaW5hdGlvbkNoZWNrIDwgdi0+
dHJ1bmNhdGVkQXQoKSkKQEAgLTI5Miw3ICsyOTIsNyBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0
OjpoaXRUZXN0KFJlbmRlckJvCiAgICAgLy8gdGhlbSBmdXJ0aGVyLiAgTm90ZSB0aGF0IGJveGVz
IGNhbiBlYXNpbHkgb3ZlcmxhcCwgc28gd2UgY2FuJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMKICAg
ICAvLyBiYXNlZCBvZmYgcG9zaXRpb25zIG9mIG91ciBmaXJzdCBsaW5lIGJveCBvciBvdXIgbGFz
dCBsaW5lIGJveC4KICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBsYXN0TGluZUJveCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+cHJldkxpbmVCb3goKSkgewotICAgICAgICBpZiAocmFuZ2VJ
bnRlcnNlY3RzUmVjdChyZW5kZXJlciwgY3Vyci0+bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygp
LCBjdXJyLT5sb2dpY2FsQm90dG9tVmlzaWJsZU92ZXJmbG93KCksIHJlY3QsIHR4LCB0eSkpIHsK
KyAgICAgICAgaWYgKHJhbmdlSW50ZXJzZWN0c1JlY3QocmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxU
b3BWaXN1YWxPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSwg
cmVjdCwgdHgsIHR5KSkgewogICAgICAgICAgICAgYm9vbCBpbnNpZGUgPSBjdXJyLT5ub2RlQXRQ
b2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHksIHR4LCB0eSk7CiAgICAgICAgICAgICBpZiAoaW5z
aWRlKSB7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXItPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVz
dWx0LCBJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEl0ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RJdGVtLmNwcAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0SXRlbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NywyMCArMjU3LDMxIEBAIHZvaWQg
UmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtlcigKICAgICAgICAgYm9vbCBhZGp1c3RP
dmVyZmxvdyA9IGZhbHNlOwogICAgICAgICBpbnQgbWFya2VyTG9naWNhbExlZnQ7CiAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5yb290
KCk7CisgICAgICAgIGJvb2wgaGl0U2VsZlBhaW50aW5nTGF5ZXIgPSBmYWxzZTsKIAotICAgICAg
ICAvLyBGSVhNRTogSW5saW5lIGZsb3dzIGluIHRoZSBsaW5lIGJveCBoaWVyYXJjaHkgdGhhdCBo
YXZlIHNlbGYtcGFpbnRpbmcgbGF5ZXJzIHNob3VsZCBhY3QgYXMgY3V0b2ZmIHBvaW50cwotICAg
ICAgICAvLyBhbmQgcmVhbGx5IHNob3VsZG4ndCBrZWVwIHByb3BhZ2F0aW5nIG92ZXJmbG93IHVw
LiAgVGhpcyB3b24ndCByZWFsbHkgYnJlYWsgYW55dGhpbmcgb3RoZXIgdGhhbiByZXBhaW50aW5n
Ci0gICAgICAgIC8vIG5vdCBiZWluZyBhcyB0aWdodCBhcyBpdCBjb3VsZCBiZSB0aG91Z2guCisg
ICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGFjY291bnQgZm9yIHJlbGF0aXZlIHBvc2l0aW9uaW5n
IGluIHRoZSBsYXlvdXQgb3ZlcmZsb3cuCiAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgIGludCBsZWZ0TGluZU9mZnNldCA9IGxvZ2lj
YWxMZWZ0T2Zmc2V0Rm9yTGluZShibG9ja09mZnNldCwgbG9naWNhbExlZnRPZmZzZXRGb3JMaW5l
KGJsb2NrT2Zmc2V0LCBmYWxzZSksIGZhbHNlKTsKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxM
ZWZ0ID0gbGVmdExpbmVPZmZzZXQgLSBsaW5lT2Zmc2V0IC0gcGFkZGluZ1N0YXJ0KCkgLSBib3Jk
ZXJTdGFydCgpICsgbV9tYXJrZXItPm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICBtX21hcmtl
ci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24obWFya2Vy
TG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVmdCk7CiAgICAgICAgICAgICBmb3IgKElu
bGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPnBhcmVudCgp
OyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAobWFya2Vy
TG9naWNhbExlZnQgPCBib3gtPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSkgewotICAgICAg
ICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKG1h
cmtlckxvZ2ljYWxMZWZ0LCBib3gtPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCksIGJveC0+
bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gtPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAg
IEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbExheW91
dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8
IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QueCgpICYmICFoaXRTZWxmUGFpbnRpbmdMYXll
cikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNl
dFgobWFya2VyTG9naWNhbExlZnQpOworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVmlz
dWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3co
KSAtIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QueCgpKTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKGJveCA9PSByb290KQogICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZs
b3cgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAobWFya2Vy
TG9naWNhbExlZnQgPCBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LngoKSkgeworICAgICAg
ICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnNldFgobWFya2VyTG9n
aWNhbExlZnQpOworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dS
ZWN0LnNldFdpZHRoKGJveC0+bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIG5ld0xvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3QueCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9
PSByb290KQorICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib3gtPnNldE92ZXJmbG93RnJvbUxv
Z2ljYWxSZWN0cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LCBuZXdMb2dpY2FsVmlzdWFs
T3ZlcmZsb3dSZWN0LCByb290LT5saW5lVG9wKCksIHJvb3QtPmxpbmVCb3R0b20oKSk7CisgICAg
ICAgICAgICAgICAgaWYgKGJveC0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0U2VsZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbWFya2VyTG9naWNh
bExlZnQgPSBtX21hcmtlci0+bG9naWNhbExlZnQoKSArIHBhZGRpbmdTdGFydCgpICsgYm9yZGVy
U3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5FbmQoKTsKQEAgLTI3OCwxMSArMjg5LDIyIEBAIHZv
aWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtlcigKICAgICAgICAgICAgIG1hcmtl
ckxvZ2ljYWxMZWZ0ID0gcmlnaHRMaW5lT2Zmc2V0IC0gbGluZU9mZnNldCArIHBhZGRpbmdTdGFy
dCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5FbmQoKTsKICAgICAgICAgICAg
IG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPmFkanVzdExpbmVEaXJlY3Rpb25Qb3NpdGlv
bihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExvZ2ljYWxMZWZ0KTsKICAgICAgICAgICAg
IGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9tYXJrZXItPmlubGluZUJveFdyYXBwZXIoKS0+
cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJlbnQoKSkgewotICAgICAgICAgICAgICAgIGlm
IChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IGJveC0+bG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkgewotICAgICAgICAgICAgICAgICAgICBib3gtPnNl
dElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGJveC0+bG9naWNhbExlZnRMYXlvdXRP
dmVyZmxvdygpLCBtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSwg
Ym94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCksIGJveC0+bG9naWNhbFJpZ2h0VmlzdWFs
T3ZlcmZsb3coKSk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAg
ICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2Fs
TGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgaWYgKG1hcmtlckxvZ2ljYWxM
ZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpID4gbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdC5yaWdodCgpICYmICFoaXRTZWxmUGFpbnRpbmdMYXllcikgeworICAgICAgICAgICAgICAg
ICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxM
ZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpIC0gYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dp
Y2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QucmlnaHQoKSkgeworICAg
ICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnNldFdpZHRoKG1h
cmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpIC0gYm94LT5sb2dpY2Fs
TGVmdExheW91dE92ZXJmbG93KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJv
b3QpCisgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJveC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNh
bFJlY3RzKG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVy
Zmxvd1JlY3QsIHJvb3QtPmxpbmVUb3AoKSwgcm9vdC0+bGluZUJvdHRvbSgpKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoYm94LT5ib3hNb2RlbE9iamVjdCgpLT5oYXNT
ZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgICAgICBoaXRTZWxmUGFpbnRpbmdM
YXllciA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMjkxLDEyICszMTMs
MjQgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25MaXN0TWFya2VyKAogICAgICAgICAg
ICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAg
ICAgIG1hcmtlclJlY3QgPSBtYXJrZXJSZWN0LnRyYW5zcG9zZWRSZWN0KCk7CiAgICAgICAgICAg
ICBSZW5kZXJCb3gqIG8gPSBtX21hcmtlcjsKKyAgICAgICAgICAgIGJvb2wgcHJvcGFnYXRlVmlz
dWFsT3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAgYm9vbCBwcm9wYWdhdGVMYXlvdXRPdmVy
ZmxvdyA9IHRydWU7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgbyA9IG8tPnBh
cmVudEJveCgpOwotICAgICAgICAgICAgICAgIGlmIChvLT5pc1JlbmRlckJsb2NrKCkpCi0gICAg
ICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZExheW91dE92ZXJmbG93KG1hcmtl
clJlY3QpOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAg
ICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBpZiAoby0+aXNSZW5kZXJCbG9jaygpKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
IChwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdykKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVu
ZGVyQmxvY2sobyktPmFkZFZpc3VhbE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAg
ICAgICAgICBpZiAocHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpCisgICAgICAgICAgICAgICAgICAg
ICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlvdXRPdmVyZmxvdyhtYXJrZXJSZWN0KTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgp
KQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVMYXlvdXRPdmVyZmxvdyA9IGZhbHNlOwor
ICAgICAgICAgICAgICAgIGlmIChvLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAg
ICAgICAgICAgICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAg
ICAgIG1hcmtlclJlY3QubW92ZSgtby0+eCgpLCAtby0+eSgpKTsKLSAgICAgICAgICAgIH0gd2hp
bGUgKG8gIT0gdGhpcyAmJiAhby0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSk7CisgICAgICAgICAg
ICB9IHdoaWxlIChvICE9IHRoaXMgJiYgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgJiYgcHJvcGFn
YXRlTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICB9CiAgICAgfQogfQpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMDMsNyAr
MTEwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiAKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYm94T3JpZ2luKHR4ICsgeCgpLCB0eSArIHkoKSk7
Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJsZU92ZXJmbG93UmVjdCgpKTsKKyAgICBJ
bnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgb3ZlcmZsb3dS
ZWN0Lm1vdmUoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSk7CiAgICAgb3ZlcmZsb3dSZWN0
LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSkpOwogCkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzEx
Niw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRlUG9zaXRpb24oRU1hcnEKICAgICBpZiAo
aXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgYm9vbCBsdHIgPSBzLT5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCk7CiAgICAgICAgIGludCBjbGllbnRXaWR0aCA9IGJveC0+Y2xpZW50V2lkdGgoKTsK
LSAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+cmlnaHRtb3N0UG9zaXRpb24o
dHJ1ZSwgZmFsc2UpIDogYm94LT5sZWZ0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKTsKKyAgICAg
ICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDog
Ym94LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKICAgICAgICAgaWYgKGx0cikKICAgICAgICAgICAg
IGNvbnRlbnRXaWR0aCArPSAoYm94LT5wYWRkaW5nUmlnaHQoKSAtIGJveC0+Ym9yZGVyTGVmdCgp
KTsKICAgICAgICAgZWxzZSB7CkBAIC0xMzcsOCArMTM3LDcgQEAgaW50IFJlbmRlck1hcnF1ZWU6
OmNvbXB1dGVQb3NpdGlvbihFTWFycQogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewotICAg
ICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+bG93ZXN0UG9zaXRpb24odHJ1ZSwgZmFsc2Up
IC0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LT5ib3JkZXJUb3AoKSArIGJveC0+
cGFkZGluZ0JvdHRvbSgpOworICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+Ym90dG9t
TGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+Ym9yZGVyVG9wKCkgKyBib3gtPnBhZGRpbmdCb3R0b20o
KTsKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IGJveC0+Y2xpZW50SGVpZ2h0KCk7CiAgICAg
ICAgIGlmIChkaXIgPT0gTVVQKSB7CiAgICAgICAgICAgICBpZiAoc3RvcEF0Q29udGVudEVkZ2Up
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAwLDgz
ICs2MDAsNiBAQCB2b2lkIFJlbmRlck1lZGlhOjpmb3J3YXJkRXZlbnQoRXZlbnQqIGV2CiAgICAg
fQogfQogCi1pbnQgUmVuZGVyTWVkaWE6OnRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5z
Zm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVuZGVySW1hZ2U6OnRvcG1vc3RQb3NpdGlv
bihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsK
LSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsKLSAgICAKLSAgICB0b3AgPSBtaW4odG9w
LCAgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVj
dCgpLnkoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+dG9wbW9zdFBvc2l0
aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0p
KTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGluY2x1
ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAgICAg
aW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9z
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRy
YW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJ
bnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3Qo
bGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4g
dHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRvcDsKLX0KLQotaW50IFJl
bmRlck1lZGlhOjpsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBi
b29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsK
LSAgICBpbnQgYm90dG9tID0gUmVuZGVySW1hZ2U6Omxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghbV9j
b250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJlcigpKQot
ICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIAotICAgIGJvdHRvbSA9IG1heChib3R0b20sICBt
X2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCku
eSgpICsgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT5sb3dlc3RQb3NpdGlvbihp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0K
LSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2Vs
ZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGludCB0
b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxm
LCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIEludFJlY3Qg
dHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0
b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm1SZWN0LmhlaWdodCgpICsgdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IGJvdHRvbTsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpyaWdodG1vc3RQb3NpdGlvbihib29sIGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgcmlnaHQgPSBSZW5kZXJJbWFnZTo6cmln
aHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBs
eVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xzU2hhZG93Um9vdCB8fCAhbV9jb250cm9s
c1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiByaWdodDsKLSAgICAKLSAg
ICByaWdodCA9IG1heChyaWdodCwgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT50
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJC
b3goKS0+cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVT
ZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1
ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFu
c2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAg
aW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQ
b3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFu
c2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNm
b3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkp
OwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC53aWR0aCgpICsgdHJhbnNmb3JtUmVjdC54
KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyTWVkaWE6Omxl
ZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRl
U2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IGxl
ZnQgPSBSZW5kZXJJbWFnZTo6bGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNTaGFk
b3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0
dXJuIGxlZnQ7Ci0gICAgCi0gICAgbGVmdCA9IG1pbihsZWZ0LCBtX2NvbnRyb2xzU2hhZG93Um9v
dC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueCgpICsgIG1fY29udHJvbHNT
aGFkb3dSb290LT5yZW5kZXJCb3goKS0+bGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlU
cmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYm
IGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSByaWdodG1vc3RQ
b3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFu
c2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50
IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0
ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBs
ZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QueCgpOwot
ICAgIH0KLQotICAgIHJldHVybiBsZWZ0OwotfQotCi0KIC8vIFdlIHdhbnQgdGhlIHRpbWVsaW5l
IHNsaWRlciB0byBiZSBhdCBsZWFzdCAxMDAgcGl4ZWxzIHdpZGUuCiBzdGF0aWMgY29uc3QgaW50
IG1pbldpZHRoVG9EaXNwbGF5VGltZURpc3BsYXlzID0gMTYgKyAxNiArIDQ1ICsgMTAwICsgNDUg
KyAxNiArIDE7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAkocmV2aXNpb24gNzMwODEp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCSh3b3JraW5nIGNvcHkpCkBAIC04
NSwxMSArODUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5
VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93
ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5j
bHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0
OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0g
PSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsZWZ0bW9zdFBvc2l0
aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxm
ID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLQogICAg
IHZvaWQgY3JlYXRlQ29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBkZXN0cm95Q29udHJv
bHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBjcmVhdGVQYW5lbCgpOwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPdmVyZmxvdy5oCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDE1ICszOSwxNSBAQCBuYW1l
c3BhY2UgV2ViQ29yZQogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21l
IG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJv
eC4KIGNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
LSAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3Qo
KSkgCi0gICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0gICAg
ICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAgICAg
ICAgLCBtX2xlZnRMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwgbV9y
aWdodExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkpCi0gICAgICAgICwgbV90b3BW
aXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0gICAgICAgICwgbV9ib3R0b21WaXN1YWxP
dmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVy
ZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwgbV9yaWdodFZpc3VhbE92ZXJmbG93KGRl
ZmF1bHRSZWN0LnJpZ2h0KCkpCisgICAgUmVuZGVyT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgbGF5
b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkgCisgICAgICAgIDogbV90b3BMYXlv
dXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKKyAgICAgICAgLCBtX2JvdHRvbUxheW91dE92ZXJm
bG93KGxheW91dFJlY3QuYm90dG9tKCkpCisgICAgICAgICwgbV9sZWZ0TGF5b3V0T3ZlcmZsb3co
bGF5b3V0UmVjdC54KCkpCisgICAgICAgICwgbV9yaWdodExheW91dE92ZXJmbG93KGxheW91dFJl
Y3QucmlnaHQoKSkKKyAgICAgICAgLCBtX3RvcFZpc3VhbE92ZXJmbG93KHZpc3VhbFJlY3QueSgp
KQorICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC5ib3R0b20oKSkK
KyAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyh2aXN1YWxSZWN0LngoKSkKKyAgICAgICAg
LCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC5yaWdodCgpKQogICAgIHsKICAgICB9
CiAgICAKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgogICAgIGludCByaWdodFZpc3VhbE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gbV9yaWdodFZpc3VhbE92ZXJmbG93OyB9CiAgICAgSW50UmVj
dCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsKIAotICAgIEludFJlY3QgdmlzaWJsZU92ZXJm
bG93UmVjdCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRUb3BMYXlvdXRPdmVyZmxvdyhpbnQgb3Zl
cmZsb3cpIHsgbV90b3BMYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRC
b3R0b21MYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV9ib3R0b21MYXlvdXRPdmVyZmxv
dyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRMZWZ0TGF5b3V0T3ZlcmZsb3coaW50IG92ZXJm
bG93KSB7IG1fbGVmdExheW91dE92ZXJmbG93ID0gb3ZlcmZsb3c7IH0KQEAgLTEwNCwxMyArMTAy
LDYgQEAgaW5saW5lIEludFJlY3QgUmVuZGVyT3ZlcmZsb3c6OnZpc3VhbE92ZQogICAgIHJldHVy
biBJbnRSZWN0KG1fbGVmdFZpc3VhbE92ZXJmbG93LCBtX3RvcFZpc3VhbE92ZXJmbG93LCBtX3Jp
Z2h0VmlzdWFsT3ZlcmZsb3cgLSBtX2xlZnRWaXN1YWxPdmVyZmxvdywgbV9ib3R0b21WaXN1YWxP
dmVyZmxvdyAtIG1fdG9wVmlzdWFsT3ZlcmZsb3cpOwogfQogCi1pbmxpbmUgSW50UmVjdCBSZW5k
ZXJPdmVyZmxvdzo6dmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0Ci17Ci0gICAgSW50UmVjdCBj
b21iaW5lZFJlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAgIGNvbWJpbmVkUmVjdC51bml0
ZSh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7Ci0gICAgcmV0dXJuIGNvbWJpbmVkUmVjdDsKLX0KLQog
aW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6Om1vdmUoaW50IGR4LCBpbnQgZHkpCiB7CiAgICAg
bV90b3BMYXlvdXRPdmVyZmxvdyArPSBkeTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODksNyArMzg5LDcgQEAgSW50UmVjdCBSZW5k
ZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UgogCiAgICAgLy8gVGhlIHNlbGVjdGlvblJlY3Qg
Y2FuIHByb2plY3Qgb3V0c2lkZSBvZiB0aGUgb3ZlcmZsb3dSZWN0LCBzbyB0YWtlIHRoZWlyIHVu
aW9uCiAgICAgLy8gZm9yIHJlcGFpbnRpbmcgdG8gYXZvaWQgc2VsZWN0aW9uIHBhaW50aW5nIGds
aXRjaGVzLgotICAgIEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFs
c2UpLCB2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3QgciA9IHVuaW9uUmVjdChs
b2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAKICAgICBS
ZW5kZXJWaWV3KiB2ID0gdmlldygpOwogICAgIGlmICh2KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg3LDEyICszODcsMTggQEAgdm9pZCBSZW5k
ZXJUYWJsZTo6bGF5b3V0KCkKICAgICB1cGRhdGVMYXllclRyYW5zZm9ybSgpOwogCiAgICAgLy8g
QWRkIG92ZXJmbG93IGZyb20gYm9yZGVycy4KKyAgICAvLyBUZWNobmljYWxseSBpdCdzIG9kZCB0
aGF0IHdlIGFyZSBpbmNvcnBvcmF0aW5nIHRoZSBib3JkZXJzIGludG8gbGF5b3V0IG92ZXJmbG93
LCB3aGljaCBpcyBvbmx5IHN1cHBvc2VkIHRvIGJlIGFib3V0IG92ZXJmbG93IGZyb20gb3VyCisg
ICAgLy8gZGVzY2VuZGFudCBvYmplY3RzLCBidXQgc2luY2UgdGFibGVzIGRvbid0IHN1cHBvcnQg
b3ZlcmZsb3c6YXV0bywgdGhpcyB3b3JrcyBvdXQgZmluZS4KICAgICBpbnQgcmlnaHRCb3JkZXJP
dmVyZmxvdyA9IHdpZHRoKCkgKyAoY29sbGFwc2luZyA/IG91dGVyQm9yZGVyUmlnaHQoKSAtIGJv
cmRlclJpZ2h0KCkgOiAwKTsKICAgICBpbnQgbGVmdEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2lu
ZyA/IGJvcmRlckxlZnQoKSAtIG91dGVyQm9yZGVyTGVmdCgpIDogMDsKICAgICBpbnQgYm90dG9t
Qm9yZGVyT3ZlcmZsb3cgPSBoZWlnaHQoKSArIChjb2xsYXBzaW5nID8gb3V0ZXJCb3JkZXJCb3R0
b20oKSAtIGJvcmRlckJvdHRvbSgpIDogMCk7CiAgICAgaW50IHRvcEJvcmRlck92ZXJmbG93ID0g
Y29sbGFwc2luZyA/IGJvcmRlclRvcCgpIC0gb3V0ZXJCb3JkZXJUb3AoKSA6IDA7Ci0gICAgYWRk
TGF5b3V0T3ZlcmZsb3coSW50UmVjdChsZWZ0Qm9yZGVyT3ZlcmZsb3csIHRvcEJvcmRlck92ZXJm
bG93LCByaWdodEJvcmRlck92ZXJmbG93IC0gbGVmdEJvcmRlck92ZXJmbG93LCBib3R0b21Cb3Jk
ZXJPdmVyZmxvdyAtIHRvcEJvcmRlck92ZXJmbG93KSk7Ci0gICAgCisgICAgSW50UmVjdCBib3Jk
ZXJPdmVyZmxvd1JlY3QobGVmdEJvcmRlck92ZXJmbG93LCB0b3BCb3JkZXJPdmVyZmxvdywgcmln
aHRCb3JkZXJPdmVyZmxvdyAtIGxlZnRCb3JkZXJPdmVyZmxvdywgYm90dG9tQm9yZGVyT3ZlcmZs
b3cgLSB0b3BCb3JkZXJPdmVyZmxvdyk7CisgICAgaWYgKGJvcmRlck92ZXJmbG93UmVjdCAhPSBi
b3JkZXJCb3hSZWN0KCkpIHsKKyAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coYm9yZGVyT3ZlcmZs
b3dSZWN0KTsKKyAgICAgICAgYWRkVmlzdWFsT3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsK
KyAgICB9CisKICAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93IGZyb20gYm94LXNoYWRvdyBhbmQg
cmVmbGVjdGlvbnMuCiAgICAgYWRkU2hhZG93T3ZlcmZsb3coKTsKICAgICAKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gNzMwODEpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NjIsNzggKzY2Miw2IEBAIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoaW50
IHQKICAgICByZXR1cm4gaGVpZ2h0KCk7CiB9CiAKLWludCBSZW5kZXJUYWJsZVNlY3Rpb246OnRv
cG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVT
ZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9w
ID0gUmVuZGVyQm94Ojp0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsKLQotICAgIGZv
ciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJz
dENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAg
ICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIHRv
cCA9IG1pbih0b3AsIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgY2VsbC0+dG9w
bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgCi0gICAgcmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6bG93ZXN0
UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwg
QXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IGJvdHRvbSA9
IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIGJvdHRvbTsKLQotICAgIGZv
ciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJz
dENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAg
ICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIGJv
dHRvbSA9IG1heChib3R0b20sIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgY2Vs
bC0+bG93ZXN0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
IH0KLSAgICAKLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9u
OjpyaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGlu
Y2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBp
bnQgcmlnaHQgPSBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiByaWdo
dDsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93
ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJy
ID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7
Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAg
ICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgp
LngoKSArIGNlbGwtPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVuZGVy
VGFibGVTZWN0aW9uOjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25z
dAotewotICAgIGludCBsZWZ0ID0gUmVuZGVyQm94OjpsZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICgh
aW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJl
dHVybiBsZWZ0OwotICAgIAotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxk
KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVy
T2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1
cnIpOwotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgY2VsbC0+dHJhbnNmb3JtZWRG
cmFtZVJlY3QoKS54KCkgKyBjZWxsLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIGlu
dCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9yZSgpIGNvbnN0CiB7CiAg
ICAgaW50IHRvdGFsQ29scyA9IHRhYmxlKCktPm51bUVmZkNvbHMoKTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTEg
KzEzNiw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVy
T2JqZWN0KiBvbGRDaGlsZCk7CiAKLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9v
bCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zv
cm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBs
eVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJp
Z2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVk
ZVNlbGYsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmly
dHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBi
b29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0
OwotCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDZWxsKFJlbmRlclRhYmxlQ2VsbCosIFBhaW50SW5mbyYs
IGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZv
JiwgaW50IHR4LCBpbnQgdHkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4
dC5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxNiw4ICs2MTYsMTcgQEAgc3RhdGljIHZvaWQg
d3JpdGUoVGV4dFN0cmVhbSYgdHMsIFJlbmRlcgogfQogCiBzdGF0aWMgdm9pZCB3cml0ZUxheWVy
cyhUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5
ZXIqIGwsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBwYWludERpcnR5
UmVjdCwgaW50IGluZGVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCisgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBwYWludFJlY3QsIGludCBpbmRlbnQsIFJl
bmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQogeworICAgIC8vIEZJWE1FOiBBcHBseSBvdmVy
ZmxvdyB0byB0aGUgcm9vdCBsYXllciB0byBub3QgYnJlYWsgZXZlcnkgdGVzdC4gIENvbXBsZXRl
IGhhY2suICBTaWdoLgorICAgIEludFJlY3QgcGFpbnREaXJ0eVJlY3QocGFpbnRSZWN0KTsKKyAg
ICBpZiAocm9vdExheWVyID09IGwpIHsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0V2lkdGgo
bWF4KHBhaW50RGlydHlSZWN0LndpZHRoKCksIHJvb3RMYXllci0+cmVuZGVyQm94KCktPnJpZ2h0
TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBwYWludERpcnR5UmVjdC5zZXRIZWlnaHQobWF4
KHBhaW50RGlydHlSZWN0LmhlaWdodCgpLCByb290TGF5ZXItPnJlbmRlckJveCgpLT5ib3R0b21M
YXlvdXRPdmVyZmxvdygpKSk7CisgICAgICAgIGwtPnNldFdpZHRoKG1heChsLT53aWR0aCgpLCBs
LT5yZW5kZXJCb3goKS0+cmlnaHRMYXlvdXRPdmVyZmxvdygpKSk7CisgICAgICAgIGwtPnNldEhl
aWdodChtYXgobC0+aGVpZ2h0KCksIGwtPnJlbmRlckJveCgpLT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpKSk7CisgICAgfQorICAgIAogICAgIC8vIENhbGN1bGF0ZSB0aGUgY2xpcCByZWN0cyB3ZSBz
aG91bGQgdXNlLgogICAgIEludFJlY3QgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0
VG9BcHBseSwgb3V0bGluZVJlY3Q7CiAgICAgbC0+Y2FsY3VsYXRlUmVjdHMocm9vdExheWVyLCBw
YWludERpcnR5UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwg
b3V0bGluZVJlY3QsIHRydWUpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlz
aW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyOSwxMiArMTI5LDYgQEAgdm9pZCBSZW5kZXJWaWV3OjpsYXlvdXQoKQogICAg
IGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICBSZW5kZXJCbG9jazo6bGF5b3V0KCk7CiAKLSAg
ICAvLyBSZXNldCBvdmVyZmxvdyBhbmQgdGhlbiByZXBsYWNlIGl0IHdpdGggZG9jV2lkdGggYW5k
IGRvY0hlaWdodC4KLSAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAgaW50IGxlZnRPdmVyZmxv
dyA9IGRvY0xlZnQoKTsKLSAgICBpbnQgdG9wT3ZlcmZsb3cgPSBkb2NUb3AoKTsKLSAgICBhZGRM
YXlvdXRPdmVyZmxvdyhJbnRSZWN0KGxlZnRPdmVyZmxvdywgdG9wT3ZlcmZsb3csIGRvY1dpZHRo
KGxlZnRPdmVyZmxvdyksIGRvY0hlaWdodCh0b3BPdmVyZmxvdykpKTsKLQogICAgIEFTU0VSVChs
YXlvdXREZWx0YSgpID09IEludFNpemUoKSk7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGVEaXNh
YmxlQ291bnQgPT0gMCk7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGUgPT0gJnN0YXRlKTsKQEAg
LTYyMywyNSArNjE3LDE5IEBAIGludCBSZW5kZXJWaWV3Ojpkb2NUb3AoKSBjb25zdAogICAgIC8v
IENsaXAgb3V0IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0aWNhbCBMVFIgcGFnZXMgb3IgaG9yaXpvbnRh
bC10YiBwYWdlcy4KICAgICBpZiAoKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgfHwgc3R5bGUoKS0+d3JpdGlu
Z01vZGUoKSA9PSBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlKQogICAgICAgICByZXR1cm4gMDsKLSAg
ICByZXR1cm4gc3RkOjptaW4oMCwgdG9wbW9zdFBvc2l0aW9uKCkpOworICAgIEludFJlY3Qgb3Zl
cmZsb3dSZWN0KDAsIHRvcExheW91dE92ZXJmbG93KCksIDAsIGJvdHRvbUxheW91dE92ZXJmbG93
KCkgLSB0b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnkoKTsKIH0KIAotaW50IFJlbmRlclZp
ZXc6OmRvY0hlaWdodChpbnQgdG9wT3ZlcmZsb3cpIGNvbnN0CitpbnQgUmVuZGVyVmlldzo6ZG9j
Qm90dG9tKCkgY29uc3QKIHsKLSAgICBpbnQgaCA9ICgoIXN0eWxlKCktPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB8fCBzdHls
ZSgpLT53cml0aW5nTW9kZSgpID09IFRvcFRvQm90dG9tV3JpdGluZ01vZGUpID8KLSAgICAgICAg
ICAgICAgICBsb3dlc3RQb3NpdGlvbigpIDogaGVpZ2h0KCkgLSB0b3BPdmVyZmxvdzsKLQotICAg
IC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgZG8gYW55IG1hcmdpbiBjb2xsYXBzaW5nLgotICAgIC8v
IEluc3RlYWQgb2YgdGhpcyBkaCBjb21wdXRhdGlvbiB3ZSBzaG91bGQga2VlcCB0aGUgcmVzdWx0
Ci0gICAgLy8gd2hlbiB3ZSBjYWxsIFJlbmRlckJsb2NrOjpsYXlvdXQuCi0gICAgaW50IGRoID0g
MDsKLSAgICBmb3IgKFJlbmRlckJveCogYyA9IGZpcnN0Q2hpbGRCb3goKTsgYzsgYyA9IGMtPm5l
eHRTaWJsaW5nQm94KCkpCi0gICAgICAgIGRoICs9IGMtPmhlaWdodCgpICsgYy0+bWFyZ2luVG9w
KCkgKyBjLT5tYXJnaW5Cb3R0b20oKTsKLQotICAgIGlmIChkaCA+IGgpCi0gICAgICAgIGggPSBk
aDsKLQotICAgIHJldHVybiBoOworICAgIC8vIENsaXAgb3V0IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0
aWNhbCBMVFIgcGFnZXMgb3IgaG9yaXpvbnRhbC10YiBwYWdlcy4KKyAgICBpZiAoKHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgfHwgIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkgJiYgc3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBUb3BUb0JvdHRvbVdyaXRpbmdN
b2RlKQorICAgICAgICByZXR1cm4gaGVpZ2h0KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3Qo
bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1Jl
Y3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QuYm90dG9tKCk7CiB9CiAKIGludCBSZW5kZXJW
aWV3Ojpkb2NMZWZ0KCkgY29uc3QKQEAgLTY0OSwyMSArNjM3LDE4IEBAIGludCBSZW5kZXJWaWV3
Ojpkb2NMZWZ0KCkgY29uc3QKICAgICAvLyBDbGlwIG91dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6
b250YWwgTFRSIHBhZ2VzIG9yIHZlcnRpY2FsLWxyIHBhZ2VzLgogICAgIGlmICgoc3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9k
ZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9z
aXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkp
OworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVy
Zmxvd1JlY3QueCgpOwogfQogCi1pbnQgUmVuZGVyVmlldzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVy
ZmxvdykgY29uc3QKLXsKLSAgICBpbnQgdyA9ICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCkt
PndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkgPyAKLSAgICAgICAgICAg
ICAgICByaWdodG1vc3RQb3NpdGlvbigpIDogd2lkdGgoKSAtIGxlZnRPdmVyZmxvdzsKLQotICAg
IGZvciAoUmVuZGVyQm94KiBjID0gZmlyc3RDaGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxp
bmdCb3goKSkgewotICAgICAgICBpbnQgZHcgPSBjLT53aWR0aCgpICsgYy0+bWFyZ2luTGVmdCgp
ICsgYy0+bWFyZ2luUmlnaHQoKTsKLSAgICAgICAgaWYgKGR3ID4gdykKLSAgICAgICAgICAgIHcg
PSBkdzsKLSAgICB9Ci0KLSAgICByZXR1cm4gdzsKK2ludCBSZW5kZXJWaWV3Ojpkb2NSaWdodCgp
IGNvbnN0Cit7CisgICAgaWYgKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSB8
fCAhc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSAmJiBzdHlsZSgpLT53cml0aW5n
TW9kZSgpICE9IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUpCisgICAgICAgIHJldHVybiB3aWR0aCgp
OworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBm
bGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0
LnJpZ2h0KCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojp2aWV3SGVpZ2h0KCkgY29uc3QKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDEzIEBAIHB1Ymxp
YzoKICAgICBib29sIHVzZXNDb21wb3NpdGluZygpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBpbnQg
ZG9jVG9wKCkgY29uc3Q7CisgICAgaW50IGRvY0JvdHRvbSgpIGNvbnN0OworICAgIGludCBkb2NI
ZWlnaHQoKSBjb25zdCB7IHJldHVybiBkb2NCb3R0b20oKSAtIGRvY1RvcCgpOyB9CisgICAgaW50
IGRvY0xlZnQoKSBjb25zdDsKKyAgICBpbnQgZG9jUmlnaHQoKSBjb25zdDsKKyAgICBpbnQgZG9j
V2lkdGgoKSBjb25zdCB7IHJldHVybiBkb2NSaWdodCgpIC0gZG9jTGVmdCgpOyB9CisKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2Rl
bE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVk
LCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBtYXBBYnNvbHV0ZVRv
TG9jYWxQb2ludChib29sIGZpeGVkLCBib29sIHVzZVRyYW5zZm9ybXMsIFRyYW5zZm9ybVN0YXRl
JikgY29uc3Q7CkBAIC0xNzMsMTEgKzE4MCw2IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAg
Ym9vbCBzaG91bGRSZXBhaW50KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0OwogICAgIAotICAgIGlu
dCBkb2NUb3AoKSBjb25zdDsKLSAgICBpbnQgZG9jSGVpZ2h0KGludCB0b3BPdmVyZmxvdykgY29u
c3Q7Ci0gICAgaW50IGRvY0xlZnQoKSBjb25zdDsKLSAgICBpbnQgZG9jV2lkdGgoaW50IGxlZnRP
dmVyZmxvdykgY29uc3Q7Ci0KICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgbWF5IG9ubHkgYmUgYWNj
ZXNzZWQgYnkgTGF5b3V0U3RhdGVNYWludGFpbmVyLgogICAgIGJvb2wgcHVzaExheW91dFN0YXRl
KFJlbmRlckJveCogcmVuZGVyZXIsIGNvbnN0IEludFNpemUmIG9mZnNldCwgaW50IHBhZ2VIZWln
aHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNvbElu
Zm8gPSAwKQogICAgIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCShyZXZp
c2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTAsOCArMTUwLDcgQEAgdm9pZCBSb290SW5saW5lQm94OjphZGRIaWdo
bGlnaHRPdmVyZmxvdwogICAgIC8vIEhpZ2hsaWdodCBhY3RzIGFzIGEgc2VsZWN0aW9uIGluZmxh
dGlvbi4KICAgICBGbG9hdFJlY3Qgcm9vdFJlY3QoMCwgc2VsZWN0aW9uVG9wKCksIGxvZ2ljYWxX
aWR0aCgpLCBzZWxlY3Rpb25IZWlnaHQoKSk7CiAgICAgSW50UmVjdCBpbmZsYXRlZFJlY3QgPSBl
bmNsb3NpbmdJbnRSZWN0KHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+Y3VzdG9tSGlnaGxpZ2h0
UmVjdChyZW5kZXJlcigpLT5ub2RlKCksIHJlbmRlcmVyKCktPnN0eWxlKCktPmhpZ2hsaWdodCgp
LCByb290UmVjdCkpOwotICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxl
ZnRMYXlvdXRPdmVyZmxvdygpLCByaWdodExheW91dE92ZXJmbG93KCksIG1pbihsZWZ0VmlzdWFs
T3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LngoKSksIG1heChyaWdodFZpc3VhbE92ZXJmbG93KCks
IGluZmxhdGVkUmVjdC5yaWdodCgpKSk7Ci0gICAgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bv
c2l0aW9ucyh0b3BMYXlvdXRPdmVyZmxvdygpLCBib3R0b21MYXlvdXRPdmVyZmxvdygpLCBtaW4o
dG9wVmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LnkoKSksIG1heChib3R0b21WaXN1YWxP
dmVyZmxvdygpLCBpbmZsYXRlZFJlY3QuYm90dG9tKCkpKTsKKyAgICBzZXRPdmVyZmxvd0Zyb21M
b2dpY2FsUmVjdHMoaW5mbGF0ZWRSZWN0LCBpbmZsYXRlZFJlY3QsIGxpbmVUb3AoKSwgbGluZUJv
dHRvbSgpKTsKIH0KIAogdm9pZCBSb290SW5saW5lQm94OjpwYWludEN1c3RvbUhpZ2hsaWdodChQ
YWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0cmluZyYg
aGlnaGxpZ2h0VHlwZSkKQEAgLTI1Miw3ICsyNTEsNiBAQCBpbnQgUm9vdElubGluZUJveDo6YWxp
Z25Cb3hlc0luQmxvY2tEaXJlCiAgICAgYm9vbCBjb250YWluc1J1YnkgPSBmYWxzZTsKICAgICBw
bGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbihoZWlnaHRPZkJsb2NrLCBtYXhIZWlnaHQsIG1heEFz
Y2VudCwgbm9RdWlya3NNb2RlLCBsaW5lVG9wLCBsaW5lQm90dG9tLCBzZXRMaW5lVG9wLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBsaW5l
Qm90dG9tSW5jbHVkaW5nTWFyZ2lucywgY29udGFpbnNSdWJ5LCBtX2Jhc2VsaW5lVHlwZSk7Ci0g
ICAgY29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgbm9R
dWlya3NNb2RlLCB0ZXh0Qm94RGF0YU1hcCk7CiAgICAgc2V0TGluZVRvcEJvdHRvbVBvc2l0aW9u
cyhsaW5lVG9wLCBsaW5lQm90dG9tKTsKIAogICAgIG1fY29udGFpbnNSdWJ5ID0gY29udGFpbnNS
dWJ5Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75604</attachid>
            <date>2010-12-04 00:34:03 -0800</date>
            <delta_ts>2010-12-04 12:21:29 -0800</delta_ts>
            <desc>Work in progress</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>145151</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsOSArNDM1LDkgQEAgdm9pZCBGcmFtZVZp
ZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0g
cm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCkg
LSByb290LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hlaWdodCgpKTsKIAotICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIC1y
b290LT50b3BMYXlvdXRPdmVyZmxvdygpKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1y
b290LT5kb2NUb3AoKSksIHNpemUgPT0gY29udGVudHNTaXplKCkpOwogICAgIAogICAgIHNldENv
bnRlbnRzU2l6ZShzaXplKTsKIH0KQEAgLTIyMTksMTUgKzIyMTksMTUgQEAgdm9pZCBGcmFtZVZp
ZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4g
c2hydW5rLCB3ZSB3aWxsIGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEg
Y29udGVudC4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1m
aXQgcHJpbnRpbmcgaW1wbGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxl
bWVudGF0aW9uIHNob3VsZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IHJpZ2h0bW9zdFBvcyA9
IHJvb3QtPnJpZ2h0bW9zdFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChyaWdodG1vc3RQb3MgPiBw
YWdlU2l6ZS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBwYWdlVyA9IHN0ZDo6bWluPGludD4ocmln
aHRtb3N0UG9zLCBjZWlsZihwYWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3Rvcikp
OworICAgICAgICBpbnQgZG9jV2lkdGggPSByb290LT5kb2NXaWR0aCgpOworICAgICAgICBpZiAo
ZG9jV2lkdGggPiBwYWdlU2l6ZS53aWR0aCgpKSB7CisgICAgICAgICAgICBwYWdlVyA9IHN0ZDo6
bWluPGludD4oZG9jV2lkdGgsIGNlaWxmKHBhZ2VTaXplLndpZHRoKCkgKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKSk7CiAgICAgICAgICAgICBpZiAocGFnZVNpemUuaGVpZ2h0KCkpCiAgICAgICAgICAg
ICAgICAgcm9vdC0+c2V0UGFnZUhlaWdodChwYWdlVyAvIHBhZ2VTaXplLndpZHRoKCkgKiBwYWdl
U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CiAgICAg
ICAgICAgICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAg
ICAgICAgIGZvcmNlTGF5b3V0KCk7Ci0gICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBkb2NIZWlnaHQgPSByb290
LT5kb2NIZWlnaHQoKTsKICAgICAgICAgICAgIHJvb3QtPmNsZWFyTGF5b3V0T3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIHJvb3QtPmFkZExheW91dE92ZXJmbG93KEludFJlY3QoMCwgMCwgcGFnZVcs
IGRvY0hlaWdodCkpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cg
YWdhaW4uCiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3MzA4
MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzMsNiArMjMzLDggQEAgcHVibGljOgogICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlz
SG9yaXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KICAgICBp
bnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0
KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQogCisgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7
IHJldHVybiBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKwogICAgIC8v
IFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJv
eCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGlu
ZS4KICAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/
IG1feCA6IG1feTsgfQogICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KQEAgLTI2NSw3ICsyNjcsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVU
eXBlKSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5iYXNlbGluZVBvc2l0aW9uKGJh
c2VsaW5lVHlwZSwgbV9maXJzdExpbmUsIGlzSG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUg
OiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT25Db250YWluaW5nTGluZSk7IH0KICAgICB2aXJ0dWFs
IGludCBsaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+bGluZUhl
aWdodChtX2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRp
Y2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQogICAgIAotCiAgICAgdmlydHVh
bCBpbnQgY2FyZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9m
ZnNldCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNl
dCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9u
IDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1OSwxOCArMjU5LDcgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bklubGluZURpcgogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2Fs
TGVmdChsb2dpY2FsTGVmdCk7Ci0KLSAgICBpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9
IGxvZ2ljYWxMZWZ0OwotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IGxvZ2lj
YWxMZWZ0OwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7
Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0KLSAg
ICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdo
dDsKLSAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGlu
ZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJp
Z2h0KTsKLQotICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQg
KyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0KKyAg
CiAgICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKICAgICBsb2dpY2FsTGVm
dCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxMZWZ0KCk7CiAgICAgCkBA
IC0yODQsMzAgKzI3Myw2IEBAIGludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVE
aXIKICAgICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUo
cnQtPmNoYXJhY3RlcnMoKVt0ZXh0LT5lbmQoKV0pOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgdGV4dC0+c2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5z
dHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgLy8gSWYgbGV0dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3Ig
dGhhdCBpbnRvIHJpZ2h0IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3Bh
Y2luZyBpcwotICAgICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgcmlnaHQsIHNvIHRoaXMgaXMg
bm90IGFuIGlzc3VlIHdpdGggbGVmdCBvdmVyZmxvdy4KLSAgICAgICAgICAgIGludCBsZXR0ZXJT
cGFjaW5nID0gbWluKDAsIChpbnQpcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmxldHRl
clNwYWNpbmcoKSk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1h
eChsb2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpIC0gbGV0dGVyU3BhY2luZywgbG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93
KiBnbHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5z
ZWNvbmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93
ID0gLXN0cm9rZU92ZXJmbG93IC0gKGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0
IDogMCk7Ci0gICAgICAgICAgICBpbnQgbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdyA9IHN0cm9r
ZU92ZXJmbG93IC0gbGV0dGVyU3BhY2luZyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxv
dy0+cmlnaHQgOiAwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZs
b3dMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdzsKLSAgICAgICAgICAgIGlu
dCBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdzsK
LSAgICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgICAgICAgICBpbnQg
dGV4dFNoYWRvd0xvZ2ljYWxSaWdodDsKLSAgICAgICAgICAgIHJ0LT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxM
ZWZ0LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dM
b2dpY2FsTGVmdCA9IG1pbihjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dp
Y2FsTGVmdCArIGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBjaGlsZE92
ZXJmbG93TG9naWNhbFJpZ2h0ID0gbWF4KGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIHRleHRT
aGFkb3dMb2dpY2FsUmlnaHQgKyBsb2dpY2FsUmlnaHRHbHlwaE92ZXJmbG93KTsKLSAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGlsZE92
ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyB0ZXh0LT5s
b2dpY2FsV2lkdGgoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZp
c3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0g
dGV4dC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpIHsKQEAgLTMyNSwxMCArMjkwLDYgQEAg
aW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAgICAgICAgICAgICAg
ICAgbG9naWNhbExlZnQgPSBmbG93LT5wbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24obG9naWNh
bExlZnQsIG5lZWRzV29yZFNwYWNpbmcsIHRleHRCb3hEYXRhTWFwKTsKICAgICAgICAgICAgICAg
ICBsb2dpY2FsTGVmdCArPSBmbG93LT5tYXJnaW5Mb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAg
ICAgICBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgICAg
ICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgICAgICAgICB9
IGVsc2UgaWYgKCFjdXJyLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSB8fCB0b1JlbmRlckxp
c3RNYXJrZXIoY3Vyci0+cmVuZGVyZXIoKSktPmlzSW5zaWRlKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgYm94IGNhbiBoYXZlIGEgZGlmZmVyZW50IHdyaXRpbmctbW9kZSB0aGFuIHRoZSBv
dmVyYWxsIGxpbmUsIHNvIHRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCiAgICAgICAgICAgICAg
ICAgLy8gSnVzdCBnZXQgYWxsIHRoZSBwaHlzaWNhbCBtYXJnaW4gYW5kIG92ZXJmbG93IHZhbHVl
cyBieSBoYW5kIGJhc2VkIG9mZiB8aXNWZXJ0aWNhbHwuCkBAIC0zMzcsMTggKzI5OCw2IEBAIGlu
dCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAg
ICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJC
b3goY3Vyci0+cmVuZGVyZXIoKSk7Ci0KLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IDAgOiAoaXNIb3Jpem9udGFs
KCkgPyBib3gtPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm94LT50b3BMYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IGJveC0+
aGFzT3ZlcmZsb3dDbGlwKCkgPyBjdXJyLT5sb2dpY2FsV2lkdGgoKSA6IChpc0hvcml6b250YWwo
KSA/IGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExheW91
dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBs
b2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRM
YXlvdXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAgICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkg
PyBib3gtPmxlZnRWaXN1YWxPdmVyZmxvdygpIDogYm94LT50b3BWaXN1YWxPdmVyZmxvdygpKSwg
bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gt
PnJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6IGJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSksIGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0ICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpICsgbG9naWNhbFJpZ2h0TWFy
Z2luOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNTYsMTAgKzMwNSw2IEBAIGludCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKIAogICAgIGxvZ2ljYWxMZWZ0ICs9
IGJvcmRlckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdodCgpOwogICAgIHNldExv
Z2ljYWxXaWR0aChsb2dpY2FsTGVmdCAtIHN0YXJ0TG9naWNhbExlZnQpOwotICAgIGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgYm94U2hhZG93TG9naWNhbFJp
Z2h0LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgbG9naWNhbFJpZ2h0TGF5b3V0
T3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsK
LQotICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxMZWZ0TGF5
b3V0T3ZlcmZsb3csIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7CiAgICAgcmV0dXJuIGxvZ2lj
YWxMZWZ0OwogfQogCkBAIC03NDMsMzIgKzY4OCwxMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpm
bGlwTGluZXNJbkJsb2NrRGlyZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21w
dXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJv
b2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdmVyZmxvdyhJ
bnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAgaWYgKCFwYXJlbnQoKSkKKyAg
ICAgICAgcmV0dXJuOyAvLyBCb3gtc2hhZG93IGRvZXNuJ3QgYXBwbHkgdG8gcm9vdCBsaW5lIGJv
eGVzLgorCisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxUb3A7CisgICAgaW50IGJveFNoYWRvd0xv
Z2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hT
aGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsVG9wLCBib3hTaGFkb3dM
b2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0g
bWluKGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9n
aWNhbEJvdHRvbSgpICsgYm94U2hhZG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJm
bG93LmJvdHRvbSgpKTsKKyAgICAKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7CisgICAg
aW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0
TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2Fs
TGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKKworICAgIGludCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gq
IHRleHRCb3gsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1h
cCwgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQogeworICAgIGludCBzdHJva2VPdmVy
ZmxvdyA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYocmVuZGVyZXIoKS0+c3R5bGUoKS0+dGV4dFN0
cm9rZVdpZHRoKCkgLyAyLjBmKSk7CisKKyAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHRleHRCb3gpOworICAgIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0YU1hcC5lbmQoKSA/
IDAgOiAmaXQtPnNlY29uZC5zZWNvbmQ7CisKICAgICBib29sIGlzRmxpcHBlZExpbmUgPSByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKTsK
IAotICAgIGludCBib3hIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IHRvcEdseXBo
RWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJv
dHRvbSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOworICAgIGludCBib3R0b21HbHlwaEVkZ2Ug
PSBnbHlwaE92ZXJmbG93ID8gKGlzRmxpcHBlZExpbmUgPyBnbHlwaE92ZXJmbG93LT50b3AgOiBn
bHlwaE92ZXJmbG93LT5ib3R0b20pIDogMDsKKyAgICBpbnQgbGVmdEdseXBoRWRnZSA9IGdseXBo
T3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMDsKKyAgICBpbnQgcmlnaHRHbHlwaEVk
Z2UgPSBnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmlnaHQgOiAwOworICAgIAorICAg
IGludCB0b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOwor
ICAgIGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlw
aEVkZ2U7CisgICAgaW50IGxlZnRHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gbGVm
dEdseXBoRWRnZTsKKyAgICBpbnQgcmlnaHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cg
KyByaWdodEdseXBoRWRnZTsKKworICAgIC8vIElmIGxldHRlci1zcGFjaW5nIGlzIG5lZ2F0aXZl
LCB3ZSBzaG91bGQgZmFjdG9yIHRoYXQgaW50byByaWdodCBsYXlvdXQgb3ZlcmZsb3cuIChFdmVu
IGluIFJUTCwgbGV0dGVyLXNwYWNpbmcgaXMKKyAgICAvLyBhcHBsaWVkIHRvIHRoZSByaWdodCwg
c28gdGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93LgorICAgIGludCBsZXR0
ZXJTcGFjaW5nID0gbWluKDAsIChpbnQpcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkubGV0dGVyU3BhY2luZygpKTsKKyAgICByaWdodEdseXBoT3ZlcmZsb3cgLT0gbGV0dGVy
U3BhY2luZzsKKworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFRvcDsKKyAgICBpbnQgdGV4dFNo
YWRvd0xvZ2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5n
ZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxUb3AsIHRl
eHRTaGFkb3dMb2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxUb3AgPSBtaW4odGV4dFNoYWRvd0xvZ2ljYWxUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BH
bHlwaE92ZXJmbG93KTsKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20gPSBtYXgo
dGV4dFNoYWRvd0xvZ2ljYWxCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlw
aE92ZXJmbG93KTsKKyAgIAorICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50
IHRleHRTaGFkb3dMb2dpY2FsUmlnaHQ7CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5nZXRUZXh0U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dMb2dpY2Fs
TGVmdCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCk7CisgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gbWluKHRleHRTaGFkb3dMb2dpY2FsTGVmdCArIGxlZnRHbHlwaE92ZXJm
bG93LCBsZWZ0R2x5cGhPdmVyZmxvdyk7CisgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQgPSBtYXgodGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIHJpZ2h0R2x5cGhPdmVyZmxvdywgcmln
aHRHbHlwaE92ZXJmbG93KTsKKworICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBt
aW4odGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZs
b3cgPSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxC
b3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5ib3R0b20oKSk7CisgICAgaW50IGxvZ2ljYWxM
ZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnJpZ2h0KCkp
OworICAgIAorICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
VG9wVmlzdWFsT3ZlcmZsb3cpOworfQorCit2b2lkIElubGluZUZsb3dCb3g6OmFkZFJlcGxhY2Vk
Q2hpbGRPdmVyZmxvdyhjb25zdCBJbmxpbmVCb3gqIGlubGluZUJveCwgSW50UmVjdCYgbG9naWNh
bExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAg
UmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChpbmxpbmVCb3gtPnJlbmRlcmVyKCkpOworICAg
IAorICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGJveCBkb2Vz
bid0IGhhdmUgYSBzZWxmLXBhaW50aW5nIGxheWVyLiAgVGhpcyByZWN0YW5nbGUgZG9lcyBub3Qg
aW5jbHVkZQorICAgIC8vIHRyYW5zZm9ybXMgb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgKHNpbmNl
IHRob3NlIG9iamVjdHMgYWx3YXlzIGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMpLCBidXQgaXQg
ZG9lcyBuZWVkIHRvIGJlIGFkanVzdGVkCisgICAgLy8gZm9yIHdyaXRpbmctbW9kZSBkaWZmZXJl
bmNlcy4KKyAgICBpZiAoIWJveC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICBJ
bnRSZWN0IGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisgICAgICAgIGNo
aWxkTG9naWNhbFZpc3VhbE92ZXJmbG93Lm1vdmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBp
bmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy51
bml0ZShjaGlsZExvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgfQorCisgICAgLy8gTGF5b3V0
IG92ZXJmbG93IGludGVybmFsIHRvIHRoZSBjaGlsZCBib3ggb25seSBwcm9wYWdhdGVzIGlmIHRo
ZSBjaGlsZCBib3ggZG9lc24ndCBoYXZlIG92ZXJmbG93IGNsaXAgc2V0LgorICAgIC8vIE90aGVy
d2lzZSB0aGUgY2hpbGQgYm9yZGVyIGJveCBwcm9wYWdhdGVzIGFzIGxheW91dCBvdmVyZmxvdy4g
IFRoaXMgcmVjdGFuZ2xlIG11c3QgaW5jbHVkZSB0cmFuc2Zvcm1zIGFuZCByZWxhdGl2ZSBwb3Np
dGlvbmluZworICAgIC8vIGFuZCBiZSBhZGp1c3RlZCBmb3Igd3JpdGluZy1tb2RlIGRpZmZlcmVu
Y2VzLgorICAgIEludFJlY3QgY2hpbGRMb2dpY2FsTGF5b3V0T3ZlcmZsb3cgPSBib3gtPmxvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigpLT5zdHlsZSgpKTsK
KyAgICBjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdy5tb3ZlKGlubGluZUJveC0+bG9naWNhbExl
ZnQoKSwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkpOworICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dy51bml0ZShjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7Cit9CiAKK3ZvaWQgSW5saW5lRmxv
d0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBz
dHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCit7CiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhlIGxpbmUgdG9wIGFuZCBi
b3R0b20gaXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0IGlnbm9yZSB0aGlzLCBz
aW5jZSBpdCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91ciBhc2NlbnQvZGVzY2Vu
dCBkb24ndCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgogICAgIGludCB0b3BPdmVyZmxvdyA9IG1h
eChsb2dpY2FsVG9wKCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihs
b2dpY2FsVG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOworICAgIGludCBib3R0b21PdmVy
ZmxvdyA9IG1pbihsb2dpY2FsQm90dG9tKCksIGxpbmVCb3R0b20pOwogICAgIAotICAgIGludCB0
b3BMYXlvdXRPdmVyZmxvdyA9IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9IGJvdHRvbU92ZXJmbG93OwotICAgIAotICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdyA9
IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGJvdHRvbU92ZXJm
bG93OworICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBqdXN0IGluY2x1ZGVzIG92ZXJmbG93IGZvciBz
dHVmZiB3ZSBuZWVkIHRvIHJlcGFpbnQgb3Vyc2VsdmVzLiAgU2VsZi1wYWludGluZyBsYXllcnMg
YXJlIGlnbm9yZWQuCisgICAgLy8gTGF5b3V0IG92ZXJmbG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5l
IHNjcm9sbGluZyBleHRlbnQsIHNvIGl0IHN0aWxsIGluY2x1ZGVzIGNoaWxkIGxheWVycyBhbmQg
YWxzbyBmYWN0b3JzIGluCisgICAgLy8gdHJhbnNmb3JtcywgcmVsYXRpdmUgcG9zaXRpb25pbmcs
IGV0Yy4KKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdCgpLCB0
b3BPdmVyZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cp
OworICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyk7CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9vdCBsaW5lIGJveGVzIGlzIGFwcGx5aW5n
IHRvIHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5lcy4KLSAgICBpZiAocGFyZW50KCkpIHsK
LSAgICAgICAgaW50IGJveFNoYWRvd1RvcDsKLSAgICAgICAgaW50IGJveFNoYWRvd0JvdHRvbTsK
LSAgICAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9j
a0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7Ci0gICAgICAg
IAotICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsVG9wKCkgKyBib3hTaGFk
b3dUb3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSBtYXgobG9naWNhbFRvcCgpICsgYm94SGVpZ2h0ICsgYm94U2hhZG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgfQorICAgIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyk7CiAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0
Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCkBAIC03NzksNjQgKzgwNCw2MCBAQCB2
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBSZW5k
ZXJUZXh0KiBydCA9IHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAg
IGlmIChydC0+aXNCUigpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KHRleHQsIHRleHRCb3hEYXRhTWFwLCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cpOworICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Jl
bmRlcklubGluZSgpKSB7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgZmxvdy0+Y29tcHV0ZU92
ZXJmbG93KGxpbmVUb3AsIGxpbmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsK
KyAgICAgICAgICAgIGlmICghZmxvdy0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5n
TGF5ZXIoKSkKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudW5pdGUoZmxv
dy0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgICAgIEludFJlY3QgY2hp
bGRMYXlvdXRPdmVyZmxvdyA9IGZsb3ctPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3cubW92ZShmbG93LT5ib3hNb2RlbE9iamVjdCgp
LT5yZWxhdGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCgpKTsKKyAgICAgICAgICAgIGxvZ2ljYWxM
YXlvdXRPdmVyZmxvdy51bml0ZShjaGlsZExheW91dE92ZXJmbG93KTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY3VyciwgbG9naWNhbExheW91
dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIH0KKyAgICAKKyAgICBzZXRP
dmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3csIGxpbmVUb3AsIGxpbmVCb3R0b20pOworfQogCi0gICAgICAgICAgICBpbnQg
c3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgpLT50ZXh0
U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLQotICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZh
bGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9yIGl0ID0gdGV4dEJveERhdGFNYXAuZmluZChzdGF0aWNf
Y2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3VycikpOwotICAgICAgICAgICAgR2x5cGhPdmVyZmxvdyog
Z2x5cGhPdmVyZmxvdyA9IGl0ID09IHRleHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vj
b25kLnNlY29uZDsKLQotICAgICAgICAgICAgaW50IHRvcEdseXBoRWRnZSA9IGdseXBoT3ZlcmZs
b3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA6IGdseXBoT3ZlcmZs
b3ctPnRvcCkgOiAwOwotICAgICAgICAgICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3Zl
cmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZs
b3ctPmJvdHRvbSkgOiAwOwotCi0gICAgICAgICAgICBpbnQgdG9wR2x5cGhPdmVyZmxvdyA9IC1z
dHJva2VPdmVyZmxvdyAtIHRvcEdseXBoRWRnZTsKLSAgICAgICAgICAgIGludCBib3R0b21HbHlw
aE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlwaEVkZ2U7Cit2b2lkIElubGlu
ZUZsb3dCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QsIGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSkKK3sKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0
KCk7CisgICAgZnJhbWVCb3guaW50ZXJzZWN0KEludFJlY3QoZnJhbWVCb3gueCgpLCBsaW5lVG9w
LCBmcmFtZUJveC53aWR0aCgpLCBsaW5lQm90dG9tIC0gbGluZVRvcCkpOworICAgIGlmIChmcmFt
ZUJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgICAKKyAgICBpZiAoIW1fb3ZlcmZsb3cpCisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5l
dyBSZW5kZXJPdmVyZmxvdyhmcmFtZUJveCwgZnJhbWVCb3gpKTsKKyAgICAKKyAgICBtX292ZXJm
bG93LT5hZGRMYXlvdXRPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgaW50IHRleHRT
aGFkb3dUb3A7Ci0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd0JvdHRvbTsKLSAgICAgICAgICAg
IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0VGV4dFNoYWRvd0Jsb2Nr
RGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dUb3AsIHRleHRTaGFkb3dCb3R0b20pOwordm9pZCBJ
bmxpbmVGbG93Qm94OjphZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBpbnQg
bGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1l
UmVjdCgpOworICAgIGZyYW1lQm94LmludGVyc2VjdChJbnRSZWN0KGZyYW1lQm94LngoKSwgbGlu
ZVRvcCwgZnJhbWVCb3gud2lkdGgoKSwgbGluZUJvdHRvbSAtIGxpbmVUb3ApKTsKKyAgICBpZiAo
ZnJhbWVCb3guY29udGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd1RvcCA9IG1pbih0ZXh0
U2hhZG93VG9wICsgdG9wR2x5cGhPdmVyZmxvdywgdG9wR2x5cGhPdmVyZmxvdyk7Ci0gICAgICAg
ICAgICBpbnQgY2hpbGRPdmVyZmxvd0JvdHRvbSA9IG1heCh0ZXh0U2hhZG93Qm90dG9tICsgYm90
dG9tR2x5cGhPdmVyZmxvdywgYm90dG9tR2x5cGhPdmVyZmxvdyk7CisgICAgaWYgKCFtX292ZXJm
bG93KQorICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coZnJhbWVCb3gs
IGZyYW1lQm94KSk7CiAgICAgCi0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihj
dXJyLT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxPdmVyZmxvdyk7
Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT5sb2dpY2FsVG9w
KCkgKyB0ZXh0LT5sb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgIH0gZWxzZSAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlz
UmVuZGVySW5saW5lKCkpIHsKLSAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0
aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7Ci0gICAgICAgICAgICBmbG93LT5jb21wdXRl
QmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhsaW5lVG9wLCBsaW5lQm90dG9tLCBzdHJpY3RNb2RlLCB0
ZXh0Qm94RGF0YU1hcCk7Ci0gICAgICAgICAgICB0b3BMYXlvdXRPdmVyZmxvdyA9IG1pbih0b3BM
YXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbFRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAg
ICAgICAgYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBtYXgoYm90dG9tTGF5b3V0T3ZlcmZsb3csIGZs
b3ctPmxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpKTsKLSAgICAgICAgICAgIHRvcFZpc3Vh
bE92ZXJmbG93ID0gbWluKHRvcFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChib3R0
b21WaXN1YWxPdmVyZmxvdywgZmxvdy0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOwot
ICAgICAgICB9IGVsc2UgaWYgKCFjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRp
bmdMYXllcigpKXsKLSAgICAgICAgICAgIC8vIE9ubHkgaW5jbHVkZSBvdmVyZmxvdyBmcm9tIHJl
cGxhY2VkIGlubGluZXMgaWYgdGhleSBkbyBub3QgcGFpbnQgdGhlbXNlbHZlcy4KLSAgICAgICAg
ICAgIGludCBib3hMb2dpY2FsVG9wID0gY3Vyci0+bG9naWNhbFRvcCgpOwotICAgICAgICAgICAg
aW50IGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21M
YXlvdXRPdmVyZmxvdzsKLSAgICAgICAgICAgIGludCBjaGlsZFRvcFZpc3VhbE92ZXJmbG93Owot
ICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3c7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3goY3Vyci0+cmVuZGVyZXIo
KSk7Ci0gICAgICAgICAgICBib3gtPmJsb2NrRGlyZWN0aW9uT3ZlcmZsb3coaXNIb3Jpem9udGFs
KCksIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3csIGNoaWxkQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRUb3BWaXN1YWxPdmVy
ZmxvdywgY2hpbGRCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChib3gtPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICAgICAgY2hpbGRU
b3BMYXlvdXRPdmVyZmxvdyA9IDA7Ci0gICAgICAgICAgICAgICAgY2hpbGRCb3R0b21MYXlvdXRP
dmVyZmxvdyA9IGN1cnItPmxvZ2ljYWxIZWlnaHQoKTsKLSAgICAgICAgICAgIH0KKyAgICBtX292
ZXJmbG93LT5hZGRWaXN1YWxPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgdG9wTGF5
b3V0T3ZlcmZsb3cgPSBtaW4oYm94TG9naWNhbFRvcCArIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3cs
IHRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0g
bWF4KGJveExvZ2ljYWxUb3AgKyBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93LCBib3R0b21MYXlv
dXRPdmVyZmxvdyk7Ci0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihib3hMb2dp
Y2FsVG9wICsgY2hpbGRUb3BWaXN1YWxPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAg
ICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoYm94TG9naWNhbFRvcCArIGNoaWxk
Qm90dG9tVmlzdWFsT3ZlcmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgfQot
ICAgIH0KK3ZvaWQgSW5saW5lRmxvd0JveDo6c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNv
bnN0IEludFJlY3QmIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNh
bFZpc3VhbE92ZXJmbG93LCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50
UmVjdCBsYXlvdXRPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyA6IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgpKTsKKyAgICBhZGRMYXlv
dXRPdmVyZmxvdyhsYXlvdXRPdmVyZmxvdywgbGluZVRvcCwgbGluZUJvdHRvbSk7CiAgICAgCi0g
ICAgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyh0b3BMYXlvdXRPdmVyZmxvdywg
Ym90dG9tTGF5b3V0T3ZlcmZsb3csIHRvcFZpc3VhbE92ZXJmbG93LCBib3R0b21WaXN1YWxPdmVy
Zmxvdyk7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyA6IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgp
KTsKKyAgICBhZGRWaXN1YWxPdmVyZmxvdyh2aXN1YWxPdmVyZmxvdywgbGluZVRvcCwgbGluZUJv
dHRvbSk7CiB9CiAKIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVz
dFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IHgsIGludCB5LCBp
bnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXNpYmxlT3ZlcmZs
b3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc3VhbE92ZXJmbG93UmVjdCgp
KTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVyZmxvd1Jl
Y3QubW92ZSh0eCwgdHkpOwogICAgIGlmICghb3ZlcmZsb3dSZWN0LmludGVyc2VjdHMocmVzdWx0
LnJlY3RGb3JQb2ludCh4LCB5KSkpCkBAIC04NjUsNyArODg2LDcgQEAgYm9vbCBJbmxpbmVGbG93
Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogCiB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50KFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJm
bG93UmVjdCh2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
KHZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICBvdmVyZmxvd1JlY3QuaW5mbGF0ZShyZW5kZXJl
cigpLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAgZmxpcEZvcldy
aXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUodHgsIHR5KTsK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDczMDgxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsMTAg
KzE2MywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbihp
bnQgbG9naWNhbFRvcCwgaW50IG1heEhlaWdodCwgaW50IG1heEFzY2VudCwgYm9vbCBzdHJpY3RN
b2RlLCBpbnQmIGxpbmVUb3AsIGludCYgbGluZUJvdHRvbSwgYm9vbCYgc2V0TGluZVRvcCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbGluZVRvcEluY2x1ZGluZ01h
cmdpbnMsIGludCYgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGJvb2wmIGNvbnRhaW5zUnVi
eSwgRm9udEJhc2VsaW5lKTsKICAgICB2b2lkIGZsaXBMaW5lc0luQmxvY2tEaXJlY3Rpb24oaW50
IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKLSAgICB2b2lkIGNvbXB1dGVCbG9ja0RpcmVjdGlv
bk92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBH
bHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIGJvb2wgcmVxdWlyZXNJZGVv
Z3JhcGhpY0Jhc2VsaW5lKGNvbnN0IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJikg
Y29uc3Q7CiAgICAgaW50IGNvbXB1dGVCbG9ja0RpcmVjdGlvblJ1YnlBZGp1c3RtZW50KGludCBh
bGxvd2VkUG9zaXRpb24pIGNvbnN0OwogICAgIAorICAgIHZvaWQgY29tcHV0ZU92ZXJmbG93KGlu
dCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIAogICAgIHZvaWQgcmVtb3ZlQ2hpbGQoSW5saW5l
Qm94KiBjaGlsZCk7CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUg
c2VsZWN0aW9uU3RhdGUoKTsKQEAgLTE4MywxNyArMTg0LDYgQEAgcHVibGljOgogICAgIC8vIHRv
cC9yaWdodC9ib3R0b20vbGVmdCBpbiB0aGUgY29kZSAtIHRoZXNlIGFyZW4ndCBwdXJlbHkgcGh5
c2ljYWwgZGlyZWN0aW9ucy4gIEZvciBob3Jpem9udGFsLXRiIGFuZCB2ZXJ0aWNhbC1sciB0aGV5
IHdpbGwgbWF0Y2ggcGh5c2ljYWwKICAgICAvLyBkaXJlY3Rpb25zLCBidXQgZm9yIGhvcml6b250
YWwtYnQgYW5kIHZlcnRpY2FsLXJsLCB0aGUgdG9wL2JvdHRvbSBhbmQgbGVmdC9yaWdodCByZXNw
ZWN0aXZlbHkgYXJlIGludmVydGVkIHdoZW4gY29tcGFyZWQgdG8KICAgICAvLyB0aGVpciBwaHlz
aWNhbCBjb3VudGVycGFydHMuCi0gICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsg
cmV0dXJuIHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93KCksIHRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbihsZWZ0
TGF5b3V0T3ZlcmZsb3coKSwgbGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IHJpZ2h0
VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgocmlnaHRMYXlvdXRPdmVy
ZmxvdygpLCByaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2ljYWxMZWZ0Vmlz
aWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptaW4obG9naWNhbExlZnRMYXlvdXRP
dmVyZmxvdygpLCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2lj
YWxSaWdodFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4KGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93KCksIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1p
bihsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBzdGQ6Om1heChsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KCkpOyB9Ci0KLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJsZU92ZXJmbG93UmVj
dCgpIDogSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyAgfQotCiAgICAgaW50
IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZs
b3ctPnRvcExheW91dE92ZXJmbG93KCkgOiBtX3k7IH0KICAgICBpbnQgYm90dG9tTGF5b3V0T3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5
b3V0T3ZlcmZsb3coKSA6IG1feSArIGhlaWdodCgpOyB9CiAgICAgaW50IGxlZnRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5b3V0
T3ZlcmZsb3coKSA6IG1feDsgfQpAQCAtMjAzLDYgKzE5MywxMyBAQCBwdWJsaWM6CiAgICAgaW50
IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFRvcExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHRvcFZpc3VhbE92ZXJmbG93KCkgOiBsZWZ0VmlzdWFsT3ZlcmZsb3co
KTsgfQogICAgIGludCBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm90dG9t
TGF5b3V0T3ZlcmZsb3coKSA6IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKTsgfQorICAgIEludFJlY3Qg
bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0CisgICAgeworICAgICAgICBJbnRSZWN0
IHJlc3VsdCA9IGxheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICBpZiAoIXJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICByZXN1bHQg
PSByZXN1bHQudHJhbnNwb3NlZFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CiAKICAgICBpbnQgdG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
ID8gbV9vdmVyZmxvdy0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IG1feTsgfQogICAgIGludCBib3R0
b21WaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KQEAgLTIxMywxMSAr
MjEwLDIyIEBAIHB1YmxpYzoKICAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gcmlnaHRWaXN1YWxPdmVyZmxvdygpIDogYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsgfQog
ICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZs
b3coKSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBib3R0b21WaXN1YWxPdmVyZmxvdygpIDogcmlnaHRWaXN1YWxP
dmVyZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29u
c3QKKyAgICB7CisgICAgICAgIEludFJlY3QgcmVzdWx0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7
CisgICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC50cmFuc3Bvc2VkUmVjdCgpOworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAotICAgIHZvaWQgc2V0SW5saW5lRGlyZWN0aW9u
T3ZlcmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dp
Y2FsUmlnaHRMYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIHZvaWQgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bv
c2l0aW9ucyhpbnQgbG9naWNhbFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxh
eW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KTsKKyAgICB2b2lkIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhjb25zdCBJbnRS
ZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IEludFJlY3QmIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdywgaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKKyAgICB2b2lkIGFkZExheW91
dE92ZXJmbG93KGNvbnN0IEludFJlY3QmLCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pOwor
ICAgIHZvaWQgYWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYsIGludCBsaW5lVG9wLCBp
bnQgbGluZUJvdHRvbSk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBhZGRCb3hTaGFkb3dWaXN1YWxP
dmVyZmxvdyhJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgYWRkVGV4
dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gqLCBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcCYsIEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAg
dm9pZCBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY29uc3QgSW5saW5lQm94KiwgSW50UmVjdCYg
bG9naWNhbExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgT3duUHRyPFJlbmRlck92ZXJmbG93PiBtX292ZXJmbG93OwpAQCAt
MjM5LDUyICsyNDcsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKLWlubGluZSB2b2lkIElu
bGluZUZsb3dCb3g6OnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3csIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdykgCi17IAotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9n
aWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodExh
eW91dE92ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpIAotICAgICAgICAgICAgJiYgbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBt
X292ZXJmbG93ID0gYWRvcHRQdHIobmV3IFJlbmRlck92ZXJmbG93KEludFJlY3QobV94LCBtX3ks
IHdpZHRoKCksIGhlaWdodCgpKSkpOyAgIAotICAgIH0KLQotICAgIGlmIChpc0hvcml6b250YWwo
KSkgewotICAgICAgICBtX292ZXJmbG93LT5zZXRMZWZ0TGF5b3V0T3ZlcmZsb3cobG9naWNhbExl
ZnRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3Zl
cmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5z
ZXRMZWZ0VmlzdWFsT3ZlcmZsb3cobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7IAotICAgICAg
ICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KTsKLSAgICB9IGVsc2UgewotICAgICAgICBtX292ZXJmbG93LT5zZXRUb3BMYXlvdXRP
dmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+
c2V0Qm90dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAg
ICAgICBtX292ZXJmbG93LT5zZXRUb3BWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsgIAotICAgIH0KLX0KLQotaW5saW5lIHZvaWQgSW5s
aW5lRmxvd0JveDo6c2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNh
bFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KQotewotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9naWNhbFRv
cExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxUb3AoKSAmJiBsb2dpY2FsQm90dG9tTGF5b3V0T3Zl
cmZsb3cgPT0gbG9naWNhbEJvdHRvbSgpCi0gICAgICAgICAgICAmJiBsb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYmIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9
PSBsb2dpY2FsQm90dG9tKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZs
b3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3ZlcmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgo
KSwgaGVpZ2h0KCkpKSk7Ci0gICAgfQotCi0gICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAg
ICAgIG1fb3ZlcmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVy
Zmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbUxheW91dE92ZXJmbG93KGxvZ2lj
YWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3Vh
bE92ZXJmbG93KGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93
LT5zZXRCb3R0b21WaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRMYXlvdXRPdmVyZmxvdyhs
b2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodExh
eW91dE92ZXJmbG93KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3Zl
cmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOyAK
LSAgICAgICAgbV9vdmVyZmxvdy0+c2V0UmlnaHRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9t
VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0KLX0KLQogI2lmZGVmIE5ERUJVRwogaW5saW5lIHZvaWQg
SW5saW5lRmxvd0JveDo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxMSw2ICsxMjExLDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogIAogICAgIC8vIENhbGN1bGF0
ZSBvdXIgbmV3IGhlaWdodC4KICAgICBpbnQgb2xkSGVpZ2h0ID0gbG9naWNhbEhlaWdodCgpOwor
ICAgIEludFJlY3Qgb2xkQ2xpZW50UmVjdCA9IGNsaWVudEJveFJlY3QoKTsKICAgICBjb21wdXRl
TG9naWNhbEhlaWdodCgpOwogICAgIGludCBuZXdIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAg
ICAgaWYgKG9sZEhlaWdodCAhPSBuZXdIZWlnaHQpIHsKQEAgLTEyMjksMjUgKzEyMzAsMTAgQEAg
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIGlmIChwcmV2aW91
c0hlaWdodCAhPSBuZXdIZWlnaHQpCiAgICAgICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwog
Ci0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gY2hpbGRyZW4gKHVubGVzcyB3ZSdyZSBtdWx0aS1j
b2x1bW4sIHNpbmNlIGluIHRoYXQgY2FzZSBhbGwgb3VyIGNoaWxkIG92ZXJmbG93IGlzIGNsaXBw
ZWQgYW55d2F5KS4KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIGNo
ZWNrIGlzIGRlc2lnbmVkIHRvIGNhdGNoIGFueW9uZQotICAgICAgICAvLyB3aG8gd2Fzbid0IGdv
aW5nIHRvIHByb3BhZ2F0ZSBmbG9hdCBpbmZvcm1hdGlvbiB1cCB0byB0aGUgcGFyZW50IGFuZCB5
ZXQgY291bGQgcG90ZW50aWFsbHkgYmUgcGFpbnRlZCBieSBpdHMgYW5jZXN0b3IuCi0gICAgICAg
IGlmIChpc1Jvb3QoKSB8fCBleHBhbmRzVG9FbmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSkKLSAg
ICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUZsb2F0cygpOwotCi0gICAgICAgIGlmIChjaGlsZHJl
bklubGluZSgpKQotICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigp
OwotICAgIH0KLQotICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFu
ZCByZWZsZWN0aW9ucy4KLSAgICBhZGRTaGFkb3dPdmVyZmxvdygpOwotCiAgICAgbGF5b3V0UG9z
aXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGlsZHJlbiB8fCBpc1Jvb3QoKSk7CiAKLSAgICBwb3Np
dGlvbkxpc3RNYXJrZXIoKTsKKyAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5s
ZXNzIHdlJ3JlIG11bHRpLWNvbHVtbiwgc2luY2UgaW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQg
b3ZlcmZsb3cgaXMgY2xpcHBlZCBhbnl3YXkpLgorICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRDbGll
bnRSZWN0KTsKICAgICAKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKIApAQCAtMTI2Myw4ICsxMjQ5
LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIC8vIFJl
cGFpbnQgd2l0aCBvdXIgbmV3IGJvdW5kcyBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgZnJvbSBvdXIg
b2xkIGJvdW5kcy4KICAgICBib29sIGRpZEZ1bGxSZXBhaW50ID0gcmVwYWludGVyLnJlcGFpbnRB
ZnRlckxheW91dCgpOwogICAgIGlmICghZGlkRnVsbFJlcGFpbnQgJiYgcmVwYWludExvZ2ljYWxU
b3AgIT0gcmVwYWludExvZ2ljYWxCb3R0b20gJiYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBW
SVNJQkxFIHx8IGVuY2xvc2luZ0xheWVyKCktPmhhc1Zpc2libGVDb250ZW50KCkpKSB7Ci0gICAg
ICAgIGludCByZXBhaW50TG9naWNhbExlZnQgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dygpLCBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpOwotICAgICAgICBpbnQgcmVwYWludExv
Z2ljYWxSaWdodCA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsUmln
aHRMYXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgaW50IHJlcGFpbnRMb2dpY2FsTGVmdCA9IGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgaW50IHJlcGFpbnRMb2dpY2FsUmln
aHQgPSBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpOwogICAgICAgICAKICAgICAgICAgSW50
UmVjdCByZXBhaW50UmVjdDsKICAgICAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCkBAIC0xMjk1LDYgKzEyODEsNDIgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0
QmxvY2soYm9vbCByZWxheQogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAordm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZU92ZXJmbG93KGNvbnN0IEludFJlY3QmIGFkZGl0aW9uYWxSZWN0
VG9BcHBseSkKK3sKKyAgICBpZiAoIWhhc0NvbHVtbnMoKSkgeworICAgICAgICBhZGRPdmVyZmxv
d0Zyb21GbG9hdHMoKTsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAg
ICBhZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKKyAgICAgICAgaWYgKGNvbHVt
bkNvdW50KGNvbEluZm8pKSB7CisgICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1u
UmVjdEF0KGNvbEluZm8sIGNvbHVtbkNvdW50KGNvbEluZm8pIC0gMSk7CisgICAgICAgICAgICBp
bnQgb3ZlcmZsb3dMZWZ0ID0gIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1p
bigwLCBsYXN0UmVjdC54KCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0g
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0
LngoKSArIGxhc3RSZWN0LndpZHRoKCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd0hl
aWdodCA9IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0
KCk7CisgICAgICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwg
MCwgb3ZlcmZsb3dSaWdodCAtIG92ZXJmbG93TGVmdCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAg
ICAgfQorICAgIH0KKyAgICAKKyAgICAvLyBBZGQgaW4gdGhlIG92ZXJmbG93IGZyb20gcG9zaXRp
b25lZCBvYmplY3RzLgorICAgIGFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCk7CisK
KyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpIHsKKyAgICAgICAgLy8gV2hlbiB3ZSBoYXZlIG92
ZXJmbG93IGNsaXAsIHByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgc3BpbGxvdXQgc2luY2UgaXQgd2ls
bCBpbmNsdWRlIGNvbGxhcHNlZCBib3R0b20gbWFyZ2lucworICAgICAgICAvLyBhbmQgYm90dG9t
IHBhZGRpbmcuCisgICAgICAgIGFkZExheW91dE92ZXJmbG93KGFkZGl0aW9uYWxSZWN0VG9BcHBs
eSk7CisgICAgfQorICAgICAgICAKKyAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93IGZyb20gYm94
LXNoYWRvdyBhbmQgcmVmbGVjdGlvbnMuCisgICAgYWRkU2hhZG93T3ZlcmZsb3coKTsKKworICAg
IC8vIFBvc2l0aW9uIG91ciBsaXN0IG1hcmtlciwgd2hpY2ggd2lsbCBwcm9wYWdhdGUgb3ZlcmZs
b3cgYmFjayB1cCB0byB1cyAoYW5kIGFsbCB0aGUgd2F5IGJhY2sgdXAgdG8gYW4gZW5jbG9zaW5n
CisgICAgLy8gbGlzdCBpdGVtIGlmIG5lY2Vzc2FyeS4KKyAgICBwb3NpdGlvbkxpc3RNYXJrZXIo
KTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigp
CiB7CiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewpAQCAtMTMxMSwxMiArMTMzMywyOCBA
QCB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21GbG9hdHMoCiAgICAgRmxvYXRpbmdP
YmplY3QqIHI7CiAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxGbG9hdGluZ09iamVjdD4g
aXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKICAgICBmb3IgKDsgKHIgPSBpdC5jdXJyZW50KCkpOyAr
K2l0KSB7Ci0gICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50ICYmICFyLT5tX3JlbmRlcmVyLT5o
YXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICBpZiAoci0+bV9zaG91bGRQYWludCB8fCBy
LT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQogICAgICAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tQ2hpbGQoci0+bV9yZW5kZXJlciwgSW50U2l6ZShyLT5sZWZ0KCkgKyByLT5tX3Jl
bmRlcmVyLT5tYXJnaW5MZWZ0KCksIHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9w
KCkpKTsKICAgICB9CiAgICAgcmV0dXJuOwogfQogCit2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVy
Zmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCit7CisgICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmpl
Y3RzKQorICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRPYmplY3Q7
CisgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7CisgICAgZm9y
IChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgeworICAgICAgICBwb3NpdGlvbmVkT2JqZWN0ID0gKml0OworICAgICAgICAKKyAgICAg
ICAgLy8gRml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91
dCBvdmVyZmxvdywgc2luY2UgdGhleSBkb24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KKyAg
ICAgICAgaWYgKHBvc2l0aW9uZWRPYmplY3QtPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQ
b3NpdGlvbikKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHBvc2l0aW9uZWRPYmpl
Y3QpOworICAgIH0KK30KKwogYm9vbCBSZW5kZXJCbG9jazo6ZXhwYW5kc1RvRW5jbG9zZU92ZXJo
YW5naW5nRmxvYXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkg
fHwgKHBhcmVudCgpICYmIHBhcmVudCgpLT5pc0ZsZXhpYmxlQm94KCkpCkBAIC0xOTk5LDYgKzIw
MzcsMTMgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBvc2l0aW9uZWRPYgogICAgIC8v
IEFsbCB3ZSBoYXZlIHRvIGlzIGxheSBvdXQgb3VyIHBvc2l0aW9uZWQgb2JqZWN0cy4KICAgICBs
YXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhmYWxzZSk7CiAKKyAgICBJbnRSZWN0IGNsaWVudFJlY3Qg
PSBjbGllbnRCb3hSZWN0KCk7CisgICAgaWYgKG1fb3ZlcmZsb3cgJiYgbGF5b3V0T3ZlcmZsb3dS
ZWN0KCkgIT0gY2xpZW50UmVjdCkgeworICAgICAgICAvLyBSZWNvbXB1dGUgb3VyIG92ZXJmbG93
IGluZm9ybWF0aW9uLgorICAgICAgICBtX292ZXJmbG93LT5yZXNldExheW91dE92ZXJmbG93KGNs
aWVudFJlY3QpOworICAgICAgICBjb21wdXRlT3ZlcmZsb3coY2xpZW50UmVjdCk7CisgICAgfQor
CiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAgICAgCiAgICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0o
KTsKQEAgLTIwMTEsMzggKzIwNTYsMzkgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBv
c2l0aW9uZWRPYgogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhi
b29sIHJlbGF5b3V0Q2hpbGRyZW4pCiB7Ci0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsK
LSAgICAgICAgaWYgKGhhc0NvbHVtbnMoKSkKLSAgICAgICAgICAgIHZpZXcoKS0+bGF5b3V0U3Rh
dGUoKS0+Y2xlYXJQYWdpbmF0aW9uSW5mb3JtYXRpb24oKTsgLy8gUG9zaXRpb25lZCBvYmplY3Rz
IGFyZSBub3QgcGFydCBvZiB0aGUgY29sdW1uIGZsb3csIHNvIHRoZXkgZG9uJ3QgcGFnaW5hdGUg
d2l0aCB0aGUgY29sdW1ucy4KKyAgICBpZiAoIW1fcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAg
IHJldHVybjsKKyAgICAgICAgCisgICAgaWYgKGhhc0NvbHVtbnMoKSkKKyAgICAgICAgdmlldygp
LT5sYXlvdXRTdGF0ZSgpLT5jbGVhclBhZ2luYXRpb25JbmZvcm1hdGlvbigpOyAvLyBQb3NpdGlv
bmVkIG9iamVjdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBjb2x1bW4gZmxvdywgc28gdGhleSBkb24n
dCBwYWdpbmF0ZSB3aXRoIHRoZSBjb2x1bW5zLgogCi0gICAgICAgIFJlbmRlckJveCogcjsKLSAg
ICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAg
IGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKLSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBXaGVuIGEg
bm9uLXBvc2l0aW9uZWQgYmxvY2sgZWxlbWVudCBtb3ZlcywgaXQgbWF5IGhhdmUgcG9zaXRpb25l
ZCBjaGlsZHJlbiB0aGF0IGFyZSBpbXBsaWNpdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhl
Ci0gICAgICAgICAgICAvLyBub24tcG9zaXRpb25lZCBibG9jay4gIFJhdGhlciB0aGFuIHRyeWlu
ZyB0byBkZXRlY3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNhc2VzLCB3ZSBqdXN0IGFsd2F5cyBs
YXkgb3V0IHBvc2l0aW9uZWQKLSAgICAgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUgcG9zaXRp
b25lZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwgYW5kIHNv
IGluIHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwotICAgICAg
ICAgICAgLy8gcG9zaXRpb25lZCBleHBsaWNpdGx5KSB0aGlzIHNob3VsZCBub3QgaW5jdXIgYSBw
ZXJmb3JtYW5jZSBwZW5hbHR5LgotICAgICAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwg
KHItPnN0eWxlKCktPmhhc1N0YXRpY1koKSAmJiByLT5wYXJlbnQoKSAhPSB0aGlzICYmIHItPnBh
cmVudCgpLT5pc0Jsb2NrRmxvdygpKSkKLSAgICAgICAgICAgICAgICByLT5zZXRDaGlsZE5lZWRz
TGF5b3V0KHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIElm
IHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFuZCB3ZSBoYXZlIHBlcmNlbnRhZ2UgcGFkZGluZywg
d2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkJ3MgcHJlZiB3aWR0aHMuCi0gICAg
ICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiAmJiAoci0+c3R5bGUoKS0+cGFkZGluZ1N0YXJ0
KCkuaXNQZXJjZW50KCkgfHwgci0+c3R5bGUoKS0+cGFkZGluZ0VuZCgpLmlzUGVyY2VudCgpKSkK
LSAgICAgICAgICAgICAgICByLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwg
ZmFsc2UpOworICAgIFJlbmRlckJveCogcjsKKyAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9u
ZWRPYmplY3RzLT5lbmQoKTsKKyAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVkT2Jq
ZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIHIgPSAqaXQ7CisgICAg
ICAgIC8vIFdoZW4gYSBub24tcG9zaXRpb25lZCBibG9jayBlbGVtZW50IG1vdmVzLCBpdCBtYXkg
aGF2ZSBwb3NpdGlvbmVkIGNoaWxkcmVuIHRoYXQgYXJlIGltcGxpY2l0bHkgcG9zaXRpb25lZCBy
ZWxhdGl2ZSB0byB0aGUKKyAgICAgICAgLy8gbm9uLXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIg
dGhhbiB0cnlpbmcgdG8gZGV0ZWN0IGFsbCBvZiB0aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVz
dCBhbHdheXMgbGF5IG91dCBwb3NpdGlvbmVkCisgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUg
cG9zaXRpb25lZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwg
YW5kIHNvIGluIHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwor
ICAgICAgICAvLyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5vdCBpbmN1ciBh
IHBlcmZvcm1hbmNlIHBlbmFsdHkuCisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChy
LT5zdHlsZSgpLT5oYXNTdGF0aWNZKCkgJiYgci0+cGFyZW50KCkgIT0gdGhpcyAmJiByLT5wYXJl
bnQoKS0+aXNCbG9ja0Zsb3coKSkpCisgICAgICAgICAgICByLT5zZXRDaGlsZE5lZWRzTGF5b3V0
KHRydWUsIGZhbHNlKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFyLT5uZWVkc0xh
eW91dCgpKQotICAgICAgICAgICAgICAgIHItPm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5l
ZWRlZCgpOwotCi0gICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlv
dXQuICBXZSBqdXN0IGhhdmUgdG8gdXBkYXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3Qu
IElmIHdlIGhhdmUgc2hyaW5rLXRvLWZpdCB3aWR0aAotICAgICAgICAgICAgLy8gYW5kIHdlIGhp
dCB0aGUgYXZhaWxhYmxlIHdpZHRoIGNvbnN0cmFpbnQsIHRoZSBsYXlvdXRJZk5lZWRlZCgpIHdp
bGwgY2F0Y2ggaXQgYW5kIGRvIGEgZnVsbCBsYXlvdXQuCi0gICAgICAgICAgICBpZiAoci0+bmVl
ZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXRPbmx5KCkpCi0gICAgICAgICAgICAgICAgci0+dHJ5
TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCk7Ci0gICAgICAgICAgICByLT5sYXlv
dXRJZk5lZWRlZCgpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAoaGFzQ29sdW1u
cygpKQotICAgICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5tX2NvbHVtbkluZm8gPSBj
b2x1bW5JbmZvKCk7IC8vIEZJWE1FOiBLaW5kIG9mIGdyb3NzLiBXZSBqdXN0IHB1dCB0aGlzIGJh
Y2sgaW50byB0aGUgbGF5b3V0IHN0YXRlIHNvIHRoYXQgcG9wKCkgd2lsbCB3b3JrLgorICAgICAg
ICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNldCBhbmQgd2UgaGF2ZSBwZXJjZW50YWdlIHBh
ZGRpbmcsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZCdzIHByZWYgd2lkdGhz
LgorICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiAmJiAoci0+c3R5bGUoKS0+cGFkZGluZ1N0
YXJ0KCkuaXNQZXJjZW50KCkgfHwgci0+c3R5bGUoKS0+cGFkZGluZ0VuZCgpLmlzUGVyY2VudCgp
KSkKKyAgICAgICAgICAgIHItPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSh0cnVlLCBm
YWxzZSk7CisgICAgICAgIAorICAgICAgICBpZiAoIXItPm5lZWRzTGF5b3V0KCkpCisgICAgICAg
ICAgICByLT5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAgICAv
LyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlvdXQuICBXZSBqdXN0IGhhdmUgdG8gdXBk
YXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3QuIElmIHdlIGhhdmUgc2hyaW5rLXRvLWZp
dCB3aWR0aAorICAgICAgICAvLyBhbmQgd2UgaGl0IHRoZSBhdmFpbGFibGUgd2lkdGggY29uc3Ry
YWludCwgdGhlIGxheW91dElmTmVlZGVkKCkgd2lsbCBjYXRjaCBpdCBhbmQgZG8gYSBmdWxsIGxh
eW91dC4KKyAgICAgICAgaWYgKHItPm5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0T25seSgp
KQorICAgICAgICAgICAgci0+dHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCk7
CisgICAgICAgIHItPmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAorICAgIGlmIChoYXND
b2x1bW5zKCkpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9jb2x1bW5JbmZvID0g
Y29sdW1uSW5mbygpOyAvLyBGSVhNRTogS2luZCBvZiBncm9zcy4gV2UganVzdCBwdXQgdGhpcyBi
YWNrIGludG8gdGhlIGxheW91dCBzdGF0ZSBzbyB0aGF0IHBvcCgpIHdpbGwgd29yay4KIH0KIAog
dm9pZCBSZW5kZXJCbG9jazo6bWFya1Bvc2l0aW9uZWRPYmplY3RzRm9yTGF5b3V0KCkKQEAgLTIx
MDcsNyArMjE1Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQK
ICAgICAvLyBGSVhNRTogQ291bGQgZWxpbWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBm
aXggYmFja2dyb3VuZCBwYWludGluZyBzbyB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFp
bnRzIHRoZSByb290J3MgYmFja2dyb3VuZC4KICAgICBpZiAoIWlzUm9vdCgpKSB7Ci0gICAgICAg
IEludFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIElu
dFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgb3ZlcmZs
b3dCb3guaW5mbGF0ZShtYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAg
ICAgIG92ZXJmbG93Qm94Lm1vdmUodHgsIHR5KTsKICAgICAgICAgaWYgKCFvdmVyZmxvd0JveC5p
bnRlcnNlY3RzKHBhaW50SW5mby5yZWN0KSkKQEAgLTMzNDgsNDE4ICszMzk0LDYgQEAgaW50IFJl
bmRlckJsb2NrOjpsb3dlc3RGbG9hdExvZ2ljYWxCb3R0bwogICAgIHJldHVybiBsb3dlc3RGbG9h
dEJvdHRvbTsKIH0KIAotaW50IFJlbmRlckJsb2NrOjp0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBw
bHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFu
c2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZFRvcCA9IGluY2x1ZGVTZWxm
ICYmIHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpID4gMCA/IDAgOiB0cmFuc2Zvcm1lZFJlY3QuaGVp
Z2h0KCk7Ci0gICAgCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3Zl
cmZsb3dDbGlwKCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm1lZFRvcDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0Lndp
ZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0cmFu
c2Zvcm1lZFRvcDsKLQotICAgIGludCB0b3AgPSBpbmNsdWRlU2VsZiAmJiB3aWR0aCgpID4gMCA/
IDAgOiBoZWlnaHQoKTsKLQotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBDb21lIHVwIHdpdGggYSB3YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZp
c2l0aW5nIGFsbCB0aGUga2lkcy4KLSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNj
ZW5kIGludG8gYWxsIHRoZSBjaGlsZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBk
aXYgaW5zaWRlCi0gICAgICAgIC8vIGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVl
cCBpbiBvdXIgY2hpbGQgdHJlZS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAg
ICAgICAvLyB0aGUgYWJzIGRpdi4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJz
dENoaWxkKCk7IGM7IGMgPSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMt
PmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAg
ICAgUmVuZGVyQm94KiBjaGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAg
IHRvcCA9IG1pbih0b3AsIGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNo
aWxkQm94LT50b3Btb3N0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmIChpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAg
ICAgICAgdG9wICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCk7IAotCi0gICAgaWYgKCFpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJu
IHRvcDsKLSAgICAKLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1Jl
bFBvc2l0aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgOiAwOwotCi0gICAgaWYg
KGluY2x1ZGVTZWxmKQotICAgICAgICB0b3AgPSBtaW4odG9wLCB0b3BMYXlvdXRPdmVyZmxvdygp
ICsgcmVsYXRpdmVPZmZzZXQpOwotCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRP
YmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9i
amVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsK
LSAgICAgICAgICAgIC8vIEZpeGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFu
ZCB0aHVzIHNob3VsZCBub3QgY29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUg
dG9wbW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChyLT5zdHlsZSgpLT5wb3NpdGlvbigp
ICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdv
cmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAgICAgICAgICAgICAvLyBJZiBhIHBv
c2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSB0byB0aGUgbGVmdCBvZiB0aGUgcm9vdCBp
dCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0gICAgICAgICAgICAgICAgLy8g
VGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29udHJpYnV0ZSB0byB0aGUgdG9w
bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUiA9IHIt
PnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1JlbmRlclZp
ZXcoKSB8fCB0cmFuc2Zvcm1lZFIueCgpICsgdHJhbnNmb3JtZWRSLndpZHRoKCkgPiAwIHx8IHRy
YW5zZm9ybWVkUi54KCkgKyByLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkgPiAwKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGludCB0cCA9IHRyYW5zZm9ybWVkUi55KCkgKyByLT50b3Btb3N0UG9z
aXRpb24oZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0b3AgPSBtaW4odG9wLCB0cCArIHJl
bGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIENvbHVtbkluZm8q
IGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBjb2x1bW5Db3VudChjb2xJbmZvKTsgaSsrKQotICAgICAgICAgICAgdG9wID0gbWluKHRvcCwg
Y29sdW1uUmVjdEF0KGNvbEluZm8sIGkpLnkoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAg
cmV0dXJuIHRvcDsKLSAgICB9Ci0KLSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAg
ICAgRmxvYXRpbmdPYmplY3QqIHI7Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8
RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsg
KHIgPSBpdC5jdXJyZW50KCkpOyArK2l0KSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9zaG91bGRQ
YWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAg
ICAgICAgICAgaW50IHRwID0gci0+dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSAr
IHItPm1fcmVuZGVyZXItPnRvcG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
dG9wID0gbWluKHRvcCwgdHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWluY2x1ZGVTZWxmICYmIGZpcnN0Um9vdEJveCgpKQot
ICAgICAgICB0b3AgPSBtaW4odG9wLCBmaXJzdFJvb3RCb3goKS0+c2VsZWN0aW9uVG9wKCkgKyBy
ZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5z
Zm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgp
KSB7Ci0gICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmln
aHQgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAg
ICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiB0b3A7
Ci19Ci0KLWludCBSZW5kZXJCbG9jazo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zv
cm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFuc2Zvcm1lZEZy
YW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZEJvdHRvbSA9IGluY2x1ZGVTZWxmICYmIHRy
YW5zZm9ybWVkUmVjdC53aWR0aCgpID4gMCA/IHRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSA6IDA7
Ci0KLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNPdmVyZmxvd0NsaXAo
KSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkQm90dG9t
OwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8
fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVk
Qm90dG9tOwotCi0gICAgaW50IGJvdHRvbSA9IGluY2x1ZGVTZWxmICYmIHdpZHRoKCkgPiAwID8g
aGVpZ2h0KCkgOiAwOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklY
TUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZvaWQgdmlz
aXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRvIGRlc2Nl
bmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2UgYWJzIGRp
diBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVyZSBkZWVw
IGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRvCi0gICAg
ICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICAvLyBTZWUgdGhlIGxhc3QgdGVzdCBjYXNlIGlu
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzE0IGZvciB3aHkgdGhp
cyBpcyBhIHByb2JsZW0uCi0gICAgICAgIC8vIEZvciBpbmxpbmUgY2hpbGRyZW4sIHdlIG1pc3Mg
cmVsYXRpdmUgcG9zaXRpb25lZCBib3hlcyB0aGF0IG1pZ2h0IGJlIGJ1cmllZCBpbnNpZGUgPHNw
YW4+cy4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxkKCk7IGM7IGMg
PSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxvYXRpbmdPclBv
c2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBj
aGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChi
b3R0b20sIGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNoaWxkQm94LT5s
b3dlc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBib3R0
b20gKz0gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsgICAgIAotICAgIGlmICghaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBib3R0
b207Ci0KLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0
aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgOiAwOwotCi0gICAgaWYgKGluY2x1
ZGVTZWxmKQotICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBib3R0b21MYXlvdXRPdmVyZmxv
dygpICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAKLSAgICBpZiAobV9wb3NpdGlvbmVkT2Jq
ZWN0cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1f
cG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9w
b3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAg
ICByID0gKml0OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5v
dCBzY3JvbGwgYW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBw
YXJ0IG9mIHRoZSBsb3dlc3QgcG9zaXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+
cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3b3JrIGZvciBvdmVyZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAg
Ly8gSWYgYSBwb3NpdGlvbmVkIG9iamVjdCBsaWVzIGNvbXBsZXRlbHkgdG8gdGhlIGxlZnQgb2Yg
dGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNoYWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAg
ICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUg
dG8gdGhlIGxvd2VzdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bWVkUiA9IHItPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFp
c1JlbmRlclZpZXcoKSB8fCB0cmFuc2Zvcm1lZFIueCgpICsgdHJhbnNmb3JtZWRSLndpZHRoKCkg
PiAwIHx8IHRyYW5zZm9ybWVkUi54KCkgKyByLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkgPiAw
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBscCA9IHRyYW5zZm9ybWVkUi55KCkgKyByLT5s
b3dlc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChi
b3R0b20sIGxwICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAg
ICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGNvbHVtbkNvdW50KGNvbEluZm8pOyBpKyspCi0gICAgICAgICAgICBi
b3R0b20gPSBtYXgoYm90dG9tLCBjb2x1bW5SZWN0QXQoY29sSW5mbywgaSkuYm90dG9tKCkgKyBy
ZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIHJldHVybiBib3R0b207Ci0gICAgfQotCi0gICAgaWYg
KG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAg
ICBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGlu
Z09iamVjdHMpOwotICAgICAgICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsK
LSAgICAgICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1Nl
bGZQYWludGluZ0xheWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgbHAgPSByLT50b3AoKSAr
IHItPm1fcmVuZGVyZXItPm1hcmdpblRvcCgpICsgci0+bV9yZW5kZXJlci0+bG93ZXN0UG9zaXRp
b24oZmFsc2UpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGxwICsgcmVs
YXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYg
KCFpbmNsdWRlU2VsZikgewotICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBib3JkZXJUb3Ao
KSArIHBhZGRpbmdUb3AoKSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAg
ICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKLSAgICAgICAgICAgIGlmIChsYXN0Um9vdEJv
eCgpKSB7Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tRWRnZSA9IGxhc3RSb290Qm94
KCktPnNlbGVjdGlvbkJvdHRvbSgpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0
b20sIGNoaWxkQm90dG9tRWRnZSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIEZpbmQgdGhl
IGxhc3Qgbm9ybWFsIGZsb3cgY2hpbGQuCi0gICAgICAgICAgICBSZW5kZXJCb3gqIGN1cnJCb3gg
PSBsYXN0Q2hpbGRCb3goKTsKLSAgICAgICAgICAgIHdoaWxlIChjdXJyQm94ICYmIGN1cnJCb3gt
PmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAgICBjdXJyQm94ID0gY3Vy
ckJveC0+cHJldmlvdXNTaWJsaW5nQm94KCk7Ci0gICAgICAgICAgICBpZiAoY3VyckJveCkgewot
ICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNmb3JtZWRDdXJyQm94ID0gY3VyckJveC0+dHJh
bnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21FZGdl
ID0gdHJhbnNmb3JtZWRDdXJyQm94LnkoKSArIHRyYW5zZm9ybWVkQ3VyckJveC5oZWlnaHQoKSAr
IGN1cnJCb3gtPmNvbGxhcHNlZE1hcmdpbkFmdGVyKCk7IC8vIEZJWE1FOiAiYWZ0ZXIiIGlzIHdy
b25nIGhlcmUgZm9yIGxvd2VzdFBvc2l0aW9uLgotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1h
eChib3R0b20sIGNoaWxkQm90dG9tRWRnZSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zm
c2V0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChhcHBseVRy
YW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYg
bGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3Np
dGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zv
cm0pOwotICAgICAgICBpbnQgcmlnaHQgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQg
bGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVT
ZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0g
YXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0
LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QuaGVpZ2h0KCk7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpyaWdo
dG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVT
ZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0
IHRyYW5zZm9ybWVkUmVjdCA9IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5z
Zm9ybWVkUmlnaHQgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkgPiAw
ID8gdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgOiAwOwotCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0g
ICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFJpZ2h0OwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkg
JiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgp
KSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmlnaHQ7Ci0KLSAgICBpbnQgcmlnaHQgPSBp
bmNsdWRlU2VsZiAmJiBoZWlnaHQoKSA+IDAgPyB3aWR0aCgpIDogMDsKLQotICAgIGlmICghaGFz
Q29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBDb21lIHVwIHdpdGggYSB3YXkgdG8gdXNl
IHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5nIGFsbCB0aGUga2lkcy4KLSAgICAgICAg
Ly8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGludG8gYWxsIHRoZSBjaGlsZHJlbiwgc2lu
Y2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5zaWRlCi0gICAgICAgIC8vIGEgdGlueSBy
ZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBvdXIgY2hpbGQgdHJlZS4gIEluIHRoaXMg
Y2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAvLyB0aGUgYWJzIGRpdi4KLSAgICAgICAg
Zm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxkKCk7IGM7IGMgPSBjLT5uZXh0U2libGlu
ZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSAmJiBj
LT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBjaGlsZEJveCA9IHRvUmVu
ZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjaGlsZEJveC0+
dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjaGlsZEJveC0+cmlnaHRtb3N0UG9zaXRpb24o
ZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChpbmNs
dWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgcmlnaHQgKz0gcmVsYXRpdmVQ
b3NpdGlvbk9mZnNldFgoKTsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYg
aGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiByaWdodDsKLQotICAgIGludCByZWxh
dGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQ
b3NpdGlvbk9mZnNldFgoKSA6IDA7Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIHJp
Z2h0ID0gbWF4KHJpZ2h0LCByaWdodExheW91dE92ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7
Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2JqZWN0cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7
Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAg
ICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKSA7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAgICAgIC8vIEZp
eGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFuZCB0aHVzIHNob3VsZCBub3Qg
Y29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgcmlnaHRtb3N0IHBvc2l0aW9u
LgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlv
bikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd29yayBmb3Igb3ZlcmZsb3cg
c2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAgIC8vIElmIGEgcG9zaXRpb25lZCBvYmplY3Qg
bGllcyBjb21wbGV0ZWx5IGFib3ZlIHRoZSByb290IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlh
IHNjcm9sbGluZy4KLSAgICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBh
bGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRoZSByaWdodG1vc3QgcG9zaXRpb24uCi0gICAgICAg
ICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgp
OwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkgfHwgdHJhbnNmb3JtZWRSLnko
KSArIHRyYW5zZm9ybWVkUi5oZWlnaHQoKSA+IDAgfHwgdHJhbnNmb3JtZWRSLnkoKSArIHItPmxv
d2VzdFBvc2l0aW9uKGZhbHNlKSA+IDApIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IHJwID0g
dHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJwICsgcmVsYXRpdmVPZmZzZXQpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlm
IChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gVGhpcyBvbmx5IG1hdHRlcnMgZm9yIExUUgot
ICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7Ci0gICAgICAg
ICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwotICAgICAgICAgICAgdW5z
aWduZWQgY291bnQgPSBjb2x1bW5Db3VudChjb2xJbmZvKTsKLSAgICAgICAgICAgIGlmIChjb3Vu
dCkKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChjb2x1bW5SZWN0QXQoY29sSW5mbywgY291
bnQgLSAxKS5yaWdodCgpICsgcmVsYXRpdmVPZmZzZXQsIHJpZ2h0KTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2Vs
ZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgICAgICBp
bnQgdG9wID0gdG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRl
U2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tID0gbG93ZXN0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAg
ICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJ
bnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAg
ICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LndpZHRoKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIHJpZ2h0OwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykgewotICAgICAg
ICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxG
bG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAgZm9yICggOyAo
ciA9IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9zaG91bGRQ
YWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAg
ICAgICAgICAgaW50IHJwID0gci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luTGVmdCgp
ICsgci0+bV9yZW5kZXJlci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpOwotICAgICAgICAgICAg
ICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBycCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYpIHsKLSAgICAgICAg
cmlnaHQgPSBtYXgocmlnaHQsIGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgKyBwYWRkaW5n
UmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkp
IHsKLSAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyckJveCA9IGZpcnN0TGluZUJv
eCgpOyBjdXJyQm94OyBjdXJyQm94ID0gY3VyckJveC0+bmV4dExpbmVCb3goKSkgewotICAgICAg
ICAgICAgICAgIGludCBjaGlsZFJpZ2h0RWRnZSA9IGN1cnJCb3gtPngoKSArIGN1cnJCb3gtPmxv
Z2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIElmIHRo
aXMgbm9kZSBpcyBhIHJvb3QgZWRpdGFibGUgZWxlbWVudCwgdGhlbiB0aGUgcmlnaHRtb3N0UG9z
aXRpb24gc2hvdWxkIGFjY291bnQgZm9yIGEgY2FyZXQgYXQgdGhlIGVuZC4KLSAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogTmVlZCB0byBmaW5kIGFub3RoZXIgd2F5IHRvIGRvIHRoaXMsIHNpbmNl
IHNjcm9sbGJhcnMgY291bGQgc2hvdyB3aGVuIHdlIGRvbid0IHdhbnQgdGhlbSB0by4KLSAgICAg
ICAgICAgICAgICBpZiAobm9kZSgpICYmIG5vZGUoKS0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBu
b2RlKCkgPT0gbm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KCkgJiYgc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpICYmICFwYWRkaW5nUmlnaHQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgY2hpbGRSaWdodEVkZ2UgKz0gMTsKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdo
dCwgY2hpbGRSaWdodEVkZ2UgKyBwYWRkaW5nUmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFdhbGsgYWxsIG5v
cm1hbCBmbG93IGNoaWxkcmVuLgotICAgICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGN1cnJCb3gg
PSBmaXJzdENoaWxkQm94KCk7IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0U2libGlu
Z0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJCb3gtPmlzRmxvYXRpbmdPclBvc2l0
aW9uZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
SW50UmVjdCB0cmFuc2Zvcm1lZENoaWxkID0gY3VyckJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3Qo
KTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRSaWdodEVkZ2UgPSB0cmFuc2Zvcm1lZENoaWxk
LngoKSArIHRyYW5zZm9ybWVkQ2hpbGQud2lkdGgoKSArIGN1cnJCb3gtPm1hcmdpblJpZ2h0KCk7
Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGNoaWxkUmlnaHRFZGdlICsgcGFk
ZGluZ1JpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBp
bmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAg
ICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2Vz
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRy
YW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJ
bnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3Qo
bGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4g
dHJhbnNmb3JtUmVjdC53aWR0aCgpOwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gcmlnaHQ7Ci19
Ci0KLWludCBSZW5kZXJCbG9jazo6bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxv
d0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9y
bSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IHRyYW5zZm9ybWVkRnJh
bWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkTGVmdCA9IGluY2x1ZGVTZWxmICYmIHRyYW5z
Zm9ybWVkUmVjdC5oZWlnaHQoKSA+IDAgPyAwIDogdHJhbnNmb3JtZWRSZWN0LndpZHRoKCk7Ci0g
ICAgCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlw
KCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZExlZnQ7
Ci0KLSAgICBpZiAoIWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8
ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRM
ZWZ0OwotCi0gICAgaW50IGxlZnQgPSBpbmNsdWRlU2VsZiAmJiBoZWlnaHQoKSA+IDAgPyAwIDog
d2lkdGgoKTsKLQotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBD
b21lIHVwIHdpdGggYSB3YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5n
IGFsbCB0aGUga2lkcy4KLSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGlu
dG8gYWxsIHRoZSBjaGlsZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5z
aWRlCi0gICAgICAgIC8vIGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBv
dXIgY2hpbGQgdHJlZS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAv
LyB0aGUgYWJzIGRpdi4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxk
KCk7IGM7IGMgPSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxv
YXRpbmdPclBvc2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVu
ZGVyQm94KiBjaGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIGxlZnQg
PSBtaW4obGVmdCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueCgpICsgY2hpbGRC
b3gtPmxlZnRtb3N0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAg
ICAgbGVmdCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOyAKLQotICAgIGlmICghaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBs
ZWZ0OwotICAgIAotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYmIGlzUmVs
UG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSA6IDA7Ci0KLSAgICBpZiAo
aW5jbHVkZVNlbGYpCi0gICAgICAgIGxlZnQgPSBtaW4obGVmdCwgbGVmdExheW91dE92ZXJmbG93
KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2JqZWN0cykgewot
ICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1fcG9zaXRpb25l
ZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVk
T2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICByID0gKml0
OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5vdCBzY3JvbGwg
YW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBwYXJ0IG9mIHRo
ZSBsZWZ0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChyLT5zdHlsZSgpLT5wb3NpdGlv
bigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxk
IHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAgICAgICAgICAgICAvLyBJZiBh
IHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSBhYm92ZSB0aGUgcm9vdCBpdCB3aWxs
IGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0gICAgICAgICAgICAgICAgLy8gVGhlcmVm
b3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29udHJpYnV0ZSB0byB0aGUgbGVmdG1vc3Qg
cG9zaXRpb24uCi0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFu
c2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkg
fHwgdHJhbnNmb3JtZWRSLnkoKSArIHRyYW5zZm9ybWVkUi5oZWlnaHQoKSA+IDAgfHwgdHJhbnNm
b3JtZWRSLnkoKSArIHItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKSA+IDApIHsKLSAgICAgICAgICAg
ICAgICAgICAgaW50IGxwID0gdHJhbnNmb3JtZWRSLngoKSArIHItPmxlZnRtb3N0UG9zaXRpb24o
ZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGxwICsgcmVsYXRp
dmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gVGhpcyBvbmx5IG1h
dHRlcnMgZm9yIFJUTAotICAgICAgICBpZiAoIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKSkgewotICAgICAgICAgICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsK
LSAgICAgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gY29sdW1uQ291bnQoY29sSW5mbyk7Ci0gICAg
ICAgICAgICBpZiAoY291bnQpCi0gICAgICAgICAgICAgICAgbGVmdCA9IG1pbihjb2x1bW5SZWN0
QXQoY29sSW5mbywgY291bnQgLSAxKS54KCkgKyByZWxhdGl2ZU9mZnNldCwgbGVmdCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgfQotCi0gICAgaWYgKG1fZmxvYXRpbmdP
YmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAgICBEZXByZWNhdGVk
UHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwot
ICAgICAgICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsKLSAgICAgICAgICAg
IGlmIChyLT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xh
eWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgbHAgPSByLT5sZWZ0KCkgKyByLT5tX3JlbmRl
cmVyLT5tYXJnaW5MZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNl
KTsKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGxwICsgcmVsYXRpdmVPZmZzZXQp
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFpbmNsdWRlU2Vs
ZiAmJiBmaXJzdExpbmVCb3goKSkgewotICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnJC
b3ggPSBmaXJzdExpbmVCb3goKTsgY3VyckJveDsgY3VyckJveCA9IGN1cnJCb3gtPm5leHRMaW5l
Qm94KCkpCi0gICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIChpbnQpY3VyckJveC0+eCgpICsg
cmVsYXRpdmVPZmZzZXQpOwotICAgIH0KLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNs
dWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJh
bnNmb3JtKCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBp
bnQgYm90dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5z
Zm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3Ap
KTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QueCgpOwotICAgIH0KLSAgICAKLSAgICBy
ZXR1cm4gbGVmdDsKLX0KLQogdm9pZCBSZW5kZXJCbG9jazo6bWFya0xpbmVzRGlydHlJbkJsb2Nr
UmFuZ2UoaW50IGxvZ2ljYWxUb3AsIGludCBsb2dpY2FsQm90dG9tLCBSb290SW5saW5lQm94KiBo
aWdoZXN0KQogewogICAgIGlmIChsb2dpY2FsVG9wID49IGxvZ2ljYWxCb3R0b20pCkBAIC00MDk1
LDcgKzM3MjksNyBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUCiAK
ICAgICBpZiAoIWlzUmVuZGVyVmlldygpKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQg
dG8gZG8gYW55dGhpbmcgYXQgYWxsLgotICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlz
aWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFs
T3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgIG92ZXJmbG93Qm94Lm1vdmUodHgsIHR5KTsKICAgICAg
ICAgaWYgKCFvdmVyZmxvd0JveC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoX3gsIF95
KSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTU1LDQ5ICs0MTg5LDQzIEBAIElu
dFJlY3QgUmVuZGVyQmxvY2s6OmNvbHVtblJlY3RBdChDb2x1bW4KIAogYm9vbCBSZW5kZXJCbG9j
azo6bGF5b3V0Q29sdW1ucyhib29sIGhhc1NwZWNpZmllZFBhZ2VIZWlnaHQsIGludCBwYWdlSGVp
Z2h0LCBMYXlvdXRTdGF0ZU1haW50YWluZXImIHN0YXRlUHVzaGVyKQogewotICAgIGlmIChoYXND
b2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkg
YXQgYWxsIGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRv
IHVuZGVyc3RhbmQgd2hhdAotICAgICAgICAvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBmb3JjZWQg
cGFnZSBicmVha3MgaXMgc28gdGhhdCB3ZSBjYW4gYXZvaWQgbWFraW5nIHRoZSBtaW5pbXVtIGNv
bHVtbiBoZWlnaHQgdG9vIHRhbGwuCi0gICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1
bW5JbmZvKCk7Ci0gICAgICAgIGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNp
cmVkQ29sdW1uQ291bnQoKTsKLSAgICAgICAgaWYgKCFoYXNTcGVjaWZpZWRQYWdlSGVpZ2h0KSB7
Ci0gICAgICAgICAgICBpbnQgY29sdW1uSGVpZ2h0ID0gcGFnZUhlaWdodDsKLSAgICAgICAgICAg
IGludCBtaW5Db2x1bW5Db3VudCA9IGNvbEluZm8tPmZvcmNlZEJyZWFrcygpICsgMTsKLSAgICAg
ICAgICAgIGlmIChtaW5Db2x1bW5Db3VudCA+PSBkZXNpcmVkQ29sdW1uQ291bnQpIHsKLSAgICAg
ICAgICAgICAgICAvLyBUaGUgZm9yY2VkIHBhZ2UgYnJlYWtzIGFyZSBpbiBjb250cm9sIG9mIHRo
ZSBiYWxhbmNpbmcuICBKdXN0IHNldCB0aGUgY29sdW1uIGhlaWdodCB0byB0aGUKLSAgICAgICAg
ICAgICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2UuCi0gICAgICAgICAgICAgICAg
aWYgKCFwYWdlSGVpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZUJldHdl
ZW5CcmVha3MgPSBtYXgoY29sSW5mby0+bWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFr
cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkg
KyBjb250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9IG1heChjb2xJbmZvLT5taW5pbXVtQ29sdW1u
SGVpZ2h0KCksIGRpc3RhbmNlQmV0d2VlbkJyZWFrcyk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJl
ZENvbHVtbkNvdW50KSB7Ci0gICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2Uga25vdyB0aGUg
aW50cmluc2ljIGhlaWdodCBvZiB0aGUgY29sdW1ucywgd2UgaGF2ZSB0byByZWJhbGFuY2UgdGhl
bS4KLSAgICAgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNv
bHVtbkhlaWdodCgpLCAoaW50KWNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBkZXNpcmVk
Q29sdW1uQ291bnQpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
aWYgKGNvbHVtbkhlaWdodCAmJiBjb2x1bW5IZWlnaHQgIT0gcGFnZUhlaWdodCkgewotICAgICAg
ICAgICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOwotICAgICAgICAgICAgICAgIG1fZXZlckhhZExh
eW91dCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgbGF5b3V0QmxvY2soZmFsc2UsIGNvbHVtbkhl
aWdodCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gCi0gICAgICAgIAotICAgICAgICBpZiAocGFnZUhlaWdodCkgLy8gRklYTUU6IFNob3Vs
ZCB3ZSB1c2UgbG93ZXN0UG9zaXRpb24gKGV4Y2x1ZGluZyBvdXIgcG9zaXRpb25lZCBvYmplY3Rz
KSBpbnN0ZWFkIG9mIGNvbnRlbnRIZWlnaHQoKT8KLSAgICAgICAgICAgIGNvbEluZm8tPnNldENv
bHVtbkNvdW50QW5kSGVpZ2h0KGNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBwYWdlSGVp
Z2h0KSwgcGFnZUhlaWdodCk7Ci0KLSAgICAgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7
Ci0gICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1uUmVjdEF0KGNvbEluZm8sIGNv
bHVtbkNvdW50KGNvbEluZm8pIC0gMSk7Ci0gICAgICAgICAgICBpbnQgb3ZlcmZsb3dMZWZ0ID0g
IXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1pbigwLCBsYXN0UmVjdC54KCkp
IDogMDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0gc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0LngoKSArIGxhc3RSZWN0Lndp
ZHRoKCkpIDogMDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd0hlaWdodCA9IGJvcmRlclRvcCgp
ICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCk7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQob3ZlcmZsb3dIZWlnaHQgKyBib3JkZXJCb3R0
b20oKSArIHBhZGRpbmdCb3R0b20oKSArIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7Cisg
ICAgaWYgKCFoYXNDb2x1bW5zKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAg
ICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgICAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50
UmVjdChvdmVyZmxvd0xlZnQsIDAsIG92ZXJmbG93UmlnaHQgLSBvdmVyZmxvd0xlZnQsIG92ZXJm
bG93SGVpZ2h0KSk7CisgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkgYXQg
YWxsIGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRvIHVu
ZGVyc3RhbmQgd2hhdAorICAgIC8vIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGZvcmNlZCBwYWdlIGJy
ZWFrcyBpcyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYWtpbmcgdGhlIG1pbmltdW0gY29sdW1uIGhl
aWdodCB0b28gdGFsbC4KKyAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwor
ICAgIGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNpcmVkQ29sdW1uQ291bnQo
KTsKKyAgICBpZiAoIWhhc1NwZWNpZmllZFBhZ2VIZWlnaHQpIHsKKyAgICAgICAgaW50IGNvbHVt
bkhlaWdodCA9IHBhZ2VIZWlnaHQ7CisgICAgICAgIGludCBtaW5Db2x1bW5Db3VudCA9IGNvbElu
Zm8tPmZvcmNlZEJyZWFrcygpICsgMTsKKyAgICAgICAgaWYgKG1pbkNvbHVtbkNvdW50ID49IGRl
c2lyZWRDb2x1bW5Db3VudCkgeworICAgICAgICAgICAgLy8gVGhlIGZvcmNlZCBwYWdlIGJyZWFr
cyBhcmUgaW4gY29udHJvbCBvZiB0aGUgYmFsYW5jaW5nLiAgSnVzdCBzZXQgdGhlIGNvbHVtbiBo
ZWlnaHQgdG8gdGhlCisgICAgICAgICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2Uu
CisgICAgICAgICAgICBpZiAoIXBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgICAgICBpbnQgZGlz
dGFuY2VCZXR3ZWVuQnJlYWtzID0gbWF4KGNvbEluZm8tPm1heGltdW1EaXN0YW5jZUJldHdlZW5G
b3JjZWRCcmVha3MoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5n
VG9wKCkgKyBjb250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7
CisgICAgICAgICAgICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1
bW5IZWlnaHQoKSwgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJlZENvbHVt
bkNvdW50KSB7CisgICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBrbm93IHRoZSBpbnRyaW5zaWMg
aGVpZ2h0IG9mIHRoZSBjb2x1bW5zLCB3ZSBoYXZlIHRvIHJlYmFsYW5jZSB0aGVtLgorICAgICAg
ICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1bW5IZWlnaHQoKSwg
KGludCljZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gZGVzaXJlZENvbHVtbkNvdW50KSk7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChjb2x1bW5IZWlnaHQgJiYgY29sdW1u
SGVpZ2h0ICE9IHBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOwor
ICAgICAgICAgICAgbV9ldmVySGFkTGF5b3V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGxheW91dEJs
b2NrKGZhbHNlLCBjb2x1bW5IZWlnaHQpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgIH0KKyAgICB9IAorICAgIAorICAgIGlmIChwYWdlSGVpZ2h0KSAvLyBGSVhNRTogU2hvdWxk
IHdlIHVzZSBsb3dlc3RQb3NpdGlvbiAoZXhjbHVkaW5nIG91ciBwb3NpdGlvbmVkIG9iamVjdHMp
IGluc3RlYWQgb2YgY29udGVudEhlaWdodCgpPworICAgICAgICBjb2xJbmZvLT5zZXRDb2x1bW5D
b3VudEFuZEhlaWdodChjZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gcGFnZUhlaWdodCks
IHBhZ2VIZWlnaHQpOworCisgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7CisgICAgICAg
IHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjb2xJbmZvLT5j
b2x1bW5IZWlnaHQoKSArIGJvcmRlckJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgaG9yaXpv
bnRhbFNjcm9sbGJhckhlaWdodCgpKTsKKyAgICAgICAgbV9vdmVyZmxvdy5jbGVhcigpOwogICAg
IH0KICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBAIC02MTU1LDggKzU3ODMsOCBAQCB2b2lkIFJl
bmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQCiAgICAgLy8gbGluZSBhbmQgYWxsIGZv
bGxvd2luZyBsaW5lcy4KICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3RhdGUgPSB2aWV3KCktPmxh
eW91dFN0YXRlKCk7CiAgICAgaW50IHBhZ2VIZWlnaHQgPSBsYXlvdXRTdGF0ZS0+bV9wYWdlSGVp
Z2h0OwotICAgIGludCB5UG9zID0gbGluZUJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAg
aW50IGxpbmVIZWlnaHQgPSBsaW5lQm94LT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIHlQb3M7
CisgICAgaW50IHlQb3MgPSBsaW5lQm94LT50b3BWaXN1YWxPdmVyZmxvdygpOworICAgIGludCBs
aW5lSGVpZ2h0ID0gbGluZUJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSAtIHlQb3M7CiAgICAg
aWYgKGxheW91dFN0YXRlLT5tX2NvbHVtbkluZm8pCiAgICAgICAgIGxheW91dFN0YXRlLT5tX2Nv
bHVtbkluZm8tPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobGluZUhlaWdodCk7CiAgICAgeVBv
cyArPSBkZWx0YTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzMwODEp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05
OCwxMSArOTgsNiBAQCBwdWJsaWM6CiAgICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxp
bmUoaW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3Q7CiAgICAgaW50IGxvZ2ljYWxS
aWdodE9mZnNldEZvckxpbmUoaW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3QgeyBy
ZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zm
c2V0Rm9yQ29udGVudCgpLCBmaXJzdExpbmUpOyB9CiAgICAgaW50IGxvZ2ljYWxMZWZ0T2Zmc2V0
Rm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVu
dCgpLCBmaXJzdExpbmUpOyB9Ci0KLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9v
bCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVl
LCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwg
aW50IGxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBi
b29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3Jt
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJh
bnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1v
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNs
dWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7
CiAgICAgCiAgICAgdmlydHVhbCBWaXNpYmxlUG9zaXRpb24gcG9zaXRpb25Gb3JQb2ludChjb25z
dCBJbnRQb2ludCYpOwogICAgIApAQCAtMjg2LDYgKzI4MSw4IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIGJvb2wgaGFzTGluZUlmRW1wdHkoKSBjb25zdDsKICAgICBib29sIGxheW91dE9ubHlQ
b3NpdGlvbmVkT2JqZWN0cygpOwogCisgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYgYWRkaXRpb25hbFJlY3RUb0FwcGx5KTsKKwogI2lmIEVOQUJMRShTVkcpCiBwcm90ZWN0
ZWQ6CiAKQEAgLTI5OCw4ICsyOTUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogI2VuZGlmCiAKLSAg
ICB2b2lkIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKTsKLQogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgeyByZXR1cm4g
Y2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2
aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbigpOyB9CkBAIC00NjMsMTQg
KzQ1OCwxNiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uUG9zaXRp
b25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3ZlcmZsb3dBbmRGYWxs
YmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAgdm9pZCBkZWxldGVF
bGxpcHNpc0xpbmVCb3hlcygpOwogICAgIHZvaWQgY2hlY2tMaW5lc0ZvclRleHRPdmVyZmxvdygp
OwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICBpbnQgYmVm
b3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwotICAg
IGludCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25z
dDsKKyAgICBpbnQgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94
KikgY29uc3Q7CisgICAgaW50IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290SW5s
aW5lQm94KikgY29uc3Q7CiAgICAgaW50IGJlZm9yZVNpZGVMYXlvdXRPdmVyZmxvd0ZvckxpbmUo
Um9vdElubGluZUJveCopIGNvbnN0OwogICAgIGludCBhZnRlclNpZGVMYXlvdXRPdmVyZmxvd0Zv
ckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIC8vIEVuZCBvZiBmdW5jdGlvbnMgZGVm
aW5lZCBpbiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwLgogCiAgICAgdm9pZCBhZGRPdmVyZmxv
d0Zyb21GbG9hdHMoKTsKKyAgICB2b2lkIGFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3Rz
KCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgdm9pZCBh
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOwogCiAgICAgdm9pZCBwYWludEZsb2F0cyhQ
YWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwcmVzZXJ2ZVBoYXNlID0gZmFsc2UpOwog
ICAgIHZvaWQgcGFpbnRDb250ZW50cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9u
IDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjE1LDggKzYxNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgIFJlbmRlckFyZW5hKiBhcmVuYSA9IHJlbmRl
ckFyZW5hKCk7CiAgICAgICAgICAgICBSb290SW5saW5lQm94KiBib3ggPSBzdGFydExpbmU7CiAg
ICAgICAgICAgICB3aGlsZSAoYm94KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxU
b3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JM
aW5lKGJveCkpOwotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJl
cGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGJveCkp
OworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2Fs
VG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGJveCkpOworICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRl
clNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94KSk7CiAgICAgICAgICAgICAgICAgUm9vdElu
bGluZUJveCogbmV4dCA9IGJveC0+bmV4dFJvb3RCb3goKTsKICAgICAgICAgICAgICAgICBib3gt
PmRlbGV0ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveCA9IG5leHQ7CkBAIC03NjQs
NiArNzY0LDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAg
ICAgICAgICAgICAgICAgICAgICAgfQogI2VuZGlmCiAKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIENvbXB1dGUgb3VyIG92ZXJmbG93IG5vdy4KKyAgICAgICAgICAgICAgICAgICAgICAgIGxp
bmVCb3gtPmNvbXB1dGVPdmVyZmxvdyhsaW5lQm94LT5saW5lVG9wKCksIGxpbmVCb3gtPmxpbmVC
b3R0b20oKSwgZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSwgdGV4dEJveERhdGFNYXApOwor
ICAgIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZ2hs
aWdodCBhY3RzIGFzIGFuIG92ZXJmbG93IGluZmxhdGlvbi4KICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChzdHlsZSgpLT5oaWdobGlnaHQoKSAhPSBudWxsQXRvbSkKQEAgLTc3Nyw4ICs3ODAs
OCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAg
ICAgICAgaWYgKGxpbmVCb3gpIHsKICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+c2V0TGlu
ZUJyZWFrSW5mbyhlbmQub2JqLCBlbmQucG9zLCByZXNvbHZlci5zdGF0dXMoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lk
ZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNp
ZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIGlmIChwYWdpbmF0
ZWQpIHsKQEAgLTc4OCw3ICs3OTEsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVD
aGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9sZExpbmVXaWR0aCA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUob2xkTG9naWNhbEhlaWdodCwgZmlyc3RMaW5l
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5hZGp1c3RQb3NpdGlvbigw
LCBhZGp1c3RtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNlUmVwYWlu
dEJvdW5kcykgLy8gVGhpcyBjYW4gb25seSBiZSBhIHBvc2l0aXZlIGFkanVzdG1lbnQsIHNvIG5v
IG5lZWQgdG8gdXBkYXRlIHJlcGFpbnRUb3AuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRl
clNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxC
b3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3Rt
ZW50LCBmaXJzdExpbmUpICE9IG9sZExpbmVXaWR0aCkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRlbGV0ZSB0aGlzIGxpbmUsIHJlbW92ZSBhbGwgZmxv
YXRzIHRoYXQgZ290IGFkZGVkLCBhbmQgbGV0IGxpbmUgbGF5b3V0IHJlLXJ1bi4KQEAgLTg0Miw4
ICs4NDUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAg
ICAgICAgICAgICAgICAgICAgICBhZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKGxpbmUs
IGRlbHRhKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAo
ZGVsdGEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWlu
KHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5l
KSArIG1pbihkZWx0YSwgMCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVy
Zmxvd0ZvckxpbmUobGluZSkgKyBtYXgoZGVsdGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRl
VmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAwKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJv
dHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWF4KGRlbHRhLCAw
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLT5hZGp1c3RQb3NpdGlvbigwLCBkZWx0
YSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaWYgKFZlY3Rv
cjxSZW5kZXJCb3gqPiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+ZmxvYXRzUHRyKCkpIHsKQEAg
LTg2MSw4ICs4NjQsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihi
CiAgICAgICAgICAgICAgICAgUm9vdElubGluZUJveCogbGluZSA9IGVuZExpbmU7CiAgICAgICAg
ICAgICAgICAgUmVuZGVyQXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAgICAgICAg
ICAgICB3aGlsZSAobGluZSkgewotICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRv
cCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0Zvckxp
bmUobGluZSkpOwotICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1h
eChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShs
aW5lKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFp
bnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2lj
YWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lKSk7CiAgICAgICAg
ICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG5leHQgPSBsaW5lLT5uZXh0Um9vdEJveCgpOwog
ICAgICAgICAgICAgICAgICAgICBsaW5lLT5kZWxldGVMaW5lKGFyZW5hKTsKICAgICAgICAgICAg
ICAgICAgICAgbGluZSA9IG5leHQ7CkBAIC04NzQsNyArODc3LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgLy8gVGhpcyBoYXMgdG8gYmUg
ZG9uZSBiZWZvcmUgYWRkaW5nIGluIHRoZSBib3R0b20gYm9yZGVyL3BhZGRpbmcsIG9yIHRoZSBm
bG9hdCB3aWxsCiAgICAgICAgICAgICAvLyBpbmNsdWRlIHRoZSBwYWRkaW5nIGluY29ycmVjdGx5
LiAtZHdoCiAgICAgICAgICAgICBpZiAoY2hlY2tGb3JGbG9hdHNGcm9tTGFzdExpbmUpIHsKLSAg
ICAgICAgICAgICAgICBpbnQgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBhZnRlclNpZGVWaXNpYmxl
T3ZlcmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOworICAgICAgICAgICAgICAgIGludCBib3R0
b21WaXN1YWxPdmVyZmxvdyA9IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsYXN0Um9v
dEJveCgpKTsKICAgICAgICAgICAgICAgICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBhZnRl
clNpZGVMYXlvdXRPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7CiAgICAgICAgICAgICAg
ICAgVHJhaWxpbmdGbG9hdHNSb290SW5saW5lQm94KiB0cmFpbGluZ0Zsb2F0c0xpbmVCb3ggPSBu
ZXcgKHJlbmRlckFyZW5hKCkpIFRyYWlsaW5nRmxvYXRzUm9vdElubGluZUJveCh0aGlzKTsKICAg
ICAgICAgICAgICAgICBtX2xpbmVCb3hlcy5hcHBlbmRMaW5lQm94KHRyYWlsaW5nRmxvYXRzTGlu
ZUJveCk7CkBAIC04ODIsNyArODg1LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcCB0ZXh0Qm94RGF0YU1hcDsKICAgICAgICAgICAgICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2Fj
aGUgdmVydGljYWxQb3NpdGlvbkNhY2hlOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRz
TGluZUJveC0+YWxpZ25Cb3hlc0luQmxvY2tEaXJlY3Rpb24obG9naWNhbEhlaWdodCgpLCB0ZXh0
Qm94RGF0YU1hcCwgdmVydGljYWxQb3NpdGlvbkNhY2hlKTsKLSAgICAgICAgICAgICAgICB0cmFp
bGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobG9n
aWNhbEhlaWdodCgpLCBib3R0b21MYXlvdXRPdmVyZmxvdywgbG9naWNhbEhlaWdodCgpLCBib3R0
b21WaXN1YWxPdmVyZmxvdyk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0
T3ZlcmZsb3codHJhaWxpbmdGbG9hdHNMaW5lQm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0
KCkpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy5zZXRZKGxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgbG9naWNhbExheW91dE92ZXJmbG93LnNldEhlaWdo
dChib3R0b21MYXlvdXRPdmVyZmxvdyAtIGxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICAg
ICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3codHJhaWxpbmdGbG9hdHNMaW5lQm94LT5s
b2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxWaXN1
YWxPdmVyZmxvdy5zZXRZKGxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgbG9naWNh
bFZpc3VhbE92ZXJmbG93LnNldEhlaWdodChib3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5zZXRPdmVy
Zmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3csIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+bGluZVRvcCgpLCB0cmFpbGluZ0Zsb2F0
c0xpbmVCb3gtPmxpbmVCb3R0b20oKSk7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNM
aW5lQm94LT5zZXRCbG9ja0xvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmIChsYXN0RmxvYXQpIHsKQEAgLTk1NSw4ICs5NjQsOCBAQCBS
b290SW5saW5lQm94KiBSZW5kZXJCbG9jazo6ZGV0ZXJtaW5lU3RhCiAgICAgICAgICAgICAgICAg
ICAgIGlmICghdXNlUmVwYWludEJvdW5kcykKICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVJl
cGFpbnRCb3VuZHMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZv
cmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1pbihwYWdpbmF0aW9uRGVsdGEs
IDApKTsKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVw
YWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoY3Vycikg
KyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZs
b3dGb3JMaW5lKGN1cnIpICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOworICAgICAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwg
YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGN1cnIpICsgbWF4KHBhZ2luYXRpb25EZWx0
YSwgMCkpOwogICAgICAgICAgICAgICAgICAgICBjdXJyLT5hZGp1c3RQb3NpdGlvbigwLCBwYWdp
bmF0aW9uRGVsdGEpOwogICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICB9CkBAIC0xMTcyLDggKzExODEsOCBAQCBib29sIFJlbmRlckJsb2NrOjptYXRjaGVkRW5k
TGluZShjb25zdCBJCiAgICAgICAgICAgICBSb290SW5saW5lQm94KiBib3hUb0RlbGV0ZSA9IGVu
ZExpbmU7CiAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5kZXJBcmVuYSgpOwog
ICAgICAgICAgICAgd2hpbGUgKGJveFRvRGVsZXRlICYmIGJveFRvRGVsZXRlICE9IHJlc3VsdCkg
ewotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2Fs
VG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShib3hUb0RlbGV0ZSkpOwotICAg
ICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90
dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7CisgICAg
ICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJl
Zm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0
ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7CiAgICAgICAgICAgICAg
ICAgUm9vdElubGluZUJveCogbmV4dCA9IGJveFRvRGVsZXRlLT5uZXh0Um9vdEJveCgpOwogICAg
ICAgICAgICAgICAgIGJveFRvRGVsZXRlLT5kZWxldGVMaW5lKGFyZW5hKTsKICAgICAgICAgICAg
ICAgICBib3hUb0RlbGV0ZSA9IG5leHQ7CkBAIC0yMDI5LDI5ICsyMDM4LDQxIEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRk
T3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKQogeworICAgIGludCBlbmRQYWRkaW5nID0gaGFz
T3ZlcmZsb3dDbGlwKCkgPyBwYWRkaW5nRW5kKCkgOiAwOworICAgIC8vIEZJWE1FOiBOZWVkIHRv
IGZpbmQgYW5vdGhlciB3YXkgdG8gZG8gdGhpcywgc2luY2Ugc2Nyb2xsYmFycyBjb3VsZCBzaG93
IHdoZW4gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvLgorICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSAm
JiAhZW5kUGFkZGluZyAmJiBub2RlKCkgJiYgbm9kZSgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpICYm
IG5vZGUoKSA9PSBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSAmJiBzdHlsZSgpLT5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgIGVuZFBhZGRpbmcgPSAxOwogICAgIGZvciAo
Um9vdElubGluZUJveCogY3VyciA9IGZpcnN0Um9vdEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+
bmV4dFJvb3RCb3goKSkgewotICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhjdXJyLT5sYXlvdXRP
dmVyZmxvd1JlY3QoKSk7CisgICAgICAgIEludFJlY3QgbGluZUxheW91dE92ZXJmbG93ID0gY3Vy
ci0+bGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIGlmIChlbmRQYWRkaW5nKSB7CisgICAg
ICAgICAgICBpbnQgcmlnaHRQYWRkaW5nRWRnZSA9IGN1cnItPmxvZ2ljYWxSaWdodCgpICsgZW5k
UGFkZGluZzsKKyAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpKQorICAgICAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zZXRXaWR0aChtYXgobGlu
ZUxheW91dE92ZXJmbG93LndpZHRoKCksIHJpZ2h0UGFkZGluZ0VkZ2UgLSBsaW5lTGF5b3V0T3Zl
cmZsb3cueCgpKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNldEhlaWdodChtYXgobGluZUxheW91dE92ZXJmbG93LmhlaWdodCgpLCByaWdo
dFBhZGRpbmdFZGdlIC0gbGluZUxheW91dE92ZXJmbG93LngoKSkpOworICAgICAgICB9CisgICAg
ICAgIGFkZExheW91dE92ZXJmbG93KGxpbmVMYXlvdXRPdmVyZmxvdyk7CiAgICAgICAgIGlmICgh
aGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgICAgICBhZGRWaXN1YWxPdmVyZmxvdyhjdXJyLT52
aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgfQogfQogCi1pbnQgUmVuZGVyQmxvY2s6OmJlZm9y
ZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUpIGNvbnN0Citp
bnQgUmVuZGVyQmxvY2s6OmJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoUm9vdElubGlu
ZUJveCogbGluZSkgY29uc3QKIHsKICAgICAvLyBPdmVyZmxvdyBpcyBpbiB0aGUgYmxvY2sncyBj
b29yZGluYXRlIHNwYWNlLCB3aGljaCBtZWFucyBpdCBpc24ndCBwdXJlbHkgcGh5c2ljYWwuICBG
b3IgZmxpcHBlZCBibG9ja3MgKHJsIGFuZCBidCksCiAgICAgLy8gd2UgY29udGludWUgdG8gdXNl
IHRvcCBhbmQgbGVmdCBvdmVyZmxvdyBldmVuIHRob3VnaCBwaHlzaWNhbGx5IGl0J3MgYm90dG9t
IGFuZCByaWdodC4KICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
LSAgICAgICAgcmV0dXJuIGxpbmUtPnRvcFZpc2libGVPdmVyZmxvdygpOwotICAgIHJldHVybiBs
aW5lLT5sZWZ0VmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgIHJldHVybiBsaW5lLT50b3BWaXN1
YWxPdmVyZmxvdygpOworICAgIHJldHVybiBsaW5lLT5sZWZ0VmlzdWFsT3ZlcmZsb3coKTsKIH0K
IAotaW50IFJlbmRlckJsb2NrOjphZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJ
bmxpbmVCb3gqIGxpbmUpIGNvbnN0CitpbnQgUmVuZGVyQmxvY2s6OmFmdGVyU2lkZVZpc3VhbE92
ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAogewogICAgIC8vIE92ZXJm
bG93IGlzIGluIHRoZSBibG9jaydzIGNvb3JkaW5hdGUgc3BhY2UsIHdoaWNoIG1lYW5zIGl0IGlz
bid0IHB1cmVseSBwaHlzaWNhbC4gIEZvciBmbGlwcGVkIGJsb2NrcyAocmwgYW5kIGJ0KSwKICAg
ICAvLyB3ZSBjb250aW51ZSB0byB1c2UgYm90dG9tIGFuZCByaWdodCBvdmVyZmxvdyBldmVuIHRo
b3VnaCBwaHlzaWNhbGx5IGl0J3MgdG9wIGFuZCBsZWZ0LgogICAgIGlmIChzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gbGluZS0+Ym90dG9tVmlzaWJs
ZU92ZXJmbG93KCk7Ci0gICAgcmV0dXJuIGxpbmUtPnJpZ2h0VmlzaWJsZU92ZXJmbG93KCk7Cisg
ICAgICAgIHJldHVybiBsaW5lLT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOworICAgIHJldHVybiBs
aW5lLT5yaWdodFZpc3VhbE92ZXJmbG93KCk7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6YmVmb3Jl
U2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNSw5ICs0MDUsMTAgQEAg
aW50IFJlbmRlckJveDo6c2Nyb2xsV2lkdGgoKSBjb25zdAogICAgIGlmIChoYXNPdmVyZmxvd0Ns
aXAoKSkKICAgICAgICAgcmV0dXJuIGxheWVyKCktPnNjcm9sbFdpZHRoKCk7CiAgICAgLy8gRm9y
IG9iamVjdHMgd2l0aCB2aXNpYmxlIG92ZXJmbG93LCB0aGlzIG1hdGNoZXMgSUUuCisgICAgLy8g
RklYTUU6IE5lZWQgdG8gd29yayByaWdodCB3aXRoIHdyaXRpbmcgbW9kZXMuCiAgICAgaWYgKHN0
eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIG1heChjbGll
bnRXaWR0aCgpLCByaWdodG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJMZWZ0KCkp
OwotICAgIHJldHVybiBjbGllbnRXaWR0aCgpIC0gbWluKDAsIGxlZnRtb3N0UG9zaXRpb24odHJ1
ZSwgZmFsc2UpIC0gYm9yZGVyTGVmdCgpKTsKKyAgICAgICAgcmV0dXJuIG1heChjbGllbnRXaWR0
aCgpLCByaWdodExheW91dE92ZXJmbG93KCkgLSBib3JkZXJMZWZ0KCkpOworICAgIHJldHVybiBj
bGllbnRXaWR0aCgpIC0gbWluKDAsIGxlZnRMYXlvdXRPdmVyZmxvdygpIC0gYm9yZGVyTGVmdCgp
KTsKIH0KIAogaW50IFJlbmRlckJveDo6c2Nyb2xsSGVpZ2h0KCkgY29uc3QKQEAgLTQxNSw3ICs0
MTYsOCBAQCBpbnQgUmVuZGVyQm94OjpzY3JvbGxIZWlnaHQoKSBjb25zdAogICAgIGlmIChoYXNP
dmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJuIGxheWVyKCktPnNjcm9sbEhlaWdodCgpOwog
ICAgIC8vIEZvciBvYmplY3RzIHdpdGggdmlzaWJsZSBvdmVyZmxvdywgdGhpcyBtYXRjaGVzIElF
LgotICAgIHJldHVybiBtYXgoY2xpZW50SGVpZ2h0KCksIGxvd2VzdFBvc2l0aW9uKHRydWUsIGZh
bHNlKSAtIGJvcmRlclRvcCgpKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byB3b3JrIHJpZ2h0IHdp
dGggd3JpdGluZyBtb2Rlcy4KKyAgICByZXR1cm4gbWF4KGNsaWVudEhlaWdodCgpLCBib3R0b21M
YXlvdXRPdmVyZmxvdygpIC0gYm9yZGVyVG9wKCkpOwogfQogCiBpbnQgUmVuZGVyQm94OjpzY3Jv
bGxMZWZ0KCkgY29uc3QKQEAgLTQ1MCwyMiArNDUyLDYgQEAgdm9pZCBSZW5kZXJCb3g6OmFic29s
dXRlUXVhZHMoVmVjdG9yPEZsbwogICAgIHF1YWRzLmFwcGVuZChsb2NhbFRvQWJzb2x1dGVRdWFk
KEZsb2F0UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKIH0KIAotSW50UmVjdCBSZW5k
ZXJCb3g6OmFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKLXsKLSAgICBpZiAoaGFzTGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewot
ICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07Ci0gICAgICAgIHRyYW5zZm9y
bS50cmFuc2xhdGUocmVjdC54KCksIHJlY3QueSgpKTsKLSAgICAgICAgdHJhbnNmb3JtLm11bHRM
ZWZ0KGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm0ubWFwUmVjdChJbnRSZWN0KDAsIDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkpOwot
ICAgIH0KLSAgICByZXR1cm4gcmVjdDsKLX0KLQotSW50UmVjdCBSZW5kZXJCb3g6OnRyYW5zZm9y
bWVkRnJhbWVSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChmcmFtZVJlY3QoKSk7Ci19Ci0KIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVMYXllclRyYW5z
Zm9ybSgpCiB7CiAgICAgLy8gVHJhbnNmb3JtLW9yaWdpbiBkZXBlbmRzIG9uIGJveCBzaXplLCBz
byB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgbGF5ZXIgdHJhbnNmb3JtIGFmdGVyIGxheW91dC4KQEAg
LTc3Miw4ICs3NTgsOCBAQCB2b2lkIFJlbmRlckJveDo6cGFpbnRSb290Qm94RGVjb3JhdGlvbnMo
CiAgICAgLy8gQ1NTMiAxNC4yOgogICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBib3ggZ2Vu
ZXJhdGVkIGJ5IHRoZSByb290IGVsZW1lbnQgY292ZXJzIHRoZSBlbnRpcmUgY2FudmFzIGluY2x1
ZGluZwogICAgIC8vIGl0cyBtYXJnaW5zLgotICAgIGludCBieCA9IHR4IC0gbWFyZ2luTGVmdCgp
ICsgdmlldygpLT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKLSAgICBpbnQgYnkgPSB0eSAtIG1hcmdp
blRvcCgpICsgdmlldygpLT50b3BMYXlvdXRPdmVyZmxvdygpOworICAgIGludCBieCA9IHR4IC0g
bWFyZ2luTGVmdCgpICsgdmlldygpLT5kb2NMZWZ0KCk7CisgICAgaW50IGJ5ID0gdHkgLSBtYXJn
aW5Ub3AoKSArIHZpZXcoKS0+ZG9jVG9wKCk7CiAgICAgaW50IGJ3ID0gbWF4KHcgKyBtYXJnaW5M
ZWZ0KCkgKyBtYXJnaW5SaWdodCgpICsgYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKSwgcncp
OwogICAgIGludCBiaCA9IG1heChoICsgbWFyZ2luVG9wKCkgKyBtYXJnaW5Cb3R0b20oKSArIGJv
cmRlclRvcCgpICsgYm9yZGVyQm90dG9tKCksIHJoKTsKIApAQCAtMTMxNSw3ICsxMzAxLDcgQEAg
SW50UmVjdCBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGbwogICAgIGlmIChzdHlsZSgp
LT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSAmJiAhZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJs
ZUNvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAotICAgIEludFJlY3QgciA9
IHZpc2libGVPdmVyZmxvd1JlY3QoKTsKKyAgICBJbnRSZWN0IHIgPSB2aXN1YWxPdmVyZmxvd1Jl
Y3QoKTsKIAogICAgIFJlbmRlclZpZXcqIHYgPSB2aWV3KCk7CiAgICAgaWYgKHYpIHsKQEAgLTI5
NjEsNTAgKzI5NDcsNiBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxDYXJldFJlY3QoSW5saW5l
CiAgICAgcmV0dXJuIHJlY3Q7CiB9CiAKLWludCBSZW5kZXJCb3g6OnRvcG1vc3RQb3NpdGlvbihi
b29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlU
cmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1l
ZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxm
ID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVk
ZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpKQotICAgICAgICByZXR1cm4gMDsKLSAg
ICBpbnQgdG9wID0gMDsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIHRvcCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOwotICAgIHJldHVybiB0b3A7Ci19Ci0KLWludCBS
ZW5kZXJCb3g6Omxvd2VzdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciov
LCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QK
LXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1
ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJh
bWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJhbnNmb3JtZWRSZWN0LndpZHRo
KCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGludCBib3R0b20gPSB0cmFuc2Zvcm1lZFJlY3Qu
aGVpZ2h0KCk7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBib3R0b20gKz0g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsKLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQg
UmVuZGVyQm94OjpyaWdodG1vc3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6
IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IHJpZ2h0ID0gdHJhbnNmb3JtZWRS
ZWN0LndpZHRoKCk7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICByaWdodCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50
IFJlbmRlckJveDo6bGVmdG1vc3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6
IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpOwotICAgIGlu
dCBsZWZ0ID0gMDsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIGxlZnQgKz0g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKTsKLSAgICByZXR1cm4gbGVmdDsKLX0KLQogVmlzaWJs
ZVBvc2l0aW9uIFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9p
bnQpCiB7CiAgICAgLy8gbm8gY2hpbGRyZW4uLi5yZXR1cm4gdGhpcyByZW5kZXIgb2JqZWN0J3Mg
ZWxlbWVudCwgaWYgdGhlcmUgaXMgb25lLCBhbmQgb2Zmc2V0IDAKQEAgLTMxMjksMzUgKzMwNzEs
MzEgQEAgdm9pZCBSZW5kZXJCb3g6OmFkZFNoYWRvd092ZXJmbG93KCkKIAogdm9pZCBSZW5kZXJC
b3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IEludFNpemUm
IGRlbHRhKQogewotICAgIC8vIFVwZGF0ZSBvdXIgb3ZlcmZsb3cgaW4gY2FzZSB0aGUgY2hpbGQg
c3BpbGxzIG91dCB0aGUgYmxvY2ssIGJ1dCBvbmx5IGlmIHdlIHdlcmUgZ29pbmcgdG8gcGFpbnQK
LSAgICAvLyB0aGUgY2hpbGQgYmxvY2sgb3Vyc2VsdmVzLgotICAgIGlmIChjaGlsZC0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgLy8gT25seSBwcm9wYWdh
dGUgbGF5b3V0IG92ZXJmbG93IGZyb20gdGhlIGNoaWxkIGlmIHRoZSBjaGlsZCBpc24ndCBjbGlw
cGluZyBpdHMgb3ZlcmZsb3cuICBJZiBpdCBpcywgdGhlbgotICAgIC8vIGl0cyBvdmVyZmxvdyBp
cyBpbnRlcm5hbCB0byBpdCwgYW5kIHdlIGRvbid0IGNhcmUgYWJvdXQgaXQuCi0gICAgSW50UmVj
dCBjaGlsZExheW91dE92ZXJmbG93UmVjdCA9IGNoaWxkLT5oYXNPdmVyZmxvd0NsaXAoKSA/IGNo
aWxkLT5ib3JkZXJCb3hSZWN0KCkgOiBjaGlsZC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAg
Ly8gaXRzIG92ZXJmbG93IGlzIGludGVybmFsIHRvIGl0LCBhbmQgd2UgZG9uJ3QgY2FyZSBhYm91
dCBpdC4gIGxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uIHRha2VzIGNhcmUgb2YgdGhp
cworICAgIC8vIGFuZCBqdXN0IHByb3BhZ2F0ZXMgdGhlIGJvcmRlciBib3ggcmVjdCBpbnN0ZWFk
LgorICAgIEludFJlY3QgY2hpbGRMYXlvdXRPdmVyZmxvd1JlY3QgPSBjaGlsZC0+bGF5b3V0T3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oc3R5bGUoKSk7CiAgICAgY2hpbGRMYXlvdXRPdmVyZmxv
d1JlY3QubW92ZShkZWx0YSk7CiAgICAgYWRkTGF5b3V0T3ZlcmZsb3coY2hpbGRMYXlvdXRPdmVy
Zmxvd1JlY3QpOwogICAgICAgICAgICAgCiAgICAgLy8gQWRkIGluIHZpc3VhbCBvdmVyZmxvdyBm
cm9tIHRoZSBjaGlsZC4gIEV2ZW4gaWYgdGhlIGNoaWxkIGNsaXBzIGl0cyBvdmVyZmxvdywgaXQg
bWF5IHN0aWxsCiAgICAgLy8gaGF2ZSB2aXN1YWwgb3ZlcmZsb3cgb2YgaXRzIG93biBzZXQgZnJv
bSBib3ggc2hhZG93cyBvciByZWZsZWN0aW9ucy4gIEl0IGlzIHVubmVjZXNzYXJ5IHRvIHByb3Bh
Z2F0ZSB0aGlzCiAgICAgLy8gb3ZlcmZsb3cgaWYgd2UgYXJlIGNsaXBwaW5nIG91ciBvd24gb3Zl
cmZsb3cuCi0gICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQorICAgIGlmIChjaGlsZC0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIEludFJlY3QgY2hpbGRWaXN1YWxPdmVyZmxvd1JlY3QgPSBjaGlsZC0+dmlzdWFsT3ZlcmZs
b3dSZWN0KCk7CisgICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVjdCA9IGNoaWxkLT52
aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsKICAgICBjaGlsZFZpc3Vh
bE92ZXJmbG93UmVjdC5tb3ZlKGRlbHRhKTsKICAgICBhZGRWaXN1YWxPdmVyZmxvdyhjaGlsZFZp
c3VhbE92ZXJmbG93UmVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyQm94OjphZGRMYXlvdXRPdmVyZmxv
dyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgYm9yZGVyQm94ID0gYm9yZGVy
Qm94UmVjdCgpOwotICAgIGlmIChib3JkZXJCb3guY29udGFpbnMocmVjdCkpCisgICAgSW50UmVj
dCBjbGllbnRCb3ggPSBjbGllbnRCb3hSZWN0KCk7CisgICAgaWYgKGNsaWVudEJveC5jb250YWlu
cyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAg
ICBpZiAoIW1fb3ZlcmZsb3cpCi0gICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVy
Zmxvdyhib3JkZXJCb3gpKTsKKyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJm
bG93KGNsaWVudEJveCwgYm9yZGVyQm94UmVjdCgpKSk7CiAgICAgCiAgICAgbV9vdmVyZmxvdy0+
YWRkTGF5b3V0T3ZlcmZsb3cocmVjdCk7CiB9CkBAIC0zMTY1LDExICszMTAzLDExIEBAIHZvaWQg
UmVuZGVyQm94OjphZGRMYXlvdXRPdmVyZmxvdyhjb25zdCAKIHZvaWQgUmVuZGVyQm94OjphZGRW
aXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEludFJlY3QgYm9yZGVy
Qm94ID0gYm9yZGVyQm94UmVjdCgpOwotICAgIGlmIChib3JkZXJCb3guY29udGFpbnMocmVjdCkp
CisgICAgaWYgKGJvcmRlckJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICBpZiAoIW1fb3ZlcmZsb3cpCi0gICAgICAgIG1f
b3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVyZmxvdyhib3JkZXJCb3gpKTsKKyAgICAgICAgbV9v
dmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGNsaWVudEJveFJlY3QoKSwgYm9yZGVyQm94
KSk7CiAgICAgCiAgICAgbV9vdmVyZmxvdy0+YWRkVmlzdWFsT3ZlcmZsb3cocmVjdCk7CiB9CkBA
IC0zMjA1LDIwICszMTQzLDc2IEBAIGludCBSZW5kZXJCb3g6OmJhc2VsaW5lUG9zaXRpb24oRm9u
dEJhc2UKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OmJsb2NrRGlyZWN0aW9u
T3ZlcmZsb3coYm9vbCBpc0xpbmVIb3Jpem9udGFsLCBpbnQmIGxvZ2ljYWxUb3BMYXlvdXRPdmVy
ZmxvdywgaW50JiBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50
JiBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCitJbnRSZWN0IFJlbmRlckJveDo6bG9naWNh
bFZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKIHsKLSAgICBpZiAoaXNMaW5lSG9yaXpvbnRhbCkgewotICAgICAgICBsb2dpY2Fs
VG9wTGF5b3V0T3ZlcmZsb3cgPSB0b3BMYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2Fs
Qm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBib3R0b21MYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBs
b2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSB0b3BWaXN1YWxPdmVyZmxvdygpOwotICAgICAgICBs
b2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBib3R0b21WaXN1YWxPdmVyZmxvdygpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyA9IGxlZnRMYXlvdXRP
dmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cgPSByaWdodExh
eW91dE92ZXJmbG93KCk7Ci0gICAgICAgIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IGxlZnRW
aXN1YWxPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBy
aWdodFZpc3VhbE92ZXJmbG93KCk7Ci0gICAgfSAKKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFwYXJlbnRT
dHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3QudHJh
bnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5kZXJCb3g6
OnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGUgd3JpdGluZyBtb2RlcyBvZiB0aGUgY2hpbGQgYW5k
IHBhcmVudCBtYXRjaCwgdGhlbiB3ZSBkb24ndCBoYXZlIHRvIAorICAgIC8vIGRvIGFueXRoaW5n
IGZhbmN5LiBKdXN0IHJldHVybiB0aGUgcmVzdWx0LgorICAgIEludFJlY3QgcmVjdCA9IHZpc3Vh
bE92ZXJmbG93UmVjdCgpOworICAgIGlmIChwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBz
dHlsZSgpLT53cml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAKKyAgICAv
LyBXZSBhcmUgcHV0dGluZyBvdXJzZWx2ZXMgaW50byBvdXIgcGFyZW50J3MgY29vcmRpbmF0ZSBz
cGFjZS4gIElmIHRoZXJlIGlzIGEgZmxpcHBlZCBibG9jayBtaXNtYXRjaAorICAgIC8vIGluIGEg
cGFydGljdWxhciBheGlzLCB0aGVuIHdlIGhhdmUgdG8gZmxpcCB0aGUgcmVjdCBhbG9uZyB0aGF0
IGF4aXMuCisgICAgaWYgKHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0
aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRp
bmdNb2RlKQorICAgICAgICByZWN0LnNldFgod2lkdGgoKSAtIHJlY3QucmlnaHQoKSk7CisgICAg
ZWxzZSBpZiAoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2Rl
IHx8IHBhcmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUp
CisgICAgICAgIHJlY3Quc2V0WShoZWlnaHQoKSAtIHJlY3QuYm90dG9tKCkpOworCisgICAgcmV0
dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojpsb2dpY2FsTGF5b3V0T3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAoreworICAg
IEludFJlY3QgcmVjdCA9IGxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHBhcmVudFN0
eWxlKTsKKyAgICBpZiAoIXBhcmVudFN0eWxlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQor
ICAgICAgICByZXR1cm4gcmVjdC50cmFuc3Bvc2VkUmVjdCgpOworICAgIHJldHVybiByZWN0Owor
fQorCitJbnRSZWN0IFJlbmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24o
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAoreworICAgIC8vIE9ubHkgcHJvcGFnYXRl
IGludGVyaW9yIGxheW91dCBvdmVyZmxvdyBpZiB3ZSBkb24ndCBjbGlwIGl0LgorICAgIEludFJl
Y3QgcmVjdCA9IGJvcmRlckJveFJlY3QoKTsKKyAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpKQor
ICAgICAgICByZWN0LnVuaXRlKGxheW91dE92ZXJmbG93UmVjdCgpKTsKKworICAgIGlmIChpc1Jl
bFBvc2l0aW9uZWQoKSB8fCBoYXNUcmFuc2Zvcm0oKSkgeworICAgICAgICAvLyBJZiB3ZSBhcmUg
cmVsYXRpdmVseSBwb3NpdGlvbmVkIG9yIGlmIHdlIGhhdmUgYSB0cmFuc2Zvcm0sIHRoZW4gd2Ug
aGF2ZSB0byBjb252ZXJ0CisgICAgICAgIC8vIHRoaXMgcmVjdGFuZ2xlIGludG8gcGh5c2ljYWwg
Y29vcmRpbmF0ZXMsIGFwcGx5IHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCB0cmFuc2Zvcm1zCisg
ICAgICAgIC8vIHRvIGl0LCBhbmQgdGhlbiBjb252ZXJ0IGl0IGJhY2suCisgICAgICAgIGZsaXBG
b3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICAgICAgCisgICAgICAgIGlmIChoYXNUcmFuc2Zvcm0o
KSkKKyAgICAgICAgICAgIHJlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVj
dChyZWN0KTsKKworICAgICAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBy
ZWN0Lm1vdmUocmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSwgcmVsYXRpdmVQb3NpdGlvbk9mZnNl
dFkoKSk7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBmbGlwIGJhY2suCisg
ICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICB9CisgICAgCisgICAgLy8gSWYg
dGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRoZW4gd2Ug
ZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1cm4gdGhl
IHJlc3VsdC4KKyAgICBpZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUoKS0+
d3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2UgYXJl
IHB1dHRpbmcgb3Vyc2VsdmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2UuICBJ
ZiB0aGVyZSBpcyBhIGZsaXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRpY3Vs
YXIgYXhpcywgdGhlbiB3ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlzLgor
ICAgIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUg
fHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkK
KyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2UgaWYg
KHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBwYXJl
bnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAgICAg
ICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiByZWN0
OwogfQogCiBJbnRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBSZW5k
ZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIEZsaXBwaW5nQWRqdXN0bWVudCBh
ZGp1c3RtZW50KSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDczMDgx
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NiwxMiArMTA2LDExIEBAIHB1YmxpYzoKICAgICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fZnJhbWVSZWN0OyB9CiAgICAgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVj
dCYgcmVjdCkgeyBtX2ZyYW1lUmVjdCA9IHJlY3Q7IH0KIAotICAgIEludFJlY3QgdHJhbnNmb3Jt
ZWRGcmFtZVJlY3QoKSBjb25zdDsKLSAgICBJbnRSZWN0IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1Jl
Y3QoY29uc3QgSW50UmVjdCYpIGNvbnN0OwotCiAgICAgSW50UmVjdCBib3JkZXJCb3hSZWN0KCkg
Y29uc3QgeyByZXR1cm4gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KICAgICB2
aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBib3JkZXJC
b3hSZWN0KCk7IH0gCiAgICAgCisgICAgSW50UmVjdCBjbGllbnRCb3hSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gSW50UmVjdChib3JkZXJMZWZ0KCksIGJvcmRlclRvcCgpLCBjbGllbnRXaWR0aCgpLCBj
bGllbnRIZWlnaHQoKSk7IH0KKwogICAgIC8vIFRoZSBjb250ZW50IGFyZWEgb2YgdGhlIGJveCAo
ZXhjbHVkZXMgcGFkZGluZyBhbmQgYm9yZGVyKS4KICAgICBJbnRSZWN0IGNvbnRlbnRCb3hSZWN0
KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdChib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLCBi
b3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSwgY29udGVudFdpZHRoKCksIGNvbnRlbnRIZWlnaHQo
KSk7IH0KICAgICAvLyBUaGUgY29udGVudCBib3ggaW4gYWJzb2x1dGUgY29vcmRzLiBJZ25vcmVz
IHRyYW5zZm9ybXMuCkBAIC0xMjgsMTcgKzEyNywxNiBAQCBwdWJsaWM6CiAgICAgUmVuZGVyQm94
KiBuZXh0U2libGluZ0JveCgpIGNvbnN0OwogICAgIFJlbmRlckJveCogcGFyZW50Qm94KCkgY29u
c3Q7CiAKLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBo
YXNPdmVyZmxvd0NsaXAoKSA/IHZpc3VhbE92ZXJmbG93UmVjdCgpIDogKG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkgOiBib3JkZXJCb3hSZWN0KCkpOyB9CiAg
ICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xp
cCgpID8gdG9wVmlzdWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93KCks
IHRvcFZpc3VhbE92ZXJmbG93KCkpOyB9CiAgICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gYm90dG9tVmlzdWFsT3ZlcmZsb3co
KSA6IHN0ZDo6bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93
KCkpOyB9CiAgICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNP
dmVyZmxvd0NsaXAoKSA/IGxlZnRWaXN1YWxPdmVyZmxvdygpIDogc3RkOjptaW4obGVmdExheW91
dE92ZXJmbG93KCksIGxlZnRWaXN1YWxPdmVyZmxvdygpKTsgfQogICAgIGludCByaWdodFZpc2li
bGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gcmlnaHRWaXN1
YWxPdmVyZmxvdygpIDogIHN0ZDo6bWF4KHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRWaXN1
YWxPdmVyZmxvdygpKTsgfQogCi0gICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25z
dCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkg
OiBib3JkZXJCb3hSZWN0KCk7IH0KLSAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7
IHJldHVybiBtX292ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogMDsg
fQotICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZs
b3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIDogaGVpZ2h0KCk7IH0KLSAg
ICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1f
b3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogMDsgfQotICAgIGludCByaWdodExheW91
dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnJpZ2h0
TGF5b3V0T3ZlcmZsb3coKSA6IHdpZHRoKCk7IH0KKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93
UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sYXlvdXRPdmVy
Zmxvd1JlY3QoKSA6IGNsaWVudEJveFJlY3QoKTsgfQorICAgIGludCB0b3BMYXlvdXRPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c/IG1fb3ZlcmZsb3ctPnRvcExheW91dE92ZXJm
bG93KCkgOiBib3JkZXJUb3AoKTsgfQorICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpIDogYm9yZGVyVG9wKCkgKyBjbGllbnRIZWlnaHQoKTsgfQorICAgIGludCBsZWZ0TGF5b3V0
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGVmdExh
eW91dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCk7IH0KKyAgICBpbnQgcmlnaHRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91
dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCkgKyBjbGllbnRXaWR0aCgpOyB9CiAgICAgaW50IGxv
Z2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gbGVmdExheW91dE92ZXJmbG93KCkgOiB0b3BMYXlvdXRPdmVy
ZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0T3Zl
cmZsb3coKSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICAKQEAgLTI3MCwxMiArMjY4
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5saW5lQm94V3JhcHBlcihJbmxpbmVCb3gqIGJv
eFdyYXBwZXIpIHsgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94V3JhcHBlcjsgfQogICAgIHZvaWQg
ZGVsZXRlTGluZUJveFdyYXBwZXIoKTsKIAotICAgIGVudW0gQXBwbHlUcmFuc2Zvcm0geyBJbmNs
dWRlVHJhbnNmb3JtLCBFeGNsdWRlVHJhbnNmb3JtIH07Ci0gICAgdmlydHVhbCBpbnQgdG9wbW9z
dFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1
ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsK
LSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsICBBcHBseVRyYW5zZm9ybSA9IElu
Y2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9u
KGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0g
dHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0
cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJh
bnNmb3JtKSBjb25zdDsKLQogICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcik7CiAgICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSk7CiAKQEAgLTM5
MCw2ICszODIsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJl
Y3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmco
KSBjb25zdDsKIAorICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdEZvclByb3Bh
Z2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1Jl
Y3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgbG9naWNh
bExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7Cisg
ICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSop
IGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
aAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICBpbnQg
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSBjb25zdDsKICAgICBpbnQgcmVsYXRpdmVQb3NpdGlv
bk9mZnNldFkoKSBjb25zdDsKICAgICBJbnRTaXplIHJlbGF0aXZlUG9zaXRpb25PZmZzZXQoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCksIHJlbGF0aXZl
UG9zaXRpb25PZmZzZXRZKCkpOyB9CisgICAgSW50U2l6ZSByZWxhdGl2ZVBvc2l0aW9uTG9naWNh
bE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgOiByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCku
dHJhbnNwb3NlZFNpemUoKTsgfQogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucy4gVXNlZCB0byBjYWxj
dWxhdGUgb2Zmc2V0V2lkdGgvSGVpZ2h0LiAgT3ZlcnJpZGRlbiBieSBpbmxpbmVzIChSZW5kZXJG
bG93KQogICAgIC8vIHRvIHJldHVybiB0aGUgcmVtYWluaW5nIHdpZHRoIG9uIGEgZ2l2ZW4gbGlu
ZSAoYW5kIHRoZSBoZWlnaHQgb2YgYSBzaW5nbGUgbGluZSkuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDEzICsy
NzEsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9jayhib29sCiAgICAgICAg
IHNldE1heE1hcmdpbkFmdGVyVmFsdWVzKDAsIDApOwogICAgIH0KICAgICAKLSAgICAvLyBBZGQg
aW4gdGhlIG92ZXJmbG93IGZyb20gY2hpbGRyZW4uCi0gICAgRmxleEJveEl0ZXJhdG9yIGl0ZXJh
dG9yKHRoaXMpOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0ZXJhdG9yLmZpcnN0KCk7
IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkKLSAgICAgICAgYWRkT3ZlcmZsb3dGcm9t
Q2hpbGQoY2hpbGQpOwotCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFk
b3cgYW5kIHJlZmxlY3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93KCk7CisgICAgY29tcHV0
ZU92ZXJmbG93KGNsaWVudEJveFJlY3QoKSk7CiAKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKIApJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3OSw3
ICs1NzksNyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0JveCgpCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzaWJsZU92
ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAorSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlz
dWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgaWYgKCFmaXJzdExpbmVCb3go
KSB8fCAhbGFzdExpbmVCb3goKSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTU4OCwx
NiArNTg4LDE2IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc2libGVPdmVyZmwKICAg
ICBpbnQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CiAgICAg
aW50IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXNpYmxlT3ZlcmZsb3coKSk7Ci0gICAgICAg
IGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lkZSwgY3Vyci0+bG9naWNhbFJp
Z2h0VmlzaWJsZU92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9n
aWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOworICAgICAg
ICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KCkpOwogICAgIH0KIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0g
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgaW50IHgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bGVmdFZp
c2libGVPdmVyZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94
KCktPnRvcFZpc2libGVPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0TGluZUJveCgpLT5yaWdodFZpc2libGVPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPmxl
ZnRWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFz
dExpbmVCb3goKS0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+dG9w
VmlzaWJsZU92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwor
ICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94
KCktPmxlZnRWaXN1YWxPdmVyZmxvdygpOworICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmly
c3RMaW5lQm94KCktPnRvcFZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAg
aW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0
U2lkZSA6IGxhc3RMaW5lQm94KCktPnJpZ2h0VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJv
eCgpLT5sZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFs
ID8gbGFzdExpbmVCb3goKS0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgp
LT50b3BWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lk
ZTsKICAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIH0KIApAQCAtNjEw
LDcgKzYxMCw3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWMKICAg
ICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIEZpbmQgb3VyIGxlZnRtb3N0IHBvc2l0
aW9uLgotICAgIEludFJlY3QgYm91bmRpbmdCb3gobGluZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGlu
Z0JveCgpKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94KGxpbmVzVmlzdWFsT3ZlcmZsb3dCb3Vu
ZGluZ0JveCgpKTsKICAgICBpbnQgbGVmdCA9IGJvdW5kaW5nQm94LngoKTsKICAgICBpbnQgdG9w
ID0gYm91bmRpbmdCb3gueSgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkocmV2
aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRTaXplIG9m
ZnNldEZyb21Db250YWluZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50UG9pbnQmKSBjb25zdDsK
IAogICAgIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0OwotICAgIEludFJlY3QgbGlu
ZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0OworICAgIEludFJlY3QgbGluZXNW
aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3Q7CiAKICAgICBJbmxpbmVGbG93Qm94KiBj
cmVhdGVBbmRBcHBlbmRJbmxpbmVGbG93Qm94KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NzYsMTQgKzY3Niw2IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24oKQogICAgIH0gZWxzZSBpZiAoUmVuZGVyQm94KiBib3gg
PSByZW5kZXJCb3goKSkgewogICAgICAgICBzZXRXaWR0aChib3gtPndpZHRoKCkpOwogICAgICAg
ICBzZXRIZWlnaHQoYm94LT5oZWlnaHQoKSk7Ci0KLSAgICAgICAgaWYgKCFib3gtPmhhc092ZXJm
bG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICBpZiAoYm94LT5yaWdodExheW91dE92ZXJmbG93KCkg
PiBib3gtPndpZHRoKCkpCi0gICAgICAgICAgICAgICAgc2V0V2lkdGgoYm94LT5yaWdodExheW91
dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgaWYgKGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3co
KSA+IGJveC0+aGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgc2V0SGVpZ2h0KGJveC0+Ym90dG9t
TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAgICAgIGxvY2FsUG9p
bnQgKz0gYm94LT5sb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgfQogCkBA
IC0xOTY2LDYgKzE5NTgsMzkgQEAgaW50IFJlbmRlckxheWVyOjpzY3JvbGxIZWlnaHQoKQogICAg
IHJldHVybiBtX3Njcm9sbEhlaWdodDsKIH0KIAoraW50IFJlbmRlckxheWVyOjpvdmVyZmxvd1Rv
cCgpIGNvbnN0Cit7CisgICAgLy8gQ2xpcCBvdXQgdG9wIG92ZXJmbG93IGluIHZlcnRpY2FsIExU
UiBwYWdlcyBvciBob3Jpem9udGFsLXRiIHBhZ2VzLgorICAgIFJlbmRlckJveCogYm94ID0gcmVu
ZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoMCwgYm94LT50b3BMYXlvdXRPdmVy
ZmxvdygpLCAwLCBib3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkgLSBib3gtPnRvcExheW91dE92
ZXJmbG93KCkpOworICAgIGJveC0+ZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Cisg
ICAgcmV0dXJuIG92ZXJmbG93UmVjdC55KCk7Cit9CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZs
b3dCb3R0b20oKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7Cisg
ICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAg
Ym94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZs
b3dSZWN0LmJvdHRvbSgpOworfQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93TGVmdCgpIGNv
bnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92
ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JX
cml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwor
fQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93UmlnaHQoKSBjb25zdAoreworICAgIFJlbmRl
ckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5s
YXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnJpZ2h0KCk7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKGJvb2wqIG5lZWRIQmFyLCBib29sKiBu
ZWVkVkJhcikKIHsKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwpAQCAtMTk3OSwx
NCArMjAwNCwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpjb21wdXRlU2Nyb2xsRGltZW5zaW9uCiAg
ICAgYm9vbCBoYXNMZWZ0T3ZlcmZsb3cgPSAoIWJveC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSB8fCAhYm94LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpICYm
IGJveC0+c3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBMZWZ0VG9SaWdodFdyaXRpbmdNb2RlOwog
ICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAoYm94LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgJiYg
Ym94LT5zdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IFRvcFRvQm90dG9tV3JpdGluZ01vZGU7CiAK
LSAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDogbWluKDAs
IGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxlZnQoKSk7
Ci0gICAgbV9zY3JvbGxUb3BPdmVyZmxvdyA9ICFoYXNUb3BPdmVyZmxvdyA/IDAgOiBtaW4oMCwg
Ym94LT50b3Btb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJUb3AoKSk7Cisg
ICAgbV9zY3JvbGxMZWZ0T3ZlcmZsb3cgPSAhaGFzTGVmdE92ZXJmbG93ID8gMCA6IG1pbigwLCBv
dmVyZmxvd0xlZnQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKKyAgICBtX3Njcm9sbFRvcE92ZXJm
bG93ID0gIWhhc1RvcE92ZXJmbG93ID8gMCA6IG1pbigwLCBvdmVyZmxvd1RvcCgpIC0gYm94LT5i
b3JkZXJUb3AoKSk7CiAKICAgICBpbnQgcmlnaHRQb3MgPSAhaGFzTGVmdE92ZXJmbG93ID8KLSAg
ICAgICAgICAgICAgICAgICAgYm94LT5yaWdodG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBi
b3gtPmJvcmRlckxlZnQoKSA6CisgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93UmlnaHQoKSAt
IGJveC0+Ym9yZGVyTGVmdCgpIDoKICAgICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBt
X3Njcm9sbExlZnRPdmVyZmxvdzsKICAgICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93
ID8KLSAgICAgICAgICAgICAgICAgICAgYm94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkg
LSBib3gtPmJvcmRlclRvcCgpIDoKKyAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dCb3R0b20o
KSAtIGJveC0+Ym9yZGVyVG9wKCkgOgogICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQg
LSBtX3Njcm9sbFRvcE92ZXJmbG93OwogCiAgICAgbV9zY3JvbGxXaWR0aCA9IG1heChyaWdodFBv
cywgY2xpZW50V2lkdGgpOwpAQCAtMjMyNCwxMiArMjM0OSwxMyBAQCBzdGF0aWMgdm9pZCByZXN0
b3JlQ2xpcChHcmFwaGljc0NvbnRleHQqCiAgICAgcC0+cmVzdG9yZSgpOwogfQogCi1zdGF0aWMg
dm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRl
c3RSZXF1ZXN0cywgY29uc3QgSW50UmVjdCYgbGF5ZXJCb3VuZHMpCitzdGF0aWMgdm9pZCBwZXJm
b3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRlc3RSZXF1ZXN0
cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVy
KQogewogICAgIFZlY3RvcjxPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQqPiBvdmVybGFwcGVkUmVx
dWVzdENsaWVudHM7CiAgICAgT3ZlcmxhcFRlc3RSZXF1ZXN0TWFwOjppdGVyYXRvciBlbmQgPSBv
dmVybGFwVGVzdFJlcXVlc3RzLmVuZCgpOworICAgIEludFJlY3QgYm91bmRpbmdCb3ggPSBsYXll
ci0+Ym91bmRpbmdCb3gocm9vdExheWVyKTsKICAgICBmb3IgKE92ZXJsYXBUZXN0UmVxdWVzdE1h
cDo6aXRlcmF0b3IgaXQgPSBvdmVybGFwVGVzdFJlcXVlc3RzLmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgewotICAgICAgICBpZiAoIWxheWVyQm91bmRzLmludGVyc2VjdHMoaXQtPnNlY29uZCkp
CisgICAgICAgIGlmICghYm91bmRpbmdCb3guaW50ZXJzZWN0cyhpdC0+c2Vjb25kKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGl0LT5maXJzdC0+c2V0T3ZlcmxhcFRlc3RSZXN1
bHQodHJ1ZSk7CkBAIC0yNDU2LDcgKzI0ODIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExh
eWVyKFJlbmRlckxheWVyCiAgICAgICAgIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyID0gcGFpbnRp
bmdSb290OwogCiAgICAgaWYgKG92ZXJsYXBUZXN0UmVxdWVzdHMgJiYgaXNTZWxmUGFpbnRpbmdM
YXllcigpKQotICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3Rz
LCBsYXllckJvdW5kcyk7CisgICAgICAgIHBlcmZvcm1PdmVybGFwVGVzdHMoKm92ZXJsYXBUZXN0
UmVxdWVzdHMsIHJvb3RMYXllciwgdGhpcyk7CiAKICAgICAvLyBXZSB3YW50IHRvIHBhaW50IG91
ciBsYXllciwgYnV0IG9ubHkgaWYgd2UgaW50ZXJzZWN0IHRoZSBkYW1hZ2UgcmVjdC4KICAgICBi
b29sIHNob3VsZFBhaW50ID0gaW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFn
ZVJlY3QsIHJvb3RMYXllcikgJiYgbV9oYXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGlu
Z0xheWVyKCk7CkBAIC0yNjY1LDExICsyNjkxLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRl
c3QoY29uc3QgSGl0VGVzdFIKIHsKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT51cGRhdGVM
YXlvdXQoKTsKICAgICAKLSAgICBJbnRSZWN0IGJvdW5kc1JlY3QobV94LCBtX3ksIHdpZHRoKCks
IGhlaWdodCgpKTsKKyAgICBJbnRSZWN0IGhpdFRlc3RBcmVhID0gcmVzdWx0LnJlY3RGb3JQb2lu
dChyZXN1bHQucG9pbnQoKSk7CiAgICAgaWYgKCFyZXF1ZXN0Lmlnbm9yZUNsaXBwaW5nKCkpCi0g
ICAgICAgIGJvdW5kc1JlY3QuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkp
OworICAgICAgICBoaXRUZXN0QXJlYS5pbnRlcnNlY3QoZnJhbWVWaXNpYmxlUmVjdChyZW5kZXJl
cigpKSk7CiAKLSAgICBSZW5kZXJMYXllciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhp
cywgMCwgcmVxdWVzdCwgcmVzdWx0LCBib3VuZHNSZWN0LCByZXN1bHQucG9pbnQoKSwgZmFsc2Up
OworICAgIFJlbmRlckxheWVyKiBpbnNpZGVMYXllciA9IGhpdFRlc3RMYXllcih0aGlzLCAwLCBy
ZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RBcmVhLCByZXN1bHQucG9pbnQoKSwgZmFsc2UpOwogICAg
IGlmICghaW5zaWRlTGF5ZXIpIHsKICAgICAgICAgLy8gV2UgZGlkbid0IGhpdCBhbnkgbGF5ZXIu
IElmIHdlIGFyZSB0aGUgcm9vdCBsYXllciBhbmQgdGhlIG1vdXNlIGlzIC0tIG9yIGp1c3Qgd2Fz
IC0tIGRvd24sIAogICAgICAgICAvLyByZXR1cm4gb3Vyc2VsdmVzLiBXZSBkbyB0aGlzIHNvIG1v
dXNlIGV2ZW50cyBjb250aW51ZSBnZXR0aW5nIGRlbGl2ZXJlZCBhZnRlciBhIGRyYWcgaGFzIApA
QCAtMzM3NSw4ICszNDAxLDggQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6bG9jYWxCb3VuZGluZ0Jv
eCgpIAogICAgICAgICBJbmxpbmVGbG93Qm94KiBmaXJzdEJveCA9IGlubGluZUZsb3ctPmZpcnN0
TGluZUJveCgpOwogICAgICAgICBpZiAoIWZpcnN0Qm94KQogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKLSAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXNpYmxlT3ZlcmZsb3coKTsK
LSAgICAgICAgaW50IGJvdHRvbSA9IGlubGluZUZsb3ctPmxhc3RMaW5lQm94KCktPmJvdHRvbVZp
c2libGVPdmVyZmxvdygpOworICAgICAgICBpbnQgdG9wID0gZmlyc3RCb3gtPnRvcFZpc3VhbE92
ZXJmbG93KCk7CisgICAgICAgIGludCBib3R0b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgp
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOwogICAgICAgICBpbnQgbGVmdCA9IGZpcnN0Qm94LT54
KCk7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0Qm94LT5uZXh0TGlu
ZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkKICAgICAgICAgICAgIGxl
ZnQgPSBtaW4obGVmdCwgY3Vyci0+eCgpKTsKQEAgLTMzODcsNyArMzQxMyw3IEBAIEludFJlY3Qg
UmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgICAgIGlmIChjaGlsZC0+
aXNUYWJsZUNlbGwoKSkgewogICAgICAgICAgICAgICAgIEludFJlY3QgYmJveCA9IHRvUmVuZGVy
Qm94KGNoaWxkKS0+Ym9yZGVyQm94UmVjdCgpOwogICAgICAgICAgICAgICAgIHJlc3VsdC51bml0
ZShiYm94KTsKLSAgICAgICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCA9IHJlbmRlckJv
eCgpLT52aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBvdmVy
Zmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgICAg
ICAgICAgaWYgKGJib3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAgICAgICAgICByZXN1
bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsKICAgICAgICAgICAgIH0KQEAgLTM0MDAsNyArMzQyNiw3
IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSBib3gtPmJvcmRlckJveFJlY3QoKTsKICAg
ICAgICAgICAgIHJlc3VsdCA9IGJib3g7Ci0gICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVj
dCA9IGJveC0+dmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgSW50UmVjdCBvdmVy
Zmxvd1JlY3QgPSBib3gtPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgaWYgKGJi
b3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAgICAgIHJlc3VsdC51bml0ZShvdmVyZmxv
d1JlY3QpOwogICAgICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHJldmlzaW9u
IDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNTgxLDYgKzU4MSwxMSBAQCBwcml2YXRlOgogICAgIC8vIE9ubHkgc2FmZSB0byBjYWxs
IGZyb20gUmVuZGVyQm94TW9kZWxPYmplY3Q6OmRlc3Ryb3lMYXllcihSZW5kZXJBcmVuYSopCiAg
ICAgdm9pZCBkZXN0cm95KFJlbmRlckFyZW5hKik7CiAKKyAgICBpbnQgb3ZlcmZsb3dUb3AoKSBj
b25zdDsKKyAgICBpbnQgb3ZlcmZsb3dCb3R0b20oKSBjb25zdDsKKyAgICBpbnQgb3ZlcmZsb3dM
ZWZ0KCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93UmlnaHQoKSBjb25zdDsKKwogcHJvdGVjdGVk
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX3JlbmRlcmVyOwogCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2
LDEwICsxNzYsMTAgQEAgYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6YW55TGluZUludGVyc2VjdAog
ICAgIC8vIGludGVyc2VjdC4gIFRoaXMgaXMgYSBxdWljayBzaG9ydC1jaXJjdWl0IHRoYXQgd2Ug
Y2FuIHRha2UgdG8gYXZvaWQgd2Fsa2luZyBhbnkgbGluZXMuCiAgICAgLy8gRklYTUU6IFRoaXMg
Y2hlY2sgaXMgZmxhd2VkIGluIHRoZSBmb2xsb3dpbmcgZXh0cmVtZWx5IG9ic2N1cmUgd2F5Ogog
ICAgIC8vIGlmIHNvbWUgbGluZSBpbiB0aGUgbWlkZGxlIGhhcyBhIGh1Z2Ugb3ZlcmZsb3csIGl0
IG1pZ2h0IGFjdHVhbGx5IGV4dGVuZCBiZWxvdyB0aGUgbGFzdCBsaW5lLgotICAgIGludCBmaXJz
dExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpOwor
ICAgIGludCBmaXJzdExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93KCk7CiAgICAgaWYgKHVzZVByaW50UmVjdCAmJiAhZmlyc3RMaW5lQm94KCktPnBhcmVu
dCgpKQogICAgICAgICBmaXJzdExpbmVUb3AgPSBtaW4oZmlyc3RMaW5lVG9wLCBmaXJzdExpbmVC
b3goKS0+cm9vdCgpLT5saW5lVG9wKCkpOwotICAgIGludCBsYXN0TGluZUJvdHRvbSA9IGxhc3RM
aW5lQm94KCktPmxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQgbGFzdExp
bmVCb3R0b20gPSBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKTsK
ICAgICBpZiAodXNlUHJpbnRSZWN0ICYmICFsYXN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAgICAg
ICAgbGFzdExpbmVCb3R0b20gPSBtYXgobGFzdExpbmVCb3R0b20sIGxhc3RMaW5lQm94KCktPnJv
b3QoKS0+bGluZUJvdHRvbSgpKTsKICAgICBpbnQgbG9naWNhbFRvcCA9IGZpcnN0TGluZVRvcCAt
IG91dGxpbmVTaXplOwpAQCAtMTkwLDggKzE5MCw4IEBAIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6
OmFueUxpbmVJbnRlcnNlY3QKIAogYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6bGluZUludGVyc2Vj
dHNEaXJ0eVJlY3QoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyLCBJbmxpbmVGbG93Qm94
KiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkgY29uc3QK
IHsKLSAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZs
b3coKSwgYm94LT5yb290KCktPnNlbGVjdGlvblRvcCgpKSAtIHJlbmRlcmVyLT5tYXhpbWFsT3V0
bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKLSAgICBpbnQgbG9naWNhbEJvdHRvbSA9IGJveC0+
bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpICsgcmVuZGVyZXItPm1heGltYWxPdXRsaW5l
U2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsVG9wID0gbWluKGJveC0+bG9n
aWNhbFRvcFZpc3VhbE92ZXJmbG93KCksIGJveC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKSkgLSBy
ZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSk7CisgICAgaW50IGxv
Z2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdygpICsgcmVuZGVy
ZXItPm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOwogICAgIAogICAgIHJldHVy
biByYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVyLCBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9t
LCBwYWludEluZm8ucmVjdCwgdHgsIHR5KTsKIH0KQEAgLTIzMCw4ICsyMzAsOCBAQCB2b2lkIFJl
bmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyB0aGUgZGVwcmVjYXRlZCBwYWdpbmF0aW9uIG1vZGVsIHRoYXQgaXMgc3RpbGwgbmVl
ZGVkCiAgICAgICAgICAgICAvLyBmb3IgZW1iZWRkZWQgdmlld3MgaW5zaWRlIEFwcEtpdC4gIEFw
cEtpdCBpcyBpbmNhcGFibGUgb2YgcGFnaW5hdGluZyB2ZXJ0aWNhbAogICAgICAgICAgICAgLy8g
dGV4dCBwYWdlcywgc28gd2UgZG9uJ3QgaGF2ZSB0byBkZWFsIHdpdGggdmVydGljYWwgbGluZXMg
YXQgYWxsIGhlcmUuCi0gICAgICAgICAgICBpbnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vy
ci0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tRm9yUGFnaW5h
dGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgICAgICBp
bnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+dG9wVmlzdWFsT3ZlcmZsb3coKTsKKyAg
ICAgICAgICAgIGludCBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBjdXJyLT5ib3R0b21WaXN1
YWxPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKCFjdXJyLT5wYXJlbnQoKSkgewogICAgICAg
ICAgICAgICAgIC8vIFdlJ3JlIGEgcm9vdCBib3guICBVc2UgbGluZVRvcCBhbmQgbGluZUJvdHRv
bSBhcyB3ZWxsIGhlcmUuCiAgICAgICAgICAgICAgICAgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0g
bWluKHRvcEZvclBhZ2luYXRpb25DaGVjaywgY3Vyci0+cm9vdCgpLT5saW5lVG9wKCkpOwpAQCAt
MjQwLDcgKzI0MCw3IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRlckJveE0K
ICAgICAgICAgICAgIGlmIChib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgLSB0b3BGb3JQYWdpbmF0
aW9uQ2hlY2sgPD0gdi0+cHJpbnRSZWN0KCkuaGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAodHkgKyBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPiB2LT5wcmludFJlY3QoKS5ib3R0b20o
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoUm9vdElubGluZUJveCogbmV4dFJvb3RCb3gg
PSBjdXJyLT5yb290KCktPm5leHRSb290Qm94KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBi
b3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBt
aW4obmV4dFJvb3RCb3gtPnRvcFZpc2libGVPdmVyZmxvdygpLCBuZXh0Um9vdEJveC0+bGluZVRv
cCgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sg
PSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBtaW4obmV4dFJvb3RCb3gtPnRvcFZpc3Vh
bE92ZXJmbG93KCksIG5leHRSb290Qm94LT5saW5lVG9wKCkpKTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID4gdi0+
cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHR5ICsgdG9w
Rm9yUGFnaW5hdGlvbkNoZWNrIDwgdi0+dHJ1bmNhdGVkQXQoKSkKQEAgLTI5Miw3ICsyOTIsNyBA
QCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KFJlbmRlckJvCiAgICAgLy8gdGhlbSBm
dXJ0aGVyLiAgTm90ZSB0aGF0IGJveGVzIGNhbiBlYXNpbHkgb3ZlcmxhcCwgc28gd2UgY2FuJ3Qg
bWFrZSBhbnkgYXNzdW1wdGlvbnMKICAgICAvLyBiYXNlZCBvZmYgcG9zaXRpb25zIG9mIG91ciBm
aXJzdCBsaW5lIGJveCBvciBvdXIgbGFzdCBsaW5lIGJveC4KICAgICBmb3IgKElubGluZUZsb3dC
b3gqIGN1cnIgPSBsYXN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+cHJldkxpbmVCb3go
KSkgewotICAgICAgICBpZiAocmFuZ2VJbnRlcnNlY3RzUmVjdChyZW5kZXJlciwgY3Vyci0+bG9n
aWNhbFRvcFZpc2libGVPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2FsQm90dG9tVmlzaWJsZU92ZXJm
bG93KCksIHJlY3QsIHR4LCB0eSkpIHsKKyAgICAgICAgaWYgKHJhbmdlSW50ZXJzZWN0c1JlY3Qo
cmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2Fs
Qm90dG9tVmlzdWFsT3ZlcmZsb3coKSwgcmVjdCwgdHgsIHR5KSkgewogICAgICAgICAgICAgYm9v
bCBpbnNpZGUgPSBjdXJyLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHksIHR4LCB0
eSk7CiAgICAgICAgICAgICBpZiAoaW5zaWRlKSB7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXIt
PnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAkocmV2aXNpb24gNzMwODEpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1NywyMCArMjU3LDMxIEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtl
cigKICAgICAgICAgYm9vbCBhZGp1c3RPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICBpbnQgbWFy
a2VyTG9naWNhbExlZnQ7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBtX21hcmtlci0+
aW5saW5lQm94V3JhcHBlcigpLT5yb290KCk7CisgICAgICAgIGJvb2wgaGl0U2VsZlBhaW50aW5n
TGF5ZXIgPSBmYWxzZTsKIAotICAgICAgICAvLyBGSVhNRTogSW5saW5lIGZsb3dzIGluIHRoZSBs
aW5lIGJveCBoaWVyYXJjaHkgdGhhdCBoYXZlIHNlbGYtcGFpbnRpbmcgbGF5ZXJzIHNob3VsZCBh
Y3QgYXMgY3V0b2ZmIHBvaW50cwotICAgICAgICAvLyBhbmQgcmVhbGx5IHNob3VsZG4ndCBrZWVw
IHByb3BhZ2F0aW5nIG92ZXJmbG93IHVwLiAgVGhpcyB3b24ndCByZWFsbHkgYnJlYWsgYW55dGhp
bmcgb3RoZXIgdGhhbiByZXBhaW50aW5nCi0gICAgICAgIC8vIG5vdCBiZWluZyBhcyB0aWdodCBh
cyBpdCBjb3VsZCBiZSB0aG91Z2guCisgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGFjY291bnQg
Zm9yIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGluIHRoZSBsYXlvdXQgb3ZlcmZsb3cuCiAgICAgICAg
IGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgIGlu
dCBsZWZ0TGluZU9mZnNldCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShibG9ja09mZnNldCwg
bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGJsb2NrT2Zmc2V0LCBmYWxzZSksIGZhbHNlKTsKICAg
ICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gbGVmdExpbmVPZmZzZXQgLSBsaW5lT2Zmc2V0
IC0gcGFkZGluZ1N0YXJ0KCkgLSBib3JkZXJTdGFydCgpICsgbV9tYXJrZXItPm1hcmdpblN0YXJ0
KCk7CiAgICAgICAgICAgICBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5l
RGlyZWN0aW9uUG9zaXRpb24obWFya2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVm
dCk7CiAgICAgICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxp
bmVCb3hXcmFwcGVyKCktPnBhcmVudCgpOyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgPCBib3gtPmxvZ2ljYWxMZWZ0TGF5
b3V0T3ZlcmZsb3coKSkgewotICAgICAgICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVj
dGlvbk92ZXJmbG93UG9zaXRpb25zKG1hcmtlckxvZ2ljYWxMZWZ0LCBib3gtPmxvZ2ljYWxSaWdo
dExheW91dE92ZXJmbG93KCksIGJveC0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gt
PmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3Qg
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdCgpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93
UmVjdCA9IGJveC0+bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAg
IGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QueCgp
ICYmICFoaXRTZWxmUGFpbnRpbmdMYXllcikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dp
Y2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNldFgobWFya2VyTG9naWNhbExlZnQpOworICAgICAgICAg
ICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKGJveC0+bG9n
aWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSAtIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Qu
eCgpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQogICAgICAgICAgICAg
ICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgPCBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0LngoKSkgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0LnNldFgobWFya2VyTG9naWNhbExlZnQpOworICAgICAgICAgICAgICAgICAgICBu
ZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnNldFdpZHRoKGJveC0+bG9naWNhbFJpZ2h0TGF5
b3V0T3ZlcmZsb3coKSAtIG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QueCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQorICAgICAgICAgICAgICAgICAgICAgICAg
YWRqdXN0T3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBib3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZs
b3dSZWN0LCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LCByb290LT5saW5lVG9wKCksIHJv
b3QtPmxpbmVCb3R0b20oKSk7CisgICAgICAgICAgICAgICAgaWYgKGJveC0+Ym94TW9kZWxPYmpl
Y3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0U2Vs
ZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBtX21hcmtlci0+bG9naWNhbExlZnQoKSAr
IHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5FbmQoKTsK
QEAgLTI3OCwxMSArMjg5LDIyIEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcigKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gcmlnaHRMaW5lT2Zmc2V0IC0g
bGluZU9mZnNldCArIHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgIG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPmFk
anVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExv
Z2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9tYXJr
ZXItPmlubGluZUJveFdyYXBwZXIoKS0+cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJlbnQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5s
b2dpY2FsV2lkdGgoKSA+IGJveC0+bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkgewotICAg
ICAgICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25z
KGJveC0+bG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdygpLCBtYXJrZXJMb2dpY2FsTGVmdCArIG1f
bWFya2VyLT5sb2dpY2FsV2lkdGgoKSwgYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCks
IGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgICAgICAgICAgSW50
UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAg
ICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpID4g
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5yaWdodCgpICYmICFoaXRTZWxmUGFpbnRpbmdM
YXllcikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0
LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpIC0g
Ym94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwogICAgICAgICAgICAgICAgICAgICBp
ZiAoYm94ID09IHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dp
Y2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxMYXlvdXRPdmVy
Zmxvd1JlY3QucmlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0
T3ZlcmZsb3dSZWN0LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2lj
YWxXaWR0aCgpIC0gYm94LT5sb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpOworICAgICAgICAg
ICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCisgICAgICAgICAgICAgICAgICAgICAgICBhZGp1
c3RPdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJv
eC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1Jl
Y3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QsIHJvb3QtPmxpbmVUb3AoKSwgcm9vdC0+
bGluZUJvdHRvbSgpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoYm94
LT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAg
ICAgICAgICBoaXRTZWxmUGFpbnRpbmdMYXllciA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApAQCAtMjkxLDEyICszMTMsMjQgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRp
b25MaXN0TWFya2VyKAogICAgICAgICAgICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKQogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QgPSBtYXJrZXJSZWN0LnRyYW5z
cG9zZWRSZWN0KCk7CiAgICAgICAgICAgICBSZW5kZXJCb3gqIG8gPSBtX21hcmtlcjsKKyAgICAg
ICAgICAgIGJvb2wgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAg
Ym9vbCBwcm9wYWdhdGVMYXlvdXRPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICBkbyB7CiAg
ICAgICAgICAgICAgICAgbyA9IG8tPnBhcmVudEJveCgpOwotICAgICAgICAgICAgICAgIGlmIChv
LT5pc1JlbmRlckJsb2NrKCkpCi0gICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobykt
PmFkZExheW91dE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAgICAgIGlmIChvLT5o
YXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3Zl
cmZsb3cgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aXNSZW5kZXJCbG9jaygpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZFZpc3VhbE92ZXJmbG93KG1h
cmtlclJlY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGFnYXRlTGF5b3V0T3ZlcmZs
b3cpCisgICAgICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlvdXRP
dmVyZmxvdyhtYXJrZXJSZWN0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
aWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVM
YXlvdXRPdmVyZmxvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNTZWxmUGFp
bnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxv
dyA9IGZhbHNlOwogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QubW92ZSgtby0+eCgpLCAtby0+
eSgpKTsKLSAgICAgICAgICAgIH0gd2hpbGUgKG8gIT0gdGhpcyAmJiAhby0+aGFzU2VsZlBhaW50
aW5nTGF5ZXIoKSk7CisgICAgICAgICAgICB9IHdoaWxlIChvICE9IHRoaXMgJiYgcHJvcGFnYXRl
VmlzdWFsT3ZlcmZsb3cgJiYgcHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICB9CiAg
ICAgfQogfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlz
aW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMDMsNyArMTEwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
cGFpbnQoUGFpbnRJbmZvJiAKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYm94T3Jp
Z2luKHR4ICsgeCgpLCB0eSArIHkoKSk7Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJs
ZU92ZXJmbG93UmVjdCgpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxv
d1JlY3QoKSk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUoYm94T3JpZ2luLngoKSwgYm94T3JpZ2lu
LnkoKSk7CiAgICAgb3ZlcmZsb3dSZWN0LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50
SW5mby5waGFzZSkpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkocmV2
aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRl
UG9zaXRpb24oRU1hcnEKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgYm9vbCBs
dHIgPSBzLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CiAgICAgICAgIGludCBjbGllbnRXaWR0
aCA9IGJveC0+Y2xpZW50V2lkdGgoKTsKLSAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/
IGJveC0+cmlnaHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIDogYm94LT5sZWZ0bW9zdFBvc2l0
aW9uKHRydWUsIGZhbHNlKTsKKyAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+
cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKICAgICAg
ICAgaWYgKGx0cikKICAgICAgICAgICAgIGNvbnRlbnRXaWR0aCArPSAoYm94LT5wYWRkaW5nUmln
aHQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKICAgICAgICAgZWxzZSB7CkBAIC0xMzcsOCArMTM3
LDcgQEAgaW50IFJlbmRlck1hcnF1ZWU6OmNvbXB1dGVQb3NpdGlvbihFTWFycQogICAgICAgICB9
CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+bG93
ZXN0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym94LT5ib3JkZXJUb3AoKSArIGJveC0+cGFkZGluZ0JvdHRvbSgpOworICAgICAgICBpbnQgY29u
dGVudEhlaWdodCA9IGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+Ym9yZGVyVG9w
KCkgKyBib3gtPnBhZGRpbmdCb3R0b20oKTsKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IGJv
eC0+Y2xpZW50SGVpZ2h0KCk7CiAgICAgICAgIGlmIChkaXIgPT0gTVVQKSB7CiAgICAgICAgICAg
ICBpZiAoc3RvcEF0Q29udGVudEVkZ2UpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZWRpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3Bw
CShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjAwLDgzICs2MDAsNiBAQCB2b2lkIFJlbmRlck1lZGlhOjpmb3J3
YXJkRXZlbnQoRXZlbnQqIGV2CiAgICAgfQogfQogCi1pbnQgUmVuZGVyTWVkaWE6OnRvcG1vc3RQ
b3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBB
cHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVu
ZGVySW1hZ2U6OnRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVk
ZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8
ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsK
LSAgICAKLSAgICB0b3AgPSBtaW4odG9wLCAgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJv
eCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5y
ZW5kZXJCb3goKS0+dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFz
VHJhbnNmb3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
LCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVm
dG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1
ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVy
VHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAt
IHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAg
cmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsb3dlc3RQb3NpdGlvbihib29sIGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgYm90dG9tID0gUmVuZGVySW1hZ2U6Omxv
d2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlU
cmFuc2Zvcm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNT
aGFkb3dSb290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIAotICAg
IGJvdHRvbSA9IG1heChib3R0b20sICBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCkt
PnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRl
ckJveCgpLT5sb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVk
ZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5z
Zm9ybSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50
IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5z
Zm9ybSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zv
cm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7
Ci0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpICsgdHJhbnNmb3JtUmVjdC55
KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpy
aWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQg
cmlnaHQgPSBSZW5kZXJJbWFnZTo6cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xz
U2hhZG93Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAg
IHJldHVybiByaWdodDsKLSAgICAKLSAgICByaWdodCA9IG1heChyaWdodCwgbV9jb250cm9sc1No
YWRvd1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIG1fY29u
dHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYg
KGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5
ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmln
aHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNs
dWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdo
dCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC53
aWR0aCgpICsgdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJpZ2h0Owot
fQotCi1pbnQgUmVuZGVyTWVkaWE6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zv
cm0pIGNvbnN0Ci17Ci0gICAgaW50IGxlZnQgPSBSZW5kZXJJbWFnZTo6bGVmdG1vc3RQb3NpdGlv
bihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsK
LSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgbGVmdCA9IG1pbihs
ZWZ0LCBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVS
ZWN0KCkueCgpICsgIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bGVmdG1vc3RQ
b3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNm
b3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBp
bmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAg
ICAgIGludCB0b3AgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9tID0gbG93
ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRl
VHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAg
ICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRS
ZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0
dXJuIHRyYW5zZm9ybVJlY3QueCgpOwotICAgIH0KLQotICAgIHJldHVybiBsZWZ0OwotfQotCi0K
IC8vIFdlIHdhbnQgdGhlIHRpbWVsaW5lIHNsaWRlciB0byBiZSBhdCBsZWFzdCAxMDAgcGl4ZWxz
IHdpZGUuCiBzdGF0aWMgY29uc3QgaW50IG1pbldpZHRoVG9EaXNwbGF5VGltZURpc3BsYXlzID0g
MTYgKyAxNiArIDQ1ICsgMTAwICsgNDUgKyAxNiArIDE7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVkaWEuaAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRp
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSwxMSArODUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgaW50IHRv
cG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBp
bmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29u
c3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9
IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0
aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxm
ID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Ig
PSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRl
VHJhbnNmb3JtKSBjb25zdDsKLQogICAgIHZvaWQgY3JlYXRlQ29udHJvbHNTaGFkb3dSb290KCk7
CiAgICAgdm9pZCBkZXN0cm95Q29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBjcmVhdGVQ
YW5lbCgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCShyZXZpc2lvbiA3MzA4
MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDE1ICszOSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gVGhpcyBvYmplY3QgaXMg
YWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0
IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KIGNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCi0gICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxv
dyhkZWZhdWx0UmVjdC55KCkpCi0gICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhkZWZh
dWx0UmVjdC5ib3R0b20oKSkKLSAgICAgICAgLCBtX2xlZnRMYXlvdXRPdmVyZmxvdyhkZWZhdWx0
UmVjdC54KCkpCi0gICAgICAgICwgbV9yaWdodExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnJp
Z2h0KCkpCi0gICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0g
ICAgICAgICwgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAg
ICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwg
bV9yaWdodFZpc3VhbE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkpCisgICAgUmVuZGVyT3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVj
dCkgCisgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKKyAgICAg
ICAgLCBtX2JvdHRvbUxheW91dE92ZXJmbG93KGxheW91dFJlY3QuYm90dG9tKCkpCisgICAgICAg
ICwgbV9sZWZ0TGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC54KCkpCisgICAgICAgICwgbV9yaWdo
dExheW91dE92ZXJmbG93KGxheW91dFJlY3QucmlnaHQoKSkKKyAgICAgICAgLCBtX3RvcFZpc3Vh
bE92ZXJmbG93KHZpc3VhbFJlY3QueSgpKQorICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZs
b3codmlzdWFsUmVjdC5ib3R0b20oKSkKKyAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyh2
aXN1YWxSZWN0LngoKSkKKyAgICAgICAgLCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVj
dC5yaWdodCgpKQogICAgIHsKICAgICB9CiAgICAKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgog
ICAgIGludCByaWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9yaWdodFZpc3Vh
bE92ZXJmbG93OyB9CiAgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsKIAot
ICAgIEludFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRU
b3BMYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV90b3BMYXlvdXRPdmVyZmxvdyA9IG92
ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cp
IHsgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRMZWZ0
TGF5b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fbGVmdExheW91dE92ZXJmbG93ID0gb3Zl
cmZsb3c7IH0KQEAgLTEwNCwxMyArMTAyLDYgQEAgaW5saW5lIEludFJlY3QgUmVuZGVyT3ZlcmZs
b3c6OnZpc3VhbE92ZQogICAgIHJldHVybiBJbnRSZWN0KG1fbGVmdFZpc3VhbE92ZXJmbG93LCBt
X3RvcFZpc3VhbE92ZXJmbG93LCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBtX2xlZnRWaXN1YWxP
dmVyZmxvdywgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyAtIG1fdG9wVmlzdWFsT3ZlcmZsb3cpOwog
fQogCi1pbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6dmlzaWJsZU92ZXJmbG93UmVjdCgp
IGNvbnN0Ci17Ci0gICAgSW50UmVjdCBjb21iaW5lZFJlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkp
OwotICAgIGNvbWJpbmVkUmVjdC51bml0ZSh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7Ci0gICAgcmV0
dXJuIGNvbWJpbmVkUmVjdDsKLX0KLQogaW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6Om1vdmUo
aW50IGR4LCBpbnQgZHkpCiB7CiAgICAgbV90b3BMYXlvdXRPdmVyZmxvdyArPSBkeTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODks
NyArMzg5LDcgQEAgSW50UmVjdCBSZW5kZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UgogCiAg
ICAgLy8gVGhlIHNlbGVjdGlvblJlY3QgY2FuIHByb2plY3Qgb3V0c2lkZSBvZiB0aGUgb3ZlcmZs
b3dSZWN0LCBzbyB0YWtlIHRoZWlyIHVuaW9uCiAgICAgLy8gZm9yIHJlcGFpbnRpbmcgdG8gYXZv
aWQgc2VsZWN0aW9uIHBhaW50aW5nIGdsaXRjaGVzLgotICAgIEludFJlY3QgciA9IHVuaW9uUmVj
dChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAg
IEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXN1YWxP
dmVyZmxvd1JlY3QoKSk7CiAKICAgICBSZW5kZXJWaWV3KiB2ID0gdmlldygpOwogICAgIGlmICh2
KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiA3MzA4MSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg3
LDEyICszODcsMTggQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICB1cGRhdGVMYXll
clRyYW5zZm9ybSgpOwogCiAgICAgLy8gQWRkIG92ZXJmbG93IGZyb20gYm9yZGVycy4KKyAgICAv
LyBUZWNobmljYWxseSBpdCdzIG9kZCB0aGF0IHdlIGFyZSBpbmNvcnBvcmF0aW5nIHRoZSBib3Jk
ZXJzIGludG8gbGF5b3V0IG92ZXJmbG93LCB3aGljaCBpcyBvbmx5IHN1cHBvc2VkIHRvIGJlIGFi
b3V0IG92ZXJmbG93IGZyb20gb3VyCisgICAgLy8gZGVzY2VuZGFudCBvYmplY3RzLCBidXQgc2lu
Y2UgdGFibGVzIGRvbid0IHN1cHBvcnQgb3ZlcmZsb3c6YXV0bywgdGhpcyB3b3JrcyBvdXQgZmlu
ZS4KICAgICBpbnQgcmlnaHRCb3JkZXJPdmVyZmxvdyA9IHdpZHRoKCkgKyAoY29sbGFwc2luZyA/
IG91dGVyQm9yZGVyUmlnaHQoKSAtIGJvcmRlclJpZ2h0KCkgOiAwKTsKICAgICBpbnQgbGVmdEJv
cmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlckxlZnQoKSAtIG91dGVyQm9yZGVyTGVm
dCgpIDogMDsKICAgICBpbnQgYm90dG9tQm9yZGVyT3ZlcmZsb3cgPSBoZWlnaHQoKSArIChjb2xs
YXBzaW5nID8gb3V0ZXJCb3JkZXJCb3R0b20oKSAtIGJvcmRlckJvdHRvbSgpIDogMCk7CiAgICAg
aW50IHRvcEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlclRvcCgpIC0gb3V0ZXJC
b3JkZXJUb3AoKSA6IDA7Ci0gICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50UmVjdChsZWZ0Qm9yZGVy
T3ZlcmZsb3csIHRvcEJvcmRlck92ZXJmbG93LCByaWdodEJvcmRlck92ZXJmbG93IC0gbGVmdEJv
cmRlck92ZXJmbG93LCBib3R0b21Cb3JkZXJPdmVyZmxvdyAtIHRvcEJvcmRlck92ZXJmbG93KSk7
Ci0gICAgCisgICAgSW50UmVjdCBib3JkZXJPdmVyZmxvd1JlY3QobGVmdEJvcmRlck92ZXJmbG93
LCB0b3BCb3JkZXJPdmVyZmxvdywgcmlnaHRCb3JkZXJPdmVyZmxvdyAtIGxlZnRCb3JkZXJPdmVy
ZmxvdywgYm90dG9tQm9yZGVyT3ZlcmZsb3cgLSB0b3BCb3JkZXJPdmVyZmxvdyk7CisgICAgaWYg
KGJvcmRlck92ZXJmbG93UmVjdCAhPSBib3JkZXJCb3hSZWN0KCkpIHsKKyAgICAgICAgYWRkTGF5
b3V0T3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICAgICAgYWRkVmlzdWFsT3ZlcmZs
b3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICB9CisKICAgICAvLyBBZGQgdmlzdWFsIG92ZXJm
bG93IGZyb20gYm94LXNoYWRvdyBhbmQgcmVmbGVjdGlvbnMuCiAgICAgYWRkU2hhZG93T3ZlcmZs
b3coKTsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNw
cAkocmV2aXNpb24gNzMwODEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjIsNzggKzY2Miw2IEBAIGludCBSZW5kZXJUYWJs
ZVNlY3Rpb246OmxheW91dFJvd3MoaW50IHQKICAgICByZXR1cm4gaGVpZ2h0KCk7CiB9CiAKLWlu
dCBSZW5kZXJUYWJsZVNlY3Rpb246OnRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxv
d0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9y
bSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVuZGVyQm94Ojp0b3Btb3N0UG9zaXRpb24oaW5j
bHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAg
aWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAg
ICAgcmV0dXJuIHRvcDsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxk
KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVy
T2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1
cnIpOwotICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0b3AsIGNlbGwtPnRyYW5zZm9ybWVkRnJh
bWVSZWN0KCkueSgpICsgY2VsbC0+dG9wbW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHRvcDsKLX0KLQotaW50IFJl
bmRlclRhYmxlU2VjdGlvbjo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgaW50IGJvdHRvbSA9IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYg
KCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAg
cmV0dXJuIGJvdHRvbTsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxk
KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVy
T2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAg
ICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1
cnIpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGNlbGwtPnRyYW5zZm9y
bWVkRnJhbWVSZWN0KCkueSgpICsgY2VsbC0+bG93ZXN0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICByZXR1cm4gYm90dG9tOwotfQot
Ci1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpyaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRy
YW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgcmlnaHQgPSBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zv
cm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlw
KCkpCi0gICAgICAgIHJldHVybiByaWdodDsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cg
PSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAg
IGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIg
PSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNl
bGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVy
VGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjZWxs
LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNlbGwtPnJpZ2h0bW9zdFBvc2l0aW9uKGZh
bHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJu
IHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsZWZ0bW9zdFBvc2l0aW9uKGJv
b2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNm
b3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBsZWZ0ID0gUmVuZGVyQm94Ojps
ZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBw
bHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3Zl
cmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBsZWZ0OwotICAgIAotICAgIGZvciAoUmVuZGVy
T2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vy
ci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4o
bGVmdCwgY2VsbC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjZWxsLT5sZWZ0bW9zdFBv
c2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0g
ICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJv
cmRlckJlZm9yZSgpIGNvbnN0CiB7CiAgICAgaW50IHRvdGFsQ29scyA9IHRhYmxlKCktPm51bUVm
ZkNvbHMoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCShyZXZp
c2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzYsMTEgKzEzNiw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0KiBvbGRDaGlsZCk7CiAKLSAgICB2aXJ0dWFs
IGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBp
bmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
LCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNv
bnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRy
YW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihib29sIGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9
IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50
SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDZWxsKFJlbmRl
clRhYmxlQ2VsbCosIFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxNiw4
ICs2MTYsMTcgQEAgc3RhdGljIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYgdHMsIFJlbmRlcgogfQog
CiBzdGF0aWMgdm9pZCB3cml0ZUxheWVycyhUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGwsCi0gICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBJbnRSZWN0JiBwYWludERpcnR5UmVjdCwgaW50IGluZGVudCwgUmVuZGVyQXNUZXh0QmVo
YXZpb3IgYmVoYXZpb3IpCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBw
YWludFJlY3QsIGludCBpbmRlbnQsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQogewor
ICAgIC8vIEZJWE1FOiBBcHBseSBvdmVyZmxvdyB0byB0aGUgcm9vdCBsYXllciB0byBub3QgYnJl
YWsgZXZlcnkgdGVzdC4gIENvbXBsZXRlIGhhY2suICBTaWdoLgorICAgIEludFJlY3QgcGFpbnRE
aXJ0eVJlY3QocGFpbnRSZWN0KTsKKyAgICBpZiAocm9vdExheWVyID09IGwpIHsKKyAgICAgICAg
cGFpbnREaXJ0eVJlY3Quc2V0V2lkdGgobWF4KHBhaW50RGlydHlSZWN0LndpZHRoKCksIHJvb3RM
YXllci0+cmVuZGVyQm94KCktPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBwYWlu
dERpcnR5UmVjdC5zZXRIZWlnaHQobWF4KHBhaW50RGlydHlSZWN0LmhlaWdodCgpLCByb290TGF5
ZXItPnJlbmRlckJveCgpLT5ib3R0b21MYXlvdXRPdmVyZmxvdygpKSk7CisgICAgICAgIGwtPnNl
dFdpZHRoKG1heChsLT53aWR0aCgpLCBsLT5yZW5kZXJCb3goKS0+cmlnaHRMYXlvdXRPdmVyZmxv
dygpKSk7CisgICAgICAgIGwtPnNldEhlaWdodChtYXgobC0+aGVpZ2h0KCksIGwtPnJlbmRlckJv
eCgpLT5ib3R0b21MYXlvdXRPdmVyZmxvdygpKSk7CisgICAgfQorICAgIAogICAgIC8vIENhbGN1
bGF0ZSB0aGUgY2xpcCByZWN0cyB3ZSBzaG91bGQgdXNlLgogICAgIEludFJlY3QgbGF5ZXJCb3Vu
ZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwgb3V0bGluZVJlY3Q7CiAgICAgbC0+Y2Fs
Y3VsYXRlUmVjdHMocm9vdExheWVyLCBwYWludERpcnR5UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFn
ZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwgb3V0bGluZVJlY3QsIHRydWUpOwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDczMDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSwxMiArMTI5LDYgQEAgdm9pZCBS
ZW5kZXJWaWV3OjpsYXlvdXQoKQogICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICBSZW5k
ZXJCbG9jazo6bGF5b3V0KCk7CiAKLSAgICAvLyBSZXNldCBvdmVyZmxvdyBhbmQgdGhlbiByZXBs
YWNlIGl0IHdpdGggZG9jV2lkdGggYW5kIGRvY0hlaWdodC4KLSAgICBtX292ZXJmbG93LmNsZWFy
KCk7Ci0gICAgaW50IGxlZnRPdmVyZmxvdyA9IGRvY0xlZnQoKTsKLSAgICBpbnQgdG9wT3ZlcmZs
b3cgPSBkb2NUb3AoKTsKLSAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KGxlZnRPdmVyZmxv
dywgdG9wT3ZlcmZsb3csIGRvY1dpZHRoKGxlZnRPdmVyZmxvdyksIGRvY0hlaWdodCh0b3BPdmVy
ZmxvdykpKTsKLQogICAgIEFTU0VSVChsYXlvdXREZWx0YSgpID09IEludFNpemUoKSk7CiAgICAg
QVNTRVJUKG1fbGF5b3V0U3RhdGVEaXNhYmxlQ291bnQgPT0gMCk7CiAgICAgQVNTRVJUKG1fbGF5
b3V0U3RhdGUgPT0gJnN0YXRlKTsKQEAgLTYyMywyNSArNjE3LDE5IEBAIGludCBSZW5kZXJWaWV3
Ojpkb2NUb3AoKSBjb25zdAogICAgIC8vIENsaXAgb3V0IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0aWNh
bCBMVFIgcGFnZXMgb3IgaG9yaXpvbnRhbC10YiBwYWdlcy4KICAgICBpZiAoKCFzdHlsZSgpLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKSkgfHwgc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBUb3BUb0JvdHRvbVdyaXRpbmdNb2Rl
KQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gc3RkOjptaW4oMCwgdG9wbW9zdFBvc2l0
aW9uKCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KDAsIHRvcExheW91dE92ZXJmbG93KCks
IDAsIGJvdHRvbUxheW91dE92ZXJmbG93KCkgLSB0b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBm
bGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0
LnkoKTsKIH0KIAotaW50IFJlbmRlclZpZXc6OmRvY0hlaWdodChpbnQgdG9wT3ZlcmZsb3cpIGNv
bnN0CitpbnQgUmVuZGVyVmlldzo6ZG9jQm90dG9tKCkgY29uc3QKIHsKLSAgICBpbnQgaCA9ICgo
IXN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKSB8fCBzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFRvcFRvQm90dG9t
V3JpdGluZ01vZGUpID8KLSAgICAgICAgICAgICAgICBsb3dlc3RQb3NpdGlvbigpIDogaGVpZ2h0
KCkgLSB0b3BPdmVyZmxvdzsKLQotICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgZG8gYW55IG1h
cmdpbiBjb2xsYXBzaW5nLgotICAgIC8vIEluc3RlYWQgb2YgdGhpcyBkaCBjb21wdXRhdGlvbiB3
ZSBzaG91bGQga2VlcCB0aGUgcmVzdWx0Ci0gICAgLy8gd2hlbiB3ZSBjYWxsIFJlbmRlckJsb2Nr
OjpsYXlvdXQuCi0gICAgaW50IGRoID0gMDsKLSAgICBmb3IgKFJlbmRlckJveCogYyA9IGZpcnN0
Q2hpbGRCb3goKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nQm94KCkpCi0gICAgICAgIGRoICs9IGMt
PmhlaWdodCgpICsgYy0+bWFyZ2luVG9wKCkgKyBjLT5tYXJnaW5Cb3R0b20oKTsKLQotICAgIGlm
IChkaCA+IGgpCi0gICAgICAgIGggPSBkaDsKLQotICAgIHJldHVybiBoOworICAgIC8vIENsaXAg
b3V0IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0aWNhbCBMVFIgcGFnZXMgb3IgaG9yaXpvbnRhbC10YiBw
YWdlcy4KKyAgICBpZiAoKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgfHwgIXN0
eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgJiYgc3R5bGUoKS0+d3JpdGluZ01vZGUo
KSAhPSBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlKQorICAgICAgICByZXR1cm4gaGVpZ2h0KCk7Cisg
ICAgSW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBG
b3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QuYm90
dG9tKCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKQEAgLTY0OSwyMSAr
NjM3LDE4IEBAIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKICAgICAvLyBDbGlwIG91
dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6b250YWwgTFRSIHBhZ2VzIG9yIHZlcnRpY2FsLWxyIHBh
Z2VzLgogICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHls
ZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkg
PT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJu
IHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1Jl
Y3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxv
d1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwogfQogCi1pbnQgUmVuZGVyVmll
dzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29uc3QKLXsKLSAgICBpbnQgdyA9ICgoc3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0
aW5nTW9kZSkgPyAKLSAgICAgICAgICAgICAgICByaWdodG1vc3RQb3NpdGlvbigpIDogd2lkdGgo
KSAtIGxlZnRPdmVyZmxvdzsKLQotICAgIGZvciAoUmVuZGVyQm94KiBjID0gZmlyc3RDaGlsZEJv
eCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBpbnQgZHcgPSBjLT53
aWR0aCgpICsgYy0+bWFyZ2luTGVmdCgpICsgYy0+bWFyZ2luUmlnaHQoKTsKLSAgICAgICAgaWYg
KGR3ID4gdykKLSAgICAgICAgICAgIHcgPSBkdzsKLSAgICB9Ci0KLSAgICByZXR1cm4gdzsKK2lu
dCBSZW5kZXJWaWV3Ojpkb2NSaWdodCgpIGNvbnN0Cit7CisgICAgaWYgKCghc3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSB8fCAhc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKSAmJiBzdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUp
CisgICAgICAgIHJldHVybiB3aWR0aCgpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91
dE92ZXJmbG93UmVjdCgpKTsKKyAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsK
KyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnJpZ2h0KCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojp2
aWV3SGVpZ2h0KCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9uIDcz
MDgxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjYsNiArMTY2LDEzIEBAIHB1YmxpYzoKICAgICBib29sIHVzZXNDb21wb3NpdGluZygpIGNv
bnN0OwogI2VuZGlmCiAKKyAgICBpbnQgZG9jVG9wKCkgY29uc3Q7CisgICAgaW50IGRvY0JvdHRv
bSgpIGNvbnN0OworICAgIGludCBkb2NIZWlnaHQoKSBjb25zdCB7IHJldHVybiBkb2NCb3R0b20o
KSAtIGRvY1RvcCgpOyB9CisgICAgaW50IGRvY0xlZnQoKSBjb25zdDsKKyAgICBpbnQgZG9jUmln
aHQoKSBjb25zdDsKKyAgICBpbnQgZG9jV2lkdGgoKSBjb25zdCB7IHJldHVybiBkb2NSaWdodCgp
IC0gZG9jTGVmdCgpOyB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgbWFwTG9jYWxU
b0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbCB1
c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVkLCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCBtYXBBYnNvbHV0ZVRvTG9jYWxQb2ludChib29sIGZpeGVkLCBib29sIHVzZVRy
YW5zZm9ybXMsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7CkBAIC0xNzMsMTEgKzE4MCw2IEBAIHBy
b3RlY3RlZDoKIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRSZXBhaW50KGNvbnN0IEludFJlY3Qm
IHIpIGNvbnN0OwogICAgIAotICAgIGludCBkb2NUb3AoKSBjb25zdDsKLSAgICBpbnQgZG9jSGVp
Z2h0KGludCB0b3BPdmVyZmxvdykgY29uc3Q7Ci0gICAgaW50IGRvY0xlZnQoKSBjb25zdDsKLSAg
ICBpbnQgZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29uc3Q7Ci0KICAgICAvLyBUaGVzZSBm
dW5jdGlvbnMgbWF5IG9ubHkgYmUgYWNjZXNzZWQgYnkgTGF5b3V0U3RhdGVNYWludGFpbmVyLgog
ICAgIGJvb2wgcHVzaExheW91dFN0YXRlKFJlbmRlckJveCogcmVuZGVyZXIsIGNvbnN0IEludFNp
emUmIG9mZnNldCwgaW50IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0g
ZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8gPSAwKQogICAgIHsKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3MzA4MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsOCArMTUwLDcgQEAgdm9p
ZCBSb290SW5saW5lQm94OjphZGRIaWdobGlnaHRPdmVyZmxvdwogICAgIC8vIEhpZ2hsaWdodCBh
Y3RzIGFzIGEgc2VsZWN0aW9uIGluZmxhdGlvbi4KICAgICBGbG9hdFJlY3Qgcm9vdFJlY3QoMCwg
c2VsZWN0aW9uVG9wKCksIGxvZ2ljYWxXaWR0aCgpLCBzZWxlY3Rpb25IZWlnaHQoKSk7CiAgICAg
SW50UmVjdCBpbmZsYXRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKS0+Y3VzdG9tSGlnaGxpZ2h0UmVjdChyZW5kZXJlcigpLT5ub2RlKCksIHJlbmRlcmVy
KCktPnN0eWxlKCktPmhpZ2hsaWdodCgpLCByb290UmVjdCkpOwotICAgIHNldElubGluZURpcmVj
dGlvbk92ZXJmbG93UG9zaXRpb25zKGxlZnRMYXlvdXRPdmVyZmxvdygpLCByaWdodExheW91dE92
ZXJmbG93KCksIG1pbihsZWZ0VmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LngoKSksIG1h
eChyaWdodFZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC5yaWdodCgpKSk7Ci0gICAgc2V0
QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyh0b3BMYXlvdXRPdmVyZmxvdygpLCBib3R0
b21MYXlvdXRPdmVyZmxvdygpLCBtaW4odG9wVmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0
LnkoKSksIG1heChib3R0b21WaXN1YWxPdmVyZmxvdygpLCBpbmZsYXRlZFJlY3QuYm90dG9tKCkp
KTsKKyAgICBzZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMoaW5mbGF0ZWRSZWN0LCBpbmZsYXRl
ZFJlY3QsIGxpbmVUb3AoKSwgbGluZUJvdHRvbSgpKTsKIH0KIAogdm9pZCBSb290SW5saW5lQm94
OjpwYWludEN1c3RvbUhpZ2hsaWdodChQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQg
dHksIGNvbnN0IEF0b21pY1N0cmluZyYgaGlnaGxpZ2h0VHlwZSkKQEAgLTI1Miw3ICsyNTEsNiBA
QCBpbnQgUm9vdElubGluZUJveDo6YWxpZ25Cb3hlc0luQmxvY2tEaXJlCiAgICAgYm9vbCBjb250
YWluc1J1YnkgPSBmYWxzZTsKICAgICBwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbihoZWlnaHRP
ZkJsb2NrLCBtYXhIZWlnaHQsIG1heEFzY2VudCwgbm9RdWlya3NNb2RlLCBsaW5lVG9wLCBsaW5l
Qm90dG9tLCBzZXRMaW5lVG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVU
b3BJbmNsdWRpbmdNYXJnaW5zLCBsaW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywgY29udGFpbnNS
dWJ5LCBtX2Jhc2VsaW5lVHlwZSk7Ci0gICAgY29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3co
bGluZVRvcCwgbGluZUJvdHRvbSwgbm9RdWlya3NNb2RlLCB0ZXh0Qm94RGF0YU1hcCk7CiAgICAg
c2V0TGluZVRvcEJvdHRvbVBvc2l0aW9ucyhsaW5lVG9wLCBsaW5lQm90dG9tKTsKIAogICAgIG1f
Y29udGFpbnNSdWJ5ID0gY29udGFpbnNSdWJ5Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75613</attachid>
            <date>2010-12-04 12:21:29 -0800</date>
            <delta_ts>2010-12-05 00:22:56 -0800</delta_ts>
            <desc>Work in progress</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>145631</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsOSArNDM1LDkgQEAgdm9pZCBGcmFtZVZp
ZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0g
cm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCkg
LSByb290LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hlaWdodCgpKTsKIAotICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIC1y
b290LT50b3BMYXlvdXRPdmVyZmxvdygpKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1y
b290LT5kb2NUb3AoKSksIHNpemUgPT0gY29udGVudHNTaXplKCkpOwogICAgIAogICAgIHNldENv
bnRlbnRzU2l6ZShzaXplKTsKIH0KQEAgLTIyMzksMTUgKzIyMzksMTUgQEAgdm9pZCBGcmFtZVZp
ZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4g
c2hydW5rLCB3ZSB3aWxsIGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEg
Y29udGVudC4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1m
aXQgcHJpbnRpbmcgaW1wbGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxl
bWVudGF0aW9uIHNob3VsZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IHJpZ2h0bW9zdFBvcyA9
IHJvb3QtPnJpZ2h0bW9zdFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChyaWdodG1vc3RQb3MgPiBw
YWdlU2l6ZS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBwYWdlVyA9IHN0ZDo6bWluPGludD4ocmln
aHRtb3N0UG9zLCBjZWlsZihwYWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3Rvcikp
OworICAgICAgICBpbnQgZG9jV2lkdGggPSByb290LT5kb2NXaWR0aCgpOworICAgICAgICBpZiAo
ZG9jV2lkdGggPiBwYWdlU2l6ZS53aWR0aCgpKSB7CisgICAgICAgICAgICBwYWdlVyA9IHN0ZDo6
bWluPGludD4oZG9jV2lkdGgsIGNlaWxmKHBhZ2VTaXplLndpZHRoKCkgKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKSk7CiAgICAgICAgICAgICBpZiAocGFnZVNpemUuaGVpZ2h0KCkpCiAgICAgICAgICAg
ICAgICAgcm9vdC0+c2V0UGFnZUhlaWdodChwYWdlVyAvIHBhZ2VTaXplLndpZHRoKCkgKiBwYWdl
U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CiAgICAg
ICAgICAgICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAg
ICAgICAgIGZvcmNlTGF5b3V0KCk7Ci0gICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBkb2NIZWlnaHQgPSByb290
LT5kb2NIZWlnaHQoKTsKICAgICAgICAgICAgIHJvb3QtPmNsZWFyTGF5b3V0T3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIHJvb3QtPmFkZExheW91dE92ZXJmbG93KEludFJlY3QoMCwgMCwgcGFnZVcs
IGRvY0hlaWdodCkpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cg
YWdhaW4uCiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzMsNiArMjMzLDggQEAgcHVibGljOgogICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlz
SG9yaXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KICAgICBp
bnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0
KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQogCisgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7
IHJldHVybiBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKwogICAgIC8v
IFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJv
eCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGlu
ZS4KICAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/
IG1feCA6IG1feTsgfQogICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KQEAgLTI2NSw3ICsyNjcsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVU
eXBlKSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5iYXNlbGluZVBvc2l0aW9uKGJh
c2VsaW5lVHlwZSwgbV9maXJzdExpbmUsIGlzSG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUg
OiBWZXJ0aWNhbExpbmUsIFBvc2l0aW9uT25Db250YWluaW5nTGluZSk7IH0KICAgICB2aXJ0dWFs
IGludCBsaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+bGluZUhl
aWdodChtX2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRp
Y2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQogICAgIAotCiAgICAgdmlydHVh
bCBpbnQgY2FyZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9m
ZnNldCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNl
dCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9u
IDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1OSwxOCArMjU5LDcgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bklubGluZURpcgogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2Fs
TGVmdChsb2dpY2FsTGVmdCk7Ci0KLSAgICBpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9
IGxvZ2ljYWxMZWZ0OwotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IGxvZ2lj
YWxMZWZ0OwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7
Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0KLSAg
ICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdo
dDsKLSAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGlu
ZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJp
Z2h0KTsKLQotICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQg
KyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0KKyAg
CiAgICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKICAgICBsb2dpY2FsTGVm
dCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxMZWZ0KCk7CiAgICAgCkBA
IC0yODQsMzAgKzI3Myw2IEBAIGludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVE
aXIKICAgICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUo
cnQtPmNoYXJhY3RlcnMoKVt0ZXh0LT5lbmQoKV0pOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgdGV4dC0+c2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5z
dHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgLy8gSWYgbGV0dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3Ig
dGhhdCBpbnRvIHJpZ2h0IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3Bh
Y2luZyBpcwotICAgICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgcmlnaHQsIHNvIHRoaXMgaXMg
bm90IGFuIGlzc3VlIHdpdGggbGVmdCBvdmVyZmxvdy4KLSAgICAgICAgICAgIGludCBsZXR0ZXJT
cGFjaW5nID0gbWluKDAsIChpbnQpcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmxldHRl
clNwYWNpbmcoKSk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1h
eChsb2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpIC0gbGV0dGVyU3BhY2luZywgbG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93
KiBnbHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5z
ZWNvbmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93
ID0gLXN0cm9rZU92ZXJmbG93IC0gKGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0
IDogMCk7Ci0gICAgICAgICAgICBpbnQgbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdyA9IHN0cm9r
ZU92ZXJmbG93IC0gbGV0dGVyU3BhY2luZyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxv
dy0+cmlnaHQgOiAwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZs
b3dMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdzsKLSAgICAgICAgICAgIGlu
dCBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdzsK
LSAgICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgICAgICAgICBpbnQg
dGV4dFNoYWRvd0xvZ2ljYWxSaWdodDsKLSAgICAgICAgICAgIHJ0LT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxM
ZWZ0LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dM
b2dpY2FsTGVmdCA9IG1pbihjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dp
Y2FsTGVmdCArIGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBjaGlsZE92
ZXJmbG93TG9naWNhbFJpZ2h0ID0gbWF4KGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIHRleHRT
aGFkb3dMb2dpY2FsUmlnaHQgKyBsb2dpY2FsUmlnaHRHbHlwaE92ZXJmbG93KTsKLSAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGlsZE92
ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyB0ZXh0LT5s
b2dpY2FsV2lkdGgoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZp
c3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0g
dGV4dC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpIHsKQEAgLTMyNSwxMCArMjkwLDYgQEAg
aW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAgICAgICAgICAgICAg
ICAgbG9naWNhbExlZnQgPSBmbG93LT5wbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24obG9naWNh
bExlZnQsIG5lZWRzV29yZFNwYWNpbmcsIHRleHRCb3hEYXRhTWFwKTsKICAgICAgICAgICAgICAg
ICBsb2dpY2FsTGVmdCArPSBmbG93LT5tYXJnaW5Mb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAg
ICAgICBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3csIGZsb3ctPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgICAg
ICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdywgZmxvdy0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgICAgICAgICB9
IGVsc2UgaWYgKCFjdXJyLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSB8fCB0b1JlbmRlckxp
c3RNYXJrZXIoY3Vyci0+cmVuZGVyZXIoKSktPmlzSW5zaWRlKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgYm94IGNhbiBoYXZlIGEgZGlmZmVyZW50IHdyaXRpbmctbW9kZSB0aGFuIHRoZSBv
dmVyYWxsIGxpbmUsIHNvIHRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCiAgICAgICAgICAgICAg
ICAgLy8gSnVzdCBnZXQgYWxsIHRoZSBwaHlzaWNhbCBtYXJnaW4gYW5kIG92ZXJmbG93IHZhbHVl
cyBieSBoYW5kIGJhc2VkIG9mZiB8aXNWZXJ0aWNhbHwuCkBAIC0zMzcsMTggKzI5OCw2IEBAIGlu
dCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAg
ICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJC
b3goY3Vyci0+cmVuZGVyZXIoKSk7Ci0KLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IDAgOiAoaXNIb3Jpem9udGFs
KCkgPyBib3gtPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm94LT50b3BMYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IGJveC0+
aGFzT3ZlcmZsb3dDbGlwKCkgPyBjdXJyLT5sb2dpY2FsV2lkdGgoKSA6IChpc0hvcml6b250YWwo
KSA/IGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExheW91
dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBs
b2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRM
YXlvdXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAgICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkg
PyBib3gtPmxlZnRWaXN1YWxPdmVyZmxvdygpIDogYm94LT50b3BWaXN1YWxPdmVyZmxvdygpKSwg
bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gt
PnJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6IGJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSksIGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0ICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpICsgbG9naWNhbFJpZ2h0TWFy
Z2luOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNTYsMTAgKzMwNSw2IEBAIGludCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKIAogICAgIGxvZ2ljYWxMZWZ0ICs9
IGJvcmRlckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdodCgpOwogICAgIHNldExv
Z2ljYWxXaWR0aChsb2dpY2FsTGVmdCAtIHN0YXJ0TG9naWNhbExlZnQpOwotICAgIGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgYm94U2hhZG93TG9naWNhbFJp
Z2h0LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgbG9naWNhbFJpZ2h0TGF5b3V0
T3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsK
LQotICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxMZWZ0TGF5
b3V0T3ZlcmZsb3csIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7CiAgICAgcmV0dXJuIGxvZ2lj
YWxMZWZ0OwogfQogCkBAIC03NDMsMzIgKzY4OCwxMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpm
bGlwTGluZXNJbkJsb2NrRGlyZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21w
dXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJv
b2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdmVyZmxvdyhJ
bnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAgaWYgKCFwYXJlbnQoKSkKKyAg
ICAgICAgcmV0dXJuOyAvLyBCb3gtc2hhZG93IGRvZXNuJ3QgYXBwbHkgdG8gcm9vdCBsaW5lIGJv
eGVzLgorCisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxUb3A7CisgICAgaW50IGJveFNoYWRvd0xv
Z2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hT
aGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsVG9wLCBib3hTaGFkb3dM
b2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0g
bWluKGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9n
aWNhbEJvdHRvbSgpICsgYm94U2hhZG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJm
bG93LmJvdHRvbSgpKTsKKyAgICAKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7CisgICAg
aW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0
TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2Fs
TGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKKworICAgIGludCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gq
IHRleHRCb3gsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1h
cCwgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQogeworICAgIGludCBzdHJva2VPdmVy
ZmxvdyA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYocmVuZGVyZXIoKS0+c3R5bGUoKS0+dGV4dFN0
cm9rZVdpZHRoKCkgLyAyLjBmKSk7CisKKyAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHRleHRCb3gpOworICAgIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0YU1hcC5lbmQoKSA/
IDAgOiAmaXQtPnNlY29uZC5zZWNvbmQ7CisKICAgICBib29sIGlzRmxpcHBlZExpbmUgPSByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKTsK
IAotICAgIGludCBib3hIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IHRvcEdseXBo
RWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJv
dHRvbSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOworICAgIGludCBib3R0b21HbHlwaEVkZ2Ug
PSBnbHlwaE92ZXJmbG93ID8gKGlzRmxpcHBlZExpbmUgPyBnbHlwaE92ZXJmbG93LT50b3AgOiBn
bHlwaE92ZXJmbG93LT5ib3R0b20pIDogMDsKKyAgICBpbnQgbGVmdEdseXBoRWRnZSA9IGdseXBo
T3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMDsKKyAgICBpbnQgcmlnaHRHbHlwaEVk
Z2UgPSBnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmlnaHQgOiAwOworICAgIAorICAg
IGludCB0b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOwor
ICAgIGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlw
aEVkZ2U7CisgICAgaW50IGxlZnRHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gbGVm
dEdseXBoRWRnZTsKKyAgICBpbnQgcmlnaHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cg
KyByaWdodEdseXBoRWRnZTsKKworICAgIC8vIElmIGxldHRlci1zcGFjaW5nIGlzIG5lZ2F0aXZl
LCB3ZSBzaG91bGQgZmFjdG9yIHRoYXQgaW50byByaWdodCBsYXlvdXQgb3ZlcmZsb3cuIChFdmVu
IGluIFJUTCwgbGV0dGVyLXNwYWNpbmcgaXMKKyAgICAvLyBhcHBsaWVkIHRvIHRoZSByaWdodCwg
c28gdGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93LgorICAgIGludCBsZXR0
ZXJTcGFjaW5nID0gbWluKDAsIChpbnQpcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkubGV0dGVyU3BhY2luZygpKTsKKyAgICByaWdodEdseXBoT3ZlcmZsb3cgLT0gbGV0dGVy
U3BhY2luZzsKKworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFRvcDsKKyAgICBpbnQgdGV4dFNo
YWRvd0xvZ2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5n
ZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxUb3AsIHRl
eHRTaGFkb3dMb2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxUb3AgPSBtaW4odGV4dFNoYWRvd0xvZ2ljYWxUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BH
bHlwaE92ZXJmbG93KTsKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20gPSBtYXgo
dGV4dFNoYWRvd0xvZ2ljYWxCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlw
aE92ZXJmbG93KTsKKyAgIAorICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50
IHRleHRTaGFkb3dMb2dpY2FsUmlnaHQ7CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5nZXRUZXh0U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dMb2dpY2Fs
TGVmdCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCk7CisgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0ID0gbWluKHRleHRTaGFkb3dMb2dpY2FsTGVmdCArIGxlZnRHbHlwaE92ZXJm
bG93LCBsZWZ0R2x5cGhPdmVyZmxvdyk7CisgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQgPSBtYXgodGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIHJpZ2h0R2x5cGhPdmVyZmxvdywgcmln
aHRHbHlwaE92ZXJmbG93KTsKKworICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBt
aW4odGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZs
b3cgPSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxC
b3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5ib3R0b20oKSk7CisgICAgaW50IGxvZ2ljYWxM
ZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnJpZ2h0KCkp
OworICAgIAorICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2Fs
VG9wVmlzdWFsT3ZlcmZsb3cpOworfQorCit2b2lkIElubGluZUZsb3dCb3g6OmFkZFJlcGxhY2Vk
Q2hpbGRPdmVyZmxvdyhjb25zdCBJbmxpbmVCb3gqIGlubGluZUJveCwgSW50UmVjdCYgbG9naWNh
bExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAg
UmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChpbmxpbmVCb3gtPnJlbmRlcmVyKCkpOworICAg
IAorICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGJveCBkb2Vz
bid0IGhhdmUgYSBzZWxmLXBhaW50aW5nIGxheWVyLiAgVGhpcyByZWN0YW5nbGUgZG9lcyBub3Qg
aW5jbHVkZQorICAgIC8vIHRyYW5zZm9ybXMgb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgKHNpbmNl
IHRob3NlIG9iamVjdHMgYWx3YXlzIGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMpLCBidXQgaXQg
ZG9lcyBuZWVkIHRvIGJlIGFkanVzdGVkCisgICAgLy8gZm9yIHdyaXRpbmctbW9kZSBkaWZmZXJl
bmNlcy4KKyAgICBpZiAoIWJveC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICBJ
bnRSZWN0IGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisgICAgICAgIGNo
aWxkTG9naWNhbFZpc3VhbE92ZXJmbG93Lm1vdmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBp
bmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy51
bml0ZShjaGlsZExvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgfQorCisgICAgLy8gTGF5b3V0
IG92ZXJmbG93IGludGVybmFsIHRvIHRoZSBjaGlsZCBib3ggb25seSBwcm9wYWdhdGVzIGlmIHRo
ZSBjaGlsZCBib3ggZG9lc24ndCBoYXZlIG92ZXJmbG93IGNsaXAgc2V0LgorICAgIC8vIE90aGVy
d2lzZSB0aGUgY2hpbGQgYm9yZGVyIGJveCBwcm9wYWdhdGVzIGFzIGxheW91dCBvdmVyZmxvdy4g
IFRoaXMgcmVjdGFuZ2xlIG11c3QgaW5jbHVkZSB0cmFuc2Zvcm1zIGFuZCByZWxhdGl2ZSBwb3Np
dGlvbmluZworICAgIC8vIGFuZCBiZSBhZGp1c3RlZCBmb3Igd3JpdGluZy1tb2RlIGRpZmZlcmVu
Y2VzLgorICAgIEludFJlY3QgY2hpbGRMb2dpY2FsTGF5b3V0T3ZlcmZsb3cgPSBib3gtPmxvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigpLT5zdHlsZSgpKTsK
KyAgICBjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdy5tb3ZlKGlubGluZUJveC0+bG9naWNhbExl
ZnQoKSwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkpOworICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dy51bml0ZShjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7Cit9CiAKK3ZvaWQgSW5saW5lRmxv
d0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBz
dHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCit7CiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhlIGxpbmUgdG9wIGFuZCBi
b3R0b20gaXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0IGlnbm9yZSB0aGlzLCBz
aW5jZSBpdCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91ciBhc2NlbnQvZGVzY2Vu
dCBkb24ndCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgogICAgIGludCB0b3BPdmVyZmxvdyA9IG1h
eChsb2dpY2FsVG9wKCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihs
b2dpY2FsVG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOworICAgIGludCBib3R0b21PdmVy
ZmxvdyA9IG1pbihsb2dpY2FsQm90dG9tKCksIGxpbmVCb3R0b20pOwogICAgIAotICAgIGludCB0
b3BMYXlvdXRPdmVyZmxvdyA9IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9IGJvdHRvbU92ZXJmbG93OwotICAgIAotICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdyA9
IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGJvdHRvbU92ZXJm
bG93OworICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBqdXN0IGluY2x1ZGVzIG92ZXJmbG93IGZvciBz
dHVmZiB3ZSBuZWVkIHRvIHJlcGFpbnQgb3Vyc2VsdmVzLiAgU2VsZi1wYWludGluZyBsYXllcnMg
YXJlIGlnbm9yZWQuCisgICAgLy8gTGF5b3V0IG92ZXJmbG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5l
IHNjcm9sbGluZyBleHRlbnQsIHNvIGl0IHN0aWxsIGluY2x1ZGVzIGNoaWxkIGxheWVycyBhbmQg
YWxzbyBmYWN0b3JzIGluCisgICAgLy8gdHJhbnNmb3JtcywgcmVsYXRpdmUgcG9zaXRpb25pbmcs
IGV0Yy4KKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdCgpLCB0
b3BPdmVyZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cp
OworICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyk7CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9vdCBsaW5lIGJveGVzIGlzIGFwcGx5aW5n
IHRvIHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5lcy4KLSAgICBpZiAocGFyZW50KCkpIHsK
LSAgICAgICAgaW50IGJveFNoYWRvd1RvcDsKLSAgICAgICAgaW50IGJveFNoYWRvd0JvdHRvbTsK
LSAgICAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9j
a0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7Ci0gICAgICAg
IAotICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsVG9wKCkgKyBib3hTaGFk
b3dUb3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSBtYXgobG9naWNhbFRvcCgpICsgYm94SGVpZ2h0ICsgYm94U2hhZG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgfQorICAgIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyk7CiAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0
Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAo
Y3Vyci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCkBAIC03NzksNjQgKzgwNCw2MCBAQCB2
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBSZW5k
ZXJUZXh0KiBydCA9IHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAg
IGlmIChydC0+aXNCUigpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KHRleHQsIHRleHRCb3hEYXRhTWFwLCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cpOworICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Jl
bmRlcklubGluZSgpKSB7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgZmxvdy0+Y29tcHV0ZU92
ZXJmbG93KGxpbmVUb3AsIGxpbmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsK
KyAgICAgICAgICAgIGlmICghZmxvdy0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5n
TGF5ZXIoKSkKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudW5pdGUoZmxv
dy0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgICAgIEludFJlY3QgY2hp
bGRMYXlvdXRPdmVyZmxvdyA9IGZsb3ctPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3cubW92ZShmbG93LT5ib3hNb2RlbE9iamVjdCgp
LT5yZWxhdGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCgpKTsKKyAgICAgICAgICAgIGxvZ2ljYWxM
YXlvdXRPdmVyZmxvdy51bml0ZShjaGlsZExheW91dE92ZXJmbG93KTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY3VyciwgbG9naWNhbExheW91
dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIH0KKyAgICAKKyAgICBzZXRP
dmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3csIGxpbmVUb3AsIGxpbmVCb3R0b20pOworfQogCi0gICAgICAgICAgICBpbnQg
c3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgpLT50ZXh0
U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLQotICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZh
bGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9yIGl0ID0gdGV4dEJveERhdGFNYXAuZmluZChzdGF0aWNf
Y2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3VycikpOwotICAgICAgICAgICAgR2x5cGhPdmVyZmxvdyog
Z2x5cGhPdmVyZmxvdyA9IGl0ID09IHRleHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vj
b25kLnNlY29uZDsKLQotICAgICAgICAgICAgaW50IHRvcEdseXBoRWRnZSA9IGdseXBoT3ZlcmZs
b3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA6IGdseXBoT3ZlcmZs
b3ctPnRvcCkgOiAwOwotICAgICAgICAgICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3Zl
cmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZs
b3ctPmJvdHRvbSkgOiAwOwotCi0gICAgICAgICAgICBpbnQgdG9wR2x5cGhPdmVyZmxvdyA9IC1z
dHJva2VPdmVyZmxvdyAtIHRvcEdseXBoRWRnZTsKLSAgICAgICAgICAgIGludCBib3R0b21HbHlw
aE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlwaEVkZ2U7Cit2b2lkIElubGlu
ZUZsb3dCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QsIGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSkKK3sKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0
KCk7CisgICAgZnJhbWVCb3guaW50ZXJzZWN0KEludFJlY3QoZnJhbWVCb3gueCgpLCBsaW5lVG9w
LCBmcmFtZUJveC53aWR0aCgpLCBsaW5lQm90dG9tIC0gbGluZVRvcCkpOworICAgIGlmIChmcmFt
ZUJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgICAKKyAgICBpZiAoIW1fb3ZlcmZsb3cpCisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5l
dyBSZW5kZXJPdmVyZmxvdyhmcmFtZUJveCwgZnJhbWVCb3gpKTsKKyAgICAKKyAgICBtX292ZXJm
bG93LT5hZGRMYXlvdXRPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgaW50IHRleHRT
aGFkb3dUb3A7Ci0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd0JvdHRvbTsKLSAgICAgICAgICAg
IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0VGV4dFNoYWRvd0Jsb2Nr
RGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dUb3AsIHRleHRTaGFkb3dCb3R0b20pOwordm9pZCBJ
bmxpbmVGbG93Qm94OjphZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0LCBpbnQg
bGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1l
UmVjdCgpOworICAgIGZyYW1lQm94LmludGVyc2VjdChJbnRSZWN0KGZyYW1lQm94LngoKSwgbGlu
ZVRvcCwgZnJhbWVCb3gud2lkdGgoKSwgbGluZUJvdHRvbSAtIGxpbmVUb3ApKTsKKyAgICBpZiAo
ZnJhbWVCb3guY29udGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd1RvcCA9IG1pbih0ZXh0
U2hhZG93VG9wICsgdG9wR2x5cGhPdmVyZmxvdywgdG9wR2x5cGhPdmVyZmxvdyk7Ci0gICAgICAg
ICAgICBpbnQgY2hpbGRPdmVyZmxvd0JvdHRvbSA9IG1heCh0ZXh0U2hhZG93Qm90dG9tICsgYm90
dG9tR2x5cGhPdmVyZmxvdywgYm90dG9tR2x5cGhPdmVyZmxvdyk7CisgICAgaWYgKCFtX292ZXJm
bG93KQorICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coZnJhbWVCb3gs
IGZyYW1lQm94KSk7CiAgICAgCi0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihj
dXJyLT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxPdmVyZmxvdyk7
Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT5sb2dpY2FsVG9w
KCkgKyB0ZXh0LT5sb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9tLCBib3R0b21W
aXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgIH0gZWxzZSAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlz
UmVuZGVySW5saW5lKCkpIHsKLSAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0
aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7Ci0gICAgICAgICAgICBmbG93LT5jb21wdXRl
QmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhsaW5lVG9wLCBsaW5lQm90dG9tLCBzdHJpY3RNb2RlLCB0
ZXh0Qm94RGF0YU1hcCk7Ci0gICAgICAgICAgICB0b3BMYXlvdXRPdmVyZmxvdyA9IG1pbih0b3BM
YXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbFRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAg
ICAgICAgYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBtYXgoYm90dG9tTGF5b3V0T3ZlcmZsb3csIGZs
b3ctPmxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpKTsKLSAgICAgICAgICAgIHRvcFZpc3Vh
bE92ZXJmbG93ID0gbWluKHRvcFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChib3R0
b21WaXN1YWxPdmVyZmxvdywgZmxvdy0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOwot
ICAgICAgICB9IGVsc2UgaWYgKCFjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRp
bmdMYXllcigpKXsKLSAgICAgICAgICAgIC8vIE9ubHkgaW5jbHVkZSBvdmVyZmxvdyBmcm9tIHJl
cGxhY2VkIGlubGluZXMgaWYgdGhleSBkbyBub3QgcGFpbnQgdGhlbXNlbHZlcy4KLSAgICAgICAg
ICAgIGludCBib3hMb2dpY2FsVG9wID0gY3Vyci0+bG9naWNhbFRvcCgpOwotICAgICAgICAgICAg
aW50IGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21M
YXlvdXRPdmVyZmxvdzsKLSAgICAgICAgICAgIGludCBjaGlsZFRvcFZpc3VhbE92ZXJmbG93Owot
ICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3c7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3goY3Vyci0+cmVuZGVyZXIo
KSk7Ci0gICAgICAgICAgICBib3gtPmJsb2NrRGlyZWN0aW9uT3ZlcmZsb3coaXNIb3Jpem9udGFs
KCksIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3csIGNoaWxkQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRUb3BWaXN1YWxPdmVy
ZmxvdywgY2hpbGRCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmIChib3gtPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICAgICAgY2hpbGRU
b3BMYXlvdXRPdmVyZmxvdyA9IDA7Ci0gICAgICAgICAgICAgICAgY2hpbGRCb3R0b21MYXlvdXRP
dmVyZmxvdyA9IGN1cnItPmxvZ2ljYWxIZWlnaHQoKTsKLSAgICAgICAgICAgIH0KKyAgICBtX292
ZXJmbG93LT5hZGRWaXN1YWxPdmVyZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgdG9wTGF5
b3V0T3ZlcmZsb3cgPSBtaW4oYm94TG9naWNhbFRvcCArIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3cs
IHRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0g
bWF4KGJveExvZ2ljYWxUb3AgKyBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93LCBib3R0b21MYXlv
dXRPdmVyZmxvdyk7Ci0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihib3hMb2dp
Y2FsVG9wICsgY2hpbGRUb3BWaXN1YWxPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAg
ICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoYm94TG9naWNhbFRvcCArIGNoaWxk
Qm90dG9tVmlzdWFsT3ZlcmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgfQot
ICAgIH0KK3ZvaWQgSW5saW5lRmxvd0JveDo6c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNv
bnN0IEludFJlY3QmIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNh
bFZpc3VhbE92ZXJmbG93LCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pCit7CisgICAgSW50
UmVjdCBsYXlvdXRPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxMYXlvdXRPdmVyZmxv
dyA6IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgpKTsKKyAgICBhZGRMYXlv
dXRPdmVyZmxvdyhsYXlvdXRPdmVyZmxvdywgbGluZVRvcCwgbGluZUJvdHRvbSk7CiAgICAgCi0g
ICAgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyh0b3BMYXlvdXRPdmVyZmxvdywg
Ym90dG9tTGF5b3V0T3ZlcmZsb3csIHRvcFZpc3VhbE92ZXJmbG93LCBib3R0b21WaXN1YWxPdmVy
Zmxvdyk7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvdyhpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyA6IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy50cmFuc3Bvc2VkUmVjdCgp
KTsKKyAgICBhZGRWaXN1YWxPdmVyZmxvdyh2aXN1YWxPdmVyZmxvdywgbGluZVRvcCwgbGluZUJv
dHRvbSk7CiB9CiAKIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVz
dFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgaW50IHgsIGludCB5LCBp
bnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXNpYmxlT3ZlcmZs
b3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc3VhbE92ZXJmbG93UmVjdCgp
KTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVyZmxvd1Jl
Y3QubW92ZSh0eCwgdHkpOwogICAgIGlmICghb3ZlcmZsb3dSZWN0LmludGVyc2VjdHMocmVzdWx0
LnJlY3RGb3JQb2ludCh4LCB5KSkpCkBAIC04NjUsNyArODg2LDcgQEAgYm9vbCBJbmxpbmVGbG93
Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogCiB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50KFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKIHsKLSAgICBJbnRSZWN0IG92ZXJm
bG93UmVjdCh2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
KHZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICBvdmVyZmxvd1JlY3QuaW5mbGF0ZShyZW5kZXJl
cigpLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAgZmxpcEZvcldy
aXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUodHgsIHR5KTsK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsMTAg
KzE2MywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbihp
bnQgbG9naWNhbFRvcCwgaW50IG1heEhlaWdodCwgaW50IG1heEFzY2VudCwgYm9vbCBzdHJpY3RN
b2RlLCBpbnQmIGxpbmVUb3AsIGludCYgbGluZUJvdHRvbSwgYm9vbCYgc2V0TGluZVRvcCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbGluZVRvcEluY2x1ZGluZ01h
cmdpbnMsIGludCYgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGJvb2wmIGNvbnRhaW5zUnVi
eSwgRm9udEJhc2VsaW5lKTsKICAgICB2b2lkIGZsaXBMaW5lc0luQmxvY2tEaXJlY3Rpb24oaW50
IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKLSAgICB2b2lkIGNvbXB1dGVCbG9ja0RpcmVjdGlv
bk92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBH
bHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIGJvb2wgcmVxdWlyZXNJZGVv
Z3JhcGhpY0Jhc2VsaW5lKGNvbnN0IEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJikg
Y29uc3Q7CiAgICAgaW50IGNvbXB1dGVCbG9ja0RpcmVjdGlvblJ1YnlBZGp1c3RtZW50KGludCBh
bGxvd2VkUG9zaXRpb24pIGNvbnN0OwogICAgIAorICAgIHZvaWQgY29tcHV0ZU92ZXJmbG93KGlu
dCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIAogICAgIHZvaWQgcmVtb3ZlQ2hpbGQoSW5saW5l
Qm94KiBjaGlsZCk7CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUg
c2VsZWN0aW9uU3RhdGUoKTsKQEAgLTE4MywxNyArMTg0LDYgQEAgcHVibGljOgogICAgIC8vIHRv
cC9yaWdodC9ib3R0b20vbGVmdCBpbiB0aGUgY29kZSAtIHRoZXNlIGFyZW4ndCBwdXJlbHkgcGh5
c2ljYWwgZGlyZWN0aW9ucy4gIEZvciBob3Jpem9udGFsLXRiIGFuZCB2ZXJ0aWNhbC1sciB0aGV5
IHdpbGwgbWF0Y2ggcGh5c2ljYWwKICAgICAvLyBkaXJlY3Rpb25zLCBidXQgZm9yIGhvcml6b250
YWwtYnQgYW5kIHZlcnRpY2FsLXJsLCB0aGUgdG9wL2JvdHRvbSBhbmQgbGVmdC9yaWdodCByZXNw
ZWN0aXZlbHkgYXJlIGludmVydGVkIHdoZW4gY29tcGFyZWQgdG8KICAgICAvLyB0aGVpciBwaHlz
aWNhbCBjb3VudGVycGFydHMuCi0gICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsg
cmV0dXJuIHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93KCksIHRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbihsZWZ0
TGF5b3V0T3ZlcmZsb3coKSwgbGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IHJpZ2h0
VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgocmlnaHRMYXlvdXRPdmVy
ZmxvdygpLCByaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2ljYWxMZWZ0Vmlz
aWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptaW4obG9naWNhbExlZnRMYXlvdXRP
dmVyZmxvdygpLCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGxvZ2lj
YWxSaWdodFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4KGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93KCksIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0g
ICAgaW50IGxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1p
bihsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkp
OyB9Ci0gICAgaW50IGxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBzdGQ6Om1heChsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KCkpOyB9Ci0KLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJsZU92ZXJmbG93UmVj
dCgpIDogSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyAgfQotCiAgICAgaW50
IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZs
b3ctPnRvcExheW91dE92ZXJmbG93KCkgOiBtX3k7IH0KICAgICBpbnQgYm90dG9tTGF5b3V0T3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5
b3V0T3ZlcmZsb3coKSA6IG1feSArIGhlaWdodCgpOyB9CiAgICAgaW50IGxlZnRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5b3V0
T3ZlcmZsb3coKSA6IG1feDsgfQpAQCAtMjAzLDYgKzE5MywxMyBAQCBwdWJsaWM6CiAgICAgaW50
IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFRvcExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHRvcFZpc3VhbE92ZXJmbG93KCkgOiBsZWZ0VmlzdWFsT3ZlcmZsb3co
KTsgfQogICAgIGludCBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm90dG9t
TGF5b3V0T3ZlcmZsb3coKSA6IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKTsgfQorICAgIEludFJlY3Qg
bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0CisgICAgeworICAgICAgICBJbnRSZWN0
IHJlc3VsdCA9IGxheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICBpZiAoIXJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICByZXN1bHQg
PSByZXN1bHQudHJhbnNwb3NlZFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CiAKICAgICBpbnQgdG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
ID8gbV9vdmVyZmxvdy0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IG1feTsgfQogICAgIGludCBib3R0
b21WaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KQEAgLTIxMywxMSAr
MjEwLDIyIEBAIHB1YmxpYzoKICAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSBj
b25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gcmlnaHRWaXN1YWxPdmVyZmxvdygpIDogYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsgfQog
ICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZs
b3coKSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBib3R0b21WaXN1YWxPdmVyZmxvdygpIDogcmlnaHRWaXN1YWxP
dmVyZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29u
c3QKKyAgICB7CisgICAgICAgIEludFJlY3QgcmVzdWx0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7
CisgICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC50cmFuc3Bvc2VkUmVjdCgpOworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAotICAgIHZvaWQgc2V0SW5saW5lRGlyZWN0aW9u
T3ZlcmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dp
Y2FsUmlnaHRMYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIHZvaWQgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bv
c2l0aW9ucyhpbnQgbG9naWNhbFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxh
eW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KTsKKyAgICB2b2lkIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhjb25zdCBJbnRS
ZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IEludFJlY3QmIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdywgaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKKyAgICB2b2lkIGFkZExheW91
dE92ZXJmbG93KGNvbnN0IEludFJlY3QmLCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pOwor
ICAgIHZvaWQgYWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYsIGludCBsaW5lVG9wLCBp
bnQgbGluZUJvdHRvbSk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBhZGRCb3hTaGFkb3dWaXN1YWxP
dmVyZmxvdyhJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgYWRkVGV4
dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gqLCBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcCYsIEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAg
dm9pZCBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY29uc3QgSW5saW5lQm94KiwgSW50UmVjdCYg
bG9naWNhbExheW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgT3duUHRyPFJlbmRlck92ZXJmbG93PiBtX292ZXJmbG93OwpAQCAt
MjM5LDUyICsyNDcsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKLWlubGluZSB2b2lkIElu
bGluZUZsb3dCb3g6OnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3csIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdykgCi17IAotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9n
aWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodExh
eW91dE92ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpIAotICAgICAgICAgICAgJiYgbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsTGVmdCgpICYmIGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93ID09IGxvZ2ljYWxSaWdodCgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBt
X292ZXJmbG93ID0gYWRvcHRQdHIobmV3IFJlbmRlck92ZXJmbG93KEludFJlY3QobV94LCBtX3ks
IHdpZHRoKCksIGhlaWdodCgpKSkpOyAgIAotICAgIH0KLQotICAgIGlmIChpc0hvcml6b250YWwo
KSkgewotICAgICAgICBtX292ZXJmbG93LT5zZXRMZWZ0TGF5b3V0T3ZlcmZsb3cobG9naWNhbExl
ZnRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3Zl
cmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5z
ZXRMZWZ0VmlzdWFsT3ZlcmZsb3cobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7IAotICAgICAg
ICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KTsKLSAgICB9IGVsc2UgewotICAgICAgICBtX292ZXJmbG93LT5zZXRUb3BMYXlvdXRP
dmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+
c2V0Qm90dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotICAg
ICAgICBtX292ZXJmbG93LT5zZXRUb3BWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsgIAotICAgIH0KLX0KLQotaW5saW5lIHZvaWQgSW5s
aW5lRmxvd0JveDo6c2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNh
bFRvcExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KQotewotICAgIGlmICghbV9vdmVyZmxvdykgewotICAgICAgICBpZiAobG9naWNhbFRv
cExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxUb3AoKSAmJiBsb2dpY2FsQm90dG9tTGF5b3V0T3Zl
cmZsb3cgPT0gbG9naWNhbEJvdHRvbSgpCi0gICAgICAgICAgICAmJiBsb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYmIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9
PSBsb2dpY2FsQm90dG9tKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZs
b3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3ZlcmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgo
KSwgaGVpZ2h0KCkpKSk7Ci0gICAgfQotCi0gICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAg
ICAgIG1fb3ZlcmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVy
Zmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbUxheW91dE92ZXJmbG93KGxvZ2lj
YWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3Vh
bE92ZXJmbG93KGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93
LT5zZXRCb3R0b21WaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRMYXlvdXRPdmVyZmxvdyhs
b2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodExh
eW91dE92ZXJmbG93KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3Zl
cmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOyAK
LSAgICAgICAgbV9vdmVyZmxvdy0+c2V0UmlnaHRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsQm90dG9t
VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0KLX0KLQogI2lmZGVmIE5ERUJVRwogaW5saW5lIHZvaWQg
SW5saW5lRmxvd0JveDo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxNyw2ICsxMjE3LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogIAogICAgIC8vIENhbGN1bGF0
ZSBvdXIgbmV3IGhlaWdodC4KICAgICBpbnQgb2xkSGVpZ2h0ID0gbG9naWNhbEhlaWdodCgpOwor
ICAgIEludFJlY3Qgb2xkQ2xpZW50UmVjdCA9IGNsaWVudEJveFJlY3QoKTsKICAgICBjb21wdXRl
TG9naWNhbEhlaWdodCgpOwogICAgIGludCBuZXdIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAg
ICAgaWYgKG9sZEhlaWdodCAhPSBuZXdIZWlnaHQpIHsKQEAgLTEyMzUsMjUgKzEyMzYsMTAgQEAg
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIGlmIChwcmV2aW91
c0hlaWdodCAhPSBuZXdIZWlnaHQpCiAgICAgICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwog
Ci0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gY2hpbGRyZW4gKHVubGVzcyB3ZSdyZSBtdWx0aS1j
b2x1bW4sIHNpbmNlIGluIHRoYXQgY2FzZSBhbGwgb3VyIGNoaWxkIG92ZXJmbG93IGlzIGNsaXBw
ZWQgYW55d2F5KS4KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIGNo
ZWNrIGlzIGRlc2lnbmVkIHRvIGNhdGNoIGFueW9uZQotICAgICAgICAvLyB3aG8gd2Fzbid0IGdv
aW5nIHRvIHByb3BhZ2F0ZSBmbG9hdCBpbmZvcm1hdGlvbiB1cCB0byB0aGUgcGFyZW50IGFuZCB5
ZXQgY291bGQgcG90ZW50aWFsbHkgYmUgcGFpbnRlZCBieSBpdHMgYW5jZXN0b3IuCi0gICAgICAg
IGlmIChpc1Jvb3QoKSB8fCBleHBhbmRzVG9FbmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSkKLSAg
ICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUZsb2F0cygpOwotCi0gICAgICAgIGlmIChjaGlsZHJl
bklubGluZSgpKQotICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigp
OwotICAgIH0KLQotICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFu
ZCByZWZsZWN0aW9ucy4KLSAgICBhZGRTaGFkb3dPdmVyZmxvdygpOwotCiAgICAgbGF5b3V0UG9z
aXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGlsZHJlbiB8fCBpc1Jvb3QoKSk7CiAKLSAgICBwb3Np
dGlvbkxpc3RNYXJrZXIoKTsKKyAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5s
ZXNzIHdlJ3JlIG11bHRpLWNvbHVtbiwgc2luY2UgaW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQg
b3ZlcmZsb3cgaXMgY2xpcHBlZCBhbnl3YXkpLgorICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRDbGll
bnRSZWN0KTsKICAgICAKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKIApAQCAtMTI2OSw4ICsxMjU1
LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIC8vIFJl
cGFpbnQgd2l0aCBvdXIgbmV3IGJvdW5kcyBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgZnJvbSBvdXIg
b2xkIGJvdW5kcy4KICAgICBib29sIGRpZEZ1bGxSZXBhaW50ID0gcmVwYWludGVyLnJlcGFpbnRB
ZnRlckxheW91dCgpOwogICAgIGlmICghZGlkRnVsbFJlcGFpbnQgJiYgcmVwYWludExvZ2ljYWxU
b3AgIT0gcmVwYWludExvZ2ljYWxCb3R0b20gJiYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBW
SVNJQkxFIHx8IGVuY2xvc2luZ0xheWVyKCktPmhhc1Zpc2libGVDb250ZW50KCkpKSB7Ci0gICAg
ICAgIGludCByZXBhaW50TG9naWNhbExlZnQgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dygpLCBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpOwotICAgICAgICBpbnQgcmVwYWludExv
Z2ljYWxSaWdodCA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsUmln
aHRMYXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgaW50IHJlcGFpbnRMb2dpY2FsTGVmdCA9IGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgaW50IHJlcGFpbnRMb2dpY2FsUmln
aHQgPSBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpOwogICAgICAgICAKICAgICAgICAgSW50
UmVjdCByZXBhaW50UmVjdDsKICAgICAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCkBAIC0xMzAxLDYgKzEyODcsNDIgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0
QmxvY2soYm9vbCByZWxheQogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAordm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZU92ZXJmbG93KGNvbnN0IEludFJlY3QmIGFkZGl0aW9uYWxSZWN0
VG9BcHBseSkKK3sKKyAgICBpZiAoIWhhc0NvbHVtbnMoKSkgeworICAgICAgICBhZGRPdmVyZmxv
d0Zyb21GbG9hdHMoKTsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAg
ICBhZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKKyAgICAgICAgaWYgKGNvbHVt
bkNvdW50KGNvbEluZm8pKSB7CisgICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1u
UmVjdEF0KGNvbEluZm8sIGNvbHVtbkNvdW50KGNvbEluZm8pIC0gMSk7CisgICAgICAgICAgICBp
bnQgb3ZlcmZsb3dMZWZ0ID0gIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1p
bigwLCBsYXN0UmVjdC54KCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0g
c3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0
LngoKSArIGxhc3RSZWN0LndpZHRoKCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd0hl
aWdodCA9IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0
KCk7CisgICAgICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwg
MCwgb3ZlcmZsb3dSaWdodCAtIG92ZXJmbG93TGVmdCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAg
ICAgfQorICAgIH0KKyAgICAKKyAgICAvLyBBZGQgaW4gdGhlIG92ZXJmbG93IGZyb20gcG9zaXRp
b25lZCBvYmplY3RzLgorICAgIGFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCk7CisK
KyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpIHsKKyAgICAgICAgLy8gV2hlbiB3ZSBoYXZlIG92
ZXJmbG93IGNsaXAsIHByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgc3BpbGxvdXQgc2luY2UgaXQgd2ls
bCBpbmNsdWRlIGNvbGxhcHNlZCBib3R0b20gbWFyZ2lucworICAgICAgICAvLyBhbmQgYm90dG9t
IHBhZGRpbmcuCisgICAgICAgIGFkZExheW91dE92ZXJmbG93KGFkZGl0aW9uYWxSZWN0VG9BcHBs
eSk7CisgICAgfQorICAgICAgICAKKyAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93IGZyb20gYm94
LXNoYWRvdyBhbmQgcmVmbGVjdGlvbnMuCisgICAgYWRkU2hhZG93T3ZlcmZsb3coKTsKKworICAg
IC8vIFBvc2l0aW9uIG91ciBsaXN0IG1hcmtlciwgd2hpY2ggd2lsbCBwcm9wYWdhdGUgb3ZlcmZs
b3cgYmFjayB1cCB0byB1cyAoYW5kIGFsbCB0aGUgd2F5IGJhY2sgdXAgdG8gYW4gZW5jbG9zaW5n
CisgICAgLy8gbGlzdCBpdGVtIGlmIG5lY2Vzc2FyeS4KKyAgICBwb3NpdGlvbkxpc3RNYXJrZXIo
KTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigp
CiB7CiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewpAQCAtMTMxNywxMiArMTMzOSwyOCBA
QCB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21GbG9hdHMoCiAgICAgRmxvYXRpbmdP
YmplY3QqIHI7CiAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxGbG9hdGluZ09iamVjdD4g
aXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKICAgICBmb3IgKDsgKHIgPSBpdC5jdXJyZW50KCkpOyAr
K2l0KSB7Ci0gICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50ICYmICFyLT5tX3JlbmRlcmVyLT5o
YXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICBpZiAoci0+bV9zaG91bGRQYWludCB8fCBy
LT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQogICAgICAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tQ2hpbGQoci0+bV9yZW5kZXJlciwgSW50U2l6ZShyLT5sZWZ0KCkgKyByLT5tX3Jl
bmRlcmVyLT5tYXJnaW5MZWZ0KCksIHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9w
KCkpKTsKICAgICB9CiAgICAgcmV0dXJuOwogfQogCit2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVy
Zmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCit7CisgICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmpl
Y3RzKQorICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRPYmplY3Q7
CisgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7CisgICAgZm9y
IChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgeworICAgICAgICBwb3NpdGlvbmVkT2JqZWN0ID0gKml0OworICAgICAgICAKKyAgICAg
ICAgLy8gRml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91
dCBvdmVyZmxvdywgc2luY2UgdGhleSBkb24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KKyAg
ICAgICAgaWYgKHBvc2l0aW9uZWRPYmplY3QtPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQ
b3NpdGlvbikKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHBvc2l0aW9uZWRPYmpl
Y3QpOworICAgIH0KK30KKwogYm9vbCBSZW5kZXJCbG9jazo6ZXhwYW5kc1RvRW5jbG9zZU92ZXJo
YW5naW5nRmxvYXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkg
fHwgKHBhcmVudCgpICYmIHBhcmVudCgpLT5pc0ZsZXhpYmxlQm94KCkpCkBAIC0yMDA1LDYgKzIw
NDMsMTMgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBvc2l0aW9uZWRPYgogICAgIC8v
IEFsbCB3ZSBoYXZlIHRvIGlzIGxheSBvdXQgb3VyIHBvc2l0aW9uZWQgb2JqZWN0cy4KICAgICBs
YXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhmYWxzZSk7CiAKKyAgICBJbnRSZWN0IGNsaWVudFJlY3Qg
PSBjbGllbnRCb3hSZWN0KCk7CisgICAgaWYgKG1fb3ZlcmZsb3cgJiYgbGF5b3V0T3ZlcmZsb3dS
ZWN0KCkgIT0gY2xpZW50UmVjdCkgeworICAgICAgICAvLyBSZWNvbXB1dGUgb3VyIG92ZXJmbG93
IGluZm9ybWF0aW9uLgorICAgICAgICBtX292ZXJmbG93LT5yZXNldExheW91dE92ZXJmbG93KGNs
aWVudFJlY3QpOworICAgICAgICBjb21wdXRlT3ZlcmZsb3coY2xpZW50UmVjdCk7CisgICAgfQor
CiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAgICAgCiAgICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0o
KTsKQEAgLTIwMTcsMzggKzIwNjIsMzkgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBv
c2l0aW9uZWRPYgogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhi
b29sIHJlbGF5b3V0Q2hpbGRyZW4pCiB7Ci0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsK
LSAgICAgICAgaWYgKGhhc0NvbHVtbnMoKSkKLSAgICAgICAgICAgIHZpZXcoKS0+bGF5b3V0U3Rh
dGUoKS0+Y2xlYXJQYWdpbmF0aW9uSW5mb3JtYXRpb24oKTsgLy8gUG9zaXRpb25lZCBvYmplY3Rz
IGFyZSBub3QgcGFydCBvZiB0aGUgY29sdW1uIGZsb3csIHNvIHRoZXkgZG9uJ3QgcGFnaW5hdGUg
d2l0aCB0aGUgY29sdW1ucy4KKyAgICBpZiAoIW1fcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAg
IHJldHVybjsKKyAgICAgICAgCisgICAgaWYgKGhhc0NvbHVtbnMoKSkKKyAgICAgICAgdmlldygp
LT5sYXlvdXRTdGF0ZSgpLT5jbGVhclBhZ2luYXRpb25JbmZvcm1hdGlvbigpOyAvLyBQb3NpdGlv
bmVkIG9iamVjdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBjb2x1bW4gZmxvdywgc28gdGhleSBkb24n
dCBwYWdpbmF0ZSB3aXRoIHRoZSBjb2x1bW5zLgogCi0gICAgICAgIFJlbmRlckJveCogcjsKLSAg
ICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAg
IGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKLSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBXaGVuIGEg
bm9uLXBvc2l0aW9uZWQgYmxvY2sgZWxlbWVudCBtb3ZlcywgaXQgbWF5IGhhdmUgcG9zaXRpb25l
ZCBjaGlsZHJlbiB0aGF0IGFyZSBpbXBsaWNpdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhl
Ci0gICAgICAgICAgICAvLyBub24tcG9zaXRpb25lZCBibG9jay4gIFJhdGhlciB0aGFuIHRyeWlu
ZyB0byBkZXRlY3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNhc2VzLCB3ZSBqdXN0IGFsd2F5cyBs
YXkgb3V0IHBvc2l0aW9uZWQKLSAgICAgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUgcG9zaXRp
b25lZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwgYW5kIHNv
IGluIHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwotICAgICAg
ICAgICAgLy8gcG9zaXRpb25lZCBleHBsaWNpdGx5KSB0aGlzIHNob3VsZCBub3QgaW5jdXIgYSBw
ZXJmb3JtYW5jZSBwZW5hbHR5LgotICAgICAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRyZW4gfHwg
KHItPnN0eWxlKCktPmhhc1N0YXRpY1koKSAmJiByLT5wYXJlbnQoKSAhPSB0aGlzICYmIHItPnBh
cmVudCgpLT5pc0Jsb2NrRmxvdygpKSkKLSAgICAgICAgICAgICAgICByLT5zZXRDaGlsZE5lZWRz
TGF5b3V0KHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIElm
IHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFuZCB3ZSBoYXZlIHBlcmNlbnRhZ2UgcGFkZGluZywg
d2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkJ3MgcHJlZiB3aWR0aHMuCi0gICAg
ICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiAmJiAoci0+c3R5bGUoKS0+cGFkZGluZ1N0YXJ0
KCkuaXNQZXJjZW50KCkgfHwgci0+c3R5bGUoKS0+cGFkZGluZ0VuZCgpLmlzUGVyY2VudCgpKSkK
LSAgICAgICAgICAgICAgICByLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwg
ZmFsc2UpOworICAgIFJlbmRlckJveCogcjsKKyAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9u
ZWRPYmplY3RzLT5lbmQoKTsKKyAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVkT2Jq
ZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIHIgPSAqaXQ7CisgICAg
ICAgIC8vIFdoZW4gYSBub24tcG9zaXRpb25lZCBibG9jayBlbGVtZW50IG1vdmVzLCBpdCBtYXkg
aGF2ZSBwb3NpdGlvbmVkIGNoaWxkcmVuIHRoYXQgYXJlIGltcGxpY2l0bHkgcG9zaXRpb25lZCBy
ZWxhdGl2ZSB0byB0aGUKKyAgICAgICAgLy8gbm9uLXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIg
dGhhbiB0cnlpbmcgdG8gZGV0ZWN0IGFsbCBvZiB0aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVz
dCBhbHdheXMgbGF5IG91dCBwb3NpdGlvbmVkCisgICAgICAgIC8vIG9iamVjdHMgdGhhdCBhcmUg
cG9zaXRpb25lZCBpbXBsaWNpdGx5IGxpa2UgdGhpcy4gIFN1Y2ggb2JqZWN0cyBhcmUgcmFyZSwg
YW5kIHNvIGluIHR5cGljYWwgREhUTUwgbWVudSB1c2FnZSAod2hlcmUgZXZlcnl0aGluZyBpcwor
ICAgICAgICAvLyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5vdCBpbmN1ciBh
IHBlcmZvcm1hbmNlIHBlbmFsdHkuCisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChy
LT5zdHlsZSgpLT5oYXNTdGF0aWNZKCkgJiYgci0+cGFyZW50KCkgIT0gdGhpcyAmJiByLT5wYXJl
bnQoKS0+aXNCbG9ja0Zsb3coKSkpCisgICAgICAgICAgICByLT5zZXRDaGlsZE5lZWRzTGF5b3V0
KHRydWUsIGZhbHNlKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFyLT5uZWVkc0xh
eW91dCgpKQotICAgICAgICAgICAgICAgIHItPm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5l
ZWRlZCgpOwotCi0gICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlv
dXQuICBXZSBqdXN0IGhhdmUgdG8gdXBkYXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3Qu
IElmIHdlIGhhdmUgc2hyaW5rLXRvLWZpdCB3aWR0aAotICAgICAgICAgICAgLy8gYW5kIHdlIGhp
dCB0aGUgYXZhaWxhYmxlIHdpZHRoIGNvbnN0cmFpbnQsIHRoZSBsYXlvdXRJZk5lZWRlZCgpIHdp
bGwgY2F0Y2ggaXQgYW5kIGRvIGEgZnVsbCBsYXlvdXQuCi0gICAgICAgICAgICBpZiAoci0+bmVl
ZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXRPbmx5KCkpCi0gICAgICAgICAgICAgICAgci0+dHJ5
TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCk7Ci0gICAgICAgICAgICByLT5sYXlv
dXRJZk5lZWRlZCgpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAoaGFzQ29sdW1u
cygpKQotICAgICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5tX2NvbHVtbkluZm8gPSBj
b2x1bW5JbmZvKCk7IC8vIEZJWE1FOiBLaW5kIG9mIGdyb3NzLiBXZSBqdXN0IHB1dCB0aGlzIGJh
Y2sgaW50byB0aGUgbGF5b3V0IHN0YXRlIHNvIHRoYXQgcG9wKCkgd2lsbCB3b3JrLgorICAgICAg
ICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlzIHNldCBhbmQgd2UgaGF2ZSBwZXJjZW50YWdlIHBh
ZGRpbmcsIHdlIGFsc28gbmVlZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZCdzIHByZWYgd2lkdGhz
LgorICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiAmJiAoci0+c3R5bGUoKS0+cGFkZGluZ1N0
YXJ0KCkuaXNQZXJjZW50KCkgfHwgci0+c3R5bGUoKS0+cGFkZGluZ0VuZCgpLmlzUGVyY2VudCgp
KSkKKyAgICAgICAgICAgIHItPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSh0cnVlLCBm
YWxzZSk7CisgICAgICAgIAorICAgICAgICBpZiAoIXItPm5lZWRzTGF5b3V0KCkpCisgICAgICAg
ICAgICByLT5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAgICAv
LyBXZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVsbCBsYXlvdXQuICBXZSBqdXN0IGhhdmUgdG8gdXBk
YXRlIG91ciBwb3NpdGlvbi4gVHJ5IHRoYXQgZmlyc3QuIElmIHdlIGhhdmUgc2hyaW5rLXRvLWZp
dCB3aWR0aAorICAgICAgICAvLyBhbmQgd2UgaGl0IHRoZSBhdmFpbGFibGUgd2lkdGggY29uc3Ry
YWludCwgdGhlIGxheW91dElmTmVlZGVkKCkgd2lsbCBjYXRjaCBpdCBhbmQgZG8gYSBmdWxsIGxh
eW91dC4KKyAgICAgICAgaWYgKHItPm5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0T25seSgp
KQorICAgICAgICAgICAgci0+dHJ5TGF5b3V0RG9pbmdQb3NpdGlvbmVkTW92ZW1lbnRPbmx5KCk7
CisgICAgICAgIHItPmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAorICAgIGlmIChoYXND
b2x1bW5zKCkpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9jb2x1bW5JbmZvID0g
Y29sdW1uSW5mbygpOyAvLyBGSVhNRTogS2luZCBvZiBncm9zcy4gV2UganVzdCBwdXQgdGhpcyBi
YWNrIGludG8gdGhlIGxheW91dCBzdGF0ZSBzbyB0aGF0IHBvcCgpIHdpbGwgd29yay4KIH0KIAog
dm9pZCBSZW5kZXJCbG9jazo6bWFya1Bvc2l0aW9uZWRPYmplY3RzRm9yTGF5b3V0KCkKQEAgLTIx
MTMsNyArMjE1OSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQK
ICAgICAvLyBGSVhNRTogQ291bGQgZWxpbWluYXRlIHRoZSBpc1Jvb3QoKSBjaGVjayBpZiB3ZSBm
aXggYmFja2dyb3VuZCBwYWludGluZyBzbyB0aGF0IHRoZSBSZW5kZXJWaWV3CiAgICAgLy8gcGFp
bnRzIHRoZSByb290J3MgYmFja2dyb3VuZC4KICAgICBpZiAoIWlzUm9vdCgpKSB7Ci0gICAgICAg
IEludFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIElu
dFJlY3Qgb3ZlcmZsb3dCb3ggPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgb3ZlcmZs
b3dCb3guaW5mbGF0ZShtYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKSk7CiAgICAg
ICAgIG92ZXJmbG93Qm94Lm1vdmUodHgsIHR5KTsKICAgICAgICAgaWYgKCFvdmVyZmxvd0JveC5p
bnRlcnNlY3RzKHBhaW50SW5mby5yZWN0KSkKQEAgLTMzNTQsNDE4ICszNDAwLDYgQEAgaW50IFJl
bmRlckJsb2NrOjpsb3dlc3RGbG9hdExvZ2ljYWxCb3R0bwogICAgIHJldHVybiBsb3dlc3RGbG9h
dEJvdHRvbTsKIH0KIAotaW50IFJlbmRlckJsb2NrOjp0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBw
bHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFu
c2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZFRvcCA9IGluY2x1ZGVTZWxm
ICYmIHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpID4gMCA/IDAgOiB0cmFuc2Zvcm1lZFJlY3QuaGVp
Z2h0KCk7Ci0gICAgCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3Zl
cmZsb3dDbGlwKCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm1lZFRvcDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0Lndp
ZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0cmFu
c2Zvcm1lZFRvcDsKLQotICAgIGludCB0b3AgPSBpbmNsdWRlU2VsZiAmJiB3aWR0aCgpID4gMCA/
IDAgOiBoZWlnaHQoKTsKLQotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBDb21lIHVwIHdpdGggYSB3YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZp
c2l0aW5nIGFsbCB0aGUga2lkcy4KLSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNj
ZW5kIGludG8gYWxsIHRoZSBjaGlsZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBk
aXYgaW5zaWRlCi0gICAgICAgIC8vIGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVl
cCBpbiBvdXIgY2hpbGQgdHJlZS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAg
ICAgICAvLyB0aGUgYWJzIGRpdi4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJz
dENoaWxkKCk7IGM7IGMgPSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMt
PmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAg
ICAgUmVuZGVyQm94KiBjaGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAg
IHRvcCA9IG1pbih0b3AsIGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNo
aWxkQm94LT50b3Btb3N0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmIChpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAg
ICAgICAgdG9wICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCk7IAotCi0gICAgaWYgKCFpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJu
IHRvcDsKLSAgICAKLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1Jl
bFBvc2l0aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgOiAwOwotCi0gICAgaWYg
KGluY2x1ZGVTZWxmKQotICAgICAgICB0b3AgPSBtaW4odG9wLCB0b3BMYXlvdXRPdmVyZmxvdygp
ICsgcmVsYXRpdmVPZmZzZXQpOwotCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRP
YmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9i
amVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsK
LSAgICAgICAgICAgIC8vIEZpeGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFu
ZCB0aHVzIHNob3VsZCBub3QgY29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUg
dG9wbW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChyLT5zdHlsZSgpLT5wb3NpdGlvbigp
ICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdv
cmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAgICAgICAgICAgICAvLyBJZiBhIHBv
c2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSB0byB0aGUgbGVmdCBvZiB0aGUgcm9vdCBp
dCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0gICAgICAgICAgICAgICAgLy8g
VGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29udHJpYnV0ZSB0byB0aGUgdG9w
bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUiA9IHIt
PnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1JlbmRlclZp
ZXcoKSB8fCB0cmFuc2Zvcm1lZFIueCgpICsgdHJhbnNmb3JtZWRSLndpZHRoKCkgPiAwIHx8IHRy
YW5zZm9ybWVkUi54KCkgKyByLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkgPiAwKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGludCB0cCA9IHRyYW5zZm9ybWVkUi55KCkgKyByLT50b3Btb3N0UG9z
aXRpb24oZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICB0b3AgPSBtaW4odG9wLCB0cCArIHJl
bGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIENvbHVtbkluZm8q
IGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBjb2x1bW5Db3VudChjb2xJbmZvKTsgaSsrKQotICAgICAgICAgICAgdG9wID0gbWluKHRvcCwg
Y29sdW1uUmVjdEF0KGNvbEluZm8sIGkpLnkoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAg
cmV0dXJuIHRvcDsKLSAgICB9Ci0KLSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAg
ICAgRmxvYXRpbmdPYmplY3QqIHI7Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8
RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsg
KHIgPSBpdC5jdXJyZW50KCkpOyArK2l0KSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9zaG91bGRQ
YWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAg
ICAgICAgICAgaW50IHRwID0gci0+dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSAr
IHItPm1fcmVuZGVyZXItPnRvcG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
dG9wID0gbWluKHRvcCwgdHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWluY2x1ZGVTZWxmICYmIGZpcnN0Um9vdEJveCgpKQot
ICAgICAgICB0b3AgPSBtaW4odG9wLCBmaXJzdFJvb3RCb3goKS0+c2VsZWN0aW9uVG9wKCkgKyBy
ZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5z
Zm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgp
KSB7Ci0gICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmln
aHQgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAg
ICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiB0b3A7
Ci19Ci0KLWludCBSZW5kZXJCbG9jazo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zv
cm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFuc2Zvcm1lZEZy
YW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZEJvdHRvbSA9IGluY2x1ZGVTZWxmICYmIHRy
YW5zZm9ybWVkUmVjdC53aWR0aCgpID4gMCA/IHRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSA6IDA7
Ci0KLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNPdmVyZmxvd0NsaXAo
KSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkQm90dG9t
OwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8
fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVk
Qm90dG9tOwotCi0gICAgaW50IGJvdHRvbSA9IGluY2x1ZGVTZWxmICYmIHdpZHRoKCkgPiAwID8g
aGVpZ2h0KCkgOiAwOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklY
TUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZvaWQgdmlz
aXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRvIGRlc2Nl
bmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2UgYWJzIGRp
diBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVyZSBkZWVw
IGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRvCi0gICAg
ICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICAvLyBTZWUgdGhlIGxhc3QgdGVzdCBjYXNlIGlu
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzE0IGZvciB3aHkgdGhp
cyBpcyBhIHByb2JsZW0uCi0gICAgICAgIC8vIEZvciBpbmxpbmUgY2hpbGRyZW4sIHdlIG1pc3Mg
cmVsYXRpdmUgcG9zaXRpb25lZCBib3hlcyB0aGF0IG1pZ2h0IGJlIGJ1cmllZCBpbnNpZGUgPHNw
YW4+cy4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxkKCk7IGM7IGMg
PSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxvYXRpbmdPclBv
c2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBj
aGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChi
b3R0b20sIGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNoaWxkQm94LT5s
b3dlc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBib3R0
b20gKz0gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsgICAgIAotICAgIGlmICghaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBib3R0
b207Ci0KLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0
aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgOiAwOwotCi0gICAgaWYgKGluY2x1
ZGVTZWxmKQotICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBib3R0b21MYXlvdXRPdmVyZmxv
dygpICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAKLSAgICBpZiAobV9wb3NpdGlvbmVkT2Jq
ZWN0cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1f
cG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9w
b3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAg
ICByID0gKml0OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5v
dCBzY3JvbGwgYW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBw
YXJ0IG9mIHRoZSBsb3dlc3QgcG9zaXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+
cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3b3JrIGZvciBvdmVyZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAg
Ly8gSWYgYSBwb3NpdGlvbmVkIG9iamVjdCBsaWVzIGNvbXBsZXRlbHkgdG8gdGhlIGxlZnQgb2Yg
dGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNoYWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAg
ICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUg
dG8gdGhlIGxvd2VzdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bWVkUiA9IHItPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFp
c1JlbmRlclZpZXcoKSB8fCB0cmFuc2Zvcm1lZFIueCgpICsgdHJhbnNmb3JtZWRSLndpZHRoKCkg
PiAwIHx8IHRyYW5zZm9ybWVkUi54KCkgKyByLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkgPiAw
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBscCA9IHRyYW5zZm9ybWVkUi55KCkgKyByLT5s
b3dlc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChi
b3R0b20sIGxwICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAg
ICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGNvbHVtbkNvdW50KGNvbEluZm8pOyBpKyspCi0gICAgICAgICAgICBi
b3R0b20gPSBtYXgoYm90dG9tLCBjb2x1bW5SZWN0QXQoY29sSW5mbywgaSkuYm90dG9tKCkgKyBy
ZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIHJldHVybiBib3R0b207Ci0gICAgfQotCi0gICAgaWYg
KG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAg
ICBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGlu
Z09iamVjdHMpOwotICAgICAgICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsK
LSAgICAgICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1Nl
bGZQYWludGluZ0xheWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgbHAgPSByLT50b3AoKSAr
IHItPm1fcmVuZGVyZXItPm1hcmdpblRvcCgpICsgci0+bV9yZW5kZXJlci0+bG93ZXN0UG9zaXRp
b24oZmFsc2UpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGxwICsgcmVs
YXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYg
KCFpbmNsdWRlU2VsZikgewotICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBib3JkZXJUb3Ao
KSArIHBhZGRpbmdUb3AoKSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAg
ICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKLSAgICAgICAgICAgIGlmIChsYXN0Um9vdEJv
eCgpKSB7Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tRWRnZSA9IGxhc3RSb290Qm94
KCktPnNlbGVjdGlvbkJvdHRvbSgpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0
b20sIGNoaWxkQm90dG9tRWRnZSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIEZpbmQgdGhl
IGxhc3Qgbm9ybWFsIGZsb3cgY2hpbGQuCi0gICAgICAgICAgICBSZW5kZXJCb3gqIGN1cnJCb3gg
PSBsYXN0Q2hpbGRCb3goKTsKLSAgICAgICAgICAgIHdoaWxlIChjdXJyQm94ICYmIGN1cnJCb3gt
PmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAgICBjdXJyQm94ID0gY3Vy
ckJveC0+cHJldmlvdXNTaWJsaW5nQm94KCk7Ci0gICAgICAgICAgICBpZiAoY3VyckJveCkgewot
ICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNmb3JtZWRDdXJyQm94ID0gY3VyckJveC0+dHJh
bnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21FZGdl
ID0gdHJhbnNmb3JtZWRDdXJyQm94LnkoKSArIHRyYW5zZm9ybWVkQ3VyckJveC5oZWlnaHQoKSAr
IGN1cnJCb3gtPmNvbGxhcHNlZE1hcmdpbkFmdGVyKCk7IC8vIEZJWE1FOiAiYWZ0ZXIiIGlzIHdy
b25nIGhlcmUgZm9yIGxvd2VzdFBvc2l0aW9uLgotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1h
eChib3R0b20sIGNoaWxkQm90dG9tRWRnZSArIHBhZGRpbmdCb3R0b20oKSArIHJlbGF0aXZlT2Zm
c2V0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChhcHBseVRy
YW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYg
bGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3Np
dGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zv
cm0pOwotICAgICAgICBpbnQgcmlnaHQgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQg
bGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVT
ZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0g
YXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0
LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QuaGVpZ2h0KCk7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpyaWdo
dG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVT
ZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0
IHRyYW5zZm9ybWVkUmVjdCA9IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5z
Zm9ybWVkUmlnaHQgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkgPiAw
ID8gdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgOiAwOwotCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0g
ICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFJpZ2h0OwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkg
JiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgp
KSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmlnaHQ7Ci0KLSAgICBpbnQgcmlnaHQgPSBp
bmNsdWRlU2VsZiAmJiBoZWlnaHQoKSA+IDAgPyB3aWR0aCgpIDogMDsKLQotICAgIGlmICghaGFz
Q29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBDb21lIHVwIHdpdGggYSB3YXkgdG8gdXNl
IHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5nIGFsbCB0aGUga2lkcy4KLSAgICAgICAg
Ly8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGludG8gYWxsIHRoZSBjaGlsZHJlbiwgc2lu
Y2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5zaWRlCi0gICAgICAgIC8vIGEgdGlueSBy
ZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBvdXIgY2hpbGQgdHJlZS4gIEluIHRoaXMg
Y2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAvLyB0aGUgYWJzIGRpdi4KLSAgICAgICAg
Zm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxkKCk7IGM7IGMgPSBjLT5uZXh0U2libGlu
ZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSAmJiBj
LT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBjaGlsZEJveCA9IHRvUmVu
ZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjaGlsZEJveC0+
dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjaGlsZEJveC0+cmlnaHRtb3N0UG9zaXRpb24o
ZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChpbmNs
dWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgcmlnaHQgKz0gcmVsYXRpdmVQ
b3NpdGlvbk9mZnNldFgoKTsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYg
aGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiByaWdodDsKLQotICAgIGludCByZWxh
dGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQ
b3NpdGlvbk9mZnNldFgoKSA6IDA7Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIHJp
Z2h0ID0gbWF4KHJpZ2h0LCByaWdodExheW91dE92ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7
Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2JqZWN0cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7
Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAg
ICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKSA7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAgICAgIC8vIEZp
eGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFuZCB0aHVzIHNob3VsZCBub3Qg
Y29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgcmlnaHRtb3N0IHBvc2l0aW9u
LgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlv
bikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd29yayBmb3Igb3ZlcmZsb3cg
c2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAgIC8vIElmIGEgcG9zaXRpb25lZCBvYmplY3Qg
bGllcyBjb21wbGV0ZWx5IGFib3ZlIHRoZSByb290IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlh
IHNjcm9sbGluZy4KLSAgICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBh
bGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRoZSByaWdodG1vc3QgcG9zaXRpb24uCi0gICAgICAg
ICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgp
OwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkgfHwgdHJhbnNmb3JtZWRSLnko
KSArIHRyYW5zZm9ybWVkUi5oZWlnaHQoKSA+IDAgfHwgdHJhbnNmb3JtZWRSLnkoKSArIHItPmxv
d2VzdFBvc2l0aW9uKGZhbHNlKSA+IDApIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IHJwID0g
dHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJwICsgcmVsYXRpdmVPZmZzZXQpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlm
IChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gVGhpcyBvbmx5IG1hdHRlcnMgZm9yIExUUgot
ICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7Ci0gICAgICAg
ICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwotICAgICAgICAgICAgdW5z
aWduZWQgY291bnQgPSBjb2x1bW5Db3VudChjb2xJbmZvKTsKLSAgICAgICAgICAgIGlmIChjb3Vu
dCkKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChjb2x1bW5SZWN0QXQoY29sSW5mbywgY291
bnQgLSAxKS5yaWdodCgpICsgcmVsYXRpdmVPZmZzZXQsIHJpZ2h0KTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2Vs
ZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgICAgICBp
bnQgdG9wID0gdG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRl
U2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tID0gbG93ZXN0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAg
ICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJ
bnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAg
ICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LndpZHRoKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIHJpZ2h0OwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykgewotICAgICAg
ICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxG
bG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAgZm9yICggOyAo
ciA9IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9zaG91bGRQ
YWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAg
ICAgICAgICAgaW50IHJwID0gci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luTGVmdCgp
ICsgci0+bV9yZW5kZXJlci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpOwotICAgICAgICAgICAg
ICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBycCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYpIHsKLSAgICAgICAg
cmlnaHQgPSBtYXgocmlnaHQsIGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgKyBwYWRkaW5n
UmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkp
IHsKLSAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyckJveCA9IGZpcnN0TGluZUJv
eCgpOyBjdXJyQm94OyBjdXJyQm94ID0gY3VyckJveC0+bmV4dExpbmVCb3goKSkgewotICAgICAg
ICAgICAgICAgIGludCBjaGlsZFJpZ2h0RWRnZSA9IGN1cnJCb3gtPngoKSArIGN1cnJCb3gtPmxv
Z2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIElmIHRo
aXMgbm9kZSBpcyBhIHJvb3QgZWRpdGFibGUgZWxlbWVudCwgdGhlbiB0aGUgcmlnaHRtb3N0UG9z
aXRpb24gc2hvdWxkIGFjY291bnQgZm9yIGEgY2FyZXQgYXQgdGhlIGVuZC4KLSAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogTmVlZCB0byBmaW5kIGFub3RoZXIgd2F5IHRvIGRvIHRoaXMsIHNpbmNl
IHNjcm9sbGJhcnMgY291bGQgc2hvdyB3aGVuIHdlIGRvbid0IHdhbnQgdGhlbSB0by4KLSAgICAg
ICAgICAgICAgICBpZiAobm9kZSgpICYmIG5vZGUoKS0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBu
b2RlKCkgPT0gbm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KCkgJiYgc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpICYmICFwYWRkaW5nUmlnaHQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgY2hpbGRSaWdodEVkZ2UgKz0gMTsKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdo
dCwgY2hpbGRSaWdodEVkZ2UgKyBwYWRkaW5nUmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFdhbGsgYWxsIG5v
cm1hbCBmbG93IGNoaWxkcmVuLgotICAgICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGN1cnJCb3gg
PSBmaXJzdENoaWxkQm94KCk7IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0U2libGlu
Z0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJCb3gtPmlzRmxvYXRpbmdPclBvc2l0
aW9uZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
SW50UmVjdCB0cmFuc2Zvcm1lZENoaWxkID0gY3VyckJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3Qo
KTsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRSaWdodEVkZ2UgPSB0cmFuc2Zvcm1lZENoaWxk
LngoKSArIHRyYW5zZm9ybWVkQ2hpbGQud2lkdGgoKSArIGN1cnJCb3gtPm1hcmdpblJpZ2h0KCk7
Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGNoaWxkUmlnaHRFZGdlICsgcGFk
ZGluZ1JpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBp
bmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAg
ICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2Vz
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRy
YW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJ
bnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3Qo
bGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4g
dHJhbnNmb3JtUmVjdC53aWR0aCgpOwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gcmlnaHQ7Ci19
Ci0KLWludCBSZW5kZXJCbG9jazo6bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxv
d0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9y
bSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IHRyYW5zZm9ybWVkRnJh
bWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkTGVmdCA9IGluY2x1ZGVTZWxmICYmIHRyYW5z
Zm9ybWVkUmVjdC5oZWlnaHQoKSA+IDAgPyAwIDogdHJhbnNmb3JtZWRSZWN0LndpZHRoKCk7Ci0g
ICAgCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlw
KCkgfHwgaGFzQ29udHJvbENsaXAoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZExlZnQ7
Ci0KLSAgICBpZiAoIWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8
ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRM
ZWZ0OwotCi0gICAgaW50IGxlZnQgPSBpbmNsdWRlU2VsZiAmJiBoZWlnaHQoKSA+IDAgPyAwIDog
d2lkdGgoKTsKLQotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBD
b21lIHVwIHdpdGggYSB3YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5n
IGFsbCB0aGUga2lkcy4KLSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGlu
dG8gYWxsIHRoZSBjaGlsZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5z
aWRlCi0gICAgICAgIC8vIGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBv
dXIgY2hpbGQgdHJlZS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAv
LyB0aGUgYWJzIGRpdi4KLSAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGMgPSBmaXJzdENoaWxk
KCk7IGM7IGMgPSBjLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoIWMtPmlzRmxv
YXRpbmdPclBvc2l0aW9uZWQoKSAmJiBjLT5pc0JveCgpKSB7Ci0gICAgICAgICAgICAgICAgUmVu
ZGVyQm94KiBjaGlsZEJveCA9IHRvUmVuZGVyQm94KGMpOwotICAgICAgICAgICAgICAgIGxlZnQg
PSBtaW4obGVmdCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueCgpICsgY2hpbGRC
b3gtPmxlZnRtb3N0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAg
ICAgbGVmdCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOyAKLQotICAgIGlmICghaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBs
ZWZ0OwotICAgIAotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYmIGlzUmVs
UG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSA6IDA7Ci0KLSAgICBpZiAo
aW5jbHVkZVNlbGYpCi0gICAgICAgIGxlZnQgPSBtaW4obGVmdCwgbGVmdExheW91dE92ZXJmbG93
KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2JqZWN0cykgewot
ICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1fcG9zaXRpb25l
ZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVk
T2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICByID0gKml0
OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5vdCBzY3JvbGwg
YW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBwYXJ0IG9mIHRo
ZSBsZWZ0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChyLT5zdHlsZSgpLT5wb3NpdGlv
bigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxk
IHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAgICAgICAgICAgICAvLyBJZiBh
IHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSBhYm92ZSB0aGUgcm9vdCBpdCB3aWxs
IGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0gICAgICAgICAgICAgICAgLy8gVGhlcmVm
b3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29udHJpYnV0ZSB0byB0aGUgbGVmdG1vc3Qg
cG9zaXRpb24uCi0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFu
c2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkg
fHwgdHJhbnNmb3JtZWRSLnkoKSArIHRyYW5zZm9ybWVkUi5oZWlnaHQoKSA+IDAgfHwgdHJhbnNm
b3JtZWRSLnkoKSArIHItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKSA+IDApIHsKLSAgICAgICAgICAg
ICAgICAgICAgaW50IGxwID0gdHJhbnNmb3JtZWRSLngoKSArIHItPmxlZnRtb3N0UG9zaXRpb24o
ZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGxwICsgcmVsYXRp
dmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gVGhpcyBvbmx5IG1h
dHRlcnMgZm9yIFJUTAotICAgICAgICBpZiAoIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKSkgewotICAgICAgICAgICAgQ29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsK
LSAgICAgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gY29sdW1uQ291bnQoY29sSW5mbyk7Ci0gICAg
ICAgICAgICBpZiAoY291bnQpCi0gICAgICAgICAgICAgICAgbGVmdCA9IG1pbihjb2x1bW5SZWN0
QXQoY29sSW5mbywgY291bnQgLSAxKS54KCkgKyByZWxhdGl2ZU9mZnNldCwgbGVmdCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgfQotCi0gICAgaWYgKG1fZmxvYXRpbmdP
YmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAgICBEZXByZWNhdGVk
UHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwot
ICAgICAgICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsKLSAgICAgICAgICAg
IGlmIChyLT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xh
eWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgbHAgPSByLT5sZWZ0KCkgKyByLT5tX3JlbmRl
cmVyLT5tYXJnaW5MZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNl
KTsKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGxwICsgcmVsYXRpdmVPZmZzZXQp
OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFpbmNsdWRlU2Vs
ZiAmJiBmaXJzdExpbmVCb3goKSkgewotICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnJC
b3ggPSBmaXJzdExpbmVCb3goKTsgY3VyckJveDsgY3VyckJveCA9IGN1cnJCb3gtPm5leHRMaW5l
Qm94KCkpCi0gICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIChpbnQpY3VyckJveC0+eCgpICsg
cmVsYXRpdmVPZmZzZXQpOwotICAgIH0KLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNs
dWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJh
bnNmb3JtKCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBp
bnQgYm90dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5z
Zm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3Ap
KTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3QueCgpOwotICAgIH0KLSAgICAKLSAgICBy
ZXR1cm4gbGVmdDsKLX0KLQogdm9pZCBSZW5kZXJCbG9jazo6bWFya0xpbmVzRGlydHlJbkJsb2Nr
UmFuZ2UoaW50IGxvZ2ljYWxUb3AsIGludCBsb2dpY2FsQm90dG9tLCBSb290SW5saW5lQm94KiBo
aWdoZXN0KQogewogICAgIGlmIChsb2dpY2FsVG9wID49IGxvZ2ljYWxCb3R0b20pCkBAIC00MTAx
LDcgKzM3MzUsNyBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUCiAK
ICAgICBpZiAoIWlzUmVuZGVyVmlldygpKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQg
dG8gZG8gYW55dGhpbmcgYXQgYWxsLgotICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlz
aWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFs
T3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgIG92ZXJmbG93Qm94Lm1vdmUodHgsIHR5KTsKICAgICAg
ICAgaWYgKCFvdmVyZmxvd0JveC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoX3gsIF95
KSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTYxLDQ5ICs0MTk1LDQzIEBAIElu
dFJlY3QgUmVuZGVyQmxvY2s6OmNvbHVtblJlY3RBdChDb2x1bW4KIAogYm9vbCBSZW5kZXJCbG9j
azo6bGF5b3V0Q29sdW1ucyhib29sIGhhc1NwZWNpZmllZFBhZ2VIZWlnaHQsIGludCBwYWdlSGVp
Z2h0LCBMYXlvdXRTdGF0ZU1haW50YWluZXImIHN0YXRlUHVzaGVyKQogewotICAgIGlmIChoYXND
b2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkg
YXQgYWxsIGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRv
IHVuZGVyc3RhbmQgd2hhdAotICAgICAgICAvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBmb3JjZWQg
cGFnZSBicmVha3MgaXMgc28gdGhhdCB3ZSBjYW4gYXZvaWQgbWFraW5nIHRoZSBtaW5pbXVtIGNv
bHVtbiBoZWlnaHQgdG9vIHRhbGwuCi0gICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1
bW5JbmZvKCk7Ci0gICAgICAgIGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNp
cmVkQ29sdW1uQ291bnQoKTsKLSAgICAgICAgaWYgKCFoYXNTcGVjaWZpZWRQYWdlSGVpZ2h0KSB7
Ci0gICAgICAgICAgICBpbnQgY29sdW1uSGVpZ2h0ID0gcGFnZUhlaWdodDsKLSAgICAgICAgICAg
IGludCBtaW5Db2x1bW5Db3VudCA9IGNvbEluZm8tPmZvcmNlZEJyZWFrcygpICsgMTsKLSAgICAg
ICAgICAgIGlmIChtaW5Db2x1bW5Db3VudCA+PSBkZXNpcmVkQ29sdW1uQ291bnQpIHsKLSAgICAg
ICAgICAgICAgICAvLyBUaGUgZm9yY2VkIHBhZ2UgYnJlYWtzIGFyZSBpbiBjb250cm9sIG9mIHRo
ZSBiYWxhbmNpbmcuICBKdXN0IHNldCB0aGUgY29sdW1uIGhlaWdodCB0byB0aGUKLSAgICAgICAg
ICAgICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2UuCi0gICAgICAgICAgICAgICAg
aWYgKCFwYWdlSGVpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZUJldHdl
ZW5CcmVha3MgPSBtYXgoY29sSW5mby0+bWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFr
cygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkg
KyBjb250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9IG1heChjb2xJbmZvLT5taW5pbXVtQ29sdW1u
SGVpZ2h0KCksIGRpc3RhbmNlQmV0d2VlbkJyZWFrcyk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJl
ZENvbHVtbkNvdW50KSB7Ci0gICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2Uga25vdyB0aGUg
aW50cmluc2ljIGhlaWdodCBvZiB0aGUgY29sdW1ucywgd2UgaGF2ZSB0byByZWJhbGFuY2UgdGhl
bS4KLSAgICAgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNv
bHVtbkhlaWdodCgpLCAoaW50KWNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBkZXNpcmVk
Q29sdW1uQ291bnQpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
aWYgKGNvbHVtbkhlaWdodCAmJiBjb2x1bW5IZWlnaHQgIT0gcGFnZUhlaWdodCkgewotICAgICAg
ICAgICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOwotICAgICAgICAgICAgICAgIG1fZXZlckhhZExh
eW91dCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgbGF5b3V0QmxvY2soZmFsc2UsIGNvbHVtbkhl
aWdodCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gCi0gICAgICAgIAotICAgICAgICBpZiAocGFnZUhlaWdodCkgLy8gRklYTUU6IFNob3Vs
ZCB3ZSB1c2UgbG93ZXN0UG9zaXRpb24gKGV4Y2x1ZGluZyBvdXIgcG9zaXRpb25lZCBvYmplY3Rz
KSBpbnN0ZWFkIG9mIGNvbnRlbnRIZWlnaHQoKT8KLSAgICAgICAgICAgIGNvbEluZm8tPnNldENv
bHVtbkNvdW50QW5kSGVpZ2h0KGNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBwYWdlSGVp
Z2h0KSwgcGFnZUhlaWdodCk7Ci0KLSAgICAgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7
Ci0gICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1uUmVjdEF0KGNvbEluZm8sIGNv
bHVtbkNvdW50KGNvbEluZm8pIC0gMSk7Ci0gICAgICAgICAgICBpbnQgb3ZlcmZsb3dMZWZ0ID0g
IXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1pbigwLCBsYXN0UmVjdC54KCkp
IDogMDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0gc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0LngoKSArIGxhc3RSZWN0Lndp
ZHRoKCkpIDogMDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd0hlaWdodCA9IGJvcmRlclRvcCgp
ICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCk7Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQob3ZlcmZsb3dIZWlnaHQgKyBib3JkZXJCb3R0
b20oKSArIHBhZGRpbmdCb3R0b20oKSArIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7Cisg
ICAgaWYgKCFoYXNDb2x1bW5zKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAg
ICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgICAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50
UmVjdChvdmVyZmxvd0xlZnQsIDAsIG92ZXJmbG93UmlnaHQgLSBvdmVyZmxvd0xlZnQsIG92ZXJm
bG93SGVpZ2h0KSk7CisgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkgYXQg
YWxsIGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRvIHVu
ZGVyc3RhbmQgd2hhdAorICAgIC8vIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGZvcmNlZCBwYWdlIGJy
ZWFrcyBpcyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYWtpbmcgdGhlIG1pbmltdW0gY29sdW1uIGhl
aWdodCB0b28gdGFsbC4KKyAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwor
ICAgIGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNpcmVkQ29sdW1uQ291bnQo
KTsKKyAgICBpZiAoIWhhc1NwZWNpZmllZFBhZ2VIZWlnaHQpIHsKKyAgICAgICAgaW50IGNvbHVt
bkhlaWdodCA9IHBhZ2VIZWlnaHQ7CisgICAgICAgIGludCBtaW5Db2x1bW5Db3VudCA9IGNvbElu
Zm8tPmZvcmNlZEJyZWFrcygpICsgMTsKKyAgICAgICAgaWYgKG1pbkNvbHVtbkNvdW50ID49IGRl
c2lyZWRDb2x1bW5Db3VudCkgeworICAgICAgICAgICAgLy8gVGhlIGZvcmNlZCBwYWdlIGJyZWFr
cyBhcmUgaW4gY29udHJvbCBvZiB0aGUgYmFsYW5jaW5nLiAgSnVzdCBzZXQgdGhlIGNvbHVtbiBo
ZWlnaHQgdG8gdGhlCisgICAgICAgICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2Uu
CisgICAgICAgICAgICBpZiAoIXBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgICAgICBpbnQgZGlz
dGFuY2VCZXR3ZWVuQnJlYWtzID0gbWF4KGNvbEluZm8tPm1heGltdW1EaXN0YW5jZUJldHdlZW5G
b3JjZWRCcmVha3MoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5n
VG9wKCkgKyBjb250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7
CisgICAgICAgICAgICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1
bW5IZWlnaHQoKSwgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJlZENvbHVt
bkNvdW50KSB7CisgICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBrbm93IHRoZSBpbnRyaW5zaWMg
aGVpZ2h0IG9mIHRoZSBjb2x1bW5zLCB3ZSBoYXZlIHRvIHJlYmFsYW5jZSB0aGVtLgorICAgICAg
ICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1bW5IZWlnaHQoKSwg
KGludCljZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gZGVzaXJlZENvbHVtbkNvdW50KSk7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChjb2x1bW5IZWlnaHQgJiYgY29sdW1u
SGVpZ2h0ICE9IHBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOwor
ICAgICAgICAgICAgbV9ldmVySGFkTGF5b3V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGxheW91dEJs
b2NrKGZhbHNlLCBjb2x1bW5IZWlnaHQpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgIH0KKyAgICB9IAorICAgIAorICAgIGlmIChwYWdlSGVpZ2h0KSAvLyBGSVhNRTogU2hvdWxk
IHdlIHVzZSBsb3dlc3RQb3NpdGlvbiAoZXhjbHVkaW5nIG91ciBwb3NpdGlvbmVkIG9iamVjdHMp
IGluc3RlYWQgb2YgY29udGVudEhlaWdodCgpPworICAgICAgICBjb2xJbmZvLT5zZXRDb2x1bW5D
b3VudEFuZEhlaWdodChjZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gcGFnZUhlaWdodCks
IHBhZ2VIZWlnaHQpOworCisgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7CisgICAgICAg
IHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjb2xJbmZvLT5j
b2x1bW5IZWlnaHQoKSArIGJvcmRlckJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgaG9yaXpv
bnRhbFNjcm9sbGJhckhlaWdodCgpKTsKKyAgICAgICAgbV9vdmVyZmxvdy5jbGVhcigpOwogICAg
IH0KICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBAIC02MTYxLDggKzU3ODksOCBAQCB2b2lkIFJl
bmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQCiAgICAgLy8gbGluZSBhbmQgYWxsIGZv
bGxvd2luZyBsaW5lcy4KICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3RhdGUgPSB2aWV3KCktPmxh
eW91dFN0YXRlKCk7CiAgICAgaW50IHBhZ2VIZWlnaHQgPSBsYXlvdXRTdGF0ZS0+bV9wYWdlSGVp
Z2h0OwotICAgIGludCB5UG9zID0gbGluZUJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAg
aW50IGxpbmVIZWlnaHQgPSBsaW5lQm94LT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIHlQb3M7
CisgICAgaW50IHlQb3MgPSBsaW5lQm94LT50b3BWaXN1YWxPdmVyZmxvdygpOworICAgIGludCBs
aW5lSGVpZ2h0ID0gbGluZUJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSAtIHlQb3M7CiAgICAg
aWYgKGxheW91dFN0YXRlLT5tX2NvbHVtbkluZm8pCiAgICAgICAgIGxheW91dFN0YXRlLT5tX2Nv
bHVtbkluZm8tPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobGluZUhlaWdodCk7CiAgICAgeVBv
cyArPSBkZWx0YTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzMzMzQp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05
OCwxMSArOTgsNiBAQCBwdWJsaWM6CiAgICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxp
bmUoaW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3Q7CiAgICAgaW50IGxvZ2ljYWxS
aWdodE9mZnNldEZvckxpbmUoaW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3QgeyBy
ZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zm
c2V0Rm9yQ29udGVudCgpLCBmaXJzdExpbmUpOyB9CiAgICAgaW50IGxvZ2ljYWxMZWZ0T2Zmc2V0
Rm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBjb25zdCB7IHJldHVybiBsb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVu
dCgpLCBmaXJzdExpbmUpOyB9Ci0KLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9v
bCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVl
LCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwg
aW50IGxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBi
b29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3Jt
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJh
bnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1v
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNs
dWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7
CiAgICAgCiAgICAgdmlydHVhbCBWaXNpYmxlUG9zaXRpb24gcG9zaXRpb25Gb3JQb2ludChjb25z
dCBJbnRQb2ludCYpOwogICAgIApAQCAtMjg2LDYgKzI4MSw4IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIGJvb2wgaGFzTGluZUlmRW1wdHkoKSBjb25zdDsKICAgICBib29sIGxheW91dE9ubHlQ
b3NpdGlvbmVkT2JqZWN0cygpOwogCisgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYgYWRkaXRpb25hbFJlY3RUb0FwcGx5KTsKKwogI2lmIEVOQUJMRShTVkcpCiBwcm90ZWN0
ZWQ6CiAKQEAgLTI5OCw4ICsyOTUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgfQogI2VuZGlmCiAKLSAg
ICB2b2lkIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKTsKLQogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENoaWxkcmVuKCkgeyByZXR1cm4g
Y2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2
aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGlsZHJlbigpOyB9CkBAIC00NjMsMTQg
KzQ1OCwxNiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uUG9zaXRp
b25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3ZlcmZsb3dBbmRGYWxs
YmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAgdm9pZCBkZWxldGVF
bGxpcHNpc0xpbmVCb3hlcygpOwogICAgIHZvaWQgY2hlY2tMaW5lc0ZvclRleHRPdmVyZmxvdygp
OwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICBpbnQgYmVm
b3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwotICAg
IGludCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25z
dDsKKyAgICBpbnQgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94
KikgY29uc3Q7CisgICAgaW50IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290SW5s
aW5lQm94KikgY29uc3Q7CiAgICAgaW50IGJlZm9yZVNpZGVMYXlvdXRPdmVyZmxvd0ZvckxpbmUo
Um9vdElubGluZUJveCopIGNvbnN0OwogICAgIGludCBhZnRlclNpZGVMYXlvdXRPdmVyZmxvd0Zv
ckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIC8vIEVuZCBvZiBmdW5jdGlvbnMgZGVm
aW5lZCBpbiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwLgogCiAgICAgdm9pZCBhZGRPdmVyZmxv
d0Zyb21GbG9hdHMoKTsKKyAgICB2b2lkIGFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3Rz
KCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgdm9pZCBh
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOwogCiAgICAgdm9pZCBwYWludEZsb2F0cyhQ
YWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwcmVzZXJ2ZVBoYXNlID0gZmFsc2UpOwog
ICAgIHZvaWQgcGFpbnRDb250ZW50cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9u
IDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjE1LDggKzYxNSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgIFJlbmRlckFyZW5hKiBhcmVuYSA9IHJlbmRl
ckFyZW5hKCk7CiAgICAgICAgICAgICBSb290SW5saW5lQm94KiBib3ggPSBzdGFydExpbmU7CiAg
ICAgICAgICAgICB3aGlsZSAoYm94KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxU
b3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JM
aW5lKGJveCkpOwotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJl
cGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGJveCkp
OworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2Fs
VG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGJveCkpOworICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRl
clNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94KSk7CiAgICAgICAgICAgICAgICAgUm9vdElu
bGluZUJveCogbmV4dCA9IGJveC0+bmV4dFJvb3RCb3goKTsKICAgICAgICAgICAgICAgICBib3gt
PmRlbGV0ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveCA9IG5leHQ7CkBAIC03NjQs
NiArNzY0LDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAg
ICAgICAgICAgICAgICAgICAgICAgfQogI2VuZGlmCiAKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIENvbXB1dGUgb3VyIG92ZXJmbG93IG5vdy4KKyAgICAgICAgICAgICAgICAgICAgICAgIGxp
bmVCb3gtPmNvbXB1dGVPdmVyZmxvdyhsaW5lQm94LT5saW5lVG9wKCksIGxpbmVCb3gtPmxpbmVC
b3R0b20oKSwgZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKSwgdGV4dEJveERhdGFNYXApOwor
ICAgIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZ2hs
aWdodCBhY3RzIGFzIGFuIG92ZXJmbG93IGluZmxhdGlvbi4KICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChzdHlsZSgpLT5oaWdobGlnaHQoKSAhPSBudWxsQXRvbSkKQEAgLTc3Nyw4ICs3ODAs
OCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAg
ICAgICAgaWYgKGxpbmVCb3gpIHsKICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+c2V0TGlu
ZUJyZWFrSW5mbyhlbmQub2JqLCBlbmQucG9zLCByZXNvbHZlci5zdGF0dXMoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lk
ZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNp
ZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIGlmIChwYWdpbmF0
ZWQpIHsKQEAgLTc4OCw3ICs3OTEsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVD
aGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9sZExpbmVXaWR0aCA9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUob2xkTG9naWNhbEhlaWdodCwgZmlyc3RMaW5l
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5hZGp1c3RQb3NpdGlvbigw
LCBhZGp1c3RtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNlUmVwYWlu
dEJvdW5kcykgLy8gVGhpcyBjYW4gb25seSBiZSBhIHBvc2l0aXZlIGFkanVzdG1lbnQsIHNvIG5v
IG5lZWQgdG8gdXBkYXRlIHJlcGFpbnRUb3AuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRl
clNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxC
b3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKG9sZExvZ2ljYWxIZWlnaHQgKyBhZGp1c3Rt
ZW50LCBmaXJzdExpbmUpICE9IG9sZExpbmVXaWR0aCkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRlbGV0ZSB0aGlzIGxpbmUsIHJlbW92ZSBhbGwgZmxv
YXRzIHRoYXQgZ290IGFkZGVkLCBhbmQgbGV0IGxpbmUgbGF5b3V0IHJlLXJ1bi4KQEAgLTg0Miw4
ICs4NDUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAg
ICAgICAgICAgICAgICAgICAgICBhZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKGxpbmUs
IGRlbHRhKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAo
ZGVsdGEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWlu
KHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5l
KSArIG1pbihkZWx0YSwgMCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVy
Zmxvd0ZvckxpbmUobGluZSkgKyBtYXgoZGVsdGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRl
VmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAwKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJv
dHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWF4KGRlbHRhLCAw
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLT5hZGp1c3RQb3NpdGlvbigwLCBkZWx0
YSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaWYgKFZlY3Rv
cjxSZW5kZXJCb3gqPiogY2xlYW5MaW5lRmxvYXRzID0gbGluZS0+ZmxvYXRzUHRyKCkpIHsKQEAg
LTg2MSw4ICs4NjQsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihi
CiAgICAgICAgICAgICAgICAgUm9vdElubGluZUJveCogbGluZSA9IGVuZExpbmU7CiAgICAgICAg
ICAgICAgICAgUmVuZGVyQXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAgICAgICAg
ICAgICB3aGlsZSAobGluZSkgewotICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRv
cCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0Zvckxp
bmUobGluZSkpOwotICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1h
eChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShs
aW5lKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFp
bnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2lj
YWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lKSk7CiAgICAgICAg
ICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG5leHQgPSBsaW5lLT5uZXh0Um9vdEJveCgpOwog
ICAgICAgICAgICAgICAgICAgICBsaW5lLT5kZWxldGVMaW5lKGFyZW5hKTsKICAgICAgICAgICAg
ICAgICAgICAgbGluZSA9IG5leHQ7CkBAIC04NzQsNyArODc3LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgLy8gVGhpcyBoYXMgdG8gYmUg
ZG9uZSBiZWZvcmUgYWRkaW5nIGluIHRoZSBib3R0b20gYm9yZGVyL3BhZGRpbmcsIG9yIHRoZSBm
bG9hdCB3aWxsCiAgICAgICAgICAgICAvLyBpbmNsdWRlIHRoZSBwYWRkaW5nIGluY29ycmVjdGx5
LiAtZHdoCiAgICAgICAgICAgICBpZiAoY2hlY2tGb3JGbG9hdHNGcm9tTGFzdExpbmUpIHsKLSAg
ICAgICAgICAgICAgICBpbnQgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBhZnRlclNpZGVWaXNpYmxl
T3ZlcmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOworICAgICAgICAgICAgICAgIGludCBib3R0
b21WaXN1YWxPdmVyZmxvdyA9IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsYXN0Um9v
dEJveCgpKTsKICAgICAgICAgICAgICAgICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBhZnRl
clNpZGVMYXlvdXRPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7CiAgICAgICAgICAgICAg
ICAgVHJhaWxpbmdGbG9hdHNSb290SW5saW5lQm94KiB0cmFpbGluZ0Zsb2F0c0xpbmVCb3ggPSBu
ZXcgKHJlbmRlckFyZW5hKCkpIFRyYWlsaW5nRmxvYXRzUm9vdElubGluZUJveCh0aGlzKTsKICAg
ICAgICAgICAgICAgICBtX2xpbmVCb3hlcy5hcHBlbmRMaW5lQm94KHRyYWlsaW5nRmxvYXRzTGlu
ZUJveCk7CkBAIC04ODIsNyArODg1LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcCB0ZXh0Qm94RGF0YU1hcDsKICAgICAgICAgICAgICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2Fj
aGUgdmVydGljYWxQb3NpdGlvbkNhY2hlOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRz
TGluZUJveC0+YWxpZ25Cb3hlc0luQmxvY2tEaXJlY3Rpb24obG9naWNhbEhlaWdodCgpLCB0ZXh0
Qm94RGF0YU1hcCwgdmVydGljYWxQb3NpdGlvbkNhY2hlKTsKLSAgICAgICAgICAgICAgICB0cmFp
bGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobG9n
aWNhbEhlaWdodCgpLCBib3R0b21MYXlvdXRPdmVyZmxvdywgbG9naWNhbEhlaWdodCgpLCBib3R0
b21WaXN1YWxPdmVyZmxvdyk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0
T3ZlcmZsb3codHJhaWxpbmdGbG9hdHNMaW5lQm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0
KCkpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy5zZXRZKGxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgbG9naWNhbExheW91dE92ZXJmbG93LnNldEhlaWdo
dChib3R0b21MYXlvdXRPdmVyZmxvdyAtIGxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICAg
ICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3codHJhaWxpbmdGbG9hdHNMaW5lQm94LT5s
b2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkpOworICAgICAgICAgICAgICAgIGxvZ2ljYWxWaXN1
YWxPdmVyZmxvdy5zZXRZKGxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgbG9naWNh
bFZpc3VhbE92ZXJmbG93LnNldEhlaWdodChib3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5zZXRPdmVy
Zmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3csIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+bGluZVRvcCgpLCB0cmFpbGluZ0Zsb2F0
c0xpbmVCb3gtPmxpbmVCb3R0b20oKSk7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNM
aW5lQm94LT5zZXRCbG9ja0xvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmIChsYXN0RmxvYXQpIHsKQEAgLTk1NSw4ICs5NjQsOCBAQCBS
b290SW5saW5lQm94KiBSZW5kZXJCbG9jazo6ZGV0ZXJtaW5lU3RhCiAgICAgICAgICAgICAgICAg
ICAgIGlmICghdXNlUmVwYWludEJvdW5kcykKICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVJl
cGFpbnRCb3VuZHMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZv
cmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1pbihwYWdpbmF0aW9uRGVsdGEs
IDApKTsKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVw
YWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoY3Vycikg
KyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzdWFsT3ZlcmZs
b3dGb3JMaW5lKGN1cnIpICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOworICAgICAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwg
YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGN1cnIpICsgbWF4KHBhZ2luYXRpb25EZWx0
YSwgMCkpOwogICAgICAgICAgICAgICAgICAgICBjdXJyLT5hZGp1c3RQb3NpdGlvbigwLCBwYWdp
bmF0aW9uRGVsdGEpOwogICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICB9CkBAIC0xMTcyLDggKzExODEsOCBAQCBib29sIFJlbmRlckJsb2NrOjptYXRjaGVkRW5k
TGluZShjb25zdCBJCiAgICAgICAgICAgICBSb290SW5saW5lQm94KiBib3hUb0RlbGV0ZSA9IGVu
ZExpbmU7CiAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5kZXJBcmVuYSgpOwog
ICAgICAgICAgICAgd2hpbGUgKGJveFRvRGVsZXRlICYmIGJveFRvRGVsZXRlICE9IHJlc3VsdCkg
ewotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2Fs
VG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShib3hUb0RlbGV0ZSkpOwotICAg
ICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90
dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7CisgICAg
ICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJl
Zm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0
ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7CiAgICAgICAgICAgICAg
ICAgUm9vdElubGluZUJveCogbmV4dCA9IGJveFRvRGVsZXRlLT5uZXh0Um9vdEJveCgpOwogICAg
ICAgICAgICAgICAgIGJveFRvRGVsZXRlLT5kZWxldGVMaW5lKGFyZW5hKTsKICAgICAgICAgICAg
ICAgICBib3hUb0RlbGV0ZSA9IG5leHQ7CkBAIC0yMDI5LDI5ICsyMDM4LDQxIEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRk
T3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKQogeworICAgIGludCBlbmRQYWRkaW5nID0gaGFz
T3ZlcmZsb3dDbGlwKCkgPyBwYWRkaW5nRW5kKCkgOiAwOworICAgIC8vIEZJWE1FOiBOZWVkIHRv
IGZpbmQgYW5vdGhlciB3YXkgdG8gZG8gdGhpcywgc2luY2Ugc2Nyb2xsYmFycyBjb3VsZCBzaG93
IHdoZW4gd2UgZG9uJ3Qgd2FudCB0aGVtIHRvLgorICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSAm
JiAhZW5kUGFkZGluZyAmJiBub2RlKCkgJiYgbm9kZSgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpICYm
IG5vZGUoKSA9PSBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSAmJiBzdHlsZSgpLT5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgIGVuZFBhZGRpbmcgPSAxOwogICAgIGZvciAo
Um9vdElubGluZUJveCogY3VyciA9IGZpcnN0Um9vdEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+
bmV4dFJvb3RCb3goKSkgewotICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhjdXJyLT5sYXlvdXRP
dmVyZmxvd1JlY3QoKSk7CisgICAgICAgIEludFJlY3QgbGluZUxheW91dE92ZXJmbG93ID0gY3Vy
ci0+bGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIGlmIChlbmRQYWRkaW5nKSB7CisgICAg
ICAgICAgICBpbnQgcmlnaHRQYWRkaW5nRWRnZSA9IGN1cnItPmxvZ2ljYWxSaWdodCgpICsgZW5k
UGFkZGluZzsKKyAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpKQorICAgICAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zZXRXaWR0aChtYXgobGlu
ZUxheW91dE92ZXJmbG93LndpZHRoKCksIHJpZ2h0UGFkZGluZ0VkZ2UgLSBsaW5lTGF5b3V0T3Zl
cmZsb3cueCgpKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNldEhlaWdodChtYXgobGluZUxheW91dE92ZXJmbG93LmhlaWdodCgpLCByaWdo
dFBhZGRpbmdFZGdlIC0gbGluZUxheW91dE92ZXJmbG93LngoKSkpOworICAgICAgICB9CisgICAg
ICAgIGFkZExheW91dE92ZXJmbG93KGxpbmVMYXlvdXRPdmVyZmxvdyk7CiAgICAgICAgIGlmICgh
aGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgICAgICBhZGRWaXN1YWxPdmVyZmxvdyhjdXJyLT52
aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgfQogfQogCi1pbnQgUmVuZGVyQmxvY2s6OmJlZm9y
ZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUpIGNvbnN0Citp
bnQgUmVuZGVyQmxvY2s6OmJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoUm9vdElubGlu
ZUJveCogbGluZSkgY29uc3QKIHsKICAgICAvLyBPdmVyZmxvdyBpcyBpbiB0aGUgYmxvY2sncyBj
b29yZGluYXRlIHNwYWNlLCB3aGljaCBtZWFucyBpdCBpc24ndCBwdXJlbHkgcGh5c2ljYWwuICBG
b3IgZmxpcHBlZCBibG9ja3MgKHJsIGFuZCBidCksCiAgICAgLy8gd2UgY29udGludWUgdG8gdXNl
IHRvcCBhbmQgbGVmdCBvdmVyZmxvdyBldmVuIHRob3VnaCBwaHlzaWNhbGx5IGl0J3MgYm90dG9t
IGFuZCByaWdodC4KICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
LSAgICAgICAgcmV0dXJuIGxpbmUtPnRvcFZpc2libGVPdmVyZmxvdygpOwotICAgIHJldHVybiBs
aW5lLT5sZWZ0VmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgIHJldHVybiBsaW5lLT50b3BWaXN1
YWxPdmVyZmxvdygpOworICAgIHJldHVybiBsaW5lLT5sZWZ0VmlzdWFsT3ZlcmZsb3coKTsKIH0K
IAotaW50IFJlbmRlckJsb2NrOjphZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJ
bmxpbmVCb3gqIGxpbmUpIGNvbnN0CitpbnQgUmVuZGVyQmxvY2s6OmFmdGVyU2lkZVZpc3VhbE92
ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAogewogICAgIC8vIE92ZXJm
bG93IGlzIGluIHRoZSBibG9jaydzIGNvb3JkaW5hdGUgc3BhY2UsIHdoaWNoIG1lYW5zIGl0IGlz
bid0IHB1cmVseSBwaHlzaWNhbC4gIEZvciBmbGlwcGVkIGJsb2NrcyAocmwgYW5kIGJ0KSwKICAg
ICAvLyB3ZSBjb250aW51ZSB0byB1c2UgYm90dG9tIGFuZCByaWdodCBvdmVyZmxvdyBldmVuIHRo
b3VnaCBwaHlzaWNhbGx5IGl0J3MgdG9wIGFuZCBsZWZ0LgogICAgIGlmIChzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gbGluZS0+Ym90dG9tVmlzaWJs
ZU92ZXJmbG93KCk7Ci0gICAgcmV0dXJuIGxpbmUtPnJpZ2h0VmlzaWJsZU92ZXJmbG93KCk7Cisg
ICAgICAgIHJldHVybiBsaW5lLT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOworICAgIHJldHVybiBs
aW5lLT5yaWdodFZpc3VhbE92ZXJmbG93KCk7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6YmVmb3Jl
U2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNiw5ICs0MDYsMTAgQEAg
aW50IFJlbmRlckJveDo6c2Nyb2xsV2lkdGgoKSBjb25zdAogICAgIGlmIChoYXNPdmVyZmxvd0Ns
aXAoKSkKICAgICAgICAgcmV0dXJuIGxheWVyKCktPnNjcm9sbFdpZHRoKCk7CiAgICAgLy8gRm9y
IG9iamVjdHMgd2l0aCB2aXNpYmxlIG92ZXJmbG93LCB0aGlzIG1hdGNoZXMgSUUuCisgICAgLy8g
RklYTUU6IE5lZWQgdG8gd29yayByaWdodCB3aXRoIHdyaXRpbmcgbW9kZXMuCiAgICAgaWYgKHN0
eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIG1heChjbGll
bnRXaWR0aCgpLCByaWdodG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJMZWZ0KCkp
OwotICAgIHJldHVybiBjbGllbnRXaWR0aCgpIC0gbWluKDAsIGxlZnRtb3N0UG9zaXRpb24odHJ1
ZSwgZmFsc2UpIC0gYm9yZGVyTGVmdCgpKTsKKyAgICAgICAgcmV0dXJuIG1heChjbGllbnRXaWR0
aCgpLCByaWdodExheW91dE92ZXJmbG93KCkgLSBib3JkZXJMZWZ0KCkpOworICAgIHJldHVybiBj
bGllbnRXaWR0aCgpIC0gbWluKDAsIGxlZnRMYXlvdXRPdmVyZmxvdygpIC0gYm9yZGVyTGVmdCgp
KTsKIH0KIAogaW50IFJlbmRlckJveDo6c2Nyb2xsSGVpZ2h0KCkgY29uc3QKQEAgLTQxNiw3ICs0
MTcsOCBAQCBpbnQgUmVuZGVyQm94OjpzY3JvbGxIZWlnaHQoKSBjb25zdAogICAgIGlmIChoYXNP
dmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJuIGxheWVyKCktPnNjcm9sbEhlaWdodCgpOwog
ICAgIC8vIEZvciBvYmplY3RzIHdpdGggdmlzaWJsZSBvdmVyZmxvdywgdGhpcyBtYXRjaGVzIElF
LgotICAgIHJldHVybiBtYXgoY2xpZW50SGVpZ2h0KCksIGxvd2VzdFBvc2l0aW9uKHRydWUsIGZh
bHNlKSAtIGJvcmRlclRvcCgpKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byB3b3JrIHJpZ2h0IHdp
dGggd3JpdGluZyBtb2Rlcy4KKyAgICByZXR1cm4gbWF4KGNsaWVudEhlaWdodCgpLCBib3R0b21M
YXlvdXRPdmVyZmxvdygpIC0gYm9yZGVyVG9wKCkpOwogfQogCiBpbnQgUmVuZGVyQm94OjpzY3Jv
bGxMZWZ0KCkgY29uc3QKQEAgLTQ1MSwyMiArNDUzLDYgQEAgdm9pZCBSZW5kZXJCb3g6OmFic29s
dXRlUXVhZHMoVmVjdG9yPEZsbwogICAgIHF1YWRzLmFwcGVuZChsb2NhbFRvQWJzb2x1dGVRdWFk
KEZsb2F0UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKIH0KIAotSW50UmVjdCBSZW5k
ZXJCb3g6OmFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKLXsKLSAgICBpZiAoaGFzTGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewot
ICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07Ci0gICAgICAgIHRyYW5zZm9y
bS50cmFuc2xhdGUocmVjdC54KCksIHJlY3QueSgpKTsKLSAgICAgICAgdHJhbnNmb3JtLm11bHRM
ZWZ0KGxheWVyKCktPmN1cnJlbnRUcmFuc2Zvcm0oKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm0ubWFwUmVjdChJbnRSZWN0KDAsIDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkpOwot
ICAgIH0KLSAgICByZXR1cm4gcmVjdDsKLX0KLQotSW50UmVjdCBSZW5kZXJCb3g6OnRyYW5zZm9y
bWVkRnJhbWVSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChmcmFtZVJlY3QoKSk7Ci19Ci0KIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVMYXllclRyYW5z
Zm9ybSgpCiB7CiAgICAgLy8gVHJhbnNmb3JtLW9yaWdpbiBkZXBlbmRzIG9uIGJveCBzaXplLCBz
byB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgbGF5ZXIgdHJhbnNmb3JtIGFmdGVyIGxheW91dC4KQEAg
LTc3Myw4ICs3NTksOCBAQCB2b2lkIFJlbmRlckJveDo6cGFpbnRSb290Qm94RGVjb3JhdGlvbnMo
CiAgICAgLy8gQ1NTMiAxNC4yOgogICAgIC8vIFRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBib3ggZ2Vu
ZXJhdGVkIGJ5IHRoZSByb290IGVsZW1lbnQgY292ZXJzIHRoZSBlbnRpcmUgY2FudmFzIGluY2x1
ZGluZwogICAgIC8vIGl0cyBtYXJnaW5zLgotICAgIGludCBieCA9IHR4IC0gbWFyZ2luTGVmdCgp
ICsgdmlldygpLT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKLSAgICBpbnQgYnkgPSB0eSAtIG1hcmdp
blRvcCgpICsgdmlldygpLT50b3BMYXlvdXRPdmVyZmxvdygpOworICAgIGludCBieCA9IHR4IC0g
bWFyZ2luTGVmdCgpICsgdmlldygpLT5kb2NMZWZ0KCk7CisgICAgaW50IGJ5ID0gdHkgLSBtYXJn
aW5Ub3AoKSArIHZpZXcoKS0+ZG9jVG9wKCk7CiAgICAgaW50IGJ3ID0gbWF4KHcgKyBtYXJnaW5M
ZWZ0KCkgKyBtYXJnaW5SaWdodCgpICsgYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKSwgcncp
OwogICAgIGludCBiaCA9IG1heChoICsgbWFyZ2luVG9wKCkgKyBtYXJnaW5Cb3R0b20oKSArIGJv
cmRlclRvcCgpICsgYm9yZGVyQm90dG9tKCksIHJoKTsKIApAQCAtMTMxNiw3ICsxMzAyLDcgQEAg
SW50UmVjdCBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGbwogICAgIGlmIChzdHlsZSgp
LT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSAmJiAhZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJs
ZUNvbnRlbnQoKSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAotICAgIEludFJlY3QgciA9
IHZpc2libGVPdmVyZmxvd1JlY3QoKTsKKyAgICBJbnRSZWN0IHIgPSB2aXN1YWxPdmVyZmxvd1Jl
Y3QoKTsKIAogICAgIFJlbmRlclZpZXcqIHYgPSB2aWV3KCk7CiAgICAgaWYgKHYpIHsKQEAgLTI5
NjIsNTAgKzI5NDgsNiBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxDYXJldFJlY3QoSW5saW5l
CiAgICAgcmV0dXJuIHJlY3Q7CiB9CiAKLWludCBSZW5kZXJCb3g6OnRvcG1vc3RQb3NpdGlvbihi
b29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlU
cmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1l
ZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxm
ID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVk
ZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpKQotICAgICAgICByZXR1cm4gMDsKLSAg
ICBpbnQgdG9wID0gMDsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIHRvcCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOwotICAgIHJldHVybiB0b3A7Ci19Ci0KLWludCBS
ZW5kZXJCb3g6Omxvd2VzdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciov
LCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QK
LXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1
ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJh
bWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJhbnNmb3JtZWRSZWN0LndpZHRo
KCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGludCBib3R0b20gPSB0cmFuc2Zvcm1lZFJlY3Qu
aGVpZ2h0KCk7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBib3R0b20gKz0g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsKLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQg
UmVuZGVyQm94OjpyaWdodG1vc3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6
IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IHJpZ2h0ID0gdHJhbnNmb3JtZWRS
ZWN0LndpZHRoKCk7Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICByaWdodCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50
IFJlbmRlckJveDo6bGVmdG1vc3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IqLywgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6
IGZyYW1lUmVjdCgpOwotICAgIGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpOwotICAgIGlu
dCBsZWZ0ID0gMDsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIGxlZnQgKz0g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKTsKLSAgICByZXR1cm4gbGVmdDsKLX0KLQogVmlzaWJs
ZVBvc2l0aW9uIFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9p
bnQpCiB7CiAgICAgLy8gbm8gY2hpbGRyZW4uLi5yZXR1cm4gdGhpcyByZW5kZXIgb2JqZWN0J3Mg
ZWxlbWVudCwgaWYgdGhlcmUgaXMgb25lLCBhbmQgb2Zmc2V0IDAKQEAgLTMxMzAsMzUgKzMwNzIs
MzEgQEAgdm9pZCBSZW5kZXJCb3g6OmFkZFNoYWRvd092ZXJmbG93KCkKIAogdm9pZCBSZW5kZXJC
b3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKFJlbmRlckJveCogY2hpbGQsIGNvbnN0IEludFNpemUm
IGRlbHRhKQogewotICAgIC8vIFVwZGF0ZSBvdXIgb3ZlcmZsb3cgaW4gY2FzZSB0aGUgY2hpbGQg
c3BpbGxzIG91dCB0aGUgYmxvY2ssIGJ1dCBvbmx5IGlmIHdlIHdlcmUgZ29pbmcgdG8gcGFpbnQK
LSAgICAvLyB0aGUgY2hpbGQgYmxvY2sgb3Vyc2VsdmVzLgotICAgIGlmIChjaGlsZC0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgLy8gT25seSBwcm9wYWdh
dGUgbGF5b3V0IG92ZXJmbG93IGZyb20gdGhlIGNoaWxkIGlmIHRoZSBjaGlsZCBpc24ndCBjbGlw
cGluZyBpdHMgb3ZlcmZsb3cuICBJZiBpdCBpcywgdGhlbgotICAgIC8vIGl0cyBvdmVyZmxvdyBp
cyBpbnRlcm5hbCB0byBpdCwgYW5kIHdlIGRvbid0IGNhcmUgYWJvdXQgaXQuCi0gICAgSW50UmVj
dCBjaGlsZExheW91dE92ZXJmbG93UmVjdCA9IGNoaWxkLT5oYXNPdmVyZmxvd0NsaXAoKSA/IGNo
aWxkLT5ib3JkZXJCb3hSZWN0KCkgOiBjaGlsZC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAg
Ly8gaXRzIG92ZXJmbG93IGlzIGludGVybmFsIHRvIGl0LCBhbmQgd2UgZG9uJ3QgY2FyZSBhYm91
dCBpdC4gIGxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uIHRha2VzIGNhcmUgb2YgdGhp
cworICAgIC8vIGFuZCBqdXN0IHByb3BhZ2F0ZXMgdGhlIGJvcmRlciBib3ggcmVjdCBpbnN0ZWFk
LgorICAgIEludFJlY3QgY2hpbGRMYXlvdXRPdmVyZmxvd1JlY3QgPSBjaGlsZC0+bGF5b3V0T3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oc3R5bGUoKSk7CiAgICAgY2hpbGRMYXlvdXRPdmVyZmxv
d1JlY3QubW92ZShkZWx0YSk7CiAgICAgYWRkTGF5b3V0T3ZlcmZsb3coY2hpbGRMYXlvdXRPdmVy
Zmxvd1JlY3QpOwogICAgICAgICAgICAgCiAgICAgLy8gQWRkIGluIHZpc3VhbCBvdmVyZmxvdyBm
cm9tIHRoZSBjaGlsZC4gIEV2ZW4gaWYgdGhlIGNoaWxkIGNsaXBzIGl0cyBvdmVyZmxvdywgaXQg
bWF5IHN0aWxsCiAgICAgLy8gaGF2ZSB2aXN1YWwgb3ZlcmZsb3cgb2YgaXRzIG93biBzZXQgZnJv
bSBib3ggc2hhZG93cyBvciByZWZsZWN0aW9ucy4gIEl0IGlzIHVubmVjZXNzYXJ5IHRvIHByb3Bh
Z2F0ZSB0aGlzCiAgICAgLy8gb3ZlcmZsb3cgaWYgd2UgYXJlIGNsaXBwaW5nIG91ciBvd24gb3Zl
cmZsb3cuCi0gICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQorICAgIGlmIChjaGlsZC0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSB8fCBoYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIEludFJlY3QgY2hpbGRWaXN1YWxPdmVyZmxvd1JlY3QgPSBjaGlsZC0+dmlzdWFsT3ZlcmZs
b3dSZWN0KCk7CisgICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVjdCA9IGNoaWxkLT52
aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsKICAgICBjaGlsZFZpc3Vh
bE92ZXJmbG93UmVjdC5tb3ZlKGRlbHRhKTsKICAgICBhZGRWaXN1YWxPdmVyZmxvdyhjaGlsZFZp
c3VhbE92ZXJmbG93UmVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyQm94OjphZGRMYXlvdXRPdmVyZmxv
dyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgYm9yZGVyQm94ID0gYm9yZGVy
Qm94UmVjdCgpOwotICAgIGlmIChib3JkZXJCb3guY29udGFpbnMocmVjdCkpCisgICAgSW50UmVj
dCBjbGllbnRCb3ggPSBjbGllbnRCb3hSZWN0KCk7CisgICAgaWYgKGNsaWVudEJveC5jb250YWlu
cyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAg
ICBpZiAoIW1fb3ZlcmZsb3cpCi0gICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVy
Zmxvdyhib3JkZXJCb3gpKTsKKyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJm
bG93KGNsaWVudEJveCwgYm9yZGVyQm94UmVjdCgpKSk7CiAgICAgCiAgICAgbV9vdmVyZmxvdy0+
YWRkTGF5b3V0T3ZlcmZsb3cocmVjdCk7CiB9CkBAIC0zMTY2LDExICszMTA0LDExIEBAIHZvaWQg
UmVuZGVyQm94OjphZGRMYXlvdXRPdmVyZmxvdyhjb25zdCAKIHZvaWQgUmVuZGVyQm94OjphZGRW
aXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEludFJlY3QgYm9yZGVy
Qm94ID0gYm9yZGVyQm94UmVjdCgpOwotICAgIGlmIChib3JkZXJCb3guY29udGFpbnMocmVjdCkp
CisgICAgaWYgKGJvcmRlckJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICBpZiAoIW1fb3ZlcmZsb3cpCi0gICAgICAgIG1f
b3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVyZmxvdyhib3JkZXJCb3gpKTsKKyAgICAgICAgbV9v
dmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGNsaWVudEJveFJlY3QoKSwgYm9yZGVyQm94
KSk7CiAgICAgCiAgICAgbV9vdmVyZmxvdy0+YWRkVmlzdWFsT3ZlcmZsb3cocmVjdCk7CiB9CkBA
IC0zMjA2LDIwICszMTQ0LDc2IEBAIGludCBSZW5kZXJCb3g6OmJhc2VsaW5lUG9zaXRpb24oRm9u
dEJhc2UKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OmJsb2NrRGlyZWN0aW9u
T3ZlcmZsb3coYm9vbCBpc0xpbmVIb3Jpem9udGFsLCBpbnQmIGxvZ2ljYWxUb3BMYXlvdXRPdmVy
ZmxvdywgaW50JiBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50
JiBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCitJbnRSZWN0IFJlbmRlckJveDo6bG9naWNh
bFZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKIHsKLSAgICBpZiAoaXNMaW5lSG9yaXpvbnRhbCkgewotICAgICAgICBsb2dpY2Fs
VG9wTGF5b3V0T3ZlcmZsb3cgPSB0b3BMYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2Fs
Qm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBib3R0b21MYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBs
b2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSB0b3BWaXN1YWxPdmVyZmxvdygpOwotICAgICAgICBs
b2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBib3R0b21WaXN1YWxPdmVyZmxvdygpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyA9IGxlZnRMYXlvdXRP
dmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cgPSByaWdodExh
eW91dE92ZXJmbG93KCk7Ci0gICAgICAgIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IGxlZnRW
aXN1YWxPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBy
aWdodFZpc3VhbE92ZXJmbG93KCk7Ci0gICAgfSAKKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFwYXJlbnRT
dHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3QudHJh
bnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5kZXJCb3g6
OnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGUgd3JpdGluZyBtb2RlcyBvZiB0aGUgY2hpbGQgYW5k
IHBhcmVudCBtYXRjaCwgdGhlbiB3ZSBkb24ndCBoYXZlIHRvIAorICAgIC8vIGRvIGFueXRoaW5n
IGZhbmN5LiBKdXN0IHJldHVybiB0aGUgcmVzdWx0LgorICAgIEludFJlY3QgcmVjdCA9IHZpc3Vh
bE92ZXJmbG93UmVjdCgpOworICAgIGlmIChwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBz
dHlsZSgpLT53cml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAKKyAgICAv
LyBXZSBhcmUgcHV0dGluZyBvdXJzZWx2ZXMgaW50byBvdXIgcGFyZW50J3MgY29vcmRpbmF0ZSBz
cGFjZS4gIElmIHRoZXJlIGlzIGEgZmxpcHBlZCBibG9jayBtaXNtYXRjaAorICAgIC8vIGluIGEg
cGFydGljdWxhciBheGlzLCB0aGVuIHdlIGhhdmUgdG8gZmxpcCB0aGUgcmVjdCBhbG9uZyB0aGF0
IGF4aXMuCisgICAgaWYgKHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0
aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRp
bmdNb2RlKQorICAgICAgICByZWN0LnNldFgod2lkdGgoKSAtIHJlY3QucmlnaHQoKSk7CisgICAg
ZWxzZSBpZiAoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2Rl
IHx8IHBhcmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUp
CisgICAgICAgIHJlY3Quc2V0WShoZWlnaHQoKSAtIHJlY3QuYm90dG9tKCkpOworCisgICAgcmV0
dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojpsb2dpY2FsTGF5b3V0T3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAoreworICAg
IEludFJlY3QgcmVjdCA9IGxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHBhcmVudFN0
eWxlKTsKKyAgICBpZiAoIXBhcmVudFN0eWxlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQor
ICAgICAgICByZXR1cm4gcmVjdC50cmFuc3Bvc2VkUmVjdCgpOworICAgIHJldHVybiByZWN0Owor
fQorCitJbnRSZWN0IFJlbmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24o
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAoreworICAgIC8vIE9ubHkgcHJvcGFnYXRl
IGludGVyaW9yIGxheW91dCBvdmVyZmxvdyBpZiB3ZSBkb24ndCBjbGlwIGl0LgorICAgIEludFJl
Y3QgcmVjdCA9IGJvcmRlckJveFJlY3QoKTsKKyAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpKQor
ICAgICAgICByZWN0LnVuaXRlKGxheW91dE92ZXJmbG93UmVjdCgpKTsKKworICAgIGlmIChpc1Jl
bFBvc2l0aW9uZWQoKSB8fCBoYXNUcmFuc2Zvcm0oKSkgeworICAgICAgICAvLyBJZiB3ZSBhcmUg
cmVsYXRpdmVseSBwb3NpdGlvbmVkIG9yIGlmIHdlIGhhdmUgYSB0cmFuc2Zvcm0sIHRoZW4gd2Ug
aGF2ZSB0byBjb252ZXJ0CisgICAgICAgIC8vIHRoaXMgcmVjdGFuZ2xlIGludG8gcGh5c2ljYWwg
Y29vcmRpbmF0ZXMsIGFwcGx5IHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCB0cmFuc2Zvcm1zCisg
ICAgICAgIC8vIHRvIGl0LCBhbmQgdGhlbiBjb252ZXJ0IGl0IGJhY2suCisgICAgICAgIGZsaXBG
b3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICAgICAgCisgICAgICAgIGlmIChoYXNUcmFuc2Zvcm0o
KSkKKyAgICAgICAgICAgIHJlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFwUmVj
dChyZWN0KTsKKworICAgICAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBy
ZWN0Lm1vdmUocmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSwgcmVsYXRpdmVQb3NpdGlvbk9mZnNl
dFkoKSk7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBmbGlwIGJhY2suCisg
ICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICB9CisgICAgCisgICAgLy8gSWYg
dGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRoZW4gd2Ug
ZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1cm4gdGhl
IHJlc3VsdC4KKyAgICBpZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUoKS0+
d3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2UgYXJl
IHB1dHRpbmcgb3Vyc2VsdmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2UuICBJ
ZiB0aGVyZSBpcyBhIGZsaXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRpY3Vs
YXIgYXhpcywgdGhlbiB3ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlzLgor
ICAgIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUg
fHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkK
KyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2UgaWYg
KHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBwYXJl
bnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAgICAg
ICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiByZWN0
OwogfQogCiBJbnRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBSZW5k
ZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIEZsaXBwaW5nQWRqdXN0bWVudCBh
ZGp1c3RtZW50KSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NiwxMiArMTA2LDExIEBAIHB1YmxpYzoKICAgICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fZnJhbWVSZWN0OyB9CiAgICAgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVj
dCYgcmVjdCkgeyBtX2ZyYW1lUmVjdCA9IHJlY3Q7IH0KIAotICAgIEludFJlY3QgdHJhbnNmb3Jt
ZWRGcmFtZVJlY3QoKSBjb25zdDsKLSAgICBJbnRSZWN0IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1Jl
Y3QoY29uc3QgSW50UmVjdCYpIGNvbnN0OwotCiAgICAgSW50UmVjdCBib3JkZXJCb3hSZWN0KCkg
Y29uc3QgeyByZXR1cm4gSW50UmVjdCgwLCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KICAgICB2
aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBib3JkZXJC
b3hSZWN0KCk7IH0gCiAgICAgCisgICAgSW50UmVjdCBjbGllbnRCb3hSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gSW50UmVjdChib3JkZXJMZWZ0KCksIGJvcmRlclRvcCgpLCBjbGllbnRXaWR0aCgpLCBj
bGllbnRIZWlnaHQoKSk7IH0KKwogICAgIC8vIFRoZSBjb250ZW50IGFyZWEgb2YgdGhlIGJveCAo
ZXhjbHVkZXMgcGFkZGluZyBhbmQgYm9yZGVyKS4KICAgICBJbnRSZWN0IGNvbnRlbnRCb3hSZWN0
KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdChib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLCBi
b3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSwgY29udGVudFdpZHRoKCksIGNvbnRlbnRIZWlnaHQo
KSk7IH0KICAgICAvLyBUaGUgY29udGVudCBib3ggaW4gYWJzb2x1dGUgY29vcmRzLiBJZ25vcmVz
IHRyYW5zZm9ybXMuCkBAIC0xMjgsMTcgKzEyNywxNiBAQCBwdWJsaWM6CiAgICAgUmVuZGVyQm94
KiBuZXh0U2libGluZ0JveCgpIGNvbnN0OwogICAgIFJlbmRlckJveCogcGFyZW50Qm94KCkgY29u
c3Q7CiAKLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBo
YXNPdmVyZmxvd0NsaXAoKSA/IHZpc3VhbE92ZXJmbG93UmVjdCgpIDogKG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkgOiBib3JkZXJCb3hSZWN0KCkpOyB9CiAg
ICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xp
cCgpID8gdG9wVmlzdWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93KCks
IHRvcFZpc3VhbE92ZXJmbG93KCkpOyB9CiAgICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gYm90dG9tVmlzdWFsT3ZlcmZsb3co
KSA6IHN0ZDo6bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93
KCkpOyB9CiAgICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNP
dmVyZmxvd0NsaXAoKSA/IGxlZnRWaXN1YWxPdmVyZmxvdygpIDogc3RkOjptaW4obGVmdExheW91
dE92ZXJmbG93KCksIGxlZnRWaXN1YWxPdmVyZmxvdygpKTsgfQogICAgIGludCByaWdodFZpc2li
bGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gcmlnaHRWaXN1
YWxPdmVyZmxvdygpIDogIHN0ZDo6bWF4KHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRWaXN1
YWxPdmVyZmxvdygpKTsgfQogCi0gICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25z
dCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkg
OiBib3JkZXJCb3hSZWN0KCk7IH0KLSAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7
IHJldHVybiBtX292ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogMDsg
fQotICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZs
b3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIDogaGVpZ2h0KCk7IH0KLSAg
ICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1f
b3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogMDsgfQotICAgIGludCByaWdodExheW91
dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnJpZ2h0
TGF5b3V0T3ZlcmZsb3coKSA6IHdpZHRoKCk7IH0KKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93
UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sYXlvdXRPdmVy
Zmxvd1JlY3QoKSA6IGNsaWVudEJveFJlY3QoKTsgfQorICAgIGludCB0b3BMYXlvdXRPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c/IG1fb3ZlcmZsb3ctPnRvcExheW91dE92ZXJm
bG93KCkgOiBib3JkZXJUb3AoKTsgfQorICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxv
dygpIDogYm9yZGVyVG9wKCkgKyBjbGllbnRIZWlnaHQoKTsgfQorICAgIGludCBsZWZ0TGF5b3V0
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGVmdExh
eW91dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCk7IH0KKyAgICBpbnQgcmlnaHRMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91
dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCkgKyBjbGllbnRXaWR0aCgpOyB9CiAgICAgaW50IGxv
Z2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gbGVmdExheW91dE92ZXJmbG93KCkgOiB0b3BMYXlvdXRPdmVy
ZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0T3Zl
cmZsb3coKSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICAKQEAgLTI3MCwxMiArMjY4
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5saW5lQm94V3JhcHBlcihJbmxpbmVCb3gqIGJv
eFdyYXBwZXIpIHsgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94V3JhcHBlcjsgfQogICAgIHZvaWQg
ZGVsZXRlTGluZUJveFdyYXBwZXIoKTsKIAotICAgIGVudW0gQXBwbHlUcmFuc2Zvcm0geyBJbmNs
dWRlVHJhbnNmb3JtLCBFeGNsdWRlVHJhbnNmb3JtIH07Ci0gICAgdmlydHVhbCBpbnQgdG9wbW9z
dFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1
ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsK
LSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsICBBcHBseVRyYW5zZm9ybSA9IElu
Y2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9u
KGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0g
dHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0
cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJh
bnNmb3JtKSBjb25zdDsKLQogICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0
Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcik7CiAgICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSk7CiAKQEAgLTM5
MCw2ICszODIsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJl
Y3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmco
KSBjb25zdDsKIAorICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdEZvclByb3Bh
Z2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1Jl
Y3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgbG9naWNh
bExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7Cisg
ICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSop
IGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
aAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICBpbnQg
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSBjb25zdDsKICAgICBpbnQgcmVsYXRpdmVQb3NpdGlv
bk9mZnNldFkoKSBjb25zdDsKICAgICBJbnRTaXplIHJlbGF0aXZlUG9zaXRpb25PZmZzZXQoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCksIHJlbGF0aXZl
UG9zaXRpb25PZmZzZXRZKCkpOyB9CisgICAgSW50U2l6ZSByZWxhdGl2ZVBvc2l0aW9uTG9naWNh
bE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgOiByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCku
dHJhbnNwb3NlZFNpemUoKTsgfQogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucy4gVXNlZCB0byBjYWxj
dWxhdGUgb2Zmc2V0V2lkdGgvSGVpZ2h0LiAgT3ZlcnJpZGRlbiBieSBpbmxpbmVzIChSZW5kZXJG
bG93KQogICAgIC8vIHRvIHJldHVybiB0aGUgcmVtYWluaW5nIHdpZHRoIG9uIGEgZ2l2ZW4gbGlu
ZSAoYW5kIHRoZSBoZWlnaHQgb2YgYSBzaW5nbGUgbGluZSkuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDEzICsy
NzEsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9jayhib29sCiAgICAgICAg
IHNldE1heE1hcmdpbkFmdGVyVmFsdWVzKDAsIDApOwogICAgIH0KICAgICAKLSAgICAvLyBBZGQg
aW4gdGhlIG92ZXJmbG93IGZyb20gY2hpbGRyZW4uCi0gICAgRmxleEJveEl0ZXJhdG9yIGl0ZXJh
dG9yKHRoaXMpOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0ZXJhdG9yLmZpcnN0KCk7
IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkKLSAgICAgICAgYWRkT3ZlcmZsb3dGcm9t
Q2hpbGQoY2hpbGQpOwotCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFk
b3cgYW5kIHJlZmxlY3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93KCk7CisgICAgY29tcHV0
ZU92ZXJmbG93KGNsaWVudEJveFJlY3QoKSk7CiAKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKIApJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3OSw3
ICs1NzksNyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0JveCgpCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzaWJsZU92
ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAorSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlz
dWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgaWYgKCFmaXJzdExpbmVCb3go
KSB8fCAhbGFzdExpbmVCb3goKSkKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKQEAgLTU4OCwx
NiArNTg4LDE2IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc2libGVPdmVyZmwKICAg
ICBpbnQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CiAgICAg
aW50IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXNpYmxlT3ZlcmZsb3coKSk7Ci0gICAgICAg
IGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lkZSwgY3Vyci0+bG9naWNhbFJp
Z2h0VmlzaWJsZU92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9n
aWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOworICAgICAg
ICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KCkpOwogICAgIH0KIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0g
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgaW50IHgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bGVmdFZp
c2libGVPdmVyZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94
KCktPnRvcFZpc2libGVPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0TGluZUJveCgpLT5yaWdodFZpc2libGVPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPmxl
ZnRWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFz
dExpbmVCb3goKS0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+dG9w
VmlzaWJsZU92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwor
ICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94
KCktPmxlZnRWaXN1YWxPdmVyZmxvdygpOworICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmly
c3RMaW5lQm94KCktPnRvcFZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAg
aW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0
U2lkZSA6IGxhc3RMaW5lQm94KCktPnJpZ2h0VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJv
eCgpLT5sZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFs
ID8gbGFzdExpbmVCb3goKS0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgp
LT50b3BWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lk
ZTsKICAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIH0KIApAQCAtNjEw
LDcgKzYxMCw3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWMKICAg
ICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIEZpbmQgb3VyIGxlZnRtb3N0IHBvc2l0
aW9uLgotICAgIEludFJlY3QgYm91bmRpbmdCb3gobGluZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGlu
Z0JveCgpKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94KGxpbmVzVmlzdWFsT3ZlcmZsb3dCb3Vu
ZGluZ0JveCgpKTsKICAgICBpbnQgbGVmdCA9IGJvdW5kaW5nQm94LngoKTsKICAgICBpbnQgdG9w
ID0gYm91bmRpbmdCb3gueSgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkocmV2
aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJbnRTaXplIG9m
ZnNldEZyb21Db250YWluZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgSW50UG9pbnQmKSBjb25zdDsK
IAogICAgIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0OwotICAgIEludFJlY3QgbGlu
ZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0OworICAgIEludFJlY3QgbGluZXNW
aXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3Q7CiAKICAgICBJbmxpbmVGbG93Qm94KiBj
cmVhdGVBbmRBcHBlbmRJbmxpbmVGbG93Qm94KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NzYsMTQgKzY3Niw2IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24oKQogICAgIH0gZWxzZSBpZiAoUmVuZGVyQm94KiBib3gg
PSByZW5kZXJCb3goKSkgewogICAgICAgICBzZXRXaWR0aChib3gtPndpZHRoKCkpOwogICAgICAg
ICBzZXRIZWlnaHQoYm94LT5oZWlnaHQoKSk7Ci0KLSAgICAgICAgaWYgKCFib3gtPmhhc092ZXJm
bG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICBpZiAoYm94LT5yaWdodExheW91dE92ZXJmbG93KCkg
PiBib3gtPndpZHRoKCkpCi0gICAgICAgICAgICAgICAgc2V0V2lkdGgoYm94LT5yaWdodExheW91
dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgaWYgKGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3co
KSA+IGJveC0+aGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgc2V0SGVpZ2h0KGJveC0+Ym90dG9t
TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAgICAgIGxvY2FsUG9p
bnQgKz0gYm94LT5sb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgfQogCkBA
IC0xOTY2LDYgKzE5NTgsMzkgQEAgaW50IFJlbmRlckxheWVyOjpzY3JvbGxIZWlnaHQoKQogICAg
IHJldHVybiBtX3Njcm9sbEhlaWdodDsKIH0KIAoraW50IFJlbmRlckxheWVyOjpvdmVyZmxvd1Rv
cCgpIGNvbnN0Cit7CisgICAgLy8gQ2xpcCBvdXQgdG9wIG92ZXJmbG93IGluIHZlcnRpY2FsIExU
UiBwYWdlcyBvciBob3Jpem9udGFsLXRiIHBhZ2VzLgorICAgIFJlbmRlckJveCogYm94ID0gcmVu
ZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoMCwgYm94LT50b3BMYXlvdXRPdmVy
ZmxvdygpLCAwLCBib3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkgLSBib3gtPnRvcExheW91dE92
ZXJmbG93KCkpOworICAgIGJveC0+ZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7Cisg
ICAgcmV0dXJuIG92ZXJmbG93UmVjdC55KCk7Cit9CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZs
b3dCb3R0b20oKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7Cisg
ICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAg
Ym94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZs
b3dSZWN0LmJvdHRvbSgpOworfQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93TGVmdCgpIGNv
bnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92
ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JX
cml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwor
fQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93UmlnaHQoKSBjb25zdAoreworICAgIFJlbmRl
ckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5s
YXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnJpZ2h0KCk7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKGJvb2wqIG5lZWRIQmFyLCBib29sKiBu
ZWVkVkJhcikKIHsKICAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwpAQCAtMTk3OSwx
NCArMjAwNCwxNCBAQCB2b2lkIFJlbmRlckxheWVyOjpjb21wdXRlU2Nyb2xsRGltZW5zaW9uCiAg
ICAgYm9vbCBoYXNMZWZ0T3ZlcmZsb3cgPSAoIWJveC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSB8fCAhYm94LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpICYm
IGJveC0+c3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBMZWZ0VG9SaWdodFdyaXRpbmdNb2RlOwog
ICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAoYm94LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgJiYg
Ym94LT5zdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IFRvcFRvQm90dG9tV3JpdGluZ01vZGU7CiAK
LSAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDogbWluKDAs
IGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxlZnQoKSk7
Ci0gICAgbV9zY3JvbGxUb3BPdmVyZmxvdyA9ICFoYXNUb3BPdmVyZmxvdyA/IDAgOiBtaW4oMCwg
Ym94LT50b3Btb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJUb3AoKSk7Cisg
ICAgbV9zY3JvbGxMZWZ0T3ZlcmZsb3cgPSAhaGFzTGVmdE92ZXJmbG93ID8gMCA6IG1pbigwLCBv
dmVyZmxvd0xlZnQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKKyAgICBtX3Njcm9sbFRvcE92ZXJm
bG93ID0gIWhhc1RvcE92ZXJmbG93ID8gMCA6IG1pbigwLCBvdmVyZmxvd1RvcCgpIC0gYm94LT5i
b3JkZXJUb3AoKSk7CiAKICAgICBpbnQgcmlnaHRQb3MgPSAhaGFzTGVmdE92ZXJmbG93ID8KLSAg
ICAgICAgICAgICAgICAgICAgYm94LT5yaWdodG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBi
b3gtPmJvcmRlckxlZnQoKSA6CisgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93UmlnaHQoKSAt
IGJveC0+Ym9yZGVyTGVmdCgpIDoKICAgICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBt
X3Njcm9sbExlZnRPdmVyZmxvdzsKICAgICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93
ID8KLSAgICAgICAgICAgICAgICAgICAgYm94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkg
LSBib3gtPmJvcmRlclRvcCgpIDoKKyAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dCb3R0b20o
KSAtIGJveC0+Ym9yZGVyVG9wKCkgOgogICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQg
LSBtX3Njcm9sbFRvcE92ZXJmbG93OwogCiAgICAgbV9zY3JvbGxXaWR0aCA9IG1heChyaWdodFBv
cywgY2xpZW50V2lkdGgpOwpAQCAtMjMyNCwxMiArMjM0OSwxMyBAQCBzdGF0aWMgdm9pZCByZXN0
b3JlQ2xpcChHcmFwaGljc0NvbnRleHQqCiAgICAgcC0+cmVzdG9yZSgpOwogfQogCi1zdGF0aWMg
dm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRl
c3RSZXF1ZXN0cywgY29uc3QgSW50UmVjdCYgbGF5ZXJCb3VuZHMpCitzdGF0aWMgdm9pZCBwZXJm
b3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRlc3RSZXF1ZXN0
cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVy
KQogewogICAgIFZlY3RvcjxPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQqPiBvdmVybGFwcGVkUmVx
dWVzdENsaWVudHM7CiAgICAgT3ZlcmxhcFRlc3RSZXF1ZXN0TWFwOjppdGVyYXRvciBlbmQgPSBv
dmVybGFwVGVzdFJlcXVlc3RzLmVuZCgpOworICAgIEludFJlY3QgYm91bmRpbmdCb3ggPSBsYXll
ci0+Ym91bmRpbmdCb3gocm9vdExheWVyKTsKICAgICBmb3IgKE92ZXJsYXBUZXN0UmVxdWVzdE1h
cDo6aXRlcmF0b3IgaXQgPSBvdmVybGFwVGVzdFJlcXVlc3RzLmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkgewotICAgICAgICBpZiAoIWxheWVyQm91bmRzLmludGVyc2VjdHMoaXQtPnNlY29uZCkp
CisgICAgICAgIGlmICghYm91bmRpbmdCb3guaW50ZXJzZWN0cyhpdC0+c2Vjb25kKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGl0LT5maXJzdC0+c2V0T3ZlcmxhcFRlc3RSZXN1
bHQodHJ1ZSk7CkBAIC0yNDU2LDcgKzI0ODIsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExh
eWVyKFJlbmRlckxheWVyCiAgICAgICAgIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyID0gcGFpbnRp
bmdSb290OwogCiAgICAgaWYgKG92ZXJsYXBUZXN0UmVxdWVzdHMgJiYgaXNTZWxmUGFpbnRpbmdM
YXllcigpKQotICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3Rz
LCBsYXllckJvdW5kcyk7CisgICAgICAgIHBlcmZvcm1PdmVybGFwVGVzdHMoKm92ZXJsYXBUZXN0
UmVxdWVzdHMsIHJvb3RMYXllciwgdGhpcyk7CiAKICAgICAvLyBXZSB3YW50IHRvIHBhaW50IG91
ciBsYXllciwgYnV0IG9ubHkgaWYgd2UgaW50ZXJzZWN0IHRoZSBkYW1hZ2UgcmVjdC4KICAgICBi
b29sIHNob3VsZFBhaW50ID0gaW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJCb3VuZHMsIGRhbWFn
ZVJlY3QsIHJvb3RMYXllcikgJiYgbV9oYXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGlu
Z0xheWVyKCk7CkBAIC0yNjY1LDExICsyNjkxLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRl
c3QoY29uc3QgSGl0VGVzdFIKIHsKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT51cGRhdGVM
YXlvdXQoKTsKICAgICAKLSAgICBJbnRSZWN0IGJvdW5kc1JlY3QobV94LCBtX3ksIHdpZHRoKCks
IGhlaWdodCgpKTsKKyAgICBJbnRSZWN0IGhpdFRlc3RBcmVhID0gcmVzdWx0LnJlY3RGb3JQb2lu
dChyZXN1bHQucG9pbnQoKSk7CiAgICAgaWYgKCFyZXF1ZXN0Lmlnbm9yZUNsaXBwaW5nKCkpCi0g
ICAgICAgIGJvdW5kc1JlY3QuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkp
OworICAgICAgICBoaXRUZXN0QXJlYS5pbnRlcnNlY3QoZnJhbWVWaXNpYmxlUmVjdChyZW5kZXJl
cigpKSk7CiAKLSAgICBSZW5kZXJMYXllciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhp
cywgMCwgcmVxdWVzdCwgcmVzdWx0LCBib3VuZHNSZWN0LCByZXN1bHQucG9pbnQoKSwgZmFsc2Up
OworICAgIFJlbmRlckxheWVyKiBpbnNpZGVMYXllciA9IGhpdFRlc3RMYXllcih0aGlzLCAwLCBy
ZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RBcmVhLCByZXN1bHQucG9pbnQoKSwgZmFsc2UpOwogICAg
IGlmICghaW5zaWRlTGF5ZXIpIHsKICAgICAgICAgLy8gV2UgZGlkbid0IGhpdCBhbnkgbGF5ZXIu
IElmIHdlIGFyZSB0aGUgcm9vdCBsYXllciBhbmQgdGhlIG1vdXNlIGlzIC0tIG9yIGp1c3Qgd2Fz
IC0tIGRvd24sIAogICAgICAgICAvLyByZXR1cm4gb3Vyc2VsdmVzLiBXZSBkbyB0aGlzIHNvIG1v
dXNlIGV2ZW50cyBjb250aW51ZSBnZXR0aW5nIGRlbGl2ZXJlZCBhZnRlciBhIGRyYWcgaGFzIApA
QCAtMzM3NSw4ICszNDAxLDggQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6bG9jYWxCb3VuZGluZ0Jv
eCgpIAogICAgICAgICBJbmxpbmVGbG93Qm94KiBmaXJzdEJveCA9IGlubGluZUZsb3ctPmZpcnN0
TGluZUJveCgpOwogICAgICAgICBpZiAoIWZpcnN0Qm94KQogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKLSAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXNpYmxlT3ZlcmZsb3coKTsK
LSAgICAgICAgaW50IGJvdHRvbSA9IGlubGluZUZsb3ctPmxhc3RMaW5lQm94KCktPmJvdHRvbVZp
c2libGVPdmVyZmxvdygpOworICAgICAgICBpbnQgdG9wID0gZmlyc3RCb3gtPnRvcFZpc3VhbE92
ZXJmbG93KCk7CisgICAgICAgIGludCBib3R0b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgp
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOwogICAgICAgICBpbnQgbGVmdCA9IGZpcnN0Qm94LT54
KCk7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0Qm94LT5uZXh0TGlu
ZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkKICAgICAgICAgICAgIGxl
ZnQgPSBtaW4obGVmdCwgY3Vyci0+eCgpKTsKQEAgLTMzODcsNyArMzQxMyw3IEBAIEludFJlY3Qg
UmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgICAgIGlmIChjaGlsZC0+
aXNUYWJsZUNlbGwoKSkgewogICAgICAgICAgICAgICAgIEludFJlY3QgYmJveCA9IHRvUmVuZGVy
Qm94KGNoaWxkKS0+Ym9yZGVyQm94UmVjdCgpOwogICAgICAgICAgICAgICAgIHJlc3VsdC51bml0
ZShiYm94KTsKLSAgICAgICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCA9IHJlbmRlckJv
eCgpLT52aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBvdmVy
Zmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgICAg
ICAgICAgaWYgKGJib3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAgICAgICAgICByZXN1
bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsKICAgICAgICAgICAgIH0KQEAgLTM0MDAsNyArMzQyNiw3
IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSBib3gtPmJvcmRlckJveFJlY3QoKTsKICAg
ICAgICAgICAgIHJlc3VsdCA9IGJib3g7Ci0gICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVj
dCA9IGJveC0+dmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgSW50UmVjdCBvdmVy
Zmxvd1JlY3QgPSBib3gtPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgaWYgKGJi
b3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAgICAgIHJlc3VsdC51bml0ZShvdmVyZmxv
d1JlY3QpOwogICAgICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHJldmlzaW9u
IDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNTgxLDYgKzU4MSwxMSBAQCBwcml2YXRlOgogICAgIC8vIE9ubHkgc2FmZSB0byBjYWxs
IGZyb20gUmVuZGVyQm94TW9kZWxPYmplY3Q6OmRlc3Ryb3lMYXllcihSZW5kZXJBcmVuYSopCiAg
ICAgdm9pZCBkZXN0cm95KFJlbmRlckFyZW5hKik7CiAKKyAgICBpbnQgb3ZlcmZsb3dUb3AoKSBj
b25zdDsKKyAgICBpbnQgb3ZlcmZsb3dCb3R0b20oKSBjb25zdDsKKyAgICBpbnQgb3ZlcmZsb3dM
ZWZ0KCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93UmlnaHQoKSBjb25zdDsKKwogcHJvdGVjdGVk
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX3JlbmRlcmVyOwogCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2
LDEwICsxNzYsMTAgQEAgYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6YW55TGluZUludGVyc2VjdAog
ICAgIC8vIGludGVyc2VjdC4gIFRoaXMgaXMgYSBxdWljayBzaG9ydC1jaXJjdWl0IHRoYXQgd2Ug
Y2FuIHRha2UgdG8gYXZvaWQgd2Fsa2luZyBhbnkgbGluZXMuCiAgICAgLy8gRklYTUU6IFRoaXMg
Y2hlY2sgaXMgZmxhd2VkIGluIHRoZSBmb2xsb3dpbmcgZXh0cmVtZWx5IG9ic2N1cmUgd2F5Ogog
ICAgIC8vIGlmIHNvbWUgbGluZSBpbiB0aGUgbWlkZGxlIGhhcyBhIGh1Z2Ugb3ZlcmZsb3csIGl0
IG1pZ2h0IGFjdHVhbGx5IGV4dGVuZCBiZWxvdyB0aGUgbGFzdCBsaW5lLgotICAgIGludCBmaXJz
dExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpOwor
ICAgIGludCBmaXJzdExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93KCk7CiAgICAgaWYgKHVzZVByaW50UmVjdCAmJiAhZmlyc3RMaW5lQm94KCktPnBhcmVu
dCgpKQogICAgICAgICBmaXJzdExpbmVUb3AgPSBtaW4oZmlyc3RMaW5lVG9wLCBmaXJzdExpbmVC
b3goKS0+cm9vdCgpLT5saW5lVG9wKCkpOwotICAgIGludCBsYXN0TGluZUJvdHRvbSA9IGxhc3RM
aW5lQm94KCktPmxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQgbGFzdExp
bmVCb3R0b20gPSBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKTsK
ICAgICBpZiAodXNlUHJpbnRSZWN0ICYmICFsYXN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAgICAg
ICAgbGFzdExpbmVCb3R0b20gPSBtYXgobGFzdExpbmVCb3R0b20sIGxhc3RMaW5lQm94KCktPnJv
b3QoKS0+bGluZUJvdHRvbSgpKTsKICAgICBpbnQgbG9naWNhbFRvcCA9IGZpcnN0TGluZVRvcCAt
IG91dGxpbmVTaXplOwpAQCAtMTkwLDggKzE5MCw4IEBAIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6
OmFueUxpbmVJbnRlcnNlY3QKIAogYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6bGluZUludGVyc2Vj
dHNEaXJ0eVJlY3QoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyLCBJbmxpbmVGbG93Qm94
KiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkgY29uc3QK
IHsKLSAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZs
b3coKSwgYm94LT5yb290KCktPnNlbGVjdGlvblRvcCgpKSAtIHJlbmRlcmVyLT5tYXhpbWFsT3V0
bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKLSAgICBpbnQgbG9naWNhbEJvdHRvbSA9IGJveC0+
bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpICsgcmVuZGVyZXItPm1heGltYWxPdXRsaW5l
U2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsVG9wID0gbWluKGJveC0+bG9n
aWNhbFRvcFZpc3VhbE92ZXJmbG93KCksIGJveC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKSkgLSBy
ZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSk7CisgICAgaW50IGxv
Z2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdygpICsgcmVuZGVy
ZXItPm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOwogICAgIAogICAgIHJldHVy
biByYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVyLCBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9t
LCBwYWludEluZm8ucmVjdCwgdHgsIHR5KTsKIH0KQEAgLTIzMCw4ICsyMzAsOCBAQCB2b2lkIFJl
bmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyB0aGUgZGVwcmVjYXRlZCBwYWdpbmF0aW9uIG1vZGVsIHRoYXQgaXMgc3RpbGwgbmVl
ZGVkCiAgICAgICAgICAgICAvLyBmb3IgZW1iZWRkZWQgdmlld3MgaW5zaWRlIEFwcEtpdC4gIEFw
cEtpdCBpcyBpbmNhcGFibGUgb2YgcGFnaW5hdGluZyB2ZXJ0aWNhbAogICAgICAgICAgICAgLy8g
dGV4dCBwYWdlcywgc28gd2UgZG9uJ3QgaGF2ZSB0byBkZWFsIHdpdGggdmVydGljYWwgbGluZXMg
YXQgYWxsIGhlcmUuCi0gICAgICAgICAgICBpbnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vy
ci0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tRm9yUGFnaW5h
dGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgICAgICBp
bnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+dG9wVmlzdWFsT3ZlcmZsb3coKTsKKyAg
ICAgICAgICAgIGludCBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBjdXJyLT5ib3R0b21WaXN1
YWxPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKCFjdXJyLT5wYXJlbnQoKSkgewogICAgICAg
ICAgICAgICAgIC8vIFdlJ3JlIGEgcm9vdCBib3guICBVc2UgbGluZVRvcCBhbmQgbGluZUJvdHRv
bSBhcyB3ZWxsIGhlcmUuCiAgICAgICAgICAgICAgICAgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0g
bWluKHRvcEZvclBhZ2luYXRpb25DaGVjaywgY3Vyci0+cm9vdCgpLT5saW5lVG9wKCkpOwpAQCAt
MjQwLDcgKzI0MCw3IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50KFJlbmRlckJveE0K
ICAgICAgICAgICAgIGlmIChib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgLSB0b3BGb3JQYWdpbmF0
aW9uQ2hlY2sgPD0gdi0+cHJpbnRSZWN0KCkuaGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAodHkgKyBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPiB2LT5wcmludFJlY3QoKS5ib3R0b20o
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoUm9vdElubGluZUJveCogbmV4dFJvb3RCb3gg
PSBjdXJyLT5yb290KCktPm5leHRSb290Qm94KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBi
b3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBt
aW4obmV4dFJvb3RCb3gtPnRvcFZpc2libGVPdmVyZmxvdygpLCBuZXh0Um9vdEJveC0+bGluZVRv
cCgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sg
PSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBtaW4obmV4dFJvb3RCb3gtPnRvcFZpc3Vh
bE92ZXJmbG93KCksIG5leHRSb290Qm94LT5saW5lVG9wKCkpKTsKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID4gdi0+
cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHR5ICsgdG9w
Rm9yUGFnaW5hdGlvbkNoZWNrIDwgdi0+dHJ1bmNhdGVkQXQoKSkKQEAgLTI5Miw3ICsyOTIsNyBA
QCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KFJlbmRlckJvCiAgICAgLy8gdGhlbSBm
dXJ0aGVyLiAgTm90ZSB0aGF0IGJveGVzIGNhbiBlYXNpbHkgb3ZlcmxhcCwgc28gd2UgY2FuJ3Qg
bWFrZSBhbnkgYXNzdW1wdGlvbnMKICAgICAvLyBiYXNlZCBvZmYgcG9zaXRpb25zIG9mIG91ciBm
aXJzdCBsaW5lIGJveCBvciBvdXIgbGFzdCBsaW5lIGJveC4KICAgICBmb3IgKElubGluZUZsb3dC
b3gqIGN1cnIgPSBsYXN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+cHJldkxpbmVCb3go
KSkgewotICAgICAgICBpZiAocmFuZ2VJbnRlcnNlY3RzUmVjdChyZW5kZXJlciwgY3Vyci0+bG9n
aWNhbFRvcFZpc2libGVPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2FsQm90dG9tVmlzaWJsZU92ZXJm
bG93KCksIHJlY3QsIHR4LCB0eSkpIHsKKyAgICAgICAgaWYgKHJhbmdlSW50ZXJzZWN0c1JlY3Qo
cmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2Fs
Qm90dG9tVmlzdWFsT3ZlcmZsb3coKSwgcmVjdCwgdHgsIHR5KSkgewogICAgICAgICAgICAgYm9v
bCBpbnNpZGUgPSBjdXJyLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHksIHR4LCB0
eSk7CiAgICAgICAgICAgICBpZiAoaW5zaWRlKSB7CiAgICAgICAgICAgICAgICAgcmVuZGVyZXIt
PnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAkocmV2aXNpb24gNzMzMzQpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1NywyMCArMjU3LDMxIEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1hcmtl
cigKICAgICAgICAgYm9vbCBhZGp1c3RPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICBpbnQgbWFy
a2VyTG9naWNhbExlZnQ7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBtX21hcmtlci0+
aW5saW5lQm94V3JhcHBlcigpLT5yb290KCk7CisgICAgICAgIGJvb2wgaGl0U2VsZlBhaW50aW5n
TGF5ZXIgPSBmYWxzZTsKIAotICAgICAgICAvLyBGSVhNRTogSW5saW5lIGZsb3dzIGluIHRoZSBs
aW5lIGJveCBoaWVyYXJjaHkgdGhhdCBoYXZlIHNlbGYtcGFpbnRpbmcgbGF5ZXJzIHNob3VsZCBh
Y3QgYXMgY3V0b2ZmIHBvaW50cwotICAgICAgICAvLyBhbmQgcmVhbGx5IHNob3VsZG4ndCBrZWVw
IHByb3BhZ2F0aW5nIG92ZXJmbG93IHVwLiAgVGhpcyB3b24ndCByZWFsbHkgYnJlYWsgYW55dGhp
bmcgb3RoZXIgdGhhbiByZXBhaW50aW5nCi0gICAgICAgIC8vIG5vdCBiZWluZyBhcyB0aWdodCBh
cyBpdCBjb3VsZCBiZSB0aG91Z2guCisgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGFjY291bnQg
Zm9yIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGluIHRoZSBsYXlvdXQgb3ZlcmZsb3cuCiAgICAgICAg
IGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgIGlu
dCBsZWZ0TGluZU9mZnNldCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShibG9ja09mZnNldCwg
bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGJsb2NrT2Zmc2V0LCBmYWxzZSksIGZhbHNlKTsKICAg
ICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gbGVmdExpbmVPZmZzZXQgLSBsaW5lT2Zmc2V0
IC0gcGFkZGluZ1N0YXJ0KCkgLSBib3JkZXJTdGFydCgpICsgbV9tYXJrZXItPm1hcmdpblN0YXJ0
KCk7CiAgICAgICAgICAgICBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5l
RGlyZWN0aW9uUG9zaXRpb24obWFya2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVm
dCk7CiAgICAgICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxp
bmVCb3hXcmFwcGVyKCktPnBhcmVudCgpOyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgPCBib3gtPmxvZ2ljYWxMZWZ0TGF5
b3V0T3ZlcmZsb3coKSkgewotICAgICAgICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVj
dGlvbk92ZXJmbG93UG9zaXRpb25zKG1hcmtlckxvZ2ljYWxMZWZ0LCBib3gtPmxvZ2ljYWxSaWdo
dExheW91dE92ZXJmbG93KCksIGJveC0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gt
PmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3Qg
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdCgpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93
UmVjdCA9IGJveC0+bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAg
IGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QueCgp
ICYmICFoaXRTZWxmUGFpbnRpbmdMYXllcikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dp
Y2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNldFgobWFya2VyTG9naWNhbExlZnQpOworICAgICAgICAg
ICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LnNldFdpZHRoKGJveC0+bG9n
aWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSAtIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Qu
eCgpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQogICAgICAgICAgICAg
ICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgPCBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0LngoKSkgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0LnNldFgobWFya2VyTG9naWNhbExlZnQpOworICAgICAgICAgICAgICAgICAgICBu
ZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnNldFdpZHRoKGJveC0+bG9naWNhbFJpZ2h0TGF5
b3V0T3ZlcmZsb3coKSAtIG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QueCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQorICAgICAgICAgICAgICAgICAgICAgICAg
YWRqdXN0T3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBib3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZs
b3dSZWN0LCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LCByb290LT5saW5lVG9wKCksIHJv
b3QtPmxpbmVCb3R0b20oKSk7CisgICAgICAgICAgICAgICAgaWYgKGJveC0+Ym94TW9kZWxPYmpl
Y3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0U2Vs
ZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBtX21hcmtlci0+bG9naWNhbExlZnQoKSAr
IHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5FbmQoKTsK
QEAgLTI3OCwxMSArMjg5LDIyIEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcigKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gcmlnaHRMaW5lT2Zmc2V0IC0g
bGluZU9mZnNldCArIHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgIG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPmFk
anVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExv
Z2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9tYXJr
ZXItPmlubGluZUJveFdyYXBwZXIoKS0+cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJlbnQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5s
b2dpY2FsV2lkdGgoKSA+IGJveC0+bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkgewotICAg
ICAgICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25z
KGJveC0+bG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdygpLCBtYXJrZXJMb2dpY2FsTGVmdCArIG1f
bWFya2VyLT5sb2dpY2FsV2lkdGgoKSwgYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCks
IGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgICAgICAgICAgSW50
UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAg
ICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpID4g
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5yaWdodCgpICYmICFoaXRTZWxmUGFpbnRpbmdM
YXllcikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0
LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpIC0g
Ym94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwogICAgICAgICAgICAgICAgICAgICBp
ZiAoYm94ID09IHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dp
Y2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxMYXlvdXRPdmVy
Zmxvd1JlY3QucmlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0
T3ZlcmZsb3dSZWN0LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2lj
YWxXaWR0aCgpIC0gYm94LT5sb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpOworICAgICAgICAg
ICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCisgICAgICAgICAgICAgICAgICAgICAgICBhZGp1
c3RPdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJv
eC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1Jl
Y3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QsIHJvb3QtPmxpbmVUb3AoKSwgcm9vdC0+
bGluZUJvdHRvbSgpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoYm94
LT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAg
ICAgICAgICBoaXRTZWxmUGFpbnRpbmdMYXllciA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApAQCAtMjkxLDEyICszMTMsMjQgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRp
b25MaXN0TWFya2VyKAogICAgICAgICAgICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKQogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QgPSBtYXJrZXJSZWN0LnRyYW5z
cG9zZWRSZWN0KCk7CiAgICAgICAgICAgICBSZW5kZXJCb3gqIG8gPSBtX21hcmtlcjsKKyAgICAg
ICAgICAgIGJvb2wgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAg
Ym9vbCBwcm9wYWdhdGVMYXlvdXRPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICBkbyB7CiAg
ICAgICAgICAgICAgICAgbyA9IG8tPnBhcmVudEJveCgpOwotICAgICAgICAgICAgICAgIGlmIChv
LT5pc1JlbmRlckJsb2NrKCkpCi0gICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobykt
PmFkZExheW91dE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAgICAgIGlmIChvLT5o
YXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3Zl
cmZsb3cgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aXNSZW5kZXJCbG9jaygpKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZFZpc3VhbE92ZXJmbG93KG1h
cmtlclJlY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGFnYXRlTGF5b3V0T3ZlcmZs
b3cpCisgICAgICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlvdXRP
dmVyZmxvdyhtYXJrZXJSZWN0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
aWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVM
YXlvdXRPdmVyZmxvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNTZWxmUGFp
bnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxv
dyA9IGZhbHNlOwogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QubW92ZSgtby0+eCgpLCAtby0+
eSgpKTsKLSAgICAgICAgICAgIH0gd2hpbGUgKG8gIT0gdGhpcyAmJiAhby0+aGFzU2VsZlBhaW50
aW5nTGF5ZXIoKSk7CisgICAgICAgICAgICB9IHdoaWxlIChvICE9IHRoaXMgJiYgcHJvcGFnYXRl
VmlzdWFsT3ZlcmZsb3cgJiYgcHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICB9CiAg
ICAgfQogfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlz
aW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMDMsNyArMTEwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
cGFpbnQoUGFpbnRJbmZvJiAKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYm94T3Jp
Z2luKHR4ICsgeCgpLCB0eSArIHkoKSk7Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJs
ZU92ZXJmbG93UmVjdCgpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxv
d1JlY3QoKSk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUoYm94T3JpZ2luLngoKSwgYm94T3JpZ2lu
LnkoKSk7CiAgICAgb3ZlcmZsb3dSZWN0LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50
SW5mby5waGFzZSkpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkocmV2
aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRl
UG9zaXRpb24oRU1hcnEKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgYm9vbCBs
dHIgPSBzLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CiAgICAgICAgIGludCBjbGllbnRXaWR0
aCA9IGJveC0+Y2xpZW50V2lkdGgoKTsKLSAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/
IGJveC0+cmlnaHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIDogYm94LT5sZWZ0bW9zdFBvc2l0
aW9uKHRydWUsIGZhbHNlKTsKKyAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+
cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKICAgICAg
ICAgaWYgKGx0cikKICAgICAgICAgICAgIGNvbnRlbnRXaWR0aCArPSAoYm94LT5wYWRkaW5nUmln
aHQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKICAgICAgICAgZWxzZSB7CkBAIC0xMzcsOCArMTM3
LDcgQEAgaW50IFJlbmRlck1hcnF1ZWU6OmNvbXB1dGVQb3NpdGlvbihFTWFycQogICAgICAgICB9
CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+bG93
ZXN0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym94LT5ib3JkZXJUb3AoKSArIGJveC0+cGFkZGluZ0JvdHRvbSgpOworICAgICAgICBpbnQgY29u
dGVudEhlaWdodCA9IGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+Ym9yZGVyVG9w
KCkgKyBib3gtPnBhZGRpbmdCb3R0b20oKTsKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IGJv
eC0+Y2xpZW50SGVpZ2h0KCk7CiAgICAgICAgIGlmIChkaXIgPT0gTVVQKSB7CiAgICAgICAgICAg
ICBpZiAoc3RvcEF0Q29udGVudEVkZ2UpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZWRpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3Bw
CShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjAwLDgzICs2MDAsNiBAQCB2b2lkIFJlbmRlck1lZGlhOjpmb3J3
YXJkRXZlbnQoRXZlbnQqIGV2CiAgICAgfQogfQogCi1pbnQgUmVuZGVyTWVkaWE6OnRvcG1vc3RQ
b3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBB
cHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVu
ZGVySW1hZ2U6OnRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVk
ZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8
ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsK
LSAgICAKLSAgICB0b3AgPSBtaW4odG9wLCAgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJv
eCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5y
ZW5kZXJCb3goKS0+dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFz
VHJhbnNmb3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
LCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVm
dG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1
ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVy
VHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAt
IHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAg
cmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsb3dlc3RQb3NpdGlvbihib29sIGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgYm90dG9tID0gUmVuZGVySW1hZ2U6Omxv
d2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlU
cmFuc2Zvcm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNT
aGFkb3dSb290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIAotICAg
IGJvdHRvbSA9IG1heChib3R0b20sICBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCkt
PnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRl
ckJveCgpLT5sb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVk
ZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5z
Zm9ybSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50
IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5z
Zm9ybSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zv
cm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7
Ci0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpICsgdHJhbnNmb3JtUmVjdC55
KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpy
aWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQg
cmlnaHQgPSBSZW5kZXJJbWFnZTo6cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xz
U2hhZG93Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAg
IHJldHVybiByaWdodDsKLSAgICAKLSAgICByaWdodCA9IG1heChyaWdodCwgbV9jb250cm9sc1No
YWRvd1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIG1fY29u
dHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYg
KGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5
ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmln
aHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNs
dWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdo
dCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC53
aWR0aCgpICsgdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJpZ2h0Owot
fQotCi1pbnQgUmVuZGVyTWVkaWE6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zv
cm0pIGNvbnN0Ci17Ci0gICAgaW50IGxlZnQgPSBSZW5kZXJJbWFnZTo6bGVmdG1vc3RQb3NpdGlv
bihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsK
LSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+
cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgbGVmdCA9IG1pbihs
ZWZ0LCBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVS
ZWN0KCkueCgpICsgIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bGVmdG1vc3RQ
b3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNm
b3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBp
bmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAg
ICAgIGludCB0b3AgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9tID0gbG93
ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRl
VHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAg
ICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRS
ZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0
dXJuIHRyYW5zZm9ybVJlY3QueCgpOwotICAgIH0KLQotICAgIHJldHVybiBsZWZ0OwotfQotCi0K
IC8vIFdlIHdhbnQgdGhlIHRpbWVsaW5lIHNsaWRlciB0byBiZSBhdCBsZWFzdCAxMDAgcGl4ZWxz
IHdpZGUuCiBzdGF0aWMgY29uc3QgaW50IG1pbldpZHRoVG9EaXNwbGF5VGltZURpc3BsYXlzID0g
MTYgKyAxNiArIDQ1ICsgMTAwICsgNDUgKyAxNiArIDE7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVkaWEuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRp
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSwxMSArODUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc0ltYWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgaW50IHRv
cG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBp
bmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29u
c3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9
IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0
aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxm
ID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Ig
PSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRl
VHJhbnNmb3JtKSBjb25zdDsKLQogICAgIHZvaWQgY3JlYXRlQ29udHJvbHNTaGFkb3dSb290KCk7
CiAgICAgdm9pZCBkZXN0cm95Q29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBjcmVhdGVQ
YW5lbCgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDE1ICszOSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gVGhpcyBvYmplY3QgaXMg
YWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0
IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KIGNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCi0gICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxv
dyhkZWZhdWx0UmVjdC55KCkpCi0gICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhkZWZh
dWx0UmVjdC5ib3R0b20oKSkKLSAgICAgICAgLCBtX2xlZnRMYXlvdXRPdmVyZmxvdyhkZWZhdWx0
UmVjdC54KCkpCi0gICAgICAgICwgbV9yaWdodExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnJp
Z2h0KCkpCi0gICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0g
ICAgICAgICwgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAg
ICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwg
bV9yaWdodFZpc3VhbE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkpCisgICAgUmVuZGVyT3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVj
dCkgCisgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKKyAgICAg
ICAgLCBtX2JvdHRvbUxheW91dE92ZXJmbG93KGxheW91dFJlY3QuYm90dG9tKCkpCisgICAgICAg
ICwgbV9sZWZ0TGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC54KCkpCisgICAgICAgICwgbV9yaWdo
dExheW91dE92ZXJmbG93KGxheW91dFJlY3QucmlnaHQoKSkKKyAgICAgICAgLCBtX3RvcFZpc3Vh
bE92ZXJmbG93KHZpc3VhbFJlY3QueSgpKQorICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZs
b3codmlzdWFsUmVjdC5ib3R0b20oKSkKKyAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyh2
aXN1YWxSZWN0LngoKSkKKyAgICAgICAgLCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVj
dC5yaWdodCgpKQogICAgIHsKICAgICB9CiAgICAKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgog
ICAgIGludCByaWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9yaWdodFZpc3Vh
bE92ZXJmbG93OyB9CiAgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsKIAot
ICAgIEludFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRU
b3BMYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV90b3BMYXlvdXRPdmVyZmxvdyA9IG92
ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cp
IHsgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRMZWZ0
TGF5b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fbGVmdExheW91dE92ZXJmbG93ID0gb3Zl
cmZsb3c7IH0KQEAgLTEwNCwxMyArMTAyLDYgQEAgaW5saW5lIEludFJlY3QgUmVuZGVyT3ZlcmZs
b3c6OnZpc3VhbE92ZQogICAgIHJldHVybiBJbnRSZWN0KG1fbGVmdFZpc3VhbE92ZXJmbG93LCBt
X3RvcFZpc3VhbE92ZXJmbG93LCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBtX2xlZnRWaXN1YWxP
dmVyZmxvdywgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyAtIG1fdG9wVmlzdWFsT3ZlcmZsb3cpOwog
fQogCi1pbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6dmlzaWJsZU92ZXJmbG93UmVjdCgp
IGNvbnN0Ci17Ci0gICAgSW50UmVjdCBjb21iaW5lZFJlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkp
OwotICAgIGNvbWJpbmVkUmVjdC51bml0ZSh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7Ci0gICAgcmV0
dXJuIGNvbWJpbmVkUmVjdDsKLX0KLQogaW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6Om1vdmUo
aW50IGR4LCBpbnQgZHkpCiB7CiAgICAgbV90b3BMYXlvdXRPdmVyZmxvdyArPSBkeTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODks
NyArMzg5LDcgQEAgSW50UmVjdCBSZW5kZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UgogCiAg
ICAgLy8gVGhlIHNlbGVjdGlvblJlY3QgY2FuIHByb2plY3Qgb3V0c2lkZSBvZiB0aGUgb3ZlcmZs
b3dSZWN0LCBzbyB0YWtlIHRoZWlyIHVuaW9uCiAgICAgLy8gZm9yIHJlcGFpbnRpbmcgdG8gYXZv
aWQgc2VsZWN0aW9uIHBhaW50aW5nIGdsaXRjaGVzLgotICAgIEludFJlY3QgciA9IHVuaW9uUmVj
dChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXNpYmxlT3ZlcmZsb3dSZWN0KCkpOworICAg
IEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXN1YWxP
dmVyZmxvd1JlY3QoKSk7CiAKICAgICBSZW5kZXJWaWV3KiB2ID0gdmlldygpOwogICAgIGlmICh2
KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAkocmV2aXNpb24gNzMzMzQp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjc4LDcgKzI3OCw3IEBAIHZvaWQgUmVuZGVyUnVieVJ1bjo6bGF5b3V0KCkKIAogICAgIC8v
IFVwZGF0ZSBvdXIgb3ZlcmZsb3cgdG8gYWNjb3VudCBmb3IgdGhlIG5ldyBSZW5kZXJSdWJ5VGV4
dCBwb3NpdGlvbi4KICAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAgYWRkT3ZlcmZsb3dGcm9t
QmxvY2tDaGlsZHJlbigpOworICAgIGNvbXB1dGVPdmVyZmxvdyhjbGllbnRCb3hSZWN0KCkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUu
Y3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzg3LDEyICszODcsMTggQEAgdm9pZCBSZW5kZXJUYWJsZTo6
bGF5b3V0KCkKICAgICB1cGRhdGVMYXllclRyYW5zZm9ybSgpOwogCiAgICAgLy8gQWRkIG92ZXJm
bG93IGZyb20gYm9yZGVycy4KKyAgICAvLyBUZWNobmljYWxseSBpdCdzIG9kZCB0aGF0IHdlIGFy
ZSBpbmNvcnBvcmF0aW5nIHRoZSBib3JkZXJzIGludG8gbGF5b3V0IG92ZXJmbG93LCB3aGljaCBp
cyBvbmx5IHN1cHBvc2VkIHRvIGJlIGFib3V0IG92ZXJmbG93IGZyb20gb3VyCisgICAgLy8gZGVz
Y2VuZGFudCBvYmplY3RzLCBidXQgc2luY2UgdGFibGVzIGRvbid0IHN1cHBvcnQgb3ZlcmZsb3c6
YXV0bywgdGhpcyB3b3JrcyBvdXQgZmluZS4KICAgICBpbnQgcmlnaHRCb3JkZXJPdmVyZmxvdyA9
IHdpZHRoKCkgKyAoY29sbGFwc2luZyA/IG91dGVyQm9yZGVyUmlnaHQoKSAtIGJvcmRlclJpZ2h0
KCkgOiAwKTsKICAgICBpbnQgbGVmdEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRl
ckxlZnQoKSAtIG91dGVyQm9yZGVyTGVmdCgpIDogMDsKICAgICBpbnQgYm90dG9tQm9yZGVyT3Zl
cmZsb3cgPSBoZWlnaHQoKSArIChjb2xsYXBzaW5nID8gb3V0ZXJCb3JkZXJCb3R0b20oKSAtIGJv
cmRlckJvdHRvbSgpIDogMCk7CiAgICAgaW50IHRvcEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2lu
ZyA/IGJvcmRlclRvcCgpIC0gb3V0ZXJCb3JkZXJUb3AoKSA6IDA7Ci0gICAgYWRkTGF5b3V0T3Zl
cmZsb3coSW50UmVjdChsZWZ0Qm9yZGVyT3ZlcmZsb3csIHRvcEJvcmRlck92ZXJmbG93LCByaWdo
dEJvcmRlck92ZXJmbG93IC0gbGVmdEJvcmRlck92ZXJmbG93LCBib3R0b21Cb3JkZXJPdmVyZmxv
dyAtIHRvcEJvcmRlck92ZXJmbG93KSk7Ci0gICAgCisgICAgSW50UmVjdCBib3JkZXJPdmVyZmxv
d1JlY3QobGVmdEJvcmRlck92ZXJmbG93LCB0b3BCb3JkZXJPdmVyZmxvdywgcmlnaHRCb3JkZXJP
dmVyZmxvdyAtIGxlZnRCb3JkZXJPdmVyZmxvdywgYm90dG9tQm9yZGVyT3ZlcmZsb3cgLSB0b3BC
b3JkZXJPdmVyZmxvdyk7CisgICAgaWYgKGJvcmRlck92ZXJmbG93UmVjdCAhPSBib3JkZXJCb3hS
ZWN0KCkpIHsKKyAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsK
KyAgICAgICAgYWRkVmlzdWFsT3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICB9CisK
ICAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93IGZyb20gYm94LXNoYWRvdyBhbmQgcmVmbGVjdGlv
bnMuCiAgICAgYWRkU2hhZG93T3ZlcmZsb3coKTsKICAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjIsNzgg
KzY2Miw2IEBAIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoaW50IHQKICAgICBy
ZXR1cm4gaGVpZ2h0KCk7CiB9CiAKLWludCBSZW5kZXJUYWJsZVNlY3Rpb246OnRvcG1vc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBs
eVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVuZGVy
Qm94Ojp0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxm
LCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBo
YXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsKLQotICAgIGZvciAoUmVuZGVy
T2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vy
ci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0
b3AsIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgY2VsbC0+dG9wbW9zdFBvc2l0
aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAg
cmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6bG93ZXN0UG9zaXRpb24o
Ym9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFu
c2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IGJvdHRvbSA9IFJlbmRlckJv
eDo6bG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBh
cHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNP
dmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIGJvdHRvbTsKLQotICAgIGZvciAoUmVuZGVy
T2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vy
ci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIGJvdHRvbSA9IG1h
eChib3R0b20sIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgY2VsbC0+bG93ZXN0
UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpyaWdodG1v
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxm
LCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgcmlnaHQg
PSBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBp
bmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiByaWdodDsKLQotICAg
IGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5u
ZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5m
aXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAg
ICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAg
IHJpZ2h0ID0gbWF4KHJpZ2h0LCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNl
bGwtPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyVGFibGVTZWN0
aW9uOjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wg
aW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAg
IGludCBsZWZ0ID0gUmVuZGVyQm94OjpsZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBsZWZ0
OwotICAgIAotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsg
cm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBj
dXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAg
ICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgY2VsbC0+dHJhbnNmb3JtZWRGcmFtZVJlY3Qo
KS54KCkgKyBjZWxsLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIGludCBSZW5kZXJU
YWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9yZSgpIGNvbnN0CiB7CiAgICAgaW50IHRv
dGFsQ29scyA9IHRhYmxlKCktPm51bUVmZkNvbHMoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTEgKzEzNiw2IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0KiBv
bGRDaGlsZCk7CiAKLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNs
dWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihib29s
IGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9y
bSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBv
c2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFw
cGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQg
bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotCiAgICAg
dmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRDZWxsKFJlbmRlclRhYmxlQ2VsbCosIFBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgaW50IHR4
LCBpbnQgdHkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJl
dmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTYxNiw4ICs2MTYsMTcgQEAgc3RhdGljIHZvaWQgd3JpdGUoVGV4
dFN0cmVhbSYgdHMsIFJlbmRlcgogfQogCiBzdGF0aWMgdm9pZCB3cml0ZUxheWVycyhUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBwYWludERpcnR5UmVjdCwgaW50
IGluZGVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBJbnRSZWN0JiBwYWludFJlY3QsIGludCBpbmRlbnQsIFJlbmRlckFzVGV4
dEJlaGF2aW9yIGJlaGF2aW9yKQogeworICAgIC8vIEZJWE1FOiBBcHBseSBvdmVyZmxvdyB0byB0
aGUgcm9vdCBsYXllciB0byBub3QgYnJlYWsgZXZlcnkgdGVzdC4gIENvbXBsZXRlIGhhY2suICBT
aWdoLgorICAgIEludFJlY3QgcGFpbnREaXJ0eVJlY3QocGFpbnRSZWN0KTsKKyAgICBpZiAocm9v
dExheWVyID09IGwpIHsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0V2lkdGgobWF4KHBhaW50
RGlydHlSZWN0LndpZHRoKCksIHJvb3RMYXllci0+cmVuZGVyQm94KCktPnJpZ2h0TGF5b3V0T3Zl
cmZsb3coKSkpOworICAgICAgICBwYWludERpcnR5UmVjdC5zZXRIZWlnaHQobWF4KHBhaW50RGly
dHlSZWN0LmhlaWdodCgpLCByb290TGF5ZXItPnJlbmRlckJveCgpLT5ib3R0b21MYXlvdXRPdmVy
ZmxvdygpKSk7CisgICAgICAgIGwtPnNldFdpZHRoKG1heChsLT53aWR0aCgpLCBsLT5yZW5kZXJC
b3goKS0+cmlnaHRMYXlvdXRPdmVyZmxvdygpKSk7CisgICAgICAgIGwtPnNldEhlaWdodChtYXgo
bC0+aGVpZ2h0KCksIGwtPnJlbmRlckJveCgpLT5ib3R0b21MYXlvdXRPdmVyZmxvdygpKSk7Cisg
ICAgfQorICAgIAogICAgIC8vIENhbGN1bGF0ZSB0aGUgY2xpcCByZWN0cyB3ZSBzaG91bGQgdXNl
LgogICAgIEludFJlY3QgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwg
b3V0bGluZVJlY3Q7CiAgICAgbC0+Y2FsY3VsYXRlUmVjdHMocm9vdExheWVyLCBwYWludERpcnR5
UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwgb3V0bGluZVJl
Y3QsIHRydWUpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyOSwxMiArMTI5LDYgQEAgdm9pZCBSZW5kZXJWaWV3OjpsYXlvdXQoKQogICAgIGlmIChuZWVk
c0xheW91dCgpKQogICAgICAgICBSZW5kZXJCbG9jazo6bGF5b3V0KCk7CiAKLSAgICAvLyBSZXNl
dCBvdmVyZmxvdyBhbmQgdGhlbiByZXBsYWNlIGl0IHdpdGggZG9jV2lkdGggYW5kIGRvY0hlaWdo
dC4KLSAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAgaW50IGxlZnRPdmVyZmxvdyA9IGRvY0xl
ZnQoKTsKLSAgICBpbnQgdG9wT3ZlcmZsb3cgPSBkb2NUb3AoKTsKLSAgICBhZGRMYXlvdXRPdmVy
ZmxvdyhJbnRSZWN0KGxlZnRPdmVyZmxvdywgdG9wT3ZlcmZsb3csIGRvY1dpZHRoKGxlZnRPdmVy
ZmxvdyksIGRvY0hlaWdodCh0b3BPdmVyZmxvdykpKTsKLQogICAgIEFTU0VSVChsYXlvdXREZWx0
YSgpID09IEludFNpemUoKSk7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGVEaXNhYmxlQ291bnQg
PT0gMCk7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGUgPT0gJnN0YXRlKTsKQEAgLTYyMywyNSAr
NjE3LDE5IEBAIGludCBSZW5kZXJWaWV3Ojpkb2NUb3AoKSBjb25zdAogICAgIC8vIENsaXAgb3V0
IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0aWNhbCBMVFIgcGFnZXMgb3IgaG9yaXpvbnRhbC10YiBwYWdl
cy4KICAgICBpZiAoKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpICYmIHN0eWxl
KCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgfHwgc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9
PSBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4g
c3RkOjptaW4oMCwgdG9wbW9zdFBvc2l0aW9uKCkpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
KDAsIHRvcExheW91dE92ZXJmbG93KCksIDAsIGJvdHRvbUxheW91dE92ZXJmbG93KCkgLSB0b3BM
YXlvdXRPdmVyZmxvdygpKTsKKyAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsK
KyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnkoKTsKIH0KIAotaW50IFJlbmRlclZpZXc6OmRvY0hl
aWdodChpbnQgdG9wT3ZlcmZsb3cpIGNvbnN0CitpbnQgUmVuZGVyVmlldzo6ZG9jQm90dG9tKCkg
Y29uc3QKIHsKLSAgICBpbnQgaCA9ICgoIXN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB8fCBzdHlsZSgpLT53cml0
aW5nTW9kZSgpID09IFRvcFRvQm90dG9tV3JpdGluZ01vZGUpID8KLSAgICAgICAgICAgICAgICBs
b3dlc3RQb3NpdGlvbigpIDogaGVpZ2h0KCkgLSB0b3BPdmVyZmxvdzsKLQotICAgIC8vIEZJWE1F
OiBUaGlzIGRvZXNuJ3QgZG8gYW55IG1hcmdpbiBjb2xsYXBzaW5nLgotICAgIC8vIEluc3RlYWQg
b2YgdGhpcyBkaCBjb21wdXRhdGlvbiB3ZSBzaG91bGQga2VlcCB0aGUgcmVzdWx0Ci0gICAgLy8g
d2hlbiB3ZSBjYWxsIFJlbmRlckJsb2NrOjpsYXlvdXQuCi0gICAgaW50IGRoID0gMDsKLSAgICBm
b3IgKFJlbmRlckJveCogYyA9IGZpcnN0Q2hpbGRCb3goKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5n
Qm94KCkpCi0gICAgICAgIGRoICs9IGMtPmhlaWdodCgpICsgYy0+bWFyZ2luVG9wKCkgKyBjLT5t
YXJnaW5Cb3R0b20oKTsKLQotICAgIGlmIChkaCA+IGgpCi0gICAgICAgIGggPSBkaDsKLQotICAg
IHJldHVybiBoOworICAgIC8vIENsaXAgb3V0IHRvcCBvdmVyZmxvdyBpbiB2ZXJ0aWNhbCBMVFIg
cGFnZXMgb3IgaG9yaXpvbnRhbC10YiBwYWdlcy4KKyAgICBpZiAoKHN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgfHwgIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkg
JiYgc3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlKQorICAg
ICAgICByZXR1cm4gaGVpZ2h0KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3Zl
cmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAg
IHJldHVybiBvdmVyZmxvd1JlY3QuYm90dG9tKCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojpkb2NM
ZWZ0KCkgY29uc3QKQEAgLTY0OSwyMSArNjM3LDE4IEBAIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0
KCkgY29uc3QKICAgICAvLyBDbGlwIG91dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6b250YWwgTFRS
IHBhZ2VzIG9yIHZlcnRpY2FsLWxyIHBhZ2VzLgogICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8
IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkKICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9zaXRpb24oKSk7
CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZs
aXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3Qu
eCgpOwogfQogCi1pbnQgUmVuZGVyVmlldzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29u
c3QKLXsKLSAgICBpbnQgdyA9ICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAm
JiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdN
b2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkgPyAKLSAgICAgICAgICAgICAgICByaWdo
dG1vc3RQb3NpdGlvbigpIDogd2lkdGgoKSAtIGxlZnRPdmVyZmxvdzsKLQotICAgIGZvciAoUmVu
ZGVyQm94KiBjID0gZmlyc3RDaGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3goKSkg
ewotICAgICAgICBpbnQgZHcgPSBjLT53aWR0aCgpICsgYy0+bWFyZ2luTGVmdCgpICsgYy0+bWFy
Z2luUmlnaHQoKTsKLSAgICAgICAgaWYgKGR3ID4gdykKLSAgICAgICAgICAgIHcgPSBkdzsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gdzsKK2ludCBSZW5kZXJWaWV3Ojpkb2NSaWdodCgpIGNvbnN0Cit7
CisgICAgaWYgKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSB8fCAhc3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSAmJiBzdHlsZSgpLT53cml0aW5nTW9kZSgpICE9
IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUpCisgICAgICAgIHJldHVybiB3aWR0aCgpOworICAgIElu
dFJlY3Qgb3ZlcmZsb3dSZWN0KGxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBmbGlwRm9yV3Jp
dGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LnJpZ2h0KCk7
CiB9CiAKIGludCBSZW5kZXJWaWV3Ojp2aWV3SGVpZ2h0KCkgY29uc3QKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiArMTY2LDEzIEBAIHB1YmxpYzoKICAgICBi
b29sIHVzZXNDb21wb3NpdGluZygpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBpbnQgZG9jVG9wKCkg
Y29uc3Q7CisgICAgaW50IGRvY0JvdHRvbSgpIGNvbnN0OworICAgIGludCBkb2NIZWlnaHQoKSBj
b25zdCB7IHJldHVybiBkb2NCb3R0b20oKSAtIGRvY1RvcCgpOyB9CisgICAgaW50IGRvY0xlZnQo
KSBjb25zdDsKKyAgICBpbnQgZG9jUmlnaHQoKSBjb25zdDsKKyAgICBpbnQgZG9jV2lkdGgoKSBj
b25zdCB7IHJldHVybiBkb2NSaWdodCgpIC0gZG9jTGVmdCgpOyB9CisKIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIHZvaWQgbWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBib29sIGZpeGVkLCBUcmFuc2Zv
cm1TdGF0ZSYpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBtYXBBYnNvbHV0ZVRvTG9jYWxQb2lu
dChib29sIGZpeGVkLCBib29sIHVzZVRyYW5zZm9ybXMsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7
CkBAIC0xNzMsMTEgKzE4MCw2IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgYm9vbCBzaG91
bGRSZXBhaW50KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0OwogICAgIAotICAgIGludCBkb2NUb3Ao
KSBjb25zdDsKLSAgICBpbnQgZG9jSGVpZ2h0KGludCB0b3BPdmVyZmxvdykgY29uc3Q7Ci0gICAg
aW50IGRvY0xlZnQoKSBjb25zdDsKLSAgICBpbnQgZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykg
Y29uc3Q7Ci0KICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgbWF5IG9ubHkgYmUgYWNjZXNzZWQgYnkg
TGF5b3V0U3RhdGVNYWludGFpbmVyLgogICAgIGJvb2wgcHVzaExheW91dFN0YXRlKFJlbmRlckJv
eCogcmVuZGVyZXIsIGNvbnN0IEludFNpemUmIG9mZnNldCwgaW50IHBhZ2VIZWlnaHQgPSAwLCBi
b29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8gPSAwKQog
ICAgIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTAsOCArMTUwLDcgQEAgdm9pZCBSb290SW5saW5lQm94OjphZGRIaWdobGlnaHRPdmVy
ZmxvdwogICAgIC8vIEhpZ2hsaWdodCBhY3RzIGFzIGEgc2VsZWN0aW9uIGluZmxhdGlvbi4KICAg
ICBGbG9hdFJlY3Qgcm9vdFJlY3QoMCwgc2VsZWN0aW9uVG9wKCksIGxvZ2ljYWxXaWR0aCgpLCBz
ZWxlY3Rpb25IZWlnaHQoKSk7CiAgICAgSW50UmVjdCBpbmZsYXRlZFJlY3QgPSBlbmNsb3NpbmdJ
bnRSZWN0KHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+Y3VzdG9tSGlnaGxpZ2h0UmVjdChyZW5k
ZXJlcigpLT5ub2RlKCksIHJlbmRlcmVyKCktPnN0eWxlKCktPmhpZ2hsaWdodCgpLCByb290UmVj
dCkpOwotICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxlZnRMYXlvdXRP
dmVyZmxvdygpLCByaWdodExheW91dE92ZXJmbG93KCksIG1pbihsZWZ0VmlzdWFsT3ZlcmZsb3co
KSwgaW5mbGF0ZWRSZWN0LngoKSksIG1heChyaWdodFZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVk
UmVjdC5yaWdodCgpKSk7Ci0gICAgc2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyh0
b3BMYXlvdXRPdmVyZmxvdygpLCBib3R0b21MYXlvdXRPdmVyZmxvdygpLCBtaW4odG9wVmlzdWFs
T3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LnkoKSksIG1heChib3R0b21WaXN1YWxPdmVyZmxvdygp
LCBpbmZsYXRlZFJlY3QuYm90dG9tKCkpKTsKKyAgICBzZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVj
dHMoaW5mbGF0ZWRSZWN0LCBpbmZsYXRlZFJlY3QsIGxpbmVUb3AoKSwgbGluZUJvdHRvbSgpKTsK
IH0KIAogdm9pZCBSb290SW5saW5lQm94OjpwYWludEN1c3RvbUhpZ2hsaWdodChQYWludEluZm8m
IHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0cmluZyYgaGlnaGxpZ2h0
VHlwZSkKQEAgLTI1Miw3ICsyNTEsNiBAQCBpbnQgUm9vdElubGluZUJveDo6YWxpZ25Cb3hlc0lu
QmxvY2tEaXJlCiAgICAgYm9vbCBjb250YWluc1J1YnkgPSBmYWxzZTsKICAgICBwbGFjZUJveGVz
SW5CbG9ja0RpcmVjdGlvbihoZWlnaHRPZkJsb2NrLCBtYXhIZWlnaHQsIG1heEFzY2VudCwgbm9R
dWlya3NNb2RlLCBsaW5lVG9wLCBsaW5lQm90dG9tLCBzZXRMaW5lVG9wLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBsaW5lQm90dG9tSW5j
bHVkaW5nTWFyZ2lucywgY29udGFpbnNSdWJ5LCBtX2Jhc2VsaW5lVHlwZSk7Ci0gICAgY29tcHV0
ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgbm9RdWlya3NNb2Rl
LCB0ZXh0Qm94RGF0YU1hcCk7CiAgICAgc2V0TGluZVRvcEJvdHRvbVBvc2l0aW9ucyhsaW5lVG9w
LCBsaW5lQm90dG9tKTsKIAogICAgIG1fY29udGFpbnNSdWJ5ID0gY29udGFpbnNSdWJ5Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75626</attachid>
            <date>2010-12-05 00:22:56 -0800</date>
            <delta_ts>2010-12-05 23:53:46 -0800</delta_ts>
            <desc>Work in progress</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>158680</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsOSArNDM1LDkgQEAgdm9pZCBGcmFtZVZp
ZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0g
cm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCkg
LSByb290LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hlaWdodCgpKTsKIAotICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIC1y
b290LT50b3BMYXlvdXRPdmVyZmxvdygpKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1y
b290LT5kb2NUb3AoKSksIHNpemUgPT0gY29udGVudHNTaXplKCkpOwogICAgIAogICAgIHNldENv
bnRlbnRzU2l6ZShzaXplKTsKIH0KQEAgLTIyMzksMTUgKzIyMzksMTUgQEAgdm9pZCBGcmFtZVZp
ZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4g
c2hydW5rLCB3ZSB3aWxsIGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEg
Y29udGVudC4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1m
aXQgcHJpbnRpbmcgaW1wbGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxl
bWVudGF0aW9uIHNob3VsZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IHJpZ2h0bW9zdFBvcyA9
IHJvb3QtPnJpZ2h0bW9zdFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChyaWdodG1vc3RQb3MgPiBw
YWdlU2l6ZS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBwYWdlVyA9IHN0ZDo6bWluPGludD4ocmln
aHRtb3N0UG9zLCBjZWlsZihwYWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3Rvcikp
OworICAgICAgICBpbnQgZG9jV2lkdGggPSByb290LT5kb2NXaWR0aCgpOworICAgICAgICBpZiAo
ZG9jV2lkdGggPiBwYWdlU2l6ZS53aWR0aCgpKSB7CisgICAgICAgICAgICBwYWdlVyA9IHN0ZDo6
bWluPGludD4oZG9jV2lkdGgsIGNlaWxmKHBhZ2VTaXplLndpZHRoKCkgKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKSk7CiAgICAgICAgICAgICBpZiAocGFnZVNpemUuaGVpZ2h0KCkpCiAgICAgICAgICAg
ICAgICAgcm9vdC0+c2V0UGFnZUhlaWdodChwYWdlVyAvIHBhZ2VTaXplLndpZHRoKCkgKiBwYWdl
U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CiAgICAg
ICAgICAgICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAg
ICAgICAgIGZvcmNlTGF5b3V0KCk7Ci0gICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBkb2NIZWlnaHQgPSByb290
LT5kb2NIZWlnaHQoKTsKICAgICAgICAgICAgIHJvb3QtPmNsZWFyTGF5b3V0T3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIHJvb3QtPmFkZExheW91dE92ZXJmbG93KEludFJlY3QoMCwgMCwgcGFnZVcs
IGRvY0hlaWdodCkpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cg
YWdhaW4uCiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDI5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbW92
ZShjb25zdCBJbnRTaXplJiBzKSB7IG1fbG9jYXRpb24gKz0gczsgfSAKICAgICB2b2lkIG1vdmUo
aW50IGR4LCBpbnQgZHkpIHsgbV9sb2NhdGlvbi5tb3ZlKGR4LCBkeSk7IH0gCisgICAgCisgICAg
dm9pZCBzaGlmdExlZnRFZGdlVG8oaW50IGVkZ2UpCisgICAgeworICAgICAgICBpbnQgZGVsdGEg
PSBlZGdlIC0geCgpOworICAgICAgICBzZXRYKGVkZ2UpOworICAgICAgICBzZXRXaWR0aChzdGQ6
Om1heCgwLCB3aWR0aCgpIC0gZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdFJpZ2h0RWRn
ZVRvKGludCBlZGdlKQorICAgIHsKKyAgICAgICAgaW50IGRlbHRhID0gZWRnZSAtIHJpZ2h0KCk7
CisgICAgICAgIHNldFdpZHRoKHN0ZDo6bWF4KDAsIHdpZHRoKCkgKyBkZWx0YSkpOworICAgIH0K
KyAgICB2b2lkIHNoaWZ0VG9wRWRnZVRvKGludCBlZGdlKQorICAgIHsKKyAgICAgICAgaW50IGRl
bHRhID0gZWRnZSAtIHkoKTsKKyAgICAgICAgc2V0WShlZGdlKTsKKyAgICAgICAgc2V0SGVpZ2h0
KHN0ZDo6bWF4KDAsIGhlaWdodCgpIC0gZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdEJv
dHRvbUVkZ2VUbyhpbnQgZWRnZSkKKyAgICB7CisgICAgICAgIGludCBkZWx0YSA9IGVkZ2UgLSBi
b3R0b20oKTsKKyAgICAgICAgc2V0SGVpZ2h0KHN0ZDo6bWF4KDAsIGhlaWdodCgpICsgZGVsdGEp
KTsKKyAgICB9CiAKICAgICBib29sIGludGVyc2VjdHMoY29uc3QgSW50UmVjdCYpIGNvbnN0Owog
ICAgIGJvb2wgY29udGFpbnMoY29uc3QgSW50UmVjdCYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lQm94LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMyw2ICsyMzMsOCBAQCBwdWJsaWM6CiAgICAgaW50IHdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxv
Z2ljYWxIZWlnaHQoKTsgfQogICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6
b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9CiAKKyAgICBJbnRS
ZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCks
IGhlaWdodCgpKTsgfQorCiAgICAgLy8gVGhlIGxvZ2ljYWxMZWZ0IHBvc2l0aW9uIGlzIHRoZSBs
ZWZ0IGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgdG9w
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV94IDogbV95OyB9CiAgICAgaW50IGxvZ2ljYWxSaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQpAQCAt
MjY1LDcgKzI2Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9u
KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUpIGNvbnN0IHsgcmV0dXJuIGJveE1vZGVsT2JqZWN0
KCktPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBtX2ZpcnN0TGluZSwgaXNIb3Jpem9u
dGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5p
bmdMaW5lKTsgfQogICAgIHZpcnR1YWwgaW50IGxpbmVIZWlnaHQoKSBjb25zdCB7IHJldHVybiBi
b3hNb2RlbE9iamVjdCgpLT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCBpc0hvcml6b250YWwoKSA/
IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUp
OyB9CiAgICAgCi0KICAgICB2aXJ0dWFsIGludCBjYXJldE1pbk9mZnNldCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgaW50IGNhcmV0TWF4T2Zmc2V0KCkgY29uc3Q7CiAgICAgdmlydHVhbCB1bnNpZ25l
ZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5LDE4ICsyNTksNyBAQCBpbnQgSW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyCiB7CiAgICAgLy8gU2V0IG91ciB4IHBv
c2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKLQotICAgIGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0gICAgaW50IGxvZ2ljYWxSaWdo
dExheW91dE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0gICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3cgPSBsb2dpY2FsTGVmdDsKLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZs
b3cgPSBsb2dpY2FsTGVmdDsKLQotICAgIGludCBib3hTaGFkb3dMb2dpY2FsTGVmdDsKLSAgICBp
bnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwotICAgIHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RM
aW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRvd0xvZ2ljYWxM
ZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwotCi0gICAgbG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdyA9IG1pbihsb2dpY2FsTGVmdCArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93KTsKLQorICAKICAgICBpbnQgc3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2lj
YWxMZWZ0OwogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRlckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5n
TG9naWNhbExlZnQoKTsKICAgICAKQEAgLTI4NCwzMCArMjczLDYgQEAgaW50IElubGluZUZsb3dC
b3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAgIG5lZWRzV29yZFNwYWNp
bmcgPSAhaXNTcGFjZU9yTmV3bGluZShydC0+Y2hhcmFjdGVycygpW3RleHQtPmVuZCgpXSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB0ZXh0LT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVm
dCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGludCBzdHJva2VPdmVyZmxvdyA9IHN0YXRp
Y19jYXN0PGludD4oY2VpbGYocnQtPnN0eWxlKCktPnRleHRTdHJva2VXaWR0aCgpIC8gMi4wZikp
OwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJZiBsZXR0ZXItc3BhY2luZyBpcyBuZWdh
dGl2ZSwgd2Ugc2hvdWxkIGZhY3RvciB0aGF0IGludG8gcmlnaHQgbGF5b3V0IG92ZXJmbG93LiAo
RXZlbiBpbiBSVEwsIGxldHRlci1zcGFjaW5nIGlzCi0gICAgICAgICAgICAvLyBhcHBsaWVkIHRv
IHRoZSByaWdodCwgc28gdGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93Lgot
ICAgICAgICAgICAgaW50IGxldHRlclNwYWNpbmcgPSBtaW4oMCwgKGludClydC0+c3R5bGUobV9m
aXJzdExpbmUpLT5mb250KCkubGV0dGVyU3BhY2luZygpKTsKLSAgICAgICAgICAgIGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgdGV4dC0+bG9naWNhbFdpZHRo
KCkgLSBsZXR0ZXJTcGFjaW5nLCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyk7Ci0KLSAgICAg
ICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRl
eHRCb3hEYXRhTWFwLmZpbmQoc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpKTsKLSAg
ICAgICAgICAgIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0
YU1hcC5lbmQoKSA/IDAgOiAmaXQtPnNlY29uZC5zZWNvbmQ7Ci0KLSAgICAgICAgICAgIGludCBs
b2dpY2FsTGVmdEdseXBoT3ZlcmZsb3cgPSAtc3Ryb2tlT3ZlcmZsb3cgLSAoZ2x5cGhPdmVyZmxv
dyA/IGdseXBoT3ZlcmZsb3ctPmxlZnQgOiAwKTsKLSAgICAgICAgICAgIGludCBsb2dpY2FsUmln
aHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgLSBsZXR0ZXJTcGFjaW5nICsgKGdseXBo
T3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5yaWdodCA6IDApOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRHbHlwaE92
ZXJmbG93OwotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQgPSBsb2dp
Y2FsUmlnaHRHbHlwaE92ZXJmbG93OwotICAgICAgICAgICAgaW50IHRleHRTaGFkb3dMb2dpY2Fs
TGVmdDsKLSAgICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0OwotICAgICAgICAg
ICAgcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0VGV4dFNoYWRvd0lubGluZURpcmVjdGlvbkV4
dGVudCh0ZXh0U2hhZG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dpY2FsUmlnaHQpOwotICAg
ICAgICAgICAgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0ID0gbWluKGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsTGVmdCwgdGV4dFNoYWRvd0xvZ2ljYWxMZWZ0ICsgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93
KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQgPSBtYXgoY2hpbGRPdmVy
Zmxvd0xvZ2ljYWxSaWdodCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIGxvZ2ljYWxSaWdodEds
eXBoT3ZlcmZsb3cpOwotICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1p
bihsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1h
eChsb2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpICsgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxSaWdodCwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAgCiAgICAg
ICAgICAgICBsb2dpY2FsTGVmdCArPSB0ZXh0LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkg
ewpAQCAtMzI1LDEwICsyOTAsNiBAQCBpbnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5s
aW5lRGlyCiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gZmxvdy0+bWFyZ2luTG9naWNh
bExlZnQoKTsKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCA9IGZsb3ctPnBsYWNlQm94ZXNJ
bklubGluZURpcmVjdGlvbihsb2dpY2FsTGVmdCwgbmVlZHNXb3JkU3BhY2luZywgdGV4dEJveERh
dGFNYXApOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2lj
YWxSaWdodCgpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cgPSBt
aW4obG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbExlZnRMYXlvdXRPdmVy
ZmxvdygpKTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1h
eChsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3coKSk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1p
bihsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93KCkpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4
KGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdygpKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWN1cnItPnJlbmRlcmVyKCktPmlzTGlz
dE1hcmtlcigpIHx8IHRvUmVuZGVyTGlzdE1hcmtlcihjdXJyLT5yZW5kZXJlcigpKS0+aXNJbnNp
ZGUoKSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBib3ggY2FuIGhhdmUgYSBkaWZmZXJlbnQg
d3JpdGluZy1tb2RlIHRoYW4gdGhlIG92ZXJhbGwgbGluZSwgc28gdGhpcyBpcyBhIGJpdCBjb21w
bGljYXRlZC4KICAgICAgICAgICAgICAgICAvLyBKdXN0IGdldCBhbGwgdGhlIHBoeXNpY2FsIG1h
cmdpbiBhbmQgb3ZlcmZsb3cgdmFsdWVzIGJ5IGhhbmQgYmFzZWQgb2ZmIHxpc1ZlcnRpY2FsfC4K
QEAgLTMzNywxOCArMjk4LDYgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGlu
ZURpcgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGxv
Z2ljYWxMZWZ0TWFyZ2luOwogICAgICAgICAgICAgICAgIGN1cnItPnNldExvZ2ljYWxMZWZ0KGxv
Z2ljYWxMZWZ0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgUmVu
ZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChjdXJyLT5yZW5kZXJlcigpKTsKLQotICAgICAgICAg
ICAgICAgIGludCBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQgPSBib3gtPmhhc092ZXJmbG93Q2xp
cCgpID8gMCA6IChpc0hvcml6b250YWwoKSA/IGJveC0+bGVmdExheW91dE92ZXJmbG93KCkgOiBi
b3gtPnRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAgIGludCBjaGlsZE92ZXJm
bG93TG9naWNhbFJpZ2h0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IGN1cnItPmxvZ2ljYWxX
aWR0aCgpIDogKGlzSG9yaXpvbnRhbCgpID8gYm94LT5yaWdodExheW91dE92ZXJmbG93KCkgOiBi
b3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGls
ZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cpOwotICAgICAg
ICAgICAgICAgIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwot
Ci0gICAgICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2Fs
TGVmdCArIChpc0hvcml6b250YWwoKSA/IGJveC0+bGVmdFZpc3VhbE92ZXJmbG93KCkgOiBib3gt
PnRvcFZpc3VhbE92ZXJmbG93KCkpLCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KTsKLSAgICAg
ICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCAr
IChpc0hvcml6b250YWwoKSA/IGJveC0+cmlnaHRWaXN1YWxPdmVyZmxvdygpIDogYm94LT5ib3R0
b21WaXN1YWxPdmVyZmxvdygpKSwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gY3Vyci0+bG9naWNhbFdp
ZHRoKCkgKyBsb2dpY2FsUmlnaHRNYXJnaW47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAg
LTM1NiwxMCArMzA1LDYgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURp
cgogCiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbFJpZ2h0KCkgKyBwYWRkaW5nTG9n
aWNhbFJpZ2h0KCk7CiAgICAgc2V0TG9naWNhbFdpZHRoKGxvZ2ljYWxMZWZ0IC0gc3RhcnRMb2dp
Y2FsTGVmdCk7Ci0gICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExl
ZnQgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsK
LSAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCwgbG9naWNh
bFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgc2V0SW5saW5lRGlyZWN0aW9uT3ZlcmZsb3dQ
b3NpdGlvbnMobG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgbG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3csIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93KTsKICAgICByZXR1cm4gbG9naWNhbExlZnQ7CiB9CiAKQEAgLTc0MywzMiArNjg4LDExMiBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmZsaXBMaW5lc0luQmxvY2tEaXJlCiAgICAgfQogfQogCi12
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk92ZXJmbG93KGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFs
bGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCit2b2lkIElubGluZUZsb3dCb3g6OmFkZEJv
eFNoYWRvd1Zpc3VhbE92ZXJmbG93KEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdykKK3sK
KyAgICBpZiAoIXBhcmVudCgpKQorICAgICAgICByZXR1cm47IC8vIEJveC1zaGFkb3cgZG9lc24n
dCBhcHBseSB0byByb290IGxpbmUgYm94ZXMuCisKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbFRv
cDsKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbEJvdHRvbTsKKyAgICByZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRv
d0xvZ2ljYWxUb3AsIGJveFNoYWRvd0xvZ2ljYWxCb3R0b20pOworICAgIAorICAgIGludCBsb2dp
Y2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbFRvcCgpICsgYm94U2hhZG93TG9naWNh
bFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CisgICAgaW50IGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsQm90dG9tKCkgKyBib3hTaGFkb3dMb2dpY2FsQm90
dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cuYm90dG9tKCkpOworICAgIAorICAgIGludCBib3hT
aGFkb3dMb2dpY2FsTGVmdDsKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OworICAgIHJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9u
RXh0ZW50KGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOworCisg
ICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJv
eFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFk
b3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5yaWdodCgpKTsKKyAgICAKKyAg
ICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZs
b3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93KTsKK30KKwordm9pZCBJbmxpbmVGbG93Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcmZs
b3coY29uc3QgSW5saW5lVGV4dEJveCogdGV4dEJveCwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNr
Rm9udHNNYXAmIHRleHRCb3hEYXRhTWFwLCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cp
CiB7CisgICAgaW50IHN0cm9rZU92ZXJmbG93ID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZihyZW5k
ZXJlcigpLT5zdHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKKworICAgIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRleHRCb3hEYXRhTWFw
LmZpbmQodGV4dEJveCk7CisgICAgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IGl0ID09
IHRleHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vjb25kLnNlY29uZDsKKwogICAgIGJv
b2wgaXNGbGlwcGVkTGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNGbGlw
cGVkTGluZXNXcml0aW5nTW9kZSgpOwogCi0gICAgaW50IGJveEhlaWdodCA9IGxvZ2ljYWxIZWln
aHQoKTsKKyAgICBpbnQgdG9wR2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IChpc0ZsaXBwZWRM
aW5lID8gZ2x5cGhPdmVyZmxvdy0+Ym90dG9tIDogZ2x5cGhPdmVyZmxvdy0+dG9wKSA6IDA7Cisg
ICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/
IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSkgOiAwOworICAgIGlu
dCBsZWZ0R2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IGdseXBoT3ZlcmZsb3ctPmxlZnQgOiAw
OworICAgIGludCByaWdodEdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93
LT5yaWdodCA6IDA7CisgICAgCisgICAgaW50IHRvcEdseXBoT3ZlcmZsb3cgPSAtc3Ryb2tlT3Zl
cmZsb3cgLSB0b3BHbHlwaEVkZ2U7CisgICAgaW50IGJvdHRvbUdseXBoT3ZlcmZsb3cgPSBzdHJv
a2VPdmVyZmxvdyArIGJvdHRvbUdseXBoRWRnZTsKKyAgICBpbnQgbGVmdEdseXBoT3ZlcmZsb3cg
PSAtc3Ryb2tlT3ZlcmZsb3cgLSBsZWZ0R2x5cGhFZGdlOworICAgIGludCByaWdodEdseXBoT3Zl
cmZsb3cgPSBzdHJva2VPdmVyZmxvdyArIHJpZ2h0R2x5cGhFZGdlOworCisgICAgLy8gSWYgbGV0
dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3IgdGhhdCBpbnRvIHJpZ2h0
IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3BhY2luZyBpcworICAgIC8v
IGFwcGxpZWQgdG8gdGhlIHJpZ2h0LCBzbyB0aGlzIGlzIG5vdCBhbiBpc3N1ZSB3aXRoIGxlZnQg
b3ZlcmZsb3cuCisgICAgaW50IGxldHRlclNwYWNpbmcgPSBtaW4oMCwgKGludClyZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5sZXR0ZXJTcGFjaW5nKCkpOworICAgIHJpZ2h0
R2x5cGhPdmVyZmxvdyAtPSBsZXR0ZXJTcGFjaW5nOworCisgICAgaW50IHRleHRTaGFkb3dMb2dp
Y2FsVG9wOworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbEJvdHRvbTsKKyAgICByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmdldFRleHRTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudCh0
ZXh0U2hhZG93TG9naWNhbFRvcCwgdGV4dFNoYWRvd0xvZ2ljYWxCb3R0b20pOworICAgIAorICAg
IGludCBjaGlsZE92ZXJmbG93TG9naWNhbFRvcCA9IG1pbih0ZXh0U2hhZG93TG9naWNhbFRvcCAr
IHRvcEdseXBoT3ZlcmZsb3csIHRvcEdseXBoT3ZlcmZsb3cpOworICAgIGludCBjaGlsZE92ZXJm
bG93TG9naWNhbEJvdHRvbSA9IG1heCh0ZXh0U2hhZG93TG9naWNhbEJvdHRvbSArIGJvdHRvbUds
eXBoT3ZlcmZsb3csIGJvdHRvbUdseXBoT3ZlcmZsb3cpOworICAgCisgICAgaW50IHRleHRTaGFk
b3dMb2dpY2FsTGVmdDsKKyAgICBpbnQgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25F
eHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxMZWZ0LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKKyAg
IAorICAgIGludCBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQgPSBtaW4odGV4dFNoYWRvd0xvZ2lj
YWxMZWZ0ICsgbGVmdEdseXBoT3ZlcmZsb3csIGxlZnRHbHlwaE92ZXJmbG93KTsKKyAgICBpbnQg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IG1heCh0ZXh0U2hhZG93TG9naWNhbFJpZ2h0ICsg
cmlnaHRHbHlwaE92ZXJmbG93LCByaWdodEdseXBoT3ZlcmZsb3cpOworCisgICAgaW50IGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92
ZXJmbG93TG9naWNhbFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CisgICAgaW50IGxv
Z2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsQm90dG9tKCkg
KyBjaGlsZE92ZXJmbG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93LmJvdHRv
bSgpKTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5s
b2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4
dEJveC0+bG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkUmVwbGFjZWRDaGlsZE92ZXJmbG93KGNvbnN0IElubGluZUJveCogaW5s
aW5lQm94LCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIEludFJlY3QmIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdykKK3sKKyAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGlubGlu
ZUJveC0+cmVuZGVyZXIoKSk7CisgICAgCisgICAgLy8gVmlzdWFsIG92ZXJmbG93IG9ubHkgcHJv
cGFnYXRlcyBpZiB0aGUgYm94IGRvZXNuJ3QgaGF2ZSBhIHNlbGYtcGFpbnRpbmcgbGF5ZXIuICBU
aGlzIHJlY3RhbmdsZSBkb2VzIG5vdCBpbmNsdWRlCisgICAgLy8gdHJhbnNmb3JtcyBvciByZWxh
dGl2ZSBwb3NpdGlvbmluZyAoc2luY2UgdGhvc2Ugb2JqZWN0cyBhbHdheXMgaGF2ZSBzZWxmLXBh
aW50aW5nIGxheWVycyksIGJ1dCBpdCBkb2VzIG5lZWQgdG8gYmUgYWRqdXN0ZWQKKyAgICAvLyBm
b3Igd3JpdGluZy1tb2RlIGRpZmZlcmVuY2VzLgorICAgIGlmICghYm94LT5oYXNTZWxmUGFpbnRp
bmdMYXllcigpKSB7CisgICAgICAgIEludFJlY3QgY2hpbGRMb2dpY2FsVmlzdWFsT3ZlcmZsb3cg
PSBib3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigp
LT5zdHlsZSgpKTsKKyAgICAgICAgY2hpbGRMb2dpY2FsVmlzdWFsT3ZlcmZsb3cubW92ZShpbmxp
bmVCb3gtPmxvZ2ljYWxMZWZ0KCksIGlubGluZUJveC0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAg
bG9naWNhbFZpc3VhbE92ZXJmbG93LnVuaXRlKGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93KTsK
KyAgICB9CisKKyAgICAvLyBMYXlvdXQgb3ZlcmZsb3cgaW50ZXJuYWwgdG8gdGhlIGNoaWxkIGJv
eCBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGNoaWxkIGJveCBkb2Vzbid0IGhhdmUgb3ZlcmZsb3cg
Y2xpcCBzZXQuCisgICAgLy8gT3RoZXJ3aXNlIHRoZSBjaGlsZCBib3JkZXIgYm94IHByb3BhZ2F0
ZXMgYXMgbGF5b3V0IG92ZXJmbG93LiAgVGhpcyByZWN0YW5nbGUgbXVzdCBpbmNsdWRlIHRyYW5z
Zm9ybXMgYW5kIHJlbGF0aXZlIHBvc2l0aW9uaW5nCisgICAgLy8gYW5kIGJlIGFkanVzdGVkIGZv
ciB3cml0aW5nLW1vZGUgZGlmZmVyZW5jZXMuCisgICAgSW50UmVjdCBjaGlsZExvZ2ljYWxMYXlv
dXRPdmVyZmxvdyA9IGJveC0+bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9u
KHJlbmRlcmVyKCktPnN0eWxlKCkpOworICAgIGNoaWxkTG9naWNhbExheW91dE92ZXJmbG93Lm1v
dmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBpbmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSk7Cisg
ICAgbG9naWNhbExheW91dE92ZXJmbG93LnVuaXRlKGNoaWxkTG9naWNhbExheW91dE92ZXJmbG93
KTsKK30KIAordm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlT3ZlcmZsb3coaW50IGxpbmVUb3As
IGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFj
a0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKK3sKICAgICAvLyBBbnkgc3BpbGxhZ2Ugb3V0c2lk
ZSBvZiB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpcyBub3QgY29uc2lkZXJlZCBvdmVyZmxvdy4g
IFdlIGp1c3QgaWdub3JlIHRoaXMsIHNpbmNlIGl0IG9ubHkgaGFwcGVucwogICAgIC8vIGZyb20g
dGhlICJ5b3VyIGFzY2VudC9kZXNjZW50IGRvbid0IGFmZmVjdCB0aGUgbGluZSIgcXVpcmsuCiAg
ICAgaW50IHRvcE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxUb3AoKSwgbGluZVRvcCk7Ci0gICAgaW50
IGJvdHRvbU92ZXJmbG93ID0gbWluKGxvZ2ljYWxUb3AoKSArIGJveEhlaWdodCwgbGluZUJvdHRv
bSk7CisgICAgaW50IGJvdHRvbU92ZXJmbG93ID0gbWluKGxvZ2ljYWxCb3R0b20oKSwgbGluZUJv
dHRvbSk7CiAgICAgCi0gICAgaW50IHRvcExheW91dE92ZXJmbG93ID0gdG9wT3ZlcmZsb3c7Ci0g
ICAgaW50IGJvdHRvbUxheW91dE92ZXJmbG93ID0gYm90dG9tT3ZlcmZsb3c7Ci0gICAgCi0gICAg
aW50IHRvcFZpc3VhbE92ZXJmbG93ID0gdG9wT3ZlcmZsb3c7Ci0gICAgaW50IGJvdHRvbVZpc3Vh
bE92ZXJmbG93ID0gYm90dG9tT3ZlcmZsb3c7CisgICAgLy8gVmlzdWFsIG92ZXJmbG93IGp1c3Qg
aW5jbHVkZXMgb3ZlcmZsb3cgZm9yIHN0dWZmIHdlIG5lZWQgdG8gcmVwYWludCBvdXJzZWx2ZXMu
ICBTZWxmLXBhaW50aW5nIGxheWVycyBhcmUgaWdub3JlZC4KKyAgICAvLyBMYXlvdXQgb3ZlcmZs
b3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgc2Nyb2xsaW5nIGV4dGVudCwgc28gaXQgc3RpbGwgaW5j
bHVkZXMgY2hpbGQgbGF5ZXJzIGFuZCBhbHNvIGZhY3RvcnMgaW4KKyAgICAvLyB0cmFuc2Zvcm1z
LCByZWxhdGl2ZSBwb3NpdGlvbmluZywgZXRjLgorICAgIEludFJlY3QgbG9naWNhbExheW91dE92
ZXJmbG93KGxvZ2ljYWxMZWZ0KCksIHRvcE92ZXJmbG93LCBsb2dpY2FsV2lkdGgoKSwgYm90dG9t
T3ZlcmZsb3cgLSB0b3BPdmVyZmxvdyk7CisgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZs
b3cobG9naWNhbExheW91dE92ZXJmbG93KTsKICAgCiAgICAgLy8gYm94LXNoYWRvdyBvbiByb290
IGxpbmUgYm94ZXMgaXMgYXBwbHlpbmcgdG8gdGhlIGJsb2NrIGFuZCBub3QgdG8gdGhlIGxpbmVz
LgotICAgIGlmIChwYXJlbnQoKSkgewotICAgICAgICBpbnQgYm94U2hhZG93VG9wOwotICAgICAg
ICBpbnQgYm94U2hhZG93Qm90dG9tOwotICAgICAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0
TGluZSktPmdldEJveFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRvd1RvcCwgYm94
U2hhZG93Qm90dG9tKTsKLSAgICAgICAgCi0gICAgICAgIHRvcFZpc3VhbE92ZXJmbG93ID0gbWlu
KGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd1RvcCwgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAgICAg
ICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsVG9wKCkgKyBib3hIZWlnaHQgKyBi
b3hTaGFkb3dCb3R0b20sIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICB9CisgICAgYWRkQm94
U2hhZG93VmlzdWFsT3ZlcmZsb3cobG9naWNhbFZpc3VhbE92ZXJmbG93KTsKIAogICAgIGZvciAo
SW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9u
TGluZSgpKSB7CiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkK
QEAgLTc3OSw2NCArODA0LDYwIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUJsb2NrRGly
ZWN0aW8KICAgICAgICAgICAgIFJlbmRlclRleHQqIHJ0ID0gdG9SZW5kZXJUZXh0KHRleHQtPnJl
bmRlcmVyKCkpOwogICAgICAgICAgICAgaWYgKHJ0LT5pc0JSKCkpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBhZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3codGV4dCwgdGV4
dEJveERhdGFNYXAsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgICAgIH0gZWxzZSAgaWYg
KGN1cnItPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkpIHsKKyAgICAgICAgICAgIElubGlu
ZUZsb3dCb3gqIGZsb3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisgICAg
ICAgICAgICBmbG93LT5jb21wdXRlT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgc3RyaWN0
TW9kZSwgdGV4dEJveERhdGFNYXApOworICAgICAgICAgICAgaWYgKCFmbG93LT5ib3hNb2RlbE9i
amVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy51bml0ZShmbG93LT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwor
ICAgICAgICAgICAgSW50UmVjdCBjaGlsZExheW91dE92ZXJmbG93ID0gZmxvdy0+bG9naWNhbExh
eW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgY2hpbGRMYXlvdXRPdmVyZmxvdy5tb3Zl
KGZsb3ctPmJveE1vZGVsT2JqZWN0KCktPnJlbGF0aXZlUG9zaXRpb25Mb2dpY2FsT2Zmc2V0KCkp
OworICAgICAgICAgICAgbG9naWNhbExheW91dE92ZXJmbG93LnVuaXRlKGNoaWxkTGF5b3V0T3Zl
cmZsb3cpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGFkZFJlcGxhY2VkQ2hpbGRPdmVy
ZmxvdyhjdXJyLCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7
CisgICAgfQorICAgIAorICAgIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhsb2dpY2FsTGF5
b3V0T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdywgbGluZVRvcCwgbGluZUJvdHRvbSk7
Cit9CiAKLSAgICAgICAgICAgIGludCBzdHJva2VPdmVyZmxvdyA9IHN0YXRpY19jYXN0PGludD4o
Y2VpbGYocnQtPnN0eWxlKCktPnRleHRTdHJva2VXaWR0aCgpIC8gMi4wZikpOwotCi0gICAgICAg
ICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0
Qm94RGF0YU1hcC5maW5kKHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAg
ICAgICAgICBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFN
YXAuZW5kKCkgPyAwIDogJml0LT5zZWNvbmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgdG9w
R2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IChpc0ZsaXBwZWRMaW5lID8gZ2x5cGhPdmVyZmxv
dy0+Ym90dG9tIDogZ2x5cGhPdmVyZmxvdy0+dG9wKSA6IDA7Ci0gICAgICAgICAgICBpbnQgYm90
dG9tR2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IChpc0ZsaXBwZWRMaW5lID8gZ2x5cGhPdmVy
Zmxvdy0+dG9wIDogZ2x5cGhPdmVyZmxvdy0+Ym90dG9tKSA6IDA7Ci0KLSAgICAgICAgICAgIGlu
dCB0b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOwotICAg
ICAgICAgICAgaW50IGJvdHRvbUdseXBoT3ZlcmZsb3cgPSBzdHJva2VPdmVyZmxvdyArIGJvdHRv
bUdseXBoRWRnZTsKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRkTGF5b3V0T3ZlcmZsb3coY29uc3Qg
SW50UmVjdCYgcmVjdCwgaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKQoreworICAgIEludFJl
Y3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBmcmFtZUJveC5pbnRlcnNlY3QoSW50UmVj
dChmcmFtZUJveC54KCksIGxpbmVUb3AsIGZyYW1lQm94LndpZHRoKCksIGxpbmVCb3R0b20gLSBs
aW5lVG9wKSk7CisgICAgaWYgKGZyYW1lQm94LmNvbnRhaW5zKHJlY3QpIHx8IHJlY3QuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgIGlmICghbV9vdmVyZmxvdykKKyAg
ICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGZyYW1lQm94LCBmcmFtZUJv
eCkpOworICAgIAorICAgIG1fb3ZlcmZsb3ctPmFkZExheW91dE92ZXJmbG93KHJlY3QpOworfQog
Ci0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd1RvcDsKLSAgICAgICAgICAgIGludCB0ZXh0U2hh
ZG93Qm90dG9tOwotICAgICAgICAgICAgY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5nZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd1RvcCwgdGV4
dFNoYWRvd0JvdHRvbSk7Cit2b2lkIElubGluZUZsb3dCb3g6OmFkZFZpc3VhbE92ZXJmbG93KGNv
bnN0IEludFJlY3QmIHJlY3QsIGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSkKK3sKKyAgICBJ
bnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgZnJhbWVCb3guaW50ZXJzZWN0KElu
dFJlY3QoZnJhbWVCb3gueCgpLCBsaW5lVG9wLCBmcmFtZUJveC53aWR0aCgpLCBsaW5lQm90dG9t
IC0gbGluZVRvcCkpOworICAgIGlmIChmcmFtZUJveC5jb250YWlucyhyZWN0KSB8fCByZWN0Lmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICAgICAgICAgIGludCBjaGls
ZE92ZXJmbG93VG9wID0gbWluKHRleHRTaGFkb3dUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BH
bHlwaE92ZXJmbG93KTsKLSAgICAgICAgICAgIGludCBjaGlsZE92ZXJmbG93Qm90dG9tID0gbWF4
KHRleHRTaGFkb3dCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlwaE92ZXJm
bG93KTsKKyAgICBpZiAoIW1fb3ZlcmZsb3cpCisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBS
ZW5kZXJPdmVyZmxvdyhmcmFtZUJveCwgZnJhbWVCb3gpKTsKICAgICAKLSAgICAgICAgICAgIHRv
cFZpc3VhbE92ZXJmbG93ID0gbWluKGN1cnItPmxvZ2ljYWxUb3AoKSArIGNoaWxkT3ZlcmZsb3dU
b3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgIGJvdHRvbVZpc3VhbE92ZXJmbG93
ID0gbWF4KGN1cnItPmxvZ2ljYWxUb3AoKSArIHRleHQtPmxvZ2ljYWxIZWlnaHQoKSArIGNoaWxk
T3ZlcmZsb3dCb3R0b20sIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgfSBlbHNlICBp
ZiAoY3Vyci0+cmVuZGVyZXIoKS0+aXNSZW5kZXJJbmxpbmUoKSkgewotICAgICAgICAgICAgSW5s
aW5lRmxvd0JveCogZmxvdyA9IHN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKTsKLSAg
ICAgICAgICAgIGZsb3ctPmNvbXB1dGVCbG9ja0RpcmVjdGlvbk92ZXJmbG93KGxpbmVUb3AsIGxp
bmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsKLSAgICAgICAgICAgIHRvcExh
eW91dE92ZXJmbG93ID0gbWluKHRvcExheW91dE92ZXJmbG93LCBmbG93LT5sb2dpY2FsVG9wTGF5
b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICBib3R0b21MYXlvdXRPdmVyZmxvdyA9IG1heChi
b3R0b21MYXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93KCkp
OwotICAgICAgICAgICAgdG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odG9wVmlzdWFsT3ZlcmZsb3cs
IGZsb3ctPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgIGJvdHRvbVZp
c3VhbE92ZXJmbG93ID0gbWF4KGJvdHRvbVZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsQm90
dG9tVmlzdWFsT3ZlcmZsb3coKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWN1cnItPmJveE1vZGVs
T2JqZWN0KCktPmhhc1NlbGZQYWludGluZ0xheWVyKCkpewotICAgICAgICAgICAgLy8gT25seSBp
bmNsdWRlIG92ZXJmbG93IGZyb20gcmVwbGFjZWQgaW5saW5lcyBpZiB0aGV5IGRvIG5vdCBwYWlu
dCB0aGVtc2VsdmVzLgotICAgICAgICAgICAgaW50IGJveExvZ2ljYWxUb3AgPSBjdXJyLT5sb2dp
Y2FsVG9wKCk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRUb3BMYXlvdXRPdmVyZmxvdzsKLSAgICAg
ICAgICAgIGludCBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93OwotICAgICAgICAgICAgaW50IGNo
aWxkVG9wVmlzdWFsT3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21WaXN1YWxP
dmVyZmxvdzsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1Jl
bmRlckJveChjdXJyLT5yZW5kZXJlcigpKTsKLSAgICAgICAgICAgIGJveC0+YmxvY2tEaXJlY3Rp
b25PdmVyZmxvdyhpc0hvcml6b250YWwoKSwgY2hpbGRUb3BMYXlvdXRPdmVyZmxvdywgY2hpbGRC
b3R0b21MYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGlsZFRvcFZpc3VhbE92ZXJmbG93LCBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93KTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKGJveC0+aGFzT3ZlcmZsb3dDbGlwKCkpIHsK
LSAgICAgICAgICAgICAgICBjaGlsZFRvcExheW91dE92ZXJmbG93ID0gMDsKLSAgICAgICAgICAg
ICAgICBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93ID0gY3Vyci0+bG9naWNhbEhlaWdodCgpOwot
ICAgICAgICAgICAgfQorICAgIG1fb3ZlcmZsb3ctPmFkZFZpc3VhbE92ZXJmbG93KHJlY3QpOwor
fQogCi0gICAgICAgICAgICB0b3BMYXlvdXRPdmVyZmxvdyA9IG1pbihib3hMb2dpY2FsVG9wICsg
Y2hpbGRUb3BMYXlvdXRPdmVyZmxvdywgdG9wTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICAgICAg
Ym90dG9tTGF5b3V0T3ZlcmZsb3cgPSBtYXgoYm94TG9naWNhbFRvcCArIGNoaWxkQm90dG9tTGF5
b3V0T3ZlcmZsb3csIGJvdHRvbUxheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgIHRvcFZpc3Vh
bE92ZXJmbG93ID0gbWluKGJveExvZ2ljYWxUb3AgKyBjaGlsZFRvcFZpc3VhbE92ZXJmbG93LCB0
b3BWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1h
eChib3hMb2dpY2FsVG9wICsgY2hpbGRCb3R0b21WaXN1YWxPdmVyZmxvdywgYm90dG9tVmlzdWFs
T3ZlcmZsb3cpOwotICAgICAgICB9Ci0gICAgfQordm9pZCBJbmxpbmVGbG93Qm94OjpzZXRPdmVy
Zmxvd0Zyb21Mb2dpY2FsUmVjdHMoY29uc3QgSW50UmVjdCYgbG9naWNhbExheW91dE92ZXJmbG93
LCBjb25zdCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3csIGludCBsaW5lVG9wLCBpbnQg
bGluZUJvdHRvbSkKK3sKKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93KGlzSG9yaXpvbnRhbCgp
ID8gbG9naWNhbExheW91dE92ZXJmbG93IDogbG9naWNhbExheW91dE92ZXJmbG93LnRyYW5zcG9z
ZWRSZWN0KCkpOworICAgIGFkZExheW91dE92ZXJmbG93KGxheW91dE92ZXJmbG93LCBsaW5lVG9w
LCBsaW5lQm90dG9tKTsKICAgICAKLSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRp
b25zKHRvcExheW91dE92ZXJmbG93LCBib3R0b21MYXlvdXRPdmVyZmxvdywgdG9wVmlzdWFsT3Zl
cmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93
KGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbFZpc3VhbE92ZXJmbG93IDogbG9naWNhbFZpc3VhbE92
ZXJmbG93LnRyYW5zcG9zZWRSZWN0KCkpOworICAgIGFkZFZpc3VhbE92ZXJmbG93KHZpc3VhbE92
ZXJmbG93LCBsaW5lVG9wLCBsaW5lQm90dG9tKTsKIH0KIAogYm9vbCBJbmxpbmVGbG93Qm94Ojpu
b2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYg
cmVzdWx0LCBpbnQgeCwgaW50IHksIGludCB0eCwgaW50IHR5KQogewotICAgIEludFJlY3Qgb3Zl
cmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1Jl
Y3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwogICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxv
d1JlY3QpOwogICAgIG92ZXJmbG93UmVjdC5tb3ZlKHR4LCB0eSk7CiAgICAgaWYgKCFvdmVyZmxv
d1JlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkKQEAgLTg2NSw3ICs4
ODYsNyBAQCBib29sIElubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAKIHZvaWQg
SW5saW5lRmxvd0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5
KQogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7Cisg
ICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwogICAgIG92ZXJm
bG93UmVjdC5pbmZsYXRlKHJlbmRlcmVyKCktPm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8u
cGhhc2UpKTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVy
Zmxvd1JlY3QubW92ZSh0eCwgdHkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxv
d0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAko
cmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTE2MywxMCArMTYzLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHBsYWNl
Qm94ZXNJbkJsb2NrRGlyZWN0aW9uKGludCBsb2dpY2FsVG9wLCBpbnQgbWF4SGVpZ2h0LCBpbnQg
bWF4QXNjZW50LCBib29sIHN0cmljdE1vZGUsIGludCYgbGluZVRvcCwgaW50JiBsaW5lQm90dG9t
LCBib29sJiBzZXRMaW5lVG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50JiBsaW5lVG9wSW5jbHVkaW5nTWFyZ2lucywgaW50JiBsaW5lQm90dG9tSW5jbHVkaW5nTWFy
Z2lucywgYm9vbCYgY29udGFpbnNSdWJ5LCBGb250QmFzZWxpbmUpOwogICAgIHZvaWQgZmxpcExp
bmVzSW5CbG9ja0RpcmVjdGlvbihpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20pOwotICAgIHZv
aWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3coaW50IGxpbmVUb3AsIGludCBsaW5lQm90
dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7
CiAgICAgYm9vbCByZXF1aXJlc0lkZW9ncmFwaGljQmFzZWxpbmUoY29uc3QgR2x5cGhPdmVyZmxv
d0FuZEZhbGxiYWNrRm9udHNNYXAmKSBjb25zdDsKICAgICBpbnQgY29tcHV0ZUJsb2NrRGlyZWN0
aW9uUnVieUFkanVzdG1lbnQoaW50IGFsbG93ZWRQb3NpdGlvbikgY29uc3Q7CiAgICAgCisgICAg
dm9pZCBjb21wdXRlT3ZlcmZsb3coaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tLCBib29sIHN0
cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CisgICAgCiAgICAg
dm9pZCByZW1vdmVDaGlsZChJbmxpbmVCb3gqIGNoaWxkKTsKIAogICAgIHZpcnR1YWwgUmVuZGVy
T2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpOwpAQCAtMTgzLDE3ICsxODQs
NiBAQCBwdWJsaWM6CiAgICAgLy8gdG9wL3JpZ2h0L2JvdHRvbS9sZWZ0IGluIHRoZSBjb2RlIC0g
dGhlc2UgYXJlbid0IHB1cmVseSBwaHlzaWNhbCBkaXJlY3Rpb25zLiAgRm9yIGhvcml6b250YWwt
dGIgYW5kIHZlcnRpY2FsLWxyIHRoZXkgd2lsbCBtYXRjaCBwaHlzaWNhbAogICAgIC8vIGRpcmVj
dGlvbnMsIGJ1dCBmb3IgaG9yaXpvbnRhbC1idCBhbmQgdmVydGljYWwtcmwsIHRoZSB0b3AvYm90
dG9tIGFuZCBsZWZ0L3JpZ2h0IHJlc3BlY3RpdmVseSBhcmUgaW52ZXJ0ZWQgd2hlbiBjb21wYXJl
ZCB0bwogICAgIC8vIHRoZWlyIHBoeXNpY2FsIGNvdW50ZXJwYXJ0cy4KLSAgICBpbnQgdG9wVmlz
aWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptaW4odG9wTGF5b3V0T3ZlcmZsb3co
KSwgdG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgYm90dG9tVmlzaWJsZU92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoYm90dG9tTGF5b3V0T3ZlcmZsb3coKSwgYm90dG9t
VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbGVmdFZpc2libGVPdmVyZmxvdygpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bWluKGxlZnRMYXlvdXRPdmVyZmxvdygpLCBsZWZ0VmlzdWFsT3ZlcmZs
b3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBz
dGQ6Om1heChyaWdodExheW91dE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0K
LSAgICBpbnQgbG9naWNhbExlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6
Om1pbihsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCksIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZs
b3coKSk7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gc3RkOjptYXgobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWluKGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdygpLCBsb2dp
Y2FsVG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbEJvdHRvbVZpc2libGVP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVy
ZmxvdygpLCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSk7IH0KLQotICAgIEludFJlY3Qg
dmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkgOiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBo
ZWlnaHQoKSk7ICB9Ci0KICAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dG9wTGF5b3V0T3ZlcmZsb3coKSA6IG1feTsgfQog
ICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0K
ICAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogbV94OyB9CkBAIC0yMDMsNiArMTkz
LDEzIEBAIHB1YmxpYzoKICAgICBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gcmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm90dG9tTGF5b3V0T3ZlcmZsb3coKTsgfQogICAg
IGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigp
LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZsb3co
KSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBib3R0b21MYXlvdXRPdmVyZmxvdygpIDogcmlnaHRMYXlvdXRPdmVy
ZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QK
KyAgICB7CisgICAgICAgIEludFJlY3QgcmVzdWx0ID0gbGF5b3V0T3ZlcmZsb3dSZWN0KCk7Cisg
ICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC50cmFuc3Bvc2VkUmVjdCgpOworICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIH0KIAogICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT50b3BWaXN1YWxPdmVyZmxvdygp
IDogbV95OyB9CiAgICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
bV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiBtX3kgKyBo
ZWlnaHQoKTsgfQpAQCAtMjEzLDExICsyMTAsMjIgQEAgcHVibGljOgogICAgIGludCBsb2dpY2Fs
UmlnaHRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByaWdodFZpc3VhbE92ZXJmbG93KCkgOiBib3R0
b21WaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyB0b3BWaXN1YWxPdmVyZmxvdygpIDogbGVmdFZpc3VhbE92ZXJmbG93KCk7IH0KICAg
ICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVy
ZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJvdHRvbVZpc3VhbE92
ZXJmbG93KCkgOiByaWdodFZpc3VhbE92ZXJmbG93KCk7IH0KKyAgICBJbnRSZWN0IGxvZ2ljYWxW
aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdAorICAgIHsKKyAgICAgICAgSW50UmVjdCByZXN1bHQg
PSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0
LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogCi0gICAg
dm9pZCBzZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNhbExlZnRM
YXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgdm9pZCBzZXRC
bG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZs
b3csIGludCBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGlu
dCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgc2V0T3ZlcmZsb3dGcm9t
TG9naWNhbFJlY3RzKGNvbnN0IEludFJlY3QmIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3Qg
SW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93LCBpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0
b20pOworICAgIHZvaWQgYWRkTGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYsIGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSk7CisgICAgdm9pZCBhZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJ
bnRSZWN0JiwgaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tKTsKKworcHJpdmF0ZToKKyAgICB2
b2lkIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdyk7CisgICAgdm9pZCBhZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3coY29uc3QgSW5saW5lVGV4
dEJveCosIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgSW50UmVjdCYgbG9naWNh
bFZpc3VhbE92ZXJmbG93KTsKKyAgICB2b2lkIGFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdyhjb25z
dCBJbmxpbmVCb3gqLCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIEludFJlY3QmIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyk7CiAKIHByb3RlY3RlZDoKICAgICBPd25QdHI8UmVuZGVyT3Zl
cmZsb3c+IG1fb3ZlcmZsb3c7CkBAIC0yMzksNTIgKzI0Nyw2IEBAIHByb3RlY3RlZDoKICNlbmRp
ZgogfTsKIAotaW5saW5lIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0SW5saW5lRGlyZWN0aW9uT3Zl
cmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2Fs
UmlnaHRMYXlvdXRPdmVyZmxvdywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dywgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KSAKLXsgCi0gICAgaWYgKCFtX292ZXJm
bG93KSB7Ci0gICAgICAgIGlmIChsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxM
ZWZ0KCkgJiYgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkgCi0g
ICAgICAgICAgICAmJiBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxMZWZ0KCkg
JiYgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkpCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZsb3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3Zl
cmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7ICAgCi0gICAgfQot
Ci0gICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRM
YXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVy
Zmxvdy0+c2V0UmlnaHRMYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyk7
Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZp
c3VhbE92ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0VmlzdWFsT3ZlcmZs
b3cobG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1f
b3ZlcmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cp
OwotICAgICAgICBtX292ZXJmbG93LT5zZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmln
aHRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3VhbE92ZXJm
bG93KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOyAKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0
Qm90dG9tVmlzdWFsT3ZlcmZsb3cobG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOyAgCi0gICAg
fQotfQotCi1pbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRCbG9ja0RpcmVjdGlvbk92ZXJm
bG93UG9zaXRpb25zKGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsQm90
dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGlu
dCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCi17Ci0gICAgaWYgKCFtX292ZXJmbG93KSB7
Ci0gICAgICAgIGlmIChsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYm
IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsQm90dG9tKCkKLSAgICAgICAg
ICAgICYmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsVG9wKCkgJiYgbG9naWNh
bEJvdHRvbVZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxCb3R0b20oKSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgbV9vdmVyZmxvdyA9IGFkb3B0UHRyKG5ldyBSZW5kZXJPdmVyZmxvdyhJ
bnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKLSAgICB9Ci0KLSAgICBpZiAo
aXNIb3Jpem9udGFsKCkpIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0VG9wTGF5b3V0T3ZlcmZs
b3cobG9naWNhbFRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90
dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93KTsKLSAgICAgICAg
bV9vdmVyZmxvdy0+c2V0VG9wVmlzdWFsT3ZlcmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxvZ2ljYWxC
b3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+
c2V0TGVmdExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAg
IG1fb3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92
ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0TGVmdFZpc3VhbE92ZXJmbG93KGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3Vh
bE92ZXJmbG93KGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfQotfQotCiAjaWZk
ZWYgTkRFQlVHCiBpbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpjaGVja0NvbnNpc3RlbmN5KCkg
Y29uc3QKIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjE3LDYgKzEyMTcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJl
bGF5CiAgCiAgICAgLy8gQ2FsY3VsYXRlIG91ciBuZXcgaGVpZ2h0LgogICAgIGludCBvbGRIZWln
aHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IG9sZENsaWVudEFmdGVyRWRnZSA9IGNsaWVu
dExvZ2ljYWxCb3R0b20oKTsKICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgIGludCBu
ZXdIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAgICAgaWYgKG9sZEhlaWdodCAhPSBuZXdIZWln
aHQpIHsKQEAgLTEyMzUsMjUgKzEyMzYsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2soYm9vbCByZWxheQogICAgIGlmIChwcmV2aW91c0hlaWdodCAhPSBuZXdIZWlnaHQpCiAgICAg
ICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwogCi0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20g
Y2hpbGRyZW4gKHVubGVzcyB3ZSdyZSBtdWx0aS1jb2x1bW4sIHNpbmNlIGluIHRoYXQgY2FzZSBh
bGwgb3VyIGNoaWxkIG92ZXJmbG93IGlzIGNsaXBwZWQgYW55d2F5KS4KLSAgICBpZiAoIWhhc0Nv
bHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIGNoZWNrIGlzIGRlc2lnbmVkIHRvIGNhdGNoIGFu
eW9uZQotICAgICAgICAvLyB3aG8gd2Fzbid0IGdvaW5nIHRvIHByb3BhZ2F0ZSBmbG9hdCBpbmZv
cm1hdGlvbiB1cCB0byB0aGUgcGFyZW50IGFuZCB5ZXQgY291bGQgcG90ZW50aWFsbHkgYmUgcGFp
bnRlZCBieSBpdHMgYW5jZXN0b3IuCi0gICAgICAgIGlmIChpc1Jvb3QoKSB8fCBleHBhbmRzVG9F
bmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUZs
b2F0cygpOwotCi0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOwotICAgIH0KLQotICAgIC8vIEFkZCB2aXN1
YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZsZWN0aW9ucy4KLSAgICBhZGRTaGFk
b3dPdmVyZmxvdygpOwotCiAgICAgbGF5b3V0UG9zaXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGls
ZHJlbiB8fCBpc1Jvb3QoKSk7CiAKLSAgICBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKKyAgICAvLyBB
ZGQgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5sZXNzIHdlJ3JlIG11bHRpLWNvbHVtbiwgc2lu
Y2UgaW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQgb3ZlcmZsb3cgaXMgY2xpcHBlZCBhbnl3YXkp
LgorICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRDbGllbnRBZnRlckVkZ2UpOwogICAgIAogICAgIHN0
YXRlUHVzaGVyLnBvcCgpOwogCkBAIC0xMjY5LDggKzEyNTUsOCBAQCB2b2lkIFJlbmRlckJsb2Nr
OjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAgLy8gUmVwYWludCB3aXRoIG91ciBuZXcgYm91
bmRzIGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIG91ciBvbGQgYm91bmRzLgogICAgIGJvb2wg
ZGlkRnVsbFJlcGFpbnQgPSByZXBhaW50ZXIucmVwYWludEFmdGVyTGF5b3V0KCk7CiAgICAgaWYg
KCFkaWRGdWxsUmVwYWludCAmJiByZXBhaW50TG9naWNhbFRvcCAhPSByZXBhaW50TG9naWNhbEJv
dHRvbSAmJiAoc3R5bGUoKS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEUgfHwgZW5jbG9zaW5nTGF5
ZXIoKS0+aGFzVmlzaWJsZUNvbnRlbnQoKSkpIHsKLSAgICAgICAgaW50IHJlcGFpbnRMb2dpY2Fs
TGVmdCA9IG1pbihsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCksIGxvZ2ljYWxMZWZ0TGF5b3V0
T3ZlcmZsb3coKSk7Ci0gICAgICAgIGludCByZXBhaW50TG9naWNhbFJpZ2h0ID0gbWF4KGxvZ2lj
YWxSaWdodFZpc3VhbE92ZXJmbG93KCksIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwor
ICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dygpOworICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxSaWdodCA9IGxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KCk7CiAgICAgICAgIAogICAgICAgICBJbnRSZWN0IHJlcGFpbnRSZWN0OwogICAg
ICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKQEAgLTEzMDEsNiAr
MTI4Nyw1MSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAg
c2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCit2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxv
d0Zyb21DaGlsZHJlbigpCit7CisgICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKKyAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tRmxvYXRzKCk7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAg
ICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOworICAgIH0gZWxzZSB7
CisgICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7CisgICAgICAgIGlm
IChjb2x1bW5Db3VudChjb2xJbmZvKSkgeworICAgICAgICAgICAgSW50UmVjdCBsYXN0UmVjdCA9
IGNvbHVtblJlY3RBdChjb2xJbmZvLCBjb2x1bW5Db3VudChjb2xJbmZvKSAtIDEpOworICAgICAg
ICAgICAgaW50IG92ZXJmbG93TGVmdCA9ICFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkgPyBtaW4oMCwgbGFzdFJlY3QueCgpKSA6IDA7CisgICAgICAgICAgICBpbnQgb3ZlcmZsb3dS
aWdodCA9IHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1heCh3aWR0aCgpLCBs
YXN0UmVjdC54KCkgKyBsYXN0UmVjdC53aWR0aCgpKSA6IDA7CisgICAgICAgICAgICBpbnQgb3Zl
cmZsb3dIZWlnaHQgPSBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSArIGNvbEluZm8tPmNvbHVt
bkhlaWdodCgpOworICAgICAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50UmVjdChvdmVyZmxv
d0xlZnQsIDAsIG92ZXJmbG93UmlnaHQgLSBvdmVyZmxvd0xlZnQsIG92ZXJmbG93SGVpZ2h0KSk7
CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVPdmVyZmxv
dyhpbnQgb2xkQ2xpZW50QWZ0ZXJFZGdlKQoreworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIGNo
aWxkcmVuLgorICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisKKyAgICAvLyBBZGQgaW4g
dGhlIG92ZXJmbG93IGZyb20gcG9zaXRpb25lZCBvYmplY3RzLgorICAgIGFkZE92ZXJmbG93RnJv
bVBvc2l0aW9uZWRPYmplY3RzKCk7CisKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpIHsKKyAg
ICAgICAgLy8gV2hlbiB3ZSBoYXZlIG92ZXJmbG93IGNsaXAsIHByb3BhZ2F0ZSB0aGUgb3JpZ2lu
YWwgc3BpbGxvdXQgc2luY2UgaXQgd2lsbCBpbmNsdWRlIGNvbGxhcHNlZCBib3R0b20gbWFyZ2lu
cworICAgICAgICAvLyBhbmQgYm90dG9tIHBhZGRpbmcuICBTZXQgdGhlIGF4aXMgd2UgZG9uJ3Qg
Y2FyZSBhYm91dCB0byBiZSAxLCBzaW5jZSB3ZSB3YW50IHRoaXMgb3ZlcmZsb3cgdG8gYWx3YXlz
CisgICAgICAgIC8vIGJlIGNvbnNpZGVyZWQgcmVhY2hhYmxlLgorICAgICAgICBJbnRSZWN0IGNs
aWVudFJlY3QoY2xpZW50Qm94UmVjdCgpKTsKKyAgICAgICAgSW50UmVjdCByZWN0VG9BcHBseTsK
KyAgICAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAg
ICAgICByZWN0VG9BcHBseSA9IEludFJlY3QoY2xpZW50UmVjdC54KCksIGNsaWVudFJlY3QueSgp
LCAxLCBtYXgoMCwgb2xkQ2xpZW50QWZ0ZXJFZGdlIC0gY2xpZW50UmVjdC55KCkpKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcmVjdFRvQXBwbHkgPSBJbnRSZWN0KGNsaWVudFJlY3QueCgp
LCBjbGllbnRSZWN0LnkoKSwgbWF4KDAsIG9sZENsaWVudEFmdGVyRWRnZSAtIGNsaWVudFJlY3Qu
eCgpKSwgMSk7CisgICAgICAgIGFkZExheW91dE92ZXJmbG93KHJlY3RUb0FwcGx5KTsKKyAgICB9
CisgICAgICAgIAorICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFu
ZCByZWZsZWN0aW9ucy4KKyAgICBhZGRTaGFkb3dPdmVyZmxvdygpOworfQorCiB2b2lkIFJlbmRl
ckJsb2NrOjphZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCkKIHsKICAgICBmb3IgKFJlbmRl
ckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZ0JveCgpKSB7CkBAIC0xMzE3LDEyICsxMzQ4LDI4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmFkZE92ZXJmbG93RnJvbUZsb2F0cygKICAgICBGbG9hdGluZ09iamVjdCogcjsKICAgICBEZXBy
ZWNhdGVkUHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVj
dHMpOwogICAgIGZvciAoOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQpIHsKLSAgICAgICAgaWYg
KHItPm1fc2hvdWxkUGFpbnQgJiYgIXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVy
KCkpCisgICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1Nl
bGZQYWludGluZ0xheWVyKCkpCiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChyLT5t
X3JlbmRlcmVyLCBJbnRTaXplKHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQo
KSwgci0+dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSkpOwogICAgIH0KICAgICBy
ZXR1cm47CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRP
YmplY3RzKCkKK3sKKyAgICBpZiAoIW1fcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlbmRlckJveCogcG9zaXRpb25lZE9iamVjdDsKKyAgICBJdGVyYXRvciBlbmQg
PSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQoKTsKKyAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9w
b3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIHBv
c2l0aW9uZWRPYmplY3QgPSAqaXQ7CisgICAgICAgIAorICAgICAgICAvLyBGaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnRzIGRvbid0IGNvbnRyaWJ1dGUgdG8gbGF5b3V0IG92ZXJmbG93LCBzaW5jZSB0
aGV5IGRvbid0IHNjcm9sbCB3aXRoIHRoZSBjb250ZW50LgorICAgICAgICBpZiAocG9zaXRpb25l
ZE9iamVjdC0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKQorICAgICAgICAg
ICAgYWRkT3ZlcmZsb3dGcm9tQ2hpbGQocG9zaXRpb25lZE9iamVjdCk7CisgICAgfQorfQorCiBi
b29sIFJlbmRlckJsb2NrOjpleHBhbmRzVG9FbmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSBjb25z
dAogewogICAgIHJldHVybiBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRp
bmdPclBvc2l0aW9uZWQoKSB8fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCAocGFyZW50KCkgJiYgcGFy
ZW50KCktPmlzRmxleGlibGVCb3goKSkKQEAgLTIwMDUsNiArMjA1MiwxNCBAQCBib29sIFJlbmRl
ckJsb2NrOjpsYXlvdXRPbmx5UG9zaXRpb25lZE9iCiAgICAgLy8gQWxsIHdlIGhhdmUgdG8gaXMg
bGF5IG91dCBvdXIgcG9zaXRpb25lZCBvYmplY3RzLgogICAgIGxheW91dFBvc2l0aW9uZWRPYmpl
Y3RzKGZhbHNlKTsKIAorICAgIC8vIFJlY29tcHV0ZSBvdXIgb3ZlcmZsb3cgaW5mb3JtYXRpb24u
CisgICAgLy8gRklYTUU6IFdlIGNvdWxkIGRvIGJldHRlciBoZXJlIGJ5IGNvbXB1dGluZyBhIHRl
bXBvcmFyeSBvdmVyZmxvdyBvYmplY3QgZnJvbSBsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyBhbmQg
b25seQorICAgIC8vIHVwZGF0aW5nIG91ciBvdmVyZmxvdyBpZiB3ZSBlaXRoZXIgdXNlZCB0byBo
YXZlIG92ZXJmbG93IG9yIGlmIHRoZSBuZXcgdGVtcG9yYXJ5IG9iamVjdCBoYXMgb3ZlcmZsb3cu
CisgICAgLy8gRm9yIG5vdyBqdXN0IGFsd2F5cyByZWNvbXB1dGUgb3ZlcmZsb3cuICBUaGlzIGlz
IG5vIHdvcnNlIHBlcmZvcm1hbmNlLXdpc2UgdGhhbiB0aGUgb2xkIGNvZGUgdGhhdCBjYWxsZWQg
cmlnaHRtb3N0UG9zaXRpb24gYW5kCisgICAgLy8gbG93ZXN0UG9zaXRpb24gb24gZXZlcnkgcmVs
YXlvdXQgc28gaXQncyBub3QgYSByZWdyZXNzaW9uLgorICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsK
KyAgICBjb21wdXRlT3ZlcmZsb3coY2xpZW50TG9naWNhbEJvdHRvbSgpKTsKKwogICAgIHN0YXRl
UHVzaGVyLnBvcCgpOwogICAgIAogICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CkBAIC0yMDE3
LDM4ICsyMDcyLDM5IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmxheW91dE9ubHlQb3NpdGlvbmVkT2IK
IAogdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91
dENoaWxkcmVuKQogewotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIGlm
IChoYXNDb2x1bW5zKCkpCi0gICAgICAgICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPmNsZWFy
UGFnaW5hdGlvbkluZm9ybWF0aW9uKCk7IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgbm90IHBh
cnQgb2YgdGhlIGNvbHVtbiBmbG93LCBzbyB0aGV5IGRvbid0IHBhZ2luYXRlIHdpdGggdGhlIGNv
bHVtbnMuCisgICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmplY3RzKQorICAgICAgICByZXR1cm47Cisg
ICAgICAgIAorICAgIGlmIChoYXNDb2x1bW5zKCkpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0U3Rh
dGUoKS0+Y2xlYXJQYWdpbmF0aW9uSW5mb3JtYXRpb24oKTsgLy8gUG9zaXRpb25lZCBvYmplY3Rz
IGFyZSBub3QgcGFydCBvZiB0aGUgY29sdW1uIGZsb3csIHNvIHRoZXkgZG9uJ3QgcGFnaW5hdGUg
d2l0aCB0aGUgY29sdW1ucy4KIAotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJh
dG9yIGVuZCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJh
dG9yIGl0ID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgICAgICByID0gKml0OwotICAgICAgICAgICAgLy8gV2hlbiBhIG5vbi1wb3NpdGlv
bmVkIGJsb2NrIGVsZW1lbnQgbW92ZXMsIGl0IG1heSBoYXZlIHBvc2l0aW9uZWQgY2hpbGRyZW4g
dGhhdCBhcmUgaW1wbGljaXRseSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZQotICAgICAgICAg
ICAgLy8gbm9uLXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIgdGhhbiB0cnlpbmcgdG8gZGV0ZWN0
IGFsbCBvZiB0aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVzdCBhbHdheXMgbGF5IG91dCBwb3Np
dGlvbmVkCi0gICAgICAgICAgICAvLyBvYmplY3RzIHRoYXQgYXJlIHBvc2l0aW9uZWQgaW1wbGlj
aXRseSBsaWtlIHRoaXMuICBTdWNoIG9iamVjdHMgYXJlIHJhcmUsIGFuZCBzbyBpbiB0eXBpY2Fs
IERIVE1MIG1lbnUgdXNhZ2UgKHdoZXJlIGV2ZXJ5dGhpbmcgaXMKLSAgICAgICAgICAgIC8vIHBv
c2l0aW9uZWQgZXhwbGljaXRseSkgdGhpcyBzaG91bGQgbm90IGluY3VyIGEgcGVyZm9ybWFuY2Ug
cGVuYWx0eS4KLSAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChyLT5zdHlsZSgp
LT5oYXNTdGF0aWNZKCkgJiYgci0+cGFyZW50KCkgIT0gdGhpcyAmJiByLT5wYXJlbnQoKS0+aXNC
bG9ja0Zsb3coKSkpCi0gICAgICAgICAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVl
LCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJZiByZWxheW91dENo
aWxkcmVuIGlzIHNldCBhbmQgd2UgaGF2ZSBwZXJjZW50YWdlIHBhZGRpbmcsIHdlIGFsc28gbmVl
ZCB0byBpbnZhbGlkYXRlIHRoZSBjaGlsZCdzIHByZWYgd2lkdGhzLgotICAgICAgICAgICAgaWYg
KHJlbGF5b3V0Q2hpbGRyZW4gJiYgKHItPnN0eWxlKCktPnBhZGRpbmdTdGFydCgpLmlzUGVyY2Vu
dCgpIHx8IHItPnN0eWxlKCktPnBhZGRpbmdFbmQoKS5pc1BlcmNlbnQoKSkpCi0gICAgICAgICAg
ICAgICAgci0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KHRydWUsIGZhbHNlKTsKKyAg
ICBSZW5kZXJCb3gqIHI7CisgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+
ZW5kKCk7CisgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2lu
KCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICByID0gKml0OworICAgICAgICAvLyBXaGVu
IGEgbm9uLXBvc2l0aW9uZWQgYmxvY2sgZWxlbWVudCBtb3ZlcywgaXQgbWF5IGhhdmUgcG9zaXRp
b25lZCBjaGlsZHJlbiB0aGF0IGFyZSBpbXBsaWNpdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8g
dGhlCisgICAgICAgIC8vIG5vbi1wb3NpdGlvbmVkIGJsb2NrLiAgUmF0aGVyIHRoYW4gdHJ5aW5n
IHRvIGRldGVjdCBhbGwgb2YgdGhlc2UgbW92ZW1lbnQgY2FzZXMsIHdlIGp1c3QgYWx3YXlzIGxh
eSBvdXQgcG9zaXRpb25lZAorICAgICAgICAvLyBvYmplY3RzIHRoYXQgYXJlIHBvc2l0aW9uZWQg
aW1wbGljaXRseSBsaWtlIHRoaXMuICBTdWNoIG9iamVjdHMgYXJlIHJhcmUsIGFuZCBzbyBpbiB0
eXBpY2FsIERIVE1MIG1lbnUgdXNhZ2UgKHdoZXJlIGV2ZXJ5dGhpbmcgaXMKKyAgICAgICAgLy8g
cG9zaXRpb25lZCBleHBsaWNpdGx5KSB0aGlzIHNob3VsZCBub3QgaW5jdXIgYSBwZXJmb3JtYW5j
ZSBwZW5hbHR5LgorICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCAoci0+c3R5bGUoKS0+
aGFzU3RhdGljWSgpICYmIHItPnBhcmVudCgpICE9IHRoaXMgJiYgci0+cGFyZW50KCktPmlzQmxv
Y2tGbG93KCkpKQorICAgICAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBmYWxz
ZSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICghci0+bmVlZHNMYXlvdXQoKSkKLSAg
ICAgICAgICAgICAgICByLT5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsKLQot
ICAgICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byBkbyBhIGZ1bGwgbGF5b3V0LiAgV2UganVz
dCBoYXZlIHRvIHVwZGF0ZSBvdXIgcG9zaXRpb24uIFRyeSB0aGF0IGZpcnN0LiBJZiB3ZSBoYXZl
IHNocmluay10by1maXQgd2lkdGgKLSAgICAgICAgICAgIC8vIGFuZCB3ZSBoaXQgdGhlIGF2YWls
YWJsZSB3aWR0aCBjb25zdHJhaW50LCB0aGUgbGF5b3V0SWZOZWVkZWQoKSB3aWxsIGNhdGNoIGl0
IGFuZCBkbyBhIGZ1bGwgbGF5b3V0LgotICAgICAgICAgICAgaWYgKHItPm5lZWRzUG9zaXRpb25l
ZE1vdmVtZW50TGF5b3V0T25seSgpKQotICAgICAgICAgICAgICAgIHItPnRyeUxheW91dERvaW5n
UG9zaXRpb25lZE1vdmVtZW50T25seSgpOwotICAgICAgICAgICAgci0+bGF5b3V0SWZOZWVkZWQo
KTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKGhhc0NvbHVtbnMoKSkKLSAgICAg
ICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9jb2x1bW5JbmZvID0gY29sdW1uSW5mbygp
OyAvLyBGSVhNRTogS2luZCBvZiBncm9zcy4gV2UganVzdCBwdXQgdGhpcyBiYWNrIGludG8gdGhl
IGxheW91dCBzdGF0ZSBzbyB0aGF0IHBvcCgpIHdpbGwgd29yay4KKyAgICAgICAgLy8gSWYgcmVs
YXlvdXRDaGlsZHJlbiBpcyBzZXQgYW5kIHdlIGhhdmUgcGVyY2VudGFnZSBwYWRkaW5nLCB3ZSBh
bHNvIG5lZWQgdG8gaW52YWxpZGF0ZSB0aGUgY2hpbGQncyBwcmVmIHdpZHRocy4KKyAgICAgICAg
aWYgKHJlbGF5b3V0Q2hpbGRyZW4gJiYgKHItPnN0eWxlKCktPnBhZGRpbmdTdGFydCgpLmlzUGVy
Y2VudCgpIHx8IHItPnN0eWxlKCktPnBhZGRpbmdFbmQoKS5pc1BlcmNlbnQoKSkpCisgICAgICAg
ICAgICByLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwgZmFsc2UpOworICAg
ICAgICAKKyAgICAgICAgaWYgKCFyLT5uZWVkc0xheW91dCgpKQorICAgICAgICAgICAgci0+bWFy
a0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCk7CisKKyAgICAgICAgLy8gV2UgZG9uJ3Qg
aGF2ZSB0byBkbyBhIGZ1bGwgbGF5b3V0LiAgV2UganVzdCBoYXZlIHRvIHVwZGF0ZSBvdXIgcG9z
aXRpb24uIFRyeSB0aGF0IGZpcnN0LiBJZiB3ZSBoYXZlIHNocmluay10by1maXQgd2lkdGgKKyAg
ICAgICAgLy8gYW5kIHdlIGhpdCB0aGUgYXZhaWxhYmxlIHdpZHRoIGNvbnN0cmFpbnQsIHRoZSBs
YXlvdXRJZk5lZWRlZCgpIHdpbGwgY2F0Y2ggaXQgYW5kIGRvIGEgZnVsbCBsYXlvdXQuCisgICAg
ICAgIGlmIChyLT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSkKKyAgICAgICAg
ICAgIHItPnRyeUxheW91dERvaW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpOworICAgICAgICBy
LT5sYXlvdXRJZk5lZWRlZCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAoaGFzQ29sdW1ucygpKQor
ICAgICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPm1fY29sdW1uSW5mbyA9IGNvbHVtbkluZm8o
KTsgLy8gRklYTUU6IEtpbmQgb2YgZ3Jvc3MuIFdlIGp1c3QgcHV0IHRoaXMgYmFjayBpbnRvIHRo
ZSBsYXlvdXQgc3RhdGUgc28gdGhhdCBwb3AoKSB3aWxsIHdvcmsuCiB9CiAKIHZvaWQgUmVuZGVy
QmxvY2s6Om1hcmtQb3NpdGlvbmVkT2JqZWN0c0ZvckxheW91dCgpCkBAIC0yMTEzLDcgKzIxNjks
NyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgLy8gRklY
TUU6IENvdWxkIGVsaW1pbmF0ZSB0aGUgaXNSb290KCkgY2hlY2sgaWYgd2UgZml4IGJhY2tncm91
bmQgcGFpbnRpbmcgc28gdGhhdCB0aGUgUmVuZGVyVmlldwogICAgIC8vIHBhaW50cyB0aGUgcm9v
dCdzIGJhY2tncm91bmQuCiAgICAgaWYgKCFpc1Jvb3QoKSkgewotICAgICAgICBJbnRSZWN0IG92
ZXJmbG93Qm94ID0gdmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICBJbnRSZWN0IG92ZXJm
bG93Qm94ID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgIG92ZXJmbG93Qm94LmluZmxh
dGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSkpOwogICAgICAgICBvdmVyZmxv
d0JveC5tb3ZlKHR4LCB0eSk7CiAgICAgICAgIGlmICghb3ZlcmZsb3dCb3guaW50ZXJzZWN0cyhw
YWludEluZm8ucmVjdCkpCkBAIC0zMzU0LDQxOCArMzQxMCw2IEBAIGludCBSZW5kZXJCbG9jazo6
bG93ZXN0RmxvYXRMb2dpY2FsQm90dG8KICAgICByZXR1cm4gbG93ZXN0RmxvYXRCb3R0b207CiB9
CiAKLWludCBSZW5kZXJCbG9jazo6dG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3Jt
KSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFt
ZVJlY3QoKTsKLSAgICBpbnQgdHJhbnNmb3JtZWRUb3AgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zv
cm1lZFJlY3Qud2lkdGgoKSA+IDAgPyAwIDogdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpOwotICAg
IAotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092ZXJmbG93Q2xpcCgp
IHx8IGhhc0NvbnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRUb3A7Ci0K
LSAgICBpZiAoIWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8ICF0
cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRUb3A7
Ci0KLSAgICBpbnQgdG9wID0gaW5jbHVkZVNlbGYgJiYgd2lkdGgoKSA+IDAgPyAwIDogaGVpZ2h0
KCk7Ci0KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogQ29tZSB1
cCB3aXRoIGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBhdm9pZCB2aXNpdGluZyBhbGwg
dGhlIGtpZHMuCi0gICAgICAgIC8vIEZvciBub3csIHdlIGhhdmUgdG8gZGVzY2VuZCBpbnRvIGFs
bCB0aGUgY2hpbGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEgaHVnZSBhYnMgZGl2IGluc2lkZQot
ICAgICAgICAvLyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29tZXdoZXJlIGRlZXAgaW4gb3VyIGNo
aWxkIHRyZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQgdG8KLSAgICAgICAgLy8gdGhl
IGFicyBkaXYuCi0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBj
OyBjID0gYy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5n
T3JQb3NpdGlvbmVkKCkgJiYgYy0+aXNCb3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJv
eCogY2hpbGRCb3ggPSB0b1JlbmRlckJveChjKTsKLSAgICAgICAgICAgICAgICB0b3AgPSBtaW4o
dG9wLCBjaGlsZEJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS55KCkgKyBjaGlsZEJveC0+dG9w
bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBpZiAoaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIHRvcCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOyAKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0gICAg
Ci0gICAgaW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVk
KCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2Vs
ZikKLSAgICAgICAgdG9wID0gbWluKHRvcCwgdG9wTGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0aXZl
T2Zmc2V0KTsKLQotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJlbmRl
ckJveCogcjsKLSAgICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5k
KCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAg
ICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9iamVjdHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91
bGQgbm90IGNvbnN0aXR1dGUKLSAgICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIHRvcG1vc3QgcG9z
aXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBv
c2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZvciBvdmVy
ZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlvbmVkIG9i
amVjdCBsaWVzIGNvbXBsZXRlbHkgdG8gdGhlIGxlZnQgb2YgdGhlIHJvb3QgaXQgd2lsbCBiZSB1
bnJlYWNoYWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3
ZSBzaG91bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIHRvcG1vc3QgcG9zaXRp
b24uCi0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFuc2Zvcm1l
ZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkgfHwgdHJh
bnNmb3JtZWRSLngoKSArIHRyYW5zZm9ybWVkUi53aWR0aCgpID4gMCB8fCB0cmFuc2Zvcm1lZFIu
eCgpICsgci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAgICAgICAgICAg
ICAgICBpbnQgdHAgPSB0cmFuc2Zvcm1lZFIueSgpICsgci0+dG9wbW9zdFBvc2l0aW9uKGZhbHNl
KTsKLSAgICAgICAgICAgICAgICAgICAgdG9wID0gbWluKHRvcCwgdHAgKyByZWxhdGl2ZU9mZnNl
dCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0g
Y29sdW1uSW5mbygpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29sdW1uQ291
bnQoY29sSW5mbyk7IGkrKykKLSAgICAgICAgICAgIHRvcCA9IG1pbih0b3AsIGNvbHVtblJlY3RB
dChjb2xJbmZvLCBpKS55KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIHJldHVybiB0b3A7
Ci0gICAgfQotCi0gICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5n
T2JqZWN0KiByOwotICAgICAgICBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2Jq
ZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwotICAgICAgICBmb3IgKCA7IChyID0gaXQuY3Vy
cmVudCgpKTsgKytpdCkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+
bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGlu
dCB0cCA9IHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkgKyByLT5tX3JlbmRl
cmVyLT50b3Btb3N0UG9zaXRpb24oZmFsc2UpOwotICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0
b3AsIHRwICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
fQotCi0gICAgaWYgKCFpbmNsdWRlU2VsZiAmJiBmaXJzdFJvb3RCb3goKSkKLSAgICAgICAgdG9w
ID0gbWluKHRvcCwgZmlyc3RSb290Qm94KCktPnNlbGVjdGlvblRvcCgpICsgcmVsYXRpdmVPZmZz
ZXQpOwotCi0gICAgaWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5j
bHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAg
ICBpbnQgYm90dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRt
b3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRl
VHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAg
IEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVj
dChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVy
biB0cmFuc2Zvcm1SZWN0LnkoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdG9wOwotfQotCi1pbnQg
UmVuZGVyQmxvY2s6Omxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAot
ewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsK
LSAgICBpbnQgdHJhbnNmb3JtZWRCb3R0b20gPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJl
Y3Qud2lkdGgoKSA+IDAgPyB0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkgOiAwOwotCi0gICAgaWYg
KCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaGFzQ29u
dHJvbENsaXAoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZEJvdHRvbTsKLQotICAgIGlm
ICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgfHwgIXRyYW5zZm9y
bWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZEJvdHRvbTsKLQot
ICAgIGludCBib3R0b20gPSBpbmNsdWRlU2VsZiAmJiB3aWR0aCgpID4gMCA/IGhlaWdodCgpIDog
MDsKLQotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBDb21lIHVw
IHdpdGggYSB3YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5nIGFsbCB0
aGUga2lkcy4KLSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGludG8gYWxs
IHRoZSBjaGlsZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5zaWRlCi0g
ICAgICAgIC8vIGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBvdXIgY2hp
bGQgdHJlZS4gIEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAvLyB0aGUg
YWJzIGRpdi4KLSAgICAgICAgLy8gU2VlIHRoZSBsYXN0IHRlc3QgY2FzZSBpbiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxNCBmb3Igd2h5IHRoaXMgaXMgYSBwcm9i
bGVtLgotICAgICAgICAvLyBGb3IgaW5saW5lIGNoaWxkcmVuLCB3ZSBtaXNzIHJlbGF0aXZlIHBv
c2l0aW9uZWQgYm94ZXMgdGhhdCBtaWdodCBiZSBidXJpZWQgaW5zaWRlIDxzcGFuPnMuCi0gICAg
ICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+bmV4dFNp
YmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkg
JiYgYy0+aXNCb3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hpbGRCb3ggPSB0
b1JlbmRlckJveChjKTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBjaGls
ZEJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS55KCkgKyBjaGlsZEJveC0+bG93ZXN0UG9zaXRp
b24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChp
bmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgYm90dG9tICs9IHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRZKCk7ICAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotCi0gICAg
aW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkgPyBy
ZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2VsZikKLSAg
ICAgICAgYm90dG9tID0gbWF4KGJvdHRvbSwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0
aXZlT2Zmc2V0KTsKLSAgICAgICAgCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRP
YmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9i
amVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsK
LSAgICAgICAgICAgIC8vIEZpeGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFu
ZCB0aHVzIHNob3VsZCBub3QgY29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUg
bG93ZXN0IHBvc2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkg
IT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd29y
ayBmb3Igb3ZlcmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAgIC8vIElmIGEgcG9z
aXRpb25lZCBvYmplY3QgbGllcyBjb21wbGV0ZWx5IHRvIHRoZSBsZWZ0IG9mIHRoZSByb290IGl0
IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAgICAgICAgICAvLyBU
aGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRoZSBsb3dl
c3QgcG9zaXRpb24uCi0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3
KCkgfHwgdHJhbnNmb3JtZWRSLngoKSArIHRyYW5zZm9ybWVkUi53aWR0aCgpID4gMCB8fCB0cmFu
c2Zvcm1lZFIueCgpICsgci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAg
ICAgICAgICAgICAgICBpbnQgbHAgPSB0cmFuc2Zvcm1lZFIueSgpICsgci0+bG93ZXN0UG9zaXRp
b24oZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBscCAr
IHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIENvbHVtbklu
Zm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBjb2x1bW5Db3VudChjb2xJbmZvKTsgaSsrKQotICAgICAgICAgICAgYm90dG9tID0gbWF4
KGJvdHRvbSwgY29sdW1uUmVjdEF0KGNvbEluZm8sIGkpLmJvdHRvbSgpICsgcmVsYXRpdmVPZmZz
ZXQpOwotICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5n
T2JqZWN0cykgewotICAgICAgICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRl
ZFB0ckxpc3RJdGVyYXRvcjxGbG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsK
LSAgICAgICAgZm9yICggOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAg
ICBpZiAoci0+bV9zaG91bGRQYWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdM
YXllcigpKSB7Ci0gICAgICAgICAgICAgICAgaW50IGxwID0gci0+dG9wKCkgKyByLT5tX3JlbmRl
cmVyLT5tYXJnaW5Ub3AoKSArIHItPm1fcmVuZGVyZXItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKTsK
LSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBscCArIHJlbGF0aXZlT2Zmc2V0
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNl
bGYpIHsKLSAgICAgICAgYm90dG9tID0gbWF4KGJvdHRvbSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5n
VG9wKCkgKyBwYWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIGlmIChj
aGlsZHJlbklubGluZSgpKSB7Ci0gICAgICAgICAgICBpZiAobGFzdFJvb3RCb3goKSkgewotICAg
ICAgICAgICAgICAgIGludCBjaGlsZEJvdHRvbUVkZ2UgPSBsYXN0Um9vdEJveCgpLT5zZWxlY3Rp
b25Cb3R0b20oKTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBjaGlsZEJv
dHRvbUVkZ2UgKyBwYWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBGaW5kIHRoZSBsYXN0IG5vcm1h
bCBmbG93IGNoaWxkLgotICAgICAgICAgICAgUmVuZGVyQm94KiBjdXJyQm94ID0gbGFzdENoaWxk
Qm94KCk7Ci0gICAgICAgICAgICB3aGlsZSAoY3VyckJveCAmJiBjdXJyQm94LT5pc0Zsb2F0aW5n
T3JQb3NpdGlvbmVkKCkpCi0gICAgICAgICAgICAgICAgY3VyckJveCA9IGN1cnJCb3gtPnByZXZp
b3VzU2libGluZ0JveCgpOwotICAgICAgICAgICAgaWYgKGN1cnJCb3gpIHsKLSAgICAgICAgICAg
ICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkQ3VyckJveCA9IGN1cnJCb3gtPnRyYW5zZm9ybWVkRnJh
bWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tRWRnZSA9IHRyYW5zZm9y
bWVkQ3VyckJveC55KCkgKyB0cmFuc2Zvcm1lZEN1cnJCb3guaGVpZ2h0KCkgKyBjdXJyQm94LT5j
b2xsYXBzZWRNYXJnaW5BZnRlcigpOyAvLyBGSVhNRTogImFmdGVyIiBpcyB3cm9uZyBoZXJlIGZv
ciBsb3dlc3RQb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBj
aGlsZEJvdHRvbUVkZ2UgKyBwYWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0g
SW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhh
c1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAg
ICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0
bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVk
ZVRyYW5zZm9ybSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJU
cmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0g
dG9wKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpOwotICAgIH0KLQot
ICAgIHJldHVybiBib3R0b207Ci19Ci0KLWludCBSZW5kZXJCbG9jazo6cmlnaHRtb3N0UG9zaXRp
b24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlU
cmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1l
ZFJlY3QgPSB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZFJpZ2h0
ID0gaW5jbHVkZVNlbGYgJiYgdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpID4gMCA/IHRyYW5zZm9y
bWVkUmVjdC53aWR0aCgpIDogMDsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Ig
JiYgKGhhc092ZXJmbG93Q2xpcCgpIHx8IGhhc0NvbnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1
cm4gdHJhbnNmb3JtZWRSaWdodDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNm
b3JtZWRSZWN0LndpZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAg
IHJldHVybiB0cmFuc2Zvcm1lZFJpZ2h0OwotCi0gICAgaW50IHJpZ2h0ID0gaW5jbHVkZVNlbGYg
JiYgaGVpZ2h0KCkgPiAwID8gd2lkdGgoKSA6IDA7Ci0KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkg
ewotICAgICAgICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIg
dHJlZSB0byBhdm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMuCi0gICAgICAgIC8vIEZvciBub3cs
IHdlIGhhdmUgdG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hpbGRyZW4sIHNpbmNlIHdlIG1heSBo
YXZlIGEgaHVnZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAvLyBhIHRpbnkgcmVsIGRpdiBidXJp
ZWQgc29tZXdoZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2
ZSB0byBnZXQgdG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYuCi0gICAgICAgIGZvciAoUmVuZGVy
T2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmcoKSkgewotICAg
ICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgJiYgYy0+aXNCb3goKSkg
ewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hpbGRCb3ggPSB0b1JlbmRlckJveChjKTsK
LSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVk
RnJhbWVSZWN0KCkueCgpICsgY2hpbGRCb3gtPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYgJiYg
aXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIHJpZ2h0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZz
ZXRYKCk7Ci0KLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93
Q2xpcCgpKQotICAgICAgICByZXR1cm4gcmlnaHQ7Ci0KLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQg
PSBpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZz
ZXRYKCkgOiAwOwotCi0gICAgaWYgKGluY2x1ZGVTZWxmKQotICAgICAgICByaWdodCA9IG1heChy
aWdodCwgcmlnaHRMYXlvdXRPdmVyZmxvdygpICsgcmVsYXRpdmVPZmZzZXQpOwotCi0gICAgaWYg
KG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAgICAgICAgUmVuZGVyQm94KiByOwotICAgICAgICBJ
dGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChJ
dGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCkgOyBpdCAhPSBlbmQ7ICsr
aXQpIHsKLSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlv
bmVkIG9iamVjdHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUK
LSAgICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIHJpZ2h0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAg
ICAgIGlmIChyLT5zdHlsZSgpLT5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRv
by4KLSAgICAgICAgICAgICAgICAvLyBJZiBhIHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxl
dGVseSBhYm92ZSB0aGUgcm9vdCBpdCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcu
Ci0gICAgICAgICAgICAgICAgLy8gVGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8g
Y29udHJpYnV0ZSB0byB0aGUgcmlnaHRtb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIElu
dFJlY3QgdHJhbnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAg
ICAgICAgICBpZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi55KCkgKyB0cmFuc2Zv
cm1lZFIuaGVpZ2h0KCkgPiAwIHx8IHRyYW5zZm9ybWVkUi55KCkgKyByLT5sb3dlc3RQb3NpdGlv
bihmYWxzZSkgPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBycCA9IHRyYW5zZm9ybWVk
Ui54KCkgKyByLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAg
IHJpZ2h0ID0gbWF4KHJpZ2h0LCBycCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1u
cygpKSB7Ci0gICAgICAgIC8vIFRoaXMgb25seSBtYXR0ZXJzIGZvciBMVFIKLSAgICAgICAgaWYg
KHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewotICAgICAgICAgICAgQ29sdW1u
SW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvdW50
ID0gY29sdW1uQ291bnQoY29sSW5mbyk7Ci0gICAgICAgICAgICBpZiAoY291bnQpCi0gICAgICAg
ICAgICAgICAgcmlnaHQgPSBtYXgoY29sdW1uUmVjdEF0KGNvbEluZm8sIGNvdW50IC0gMSkucmln
aHQoKSArIHJlbGF0aXZlT2Zmc2V0LCByaWdodCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGFw
cGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIo
KSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICAgICAgaW50IHRvcCA9IHRv
cG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1
ZGVUcmFuc2Zvcm0pOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgICAgIEludFJl
Y3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0
LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgICAgICByZXR1cm4g
dHJhbnNmb3JtUmVjdC53aWR0aCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByaWdodDsK
LSAgICB9Ci0KLSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdP
YmplY3QqIHI7Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmpl
Y3Q+IGl0KCptX2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJy
ZW50KCkpOyArK2l0ICkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+
bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGlu
dCBycCA9IHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHItPm1fcmVu
ZGVyZXItPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAgICAgICAgICByaWdodCA9
IG1heChyaWdodCwgcnAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoIWluY2x1ZGVTZWxmKSB7Ci0gICAgICAgIHJpZ2h0ID0gbWF4
KHJpZ2h0LCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpICsgcGFkZGluZ1JpZ2h0KCkgKyBy
ZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7Ci0gICAgICAg
ICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnJCb3ggPSBmaXJzdExpbmVCb3goKTsgY3VyckJv
eDsgY3VyckJveCA9IGN1cnJCb3gtPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgICAgICAgICBp
bnQgY2hpbGRSaWdodEVkZ2UgPSBjdXJyQm94LT54KCkgKyBjdXJyQm94LT5sb2dpY2FsV2lkdGgo
KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIG5vZGUgaXMg
YSByb290IGVkaXRhYmxlIGVsZW1lbnQsIHRoZW4gdGhlIHJpZ2h0bW9zdFBvc2l0aW9uIHNob3Vs
ZCBhY2NvdW50IGZvciBhIGNhcmV0IGF0IHRoZSBlbmQuCi0gICAgICAgICAgICAgICAgLy8gRklY
TUU6IE5lZWQgdG8gZmluZCBhbm90aGVyIHdheSB0byBkbyB0aGlzLCBzaW5jZSBzY3JvbGxiYXJz
IGNvdWxkIHNob3cgd2hlbiB3ZSBkb24ndCB3YW50IHRoZW0gdG8uCi0gICAgICAgICAgICAgICAg
aWYgKG5vZGUoKSAmJiBub2RlKCktPmlzQ29udGVudEVkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5v
ZGUoKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSAmJiAhcGFkZGluZ1JpZ2h0KCkpCi0gICAgICAgICAgICAgICAgICAgIGNoaWxkUmln
aHRFZGdlICs9IDE7Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGNoaWxkUmln
aHRFZGdlICsgcGFkZGluZ1JpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBXYWxrIGFsbCBub3JtYWwgZmxvdyBj
aGlsZHJlbi4KLSAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjdXJyQm94ID0gZmlyc3RDaGls
ZEJveCgpOyBjdXJyQm94OyBjdXJyQm94ID0gY3VyckJveC0+bmV4dFNpYmxpbmdCb3goKSkgewot
ICAgICAgICAgICAgICAgIGlmIChjdXJyQm94LT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkpCi0g
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIEludFJlY3QgdHJh
bnNmb3JtZWRDaGlsZCA9IGN1cnJCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAg
ICAgICAgICAgaW50IGNoaWxkUmlnaHRFZGdlID0gdHJhbnNmb3JtZWRDaGlsZC54KCkgKyB0cmFu
c2Zvcm1lZENoaWxkLndpZHRoKCkgKyBjdXJyQm94LT5tYXJnaW5SaWdodCgpOwotICAgICAgICAg
ICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjaGlsZFJpZ2h0RWRnZSArIHBhZGRpbmdSaWdodCgp
ICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgaWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYg
JiYgbGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9w
ID0gdG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwg
RXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwot
ICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFu
c2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwg
cmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJl
Y3Qud2lkdGgoKTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVu
ZGVyQmxvY2s6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
Ym9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17
Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwot
ICAgIGludCB0cmFuc2Zvcm1lZExlZnQgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3Qu
aGVpZ2h0KCkgPiAwID8gMCA6IHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpOwotICAgIAotICAgIGlm
ICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092ZXJmbG93Q2xpcCgpIHx8IGhhc0Nv
bnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRMZWZ0OwotCi0gICAgaWYg
KCFmaXJzdENoaWxkKCkgJiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3Jt
ZWRSZWN0LmhlaWdodCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkTGVmdDsKLQotICAg
IGludCBsZWZ0ID0gaW5jbHVkZVNlbGYgJiYgaGVpZ2h0KCkgPiAwID8gMCA6IHdpZHRoKCk7Ci0K
LSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogQ29tZSB1cCB3aXRo
IGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBhdm9pZCB2aXNpdGluZyBhbGwgdGhlIGtp
ZHMuCi0gICAgICAgIC8vIEZvciBub3csIHdlIGhhdmUgdG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUg
Y2hpbGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEgaHVnZSBhYnMgZGl2IGluc2lkZQotICAgICAg
ICAvLyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29tZXdoZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRy
ZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQgdG8KLSAgICAgICAgLy8gdGhlIGFicyBk
aXYuCi0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0g
Yy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3Np
dGlvbmVkKCkgJiYgYy0+aXNCb3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hp
bGRCb3ggPSB0b1JlbmRlckJveChjKTsKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQs
IGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNoaWxkQm94LT5sZWZ0bW9z
dFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICBpZiAoaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIGxlZnQgKz0g
cmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKTsgCi0KLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gbGVmdDsKLSAgICAK
LSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQo
KSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCkgOiAwOwotCi0gICAgaWYgKGluY2x1ZGVTZWxm
KQotICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGxlZnRMYXlvdXRPdmVyZmxvdygpICsgcmVsYXRp
dmVPZmZzZXQpOwotCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAgICAgICAgUmVu
ZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5l
bmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJl
Z2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAg
ICAgIC8vIEZpeGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFuZCB0aHVzIHNo
b3VsZCBub3QgY29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgbGVmdG1vc3Qg
cG9zaXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhl
ZFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZvciBv
dmVyZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlvbmVk
IG9iamVjdCBsaWVzIGNvbXBsZXRlbHkgYWJvdmUgdGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNo
YWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91
bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIGxlZnRtb3N0IHBvc2l0aW9uLgot
ICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFt
ZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBpZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9y
bWVkUi55KCkgKyB0cmFuc2Zvcm1lZFIuaGVpZ2h0KCkgPiAwIHx8IHRyYW5zZm9ybWVkUi55KCkg
KyByLT5sb3dlc3RQb3NpdGlvbihmYWxzZSkgPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlu
dCBscCA9IHRyYW5zZm9ybWVkUi54KCkgKyByLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAg
ICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBscCArIHJlbGF0aXZlT2Zmc2V0KTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAg
ICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIFRoaXMgb25seSBtYXR0ZXJzIGZvciBS
VEwKLSAgICAgICAgaWYgKCFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAg
ICAgICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgICAg
ICB1bnNpZ25lZCBjb3VudCA9IGNvbHVtbkNvdW50KGNvbEluZm8pOwotICAgICAgICAgICAgaWYg
KGNvdW50KQotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4oY29sdW1uUmVjdEF0KGNvbEluZm8s
IGNvdW50IC0gMSkueCgpICsgcmVsYXRpdmVPZmZzZXQsIGxlZnQpOwotICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBsZWZ0OwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykgewot
ICAgICAgICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVy
YXRvcjxGbG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAgZm9y
ICggOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9z
aG91bGRQYWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0g
ICAgICAgICAgICAgICAgaW50IGxwID0gci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2lu
TGVmdCgpICsgci0+bV9yZW5kZXJlci0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAg
ICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBscCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYgJiYgZmlyc3RM
aW5lQm94KCkpIHsKLSAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyQm94ID0gZmlyc3RM
aW5lQm94KCk7IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0TGluZUJveCgpKQotICAg
ICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCAoaW50KWN1cnJCb3gtPngoKSArIHJlbGF0aXZlT2Zm
c2V0KTsKLSAgICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9y
bSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7
Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9
IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhj
bHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3Qo
SW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAg
IHJldHVybiB0cmFuc2Zvcm1SZWN0LngoKTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIGxlZnQ7
Ci19Ci0KIHZvaWQgUmVuZGVyQmxvY2s6Om1hcmtMaW5lc0RpcnR5SW5CbG9ja1JhbmdlKGludCBs
b2dpY2FsVG9wLCBpbnQgbG9naWNhbEJvdHRvbSwgUm9vdElubGluZUJveCogaGlnaGVzdCkKIHsK
ICAgICBpZiAobG9naWNhbFRvcCA+PSBsb2dpY2FsQm90dG9tKQpAQCAtMzkzMSw5ICszNTc1LDYg
QEAgaW50IFJlbmRlckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyhSZQogICAgICAgICAgICAg
Ly8gSWYgbWFrZUNoaWxkUGFpbnRPdGhlckZsb2F0cyBpcyBmYWxzZSwgaXQgbWVhbnMgdGhhdCB0
aGUgY2hpbGQgbXVzdCBhbHJlYWR5IGtub3cgYWJvdXQgYWxsIHRoZSBmbG9hdHMKICAgICAgICAg
ICAgIC8vIGl0IHNob3VsZCBwYWludC4KICAgICAgICAgICAgIHItPm1fc2hvdWxkUGFpbnQgPSB0
cnVlOwotCi0gICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50ICYmICFyLT5tX3JlbmRlcmVyLT5o
YXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICAgICAgY2hpbGQtPmFkZE92ZXJmbG93RnJv
bUNoaWxkKHItPm1fcmVuZGVyZXIsIEludFNpemUoci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+
bWFyZ2luTGVmdCgpLCByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpblRvcCgpKSk7CiAg
ICAgfQogICAgIHJldHVybiBsb3dlc3RGbG9hdExvZ2ljYWxCb3R0b207CiB9CkBAIC00MTAxLDcg
KzM3NDIsNyBAQCBib29sIFJlbmRlckJsb2NrOjpub2RlQXRQb2ludChjb25zdCBIaXRUCiAKICAg
ICBpZiAoIWlzUmVuZGVyVmlldygpKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8g
ZG8gYW55dGhpbmcgYXQgYWxsLgotICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlzaWJs
ZU92ZXJmbG93UmVjdCgpOworICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFsT3Zl
cmZsb3dSZWN0KCk7CiAgICAgICAgIG92ZXJmbG93Qm94Lm1vdmUodHgsIHR5KTsKICAgICAgICAg
aWYgKCFvdmVyZmxvd0JveC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoX3gsIF95KSkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00NTYxLDQ5ICs0MjAyLDQzIEBAIEludFJl
Y3QgUmVuZGVyQmxvY2s6OmNvbHVtblJlY3RBdChDb2x1bW4KIAogYm9vbCBSZW5kZXJCbG9jazo6
bGF5b3V0Q29sdW1ucyhib29sIGhhc1NwZWNpZmllZFBhZ2VIZWlnaHQsIGludCBwYWdlSGVpZ2h0
LCBMYXlvdXRTdGF0ZU1haW50YWluZXImIHN0YXRlUHVzaGVyKQogewotICAgIGlmIChoYXNDb2x1
bW5zKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkgYXQg
YWxsIGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRvIHVu
ZGVyc3RhbmQgd2hhdAotICAgICAgICAvLyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBmb3JjZWQgcGFn
ZSBicmVha3MgaXMgc28gdGhhdCB3ZSBjYW4gYXZvaWQgbWFraW5nIHRoZSBtaW5pbXVtIGNvbHVt
biBoZWlnaHQgdG9vIHRhbGwuCi0gICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5J
bmZvKCk7Ci0gICAgICAgIGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNpcmVk
Q29sdW1uQ291bnQoKTsKLSAgICAgICAgaWYgKCFoYXNTcGVjaWZpZWRQYWdlSGVpZ2h0KSB7Ci0g
ICAgICAgICAgICBpbnQgY29sdW1uSGVpZ2h0ID0gcGFnZUhlaWdodDsKLSAgICAgICAgICAgIGlu
dCBtaW5Db2x1bW5Db3VudCA9IGNvbEluZm8tPmZvcmNlZEJyZWFrcygpICsgMTsKLSAgICAgICAg
ICAgIGlmIChtaW5Db2x1bW5Db3VudCA+PSBkZXNpcmVkQ29sdW1uQ291bnQpIHsKLSAgICAgICAg
ICAgICAgICAvLyBUaGUgZm9yY2VkIHBhZ2UgYnJlYWtzIGFyZSBpbiBjb250cm9sIG9mIHRoZSBi
YWxhbmNpbmcuICBKdXN0IHNldCB0aGUgY29sdW1uIGhlaWdodCB0byB0aGUKLSAgICAgICAgICAg
ICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2UuCi0gICAgICAgICAgICAgICAgaWYg
KCFwYWdlSGVpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBkaXN0YW5jZUJldHdlZW5C
cmVha3MgPSBtYXgoY29sSW5mby0+bWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcygp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZp
ZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBj
b250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7Ci0gICAgICAg
ICAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9IG1heChjb2xJbmZvLT5taW5pbXVtQ29sdW1uSGVp
Z2h0KCksIGRpc3RhbmNlQmV0d2VlbkJyZWFrcyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJlZENv
bHVtbkNvdW50KSB7Ci0gICAgICAgICAgICAgICAgLy8gTm93IHRoYXQgd2Uga25vdyB0aGUgaW50
cmluc2ljIGhlaWdodCBvZiB0aGUgY29sdW1ucywgd2UgaGF2ZSB0byByZWJhbGFuY2UgdGhlbS4K
LSAgICAgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNvbHVt
bkhlaWdodCgpLCAoaW50KWNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBkZXNpcmVkQ29s
dW1uQ291bnQpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYg
KGNvbHVtbkhlaWdodCAmJiBjb2x1bW5IZWlnaHQgIT0gcGFnZUhlaWdodCkgewotICAgICAgICAg
ICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOwotICAgICAgICAgICAgICAgIG1fZXZlckhhZExheW91
dCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgbGF5b3V0QmxvY2soZmFsc2UsIGNvbHVtbkhlaWdo
dCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0gCi0gICAgICAgIAotICAgICAgICBpZiAocGFnZUhlaWdodCkgLy8gRklYTUU6IFNob3VsZCB3
ZSB1c2UgbG93ZXN0UG9zaXRpb24gKGV4Y2x1ZGluZyBvdXIgcG9zaXRpb25lZCBvYmplY3RzKSBp
bnN0ZWFkIG9mIGNvbnRlbnRIZWlnaHQoKT8KLSAgICAgICAgICAgIGNvbEluZm8tPnNldENvbHVt
bkNvdW50QW5kSGVpZ2h0KGNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBwYWdlSGVpZ2h0
KSwgcGFnZUhlaWdodCk7Ci0KLSAgICAgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7Ci0g
ICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1uUmVjdEF0KGNvbEluZm8sIGNvbHVt
bkNvdW50KGNvbEluZm8pIC0gMSk7Ci0gICAgICAgICAgICBpbnQgb3ZlcmZsb3dMZWZ0ID0gIXN0
eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1pbigwLCBsYXN0UmVjdC54KCkpIDog
MDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0gc3R5bGUoKS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0LngoKSArIGxhc3RSZWN0LndpZHRo
KCkpIDogMDsKLSAgICAgICAgICAgIGludCBvdmVyZmxvd0hlaWdodCA9IGJvcmRlclRvcCgpICsg
cGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCk7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQob3ZlcmZsb3dIZWlnaHQgKyBib3JkZXJCb3R0b20o
KSArIHBhZGRpbmdCb3R0b20oKSArIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7CisgICAg
aWYgKCFoYXNDb2x1bW5zKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAgICAg
bV9vdmVyZmxvdy5jbGVhcigpOwotICAgICAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50UmVj
dChvdmVyZmxvd0xlZnQsIDAsIG92ZXJmbG93UmlnaHQgLSBvdmVyZmxvd0xlZnQsIG92ZXJmbG93
SGVpZ2h0KSk7CisgICAgLy8gRklYTUU6IFdlIGRvbid0IGJhbGFuY2UgcHJvcGVybHkgYXQgYWxs
IGluIHRoZSBwcmVzZW5jZSBvZiBmb3JjZWQgcGFnZSBicmVha3MuICBXZSBuZWVkIHRvIHVuZGVy
c3RhbmQgd2hhdAorICAgIC8vIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGZvcmNlZCBwYWdlIGJyZWFr
cyBpcyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYWtpbmcgdGhlIG1pbmltdW0gY29sdW1uIGhlaWdo
dCB0b28gdGFsbC4KKyAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOworICAg
IGludCBkZXNpcmVkQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5kZXNpcmVkQ29sdW1uQ291bnQoKTsK
KyAgICBpZiAoIWhhc1NwZWNpZmllZFBhZ2VIZWlnaHQpIHsKKyAgICAgICAgaW50IGNvbHVtbkhl
aWdodCA9IHBhZ2VIZWlnaHQ7CisgICAgICAgIGludCBtaW5Db2x1bW5Db3VudCA9IGNvbEluZm8t
PmZvcmNlZEJyZWFrcygpICsgMTsKKyAgICAgICAgaWYgKG1pbkNvbHVtbkNvdW50ID49IGRlc2ly
ZWRDb2x1bW5Db3VudCkgeworICAgICAgICAgICAgLy8gVGhlIGZvcmNlZCBwYWdlIGJyZWFrcyBh
cmUgaW4gY29udHJvbCBvZiB0aGUgYmFsYW5jaW5nLiAgSnVzdCBzZXQgdGhlIGNvbHVtbiBoZWln
aHQgdG8gdGhlCisgICAgICAgICAgICAvLyBtYXhpbXVtIHBhZ2UgYnJlYWsgZGlzdGFuY2UuCisg
ICAgICAgICAgICBpZiAoIXBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgICAgICBpbnQgZGlzdGFu
Y2VCZXR3ZWVuQnJlYWtzID0gbWF4KGNvbEluZm8tPm1heGltdW1EaXN0YW5jZUJldHdlZW5Gb3Jj
ZWRCcmVha3MoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZVkoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9w
KCkgKyBjb250ZW50SGVpZ2h0KCkpIC0gY29sSW5mby0+Zm9yY2VkQnJlYWtPZmZzZXQoKSk7Cisg
ICAgICAgICAgICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1bW5I
ZWlnaHQoKSwgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fSBlbHNlIGlmIChjb250ZW50SGVpZ2h0KCkgPiBwYWdlSGVpZ2h0ICogZGVzaXJlZENvbHVtbkNv
dW50KSB7CisgICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBrbm93IHRoZSBpbnRyaW5zaWMgaGVp
Z2h0IG9mIHRoZSBjb2x1bW5zLCB3ZSBoYXZlIHRvIHJlYmFsYW5jZSB0aGVtLgorICAgICAgICAg
ICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1bW5IZWlnaHQoKSwgKGlu
dCljZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gZGVzaXJlZENvbHVtbkNvdW50KSk7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChjb2x1bW5IZWlnaHQgJiYgY29sdW1uSGVp
Z2h0ICE9IHBhZ2VIZWlnaHQpIHsKKyAgICAgICAgICAgIHN0YXRlUHVzaGVyLnBvcCgpOworICAg
ICAgICAgICAgbV9ldmVySGFkTGF5b3V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGxheW91dEJsb2Nr
KGZhbHNlLCBjb2x1bW5IZWlnaHQpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KKyAgICB9IAorICAgIAorICAgIGlmIChwYWdlSGVpZ2h0KSAvLyBGSVhNRTogU2hvdWxkIHdl
IHVzZSBsb3dlc3RQb3NpdGlvbiAoZXhjbHVkaW5nIG91ciBwb3NpdGlvbmVkIG9iamVjdHMpIGlu
c3RlYWQgb2YgY29udGVudEhlaWdodCgpPworICAgICAgICBjb2xJbmZvLT5zZXRDb2x1bW5Db3Vu
dEFuZEhlaWdodChjZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gcGFnZUhlaWdodCksIHBh
Z2VIZWlnaHQpOworCisgICAgaWYgKGNvbHVtbkNvdW50KGNvbEluZm8pKSB7CisgICAgICAgIHNl
dExvZ2ljYWxIZWlnaHQoYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjb2xJbmZvLT5jb2x1
bW5IZWlnaHQoKSArIGJvcmRlckJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgaG9yaXpvbnRh
bFNjcm9sbGJhckhlaWdodCgpKTsKKyAgICAgICAgbV9vdmVyZmxvdy5jbGVhcigpOwogICAgIH0K
ICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBAIC02MTYxLDggKzU3OTYsOCBAQCB2b2lkIFJlbmRl
ckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQCiAgICAgLy8gbGluZSBhbmQgYWxsIGZvbGxv
d2luZyBsaW5lcy4KICAgICBMYXlvdXRTdGF0ZSogbGF5b3V0U3RhdGUgPSB2aWV3KCktPmxheW91
dFN0YXRlKCk7CiAgICAgaW50IHBhZ2VIZWlnaHQgPSBsYXlvdXRTdGF0ZS0+bV9wYWdlSGVpZ2h0
OwotICAgIGludCB5UG9zID0gbGluZUJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgaW50
IGxpbmVIZWlnaHQgPSBsaW5lQm94LT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIHlQb3M7Cisg
ICAgaW50IHlQb3MgPSBsaW5lQm94LT50b3BWaXN1YWxPdmVyZmxvdygpOworICAgIGludCBsaW5l
SGVpZ2h0ID0gbGluZUJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSAtIHlQb3M7CiAgICAgaWYg
KGxheW91dFN0YXRlLT5tX2NvbHVtbkluZm8pCiAgICAgICAgIGxheW91dFN0YXRlLT5tX2NvbHVt
bkluZm8tPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobGluZUhlaWdodCk7CiAgICAgeVBvcyAr
PSBkZWx0YTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzMzMzQpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05OCwx
MSArOTgsNiBAQCBwdWJsaWM6CiAgICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUo
aW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3Q7CiAgICAgaW50IGxvZ2ljYWxSaWdo
dE9mZnNldEZvckxpbmUoaW50IHBvc2l0aW9uLCBib29sIGZpcnN0TGluZSkgY29uc3QgeyByZXR1
cm4gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zmc2V0
Rm9yQ29udGVudCgpLCBmaXJzdExpbmUpOyB9CiAgICAgaW50IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBjb25zdCB7IHJldHVybiBsb2dpY2Fs
TGVmdE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudCgp
LCBmaXJzdExpbmUpOyB9Ci0KLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBB
cHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50
IGxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29s
IGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBj
b25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNm
b3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQ
b3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRl
U2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7CiAg
ICAgCiAgICAgdmlydHVhbCBWaXNpYmxlUG9zaXRpb24gcG9zaXRpb25Gb3JQb2ludChjb25zdCBJ
bnRQb2ludCYpOwogICAgIApAQCAtMjg2LDYgKzI4MSwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmly
dHVhbCBib29sIGhhc0xpbmVJZkVtcHR5KCkgY29uc3Q7CiAgICAgYm9vbCBsYXlvdXRPbmx5UG9z
aXRpb25lZE9iamVjdHMoKTsKIAorICAgIHZvaWQgY29tcHV0ZU92ZXJmbG93KGludCBvbGRDbGll
bnRBZnRlckVkZ2UpOworICAgIHZpcnR1YWwgdm9pZCBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigp
OworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCk7CisgICAgdm9pZCBhZGRPdmVyZmxv
d0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQmxvY2tD
aGlsZHJlbigpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKKwog
I2lmIEVOQUJMRShTVkcpCiBwcm90ZWN0ZWQ6CiAKQEAgLTI5OCw4ICszMDAsNiBAQCBwcm90ZWN0
ZWQ6CiAgICAgfQogI2VuZGlmCiAKLSAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRy
ZW4oKTsKLQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmly
dHVhbENoaWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3Qg
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBj
aGlsZHJlbigpOyB9CkBAIC0zMzAsOCArMzMwLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxheW91
dEJsb2NrQ2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBpbnQmIG1heEZsb2F0TG9naWNh
bEJvdHRvbSk7CiAgICAgdm9pZCBsYXlvdXRJbmxpbmVDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hp
bGRyZW4sIGludCYgcmVwYWludExvZ2ljYWxUb3AsIGludCYgcmVwYWludExvZ2ljYWxCb3R0b20p
OwogCi0gICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uTGlzdE1hcmtlcigpIHsgfQotCiAgICAgdmly
dHVhbCB2b2lkIGJvcmRlckZpdEFkanVzdChpbnQmIHgsIGludCYgdykgY29uc3Q7IC8vIFNocmlu
ayB0aGUgYm94IGluIHdoaWNoIHRoZSBib3JkZXIgcGFpbnRzIGlmIGJvcmRlci1maXQgaXMgc2V0
LgogCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChQc2V1ZG9JZCk7
CkBAIC00NjMsMTUgKzQ2MSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGly
ZWN0aW9uUG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3Zl
cmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAg
dm9pZCBkZWxldGVFbGxpcHNpc0xpbmVCb3hlcygpOwogICAgIHZvaWQgY2hlY2tMaW5lc0ZvclRl
eHRPdmVyZmxvdygpOwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsK
LSAgICBpbnQgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCop
IGNvbnN0OwotICAgIGludCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxp
bmVCb3gqKSBjb25zdDsKKyAgICBpbnQgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShS
b290SW5saW5lQm94KikgY29uc3Q7CisgICAgaW50IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9y
TGluZShSb290SW5saW5lQm94KikgY29uc3Q7CiAgICAgaW50IGJlZm9yZVNpZGVMYXlvdXRPdmVy
Zmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIGludCBhZnRlclNpZGVMYXlv
dXRPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIC8vIEVuZCBvZiBm
dW5jdGlvbnMgZGVmaW5lZCBpbiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwLgogCi0gICAgdm9p
ZCBhZGRPdmVyZmxvd0Zyb21GbG9hdHMoKTsKLQogICAgIHZvaWQgcGFpbnRGbG9hdHMoUGFpbnRJ
bmZvJiwgaW50IHR4LCBpbnQgdHksIGJvb2wgcHJlc2VydmVQaGFzZSA9IGZhbHNlKTsKICAgICB2
b2lkIHBhaW50Q29udGVudHMoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQg
cGFpbnRDb2x1bW5Db250ZW50cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwYWlu
dEZsb2F0cyA9IGZhbHNlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTUsOCArNjE1LDggQEAg
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgUmVu
ZGVyQXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAgICAgICAgIFJvb3RJbmxpbmVC
b3gqIGJveCA9IHN0YXJ0TGluZTsKICAgICAgICAgICAgIHdoaWxlIChib3gpIHsKLSAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3Jl
U2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7Ci0gICAgICAgICAgICAgICAgcmVwYWlu
dExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2li
bGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxU
b3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0Zvckxp
bmUoYm94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVw
YWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3gpKTsK
ICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94LT5uZXh0Um9vdEJveCgp
OwogICAgICAgICAgICAgICAgIGJveC0+ZGVsZXRlTGluZShhcmVuYSk7CiAgICAgICAgICAgICAg
ICAgYm94ID0gbmV4dDsKQEAgLTc2NCw2ICs3NjQsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlv
dXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAjZW5kaWYKIAor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSBvdXIgb3ZlcmZsb3cgbm93LgorICAg
ICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZU92ZXJmbG93KGxpbmVCb3gtPmxp
bmVUb3AoKSwgbGluZUJveC0+bGluZUJvdHRvbSgpLCBkb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9k
ZSgpLCB0ZXh0Qm94RGF0YU1hcCk7CisgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYW4gb3ZlcmZsb3cgaW5mbGF0aW9u
LgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCktPmhpZ2hsaWdodCgpICE9IG51
bGxBdG9tKQpAQCAtNzc3LDggKzc4MCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBpZiAobGluZUJveCkgewogICAgICAgICAgICAg
ICAgICAgICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5vYmosIGVuZC5wb3MsIHJlc29s
dmVyLnN0YXR1cygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZVJlcGFpbnRCb3VuZHMp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFp
bnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBh
aW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBh
aW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBh
aW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gp
KTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgaWYgKHBhZ2luYXRlZCkgewpAQCAtNzg4LDcgKzc5MSw3IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgb2xkTGluZVdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShvbGRM
b2dpY2FsSGVpZ2h0LCBmaXJzdExpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp
bmVCb3gtPmFkanVzdFBvc2l0aW9uKDAsIGFkanVzdG1lbnQpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSAvLyBUaGlzIGNhbiBvbmx5IGJlIGEgcG9z
aXRpdmUgYWRqdXN0bWVudCwgc28gbm8gbmVlZCB0byB1cGRhdGUgcmVwYWludFRvcC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVw
YWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJv
eCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRv
bSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JM
aW5lKGxpbmVCb3gpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUob2xk
TG9naWNhbEhlaWdodCArIGFkanVzdG1lbnQsIGZpcnN0TGluZSkgIT0gb2xkTGluZVdpZHRoKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gZGVsZXRlIHRo
aXMgbGluZSwgcmVtb3ZlIGFsbCBmbG9hdHMgdGhhdCBnb3QgYWRkZWQsIGFuZCBsZXQgbGluZSBs
YXlvdXQgcmUtcnVuLgpAQCAtODQyLDggKzg0NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdExpbmVQb3Np
dGlvbkZvclBhZ2luYXRpb24obGluZSwgZGVsdGEpOwogICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgICAgIGlmIChkZWx0YSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
cmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNp
YmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAwKSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRv
bSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSArIG1heChkZWx0YSwgMCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWlu
dExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkgKyBtaW4o
ZGVsdGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9t
ID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0Zvckxp
bmUobGluZSkgKyBtYXgoZGVsdGEsIDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUt
PmFkanVzdFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckJveCo+KiBjbGVhbkxpbmVGbG9hdHMgPSBs
aW5lLT5mbG9hdHNQdHIoKSkgewpAQCAtODYxLDggKzg2NCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBs
aW5lID0gZW5kTGluZTsKICAgICAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5k
ZXJBcmVuYSgpOwogICAgICAgICAgICAgICAgIHdoaWxlIChsaW5lKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVT
aWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSk7Ci0gICAgICAgICAgICAgICAgICAgIHJl
cGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVW
aXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVwYWlu
dExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVy
Zmxvd0ZvckxpbmUobGluZSkpOworICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJv
dHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dG
b3JMaW5lKGxpbmUpKTsKICAgICAgICAgICAgICAgICAgICAgUm9vdElubGluZUJveCogbmV4dCA9
IGxpbmUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgICAgIGxpbmUtPmRlbGV0ZUxp
bmUoYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICBsaW5lID0gbmV4dDsKQEAgLTg3NCw3ICs4
NzcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAg
ICAgICAvLyBUaGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBhZGRpbmcgaW4gdGhlIGJvdHRvbSBi
b3JkZXIvcGFkZGluZywgb3IgdGhlIGZsb2F0IHdpbGwKICAgICAgICAgICAgIC8vIGluY2x1ZGUg
dGhlIHBhZGRpbmcgaW5jb3JyZWN0bHkuIC1kd2gKICAgICAgICAgICAgIGlmIChjaGVja0ZvckZs
b2F0c0Zyb21MYXN0TGluZSkgewotICAgICAgICAgICAgICAgIGludCBib3R0b21WaXN1YWxPdmVy
ZmxvdyA9IGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7Cisg
ICAgICAgICAgICAgICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYWZ0ZXJTaWRlVmlzdWFs
T3ZlcmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOwogICAgICAgICAgICAgICAgIGludCBib3R0
b21MYXlvdXRPdmVyZmxvdyA9IGFmdGVyU2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShsYXN0Um9v
dEJveCgpKTsKICAgICAgICAgICAgICAgICBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3gqIHRy
YWlsaW5nRmxvYXRzTGluZUJveCA9IG5ldyAocmVuZGVyQXJlbmEoKSkgVHJhaWxpbmdGbG9hdHNS
b290SW5saW5lQm94KHRoaXMpOwogICAgICAgICAgICAgICAgIG1fbGluZUJveGVzLmFwcGVuZExp
bmVCb3godHJhaWxpbmdGbG9hdHNMaW5lQm94KTsKQEAgLTg4Miw3ICs4ODUsMTMgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgICAgIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwIHRleHRCb3hEYXRhTWFwOwogICAgICAgICAgICAg
ICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGU7CiAgICAgICAg
ICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5hbGlnbkJveGVzSW5CbG9ja0RpcmVjdGlv
bihsb2dpY2FsSGVpZ2h0KCksIHRleHRCb3hEYXRhTWFwLCB2ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUp
OwotICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+c2V0QmxvY2tEaXJlY3Rp
b25PdmVyZmxvd1Bvc2l0aW9ucyhsb2dpY2FsSGVpZ2h0KCksIGJvdHRvbUxheW91dE92ZXJmbG93
LCBsb2dpY2FsSGVpZ2h0KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKKyAgICAgICAgICAgICAg
ICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyh0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPmxv
Z2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgICAgICAgICAgICAgbG9naWNhbExheW91
dE92ZXJmbG93LnNldFkobG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICBsb2dpY2Fs
TGF5b3V0T3ZlcmZsb3cuc2V0SGVpZ2h0KGJvdHRvbUxheW91dE92ZXJmbG93IC0gbG9naWNhbEhl
aWdodCgpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyh0
cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QoKSk7CisgICAg
ICAgICAgICAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93LnNldFkobG9naWNhbEhlaWdodCgpKTsK
KyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cuc2V0SGVpZ2h0KGJvdHRvbVZp
c3VhbE92ZXJmbG93IC0gbG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgICAgICB0cmFpbGlu
Z0Zsb2F0c0xpbmVCb3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhsb2dpY2FsTGF5b3V0
T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdywgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5s
aW5lVG9wKCksIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+bGluZUJvdHRvbSgpKTsKICAgICAgICAg
ICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrTG9naWNhbEhlaWdodChsb2dp
Y2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxhc3RGbG9hdCkg
ewpAQCAtOTU1LDggKzk2NCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpkZXRlcm1p
bmVTdGEKICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VSZXBhaW50Qm91bmRzKQogICAgICAg
ICAgICAgICAgICAgICAgICAgdXNlUmVwYWludEJvdW5kcyA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4o
cmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGN1cnIp
ICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOwotICAgICAgICAgICAgICAgICAgICByZXBhaW50
TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJs
ZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1heChwYWdpbmF0aW9uRGVsdGEsIDApKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3As
IGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoY3VycikgKyBtaW4ocGFnaW5hdGlvbkRl
bHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4
KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoY3Vy
cikgKyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CiAgICAgICAgICAgICAgICAgICAgIGN1cnIt
PmFkanVzdFBvc2l0aW9uKDAsIHBhZ2luYXRpb25EZWx0YSk7CiAgICAgICAgICAgICAgICAgfSAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgIH0KQEAgLTExNzIsOCArMTE4MSw4IEBAIGJvb2wg
UmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKGNvbnN0IEkKICAgICAgICAgICAgIFJvb3RJbmxp
bmVCb3gqIGJveFRvRGVsZXRlID0gZW5kTGluZTsKICAgICAgICAgICAgIFJlbmRlckFyZW5hKiBh
cmVuYSA9IHJlbmRlckFyZW5hKCk7CiAgICAgICAgICAgICB3aGlsZSAoYm94VG9EZWxldGUgJiYg
Ym94VG9EZWxldGUgIT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxU
b3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JM
aW5lKGJveFRvRGVsZXRlKSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20g
PSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0Zvckxp
bmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1p
bihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3hU
b0RlbGV0ZSkpOworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJl
cGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94VG9E
ZWxldGUpKTsKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94VG9EZWxl
dGUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgYm94VG9EZWxldGUtPmRlbGV0ZUxp
bmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveFRvRGVsZXRlID0gbmV4dDsKQEAgLTIwMjks
MjkgKzIwMzgsNDEgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQog
CiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpCiB7Cisg
ICAgaW50IGVuZFBhZGRpbmcgPSBoYXNPdmVyZmxvd0NsaXAoKSA/IHBhZGRpbmdFbmQoKSA6IDA7
CisgICAgLy8gRklYTUU6IE5lZWQgdG8gZmluZCBhbm90aGVyIHdheSB0byBkbyB0aGlzLCBzaW5j
ZSBzY3JvbGxiYXJzIGNvdWxkIHNob3cgd2hlbiB3ZSBkb24ndCB3YW50IHRoZW0gdG8uCisgICAg
aWYgKGhhc092ZXJmbG93Q2xpcCgpICYmICFlbmRQYWRkaW5nICYmIG5vZGUoKSAmJiBub2RlKCkt
PmlzQ29udGVudEVkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5vZGUoKS0+cm9vdEVkaXRhYmxlRWxl
bWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAgZW5k
UGFkZGluZyA9IDE7CiAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94
KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGFkZExheW91
dE92ZXJmbG93KGN1cnItPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgSW50UmVjdCBs
aW5lTGF5b3V0T3ZlcmZsb3cgPSBjdXJyLT5sYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAg
aWYgKGVuZFBhZGRpbmcpIHsKKyAgICAgICAgICAgIGludCByaWdodFBhZGRpbmdFZGdlID0gY3Vy
ci0+bG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nOworICAgICAgICAgICAgaWYgKHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNldFdpZHRoKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cud2lkdGgoKSwgcmlnaHRQYWRk
aW5nRWRnZSAtIGxpbmVMYXlvdXRPdmVyZmxvdy54KCkpKTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2V0SGVpZ2h0KG1heChsaW5lTGF5b3V0
T3ZlcmZsb3cuaGVpZ2h0KCksIHJpZ2h0UGFkZGluZ0VkZ2UgLSBsaW5lTGF5b3V0T3ZlcmZsb3cu
eCgpKSk7CisgICAgICAgIH0KKyAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3cobGluZUxheW91dE92
ZXJmbG93KTsKICAgICAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgICAgIGFk
ZFZpc3VhbE92ZXJmbG93KGN1cnItPnZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICB9CiB9CiAK
LWludCBSZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElu
bGluZUJveCogbGluZSkgY29uc3QKK2ludCBSZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc3VhbE92
ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAogewogICAgIC8vIE92ZXJm
bG93IGlzIGluIHRoZSBibG9jaydzIGNvb3JkaW5hdGUgc3BhY2UsIHdoaWNoIG1lYW5zIGl0IGlz
bid0IHB1cmVseSBwaHlzaWNhbC4gIEZvciBmbGlwcGVkIGJsb2NrcyAocmwgYW5kIGJ0KSwKICAg
ICAvLyB3ZSBjb250aW51ZSB0byB1c2UgdG9wIGFuZCBsZWZ0IG92ZXJmbG93IGV2ZW4gdGhvdWdo
IHBoeXNpY2FsbHkgaXQncyBib3R0b20gYW5kIHJpZ2h0LgogICAgIGlmIChzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gbGluZS0+dG9wVmlzaWJsZU92
ZXJmbG93KCk7Ci0gICAgcmV0dXJuIGxpbmUtPmxlZnRWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICAg
ICAgcmV0dXJuIGxpbmUtPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgcmV0dXJuIGxpbmUtPmxl
ZnRWaXN1YWxPdmVyZmxvdygpOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6OmFmdGVyU2lkZVZpc2li
bGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKK2ludCBSZW5kZXJC
bG9jazo6YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUp
IGNvbnN0CiB7CiAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRpbmF0ZSBz
cGFjZSwgd2hpY2ggbWVhbnMgaXQgaXNuJ3QgcHVyZWx5IHBoeXNpY2FsLiAgRm9yIGZsaXBwZWQg
YmxvY2tzIChybCBhbmQgYnQpLAogICAgIC8vIHdlIGNvbnRpbnVlIHRvIHVzZSBib3R0b20gYW5k
IHJpZ2h0IG92ZXJmbG93IGV2ZW4gdGhvdWdoIHBoeXNpY2FsbHkgaXQncyB0b3AgYW5kIGxlZnQu
CiAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJl
dHVybiBsaW5lLT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKLSAgICByZXR1cm4gbGluZS0+cmln
aHRWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICAgICAgcmV0dXJuIGxpbmUtPmJvdHRvbVZpc3VhbE92
ZXJmbG93KCk7CisgICAgcmV0dXJuIGxpbmUtPnJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKIH0KIAog
aW50IFJlbmRlckJsb2NrOjpiZWZvcmVTaWRlTGF5b3V0T3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxp
bmVCb3gqIGxpbmUpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9u
IDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDA2LDkgKzQwNiwxMCBAQCBpbnQgUmVuZGVyQm94OjpzY3JvbGxXaWR0aCgpIGNvbnN0
CiAgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5ZXIoKS0+c2Ny
b2xsV2lkdGgoKTsKICAgICAvLyBGb3Igb2JqZWN0cyB3aXRoIHZpc2libGUgb3ZlcmZsb3csIHRo
aXMgbWF0Y2hlcyBJRS4KKyAgICAvLyBGSVhNRTogTmVlZCB0byB3b3JrIHJpZ2h0IHdpdGggd3Jp
dGluZyBtb2Rlcy4KICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQot
ICAgICAgICByZXR1cm4gbWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0bW9zdFBvc2l0aW9uKHRydWUs
IGZhbHNlKSAtIGJvcmRlckxlZnQoKSk7Ci0gICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4o
MCwgbGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJMZWZ0KCkpOworICAgICAg
ICByZXR1cm4gbWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIGJvcmRl
ckxlZnQoKSk7CisgICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4oMCwgbGVmdExheW91dE92
ZXJmbG93KCkgLSBib3JkZXJMZWZ0KCkpOwogfQogCiBpbnQgUmVuZGVyQm94OjpzY3JvbGxIZWln
aHQoKSBjb25zdApAQCAtNDE2LDcgKzQxNyw4IEBAIGludCBSZW5kZXJCb3g6OnNjcm9sbEhlaWdo
dCgpIGNvbnN0CiAgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5
ZXIoKS0+c2Nyb2xsSGVpZ2h0KCk7CiAgICAgLy8gRm9yIG9iamVjdHMgd2l0aCB2aXNpYmxlIG92
ZXJmbG93LCB0aGlzIG1hdGNoZXMgSUUuCi0gICAgcmV0dXJuIG1heChjbGllbnRIZWlnaHQoKSwg
bG93ZXN0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm9yZGVyVG9wKCkpOworICAgIC8vIEZJWE1F
OiBOZWVkIHRvIHdvcmsgcmlnaHQgd2l0aCB3cml0aW5nIG1vZGVzLgorICAgIHJldHVybiBtYXgo
Y2xpZW50SGVpZ2h0KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCkgLSBib3JkZXJUb3AoKSk7CiB9
CiAKIGludCBSZW5kZXJCb3g6OnNjcm9sbExlZnQoKSBjb25zdApAQCAtNDUxLDIyICs0NTMsNiBA
QCB2b2lkIFJlbmRlckJveDo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvCiAgICAgcXVhZHMuYXBw
ZW5kKGxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgp
KSkpOwogfQogCi1JbnRSZWN0IFJlbmRlckJveDo6YXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChj
b25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAotewotICAgIGlmIChoYXNMYXllcigpICYmIGxheWVy
KCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5z
Zm9ybTsKLSAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShyZWN0LngoKSwgcmVjdC55KCkpOwot
ICAgICAgICB0cmFuc2Zvcm0ubXVsdExlZnQobGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpKTsK
LSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybS5tYXBSZWN0KEludFJlY3QoMCwgMCwgcmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKSk7Ci0gICAgfQotICAgIHJldHVybiByZWN0OwotfQotCi1JbnRS
ZWN0IFJlbmRlckJveDo6dHJhbnNmb3JtZWRGcmFtZVJlY3QoKSBjb25zdAotewotICAgIHJldHVy
biBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KGZyYW1lUmVjdCgpKTsKLX0KLQogdm9pZCBSZW5k
ZXJCb3g6OnVwZGF0ZUxheWVyVHJhbnNmb3JtKCkKIHsKICAgICAvLyBUcmFuc2Zvcm0tb3JpZ2lu
IGRlcGVuZHMgb24gYm94IHNpemUsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBsYXllciB0cmFu
c2Zvcm0gYWZ0ZXIgbGF5b3V0LgpAQCAtNzczLDggKzc1OSw4IEBAIHZvaWQgUmVuZGVyQm94Ojpw
YWludFJvb3RCb3hEZWNvcmF0aW9ucygKICAgICAvLyBDU1MyIDE0LjI6CiAgICAgLy8gVGhlIGJh
Y2tncm91bmQgb2YgdGhlIGJveCBnZW5lcmF0ZWQgYnkgdGhlIHJvb3QgZWxlbWVudCBjb3ZlcnMg
dGhlIGVudGlyZSBjYW52YXMgaW5jbHVkaW5nCiAgICAgLy8gaXRzIG1hcmdpbnMuCi0gICAgaW50
IGJ4ID0gdHggLSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmxlZnRMYXlvdXRPdmVyZmxvdygpOwot
ICAgIGludCBieSA9IHR5IC0gbWFyZ2luVG9wKCkgKyB2aWV3KCktPnRvcExheW91dE92ZXJmbG93
KCk7CisgICAgaW50IGJ4ID0gdHggLSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmRvY0xlZnQoKTsK
KyAgICBpbnQgYnkgPSB0eSAtIG1hcmdpblRvcCgpICsgdmlldygpLT5kb2NUb3AoKTsKICAgICBp
bnQgYncgPSBtYXgodyArIG1hcmdpbkxlZnQoKSArIG1hcmdpblJpZ2h0KCkgKyBib3JkZXJMZWZ0
KCkgKyBib3JkZXJSaWdodCgpLCBydyk7CiAgICAgaW50IGJoID0gbWF4KGggKyBtYXJnaW5Ub3Ao
KSArIG1hcmdpbkJvdHRvbSgpICsgYm9yZGVyVG9wKCkgKyBib3JkZXJCb3R0b20oKSwgcmgpOwog
CkBAIC0xMzE2LDcgKzEzMDIsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93
UmVjdEZvCiAgICAgaWYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFICYmICFlbmNs
b3NpbmdMYXllcigpLT5oYXNWaXNpYmxlQ29udGVudCgpKQogICAgICAgICByZXR1cm4gSW50UmVj
dCgpOwogCi0gICAgSW50UmVjdCByID0gdmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgIEludFJl
Y3QgciA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogCiAgICAgUmVuZGVyVmlldyogdiA9IHZpZXco
KTsKICAgICBpZiAodikgewpAQCAtMjk2Miw1MCArMjk0OCw2IEBAIEludFJlY3QgUmVuZGVyQm94
Ojpsb2NhbENhcmV0UmVjdChJbmxpbmUKICAgICByZXR1cm4gcmVjdDsKIH0KIAotaW50IFJlbmRl
ckJveDo6dG9wbW9zdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciovLCBi
b29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsK
LSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVU
cmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJhbWVS
ZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkp
Ci0gICAgICAgIHJldHVybiAwOwotICAgIGludCB0b3AgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0
aW9uZWQoKSkKLSAgICAgICAgdG9wICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCk7Ci0gICAg
cmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oYm9vbCAvKmlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3Jt
IGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0g
YXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5z
Zm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8
ICF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IGJv
dHRvbSA9IHRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVk
KCkpCi0gICAgICAgIGJvdHRvbSArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOwotICAgIHJl
dHVybiBib3R0b207Ci19Ci0KLWludCBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wg
LyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5z
Zm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVj
dCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2Vs
ZiB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBp
bnQgcmlnaHQgPSB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlv
bmVkKCkpCi0gICAgICAgIHJpZ2h0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7Ci0gICAg
cmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyQm94OjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wg
LyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5z
Zm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVj
dCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2Vs
ZiB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3Jt
ZWRSZWN0LndpZHRoKCk7Ci0gICAgaW50IGxlZnQgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0aW9u
ZWQoKSkKLSAgICAgICAgbGVmdCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotICAgIHJl
dHVybiBsZWZ0OwotfQotCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBv
aW50KGNvbnN0IEludFBvaW50JiBwb2ludCkKIHsKICAgICAvLyBubyBjaGlsZHJlbi4uLnJldHVy
biB0aGlzIHJlbmRlciBvYmplY3QncyBlbGVtZW50LCBpZiB0aGVyZSBpcyBvbmUsIGFuZCBvZmZz
ZXQgMApAQCAtMzEzMCw0NyArMzA3Miw2NyBAQCB2b2lkIFJlbmRlckJveDo6YWRkU2hhZG93T3Zl
cmZsb3coKQogCiB2b2lkIFJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoUmVuZGVyQm94
KiBjaGlsZCwgY29uc3QgSW50U2l6ZSYgZGVsdGEpCiB7Ci0gICAgLy8gVXBkYXRlIG91ciBvdmVy
ZmxvdyBpbiBjYXNlIHRoZSBjaGlsZCBzcGlsbHMgb3V0IHRoZSBibG9jaywgYnV0IG9ubHkgaWYg
d2Ugd2VyZSBnb2luZyB0byBwYWludAotICAgIC8vIHRoZSBjaGlsZCBibG9jayBvdXJzZWx2ZXMu
Ci0gICAgaWYgKGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICByZXR1cm47
Ci0KICAgICAvLyBPbmx5IHByb3BhZ2F0ZSBsYXlvdXQgb3ZlcmZsb3cgZnJvbSB0aGUgY2hpbGQg
aWYgdGhlIGNoaWxkIGlzbid0IGNsaXBwaW5nIGl0cyBvdmVyZmxvdy4gIElmIGl0IGlzLCB0aGVu
Ci0gICAgLy8gaXRzIG92ZXJmbG93IGlzIGludGVybmFsIHRvIGl0LCBhbmQgd2UgZG9uJ3QgY2Fy
ZSBhYm91dCBpdC4KLSAgICBJbnRSZWN0IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0ID0gY2hpbGQt
Pmhhc092ZXJmbG93Q2xpcCgpID8gY2hpbGQtPmJvcmRlckJveFJlY3QoKSA6IGNoaWxkLT5sYXlv
dXRPdmVyZmxvd1JlY3QoKTsKKyAgICAvLyBpdHMgb3ZlcmZsb3cgaXMgaW50ZXJuYWwgdG8gaXQs
IGFuZCB3ZSBkb24ndCBjYXJlIGFib3V0IGl0LiAgbGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFn
YXRpb24gdGFrZXMgY2FyZSBvZiB0aGlzCisgICAgLy8gYW5kIGp1c3QgcHJvcGFnYXRlcyB0aGUg
Ym9yZGVyIGJveCByZWN0IGluc3RlYWQuCisgICAgSW50UmVjdCBjaGlsZExheW91dE92ZXJmbG93
UmVjdCA9IGNoaWxkLT5sYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsK
ICAgICBjaGlsZExheW91dE92ZXJmbG93UmVjdC5tb3ZlKGRlbHRhKTsKICAgICBhZGRMYXlvdXRP
dmVyZmxvdyhjaGlsZExheW91dE92ZXJmbG93UmVjdCk7CiAgICAgICAgICAgICAKICAgICAvLyBB
ZGQgaW4gdmlzdWFsIG92ZXJmbG93IGZyb20gdGhlIGNoaWxkLiAgRXZlbiBpZiB0aGUgY2hpbGQg
Y2xpcHMgaXRzIG92ZXJmbG93LCBpdCBtYXkgc3RpbGwKICAgICAvLyBoYXZlIHZpc3VhbCBvdmVy
ZmxvdyBvZiBpdHMgb3duIHNldCBmcm9tIGJveCBzaGFkb3dzIG9yIHJlZmxlY3Rpb25zLiAgSXQg
aXMgdW5uZWNlc3NhcnkgdG8gcHJvcGFnYXRlIHRoaXMKICAgICAvLyBvdmVyZmxvdyBpZiB3ZSBh
cmUgY2xpcHBpbmcgb3VyIG93biBvdmVyZmxvdy4KLSAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkp
CisgICAgaWYgKGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc092ZXJmbG93Q2xp
cCgpKQogICAgICAgICByZXR1cm47Ci0gICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVj
dCA9IGNoaWxkLT52aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBJbnRSZWN0IGNoaWxkVmlzdWFs
T3ZlcmZsb3dSZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHN0
eWxlKCkpOwogICAgIGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmUoZGVsdGEpOwogICAgIGFk
ZFZpc3VhbE92ZXJmbG93KGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0KTsKIH0KIAogdm9pZCBSZW5k
ZXJCb3g6OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50
UmVjdCBib3JkZXJCb3ggPSBib3JkZXJCb3hSZWN0KCk7Ci0gICAgaWYgKGJvcmRlckJveC5jb250
YWlucyhyZWN0KSkKKyAgICBJbnRSZWN0IGNsaWVudEJveCA9IGNsaWVudEJveFJlY3QoKTsKKyAg
ICBpZiAoY2xpZW50Qm94LmNvbnRhaW5zKHJlY3QpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CisgICAgCisgICAgLy8gRm9yIG92ZXJmbG93IGNsaXAgb2JqZWN0cywgd2UgZG9u
J3Qgd2FudCB0byBwcm9wYWdhdGUgb3ZlcmZsb3cgaW50byB1bnJlYWNoYWJsZSBhcmVhcy4KKyAg
ICBJbnRSZWN0IG92ZXJmbG93UmVjdChyZWN0KTsKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkg
fHwgaXNSZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2Nr
J3MgY29vcmRpbmF0ZSBzcGFjZSBhbmQgdGh1cyBpcyBmbGlwcGVkIGZvciBob3Jpem9udGFsLWJ0
IGFuZCB2ZXJ0aWNhbC1ybCAKKyAgICAgICAgLy8gd3JpdGluZyBtb2Rlcy4gIEF0IHRoaXMgc3Rh
Z2UgdGhhdCBpcyBhY3R1YWxseSBhIHNpbXBsaWZpY2F0aW9uLCBzaW5jZSB3ZSBjYW4gdHJlYXQg
aG9yaXpvbnRhbC10Yi9idCBhcyB0aGUgc2FtZQorICAgICAgICAvLyBhbmQgdmVydGljYWwtbHIv
cmwgYXMgdGhlIHNhbWUuCisgICAgICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAhc3R5bGUoKS0+
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpICYmICFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpOworICAgICAgICBib29sIGhhc0xlZnRPdmVyZmxvdyA9ICFzdHlsZSgpLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkgJiYgc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsK
ICAgICAgICAgCisgICAgICAgIGlmICghaGFzVG9wT3ZlcmZsb3cpCisgICAgICAgICAgICBvdmVy
Zmxvd1JlY3Quc2hpZnRUb3BFZGdlVG8obWF4KG92ZXJmbG93UmVjdC55KCksIGNsaWVudEJveC55
KCkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0Qm90dG9t
RWRnZVRvKG1pbihvdmVyZmxvd1JlY3QuYm90dG9tKCksIGNsaWVudEJveC5ib3R0b20oKSkpOwor
ICAgICAgICBpZiAoIWhhc0xlZnRPdmVyZmxvdykKKyAgICAgICAgICAgIG92ZXJmbG93UmVjdC5z
aGlmdExlZnRFZGdlVG8obWF4KG92ZXJmbG93UmVjdC54KCksIGNsaWVudEJveC54KCkpKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0UmlnaHRFZGdlVG8obWlu
KG92ZXJmbG93UmVjdC5yaWdodCgpLCBjbGllbnRCb3gucmlnaHQoKSkpOworICAgICAgICAKKyAg
ICAgICAgLy8gTm93IHJlLXRlc3Qgd2l0aCB0aGUgYWRqdXN0ZWQgcmVjdGFuZ2xlIGFuZCBzZWUg
aWYgaXQgaGFzIGJlY29tZSB1bnJlYWNoYWJsZSBvciBmdWxseQorICAgICAgICAvLyBjb250YWlu
ZWQuCisgICAgICAgIGlmIChjbGllbnRCb3guY29udGFpbnMob3ZlcmZsb3dSZWN0KSB8fCBvdmVy
Zmxvd1JlY3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlm
ICghbV9vdmVyZmxvdykKLSAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93
KGJvcmRlckJveCkpOworICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3co
Y2xpZW50Qm94LCBib3JkZXJCb3hSZWN0KCkpKTsKICAgICAKLSAgICBtX292ZXJmbG93LT5hZGRM
YXlvdXRPdmVyZmxvdyhyZWN0KTsKKyAgICBtX292ZXJmbG93LT5hZGRMYXlvdXRPdmVyZmxvdyhv
dmVyZmxvd1JlY3QpOwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZsb3coY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IGJvcmRlckJveCA9IGJvcmRlckJveFJl
Y3QoKTsKLSAgICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAgIGlmIChib3JkZXJC
b3guY29udGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAg
ICAgICAgCiAgICAgaWYgKCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LnNldChuZXcg
UmVuZGVyT3ZlcmZsb3coYm9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBS
ZW5kZXJPdmVyZmxvdyhjbGllbnRCb3hSZWN0KCksIGJvcmRlckJveCkpOwogICAgIAogICAgIG1f
b3ZlcmZsb3ctPmFkZFZpc3VhbE92ZXJmbG93KHJlY3QpOwogfQpAQCAtMzIwNiwyMCArMzE2OCw3
NiBAQCBpbnQgUmVuZGVyQm94OjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlCiAgICAgcmV0dXJu
IDA7CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpibG9ja0RpcmVjdGlvbk92ZXJmbG93KGJvb2wgaXNM
aW5lSG9yaXpvbnRhbCwgaW50JiBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCYgbG9naWNh
bEJvdHRvbUxheW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50JiBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KQorSW50UmVjdCBSZW5kZXJCb3g6OmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1Jl
Y3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0CiB7Ci0gICAg
aWYgKGlzTGluZUhvcml6b250YWwpIHsKLSAgICAgICAgbG9naWNhbFRvcExheW91dE92ZXJmbG93
ID0gdG9wTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbUxheW91dE92ZXJm
bG93ID0gYm90dG9tTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93ID0gdG9wVmlzdWFsT3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbVZpc3Vh
bE92ZXJmbG93ID0gYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPSBsZWZ0TGF5b3V0T3ZlcmZsb3coKTsKLSAgICAg
ICAgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0gcmlnaHRMYXlvdXRPdmVyZmxvdygpOwot
ICAgICAgICBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBsZWZ0VmlzdWFsT3ZlcmZsb3coKTsK
LSAgICAgICAgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gcmlnaHRWaXN1YWxPdmVyZmxv
dygpOwotICAgIH0gCisgICAgSW50UmVjdCByZWN0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJv
cGFnYXRpb24ocGFyZW50U3R5bGUpOworICAgIGlmICghcGFyZW50U3R5bGUtPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiByZWN0LnRyYW5zcG9zZWRSZWN0KCk7Cisg
ICAgcmV0dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojp2aXN1YWxPdmVyZmxvd1Jl
Y3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0Cit7CisgICAg
Ly8gSWYgdGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRo
ZW4gd2UgZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1
cm4gdGhlIHJlc3VsdC4KKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsK
KyAgICBpZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUoKS0+d3JpdGluZ01v
ZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2UgYXJlIHB1dHRpbmcg
b3Vyc2VsdmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2UuICBJZiB0aGVyZSBp
cyBhIGZsaXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRpY3VsYXIgYXhpcywg
dGhlbiB3ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlzLgorICAgIGlmIChz
dHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUgfHwgcGFyZW50
U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkKKyAgICAgICAg
cmVjdC5zZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2UgaWYgKHN0eWxlKCkt
PndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+
d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAgICAgICByZWN0LnNl
dFkoaGVpZ2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiByZWN0OworfQorCitJ
bnRSZWN0IFJlbmRlckJveDo6bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9u
KFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKK3sKKyAgICBJbnRSZWN0IHJlY3QgPSBs
YXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFw
YXJlbnRTdHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJl
Y3QudHJhbnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5k
ZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJl
bnRTdHlsZSkgY29uc3QKK3sKKyAgICAvLyBPbmx5IHByb3BhZ2F0ZSBpbnRlcmlvciBsYXlvdXQg
b3ZlcmZsb3cgaWYgd2UgZG9uJ3QgY2xpcCBpdC4KKyAgICBJbnRSZWN0IHJlY3QgPSBib3JkZXJC
b3hSZWN0KCk7CisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgcmVjdC51bml0
ZShsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisKKyAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkgfHwg
aGFzVHJhbnNmb3JtKCkpIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIHJlbGF0aXZlbHkgcG9zaXRp
b25lZCBvciBpZiB3ZSBoYXZlIGEgdHJhbnNmb3JtLCB0aGVuIHdlIGhhdmUgdG8gY29udmVydAor
ICAgICAgICAvLyB0aGlzIHJlY3RhbmdsZSBpbnRvIHBoeXNpY2FsIGNvb3JkaW5hdGVzLCBhcHBs
eSByZWxhdGl2ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcworICAgICAgICAvLyB0byBpdCwg
YW5kIHRoZW4gY29udmVydCBpdCBiYWNrLgorICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVj
dCk7CisgICAgICAgIAorICAgICAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCisgICAgICAgICAgICBy
ZWN0ID0gbGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpLm1hcFJlY3QocmVjdCk7CisKKyAgICAg
ICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgcmVjdC5tb3ZlKHJlbGF0aXZl
UG9zaXRpb25PZmZzZXRYKCksIHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkpOworICAgICAgICAK
KyAgICAgICAgLy8gTm93IHdlIG5lZWQgdG8gZmxpcCBiYWNrLgorICAgICAgICBmbGlwRm9yV3Jp
dGluZ01vZGUocmVjdCk7CisgICAgfQorICAgIAorICAgIC8vIElmIHRoZSB3cml0aW5nIG1vZGVz
IG9mIHRoZSBjaGlsZCBhbmQgcGFyZW50IG1hdGNoLCB0aGVuIHdlIGRvbid0IGhhdmUgdG8gCisg
ICAgLy8gZG8gYW55dGhpbmcgZmFuY3kuIEp1c3QgcmV0dXJuIHRoZSByZXN1bHQuCisgICAgaWYg
KHBhcmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IHN0eWxlKCktPndyaXRpbmdNb2RlKCkpCisg
ICAgICAgIHJldHVybiByZWN0OworICAgIAorICAgIC8vIFdlIGFyZSBwdXR0aW5nIG91cnNlbHZl
cyBpbnRvIG91ciBwYXJlbnQncyBjb29yZGluYXRlIHNwYWNlLiAgSWYgdGhlcmUgaXMgYSBmbGlw
cGVkIGJsb2NrIG1pc21hdGNoCisgICAgLy8gaW4gYSBwYXJ0aWN1bGFyIGF4aXMsIHRoZW4gd2Ug
aGF2ZSB0byBmbGlwIHRoZSByZWN0IGFsb25nIHRoYXQgYXhpcy4KKyAgICBpZiAoc3R5bGUoKS0+
d3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHBhcmVudFN0eWxlLT53
cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpCisgICAgICAgIHJlY3Quc2V0
WCh3aWR0aCgpIC0gcmVjdC5yaWdodCgpKTsKKyAgICBlbHNlIGlmIChzdHlsZSgpLT53cml0aW5n
TW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUgfHwgcGFyZW50U3R5bGUtPndyaXRpbmdN
b2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdo
dCgpIC0gcmVjdC5ib3R0b20oKSk7CisKKyAgICByZXR1cm4gcmVjdDsKIH0KIAogSW50UG9pbnQg
UmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgUmVuZGVyQm94KiBjaGlsZCwgY29u
c3QgSW50UG9pbnQmIHBvaW50LCBGbGlwcGluZ0FkanVzdG1lbnQgYWRqdXN0bWVudCkgY29uc3QK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTIgKzEwNiwxMSBAQCBw
dWJsaWM6CiAgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJldHVybiBtX2ZyYW1lUmVj
dDsgfQogICAgIHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIHsgbV9mcmFt
ZVJlY3QgPSByZWN0OyB9CiAKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCkgY29u
c3Q7Ci0gICAgSW50UmVjdCBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KGNvbnN0IEludFJlY3Qm
KSBjb25zdDsKLQogICAgIEludFJlY3QgYm9yZGVyQm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIElu
dFJlY3QoMCwgMCwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9CiAgICAgdmlydHVhbCBJbnRSZWN0IGJv
cmRlckJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1cm4gYm9yZGVyQm94UmVjdCgpOyB9IAogICAg
IAorICAgIEludFJlY3QgY2xpZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoYm9y
ZGVyTGVmdCgpLCBib3JkZXJUb3AoKSwgY2xpZW50V2lkdGgoKSwgY2xpZW50SGVpZ2h0KCkpOyB9
CisKICAgICAvLyBUaGUgY29udGVudCBhcmVhIG9mIHRoZSBib3ggKGV4Y2x1ZGVzIHBhZGRpbmcg
YW5kIGJvcmRlcikuCiAgICAgSW50UmVjdCBjb250ZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IEludFJlY3QoYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYm9yZGVyVG9wKCkgKyBwYWRk
aW5nVG9wKCksIGNvbnRlbnRXaWR0aCgpLCBjb250ZW50SGVpZ2h0KCkpOyB9CiAgICAgLy8gVGhl
IGNvbnRlbnQgYm94IGluIGFic29sdXRlIGNvb3Jkcy4gSWdub3JlcyB0cmFuc2Zvcm1zLgpAQCAt
MTI4LDE3ICsxMjcsMTEgQEAgcHVibGljOgogICAgIFJlbmRlckJveCogbmV4dFNpYmxpbmdCb3go
KSBjb25zdDsKICAgICBSZW5kZXJCb3gqIHBhcmVudEJveCgpIGNvbnN0OwogCi0gICAgSW50UmVj
dCB2aXNpYmxlT3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkg
PyB2aXN1YWxPdmVyZmxvd1JlY3QoKSA6IChtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJs
ZU92ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpKTsgfQotICAgIGludCB0b3BWaXNpYmxl
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHRvcFZpc3VhbE92
ZXJmbG93KCkgOiBzdGQ6Om1pbih0b3BMYXlvdXRPdmVyZmxvdygpLCB0b3BWaXN1YWxPdmVyZmxv
dygpKTsgfQotICAgIGludCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBo
YXNPdmVyZmxvd0NsaXAoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiBzdGQ6Om1heChib3R0
b21MYXlvdXRPdmVyZmxvdygpLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBs
ZWZ0VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgPyBs
ZWZ0VmlzdWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKGxlZnRMYXlvdXRPdmVyZmxvdygpLCBsZWZ0
VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6ICBz
dGQ6Om1heChyaWdodExheW91dE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0K
LQotICAgIEludFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgp
OyB9Ci0gICAgaW50IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxv
dz8gbV9vdmVyZmxvdy0+dG9wTGF5b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgYm90dG9t
TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6IGhlaWdodCgpOyB9Ci0gICAgaW50IGxlZnRMYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5
b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgcmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0
IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91dE92ZXJmbG93KCkg
OiB3aWR0aCgpOyB9CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJl
dHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBjbGll
bnRCb3hSZWN0KCk7IH0KKyAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBtX292ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyVG9w
KCk7IH0KKyAgICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgp
ICsgY2xpZW50SGVpZ2h0KCk7IH0KKyAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDog
Ym9yZGVyTGVmdCgpOyB9CisgICAgaW50IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm9y
ZGVyTGVmdCgpICsgY2xpZW50V2lkdGgoKTsgfQogICAgIGludCBsb2dpY2FsTGVmdExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IGxlZnRMYXlvdXRPdmVyZmxvdygpIDogdG9wTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGlu
dCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByaWdodExheW91dE92ZXJmbG93KCkgOiBib3R0b21M
YXlvdXRPdmVyZmxvdygpOyB9CiAgICAgCkBAIC0xNzksNiArMTcyLDcgQEAgcHVibGljOgogICAg
IGludCBjbGllbnRUb3AoKSBjb25zdCB7IHJldHVybiBib3JkZXJUb3AoKTsgfQogICAgIGludCBj
bGllbnRXaWR0aCgpIGNvbnN0OwogICAgIGludCBjbGllbnRIZWlnaHQoKSBjb25zdDsKKyAgICBp
bnQgY2xpZW50TG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBjbGllbnRUb3AoKSArIGNsaWVudEhlaWdodCgpIDogY2xpZW50
TGVmdCgpICsgY2xpZW50V2lkdGgoKTsgfQogCiAgICAgLy8gc2Nyb2xsV2lkdGgvc2Nyb2xsSGVp
Z2h0IHdpbGwgYmUgdGhlIHNhbWUgYXMgY2xpZW50V2lkdGgvY2xpZW50SGVpZ2h0IHVubGVzcyB0
aGUKICAgICAvLyBvYmplY3QgaGFzIG92ZXJmbG93OmhpZGRlbi9zY3JvbGwvYXV0byBzcGVjaWZp
ZWQgYW5kIGFsc28gaGFzIG92ZXJmbG93LgpAQCAtMjcwLDEyICsyNjQsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRJbmxpbmVCb3hXcmFwcGVyKElubGluZUJveCogYm94V3JhcHBlcikgeyBtX2lu
bGluZUJveFdyYXBwZXIgPSBib3hXcmFwcGVyOyB9CiAgICAgdm9pZCBkZWxldGVMaW5lQm94V3Jh
cHBlcigpOwogCi0gICAgZW51bSBBcHBseVRyYW5zZm9ybSB7IEluY2x1ZGVUcmFuc2Zvcm0sIEV4
Y2x1ZGVUcmFuc2Zvcm0gfTsKLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBB
cHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50
IGxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29s
IGluY2x1ZGVTZWxmID0gdHJ1ZSwgIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgcmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5z
Zm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxlZnRtb3N0
UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVk
ZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0Owot
CiAgICAgdmlydHVhbCBJbnRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKTsKICAgICB2aXJ0dWFsIHZvaWQgY29t
cHV0ZVJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
LCBJbnRSZWN0JiwgYm9vbCBmaXhlZCA9IGZhbHNlKTsKIApAQCAtMzkwLDYgKzM3OCwxMSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYpIGNvbnN0OwogICAg
IEludFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCisgICAg
SW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5
bGUqKSBjb25zdDsKKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9u
KFJlbmRlclN0eWxlKikgY29uc3Q7CisgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKKyAgICBJbnRSZWN0IGxheW91
dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CisKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIGludCByZWxhdGl2ZVBvc2l0aW9u
T2Zmc2V0WCgpIGNvbnN0OwogICAgIGludCByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpIGNvbnN0
OwogICAgIEludFNpemUgcmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIElu
dFNpemUocmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSwgcmVsYXRpdmVQb3NpdGlvbk9mZnNldFko
KSk7IH0KKyAgICBJbnRTaXplIHJlbGF0aXZlUG9zaXRpb25Mb2dpY2FsT2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJlbGF0aXZlUG9z
aXRpb25PZmZzZXQoKSA6IHJlbGF0aXZlUG9zaXRpb25PZmZzZXQoKS50cmFuc3Bvc2VkU2l6ZSgp
OyB9CiAKICAgICAvLyBJRSBleHRlbnNpb25zLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXRXaWR0
aC9IZWlnaHQuICBPdmVycmlkZGVuIGJ5IGlubGluZXMgKFJlbmRlckZsb3cpCiAgICAgLy8gdG8g
cmV0dXJuIHRoZSByZW1haW5pbmcgd2lkdGggb24gYSBnaXZlbiBsaW5lIChhbmQgdGhlIGhlaWdo
dCBvZiBhIHNpbmdsZSBsaW5lKS4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDYsNiArMjQ2LDcgQEAgdm9pZCBSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogICAgIGVsc2UKICAgICAgICAgbGF5b3V0
VmVydGljYWxCb3gocmVsYXlvdXRDaGlsZHJlbik7CiAKKyAgICBpbnQgb2xkQ2xpZW50QWZ0ZXJF
ZGdlID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwogICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7
CiAKICAgICBpZiAocHJldmlvdXNIZWlnaHQgIT0gaGVpZ2h0KCkpCkBAIC0yNzEsMTMgKzI3Miw3
IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEJsb2NrKGJvb2wKICAgICAgICAgc2V0
TWF4TWFyZ2luQWZ0ZXJWYWx1ZXMoMCwgMCk7CiAgICAgfQogICAgIAotICAgIC8vIEFkZCBpbiB0
aGUgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbi4KLSAgICBGbGV4Qm94SXRlcmF0b3IgaXRlcmF0b3Io
dGhpcyk7Ci0gICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gaXRlcmF0b3IuZmlyc3QoKTsgY2hp
bGQ7IGNoaWxkID0gaXRlcmF0b3IubmV4dCgpKQotICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGls
ZChjaGlsZCk7Ci0KLSAgICAvLyBBZGQgdmlzdWFsIG92ZXJmbG93IGZyb20gYm94LXNoYWRvdyBh
bmQgcmVmbGVjdGlvbnMuCi0gICAgYWRkU2hhZG93T3ZlcmZsb3coKTsKKyAgICBjb21wdXRlT3Zl
cmZsb3cob2xkQ2xpZW50QWZ0ZXJFZGdlKTsKIAogICAgIHN0YXRlUHVzaGVyLnBvcCgpOwogCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTc5LDcg
KzU3OSw3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCi1JbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNWaXNpYmxlT3Zl
cmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CitJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNWaXN1
YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3QKIHsKICAgICBpZiAoIWZpcnN0TGluZUJveCgp
IHx8ICFsYXN0TGluZUJveCgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwpAQCAtNTg4LDE2
ICs1ODgsMTYgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzaWJsZU92ZXJmbAogICAg
IGludCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKICAgICBp
bnQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigpOwogICAgIGZv
ciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vy
ci0+bmV4dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9naWNh
bExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc2libGVPdmVyZmxvdygpKTsKLSAgICAgICAg
bG9naWNhbFJpZ2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmln
aHRWaXNpYmxlT3ZlcmZsb3coKSk7CisgICAgICAgIGxvZ2ljYWxMZWZ0U2lkZSA9IG1pbihsb2dp
Y2FsTGVmdFNpZGUsIGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAg
IGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lkZSwgY3Vyci0+bG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgfQogCiAgICAgYm9vbCBpc0hvcml6b250YWwgPSBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICBpbnQgeCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5sZWZ0Vmlz
aWJsZU92ZXJmbG93KCk7Ci0gICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3go
KS0+dG9wVmlzaWJsZU92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgaW50IHdpZHRo
ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxh
c3RMaW5lQm94KCktPnJpZ2h0VmlzaWJsZU92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bGVm
dFZpc2libGVPdmVyZmxvdygpOwotICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0
TGluZUJveCgpLT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT50b3BW
aXNpYmxlT3ZlcmZsb3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Cisg
ICAgaW50IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3go
KS0+bGVmdFZpc3VhbE92ZXJmbG93KCk7CisgICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJz
dExpbmVCb3goKS0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBp
bnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRT
aWRlIDogbGFzdExpbmVCb3goKS0+cmlnaHRWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94
KCktPmxlZnRWaXN1YWxPdmVyZmxvdygpOworICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwg
PyBsYXN0TGluZUJveCgpLT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCkt
PnRvcFZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRl
OwogICAgIHJldHVybiBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogfQogCkBAIC02MTAs
NyArNjEwLDcgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlYwogICAg
ICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gRmluZCBvdXIgbGVmdG1vc3QgcG9zaXRp
b24uCi0gICAgSW50UmVjdCBib3VuZGluZ0JveChsaW5lc1Zpc2libGVPdmVyZmxvd0JvdW5kaW5n
Qm94KCkpOworICAgIEludFJlY3QgYm91bmRpbmdCb3gobGluZXNWaXN1YWxPdmVyZmxvd0JvdW5k
aW5nQm94KCkpOwogICAgIGludCBsZWZ0ID0gYm91bmRpbmdCb3gueCgpOwogICAgIGludCB0b3Ag
PSBib3VuZGluZ0JveC55KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEludFNpemUgb2Zm
c2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqLCBjb25zdCBJbnRQb2ludCYpIGNvbnN0Owog
CiAgICAgSW50UmVjdCBsaW5lc0JvdW5kaW5nQm94KCkgY29uc3Q7Ci0gICAgSW50UmVjdCBsaW5l
c1Zpc2libGVPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3Q7CisgICAgSW50UmVjdCBsaW5lc1Zp
c3VhbE92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdDsKIAogICAgIElubGluZUZsb3dCb3gqIGNy
ZWF0ZUFuZEFwcGVuZElubGluZUZsb3dCb3goKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3NiwxNCArNjc2LDYgQEAgdm9pZCBSZW5kZXJMYXll
cjo6dXBkYXRlTGF5ZXJQb3NpdGlvbigpCiAgICAgfSBlbHNlIGlmIChSZW5kZXJCb3gqIGJveCA9
IHJlbmRlckJveCgpKSB7CiAgICAgICAgIHNldFdpZHRoKGJveC0+d2lkdGgoKSk7CiAgICAgICAg
IHNldEhlaWdodChib3gtPmhlaWdodCgpKTsKLQotICAgICAgICBpZiAoIWJveC0+aGFzT3ZlcmZs
b3dDbGlwKCkpIHsKLSAgICAgICAgICAgIGlmIChib3gtPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSA+
IGJveC0+d2lkdGgoKSkKLSAgICAgICAgICAgICAgICBzZXRXaWR0aChib3gtPnJpZ2h0TGF5b3V0
T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICBpZiAoYm94LT5ib3R0b21MYXlvdXRPdmVyZmxvdygp
ID4gYm94LT5oZWlnaHQoKSkKLSAgICAgICAgICAgICAgICBzZXRIZWlnaHQoYm94LT5ib3R0b21M
YXlvdXRPdmVyZmxvdygpKTsKLSAgICAgICAgfQotICAgICAgICAKICAgICAgICAgbG9jYWxQb2lu
dCArPSBib3gtPmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICB9CiAKQEAg
LTE5NjYsMzggKzE5NTgsNTcgQEAgaW50IFJlbmRlckxheWVyOjpzY3JvbGxIZWlnaHQoKQogICAg
IHJldHVybiBtX3Njcm9sbEhlaWdodDsKIH0KIAoraW50IFJlbmRlckxheWVyOjpvdmVyZmxvd1Rv
cCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRS
ZWN0IG92ZXJmbG93UmVjdCgwLCBib3gtPnRvcExheW91dE92ZXJmbG93KCksIDAsIGJveC0+Ym90
dG9tTGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+dG9wTGF5b3V0T3ZlcmZsb3coKSk7CisgICAgYm94
LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dS
ZWN0LnkoKTsKK30KKworaW50IFJlbmRlckxheWVyOjpvdmVyZmxvd0JvdHRvbSgpIGNvbnN0Cit7
CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93
UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5n
TW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QuYm90dG9tKCk7Cit9
CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dMZWZ0KCkgY29uc3QKK3sKKyAgICBSZW5kZXJC
b3gqIGJveCA9IHJlbmRlckJveCgpOworICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KGJveC0+bGF5
b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGJveC0+ZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93
UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC54KCk7Cit9CisKK2ludCBSZW5kZXJMYXll
cjo6b3ZlcmZsb3dSaWdodCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJC
b3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVjdCgp
KTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVy
biBvdmVyZmxvd1JlY3QucmlnaHQoKTsKK30KKwogdm9pZCBSZW5kZXJMYXllcjo6Y29tcHV0ZVNj
cm9sbERpbWVuc2lvbnMoYm9vbCogbmVlZEhCYXIsIGJvb2wqIG5lZWRWQmFyKQogewogICAgIFJl
bmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgQVNTRVJUKGJveCk7CiAgICAgCiAgICAg
bV9zY3JvbGxEaW1lbnNpb25zRGlydHkgPSBmYWxzZTsKLSAgICAKLSAgICBpbnQgY2xpZW50V2lk
dGggPSBib3gtPmNsaWVudFdpZHRoKCk7Ci0gICAgaW50IGNsaWVudEhlaWdodCA9IGJveC0+Y2xp
ZW50SGVpZ2h0KCk7Ci0KLSAgICBib29sIGhhc0xlZnRPdmVyZmxvdyA9ICghYm94LT5zdHlsZSgp
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxlKCktPmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSkgJiYgYm94LT5zdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IExlZnRUb1Jp
Z2h0V3JpdGluZ01vZGU7Ci0gICAgYm9vbCBoYXNUb3BPdmVyZmxvdyA9IChib3gtPnN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgfHwgIWJveC0+c3R5bGUoKS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKSAmJiBib3gtPnN0eWxlKCktPndyaXRpbmdNb2RlKCkgIT0gVG9wVG9Cb3R0
b21Xcml0aW5nTW9kZTsKLQotICAgIG1fc2Nyb2xsTGVmdE92ZXJmbG93ID0gIWhhc0xlZnRPdmVy
ZmxvdyA/IDAgOiBtaW4oMCwgYm94LT5sZWZ0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIGJv
eC0+Ym9yZGVyTGVmdCgpKTsKLSAgICBtX3Njcm9sbFRvcE92ZXJmbG93ID0gIWhhc1RvcE92ZXJm
bG93ID8gMCA6IG1pbigwLCBib3gtPnRvcG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gt
PmJvcmRlclRvcCgpKTsKIAotICAgIGludCByaWdodFBvcyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPwot
ICAgICAgICAgICAgICAgICAgICBib3gtPnJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAt
IGJveC0+Ym9yZGVyTGVmdCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBt
X3Njcm9sbExlZnRPdmVyZmxvdzsKLSAgICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93
ID8KLSAgICAgICAgICAgICAgICAgICAgYm94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkg
LSBib3gtPmJvcmRlclRvcCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0IC0g
bV9zY3JvbGxUb3BPdmVyZmxvdzsKKyAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9IG92ZXJmbG93
TGVmdCgpIC0gYm94LT5ib3JkZXJMZWZ0KCk7CisgICAgbV9zY3JvbGxUb3BPdmVyZmxvdyA9IG92
ZXJmbG93VG9wKCkgLSBib3gtPmJvcmRlclRvcCgpOwogCi0gICAgbV9zY3JvbGxXaWR0aCA9IG1h
eChyaWdodFBvcywgY2xpZW50V2lkdGgpOwotICAgIG1fc2Nyb2xsSGVpZ2h0ID0gbWF4KGJvdHRv
bVBvcywgY2xpZW50SGVpZ2h0KTsKKyAgICBtX3Njcm9sbFdpZHRoID0gb3ZlcmZsb3dSaWdodCgp
IC0gb3ZlcmZsb3dMZWZ0KCk7CisgICAgbV9zY3JvbGxIZWlnaHQgPSBvdmVyZmxvd0JvdHRvbSgp
IC0gb3ZlcmZsb3dUb3AoKTsKICAgICAKLSAgICBtX3Njcm9sbE9yaWdpbiA9IEludFBvaW50KCFo
YXNMZWZ0T3ZlcmZsb3cgPyAwIDogbV9zY3JvbGxXaWR0aCAtIGNsaWVudFdpZHRoLCAhaGFzVG9w
T3ZlcmZsb3cgPyAwIDogbV9zY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQpOworICAgIG1fc2Ny
b2xsT3JpZ2luID0gSW50UG9pbnQoLW1fc2Nyb2xsTGVmdE92ZXJmbG93LCAtbV9zY3JvbGxUb3BP
dmVyZmxvdyk7CiAKICAgICBpZiAobmVlZEhCYXIpCi0gICAgICAgICpuZWVkSEJhciA9IHJpZ2h0
UG9zID4gY2xpZW50V2lkdGg7CisgICAgICAgICpuZWVkSEJhciA9IG1fc2Nyb2xsV2lkdGggPiBi
b3gtPmNsaWVudFdpZHRoKCk7CiAgICAgaWYgKG5lZWRWQmFyKQotICAgICAgICAqbmVlZFZCYXIg
PSBib3R0b21Qb3MgPiBjbGllbnRIZWlnaHQ7CisgICAgICAgICpuZWVkVkJhciA9IG1fc2Nyb2xs
SGVpZ2h0ID4gYm94LT5jbGllbnRIZWlnaHQoKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBk
YXRlT3ZlcmZsb3dTdGF0dXMoYm9vbCBob3Jpem9udGFsT3ZlcmZsb3csIGJvb2wgdmVydGljYWxP
dmVyZmxvdykKQEAgLTIzMjQsMTIgKzIzMzUsMTMgQEAgc3RhdGljIHZvaWQgcmVzdG9yZUNsaXAo
R3JhcGhpY3NDb250ZXh0KgogICAgIHAtPnJlc3RvcmUoKTsKIH0KIAotc3RhdGljIHZvaWQgcGVy
Zm9ybU92ZXJsYXBUZXN0cyhPdmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVz
dHMsIGNvbnN0IEludFJlY3QmIGxheWVyQm91bmRzKQorc3RhdGljIHZvaWQgcGVyZm9ybU92ZXJs
YXBUZXN0cyhPdmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGNvbnN0
IFJlbmRlckxheWVyKiByb290TGF5ZXIsIGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAg
ICBWZWN0b3I8T3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50Kj4gb3ZlcmxhcHBlZFJlcXVlc3RDbGll
bnRzOwogICAgIE92ZXJsYXBUZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgZW5kID0gb3ZlcmxhcFRl
c3RSZXF1ZXN0cy5lbmQoKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94ID0gbGF5ZXItPmJvdW5k
aW5nQm94KHJvb3RMYXllcik7CiAgICAgZm9yIChPdmVybGFwVGVzdFJlcXVlc3RNYXA6Oml0ZXJh
dG9yIGl0ID0gb3ZlcmxhcFRlc3RSZXF1ZXN0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgaWYgKCFsYXllckJvdW5kcy5pbnRlcnNlY3RzKGl0LT5zZWNvbmQpKQorICAgICAg
ICBpZiAoIWJvdW5kaW5nQm94LmludGVyc2VjdHMoaXQtPnNlY29uZCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKIAogICAgICAgICBpdC0+Zmlyc3QtPnNldE92ZXJsYXBUZXN0UmVzdWx0KHRydWUp
OwpAQCAtMjQ1Niw3ICsyNDY4LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihSZW5k
ZXJMYXllcgogICAgICAgICBwYWludGluZ1Jvb3RGb3JSZW5kZXJlciA9IHBhaW50aW5nUm9vdDsK
IAogICAgIGlmIChvdmVybGFwVGVzdFJlcXVlc3RzICYmIGlzU2VsZlBhaW50aW5nTGF5ZXIoKSkK
LSAgICAgICAgcGVyZm9ybU92ZXJsYXBUZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgbGF5ZXJC
b3VuZHMpOworICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3Rz
LCByb290TGF5ZXIsIHRoaXMpOwogCiAgICAgLy8gV2Ugd2FudCB0byBwYWludCBvdXIgbGF5ZXIs
IGJ1dCBvbmx5IGlmIHdlIGludGVyc2VjdCB0aGUgZGFtYWdlIHJlY3QuCiAgICAgYm9vbCBzaG91
bGRQYWludCA9IGludGVyc2VjdHNEYW1hZ2VSZWN0KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBy
b290TGF5ZXIpICYmIG1faGFzVmlzaWJsZUNvbnRlbnQgJiYgaXNTZWxmUGFpbnRpbmdMYXllcigp
OwpAQCAtMjY2NSwxMSArMjY3NywxMSBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0KGNvbnN0
IEhpdFRlc3RSCiB7CiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7
CiAgICAgCi0gICAgSW50UmVjdCBib3VuZHNSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQo
KSk7CisgICAgSW50UmVjdCBoaXRUZXN0QXJlYSA9IHJlc3VsdC5yZWN0Rm9yUG9pbnQocmVzdWx0
LnBvaW50KCkpOwogICAgIGlmICghcmVxdWVzdC5pZ25vcmVDbGlwcGluZygpKQotICAgICAgICBi
b3VuZHNSZWN0LmludGVyc2VjdChmcmFtZVZpc2libGVSZWN0KHJlbmRlcmVyKCkpKTsKKyAgICAg
ICAgaGl0VGVzdEFyZWEuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOwog
Ci0gICAgUmVuZGVyTGF5ZXIqIGluc2lkZUxheWVyID0gaGl0VGVzdExheWVyKHRoaXMsIDAsIHJl
cXVlc3QsIHJlc3VsdCwgYm91bmRzUmVjdCwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKKyAgICBS
ZW5kZXJMYXllciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhpcywgMCwgcmVxdWVzdCwg
cmVzdWx0LCBoaXRUZXN0QXJlYSwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKICAgICBpZiAoIWlu
c2lkZUxheWVyKSB7CiAgICAgICAgIC8vIFdlIGRpZG4ndCBoaXQgYW55IGxheWVyLiBJZiB3ZSBh
cmUgdGhlIHJvb3QgbGF5ZXIgYW5kIHRoZSBtb3VzZSBpcyAtLSBvciBqdXN0IHdhcyAtLSBkb3du
LCAKICAgICAgICAgLy8gcmV0dXJuIG91cnNlbHZlcy4gV2UgZG8gdGhpcyBzbyBtb3VzZSBldmVu
dHMgY29udGludWUgZ2V0dGluZyBkZWxpdmVyZWQgYWZ0ZXIgYSBkcmFnIGhhcyAKQEAgLTMzNzUs
OCArMzM4Nyw4IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAg
ICAgICAgSW5saW5lRmxvd0JveCogZmlyc3RCb3ggPSBpbmxpbmVGbG93LT5maXJzdExpbmVCb3go
KTsKICAgICAgICAgaWYgKCFmaXJzdEJveCkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0g
ICAgICAgIGludCB0b3AgPSBmaXJzdEJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAg
IGludCBib3R0b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgpLT5ib3R0b21WaXNpYmxlT3Zl
cmZsb3coKTsKKyAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXN1YWxPdmVyZmxvdygp
OworICAgICAgICBpbnQgYm90dG9tID0gaW5saW5lRmxvdy0+bGFzdExpbmVCb3goKS0+Ym90dG9t
VmlzdWFsT3ZlcmZsb3coKTsKICAgICAgICAgaW50IGxlZnQgPSBmaXJzdEJveC0+eCgpOwogICAg
ICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdEJveC0+bmV4dExpbmVCb3goKTsg
Y3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpCiAgICAgICAgICAgICBsZWZ0ID0gbWlu
KGxlZnQsIGN1cnItPngoKSk7CkBAIC0zMzg3LDcgKzMzOTksNyBAQCBJbnRSZWN0IFJlbmRlckxh
eWVyOjpsb2NhbEJvdW5kaW5nQm94KCkgCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVD
ZWxsKCkpIHsKICAgICAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSB0b1JlbmRlckJveChjaGls
ZCktPmJvcmRlckJveFJlY3QoKTsKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUoYmJveCk7
Ci0gICAgICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlz
aWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
ID0gcmVuZGVyQm94KCktPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgICAgIGlm
IChiYm94ICE9IG92ZXJmbG93UmVjdCkKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnVuaXRl
KG92ZXJmbG93UmVjdCk7CiAgICAgICAgICAgICB9CkBAIC0zNDAwLDcgKzM0MTIsNyBAQCBJbnRS
ZWN0IFJlbmRlckxheWVyOjpsb2NhbEJvdW5kaW5nQm94KCkgCiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgSW50UmVjdCBiYm94ID0gYm94LT5ib3JkZXJCb3hSZWN0KCk7CiAgICAgICAgICAg
ICByZXN1bHQgPSBiYm94OwotICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSBib3gt
PnZpc2libGVPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
ID0gYm94LT52aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgICAgIGlmIChiYm94ICE9IG92
ZXJmbG93UmVjdCkKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsK
ICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCShyZXZpc2lvbiA3MzMzNCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4
MSw2ICs1ODEsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBPbmx5IHNhZmUgdG8gY2FsbCBmcm9tIFJl
bmRlckJveE1vZGVsT2JqZWN0OjpkZXN0cm95TGF5ZXIoUmVuZGVyQXJlbmEqKQogICAgIHZvaWQg
ZGVzdHJveShSZW5kZXJBcmVuYSopOwogCisgICAgaW50IG92ZXJmbG93VG9wKCkgY29uc3Q7Cisg
ICAgaW50IG92ZXJmbG93Qm90dG9tKCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93TGVmdCgpIGNv
bnN0OworICAgIGludCBvdmVyZmxvd1JpZ2h0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBS
ZW5kZXJCb3hNb2RlbE9iamVjdCogbV9yZW5kZXJlcjsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGluZUJveExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpbmVCb3hMaXN0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NiwxMCArMTc2
LDEwIEBAIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNlY3QKICAgICAvLyBp
bnRlcnNlY3QuICBUaGlzIGlzIGEgcXVpY2sgc2hvcnQtY2lyY3VpdCB0aGF0IHdlIGNhbiB0YWtl
IHRvIGF2b2lkIHdhbGtpbmcgYW55IGxpbmVzLgogICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlz
IGZsYXdlZCBpbiB0aGUgZm9sbG93aW5nIGV4dHJlbWVseSBvYnNjdXJlIHdheToKICAgICAvLyBp
ZiBzb21lIGxpbmUgaW4gdGhlIG1pZGRsZSBoYXMgYSBodWdlIG92ZXJmbG93LCBpdCBtaWdodCBh
Y3R1YWxseSBleHRlbmQgYmVsb3cgdGhlIGxhc3QgbGluZS4KLSAgICBpbnQgZmlyc3RMaW5lVG9w
ID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQg
Zmlyc3RMaW5lVG9wID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygp
OwogICAgIGlmICh1c2VQcmludFJlY3QgJiYgIWZpcnN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAg
ICAgICAgZmlyc3RMaW5lVG9wID0gbWluKGZpcnN0TGluZVRvcCwgZmlyc3RMaW5lQm94KCktPnJv
b3QoKS0+bGluZVRvcCgpKTsKLSAgICBpbnQgbGFzdExpbmVCb3R0b20gPSBsYXN0TGluZUJveCgp
LT5sb2dpY2FsQm90dG9tVmlzaWJsZU92ZXJmbG93KCk7CisgICAgaW50IGxhc3RMaW5lQm90dG9t
ID0gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYg
KHVzZVByaW50UmVjdCAmJiAhbGFzdExpbmVCb3goKS0+cGFyZW50KCkpCiAgICAgICAgIGxhc3RM
aW5lQm90dG9tID0gbWF4KGxhc3RMaW5lQm90dG9tLCBsYXN0TGluZUJveCgpLT5yb290KCktPmxp
bmVCb3R0b20oKSk7CiAgICAgaW50IGxvZ2ljYWxUb3AgPSBmaXJzdExpbmVUb3AgLSBvdXRsaW5l
U2l6ZTsKQEAgLTE5MCw4ICsxOTAsOCBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjphbnlMaW5l
SW50ZXJzZWN0CiAKIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmxpbmVJbnRlcnNlY3RzRGlydHlS
ZWN0KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJlciwgSW5saW5lRmxvd0JveCogYm94LCBj
b25zdCBQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpIGNvbnN0CiB7Ci0gICAg
aW50IGxvZ2ljYWxUb3AgPSBtaW4oYm94LT5sb2dpY2FsVG9wVmlzaWJsZU92ZXJmbG93KCksIGJv
eC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKSkgLSByZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXpl
KHBhaW50SW5mby5waGFzZSk7Ci0gICAgaW50IGxvZ2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxC
b3R0b21WaXNpYmxlT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhpbWFsT3V0bGluZVNpemUocGFp
bnRJbmZvLnBoYXNlKTsKKyAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BW
aXN1YWxPdmVyZmxvdygpLCBib3gtPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCkpIC0gcmVuZGVyZXIt
Pm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsQm90
dG9tID0gYm94LT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhp
bWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKICAgICAKICAgICByZXR1cm4gcmFuZ2VJ
bnRlcnNlY3RzUmVjdChyZW5kZXJlciwgbG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSwgcGFpbnRJ
bmZvLnJlY3QsIHR4LCB0eSk7CiB9CkBAIC0yMzAsOCArMjMwLDggQEAgdm9pZCBSZW5kZXJMaW5l
Qm94TGlzdDo6cGFpbnQoUmVuZGVyQm94TQogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
dGhlIGRlcHJlY2F0ZWQgcGFnaW5hdGlvbiBtb2RlbCB0aGF0IGlzIHN0aWxsIG5lZWRlZAogICAg
ICAgICAgICAgLy8gZm9yIGVtYmVkZGVkIHZpZXdzIGluc2lkZSBBcHBLaXQuICBBcHBLaXQgaXMg
aW5jYXBhYmxlIG9mIHBhZ2luYXRpbmcgdmVydGljYWwKICAgICAgICAgICAgIC8vIHRleHQgcGFn
ZXMsIHNvIHdlIGRvbid0IGhhdmUgdG8gZGVhbCB3aXRoIHZlcnRpY2FsIGxpbmVzIGF0IGFsbCBo
ZXJlLgotICAgICAgICAgICAgaW50IHRvcEZvclBhZ2luYXRpb25DaGVjayA9IGN1cnItPnRvcFZp
c2libGVPdmVyZmxvdygpOwotICAgICAgICAgICAgaW50IGJvdHRvbUZvclBhZ2luYXRpb25DaGVj
ayA9IGN1cnItPmJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgICAgICAgICAgaW50IHRvcEZv
clBhZ2luYXRpb25DaGVjayA9IGN1cnItPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgICAg
ICBpbnQgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzdWFsT3ZlcmZs
b3coKTsKICAgICAgICAgICAgIGlmICghY3Vyci0+cGFyZW50KCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBXZSdyZSBhIHJvb3QgYm94LiAgVXNlIGxpbmVUb3AgYW5kIGxpbmVCb3R0b20gYXMgd2Vs
bCBoZXJlLgogICAgICAgICAgICAgICAgIHRvcEZvclBhZ2luYXRpb25DaGVjayA9IG1pbih0b3BG
b3JQYWdpbmF0aW9uQ2hlY2ssIGN1cnItPnJvb3QoKS0+bGluZVRvcCgpKTsKQEAgLTI0MCw3ICsy
NDAsNyBAQCB2b2lkIFJlbmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAg
ICAgICBpZiAoYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrIC0gdG9wRm9yUGFnaW5hdGlvbkNoZWNr
IDw9IHYtPnByaW50UmVjdCgpLmhlaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsg
Ym90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID4gdi0+cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94ID0gY3Vyci0+
cm9vdCgpLT5uZXh0Um9vdEJveCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tRm9y
UGFnaW5hdGlvbkNoZWNrID0gbWluKGJvdHRvbUZvclBhZ2luYXRpb25DaGVjaywgbWluKG5leHRS
b290Qm94LT50b3BWaXNpYmxlT3ZlcmZsb3coKSwgbmV4dFJvb3RCb3gtPmxpbmVUb3AoKSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gbWluKGJv
dHRvbUZvclBhZ2luYXRpb25DaGVjaywgbWluKG5leHRSb290Qm94LT50b3BWaXN1YWxPdmVyZmxv
dygpLCBuZXh0Um9vdEJveC0+bGluZVRvcCgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIGlmICh0eSArIGJvdHRvbUZvclBhZ2luYXRpb25DaGVjayA+IHYtPnByaW50UmVj
dCgpLmJvdHRvbSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0eSArIHRvcEZvclBhZ2lu
YXRpb25DaGVjayA8IHYtPnRydW5jYXRlZEF0KCkpCkBAIC0yOTIsNyArMjkyLDcgQEAgYm9vbCBS
ZW5kZXJMaW5lQm94TGlzdDo6aGl0VGVzdChSZW5kZXJCbwogICAgIC8vIHRoZW0gZnVydGhlci4g
IE5vdGUgdGhhdCBib3hlcyBjYW4gZWFzaWx5IG92ZXJsYXAsIHNvIHdlIGNhbid0IG1ha2UgYW55
IGFzc3VtcHRpb25zCiAgICAgLy8gYmFzZWQgb2ZmIHBvc2l0aW9ucyBvZiBvdXIgZmlyc3QgbGlu
ZSBib3ggb3Igb3VyIGxhc3QgbGluZSBib3guCiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJy
ID0gbGFzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPnByZXZMaW5lQm94KCkpIHsKLSAg
ICAgICAgaWYgKHJhbmdlSW50ZXJzZWN0c1JlY3QocmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BW
aXNpYmxlT3ZlcmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpLCBy
ZWN0LCB0eCwgdHkpKSB7CisgICAgICAgIGlmIChyYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVy
LCBjdXJyLT5sb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KCksIHJlY3QsIHR4LCB0eSkpIHsKICAgICAgICAgICAgIGJvb2wgaW5zaWRl
ID0gY3Vyci0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCB0eCwgdHkpOwogICAg
ICAgICAgICAgaWYgKGluc2lkZSkgewogICAgICAgICAgICAgICAgIHJlbmRlcmVyLT51cGRhdGVI
aXRUZXN0UmVzdWx0KHJlc3VsdCwgSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKTsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsMjAg
KzI1NywzMSBAQCB2b2lkIFJlbmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAgICAg
ICAgIGJvb2wgYWRqdXN0T3ZlcmZsb3cgPSBmYWxzZTsKICAgICAgICAgaW50IG1hcmtlckxvZ2lj
YWxMZWZ0OwogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gbV9tYXJrZXItPmlubGluZUJv
eFdyYXBwZXIoKS0+cm9vdCgpOworICAgICAgICBib29sIGhpdFNlbGZQYWludGluZ0xheWVyID0g
ZmFsc2U7CiAKLSAgICAgICAgLy8gRklYTUU6IElubGluZSBmbG93cyBpbiB0aGUgbGluZSBib3gg
aGllcmFyY2h5IHRoYXQgaGF2ZSBzZWxmLXBhaW50aW5nIGxheWVycyBzaG91bGQgYWN0IGFzIGN1
dG9mZiBwb2ludHMKLSAgICAgICAgLy8gYW5kIHJlYWxseSBzaG91bGRuJ3Qga2VlcCBwcm9wYWdh
dGluZyBvdmVyZmxvdyB1cC4gIFRoaXMgd29uJ3QgcmVhbGx5IGJyZWFrIGFueXRoaW5nIG90aGVy
IHRoYW4gcmVwYWludGluZwotICAgICAgICAvLyBub3QgYmVpbmcgYXMgdGlnaHQgYXMgaXQgY291
bGQgYmUgdGhvdWdoLgorICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBhY2NvdW50IGZvciByZWxh
dGl2ZSBwb3NpdGlvbmluZyBpbiB0aGUgbGF5b3V0IG92ZXJmbG93LgogICAgICAgICBpZiAoc3R5
bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICBpbnQgbGVmdExp
bmVPZmZzZXQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoYmxvY2tPZmZzZXQsIGxvZ2ljYWxM
ZWZ0T2Zmc2V0Rm9yTGluZShibG9ja09mZnNldCwgZmFsc2UpLCBmYWxzZSk7CiAgICAgICAgICAg
ICBtYXJrZXJMb2dpY2FsTGVmdCA9IGxlZnRMaW5lT2Zmc2V0IC0gbGluZU9mZnNldCAtIHBhZGRp
bmdTdGFydCgpIC0gYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5TdGFydCgpOwogICAg
ICAgICAgICAgbV9tYXJrZXItPmlubGluZUJveFdyYXBwZXIoKS0+YWRqdXN0TGluZURpcmVjdGlv
blBvc2l0aW9uKG1hcmtlckxvZ2ljYWxMZWZ0IC0gbWFya2VyT2xkTG9naWNhbExlZnQpOwogICAg
ICAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBib3ggPSBtX21hcmtlci0+aW5saW5lQm94V3Jh
cHBlcigpLT5wYXJlbnQoKTsgYm94OyBib3ggPSBib3gtPnBhcmVudCgpKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0IDwgYm94LT5sb2dpY2FsTGVmdExheW91dE92ZXJm
bG93KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgYm94LT5zZXRJbmxpbmVEaXJlY3Rpb25PdmVy
Zmxvd1Bvc2l0aW9ucyhtYXJrZXJMb2dpY2FsTGVmdCwgYm94LT5sb2dpY2FsUmlnaHRMYXlvdXRP
dmVyZmxvdygpLCBib3gtPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSwgYm94LT5sb2dpY2Fs
UmlnaHRWaXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IG5ld0xvZ2lj
YWxWaXN1YWxPdmVyZmxvd1JlY3QgPSBib3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QoKTsK
KyAgICAgICAgICAgICAgICBJbnRSZWN0IG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QgPSBi
b3gtPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAgICAgICBpZiAobWFy
a2VyTG9naWNhbExlZnQgPCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LngoKSAmJiAhaGl0
U2VsZlBhaW50aW5nTGF5ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFZpc3Vh
bE92ZXJmbG93UmVjdC5zZXRYKG1hcmtlckxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgICAgICAgICAg
ICAgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0aChib3gtPmxvZ2ljYWxSaWdo
dFZpc3VhbE92ZXJmbG93KCkgLSBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LngoKSk7CiAg
ICAgICAgICAgICAgICAgICAgIGlmIChib3ggPT0gcm9vdCkKICAgICAgICAgICAgICAgICAgICAg
ICAgIGFkanVzdE92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0IDwgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVj
dC54KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVj
dC5zZXRYKG1hcmtlckxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNh
bExheW91dE92ZXJmbG93UmVjdC5zZXRXaWR0aChib3gtPmxvZ2ljYWxSaWdodExheW91dE92ZXJm
bG93KCkgLSBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LngoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChib3ggPT0gcm9vdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdE92
ZXJmbG93ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm94LT5z
ZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMobmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdCwg
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCwgcm9vdC0+bGluZVRvcCgpLCByb290LT5saW5l
Qm90dG9tKCkpOworICAgICAgICAgICAgICAgIGlmIChib3gtPmJveE1vZGVsT2JqZWN0KCktPmhh
c1NlbGZQYWludGluZ0xheWVyKCkpCisgICAgICAgICAgICAgICAgICAgIGhpdFNlbGZQYWludGlu
Z0xheWVyID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gbV9tYXJrZXItPmxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5n
U3RhcnQoKSArIGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+bWFyZ2luRW5kKCk7CkBAIC0yNzgs
MTEgKzI4OSwyMiBAQCB2b2lkIFJlbmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAg
ICAgICAgICAgICBtYXJrZXJMb2dpY2FsTGVmdCA9IHJpZ2h0TGluZU9mZnNldCAtIGxpbmVPZmZz
ZXQgKyBwYWRkaW5nU3RhcnQoKSArIGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+bWFyZ2luRW5k
KCk7CiAgICAgICAgICAgICBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5l
RGlyZWN0aW9uUG9zaXRpb24obWFya2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVm
dCk7CiAgICAgICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxp
bmVCb3hXcmFwcGVyKCktPnBhcmVudCgpOyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdp
ZHRoKCkgPiBib3gtPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgYm94LT5zZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhib3gtPmxv
Z2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSwgbWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+
bG9naWNhbFdpZHRoKCksIGJveC0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gtPmxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3
TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVj
dCgpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVj
dCA9IGJveC0+bG9naWNhbExheW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIGlm
IChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2lj
YWxWaXN1YWxPdmVyZmxvd1JlY3QucmlnaHQoKSAmJiAhaGl0U2VsZlBhaW50aW5nTGF5ZXIpIHsK
KyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0
aChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSAtIGJveC0+bG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9
PSByb290KQogICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQg
KyBtX21hcmtlci0+bG9naWNhbFdpZHRoKCkgPiBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0
LnJpZ2h0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJmbG93
UmVjdC5zZXRXaWR0aChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgo
KSAtIGJveC0+bG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGJveCA9PSByb290KQorICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZs
b3cgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib3gtPnNldE92
ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LCBuZXdM
b2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LCByb290LT5saW5lVG9wKCksIHJvb3QtPmxpbmVCb3R0
b20oKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKGJveC0+Ym94TW9k
ZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAg
aGl0U2VsZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
QEAgLTI5MSwxMiArMzEzLDI0IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcigKICAgICAgICAgICAgIGlmICghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSkKICAgICAgICAgICAgICAgICBtYXJrZXJSZWN0ID0gbWFya2VyUmVjdC50cmFuc3Bvc2VkUmVj
dCgpOwogICAgICAgICAgICAgUmVuZGVyQm94KiBvID0gbV9tYXJrZXI7CisgICAgICAgICAgICBi
b29sIHByb3BhZ2F0ZVZpc3VhbE92ZXJmbG93ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJvb2wgcHJv
cGFnYXRlTGF5b3V0T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICAgZG8gewogICAgICAgICAg
ICAgICAgIG8gPSBvLT5wYXJlbnRCb3goKTsKLSAgICAgICAgICAgICAgICBpZiAoby0+aXNSZW5k
ZXJCbG9jaygpKQotICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlv
dXRPdmVyZmxvdyhtYXJrZXJSZWN0KTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aGFzT3ZlcmZs
b3dDbGlwKCkpCisgICAgICAgICAgICAgICAgICAgIHByb3BhZ2F0ZVZpc3VhbE92ZXJmbG93ID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgaWYgKG8tPmlzUmVuZGVyQmxvY2soKSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAocHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cpCisgICAgICAgICAgICAg
ICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRWaXN1YWxPdmVyZmxvdyhtYXJrZXJSZWN0
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BhZ2F0ZUxheW91dE92ZXJmbG93KQorICAg
ICAgICAgICAgICAgICAgICAgICAgdG9SZW5kZXJCbG9jayhvKS0+YWRkTGF5b3V0T3ZlcmZsb3co
bWFya2VyUmVjdCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvLT5o
YXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlTGF5b3V0T3Zl
cmZsb3cgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSBmYWxz
ZTsKICAgICAgICAgICAgICAgICBtYXJrZXJSZWN0Lm1vdmUoLW8tPngoKSwgLW8tPnkoKSk7Ci0g
ICAgICAgICAgICB9IHdoaWxlIChvICE9IHRoaXMgJiYgIW8tPmhhc1NlbGZQYWludGluZ0xheWVy
KCkpOworICAgICAgICAgICAgfSB3aGlsZSAobyAhPSB0aGlzICYmIHByb3BhZ2F0ZVZpc3VhbE92
ZXJmbG93ICYmIHByb3BhZ2F0ZUxheW91dE92ZXJmbG93KTsKICAgICAgICAgfQogICAgIH0KIH0K
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAkocmV2aXNpb24gNzMzMzQpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miwx
MiArNjIsMTQgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAgICAgdmly
dHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCk7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgcG9zaXRpb25MaXN0TWFya2VyKCk7CisgICAgdm9pZCBwb3NpdGlvbkxpc3RNYXJrZXIo
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNv
bnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNG
b3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCisg
ICAgdmlydHVhbCB2b2lkIGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkgeyBwb3NpdGlvbkxpc3RN
YXJrZXIoKTsgfQorCiAgICAgdm9pZCB1cGRhdGVNYXJrZXJMb2NhdGlvbigpOwogICAgIGlubGlu
ZSBpbnQgY2FsY1ZhbHVlKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVWYWx1ZU5vdygpIGNvbnN0
OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDcz
MzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMDMsNyArMTEwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQo
UGFpbnRJbmZvJiAKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYm94T3JpZ2luKHR4
ICsgeCgpLCB0eSArIHkoKSk7Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJsZU92ZXJm
bG93UmVjdCgpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxvd1JlY3Qo
KSk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSk7
CiAgICAgb3ZlcmZsb3dSZWN0LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5w
aGFzZSkpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkocmV2aXNpb24g
NzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRlUG9zaXRp
b24oRU1hcnEKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgYm9vbCBsdHIgPSBz
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CiAgICAgICAgIGludCBjbGllbnRXaWR0aCA9IGJv
eC0+Y2xpZW50V2lkdGgoKTsKLSAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+
cmlnaHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIDogYm94LT5sZWZ0bW9zdFBvc2l0aW9uKHRy
dWUsIGZhbHNlKTsKKyAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+cmlnaHRM
YXlvdXRPdmVyZmxvdygpIDogYm94LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKICAgICAgICAgaWYg
KGx0cikKICAgICAgICAgICAgIGNvbnRlbnRXaWR0aCArPSAoYm94LT5wYWRkaW5nUmlnaHQoKSAt
IGJveC0+Ym9yZGVyTGVmdCgpKTsKICAgICAgICAgZWxzZSB7CkBAIC0xMzcsOCArMTM3LDcgQEAg
aW50IFJlbmRlck1hcnF1ZWU6OmNvbXB1dGVQb3NpdGlvbihFTWFycQogICAgICAgICB9CiAgICAg
fQogICAgIGVsc2UgewotICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+bG93ZXN0UG9z
aXRpb24odHJ1ZSwgZmFsc2UpIC0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LT5i
b3JkZXJUb3AoKSArIGJveC0+cGFkZGluZ0JvdHRvbSgpOworICAgICAgICBpbnQgY29udGVudEhl
aWdodCA9IGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+Ym9yZGVyVG9wKCkgKyBi
b3gtPnBhZGRpbmdCb3R0b20oKTsKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IGJveC0+Y2xp
ZW50SGVpZ2h0KCk7CiAgICAgICAgIGlmIChkaXIgPT0gTVVQKSB7CiAgICAgICAgICAgICBpZiAo
c3RvcEF0Q29udGVudEVkZ2UpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjAwLDgzICs2MDAsNiBAQCB2b2lkIFJlbmRlck1lZGlhOjpmb3J3YXJkRXZl
bnQoRXZlbnQqIGV2CiAgICAgfQogfQogCi1pbnQgUmVuZGVyTWVkaWE6OnRvcG1vc3RQb3NpdGlv
bihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRy
YW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVuZGVySW1h
Z2U6OnRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2Nv
bnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsKLSAgICAK
LSAgICB0b3AgPSBtaW4odG9wLCAgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT50
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJC
b3goKS0+dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2Vs
ZiwgYXBwbHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRl
VHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNm
b3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGlu
dCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQ
b3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFu
c2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNm
b3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkp
OwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAgcmV0dXJu
IHRvcDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRy
YW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgYm90dG9tID0gUmVuZGVySW1hZ2U6Omxvd2VzdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zv
cm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNTaGFkb3dS
b290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIAotICAgIGJvdHRv
bSA9IG1heChib3R0b20sICBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5z
Zm9ybWVkRnJhbWVSZWN0KCkueSgpICsgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgp
LT5sb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFw
cGx5VHJhbnNmb3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5z
Zm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgp
KSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0
ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxm
LCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9u
KGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7
Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1Jl
Y3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAg
ICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpICsgdHJhbnNmb3JtUmVjdC55KCk7Ci0g
ICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpyaWdodG1v
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxm
LCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgcmlnaHQg
PSBSZW5kZXJJbWFnZTo6cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xzU2hhZG93
Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVy
biByaWdodDsKLSAgICAKLSAgICByaWdodCA9IG1heChyaWdodCwgbV9jb250cm9sc1NoYWRvd1Jv
b3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIG1fY29udHJvbHNT
aGFkb3dSb290LT5yZW5kZXJCb3goKS0+cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYgKGFwcGx5
VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAm
JiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmlnaHRtb3N0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGlu
dCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVk
ZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3Qg
PSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxl
ZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC53aWR0aCgp
ICsgdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1p
bnQgUmVuZGVyTWVkaWE6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgaW50IGxlZnQgPSBSZW5kZXJJbWFnZTo6bGVmdG1vc3RQb3NpdGlvbihpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBp
ZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVy
ZXIoKSkKLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgbGVmdCA9IG1pbihsZWZ0LCBt
X2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCku
eCgpICsgIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bGVmdG1vc3RQb3NpdGlv
bihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKSk7
Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRl
U2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGlu
dCB0b3AgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVk
ZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9tID0gbG93ZXN0UG9z
aXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNm
b3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50
UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxl
ZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRy
YW5zZm9ybVJlY3QueCgpOwotICAgIH0KLQotICAgIHJldHVybiBsZWZ0OwotfQotCi0KIC8vIFdl
IHdhbnQgdGhlIHRpbWVsaW5lIHNsaWRlciB0byBiZSBhdCBsZWFzdCAxMDAgcGl4ZWxzIHdpZGUu
CiBzdGF0aWMgY29uc3QgaW50IG1pbldpZHRoVG9EaXNwbGF5VGltZURpc3BsYXlzID0gMTYgKyAx
NiArIDQ1ICsgMTAwICsgNDUgKyAxNiArIDE7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lZGlhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEu
aAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCSh3
b3JraW5nIGNvcHkpCkBAIC04NSwxMSArODUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0lt
YWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQ
b3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRl
U2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1
ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJv
b2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1
ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVl
LCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNm
b3JtKSBjb25zdDsKLQogICAgIHZvaWQgY3JlYXRlQ29udHJvbHNTaGFkb3dSb290KCk7CiAgICAg
dm9pZCBkZXN0cm95Q29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBjcmVhdGVQYW5lbCgp
OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCShyZXZpc2lvbiA3MzMzNCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5
LDE1ICszOSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2Nh
dGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVl
cyBpbiB0aGUgb3duaW5nIGJveC4KIGNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZh
dWx0UmVjdCA9IEludFJlY3QoKSkgCi0gICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZh
dWx0UmVjdC55KCkpCi0gICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVj
dC5ib3R0b20oKSkKLSAgICAgICAgLCBtX2xlZnRMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC54
KCkpCi0gICAgICAgICwgbV9yaWdodExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkp
Ci0gICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0gICAgICAg
ICwgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAgICAgICAg
LCBtX2xlZnRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwgbV9yaWdo
dFZpc3VhbE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkpCisgICAgUmVuZGVyT3ZlcmZsb3co
Y29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkgCisg
ICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKKyAgICAgICAgLCBt
X2JvdHRvbUxheW91dE92ZXJmbG93KGxheW91dFJlY3QuYm90dG9tKCkpCisgICAgICAgICwgbV9s
ZWZ0TGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC54KCkpCisgICAgICAgICwgbV9yaWdodExheW91
dE92ZXJmbG93KGxheW91dFJlY3QucmlnaHQoKSkKKyAgICAgICAgLCBtX3RvcFZpc3VhbE92ZXJm
bG93KHZpc3VhbFJlY3QueSgpKQorICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZsb3codmlz
dWFsUmVjdC5ib3R0b20oKSkKKyAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyh2aXN1YWxS
ZWN0LngoKSkKKyAgICAgICAgLCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC5yaWdo
dCgpKQogICAgIHsKICAgICB9CiAgICAKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgogICAgIGlu
dCByaWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9yaWdodFZpc3VhbE92ZXJm
bG93OyB9CiAgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsKIAotICAgIElu
dFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRUb3BMYXlv
dXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV90b3BMYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93
OyB9CiAgICAgdm9pZCBzZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV9i
b3R0b21MYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRMZWZ0TGF5b3V0
T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fbGVmdExheW91dE92ZXJmbG93ID0gb3ZlcmZsb3c7
IH0KQEAgLTEwNCwxMyArMTAyLDYgQEAgaW5saW5lIEludFJlY3QgUmVuZGVyT3ZlcmZsb3c6OnZp
c3VhbE92ZQogICAgIHJldHVybiBJbnRSZWN0KG1fbGVmdFZpc3VhbE92ZXJmbG93LCBtX3RvcFZp
c3VhbE92ZXJmbG93LCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBtX2xlZnRWaXN1YWxPdmVyZmxv
dywgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyAtIG1fdG9wVmlzdWFsT3ZlcmZsb3cpOwogfQogCi1p
bmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6dmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0
Ci17Ci0gICAgSW50UmVjdCBjb21iaW5lZFJlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAg
IGNvbWJpbmVkUmVjdC51bml0ZSh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7Ci0gICAgcmV0dXJuIGNv
bWJpbmVkUmVjdDsKLX0KLQogaW5saW5lIHZvaWQgUmVuZGVyT3ZlcmZsb3c6Om1vdmUoaW50IGR4
LCBpbnQgZHkpCiB7CiAgICAgbV90b3BMYXlvdXRPdmVyZmxvdyArPSBkeTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzYsOCArMTc2
LDggQEAgYm9vbCBSZW5kZXJSZXBsYWNlZDo6c2hvdWxkUGFpbnQoUGFpbnRJbgogICAgIGludCBj
dXJyZW50VFkgPSB0eSArIHkoKTsKIAogICAgIC8vIEVhcmx5IGV4aXQgaWYgdGhlIGVsZW1lbnQg
dG91Y2hlcyB0aGUgZWRnZXMuCi0gICAgaW50IHRvcCA9IGN1cnJlbnRUWSArIHRvcFZpc2libGVP
dmVyZmxvdygpOwotICAgIGludCBib3R0b20gPSBjdXJyZW50VFkgKyBib3R0b21WaXNpYmxlT3Zl
cmZsb3coKTsKKyAgICBpbnQgdG9wID0gY3VycmVudFRZICsgdG9wVmlzdWFsT3ZlcmZsb3coKTsK
KyAgICBpbnQgYm90dG9tID0gY3VycmVudFRZICsgYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKICAg
ICBpZiAoaXNTZWxlY3RlZCgpICYmIG1faW5saW5lQm94V3JhcHBlcikgewogICAgICAgICBpbnQg
c2VsVG9wID0gdHkgKyBtX2lubGluZUJveFdyYXBwZXItPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCk7
CiAgICAgICAgIGludCBzZWxCb3R0b20gPSB0eSArIHNlbFRvcCArIG1faW5saW5lQm94V3JhcHBl
ci0+cm9vdCgpLT5zZWxlY3Rpb25IZWlnaHQoKTsKQEAgLTE4Niw3ICsxODYsNyBAQCBib29sIFJl
bmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQYWludEluCiAgICAgfQogICAgIAogICAgIGludCBv
cyA9IDIgKiBtYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKLSAgICBpZiAoY3Vy
cmVudFRYICsgbGVmdFZpc2libGVPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0KCkg
KyBvcyB8fCBjdXJyZW50VFggKyByaWdodFZpc2libGVPdmVyZmxvdygpIDw9IHBhaW50SW5mby5y
ZWN0LngoKSAtIG9zKQorICAgIGlmIChjdXJyZW50VFggKyBsZWZ0VmlzdWFsT3ZlcmZsb3coKSA+
PSBwYWludEluZm8ucmVjdC5yaWdodCgpICsgb3MgfHwgY3VycmVudFRYICsgcmlnaHRWaXN1YWxP
dmVyZmxvdygpIDw9IHBhaW50SW5mby5yZWN0LngoKSAtIG9zKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgaWYgKHRvcCA+PSBwYWludEluZm8ucmVjdC5ib3R0b20oKSArIG9zIHx8IGJvdHRv
bSA8PSBwYWludEluZm8ucmVjdC55KCkgLSBvcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAt
Mzg5LDcgKzM4OSw3IEBAIEludFJlY3QgUmVuZGVyUmVwbGFjZWQ6OmNsaXBwZWRPdmVyZmxvd1IK
IAogICAgIC8vIFRoZSBzZWxlY3Rpb25SZWN0IGNhbiBwcm9qZWN0IG91dHNpZGUgb2YgdGhlIG92
ZXJmbG93UmVjdCwgc28gdGFrZSB0aGVpciB1bmlvbgogICAgIC8vIGZvciByZXBhaW50aW5nIHRv
IGF2b2lkIHNlbGVjdGlvbiBwYWludGluZyBnbGl0Y2hlcy4KLSAgICBJbnRSZWN0IHIgPSB1bmlv
blJlY3QobG9jYWxTZWxlY3Rpb25SZWN0KGZhbHNlKSwgdmlzaWJsZU92ZXJmbG93UmVjdCgpKTsK
KyAgICBJbnRSZWN0IHIgPSB1bmlvblJlY3QobG9jYWxTZWxlY3Rpb25SZWN0KGZhbHNlKSwgdmlz
dWFsT3ZlcmZsb3dSZWN0KCkpOwogCiAgICAgUmVuZGVyVmlldyogdiA9IHZpZXcoKTsKICAgICBp
ZiAodikgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5jcHAJKHJldmlzaW9uIDcz
MzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIFJlbmRlclJ1YnlSdW46OmxheW91dCgpCiAKICAg
ICAvLyBVcGRhdGUgb3VyIG92ZXJmbG93IHRvIGFjY291bnQgZm9yIHRoZSBuZXcgUmVuZGVyUnVi
eVRleHQgcG9zaXRpb24uCiAgICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgIGFkZE92ZXJmbG93
RnJvbUJsb2NrQ2hpbGRyZW4oKTsKKyAgICBjb21wdXRlT3ZlcmZsb3coY2xpZW50TG9naWNhbEJv
dHRvbSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIFJlbmRl
clRhYmxlOjpsYXlvdXQoKQogICAgIHdoaWxlIChzZWN0aW9uKSB7CiAgICAgICAgIGlmICghc2Vj
dGlvbk1vdmVkICYmIHNlY3Rpb24tPmxvZ2ljYWxUb3AoKSAhPSBsb2dpY2FsSGVpZ2h0KCkpIHsK
ICAgICAgICAgICAgIHNlY3Rpb25Nb3ZlZCA9IHRydWU7Ci0gICAgICAgICAgICBtb3ZlZFNlY3Rp
b25Mb2dpY2FsVG9wID0gbWluKGxvZ2ljYWxIZWlnaHQoKSwgc2VjdGlvbi0+bG9naWNhbFRvcCgp
KSArIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gc2VjdGlvbi0+dG9wVmlz
aWJsZU92ZXJmbG93KCkgOiBzZWN0aW9uLT5sZWZ0VmlzaWJsZU92ZXJmbG93KCkpOworICAgICAg
ICAgICAgbW92ZWRTZWN0aW9uTG9naWNhbFRvcCA9IG1pbihsb2dpY2FsSGVpZ2h0KCksIHNlY3Rp
b24tPmxvZ2ljYWxUb3AoKSkgKyAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IHNlY3Rpb24tPnRvcFZpc3VhbE92ZXJmbG93KCkgOiBzZWN0aW9uLT5sZWZ0VmlzdWFsT3ZlcmZs
b3coKSk7CiAgICAgICAgIH0KICAgICAgICAgc2VjdGlvbi0+c2V0TG9naWNhbExvY2F0aW9uKHNl
Y3Rpb25Mb2dpY2FsTGVmdCwgbG9naWNhbEhlaWdodCgpKTsKIApAQCAtMzg2LDI3ICszODYsNyBA
QCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogCiAgICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0o
KTsKIAotICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIGJvcmRlcnMuCi0gICAgaW50IHJpZ2h0Qm9y
ZGVyT3ZlcmZsb3cgPSB3aWR0aCgpICsgKGNvbGxhcHNpbmcgPyBvdXRlckJvcmRlclJpZ2h0KCkg
LSBib3JkZXJSaWdodCgpIDogMCk7Ci0gICAgaW50IGxlZnRCb3JkZXJPdmVyZmxvdyA9IGNvbGxh
cHNpbmcgPyBib3JkZXJMZWZ0KCkgLSBvdXRlckJvcmRlckxlZnQoKSA6IDA7Ci0gICAgaW50IGJv
dHRvbUJvcmRlck92ZXJmbG93ID0gaGVpZ2h0KCkgKyAoY29sbGFwc2luZyA/IG91dGVyQm9yZGVy
Qm90dG9tKCkgLSBib3JkZXJCb3R0b20oKSA6IDApOwotICAgIGludCB0b3BCb3JkZXJPdmVyZmxv
dyA9IGNvbGxhcHNpbmcgPyBib3JkZXJUb3AoKSAtIG91dGVyQm9yZGVyVG9wKCkgOiAwOwotICAg
IGFkZExheW91dE92ZXJmbG93KEludFJlY3QobGVmdEJvcmRlck92ZXJmbG93LCB0b3BCb3JkZXJP
dmVyZmxvdywgcmlnaHRCb3JkZXJPdmVyZmxvdyAtIGxlZnRCb3JkZXJPdmVyZmxvdywgYm90dG9t
Qm9yZGVyT3ZlcmZsb3cgLSB0b3BCb3JkZXJPdmVyZmxvdykpOwotICAgIAotICAgIC8vIEFkZCB2
aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZsZWN0aW9ucy4KLSAgICBhZGRT
aGFkb3dPdmVyZmxvdygpOwotICAgIAotICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIG91ciBjYXB0
aW9uLgotICAgIGlmIChtX2NhcHRpb24pCi0gICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKG1f
Y2FwdGlvbik7Ci0KLSAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBvdXIgc2VjdGlvbnMuCi0gICAg
Zm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9u
KCkpIHsKLSAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbiA9IHRvUmVuZGVy
VGFibGVTZWN0aW9uKGNoaWxkKTsKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHNl
Y3Rpb24pOwotICAgICAgICB9Ci0gICAgfQorICAgIGNvbXB1dGVPdmVyZmxvdyhjbGllbnRMb2dp
Y2FsQm90dG9tKCkpOwogCiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAKQEAgLTQxNywxNCArMzk3
LDQ0IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgLy8gUmVwYWludCB3aXRoIG91
ciBuZXcgYm91bmRzIGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9tIG91ciBvbGQgYm91bmRzLgog
ICAgIGlmICghZGlkRnVsbFJlcGFpbnQgJiYgc2VjdGlvbk1vdmVkKSB7CiAgICAgICAgIGlmIChz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICAgICAgcmVwYWludFJl
Y3RhbmdsZShJbnRSZWN0KGxlZnRWaXNpYmxlT3ZlcmZsb3coKSwgbW92ZWRTZWN0aW9uTG9naWNh
bFRvcCwgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSAtIGxlZnRWaXNpYmxlT3ZlcmZsb3coKSwgYm90
dG9tVmlzaWJsZU92ZXJmbG93KCkgLSBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wKSk7CisgICAgICAg
ICAgICByZXBhaW50UmVjdGFuZ2xlKEludFJlY3QobGVmdFZpc3VhbE92ZXJmbG93KCksIG1vdmVk
U2VjdGlvbkxvZ2ljYWxUb3AsIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSAtIGxlZnRWaXN1YWxPdmVy
ZmxvdygpLCBib3R0b21WaXN1YWxPdmVyZmxvdygpIC0gbW92ZWRTZWN0aW9uTG9naWNhbFRvcCkp
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXBhaW50UmVjdGFuZ2xlKEludFJlY3QobW92
ZWRTZWN0aW9uTG9naWNhbFRvcCwgdG9wVmlzaWJsZU92ZXJmbG93KCksIHJpZ2h0VmlzaWJsZU92
ZXJmbG93KCkgLSBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCBib3R0b21WaXNpYmxlT3ZlcmZsb3co
KSAtIHRvcFZpc2libGVPdmVyZmxvdygpKSk7CisgICAgICAgICAgICByZXBhaW50UmVjdGFuZ2xl
KEludFJlY3QobW92ZWRTZWN0aW9uTG9naWNhbFRvcCwgdG9wVmlzdWFsT3ZlcmZsb3coKSwgcmln
aHRWaXN1YWxPdmVyZmxvdygpIC0gbW92ZWRTZWN0aW9uTG9naWNhbFRvcCwgYm90dG9tVmlzdWFs
T3ZlcmZsb3coKSAtIHRvcFZpc3VhbE92ZXJmbG93KCkpKTsKICAgICB9CiAKICAgICBzZXROZWVk
c0xheW91dChmYWxzZSk7CiB9CiAKK3ZvaWQgUmVuZGVyVGFibGU6OmFkZE92ZXJmbG93RnJvbUNo
aWxkcmVuKCkKK3sKKyAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBib3JkZXJzLgorICAgIC8vIFRl
Y2huaWNhbGx5IGl0J3Mgb2RkIHRoYXQgd2UgYXJlIGluY29ycG9yYXRpbmcgdGhlIGJvcmRlcnMg
aW50byBsYXlvdXQgb3ZlcmZsb3csIHdoaWNoIGlzIG9ubHkgc3VwcG9zZWQgdG8gYmUgYWJvdXQg
b3ZlcmZsb3cgZnJvbSBvdXIKKyAgICAvLyBkZXNjZW5kYW50IG9iamVjdHMsIGJ1dCBzaW5jZSB0
YWJsZXMgZG9uJ3Qgc3VwcG9ydCBvdmVyZmxvdzphdXRvLCB0aGlzIHdvcmtzIG91dCBmaW5lLgor
ICAgIGlmIChjb2xsYXBzZUJvcmRlcnMoKSkgeworICAgICAgICBpbnQgcmlnaHRCb3JkZXJPdmVy
ZmxvdyA9IHdpZHRoKCkgKyBvdXRlckJvcmRlclJpZ2h0KCkgLSBib3JkZXJSaWdodCgpOworICAg
ICAgICBpbnQgbGVmdEJvcmRlck92ZXJmbG93ID0gYm9yZGVyTGVmdCgpIC0gb3V0ZXJCb3JkZXJM
ZWZ0KCk7CisgICAgICAgIGludCBib3R0b21Cb3JkZXJPdmVyZmxvdyA9IGhlaWdodCgpICsgb3V0
ZXJCb3JkZXJCb3R0b20oKSAtIGJvcmRlckJvdHRvbSgpOworICAgICAgICBpbnQgdG9wQm9yZGVy
T3ZlcmZsb3cgPSBib3JkZXJUb3AoKSAtIG91dGVyQm9yZGVyVG9wKCk7CisgICAgICAgIEludFJl
Y3QgYm9yZGVyT3ZlcmZsb3dSZWN0KGxlZnRCb3JkZXJPdmVyZmxvdywgdG9wQm9yZGVyT3ZlcmZs
b3csIHJpZ2h0Qm9yZGVyT3ZlcmZsb3cgLSBsZWZ0Qm9yZGVyT3ZlcmZsb3csIGJvdHRvbUJvcmRl
ck92ZXJmbG93IC0gdG9wQm9yZGVyT3ZlcmZsb3cpOworICAgICAgICBpZiAoYm9yZGVyT3ZlcmZs
b3dSZWN0ICE9IGJvcmRlckJveFJlY3QoKSkgeworICAgICAgICAgICAgYWRkTGF5b3V0T3ZlcmZs
b3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICAgICAgICAgIGFkZFZpc3VhbE92ZXJmbG93KGJv
cmRlck92ZXJmbG93UmVjdCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBBZGQgb3ZlcmZs
b3cgZnJvbSBvdXIgY2FwdGlvbi4KKyAgICBpZiAobV9jYXB0aW9uKQorICAgICAgICBhZGRPdmVy
Zmxvd0Zyb21DaGlsZChtX2NhcHRpb24pOworCisgICAgLy8gQWRkIG92ZXJmbG93IGZyb20gb3Vy
IHNlY3Rpb25zLgorICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgaWYgKGNoaWxk
LT5pc1RhYmxlU2VjdGlvbigpKSB7CisgICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNl
Y3Rpb24gPSB0b1JlbmRlclRhYmxlU2VjdGlvbihjaGlsZCk7CisgICAgICAgICAgICBhZGRPdmVy
Zmxvd0Zyb21DaGlsZChzZWN0aW9uKTsKKyAgICAgICAgfQorICAgIH0KK30KKwogdm9pZCBSZW5k
ZXJUYWJsZTo6c2V0Q2VsbExvZ2ljYWxXaWR0aHMoKQogewogICAgIGZvciAoUmVuZGVyT2JqZWN0
KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
KCkpIHsKQEAgLTQ0MSw5ICs0NTEsOSBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludChQYWludElu
Zm8mIHBhaW50CiAgICAgUGFpbnRQaGFzZSBwYWludFBoYXNlID0gcGFpbnRJbmZvLnBoYXNlOwog
CiAgICAgaW50IG9zID0gMiAqIG1heGltYWxPdXRsaW5lU2l6ZShwYWludFBoYXNlKTsKLSAgICBp
ZiAodHkgKyB0b3BWaXNpYmxlT3ZlcmZsb3coKSA+PSBwYWludEluZm8ucmVjdC5ib3R0b20oKSAr
IG9zIHx8IHR5ICsgYm90dG9tVmlzaWJsZU92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueSgp
IC0gb3MpCisgICAgaWYgKHR5ICsgdG9wVmlzdWFsT3ZlcmZsb3coKSA+PSBwYWludEluZm8ucmVj
dC5ib3R0b20oKSArIG9zIHx8IHR5ICsgYm90dG9tVmlzdWFsT3ZlcmZsb3coKSA8PSBwYWludElu
Zm8ucmVjdC55KCkgLSBvcykKICAgICAgICAgcmV0dXJuOwotICAgIGlmICh0eCArIGxlZnRWaXNp
YmxlT3ZlcmZsb3coKSA+PSBwYWludEluZm8ucmVjdC5yaWdodCgpICsgb3MgfHwgdHggKyByaWdo
dFZpc2libGVPdmVyZmxvdygpIDw9IHBhaW50SW5mby5yZWN0LngoKSAtIG9zKQorICAgIGlmICh0
eCArIGxlZnRWaXN1YWxPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0KCkgKyBvcyB8
fCB0eCArIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA8PSBwYWludEluZm8ucmVjdC54KCkgLSBvcykK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgYm9vbCBwdXNoZWRDbGlwID0gcHVzaENvbnRlbnRzQ2xp
cChwYWludEluZm8sIHR4LCB0eSk7ICAgIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzMiw2ICsyMzIsOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBJbnRS
ZWN0IG92ZXJmbG93Q2xpcFJlY3QoaW50IHR4LCBpbnQgdHkpOwogCisgICAgdmlydHVhbCB2b2lk
IGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisKICAgICB2b2lkIHN1YnRyYWN0Q2FwdGlvblJl
Y3QoSW50UmVjdCYpIGNvbnN0OwogCiAgICAgdm9pZCByZWNhbGNTZWN0aW9ucygpIGNvbnN0OwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCShyZXZpc2lvbiA3MzMzNCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2Niw5ICsyNjYsOSBAQCBJbnRSZWN0IFJlbmRlclRhYmxlQ2VsbDo6Y2xpcHBlZE92ZXJm
bG93CiAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgYmVsb3ctPmJvcmRlckhhbGZSaWdo
dCh0cnVlKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgbGVmdCA9IG1heChsZWZ0LCAtbGVmdFZp
c2libGVPdmVyZmxvdygpKTsKLSAgICB0b3AgPSBtYXgodG9wLCAtdG9wVmlzaWJsZU92ZXJmbG93
KCkpOwotICAgIEludFJlY3QgcigtbGVmdCwgLSB0b3AsIGxlZnQgKyBtYXgod2lkdGgoKSArIHJp
Z2h0LCByaWdodFZpc2libGVPdmVyZmxvdygpKSwgdG9wICsgbWF4KGhlaWdodCgpICsgYm90dG9t
LCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSkpOworICAgIGxlZnQgPSBtYXgobGVmdCwgLWxlZnRW
aXN1YWxPdmVyZmxvdygpKTsKKyAgICB0b3AgPSBtYXgodG9wLCAtdG9wVmlzdWFsT3ZlcmZsb3co
KSk7CisgICAgSW50UmVjdCByKC1sZWZ0LCAtIHRvcCwgbGVmdCArIG1heCh3aWR0aCgpICsgcmln
aHQsIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSksIHRvcCArIG1heChoZWlnaHQoKSArIGJvdHRvbSwg
Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSkpOwogCiAgICAgaWYgKFJlbmRlclZpZXcqIHYgPSB2aWV3
KCkpIHsKICAgICAgICAgLy8gRklYTUU6IGxheW91dERlbHRhIG5lZWRzIHRvIGJlIGFwcGxpZWQg
aW4gcGFydHMgYmVmb3JlL2FmdGVyIHRyYW5zZm9ybXMgYW5kCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDcgKzEyMSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRPdmVycmlkZVNpemUoaW50KTsKIAotICAgIGJvb2wg
aGFzVmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdzsgfQorICAgIGJv
b2wgaGFzVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ICYmICFib3Jk
ZXJCb3hSZWN0KCkuY29udGFpbnMobV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkpOyB9
CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlm
ZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTQs
NyArNjU0LDcgQEAgaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyhpbnQgdAogICAg
ICAgICAgICAgaWYgKHIgPCB0b3RhbFJvd3MgLSAxICYmIGNlbGwgPT0gcHJpbWFyeUNlbGxBdChy
ICsgMSwgYykpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRPdmVy
Zmxvd0Zyb21DaGlsZChjZWxsKTsKLSAgICAgICAgICAgIG1faGFzT3ZlcmZsb3dpbmdDZWxsIHw9
IGNlbGwtPmhhc1Zpc2libGVPdmVyZmxvdygpOworICAgICAgICAgICAgbV9oYXNPdmVyZmxvd2lu
Z0NlbGwgfD0gY2VsbC0+aGFzVmlzdWFsT3ZlcmZsb3coKTsKICAgICAgICAgfQogICAgIH0KIApA
QCAtNjYyLDc4ICs2NjIsNiBAQCBpbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKGlu
dCB0CiAgICAgcmV0dXJuIGhlaWdodCgpOwogfQogCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjp0
b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRl
U2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHRv
cCA9IFJlbmRlckJveDo6dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBp
bmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0KLSAgICBm
b3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAg
ICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICB0
b3AgPSBtaW4odG9wLCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNlbGwtPnRv
cG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
ICAgIAotICAgIHJldHVybiB0b3A7Ci19Ci0KLWludCBSZW5kZXJUYWJsZVNlY3Rpb246Omxvd2Vz
dFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYs
IEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBib3R0b20g
PSBSZW5kZXJCb3g6Omxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNs
dWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBib3R0b207Ci0KLSAgICBm
b3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAg
ICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICBi
b3R0b20gPSBtYXgoYm90dG9tLCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNl
bGwtPmxvd2VzdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlv
bjo6cmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBp
bmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAg
aW50IHJpZ2h0ID0gUmVuZGVyQm94OjpyaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIWluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gcmln
aHQ7Ci0KLSAgICBmb3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJv
dyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3Vy
ciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICAgICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAg
ICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgY2VsbC0+dHJhbnNmb3JtZWRGcmFtZVJlY3Qo
KS54KCkgKyBjZWxsLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50IFJlbmRl
clRhYmxlU2VjdGlvbjo6bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29u
c3QKLXsKLSAgICBpbnQgbGVmdCA9IFJlbmRlckJveDo6bGVmdG1vc3RQb3NpdGlvbihpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAo
IWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICBy
ZXR1cm4gbGVmdDsKLSAgICAKLSAgICBmb3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGls
ZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRl
ck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChj
dXJyKTsKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGNlbGwtPnRyYW5zZm9ybWVk
RnJhbWVSZWN0KCkueCgpICsgY2VsbC0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHJldHVybiBsZWZ0OwotfQotCiBp
bnQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdAogewog
ICAgIGludCB0b3RhbENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDEx
ICsxMzYsNiBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRl
ck9iamVjdCogb2xkQ2hpbGQpOwogCi0gICAgdmlydHVhbCBpbnQgdG9wbW9zdFBvc2l0aW9uKGJv
b2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNm
b3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9z
aXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBw
bHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBy
aWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZp
cnR1YWwgaW50IGxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
Ym9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25z
dDsKLQogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7
CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqLCBQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5m
byYsIGludCB0eCwgaW50IHR5KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTYsOCArNjE2LDE3IEBAIHN0YXRpYyB2b2lk
IHdyaXRlKFRleHRTdHJlYW0mIHRzLCBSZW5kZXIKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVMYXll
cnMoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxh
eWVyKiBsLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0
eVJlY3QsIGludCBpbmRlbnQsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQorICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBpbnQgaW5kZW50LCBS
ZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKIHsKKyAgICAvLyBGSVhNRTogQXBwbHkgb3Zl
cmZsb3cgdG8gdGhlIHJvb3QgbGF5ZXIgdG8gbm90IGJyZWFrIGV2ZXJ5IHRlc3QuICBDb21wbGV0
ZSBoYWNrLiAgU2lnaC4KKyAgICBJbnRSZWN0IHBhaW50RGlydHlSZWN0KHBhaW50UmVjdCk7Cisg
ICAgaWYgKHJvb3RMYXllciA9PSBsKSB7CisgICAgICAgIHBhaW50RGlydHlSZWN0LnNldFdpZHRo
KG1heChwYWludERpcnR5UmVjdC53aWR0aCgpLCByb290TGF5ZXItPnJlbmRlckJveCgpLT5yaWdo
dExheW91dE92ZXJmbG93KCkpKTsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0SGVpZ2h0KG1h
eChwYWludERpcnR5UmVjdC5oZWlnaHQoKSwgcm9vdExheWVyLT5yZW5kZXJCb3goKS0+Ym90dG9t
TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBsLT5zZXRXaWR0aChtYXgobC0+d2lkdGgoKSwg
bC0+cmVuZGVyQm94KCktPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBsLT5zZXRI
ZWlnaHQobWF4KGwtPmhlaWdodCgpLCBsLT5yZW5kZXJCb3goKS0+Ym90dG9tTGF5b3V0T3ZlcmZs
b3coKSkpOworICAgIH0KKyAgICAKICAgICAvLyBDYWxjdWxhdGUgdGhlIGNsaXAgcmVjdHMgd2Ug
c2hvdWxkIHVzZS4KICAgICBJbnRSZWN0IGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVj
dFRvQXBwbHksIG91dGxpbmVSZWN0OwogICAgIGwtPmNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwg
cGFpbnREaXJ0eVJlY3QsIGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHks
IG91dGxpbmVSZWN0LCB0cnVlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjksMTIgKzEyOSw2IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAg
ICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgpOwogCi0g
ICAgLy8gUmVzZXQgb3ZlcmZsb3cgYW5kIHRoZW4gcmVwbGFjZSBpdCB3aXRoIGRvY1dpZHRoIGFu
ZCBkb2NIZWlnaHQuCi0gICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgIGludCBsZWZ0T3ZlcmZs
b3cgPSBkb2NMZWZ0KCk7Ci0gICAgaW50IHRvcE92ZXJmbG93ID0gZG9jVG9wKCk7Ci0gICAgYWRk
TGF5b3V0T3ZlcmZsb3coSW50UmVjdChsZWZ0T3ZlcmZsb3csIHRvcE92ZXJmbG93LCBkb2NXaWR0
aChsZWZ0T3ZlcmZsb3cpLCBkb2NIZWlnaHQodG9wT3ZlcmZsb3cpKSk7Ci0KICAgICBBU1NFUlQo
bGF5b3V0RGVsdGEoKSA9PSBJbnRTaXplKCkpOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlRGlz
YWJsZUNvdW50ID09IDApOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlID09ICZzdGF0ZSk7CkBA
IC02MjAsNTAgKzYxNCwzMCBAQCBJbnRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QK
IAogaW50IFJlbmRlclZpZXc6OmRvY1RvcCgpIGNvbnN0CiB7Ci0gICAgLy8gQ2xpcCBvdXQgdG9w
IG92ZXJmbG93IGluIHZlcnRpY2FsIExUUiBwYWdlcyBvciBob3Jpem9udGFsLXRiIHBhZ2VzLgot
ICAgIGlmICgoIXN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB8fCBzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFRv
cFRvQm90dG9tV3JpdGluZ01vZGUpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzdGQ6
Om1pbigwLCB0b3Btb3N0UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoMCwg
dG9wTGF5b3V0T3ZlcmZsb3coKSwgMCwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIHRvcExheW91
dE92ZXJmbG93KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAg
IHJldHVybiBvdmVyZmxvd1JlY3QueSgpOwogfQogCi1pbnQgUmVuZGVyVmlldzo6ZG9jSGVpZ2h0
KGludCB0b3BPdmVyZmxvdykgY29uc3QKK2ludCBSZW5kZXJWaWV3Ojpkb2NCb3R0b20oKSBjb25z
dAogewotICAgIGludCBoID0gKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAm
JiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdN
b2RlKCkgPT0gVG9wVG9Cb3R0b21Xcml0aW5nTW9kZSkgPwotICAgICAgICAgICAgICAgIGxvd2Vz
dFBvc2l0aW9uKCkgOiBoZWlnaHQoKSAtIHRvcE92ZXJmbG93OwotCi0gICAgLy8gRklYTUU6IFRo
aXMgZG9lc24ndCBkbyBhbnkgbWFyZ2luIGNvbGxhcHNpbmcuCi0gICAgLy8gSW5zdGVhZCBvZiB0
aGlzIGRoIGNvbXB1dGF0aW9uIHdlIHNob3VsZCBrZWVwIHRoZSByZXN1bHQKLSAgICAvLyB3aGVu
IHdlIGNhbGwgUmVuZGVyQmxvY2s6OmxheW91dC4KLSAgICBpbnQgZGggPSAwOwotICAgIGZvciAo
UmVuZGVyQm94KiBjID0gZmlyc3RDaGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3go
KSkKLSAgICAgICAgZGggKz0gYy0+aGVpZ2h0KCkgKyBjLT5tYXJnaW5Ub3AoKSArIGMtPm1hcmdp
bkJvdHRvbSgpOwotCi0gICAgaWYgKGRoID4gaCkKLSAgICAgICAgaCA9IGRoOwotCi0gICAgcmV0
dXJuIGg7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwor
ICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxv
d1JlY3QuYm90dG9tKCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKIHsK
LSAgICAvLyBDbGlwIG91dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6b250YWwgTFRSIHBhZ2VzIG9y
IHZlcnRpY2FsLWxyIHBhZ2VzLgotICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCkt
PndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgcmV0dXJuIHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9zaXRpb24oKSk7CisgICAgSW50
UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0
aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwogfQog
Ci1pbnQgUmVuZGVyVmlldzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29uc3QKK2ludCBS
ZW5kZXJWaWV3Ojpkb2NSaWdodCgpIGNvbnN0CiB7Ci0gICAgaW50IHcgPSAoKHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKSB8fCBzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUp
ID8gCi0gICAgICAgICAgICAgICAgcmlnaHRtb3N0UG9zaXRpb24oKSA6IHdpZHRoKCkgLSBsZWZ0
T3ZlcmZsb3c7Ci0KLSAgICBmb3IgKFJlbmRlckJveCogYyA9IGZpcnN0Q2hpbGRCb3goKTsgYzsg
YyA9IGMtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgaW50IGR3ID0gYy0+d2lkdGgoKSAr
IGMtPm1hcmdpbkxlZnQoKSArIGMtPm1hcmdpblJpZ2h0KCk7Ci0gICAgICAgIGlmIChkdyA+IHcp
Ci0gICAgICAgICAgICB3ID0gZHc7Ci0gICAgfQotCi0gICAgcmV0dXJuIHc7CisgICAgSW50UmVj
dCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5n
TW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QucmlnaHQoKTsKIH0K
IAogaW50IFJlbmRlclZpZXc6OnZpZXdIZWlnaHQoKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsMTMgQEAgcHVibGljOgogICAgIGJvb2wg
dXNlc0NvbXBvc2l0aW5nKCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIGludCBkb2NUb3AoKSBjb25z
dDsKKyAgICBpbnQgZG9jQm90dG9tKCkgY29uc3Q7CisgICAgaW50IGRvY0hlaWdodCgpIGNvbnN0
IHsgcmV0dXJuIGRvY0JvdHRvbSgpIC0gZG9jVG9wKCk7IH0KKyAgICBpbnQgZG9jTGVmdCgpIGNv
bnN0OworICAgIGludCBkb2NSaWdodCgpIGNvbnN0OworICAgIGludCBkb2NXaWR0aCgpIGNvbnN0
IHsgcmV0dXJuIGRvY1JpZ2h0KCkgLSBkb2NMZWZ0KCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBh
aW50Q29udGFpbmVyLCBib29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQsIFRyYW5zZm9ybVN0
YXRlJikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KGJv
b2wgZml4ZWQsIGJvb2wgdXNlVHJhbnNmb3JtcywgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKQEAg
LTE3MywxMSArMTgwLDYgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBib29sIHNob3VsZFJl
cGFpbnQoY29uc3QgSW50UmVjdCYgcikgY29uc3Q7CiAgICAgCi0gICAgaW50IGRvY1RvcCgpIGNv
bnN0OwotICAgIGludCBkb2NIZWlnaHQoaW50IHRvcE92ZXJmbG93KSBjb25zdDsKLSAgICBpbnQg
ZG9jTGVmdCgpIGNvbnN0OwotICAgIGludCBkb2NXaWR0aChpbnQgbGVmdE92ZXJmbG93KSBjb25z
dDsKLQogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBMYXlv
dXRTdGF0ZU1haW50YWluZXIuCiAgICAgYm9vbCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyQm94KiBy
ZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgb2Zmc2V0LCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wg
cGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCiAgICAg
ewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDczMzM0KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE1MCw4ICsxNTAsNyBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OmFkZEhpZ2hsaWdodE92ZXJmbG93
CiAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYSBzZWxlY3Rpb24gaW5mbGF0aW9uLgogICAgIEZs
b2F0UmVjdCByb290UmVjdCgwLCBzZWxlY3Rpb25Ub3AoKSwgbG9naWNhbFdpZHRoKCksIHNlbGVj
dGlvbkhlaWdodCgpKTsKICAgICBJbnRSZWN0IGluZmxhdGVkUmVjdCA9IGVuY2xvc2luZ0ludFJl
Y3QocGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5jdXN0b21IaWdobGlnaHRSZWN0KHJlbmRlcmVy
KCktPm5vZGUoKSwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+aGlnaGxpZ2h0KCksIHJvb3RSZWN0KSk7
Ci0gICAgc2V0SW5saW5lRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobGVmdExheW91dE92ZXJm
bG93KCksIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgbWluKGxlZnRWaXN1YWxPdmVyZmxvdygpLCBp
bmZsYXRlZFJlY3QueCgpKSwgbWF4KHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0
LnJpZ2h0KCkpKTsKLSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRvcExh
eW91dE92ZXJmbG93KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCksIG1pbih0b3BWaXN1YWxPdmVy
ZmxvdygpLCBpbmZsYXRlZFJlY3QueSgpKSwgbWF4KGJvdHRvbVZpc3VhbE92ZXJmbG93KCksIGlu
ZmxhdGVkUmVjdC5ib3R0b20oKSkpOworICAgIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhp
bmZsYXRlZFJlY3QsIGluZmxhdGVkUmVjdCwgbGluZVRvcCgpLCBsaW5lQm90dG9tKCkpOwogfQog
CiB2b2lkIFJvb3RJbmxpbmVCb3g6OnBhaW50Q3VzdG9tSGlnaGxpZ2h0KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBpbnQgdHgsIGludCB0eSwgY29uc3QgQXRvbWljU3RyaW5nJiBoaWdobGlnaHRUeXBl
KQpAQCAtMjUyLDcgKzI1MSw2IEBAIGludCBSb290SW5saW5lQm94OjphbGlnbkJveGVzSW5CbG9j
a0RpcmUKICAgICBib29sIGNvbnRhaW5zUnVieSA9IGZhbHNlOwogICAgIHBsYWNlQm94ZXNJbkJs
b2NrRGlyZWN0aW9uKGhlaWdodE9mQmxvY2ssIG1heEhlaWdodCwgbWF4QXNjZW50LCBub1F1aXJr
c01vZGUsIGxpbmVUb3AsIGxpbmVCb3R0b20sIHNldExpbmVUb3AsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGluZVRvcEluY2x1ZGluZ01hcmdpbnMsIGxpbmVCb3R0b21JbmNsdWRp
bmdNYXJnaW5zLCBjb250YWluc1J1YnksIG1fYmFzZWxpbmVUeXBlKTsKLSAgICBjb21wdXRlQmxv
Y2tEaXJlY3Rpb25PdmVyZmxvdyhsaW5lVG9wLCBsaW5lQm90dG9tLCBub1F1aXJrc01vZGUsIHRl
eHRCb3hEYXRhTWFwKTsKICAgICBzZXRMaW5lVG9wQm90dG9tUG9zaXRpb25zKGxpbmVUb3AsIGxp
bmVCb3R0b20pOwogCiAgICAgbV9jb250YWluc1J1YnkgPSBjb250YWluc1J1Ynk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75651</attachid>
            <date>2010-12-05 23:53:46 -0800</date>
            <delta_ts>2010-12-06 09:49:26 -0800</delta_ts>
            <desc>Patch with updated test results</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>575346</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsOSArNDM1LDkgQEAgdm9pZCBGcmFtZVZp
ZXc6OmFkanVzdFZpZXdTaXplKCkKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFNpemUgc2l6ZSA9IEludFNpemUocm9vdC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIC0g
cm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCkg
LSByb290LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKKyAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPmRvY1dpZHRoKCksIHJvb3QtPmRvY0hlaWdodCgpKTsKIAotICAgIFNjcm9sbFZpZXc6
OnNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgtcm9vdC0+bGVmdExheW91dE92ZXJmbG93KCksIC1y
b290LT50b3BMYXlvdXRPdmVyZmxvdygpKSwgc2l6ZSA9PSBjb250ZW50c1NpemUoKSk7CisgICAg
U2Nyb2xsVmlldzo6c2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1yb290LT5kb2NMZWZ0KCksIC1y
b290LT5kb2NUb3AoKSksIHNpemUgPT0gY29udGVudHNTaXplKCkpOwogICAgIAogICAgIHNldENv
bnRlbnRzU2l6ZShzaXplKTsKIH0KQEAgLTIyMzksMTUgKzIyMzksMTUgQEAgdm9pZCBGcmFtZVZp
ZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbgogICAgICAgICAvLyBwYWdlIHdpZHRoIHdoZW4g
c2hydW5rLCB3ZSB3aWxsIGxheSBvdXQgYXQgbWF4aW11bSBzaHJpbmsgYW5kIGNsaXAgZXh0cmEg
Y29udGVudC4KICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhc3N1bWluZyBhIHNocmluay10by1m
aXQgcHJpbnRpbmcgaW1wbGVtZW50YXRpb24uICBBIGNyb3BwaW5nCiAgICAgICAgIC8vIGltcGxl
bWVudGF0aW9uIHNob3VsZCBub3QgZG8gdGhpcyEKLSAgICAgICAgaW50IHJpZ2h0bW9zdFBvcyA9
IHJvb3QtPnJpZ2h0bW9zdFBvc2l0aW9uKCk7Ci0gICAgICAgIGlmIChyaWdodG1vc3RQb3MgPiBw
YWdlU2l6ZS53aWR0aCgpKSB7Ci0gICAgICAgICAgICBwYWdlVyA9IHN0ZDo6bWluPGludD4ocmln
aHRtb3N0UG9zLCBjZWlsZihwYWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3Rvcikp
OworICAgICAgICBpbnQgZG9jV2lkdGggPSByb290LT5kb2NXaWR0aCgpOworICAgICAgICBpZiAo
ZG9jV2lkdGggPiBwYWdlU2l6ZS53aWR0aCgpKSB7CisgICAgICAgICAgICBwYWdlVyA9IHN0ZDo6
bWluPGludD4oZG9jV2lkdGgsIGNlaWxmKHBhZ2VTaXplLndpZHRoKCkgKiBtYXhpbXVtU2hyaW5r
RmFjdG9yKSk7CiAgICAgICAgICAgICBpZiAocGFnZVNpemUuaGVpZ2h0KCkpCiAgICAgICAgICAg
ICAgICAgcm9vdC0+c2V0UGFnZUhlaWdodChwYWdlVyAvIHBhZ2VTaXplLndpZHRoKCkgKiBwYWdl
U2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgICAgICByb290LT5zZXRXaWR0aChwYWdlVyk7CiAgICAg
ICAgICAgICByb290LT5zZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAg
ICAgICAgIGZvcmNlTGF5b3V0KCk7Ci0gICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGludCBkb2NIZWlnaHQgPSByb290
LT5kb2NIZWlnaHQoKTsKICAgICAgICAgICAgIHJvb3QtPmNsZWFyTGF5b3V0T3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIHJvb3QtPmFkZExheW91dE92ZXJmbG93KEludFJlY3QoMCwgMCwgcGFnZVcs
IGRvY0hlaWdodCkpOyAvLyBUaGlzIGlzIGhvdyB3ZSBjbGlwIGluIGNhc2Ugd2Ugb3ZlcmZsb3cg
YWdhaW4uCiAgICAgICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDI5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbW92
ZShjb25zdCBJbnRTaXplJiBzKSB7IG1fbG9jYXRpb24gKz0gczsgfSAKICAgICB2b2lkIG1vdmUo
aW50IGR4LCBpbnQgZHkpIHsgbV9sb2NhdGlvbi5tb3ZlKGR4LCBkeSk7IH0gCisgICAgCisgICAg
dm9pZCBzaGlmdExlZnRFZGdlVG8oaW50IGVkZ2UpCisgICAgeworICAgICAgICBpbnQgZGVsdGEg
PSBlZGdlIC0geCgpOworICAgICAgICBzZXRYKGVkZ2UpOworICAgICAgICBzZXRXaWR0aChzdGQ6
Om1heCgwLCB3aWR0aCgpIC0gZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdFJpZ2h0RWRn
ZVRvKGludCBlZGdlKQorICAgIHsKKyAgICAgICAgaW50IGRlbHRhID0gZWRnZSAtIHJpZ2h0KCk7
CisgICAgICAgIHNldFdpZHRoKHN0ZDo6bWF4KDAsIHdpZHRoKCkgKyBkZWx0YSkpOworICAgIH0K
KyAgICB2b2lkIHNoaWZ0VG9wRWRnZVRvKGludCBlZGdlKQorICAgIHsKKyAgICAgICAgaW50IGRl
bHRhID0gZWRnZSAtIHkoKTsKKyAgICAgICAgc2V0WShlZGdlKTsKKyAgICAgICAgc2V0SGVpZ2h0
KHN0ZDo6bWF4KDAsIGhlaWdodCgpIC0gZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdEJv
dHRvbUVkZ2VUbyhpbnQgZWRnZSkKKyAgICB7CisgICAgICAgIGludCBkZWx0YSA9IGVkZ2UgLSBi
b3R0b20oKTsKKyAgICAgICAgc2V0SGVpZ2h0KHN0ZDo6bWF4KDAsIGhlaWdodCgpICsgZGVsdGEp
KTsKKyAgICB9CiAKICAgICBib29sIGludGVyc2VjdHMoY29uc3QgSW50UmVjdCYpIGNvbnN0Owog
ICAgIGJvb2wgY29udGFpbnMoY29uc3QgSW50UmVjdCYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lQm94LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzMyw2ICsyMzMsOCBAQCBwdWJsaWM6CiAgICAgaW50IHdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxv
Z2ljYWxIZWlnaHQoKTsgfQogICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6
b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9CiAKKyAgICBJbnRS
ZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCks
IGhlaWdodCgpKTsgfQorCiAgICAgLy8gVGhlIGxvZ2ljYWxMZWZ0IHBvc2l0aW9uIGlzIHRoZSBs
ZWZ0IGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgdG9w
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV94IDogbV95OyB9CiAgICAgaW50IGxvZ2ljYWxSaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQpAQCAt
MjY1LDcgKzI2Nyw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9u
KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUpIGNvbnN0IHsgcmV0dXJuIGJveE1vZGVsT2JqZWN0
KCktPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBtX2ZpcnN0TGluZSwgaXNIb3Jpem9u
dGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZSwgUG9zaXRpb25PbkNvbnRhaW5p
bmdMaW5lKTsgfQogICAgIHZpcnR1YWwgaW50IGxpbmVIZWlnaHQoKSBjb25zdCB7IHJldHVybiBi
b3hNb2RlbE9iamVjdCgpLT5saW5lSGVpZ2h0KG1fZmlyc3RMaW5lLCBpc0hvcml6b250YWwoKSA/
IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lLCBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUp
OyB9CiAgICAgCi0KICAgICB2aXJ0dWFsIGludCBjYXJldE1pbk9mZnNldCgpIGNvbnN0OwogICAg
IHZpcnR1YWwgaW50IGNhcmV0TWF4T2Zmc2V0KCkgY29uc3Q7CiAgICAgdmlydHVhbCB1bnNpZ25l
ZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU5LDE4ICsyNTksNyBAQCBpbnQgSW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyCiB7CiAgICAgLy8gU2V0IG91ciB4IHBv
c2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKLQotICAgIGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0gICAgaW50IGxvZ2ljYWxSaWdo
dExheW91dE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0gICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3cgPSBsb2dpY2FsTGVmdDsKLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZs
b3cgPSBsb2dpY2FsTGVmdDsKLQotICAgIGludCBib3hTaGFkb3dMb2dpY2FsTGVmdDsKLSAgICBp
bnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwotICAgIHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RM
aW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRvd0xvZ2ljYWxM
ZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwotCi0gICAgbG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdyA9IG1pbihsb2dpY2FsTGVmdCArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93KTsKLQorICAKICAgICBpbnQgc3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2lj
YWxMZWZ0OwogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRlckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5n
TG9naWNhbExlZnQoKTsKICAgICAKQEAgLTI4NCwzMCArMjczLDYgQEAgaW50IElubGluZUZsb3dC
b3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAgIG5lZWRzV29yZFNwYWNp
bmcgPSAhaXNTcGFjZU9yTmV3bGluZShydC0+Y2hhcmFjdGVycygpW3RleHQtPmVuZCgpXSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB0ZXh0LT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVm
dCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGludCBzdHJva2VPdmVyZmxvdyA9IHN0YXRp
Y19jYXN0PGludD4oY2VpbGYocnQtPnN0eWxlKCktPnRleHRTdHJva2VXaWR0aCgpIC8gMi4wZikp
OwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJZiBsZXR0ZXItc3BhY2luZyBpcyBuZWdh
dGl2ZSwgd2Ugc2hvdWxkIGZhY3RvciB0aGF0IGludG8gcmlnaHQgbGF5b3V0IG92ZXJmbG93LiAo
RXZlbiBpbiBSVEwsIGxldHRlci1zcGFjaW5nIGlzCi0gICAgICAgICAgICAvLyBhcHBsaWVkIHRv
IHRoZSByaWdodCwgc28gdGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93Lgot
ICAgICAgICAgICAgaW50IGxldHRlclNwYWNpbmcgPSBtaW4oMCwgKGludClydC0+c3R5bGUobV9m
aXJzdExpbmUpLT5mb250KCkubGV0dGVyU3BhY2luZygpKTsKLSAgICAgICAgICAgIGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgdGV4dC0+bG9naWNhbFdpZHRo
KCkgLSBsZXR0ZXJTcGFjaW5nLCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyk7Ci0KLSAgICAg
ICAgICAgIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRl
eHRCb3hEYXRhTWFwLmZpbmQoc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpKTsKLSAg
ICAgICAgICAgIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0
YU1hcC5lbmQoKSA/IDAgOiAmaXQtPnNlY29uZC5zZWNvbmQ7Ci0KLSAgICAgICAgICAgIGludCBs
b2dpY2FsTGVmdEdseXBoT3ZlcmZsb3cgPSAtc3Ryb2tlT3ZlcmZsb3cgLSAoZ2x5cGhPdmVyZmxv
dyA/IGdseXBoT3ZlcmZsb3ctPmxlZnQgOiAwKTsKLSAgICAgICAgICAgIGludCBsb2dpY2FsUmln
aHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgLSBsZXR0ZXJTcGFjaW5nICsgKGdseXBo
T3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5yaWdodCA6IDApOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRHbHlwaE92
ZXJmbG93OwotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQgPSBsb2dp
Y2FsUmlnaHRHbHlwaE92ZXJmbG93OwotICAgICAgICAgICAgaW50IHRleHRTaGFkb3dMb2dpY2Fs
TGVmdDsKLSAgICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0OwotICAgICAgICAg
ICAgcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0VGV4dFNoYWRvd0lubGluZURpcmVjdGlvbkV4
dGVudCh0ZXh0U2hhZG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dpY2FsUmlnaHQpOwotICAg
ICAgICAgICAgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0ID0gbWluKGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsTGVmdCwgdGV4dFNoYWRvd0xvZ2ljYWxMZWZ0ICsgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93
KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQgPSBtYXgoY2hpbGRPdmVy
Zmxvd0xvZ2ljYWxSaWdodCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIGxvZ2ljYWxSaWdodEds
eXBoT3ZlcmZsb3cpOwotICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1p
bihsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1h
eChsb2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpICsgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxSaWdodCwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAgCiAgICAg
ICAgICAgICBsb2dpY2FsTGVmdCArPSB0ZXh0LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkg
ewpAQCAtMzI1LDEwICsyOTAsNiBAQCBpbnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5s
aW5lRGlyCiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gZmxvdy0+bWFyZ2luTG9naWNh
bExlZnQoKTsKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCA9IGZsb3ctPnBsYWNlQm94ZXNJ
bklubGluZURpcmVjdGlvbihsb2dpY2FsTGVmdCwgbmVlZHNXb3JkU3BhY2luZywgdGV4dEJveERh
dGFNYXApOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2lj
YWxSaWdodCgpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cgPSBt
aW4obG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbExlZnRMYXlvdXRPdmVy
ZmxvdygpKTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1h
eChsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdywgZmxvdy0+bG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3coKSk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1p
bihsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93KCkpOwotICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4
KGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdygpKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWN1cnItPnJlbmRlcmVyKCktPmlzTGlz
dE1hcmtlcigpIHx8IHRvUmVuZGVyTGlzdE1hcmtlcihjdXJyLT5yZW5kZXJlcigpKS0+aXNJbnNp
ZGUoKSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBib3ggY2FuIGhhdmUgYSBkaWZmZXJlbnQg
d3JpdGluZy1tb2RlIHRoYW4gdGhlIG92ZXJhbGwgbGluZSwgc28gdGhpcyBpcyBhIGJpdCBjb21w
bGljYXRlZC4KICAgICAgICAgICAgICAgICAvLyBKdXN0IGdldCBhbGwgdGhlIHBoeXNpY2FsIG1h
cmdpbiBhbmQgb3ZlcmZsb3cgdmFsdWVzIGJ5IGhhbmQgYmFzZWQgb2ZmIHxpc1ZlcnRpY2FsfC4K
QEAgLTMzNywxOCArMjk4LDYgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGlu
ZURpcgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGxv
Z2ljYWxMZWZ0TWFyZ2luOwogICAgICAgICAgICAgICAgIGN1cnItPnNldExvZ2ljYWxMZWZ0KGxv
Z2ljYWxMZWZ0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgUmVu
ZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChjdXJyLT5yZW5kZXJlcigpKTsKLQotICAgICAgICAg
ICAgICAgIGludCBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQgPSBib3gtPmhhc092ZXJmbG93Q2xp
cCgpID8gMCA6IChpc0hvcml6b250YWwoKSA/IGJveC0+bGVmdExheW91dE92ZXJmbG93KCkgOiBi
b3gtPnRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAgIGludCBjaGlsZE92ZXJm
bG93TG9naWNhbFJpZ2h0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IGN1cnItPmxvZ2ljYWxX
aWR0aCgpIDogKGlzSG9yaXpvbnRhbCgpID8gYm94LT5yaWdodExheW91dE92ZXJmbG93KCkgOiBi
b3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGls
ZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cpOwotICAgICAg
ICAgICAgICAgIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwot
Ci0gICAgICAgICAgICAgICAgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2Fs
TGVmdCArIChpc0hvcml6b250YWwoKSA/IGJveC0+bGVmdFZpc3VhbE92ZXJmbG93KCkgOiBib3gt
PnRvcFZpc3VhbE92ZXJmbG93KCkpLCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KTsKLSAgICAg
ICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCAr
IChpc0hvcml6b250YWwoKSA/IGJveC0+cmlnaHRWaXN1YWxPdmVyZmxvdygpIDogYm94LT5ib3R0
b21WaXN1YWxPdmVyZmxvdygpKSwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gY3Vyci0+bG9naWNhbFdp
ZHRoKCkgKyBsb2dpY2FsUmlnaHRNYXJnaW47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAg
LTM1NiwxMCArMzA1LDYgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURp
cgogCiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbFJpZ2h0KCkgKyBwYWRkaW5nTG9n
aWNhbFJpZ2h0KCk7CiAgICAgc2V0TG9naWNhbFdpZHRoKGxvZ2ljYWxMZWZ0IC0gc3RhcnRMb2dp
Y2FsTGVmdCk7Ci0gICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExl
ZnQgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsK
LSAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCwgbG9naWNh
bFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgc2V0SW5saW5lRGlyZWN0aW9uT3ZlcmZsb3dQ
b3NpdGlvbnMobG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgbG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3csIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93KTsKICAgICByZXR1cm4gbG9naWNhbExlZnQ7CiB9CiAKQEAgLTc0MywzMiArNjg4LDExMiBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmZsaXBMaW5lc0luQmxvY2tEaXJlCiAgICAgfQogfQogCi12
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk92ZXJmbG93KGludCBsaW5l
VG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFs
bGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCit2b2lkIElubGluZUZsb3dCb3g6OmFkZEJv
eFNoYWRvd1Zpc3VhbE92ZXJmbG93KEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdykKIHsK
KyAgICBpZiAoIXBhcmVudCgpKQorICAgICAgICByZXR1cm47IC8vIEJveC1zaGFkb3cgZG9lc24n
dCBhcHBseSB0byByb290IGxpbmUgYm94ZXMuCisKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbFRv
cDsKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbEJvdHRvbTsKKyAgICByZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRv
d0xvZ2ljYWxUb3AsIGJveFNoYWRvd0xvZ2ljYWxCb3R0b20pOworICAgIAorICAgIGludCBsb2dp
Y2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbFRvcCgpICsgYm94U2hhZG93TG9naWNh
bFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CisgICAgaW50IGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsQm90dG9tKCkgKyBib3hTaGFkb3dMb2dpY2FsQm90
dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cuYm90dG9tKCkpOworICAgIAorICAgIGludCBib3hT
aGFkb3dMb2dpY2FsTGVmdDsKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OworICAgIHJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9u
RXh0ZW50KGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOworCisg
ICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJv
eFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFk
b3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5yaWdodCgpKTsKKyAgICAKKyAg
ICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZs
b3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93KTsKK30KKwordm9pZCBJbmxpbmVGbG93Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcmZs
b3coY29uc3QgSW5saW5lVGV4dEJveCogdGV4dEJveCwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNr
Rm9udHNNYXAmIHRleHRCb3hEYXRhTWFwLCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cp
Cit7CisgICAgaW50IHN0cm9rZU92ZXJmbG93ID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZihyZW5k
ZXJlcigpLT5zdHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKKworICAgIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwOjppdGVyYXRvciBpdCA9IHRleHRCb3hEYXRhTWFw
LmZpbmQodGV4dEJveCk7CisgICAgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IGl0ID09
IHRleHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vjb25kLnNlY29uZDsKKwogICAgIGJv
b2wgaXNGbGlwcGVkTGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNGbGlw
cGVkTGluZXNXcml0aW5nTW9kZSgpOwogCi0gICAgaW50IGJveEhlaWdodCA9IGxvZ2ljYWxIZWln
aHQoKTsKKyAgICBpbnQgdG9wR2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IChpc0ZsaXBwZWRM
aW5lID8gZ2x5cGhPdmVyZmxvdy0+Ym90dG9tIDogZ2x5cGhPdmVyZmxvdy0+dG9wKSA6IDA7Cisg
ICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/
IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSkgOiAwOworICAgIGlu
dCBsZWZ0R2x5cGhFZGdlID0gZ2x5cGhPdmVyZmxvdyA/IGdseXBoT3ZlcmZsb3ctPmxlZnQgOiAw
OworICAgIGludCByaWdodEdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93
LT5yaWdodCA6IDA7CisgICAgCisgICAgaW50IHRvcEdseXBoT3ZlcmZsb3cgPSAtc3Ryb2tlT3Zl
cmZsb3cgLSB0b3BHbHlwaEVkZ2U7CisgICAgaW50IGJvdHRvbUdseXBoT3ZlcmZsb3cgPSBzdHJv
a2VPdmVyZmxvdyArIGJvdHRvbUdseXBoRWRnZTsKKyAgICBpbnQgbGVmdEdseXBoT3ZlcmZsb3cg
PSAtc3Ryb2tlT3ZlcmZsb3cgLSBsZWZ0R2x5cGhFZGdlOworICAgIGludCByaWdodEdseXBoT3Zl
cmZsb3cgPSBzdHJva2VPdmVyZmxvdyArIHJpZ2h0R2x5cGhFZGdlOworCisgICAgLy8gSWYgbGV0
dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3IgdGhhdCBpbnRvIHJpZ2h0
IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3BhY2luZyBpcworICAgIC8v
IGFwcGxpZWQgdG8gdGhlIHJpZ2h0LCBzbyB0aGlzIGlzIG5vdCBhbiBpc3N1ZSB3aXRoIGxlZnQg
b3ZlcmZsb3cuCisgICAgaW50IGxldHRlclNwYWNpbmcgPSBtaW4oMCwgKGludClyZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5sZXR0ZXJTcGFjaW5nKCkpOworICAgIHJpZ2h0
R2x5cGhPdmVyZmxvdyAtPSBsZXR0ZXJTcGFjaW5nOworCisgICAgaW50IHRleHRTaGFkb3dMb2dp
Y2FsVG9wOworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbEJvdHRvbTsKKyAgICByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmdldFRleHRTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudCh0
ZXh0U2hhZG93TG9naWNhbFRvcCwgdGV4dFNoYWRvd0xvZ2ljYWxCb3R0b20pOworICAgIAorICAg
IGludCBjaGlsZE92ZXJmbG93TG9naWNhbFRvcCA9IG1pbih0ZXh0U2hhZG93TG9naWNhbFRvcCAr
IHRvcEdseXBoT3ZlcmZsb3csIHRvcEdseXBoT3ZlcmZsb3cpOworICAgIGludCBjaGlsZE92ZXJm
bG93TG9naWNhbEJvdHRvbSA9IG1heCh0ZXh0U2hhZG93TG9naWNhbEJvdHRvbSArIGJvdHRvbUds
eXBoT3ZlcmZsb3csIGJvdHRvbUdseXBoT3ZlcmZsb3cpOworICAgCisgICAgaW50IHRleHRTaGFk
b3dMb2dpY2FsTGVmdDsKKyAgICBpbnQgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25F
eHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxMZWZ0LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKKyAg
IAorICAgIGludCBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQgPSBtaW4odGV4dFNoYWRvd0xvZ2lj
YWxMZWZ0ICsgbGVmdEdseXBoT3ZlcmZsb3csIGxlZnRHbHlwaE92ZXJmbG93KTsKKyAgICBpbnQg
Y2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IG1heCh0ZXh0U2hhZG93TG9naWNhbFJpZ2h0ICsg
cmlnaHRHbHlwaE92ZXJmbG93LCByaWdodEdseXBoT3ZlcmZsb3cpOworCisgICAgaW50IGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92
ZXJmbG93TG9naWNhbFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CisgICAgaW50IGxv
Z2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsQm90dG9tKCkg
KyBjaGlsZE92ZXJmbG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93LmJvdHRv
bSgpKTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5s
b2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4
dEJveC0+bG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkUmVwbGFjZWRDaGlsZE92ZXJmbG93KGNvbnN0IElubGluZUJveCogaW5s
aW5lQm94LCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIEludFJlY3QmIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdykKK3sKKyAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGlubGlu
ZUJveC0+cmVuZGVyZXIoKSk7CisgICAgCisgICAgLy8gVmlzdWFsIG92ZXJmbG93IG9ubHkgcHJv
cGFnYXRlcyBpZiB0aGUgYm94IGRvZXNuJ3QgaGF2ZSBhIHNlbGYtcGFpbnRpbmcgbGF5ZXIuICBU
aGlzIHJlY3RhbmdsZSBkb2VzIG5vdCBpbmNsdWRlCisgICAgLy8gdHJhbnNmb3JtcyBvciByZWxh
dGl2ZSBwb3NpdGlvbmluZyAoc2luY2UgdGhvc2Ugb2JqZWN0cyBhbHdheXMgaGF2ZSBzZWxmLXBh
aW50aW5nIGxheWVycyksIGJ1dCBpdCBkb2VzIG5lZWQgdG8gYmUgYWRqdXN0ZWQKKyAgICAvLyBm
b3Igd3JpdGluZy1tb2RlIGRpZmZlcmVuY2VzLgorICAgIGlmICghYm94LT5oYXNTZWxmUGFpbnRp
bmdMYXllcigpKSB7CisgICAgICAgIEludFJlY3QgY2hpbGRMb2dpY2FsVmlzdWFsT3ZlcmZsb3cg
PSBib3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigp
LT5zdHlsZSgpKTsKKyAgICAgICAgY2hpbGRMb2dpY2FsVmlzdWFsT3ZlcmZsb3cubW92ZShpbmxp
bmVCb3gtPmxvZ2ljYWxMZWZ0KCksIGlubGluZUJveC0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAg
bG9naWNhbFZpc3VhbE92ZXJmbG93LnVuaXRlKGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93KTsK
KyAgICB9CisKKyAgICAvLyBMYXlvdXQgb3ZlcmZsb3cgaW50ZXJuYWwgdG8gdGhlIGNoaWxkIGJv
eCBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGNoaWxkIGJveCBkb2Vzbid0IGhhdmUgb3ZlcmZsb3cg
Y2xpcCBzZXQuCisgICAgLy8gT3RoZXJ3aXNlIHRoZSBjaGlsZCBib3JkZXIgYm94IHByb3BhZ2F0
ZXMgYXMgbGF5b3V0IG92ZXJmbG93LiAgVGhpcyByZWN0YW5nbGUgbXVzdCBpbmNsdWRlIHRyYW5z
Zm9ybXMgYW5kIHJlbGF0aXZlIHBvc2l0aW9uaW5nCisgICAgLy8gYW5kIGJlIGFkanVzdGVkIGZv
ciB3cml0aW5nLW1vZGUgZGlmZmVyZW5jZXMuCisgICAgSW50UmVjdCBjaGlsZExvZ2ljYWxMYXlv
dXRPdmVyZmxvdyA9IGJveC0+bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9u
KHJlbmRlcmVyKCktPnN0eWxlKCkpOworICAgIGNoaWxkTG9naWNhbExheW91dE92ZXJmbG93Lm1v
dmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBpbmxpbmVCb3gtPmxvZ2ljYWxUb3AoKSk7Cisg
ICAgbG9naWNhbExheW91dE92ZXJmbG93LnVuaXRlKGNoaWxkTG9naWNhbExheW91dE92ZXJmbG93
KTsKK30KIAordm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlT3ZlcmZsb3coaW50IGxpbmVUb3As
IGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFj
a0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKK3sKICAgICAvLyBBbnkgc3BpbGxhZ2Ugb3V0c2lk
ZSBvZiB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpcyBub3QgY29uc2lkZXJlZCBvdmVyZmxvdy4g
IFdlIGp1c3QgaWdub3JlIHRoaXMsIHNpbmNlIGl0IG9ubHkgaGFwcGVucwogICAgIC8vIGZyb20g
dGhlICJ5b3VyIGFzY2VudC9kZXNjZW50IGRvbid0IGFmZmVjdCB0aGUgbGluZSIgcXVpcmsuCiAg
ICAgaW50IHRvcE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxUb3AoKSwgbGluZVRvcCk7Ci0gICAgaW50
IGJvdHRvbU92ZXJmbG93ID0gbWluKGxvZ2ljYWxUb3AoKSArIGJveEhlaWdodCwgbGluZUJvdHRv
bSk7Ci0gICAgCi0gICAgaW50IHRvcExheW91dE92ZXJmbG93ID0gdG9wT3ZlcmZsb3c7Ci0gICAg
aW50IGJvdHRvbUxheW91dE92ZXJmbG93ID0gYm90dG9tT3ZlcmZsb3c7CisgICAgaW50IGJvdHRv
bU92ZXJmbG93ID0gbWluKGxvZ2ljYWxCb3R0b20oKSwgbGluZUJvdHRvbSk7CiAgICAgCi0gICAg
aW50IHRvcFZpc3VhbE92ZXJmbG93ID0gdG9wT3ZlcmZsb3c7Ci0gICAgaW50IGJvdHRvbVZpc3Vh
bE92ZXJmbG93ID0gYm90dG9tT3ZlcmZsb3c7CisgICAgLy8gVmlzdWFsIG92ZXJmbG93IGp1c3Qg
aW5jbHVkZXMgb3ZlcmZsb3cgZm9yIHN0dWZmIHdlIG5lZWQgdG8gcmVwYWludCBvdXJzZWx2ZXMu
ICBTZWxmLXBhaW50aW5nIGxheWVycyBhcmUgaWdub3JlZC4KKyAgICAvLyBMYXlvdXQgb3ZlcmZs
b3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgc2Nyb2xsaW5nIGV4dGVudCwgc28gaXQgc3RpbGwgaW5j
bHVkZXMgY2hpbGQgbGF5ZXJzIGFuZCBhbHNvIGZhY3RvcnMgaW4KKyAgICAvLyB0cmFuc2Zvcm1z
LCByZWxhdGl2ZSBwb3NpdGlvbmluZywgZXRjLgorICAgIEludFJlY3QgbG9naWNhbExheW91dE92
ZXJmbG93KGxvZ2ljYWxMZWZ0KCksIHRvcE92ZXJmbG93LCBsb2dpY2FsV2lkdGgoKSwgYm90dG9t
T3ZlcmZsb3cgLSB0b3BPdmVyZmxvdyk7CisgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZs
b3cobG9naWNhbExheW91dE92ZXJmbG93KTsKICAgCiAgICAgLy8gYm94LXNoYWRvdyBvbiByb290
IGxpbmUgYm94ZXMgaXMgYXBwbHlpbmcgdG8gdGhlIGJsb2NrIGFuZCBub3QgdG8gdGhlIGxpbmVz
LgotICAgIGlmIChwYXJlbnQoKSkgewotICAgICAgICBpbnQgYm94U2hhZG93VG9wOwotICAgICAg
ICBpbnQgYm94U2hhZG93Qm90dG9tOwotICAgICAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0
TGluZSktPmdldEJveFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRvd1RvcCwgYm94
U2hhZG93Qm90dG9tKTsKLSAgICAgICAgCi0gICAgICAgIHRvcFZpc3VhbE92ZXJmbG93ID0gbWlu
KGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd1RvcCwgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAgICAg
ICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsVG9wKCkgKyBib3hIZWlnaHQgKyBi
b3hTaGFkb3dCb3R0b20sIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICB9CisgICAgYWRkQm94
U2hhZG93VmlzdWFsT3ZlcmZsb3cobG9naWNhbFZpc3VhbE92ZXJmbG93KTsKIAogICAgIGZvciAo
SW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9u
TGluZSgpKSB7CiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkK
QEAgLTc3OSw2NCArODA0LDcwIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUJsb2NrRGly
ZWN0aW8KICAgICAgICAgICAgIFJlbmRlclRleHQqIHJ0ID0gdG9SZW5kZXJUZXh0KHRleHQtPnJl
bmRlcmVyKCkpOwogICAgICAgICAgICAgaWYgKHJ0LT5pc0JSKCkpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICBhZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3codGV4dCwgdGV4
dEJveERhdGFNYXAsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgICAgIH0gZWxzZSAgaWYg
KGN1cnItPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkpIHsKKyAgICAgICAgICAgIElubGlu
ZUZsb3dCb3gqIGZsb3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CisgICAg
ICAgICAgICBmbG93LT5jb21wdXRlT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgc3RyaWN0
TW9kZSwgdGV4dEJveERhdGFNYXApOworICAgICAgICAgICAgaWYgKCFmbG93LT5ib3hNb2RlbE9i
amVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy51bml0ZShmbG93LT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwor
ICAgICAgICAgICAgSW50UmVjdCBjaGlsZExheW91dE92ZXJmbG93ID0gZmxvdy0+bG9naWNhbExh
eW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgY2hpbGRMYXlvdXRPdmVyZmxvdy5tb3Zl
KGZsb3ctPmJveE1vZGVsT2JqZWN0KCktPnJlbGF0aXZlUG9zaXRpb25Mb2dpY2FsT2Zmc2V0KCkp
OworICAgICAgICAgICAgbG9naWNhbExheW91dE92ZXJmbG93LnVuaXRlKGNoaWxkTGF5b3V0T3Zl
cmZsb3cpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGFkZFJlcGxhY2VkQ2hpbGRPdmVy
ZmxvdyhjdXJyLCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7
CisgICAgfQorICAgIAorICAgIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhsb2dpY2FsTGF5
b3V0T3ZlcmZsb3csIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7Cit9CiAKLSAgICAgICAgICAgIGlu
dCBzdHJva2VPdmVyZmxvdyA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYocnQtPnN0eWxlKCktPnRl
eHRTdHJva2VXaWR0aCgpIC8gMi4wZikpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5k
RmFsbGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRp
Y19jYXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93
KiBnbHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5z
ZWNvbmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgdG9wR2x5cGhFZGdlID0gZ2x5cGhPdmVy
ZmxvdyA/IChpc0ZsaXBwZWRMaW5lID8gZ2x5cGhPdmVyZmxvdy0+Ym90dG9tIDogZ2x5cGhPdmVy
Zmxvdy0+dG9wKSA6IDA7Ci0gICAgICAgICAgICBpbnQgYm90dG9tR2x5cGhFZGdlID0gZ2x5cGhP
dmVyZmxvdyA/IChpc0ZsaXBwZWRMaW5lID8gZ2x5cGhPdmVyZmxvdy0+dG9wIDogZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tKSA6IDA7Ci0KLSAgICAgICAgICAgIGludCB0b3BHbHlwaE92ZXJmbG93ID0g
LXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOwotICAgICAgICAgICAgaW50IGJvdHRvbUds
eXBoT3ZlcmZsb3cgPSBzdHJva2VPdmVyZmxvdyArIGJvdHRvbUdseXBoRWRnZTsKKy8vIEZJWE1F
OiBZb3Ugd2lsbCBub3RpY2UgdGhlcmUgaXMgbm8gY29udGFpbnMoKSBjaGVjayBoZXJlLiAgSWYg
dGhlIHJlY3QgaXMgc21hbGxlciB0aGFuIHRoZSBmcmFtZSBib3ggaXQgYWN0dWFsbHkKKy8vIGJl
Y29tZXMgdGhlIG5ldyBvdmVyZmxvdy4gIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBpbiBx
dWlya3MgbW9kZSB3ZSBkb24ndCBsZXQgaW5saW5lIGZsb3cgYm94ZXMgcGFpbnQKKy8vIG91dHNp
ZGUgb2YgdGhlIHJvb3QgbGluZSBib3gncyBsaW5lVG9wIGFuZCBsaW5lQm90dG9tIHZhbHVlcy4g
IFdlIGFjY29tcGxpc2ggdGhpcyB2aXN1YWwgY2xhbXBpbmcgYnkgYWN0dWFsbHkKKy8vIGluc2V0
dGluZyB0aGUgb3ZlcmZsb3cgcmVjdCBzbyB0aGF0IGl0J3Mgc21hbGxlciB0aGFuIHRoZSBmcmFt
ZSByZWN0LgorLy8KKy8vIFRoZSByZWFzb24gd2UgZG9uJ3QganVzdCBtdXRhdGUgdGhlIGZyYW1l
UmVjdCBpbiBxdWlya3MgbW9kZSBpcyB0aGF0IHdlJ2QgaGF2ZSB0byBwdXQgdGhlIG1faGVpZ2h0
IG1lbWJlciB2YXJpYWJsZQorLy8gYmFjayBpbnRvIElubGluZUJveC4gIEJhc2ljYWxseSB0aGUg
dHJhZGVvZmYgaXMgNCBieXRlcyBpbiBhbGwgbW9kZXMgKGZvciBtX2hlaWdodCkgYWRkZWQgdG8g
SW5saW5lRmxvd0JveCwgb3IKKy8vIHRoZSBhbGxvY2F0aW9uIG9mIGEgUmVuZGVyT3ZlcmZsb3cg
c3RydWN0IGZvciBJbmxpbmVGbG93Qm94ZXMgaW4gcXVpcmtzIG1vZGUgb25seS4gIEZvciBub3cs
IHdlJ3JlIG9wdGluZyB0byBhd2FyZAorLy8gdGhlIHNtYWxsZXIgbWVtb3J5IGNvbnN1bXB0aW9u
IHRvIHN0cmljdCBtb2RlIHBhZ2VzLgorLy8KKy8vIEl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRvIGhh
c2ggYSBjdXN0b20gaGVpZ2h0LCBvciB0byByZXF1aXJlIHRoYXQgbGluZVRvcCBhbmQgbGluZUJv
dHRvbSBiZSBwYXNzZWQgaW4gdG8KKy8vIGFsbCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxv
dy4gICAKK3ZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgaWYg
KGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAg
ICAgICAgCisgICAgaWYgKCFtX292ZXJmbG93KQorICAgICAgICBtX292ZXJmbG93LnNldChuZXcg
UmVuZGVyT3ZlcmZsb3coZnJhbWVCb3gsIGZyYW1lQm94KSk7CisgICAgCisgICAgbV9vdmVyZmxv
dy0+c2V0TGF5b3V0T3ZlcmZsb3cocmVjdCk7Cit9CiAKLSAgICAgICAgICAgIGludCB0ZXh0U2hh
ZG93VG9wOwotICAgICAgICAgICAgaW50IHRleHRTaGFkb3dCb3R0b207Ci0gICAgICAgICAgICBj
dXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldFRleHRTaGFkb3dCbG9ja0Rp
cmVjdGlvbkV4dGVudCh0ZXh0U2hhZG93VG9wLCB0ZXh0U2hhZG93Qm90dG9tKTsKK3ZvaWQgSW5s
aW5lRmxvd0JveDo6c2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAg
ICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgaWYgKGZyYW1lQm94ID09IHJl
Y3QgfHwgcmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgICAg
ICAgICBpbnQgY2hpbGRPdmVyZmxvd1RvcCA9IG1pbih0ZXh0U2hhZG93VG9wICsgdG9wR2x5cGhP
dmVyZmxvdywgdG9wR2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxv
d0JvdHRvbSA9IG1heCh0ZXh0U2hhZG93Qm90dG9tICsgYm90dG9tR2x5cGhPdmVyZmxvdywgYm90
dG9tR2x5cGhPdmVyZmxvdyk7CisgICAgaWYgKCFtX292ZXJmbG93KQorICAgICAgICBtX292ZXJm
bG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coZnJhbWVCb3gsIGZyYW1lQm94KSk7CiAgICAgCi0g
ICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihjdXJyLT5sb2dpY2FsVG9wKCkgKyBj
aGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICBib3R0b21W
aXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT5sb2dpY2FsVG9wKCkgKyB0ZXh0LT5sb2dpY2FsSGVp
Z2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9tLCBib3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAg
ICAgIH0gZWxzZSAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkpIHsKLSAg
ICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94
Kj4oY3Vycik7Ci0gICAgICAgICAgICBmbG93LT5jb21wdXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxv
dyhsaW5lVG9wLCBsaW5lQm90dG9tLCBzdHJpY3RNb2RlLCB0ZXh0Qm94RGF0YU1hcCk7Ci0gICAg
ICAgICAgICB0b3BMYXlvdXRPdmVyZmxvdyA9IG1pbih0b3BMYXlvdXRPdmVyZmxvdywgZmxvdy0+
bG9naWNhbFRvcExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgYm90dG9tTGF5b3V0T3Zl
cmZsb3cgPSBtYXgoYm90dG9tTGF5b3V0T3ZlcmZsb3csIGZsb3ctPmxvZ2ljYWxCb3R0b21MYXlv
dXRPdmVyZmxvdygpKTsKLSAgICAgICAgICAgIHRvcFZpc3VhbE92ZXJmbG93ID0gbWluKHRvcFZp
c3VhbE92ZXJmbG93LCBmbG93LT5sb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSk7Ci0gICAgICAg
ICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChib3R0b21WaXN1YWxPdmVyZmxvdywgZmxv
dy0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFj
dXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKXsKLSAgICAgICAg
ICAgIC8vIE9ubHkgaW5jbHVkZSBvdmVyZmxvdyBmcm9tIHJlcGxhY2VkIGlubGluZXMgaWYgdGhl
eSBkbyBub3QgcGFpbnQgdGhlbXNlbHZlcy4KLSAgICAgICAgICAgIGludCBib3hMb2dpY2FsVG9w
ID0gY3Vyci0+bG9naWNhbFRvcCgpOwotICAgICAgICAgICAgaW50IGNoaWxkVG9wTGF5b3V0T3Zl
cmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21MYXlvdXRPdmVyZmxvdzsKLSAgICAg
ICAgICAgIGludCBjaGlsZFRvcFZpc3VhbE92ZXJmbG93OwotICAgICAgICAgICAgaW50IGNoaWxk
Qm90dG9tVmlzdWFsT3ZlcmZsb3c7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFJlbmRlckJv
eCogYm94ID0gdG9SZW5kZXJCb3goY3Vyci0+cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICBib3gt
PmJsb2NrRGlyZWN0aW9uT3ZlcmZsb3coaXNIb3Jpem9udGFsKCksIGNoaWxkVG9wTGF5b3V0T3Zl
cmZsb3csIGNoaWxkQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2hpbGRUb3BWaXN1YWxPdmVyZmxvdywgY2hpbGRCb3R0b21WaXN1
YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChib3gtPmhhc092ZXJm
bG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICAgICAgY2hpbGRUb3BMYXlvdXRPdmVyZmxvdyA9IDA7
Ci0gICAgICAgICAgICAgICAgY2hpbGRCb3R0b21MYXlvdXRPdmVyZmxvdyA9IGN1cnItPmxvZ2lj
YWxIZWlnaHQoKTsKLSAgICAgICAgICAgIH0KKyAgICBtX292ZXJmbG93LT5zZXRWaXN1YWxPdmVy
ZmxvdyhyZWN0KTsKK30KIAotICAgICAgICAgICAgdG9wTGF5b3V0T3ZlcmZsb3cgPSBtaW4oYm94
TG9naWNhbFRvcCArIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3csIHRvcExheW91dE92ZXJmbG93KTsK
LSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0gbWF4KGJveExvZ2ljYWxUb3AgKyBj
aGlsZEJvdHRvbUxheW91dE92ZXJmbG93LCBib3R0b21MYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAg
ICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihib3hMb2dpY2FsVG9wICsgY2hpbGRUb3BWaXN1
YWxPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFs
T3ZlcmZsb3cgPSBtYXgoYm94TG9naWNhbFRvcCArIGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3cs
IGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgfQotICAgIH0KK3ZvaWQgSW5saW5lRmxv
d0JveDo6c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNvbnN0IEludFJlY3QmIGxvZ2ljYWxM
YXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQorewor
ICAgIEludFJlY3QgbGF5b3V0T3ZlcmZsb3coaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsTGF5b3V0
T3ZlcmZsb3cgOiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3cudHJhbnNwb3NlZFJlY3QoKSk7CisgICAg
c2V0TGF5b3V0T3ZlcmZsb3cobGF5b3V0T3ZlcmZsb3cpOwogICAgIAotICAgIHNldEJsb2NrRGly
ZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnModG9wTGF5b3V0T3ZlcmZsb3csIGJvdHRvbUxheW91dE92
ZXJmbG93LCB0b3BWaXN1YWxPdmVyZmxvdywgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgIElu
dFJlY3QgdmlzdWFsT3ZlcmZsb3coaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsVmlzdWFsT3ZlcmZs
b3cgOiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudHJhbnNwb3NlZFJlY3QoKSk7CisgICAgc2V0Vmlz
dWFsT3ZlcmZsb3codmlzdWFsT3ZlcmZsb3cpOwogfQogCiBib29sIElubGluZUZsb3dCb3g6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiBy
ZXN1bHQsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQgdHkpCiB7Ci0gICAgSW50UmVjdCBvdmVy
Zmxvd1JlY3QodmlzaWJsZU92ZXJmbG93UmVjdCgpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVj
dCh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93
UmVjdCk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUodHgsIHR5KTsKICAgICBpZiAoIW92ZXJmbG93
UmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKQpAQCAtODY1LDcgKzg5
Niw3IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKIAogdm9pZCBJ
bmxpbmVGbG93Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkp
CiB7Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJsZU92ZXJmbG93UmVjdCgpKTsKKyAg
ICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAgICAgb3ZlcmZs
b3dSZWN0LmluZmxhdGUocmVuZGVyZXIoKS0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5w
aGFzZSkpOwogICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOwogICAgIG92ZXJm
bG93UmVjdC5tb3ZlKHR4LCB0eSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29y
a2luZyBjb3B5KQpAQCAtMTYzLDEwICsxNjMsMTEgQEAgcHVibGljOgogICAgIHZvaWQgcGxhY2VC
b3hlc0luQmxvY2tEaXJlY3Rpb24oaW50IGxvZ2ljYWxUb3AsIGludCBtYXhIZWlnaHQsIGludCBt
YXhBc2NlbnQsIGJvb2wgc3RyaWN0TW9kZSwgaW50JiBsaW5lVG9wLCBpbnQmIGxpbmVCb3R0b20s
IGJvb2wmIHNldExpbmVUb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQmIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBpbnQmIGxpbmVCb3R0b21JbmNsdWRpbmdNYXJn
aW5zLCBib29sJiBjb250YWluc1J1YnksIEZvbnRCYXNlbGluZSk7CiAgICAgdm9pZCBmbGlwTGlu
ZXNJbkJsb2NrRGlyZWN0aW9uKGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSk7Ci0gICAgdm9p
ZCBjb21wdXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0
b20sIGJvb2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsK
ICAgICBib29sIHJlcXVpcmVzSWRlb2dyYXBoaWNCYXNlbGluZShjb25zdCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpIGNvbnN0OwogICAgIGludCBjb21wdXRlQmxvY2tEaXJlY3Rp
b25SdWJ5QWRqdXN0bWVudChpbnQgYWxsb3dlZFBvc2l0aW9uKSBjb25zdDsKICAgICAKKyAgICB2
b2lkIGNvbXB1dGVPdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJvb2wgc3Ry
aWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKKyAgICAKICAgICB2
b2lkIHJlbW92ZUNoaWxkKElubGluZUJveCogY2hpbGQpOwogCiAgICAgdmlydHVhbCBSZW5kZXJP
YmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCk7CkBAIC0xODMsMTcgKzE4NCw2
IEBAIHB1YmxpYzoKICAgICAvLyB0b3AvcmlnaHQvYm90dG9tL2xlZnQgaW4gdGhlIGNvZGUgLSB0
aGVzZSBhcmVuJ3QgcHVyZWx5IHBoeXNpY2FsIGRpcmVjdGlvbnMuICBGb3IgaG9yaXpvbnRhbC10
YiBhbmQgdmVydGljYWwtbHIgdGhleSB3aWxsIG1hdGNoIHBoeXNpY2FsCiAgICAgLy8gZGlyZWN0
aW9ucywgYnV0IGZvciBob3Jpem9udGFsLWJ0IGFuZCB2ZXJ0aWNhbC1ybCwgdGhlIHRvcC9ib3R0
b20gYW5kIGxlZnQvcmlnaHQgcmVzcGVjdGl2ZWx5IGFyZSBpbnZlcnRlZCB3aGVuIGNvbXBhcmVk
IHRvCiAgICAgLy8gdGhlaXIgcGh5c2ljYWwgY291bnRlcnBhcnRzLgotICAgIGludCB0b3BWaXNp
YmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbih0b3BMYXlvdXRPdmVyZmxvdygp
LCB0b3BWaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBib3R0b21WaXNpYmxlT3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBzdGQ6Om1heChib3R0b21MYXlvdXRPdmVyZmxvdygpLCBib3R0b21W
aXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBsZWZ0VmlzaWJsZU92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gc3RkOjptaW4obGVmdExheW91dE92ZXJmbG93KCksIGxlZnRWaXN1YWxPdmVyZmxv
dygpKTsgfQotICAgIGludCByaWdodFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0
ZDo6bWF4KHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRWaXN1YWxPdmVyZmxvdygpKTsgfQot
ICAgIGludCBsb2dpY2FsTGVmdFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dygpKTsgfQotICAgIGludCBsb2dpY2FsUmlnaHRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBzdGQ6Om1heChsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpLCBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBsb2dpY2FsVG9wVmlzaWJsZU92ZXJmbG93KCkg
Y29uc3QgeyByZXR1cm4gc3RkOjptaW4obG9naWNhbFRvcExheW91dE92ZXJmbG93KCksIGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBsb2dpY2FsQm90dG9tVmlzaWJsZU92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgobG9naWNhbEJvdHRvbUxheW91dE92ZXJm
bG93KCksIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdygpKTsgfQotCi0gICAgSW50UmVjdCB2
aXNpYmxlT3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZs
b3ctPnZpc2libGVPdmVyZmxvd1JlY3QoKSA6IEludFJlY3QobV94LCBtX3ksIHdpZHRoKCksIGhl
aWdodCgpKTsgIH0KLQogICAgIGludCB0b3BMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogbV95OyB9CiAg
ICAgaW50IGJvdHRvbUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPmJvdHRvbUxheW91dE92ZXJmbG93KCkgOiBtX3kgKyBoZWlnaHQoKTsgfQog
ICAgIGludCBsZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8g
bV9vdmVyZmxvdy0+bGVmdExheW91dE92ZXJmbG93KCkgOiBtX3g7IH0KQEAgLTIwMyw2ICsxOTMs
MTMgQEAgcHVibGljOgogICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0
IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyByaWdodExheW91dE92ZXJmbG93KCkgOiBib3R0b21MYXlvdXRPdmVyZmxvdygpOyB9CiAgICAg
aW50IGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB0b3BWaXN1YWxPdmVyZmxvdygp
IDogbGVmdFZpc3VhbE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbEJvdHRvbUxheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IGJvdHRvbUxheW91dE92ZXJmbG93KCkgOiByaWdodExheW91dE92ZXJm
bG93KCk7IH0KKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgSW50UmVjdCByZXN1bHQgPSBsYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQorICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfQogCiAgICAgaW50IHRvcFZpc3VhbE92ZXJmbG93KCkgY29u
c3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnRvcFZpc3VhbE92ZXJmbG93KCkg
OiBtX3k7IH0KICAgICBpbnQgYm90dG9tVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBt
X292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSA6IG1feSArIGhl
aWdodCgpOyB9CkBAIC0yMTMsMTEgKzIxMCwyMiBAQCBwdWJsaWM6CiAgICAgaW50IGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6IGJvdHRv
bVZpc3VhbE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkg
Y29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IHRvcFZpc3VhbE92ZXJmbG93KCkgOiBsZWZ0VmlzdWFsT3ZlcmZsb3coKTsgfQogICAg
IGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm90dG9tVmlzdWFsT3Zl
cmZsb3coKSA6IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsgfQorICAgIEludFJlY3QgbG9naWNhbFZp
c3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0CisgICAgeworICAgICAgICBJbnRSZWN0IHJlc3VsdCA9
IHZpc3VhbE92ZXJmbG93UmVjdCgpOworICAgICAgICBpZiAoIXJlbmRlcmVyKCktPnN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQu
dHJhbnNwb3NlZFJlY3QoKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CiAKLSAgICB2
b2lkIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGludCBsb2dpY2FsTGVmdExh
eW91dE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdywgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICB2b2lkIHNldEJs
b2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxv
dywgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50
IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7CisgICAgdm9pZCBzZXRPdmVyZmxvd0Zyb21M
b2dpY2FsUmVjdHMoY29uc3QgSW50UmVjdCYgbG9naWNhbExheW91dE92ZXJmbG93LCBjb25zdCBJ
bnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgc2V0TGF5b3V0T3ZlcmZs
b3coY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgc2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYpOworCitwcml2YXRlOgorICAgIHZvaWQgYWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3co
SW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KTsKKyAgICB2b2lkIGFkZFRleHRCb3hWaXN1
YWxPdmVyZmxvdyhjb25zdCBJbmxpbmVUZXh0Qm94KiwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNr
Rm9udHNNYXAmLCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIHZvaWQgYWRk
UmVwbGFjZWRDaGlsZE92ZXJmbG93KGNvbnN0IElubGluZUJveCosIEludFJlY3QmIGxvZ2ljYWxM
YXlvdXRPdmVyZmxvdywgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KTsKIAogcHJvdGVj
dGVkOgogICAgIE93blB0cjxSZW5kZXJPdmVyZmxvdz4gbV9vdmVyZmxvdzsKQEAgLTIzOSw1MiAr
MjQ3LDYgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiB9OwogCi1pbmxpbmUgdm9pZCBJbmxpbmVGbG93
Qm94OjpzZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNhbExlZnRM
YXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCAKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZs
b3cpIAoteyAKLSAgICBpZiAoIW1fb3ZlcmZsb3cpIHsKLSAgICAgICAgaWYgKGxvZ2ljYWxMZWZ0
TGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbExlZnQoKSAmJiBsb2dpY2FsUmlnaHRMYXlvdXRPdmVy
ZmxvdyA9PSBsb2dpY2FsUmlnaHQoKSAKLSAgICAgICAgICAgICYmIGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3cgPT0gbG9naWNhbExlZnQoKSAmJiBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9
PSBsb2dpY2FsUmlnaHQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9vdmVyZmxv
dyA9IGFkb3B0UHRyKG5ldyBSZW5kZXJPdmVyZmxvdyhJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgp
LCBoZWlnaHQoKSkpKTsgICAKLSAgICB9Ci0KLSAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKLSAg
ICAgICAgbV9vdmVyZmxvdy0+c2V0TGVmdExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0TGF5b3V0
T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodExheW91dE92ZXJmbG93KGxv
Z2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0TGVmdFZp
c3VhbE92ZXJmbG93KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOyAKLSAgICAgICAgbV9vdmVy
Zmxvdy0+c2V0UmlnaHRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0VG9wTGF5b3V0T3ZlcmZsb3co
bG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRv
bUxheW91dE92ZXJmbG93KGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9v
dmVyZmxvdy0+c2V0VG9wVmlzdWFsT3ZlcmZsb3cobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7
IAotICAgICAgICBtX292ZXJmbG93LT5zZXRCb3R0b21WaXN1YWxPdmVyZmxvdyhsb2dpY2FsUmln
aHRWaXN1YWxPdmVyZmxvdyk7ICAKLSAgICB9Ci19Ci0KLWlubGluZSB2b2lkIElubGluZUZsb3dC
b3g6OnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxUb3BMYXlv
dXRPdmVyZmxvdywgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxv
Z2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdykK
LXsKLSAgICBpZiAoIW1fb3ZlcmZsb3cpIHsKLSAgICAgICAgaWYgKGxvZ2ljYWxUb3BMYXlvdXRP
dmVyZmxvdyA9PSBsb2dpY2FsVG9wKCkgJiYgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID09
IGxvZ2ljYWxCb3R0b20oKQotICAgICAgICAgICAgJiYgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
ID09IGxvZ2ljYWxUb3AoKSAmJiBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPT0gbG9naWNh
bEJvdHRvbSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX292ZXJmbG93ID0gYWRv
cHRQdHIobmV3IFJlbmRlck92ZXJmbG93KEludFJlY3QobV94LCBtX3ksIHdpZHRoKCksIGhlaWdo
dCgpKSkpOwotICAgIH0KLQotICAgIGlmIChpc0hvcml6b250YWwoKSkgewotICAgICAgICBtX292
ZXJmbG93LT5zZXRUb3BMYXlvdXRPdmVyZmxvdyhsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cpOwot
ICAgICAgICBtX292ZXJmbG93LT5zZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhsb2dpY2FsQm90dG9t
TGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5zZXRUb3BWaXN1YWxPdmVyZmxv
dyhsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOyAKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90
dG9tVmlzdWFsT3ZlcmZsb3cobG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KTsKLSAgICB9IGVs
c2UgewotICAgICAgICBtX292ZXJmbG93LT5zZXRMZWZ0TGF5b3V0T3ZlcmZsb3cobG9naWNhbFRv
cExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0UmlnaHRMYXlvdXRPdmVy
Zmxvdyhsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICBtX292ZXJmbG93LT5z
ZXRMZWZ0VmlzdWFsT3ZlcmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsgCi0gICAgICAg
IG1fb3ZlcmZsb3ctPnNldFJpZ2h0VmlzdWFsT3ZlcmZsb3cobG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KTsKLSAgICB9Ci19Ci0KICNpZmRlZiBOREVCVUcKIGlubGluZSB2b2lkIElubGluZUZs
b3dCb3g6OmNoZWNrQ29uc2lzdGVuY3koKSBjb25zdAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMTcsNiArMTIxNyw3IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXkKICAKICAgICAvLyBDYWxjdWxhdGUgb3VyIG5l
dyBoZWlnaHQuCiAgICAgaW50IG9sZEhlaWdodCA9IGxvZ2ljYWxIZWlnaHQoKTsKKyAgICBpbnQg
b2xkQ2xpZW50QWZ0ZXJFZGdlID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwogICAgIGNvbXB1dGVM
b2dpY2FsSGVpZ2h0KCk7CiAgICAgaW50IG5ld0hlaWdodCA9IGxvZ2ljYWxIZWlnaHQoKTsKICAg
ICBpZiAob2xkSGVpZ2h0ICE9IG5ld0hlaWdodCkgewpAQCAtMTIzNSwyNSArMTIzNiwxMCBAQCB2
b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAgaWYgKHByZXZpb3Vz
SGVpZ2h0ICE9IG5ld0hlaWdodCkKICAgICAgICAgcmVsYXlvdXRDaGlsZHJlbiA9IHRydWU7CiAK
LSAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5sZXNzIHdlJ3JlIG11bHRpLWNv
bHVtbiwgc2luY2UgaW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQgb3ZlcmZsb3cgaXMgY2xpcHBl
ZCBhbnl3YXkpLgotICAgIGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIFRoaXMgY2hl
Y2sgaXMgZGVzaWduZWQgdG8gY2F0Y2ggYW55b25lCi0gICAgICAgIC8vIHdobyB3YXNuJ3QgZ29p
bmcgdG8gcHJvcGFnYXRlIGZsb2F0IGluZm9ybWF0aW9uIHVwIHRvIHRoZSBwYXJlbnQgYW5kIHll
dCBjb3VsZCBwb3RlbnRpYWxseSBiZSBwYWludGVkIGJ5IGl0cyBhbmNlc3Rvci4KLSAgICAgICAg
aWYgKGlzUm9vdCgpIHx8IGV4cGFuZHNUb0VuY2xvc2VPdmVyaGFuZ2luZ0Zsb2F0cygpKQotICAg
ICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCk7Ci0KLSAgICAgICAgaWYgKGNoaWxkcmVu
SW5saW5lKCkpCi0gICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7
Ci0gICAgfQotCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFkb3cgYW5k
IHJlZmxlY3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93KCk7Ci0KICAgICBsYXlvdXRQb3Np
dGlvbmVkT2JqZWN0cyhyZWxheW91dENoaWxkcmVuIHx8IGlzUm9vdCgpKTsKIAotICAgIHBvc2l0
aW9uTGlzdE1hcmtlcigpOworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIGNoaWxkcmVuICh1bmxl
c3Mgd2UncmUgbXVsdGktY29sdW1uLCBzaW5jZSBpbiB0aGF0IGNhc2UgYWxsIG91ciBjaGlsZCBv
dmVyZmxvdyBpcyBjbGlwcGVkIGFueXdheSkuCisgICAgY29tcHV0ZU92ZXJmbG93KG9sZENsaWVu
dEFmdGVyRWRnZSk7CiAgICAgCiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAKQEAgLTEyNjksOCAr
MTI1NSwxNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAg
Ly8gUmVwYWludCB3aXRoIG91ciBuZXcgYm91bmRzIGlmIHRoZXkgYXJlIGRpZmZlcmVudCBmcm9t
IG91ciBvbGQgYm91bmRzLgogICAgIGJvb2wgZGlkRnVsbFJlcGFpbnQgPSByZXBhaW50ZXIucmVw
YWludEFmdGVyTGF5b3V0KCk7CiAgICAgaWYgKCFkaWRGdWxsUmVwYWludCAmJiByZXBhaW50TG9n
aWNhbFRvcCAhPSByZXBhaW50TG9naWNhbEJvdHRvbSAmJiAoc3R5bGUoKS0+dmlzaWJpbGl0eSgp
ID09IFZJU0lCTEUgfHwgZW5jbG9zaW5nTGF5ZXIoKS0+aGFzVmlzaWJsZUNvbnRlbnQoKSkpIHsK
LSAgICAgICAgaW50IHJlcGFpbnRMb2dpY2FsTGVmdCA9IG1pbihsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KCksIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgIGludCByZXBh
aW50TG9naWNhbFJpZ2h0ID0gbWF4KGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCksIGxvZ2lj
YWxSaWdodExheW91dE92ZXJmbG93KCkpOworICAgICAgICAvLyBGSVhNRTogV2UgY291bGQgdGln
aHRlbiB1cCB0aGUgbGVmdCBhbmQgcmlnaHQgaW52YWxpZGF0aW9uIHBvaW50cyBpZiB3ZSBsZXQg
bGF5b3V0SW5saW5lQ2hpbGRyZW4gZmlsbCB0aGVtIGluIGJhc2VkIG9mZiB0aGUgcGFydGljdWxh
ciBsaW5lcworICAgICAgICAvLyBpdCBoYWQgdG8gbGF5IG91dC4gIFdlIHdvdWxkbid0IG5lZWQg
dGhlIGhhc092ZXJmbG93Q2xpcCgpIGhhY2sgaW4gdGhhdCBjYXNlIGVpdGhlci4KKyAgICAgICAg
aW50IHJlcGFpbnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAg
ICAgICAgaW50IHJlcGFpbnRMb2dpY2FsUmlnaHQgPSBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxv
dygpOworICAgICAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpIHsKKyAgICAgICAgICAgIC8vIElm
IHdlIGhhdmUgY2xpcHBlZCBvdmVyZmxvdywgd2Ugc2hvdWxkIHVzZSBsYXlvdXQgb3ZlcmZsb3cg
YXMgd2VsbCwgc2luY2UgdmlzdWFsIG92ZXJmbG93IGZyb20gbGluZXMgZGlkbid0IHByb3BhZ2F0
ZSB0byBvdXIgYmxvY2sncyBvdmVyZmxvdy4KKyAgICAgICAgICAgIC8vIE5vdGUgdGhlIG9sZCBj
b2RlIGRpZCB0aGlzIGFzIHdlbGwgYnV0IGV2ZW4gZm9yIG92ZXJmbG93OnZpc2libGUuICBUaGUg
YWRkaXRpb24gb2YgaGFzT3ZlcmZsb3dDbGlwKCkgYXQgbGVhc3QgdGlnaHRlbnMgdXAgdGhlIGhh
Y2sgYSBiaXQuCisgICAgICAgICAgICAvLyBsYXlvdXRJbmxpbmVDaGlsZHJlbiBzaG91bGQgYmUg
cGF0Y2hlZCB0byBjb21wdXRlIHRoZSBlbnRpcmUgcmVwYWludCByZWN0LgorICAgICAgICAgICAg
cmVwYWludExvZ2ljYWxMZWZ0ID0gbWluKHJlcGFpbnRMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRM
YXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsUmlnaHQgPSBtYXgo
cmVwYWludExvZ2ljYWxSaWdodCwgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEludFJlY3QgcmVwYWludFJlY3Q7CiAgICAgICAgIGlm
IChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQpAQCAtMTMwMSw2ICsxMjk2LDUz
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXkKICAgICBzZXROZWVk
c0xheW91dChmYWxzZSk7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNo
aWxkcmVuKCkKK3sKKyAgICBpZiAoIWhhc0NvbHVtbnMoKSkgeworICAgICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4o
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5m
bygpOworICAgICAgICBpZiAoY29sdW1uQ291bnQoY29sSW5mbykpIHsKKyAgICAgICAgICAgIElu
dFJlY3QgbGFzdFJlY3QgPSBjb2x1bW5SZWN0QXQoY29sSW5mbywgY29sdW1uQ291bnQoY29sSW5m
bykgLSAxKTsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd0xlZnQgPSAhc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpID8gbWluKDAsIGxhc3RSZWN0LngoKSkgOiAwOworICAgICAgICAg
ICAgaW50IG92ZXJmbG93UmlnaHQgPSBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkg
PyBtYXgod2lkdGgoKSwgbGFzdFJlY3QueCgpICsgbGFzdFJlY3Qud2lkdGgoKSkgOiAwOworICAg
ICAgICAgICAgaW50IG92ZXJmbG93SGVpZ2h0ID0gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkg
KyBjb2xJbmZvLT5jb2x1bW5IZWlnaHQoKTsKKyAgICAgICAgICAgIGFkZExheW91dE92ZXJmbG93
KEludFJlY3Qob3ZlcmZsb3dMZWZ0LCAwLCBvdmVyZmxvd1JpZ2h0IC0gb3ZlcmZsb3dMZWZ0LCBv
dmVyZmxvd0hlaWdodCkpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlT3ZlcmZsb3coaW50IG9sZENsaWVudEFmdGVyRWRnZSwgYm9vbCByZWNvbXB1dGVG
bG9hdHMpCit7CisgICAgLy8gQWRkIG92ZXJmbG93IGZyb20gY2hpbGRyZW4uCisgICAgYWRkT3Zl
cmZsb3dGcm9tQ2hpbGRyZW4oKTsKKworICAgIGlmICghaGFzQ29sdW1ucygpICYmIChyZWNvbXB1
dGVGbG9hdHMgfHwgaXNSb290KCkgfHwgZXhwYW5kc1RvRW5jbG9zZU92ZXJoYW5naW5nRmxvYXRz
KCkgfHwgaGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkpCisgICAgICAgIGFkZE92ZXJmbG93RnJvbUZs
b2F0cygpOworCisgICAgLy8gQWRkIGluIHRoZSBvdmVyZmxvdyBmcm9tIHBvc2l0aW9uZWQgb2Jq
ZWN0cy4KKyAgICBhZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpOworCisgICAgaWYg
KGhhc092ZXJmbG93Q2xpcCgpKSB7CisgICAgICAgIC8vIFdoZW4gd2UgaGF2ZSBvdmVyZmxvdyBj
bGlwLCBwcm9wYWdhdGUgdGhlIG9yaWdpbmFsIHNwaWxsb3V0IHNpbmNlIGl0IHdpbGwgaW5jbHVk
ZSBjb2xsYXBzZWQgYm90dG9tIG1hcmdpbnMKKyAgICAgICAgLy8gYW5kIGJvdHRvbSBwYWRkaW5n
LiAgU2V0IHRoZSBheGlzIHdlIGRvbid0IGNhcmUgYWJvdXQgdG8gYmUgMSwgc2luY2Ugd2Ugd2Fu
dCB0aGlzIG92ZXJmbG93IHRvIGFsd2F5cworICAgICAgICAvLyBiZSBjb25zaWRlcmVkIHJlYWNo
YWJsZS4KKyAgICAgICAgSW50UmVjdCBjbGllbnRSZWN0KGNsaWVudEJveFJlY3QoKSk7CisgICAg
ICAgIEludFJlY3QgcmVjdFRvQXBwbHk7CisgICAgICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKQorICAgICAgICAgICAgcmVjdFRvQXBwbHkgPSBJbnRSZWN0KGNsaWVu
dFJlY3QueCgpLCBjbGllbnRSZWN0LnkoKSwgMSwgbWF4KDAsIG9sZENsaWVudEFmdGVyRWRnZSAt
IGNsaWVudFJlY3QueSgpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlY3RUb0FwcGx5
ID0gSW50UmVjdChjbGllbnRSZWN0LngoKSwgY2xpZW50UmVjdC55KCksIG1heCgwLCBvbGRDbGll
bnRBZnRlckVkZ2UgLSBjbGllbnRSZWN0LngoKSksIDEpOworICAgICAgICBhZGRMYXlvdXRPdmVy
ZmxvdyhyZWN0VG9BcHBseSk7CisgICAgfQorICAgICAgICAKKyAgICAvLyBBZGQgdmlzdWFsIG92
ZXJmbG93IGZyb20gYm94LXNoYWRvdyBhbmQgcmVmbGVjdGlvbnMuCisgICAgYWRkU2hhZG93T3Zl
cmZsb3coKTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGls
ZHJlbigpCiB7CiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBj
aGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewpAQCAtMTMxNywxMiArMTM1
OSwyOCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21GbG9hdHMoCiAgICAgRmxv
YXRpbmdPYmplY3QqIHI7CiAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxGbG9hdGluZ09i
amVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKICAgICBmb3IgKDsgKHIgPSBpdC5jdXJyZW50
KCkpOyArK2l0KSB7Ci0gICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50ICYmICFyLT5tX3JlbmRl
cmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICBpZiAoci0+bV9pc0Rlc2NlbmRh
bnQpCiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChyLT5tX3JlbmRlcmVyLCBJbnRT
aXplKHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSwgci0+dG9wKCkgKyBy
LT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSkpOwogICAgIH0KICAgICByZXR1cm47CiB9CiAKK3Zv
aWQgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCkKK3sKKyAg
ICBpZiAoIW1fcG9zaXRpb25lZE9iamVjdHMpCisgICAgICAgIHJldHVybjsKKworICAgIFJlbmRl
ckJveCogcG9zaXRpb25lZE9iamVjdDsKKyAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRP
YmplY3RzLT5lbmQoKTsKKyAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3NpdGlvbmVkT2JqZWN0
cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIHBvc2l0aW9uZWRPYmplY3Qg
PSAqaXQ7CisgICAgICAgIAorICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGRv
bid0IGNvbnRyaWJ1dGUgdG8gbGF5b3V0IG92ZXJmbG93LCBzaW5jZSB0aGV5IGRvbid0IHNjcm9s
bCB3aXRoIHRoZSBjb250ZW50LgorICAgICAgICBpZiAocG9zaXRpb25lZE9iamVjdC0+c3R5bGUo
KS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKQorICAgICAgICAgICAgYWRkT3ZlcmZsb3dG
cm9tQ2hpbGQocG9zaXRpb25lZE9iamVjdCk7CisgICAgfQorfQorCiBib29sIFJlbmRlckJsb2Nr
OjpleHBhbmRzVG9FbmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSBjb25zdAogewogICAgIHJldHVy
biBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRpbmdPclBvc2l0aW9uZWQo
KSB8fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCAocGFyZW50KCkgJiYgcGFyZW50KCktPmlzRmxleGli
bGVCb3goKSkKQEAgLTIwMDUsNiArMjA2MywxNCBAQCBib29sIFJlbmRlckJsb2NrOjpsYXlvdXRP
bmx5UG9zaXRpb25lZE9iCiAgICAgLy8gQWxsIHdlIGhhdmUgdG8gaXMgbGF5IG91dCBvdXIgcG9z
aXRpb25lZCBvYmplY3RzLgogICAgIGxheW91dFBvc2l0aW9uZWRPYmplY3RzKGZhbHNlKTsKIAor
ICAgIC8vIFJlY29tcHV0ZSBvdXIgb3ZlcmZsb3cgaW5mb3JtYXRpb24uCisgICAgLy8gRklYTUU6
IFdlIGNvdWxkIGRvIGJldHRlciBoZXJlIGJ5IGNvbXB1dGluZyBhIHRlbXBvcmFyeSBvdmVyZmxv
dyBvYmplY3QgZnJvbSBsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyBhbmQgb25seQorICAgIC8vIHVw
ZGF0aW5nIG91ciBvdmVyZmxvdyBpZiB3ZSBlaXRoZXIgdXNlZCB0byBoYXZlIG92ZXJmbG93IG9y
IGlmIHRoZSBuZXcgdGVtcG9yYXJ5IG9iamVjdCBoYXMgb3ZlcmZsb3cuCisgICAgLy8gRm9yIG5v
dyBqdXN0IGFsd2F5cyByZWNvbXB1dGUgb3ZlcmZsb3cuICBUaGlzIGlzIG5vIHdvcnNlIHBlcmZv
cm1hbmNlLXdpc2UgdGhhbiB0aGUgb2xkIGNvZGUgdGhhdCBjYWxsZWQgcmlnaHRtb3N0UG9zaXRp
b24gYW5kCisgICAgLy8gbG93ZXN0UG9zaXRpb24gb24gZXZlcnkgcmVsYXlvdXQgc28gaXQncyBu
b3QgYSByZWdyZXNzaW9uLgorICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKKyAgICBjb21wdXRlT3Zl
cmZsb3coY2xpZW50TG9naWNhbEJvdHRvbSgpLCB0cnVlKTsKKwogICAgIHN0YXRlUHVzaGVyLnBv
cCgpOwogICAgIAogICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CkBAIC0yMDE3LDM4ICsyMDgz
LDM5IEBAIGJvb2wgUmVuZGVyQmxvY2s6OmxheW91dE9ubHlQb3NpdGlvbmVkT2IKIAogdm9pZCBS
ZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVu
KQogewotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIGlmIChoYXNDb2x1
bW5zKCkpCi0gICAgICAgICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPmNsZWFyUGFnaW5hdGlv
bkluZm9ybWF0aW9uKCk7IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgbm90IHBhcnQgb2YgdGhl
IGNvbHVtbiBmbG93LCBzbyB0aGV5IGRvbid0IHBhZ2luYXRlIHdpdGggdGhlIGNvbHVtbnMuCisg
ICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmplY3RzKQorICAgICAgICByZXR1cm47CisgICAgICAgIAor
ICAgIGlmIChoYXNDb2x1bW5zKCkpCisgICAgICAgIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+Y2xl
YXJQYWdpbmF0aW9uSW5mb3JtYXRpb24oKTsgLy8gUG9zaXRpb25lZCBvYmplY3RzIGFyZSBub3Qg
cGFydCBvZiB0aGUgY29sdW1uIGZsb3csIHNvIHRoZXkgZG9uJ3QgcGFnaW5hdGUgd2l0aCB0aGUg
Y29sdW1ucy4KIAotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9
IG1fcG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0g
bV9wb3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
ICAgICByID0gKml0OwotICAgICAgICAgICAgLy8gV2hlbiBhIG5vbi1wb3NpdGlvbmVkIGJsb2Nr
IGVsZW1lbnQgbW92ZXMsIGl0IG1heSBoYXZlIHBvc2l0aW9uZWQgY2hpbGRyZW4gdGhhdCBhcmUg
aW1wbGljaXRseSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZQotICAgICAgICAgICAgLy8gbm9u
LXBvc2l0aW9uZWQgYmxvY2suICBSYXRoZXIgdGhhbiB0cnlpbmcgdG8gZGV0ZWN0IGFsbCBvZiB0
aGVzZSBtb3ZlbWVudCBjYXNlcywgd2UganVzdCBhbHdheXMgbGF5IG91dCBwb3NpdGlvbmVkCi0g
ICAgICAgICAgICAvLyBvYmplY3RzIHRoYXQgYXJlIHBvc2l0aW9uZWQgaW1wbGljaXRseSBsaWtl
IHRoaXMuICBTdWNoIG9iamVjdHMgYXJlIHJhcmUsIGFuZCBzbyBpbiB0eXBpY2FsIERIVE1MIG1l
bnUgdXNhZ2UgKHdoZXJlIGV2ZXJ5dGhpbmcgaXMKLSAgICAgICAgICAgIC8vIHBvc2l0aW9uZWQg
ZXhwbGljaXRseSkgdGhpcyBzaG91bGQgbm90IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0eS4K
LSAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuIHx8IChyLT5zdHlsZSgpLT5oYXNTdGF0
aWNZKCkgJiYgci0+cGFyZW50KCkgIT0gdGhpcyAmJiByLT5wYXJlbnQoKS0+aXNCbG9ja0Zsb3co
KSkpCi0gICAgICAgICAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBmYWxzZSk7
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBJZiByZWxheW91dENoaWxkcmVuIGlz
IHNldCBhbmQgd2UgaGF2ZSBwZXJjZW50YWdlIHBhZGRpbmcsIHdlIGFsc28gbmVlZCB0byBpbnZh
bGlkYXRlIHRoZSBjaGlsZCdzIHByZWYgd2lkdGhzLgotICAgICAgICAgICAgaWYgKHJlbGF5b3V0
Q2hpbGRyZW4gJiYgKHItPnN0eWxlKCktPnBhZGRpbmdTdGFydCgpLmlzUGVyY2VudCgpIHx8IHIt
PnN0eWxlKCktPnBhZGRpbmdFbmQoKS5pc1BlcmNlbnQoKSkpCi0gICAgICAgICAgICAgICAgci0+
c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KHRydWUsIGZhbHNlKTsKKyAgICBSZW5kZXJC
b3gqIHI7CisgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Cisg
ICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9
IGVuZDsgKytpdCkgeworICAgICAgICByID0gKml0OworICAgICAgICAvLyBXaGVuIGEgbm9uLXBv
c2l0aW9uZWQgYmxvY2sgZWxlbWVudCBtb3ZlcywgaXQgbWF5IGhhdmUgcG9zaXRpb25lZCBjaGls
ZHJlbiB0aGF0IGFyZSBpbXBsaWNpdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlCisgICAg
ICAgIC8vIG5vbi1wb3NpdGlvbmVkIGJsb2NrLiAgUmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGRldGVj
dCBhbGwgb2YgdGhlc2UgbW92ZW1lbnQgY2FzZXMsIHdlIGp1c3QgYWx3YXlzIGxheSBvdXQgcG9z
aXRpb25lZAorICAgICAgICAvLyBvYmplY3RzIHRoYXQgYXJlIHBvc2l0aW9uZWQgaW1wbGljaXRs
eSBsaWtlIHRoaXMuICBTdWNoIG9iamVjdHMgYXJlIHJhcmUsIGFuZCBzbyBpbiB0eXBpY2FsIERI
VE1MIG1lbnUgdXNhZ2UgKHdoZXJlIGV2ZXJ5dGhpbmcgaXMKKyAgICAgICAgLy8gcG9zaXRpb25l
ZCBleHBsaWNpdGx5KSB0aGlzIHNob3VsZCBub3QgaW5jdXIgYSBwZXJmb3JtYW5jZSBwZW5hbHR5
LgorICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbiB8fCAoci0+c3R5bGUoKS0+aGFzU3RhdGlj
WSgpICYmIHItPnBhcmVudCgpICE9IHRoaXMgJiYgci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkp
KQorICAgICAgICAgICAgci0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBmYWxzZSk7CiAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmICghci0+bmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAg
ICAgICByLT5tYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKTsKLQotICAgICAgICAg
ICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byBkbyBhIGZ1bGwgbGF5b3V0LiAgV2UganVzdCBoYXZlIHRv
IHVwZGF0ZSBvdXIgcG9zaXRpb24uIFRyeSB0aGF0IGZpcnN0LiBJZiB3ZSBoYXZlIHNocmluay10
by1maXQgd2lkdGgKLSAgICAgICAgICAgIC8vIGFuZCB3ZSBoaXQgdGhlIGF2YWlsYWJsZSB3aWR0
aCBjb25zdHJhaW50LCB0aGUgbGF5b3V0SWZOZWVkZWQoKSB3aWxsIGNhdGNoIGl0IGFuZCBkbyBh
IGZ1bGwgbGF5b3V0LgotICAgICAgICAgICAgaWYgKHItPm5lZWRzUG9zaXRpb25lZE1vdmVtZW50
TGF5b3V0T25seSgpKQotICAgICAgICAgICAgICAgIHItPnRyeUxheW91dERvaW5nUG9zaXRpb25l
ZE1vdmVtZW50T25seSgpOwotICAgICAgICAgICAgci0+bGF5b3V0SWZOZWVkZWQoKTsKLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKGhhc0NvbHVtbnMoKSkKLSAgICAgICAgICAgIHZp
ZXcoKS0+bGF5b3V0U3RhdGUoKS0+bV9jb2x1bW5JbmZvID0gY29sdW1uSW5mbygpOyAvLyBGSVhN
RTogS2luZCBvZiBncm9zcy4gV2UganVzdCBwdXQgdGhpcyBiYWNrIGludG8gdGhlIGxheW91dCBz
dGF0ZSBzbyB0aGF0IHBvcCgpIHdpbGwgd29yay4KKyAgICAgICAgLy8gSWYgcmVsYXlvdXRDaGls
ZHJlbiBpcyBzZXQgYW5kIHdlIGhhdmUgcGVyY2VudGFnZSBwYWRkaW5nLCB3ZSBhbHNvIG5lZWQg
dG8gaW52YWxpZGF0ZSB0aGUgY2hpbGQncyBwcmVmIHdpZHRocy4KKyAgICAgICAgaWYgKHJlbGF5
b3V0Q2hpbGRyZW4gJiYgKHItPnN0eWxlKCktPnBhZGRpbmdTdGFydCgpLmlzUGVyY2VudCgpIHx8
IHItPnN0eWxlKCktPnBhZGRpbmdFbmQoKS5pc1BlcmNlbnQoKSkpCisgICAgICAgICAgICByLT5z
ZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkodHJ1ZSwgZmFsc2UpOworICAgICAgICAKKyAg
ICAgICAgaWYgKCFyLT5uZWVkc0xheW91dCgpKQorICAgICAgICAgICAgci0+bWFya0ZvclBhZ2lu
YXRpb25SZWxheW91dElmTmVlZGVkKCk7CisKKyAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byBk
byBhIGZ1bGwgbGF5b3V0LiAgV2UganVzdCBoYXZlIHRvIHVwZGF0ZSBvdXIgcG9zaXRpb24uIFRy
eSB0aGF0IGZpcnN0LiBJZiB3ZSBoYXZlIHNocmluay10by1maXQgd2lkdGgKKyAgICAgICAgLy8g
YW5kIHdlIGhpdCB0aGUgYXZhaWxhYmxlIHdpZHRoIGNvbnN0cmFpbnQsIHRoZSBsYXlvdXRJZk5l
ZWRlZCgpIHdpbGwgY2F0Y2ggaXQgYW5kIGRvIGEgZnVsbCBsYXlvdXQuCisgICAgICAgIGlmIChy
LT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSkKKyAgICAgICAgICAgIHItPnRy
eUxheW91dERvaW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpOworICAgICAgICByLT5sYXlvdXRJ
Zk5lZWRlZCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAoaGFzQ29sdW1ucygpKQorICAgICAgICB2
aWV3KCktPmxheW91dFN0YXRlKCktPm1fY29sdW1uSW5mbyA9IGNvbHVtbkluZm8oKTsgLy8gRklY
TUU6IEtpbmQgb2YgZ3Jvc3MuIFdlIGp1c3QgcHV0IHRoaXMgYmFjayBpbnRvIHRoZSBsYXlvdXQg
c3RhdGUgc28gdGhhdCBwb3AoKSB3aWxsIHdvcmsuCiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6Om1h
cmtQb3NpdGlvbmVkT2JqZWN0c0ZvckxheW91dCgpCkBAIC0yMTEzLDcgKzIxODAsNyBAQCB2b2lk
IFJlbmRlckJsb2NrOjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgLy8gRklYTUU6IENvdWxk
IGVsaW1pbmF0ZSB0aGUgaXNSb290KCkgY2hlY2sgaWYgd2UgZml4IGJhY2tncm91bmQgcGFpbnRp
bmcgc28gdGhhdCB0aGUgUmVuZGVyVmlldwogICAgIC8vIHBhaW50cyB0aGUgcm9vdCdzIGJhY2tn
cm91bmQuCiAgICAgaWYgKCFpc1Jvb3QoKSkgewotICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94
ID0gdmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICBJbnRSZWN0IG92ZXJmbG93Qm94ID0g
dmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAgICAgICAgIG92ZXJmbG93Qm94LmluZmxhdGUobWF4aW1h
bE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSkpOwogICAgICAgICBvdmVyZmxvd0JveC5tb3Zl
KHR4LCB0eSk7CiAgICAgICAgIGlmICghb3ZlcmZsb3dCb3guaW50ZXJzZWN0cyhwYWludEluZm8u
cmVjdCkpCkBAIC0zMzU0LDQxOCArMzQyMSw2IEBAIGludCBSZW5kZXJCbG9jazo6bG93ZXN0Rmxv
YXRMb2dpY2FsQm90dG8KICAgICByZXR1cm4gbG93ZXN0RmxvYXRCb3R0b207CiB9CiAKLWludCBS
ZW5kZXJCbG9jazo6dG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAot
ewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsK
LSAgICBpbnQgdHJhbnNmb3JtZWRUb3AgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3Qu
d2lkdGgoKSA+IDAgPyAwIDogdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpOwotICAgIAotICAgIGlm
ICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092ZXJmbG93Q2xpcCgpIHx8IGhhc0Nv
bnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRUb3A7Ci0KLSAgICBpZiAo
IWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8ICF0cmFuc2Zvcm1l
ZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRUb3A7Ci0KLSAgICBp
bnQgdG9wID0gaW5jbHVkZVNlbGYgJiYgd2lkdGgoKSA+IDAgPyAwIDogaGVpZ2h0KCk7Ci0KLSAg
ICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEg
d2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBhdm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMu
Ci0gICAgICAgIC8vIEZvciBub3csIHdlIGhhdmUgdG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hp
bGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEgaHVnZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAv
LyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29tZXdoZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUu
ICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQgdG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYu
Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+
bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlv
bmVkKCkgJiYgYy0+aXNCb3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hpbGRC
b3ggPSB0b1JlbmRlckJveChjKTsKLSAgICAgICAgICAgICAgICB0b3AgPSBtaW4odG9wLCBjaGls
ZEJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS55KCkgKyBjaGlsZEJveC0+dG9wbW9zdFBvc2l0
aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAo
aW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIHRvcCArPSByZWxhdGl2
ZVBvc2l0aW9uT2Zmc2V0WSgpOyAKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Ig
JiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0gICAgCi0gICAgaW50
IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkgPyByZWxh
dGl2ZVBvc2l0aW9uT2Zmc2V0WSgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2VsZikKLSAgICAg
ICAgdG9wID0gbWluKHRvcCwgdG9wTGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0aXZlT2Zmc2V0KTsK
LQotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJlbmRlckJveCogcjsK
LSAgICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAg
ICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhl
ZCBwb3NpdGlvbmVkIG9iamVjdHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNv
bnN0aXR1dGUKLSAgICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIHRvcG1vc3QgcG9zaXRpb24uCi0g
ICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKSB7
Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZvciBvdmVyZmxvdyBzZWN0
aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlvbmVkIG9iamVjdCBsaWVz
IGNvbXBsZXRlbHkgdG8gdGhlIGxlZnQgb2YgdGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNoYWJs
ZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGQg
bm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIHRvcG1vc3QgcG9zaXRpb24uCi0gICAg
ICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFuc2Zvcm1lZEZyYW1lUmVj
dCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkgfHwgdHJhbnNmb3JtZWRS
LngoKSArIHRyYW5zZm9ybWVkUi53aWR0aCgpID4gMCB8fCB0cmFuc2Zvcm1lZFIueCgpICsgci0+
cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAgICAgICAgICAgICAgICBpbnQg
dHAgPSB0cmFuc2Zvcm1lZFIueSgpICsgci0+dG9wbW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAg
ICAgICAgICAgICAgICAgdG9wID0gbWluKHRvcCwgdHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYg
KGhhc0NvbHVtbnMoKSkgewotICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5m
bygpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29sdW1uQ291bnQoY29sSW5m
byk7IGkrKykKLSAgICAgICAgICAgIHRvcCA9IG1pbih0b3AsIGNvbHVtblJlY3RBdChjb2xJbmZv
LCBpKS55KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIHJldHVybiB0b3A7Ci0gICAgfQot
Ci0gICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiBy
OwotICAgICAgICBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgq
bV9mbG9hdGluZ09iamVjdHMpOwotICAgICAgICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsg
KytpdCkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5kZXJl
ci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCB0cCA9IHIt
PnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkgKyByLT5tX3JlbmRlcmVyLT50b3Bt
b3N0UG9zaXRpb24oZmFsc2UpOwotICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0b3AsIHRwICsg
cmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAg
aWYgKCFpbmNsdWRlU2VsZiAmJiBmaXJzdFJvb3RCb3goKSkKLSAgICAgICAgdG9wID0gbWluKHRv
cCwgZmlyc3RSb290Qm94KCktPnNlbGVjdGlvblRvcCgpICsgcmVsYXRpdmVPZmZzZXQpOwotCi0g
ICAgaWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYg
JiYgbGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgYm90
dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxm
LCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIEludFJlY3Qg
dHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0
b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zv
cm1SZWN0LnkoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdG9wOwotfQotCi1pbnQgUmVuZGVyQmxv
Y2s6Omxvd2VzdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5j
bHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIElu
dFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICBpbnQg
dHJhbnNmb3JtZWRCb3R0b20gPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgo
KSA+IDAgPyB0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkgOiAwOwotCi0gICAgaWYgKCFpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciAmJiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaGFzQ29udHJvbENsaXAo
KSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZEJvdHRvbTsKLQotICAgIGlmICghZmlyc3RD
aGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZEJvdHRvbTsKLQotICAgIGludCBi
b3R0b20gPSBpbmNsdWRlU2VsZiAmJiB3aWR0aCgpID4gMCA/IGhlaWdodCgpIDogMDsKLQotICAg
IGlmICghaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBDb21lIHVwIHdpdGggYSB3
YXkgdG8gdXNlIHRoZSBsYXllciB0cmVlIHRvIGF2b2lkIHZpc2l0aW5nIGFsbCB0aGUga2lkcy4K
LSAgICAgICAgLy8gRm9yIG5vdywgd2UgaGF2ZSB0byBkZXNjZW5kIGludG8gYWxsIHRoZSBjaGls
ZHJlbiwgc2luY2Ugd2UgbWF5IGhhdmUgYSBodWdlIGFicyBkaXYgaW5zaWRlCi0gICAgICAgIC8v
IGEgdGlueSByZWwgZGl2IGJ1cmllZCBzb21ld2hlcmUgZGVlcCBpbiBvdXIgY2hpbGQgdHJlZS4g
IEluIHRoaXMgY2FzZSB3ZSBoYXZlIHRvIGdldCB0bwotICAgICAgICAvLyB0aGUgYWJzIGRpdi4K
LSAgICAgICAgLy8gU2VlIHRoZSBsYXN0IHRlc3QgY2FzZSBpbiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxNCBmb3Igd2h5IHRoaXMgaXMgYSBwcm9ibGVtLgotICAg
ICAgICAvLyBGb3IgaW5saW5lIGNoaWxkcmVuLCB3ZSBtaXNzIHJlbGF0aXZlIHBvc2l0aW9uZWQg
Ym94ZXMgdGhhdCBtaWdodCBiZSBidXJpZWQgaW5zaWRlIDxzcGFuPnMuCi0gICAgICAgIGZvciAo
UmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgJiYgYy0+aXNC
b3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hpbGRCb3ggPSB0b1JlbmRlckJv
eChjKTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBjaGlsZEJveC0+dHJh
bnNmb3JtZWRGcmFtZVJlY3QoKS55KCkgKyBjaGlsZEJveC0+bG93ZXN0UG9zaXRpb24oZmFsc2Up
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChpbmNsdWRlU2Vs
ZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgYm90dG9tICs9IHJlbGF0aXZlUG9zaXRp
b25PZmZzZXRZKCk7ICAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhh
c092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotCi0gICAgaW50IHJlbGF0
aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkgPyByZWxhdGl2ZVBv
c2l0aW9uT2Zmc2V0WSgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2VsZikKLSAgICAgICAgYm90
dG9tID0gbWF4KGJvdHRvbSwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0aXZlT2Zmc2V0
KTsKLSAgICAgICAgCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAgICAgICAgUmVu
ZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5l
bmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJl
Z2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAg
ICAgIC8vIEZpeGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFuZCB0aHVzIHNo
b3VsZCBub3QgY29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgbG93ZXN0IHBv
c2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQ
b3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd29yayBmb3Igb3Zl
cmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAgIC8vIElmIGEgcG9zaXRpb25lZCBv
YmplY3QgbGllcyBjb21wbGV0ZWx5IHRvIHRoZSBsZWZ0IG9mIHRoZSByb290IGl0IHdpbGwgYmUg
dW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUg
d2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRoZSBsb3dlc3QgcG9zaXRp
b24uCi0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZFIgPSByLT50cmFuc2Zvcm1l
ZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJWaWV3KCkgfHwgdHJh
bnNmb3JtZWRSLngoKSArIHRyYW5zZm9ybWVkUi53aWR0aCgpID4gMCB8fCB0cmFuc2Zvcm1lZFIu
eCgpICsgci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAgICAgICAgICAg
ICAgICBpbnQgbHAgPSB0cmFuc2Zvcm1lZFIueSgpICsgci0+bG93ZXN0UG9zaXRpb24oZmFsc2Up
OwotICAgICAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBscCArIHJlbGF0aXZl
T2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAgIENvbHVtbkluZm8qIGNvbElu
Zm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb2x1
bW5Db3VudChjb2xJbmZvKTsgaSsrKQotICAgICAgICAgICAgYm90dG9tID0gbWF4KGJvdHRvbSwg
Y29sdW1uUmVjdEF0KGNvbEluZm8sIGkpLmJvdHRvbSgpICsgcmVsYXRpdmVPZmZzZXQpOwotICAg
ICAgICByZXR1cm4gYm90dG9tOwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykg
ewotICAgICAgICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJ
dGVyYXRvcjxGbG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAg
Zm9yICggOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAgICBpZiAoci0+
bV9zaG91bGRQYWludCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7
Ci0gICAgICAgICAgICAgICAgaW50IGxwID0gci0+dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJn
aW5Ub3AoKSArIHItPm1fcmVuZGVyZXItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBscCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYpIHsKLSAg
ICAgICAgYm90dG9tID0gbWF4KGJvdHRvbSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBw
YWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIGlmIChjaGlsZHJlbklu
bGluZSgpKSB7Ci0gICAgICAgICAgICBpZiAobGFzdFJvb3RCb3goKSkgewotICAgICAgICAgICAg
ICAgIGludCBjaGlsZEJvdHRvbUVkZ2UgPSBsYXN0Um9vdEJveCgpLT5zZWxlY3Rpb25Cb3R0b20o
KTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBjaGlsZEJvdHRvbUVkZ2Ug
KyBwYWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBGaW5kIHRoZSBsYXN0IG5vcm1hbCBmbG93IGNo
aWxkLgotICAgICAgICAgICAgUmVuZGVyQm94KiBjdXJyQm94ID0gbGFzdENoaWxkQm94KCk7Ci0g
ICAgICAgICAgICB3aGlsZSAoY3VyckJveCAmJiBjdXJyQm94LT5pc0Zsb2F0aW5nT3JQb3NpdGlv
bmVkKCkpCi0gICAgICAgICAgICAgICAgY3VyckJveCA9IGN1cnJCb3gtPnByZXZpb3VzU2libGlu
Z0JveCgpOwotICAgICAgICAgICAgaWYgKGN1cnJCb3gpIHsKLSAgICAgICAgICAgICAgICBJbnRS
ZWN0IHRyYW5zZm9ybWVkQ3VyckJveCA9IGN1cnJCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7
Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkQm90dG9tRWRnZSA9IHRyYW5zZm9ybWVkQ3VyckJv
eC55KCkgKyB0cmFuc2Zvcm1lZEN1cnJCb3guaGVpZ2h0KCkgKyBjdXJyQm94LT5jb2xsYXBzZWRN
YXJnaW5BZnRlcigpOyAvLyBGSVhNRTogImFmdGVyIiBpcyB3cm9uZyBoZXJlIGZvciBsb3dlc3RQ
b3NpdGlvbi4KLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90dG9tLCBjaGlsZEJvdHRv
bUVkZ2UgKyBwYWRkaW5nQm90dG9tKCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRy
YW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9y
bSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJp
Z2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVT
ZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0
aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9y
bSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1U
b1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0g
ICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpOwotICAgIH0KLQotICAgIHJldHVy
biBib3R0b207Ci19Ci0KLWludCBSZW5kZXJCbG9jazo6cmlnaHRtb3N0UG9zaXRpb24oYm9vbCBp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0g
YXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0
cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgIGludCB0cmFuc2Zvcm1lZFJpZ2h0ID0gaW5jbHVk
ZVNlbGYgJiYgdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpID4gMCA/IHRyYW5zZm9ybWVkUmVjdC53
aWR0aCgpIDogMDsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092
ZXJmbG93Q2xpcCgpIHx8IGhhc0NvbnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNm
b3JtZWRSaWdodDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0
LndpZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0
cmFuc2Zvcm1lZFJpZ2h0OwotCi0gICAgaW50IHJpZ2h0ID0gaW5jbHVkZVNlbGYgJiYgaGVpZ2h0
KCkgPiAwID8gd2lkdGgoKSA6IDA7Ci0KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAg
ICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBh
dm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMuCi0gICAgICAgIC8vIEZvciBub3csIHdlIGhhdmUg
dG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hpbGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEgaHVn
ZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAvLyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29tZXdo
ZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQg
dG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYuCi0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBj
ID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAg
aWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgJiYgYy0+aXNCb3goKSkgewotICAgICAg
ICAgICAgICAgIFJlbmRlckJveCogY2hpbGRCb3ggPSB0b1JlbmRlckJveChjKTsKLSAgICAgICAg
ICAgICAgICByaWdodCA9IG1heChyaWdodCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0
KCkueCgpICsgY2hpbGRCb3gtPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3Np
dGlvbmVkKCkpCi0gICAgICAgIHJpZ2h0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7Ci0K
LSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQot
ICAgICAgICByZXR1cm4gcmlnaHQ7Ci0KLSAgICBpbnQgcmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRl
U2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSA/IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCkgOiAw
OwotCi0gICAgaWYgKGluY2x1ZGVTZWxmKQotICAgICAgICByaWdodCA9IG1heChyaWdodCwgcmln
aHRMYXlvdXRPdmVyZmxvdygpICsgcmVsYXRpdmVPZmZzZXQpOwotCi0gICAgaWYgKG1fcG9zaXRp
b25lZE9iamVjdHMpIHsKLSAgICAgICAgUmVuZGVyQm94KiByOwotICAgICAgICBJdGVyYXRvciBl
bmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQoKTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBp
dCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCkgOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAg
ICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9iamVj
dHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUKLSAgICAgICAg
ICAgIC8vIHBhcnQgb2YgdGhlIHJpZ2h0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChy
LT5zdHlsZSgpLT5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAg
ICAgICAgICAgICAvLyBJZiBhIHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSBhYm92
ZSB0aGUgcm9vdCBpdCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0gICAgICAg
ICAgICAgICAgLy8gVGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29udHJpYnV0
ZSB0byB0aGUgcmlnaHRtb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIEludFJlY3QgdHJh
bnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBp
ZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi55KCkgKyB0cmFuc2Zvcm1lZFIuaGVp
Z2h0KCkgPiAwIHx8IHRyYW5zZm9ybWVkUi55KCkgKyByLT5sb3dlc3RQb3NpdGlvbihmYWxzZSkg
PiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBycCA9IHRyYW5zZm9ybWVkUi54KCkgKyBy
LT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0g
bWF4KHJpZ2h0LCBycCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0g
ICAgICAgIC8vIFRoaXMgb25seSBtYXR0ZXJzIGZvciBMVFIKLSAgICAgICAgaWYgKHN0eWxlKCkt
PmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewotICAgICAgICAgICAgQ29sdW1uSW5mbyogY29s
SW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gY29sdW1u
Q291bnQoY29sSW5mbyk7Ci0gICAgICAgICAgICBpZiAoY291bnQpCi0gICAgICAgICAgICAgICAg
cmlnaHQgPSBtYXgoY29sdW1uUmVjdEF0KGNvbEluZm8sIGNvdW50IC0gMSkucmlnaHQoKSArIHJl
bGF0aXZlT2Zmc2V0LCByaWdodCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGFwcGx5VHJhbnNm
b3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXll
cigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3Np
dGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zv
cm0pOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgICAg
ICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgICAgIEludFJlY3QgdHJhbnNm
b3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJp
Z2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJhbnNmb3Jt
UmVjdC53aWR0aCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByaWdodDsKLSAgICB9Ci0K
LSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHI7
Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCpt
X2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJyZW50KCkpOyAr
K2l0ICkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5kZXJl
ci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCBycCA9IHIt
PmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHItPm1fcmVuZGVyZXItPnJp
Z2h0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdo
dCwgcnAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBpZiAoIWluY2x1ZGVTZWxmKSB7Ci0gICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBi
b3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpICsgcGFkZGluZ1JpZ2h0KCkgKyByZWxhdGl2ZU9m
ZnNldCk7Ci0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7Ci0gICAgICAgICAgICBmb3Ig
KElubGluZUZsb3dCb3gqIGN1cnJCb3ggPSBmaXJzdExpbmVCb3goKTsgY3VyckJveDsgY3VyckJv
eCA9IGN1cnJCb3gtPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRS
aWdodEVkZ2UgPSBjdXJyQm94LT54KCkgKyBjdXJyQm94LT5sb2dpY2FsV2lkdGgoKTsKLSAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIG5vZGUgaXMgYSByb290IGVk
aXRhYmxlIGVsZW1lbnQsIHRoZW4gdGhlIHJpZ2h0bW9zdFBvc2l0aW9uIHNob3VsZCBhY2NvdW50
IGZvciBhIGNhcmV0IGF0IHRoZSBlbmQuCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IE5lZWQg
dG8gZmluZCBhbm90aGVyIHdheSB0byBkbyB0aGlzLCBzaW5jZSBzY3JvbGxiYXJzIGNvdWxkIHNo
b3cgd2hlbiB3ZSBkb24ndCB3YW50IHRoZW0gdG8uCi0gICAgICAgICAgICAgICAgaWYgKG5vZGUo
KSAmJiBub2RlKCktPmlzQ29udGVudEVkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5vZGUoKS0+cm9v
dEVkaXRhYmxlRWxlbWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSAm
JiAhcGFkZGluZ1JpZ2h0KCkpCi0gICAgICAgICAgICAgICAgICAgIGNoaWxkUmlnaHRFZGdlICs9
IDE7Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGNoaWxkUmlnaHRFZGdlICsg
cGFkZGluZ1JpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBXYWxrIGFsbCBub3JtYWwgZmxvdyBjaGlsZHJlbi4K
LSAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjdXJyQm94ID0gZmlyc3RDaGlsZEJveCgpOyBj
dXJyQm94OyBjdXJyQm94ID0gY3VyckJveC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICAg
ICAgICAgIGlmIChjdXJyQm94LT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkpCi0gICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNmb3JtZWRD
aGlsZCA9IGN1cnJCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAg
aW50IGNoaWxkUmlnaHRFZGdlID0gdHJhbnNmb3JtZWRDaGlsZC54KCkgKyB0cmFuc2Zvcm1lZENo
aWxkLndpZHRoKCkgKyBjdXJyQm94LT5tYXJnaW5SaWdodCgpOwotICAgICAgICAgICAgICAgIHJp
Z2h0ID0gbWF4KHJpZ2h0LCBjaGlsZFJpZ2h0RWRnZSArIHBhZGRpbmdSaWdodCgpICsgcmVsYXRp
dmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGFw
cGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIo
KSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gdG9wbW9z
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRy
YW5zZm9ybSk7Ci0gICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBp
bnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0
ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBs
ZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3Qud2lkdGgo
KTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyQmxvY2s6
OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNs
dWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50
UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgIGludCB0
cmFuc2Zvcm1lZExlZnQgPSBpbmNsdWRlU2VsZiAmJiB0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkg
PiAwID8gMCA6IHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpOwotICAgIAotICAgIGlmICghaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092ZXJmbG93Q2xpcCgpIHx8IGhhc0NvbnRyb2xDbGlw
KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRMZWZ0OwotCi0gICAgaWYgKCFmaXJzdENo
aWxkKCkgJiYgKCF0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3JtZWRSZWN0Lmhl
aWdodCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkTGVmdDsKLQotICAgIGludCBsZWZ0
ID0gaW5jbHVkZVNlbGYgJiYgaGVpZ2h0KCkgPiAwID8gMCA6IHdpZHRoKCk7Ci0KLSAgICBpZiAo
IWhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEgd2F5IHRv
IHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBhdm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMuCi0gICAg
ICAgIC8vIEZvciBub3csIHdlIGhhdmUgdG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hpbGRyZW4s
IHNpbmNlIHdlIG1heSBoYXZlIGEgaHVnZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAvLyBhIHRp
bnkgcmVsIGRpdiBidXJpZWQgc29tZXdoZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUuICBJbiB0
aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQgdG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYuCi0gICAg
ICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjID0gZmlyc3RDaGlsZCgpOyBjOyBjID0gYy0+bmV4dFNp
YmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKCFjLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkg
JiYgYy0+aXNCb3goKSkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogY2hpbGRCb3ggPSB0
b1JlbmRlckJveChjKTsKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGNoaWxkQm94
LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNoaWxkQm94LT5sZWZ0bW9zdFBvc2l0aW9u
KGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaW5j
bHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAgICAgIGxlZnQgKz0gcmVsYXRpdmVQ
b3NpdGlvbk9mZnNldFgoKTsgCi0KLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYm
IGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gbGVmdDsKLSAgICAKLSAgICBpbnQg
cmVsYXRpdmVPZmZzZXQgPSBpbmNsdWRlU2VsZiAmJiBpc1JlbFBvc2l0aW9uZWQoKSA/IHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRYKCkgOiAwOwotCi0gICAgaWYgKGluY2x1ZGVTZWxmKQotICAgICAg
ICBsZWZ0ID0gbWluKGxlZnQsIGxlZnRMYXlvdXRPdmVyZmxvdygpICsgcmVsYXRpdmVPZmZzZXQp
OwotCi0gICAgaWYgKG1fcG9zaXRpb25lZE9iamVjdHMpIHsKLSAgICAgICAgUmVuZGVyQm94KiBy
OwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQoKTsKLSAg
ICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAgICAgIC8vIEZp
eGVkIHBvc2l0aW9uZWQgb2JqZWN0cyBkbyBub3Qgc2Nyb2xsIGFuZCB0aHVzIHNob3VsZCBub3Qg
Y29uc3RpdHV0ZQotICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgbGVmdG1vc3QgcG9zaXRpb24u
Ci0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9u
KSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZvciBvdmVyZmxvdyBz
ZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlvbmVkIG9iamVjdCBs
aWVzIGNvbXBsZXRlbHkgYWJvdmUgdGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNoYWJsZSB2aWEg
c2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGQgbm90IGFs
bG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIGxlZnRtb3N0IHBvc2l0aW9uLgotICAgICAgICAg
ICAgICAgIEludFJlY3QgdHJhbnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsK
LSAgICAgICAgICAgICAgICBpZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi55KCkg
KyB0cmFuc2Zvcm1lZFIuaGVpZ2h0KCkgPiAwIHx8IHRyYW5zZm9ybWVkUi55KCkgKyByLT5sb3dl
c3RQb3NpdGlvbihmYWxzZSkgPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBscCA9IHRy
YW5zZm9ybWVkUi54KCkgKyByLT5sZWZ0bW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAgICAg
ICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBscCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoaGFz
Q29sdW1ucygpKSB7Ci0gICAgICAgIC8vIFRoaXMgb25seSBtYXR0ZXJzIGZvciBSVEwKLSAgICAg
ICAgaWYgKCFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAgICAgICAgICAg
IENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAgICAgICB1bnNpZ25l
ZCBjb3VudCA9IGNvbHVtbkNvdW50KGNvbEluZm8pOwotICAgICAgICAgICAgaWYgKGNvdW50KQot
ICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4oY29sdW1uUmVjdEF0KGNvbEluZm8sIGNvdW50IC0g
MSkueCgpICsgcmVsYXRpdmVPZmZzZXQsIGxlZnQpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biBsZWZ0OwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykgewotICAgICAgICBG
bG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjxGbG9h
dGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAgZm9yICggOyAociA9
IGl0LmN1cnJlbnQoKSk7ICsraXQgKSB7Ci0gICAgICAgICAgICBpZiAoci0+bV9zaG91bGRQYWlu
dCB8fCByLT5tX3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAgICAgICAg
ICAgICAgaW50IGxwID0gci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luTGVmdCgpICsg
ci0+bV9yZW5kZXJlci0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
bGVmdCA9IG1pbihsZWZ0LCBscCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYgJiYgZmlyc3RMaW5lQm94KCkp
IHsKLSAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyQm94ID0gZmlyc3RMaW5lQm94KCk7
IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0TGluZUJveCgpKQotICAgICAgICAgICAg
bGVmdCA9IG1pbihsZWZ0LCAoaW50KWN1cnJCb3gtPngoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAg
ICB9Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNs
dWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAg
IGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5z
Zm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIElu
dFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChs
ZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVybiB0
cmFuc2Zvcm1SZWN0LngoKTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIHZv
aWQgUmVuZGVyQmxvY2s6Om1hcmtMaW5lc0RpcnR5SW5CbG9ja1JhbmdlKGludCBsb2dpY2FsVG9w
LCBpbnQgbG9naWNhbEJvdHRvbSwgUm9vdElubGluZUJveCogaGlnaGVzdCkKIHsKICAgICBpZiAo
bG9naWNhbFRvcCA+PSBsb2dpY2FsQm90dG9tKQpAQCAtMzkxNiw2ICszNTcxLDggQEAgaW50IFJl
bmRlckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyhSZQogICAgICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmdPYmotPm1fc2hvdWxkUGFpbnQgPSBmYWxzZTsK
ICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBmbG9hdGluZ09iai0+bV9pc0Rlc2Nl
bmRhbnQgPSB0cnVlOworCiAgICAgICAgICAgICAgICAgLy8gV2UgY3JlYXRlIHRoZSBmbG9hdGlu
ZyBvYmplY3QgbGlzdCBsYXppbHkuCiAgICAgICAgICAgICAgICAgaWYgKCFtX2Zsb2F0aW5nT2Jq
ZWN0cykgewogICAgICAgICAgICAgICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cyA9IG5ldyBEZXBy
ZWNhdGVkUHRyTGlzdDxGbG9hdGluZ09iamVjdD47CkBAIC0zOTIzLDE3ICszNTgwLDIyIEBAIGlu
dCBSZW5kZXJCbG9jazo6YWRkT3ZlcmhhbmdpbmdGbG9hdHMoUmUKICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgbV9mbG9hdGluZ09iamVjdHMtPmFwcGVuZChmbG9hdGluZ09iaik7
CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAobWFrZUNoaWxkUGFpbnRPdGhlckZs
b2F0cyAmJiAhci0+bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50
aW5nTGF5ZXIoKSAmJgotICAgICAgICAgICAgICAgICAgIHItPm1fcmVuZGVyZXItPmlzRGVzY2Vu
ZGFudE9mKGNoaWxkKSAmJiByLT5tX3JlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpID09IGNoaWxk
LT5lbmNsb3NpbmdMYXllcigpKQotICAgICAgICAgICAgLy8gVGhlIGZsb2F0IGlzIG5vdCBvdmVy
aGFuZ2luZyBmcm9tIHRoaXMgYmxvY2ssIHNvIGlmIGl0IGlzIGEgZGVzY2VuZGFudCBvZiB0aGUg
Y2hpbGQsIHRoZSBjaGlsZCBzaG91bGQKLSAgICAgICAgICAgIC8vIHBhaW50IGl0ICh0aGUgb3Ro
ZXIgY2FzZSBpcyB0aGF0IGl0IGlzIGludHJ1ZGluZyBpbnRvIHRoZSBjaGlsZCksIHVubGVzcyBp
dCBoYXMgaXRzIG93biBsYXllciBvciBlbmNsb3NpbmcKLSAgICAgICAgICAgIC8vIGxheWVyLgot
ICAgICAgICAgICAgLy8gSWYgbWFrZUNoaWxkUGFpbnRPdGhlckZsb2F0cyBpcyBmYWxzZSwgaXQg
bWVhbnMgdGhhdCB0aGUgY2hpbGQgbXVzdCBhbHJlYWR5IGtub3cgYWJvdXQgYWxsIHRoZSBmbG9h
dHMKLSAgICAgICAgICAgIC8vIGl0IHNob3VsZCBwYWludC4KLSAgICAgICAgICAgIHItPm1fc2hv
dWxkUGFpbnQgPSB0cnVlOwotCi0gICAgICAgIGlmIChyLT5tX3Nob3VsZFBhaW50ICYmICFyLT5t
X3JlbmRlcmVyLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICAgICAgY2hpbGQtPmFk
ZE92ZXJmbG93RnJvbUNoaWxkKHItPm1fcmVuZGVyZXIsIEludFNpemUoci0+bGVmdCgpICsgci0+
bV9yZW5kZXJlci0+bWFyZ2luTGVmdCgpLCByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1hcmdp
blRvcCgpKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobWFrZUNoaWxkUGFp
bnRPdGhlckZsb2F0cyAmJiAhci0+bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFz
U2VsZlBhaW50aW5nTGF5ZXIoKSAmJgorICAgICAgICAgICAgICAgIHItPm1fcmVuZGVyZXItPmlz
RGVzY2VuZGFudE9mKGNoaWxkKSAmJiByLT5tX3JlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpID09
IGNoaWxkLT5lbmNsb3NpbmdMYXllcigpKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIGZsb2F0
IGlzIG5vdCBvdmVyaGFuZ2luZyBmcm9tIHRoaXMgYmxvY2ssIHNvIGlmIGl0IGlzIGEgZGVzY2Vu
ZGFudCBvZiB0aGUgY2hpbGQsIHRoZSBjaGlsZCBzaG91bGQKKyAgICAgICAgICAgICAgICAvLyBw
YWludCBpdCAodGhlIG90aGVyIGNhc2UgaXMgdGhhdCBpdCBpcyBpbnRydWRpbmcgaW50byB0aGUg
Y2hpbGQpLCB1bmxlc3MgaXQgaGFzIGl0cyBvd24gbGF5ZXIgb3IgZW5jbG9zaW5nCisgICAgICAg
ICAgICAgICAgLy8gbGF5ZXIuCisgICAgICAgICAgICAgICAgLy8gSWYgbWFrZUNoaWxkUGFpbnRP
dGhlckZsb2F0cyBpcyBmYWxzZSwgaXQgbWVhbnMgdGhhdCB0aGUgY2hpbGQgbXVzdCBhbHJlYWR5
IGtub3cgYWJvdXQgYWxsIHRoZSBmbG9hdHMKKyAgICAgICAgICAgICAgICAvLyBpdCBzaG91bGQg
cGFpbnQuCisgICAgICAgICAgICAgICAgci0+bV9zaG91bGRQYWludCA9IHRydWU7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIFNpbmNlIHRoZSBmbG9hdCBkb2Vz
bid0IG92ZXJoYW5nLCBpdCBkaWRuJ3QgZ2V0IHB1dCBpbnRvIG91ciBsaXN0LiAgV2UgbmVlZCB0
byBnbyBhaGVhZCBhbmQgYWRkIGl0cyBvdmVyZmxvdyBpbiB0byB0aGUKKyAgICAgICAgICAgIC8v
IGNoaWxkIG5vdy4KKyAgICAgICAgICAgIGlmIChyLT5tX2lzRGVzY2VuZGFudCkKKyAgICAgICAg
ICAgICAgICBjaGlsZC0+YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoci0+bV9yZW5kZXJlciwgSW50U2l6
ZShyLT5sZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5MZWZ0KCksIHItPnRvcCgpICsgci0+
bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkpKTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4g
bG93ZXN0RmxvYXRMb2dpY2FsQm90dG9tOwogfQpAQCAtNDEwMSw3ICszNzYzLDcgQEAgYm9vbCBS
ZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VAogCiAgICAgaWYgKCFpc1JlbmRlclZp
ZXcoKSkgewogICAgICAgICAvLyBDaGVjayBpZiB3ZSBuZWVkIHRvIGRvIGFueXRoaW5nIGF0IGFs
bC4KLSAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc2libGVPdmVyZmxvd1JlY3QoKTsK
KyAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAg
ICAgICBvdmVyZmxvd0JveC5tb3ZlKHR4LCB0eSk7CiAgICAgICAgIGlmICghb3ZlcmZsb3dCb3gu
aW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KF94LCBfeSkpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDU2MSw0OSArNDIyMyw0MyBAQCBJbnRSZWN0IFJlbmRlckJsb2NrOjpj
b2x1bW5SZWN0QXQoQ29sdW1uCiAKIGJvb2wgUmVuZGVyQmxvY2s6OmxheW91dENvbHVtbnMoYm9v
bCBoYXNTcGVjaWZpZWRQYWdlSGVpZ2h0LCBpbnQgcGFnZUhlaWdodCwgTGF5b3V0U3RhdGVNYWlu
dGFpbmVyJiBzdGF0ZVB1c2hlcikKIHsKLSAgICBpZiAoaGFzQ29sdW1ucygpKSB7Ci0gICAgICAg
IC8vIEZJWE1FOiBXZSBkb24ndCBiYWxhbmNlIHByb3Blcmx5IGF0IGFsbCBpbiB0aGUgcHJlc2Vu
Y2Ugb2YgZm9yY2VkIHBhZ2UgYnJlYWtzLiAgV2UgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQKLSAg
ICAgICAgLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gZm9yY2VkIHBhZ2UgYnJlYWtzIGlzIHNvIHRo
YXQgd2UgY2FuIGF2b2lkIG1ha2luZyB0aGUgbWluaW11bSBjb2x1bW4gaGVpZ2h0IHRvbyB0YWxs
LgotICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwotICAgICAgICBp
bnQgZGVzaXJlZENvbHVtbkNvdW50ID0gY29sSW5mby0+ZGVzaXJlZENvbHVtbkNvdW50KCk7Ci0g
ICAgICAgIGlmICghaGFzU3BlY2lmaWVkUGFnZUhlaWdodCkgewotICAgICAgICAgICAgaW50IGNv
bHVtbkhlaWdodCA9IHBhZ2VIZWlnaHQ7Ci0gICAgICAgICAgICBpbnQgbWluQ29sdW1uQ291bnQg
PSBjb2xJbmZvLT5mb3JjZWRCcmVha3MoKSArIDE7Ci0gICAgICAgICAgICBpZiAobWluQ29sdW1u
Q291bnQgPj0gZGVzaXJlZENvbHVtbkNvdW50KSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIGZv
cmNlZCBwYWdlIGJyZWFrcyBhcmUgaW4gY29udHJvbCBvZiB0aGUgYmFsYW5jaW5nLiAgSnVzdCBz
ZXQgdGhlIGNvbHVtbiBoZWlnaHQgdG8gdGhlCi0gICAgICAgICAgICAgICAgLy8gbWF4aW11bSBw
YWdlIGJyZWFrIGRpc3RhbmNlLgotICAgICAgICAgICAgICAgIGlmICghcGFnZUhlaWdodCkgewot
ICAgICAgICAgICAgICAgICAgICBpbnQgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzID0gbWF4KGNvbElu
Zm8tPm1heGltdW1EaXN0YW5jZUJldHdlZW5Gb3JjZWRCcmVha3MoKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3KCktPmxheW91dFN0YXRl
KCktPnBhZ2VZKGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29udGVudEhlaWdodCgpKSAt
IGNvbEluZm8tPmZvcmNlZEJyZWFrT2Zmc2V0KCkpOwotICAgICAgICAgICAgICAgICAgICBjb2x1
bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNvbHVtbkhlaWdodCgpLCBkaXN0YW5jZUJl
dHdlZW5CcmVha3MpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y29udGVudEhlaWdodCgpID4gcGFnZUhlaWdodCAqIGRlc2lyZWRDb2x1bW5Db3VudCkgewotICAg
ICAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGtub3cgdGhlIGludHJpbnNpYyBoZWlnaHQgb2Yg
dGhlIGNvbHVtbnMsIHdlIGhhdmUgdG8gcmViYWxhbmNlIHRoZW0uCi0gICAgICAgICAgICAgICAg
Y29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmltdW1Db2x1bW5IZWlnaHQoKSwgKGludClj
ZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gZGVzaXJlZENvbHVtbkNvdW50KSk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChjb2x1bW5IZWlnaHQgJiYg
Y29sdW1uSGVpZ2h0ICE9IHBhZ2VIZWlnaHQpIHsKLSAgICAgICAgICAgICAgICBzdGF0ZVB1c2hl
ci5wb3AoKTsKLSAgICAgICAgICAgICAgICBtX2V2ZXJIYWRMYXlvdXQgPSB0cnVlOwotICAgICAg
ICAgICAgICAgIGxheW91dEJsb2NrKGZhbHNlLCBjb2x1bW5IZWlnaHQpOwotICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgfQotICAgICAgICB9IAotICAgICAgICAKLSAg
ICAgICAgaWYgKHBhZ2VIZWlnaHQpIC8vIEZJWE1FOiBTaG91bGQgd2UgdXNlIGxvd2VzdFBvc2l0
aW9uIChleGNsdWRpbmcgb3VyIHBvc2l0aW9uZWQgb2JqZWN0cykgaW5zdGVhZCBvZiBjb250ZW50
SGVpZ2h0KCk/Ci0gICAgICAgICAgICBjb2xJbmZvLT5zZXRDb2x1bW5Db3VudEFuZEhlaWdodChj
ZWlsZigoZmxvYXQpY29udGVudEhlaWdodCgpIC8gcGFnZUhlaWdodCksIHBhZ2VIZWlnaHQpOwot
Ci0gICAgICAgIGlmIChjb2x1bW5Db3VudChjb2xJbmZvKSkgewotICAgICAgICAgICAgSW50UmVj
dCBsYXN0UmVjdCA9IGNvbHVtblJlY3RBdChjb2xJbmZvLCBjb2x1bW5Db3VudChjb2xJbmZvKSAt
IDEpOwotICAgICAgICAgICAgaW50IG92ZXJmbG93TGVmdCA9ICFzdHlsZSgpLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkgPyBtaW4oMCwgbGFzdFJlY3QueCgpKSA6IDA7Ci0gICAgICAgICAgICBp
bnQgb3ZlcmZsb3dSaWdodCA9IHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1h
eCh3aWR0aCgpLCBsYXN0UmVjdC54KCkgKyBsYXN0UmVjdC53aWR0aCgpKSA6IDA7Ci0gICAgICAg
ICAgICBpbnQgb3ZlcmZsb3dIZWlnaHQgPSBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSArIGNv
bEluZm8tPmNvbHVtbkhlaWdodCgpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzZXRMb2dp
Y2FsSGVpZ2h0KG92ZXJmbG93SGVpZ2h0ICsgYm9yZGVyQm90dG9tKCkgKyBwYWRkaW5nQm90dG9t
KCkgKyBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOworICAgIGlmICghaGFzQ29sdW1ucygp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIG1fb3ZlcmZsb3cuY2xlYXIo
KTsKLSAgICAgICAgICAgIGFkZExheW91dE92ZXJmbG93KEludFJlY3Qob3ZlcmZsb3dMZWZ0LCAw
LCBvdmVyZmxvd1JpZ2h0IC0gb3ZlcmZsb3dMZWZ0LCBvdmVyZmxvd0hlaWdodCkpOworICAgIC8v
IEZJWE1FOiBXZSBkb24ndCBiYWxhbmNlIHByb3Blcmx5IGF0IGFsbCBpbiB0aGUgcHJlc2VuY2Ug
b2YgZm9yY2VkIHBhZ2UgYnJlYWtzLiAgV2UgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQKKyAgICAv
LyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBmb3JjZWQgcGFnZSBicmVha3MgaXMgc28gdGhhdCB3ZSBj
YW4gYXZvaWQgbWFraW5nIHRoZSBtaW5pbXVtIGNvbHVtbiBoZWlnaHQgdG9vIHRhbGwuCisgICAg
Q29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKKyAgICBpbnQgZGVzaXJlZENvbHVt
bkNvdW50ID0gY29sSW5mby0+ZGVzaXJlZENvbHVtbkNvdW50KCk7CisgICAgaWYgKCFoYXNTcGVj
aWZpZWRQYWdlSGVpZ2h0KSB7CisgICAgICAgIGludCBjb2x1bW5IZWlnaHQgPSBwYWdlSGVpZ2h0
OworICAgICAgICBpbnQgbWluQ29sdW1uQ291bnQgPSBjb2xJbmZvLT5mb3JjZWRCcmVha3MoKSAr
IDE7CisgICAgICAgIGlmIChtaW5Db2x1bW5Db3VudCA+PSBkZXNpcmVkQ29sdW1uQ291bnQpIHsK
KyAgICAgICAgICAgIC8vIFRoZSBmb3JjZWQgcGFnZSBicmVha3MgYXJlIGluIGNvbnRyb2wgb2Yg
dGhlIGJhbGFuY2luZy4gIEp1c3Qgc2V0IHRoZSBjb2x1bW4gaGVpZ2h0IHRvIHRoZQorICAgICAg
ICAgICAgLy8gbWF4aW11bSBwYWdlIGJyZWFrIGRpc3RhbmNlLgorICAgICAgICAgICAgaWYgKCFw
YWdlSGVpZ2h0KSB7CisgICAgICAgICAgICAgICAgaW50IGRpc3RhbmNlQmV0d2VlbkJyZWFrcyA9
IG1heChjb2xJbmZvLT5tYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9yY2VkQnJlYWtzKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3KCktPmxheW91
dFN0YXRlKCktPnBhZ2VZKGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29udGVudEhlaWdo
dCgpKSAtIGNvbEluZm8tPmZvcmNlZEJyZWFrT2Zmc2V0KCkpOworICAgICAgICAgICAgICAgIGNv
bHVtbkhlaWdodCA9IG1heChjb2xJbmZvLT5taW5pbXVtQ29sdW1uSGVpZ2h0KCksIGRpc3RhbmNl
QmV0d2VlbkJyZWFrcyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoY29udGVu
dEhlaWdodCgpID4gcGFnZUhlaWdodCAqIGRlc2lyZWRDb2x1bW5Db3VudCkgeworICAgICAgICAg
ICAgLy8gTm93IHRoYXQgd2Uga25vdyB0aGUgaW50cmluc2ljIGhlaWdodCBvZiB0aGUgY29sdW1u
cywgd2UgaGF2ZSB0byByZWJhbGFuY2UgdGhlbS4KKyAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9
IG1heChjb2xJbmZvLT5taW5pbXVtQ29sdW1uSGVpZ2h0KCksIChpbnQpY2VpbGYoKGZsb2F0KWNv
bnRlbnRIZWlnaHQoKSAvIGRlc2lyZWRDb2x1bW5Db3VudCkpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBpZiAoY29sdW1uSGVpZ2h0ICYmIGNvbHVtbkhlaWdodCAhPSBwYWdlSGVpZ2h0
KSB7CisgICAgICAgICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKKyAgICAgICAgICAgIG1fZXZlckhh
ZExheW91dCA9IHRydWU7CisgICAgICAgICAgICBsYXlvdXRCbG9jayhmYWxzZSwgY29sdW1uSGVp
Z2h0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CisgICAgfSAKKyAgICAK
KyAgICBpZiAocGFnZUhlaWdodCkgLy8gRklYTUU6IFNob3VsZCB3ZSB1c2UgbG93ZXN0UG9zaXRp
b24gKGV4Y2x1ZGluZyBvdXIgcG9zaXRpb25lZCBvYmplY3RzKSBpbnN0ZWFkIG9mIGNvbnRlbnRI
ZWlnaHQoKT8KKyAgICAgICAgY29sSW5mby0+c2V0Q29sdW1uQ291bnRBbmRIZWlnaHQoY2VpbGYo
KGZsb2F0KWNvbnRlbnRIZWlnaHQoKSAvIHBhZ2VIZWlnaHQpLCBwYWdlSGVpZ2h0KTsKKworICAg
IGlmIChjb2x1bW5Db3VudChjb2xJbmZvKSkgeworICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KGJv
cmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCkgKyBib3Jk
ZXJCb3R0b20oKSArIHBhZGRpbmdCb3R0b20oKSArIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQo
KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtNjE2MSw4ICs1ODE3LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRqdXN0TGlu
ZVBvc2l0aW9uRm9yUAogICAgIC8vIGxpbmUgYW5kIGFsbCBmb2xsb3dpbmcgbGluZXMuCiAgICAg
TGF5b3V0U3RhdGUqIGxheW91dFN0YXRlID0gdmlldygpLT5sYXlvdXRTdGF0ZSgpOwogICAgIGlu
dCBwYWdlSGVpZ2h0ID0gbGF5b3V0U3RhdGUtPm1fcGFnZUhlaWdodDsKLSAgICBpbnQgeVBvcyA9
IGxpbmVCb3gtPnRvcFZpc2libGVPdmVyZmxvdygpOwotICAgIGludCBsaW5lSGVpZ2h0ID0gbGlu
ZUJveC0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSB5UG9zOworICAgIGludCB5UG9zID0gbGlu
ZUJveC0+dG9wVmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgbGluZUhlaWdodCA9IGxpbmVCb3gt
PmJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSB5UG9zOwogICAgIGlmIChsYXlvdXRTdGF0ZS0+bV9j
b2x1bW5JbmZvKQogICAgICAgICBsYXlvdXRTdGF0ZS0+bV9jb2x1bW5JbmZvLT51cGRhdGVNaW5p
bXVtQ29sdW1uSGVpZ2h0KGxpbmVIZWlnaHQpOwogICAgIHlQb3MgKz0gZGVsdGE7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTgsMTEgKzk4LDYgQEAgcHVibGlj
OgogICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGludCBwb3NpdGlvbiwgYm9v
bCBmaXJzdExpbmUpIGNvbnN0OwogICAgIGludCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGlu
dCBwb3NpdGlvbiwgYm9vbCBmaXJzdExpbmUpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSaWdodE9m
ZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoKSwgZmly
c3RMaW5lKTsgfQogICAgIGludCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoaW50IHBvc2l0aW9u
LCBib29sIGZpcnN0TGluZSkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5l
KHBvc2l0aW9uLCBsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQoKSwgZmlyc3RMaW5lKTsgfQot
Ci0gICAgdmlydHVhbCBpbnQgdG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJ
bmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihi
b29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRy
dWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVh
bCBpbnQgcmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRy
dWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFu
c2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBs
eVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwogICAgIAogICAgIHZpcnR1YWwg
VmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKTsKICAgICAK
QEAgLTIwOSw2ICsyMDQsOCBAQCBwdWJsaWM6CiAgICAgfTsKICAgICBNYXJnaW5WYWx1ZXMgbWFy
Z2luVmFsdWVzRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQg
c2Nyb2xsYmFyc0NoYW5nZWQoYm9vbCAvKmhvcml6b250YWxTY3JvbGxiYXJDaGFuZ2VkKi8sIGJv
b2wgLyp2ZXJ0aWNhbFNjcm9sbGJhckNoYW5nZWQqLykgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAg
Ly8gVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IHVzZWQgaW50ZXJuYWxseSB0byBtYW5pcHVsYXRl
IHRoZSByZW5kZXIgdHJlZSBzdHJ1Y3R1cmUgdmlhIHJlbW92ZS9pbnNlcnQvYXBwZW5kQ2hpbGRO
b2RlLgogICAgIC8vIFNpbmNlIHRoZXkgYXJlIHR5cGljYWxseSBjYWxsZWQgb25seSB0byBtb3Zl
IG9iamVjdHMgYXJvdW5kIHdpdGhpbiBhbm9ueW1vdXMgYmxvY2tzICh3aGljaCBvbmx5IGhhdmUg
bGF5ZXJzIGluCkBAIC0yODYsNiArMjgzLDEzIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJv
b2wgaGFzTGluZUlmRW1wdHkoKSBjb25zdDsKICAgICBib29sIGxheW91dE9ubHlQb3NpdGlvbmVk
T2JqZWN0cygpOwogCisgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coaW50IG9sZENsaWVudEFmdGVy
RWRnZSwgYm9vbCByZWNvbXB1dGVGbG9hdHMgPSBmYWxzZSk7CisgICAgdmlydHVhbCB2b2lkIGFk
ZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21GbG9hdHMo
KTsKKyAgICB2b2lkIGFkZE92ZXJmbG93RnJvbVBvc2l0aW9uZWRPYmplY3RzKCk7CisgICAgdm9p
ZCBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zy
b21JbmxpbmVDaGlsZHJlbigpOworCiAjaWYgRU5BQkxFKFNWRykKIHByb3RlY3RlZDoKIApAQCAt
Mjk4LDggKzMwMiw2IEBAIHByb3RlY3RlZDoKICAgICB9CiAjZW5kaWYKIAotICAgIHZvaWQgYWRk
T3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOwotCiBwcml2YXRlOgogICAgIHZpcnR1YWwgUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSB7IHJldHVybiBjaGlsZHJlbigp
OyB9CiAgICAgdmlydHVhbCBjb25zdCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHZpcnR1YWxDaGls
ZHJlbigpIGNvbnN0IHsgcmV0dXJuIGNoaWxkcmVuKCk7IH0KQEAgLTMzMCw4ICszMzIsNiBAQCBw
cml2YXRlOgogICAgIHZvaWQgbGF5b3V0QmxvY2tDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIGludCYgbWF4RmxvYXRMb2dpY2FsQm90dG9tKTsKICAgICB2b2lkIGxheW91dElubGluZUNo
aWxkcmVuKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgaW50JiByZXBhaW50TG9naWNhbFRvcCwgaW50
JiByZXBhaW50TG9naWNhbEJvdHRvbSk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zaXRpb25MaXN0
TWFya2VyKCkgeyB9Ci0KICAgICB2aXJ0dWFsIHZvaWQgYm9yZGVyRml0QWRqdXN0KGludCYgeCwg
aW50JiB3KSBjb25zdDsgLy8gU2hyaW5rIHRoZSBib3ggaW4gd2hpY2ggdGhlIGJvcmRlciBwYWlu
dHMgaWYgYm9yZGVyLWZpdCBpcyBzZXQuCiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmVmb3Jl
QWZ0ZXJDb250ZW50KFBzZXVkb0lkKTsKQEAgLTQ2MywxNSArNDYzLDEyIEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBjb21wdXRlQmxvY2tEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVC
b3gqLCBCaWRpUnVuKiwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmLCBWZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUmKTsKICAgICB2b2lkIGRlbGV0ZUVsbGlwc2lzTGluZUJveGVzKCk7CiAg
ICAgdm9pZCBjaGVja0xpbmVzRm9yVGV4dE92ZXJmbG93KCk7Ci0gICAgdm9pZCBhZGRPdmVyZmxv
d0Zyb21JbmxpbmVDaGlsZHJlbigpOwotICAgIGludCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93
Rm9yTGluZShSb290SW5saW5lQm94KikgY29uc3Q7Ci0gICAgaW50IGFmdGVyU2lkZVZpc2libGVP
dmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OworICAgIGludCBiZWZvcmVTaWRl
VmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25zdDsKKyAgICBpbnQgYWZ0
ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqKSBjb25zdDsKICAgICBp
bnQgYmVmb3JlU2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KikgY29uc3Q7
CiAgICAgaW50IGFmdGVyU2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94Kikg
Y29uc3Q7CiAgICAgLy8gRW5kIG9mIGZ1bmN0aW9ucyBkZWZpbmVkIGluIFJlbmRlckJsb2NrTGlu
ZUxheW91dC5jcHAuCiAKLSAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUZsb2F0cygpOwotCiAgICAg
dm9pZCBwYWludEZsb2F0cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwcmVzZXJ2
ZVBoYXNlID0gZmFsc2UpOwogICAgIHZvaWQgcGFpbnRDb250ZW50cyhQYWludEluZm8mLCBpbnQg
dHgsIGludCB0eSk7CiAgICAgdm9pZCBwYWludENvbHVtbkNvbnRlbnRzKFBhaW50SW5mbyYsIGlu
dCB0eCwgaW50IHR5LCBib29sIHBhaW50RmxvYXRzID0gZmFsc2UpOwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYxNSw4ICs2MTUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGls
ZHJlbihiCiAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5kZXJBcmVuYSgpOwog
ICAgICAgICAgICAgUm9vdElubGluZUJveCogYm94ID0gc3RhcnRMaW5lOwogICAgICAgICAgICAg
d2hpbGUgKGJveCkgewotICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJl
cGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShib3gpKTsK
LSAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNh
bEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShib3gpKTsKKyAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3Jl
U2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3gpKTsKKyAgICAgICAgICAgICAgICByZXBhaW50
TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFs
T3ZlcmZsb3dGb3JMaW5lKGJveCkpOwogICAgICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIG5l
eHQgPSBib3gtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgYm94LT5kZWxldGVMaW5l
KGFyZW5hKTsKICAgICAgICAgICAgICAgICBib3ggPSBuZXh0OwpAQCAtNzY0LDYgKzc2NCw5IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICNlbmRpZgogCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb21wdXRl
IG91ciBvdmVyZmxvdyBub3cuCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lQm94LT5jb21w
dXRlT3ZlcmZsb3cobGluZUJveC0+bGluZVRvcCgpLCBsaW5lQm94LT5saW5lQm90dG9tKCksIGRv
Y3VtZW50KCktPmluTm9RdWlya3NNb2RlKCksIHRleHRCb3hEYXRhTWFwKTsKKyAgICAKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIaWdobGlnaHQgYWN0cyBh
cyBhbiBvdmVyZmxvdyBpbmZsYXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3R5
bGUoKS0+aGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20pCkBAIC03NzcsOCArNzgwLDggQEAgdm9pZCBS
ZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgICAgIGlmIChs
aW5lQm94KSB7CiAgICAgICAgICAgICAgICAgICAgIGxpbmVCb3gtPnNldExpbmVCcmVha0luZm8o
ZW5kLm9iaiwgZW5kLnBvcywgcmVzb2x2ZXIuc3RhdHVzKCkpOwogICAgICAgICAgICAgICAgICAg
ICBpZiAodXNlUmVwYWludEJvdW5kcykgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWlu
dExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3Zl
cmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxl
T3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFp
bnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzdWFsT3Zl
cmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxP
dmVyZmxvd0ZvckxpbmUobGluZUJveCkpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBpZiAocGFnaW5hdGVkKSB7CkBAIC03
ODgsNyArNzkxLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvbGRMaW5lV2lkdGggPSBhdmFpbGFibGVM
b2dpY2FsV2lkdGhGb3JMaW5lKG9sZExvZ2ljYWxIZWlnaHQsIGZpcnN0TGluZSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGluZUJveC0+YWRqdXN0UG9zaXRpb24oMCwgYWRqdXN0bWVu
dCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZVJlcGFpbnRCb3VuZHMpIC8v
IFRoaXMgY2FuIG9ubHkgYmUgYSBwb3NpdGl2ZSBhZGp1c3RtZW50LCBzbyBubyBuZWVkIHRvIHVw
ZGF0ZSByZXBhaW50VG9wLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50
TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJs
ZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRl
clNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXZhaWxhYmxl
TG9naWNhbFdpZHRoRm9yTGluZShvbGRMb2dpY2FsSGVpZ2h0ICsgYWRqdXN0bWVudCwgZmlyc3RM
aW5lKSAhPSBvbGRMaW5lV2lkdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gV2UgaGF2ZSB0byBkZWxldGUgdGhpcyBsaW5lLCByZW1vdmUgYWxsIGZsb2F0cyB0aGF0IGdv
dCBhZGRlZCwgYW5kIGxldCBsaW5lIGxheW91dCByZS1ydW4uCkBAIC04NDIsOCArODQ1LDggQEAg
dm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgICAg
ICAgICAgICAgYWRqdXN0TGluZVBvc2l0aW9uRm9yUGFnaW5hdGlvbihsaW5lLCBkZWx0YSk7CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbHRhKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9n
aWNhbFRvcCwgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZSkgKyBtaW4oZGVs
dGEsIDApKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0g
bWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5l
KGxpbmUpICsgbWF4KGRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50
TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJm
bG93Rm9yTGluZShsaW5lKSArIG1pbihkZWx0YSwgMCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lKSArIG1heChkZWx0YSwgMCkpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbGluZS0+YWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyQm94
Kj4qIGNsZWFuTGluZUZsb2F0cyA9IGxpbmUtPmZsb2F0c1B0cigpKSB7CkBAIC04NjEsOCArODY0
LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAg
ICAgICAgIFJvb3RJbmxpbmVCb3gqIGxpbmUgPSBlbmRMaW5lOwogICAgICAgICAgICAgICAgIFJl
bmRlckFyZW5hKiBhcmVuYSA9IHJlbmRlckFyZW5hKCk7CiAgICAgICAgICAgICAgICAgd2hpbGUg
KGxpbmUpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVw
YWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsK
LSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExv
Z2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZSkpOworICAg
ICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRv
cCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lKSk7CisgICAgICAgICAgICAg
ICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBh
ZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkpOwogICAgICAgICAgICAgICAgICAg
ICBSb290SW5saW5lQm94KiBuZXh0ID0gbGluZS0+bmV4dFJvb3RCb3goKTsKICAgICAgICAgICAg
ICAgICAgICAgbGluZS0+ZGVsZXRlTGluZShhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgIGxp
bmUgPSBuZXh0OwpAQCAtODc0LDcgKzg3Nyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElu
bGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgIC8vIFRoaXMgaGFzIHRvIGJlIGRvbmUgYmVmb3Jl
IGFkZGluZyBpbiB0aGUgYm90dG9tIGJvcmRlci9wYWRkaW5nLCBvciB0aGUgZmxvYXQgd2lsbAog
ICAgICAgICAgICAgLy8gaW5jbHVkZSB0aGUgcGFkZGluZyBpbmNvcnJlY3RseS4gLWR3aAogICAg
ICAgICAgICAgaWYgKGNoZWNrRm9yRmxvYXRzRnJvbUxhc3RMaW5lKSB7Ci0gICAgICAgICAgICAg
ICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9y
TGluZShsYXN0Um9vdEJveCgpKTsKKyAgICAgICAgICAgICAgICBpbnQgYm90dG9tVmlzdWFsT3Zl
cmZsb3cgPSBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7CiAg
ICAgICAgICAgICAgICAgaW50IGJvdHRvbUxheW91dE92ZXJmbG93ID0gYWZ0ZXJTaWRlTGF5b3V0
T3ZlcmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOwogICAgICAgICAgICAgICAgIFRyYWlsaW5n
RmxvYXRzUm9vdElubGluZUJveCogdHJhaWxpbmdGbG9hdHNMaW5lQm94ID0gbmV3IChyZW5kZXJB
cmVuYSgpKSBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3godGhpcyk7CiAgICAgICAgICAgICAg
ICAgbV9saW5lQm94ZXMuYXBwZW5kTGluZUJveCh0cmFpbGluZ0Zsb2F0c0xpbmVCb3gpOwpAQCAt
ODgyLDcgKzg4NSw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIK
ICAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCB0ZXh0Qm94
RGF0YU1hcDsKICAgICAgICAgICAgICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgdmVydGljYWxQ
b3NpdGlvbkNhY2hlOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+YWxp
Z25Cb3hlc0luQmxvY2tEaXJlY3Rpb24obG9naWNhbEhlaWdodCgpLCB0ZXh0Qm94RGF0YU1hcCwg
dmVydGljYWxQb3NpdGlvbkNhY2hlKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xp
bmVCb3gtPnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobG9naWNhbEhlaWdodCgp
LCBib3R0b21MYXlvdXRPdmVyZmxvdywgbG9naWNhbEhlaWdodCgpLCBib3R0b21WaXN1YWxPdmVy
Zmxvdyk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3coMCwg
bG9naWNhbEhlaWdodCgpLCAxLCBib3R0b21MYXlvdXRPdmVyZmxvdyk7CisgICAgICAgICAgICAg
ICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3coMCwgbG9naWNhbEhlaWdodCgpLCAxLCBi
b3R0b21WaXN1YWxPdmVyZmxvdyk7CisgICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5l
Qm94LT5zZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cpOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGlu
ZUJveC0+c2V0QmxvY2tMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBpZiAobGFzdEZsb2F0KSB7CkBAIC05NTUsOCArOTYwLDggQEAgUm9v
dElubGluZUJveCogUmVuZGVyQmxvY2s6OmRldGVybWluZVN0YQogICAgICAgICAgICAgICAgICAg
ICBpZiAoIXVzZVJlcGFpbnRCb3VuZHMpCiAgICAgICAgICAgICAgICAgICAgICAgICB1c2VSZXBh
aW50Qm91bmRzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3Jl
U2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoY3VycikgKyBtaW4ocGFnaW5hdGlvbkRlbHRhLCAw
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFp
bnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGN1cnIpICsg
bWF4KHBhZ2luYXRpb25EZWx0YSwgMCkpOworICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9n
aWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93
Rm9yTGluZShjdXJyKSArIG1pbihwYWdpbmF0aW9uRGVsdGEsIDApKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFm
dGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1heChwYWdpbmF0aW9uRGVsdGEs
IDApKTsKICAgICAgICAgICAgICAgICAgICAgY3Vyci0+YWRqdXN0UG9zaXRpb24oMCwgcGFnaW5h
dGlvbkRlbHRhKTsKICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgfQpAQCAtMTE3Miw4ICsxMTc3LDggQEAgYm9vbCBSZW5kZXJCbG9jazo6bWF0Y2hlZEVuZExp
bmUoY29uc3QgSQogICAgICAgICAgICAgUm9vdElubGluZUJveCogYm94VG9EZWxldGUgPSBlbmRM
aW5lOwogICAgICAgICAgICAgUmVuZGVyQXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAg
ICAgICAgICAgIHdoaWxlIChib3hUb0RlbGV0ZSAmJiBib3hUb0RlbGV0ZSAhPSByZXN1bHQpIHsK
LSAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRv
cCwgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoYm94VG9EZWxldGUpKTsKLSAgICAg
ICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRv
bSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShib3hUb0RlbGV0ZSkpOworICAgICAg
ICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZv
cmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7CisgICAgICAgICAgICAg
ICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVy
U2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3hUb0RlbGV0ZSkpOwogICAgICAgICAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIG5leHQgPSBib3hUb0RlbGV0ZS0+bmV4dFJvb3RCb3goKTsKICAgICAg
ICAgICAgICAgICBib3hUb0RlbGV0ZS0+ZGVsZXRlTGluZShhcmVuYSk7CiAgICAgICAgICAgICAg
ICAgYm94VG9EZWxldGUgPSBuZXh0OwpAQCAtMjAyOSwyOSArMjAzNCwzMyBAQCBJbmxpbmVJdGVy
YXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmFkZE92
ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKCkKIHsKKyAgICBpbnQgZW5kUGFkZGluZyA9IGhhc092
ZXJmbG93Q2xpcCgpID8gcGFkZGluZ0VuZCgpIDogMDsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBm
aW5kIGFub3RoZXIgd2F5IHRvIGRvIHRoaXMsIHNpbmNlIHNjcm9sbGJhcnMgY291bGQgc2hvdyB3
aGVuIHdlIGRvbid0IHdhbnQgdGhlbSB0by4KKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYg
IWVuZFBhZGRpbmcgJiYgbm9kZSgpICYmIG5vZGUoKS0+aXNDb250ZW50RWRpdGFibGUoKSAmJiBu
b2RlKCkgPT0gbm9kZSgpLT5yb290RWRpdGFibGVFbGVtZW50KCkgJiYgc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICBlbmRQYWRkaW5nID0gMTsKICAgICBmb3IgKFJv
b3RJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5l
eHRSb290Qm94KCkpIHsKLSAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3coY3Vyci0+bGF5b3V0T3Zl
cmZsb3dSZWN0KCkpOworICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhjdXJyLT5wYWRkZWRMYXlv
dXRPdmVyZmxvd1JlY3QoZW5kUGFkZGluZykpOwogICAgICAgICBpZiAoIWhhc092ZXJmbG93Q2xp
cCgpKQogICAgICAgICAgICAgYWRkVmlzdWFsT3ZlcmZsb3coY3Vyci0+dmlzdWFsT3ZlcmZsb3dS
ZWN0KCkpOwogICAgIH0KIH0KIAotaW50IFJlbmRlckJsb2NrOjpiZWZvcmVTaWRlVmlzaWJsZU92
ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAoraW50IFJlbmRlckJsb2Nr
OjpiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUpIGNv
bnN0CiB7CiAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRpbmF0ZSBzcGFj
ZSwgd2hpY2ggbWVhbnMgaXQgaXNuJ3QgcHVyZWx5IHBoeXNpY2FsLiAgRm9yIGZsaXBwZWQgYmxv
Y2tzIChybCBhbmQgYnQpLAogICAgIC8vIHdlIGNvbnRpbnVlIHRvIHVzZSB0b3AgYW5kIGxlZnQg
b3ZlcmZsb3cgZXZlbiB0aG91Z2ggcGh5c2ljYWxseSBpdCdzIGJvdHRvbSBhbmQgcmlnaHQuCiAg
ICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVy
biBsaW5lLT50b3BWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICByZXR1cm4gbGluZS0+bGVmdFZpc2li
bGVPdmVyZmxvdygpOworICAgICAgICByZXR1cm4gbGluZS0+dG9wVmlzdWFsT3ZlcmZsb3coKTsK
KyAgICByZXR1cm4gbGluZS0+bGVmdFZpc3VhbE92ZXJmbG93KCk7CiB9CiAKLWludCBSZW5kZXJC
bG9jazo6YWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5l
KSBjb25zdAoraW50IFJlbmRlckJsb2NrOjphZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUo
Um9vdElubGluZUJveCogbGluZSkgY29uc3QKIHsKICAgICAvLyBPdmVyZmxvdyBpcyBpbiB0aGUg
YmxvY2sncyBjb29yZGluYXRlIHNwYWNlLCB3aGljaCBtZWFucyBpdCBpc24ndCBwdXJlbHkgcGh5
c2ljYWwuICBGb3IgZmxpcHBlZCBibG9ja3MgKHJsIGFuZCBidCksCiAgICAgLy8gd2UgY29udGlu
dWUgdG8gdXNlIGJvdHRvbSBhbmQgcmlnaHQgb3ZlcmZsb3cgZXZlbiB0aG91Z2ggcGh5c2ljYWxs
eSBpdCdzIHRvcCBhbmQgbGVmdC4KICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSkKLSAgICAgICAgcmV0dXJuIGxpbmUtPmJvdHRvbVZpc2libGVPdmVyZmxvdygpOwot
ICAgIHJldHVybiBsaW5lLT5yaWdodFZpc2libGVPdmVyZmxvdygpOworICAgICAgICByZXR1cm4g
bGluZS0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKTsKKyAgICByZXR1cm4gbGluZS0+cmlnaHRWaXN1
YWxPdmVyZmxvdygpOwogfQogCiBpbnQgUmVuZGVyQmxvY2s6OmJlZm9yZVNpZGVMYXlvdXRPdmVy
Zmxvd0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDYsOSArNDA2LDEwIEBAIGludCBSZW5kZXJCb3g6
OnNjcm9sbFdpZHRoKCkgY29uc3QKICAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAg
IHJldHVybiBsYXllcigpLT5zY3JvbGxXaWR0aCgpOwogICAgIC8vIEZvciBvYmplY3RzIHdpdGgg
dmlzaWJsZSBvdmVyZmxvdywgdGhpcyBtYXRjaGVzIElFLgorICAgIC8vIEZJWE1FOiBOZWVkIHRv
IHdvcmsgcmlnaHQgd2l0aCB3cml0aW5nIG1vZGVzLgogICAgIGlmIChzdHlsZSgpLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgIHJldHVybiBtYXgoY2xpZW50V2lkdGgoKSwgcmln
aHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm9yZGVyTGVmdCgpKTsKLSAgICByZXR1cm4g
Y2xpZW50V2lkdGgoKSAtIG1pbigwLCBsZWZ0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIGJv
cmRlckxlZnQoKSk7CisgICAgICAgIHJldHVybiBtYXgoY2xpZW50V2lkdGgoKSwgcmlnaHRMYXlv
dXRPdmVyZmxvdygpIC0gYm9yZGVyTGVmdCgpKTsKKyAgICByZXR1cm4gY2xpZW50V2lkdGgoKSAt
IG1pbigwLCBsZWZ0TGF5b3V0T3ZlcmZsb3coKSAtIGJvcmRlckxlZnQoKSk7CiB9CiAKIGludCBS
ZW5kZXJCb3g6OnNjcm9sbEhlaWdodCgpIGNvbnN0CkBAIC00MTYsNyArNDE3LDggQEAgaW50IFJl
bmRlckJveDo6c2Nyb2xsSGVpZ2h0KCkgY29uc3QKICAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkp
CiAgICAgICAgIHJldHVybiBsYXllcigpLT5zY3JvbGxIZWlnaHQoKTsKICAgICAvLyBGb3Igb2Jq
ZWN0cyB3aXRoIHZpc2libGUgb3ZlcmZsb3csIHRoaXMgbWF0Y2hlcyBJRS4KLSAgICByZXR1cm4g
bWF4KGNsaWVudEhlaWdodCgpLCBsb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJU
b3AoKSk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gd29yayByaWdodCB3aXRoIHdyaXRpbmcgbW9k
ZXMuCisgICAgcmV0dXJuIG1heChjbGllbnRIZWlnaHQoKSwgYm90dG9tTGF5b3V0T3ZlcmZsb3co
KSAtIGJvcmRlclRvcCgpKTsKIH0KIAogaW50IFJlbmRlckJveDo6c2Nyb2xsTGVmdCgpIGNvbnN0
CkBAIC00NTEsMjIgKzQ1Myw2IEBAIHZvaWQgUmVuZGVyQm94OjphYnNvbHV0ZVF1YWRzKFZlY3Rv
cjxGbG8KICAgICBxdWFkcy5hcHBlbmQobG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QoMCwg
MCwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7CiB9CiAKLUludFJlY3QgUmVuZGVyQm94OjphcHBseUxh
eWVyVHJhbnNmb3JtVG9SZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Ci17Ci0gICAgaWYg
KGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOwotICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHJl
Y3QueCgpLCByZWN0LnkoKSk7Ci0gICAgICAgIHRyYW5zZm9ybS5tdWx0TGVmdChsYXllcigpLT5j
dXJyZW50VHJhbnNmb3JtKCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtLm1hcFJlY3QoSW50
UmVjdCgwLCAwLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpKTsKLSAgICB9Ci0gICAgcmV0
dXJuIHJlY3Q7Ci19Ci0KLUludFJlY3QgUmVuZGVyQm94Ojp0cmFuc2Zvcm1lZEZyYW1lUmVjdCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoZnJhbWVSZWN0
KCkpOwotfQotCiB2b2lkIFJlbmRlckJveDo6dXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKQogewogICAg
IC8vIFRyYW5zZm9ybS1vcmlnaW4gZGVwZW5kcyBvbiBib3ggc2l6ZSwgc28gd2UgbmVlZCB0byB1
cGRhdGUgdGhlIGxheWVyIHRyYW5zZm9ybSBhZnRlciBsYXlvdXQuCkBAIC03NzMsOCArNzU5LDgg
QEAgdm9pZCBSZW5kZXJCb3g6OnBhaW50Um9vdEJveERlY29yYXRpb25zKAogICAgIC8vIENTUzIg
MTQuMjoKICAgICAvLyBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYm94IGdlbmVyYXRlZCBieSB0aGUg
cm9vdCBlbGVtZW50IGNvdmVycyB0aGUgZW50aXJlIGNhbnZhcyBpbmNsdWRpbmcKICAgICAvLyBp
dHMgbWFyZ2lucy4KLSAgICBpbnQgYnggPSB0eCAtIG1hcmdpbkxlZnQoKSArIHZpZXcoKS0+bGVm
dExheW91dE92ZXJmbG93KCk7Ci0gICAgaW50IGJ5ID0gdHkgLSBtYXJnaW5Ub3AoKSArIHZpZXco
KS0+dG9wTGF5b3V0T3ZlcmZsb3coKTsKKyAgICBpbnQgYnggPSB0eCAtIG1hcmdpbkxlZnQoKSAr
IHZpZXcoKS0+ZG9jTGVmdCgpOworICAgIGludCBieSA9IHR5IC0gbWFyZ2luVG9wKCkgKyB2aWV3
KCktPmRvY1RvcCgpOwogICAgIGludCBidyA9IG1heCh3ICsgbWFyZ2luTGVmdCgpICsgbWFyZ2lu
UmlnaHQoKSArIGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCksIHJ3KTsKICAgICBpbnQgYmgg
PSBtYXgoaCArIG1hcmdpblRvcCgpICsgbWFyZ2luQm90dG9tKCkgKyBib3JkZXJUb3AoKSArIGJv
cmRlckJvdHRvbSgpLCByaCk7CiAKQEAgLTEzMTYsNyArMTMwMiw3IEBAIEludFJlY3QgUmVuZGVy
Qm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm8KICAgICBpZiAoc3R5bGUoKS0+dmlzaWJpbGl0eSgp
ICE9IFZJU0lCTEUgJiYgIWVuY2xvc2luZ0xheWVyKCktPmhhc1Zpc2libGVDb250ZW50KCkpCiAg
ICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKLSAgICBJbnRSZWN0IHIgPSB2aXNpYmxlT3ZlcmZs
b3dSZWN0KCk7CisgICAgSW50UmVjdCByID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAKICAgICBS
ZW5kZXJWaWV3KiB2ID0gdmlldygpOwogICAgIGlmICh2KSB7CkBAIC0yOTYyLDUwICsyOTQ4LDYg
QEAgSW50UmVjdCBSZW5kZXJCb3g6OmxvY2FsQ2FyZXRSZWN0KElubGluZQogICAgIHJldHVybiBy
ZWN0OwogfQogCi1pbnQgUmVuZGVyQm94Ojp0b3Btb3N0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5
VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlU
cmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVk
RnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFu
c2Zvcm1lZFJlY3Qud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IHRvcCA9IDA7
Ci0gICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICB0b3AgKz0gcmVsYXRpdmVQb3Np
dGlvbk9mZnNldFkoKTsKLSAgICByZXR1cm4gdG9wOwotfQotCi1pbnQgUmVuZGVyQm94Ojpsb3dl
c3RQb3NpdGlvbihib29sIC8qaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IqLywgYm9vbCBpbmNsdWRl
U2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgSW50UmVj
dCB0cmFuc2Zvcm1lZFJlY3QgPSBhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYm
IGluY2x1ZGVTZWxmID8gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSA6IGZyYW1lUmVjdCgpOwotICAg
IGlmICghaW5jbHVkZVNlbGYgfHwgIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpKQotICAgICAgICBy
ZXR1cm4gMDsKLSAgICBpbnQgYm90dG9tID0gdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpOwotICAg
IGlmIChpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgYm90dG9tICs9IHJlbGF0aXZlUG9zaXRp
b25PZmZzZXRZKCk7Ci0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlckJveDo6cmln
aHRtb3N0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5j
bHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIElu
dFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9y
bSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsK
LSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpCi0gICAg
ICAgIHJldHVybiAwOwotICAgIGludCByaWdodCA9IHRyYW5zZm9ybWVkUmVjdC53aWR0aCgpOwot
ICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkKLSAgICAgICAgcmlnaHQgKz0gcmVsYXRpdmVQb3Np
dGlvbk9mZnNldFgoKTsKLSAgICByZXR1cm4gcmlnaHQ7Ci19Ci0KLWludCBSZW5kZXJCb3g6Omxl
ZnRtb3N0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVPdmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5j
bHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIElu
dFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9y
bSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsK
LSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpCi0gICAg
ICAgIHJldHVybiB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKTsKLSAgICBpbnQgbGVmdCA9IDA7Ci0g
ICAgaWYgKGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICBsZWZ0ICs9IHJlbGF0aXZlUG9zaXRp
b25PZmZzZXRYKCk7Ci0gICAgcmV0dXJuIGxlZnQ7Ci19Ci0KIFZpc2libGVQb3NpdGlvbiBSZW5k
ZXJCb3g6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50KQogewogICAgIC8v
IG5vIGNoaWxkcmVuLi4ucmV0dXJuIHRoaXMgcmVuZGVyIG9iamVjdCdzIGVsZW1lbnQsIGlmIHRo
ZXJlIGlzIG9uZSwgYW5kIG9mZnNldCAwCkBAIC0zMTMwLDQ3ICszMDcyLDY3IEBAIHZvaWQgUmVu
ZGVyQm94OjphZGRTaGFkb3dPdmVyZmxvdygpCiAKIHZvaWQgUmVuZGVyQm94OjphZGRPdmVyZmxv
d0Zyb21DaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRTaXplJiBkZWx0YSkKIHsKLSAg
ICAvLyBVcGRhdGUgb3VyIG92ZXJmbG93IGluIGNhc2UgdGhlIGNoaWxkIHNwaWxscyBvdXQgdGhl
IGJsb2NrLCBidXQgb25seSBpZiB3ZSB3ZXJlIGdvaW5nIHRvIHBhaW50Ci0gICAgLy8gdGhlIGNo
aWxkIGJsb2NrIG91cnNlbHZlcy4KLSAgICBpZiAoY2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVy
KCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIC8vIE9ubHkgcHJvcGFnYXRlIGxheW91dCBvdmVy
ZmxvdyBmcm9tIHRoZSBjaGlsZCBpZiB0aGUgY2hpbGQgaXNuJ3QgY2xpcHBpbmcgaXRzIG92ZXJm
bG93LiAgSWYgaXQgaXMsIHRoZW4KLSAgICAvLyBpdHMgb3ZlcmZsb3cgaXMgaW50ZXJuYWwgdG8g
aXQsIGFuZCB3ZSBkb24ndCBjYXJlIGFib3V0IGl0LgotICAgIEludFJlY3QgY2hpbGRMYXlvdXRP
dmVyZmxvd1JlY3QgPSBjaGlsZC0+aGFzT3ZlcmZsb3dDbGlwKCkgPyBjaGlsZC0+Ym9yZGVyQm94
UmVjdCgpIDogY2hpbGQtPmxheW91dE92ZXJmbG93UmVjdCgpOworICAgIC8vIGl0cyBvdmVyZmxv
dyBpcyBpbnRlcm5hbCB0byBpdCwgYW5kIHdlIGRvbid0IGNhcmUgYWJvdXQgaXQuICBsYXlvdXRP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbiB0YWtlcyBjYXJlIG9mIHRoaXMKKyAgICAvLyBhbmQg
anVzdCBwcm9wYWdhdGVzIHRoZSBib3JkZXIgYm94IHJlY3QgaW5zdGVhZC4KKyAgICBJbnRSZWN0
IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0ID0gY2hpbGQtPmxheW91dE92ZXJmbG93UmVjdEZvclBy
b3BhZ2F0aW9uKHN0eWxlKCkpOwogICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0Lm1vdmUoZGVs
dGEpOwogICAgIGFkZExheW91dE92ZXJmbG93KGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0KTsKICAg
ICAgICAgICAgIAogICAgIC8vIEFkZCBpbiB2aXN1YWwgb3ZlcmZsb3cgZnJvbSB0aGUgY2hpbGQu
ICBFdmVuIGlmIHRoZSBjaGlsZCBjbGlwcyBpdHMgb3ZlcmZsb3csIGl0IG1heSBzdGlsbAogICAg
IC8vIGhhdmUgdmlzdWFsIG92ZXJmbG93IG9mIGl0cyBvd24gc2V0IGZyb20gYm94IHNoYWRvd3Mg
b3IgcmVmbGVjdGlvbnMuICBJdCBpcyB1bm5lY2Vzc2FyeSB0byBwcm9wYWdhdGUgdGhpcwogICAg
IC8vIG92ZXJmbG93IGlmIHdlIGFyZSBjbGlwcGluZyBvdXIgb3duIG92ZXJmbG93LgotICAgIGlm
IChoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICBpZiAoY2hpbGQtPmhhc1NlbGZQYWludGluZ0xheWVy
KCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBJbnRSZWN0IGNo
aWxkVmlzdWFsT3ZlcmZsb3dSZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVjdCgpOworICAg
IEludFJlY3QgY2hpbGRWaXN1YWxPdmVyZmxvd1JlY3QgPSBjaGlsZC0+dmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24oc3R5bGUoKSk7CiAgICAgY2hpbGRWaXN1YWxPdmVyZmxvd1JlY3Qu
bW92ZShkZWx0YSk7CiAgICAgYWRkVmlzdWFsT3ZlcmZsb3coY2hpbGRWaXN1YWxPdmVyZmxvd1Jl
Y3QpOwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkTGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGJvcmRlckJveCA9IGJvcmRlckJveFJlY3QoKTsKLSAg
ICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAgIEludFJlY3QgY2xpZW50Qm94ID0g
Y2xpZW50Qm94UmVjdCgpOworICAgIGlmIChjbGllbnRCb3guY29udGFpbnMocmVjdCkgfHwgcmVj
dC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKKyAgICAKKyAgICAvLyBGb3Igb3ZlcmZsb3cg
Y2xpcCBvYmplY3RzLCB3ZSBkb24ndCB3YW50IHRvIHByb3BhZ2F0ZSBvdmVyZmxvdyBpbnRvIHVu
cmVhY2hhYmxlIGFyZWFzLgorICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHJlY3QpOworICAgIGlm
IChoYXNPdmVyZmxvd0NsaXAoKSB8fCBpc1JlbmRlclZpZXcoKSkgeworICAgICAgICAvLyBPdmVy
ZmxvdyBpcyBpbiB0aGUgYmxvY2sncyBjb29yZGluYXRlIHNwYWNlIGFuZCB0aHVzIGlzIGZsaXBw
ZWQgZm9yIGhvcml6b250YWwtYnQgYW5kIHZlcnRpY2FsLXJsIAorICAgICAgICAvLyB3cml0aW5n
IG1vZGVzLiAgQXQgdGhpcyBzdGFnZSB0aGF0IGlzIGFjdHVhbGx5IGEgc2ltcGxpZmljYXRpb24s
IHNpbmNlIHdlIGNhbiB0cmVhdCBob3Jpem9udGFsLXRiL2J0IGFzIHRoZSBzYW1lCisgICAgICAg
IC8vIGFuZCB2ZXJ0aWNhbC1sci9ybCBhcyB0aGUgc2FtZS4KKyAgICAgICAgYm9vbCBoYXNUb3BP
dmVyZmxvdyA9ICFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgIXN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CisgICAgICAgIGJvb2wgaGFzTGVmdE92ZXJmbG93
ID0gIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSAmJiBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKKyAgICAgICAgaWYgKCFoYXNUb3BPdmVyZmxv
dykKKyAgICAgICAgICAgIG92ZXJmbG93UmVjdC5zaGlmdFRvcEVkZ2VUbyhtYXgob3ZlcmZsb3dS
ZWN0LnkoKSwgY2xpZW50Qm94LnkoKSkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBvdmVy
Zmxvd1JlY3Quc2hpZnRCb3R0b21FZGdlVG8obWluKG92ZXJmbG93UmVjdC5ib3R0b20oKSwgY2xp
ZW50Qm94LmJvdHRvbSgpKSk7CisgICAgICAgIGlmICghaGFzTGVmdE92ZXJmbG93KQorICAgICAg
ICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0TGVmdEVkZ2VUbyhtYXgob3ZlcmZsb3dSZWN0LngoKSwg
Y2xpZW50Qm94LngoKSkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBvdmVyZmxvd1JlY3Qu
c2hpZnRSaWdodEVkZ2VUbyhtaW4ob3ZlcmZsb3dSZWN0LnJpZ2h0KCksIGNsaWVudEJveC5yaWdo
dCgpKSk7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgcmUtdGVzdCB3aXRoIHRoZSBhZGp1c3Rl
ZCByZWN0YW5nbGUgYW5kIHNlZSBpZiBpdCBoYXMgYmVjb21lIHVucmVhY2hhYmxlIG9yIGZ1bGx5
CisgICAgICAgIC8vIGNvbnRhaW5lZC4KKyAgICAgICAgaWYgKGNsaWVudEJveC5jb250YWlucyhv
dmVyZmxvd1JlY3QpIHx8IG92ZXJmbG93UmVjdC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgaWYgKCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LnNl
dChuZXcgUmVuZGVyT3ZlcmZsb3coYm9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuc2V0
KG5ldyBSZW5kZXJPdmVyZmxvdyhjbGllbnRCb3gsIGJvcmRlckJveFJlY3QoKSkpOwogICAgIAot
ICAgIG1fb3ZlcmZsb3ctPmFkZExheW91dE92ZXJmbG93KHJlY3QpOworICAgIG1fb3ZlcmZsb3ct
PmFkZExheW91dE92ZXJmbG93KG92ZXJmbG93UmVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyQm94Ojph
ZGRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEludFJlY3QgYm9y
ZGVyQm94ID0gYm9yZGVyQm94UmVjdCgpOwotICAgIGlmIChib3JkZXJCb3guY29udGFpbnMocmVj
dCkpCisgICAgaWYgKGJvcmRlckJveC5jb250YWlucyhyZWN0KSB8fCByZWN0LmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICBpZiAoIW1fb3ZlcmZsb3cpCi0gICAgICAg
IG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVyZmxvdyhib3JkZXJCb3gpKTsKKyAgICAgICAg
bV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGNsaWVudEJveFJlY3QoKSwgYm9yZGVy
Qm94KSk7CiAgICAgCiAgICAgbV9vdmVyZmxvdy0+YWRkVmlzdWFsT3ZlcmZsb3cocmVjdCk7CiB9
CkBAIC0zMjA2LDIwICszMTY4LDc2IEBAIGludCBSZW5kZXJCb3g6OmJhc2VsaW5lUG9zaXRpb24o
Rm9udEJhc2UKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBSZW5kZXJCb3g6OmJsb2NrRGlyZWN0
aW9uT3ZlcmZsb3coYm9vbCBpc0xpbmVIb3Jpem9udGFsLCBpbnQmIGxvZ2ljYWxUb3BMYXlvdXRP
dmVyZmxvdywgaW50JiBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywg
aW50JiBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCitJbnRSZWN0IFJlbmRlckJveDo6bG9n
aWNhbFZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRT
dHlsZSkgY29uc3QKIHsKLSAgICBpZiAoaXNMaW5lSG9yaXpvbnRhbCkgewotICAgICAgICBsb2dp
Y2FsVG9wTGF5b3V0T3ZlcmZsb3cgPSB0b3BMYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBsb2dp
Y2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBib3R0b21MYXlvdXRPdmVyZmxvdygpOwotICAgICAg
ICBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSB0b3BWaXN1YWxPdmVyZmxvdygpOwotICAgICAg
ICBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBib3R0b21WaXN1YWxPdmVyZmxvdygpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyA9IGxlZnRMYXlv
dXRPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cgPSByaWdo
dExheW91dE92ZXJmbG93KCk7Ci0gICAgICAgIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IGxl
ZnRWaXN1YWxPdmVyZmxvdygpOwotICAgICAgICBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSByaWdodFZpc3VhbE92ZXJmbG93KCk7Ci0gICAgfSAKKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1
YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFwYXJl
bnRTdHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Qu
dHJhbnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5kZXJC
b3g6OnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRT
dHlsZSkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGUgd3JpdGluZyBtb2RlcyBvZiB0aGUgY2hpbGQg
YW5kIHBhcmVudCBtYXRjaCwgdGhlbiB3ZSBkb24ndCBoYXZlIHRvIAorICAgIC8vIGRvIGFueXRo
aW5nIGZhbmN5LiBKdXN0IHJldHVybiB0aGUgcmVzdWx0LgorICAgIEludFJlY3QgcmVjdCA9IHZp
c3VhbE92ZXJmbG93UmVjdCgpOworICAgIGlmIChwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9
PSBzdHlsZSgpLT53cml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcmVjdDsKKyAgICAKKyAg
ICAvLyBXZSBhcmUgcHV0dGluZyBvdXJzZWx2ZXMgaW50byBvdXIgcGFyZW50J3MgY29vcmRpbmF0
ZSBzcGFjZS4gIElmIHRoZXJlIGlzIGEgZmxpcHBlZCBibG9jayBtaXNtYXRjaAorICAgIC8vIGlu
IGEgcGFydGljdWxhciBheGlzLCB0aGVuIHdlIGhhdmUgdG8gZmxpcCB0aGUgcmVjdCBhbG9uZyB0
aGF0IGF4aXMuCisgICAgaWYgKHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRX
cml0aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBSaWdodFRvTGVmdFdy
aXRpbmdNb2RlKQorICAgICAgICByZWN0LnNldFgod2lkdGgoKSAtIHJlY3QucmlnaHQoKSk7Cisg
ICAgZWxzZSBpZiAoc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdN
b2RlIHx8IHBhcmVudFN0eWxlLT53cml0aW5nTW9kZSgpID09IEJvdHRvbVRvVG9wV3JpdGluZ01v
ZGUpCisgICAgICAgIHJlY3Quc2V0WShoZWlnaHQoKSAtIHJlY3QuYm90dG9tKCkpOworCisgICAg
cmV0dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojpsb2dpY2FsTGF5b3V0T3ZlcmZs
b3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAorewor
ICAgIEludFJlY3QgcmVjdCA9IGxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHBhcmVu
dFN0eWxlKTsKKyAgICBpZiAoIXBhcmVudFN0eWxlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQorICAgICAgICByZXR1cm4gcmVjdC50cmFuc3Bvc2VkUmVjdCgpOworICAgIHJldHVybiByZWN0
OworfQorCitJbnRSZWN0IFJlbmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRp
b24oUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKSBjb25zdAoreworICAgIC8vIE9ubHkgcHJvcGFn
YXRlIGludGVyaW9yIGxheW91dCBvdmVyZmxvdyBpZiB3ZSBkb24ndCBjbGlwIGl0LgorICAgIElu
dFJlY3QgcmVjdCA9IGJvcmRlckJveFJlY3QoKTsKKyAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgp
KQorICAgICAgICByZWN0LnVuaXRlKGxheW91dE92ZXJmbG93UmVjdCgpKTsKKworICAgIGlmIChp
c1JlbFBvc2l0aW9uZWQoKSB8fCBoYXNUcmFuc2Zvcm0oKSkgeworICAgICAgICAvLyBJZiB3ZSBh
cmUgcmVsYXRpdmVseSBwb3NpdGlvbmVkIG9yIGlmIHdlIGhhdmUgYSB0cmFuc2Zvcm0sIHRoZW4g
d2UgaGF2ZSB0byBjb252ZXJ0CisgICAgICAgIC8vIHRoaXMgcmVjdGFuZ2xlIGludG8gcGh5c2lj
YWwgY29vcmRpbmF0ZXMsIGFwcGx5IHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCB0cmFuc2Zvcm1z
CisgICAgICAgIC8vIHRvIGl0LCBhbmQgdGhlbiBjb252ZXJ0IGl0IGJhY2suCisgICAgICAgIGZs
aXBGb3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICAgICAgCisgICAgICAgIGlmIChoYXNUcmFuc2Zv
cm0oKSkKKyAgICAgICAgICAgIHJlY3QgPSBsYXllcigpLT5jdXJyZW50VHJhbnNmb3JtKCkubWFw
UmVjdChyZWN0KTsKKworICAgICAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCisgICAgICAgICAg
ICByZWN0Lm1vdmUocmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSwgcmVsYXRpdmVQb3NpdGlvbk9m
ZnNldFkoKSk7CisgICAgICAgIAorICAgICAgICAvLyBOb3cgd2UgbmVlZCB0byBmbGlwIGJhY2su
CisgICAgICAgIGZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKKyAgICB9CisgICAgCisgICAgLy8g
SWYgdGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRoZW4g
d2UgZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1cm4g
dGhlIHJlc3VsdC4KKyAgICBpZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUo
KS0+d3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2Ug
YXJlIHB1dHRpbmcgb3Vyc2VsdmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2Uu
ICBJZiB0aGVyZSBpcyBhIGZsaXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRp
Y3VsYXIgYXhpcywgdGhlbiB3ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlz
LgorICAgIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01v
ZGUgfHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9k
ZSkKKyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2Ug
aWYgKHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBw
YXJlbnRTdHlsZS0+d3JpdGluZ01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAg
ICAgICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiBy
ZWN0OwogfQogCiBJbnRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBS
ZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIEZsaXBwaW5nQWRqdXN0bWVu
dCBhZGp1c3RtZW50KSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDcz
MzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwNiwxMiArMTA2LDkgQEAgcHVibGljOgogICAgIEludFJlY3QgZnJhbWVSZWN0KCkgY29uc3Qg
eyByZXR1cm4gbV9mcmFtZVJlY3Q7IH0KICAgICB2b2lkIHNldEZyYW1lUmVjdChjb25zdCBJbnRS
ZWN0JiByZWN0KSB7IG1fZnJhbWVSZWN0ID0gcmVjdDsgfQogCi0gICAgSW50UmVjdCB0cmFuc2Zv
cm1lZEZyYW1lUmVjdCgpIGNvbnN0OwotICAgIEludFJlY3QgYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Q7Ci0KICAgICBJbnRSZWN0IGJvcmRlckJveFJlY3Qo
KSBjb25zdCB7IHJldHVybiBJbnRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKTsgfQogICAg
IHZpcnR1YWwgSW50UmVjdCBib3JkZXJCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
ckJveFJlY3QoKTsgfSAKLSAgICAKKwogICAgIC8vIFRoZSBjb250ZW50IGFyZWEgb2YgdGhlIGJv
eCAoZXhjbHVkZXMgcGFkZGluZyBhbmQgYm9yZGVyKS4KICAgICBJbnRSZWN0IGNvbnRlbnRCb3hS
ZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdChib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgp
LCBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSwgY29udGVudFdpZHRoKCksIGNvbnRlbnRIZWln
aHQoKSk7IH0KICAgICAvLyBUaGUgY29udGVudCBib3ggaW4gYWJzb2x1dGUgY29vcmRzLiBJZ25v
cmVzIHRyYW5zZm9ybXMuCkBAIC0xMjgsMTcgKzEyNSwxMSBAQCBwdWJsaWM6CiAgICAgUmVuZGVy
Qm94KiBuZXh0U2libGluZ0JveCgpIGNvbnN0OwogICAgIFJlbmRlckJveCogcGFyZW50Qm94KCkg
Y29uc3Q7CiAKLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVy
biBoYXNPdmVyZmxvd0NsaXAoKSA/IHZpc3VhbE92ZXJmbG93UmVjdCgpIDogKG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkgOiBib3JkZXJCb3hSZWN0KCkpOyB9
Ci0gICAgaW50IHRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93
Q2xpcCgpID8gdG9wVmlzdWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKHRvcExheW91dE92ZXJmbG93
KCksIHRvcFZpc3VhbE92ZXJmbG93KCkpOyB9Ci0gICAgaW50IGJvdHRvbVZpc2libGVPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gYm90dG9tVmlzdWFsT3ZlcmZs
b3coKSA6IHN0ZDo6bWF4KGJvdHRvbUxheW91dE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJm
bG93KCkpOyB9Ci0gICAgaW50IGxlZnRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBo
YXNPdmVyZmxvd0NsaXAoKSA/IGxlZnRWaXN1YWxPdmVyZmxvdygpIDogc3RkOjptaW4obGVmdExh
eW91dE92ZXJmbG93KCksIGxlZnRWaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCByaWdodFZp
c2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpID8gcmlnaHRW
aXN1YWxPdmVyZmxvdygpIDogIHN0ZDo6bWF4KHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRW
aXN1YWxPdmVyZmxvdygpKTsgfQotCi0gICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBj
b25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0
KCkgOiBib3JkZXJCb3hSZWN0KCk7IH0KLSAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBtX292ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDog
MDsgfQotICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3Zl
cmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIDogaGVpZ2h0KCk7IH0K
LSAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogMDsgfQotICAgIGludCByaWdodExh
eW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnJp
Z2h0TGF5b3V0T3ZlcmZsb3coKSA6IHdpZHRoKCk7IH0KKyAgICBJbnRSZWN0IGxheW91dE92ZXJm
bG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sYXlvdXRP
dmVyZmxvd1JlY3QoKSA6IGNsaWVudEJveFJlY3QoKTsgfQorICAgIGludCB0b3BMYXlvdXRPdmVy
ZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3c/IG1fb3ZlcmZsb3ctPnRvcExheW91dE92
ZXJmbG93KCkgOiBib3JkZXJUb3AoKTsgfQorICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVy
ZmxvdygpIDogYm9yZGVyVG9wKCkgKyBjbGllbnRIZWlnaHQoKTsgfQorICAgIGludCBsZWZ0TGF5
b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGVm
dExheW91dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCk7IH0KKyAgICBpbnQgcmlnaHRMYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExh
eW91dE92ZXJmbG93KCkgOiBib3JkZXJMZWZ0KCkgKyBjbGllbnRXaWR0aCgpOyB9CiAgICAgaW50
IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gbGVmdExheW91dE92ZXJmbG93KCkgOiB0b3BMYXlvdXRP
dmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHJpZ2h0TGF5b3V0
T3ZlcmZsb3coKSA6IGJvdHRvbUxheW91dE92ZXJmbG93KCk7IH0KICAgICAKQEAgLTE3OSw2ICsx
NzAsOCBAQCBwdWJsaWM6CiAgICAgaW50IGNsaWVudFRvcCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
clRvcCgpOyB9CiAgICAgaW50IGNsaWVudFdpZHRoKCkgY29uc3Q7CiAgICAgaW50IGNsaWVudEhl
aWdodCgpIGNvbnN0OworICAgIGludCBjbGllbnRMb2dpY2FsQm90dG9tKCkgY29uc3QgeyByZXR1
cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGNsaWVudFRvcCgpICsgY2xp
ZW50SGVpZ2h0KCkgOiBjbGllbnRMZWZ0KCkgKyBjbGllbnRXaWR0aCgpOyB9CisgICAgSW50UmVj
dCBjbGllbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdChjbGllbnRMZWZ0KCksIGNs
aWVudFRvcCgpLCBjbGllbnRXaWR0aCgpLCBjbGllbnRIZWlnaHQoKSk7IH0KIAogICAgIC8vIHNj
cm9sbFdpZHRoL3Njcm9sbEhlaWdodCB3aWxsIGJlIHRoZSBzYW1lIGFzIGNsaWVudFdpZHRoL2Ns
aWVudEhlaWdodCB1bmxlc3MgdGhlCiAgICAgLy8gb2JqZWN0IGhhcyBvdmVyZmxvdzpoaWRkZW4v
c2Nyb2xsL2F1dG8gc3BlY2lmaWVkIGFuZCBhbHNvIGhhcyBvdmVyZmxvdy4KQEAgLTI3MCwxMiAr
MjYzLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SW5saW5lQm94V3JhcHBlcihJbmxpbmVCb3gq
IGJveFdyYXBwZXIpIHsgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94V3JhcHBlcjsgfQogICAgIHZv
aWQgZGVsZXRlTGluZUJveFdyYXBwZXIoKTsKIAotICAgIGVudW0gQXBwbHlUcmFuc2Zvcm0geyBJ
bmNsdWRlVHJhbnNmb3JtLCBFeGNsdWRlVHJhbnNmb3JtIH07Ci0gICAgdmlydHVhbCBpbnQgdG9w
bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGlu
Y2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25z
dDsKLSAgICB2aXJ0dWFsIGludCBsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsICBBcHBseVRyYW5zZm9ybSA9
IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0
aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxm
ID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Ig
PSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRl
VHJhbnNmb3JtKSBjb25zdDsKLQogICAgIHZpcnR1YWwgSW50UmVjdCBjbGlwcGVkT3ZlcmZsb3dS
ZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcik7CiAg
ICAgdmlydHVhbCB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVj
dCogcmVwYWludENvbnRhaW5lciwgSW50UmVjdCYsIGJvb2wgZml4ZWQgPSBmYWxzZSk7CiAKQEAg
LTM5MCw2ICszNzcsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKElu
dFJlY3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBp
bmcoKSBjb25zdDsKIAorICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdEZvclBy
b3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CisgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxv
d1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgbG9n
aWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7
CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHls
ZSopIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5n
ZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CiAgICAgdmly
dHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICBp
bnQgcmVsYXRpdmVQb3NpdGlvbk9mZnNldFgoKSBjb25zdDsKICAgICBpbnQgcmVsYXRpdmVQb3Np
dGlvbk9mZnNldFkoKSBjb25zdDsKICAgICBJbnRTaXplIHJlbGF0aXZlUG9zaXRpb25PZmZzZXQo
KSBjb25zdCB7IHJldHVybiBJbnRTaXplKHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCksIHJlbGF0
aXZlUG9zaXRpb25PZmZzZXRZKCkpOyB9CisgICAgSW50U2l6ZSByZWxhdGl2ZVBvc2l0aW9uTG9n
aWNhbE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgOiByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0
KCkudHJhbnNwb3NlZFNpemUoKTsgfQogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucy4gVXNlZCB0byBj
YWxjdWxhdGUgb2Zmc2V0V2lkdGgvSGVpZ2h0LiAgT3ZlcnJpZGRlbiBieSBpbmxpbmVzIChSZW5k
ZXJGbG93KQogICAgIC8vIHRvIHJldHVybiB0aGUgcmVtYWluaW5nIHdpZHRoIG9uIGEgZ2l2ZW4g
bGluZSAoYW5kIHRoZSBoZWlnaHQgb2YgYSBzaW5nbGUgbGluZSkuCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ2LDYg
KzI0Niw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEJsb2NrKGJvb2wKICAgICBl
bHNlCiAgICAgICAgIGxheW91dFZlcnRpY2FsQm94KHJlbGF5b3V0Q2hpbGRyZW4pOwogCisgICAg
aW50IG9sZENsaWVudEFmdGVyRWRnZSA9IGNsaWVudExvZ2ljYWxCb3R0b20oKTsKICAgICBjb21w
dXRlTG9naWNhbEhlaWdodCgpOwogCiAgICAgaWYgKHByZXZpb3VzSGVpZ2h0ICE9IGhlaWdodCgp
KQpAQCAtMjcxLDEzICsyNzIsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRCbG9j
ayhib29sCiAgICAgICAgIHNldE1heE1hcmdpbkFmdGVyVmFsdWVzKDAsIDApOwogICAgIH0KICAg
ICAKLSAgICAvLyBBZGQgaW4gdGhlIG92ZXJmbG93IGZyb20gY2hpbGRyZW4uCi0gICAgRmxleEJv
eEl0ZXJhdG9yIGl0ZXJhdG9yKHRoaXMpOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0
ZXJhdG9yLmZpcnN0KCk7IGNoaWxkOyBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkKLSAgICAgICAg
YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoY2hpbGQpOwotCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxv
dyBmcm9tIGJveC1zaGFkb3cgYW5kIHJlZmxlY3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93
KCk7CisgICAgY29tcHV0ZU92ZXJmbG93KG9sZENsaWVudEFmdGVyRWRnZSk7CiAKICAgICBzdGF0
ZVB1c2hlci5wb3AoKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU3OSw3ICs1NzksNyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNC
b3VuZGluZ0JveCgpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotSW50UmVjdCBSZW5kZXJJbmxp
bmU6OmxpbmVzVmlzaWJsZU92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdAorSW50UmVjdCBSZW5k
ZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAg
aWYgKCFmaXJzdExpbmVCb3goKSB8fCAhbGFzdExpbmVCb3goKSkKICAgICAgICAgcmV0dXJuIElu
dFJlY3QoKTsKQEAgLTU4OCwxNiArNTg4LDE2IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5l
c1Zpc2libGVPdmVyZmwKICAgICBpbnQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8
aW50Pjo6bWF4KCk7CiAgICAgaW50IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxp
bnQ+OjptaW4oKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3go
KTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExl
ZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXNpYmxlT3Zl
cmZsb3coKSk7Ci0gICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lk
ZSwgY3Vyci0+bG9naWNhbFJpZ2h0VmlzaWJsZU92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2Fs
TGVmdFNpZGUgPSBtaW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNp
ZGUsIGN1cnItPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOwogICAgIH0KIAogICAgIGJv
b2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAg
ICAgICAgCi0gICAgaW50IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJz
dExpbmVCb3goKS0+bGVmdFZpc2libGVPdmVyZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9u
dGFsID8gZmlyc3RMaW5lQm94KCktPnRvcFZpc2libGVPdmVyZmxvdygpIDogbG9naWNhbExlZnRT
aWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBs
b2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5yaWdodFZpc2libGVPdmVyZmxvdygpIC0g
Zmlyc3RMaW5lQm94KCktPmxlZnRWaXNpYmxlT3ZlcmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0g
aXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSBm
aXJzdExpbmVCb3goKS0+dG9wVmlzaWJsZU92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0g
bG9naWNhbExlZnRTaWRlOworICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRT
aWRlIDogZmlyc3RMaW5lQm94KCktPmxlZnRWaXN1YWxPdmVyZmxvdygpOworICAgIGludCB5ID0g
aXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPnRvcFZpc3VhbE92ZXJmbG93KCkgOiBsb2dp
Y2FsTGVmdFNpZGU7CisgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0
U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPnJpZ2h0VmlzdWFsT3ZlcmZs
b3coKSAtIGZpcnN0TGluZUJveCgpLT5sZWZ0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgaGVp
Z2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+Ym90dG9tVmlzdWFsT3ZlcmZsb3co
KSAtIGZpcnN0TGluZUJveCgpLT50b3BWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbFJpZ2h0U2lk
ZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKICAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKIH0KIApAQCAtNjEwLDcgKzYxMCw3IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpjbGlw
cGVkT3ZlcmZsb3dSZWMKICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIEZpbmQg
b3VyIGxlZnRtb3N0IHBvc2l0aW9uLgotICAgIEludFJlY3QgYm91bmRpbmdCb3gobGluZXNWaXNp
YmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94KGxpbmVz
VmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCgpKTsKICAgICBpbnQgbGVmdCA9IGJvdW5kaW5nQm94
LngoKTsKICAgICBpbnQgdG9wID0gYm91bmRpbmdCb3gueSgpOwogCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbmxpbmUuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBJbnRTaXplIG9mZnNldEZyb21Db250YWluZXIoUmVuZGVyT2JqZWN0KiwgY29uc3Qg
SW50UG9pbnQmKSBjb25zdDsKIAogICAgIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0
OwotICAgIEludFJlY3QgbGluZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0Owor
ICAgIEludFJlY3QgbGluZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KCkgY29uc3Q7CiAKICAg
ICBJbmxpbmVGbG93Qm94KiBjcmVhdGVBbmRBcHBlbmRJbmxpbmVGbG93Qm94KCk7CiAKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NzYsMTQgKzY3Niw2
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24oKQogICAgIH0gZWxzZSBp
ZiAoUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKSkgewogICAgICAgICBzZXRXaWR0aChib3gt
PndpZHRoKCkpOwogICAgICAgICBzZXRIZWlnaHQoYm94LT5oZWlnaHQoKSk7Ci0KLSAgICAgICAg
aWYgKCFib3gtPmhhc092ZXJmbG93Q2xpcCgpKSB7Ci0gICAgICAgICAgICBpZiAoYm94LT5yaWdo
dExheW91dE92ZXJmbG93KCkgPiBib3gtPndpZHRoKCkpCi0gICAgICAgICAgICAgICAgc2V0V2lk
dGgoYm94LT5yaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgaWYgKGJveC0+Ym90
dG9tTGF5b3V0T3ZlcmZsb3coKSA+IGJveC0+aGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgc2V0
SGVpZ2h0KGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgIH0KLSAgICAgICAg
CiAgICAgICAgIGxvY2FsUG9pbnQgKz0gYm94LT5sb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBw
aW5nKCk7CiAgICAgfQogCkBAIC0xOTY2LDM4ICsxOTU4LDU3IEBAIGludCBSZW5kZXJMYXllcjo6
c2Nyb2xsSGVpZ2h0KCkKICAgICByZXR1cm4gbV9zY3JvbGxIZWlnaHQ7CiB9CiAKK2ludCBSZW5k
ZXJMYXllcjo6b3ZlcmZsb3dUb3AoKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVu
ZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICBy
ZXR1cm4gb3ZlcmZsb3dSZWN0LnkoKTsKK30KKworaW50IFJlbmRlckxheWVyOjpvdmVyZmxvd0Jv
dHRvbSgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJ
bnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICBib3gt
PmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1Jl
Y3QuYm90dG9tKCk7Cit9CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dMZWZ0KCkgY29uc3QK
K3sKKyAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOworICAgIEludFJlY3Qgb3ZlcmZs
b3dSZWN0KGJveC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGJveC0+ZmxpcEZvcldyaXRp
bmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC54KCk7Cit9CisK
K2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dSaWdodCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94
KiBib3ggPSByZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91
dE92ZXJmbG93UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1Jl
Y3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QucmlnaHQoKTsKK30KKwogdm9pZCBSZW5kZXJM
YXllcjo6Y29tcHV0ZVNjcm9sbERpbWVuc2lvbnMoYm9vbCogbmVlZEhCYXIsIGJvb2wqIG5lZWRW
QmFyKQogewogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgQVNTRVJUKGJv
eCk7CiAgICAgCiAgICAgbV9zY3JvbGxEaW1lbnNpb25zRGlydHkgPSBmYWxzZTsKLSAgICAKLSAg
ICBpbnQgY2xpZW50V2lkdGggPSBib3gtPmNsaWVudFdpZHRoKCk7Ci0gICAgaW50IGNsaWVudEhl
aWdodCA9IGJveC0+Y2xpZW50SGVpZ2h0KCk7Ci0KLSAgICBib29sIGhhc0xlZnRPdmVyZmxvdyA9
ICghYm94LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxl
KCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgJiYgYm94LT5zdHlsZSgpLT53cml0aW5nTW9k
ZSgpICE9IExlZnRUb1JpZ2h0V3JpdGluZ01vZGU7Ci0gICAgYm9vbCBoYXNUb3BPdmVyZmxvdyA9
IChib3gtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgfHwgIWJveC0+c3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSAmJiBib3gtPnN0eWxlKCktPndyaXRpbmdNb2Rl
KCkgIT0gVG9wVG9Cb3R0b21Xcml0aW5nTW9kZTsKIAotICAgIG1fc2Nyb2xsTGVmdE92ZXJmbG93
ID0gIWhhc0xlZnRPdmVyZmxvdyA/IDAgOiBtaW4oMCwgYm94LT5sZWZ0bW9zdFBvc2l0aW9uKHRy
dWUsIGZhbHNlKSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKLSAgICBtX3Njcm9sbFRvcE92ZXJmbG93
ID0gIWhhc1RvcE92ZXJmbG93ID8gMCA6IG1pbigwLCBib3gtPnRvcG1vc3RQb3NpdGlvbih0cnVl
LCBmYWxzZSkgLSBib3gtPmJvcmRlclRvcCgpKTsKKyAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9
IG92ZXJmbG93TGVmdCgpIC0gYm94LT5ib3JkZXJMZWZ0KCk7CisgICAgbV9zY3JvbGxUb3BPdmVy
ZmxvdyA9IG92ZXJmbG93VG9wKCkgLSBib3gtPmJvcmRlclRvcCgpOwogCi0gICAgaW50IHJpZ2h0
UG9zID0gIWhhc0xlZnRPdmVyZmxvdyA/Ci0gICAgICAgICAgICAgICAgICAgIGJveC0+cmlnaHRt
b3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJMZWZ0KCkgOgotICAgICAgICAg
ICAgICAgICAgICBjbGllbnRXaWR0aCAtIG1fc2Nyb2xsTGVmdE92ZXJmbG93OwotICAgIGludCBi
b3R0b21Qb3MgPSAhaGFzVG9wT3ZlcmZsb3cgPwotICAgICAgICAgICAgICAgICAgICBib3gtPmxv
d2VzdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIGJveC0+Ym9yZGVyVG9wKCkgOgotICAgICAgICAg
ICAgICAgICAgICBjbGllbnRIZWlnaHQgLSBtX3Njcm9sbFRvcE92ZXJmbG93OwotCi0gICAgbV9z
Y3JvbGxXaWR0aCA9IG1heChyaWdodFBvcywgY2xpZW50V2lkdGgpOwotICAgIG1fc2Nyb2xsSGVp
Z2h0ID0gbWF4KGJvdHRvbVBvcywgY2xpZW50SGVpZ2h0KTsKKyAgICBtX3Njcm9sbFdpZHRoID0g
b3ZlcmZsb3dSaWdodCgpIC0gb3ZlcmZsb3dMZWZ0KCk7CisgICAgbV9zY3JvbGxIZWlnaHQgPSBv
dmVyZmxvd0JvdHRvbSgpIC0gb3ZlcmZsb3dUb3AoKTsKICAgICAKLSAgICBtX3Njcm9sbE9yaWdp
biA9IEludFBvaW50KCFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDogbV9zY3JvbGxXaWR0aCAtIGNsaWVu
dFdpZHRoLCAhaGFzVG9wT3ZlcmZsb3cgPyAwIDogbV9zY3JvbGxIZWlnaHQgLSBjbGllbnRIZWln
aHQpOworICAgIG1fc2Nyb2xsT3JpZ2luID0gSW50UG9pbnQoLW1fc2Nyb2xsTGVmdE92ZXJmbG93
LCAtbV9zY3JvbGxUb3BPdmVyZmxvdyk7CiAKICAgICBpZiAobmVlZEhCYXIpCi0gICAgICAgICpu
ZWVkSEJhciA9IHJpZ2h0UG9zID4gY2xpZW50V2lkdGg7CisgICAgICAgICpuZWVkSEJhciA9IG1f
c2Nyb2xsV2lkdGggPiBib3gtPmNsaWVudFdpZHRoKCk7CiAgICAgaWYgKG5lZWRWQmFyKQotICAg
ICAgICAqbmVlZFZCYXIgPSBib3R0b21Qb3MgPiBjbGllbnRIZWlnaHQ7CisgICAgICAgICpuZWVk
VkJhciA9IG1fc2Nyb2xsSGVpZ2h0ID4gYm94LT5jbGllbnRIZWlnaHQoKTsKIH0KIAogdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlT3ZlcmZsb3dTdGF0dXMoYm9vbCBob3Jpem9udGFsT3ZlcmZsb3cs
IGJvb2wgdmVydGljYWxPdmVyZmxvdykKQEAgLTIwOTIsOSArMjEwMywxMiBAQCBSZW5kZXJMYXll
cjo6dXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0CiAgICAgICAgICAgICAgICAgLy8gT3VyIHBy
b3ByaWV0YXJ5IG92ZXJmbG93OiBvdmVybGF5IHZhbHVlIGRvZXNuJ3QgdHJpZ2dlciBhIGxheW91
dC4KICAgICAgICAgICAgICAgICBtX2luT3ZlcmZsb3dSZWxheW91dCA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgcmVuZGVyZXIoKS0+c2V0TmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2UpOwotICAgICAg
ICAgICAgICAgIGlmIChyZW5kZXJlcigpLT5pc1JlbmRlckJsb2NrKCkpCi0gICAgICAgICAgICAg
ICAgICAgIHRvUmVuZGVyQmxvY2socmVuZGVyZXIoKSktPmxheW91dEJsb2NrKHRydWUpOwotICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS0+aXNSZW5k
ZXJCbG9jaygpKSB7CisgICAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHRv
UmVuZGVyQmxvY2socmVuZGVyZXIoKSk7CisgICAgICAgICAgICAgICAgICAgIGJsb2NrLT5zY3Jv
bGxiYXJzQ2hhbmdlZChib3gtPmhhc0F1dG9Ib3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgaGF2ZUhv
cml6b250YWxCYXIgIT0gaG9yaXpvbnRhbE92ZXJmbG93LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm94LT5oYXNBdXRvVmVydGljYWxTY3JvbGxiYXIoKSAm
JiBoYXZlVmVydGljYWxCYXIgIT0gdmVydGljYWxPdmVyZmxvdyk7CisgICAgICAgICAgICAgICAg
ICAgIGJsb2NrLT5sYXlvdXRCbG9jayh0cnVlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+bGF5b3V0KCk7CiAgICAgICAgICAgICAgICAg
bV9pbk92ZXJmbG93UmVsYXlvdXQgPSBmYWxzZTsKICAgICAgICAgICAgIH0KQEAgLTIxMTgsOSAr
MjEzMiw3IEBAIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQKICAgICAg
ICAgLy8gdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgY29udGVudCBkb2Vzbid0IHNoaWZ0IHdpdGgg
cmVzcGVjdCB0byB0aGUgdG9wCiAgICAgICAgIC8vIHJpZ2h0IGNvcm5lciBvZiB0aGUgYXJlYS4g
Q29uY2VwdHVhbGx5LCByaWdodC10by1sZWZ0IGFyZWFzIGhhdmUKICAgICAgICAgLy8gdGhlaXIg
b3JpZ2luIGF0IHRoZSB0b3AtcmlnaHQsIGJ1dCBSZW5kZXJMYXllciBpcyB0b3AtbGVmdCBvcmll
bnRlZCwKLSAgICAgICAgLy8gc28gdGhpcyBpcyBuZWVkZWQgdG8ga2VlcCBldmVyeXRoaW5nIHdv
cmtpbmcgKHNlZSBob3cgc2Nyb2xsWE9mZnNldCgpCi0gICAgICAgIC8vIGRpZmZlcnMgZnJvbSBz
Y3JvbGxZT2Zmc2V0KCkgdG8gZ2V0IGFuIGlkZWEgb2Ygd2h5IHRoZSBob3Jpem9udGFsIGFuZAot
ICAgICAgICAvLyB2ZXJ0aWNhbCBzY3JvbGxiYXJzIG5lZWQgdG8gYmUgdHJlYXRlZCBkaWZmZXJl
bnRseSkuCisgICAgICAgIC8vIHNvIHRoaXMgaXMgbmVlZGVkIHRvIGtlZXAgZXZlcnl0aGluZyB3
b3JraW5nLgogICAgICAgICBtX2hCYXItPnNldFZhbHVlKHNjcm9sbFhPZmZzZXQoKSwgU2Nyb2xs
YmFyOjpOb3RGcm9tU2Nyb2xsQW5pbWF0b3IpOwogICAgIH0KICAgICBpZiAobV92QmFyKSB7CkBA
IC0yMTI4LDYgKzIxNDAsMTMgQEAgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxh
eW91dAogICAgICAgICBpbnQgcGFnZVN0ZXAgPSBtYXgobWF4PGludD4oY2xpZW50SGVpZ2h0ICog
U2Nyb2xsYmFyOjptaW5GcmFjdGlvblRvU3RlcFdoZW5QYWdpbmcoKSwgY2xpZW50SGVpZ2h0IC0g
U2Nyb2xsYmFyOjptYXhPdmVybGFwQmV0d2VlblBhZ2VzKCkpLCAxKTsKICAgICAgICAgbV92QmFy
LT5zZXRTdGVwcyhTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCksIHBhZ2VTdGVwKTsKICAg
ICAgICAgbV92QmFyLT5zZXRQcm9wb3J0aW9uKGNsaWVudEhlaWdodCwgbV9zY3JvbGxIZWlnaHQp
OworICAgICAgICAvLyBFeHBsaWNpdGx5IHNldCB0aGUgdmVydGljYWwgc2Nyb2xsIHZhbHVlLiAg
VGhpcyBlbnN1cmVzIHRoYXQgd2hlbiBhCisgICAgICAgIC8vIHJpZ2h0LXRvLWxlZnQgdmVydGlj
YWwgd3JpdGluZy1tb2RlIHNjcm9sbGFibGUgYXJlYSdzIGhlaWdodCAob3IgY29udGVudCBoZWln
aHQpIGNoYW5nZXMsIHRoZQorICAgICAgICAvLyBib3R0b20gcmlnaHQgY29ybmVyIG9mIHRoZSBj
b250ZW50IGRvZXNuJ3Qgc2hpZnQgd2l0aCByZXNwZWN0IHRvIHRoZSBib3R0b20KKyAgICAgICAg
Ly8gcmlnaHQgY29ybmVyIG9mIHRoZSBhcmVhLiBDb25jZXB0dWFsbHksIHJpZ2h0LXRvLWxlZnQg
dmVydGljYWwgd3JpdGluZy1tb2RlIGFyZWFzIGhhdmUKKyAgICAgICAgLy8gdGhlaXIgb3JpZ2lu
IGF0IHRoZSBib3R0b20tcmlnaHQsIGJ1dCBSZW5kZXJMYXllciBpcyB0b3AtbGVmdCBvcmllbnRl
ZCwKKyAgICAgICAgLy8gc28gdGhpcyBpcyBuZWVkZWQgdG8ga2VlcCBldmVyeXRoaW5nIHdvcmtp
bmcuCisgICAgICAgIG1fdkJhci0+c2V0VmFsdWUoc2Nyb2xsWU9mZnNldCgpLCBTY3JvbGxiYXI6
Ok5vdEZyb21TY3JvbGxBbmltYXRvcik7CiAgICAgfQogIAogICAgIGlmIChyZW5kZXJlcigpLT5u
b2RlKCkgJiYgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50
OjpPVkVSRkxPV0NIQU5HRURfTElTVEVORVIpKQpAQCAtMjMyNCwxMiArMjM0MywxMyBAQCBzdGF0
aWMgdm9pZCByZXN0b3JlQ2xpcChHcmFwaGljc0NvbnRleHQqCiAgICAgcC0+cmVzdG9yZSgpOwog
fQogCi1zdGF0aWMgdm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1h
cCYgb3ZlcmxhcFRlc3RSZXF1ZXN0cywgY29uc3QgSW50UmVjdCYgbGF5ZXJCb3VuZHMpCitzdGF0
aWMgdm9pZCBwZXJmb3JtT3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3Zlcmxh
cFRlc3RSZXF1ZXN0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3QgUmVuZGVy
TGF5ZXIqIGxheWVyKQogewogICAgIFZlY3RvcjxPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQqPiBv
dmVybGFwcGVkUmVxdWVzdENsaWVudHM7CiAgICAgT3ZlcmxhcFRlc3RSZXF1ZXN0TWFwOjppdGVy
YXRvciBlbmQgPSBvdmVybGFwVGVzdFJlcXVlc3RzLmVuZCgpOworICAgIEludFJlY3QgYm91bmRp
bmdCb3ggPSBsYXllci0+Ym91bmRpbmdCb3gocm9vdExheWVyKTsKICAgICBmb3IgKE92ZXJsYXBU
ZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgaXQgPSBvdmVybGFwVGVzdFJlcXVlc3RzLmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBpZiAoIWxheWVyQm91bmRzLmludGVyc2VjdHMo
aXQtPnNlY29uZCkpCisgICAgICAgIGlmICghYm91bmRpbmdCb3guaW50ZXJzZWN0cyhpdC0+c2Vj
b25kKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGl0LT5maXJzdC0+c2V0T3Zl
cmxhcFRlc3RSZXN1bHQodHJ1ZSk7CkBAIC0yNDU2LDcgKzI0NzYsNyBAQCB2b2lkIFJlbmRlckxh
eWVyOjpwYWludExheWVyKFJlbmRlckxheWVyCiAgICAgICAgIHBhaW50aW5nUm9vdEZvclJlbmRl
cmVyID0gcGFpbnRpbmdSb290OwogCiAgICAgaWYgKG92ZXJsYXBUZXN0UmVxdWVzdHMgJiYgaXNT
ZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFw
VGVzdFJlcXVlc3RzLCBsYXllckJvdW5kcyk7CisgICAgICAgIHBlcmZvcm1PdmVybGFwVGVzdHMo
Km92ZXJsYXBUZXN0UmVxdWVzdHMsIHJvb3RMYXllciwgdGhpcyk7CiAKICAgICAvLyBXZSB3YW50
IHRvIHBhaW50IG91ciBsYXllciwgYnV0IG9ubHkgaWYgd2UgaW50ZXJzZWN0IHRoZSBkYW1hZ2Ug
cmVjdC4KICAgICBib29sIHNob3VsZFBhaW50ID0gaW50ZXJzZWN0c0RhbWFnZVJlY3QobGF5ZXJC
b3VuZHMsIGRhbWFnZVJlY3QsIHJvb3RMYXllcikgJiYgbV9oYXNWaXNpYmxlQ29udGVudCAmJiBp
c1NlbGZQYWludGluZ0xheWVyKCk7CkBAIC0yNjY1LDExICsyNjg1LDExIEBAIGJvb2wgUmVuZGVy
TGF5ZXI6OmhpdFRlc3QoY29uc3QgSGl0VGVzdFIKIHsKICAgICByZW5kZXJlcigpLT5kb2N1bWVu
dCgpLT51cGRhdGVMYXlvdXQoKTsKICAgICAKLSAgICBJbnRSZWN0IGJvdW5kc1JlY3QobV94LCBt
X3ksIHdpZHRoKCksIGhlaWdodCgpKTsKKyAgICBJbnRSZWN0IGhpdFRlc3RBcmVhID0gcmVzdWx0
LnJlY3RGb3JQb2ludChyZXN1bHQucG9pbnQoKSk7CiAgICAgaWYgKCFyZXF1ZXN0Lmlnbm9yZUNs
aXBwaW5nKCkpCi0gICAgICAgIGJvdW5kc1JlY3QuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3Qo
cmVuZGVyZXIoKSkpOworICAgICAgICBoaXRUZXN0QXJlYS5pbnRlcnNlY3QoZnJhbWVWaXNpYmxl
UmVjdChyZW5kZXJlcigpKSk7CiAKLSAgICBSZW5kZXJMYXllciogaW5zaWRlTGF5ZXIgPSBoaXRU
ZXN0TGF5ZXIodGhpcywgMCwgcmVxdWVzdCwgcmVzdWx0LCBib3VuZHNSZWN0LCByZXN1bHQucG9p
bnQoKSwgZmFsc2UpOworICAgIFJlbmRlckxheWVyKiBpbnNpZGVMYXllciA9IGhpdFRlc3RMYXll
cih0aGlzLCAwLCByZXF1ZXN0LCByZXN1bHQsIGhpdFRlc3RBcmVhLCByZXN1bHQucG9pbnQoKSwg
ZmFsc2UpOwogICAgIGlmICghaW5zaWRlTGF5ZXIpIHsKICAgICAgICAgLy8gV2UgZGlkbid0IGhp
dCBhbnkgbGF5ZXIuIElmIHdlIGFyZSB0aGUgcm9vdCBsYXllciBhbmQgdGhlIG1vdXNlIGlzIC0t
IG9yIGp1c3Qgd2FzIC0tIGRvd24sIAogICAgICAgICAvLyByZXR1cm4gb3Vyc2VsdmVzLiBXZSBk
byB0aGlzIHNvIG1vdXNlIGV2ZW50cyBjb250aW51ZSBnZXR0aW5nIGRlbGl2ZXJlZCBhZnRlciBh
IGRyYWcgaGFzIApAQCAtMzM3NSw4ICszMzk1LDggQEAgSW50UmVjdCBSZW5kZXJMYXllcjo6bG9j
YWxCb3VuZGluZ0JveCgpIAogICAgICAgICBJbmxpbmVGbG93Qm94KiBmaXJzdEJveCA9IGlubGlu
ZUZsb3ctPmZpcnN0TGluZUJveCgpOwogICAgICAgICBpZiAoIWZpcnN0Qm94KQogICAgICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXNpYmxl
T3ZlcmZsb3coKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGlubGluZUZsb3ctPmxhc3RMaW5lQm94
KCktPmJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgICAgICBpbnQgdG9wID0gZmlyc3RCb3gt
PnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgIGludCBib3R0b20gPSBpbmxpbmVGbG93LT5s
YXN0TGluZUJveCgpLT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOwogICAgICAgICBpbnQgbGVmdCA9
IGZpcnN0Qm94LT54KCk7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0
Qm94LT5uZXh0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkKICAg
ICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgY3Vyci0+eCgpKTsKQEAgLTMzODcsNyArMzQwNyw3
IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgICAg
IGlmIChjaGlsZC0+aXNUYWJsZUNlbGwoKSkgewogICAgICAgICAgICAgICAgIEludFJlY3QgYmJv
eCA9IHRvUmVuZGVyQm94KGNoaWxkKS0+Ym9yZGVyQm94UmVjdCgpOwogICAgICAgICAgICAgICAg
IHJlc3VsdC51bml0ZShiYm94KTsKLSAgICAgICAgICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVj
dCA9IHJlbmRlckJveCgpLT52aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAg
SW50UmVjdCBvdmVyZmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlzdWFsT3ZlcmZsb3dSZWN0KCk7
CiAgICAgICAgICAgICAgICAgaWYgKGJib3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAg
ICAgICAgICByZXN1bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsKICAgICAgICAgICAgIH0KQEAgLTM0
MDAsNyArMzQyMCw3IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAK
ICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSBib3gtPmJvcmRlckJv
eFJlY3QoKTsKICAgICAgICAgICAgIHJlc3VsdCA9IGJib3g7Ci0gICAgICAgICAgICBJbnRSZWN0
IG92ZXJmbG93UmVjdCA9IGJveC0+dmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAg
SW50UmVjdCBvdmVyZmxvd1JlY3QgPSBib3gtPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAg
ICAgICAgaWYgKGJib3ggIT0gb3ZlcmZsb3dSZWN0KQogICAgICAgICAgICAgICAgIHJlc3VsdC51
bml0ZShvdmVyZmxvd1JlY3QpOwogICAgICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNTgxLDYgKzU4MSwxMSBAQCBwcml2YXRlOgogICAgIC8vIE9ubHkg
c2FmZSB0byBjYWxsIGZyb20gUmVuZGVyQm94TW9kZWxPYmplY3Q6OmRlc3Ryb3lMYXllcihSZW5k
ZXJBcmVuYSopCiAgICAgdm9pZCBkZXN0cm95KFJlbmRlckFyZW5hKik7CiAKKyAgICBpbnQgb3Zl
cmZsb3dUb3AoKSBjb25zdDsKKyAgICBpbnQgb3ZlcmZsb3dCb3R0b20oKSBjb25zdDsKKyAgICBp
bnQgb3ZlcmZsb3dMZWZ0KCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93UmlnaHQoKSBjb25zdDsK
KwogcHJvdGVjdGVkOgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX3JlbmRlcmVyOwogCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3QuY3BwCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVCb3hMaXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTc2LDEwICsxNzYsMTAgQEAgYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6YW55TGlu
ZUludGVyc2VjdAogICAgIC8vIGludGVyc2VjdC4gIFRoaXMgaXMgYSBxdWljayBzaG9ydC1jaXJj
dWl0IHRoYXQgd2UgY2FuIHRha2UgdG8gYXZvaWQgd2Fsa2luZyBhbnkgbGluZXMuCiAgICAgLy8g
RklYTUU6IFRoaXMgY2hlY2sgaXMgZmxhd2VkIGluIHRoZSBmb2xsb3dpbmcgZXh0cmVtZWx5IG9i
c2N1cmUgd2F5OgogICAgIC8vIGlmIHNvbWUgbGluZSBpbiB0aGUgbWlkZGxlIGhhcyBhIGh1Z2Ug
b3ZlcmZsb3csIGl0IG1pZ2h0IGFjdHVhbGx5IGV4dGVuZCBiZWxvdyB0aGUgbGFzdCBsaW5lLgot
ICAgIGludCBmaXJzdExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNhbFRvcFZpc2libGVP
dmVyZmxvdygpOworICAgIGludCBmaXJzdExpbmVUb3AgPSBmaXJzdExpbmVCb3goKS0+bG9naWNh
bFRvcFZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYgKHVzZVByaW50UmVjdCAmJiAhZmlyc3RMaW5l
Qm94KCktPnBhcmVudCgpKQogICAgICAgICBmaXJzdExpbmVUb3AgPSBtaW4oZmlyc3RMaW5lVG9w
LCBmaXJzdExpbmVCb3goKS0+cm9vdCgpLT5saW5lVG9wKCkpOwotICAgIGludCBsYXN0TGluZUJv
dHRvbSA9IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKKyAg
ICBpbnQgbGFzdExpbmVCb3R0b20gPSBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tVmlzdWFs
T3ZlcmZsb3coKTsKICAgICBpZiAodXNlUHJpbnRSZWN0ICYmICFsYXN0TGluZUJveCgpLT5wYXJl
bnQoKSkKICAgICAgICAgbGFzdExpbmVCb3R0b20gPSBtYXgobGFzdExpbmVCb3R0b20sIGxhc3RM
aW5lQm94KCktPnJvb3QoKS0+bGluZUJvdHRvbSgpKTsKICAgICBpbnQgbG9naWNhbFRvcCA9IGZp
cnN0TGluZVRvcCAtIG91dGxpbmVTaXplOwpAQCAtMTkwLDggKzE5MCw4IEBAIGJvb2wgUmVuZGVy
TGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNlY3QKIAogYm9vbCBSZW5kZXJMaW5lQm94TGlzdDo6
bGluZUludGVyc2VjdHNEaXJ0eVJlY3QoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlbmRlcmVyLCBJ
bmxpbmVGbG93Qm94KiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGlu
dCB0eSkgY29uc3QKIHsKLSAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BW
aXNpYmxlT3ZlcmZsb3coKSwgYm94LT5yb290KCktPnNlbGVjdGlvblRvcCgpKSAtIHJlbmRlcmVy
LT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKLSAgICBpbnQgbG9naWNhbEJv
dHRvbSA9IGJveC0+bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpICsgcmVuZGVyZXItPm1h
eGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsVG9wID0g
bWluKGJveC0+bG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCksIGJveC0+cm9vdCgpLT5zZWxlY3Rp
b25Ub3AoKSkgLSByZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSk7
CisgICAgaW50IGxvZ2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxv
dygpICsgcmVuZGVyZXItPm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOwogICAg
IAogICAgIHJldHVybiByYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVyLCBsb2dpY2FsVG9wLCBs
b2dpY2FsQm90dG9tLCBwYWludEluZm8ucmVjdCwgdHgsIHR5KTsKIH0KQEAgLTIzMCw4ICsyMzAs
OCBAQCB2b2lkIFJlbmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAgICAg
ICAvLyBGSVhNRTogVGhpcyBpcyB0aGUgZGVwcmVjYXRlZCBwYWdpbmF0aW9uIG1vZGVsIHRoYXQg
aXMgc3RpbGwgbmVlZGVkCiAgICAgICAgICAgICAvLyBmb3IgZW1iZWRkZWQgdmlld3MgaW5zaWRl
IEFwcEtpdC4gIEFwcEtpdCBpcyBpbmNhcGFibGUgb2YgcGFnaW5hdGluZyB2ZXJ0aWNhbAogICAg
ICAgICAgICAgLy8gdGV4dCBwYWdlcywgc28gd2UgZG9uJ3QgaGF2ZSB0byBkZWFsIHdpdGggdmVy
dGljYWwgbGluZXMgYXQgYWxsIGhlcmUuCi0gICAgICAgICAgICBpbnQgdG9wRm9yUGFnaW5hdGlv
bkNoZWNrID0gY3Vyci0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAgICAgICBpbnQgYm90
dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzaWJsZU92ZXJmbG93KCk7Cisg
ICAgICAgICAgICBpbnQgdG9wRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+dG9wVmlzdWFsT3Zl
cmZsb3coKTsKKyAgICAgICAgICAgIGludCBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBjdXJy
LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpOwogICAgICAgICAgICAgaWYgKCFjdXJyLT5wYXJlbnQo
KSkgewogICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGEgcm9vdCBib3guICBVc2UgbGluZVRvcCBh
bmQgbGluZUJvdHRvbSBhcyB3ZWxsIGhlcmUuCiAgICAgICAgICAgICAgICAgdG9wRm9yUGFnaW5h
dGlvbkNoZWNrID0gbWluKHRvcEZvclBhZ2luYXRpb25DaGVjaywgY3Vyci0+cm9vdCgpLT5saW5l
VG9wKCkpOwpAQCAtMjQwLDcgKzI0MCw3IEBAIHZvaWQgUmVuZGVyTGluZUJveExpc3Q6OnBhaW50
KFJlbmRlckJveE0KICAgICAgICAgICAgIGlmIChib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgLSB0
b3BGb3JQYWdpbmF0aW9uQ2hlY2sgPD0gdi0+cHJpbnRSZWN0KCkuaGVpZ2h0KCkpIHsKICAgICAg
ICAgICAgICAgICBpZiAodHkgKyBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPiB2LT5wcmludFJl
Y3QoKS5ib3R0b20oKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoUm9vdElubGluZUJveCog
bmV4dFJvb3RCb3ggPSBjdXJyLT5yb290KCktPm5leHRSb290Qm94KCkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBib3R0b21Gb3JQYWdpbmF0aW9uQ2hlY2sgPSBtaW4oYm90dG9tRm9yUGFnaW5h
dGlvbkNoZWNrLCBtaW4obmV4dFJvb3RCb3gtPnRvcFZpc2libGVPdmVyZmxvdygpLCBuZXh0Um9v
dEJveC0+bGluZVRvcCgpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBib3R0b21Gb3JQYWdp
bmF0aW9uQ2hlY2sgPSBtaW4oYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrLCBtaW4obmV4dFJvb3RC
b3gtPnRvcFZpc3VhbE92ZXJmbG93KCksIG5leHRSb290Qm94LT5saW5lVG9wKCkpKTsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsgYm90dG9tRm9yUGFnaW5hdGlv
bkNoZWNrID4gdi0+cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
aWYgKHR5ICsgdG9wRm9yUGFnaW5hdGlvbkNoZWNrIDwgdi0+dHJ1bmNhdGVkQXQoKSkKQEAgLTI5
Miw3ICsyOTIsNyBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KFJlbmRlckJvCiAg
ICAgLy8gdGhlbSBmdXJ0aGVyLiAgTm90ZSB0aGF0IGJveGVzIGNhbiBlYXNpbHkgb3ZlcmxhcCwg
c28gd2UgY2FuJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMKICAgICAvLyBiYXNlZCBvZmYgcG9zaXRp
b25zIG9mIG91ciBmaXJzdCBsaW5lIGJveCBvciBvdXIgbGFzdCBsaW5lIGJveC4KICAgICBmb3Ig
KElubGluZUZsb3dCb3gqIGN1cnIgPSBsYXN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+
cHJldkxpbmVCb3goKSkgewotICAgICAgICBpZiAocmFuZ2VJbnRlcnNlY3RzUmVjdChyZW5kZXJl
ciwgY3Vyci0+bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpLCBjdXJyLT5sb2dpY2FsQm90dG9t
VmlzaWJsZU92ZXJmbG93KCksIHJlY3QsIHR4LCB0eSkpIHsKKyAgICAgICAgaWYgKHJhbmdlSW50
ZXJzZWN0c1JlY3QocmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpLCBj
dXJyLT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSwgcmVjdCwgdHgsIHR5KSkgewogICAg
ICAgICAgICAgYm9vbCBpbnNpZGUgPSBjdXJyLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQs
IHgsIHksIHR4LCB0eSk7CiAgICAgICAgICAgICBpZiAoaW5zaWRlKSB7CiAgICAgICAgICAgICAg
ICAgcmVuZGVyZXItPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gdHgs
IHkgLSB0eSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAkocmV2aXNp
b24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI0Myw2ICsyNDMsMTIgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6bGF5b3V0
KCkKICAgICBSZW5kZXJCbG9jazo6bGF5b3V0KCk7CiB9CiAKK3ZvaWQgUmVuZGVyTGlzdEl0ZW06
OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkKK3sKKyAgICBSZW5kZXJCbG9jazo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4oKTsKKyAgICBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKK30KKwogdm9pZCBS
ZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25MaXN0TWFya2VyKCkKIHsKICAgICBpZiAobV9tYXJrZXIg
JiYgbV9tYXJrZXItPnBhcmVudCgpLT5pc0JveCgpICYmICFtX21hcmtlci0+aXNJbnNpZGUoKSAm
JiBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpKSB7CkBAIC0yNTcsMjAgKzI2MywzMSBAQCB2
b2lkIFJlbmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAgICAgICAgIGJvb2wgYWRq
dXN0T3ZlcmZsb3cgPSBmYWxzZTsKICAgICAgICAgaW50IG1hcmtlckxvZ2ljYWxMZWZ0OwogICAg
ICAgICBSb290SW5saW5lQm94KiByb290ID0gbV9tYXJrZXItPmlubGluZUJveFdyYXBwZXIoKS0+
cm9vdCgpOworICAgICAgICBib29sIGhpdFNlbGZQYWludGluZ0xheWVyID0gZmFsc2U7CiAKLSAg
ICAgICAgLy8gRklYTUU6IElubGluZSBmbG93cyBpbiB0aGUgbGluZSBib3ggaGllcmFyY2h5IHRo
YXQgaGF2ZSBzZWxmLXBhaW50aW5nIGxheWVycyBzaG91bGQgYWN0IGFzIGN1dG9mZiBwb2ludHMK
LSAgICAgICAgLy8gYW5kIHJlYWxseSBzaG91bGRuJ3Qga2VlcCBwcm9wYWdhdGluZyBvdmVyZmxv
dyB1cC4gIFRoaXMgd29uJ3QgcmVhbGx5IGJyZWFrIGFueXRoaW5nIG90aGVyIHRoYW4gcmVwYWlu
dGluZwotICAgICAgICAvLyBub3QgYmVpbmcgYXMgdGlnaHQgYXMgaXQgY291bGQgYmUgdGhvdWdo
LgorICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBhY2NvdW50IGZvciByZWxhdGl2ZSBwb3NpdGlv
bmluZyBpbiB0aGUgbGF5b3V0IG92ZXJmbG93LgogICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICBpbnQgbGVmdExpbmVPZmZzZXQgPSBs
b2dpY2FsTGVmdE9mZnNldEZvckxpbmUoYmxvY2tPZmZzZXQsIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShibG9ja09mZnNldCwgZmFsc2UpLCBmYWxzZSk7CiAgICAgICAgICAgICBtYXJrZXJMb2dp
Y2FsTGVmdCA9IGxlZnRMaW5lT2Zmc2V0IC0gbGluZU9mZnNldCAtIHBhZGRpbmdTdGFydCgpIC0g
Ym9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5TdGFydCgpOwogICAgICAgICAgICAgbV9t
YXJrZXItPmlubGluZUJveFdyYXBwZXIoKS0+YWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKG1h
cmtlckxvZ2ljYWxMZWZ0IC0gbWFya2VyT2xkTG9naWNhbExlZnQpOwogICAgICAgICAgICAgZm9y
IChJbmxpbmVGbG93Qm94KiBib3ggPSBtX21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5wYXJl
bnQoKTsgYm94OyBib3ggPSBib3gtPnBhcmVudCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1h
cmtlckxvZ2ljYWxMZWZ0IDwgYm94LT5sb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYm94LT5zZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9u
cyhtYXJrZXJMb2dpY2FsTGVmdCwgYm94LT5sb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpLCBi
b3gtPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSwgYm94LT5sb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdygpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IG5ld0xvZ2ljYWxWaXN1YWxPdmVy
Zmxvd1JlY3QgPSBib3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAg
ICAgICBJbnRSZWN0IG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QgPSBib3gtPmxvZ2ljYWxM
YXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExl
ZnQgPCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LngoKSAmJiAhaGl0U2VsZlBhaW50aW5n
TGF5ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVj
dC5zZXRYKG1hcmtlckxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNh
bFZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0aChib3gtPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93KCkgLSBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0LngoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChib3ggPT0gcm9vdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdE92
ZXJmbG93ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG1h
cmtlckxvZ2ljYWxMZWZ0IDwgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC54KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC5zZXRYKG1hcmtl
ckxvZ2ljYWxMZWZ0KTsKKyAgICAgICAgICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJm
bG93UmVjdC5zZXRXaWR0aChib3gtPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkgLSBuZXdM
b2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LngoKSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChi
b3ggPT0gcm9vdCkKICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdE92ZXJmbG93ID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm94LT5zZXRPdmVyZmxvd0Zy
b21Mb2dpY2FsUmVjdHMobmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdCwgbmV3TG9naWNhbFZp
c3VhbE92ZXJmbG93UmVjdCk7CisgICAgICAgICAgICAgICAgaWYgKGJveC0+Ym94TW9kZWxPYmpl
Y3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0U2Vs
ZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBtX21hcmtlci0+bG9naWNhbExlZnQoKSAr
IHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5tYXJnaW5FbmQoKTsK
QEAgLTI3OCwxMSArMjk1LDIyIEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcigKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gcmlnaHRMaW5lT2Zmc2V0IC0g
bGluZU9mZnNldCArIHBhZGRpbmdTdGFydCgpICsgYm9yZGVyU3RhcnQoKSArIG1fbWFya2VyLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgIG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPmFk
anVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExv
Z2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9tYXJr
ZXItPmlubGluZUJveFdyYXBwZXIoKS0+cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJlbnQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5s
b2dpY2FsV2lkdGgoKSA+IGJveC0+bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkgewotICAg
ICAgICAgICAgICAgICAgICBib3gtPnNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25z
KGJveC0+bG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdygpLCBtYXJrZXJMb2dpY2FsTGVmdCArIG1f
bWFya2VyLT5sb2dpY2FsV2lkdGgoKSwgYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCks
IGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgICAgICAgICAgSW50
UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5b3V0T3Zl
cmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAg
ICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpID4g
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5yaWdodCgpICYmICFoaXRTZWxmUGFpbnRpbmdM
YXllcikgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0
LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2ljYWxXaWR0aCgpIC0g
Ym94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwogICAgICAgICAgICAgICAgICAgICBp
ZiAoYm94ID09IHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dp
Y2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxMYXlvdXRPdmVy
Zmxvd1JlY3QucmlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsTGF5b3V0
T3ZlcmZsb3dSZWN0LnNldFdpZHRoKG1hcmtlckxvZ2ljYWxMZWZ0ICsgbV9tYXJrZXItPmxvZ2lj
YWxXaWR0aCgpIC0gYm94LT5sb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkpOworICAgICAgICAg
ICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCisgICAgICAgICAgICAgICAgICAgICAgICBhZGp1
c3RPdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJv
eC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1Jl
Y3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QpOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIGlmIChib3gtPmJveE1vZGVsT2JqZWN0KCktPmhhc1NlbGZQYWludGluZ0xh
eWVyKCkpCisgICAgICAgICAgICAgICAgICAgIGhpdFNlbGZQYWludGluZ0xheWVyID0gdHJ1ZTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0yOTEsMTIgKzMxOSwyNCBAQCB2b2lkIFJl
bmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAgICAgICAgICAgICBpZiAoIXN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgICAgICAgICAgbWFya2VyUmVj
dCA9IG1hcmtlclJlY3QudHJhbnNwb3NlZFJlY3QoKTsKICAgICAgICAgICAgIFJlbmRlckJveCog
byA9IG1fbWFya2VyOworICAgICAgICAgICAgYm9vbCBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyA9
IHRydWU7CisgICAgICAgICAgICBib29sIHByb3BhZ2F0ZUxheW91dE92ZXJmbG93ID0gdHJ1ZTsK
ICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICBvID0gby0+cGFyZW50Qm94KCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKG8tPmlzUmVuZGVyQmxvY2soKSkKLSAgICAgICAgICAgICAgICAg
ICAgdG9SZW5kZXJCbG9jayhvKS0+YWRkTGF5b3V0T3ZlcmZsb3cobWFya2VyUmVjdCk7CisgICAg
ICAgICAgICAgICAgaWYgKG8tPmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICAgICAgICAgICAg
ICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChv
LT5pc1JlbmRlckJsb2NrKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BhZ2F0ZVZp
c3VhbE92ZXJmbG93KQorICAgICAgICAgICAgICAgICAgICAgICAgdG9SZW5kZXJCbG9jayhvKS0+
YWRkVmlzdWFsT3ZlcmZsb3cobWFya2VyUmVjdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChw
cm9wYWdhdGVMYXlvdXRPdmVyZmxvdykKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvUmVuZGVy
QmxvY2sobyktPmFkZExheW91dE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBpZiAoby0+aGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgICAgICAg
ICAgICAgICAgIHByb3BhZ2F0ZUxheW91dE92ZXJmbG93ID0gZmFsc2U7CisgICAgICAgICAgICAg
ICAgaWYgKG8tPmhhc1NlbGZQYWludGluZ0xheWVyKCkpCisgICAgICAgICAgICAgICAgICAgIHBy
b3BhZ2F0ZVZpc3VhbE92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbWFya2VyUmVj
dC5tb3ZlKC1vLT54KCksIC1vLT55KCkpOwotICAgICAgICAgICAgfSB3aGlsZSAobyAhPSB0aGlz
ICYmICFvLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKG8g
IT0gdGhpcyAmJiBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyAmJiBwcm9wYWdhdGVMYXlvdXRPdmVy
Zmxvdyk7CiAgICAgICAgIH0KICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0SXRlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJ
dGVtLmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0
ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtNjIsMTIgKzYyLDE0IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIGxheW91dCgpOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpOwogCi0gICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uTGlzdE1hcmtlcigpOwor
ICAgIHZvaWQgcG9zaXRpb25MaXN0TWFya2VyKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVE
aWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwog
CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzRm9yY2VkU3R5bGVSZWNhbGNQcm9wYWdhdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBhZGRPdmVyZmxvd0Zy
b21DaGlsZHJlbigpOworCiAgICAgdm9pZCB1cGRhdGVNYXJrZXJMb2NhdGlvbigpOwogICAgIGlu
bGluZSBpbnQgY2FsY1ZhbHVlKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVWYWx1ZU5vdygpIGNv
bnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9u
IDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMDMsNyArMTEwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFp
bnQoUGFpbnRJbmZvJiAKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYm94T3JpZ2lu
KHR4ICsgeCgpLCB0eSArIHkoKSk7Ci0gICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzaWJsZU92
ZXJmbG93UmVjdCgpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCh2aXN1YWxPdmVyZmxvd1Jl
Y3QoKSk7CiAgICAgb3ZlcmZsb3dSZWN0Lm1vdmUoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnko
KSk7CiAgICAgb3ZlcmZsb3dSZWN0LmluZmxhdGUobWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5m
by5waGFzZSkpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkocmV2aXNp
b24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRlUG9z
aXRpb24oRU1hcnEKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgYm9vbCBsdHIg
PSBzLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CiAgICAgICAgIGludCBjbGllbnRXaWR0aCA9
IGJveC0+Y2xpZW50V2lkdGgoKTsKLSAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJv
eC0+cmlnaHRtb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIDogYm94LT5sZWZ0bW9zdFBvc2l0aW9u
KHRydWUsIGZhbHNlKTsKKyAgICAgICAgaW50IGNvbnRlbnRXaWR0aCA9IGx0ciA/IGJveC0+cmln
aHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5sZWZ0TGF5b3V0T3ZlcmZsb3coKTsKICAgICAgICAg
aWYgKGx0cikKICAgICAgICAgICAgIGNvbnRlbnRXaWR0aCArPSAoYm94LT5wYWRkaW5nUmlnaHQo
KSAtIGJveC0+Ym9yZGVyTGVmdCgpKTsKICAgICAgICAgZWxzZSB7CkBAIC0xMzcsOCArMTM3LDcg
QEAgaW50IFJlbmRlck1hcnF1ZWU6OmNvbXB1dGVQb3NpdGlvbihFTWFycQogICAgICAgICB9CiAg
ICAgfQogICAgIGVsc2UgewotICAgICAgICBpbnQgY29udGVudEhlaWdodCA9IGJveC0+bG93ZXN0
UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94
LT5ib3JkZXJUb3AoKSArIGJveC0+cGFkZGluZ0JvdHRvbSgpOworICAgICAgICBpbnQgY29udGVu
dEhlaWdodCA9IGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIGJveC0+Ym9yZGVyVG9wKCkg
KyBib3gtPnBhZGRpbmdCb3R0b20oKTsKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IGJveC0+
Y2xpZW50SGVpZ2h0KCk7CiAgICAgICAgIGlmIChkaXIgPT0gTVVQKSB7CiAgICAgICAgICAgICBp
ZiAoc3RvcEF0Q29udGVudEVkZ2UpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRp
YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjAwLDgzICs2MDAsNiBAQCB2b2lkIFJlbmRlck1lZGlhOjpmb3J3YXJk
RXZlbnQoRXZlbnQqIGV2CiAgICAgfQogfQogCi1pbnQgUmVuZGVyTWVkaWE6OnRvcG1vc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBs
eVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgdG9wID0gUmVuZGVy
SW1hZ2U6OnRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFt
X2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIHRvcDsKLSAg
ICAKLSAgICB0b3AgPSBtaW4odG9wLCAgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgp
LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5k
ZXJCb3goKS0+dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRl
U2VsZiwgYXBwbHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNs
dWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJh
bnNmb3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAg
IGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBp
bmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1v
c3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVU
cmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJh
bnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRv
cCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAgcmV0
dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsb3dlc3RQb3NpdGlvbihib29sIGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBs
eVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgYm90dG9tID0gUmVuZGVySW1hZ2U6Omxvd2Vz
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFu
c2Zvcm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNTaGFk
b3dSb290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gYm90dG9tOwotICAgIAotICAgIGJv
dHRvbSA9IG1heChib3R0b20sICBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRy
YW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJv
eCgpLT5sb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IGFwcGx5VHJhbnNmb3JtKSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRy
YW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9y
bSgpKSB7Ci0gICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IHJp
Z2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVT
ZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0
aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9y
bSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1U
b1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0g
ICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LmhlaWdodCgpICsgdHJhbnNmb3JtUmVjdC55KCk7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpyaWdo
dG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVT
ZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQgcmln
aHQgPSBSZW5kZXJJbWFnZTo6cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xzU2hh
ZG93Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJl
dHVybiByaWdodDsKLSAgICAKLSAgICByaWdodCA9IG1heChyaWdodCwgbV9jb250cm9sc1NoYWRv
d1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIG1fY29udHJv
bHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+cmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYgKGFw
cGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIo
KSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmlnaHRt
b3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRl
VHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAg
IGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5j
bHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJl
Y3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAt
IGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC53aWR0
aCgpICsgdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJpZ2h0OwotfQot
Ci1pbnQgUmVuZGVyTWVkaWE6OmxlZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0p
IGNvbnN0Ci17Ci0gICAgaW50IGxlZnQgPSBSZW5kZXJJbWFnZTo6bGVmdG1vc3RQb3NpdGlvbihp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAg
ICBpZiAoIW1fY29udHJvbHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVu
ZGVyZXIoKSkKLSAgICAgICAgcmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgbGVmdCA9IG1pbihsZWZ0
LCBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRyYW5zZm9ybWVkRnJhbWVSZWN0
KCkueCgpICsgIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bGVmdG1vc3RQb3Np
dGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3Jt
KSk7Ci0KLSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNs
dWRlU2VsZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAg
IGludCB0b3AgPSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5j
bHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9tID0gbG93ZXN0
UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJh
bnNmb3JtKTsKLSAgICAgICAgaW50IHJpZ2h0ID0gcmlnaHRtb3N0UG9zaXRpb24oaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAg
SW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0
KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJu
IHRyYW5zZm9ybVJlY3QueCgpOwotICAgIH0KLQotICAgIHJldHVybiBsZWZ0OwotfQotCi0KIC8v
IFdlIHdhbnQgdGhlIHRpbWVsaW5lIHNsaWRlciB0byBiZSBhdCBsZWFzdCAxMDAgcGl4ZWxzIHdp
ZGUuCiBzdGF0aWMgY29uc3QgaW50IG1pbldpZHRoVG9EaXNwbGF5VGltZURpc3BsYXlzID0gMTYg
KyAxNiArIDQ1ICsgMTAwICsgNDUgKyAxNiArIDE7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lZGlhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVk
aWEuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC04NSwxMSArODUsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
Ym9vbCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c0ltYWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgaW50IHRvcG1v
c3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNs
dWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7
Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IElu
Y2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9u
KGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0g
dHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0
dWFsIGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0
cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJh
bnNmb3JtKSBjb25zdDsKLQogICAgIHZvaWQgY3JlYXRlQ29udHJvbHNTaGFkb3dSb290KCk7CiAg
ICAgdm9pZCBkZXN0cm95Q29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgdm9pZCBjcmVhdGVQYW5l
bCgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCShyZXZpc2lvbiA3MzMzNCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM5LDE1ICszOSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gVGhpcyBvYmplY3QgaXMgYWxs
b2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZh
bHVlcyBpbiB0aGUgb3duaW5nIGJveC4KIGNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBk
ZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCi0gICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhk
ZWZhdWx0UmVjdC55KCkpCi0gICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhkZWZhdWx0
UmVjdC5ib3R0b20oKSkKLSAgICAgICAgLCBtX2xlZnRMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVj
dC54KCkpCi0gICAgICAgICwgbV9yaWdodExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0
KCkpCi0gICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCi0gICAg
ICAgICwgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC5ib3R0b20oKSkKLSAgICAg
ICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVjdC54KCkpCi0gICAgICAgICwgbV9y
aWdodFZpc3VhbE92ZXJmbG93KGRlZmF1bHRSZWN0LnJpZ2h0KCkpCisgICAgUmVuZGVyT3ZlcmZs
b3coY29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkg
CisgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKKyAgICAgICAg
LCBtX2JvdHRvbUxheW91dE92ZXJmbG93KGxheW91dFJlY3QuYm90dG9tKCkpCisgICAgICAgICwg
bV9sZWZ0TGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC54KCkpCisgICAgICAgICwgbV9yaWdodExh
eW91dE92ZXJmbG93KGxheW91dFJlY3QucmlnaHQoKSkKKyAgICAgICAgLCBtX3RvcFZpc3VhbE92
ZXJmbG93KHZpc3VhbFJlY3QueSgpKQorICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZsb3co
dmlzdWFsUmVjdC5ib3R0b20oKSkKKyAgICAgICAgLCBtX2xlZnRWaXN1YWxPdmVyZmxvdyh2aXN1
YWxSZWN0LngoKSkKKyAgICAgICAgLCBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC5y
aWdodCgpKQogICAgIHsKICAgICB9CiAgICAKQEAgLTYzLDggKzYzLDYgQEAgcHVibGljOgogICAg
IGludCByaWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9yaWdodFZpc3VhbE92
ZXJmbG93OyB9CiAgICAgSW50UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdDsKIAotICAg
IEludFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0OwotCiAgICAgdm9pZCBzZXRUb3BM
YXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsgbV90b3BMYXlvdXRPdmVyZmxvdyA9IG92ZXJm
bG93OyB9CiAgICAgdm9pZCBzZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhpbnQgb3ZlcmZsb3cpIHsg
bV9ib3R0b21MYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CiAgICAgdm9pZCBzZXRMZWZ0TGF5
b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fbGVmdExheW91dE92ZXJmbG93ID0gb3ZlcmZs
b3c7IH0KQEAgLTgwLDYgKzc4LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkTGF5b3V0T3ZlcmZs
b3coY29uc3QgSW50UmVjdCYpOwogICAgIHZvaWQgYWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYpOwogCisgICAgdm9pZCBzZXRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0Jik7Cisg
ICAgdm9pZCBzZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0Jik7CisKICAgICB2b2lkIHJl
c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgZGVmYXVsdFJlY3QpOwogCiBwcml2YXRl
OgpAQCAtMTA0LDEzICsxMDUsNiBAQCBpbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6dmlz
dWFsT3ZlCiAgICAgcmV0dXJuIEludFJlY3QobV9sZWZ0VmlzdWFsT3ZlcmZsb3csIG1fdG9wVmlz
dWFsT3ZlcmZsb3csIG1fcmlnaHRWaXN1YWxPdmVyZmxvdyAtIG1fbGVmdFZpc3VhbE92ZXJmbG93
LCBtX2JvdHRvbVZpc3VhbE92ZXJmbG93IC0gbV90b3BWaXN1YWxPdmVyZmxvdyk7CiB9CiAKLWlu
bGluZSBJbnRSZWN0IFJlbmRlck92ZXJmbG93Ojp2aXNpYmxlT3ZlcmZsb3dSZWN0KCkgY29uc3QK
LXsKLSAgICBJbnRSZWN0IGNvbWJpbmVkUmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7Ci0gICAg
Y29tYmluZWRSZWN0LnVuaXRlKHZpc3VhbE92ZXJmbG93UmVjdCgpKTsKLSAgICByZXR1cm4gY29t
YmluZWRSZWN0OwotfQotCiBpbmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6bW92ZShpbnQgZHgs
IGludCBkeSkKIHsKICAgICBtX3RvcExheW91dE92ZXJmbG93ICs9IGR5OwpAQCAtMTQwLDYgKzEz
NCwyMiBAQCBpbmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6YWRkVmlzdWFsT3ZlCiAgICAgbV9y
aWdodFZpc3VhbE92ZXJmbG93ID0gc3RkOjptYXgocmVjdC5yaWdodCgpLCBtX3JpZ2h0VmlzdWFs
T3ZlcmZsb3cpOwogfQogCitpbmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6c2V0TGF5b3V0T3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBtX3RvcExheW91dE92ZXJmbG93ID0g
cmVjdC55KCk7CisgICAgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyA9IHJlY3QuYm90dG9tKCk7Cisg
ICAgbV9sZWZ0TGF5b3V0T3ZlcmZsb3cgPSByZWN0LngoKTsKKyAgICBtX3JpZ2h0TGF5b3V0T3Zl
cmZsb3cgPSByZWN0LnJpZ2h0KCk7Cit9CisKK2lubGluZSB2b2lkIFJlbmRlck92ZXJmbG93Ojpz
ZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1fdG9wVmlzdWFs
T3ZlcmZsb3cgPSByZWN0LnkoKTsKKyAgICBtX2JvdHRvbVZpc3VhbE92ZXJmbG93ID0gcmVjdC5i
b3R0b20oKTsKKyAgICBtX2xlZnRWaXN1YWxPdmVyZmxvdyA9IHJlY3QueCgpOworICAgIG1fcmln
aHRWaXN1YWxPdmVyZmxvdyA9IHJlY3QucmlnaHQoKTsKK30KKwogaW5saW5lIHZvaWQgUmVuZGVy
T3ZlcmZsb3c6OnJlc2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAg
ICBtX3RvcExheW91dE92ZXJmbG93ID0gcmVjdC55KCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2LDggKzE3Niw4IEBAIGJvb2wg
UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW4KICAgICBpbnQgY3VycmVudFRZID0g
dHkgKyB5KCk7CiAKICAgICAvLyBFYXJseSBleGl0IGlmIHRoZSBlbGVtZW50IHRvdWNoZXMgdGhl
IGVkZ2VzLgotICAgIGludCB0b3AgPSBjdXJyZW50VFkgKyB0b3BWaXNpYmxlT3ZlcmZsb3coKTsK
LSAgICBpbnQgYm90dG9tID0gY3VycmVudFRZICsgYm90dG9tVmlzaWJsZU92ZXJmbG93KCk7Cisg
ICAgaW50IHRvcCA9IGN1cnJlbnRUWSArIHRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgaW50IGJv
dHRvbSA9IGN1cnJlbnRUWSArIGJvdHRvbVZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYgKGlzU2Vs
ZWN0ZWQoKSAmJiBtX2lubGluZUJveFdyYXBwZXIpIHsKICAgICAgICAgaW50IHNlbFRvcCA9IHR5
ICsgbV9pbmxpbmVCb3hXcmFwcGVyLT5yb290KCktPnNlbGVjdGlvblRvcCgpOwogICAgICAgICBp
bnQgc2VsQm90dG9tID0gdHkgKyBzZWxUb3AgKyBtX2lubGluZUJveFdyYXBwZXItPnJvb3QoKS0+
c2VsZWN0aW9uSGVpZ2h0KCk7CkBAIC0xODYsNyArMTg2LDcgQEAgYm9vbCBSZW5kZXJSZXBsYWNl
ZDo6c2hvdWxkUGFpbnQoUGFpbnRJbgogICAgIH0KICAgICAKICAgICBpbnQgb3MgPSAyICogbWF4
aW1hbE91dGxpbmVTaXplKHBhaW50SW5mby5waGFzZSk7Ci0gICAgaWYgKGN1cnJlbnRUWCArIGxl
ZnRWaXNpYmxlT3ZlcmZsb3coKSA+PSBwYWludEluZm8ucmVjdC5yaWdodCgpICsgb3MgfHwgY3Vy
cmVudFRYICsgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSA8PSBwYWludEluZm8ucmVjdC54KCkgLSBv
cykKKyAgICBpZiAoY3VycmVudFRYICsgbGVmdFZpc3VhbE92ZXJmbG93KCkgPj0gcGFpbnRJbmZv
LnJlY3QucmlnaHQoKSArIG9zIHx8IGN1cnJlbnRUWCArIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA8
PSBwYWludEluZm8ucmVjdC54KCkgLSBvcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICh0b3AgPj0gcGFpbnRJbmZvLnJlY3QuYm90dG9tKCkgKyBvcyB8fCBib3R0b20gPD0gcGFpbnRJ
bmZvLnJlY3QueSgpIC0gb3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM4OSw3ICszODks
NyBAQCBJbnRSZWN0IFJlbmRlclJlcGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSCiAKICAgICAvLyBU
aGUgc2VsZWN0aW9uUmVjdCBjYW4gcHJvamVjdCBvdXRzaWRlIG9mIHRoZSBvdmVyZmxvd1JlY3Qs
IHNvIHRha2UgdGhlaXIgdW5pb24KICAgICAvLyBmb3IgcmVwYWludGluZyB0byBhdm9pZCBzZWxl
Y3Rpb24gcGFpbnRpbmcgZ2xpdGNoZXMuCi0gICAgSW50UmVjdCByID0gdW5pb25SZWN0KGxvY2Fs
U2VsZWN0aW9uUmVjdChmYWxzZSksIHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVj
dCByID0gdW5pb25SZWN0KGxvY2FsU2VsZWN0aW9uUmVjdChmYWxzZSksIHZpc3VhbE92ZXJmbG93
UmVjdCgpKTsKIAogICAgIFJlbmRlclZpZXcqIHYgPSB2aWV3KCk7CiAgICAgaWYgKHYpIHsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzgs
NyArMjc4LDcgQEAgdm9pZCBSZW5kZXJSdWJ5UnVuOjpsYXlvdXQoKQogCiAgICAgLy8gVXBkYXRl
IG91ciBvdmVyZmxvdyB0byBhY2NvdW50IGZvciB0aGUgbmV3IFJlbmRlclJ1YnlUZXh0IHBvc2l0
aW9uLgogICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKLSAgICBhZGRPdmVyZmxvd0Zyb21CbG9ja0No
aWxkcmVuKCk7CisgICAgY29tcHV0ZU92ZXJmbG93KGNsaWVudExvZ2ljYWxCb3R0b20oKSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5j
cHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNTcsNyArMzU3LDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5
b3V0KCkKICAgICB3aGlsZSAoc2VjdGlvbikgewogICAgICAgICBpZiAoIXNlY3Rpb25Nb3ZlZCAm
JiBzZWN0aW9uLT5sb2dpY2FsVG9wKCkgIT0gbG9naWNhbEhlaWdodCgpKSB7CiAgICAgICAgICAg
ICBzZWN0aW9uTW92ZWQgPSB0cnVlOwotICAgICAgICAgICAgbW92ZWRTZWN0aW9uTG9naWNhbFRv
cCA9IG1pbihsb2dpY2FsSGVpZ2h0KCksIHNlY3Rpb24tPmxvZ2ljYWxUb3AoKSkgKyAoc3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHNlY3Rpb24tPnRvcFZpc2libGVPdmVyZmxv
dygpIDogc2VjdGlvbi0+bGVmdFZpc2libGVPdmVyZmxvdygpKTsKKyAgICAgICAgICAgIG1vdmVk
U2VjdGlvbkxvZ2ljYWxUb3AgPSBtaW4obG9naWNhbEhlaWdodCgpLCBzZWN0aW9uLT5sb2dpY2Fs
VG9wKCkpICsgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBzZWN0aW9uLT50
b3BWaXN1YWxPdmVyZmxvdygpIDogc2VjdGlvbi0+bGVmdFZpc3VhbE92ZXJmbG93KCkpOwogICAg
ICAgICB9CiAgICAgICAgIHNlY3Rpb24tPnNldExvZ2ljYWxMb2NhdGlvbihzZWN0aW9uTG9naWNh
bExlZnQsIGxvZ2ljYWxIZWlnaHQoKSk7CiAKQEAgLTM4NiwyNyArMzg2LDcgQEAgdm9pZCBSZW5k
ZXJUYWJsZTo6bGF5b3V0KCkKIAogICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CiAKLSAgICAv
LyBBZGQgb3ZlcmZsb3cgZnJvbSBib3JkZXJzLgotICAgIGludCByaWdodEJvcmRlck92ZXJmbG93
ID0gd2lkdGgoKSArIChjb2xsYXBzaW5nID8gb3V0ZXJCb3JkZXJSaWdodCgpIC0gYm9yZGVyUmln
aHQoKSA6IDApOwotICAgIGludCBsZWZ0Qm9yZGVyT3ZlcmZsb3cgPSBjb2xsYXBzaW5nID8gYm9y
ZGVyTGVmdCgpIC0gb3V0ZXJCb3JkZXJMZWZ0KCkgOiAwOwotICAgIGludCBib3R0b21Cb3JkZXJP
dmVyZmxvdyA9IGhlaWdodCgpICsgKGNvbGxhcHNpbmcgPyBvdXRlckJvcmRlckJvdHRvbSgpIC0g
Ym9yZGVyQm90dG9tKCkgOiAwKTsKLSAgICBpbnQgdG9wQm9yZGVyT3ZlcmZsb3cgPSBjb2xsYXBz
aW5nID8gYm9yZGVyVG9wKCkgLSBvdXRlckJvcmRlclRvcCgpIDogMDsKLSAgICBhZGRMYXlvdXRP
dmVyZmxvdyhJbnRSZWN0KGxlZnRCb3JkZXJPdmVyZmxvdywgdG9wQm9yZGVyT3ZlcmZsb3csIHJp
Z2h0Qm9yZGVyT3ZlcmZsb3cgLSBsZWZ0Qm9yZGVyT3ZlcmZsb3csIGJvdHRvbUJvcmRlck92ZXJm
bG93IC0gdG9wQm9yZGVyT3ZlcmZsb3cpKTsKLSAgICAKLSAgICAvLyBBZGQgdmlzdWFsIG92ZXJm
bG93IGZyb20gYm94LXNoYWRvdyBhbmQgcmVmbGVjdGlvbnMuCi0gICAgYWRkU2hhZG93T3ZlcmZs
b3coKTsKLSAgICAKLSAgICAvLyBBZGQgb3ZlcmZsb3cgZnJvbSBvdXIgY2FwdGlvbi4KLSAgICBp
ZiAobV9jYXB0aW9uKQotICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChtX2NhcHRpb24pOwot
Ci0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gb3VyIHNlY3Rpb25zLgotICAgIGZvciAoUmVuZGVy
T2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nKCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5pc1RhYmxlU2VjdGlvbigpKSB7Ci0gICAg
ICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb24gPSB0b1JlbmRlclRhYmxlU2VjdGlv
bihjaGlsZCk7Ci0gICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChzZWN0aW9uKTsKLSAg
ICAgICAgfQotICAgIH0KKyAgICBjb21wdXRlT3ZlcmZsb3coY2xpZW50TG9naWNhbEJvdHRvbSgp
KTsKIAogICAgIHN0YXRlUHVzaGVyLnBvcCgpOwogCkBAIC00MTcsMTQgKzM5Nyw0NCBAQCB2b2lk
IFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIC8vIFJlcGFpbnQgd2l0aCBvdXIgbmV3IGJvdW5k
cyBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgZnJvbSBvdXIgb2xkIGJvdW5kcy4KICAgICBpZiAoIWRp
ZEZ1bGxSZXBhaW50ICYmIHNlY3Rpb25Nb3ZlZCkgewogICAgICAgICBpZiAoc3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgICAgIHJlcGFpbnRSZWN0YW5nbGUoSW50
UmVjdChsZWZ0VmlzaWJsZU92ZXJmbG93KCksIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AsIHJpZ2h0
VmlzaWJsZU92ZXJmbG93KCkgLSBsZWZ0VmlzaWJsZU92ZXJmbG93KCksIGJvdHRvbVZpc2libGVP
dmVyZmxvdygpIC0gbW92ZWRTZWN0aW9uTG9naWNhbFRvcCkpOworICAgICAgICAgICAgcmVwYWlu
dFJlY3RhbmdsZShJbnRSZWN0KGxlZnRWaXN1YWxPdmVyZmxvdygpLCBtb3ZlZFNlY3Rpb25Mb2dp
Y2FsVG9wLCByaWdodFZpc3VhbE92ZXJmbG93KCkgLSBsZWZ0VmlzdWFsT3ZlcmZsb3coKSwgYm90
dG9tVmlzdWFsT3ZlcmZsb3coKSAtIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3ApKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgcmVwYWludFJlY3RhbmdsZShJbnRSZWN0KG1vdmVkU2VjdGlvbkxv
Z2ljYWxUb3AsIHRvcFZpc2libGVPdmVyZmxvdygpLCByaWdodFZpc2libGVPdmVyZmxvdygpIC0g
bW92ZWRTZWN0aW9uTG9naWNhbFRvcCwgYm90dG9tVmlzaWJsZU92ZXJmbG93KCkgLSB0b3BWaXNp
YmxlT3ZlcmZsb3coKSkpOworICAgICAgICAgICAgcmVwYWludFJlY3RhbmdsZShJbnRSZWN0KG1v
dmVkU2VjdGlvbkxvZ2ljYWxUb3AsIHRvcFZpc3VhbE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3Zl
cmZsb3coKSAtIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AsIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkg
LSB0b3BWaXN1YWxPdmVyZmxvdygpKSk7CiAgICAgfQogCiAgICAgc2V0TmVlZHNMYXlvdXQoZmFs
c2UpOwogfQogCit2b2lkIFJlbmRlclRhYmxlOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCit7
CisgICAgLy8gQWRkIG92ZXJmbG93IGZyb20gYm9yZGVycy4KKyAgICAvLyBUZWNobmljYWxseSBp
dCdzIG9kZCB0aGF0IHdlIGFyZSBpbmNvcnBvcmF0aW5nIHRoZSBib3JkZXJzIGludG8gbGF5b3V0
IG92ZXJmbG93LCB3aGljaCBpcyBvbmx5IHN1cHBvc2VkIHRvIGJlIGFib3V0IG92ZXJmbG93IGZy
b20gb3VyCisgICAgLy8gZGVzY2VuZGFudCBvYmplY3RzLCBidXQgc2luY2UgdGFibGVzIGRvbid0
IHN1cHBvcnQgb3ZlcmZsb3c6YXV0bywgdGhpcyB3b3JrcyBvdXQgZmluZS4KKyAgICBpZiAoY29s
bGFwc2VCb3JkZXJzKCkpIHsKKyAgICAgICAgaW50IHJpZ2h0Qm9yZGVyT3ZlcmZsb3cgPSB3aWR0
aCgpICsgb3V0ZXJCb3JkZXJSaWdodCgpIC0gYm9yZGVyUmlnaHQoKTsKKyAgICAgICAgaW50IGxl
ZnRCb3JkZXJPdmVyZmxvdyA9IGJvcmRlckxlZnQoKSAtIG91dGVyQm9yZGVyTGVmdCgpOworICAg
ICAgICBpbnQgYm90dG9tQm9yZGVyT3ZlcmZsb3cgPSBoZWlnaHQoKSArIG91dGVyQm9yZGVyQm90
dG9tKCkgLSBib3JkZXJCb3R0b20oKTsKKyAgICAgICAgaW50IHRvcEJvcmRlck92ZXJmbG93ID0g
Ym9yZGVyVG9wKCkgLSBvdXRlckJvcmRlclRvcCgpOworICAgICAgICBJbnRSZWN0IGJvcmRlck92
ZXJmbG93UmVjdChsZWZ0Qm9yZGVyT3ZlcmZsb3csIHRvcEJvcmRlck92ZXJmbG93LCByaWdodEJv
cmRlck92ZXJmbG93IC0gbGVmdEJvcmRlck92ZXJmbG93LCBib3R0b21Cb3JkZXJPdmVyZmxvdyAt
IHRvcEJvcmRlck92ZXJmbG93KTsKKyAgICAgICAgaWYgKGJvcmRlck92ZXJmbG93UmVjdCAhPSBi
b3JkZXJCb3hSZWN0KCkpIHsKKyAgICAgICAgICAgIGFkZExheW91dE92ZXJmbG93KGJvcmRlck92
ZXJmbG93UmVjdCk7CisgICAgICAgICAgICBhZGRWaXN1YWxPdmVyZmxvdyhib3JkZXJPdmVyZmxv
d1JlY3QpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gQWRkIG92ZXJmbG93IGZyb20gb3Vy
IGNhcHRpb24uCisgICAgaWYgKG1fY2FwdGlvbikKKyAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQ2hp
bGQobV9jYXB0aW9uKTsKKworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIG91ciBzZWN0aW9ucy4K
KyAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGls
ZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNUYWJsZVNl
Y3Rpb24oKSkgeworICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBzZWN0aW9uID0gdG9S
ZW5kZXJUYWJsZVNlY3Rpb24oY2hpbGQpOworICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQ2hp
bGQoc2VjdGlvbik7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyVGFibGU6OnNl
dENlbGxMb2dpY2FsV2lkdGhzKCkKIHsKICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBm
aXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CkBAIC00
NDEsOSArNDUxLDkgQEAgdm9pZCBSZW5kZXJUYWJsZTo6cGFpbnQoUGFpbnRJbmZvJiBwYWludAog
ICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50SW5mby5waGFzZTsKIAogICAgIGludCBv
cyA9IDIgKiBtYXhpbWFsT3V0bGluZVNpemUocGFpbnRQaGFzZSk7Ci0gICAgaWYgKHR5ICsgdG9w
VmlzaWJsZU92ZXJmbG93KCkgPj0gcGFpbnRJbmZvLnJlY3QuYm90dG9tKCkgKyBvcyB8fCB0eSAr
IGJvdHRvbVZpc2libGVPdmVyZmxvdygpIDw9IHBhaW50SW5mby5yZWN0LnkoKSAtIG9zKQorICAg
IGlmICh0eSArIHRvcFZpc3VhbE92ZXJmbG93KCkgPj0gcGFpbnRJbmZvLnJlY3QuYm90dG9tKCkg
KyBvcyB8fCB0eSArIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueSgp
IC0gb3MpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAodHggKyBsZWZ0VmlzaWJsZU92ZXJmbG93
KCkgPj0gcGFpbnRJbmZvLnJlY3QucmlnaHQoKSArIG9zIHx8IHR4ICsgcmlnaHRWaXNpYmxlT3Zl
cmZsb3coKSA8PSBwYWludEluZm8ucmVjdC54KCkgLSBvcykKKyAgICBpZiAodHggKyBsZWZ0Vmlz
dWFsT3ZlcmZsb3coKSA+PSBwYWludEluZm8ucmVjdC5yaWdodCgpICsgb3MgfHwgdHggKyByaWdo
dFZpc3VhbE92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgpIC0gb3MpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGJvb2wgcHVzaGVkQ2xpcCA9IHB1c2hDb250ZW50c0NsaXAocGFpbnRJbmZv
LCB0eCwgdHkpOyAgICAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkocmV2aXNpb24gNzMz
MzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMzIsNiArMjMyLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgSW50UmVjdCBvdmVyZmxv
d0NsaXBSZWN0KGludCB0eCwgaW50IHR5KTsKIAorICAgIHZpcnR1YWwgdm9pZCBhZGRPdmVyZmxv
d0Zyb21DaGlsZHJlbigpOworCiAgICAgdm9pZCBzdWJ0cmFjdENhcHRpb25SZWN0KEludFJlY3Qm
KSBjb25zdDsKIAogICAgIHZvaWQgcmVjYWxjU2VjdGlvbnMoKSBjb25zdDsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYsOSAr
MjY2LDkgQEAgSW50UmVjdCBSZW5kZXJUYWJsZUNlbGw6OmNsaXBwZWRPdmVyZmxvdwogICAgICAg
ICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGJlbG93LT5ib3JkZXJIYWxmUmlnaHQodHJ1ZSkpOwog
ICAgICAgICB9CiAgICAgfQotICAgIGxlZnQgPSBtYXgobGVmdCwgLWxlZnRWaXNpYmxlT3ZlcmZs
b3coKSk7Ci0gICAgdG9wID0gbWF4KHRvcCwgLXRvcFZpc2libGVPdmVyZmxvdygpKTsKLSAgICBJ
bnRSZWN0IHIoLWxlZnQsIC0gdG9wLCBsZWZ0ICsgbWF4KHdpZHRoKCkgKyByaWdodCwgcmlnaHRW
aXNpYmxlT3ZlcmZsb3coKSksIHRvcCArIG1heChoZWlnaHQoKSArIGJvdHRvbSwgYm90dG9tVmlz
aWJsZU92ZXJmbG93KCkpKTsKKyAgICBsZWZ0ID0gbWF4KGxlZnQsIC1sZWZ0VmlzdWFsT3ZlcmZs
b3coKSk7CisgICAgdG9wID0gbWF4KHRvcCwgLXRvcFZpc3VhbE92ZXJmbG93KCkpOworICAgIElu
dFJlY3QgcigtbGVmdCwgLSB0b3AsIGxlZnQgKyBtYXgod2lkdGgoKSArIHJpZ2h0LCByaWdodFZp
c3VhbE92ZXJmbG93KCkpLCB0b3AgKyBtYXgoaGVpZ2h0KCkgKyBib3R0b20sIGJvdHRvbVZpc3Vh
bE92ZXJmbG93KCkpKTsKIAogICAgIGlmIChSZW5kZXJWaWV3KiB2ID0gdmlldygpKSB7CiAgICAg
ICAgIC8vIEZJWE1FOiBsYXlvdXREZWx0YSBuZWVkcyB0byBiZSBhcHBsaWVkIGluIHBhcnRzIGJl
Zm9yZS9hZnRlciB0cmFuc2Zvcm1zIGFuZApAQCAtMTAzMyw0ICsxMDMzLDI4IEBAIHZvaWQgUmVu
ZGVyVGFibGVDZWxsOjpwYWludE1hc2soUGFpbnRJbmYKICAgICBwYWludE1hc2tJbWFnZXMocGFp
bnRJbmZvLCB0eCwgdHksIHcsIGgpOwogfQogCit2b2lkIFJlbmRlclRhYmxlQ2VsbDo6c2Nyb2xs
YmFyc0NoYW5nZWQoYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFyQ2hhbmdlZCwgYm9vbCB2ZXJ0aWNh
bFNjcm9sbGJhckNoYW5nZWQpCit7CisgICAgaW50IHNjcm9sbGJhckhlaWdodCA9IHNjcm9sbGJh
ckxvZ2ljYWxIZWlnaHQoKTsKKyAgICBpZiAoIXNjcm9sbGJhckhlaWdodCkKKyAgICAgICAgcmV0
dXJuOyAvLyBOb3Qgc3VyZSBpZiB3ZSBzaG91bGQgYmUgZG9pbmcgc29tZXRoaW5nIHdoZW4gYSBz
Y3JvbGxiYXIgZ29lcyBhd2F5IG9yIG5vdC4KKyAgICAKKyAgICAvLyBXZSBvbmx5IGNhcmUgaWYg
dGhlIHNjcm9sbGJhciB0aGF0IGFmZmVjdHMgb3VyIGludHJpbnNpYyBwYWRkaW5nIGhhcyBiZWVu
IGFkZGVkLgorICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiAh
aG9yaXpvbnRhbFNjcm9sbGJhckNoYW5nZWQpIHx8CisgICAgICAgICghc3R5bGUoKS0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSAmJiAhdmVydGljYWxTY3JvbGxiYXJDaGFuZ2VkKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gU2hyaW5rIG91ciBpbnRyaW5zaWMgcGFkZGluZyBhcyBtdWNo
IGFzIHBvc3NpYmxlIHRvIGFjY29tbW9kYXRlIHRoZSBzY3JvbGxiYXIuCisgICAgaWYgKHN0eWxl
KCktPnZlcnRpY2FsQWxpZ24oKSA9PSBNSURETEUpIHsKKyAgICAgICAgaW50IHRvdGFsSGVpZ2h0
ID0gbG9naWNhbEhlaWdodCgpOworICAgICAgICBpbnQgaGVpZ2h0V2l0aG91dEludHJpbnNpY1Bh
ZGRpbmcgPSB0b3RhbEhlaWdodCAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSAtIGludHJpbnNp
Y1BhZGRpbmdBZnRlcigpOworICAgICAgICB0b3RhbEhlaWdodCAtPSBzY3JvbGxiYXJIZWlnaHQ7
CisgICAgICAgIGludCBuZXdCZWZvcmVQYWRkaW5nID0gKHRvdGFsSGVpZ2h0IC0gaGVpZ2h0V2l0
aG91dEludHJpbnNpY1BhZGRpbmcpIC8gMjsKKyAgICAgICAgaW50IG5ld0FmdGVyUGFkZGluZyA9
IHRvdGFsSGVpZ2h0IC0gaGVpZ2h0V2l0aG91dEludHJpbnNpY1BhZGRpbmcgLSBuZXdCZWZvcmVQ
YWRkaW5nOworICAgICAgICBzZXRJbnRyaW5zaWNQYWRkaW5nQmVmb3JlKG5ld0JlZm9yZVBhZGRp
bmcpOworICAgICAgICBzZXRJbnRyaW5zaWNQYWRkaW5nQWZ0ZXIobmV3QWZ0ZXJQYWRkaW5nKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgc2V0SW50cmluc2ljUGFkZGluZ0FmdGVyKGludHJpbnNpY1Bh
ZGRpbmdBZnRlcigpIC0gc2Nyb2xsYmFySGVpZ2h0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyMSw3ICsxMjEsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0T3ZlcnJp
ZGVTaXplKGludCk7CiAKLSAgICBib29sIGhhc1Zpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIG1fb3ZlcmZsb3c7IH0KKyAgICBib29sIGhhc1Zpc3VhbE92ZXJmbG93KCkgY29uc3QgeyBy
ZXR1cm4gbV9vdmVyZmxvdyAmJiAhYm9yZGVyQm94UmVjdCgpLmNvbnRhaW5zKG1fb3ZlcmZsb3ct
PnZpc3VhbE92ZXJmbG93UmVjdCgpKTsgfQorCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbGJhcnND
aGFuZ2VkKGJvb2wgaG9yaXpvbnRhbFNjcm9sbGJhckNoYW5nZWQsIGJvb2wgdmVydGljYWxTY3Jv
bGxiYXJDaGFuZ2VkKTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxD
aGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY1NCw3ICs2NTQsNyBAQCBpbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRS
b3dzKGludCB0CiAgICAgICAgICAgICBpZiAociA8IHRvdGFsUm93cyAtIDEgJiYgY2VsbCA9PSBw
cmltYXJ5Q2VsbEF0KHIgKyAxLCBjKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKGNlbGwpOwotICAgICAgICAgICAgbV9oYXNPdmVy
Zmxvd2luZ0NlbGwgfD0gY2VsbC0+aGFzVmlzaWJsZU92ZXJmbG93KCk7CisgICAgICAgICAgICBt
X2hhc092ZXJmbG93aW5nQ2VsbCB8PSBjZWxsLT5oYXNWaXN1YWxPdmVyZmxvdygpOwogICAgICAg
ICB9CiAgICAgfQogCkBAIC02NjIsNzggKzY2Miw2IEBAIGludCBSZW5kZXJUYWJsZVNlY3Rpb246
OmxheW91dFJvd3MoaW50IHQKICAgICByZXR1cm4gaGVpZ2h0KCk7CiB9CiAKLWludCBSZW5kZXJU
YWJsZVNlY3Rpb246OnRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
LCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QK
LXsKLSAgICBpbnQgdG9wID0gUmVuZGVyQm94Ojp0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJu
IHRvcDsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsg
cm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBj
dXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAg
ICAgICAgICAgICAgIHRvcCA9IG1pbih0b3AsIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCku
eSgpICsgY2VsbC0+dG9wbW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlclRhYmxl
U2VjdGlvbjo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9v
bCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0g
ICAgaW50IGJvdHRvbSA9IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIGJv
dHRvbTsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENoaWxkKCk7IHJvdzsg
cm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBj
dXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0U2libGluZygp
KSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewotICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxsKGN1cnIpOwotICAg
ICAgICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVS
ZWN0KCkueSgpICsgY2VsbC0+bG93ZXN0UG9zaXRpb24oZmFsc2UpKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQgUmVu
ZGVyVGFibGVTZWN0aW9uOjpyaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkg
Y29uc3QKLXsKLSAgICBpbnQgcmlnaHQgPSBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zvcm0pOwotICAg
IGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlwKCkpCi0gICAg
ICAgIHJldHVybiByaWdodDsKLQotICAgIGZvciAoUmVuZGVyT2JqZWN0KiByb3cgPSBmaXJzdENo
aWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5u
ZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJsZUNlbGwoKSkgewot
ICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVuZGVyVGFibGVDZWxs
KGN1cnIpOwotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBjZWxsLT50cmFuc2Zv
cm1lZEZyYW1lUmVjdCgpLngoKSArIGNlbGwtPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJpZ2h0Owot
fQotCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5
VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBsZWZ0ID0gUmVuZGVyQm94OjpsZWZ0bW9zdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zv
cm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZsb3dDbGlw
KCkpCi0gICAgICAgIHJldHVybiBsZWZ0OwotICAgIAotICAgIGZvciAoUmVuZGVyT2JqZWN0KiBy
b3cgPSBmaXJzdENoaWxkKCk7IHJvdzsgcm93ID0gcm93LT5uZXh0U2libGluZygpKSB7Ci0gICAg
ICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjdXJyID0gcm93LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1
cnIgPSBjdXJyLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+aXNUYWJs
ZUNlbGwoKSkgewotICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IHRvUmVu
ZGVyVGFibGVDZWxsKGN1cnIpOwotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgY2Vs
bC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjZWxsLT5sZWZ0bW9zdFBvc2l0aW9uKGZh
bHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgcmV0dXJu
IGxlZnQ7Ci19Ci0KIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNPdXRlckJvcmRlckJlZm9y
ZSgpIGNvbnN0CiB7CiAgICAgaW50IHRvdGFsQ29scyA9IHRhYmxlKCktPm51bUVmZkNvbHMoKTsK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiA3MzMz
NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzYsMTEgKzEzNiw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlQ2hpbGQoUmVuZGVyT2JqZWN0KiBvbGRDaGlsZCk7CiAKLSAgICB2aXJ0dWFsIGludCB0b3Bt
b3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2Vs
ZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGludCBsb3dlc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGlu
Y2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAg
IHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkg
Y29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVU
cmFuc2Zvcm0pIGNvbnN0OwotCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGlu
dCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDZWxsKFJlbmRlclRhYmxlQ2Vs
bCosIFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRP
YmplY3QoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxNiw4ICs2MTYsMTcg
QEAgc3RhdGljIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYgdHMsIFJlbmRlcgogfQogCiBzdGF0aWMg
dm9pZCB3cml0ZUxheWVycyhUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RM
YXllciwgUmVuZGVyTGF5ZXIqIGwsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRS
ZWN0JiBwYWludERpcnR5UmVjdCwgaW50IGluZGVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVo
YXZpb3IpCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBwYWludFJlY3Qs
IGludCBpbmRlbnQsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQogeworICAgIC8vIEZJ
WE1FOiBBcHBseSBvdmVyZmxvdyB0byB0aGUgcm9vdCBsYXllciB0byBub3QgYnJlYWsgZXZlcnkg
dGVzdC4gIENvbXBsZXRlIGhhY2suICBTaWdoLgorICAgIEludFJlY3QgcGFpbnREaXJ0eVJlY3Qo
cGFpbnRSZWN0KTsKKyAgICBpZiAocm9vdExheWVyID09IGwpIHsKKyAgICAgICAgcGFpbnREaXJ0
eVJlY3Quc2V0V2lkdGgobWF4KHBhaW50RGlydHlSZWN0LndpZHRoKCksIHJvb3RMYXllci0+cmVu
ZGVyQm94KCktPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBwYWludERpcnR5UmVj
dC5zZXRIZWlnaHQobWF4KHBhaW50RGlydHlSZWN0LmhlaWdodCgpLCByb290TGF5ZXItPnJlbmRl
ckJveCgpLT5ib3R0b21MYXlvdXRPdmVyZmxvdygpKSk7CisgICAgICAgIGwtPnNldFdpZHRoKG1h
eChsLT53aWR0aCgpLCBsLT5yZW5kZXJCb3goKS0+cmlnaHRMYXlvdXRPdmVyZmxvdygpKSk7Cisg
ICAgICAgIGwtPnNldEhlaWdodChtYXgobC0+aGVpZ2h0KCksIGwtPnJlbmRlckJveCgpLT5ib3R0
b21MYXlvdXRPdmVyZmxvdygpKSk7CisgICAgfQorICAgIAogICAgIC8vIENhbGN1bGF0ZSB0aGUg
Y2xpcCByZWN0cyB3ZSBzaG91bGQgdXNlLgogICAgIEludFJlY3QgbGF5ZXJCb3VuZHMsIGRhbWFn
ZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwgb3V0bGluZVJlY3Q7CiAgICAgbC0+Y2FsY3VsYXRlUmVj
dHMocm9vdExheWVyLCBwYWludERpcnR5UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNs
aXBSZWN0VG9BcHBseSwgb3V0bGluZVJlY3QsIHRydWUpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOSwxMiArMTI5LDYgQEAgdm9pZCBSZW5kZXJWaWV3
OjpsYXlvdXQoKQogICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICBSZW5kZXJCbG9jazo6
bGF5b3V0KCk7CiAKLSAgICAvLyBSZXNldCBvdmVyZmxvdyBhbmQgdGhlbiByZXBsYWNlIGl0IHdp
dGggZG9jV2lkdGggYW5kIGRvY0hlaWdodC4KLSAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAg
aW50IGxlZnRPdmVyZmxvdyA9IGRvY0xlZnQoKTsKLSAgICBpbnQgdG9wT3ZlcmZsb3cgPSBkb2NU
b3AoKTsKLSAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KGxlZnRPdmVyZmxvdywgdG9wT3Zl
cmZsb3csIGRvY1dpZHRoKGxlZnRPdmVyZmxvdyksIGRvY0hlaWdodCh0b3BPdmVyZmxvdykpKTsK
LQogICAgIEFTU0VSVChsYXlvdXREZWx0YSgpID09IEludFNpemUoKSk7CiAgICAgQVNTRVJUKG1f
bGF5b3V0U3RhdGVEaXNhYmxlQ291bnQgPT0gMCk7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGUg
PT0gJnN0YXRlKTsKQEAgLTYyMCw1MCArNjE0LDMwIEBAIEludFJlY3QgUmVuZGVyVmlldzo6dmll
d1JlY3QoKSBjb25zdAogCiBpbnQgUmVuZGVyVmlldzo6ZG9jVG9wKCkgY29uc3QKIHsKLSAgICAv
LyBDbGlwIG91dCB0b3Agb3ZlcmZsb3cgaW4gdmVydGljYWwgTFRSIHBhZ2VzIG9yIGhvcml6b250
YWwtdGIgcGFnZXMuCi0gICAgaWYgKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSAmJiBzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRp
bmdNb2RlKCkgPT0gVG9wVG9Cb3R0b21Xcml0aW5nTW9kZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgcmV0dXJuIHN0ZDo6bWluKDAsIHRvcG1vc3RQb3NpdGlvbigpKTsKKyAgICBJbnRSZWN0IG92
ZXJmbG93UmVjdCgwLCB0b3BMYXlvdXRPdmVyZmxvdygpLCAwLCBib3R0b21MYXlvdXRPdmVyZmxv
dygpIC0gdG9wTGF5b3V0T3ZlcmZsb3coKSk7CisgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJm
bG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC55KCk7CiB9CiAKLWludCBSZW5kZXJW
aWV3Ojpkb2NIZWlnaHQoaW50IHRvcE92ZXJmbG93KSBjb25zdAoraW50IFJlbmRlclZpZXc6OmRv
Y0JvdHRvbSgpIGNvbnN0CiB7Ci0gICAgaW50IGggPSAoKCFzdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgfHwgc3R5
bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBUb3BUb0JvdHRvbVdyaXRpbmdNb2RlKSA/Ci0gICAgICAg
ICAgICAgICAgbG93ZXN0UG9zaXRpb24oKSA6IGhlaWdodCgpIC0gdG9wT3ZlcmZsb3c7Ci0KLSAg
ICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGRvIGFueSBtYXJnaW4gY29sbGFwc2luZy4KLSAgICAv
LyBJbnN0ZWFkIG9mIHRoaXMgZGggY29tcHV0YXRpb24gd2Ugc2hvdWxkIGtlZXAgdGhlIHJlc3Vs
dAotICAgIC8vIHdoZW4gd2UgY2FsbCBSZW5kZXJCbG9jazo6bGF5b3V0LgotICAgIGludCBkaCA9
IDA7Ci0gICAgZm9yIChSZW5kZXJCb3gqIGMgPSBmaXJzdENoaWxkQm94KCk7IGM7IGMgPSBjLT5u
ZXh0U2libGluZ0JveCgpKQotICAgICAgICBkaCArPSBjLT5oZWlnaHQoKSArIGMtPm1hcmdpblRv
cCgpICsgYy0+bWFyZ2luQm90dG9tKCk7Ci0KLSAgICBpZiAoZGggPiBoKQotICAgICAgICBoID0g
ZGg7Ci0KLSAgICByZXR1cm4gaDsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVy
Zmxvd1JlY3QoKSk7CisgICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAg
cmV0dXJuIG92ZXJmbG93UmVjdC5ib3R0b20oKTsKIH0KIAogaW50IFJlbmRlclZpZXc6OmRvY0xl
ZnQoKSBjb25zdAogewotICAgIC8vIENsaXAgb3V0IGxlZnQgb3ZlcmZsb3cgaW4gaG9yaXpvbnRh
bCBMVFIgcGFnZXMgb3IgdmVydGljYWwtbHIgcGFnZXMuCi0gICAgaWYgKChzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSkgfHwgc3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBMZWZ0VG9SaWdodFdyaXRpbmdNb2RlKQot
ICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gc3RkOjptaW4oMCwgbGVmdG1vc3RQb3NpdGlv
bigpKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7Cisg
ICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93
UmVjdC54KCk7CiB9CiAKLWludCBSZW5kZXJWaWV3Ojpkb2NXaWR0aChpbnQgbGVmdE92ZXJmbG93
KSBjb25zdAoraW50IFJlbmRlclZpZXc6OmRvY1JpZ2h0KCkgY29uc3QKIHsKLSAgICBpbnQgdyA9
ICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gTGVmdFRvUmln
aHRXcml0aW5nTW9kZSkgPyAKLSAgICAgICAgICAgICAgICByaWdodG1vc3RQb3NpdGlvbigpIDog
d2lkdGgoKSAtIGxlZnRPdmVyZmxvdzsKLQotICAgIGZvciAoUmVuZGVyQm94KiBjID0gZmlyc3RD
aGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBpbnQgZHcg
PSBjLT53aWR0aCgpICsgYy0+bWFyZ2luTGVmdCgpICsgYy0+bWFyZ2luUmlnaHQoKTsKLSAgICAg
ICAgaWYgKGR3ID4gdykKLSAgICAgICAgICAgIHcgPSBkdzsKLSAgICB9Ci0KLSAgICByZXR1cm4g
dzsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChsYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAg
ZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVj
dC5yaWdodCgpOwogfQogCiBpbnQgUmVuZGVyVmlldzo6dmlld0hlaWdodCgpIGNvbnN0CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDYgKzE2NiwxMyBAQCBwdWJs
aWM6CiAgICAgYm9vbCB1c2VzQ29tcG9zaXRpbmcoKSBjb25zdDsKICNlbmRpZgogCisgICAgaW50
IGRvY1RvcCgpIGNvbnN0OworICAgIGludCBkb2NCb3R0b20oKSBjb25zdDsKKyAgICBpbnQgZG9j
SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gZG9jQm90dG9tKCkgLSBkb2NUb3AoKTsgfQorICAgIGlu
dCBkb2NMZWZ0KCkgY29uc3Q7CisgICAgaW50IGRvY1JpZ2h0KCkgY29uc3Q7CisgICAgaW50IGRv
Y1dpZHRoKCkgY29uc3QgeyByZXR1cm4gZG9jUmlnaHQoKSAtIGRvY0xlZnQoKTsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIG1hcExvY2FsVG9Db250YWluZXIoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgdXNlVHJhbnNmb3JtcywgYm9vbCBmaXhl
ZCwgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgbWFwQWJzb2x1dGVU
b0xvY2FsUG9pbnQoYm9vbCBmaXhlZCwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBUcmFuc2Zvcm1TdGF0
ZSYpIGNvbnN0OwpAQCAtMTczLDExICsxODAsNiBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAg
IGJvb2wgc2hvdWxkUmVwYWludChjb25zdCBJbnRSZWN0JiByKSBjb25zdDsKICAgICAKLSAgICBp
bnQgZG9jVG9wKCkgY29uc3Q7Ci0gICAgaW50IGRvY0hlaWdodChpbnQgdG9wT3ZlcmZsb3cpIGNv
bnN0OwotICAgIGludCBkb2NMZWZ0KCkgY29uc3Q7Ci0gICAgaW50IGRvY1dpZHRoKGludCBsZWZ0
T3ZlcmZsb3cpIGNvbnN0OwotCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIG1heSBvbmx5IGJlIGFj
Y2Vzc2VkIGJ5IExheW91dFN0YXRlTWFpbnRhaW5lci4KICAgICBib29sIHB1c2hMYXlvdXRTdGF0
ZShSZW5kZXJCb3gqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBvZmZzZXQsIGludCBwYWdlSGVp
Z2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJ
bmZvID0gMCkKICAgICB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2
aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTUwLDggKzE1MCw3IEBAIHZvaWQgUm9vdElubGluZUJveDo6YWRkSGln
aGxpZ2h0T3ZlcmZsb3cKICAgICAvLyBIaWdobGlnaHQgYWN0cyBhcyBhIHNlbGVjdGlvbiBpbmZs
YXRpb24uCiAgICAgRmxvYXRSZWN0IHJvb3RSZWN0KDAsIHNlbGVjdGlvblRvcCgpLCBsb2dpY2Fs
V2lkdGgoKSwgc2VsZWN0aW9uSGVpZ2h0KCkpOwogICAgIEludFJlY3QgaW5mbGF0ZWRSZWN0ID0g
ZW5jbG9zaW5nSW50UmVjdChwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmN1c3RvbUhpZ2hsaWdo
dFJlY3QocmVuZGVyZXIoKS0+bm9kZSgpLCByZW5kZXJlcigpLT5zdHlsZSgpLT5oaWdobGlnaHQo
KSwgcm9vdFJlY3QpKTsKLSAgICBzZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhs
ZWZ0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRMYXlvdXRPdmVyZmxvdygpLCBtaW4obGVmdFZpc3Vh
bE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC54KCkpLCBtYXgocmlnaHRWaXN1YWxPdmVyZmxvdygp
LCBpbmZsYXRlZFJlY3QucmlnaHQoKSkpOwotICAgIHNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQ
b3NpdGlvbnModG9wTGF5b3V0T3ZlcmZsb3coKSwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSwgbWlu
KHRvcFZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC55KCkpLCBtYXgoYm90dG9tVmlzdWFs
T3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LmJvdHRvbSgpKSk7CisgICAgc2V0T3ZlcmZsb3dGcm9t
TG9naWNhbFJlY3RzKGluZmxhdGVkUmVjdCwgaW5mbGF0ZWRSZWN0KTsKIH0KIAogdm9pZCBSb290
SW5saW5lQm94OjpwYWludEN1c3RvbUhpZ2hsaWdodChQYWludEluZm8mIHBhaW50SW5mbywgaW50
IHR4LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0cmluZyYgaGlnaGxpZ2h0VHlwZSkKQEAgLTI1Miw3
ICsyNTEsNiBAQCBpbnQgUm9vdElubGluZUJveDo6YWxpZ25Cb3hlc0luQmxvY2tEaXJlCiAgICAg
Ym9vbCBjb250YWluc1J1YnkgPSBmYWxzZTsKICAgICBwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlv
bihoZWlnaHRPZkJsb2NrLCBtYXhIZWlnaHQsIG1heEFzY2VudCwgbm9RdWlya3NNb2RlLCBsaW5l
VG9wLCBsaW5lQm90dG9tLCBzZXRMaW5lVG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBsaW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywg
Y29udGFpbnNSdWJ5LCBtX2Jhc2VsaW5lVHlwZSk7Ci0gICAgY29tcHV0ZUJsb2NrRGlyZWN0aW9u
T3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgbm9RdWlya3NNb2RlLCB0ZXh0Qm94RGF0YU1h
cCk7CiAgICAgc2V0TGluZVRvcEJvdHRvbVBvc2l0aW9ucyhsaW5lVG9wLCBsaW5lQm90dG9tKTsK
IAogICAgIG1fY29udGFpbnNSdWJ5ID0gY29udGFpbnNSdWJ5OwpAQCAtNTA5LDQgKzUwNywyNSBA
QCB2b2lkIFJvb3RJbmxpbmVCb3g6OmF0dGFjaExpbmVCb3hUb1JlbmRlCiAgICAgYmxvY2soKS0+
bGluZUJveGVzKCktPmF0dGFjaExpbmVCb3godGhpcyk7CiB9CiAKK0ludFJlY3QgUm9vdElubGlu
ZUJveDo6cGFkZGVkTGF5b3V0T3ZlcmZsb3dSZWN0KGludCBlbmRQYWRkaW5nKSBjb25zdAorewor
ICAgIEludFJlY3QgbGluZUxheW91dE92ZXJmbG93ID0gbGF5b3V0T3ZlcmZsb3dSZWN0KCk7Cisg
ICAgaWYgKCFlbmRQYWRkaW5nKQorICAgICAgICByZXR1cm4gbGluZUxheW91dE92ZXJmbG93Owor
ICAgIAorICAgIGlmIChpc0hvcml6b250YWwoKSkgeworICAgICAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKQorICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0UmlnaHRF
ZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5yaWdodCgpLCBsb2dpY2FsUmlnaHQoKSArIGVu
ZFBhZGRpbmcpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93
LnNoaWZ0TGVmdEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgbG9naWNhbExlZnQo
KSAtIGVuZFBhZGRpbmcpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKQorICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0Qm90dG9t
RWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cuYm90dG9tKCksIGxvZ2ljYWxSaWdodCgpICsg
ZW5kUGFkZGluZykpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRUb3BFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy55KCksIGxvZ2ljYWxSaWdo
dCgpIC0gZW5kUGFkZGluZykpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gbGluZUxheW91dE92
ZXJmbG93OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9Sb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUm9v
dElubGluZUJveC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJ
bmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTMwLDYgKzEzMCw4IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgY29udGFpbnNSdWJ5KCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc1J1Ynk7IH0K
IAorICAgIEludFJlY3QgcGFkZGVkTGF5b3V0T3ZlcmZsb3dSZWN0KGludCBlbmRQYWRkaW5nKSBj
b25zdDsKKwogcHJpdmF0ZToKICAgICBib29sIGhhc0VsbGlwc2lzQm94KCkgY29uc3QgeyByZXR1
cm4gbV9oYXNFbGxpcHNpc0JveE9ySHlwaGVuOyB9CiAgICAgdm9pZCBzZXRIYXNFbGxpcHNpc0Jv
eChib29sIGhhc0VsbGlwc2lzQm94KSB7IG1faGFzRWxsaXBzaXNCb3hPckh5cGhlbiA9IGhhc0Vs
bGlwc2lzQm94OyB9CkluZGV4OiBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9jaGVja2VyYm9hcmQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2NoZWNr
ZXJib2FyZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMjA1NXgyMDYzCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDIwNTV4MjA2MworbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MjA2MwogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MjA2MwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDIwNDcK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjA0N3gyMDQ3CkluZGV4OiBM
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNm
b3JtZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQt
bGF5ZXItYm91bmRzLXRyYW5zZm9ybWVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw5ICsxLDkgQEAKIFRleHQgaGVyZQogKEdyYXBoaWNzTGF5ZXIKLSAgKGJvdW5kcyAxMzI5LjAw
IDU4NS4wMCkKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQogICAoY2hpbGRyZW4gMQogICAgIChH
cmFwaGljc0xheWVyCi0gICAgICAoYm91bmRzIDEzMjkuMDAgNTg1LjAwKQorICAgICAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQogICAgICAgKGNoaWxkcmVuIDMKICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKICAgICAgICAgICAocG9zaXRpb24gMTI5LjAwIDI5LjAwKQpJbmRleDogTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRl
ZC1wYXJlbnQtaWZyYW1lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMTEgKzMsMTAgQEAKICAgKGJvdW5kcyA4MDAuMDAg
NjAwLjAwKQogICAoY2hpbGRyZW4gMQogICAgIChHcmFwaGljc0xheWVyCi0gICAgICAocG9zaXRp
b24gLTEyLjAwIDAuMDApCi0gICAgICAoYm91bmRzIDgxMi4wMCA2MDAuMDApCisgICAgICAoYm91
bmRzIDgwMC4wMCA2MDAuMDApCiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoR3JhcGhpY3NM
YXllcgotICAgICAgICAgIChwb3NpdGlvbiAwLjAwIC0xMi4wMCkKKyAgICAgICAgICAocG9zaXRp
b24gLTEyLjAwIC0xMi4wMCkKICAgICAgICAgICAoYm91bmRzIDM3MC4wMCAyMjAuMDApCiAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQogICAgICAgICAgIChjaGlsZHJlbiAxCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL3NpemUvY29udGFpbi1hbmQtY292ZXItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250
YWluLWFuZC1jb3Zlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NTk4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgwCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHgwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6
ZSA4MDB4MAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMiwyKSBzaXpl
IDM5NngxNDYgW2JnY29sb3I9I0FERDhFNl0gW2JvcmRlcjogKDNweCBzb2xpZCAjMDAwMDAwKV0K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZmxleGJveC8wMDkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvMDA5Lmh0bWwJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mbGV4Ym94LzAwOS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzks
OCBAQCBkaXYuYm94IHsKICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgIGRpc3BsYXk6IGJveDsK
ICAgb3ZlcmZsb3c6YXV0bzsKKyAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgLW1v
ei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgYm9yZGVyOiAycHggc29saWQgb2xpdmU7CiB9CiAK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwt
dmVydGljYWwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cv
b3ZlcmZsb3ctcnRsLXZlcnRpY2FsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25h
bC8vRU4iIAorImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbCBz
dHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6dmVydGljYWwtbHIiPgorPGhlYWQ+Cis8dGl0bGU+
b3ZlcmZsb3c6YXV0byB3aXRoIGRpcmVjdGlvbjpydGw8L3RpdGxlPgorPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KK2Rpdi50ZXN0IHsgYmFja2dyb3VuZDogeWVsbG93OyB3aWR0aDogNmV4OyBoZWln
aHQ6IDEwMHB4OyBvdmVyZmxvdzogYXV0bzsKKyAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBz
b2xpZCByZWQ7IGJvcmRlci1ib3R0b206IDVweCBzb2xpZCBncmVlbjsgbWFyZ2luOiA0cHg7IH0K
K2Rpdi5ydGwgeyBkaXJlY3Rpb246IHJ0bDsgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCByZWQ7
IGJvcmRlci10b3A6IDVweCBzb2xpZCBncmVlbjsgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPHA+CitUaGlzIGlzIGEgdGVzdCBjYXNlIGZvciA8aT5odHRwOi8vYnVnemlsbGEub3BlbmRh
cndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTU4MjYgQmxvY2tzIHdpdGggZGlyZWN0aW9uOnJ0bCBh
bmQgb3ZlcmZsb3c6YXV0byBvciBzY3JvbGwgaGF2ZSBpbmNvcnJlY3Qgc2Nyb2xsYmFyczwvaT4u
Cis8L3A+CitUaGUgcmlnaHQgY29sdW1uIHNob3VsZCBiZSBhIG1pcnJvci1pbWFnZSBvZiB0aGUg
bGVmdCBjb2x1bW4gaW4gdGVybXMgb2YKKzx1bD4KKyAgICA8bGk+dGhlIHByZXNlbmNlIG9mIGEg
c2Nyb2xsYmFyPC9saT4KKyAgICA8bGk+dGhlIGluaXRpYWwgcG9zaXRpb24gb2YgdGhlIHNjcm9s
bCB0aHVtYjwvbGk+CisgICAgPGxpPndoaWNoIGxldHRlcnMgYXJlIHZpc2libGUgaW5pdGlhbGx5
IGFuZCB3aGVuIHlvdSBzY3JvbGw8L2xpPgorPC91bD4KKzx0YWJsZT4KKzx0cj4KKzx0ZD4KKzxk
aXYgY2xhc3M9InRlc3QiPgorYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoKKzwvZGl2PgorCis8
ZGl2IGNsYXNzPSJ0ZXN0Ij4KKzxkaXYgc3R5bGU9ImRpcmVjdGlvbjpydGw7IGJhY2tncm91bmQ6
bGlnaHRncmF5OyI+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo8L2Rpdj4KKzwvZGl2PgorCis8
ZGl2IGNsYXNzPSJ0ZXN0Ij4KKzxkaXYgc3R5bGU9ImRpcmVjdGlvbjpsdHI7IGJhY2tncm91bmQ6
bGlnaHRncmF5OyI+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo8L2Rpdj4KKzwvZGl2PgorPC90
ZD4KKzx0ZD4KKzxkaXYgY2xhc3M9InRlc3QgcnRsIj4KK3p5eHd2dXRzcnFwb25tbGtqaWhnZmVk
Y2JhCis8L2Rpdj4KKworPGRpdiBjbGFzcz0idGVzdCBydGwiPgorPGRpdiBzdHlsZT0iZGlyZWN0
aW9uOmx0cjsgYmFja2dyb3VuZDpsaWdodGdyYXk7Ij56eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNi
YTwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InRlc3QgcnRsIj4KKzxkaXYgc3R5bGU9ImRp
cmVjdGlvbjpydGw7IGJhY2tncm91bmQ6bGlnaHRncmF5OyI+enl4d3Z1dHNycXBvbm1sa2ppaGdm
ZWRjYmE8L2Rpdj4KKzwvZGl2PgorPC90ZD4KKzwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlw
cGVkLW92ZXJmbG93ZWQtY29udGVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29u
dGVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29udGVudC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTcsMTEgKzcsOSBAQCBQQVNTIGdGb2N1c2VkRG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5nZXRBCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjEiCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIiCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIiCi1QQVNTIGdGb2N1c2VkRG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIiCiBQQVNTIGdGb2N1
c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjMiCiBQQVNT
IGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgIjIi
CiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikg
aXMgIjIiCi1QQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUo
ImlkIikgaXMgIjIiCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5nZXRBdHRy
aWJ1dGUoImlkIikgaXMgIjEiCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxlbWVudC5n
ZXRBdHRyaWJ1dGUoImlkIikgaXMgIjEiCiBQQVNTIGdGb2N1c2VkRG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5nZXRBdHRyaWJ1dGUoImlkIikgaXMgInN0YXJ0IgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29udGVudC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
Y2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNsaXBwZWQtb3ZlcmZsb3dlZC1j
b250ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM3LDExICszNyw5IEBACiAgICAgICBbIkRv
d24iLCAiMSJdLAogICAgICAgWyJEb3duIiwgIjIiXSwKICAgICAgIFsiRG93biIsICIyIl0sCi0g
ICAgICBbIkRvd24iLCAiMiJdLAogICAgICAgWyJEb3duIiwgIjMiXSwKICAgICAgIFsiVXAiLCAi
MiJdLAogICAgICAgWyJVcCIsICIyIl0sCi0gICAgICBbIlVwIiwgIjIiXSwKICAgICAgIFsiVXAi
LCAiMSJdLAogICAgICAgWyJVcCIsICIxIl0sCiAgICAgICBbIlVwIiwgInN0YXJ0Il0sCkBAIC04
Miw3ICs4MCw3IEBACiAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgPGltZyBzcmM9InJlc291cmNl
cy9ncmVlbi5wbmciIHdpZHRoPTIwMHB4IGhlaWdodD0yMDBweD4KICAgICAgIDxkaXY+PC9kaXY+
Ci0gICAgICA8YSBpZD0iMiIgaHJlZj0iYSI+PGltZyBzcmM9InJlc291cmNlcy9ncmVlbi5wbmci
IHdpZHRoPTMwcHggaGVpZ2h0PTMwcHg+PC9hPi48L3A+CisgICAgICA8YSBpZD0iMiIgaHJlZj0i
YSI+PGltZyBzcmM9InJlc291cmNlcy9ncmVlbi5wbmciIHdpZHRoPTMwcHggaGVpZ2h0PTMwcHg+
PC9hPi4KICAgICA8L2Rpdj4KICAgICA8YSBpZD0iMyIgaHJlZj0iYSI+PGltZyBzcmM9InJlc291
cmNlcy9ncmVlbi5wbmciIHdpZHRoPTMwcHggaGVpZ2h0PTMwcHg+PC9hPgogICAgIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0
aW5nL2RpcmVjdC1pbWFnZS1jb21wb3NpdGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2RpcmVjdC1pbWFnZS1jb21wb3Np
dGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NvbXBvc2l0aW5nL2RpcmVjdC1pbWFnZS1jb21wb3NpdGluZy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3
NDkKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgNzg1eDc0OQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTQ5CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxNDkKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwy
MSkgc2l6ZSA3Njl4MTEyCiAgICAgICBSZW5kZXJCbG9jayB7SDF9IGF0ICgwLDApIHNpemUgNzY5
eDM3CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
Zml4ZWQtcG9zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0
aW5nL2dlb21ldHJ5L2ZpeGVkLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAwOHgxMDE2CiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAxNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA3ODV4MTAxNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTAw
MHgxMDAwCiBsYXllciBhdCAoNTAsMTY2KSBzaXplIDQzOXgxOApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2dlb21ldHJ5L3ZpZGVvLW9wYWNpdHktb3ZlcmxheS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBv
c2l0aW5nL2dlb21ldHJ5L3ZpZGVvLW9wYWNpdHktb3ZlcmxheS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2dlb21l
dHJ5L3ZpZGVvLW9wYWNpdHktb3ZlcmxheS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTYsNyArNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM2MAogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDI5NHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5
NDogIlRoZSBvcmFuZ2UgYmFyIHNob3VsZCBiZSBpbiBmcm9udCBvZiB0aGUgdmlkZW8uIgotbGF5
ZXIgYXQgKDgsNTApIHNpemUgNDAyeDMwNQorbGF5ZXIgYXQgKDgsNTApIHNpemUgNDAyeDMwMgog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzQpIHNpemUg
NDAyeDMwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgxLDEpIHNpemUgNDAweDMwNAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvb3ZlcmZsb3cvZml4ZWQtcG9zaXRpb24tYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL292ZXJm
bG93L2ZpeGVkLXBvc2l0aW9uLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9m
aXhlZC1wb3NpdGlvbi1hbmNlc3Rvci1jbGlwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAwOHgxMDE2CiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAxNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA3ODV4MTAxNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTAw
MHgxMDAwCiBsYXllciBhdCAoNTAsMTY2KSBzaXplIDMxOHgxOApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL292ZXJmbG93L3Njcm9sbC1hbmNlc3Rvci11cGRhdGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21w
b3NpdGluZy9vdmVyZmxvdy9zY3JvbGwtYW5jZXN0b3ItdXBkYXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvb3Zl
cmZsb3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTksNyArOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgMTAweDEwMAogICBSZW5kZXJWaWRl
byB7VklERU99IGF0ICgwLDApIHNpemUgMTAweDEwMAogbGF5ZXIgYXQgKDUwLDUwKSBzaXplIDEw
MHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg1MCw1MCkgc2l6ZSAx
MDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCi1sYXllciBhdCAoNTAsNTApIHNpemUgMjAyeDI3Mgor
bGF5ZXIgYXQgKDUwLDUwKSBzaXplIDIwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICg1MCw1MCkgc2l6ZSAyMDB4MjAwCiAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDIxOCkgc2l6ZSAyMDB4NTQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE5MXg1NApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlZmxl
Y3Rpb25zL2xvYWQtdmlkZW8taW4tcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zL2xvYWQt
dmlkZW8taW4tcmVmbGVjdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zL2xvYWQtdmlkZW8t
aW4tcmVmbGVjdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDM1MAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQ5M3gxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ5MzogIllvdSBzaG91
bGQgc2VlIGEgcmVmbGVjdGVkIHZpZGVvIGJlbG93LCByYXRoZXIgdGhhbiB0aGUgcmVkIHZpZGVv
IGJhY2tncm91bmQuIgotbGF5ZXIgYXQgKDgsNTApIHNpemUgMzUyeDI5MgorbGF5ZXIgYXQgKDgs
NTApIHNpemUgMzAweDI5MgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNCkgc2l6ZSAzMDB4
MjkyCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAo
OCw1MCkgc2l6ZSAzNTJ4Mjg4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvcmVwYWludC9jb250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZXBhaW50L2NvbnRl
bnQtaW50by1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJm
bG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTcsNiArMTcsNiBAQCBsYXllciBh
dCAoMjgsMzI4KSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgwLDMwOCkgc2l6ZSAxMDB4MTAwCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCw4MCkgc2l6ZSAxMDB4MjAKLWxheWVyIGF0ICgyOCwzMjgpIHNpemUgMTAweDgwCitsYXll
ciBhdCAoMjgsMzI4KSBzaXplIDEwMHgwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgwCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5n
KSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NvbXBvc2l0aW5nL3JlcGFpbnQvb3ZlcmZsb3ctaW50by1jb250ZW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcmVw
YWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZXBhaW50L292ZXJmbG93
LWludG8tY29udGVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsMTcgKzUsMTcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDYwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsMjApIHNpemUgNzg0eDQyMAogbGF5ZXIgYXQgKDI4LDIwKSBzaXplIDEyMHg0MjAKICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDIwLDApIHNpemUgMTIweDQyMAotbGF5ZXIgYXQgKDI4LDI4KSBz
aXplIDEwM3gxMDYKK2xheWVyIGF0ICgyOCwyOCkgc2l6ZSA1NngxMDYKICAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDgpIHNpemUgNTZ4MTA2IFtib3JkZXI6ICgzcHggc29s
aWQgIzAwODAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSA1MHg1MAog
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NTAKLWxheWVyIGF0ICgy
OCwxNzgpIHNpemUgMTA2eDEwMworbGF5ZXIgYXQgKDI4LDE3OCkgc2l6ZSAxMDZ4NTYKICAgUmVu
ZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDE1OCkgc2l6ZSAxMDZ4NTYgW2JvcmRl
cjogKDNweCBzb2xpZCAjMDA4MDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBz
aXplIDUweDUwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDUweDEwMAog
bGF5ZXIgYXQgKDI4LDMyOCkgc2l6ZSAxMDB4ODAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgwLDMwOCkgc2l6ZSAxMDB4ODAKICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDEwMHgwIFtiZ2NvbG9yPSMwMDgwMDBdCi1sYXllciBhdCAoMjgsMzI4KSBzaXpl
IDEwMHg4MAorbGF5ZXIgYXQgKDI4LDMyOCkgc2l6ZSAxMDB4MAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MAogICAgIFJlbmRlckJs
b2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4ODAKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jc3MxL2JveF9wcm9wZXJ0aWVzL21hcmdpbi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRp
ZXMvbWFyZ2luLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvY3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW4tZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODd4MjYyOAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODd4MjYyOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjYyOAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MjYyOAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDI2MTIgW2JnY29sb3I9I0NDQ0NDQ10KICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEv
Ym94X3Byb3BlcnRpZXMvbWFyZ2luX3JpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW5fcmlnaHQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jc3MxL2JveF9wcm9wZXJ0aWVzL21hcmdpbl9yaWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4N3gxMDA1CiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4N3gx
MDA1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMDA1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXgxMDA1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3Njl4OTg5IFtiZ2NvbG9yPSNDQ0NDQ0NdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2NsYXNz
aWZpY2F0aW9uL3doaXRlX3NwYWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9jbGFzc2lmaWNhdGlvbi93aGl0ZV9zcGFjZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEv
Y2xhc3NpZmljYXRpb24vd2hpdGVfc3BhY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MjF4NTg1CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDkyMXg1ODUKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5IFti
Z2NvbG9yPSNDQ0NDQ0NdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3Jv
dW5kL2JhY2tncm91bmRfYXR0YWNobWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3Vu
ZF9hdHRhY2htZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX2F0dGFj
aG1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4ODB4MTE5MwogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4ODB4MTE5MworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4
MTE5MwogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTE5MwogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDExNzcgW2JnY29sb3I9I0NDQ0NDQ10K
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9y
ZXBlYXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2JhY2tncm91bmRfcmVwZWF0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9jb2xv
cl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX3JlcGVhdC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDg4OHgxODM4CiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDg4OHgx
ODM4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxODM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXgxODM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3Njl4MTgyMiBbYmdjb2xvcj0jQ0NDQ0NDXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzY5eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3Qw
ODAzLWM1NTAyLW1yZ24tci0wMi1jLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwODAzLWM1NTAyLW1yZ24tci0wMi1jLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4x
L3QwODAzLWM1NTAyLW1yZ24tci0wMi1jLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAyeDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDJ4NjYKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDY2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDI0KSBzaXplIDc4NHgxOAogICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzk0eDE4IFtjb2xvcj0jMDAwMDgwXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwNS1tcmduLTAyLWMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3My
LjEvdDA4MDMtYzU1MDUtbXJnbi0wMi1jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwODAzLWM1NTA1LW1yZ24tMDItYy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMng1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVy
IGF0ICgwLDApIHNpemUgODAyeDM0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMgogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzIKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCwtMikgc2l6ZSA3ODR4MzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoLTEwLDAp
IHNpemUgODA0eDM2IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NzczIuMS90MDgwNC1jNTUwOC1pcGFkbi1iLTAyLWItYS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwNC1jNTUwOC1pcGFk
bi1iLTAyLWItYS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NzczIuMS90MDgwNC1jNTUwOC1pcGFkbi1iLTAyLWItYS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDEyMgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTEwCiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMTAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCwxNikgc2l6ZSA3ODR4ODYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4
NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZs
dC0wMC1kLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAwLWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDAt
ZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxh
eWVyIGF0ICgwLDApIHNpemUgODAweDE3MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM0CiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMzQKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTAyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAxLWQtZy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0w
MS1kLWctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDEtZC1nLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
MTYyCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDEzMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXpl
IDc4NHg5OAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xv
cj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1j
NDE0LWZsdC0wMi1jLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAyLWMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1m
bHQtMDItYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDY4CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMCkgc2l6ZSA3ODR4MzYgW2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAzLWMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQt
MDMtYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMy1jLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjY0
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4
MzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgzNiBbY29sb3I9IzAw
MDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1m
bHQtMDQtYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wNC1jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTA0
LWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1s
YXllciBhdCAoMCwwKSBzaXplIDgwMHgzNDQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDY4CiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2OAogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgzNgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDM2IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC13cmFwLTAxLWQtZy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZs
dC13cmFwLTAxLWQtZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC13cmFwLTAxLWQtZy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDE2MworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU2CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCwxNikgc2l6ZSA3ODR4MTI0CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6
ZSA3ODR4MTggW2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y3NzMi4xL3QwOTA1LWM1NTI1LWZsdGNvbnQtMDAtZC1nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdGNvbnQt
MDAtZC1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdGNvbnQtMDAtZC1nLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MjYwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXpl
IDU4OHgyNTIgW2NvbG9yPSNGRkZGRkZdIFtiZ2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAyLWMtZy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90
MDkwNS1jNTUyNS1mbHR3aWR0aC0wMi1jLWctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgt
MDItYy1nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDM0
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNAogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDE4CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIu
MS90MDkwNS1jNTUyNS1mbHR3aWR0aC0wMy1jLWctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgtMDMt
Yy1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAzLWMtZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDQ0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHgxOAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDEyMDItY291bnRlcnMtMDgtYi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIu
MS90MTIwMi1jb3VudGVycy0wOC1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA4LWItZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA5NTR4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDk1NHg5NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OTQKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDk0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsMTYpIHNpemUgNzg0eDcwCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDEyMDItY291bnRl
cnMtMDktYi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NzczIuMS90MTIwMi1jb3VudGVycy0wOS1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA5
LWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxMDQ3eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDQ3eDk0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg5NAog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OTQKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4NzAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90
MDkwNTAxLWM0MTQtZmx0LTAyLWQtZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAyLWQtZy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIu
MS90MDkwNTAxLWM0MTQtZmx0LTAyLWQtZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDIxOAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MTU0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHgxNTQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTIyCiAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwODBd
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1MDEtYzQxNC1mbHQt
MDMtYi1nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvY3NzMi4xL3QwOTA1MDEtYzQxNC1mbHQtMDMtYi1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1MDEtYzQxNC1m
bHQtMDMtYi1nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjM3CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgxNTUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDE1NQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMjMKICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgzNyBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAw
MS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAxLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGlu
Zy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xMSw3ICsxMSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QK
IEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlm
aWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDApIHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBz
b2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFmdGVy
LXNwYW4td3MtMDAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIEVESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDAp
IHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdz
LTAwMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxl
dGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xMSw3ICsxMSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5v
dGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDApIHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBw
eCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5n
L2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5l
LWVuZC13cy0wMDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0wMDEtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIEVESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCww
KSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDApIHNp
emUgNzQ4eDI0NCBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0wMDIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2Rl
bGV0ZS1saW5lLWVuZC13cy0wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02Niw3
ICs2Niw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlv
bgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDY0LDApIHNpemUgNzQ4eDI0NCBbYm9yZGVyOiAoNTBweCBzb2xpZCAj
RkYwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlv
bi8yNTIyOC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2VkaXRpbmcvc2VsZWN0aW9uLzI1MjI4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vMjUyMjgtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAyMDAweDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMTAweDU4NQogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDAweDU4NQorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg3OTgsMCkgc2l6ZSAzMDJ4MjcyIFtib3JkZXI6
ICgxcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRp
dGluZy9zZWxlY3Rpb24vZm9jdXNfZWRpdGFibGVfaHRtbC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2ZvY3VzX2Vk
aXRhYmxlX2h0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9mb2N1c19lZGl0YWJsZV9odG1sLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAgRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZEJlZ2luRWRpdGluZwogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBh
dCAoMCwwKSBzaXplIDIwMDh4MjA4OAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDA4eDIwODgKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1
eDIwODgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDIwODgKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgyMDcyCiAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc2OXg1NApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDAxLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
c2VsZWN0LWFsbC0wMDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHNo
b3VsZENoYW5nZVNlbGVjdGVkRE8KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MjB4OTAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1s
YXllciBhdCAoMCwwKSBzaXplIDgyMHg5MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDkwMAog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4OTAwCiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzY5eDc3MgogICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDY0LDApIHNpemUgNzQ4eDc3MiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxs
LTAwMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2Vs
ZWN0LWFsbC0wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBF
RElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPCiBFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDkwMAogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4OTAwCitsYXllciBhdCAo
MCwwKSBzaXplIDc4NXg5MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1
eDkwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc2OXg3NzIKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHg3NzIgW2JvcmRlcjogKDUwcHgg
c29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDAzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRE
TwogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgxMngxMDQ0
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXpl
IDgxMngxMDQ0CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMDQ0CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxMDQ0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDY0
LDY0KSBzaXplIDc0OHg5MTYgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCiAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNzQsNzQpIHNpemUgNjAweDc2OApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDA0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxs
LTAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcg
REVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE8KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgxMng1ODUKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDY0LDY0KSBzaXplIDc0OHg0NTcgW2JvcmRlcjogKDUw
cHggc29saWQgI0ZGMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNzQsNzQpIHNp
emUgNjAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlv
bi91bnJlbmRlcmVkLTAwMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAxLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0z
LDcgKzMsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5FZGl0aW5nCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4
NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2Jv
cmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRl
cmVkLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBz
aXplIDgyMHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0
ICgwLDApIHNpemUgODIweDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw2NCkgc2l6ZSA3ODR4NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQs
MCkgc2l6ZSA3NDh4MTk2IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9zZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVk
LTAwMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBAIEVESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDY0LDApIHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAj
RkYwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlv
bi91bnJlbmRlcmVkLTAwNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01
LDcgKzUsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4
NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2Jv
cmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRl
cmVkLTAwNS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA1LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBz
aXplIDgyMHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0
ICgwLDApIHNpemUgODIweDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw2NCkgc2l6ZSA3ODR4NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQs
MCkgc2l6ZSA3NDh4MTk2IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L25lZ2F0aXZlLW9m
ZnNldC1yZXBlYXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9uZWdhdGl2ZS1vZmZzZXQtcmVwZWF0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvbmVnYXRpdmUtb2Zmc2V0LXJlcGVhdC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDUyNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDg0CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg0ODQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCwxNikgc2l6ZSA3ODR4NDUyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3Np
emUvYmFja2dyb3VuZFNpemUxNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmFja2dyb3VuZHMvc2l6ZS9iYWNrZ3JvdW5kU2l6ZTE1LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2JhY2tncm91bmRTaXplMTUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4OTcwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgw
OHg5NzAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDk3MAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA3ODV4OTcwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3Njl4OTU0CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljLzAxMC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svYmFzaWMvMDEwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9iYXNpYy8wMTAtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgy
MjYKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MTM0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTE4CiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgx
OApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMvZmllbGRz
ZXQtc3RyZXRjaC10by1sZWdlbmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljL2ZpZWxkc2V0LXN0cmV0Y2gtdG8tbGVn
ZW5kLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ibG9jay9iYXNpYy9maWVsZHNldC1zdHJldGNoLXRvLWxlZ2VuZC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4ODU5CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgUmVuZGVyRmllbGRTZXQge0ZJRUxEU0VUfSBhdCAoMiw4MTIpIHNpemUgMTI4eDI5IFti
b3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQogICAgICAgICBSZW5kZXJCbG9jayB7TEVHRU5E
fSBhdCAoMTQsMCkgc2l6ZSAxNTZ4MTIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0KLWxh
eWVyIGF0ICg4LDU4MSkgc2l6ZSAxODZ4NDAKK2xheWVyIGF0ICg4LDU4MSkgc2l6ZSAxMDB4NDAK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDU3Mykgc2l6
ZSAxMDB4NDAKICAgICBSZW5kZXJGaWVsZFNldCB7RklFTERTRVR9IGF0ICgyLDApIHNpemUgMTg0
eDI5IFtib3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQogICAgICAgUmVuZGVyQmxvY2sge0xF
R0VORH0gYXQgKDE0LDApIHNpemUgMTU2eDEyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRild
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMDgtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrL2Zsb2F0LzAwOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDA4LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4
NjA4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NzY5eDMwMAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXpl
IDc2OXgxMDAgW2JnY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrL2Zsb2F0LzAxMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDEzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9h
dC8wMTMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwOHg1ODUKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgwCi1sYXllciBhdCAoOCw2NCkgc2l6ZSA4MDB4MTE1CitsYXllciBh
dCAoOCw2NCkgc2l6ZSA4MDB4MTA4CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBh
dCAoOCw2NCkgc2l6ZSA4MDB4MTA4IFtiZ2NvbG9yPSMwMDAwRkZdCiAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDM4LDgpIHNpemUgNzIzeDU3IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgy
cHggc29saWQgIzg4ODg3OCkgbm9uZV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDE4MngxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2sv
ZmxvYXQvMDE5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAxOS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDIwMDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDIwMDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSA3ODR4MTU0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9m
bG9hdC8wMjEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDIxLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
MTUxOHgzMTY2CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDE1MTh4MzE2NgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MzE2NgogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MzE2NgogICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzY5eDMxNDIKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzY5eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ibG9jay9mbG9hdC8wMjktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyOS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDI5
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTY2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1NAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTQKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHgzOAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7
RElWfSBhdCAoNTMyLDApIHNpemUgMjUyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDAp
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDMxLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9mbG9hdC8wMzEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDMzMgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHgzMDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHgyODQKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHg1MApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDMzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9m
bG9hdC8wMzMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDA4CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDA4
CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5
eDU4NAogbGF5ZXIgYXQgKDQ3Nyw4KSBzaXplIDMwMHgyMDAwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzNS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2svZmxvYXQvMDM1LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDgyOAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4ODI4CitsYXllciBhdCAoMCwwKSBz
aXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDYwMAog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU4NAogICAgICAgUmVuZGVy
QmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDY3M3g4MjAgW2JvcmRlcjogKDEw
cHggc29saWQgIzAwMDBGRildCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9mbG9hdC9hdm9pZGFuY2UtcGVyY2VudC13aWR0aC1zdHJpY3QtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2F2
b2lkYW5jZS1wZXJjZW50LXdpZHRoLXN0cmljdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvYXZvaWRhbmNl
LXBlcmNlbnQtd2lkdGgtc3RyaWN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODEyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4MTM4CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHgxMzgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDEzOAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDEyMgogICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA4MDB4NTAKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2NsYW1wZWQtcmlnaHQtZmxvYXQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L2Zsb2F0L2NsYW1wZWQtcmlnaHQtZmxvYXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2NsYW1wZWQtcmln
aHQtZmxvYXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMDgKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgwCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRp
bmcpIHtESVZ9IGF0ICgtNDIxNiwwKSBzaXplIDUwMDB4MTAwIFtiZ2NvbG9yPSM2NkVFQUFdCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1pbi1m
bG9hdC1wYWludGluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtaW4tZmxvYXQtcGFpbnRpbmctZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL2Zsb2F0L2Zsb2F0LWluLWZsb2F0LXBhaW50aW5nLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIsNyArMTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxMTU6ICJpc3N1ZXMgKGZsaWNrci5j
b20pIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNSwxOCkgc2l6ZSA1OTd4MTgK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE1LDE4KSB3aWR0aCA1OTc6ICIsIG9yIHJhdGhlciwg
YSByZWxhdGVkIHBhaW50aW5nIGlzc3VlLiBUaGUgd29yZCBcIlBBU1NcIiBzaG91bGQgYXBwZWFy
IGJlbG93IGluIHRyYW5zbHVjZW50IGJsdWUuIgotbGF5ZXIgYXQgKDgsNDQpIHNpemUgNzg0eDE2
MgorbGF5ZXIgYXQgKDgsNDQpIHNpemUgNzg0eDEyNQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwzNikgc2l6ZSA3ODR4MTI1CiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAo
MCwwKSBzaXplIDEwNHgxMjUKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQv
bmVzdGVkLWNsZWFyYW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvbmVzdGVkLWNsZWFyYW5jZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svZmxvYXQvbmVzdGVkLWNsZWFyYW5jZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNTA0CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNTA0CitsYXll
ciBhdCAoMCwwKSBzaXplIDc4NXgxNDQ0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDc4NXgxNDQ0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTQy
OAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDY0eDY4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9yZWxhdGl2
ZS1wYWludGVkLXR3aWNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9yZWxhdGl2ZS1wYWludGVkLXR3aWNlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ibG9jay9mbG9hdC9yZWxhdGl2ZS1wYWludGVkLXR3aWNlLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjAxNgogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDIwMDAKICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzY5eDE1MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMTUwKSBzaXplIDc2OXgwCi1sYXllciBhdCAoOCw1OCkgc2l6ZSA3Njl4MTAwCitsYXll
ciBhdCAoOCw1OCkgc2l6ZSA3Njl4MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA3Njl4MAogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwMDA3Rl0KIGNhcmV0OiBw
b3NpdGlvbiAwIG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAxIHtE
SVZ9IG9mIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21h
cmdpbi1jb2xsYXBzZS8wMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wMDQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L21hcmdpbi1jb2xsYXBzZS8wMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDU4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1
OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMTQKICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzA2Mi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNv
bGxhcHNlLzA2Mi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzA2Mi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTEgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4MTEwIGxheWVyVHlwZTogYmFja2dyb3VuZCBvbmx5CitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0NiBsYXllclR5cGU6IGJhY2tncm91bmQgb25seQogbGF5ZXIgYXQgKDEwLDQ2KSBz
aXplIDMyMHg2NAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IC0xIHtESVZ9IGF0ICgx
MCw0Nikgc2l6ZSAzMjB4NjQgW2NvbG9yPSNGRkZGMDBdIFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAg
UmVuZGVyVGV4dCB6STogLTEgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM2eDE4CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAzNjogIkZBSUwiCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgx
MTAgbGF5ZXJUeXBlOiBmb3JlZ3JvdW5kIG9ubHkKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ2
IGxheWVyVHlwZTogZm9yZWdyb3VuZCBvbmx5CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg0NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgxMCw0Nikgc2l6ZSA3ODB4
MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMCkgc2l6ZSA3NzZ4MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzA2My1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svbWFyZ2luLWNvbGxhcHNlLzA2My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzA2My1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTEgKzEsMTEgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NzcgbGF5ZXJUeXBlOiBiYWNrZ3JvdW5kIG9ubHkKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDQ5IGxheWVyVHlwZTogYmFja2dyb3VuZCBvbmx5CiBsYXllciBh
dCAoMTAsMTMpIHNpemUgMzIweDY0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogLTEg
e0RJVn0gYXQgKDEwLDEzKSBzaXplIDMyMHg2NCBbY29sb3I9I0ZGRkYwMF0gW2JnY29sb3I9I0ZG
MDAwMF0KICAgICBSZW5kZXJUZXh0IHpJOiAtMSB7I3RleHR9IGF0ICgwLDApIHNpemUgMzZ4MTgK
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM2OiAiRkFJTCIKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDc3IGxheWVyVHlwZTogZm9yZWdyb3VuZCBvbmx5CitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0OSBsYXllclR5cGU6IGZvcmVncm91bmQgb25seQogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDkKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMTAsMikg
c2l6ZSA3ODB4MQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMCkgc2l6ZSA3NzZ4MQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNl
LzEwNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzEwNC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxh
cHNlLzEwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDk3Nng1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTc2eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgNzg0eDEwOCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNl
L2Jsb2NrLWluc2lkZS1pbmxpbmUvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5z
aWRlLWlubGluZS8wMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9ibG9jay1pbnNpZGUt
aW5saW5lLzAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDEzMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDExNAogICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMDUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L21hcmdpbi1jb2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFy
Z2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1pbmxpbmUvMDA1LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg0ODMKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyNTksMCkgd2lkdGggNDk6ICJ0ZXN0IDAwNiIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMDgsMCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDMwOCwwKSB3aWR0aCA0OiAiLiIKLWxheWVyIGF0ICgxMSwxMDMpIHNpemUgMzZ4
MzI3CitsYXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDI3NwogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNngyNzcgW2JnY29sb3I9IzAwMDBG
Rl0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDM2eDAKICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKQEAgLTYyLDcgKzYyLDcgQEAg
bGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngzMjcKICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwzMjcpIHNpemUgMzZ4MAogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDB4MAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1s
YXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDEwOQorbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNng1
OQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6
ZSAzNng1OSBbYmdjb2xvcj0jRkYwMDAwXQogICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDApIHNpemUgMzZ4MAogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDB4MApAQCAtNzQsNyArNzQsNyBAQCBsYXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDEwOQogICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwOSkgc2l6ZSAzNngwCiAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMSwxMDMpIHNpemUgMzZ4MTA5Cits
YXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDU5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDM2eDU5IFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzNngwCiAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCkBAIC04NSw3ICs4NSw3IEBAIGxheWVyIGF0
ICgxMSwxMDMpIHNpemUgMzZ4NTkKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgwLDApIHNpemUgMzZ4NTkgW2JnY29sb3I9I0ZGRkYwMF0KICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNng1OQogICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzY6ICJBIgotbGF5ZXIgYXQgKDExLDIxMikgc2l6ZSAzNngxMDkKK2xheWVyIGF0ICgx
MSwyMTIpIHNpemUgMzZ4NTkKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDApIHNpemUgMzZ4NTkgW2JnY29sb3I9I0ZGMDAwMF0KICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDM2eDAKICAgICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL3Bvc2l0aW9uaW5nLzAwMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDAyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9j
ay9wb3NpdGlvbmluZy8wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzQKICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMSkgc2l6ZSA1Mjh4MTYKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEp
IHdpZHRoIDUyODogIkFoZW1fZm9udF9yZXF1aXJlZF9mb3JfdGhpc190ZXN0LiIKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCwyNikgc2l6
ZSA2MDB4MjAwCitsYXllciBhdCAoOCwyNikgc2l6ZSAzMDB4MTAwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxOCkgc2l6ZSAzMDB4MTAwIFtiZ2NvbG9y
PSNGRjAwMDBdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA2MDB4MjAwIFtj
b2xvcj0jMDA4MDAwXQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzAw
eDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25p
bmcvMDQ3LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wNDctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA0
Ny1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgbGF5ZXIgYXQg
KDgsOCkgc2l6ZSA1MTJ4ODM5CiAgICAgICAgIHRleHQgcnVuIGF0ICgzMjAsMzEpIHdpZHRoIDE5
MjogIiAoaGl0IGl0IGEgZmV3IHRpbWVzIG9uIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2MCkg
d2lkdGggNTAxOiAidGhpcyBwYWdlKS4gVGhpcyBpcyBhIGNyaXBwbGluZyBmbGF3IGZvciBwZW9w
bGUgd2hvIG5lZWQiCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg5KSB3aWR0aCAzNzA6ICJ0byBl
bmxhcmdlIHRoZSBmb250cyB0byByZWFkIGNvbWZvcnRhYmx5LiIKLWxheWVyIGF0ICg1NDYsMTc5
KSBzaXplIDIwMHg0OQorbGF5ZXIgYXQgKDU0NiwxNzkpIHNpemUgMjAweDQ4CiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7U1BBTn0gYXQgKDUzOCwxNzEpIHNpemUgMjAweDQ4CiAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLC0xKSBzaXplIDE5OXg1MAogICAgICAgdGV4dCBydW4gYXQg
KDAsLTEpIHdpZHRoIDE5OTogIlx4ezIxOTB9IHRoaXMgc2hvdWxkIGJlIHRvIHRoZSByaWdodCBv
ZiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5n
LzA0OS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDQ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wNDkt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0Ci1sYXllciBhdCAoMTAsMTApIHNpemUgMTYweDE2MAorbGF5ZXIg
YXQgKDEwLDEwKSBzaXplIDEyMHgxMjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwIFtiZ2NvbG9yPSNGRjAwMDBdIFtib3JkZXI6ICgxMHB4
IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwxMCkgc2l6ZSAx
NTB4MTUwIFtiZ2NvbG9yPSMwMDgwMDBdCiBsYXllciBhdCAoMjAwLDEwKSBzaXplIDEyMHgxMjAg
Y2xpcCBhdCAoMjEwLDIwKSBzaXplIDEwMHgxMDAgc2Nyb2xsV2lkdGggMTUwIHNjcm9sbEhlaWdo
dCAxNTAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9u
aW5nLzA1MS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDUxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8w
NTEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBAIGxheWVyIGF0
ICgzNCwyMjY1KSBzaXplIDIwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAt
MzAge1B9IGF0ICgxMCwyMTApIHNpemUgMjAweDIwMCBbY29sb3I9I0ZGRkZGRl0gW2JnY29sb3I9
IzY2MDA5OV0KICAgICBSZW5kZXJUZXh0IHpJOiAtMzAgeyN0ZXh0fSBhdCAoNzEsNDIpIHNpemUg
NTd4OTcKICAgICAgIHRleHQgcnVuIGF0ICg3MSw0Mikgd2lkdGggNTc6ICI3IgotbGF5ZXIgYXQg
KDg0LDg0Mykgc2l6ZSA1MTl4MjAwCitsYXllciBhdCAoODQsODQzKSBzaXplIDIwMHgyMDAKICAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAtMyB7UH0gYXQgKDYwLDYwKSBzaXplIDIwMHgy
MDAgW2NvbG9yPSNGRkZGRkZdIFtiZ2NvbG9yPSM5OTAwNjZdCiAgICAgUmVuZGVyVGV4dCB6STog
LTMgeyN0ZXh0fSBhdCAoNTAsNDIpIHNpemUgNDY5eDk3CiAgICAgICB0ZXh0IHJ1biBhdCAoNTAs
NDIpIHdpZHRoIDQ2OTogIiA4IGhpZGUgbWUiCkBAIC05OSw3ICs5OSw3IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgNzg1eDUyNjkgbGF5ZXJUeXBlOiAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAzNDk6ICJVc2luZyBhc3N1bWVkIGRlZmF1bHQgdmFsdWUgb2Ygei1pbmRleCAobWF5
IG5vdCBwYXNzKToiCiBsYXllciBhdCAoMjQsMTQ3KSBzaXplIDYyMHg2MjAKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxNiwxMjYpIHNpemUgNjIweDYyMCBb
Ym9yZGVyOiAoMTBweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICg4NCwyMDcpIHNpemUgNTE5
eDIwMAorbGF5ZXIgYXQgKDg0LDIwNykgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7UH0gYXQgKDYwLDYwKSBzaXplIDIwMHgyMDAgW2NvbG9yPSNGRkZGRkZdIFtiZ2Nv
bG9yPSM5OTAwNjZdCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MCw0Mikgc2l6ZSA0Njl4
OTcKICAgICAgIHRleHQgcnVuIGF0ICg1MCw0Mikgd2lkdGggNDY5OiAiIDggaGlkZSBtZSIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2F1dG8t
aGVpZ2h0LXdpdGgtdG9wLWFuZC1ib3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2F1dG8taGVpZ2h0
LXdpdGgtdG9wLWFuZC1ib3R0b20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2F1dG8taGVpZ2h0
LXdpdGgtdG9wLWFuZC1ib3R0b20tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcg
KzgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA2MzQ6ICJUaGUgcmVkIGJveCBzaG91bGQgYmUgZW50aXJlbHkgaW5zaWRl
IHRoZSBibGFjayBib3ggd2l0aCB0aGUgdGV4dCBjb250ZW50IHNwaWxsaW5nIG91dCBvZiBib3Ro
IG9mIHRoZW0uIgogbGF5ZXIgYXQgKDgsNDIpIHNpemUgNDA0eDEwNAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzQpIHNpemUgNDA0eDEwNCBbYm9yZGVy
OiAoMnB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDEwLDY0KSBzaXplIDQwMHgxNDYKK2xh
eWVyIGF0ICgxMCw2NCkgc2l6ZSA0MDB4NjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyLDIyKSBzaXplIDQwMHg2MCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQog
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDM5NngxNDQKICAgICAgIHRleHQg
cnVuIGF0ICgyLDIpIHdpZHRoIDM5NjogIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25z
ZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXBsYWNlZC1pbnNpZGUtZml4ZWQtdG9w
LWJvdHRvbS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvcmVwbGFjZWQtaW5zaWRlLWZpeGVkLXRvcC1ib3R0
b20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3JlcGxhY2VkLWluc2lkZS1maXhlZC10b3AtYm90
dG9tLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAw
eDAKIGxheWVyIGF0ICg1MCwxMDApIHNpemUgNzAweDQwMAogICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDUwLDEwMCkgc2l6ZSA3MDB4NDAwIFtib3JkZXI6ICgxcHggc29saWQg
IzgwODA4MCldCi1sYXllciBhdCAoNTEsMTQwKSBzaXplIDU2MHgzMjMKK2xheWVyIGF0ICg1MSwx
NDApIHNpemUgNTYweDMyMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDEs
NDApIHNpemUgNTYweDMyMCBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgxLDEpIHNpemUgMzkyeDMxOAogICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2tmbG93L2Jsb2NrLWxldmVsLWltYWdlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Jsb2NrLWxldmVsLWltYWdl
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2tmbG93L2Jsb2NrLWxldmVsLWltYWdlcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDMxNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDIsMikgc2l6ZSAyNjR4
MzA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy12ZXJ0aWNhbC1s
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMtY2xpcHBpbmctdmVydGljYWwtbHItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrZmxvdy9ib3JkZXItcmFkaXVzLWNsaXBwaW5nLXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYy
MQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4NjIxCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzI3eDU4NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNDR4
NjAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvYm94LXNo
YWRvdy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JveC1zaGFkb3ctdmVydGljYWwtbHItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjA4
CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5
eDU4NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNDR4NjAwCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0
aWNhbC1ybC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2tmbG93L2JveC1zaGFkb3ctdmVydGljYWwtcmwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxv
dy9ib3gtc2hhZG93LXZlcnRpY2FsLXJsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjA4CitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU4NAogICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNDR4NjAwCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvZmxvYXRzLWluLWJsb2NrLWxheW91dC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2tmbG93L2Zsb2F0cy1pbi1ibG9jay1sYXlvdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9mbG9hdHMt
aW4tYmxvY2stbGF5b3V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDh4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDExNng2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTE2eDYwMAog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTAweDU4NAogICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4NTg0IFtiZ2NvbG9yPSNGRkZGMDBdCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91
bmQtY29sb3IvMDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MzQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHgyNCBbYmdjb2xvcj0jMDBGRjAwXQogICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDE2KSBzaXplIDc4NHgwIFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDIteGh0bWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jv
ZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDIteGh0bWwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJv
cGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDIteGh0bWwtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgz
NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjQKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgw
LDApIHNpemUgODAweDI0IFtiZ2NvbG9yPSMwMEZGMDBdCiAgICAgUmVuZGVyQm9keSB7Ym9keX0g
YXQgKDgsMTYpIHNpemUgNzg0eDAgW2JnY29sb3I9I0ZGMDAwMF0KICAgICAgIFJlbmRlckJsb2Nr
IHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdh
dGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3Jv
dW5kLWltYWdlLzAwMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDM0CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgyNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjQKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtaW1hZ2UvMDAyLXhodG1sLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXBy
b3BhZ2F0aW9uL2JhY2tncm91bmQtaW1hZ2UvMDAyLXhodG1sLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0
aW9uL2JhY2tncm91bmQtaW1hZ2UvMDAyLXhodG1sLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDI0CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBz
aXplIDgwMHgyNAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgwCiAg
ICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDAxLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5
LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxv
dy8wMDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1
Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMzMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE3
OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTc4CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjJ4MTYyIFtjb2xvcj0jMDAwMDgwXSBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwODApXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgxLDE3KSBz
aXplIDE2MHg3MgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9w
YWdhdGlvbi9vdmVyZmxvdy8wMDEteGh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDAx
LXhodG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS14aHRtbC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgw
LDApIHNpemUgNzg1eDIzMworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTc4CiAgIFJlbmRlckJs
b2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXgxNzgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBh
dCAoOCw4KSBzaXplIDE2MngxNjIgW2NvbG9yPSMwMDAwODBdIFtib3JkZXI6ICgxcHggc29saWQg
IzAwMDA4MCldCiAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDEsMTcpIHNpemUgMTYweDcyCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJm
bG93LzAwNS1kZWNsYXJhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUtZGVjbGFy
YXRpdmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWRlY2xhcmF0aXZlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4NDQ5CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgzNDAKICAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgNzg1eDM0MAogICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE3MCkgc2l6ZSAxNjJ4MTYyIFtjb2xvcj0jMDAwMDgwXSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwODApXQogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgxLDE3KSBzaXplIDE2
MHgxMjYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRp
b24vb3ZlcmZsb3cvMDA1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9k
eS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NDkKK2xheWVy
IGF0ICgwLDApIHNpemUgNzg1eDM0MAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA3ODV4MzQwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTcwKSBzaXplIDE2MngxNjIg
W2NvbG9yPSMwMDAwODBdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDA4MCldCiAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDEsMTcpIHNpemUgMTYweDEyNgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUteGh0bWwtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHkt
cHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LXhodG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292
ZXJmbG93LzAwNS14aHRtbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDQ0OQorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4MzQwCiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXgzNDAK
ICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNzApIHNpemUgMTYyeDE2MiBbY29sb3I9IzAw
MDA4MF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDgwKV0KICAgICAgIFJlbmRlckJsb2NrIHtw
fSBhdCAoMSwxNykgc2l6ZSAxNjB4MTI2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ib3JkZXJzL2ZpZWxkc2V0Qm9yZGVyUmFkaXVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2ZpZWxkc2V0Qm9yZGVy
UmFkaXVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2ZpZWxkc2V0Qm9yZGVyUmFkaXVzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
ICAgUmVuZGVyRmllbGRTZXQge0ZJRUxEU0VUfSBhdCAoMiwzNDcpIHNpemUgMTI4eDM5IFtib3Jk
ZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQogICAgICAgICAgIFJlbmRlckJsb2NrIHtMRUdFTkR9
IGF0ICgxNCwwKSBzaXplIDE1NngxMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYpXQotbGF5
ZXIgYXQgKDQ1OCwxMDYpIHNpemUgMTg2eDQwCitsYXllciBhdCAoNDU4LDEwNikgc2l6ZSAxMDB4
NDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDk4KSBz
aXplIDEwMHg0MAogICAgIFJlbmRlckZpZWxkU2V0IHtGSUVMRFNFVH0gYXQgKDIsMCkgc2l6ZSAx
ODR4MzkgW2JvcmRlcjogKDJweCBncm9vdmUgI0MwQzBDMCldCiAgICAgICBSZW5kZXJCbG9jayB7
TEVHRU5EfSBhdCAoMTQsMCkgc2l6ZSAxNTZ4MTIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZG
KV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYmFzaWMt
c2hhZG93cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYm94LXNoYWRvdy9iYXNpYy1zaGFkb3dzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2Jhc2lj
LXNoYWRvd3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjcxCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXg2NzEKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1
eDY1OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjU4CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4NjM0CiAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc2OXgxNTAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JveC1zaXppbmcvYm94LXNpemluZy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNpemluZy9ib3gtc2l6aW5n
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ib3gtc2l6aW5nL2JveC1zaXppbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC03NSw3ICs3NSw3IEBAIGxheWVyIGF0ICg0Myw0MTMpIHNpemUgMjB4MjAKICAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg0Myw0MTMpIHNpemUgMjB4MjAgW2NvbG9yPSNG
RkZGRkZdIFtiZ2NvbG9yPSNGRkE1MDBdIFtib3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCiBs
YXllciBhdCAoNzMsNDEzKSBzaXplIDIweDIwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoNzMsNDEzKSBzaXplIDIweDIwIFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xvcj0jRkZB
NTAwXSBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDEwMyw0MTMpIHNp
emUgMjB4NjAKK2xheWVyIGF0ICgxMDMsNDEzKSBzaXplIDIweDIwCiAgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMTAzLDQxMykgc2l6ZSAyMHgyMCBbY29sb3I9I0ZGRkZGRl0g
W2JnY29sb3I9I0ZGQTUwMF0gW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICg2LDYpIHNpemUgMHgxOAogICAgIFJlbmRlckJSIHtCUn0gYXQgKDYsMjQp
IHNpemUgMHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDgt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2NsaXAvMDA4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAwOC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEzLDcgKzEzLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NzAKICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDgsNjIpIHNpemUgMTAweDEw
MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNjIpIHNpemUgMTAweDEw
MAotbGF5ZXIgYXQgKDEwMCwxMDApIHNpemUgMjAweDIwMAorbGF5ZXIgYXQgKDEwMCwxMDApIHNp
emUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDEwMCwxMDAp
IHNpemUgMTAweDEwMAogbGF5ZXIgYXQgKDIwMCwyMDApIHNpemUgMTAweDEwMAogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMTAwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAwOS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDktZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2NsaXAvMDA5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDYgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTIKICAgICAgICAgdGV4dCBydW4gYXQgKDU0MSwwKSB3
aWR0aCAyMzk6ICJUaGlzIHRlc3QgaXMgY2hlY2tpbmcgdG8gbWFrZSBzdXJlIGNsaXAiCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxOTI6ICJpcyBhcHBseWluZyB0byBhbGwgZGVz
Y2VuZGFudHMuICIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
bGF5ZXIgYXQgKDgsNDQpIHNpemUgMjAweDIwMCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOCw0NCkgc2l6
ZSAxMDB4MTAwIGNsaXAgYXQgKDgsNDQpIHNpemUgMTAweDEwMCBvdXRsaW5lQ2xpcCBhdCAoOCw0
NCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBb
Ymdjb2xvcj0jRkYwMDAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xp
cC8wMTAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2NsaXAvMDEwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTksNiArOSw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAgICAgIHRl
eHQgcnVuIGF0ICg1NDEsMCkgd2lkdGggMjM5OiAiVGhpcyB0ZXN0IGlzIGNoZWNraW5nIHRvIG1h
a2Ugc3VyZSBjbGlwIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTkyOiAiaXMg
YXBwbHlpbmcgdG8gYWxsIGRlc2NlbmRhbnRzLiAiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4LDQ0KSBzaXplIDIwMHgyMDAgYmFja2dyb3Vu
ZENsaXAgYXQgKDgsNDQpIHNpemUgMTAweDEwMCBjbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAg
b3V0bGluZUNsaXAgYXQgKDgsNDQpIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsNDQpIHNpemUg
MTAweDEwMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNDQpIHNpemUg
MTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMDAs
MTAwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2NsaXAvMDExLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTEtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksNiBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1MgogICAgICAgICB0ZXh0IHJ1biBhdCAoNTQxLDApIHdpZHRoIDIzOTogIlRoaXMgdGVz
dCBpcyBjaGVja2luZyB0byBtYWtlIHN1cmUgY2xpcCIKICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MTgpIHdpZHRoIDE5MjogImlzIGFwcGx5aW5nIHRvIGFsbCBkZXNjZW5kYW50cy4gIgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw0NCkgc2l6
ZSAyMDB4NDAwIGJhY2tncm91bmRDbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgY2xpcCBhdCAo
OCw0NCkgc2l6ZSAxMDB4MTAwIG91dGxpbmVDbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAKK2xh
eWVyIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMTAwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2NsaXAvMDEyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDYgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTIKICAgICAgICAgdGV4dCBydW4gYXQgKDU0MSwwKSB3
aWR0aCAyMzk6ICJUaGlzIHRlc3QgaXMgY2hlY2tpbmcgdG8gbWFrZSBzdXJlIGNsaXAiCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxOTI6ICJpcyBhcHBseWluZyB0byBhbGwgZGVz
Y2VuZGFudHMuICIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
bGF5ZXIgYXQgKDgsNDQpIHNpemUgMjAweDQwMCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOCw0NCkgc2l6
ZSAxMDB4MTAwIGNsaXAgYXQgKDgsNDQpIHNpemUgMTAweDEwMCBvdXRsaW5lQ2xpcCBhdCAoOCw0
NCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBb
Ymdjb2xvcj0jRkYwMDAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY29t
cGFjdC8wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2NvbXBhY3QvMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jb21wYWN0LzAwMS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDc3CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg3NgogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4NzYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6
ZSA3ODR4NTIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2NvbG9yLWNvcnJlY3Rpb24tb24t
YmFja2dyb3VuZC1pbWFnZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2NvbG9yLWNvcnJlY3Rpb24tb24tYmFja2dyb3VuZC1pbWFn
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2NvbG9yLWNvcnJlY3Rpb24tb24tYmFja2dyb3VuZC1pbWFnZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg4NjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgNzg1eDg2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc2OXg1NzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXpl
IDc2OXgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25lZ2F0aXZl
LWxlYWRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Nzcy9uZWdhdGl2ZS1sZWFkaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbmVnYXRpdmUtbGVhZGlu
Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxh
eWVyIGF0ICgwLDApIHNpemUgODAweDIwNQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTk4CiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxOTgKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTc0CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSA3ODR4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nz
cy9wZXJjZW50YWdlLW5vbi1pbnRlZ2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvcGVyY2VudGFnZS1ub24taW50ZWdlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL3BlcmNlbnRhZ2Utbm9uLWludGVnZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDEzeDU4NQogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDEzeDU4NQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
NjkKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jMDBGRjAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3dvcmQt
c3BhY2UtZXh0cmEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Nzcy93b3JkLXNwYWNlLWV4dHJhLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3Mvd29yZC1zcGFjZS1l
eHRyYS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDIwMjZ4MjM5MwogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDI2eDIzOTMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1
eDIzOTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDIzOTMKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgyMzc3CiAgICAgICBSZW5kZXJCbG9j
ayB7SDJ9IGF0ICgwLDApIHNpemUgNzY5eDI4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9kb20vY2xvbmUtbm9kZS1keW5hbWljLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vY2xvbmUtbm9kZS1keW5h
bWljLXN0eWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9kb20vY2xvbmUtbm9kZS1keW5hbWljLXN0eWxlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODM4
eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4Mzh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge0gxfSBhdCAoMCwwKSBzaXplIDc4
NHgzNwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZHluYW1pYy93aW5kb3ct
cmVzaXplLXNjcm9sbGJhcnMtdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMt
dGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgNzY4eDU5MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3Njh4NTY4CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc2OHg1NjgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc1Mng1ODQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDQ4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZXZlbnRzL2Zv
Y3VzaW5nVW5sb2FkZWRGcmFtZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvZXZlbnRzL2ZvY3VzaW5nVW5sb2FkZWRGcmFtZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
ZXZlbnRzL2ZvY3VzaW5nVW5sb2FkZWRGcmFtZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTE5LDggKzE5LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTgwLDE4KSB3aWR0aCAzNzogIkNyYXNoIgogICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckZy
YW1lIHtGUkFNRX0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4eDgKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgOHg4Cisg
ICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMHg4CiAgICAgICAgICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgMHg4CiAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJv
eC8wMDktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ZsZXhib3gvMDA5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mbGV4Ym94LzAwOS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTExLDQgKzExLDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI0OSwxOCkgd2lkdGggMzI2OiAiSWYgeW91IGRvIG5vdCBz
ZWUgYSBzY3JvbGxiYXIsIHRoZW4gdGhlIHRlc3QgaGFzIGZhaWxlZC4iCiBsYXllciBhdCAoOCw2
MCkgc2l6ZSAxMDR4MTA0IGNsaXAgYXQgKDEwLDYyKSBzaXplIDg1eDEwMCBzY3JvbGxIZWlnaHQg
MTAwMAogICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMCw1Mikgc2l6ZSAxMDR4MTA0IFti
Z2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggc29saWQgIzgwODAwMCldCi0gICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAweDEwMDAKKyAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMiwyKSBzaXplIDg1eDEwMDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2ZsZXhib3gvMDE2LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mbGV4Ym94LzAxNi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC8wMTYtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4
NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDgxMng1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgICBSZW5kZXJGbGV4aWJsZUJv
eCB7RElWfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ZsZXhib3gvZmxleC1oYW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mbGV4Ym94L2ZsZXgtaGFuZy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxl
eGJveC9mbGV4LWhhbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODh4NTg3CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4OHg1ODcKK2xheWVyIGF0ICgwLDApIHNp
emUgNzg1eDU4NwogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NTg3CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA3ODV4NTg3CiAgICAgICBSZW5kZXJG
bGV4aWJsZUJveCB7RElWfSBhdCAoMCwwKSBzaXplIDc4N3g1ODcgW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Jh
c2ljLXRleHRhcmVhcy1xdWlya3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Jhc2ljLXRleHRhcmVhcy1xdWlya3MtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Zvcm1zL2Jhc2ljLXRleHRhcmVhcy1xdWlya3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTA1MAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTA1MAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1
ODQKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNTJ4
ODE3IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mb3Jtcy9maWxlLWlucHV0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZmlsZS1pbnB1
dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2ZpbGUtaW5wdXQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTA4
M3g1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDAp
IHNpemUgMTA4M3g1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNp
emUgMTA3NXgxMDgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Zs
b2F0aW5nLXRleHRmaWVsZC1yZWxheW91dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZmxvYXRpbmctdGV4dGZpZWxkLXJlbGF5
b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9mbG9hdGluZy10ZXh0ZmllbGQtcmVsYXlvdXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xNyw3ICsxNyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU5LDE4KSBzaXplIDR4MTgKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTksMTgpIHdpZHRoIDQ6ICIuIgogICAgICAgUmVuZGVyQmxv
Y2sge0hSfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDAp
XQotbGF5ZXIgYXQgKDgsNzApIHNpemUgNzg0eDIxCitsYXllciBhdCAoOCw3MCkgc2l6ZSA3ODR4
MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsNjIpIHNp
emUgNzg0eDAKICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgwLDIpIHNpemUgMzky
eDE5IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiBsYXll
ciBhdCAoMTEsNzUpIHNpemUgMzg2eDEzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdmVyZmxvdy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvZm9ybXMvdGV4dGZpZWxkLW92ZXJmbG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNiw2ICs2LDYgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDApIHNpemUgMTI1eDEwIFtiZ2NvbG9yPSNGRkZG
RkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotbGF5ZXIgYXQgKDEzLDExKSBzaXplIDExOXg0CitsYXllciBhdCAoMTMsMTEpIHNp
emUgMTE5eDQgc2Nyb2xsSGVpZ2h0IDEzCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNp
emUgMTE5eDQKIGNhcmV0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0RJVn0gb2YgY2hpbGQgMSB7
SU5QVVR9IG9mIGJvZHkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1l
cy9mcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZnJhbWUtc2Nyb2xsaW5nLWF0dHJp
YnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZnJhbWVzL2ZyYW1lLXNjcm9sbGluZy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDAsMCkgc2l6ZSAxOTV4MTQ1CiAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSAxODB4MTMwCi0gICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4Ngor
ICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE2NHg0NzAKICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDApIHNpemUgMTY0eDU0CkBAIC0xOCw3ICsxOCw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBhdCAoMjAxLDApIHNpemUgMTk1
eDE0NQogICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgMTgweDEzMAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDQwOHg0ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjR4NDcwCiAgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2NHg1NApAQCAtMzAsNyArMzAsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDQwMiww
KSBzaXplIDE5NXgxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAg
ICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgweDQ4Ngog
ICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAg
ICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY0eDQ3MAogICAgICAgICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4NTQKQEAgLTQyLDcgKzQyLDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9
IGF0ICg2MDMsMCkgc2l6ZSAxOTd4MTQ1CiAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4
eDQ4NgogICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODJ4MTMwCi0gICAgICAg
IGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDE4Mng0ODYKICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODJ4
NDg2CiAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2Nng0NzAK
ICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY2eDU0CkBAIC01
NCw3ICs1NCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyRnJh
bWUge0ZSQU1FfSBhdCAoMCwxNTEpIHNpemUgMTk1eDE0NQogICAgICAgICBsYXllciBhdCAoMCww
KSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTgweDEz
MAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgMTgweDQ4NgogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSAxNjR4NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2
NHg1NApAQCAtNjYsNyArNjYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAg
IFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDIwMSwxNTEpIHNpemUgMTk1eDE0NQogICAgICAgICBs
YXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgMTk1eDE0NQotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTV4NDg2CiAgICAgICAgICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgMTk1eDQ4NgogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSAxNzl4NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCwwKSBzaXplIDE3OXg1NApAQCAtNzgsNyArNzgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDQwMiwxNTEpIHNpemUgMTk1eDE0
NQogICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgMTgweDEzMAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQw
OHg0ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjR4NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2NHg1NApAQCAtOTAsNyArOTAsNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDYwMywxNTEp
IHNpemUgMTk3eDE0NQogICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAg
ICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTgyeDEzMAotICAgICAgICBsYXllciBhdCAo
MCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODJ4NDg2CiAg
ICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTgyeDQ4NgogICAgICAg
ICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjZ4NDcwCiAgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2Nng1NApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2lmcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
cmFtZXMvaWZyYW1lLXNjcm9sbGluZy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9pZnJhbWUtc2Ny
b2xsaW5nLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIx
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJlbmRlclBhcnRPYmpl
Y3Qge0lGUkFNRX0gYXQgKDAsMCkgc2l6ZSAyMDR4MjA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAw
MDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAg
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTg1eDE4NQotICAgICAgICAgIGxheWVyIGF0ICgw
LDApIHNpemUgNDA4eDQ4NgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTg1eDQ4Ngog
ICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTg1eDQ4NgogICAg
ICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2OXg0NzAKICAgICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjl4NTQKQEAgLTM1LDcg
KzM1LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJlbmRlclBhcnRP
YmplY3Qge0lGUkFNRX0gYXQgKDIwOCwwKSBzaXplIDIwNHgyMDQgW2JvcmRlcjogKDJweCBpbnNl
dCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAg
ICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODV4MTg1Ci0gICAgICAgICAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODV4
NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODV4NDg2
CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY5eDQ3MAog
ICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2OXg1NApAQCAt
NDksNyArNDksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2OTIKICAgICAgICAgUmVuZGVy
UGFydE9iamVjdCB7SUZSQU1FfSBhdCAoNDE2LDApIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4
IGluc2V0ICMwMDAwMDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4Ngog
ICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBs
YXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4
NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4
NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0
CkBAIC02Myw3ICs2Myw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAgICBS
ZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgwLDIwOCkgc2l6ZSAyMDR4MjA0IFtib3JkZXI6
ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4
NDg2CiAgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTg1eDE4NQotICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICAgIGxheWVyIGF0ICgwLDAp
IHNpemUgMTg1eDQ4NgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgMTg1eDQ4NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDE2OXg0NzAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAx
Njl4NTQKQEAgLTc3LDcgKzc3LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAg
ICAgIFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDIwOCwyMDgpIHNpemUgMjA0eDIwNCBb
Ym9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNp
emUgNDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUK
LSAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBh
dCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgMTY5eDU0CkBAIC05MSw3ICs5MSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5
MgogICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICg0MTYsMjA4KSBzaXplIDIw
NHgyMDQgW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAo
MCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAy
MDB4MjAwCi0gICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDB4NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSAyMDB4NDg2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgMTg0eDQ3MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDE4NHg1NApAQCAtMTA1LDcgKzEwNSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgNzg1eDY5MgogICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgwLDQxNikg
c2l6ZSAyMDR4MjA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgMTg1eDE4NQotICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAg
ICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTg1eDQ4NgogICAgICAgICAgICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTg1eDQ4NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2OXg0NzAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjl4NTQKQEAgLTExOSw3ICsxMTksNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDc4NXg2OTIKICAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAo
MjA4LDQxNikgc2l6ZSAyMDR4MjA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAg
ICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgMTg1eDE4NQotICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4
eDQ4NgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTg1eDQ4NgogICAgICAgICAgICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTg1eDQ4NgogICAgICAgICAgICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2OXg0NzAKICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjl4NTQKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9pbmxpbmUtb2JqZWN0LWluc2lkZS1mcmFtZXNldC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJh
bWVzL2lubGluZS1vYmplY3QtaW5zaWRlLWZyYW1lc2V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaW5saW5lLW9i
amVjdC1pbnNpZGUtZnJhbWVzZXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3OTN4NjM0CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc5M3g2MzQKK2xheWVyIGF0ICgw
LDApIHNpemUgNzg1eDYzNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4
NjM0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4NjE4CiAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1h
ZHZhbmNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDg2Nng2MDcKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0
ICgwLDApIHNpemUgODY2eDYwNworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjA3CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MDcKICAgICBSZW5kZXJGcmFtZVNldCB7
RlJBTUVTRVR9IGF0ICgwLDApIHNpemUgODY2eDYwNwogICAgICAgUmVuZGVyRnJhbWVTZXQge0ZS
QU1FU0VUfSBhdCAoMCwwKSBzaXplIDg2NngyMDcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMjAweDgwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMjAweDgw
MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4ODAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDc4NXg4MDAKICAgICBSZW5kZXJGcmFtZVNldCB7RlJBTUVTRVR9IGF0ICgwLDAp
IHNpemUgMTIwMHg4MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDAsMCkgc2l6ZSA2
MDB4MjAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTAwMHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBzaXplIDEwMDB4NjAwCiAg
ICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgODAweDYwMApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjUwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjUwCitsYXll
ciBhdCAoMCwwKSBzaXplIDc4NXg2NTAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgNzg1eDY1MAogICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSAx
MDAweDY1MAogICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBhdCAoMCwwKSBzaXplIDMwMHg2NTAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MDB4NjMwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDkwMHg2MzAKK2xheWVy
IGF0ICgwLDApIHNpemUgNzg1eDYzMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA3ODV4NjMwCiAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBzaXplIDkw
MHg2MzAKICAgICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSA5MDB4
MTUwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ncmFkaWVudHMvYmFja2dy
b3VuZC1jbGlwcGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ncmFkaWVudHMvYmFja2dyb3VuZC1jbGlwcGVkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ncmFkaWVu
dHMvYmFja2dyb3VuZC1jbGlwcGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODQyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NDJ4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKC01MCwyNjApIHNpemUgMjEweDIxMCBbYm9yZGVyOiAoNXB4
IGRhc2hlZCAjMDAwMEZGKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9naWYtbGFyZ2UtY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvZ2lmLWxhcmdlLWNoZWNrZXJib2Fy
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW1hZ2VzL2dpZi1sYXJnZS1jaGVja2VyYm9hcmQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTk5eDIwOTAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUg
MTU5OXgyMDkwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDkwCiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDkwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3Njl4MjA3NAogICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAx
NTkxeDIwNzQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9wZGYt
YXMtaW1hZ2UtbGFuZHNjYXBlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWxhbmRzY2FwZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
aW1hZ2VzL3BkZi1hcy1pbWFnZS1sYW5kc2NhcGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NTB4NjUzCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDg1MHg2NTMKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDY1MwogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA3ODV4NjUzCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4NjI5
CiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc2OXgxOApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lLWJsb2NrL2lubGluZS1ibG9j
ay12ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lLWJsb2NrL2lubGluZS1ibG9jay12ZXJ0aWNhbC1hbGln
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW5saW5lLWJsb2NrL2lubGluZS1ibG9jay12ZXJ0aWNhbC1hbGlnbi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDEwMjR4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDEwMjR4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSA3ODR4NTYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lubGluZS9s
b25nLXdyYXBwZWQtbGluZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lL2xvbmctd3JhcHBlZC1saW5lLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbmxpbmUv
bG9uZy13cmFwcGVkLWxpbmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTgzeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxOTgzeDU4NQorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxOTc1eDE4CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVy
LXZpc2liaWxpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTkxLDcgKzE5MSw3IEBAIGxheWVyIGF0ICgxMCwzMjIpIHNpemUg
MTMweDM2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIxNiBncmVlbiBib3gg
d2l0aCIKICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA2MTogIndvcmQgb2s6ICIKICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMCwzNTgp
IHNpemUgMTMweDUwCitsYXllciBhdCAoMTAsMzU4KSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHgg
c29saWQgI0ZGMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4
NDggW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCkBAIC0y
MDYsNyArMjA2LDcgQEAgbGF5ZXIgYXQgKDE0NCwzMjIpIHNpemUgMTMweDM2CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIxNyBncmVlbiBib3ggd2l0aCIKICAgICAgIHRleHQg
cnVuIGF0ICgwLDE4KSB3aWR0aCA2MTogIndvcmQgb2s6ICIKICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxNDQsMzU4KSBzaXplIDEzMHg1MAorbGF5
ZXIgYXQgKDE0NCwzNTgpIHNpemUgMTMweDM0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0K
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNng0OCBbYm9yZGVyOiAoMnB4
IHNvbGlkICNGRjAwMDApXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAx
MjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KQEAgLTIyMSw3ICsyMjEsNyBAQCBs
YXllciBhdCAoMjc4LDMyMikgc2l6ZSAxMzB4MzYKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDExNTogIjE4IGdyZWVuIGJveCB3aXRoIgogICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdp
ZHRoIDYxOiAid29yZCBvazogIgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAotbGF5ZXIgYXQgKDI3OCwzNTgpIHNpemUgMTMweDUwCitsYXllciBhdCAoMjc4LDM1OCkg
c2l6ZSAxMzB4MzQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBz
aXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDQ4IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCld
CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAo
MnB4IHNvbGlkICNGRjAwMDApXQpAQCAtMjM2LDcgKzIzNiw3IEBAIGxheWVyIGF0ICg0MTIsMzIy
KSBzaXplIDEzMHgzNgogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTkgZ3Jl
ZW4gYm94IHdpdGgiCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNjE6ICJ3b3JkIG9r
OiAiCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAo
NDEyLDM1OCkgc2l6ZSAxMzB4NTQKK2xheWVyIGF0ICg0MTIsMzU4KSBzaXplIDEzMHgzNAogICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3Jk
ZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikg
c2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAw
MCldCkBAIC0yNTEsNyArMjUxLDcgQEAgbGF5ZXIgYXQgKDU0NiwzMjIpIHNpemUgMTMweDE4CiAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTF4MTgKICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDkxOiAiMjAgZ3JlZW4gYm94OiAiCiAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoNTQ2LDM0MCkgc2l6ZSAxMzB4NTAKK2xh
eWVyIGF0ICg1NDYsMzQwKSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDAsMTgpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCld
CiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2JvcmRlcjogKDJw
eCBzb2xpZCAjMDA4MDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUg
MTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCkBAIC0yNjYsNyArMjY2LDcgQEAg
bGF5ZXIgYXQgKDEwLDQyNikgc2l6ZSAxMzB4MzYKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDEyNDogIjIxIHR3byBncmVlbiBib3hlcyIKICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCA5MzogIndpdGggd29yZCBvazogIgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAotbGF5ZXIgYXQgKDEwLDQ2Mikgc2l6ZSAxMzB4NTQKK2xheWVyIGF0ICgxMCw0
NjIpIHNpemUgMTMweDM0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwz
Nikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAw
MDApXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRl
cjogKDJweCBzb2xpZCAjMDA4MDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LXN1YmxheWVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJp
bGl0eS1zdWJsYXllci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktc3VibGF5ZXItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIGxheWVyIGF0ICgwLDE3
MCkgc2l6ZSA4MDB4MzQKICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwxMCkgc2l6ZSA3OTZ4
MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMiwyKSBzaXplIDE2eDE4CiAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2
OiAib2siCi1sYXllciBhdCAoMCwyNDIpIHNpemUgODAweDUwCitsYXllciBhdCAoMCwyNDIpIHNp
emUgODAweDM0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyNDIpIHNp
emUgODAweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDIsMikgc2l6ZSA3OTZ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0K
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgNzkyeDE4CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlz
dHMvMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODA5eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDl4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2MQogICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTA2IFtib3JkZXI6ICgzcHggc29saWQgI0ZGQTUwMCldCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDEtdmVydGljYWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xp
c3RzLzAwMS12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYy
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4NjIwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzYxeDU4NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDZ4
NTg0IFtib3JkZXI6ICgzcHggc29saWQgI0ZGQTUwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4MzUwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMzQKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDMzNAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDE2KSBzaXplIDc4NHgzMDIKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSA0NzB4MzM0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9saXN0cy8wMDMtdmVydGljYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy12ZXJ0aWNhbC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMv
MDAzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MjZ4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDMzNHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMzM0eDYwMAogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICgxNiw4KSBzaXplIDMwMng1ODQKICAgICAgIFJlbmRlckJs
b2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MTB4MzUwCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy9saS1ici1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvbGktYnItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xp
c3RzL2xpLWJyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgMTUxOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTUxOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTYxCiAgICAgICBSZW5kZXJCbG9j
ayB7T0x9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wMi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRp
dmUtY29uc3RyYWludHMtMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTAy
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJl
bGF0aXZlLWNvbnN0cmFpbnRzLTAzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50
cy0wMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9t
cS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3Ry
YWludHMtMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVk
aWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNv
bnN0cmFpbnRzLTA1LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDYt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA2LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2
ZS1jb25zdHJhaW50cy0wNi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTY4eDU4NQorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRz
LTA3LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVs
YXRpdmUtY29uc3RyYWludHMtMDctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJh
aW50cy0wOC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDgtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21x
LXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA4LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY0MgogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjQyCitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU3NgogICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzY5eDE4IFtjb2xvcj0jMDA4MDAwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29u
c3RyYWludHMtMDktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA5LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRp
YS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTY4eDU4NQorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkK
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAw
MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFi
c29sdXRlLTAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wMS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lk
dGgtYWJzb2x1dGUtMDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wMi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVk
aWEvbXEtd2lkdGgtYWJzb2x1dGUtMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTAy
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFi
c29sdXRlLTAzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wMy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1
ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNp
emUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgx
OCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21l
ZGlhL21xLXdpZHRoLWFic29sdXRlLTA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wNC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5
CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgw
MDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1t
dWx0aWNvbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtbXVsdGljb2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LW11
bHRpY29sLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgMTYwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTYwOHg1NDUKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDU0NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTQ1Ci1sYXllciBh
dCAoOCwxOSkgc2l6ZSAxNjAweDUxMAorbGF5ZXIgYXQgKDgsMTkpIHNpemUgNzg0eDUxMAogICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxOSkgc2l6ZSA3ODR4NTEwCiAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MjggW2JnY29sb3I9IzAwRkZGRl0KICAgICAgIFJlbmRl
ckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDQsNCkgc2l6ZSAzOTJ4NDYyIFtiZ2NvbG9yPSNG
RkZGMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9h
dC1wYWdpbmF0ZS1jb21wbGV4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1jb21wbGV4LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1jb21wbGV4LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw5ICsxLDkgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTE2NHgxNjgwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDExNjR4
MTY4MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTY4MAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA3ODV4MTY4MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzY5eDE2NjQKLWxheWVyIGF0ICg4LDgpIHNpemUgMTE1Nng0MDQKK2xheWVyIGF0ICg4LDgp
IHNpemUgNzY5eDQwNAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OXg0MDQg
W2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMiwyKSBzaXplIDM3NHgyNTIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDExMHgxOApAQCAtMTMwLDcgKzEzMCw3IEBAIGxheWVyIGF0ICg4LDgpIHNpemUgMTE1
Nng0MDQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1ODYpIHNpemUgMTEweDE4CiAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDU4Nikgd2lkdGggMTEwOiAiVGhpcyBpcyBzb21lIHRleHQu
IgogICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMTEwLDYwMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg4
LDQyOCkgc2l6ZSAxMTU2eDQwNAorbGF5ZXIgYXQgKDgsNDI4KSBzaXplIDc2OXg0MDQKICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsNDIwKSBzaXplIDc2OXg0MDQgW2JvcmRlcjogKDJweCBzb2xp
ZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiwyKSBzaXplIDM3
NHgyNTIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExMHgxOApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5hdGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L211bHRpY29sL2Zsb2F0LXBhZ2luYXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOSArMSw5IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDExODh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXll
ciBhdCAoMCwwKSBzaXplIDExODh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMTgweDQw
NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA3ODR4NDA0CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgNzg0eDQwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDExMHgxOAogICAgICAgdGV4dCBydW4gYXQgKDIs
Mikgd2lkdGggMTEwOiAiVGhpcyBpcyBzb21lIHRleHQuIgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbGF5ZXJzLWluLW11bHRpY29sLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9sYXll
cnMtaW4tbXVsdGljb2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2xheWVycy1pbi1tdWx0aWNvbC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDEyODd4NjcyCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDEyODd4NjcyCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2NzIKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDY3MgogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzY5eDY1NgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMCkgc2l6ZSA3Njl4MTgKQEAgLTksNyArOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgMTI4
N3g2NzIKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDMyOCkgc2l6ZSA3Njl4
MTgKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODl4MTgKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OTogIlJUTCBWZXJzaW9uOiIKLWxheWVyIGF0
ICg4LDI2KSBzaXplIDEyNzl4MzEwCitsYXllciBhdCAoOCwyNikgc2l6ZSA3Njl4MzEwCiAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDE4KSBzaXplIDc2OXgzMTAgW2JvcmRlcjogKDVweCBzb2xp
ZCAjODAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNSw1KSBzaXplIDI0
MngyMzQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwNngxOApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcGFnaW5hdGUtYmxvY2st
cmVwbGFjZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L211bHRpY29sL3BhZ2luYXRlLWJsb2NrLXJlcGxhY2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNv
bC9wYWdpbmF0ZS1ibG9jay1yZXBsYWNlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsOSArMSw5IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE1ODZ4NTg1CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE1ODZ4NTg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQot
bGF5ZXIgYXQgKDgsOCkgc2l6ZSAxNTc4eDQwNAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA3ODR4NDA0
CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDQwNCBbYm9yZGVyOiAoMnB4
IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgyLDIpIHNp
emUgMzgyeDE4MAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTEweDE4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9wb3NpdGlvbmVk
LXdpdGgtY29uc3RyYWluZWQtaGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9wb3NpdGlvbmVkLXdpdGgtY29uc3Ry
YWluZWQtaGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9wb3NpdGlvbmVkLXdpdGgtY29uc3RyYWluZWQt
aGVpZ2h0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMDkweDU4NQogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKLWxheWVyIGF0ICg4LDgpIHNpemUgMTA4MngzMDAK
K2xheWVyIGF0ICg4LDgpIHNpemUgMTA2eDMwMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDgsOCkgc2l6ZSAxMDZ4MzAwIFtiZ2NvbG9yPSMwMEZGMDBdCiAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTA2eDE4CiAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMDY6ICJUaGlzIGlzIHNvbWUgdGV4dCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L211bHRpY29sL3RhYmxlLXZlcnRpY2FsLWFsaWduLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC90YWJs
ZS12ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvdGFibGUtdmVydGljYWwtYWxpZ24tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDExIEBACiBsYXllciBhdCAoMCww
KSBzaXplIDE1NjB4MTAxMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAxNTYweDEwMTAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTAK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDEwMTAKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg5OTQKICAgICAgIFJlbmRlckJsb2NrIHtIUn0g
YXQgKDAsMzU4KSBzaXplIDc2OXgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAg
ICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDY3Nikgc2l6ZSA3Njl4MiBbYm9yZGVyOiAoMXB4IGlu
c2V0ICMwMDAwMDApXQotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxNTUyeDM1MAorbGF5ZXIgYXQgKDgs
OCkgc2l6ZSA3Njl4MzUwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzY5eDM1
MAogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAzNzZ4MTE3OSBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgxLDEpIHNpemUgMzc0eDExNzcKQEAgLTEzNiw3ICsxMzYsNyBAQCBsYXllciBhdCAoOCw4
KSBzaXplIDE1NTJ4MzUwCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTEs
MTEpIHNpemUgMTQ1eDE0OAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwxMSkgd2lk
dGggMTQ1OiAiT3RoZXIiCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExLDg1KSB3aWR0
aCAxMDg6ICJjZWxsLiIKLWxheWVyIGF0ICg4LDM3Nikgc2l6ZSAxNTUyeDMwMAorbGF5ZXIgYXQg
KDgsMzc2KSBzaXplIDc2OXgzMDAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzY4KSBzaXpl
IDc2OXgzMDAKICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMzc2eDExMjkg
W2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCiAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24g
e1RCT0RZfSBhdCAoMSwxKSBzaXplIDM3NHgxMTI3CkBAIC0yNjcsNyArMjY3LDcgQEAgbGF5ZXIg
YXQgKDgsMzc2KSBzaXplIDE1NTJ4MzAwCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTEsMTEpIHNpemUgMTQ1eDE4NQogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MSwxMSkgd2lkdGggMTQ1OiAiT3RoZXIiCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEx
LDEyMikgd2lkdGggMTA4OiAiY2VsbC4iCi1sYXllciBhdCAoOCw3MDIpIHNpemUgMTU1MngzMDAK
K2xheWVyIGF0ICg4LDcwMikgc2l6ZSA3Njl4MzAwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDY5NCkgc2l6ZSA3Njl4MzAwCiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDM3NngxMTI5IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQogICAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uIHtUQk9EWX0gYXQgKDEsMSkgc2l6ZSAzNzR4MTEyNwpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL3NwYW4vYW5vbnltb3VzLXN0eWxlLWluaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9zcGFuL2Fub255bW91cy1zdHlsZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDg0M3g1ODUK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUg
ODQzeDUxMworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTEzCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg1MTMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNykg
c2l6ZSA3ODR4NDc5CiBsYXllciBhdCAoOCwxNykgc2l6ZSA4MzV4NDc5CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy8wMDYtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93LzAwNi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
b3ZlcmZsb3cvMDA2LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDk5MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4OTkwCitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgNzg1eDU4NQogICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDIweDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9vdmVyZmxvdy9mbG9hdC1pbi1yZWxwb3NpdGlvbmVkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9mbG9h
dC1pbi1yZWxwb3NpdGlvbmVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9mbG9hdC1pbi1yZWxwb3NpdGlvbmVk
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTAgKzI3LDEwIEBAIGxheWVyIGF0
ICgxOCwzMDApIHNpemUgMTAyeDEwMiBjbGlwIGF0ICgKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDEwLDI5Mikgc2l6ZSAxMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXll
ciBhdCAoMTgsNDEyKSBzaXplIDEwMngxMDIgY2xpcCBhdCAoMTksNDEzKSBzaXplIDg1eDEwMCBz
Y3JvbGxIZWlnaHQgMTI1CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0MDQpIHNpemUgMTAy
eDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDY5LDc3KSBzaXpl
IDc1eDc1IGJhY2tncm91bmRDbGlwIGF0ICgxOSw3Nykgc2l6ZSAxMDB4ODUgY2xpcCBhdCAoMTks
NzcpIHNpemUgMTAweDg1IG91dGxpbmVDbGlwIGF0ICgxOSw3Nykgc2l6ZSAxMDB4ODUKK2xheWVy
IGF0ICg2OSw3Nykgc2l6ZSAyNXgyNQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDEsMSkgc2l6ZSAyNXgyNSBbYmdjb2xvcj0jMDAwMDAwXQogICAgIFJlbmRl
ckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA3NXg3NSBbYmdjb2xvcj0jMDAw
MEZGN0ZdCi1sYXllciBhdCAoMTksMjM5KSBzaXplIDc1eDc1IGJhY2tncm91bmRDbGlwIGF0ICgx
OSwxODkpIHNpemUgODV4MTAwIGNsaXAgYXQgKDE5LDE4OSkgc2l6ZSA4NXgxMDAgb3V0bGluZUNs
aXAgYXQgKDE5LDE4OSkgc2l6ZSA4NXgxMDAKK2xheWVyIGF0ICgxOSwyMzkpIHNpemUgMjV4MjUK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxLDEpIHNpemUg
MjV4MjUgW2JnY29sb3I9IzAwMDAwMF0KICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9
IGF0ICgwLDApIHNpemUgNzV4NzUgW2JnY29sb3I9IzAwMDBGRjdGXQogbGF5ZXIgYXQgKDY5LDMw
MSkgc2l6ZSAyNXgyNQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZs
b3cvb3ZlcmZsb3ctYXV0by10YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by10YWJsZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by10YWJsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc2MTh4NTg1CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc2MTh4MTYw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDE2MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4
NHgxMzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHg1NApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRp
Y2FsLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC1leHBlY3RlZC5jaGVja3N1
bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93
L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorOWEyMjRhNDhmZGMwYTc4ZjJiZGQ0MDBmYjVjMTc3ODEKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVy
Zmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNh
bC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDYzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgMzEzeDYw
MAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAzMTN4NjAwCisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAyOTd4NTg0CisgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMTYpIHNpemUgMzZ4NTUyCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDE4eDEzNQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEzNTogIlRo
aXMgaXMgYSB0ZXN0IGNhc2UgZm9yICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtJfSBhdCAoMCww
KSBzaXplIDM2eDUyOQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMzUpIHNp
emUgMzZ4NTI5CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMzUpIHdpZHRoIDM5NDogImh0
dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyNiBCbG9ja3Mi
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMCkgd2lkdGggNDQ1OiAid2l0aCBkaXJlY3Rp
b246cnRsIGFuZCBvdmVyZmxvdzphdXRvIG9yIHNjcm9sbCBoYXZlIGluY29ycmVjdCBzY3JvbGxi
YXJzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4LDQ0NSkgc2l6ZSAxOHg0Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDQ0NSkgd2lkdGggNDogIi4iCisgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoMzYsMCkgc2l6ZSAxOHg1ODQKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTh4NDU3CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNDU3OiAiVGhlIHJpZ2h0IGNvbHVtbiBzaG91bGQgYmUgYSBtaXJyb3ItaW1hZ2Ug
b2YgdGhlIGxlZnQgY29sdW1uIGluIHRlcm1zIG9mIgorICAgICAgUmVuZGVyQmxvY2sge1VMfSBh
dCAoNzAsMCkgc2l6ZSA1NHg1ODQKKyAgICAgICAgUmVuZGVyTGlzdEl0ZW0ge0xJfSBhdCAoMCw0
MCkgc2l6ZSAxOHg1NDQKKyAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0ICgwLC0xNykgc2l6
ZSAxOHg3OiBidWxsZXQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxOHgxNjQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2NDogInRoZSBw
cmVzZW5jZSBvZiBhIHNjcm9sbGJhciIKKyAgICAgICAgUmVuZGVyTGlzdEl0ZW0ge0xJfSBhdCAo
MTgsNDApIHNpemUgMTh4NTQ0CisgICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoMCwtMTcp
IHNpemUgMTh4NzogYnVsbGV0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTh4MjM0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMzQ6ICJ0
aGUgaW5pdGlhbCBwb3NpdGlvbiBvZiB0aGUgc2Nyb2xsIHRodW1iIgorICAgICAgICBSZW5kZXJM
aXN0SXRlbSB7TEl9IGF0ICgzNiw0MCkgc2l6ZSAxOHg1NDQKKyAgICAgICAgICBSZW5kZXJMaXN0
TWFya2VyIGF0ICgwLC0xNykgc2l6ZSAxOHg3OiBidWxsZXQKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOHgzMzEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDMzMTogIndoaWNoIGxldHRlcnMgYXJlIHZpc2libGUgaW5pdGlhbGx5IGFuZCB3
aGVuIHlvdSBzY3JvbGwiCisgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgxNDAsMCkgc2l6
ZSAxNTd4MjU2CisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNp
emUgMTU3eDI1NgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMikgc2l6ZSAx
NTN4MjU2CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwyKSBzaXplIDE1
M3gxMjUgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDIsMTI5KSBzaXplIDE1M3gxMjUgW3I9MCBjPTEgcnM9MSBjcz0xXQorbGF5ZXIgYXQg
KDE1NSwxNSkgc2l6ZSA0NXgxMTUgY2xpcCBhdCAoMTU1LDI1KSBzaXplIDMweDEwMCBzY3JvbGxI
ZWlnaHQgMTg4CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1LDUpIHNpemUgNDV4MTE1IFtiZ2Nv
bG9yPSNGRkZGMDBdIFtib3JkZXI6ICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmUgKDVweCBzb2xp
ZCAjMDA4MDAwKSBub25lXQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMCkgc2l6ZSAx
OHgxODgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDEwKSB3aWR0aCAxODg6ICJhYmNkZWZnaGlqa2xt
bm9wcXJzdHV2d3h5eiIKK2xheWVyIGF0ICgyMDQsMTUpIHNpemUgNDV4MTE1IGNsaXAgYXQgKDIw
NCwyNSkgc2l6ZSA0NXgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDU0LDUpIHNpemUgNDV4
MTE1IFtiZ2NvbG9yPSNGRkZGMDBdIFtib3JkZXI6ICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmUg
KDVweCBzb2xpZCAjMDA4MDAwKSBub25lXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEw
KSBzaXplIDE4eDEwMCBbYmdjb2xvcj0jRDNEM0QzXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLC04OCkgc2l6ZSAxOHgxODgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsLTg4KSB3aWR0
aCAxODg6ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIKK2xheWVyIGF0ICgyNTMsMTUpIHNp
emUgNDV4MTE1IGNsaXAgYXQgKDI1MywyNSkgc2l6ZSAzMHgxMDAgc2Nyb2xsSGVpZ2h0IDE4OAor
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAzLDUpIHNpemUgNDV4MTE1IFtiZ2NvbG9yPSNGRkZG
MDBdIFtib3JkZXI6ICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmUgKDVweCBzb2xpZCAjMDA4MDAw
KSBub25lXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEwKSBzaXplIDE4eDEwMCBbYmdj
b2xvcj0jRDNEM0QzXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTh4
MTg4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4ODogImFiY2RlZmdoaWprbG1u
b3BxcnN0dXZ3eHl6IgorbGF5ZXIgYXQgKDE1NSwxNDIpIHNpemUgNDV4MTE1IGNsaXAgYXQgKDE1
NSwxNDcpIHNpemUgMzB4MTAwIHNjcm9sbFkgODggc2Nyb2xsSGVpZ2h0IDE4OAorICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDQ1eDExNSBbYmdjb2xvcj0jRkZGRjAwXSBbYm9yZGVy
OiAoNXB4IHNvbGlkICMwMDgwMDApIG5vbmUgKDEwcHggc29saWQgI0ZGMDAwMCkgbm9uZV0KKyAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTgzKSBzaXplIDE4eDE4OAorICAgICAgdGV4dCBy
dW4gYXQgKDAsLTgzKSB3aWR0aCAxODg6ICJ6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYSIKK2xh
eWVyIGF0ICgyMDQsMTQyKSBzaXplIDQ1eDExNSBjbGlwIGF0ICgyMDQsMTQ3KSBzaXplIDQ1eDEw
MAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNTQsNSkgc2l6ZSA0NXgxMTUgW2JnY29sb3I9I0ZG
RkYwMF0gW2JvcmRlcjogKDVweCBzb2xpZCAjMDA4MDAwKSBub25lICgxMHB4IHNvbGlkICNGRjAw
MDApIG5vbmVdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNSkgc2l6ZSAxOHgxMDAgW2Jn
Y29sb3I9I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4
eDE4OAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODg6ICJ6eXh3dnV0c3JxcG9u
bWxramloZ2ZlZGNiYSIKK2xheWVyIGF0ICgyNTMsMTQyKSBzaXplIDQ1eDExNSBjbGlwIGF0ICgy
NTMsMTQ3KSBzaXplIDMweDEwMCBzY3JvbGxZIDg4IHNjcm9sbEhlaWdodCAxODgKKyAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDEwMyw1KSBzaXplIDQ1eDExNSBbYmdjb2xvcj0jRkZGRjAwXSBbYm9y
ZGVyOiAoNXB4IHNvbGlkICMwMDgwMDApIG5vbmUgKDEwcHggc29saWQgI0ZGMDAwMCkgbm9uZV0K
KyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw1KSBzaXplIDE4eDEwMCBbYmdjb2xvcj0jRDNE
M0QzXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLC04OCkgc2l6ZSAxOHgxODgKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTg4KSB3aWR0aCAxODg6ICJ6eXh3dnV0c3JxcG9ubWxramlo
Z2ZlZGNiYSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L3Nj
cm9sbFJldmVhbEJ1dHRvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvc2Nyb2xsUmV2ZWFsQnV0dG9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVy
Zmxvdy9zY3JvbGxSZXZlYWxCdXR0b24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
Miw3ICsxMiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDExODgKICAgICAgICAgUmVuZGVy
UGFydE9iamVjdCB7SUZSQU1FfSBhdCAoMCwwKSBzaXplIDMwNHgxNTQgW2JvcmRlcjogKDJweCBp
bnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDMwOHgzMTYKICAg
ICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAyODV4MTM1Ci0gICAgICAgICAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAzMDh4MzE2CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAy
ODV4MzE2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAyODV4
MzE2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMjY5eDMw
MAogICAgICAgICAgIGxheWVyIGF0ICg4LDgpIHNpemUgMzAweDMwMCBjbGlwIGF0ICg4LDgpIHNp
emUgMjg1eDMwMCBzY3JvbGxZIDU0MyBzY3JvbGxIZWlnaHQgMTI2OApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1kaXJlY3Rpb24tZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Jl
ZmxlY3Rpb25zL3JlZmxlY3Rpb24tZGlyZWN0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZWZsZWN0aW9ucy9yZWZsZWN0
aW9uLWRpcmVjdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDEzNTd4NjEzCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEzNTd4NjEzCitsYXllciBhdCAoMCwwKSBz
aXplIDc4NXg2MTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDYxMwog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU5NwogICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMSkgc2l6ZSA2NzF4NTkyCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ctaC1leHBlY3RlZC5jaGVja3N1bQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFk
b3ctaC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ctaC1leHBlY3RlZC5jaGVja3N1bQko
d29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotNDIxNmFhNGI0OWU3NWM2NmIwYWNmNTVkYjYwODUw
MmMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis3NmM2ZTA0MWM4NDllM2E3NDZiYWJmNTg2
YjkyNGY4ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy1oLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ct
aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MTQKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgwCiAgICAg
ICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgMTIxeDUwNgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LXYtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Jl
cGFpbnQvYm94LXNoYWRvdy12LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ctdi1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDUxNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMjF4NTA2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50
L2NvbnRlbnQtaW50by1vdmVyZmxvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9jb250ZW50LWludG8tb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJmbG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMTUsNiArMTUsNiBAQCBsYXllciBhdCAoOCwzMDgpIHNpemUgMTAweDEwMAogICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMzA4KSBzaXplIDEwMHgxMDAKICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAw
MF0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDgwKSBzaXplIDEwMHgyMAotbGF5ZXIg
YXQgKDgsMzA4KSBzaXplIDEwMHg4MAorbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHgwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgw
CiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg4MApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9keW5hbWljLXRhYmxl
LXZlcnRpY2FsLWFsaWdubWVudC1jaGFuZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZHluYW1pYy10YWJsZS12ZXJ0aWNh
bC1hbGlnbm1lbnQtY2hhbmdlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2R5bmFtaWMtdGFibGUtdmVydGljYWwt
YWxpZ25tZW50LWNoYW5nZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDE4MgorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4MTgyCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxODIK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTU4CiAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZs
b3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xMjAsMjAgKzEyMCwyMCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODgKICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDE2OiAieCIKICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoNTksNDI2KSBzaXpl
IDQweDE4CitsYXllciBhdCAoNTksNDI2KSBzaXplIDQweDEwCiAgIFJlbmRlckJsb2NrIChmbG9h
dGluZykge0RJVn0gYXQgKC04LDApIHNpemUgNDB4MTAgW2JnY29sb3I9I0FERDhFNl0KICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTZ4MTYgW2NvbG9yPSMwMDAwRkZdCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNngxNgogICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxKSB3aWR0aCAxNjogIngiCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi1sYXllciBhdCAoNjcsNDY1KSBzaXplIDUweDE4CitsYXllciBhdCAoNjcs
NDY1KSBzaXplIDUweDEwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2LDYpIHNpemUgNTB4MTAg
W2JnY29sb3I9I0ZGQzBDQl0KICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgt
OCwwKSBzaXplIDQweDEwIFtiZ2NvbG9yPSNBREQ4RTZdCiAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMTZ4MTYgW2NvbG9yPSMwMDAwRkZdCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2eDE2CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MSkgd2lkdGggMTY6ICJ4IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCi1sYXllciBhdCAoNjEsNDk4KSBzaXplIDYyeDI0CitsYXllciBhdCAoNjEsNDk4KSBzaXpl
IDYyeDIyCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1MSw3KSBzaXplIDYyeDIyIFtib3JkZXI6
ICgxcHggc29saWQgIzgwMDA4MCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDYsNikgc2l6
ZSA1MHgxMCBbYmdjb2xvcj0jRkZDMENCXQogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7
RElWfSBhdCAoLTgsMCkgc2l6ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mbG9hdC1vdmVyZmxvdy1yaWdodC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVw
YWludC9mbG9hdC1vdmVyZmxvdy1yaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9mbG9hdC1vdmVyZmxvdy1y
aWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEyMCwyMCArMTIwLDIwIEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDU4OAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI0LDEpIHdpZHRoIDE2OiAieCIKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi1sYXllciBhdCAoNzAxLDQyNikgc2l6ZSA0MHgxOAorbGF5ZXIgYXQgKDcwMSw0MjYp
IHNpemUgNDB4MTAKICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTgsMCkgc2l6
ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQogICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAxNngxNiBbY29sb3I9IzAwMDBGRl0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMjQsMSkgc2l6ZSAxNngxNgogICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMSkgd2lkdGggMTY6
ICJ4IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQg
KDY4Myw0NjUpIHNpemUgNTh4MTgKK2xheWVyIGF0ICg2ODMsNDY1KSBzaXplIDUweDEwCiAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICg2LDYpIHNpemUgNTB4MTAgW2JnY29sb3I9I0ZGQzBDQl0KICAg
ICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxOCwwKSBzaXplIDQweDEwIFtiZ2Nv
bG9yPSNBREQ4RTZdCiAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTZ4
MTYgW2NvbG9yPSMwMDAwRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQsMSkg
c2l6ZSAxNngxNgogICAgICAgICAgIHRleHQgcnVuIGF0ICgyNCwxKSB3aWR0aCAxNjogIngiCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg2Nzcs
NDk4KSBzaXplIDY0eDI0CitsYXllciBhdCAoNjc3LDQ5OCkgc2l6ZSA2MngyMgogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoNjY3LDcpIHNpemUgNjJ4MjIgW2JvcmRlcjogKDFweCBzb2xpZCAjODAw
MDgwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNiw2KSBzaXplIDUweDEwIFtiZ2NvbG9y
PSNGRkMwQ0JdCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxOCwwKSBz
aXplIDQweDEwIFtiZ2NvbG9yPSNBREQ4RTZdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1p
bnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZsb3ctaW50by1jb250ZW50LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywxNyArMywxNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHgwCi1sYXllciBhdCAoOCw4KSBzaXplIDEwM3gxMDYKK2xheWVyIGF0ICg4LDgpIHNpemUg
NTZ4MTA2CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCw4KSBzaXplIDU2
eDEwNiBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDgwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgzLDMpIHNpemUgNTB4NTAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTAweDUwCi1sYXllciBhdCAoOCwxNTgpIHNpemUgMTA2eDEwMworbGF5ZXIgYXQgKDgsMTU4
KSBzaXplIDEwNng1NgogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMTU4
KSBzaXplIDEwNng1NiBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDgwMDApXQogICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgNTB4NTAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDApIHNpemUgNTB4MTAwCiBsYXllciBhdCAoOCwzMDgpIHNpemUgMTAweDgwCiAgIFJlbmRl
ckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCwzMDgpIHNpemUgMTAweDgwCiAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MCBbYmdjb2xvcj0jMDA4MDAwXQotbGF5
ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHg4MAorbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHgwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDEw
MHgwCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHg4
MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1z
Y3JvbGwtYm9keS1hcHBlYXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZsb3ctc2Nyb2xsLWJvZHktYXBwZWFyLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9yZXBhaW50L292ZXJmbG93LXNjcm9sbC1ib2R5LWFwcGVhci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDIwMDh4MjA5
MgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSAyMDA4eDIwOTIKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDIwOTIKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDIwOTIKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCwxNikgc2l6ZSA3Njl4MjA2OAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
NzY5eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3N1YnRy
ZWUtcm9vdC1jbGlwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3N1YnRyZWUtcm9vdC1jbGlwLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3N1
YnRyZWUtcm9vdC1jbGlwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTA4CitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogbGF5ZXIgYXQgKDgsOCkgc2l6
ZSAxMDB4MTAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3Ry
YW5zZm9ybS1hYnNvbHV0ZS1pbi1wb3NpdGlvbmVkLWNvbnRhaW5lci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFuc2Zv
cm0tYWJzb2x1dGUtaW4tcG9zaXRpb25lZC1jb250YWluZXItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJhbnNm
b3JtLWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFpbmVyLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
MzA4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyOTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDI5NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXpl
IDc4NHgyNzIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFuc2Zvcm0tcmVwbGFj
ZWQtc2hhZG93cy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJlcGxhY2VkLXNoYWRvd3MtZXhwZWN0ZWQuY2hlY2tz
dW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTU1NTg5OWM5NWRjOTNlMWY5ZTQzZmQzODRl
MGM3YzRkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorMmEzN2I2NWMyMzBiY2I3MWJiMWVj
ZmI0Yzg4NDk0MmQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBsYWNlZC8wMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGxhY2VkLzAwNC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVw
bGFjZWQvMDA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHgyODIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNjAweDEwMAogICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNp
emUgMzAweDEwMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDgsMTY2KSBzaXplIDYwMHgxMDAKK2xheWVyIGF0ICg4LDE2Nikgc2l6ZSAz
MDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwx
NTApIHNpemUgMzAweDEwMAogICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDYwMHgx
MDAKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMzAweDEwMApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDM0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS8wMzQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RhYmxlLzAzNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDEwNjR4MTI3NgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDY0eDEyNzYKK2xheWVyIGF0ICgwLDApIHNp
emUgNzg1eDEyNzYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDEyNzYK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgxMjYwCiAgICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTA1NngxMjYwCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9jb2xzcGFuTWluV2lkdGgtdmVydGljYWwtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxl
L2NvbHNwYW5NaW5XaWR0aC12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvY29sc3Bhbk1pbldpZHRoLXZl
cnRpY2FsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjAsNSArMjAsNSBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDIsNikgc2l6ZSAxNHgxMzEgW2JnY29sb3I9I0ZGRkYwMF0gW3I9MCBjPTEg
cnM9MSBjcz0xXQogICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBV
VH0gYXQgKDMsMykgc2l6ZSA4eDEyNSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGlu
c2V0ICMwMDAwMDApXQogICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDMsMjMpIHNpemUgMngxMTkKK2xheWVyIGF0ICgz
LDIzKSBzaXplIDJ4MTE5IHNjcm9sbFggMTMgc2Nyb2xsV2lkdGggMTUKICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDMsMykgc2l6ZSAyeDExOQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0
aC1hdXRvLXdpdGgtY29sc3Bhbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29s
c3Bhbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLWxheWVyIGF0ICgwLDApIHNpemUgNDQ1eDM4NQorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0MDB4Mzg1CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMCwwKSBzaXplIDQwMHgzODUKICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDUp
IHNpemUgNDQ1eDUwCiAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBz
aXplIDQ0NXg1MApAQCAtODIsNyArODIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ0NXgzODUK
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjgwLDI0KSBzaXplIDUweDIgW2Jn
Y29sb3I9I0ZGMDAwMF0gW3I9MCBjPTUgcnM9MSBjcz0xXQogICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgzMzUsMjQpIHNpemUgNTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9
NiBycz0xIGNzPTFdCiAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM5MCwyNCkg
c2l6ZSA1MHgyIFtiZ2NvbG9yPSNGRjAwMDBdIFtyPTAgYz03IHJzPTEgY3M9MV0KLWxheWVyIGF0
ICgwLDApIHNpemUgNDQ1eDM4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MzB4Mzg1CiAgIFJlbmRl
ckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDQzMHgzODUKICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDUpIHNpemUgNDQ1eDUwCiAgICAgICBSZW5kZXJUYWJsZVNl
Y3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDQ0NXg1MApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi12ZXJ0aWNh
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi12ZXJ0aWNhbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFi
bGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKLWxheWVyIGF0ICgwLDApIHNpemUgMzg1eDQ0NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzODV4
MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzODV4MAog
ICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDUsMCkgc2l6ZSA1MHg0NDUKICAgICAgIFJlbmRl
clRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNTB4NDQ1CkBAIC04Miw3ICs4Miw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgMzg1eDQ0NQogICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgwLDMwNCkgc2l6ZSA1MHgyIFtiZ2NvbG9yPSNGRjAwMDBdIFtyPTAgYz01IHJz
PTEgY3M9MV0KICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwzNTkpIHNpemUg
NTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9NiBycz0xIGNzPTFdCiAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsNDE0KSBzaXplIDUweDIgW2JnY29sb3I9I0ZGMDAwMF0g
W3I9MCBjPTcgcnM9MSBjcz0xXQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzODV4NDQ1CitsYXllciBh
dCAoMCwwKSBzaXplIDM4NXgwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAo
MCwwKSBzaXplIDM4NXgwCiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoNSwwKSBzaXplIDUw
eDQ0NQogICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA1MHg0
NDUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZyYW1lLWFuZC1y
dWxlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvZnJhbWUtYW5kLXJ1bGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9mcmFtZS1hbmQtcnVsZXMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjA4LDcgKzIyMDgsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg3NjA4CiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMTg0LDApIHNpemUgOTJ4MjEgW2JvcmRlcjogKDFweCBzb2xpZCAjODA4MDgwKV0gW3I9MCBj
PTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikg
c2l6ZSA4OXgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDg5OiAi
Um93IDUsIENlbGwgMyIKLWxheWVyIGF0ICgzOTMsMjQpIHNpemUgMzkyeDE1NQorbGF5ZXIgYXQg
KDM5MywyNCkgc2l6ZSAzOTJ4MTUwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7VEFCTEV9
IGF0ICgzOTMsMjQpIHNpemUgMzkyeDE1MAogICAgIFJlbmRlclRhYmxlIGF0ICgwLDApIHNpemUg
MzYxeDE1NQogICAgICAgUmVuZGVyQmxvY2sge0NBUFRJT059IGF0ICgwLDApIHNpemUgMzYxeDE4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9oZWlnaHQtcGVyY2Vu
dC10ZXN0LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9oZWlnaHQtcGVyY2VudC10ZXN0LXZlcnRpY2FsLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90YWJsZS9oZWlnaHQtcGVyY2VudC10ZXN0LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTI4Mng2MDEKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTI4
Mng2MDEKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMQogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA3ODV4NjAxCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3Njl4NTg1CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEyNzR4NTg1
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS93aWRlLWNvbHNwYW4t
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RhYmxlL3dpZGUtY29sc3Bhbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvd2lkZS1jb2xzcGFuLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTYx
NHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDAp
IHNpemUgMTYxNHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNp
emUgMTYwNngxMTAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dp
ZGUtY29sdW1uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90YWJsZS93aWRlLWNvbHVtbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvd2lkZS1jb2x1bW4tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxNjE0eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxNjE0eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQg
KDAsMCkgc2l6ZSAxNjA2eDU2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
YWJsZS9ib3JkZXItY29sbGFwc2luZy8wMDQtdmVydGljYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBz
aW5nLzAwNC12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvMDA0LXZlcnRp
Y2FsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgMTQ0NHg5MTQKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgMTQ0NHg5MTQKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDkx
NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4OTE0CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMjEpIHNpemUgNzY5eDg4NQogICAgICAgUmVuZGVyQmxvY2sge0gx
fSBhdCAoMCwwKSBzaXplIDc2OXgzNwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9sYXJnZS10ZXh0LWNvbXBvc2VkLWNoYXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGFyZ2UtdGV4dC1jb21wb3Nl
ZC1jaGFyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L2xhcmdlLXRleHQtY29tcG9zZWQtY2hhci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwNjR4
Nzk1NwogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMDY0eDc5NTcKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDc5NTcKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDc5NTcKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc2OXg3OTM2CiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwwKSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4
dC9sZXR0ZXItc3BhY2luZy1uZWdhdGl2ZS1vcGFjaXR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLW5l
Z2F0aXZlLW9wYWNpdHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctbmVnYXRpdmUtb3BhY2l0
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKLWxheWVyIGF0ICg4LDgpIHNpemUgMzEyeDE2MworbGF5ZXIg
YXQgKDgsOCkgc2l6ZSAyNzN4MTYzCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBh
dCAoOCw4KSBzaXplIDI3M3gxNjMgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAyNzF4MTYxCiAgICAgICB0ZXh0IHJ1biBh
dCAoMSwxKSB3aWR0aCAyNzE6ICJUZXN0aW5nIHRoZSBidWciCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtbGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1sZXR0
ZXItc3BhY2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTYzMDIz
eDE3MjgKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDAp
IHNpemUgMTYzMDIzeDE3MjgKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE3MjgKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDE3MjgKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCwxNikgc2l6ZSA3Njl4MTY5NgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzY5eDkwIFtiZ2NvbG9yPSNGRkZGRkZdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGhhaS1saW5lLWJyZWFrcy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3RoYWktbGluZS1icmVha3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90aGFp
LWxpbmUtYnJlYWtzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDc2MDogIlRoZSBvcmlnaW5hbCBzb3VyY2Ugb2YgdGhpcyB0ZXh0IHdhcyBJQ1UsIGFu
ZCB0aGUgdGVzdCBwcm9ncmFtIHNhaWQgXCJieSBpdCdzIHZlcnkgbmF0dXJlLCBUaGFpIHdvcmQg
YnJlYWtpbmcgaXMgbm90IGV4YWN0XCIsIgogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3
aWR0aCA3NTk6ICJzbyB0aGUgY29sdW1ucyBkb24ndCBtYXRjaCBleGFjdGx5LiBJbiBhIGZ1dHVy
ZSB2ZXJzaW9uIHdlIG1pZ2h0IGRlY2lkZSB0byB0d2VhayB0aGUgcmlnaHQgY29sdW1uIHRvIG1h
dGNoIG91ciBleHBlY3RlZCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggNTk6
ICJiZWhhdmlvci4iCi1sYXllciBhdCAoMjM1LDk2KSBzaXplIDgzeDIyODI0CitsYXllciBhdCAo
MjM1LDk2KSBzaXplIDF4MjI4MjQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgyMzUsOTYpIHNpemUgMXgyMjgyNAogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDgzeDIyODI0CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMDogIlx4e0UxQX1c
eHtFMTd9IgpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgbGF5ZXIgYXQgKDIzNSw5Nikgc2l6ZSA4M3gy
MjgyNAogICAgICAgdGV4dCBydW4gYXQgKDAsMjI3NzApIHdpZHRoIDM0OiAiXHh7RTA0fVx4e0Uy
M31ceHtFMzJ9XHh7RTA3fSIKICAgICAgIHRleHQgcnVuIGF0ICgwLDIyNzg4KSB3aWR0aCAyODog
Ilx4e0UyQn1ceHtFMjd9XHh7RTM1fVx4e0UxNH0iCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMjgw
Nikgd2lkdGggMjc6ICJceHtFMkJ9XHh7RTI3fVx4e0UzN31ceHtFMkR9IgotbGF5ZXIgYXQgKDQ3
MSw5Nikgc2l6ZSA3MngyNDAzMAorbGF5ZXIgYXQgKDQ3MSw5Nikgc2l6ZSAxeDI0MDMwCiAgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNDcxLDk2KSBzaXplIDF4MjQwMzAKICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3MngyNDAzMAogICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMjA6ICJceHtFMUF9XHh7RTE3fSIKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS8wMTItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS8w
MTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvd2hpdGVzcGFjZS8wMTItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNTYKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDc2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg3NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDUyCiAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vZmVuY2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3By
ZXNlbnRhdGlvbi9mZW5jZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL2ZlbmNlZC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTYwLDE5ICs2MCwxOSBAQCBsYXllciBhdCAoMTcwLDcyKSBz
aXplIDV4NyBzY3JvbGxIZWlnaHQgCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTog
Ilx4ezIzOUZ9IgogbGF5ZXIgYXQgKDE3MCw3OSkgc2l6ZSA1eDExIHNjcm9sbEhlaWdodCAxNAog
ICBSZW5kZXJCbG9jayB7bWZlbmNlZH0gYXQgKDAsNDcpIHNpemUgNXgxMQotbGF5ZXIgYXQgKDEw
LDMzKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEwLDMyKSBzaXplIDV4MTAgY2xpcCBh
dCAoMTAsMzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTAsMzIpIHNpemUgNXgxMAorbGF5
ZXIgYXQgKDEwLDMzKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEwLDMyKSBzaXplIDV4
MTAgY2xpcCBhdCAoMTAsMzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTAsMzIpIHNpemUg
NXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21mZW5jZWR9IGF0ICgw
LDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21mZW5jZWR9IGF0ICgwLC0zKSBzaXplIDV4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBh
dCAoMTAsNzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTAsNzkpIHNpemUgNXgxMSBj
bGlwIGF0ICgxMCw3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMCw3OSkgc2l6ZSA1eDEx
CitsYXllciBhdCAoMTAsNzYpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTAsNzkpIHNp
emUgNXgxMSBjbGlwIGF0ICgxMCw3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMCw3OSkg
c2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bWZlbmNlZH0g
YXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bWZlbmNlZH0gYXQgKDAsLTMpIHNp
emUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxh
eWVyIGF0ICgxNzAsMzMpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTcwLDMyKSBzaXpl
IDV4MTAgY2xpcCBhdCAoMTcwLDMyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE3MCwzMikg
c2l6ZSA1eDEwCitsYXllciBhdCAoMTcwLDMzKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQg
KDE3MCwzMikgc2l6ZSA1eDEwIGNsaXAgYXQgKDE3MCwzMikgc2l6ZSA1eDEwIG91dGxpbmVDbGlw
IGF0ICgxNzAsMzIpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21mZW5jZWR9IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21mZW5jZWR9
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjM5RX0iCi1sYXllciBhdCAoMTcwLDc2KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDE3MCw3OSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE3MCw3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlw
IGF0ICgxNzAsNzkpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE3MCw3Nikgc2l6ZSA1eDExIGJhY2tn
cm91bmRDbGlwIGF0ICgxNzAsNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNzAsNzkpIHNpemUgNXgx
MSBvdXRsaW5lQ2xpcCBhdCAoMTcwLDc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHttZmVuY2VkfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJU
ZXh0IHttZmVuY2VkfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNTogIlx4ezIzQTB9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21h
dGhtbC9wcmVzZW50YXRpb24vbW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL21vLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRh
dGlvbi9tby1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI3MSw1OSArMjcxLDU5IEBA
IGxheWVyIGF0ICgxNjUsMjE1KSBzaXplIDd4NiBzY3JvbGxIZWlnaHQKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQX0iCiBsYXllciBhdCAoMTY1LDIyMSkgc2l6ZSA3
eDExIHNjcm9sbEhlaWdodCAxNAogICBSZW5kZXJCbG9jayB7bW99IGF0ICgwLDUyKSBzaXplIDd4
MTEKLWxheWVyIGF0ICg2OSwxNzApIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNjksMTY5
KSBzaXplIDh4MTAgY2xpcCBhdCAoNjksMTY5KSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDY5
LDE2OSkgc2l6ZSA4eDEwCitsYXllciBhdCAoNjksMTcwKSBzaXplIDh4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDY5LDE2OSkgc2l6ZSA4eDEwIGNsaXAgYXQgKDY5LDE2OSkgc2l6ZSA4eDEwIG91dGxp
bmVDbGlwIGF0ICg2OSwxNjkpIHNpemUgOHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsy
M0QwfSIKLWxheWVyIGF0ICg2OSwyMTgpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNjks
MjIxKSBzaXplIDh4MTEgY2xpcCBhdCAoNjksMjIxKSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQg
KDY5LDIyMSkgc2l6ZSA4eDExCitsYXllciBhdCAoNjksMjE4KSBzaXplIDh4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDY5LDIyMSkgc2l6ZSA4eDExIGNsaXAgYXQgKDY5LDIyMSkgc2l6ZSA4eDExIG91
dGxpbmVDbGlwIGF0ICg2OSwyMjEpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJc
eHsyM0QwfSIKLWxheWVyIGF0ICg3OCwxNzApIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDc4LDE2OSkgc2l6ZSAxMHgxMCBjbGlwIGF0ICg3OCwxNjkpIHNpemUgMTB4MTAgb3V0bGluZUNs
aXAgYXQgKDc4LDE2OSkgc2l6ZSAxMHgxMAorbGF5ZXIgYXQgKDc4LDE3MCkgc2l6ZSAxMHgxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoNzgsMTY5KSBzaXplIDEweDEwIGNsaXAgYXQgKDc4LDE2OSkgc2l6
ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoNzgsMTY5KSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCAxMDogIlx4ezIzMjB9IgotbGF5ZXIgYXQgKDc4LDIxOCkgc2l6ZSAxMHgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEweDExIGNsaXAgYXQgKDc4LDIyMSkgc2l6ZSAx
MHgxMSBvdXRsaW5lQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEweDExCitsYXllciBhdCAoNzgsMjE4
KSBzaXplIDEweDExIGJhY2tncm91bmRDbGlwIGF0ICg3OCwyMjEpIHNpemUgMTB4MTEgY2xpcCBh
dCAoNzgsMjIxKSBzaXplIDEweDExIG91dGxpbmVDbGlwIGF0ICg3OCwyMjEpIHNpemUgMTB4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAx
MHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjMyMX0iCi1sYXllciBhdCAoODksMTcwKSBz
aXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDg5LDE2OSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDg5
LDE2OSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg4OSwxNjkpIHNpemUgN3gxMAorbGF5ZXIg
YXQgKDg5LDE3MCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg4OSwxNjkpIHNpemUgN3gx
MCBjbGlwIGF0ICg4OSwxNjkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTY5KSBzaXpl
IDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBN30iCi1sYXllciBhdCAoODksMTk0
KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDg5LDE5NSkgc2l6ZSA3eDEwIGNsaXAgYXQg
KDg5LDE5NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg4OSwxOTUpIHNpemUgN3gxMAorbGF5
ZXIgYXQgKDg5LDE5NCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg4OSwxOTUpIHNpemUg
N3gxMCBjbGlwIGF0ICg4OSwxOTUpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTk1KSBz
aXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOH0iCi1sYXllciBhdCAoODks
MjE4KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDg5LDIyMSkgc2l6ZSA3eDExIGNsaXAg
YXQgKDg5LDIyMSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg4OSwyMjEpIHNpemUgN3gxMQor
bGF5ZXIgYXQgKDg5LDIxOCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg4OSwyMjEpIHNp
emUgN3gxMSBjbGlwIGF0ICg4OSwyMjEpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoODksMjIx
KSBzaXplIDd4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQg
KDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOX0iCi1sYXllciBhdCAo
OTcsMTcwKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDk3LDE2OSkgc2l6ZSA1eDEwIGNs
aXAgYXQgKDk3LDE2OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICg5NywxNjkpIHNpemUgNXgx
MAorbGF5ZXIgYXQgKDk3LDE3MCkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICg5NywxNjkp
IHNpemUgNXgxMCBjbGlwIGF0ICg5NywxNjkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoOTcs
MTY5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30g
YXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMX0iCi1sYXllciBh
dCAoOTcsMjE4KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDk3LDIyMSkgc2l6ZSA1eDEx
IGNsaXAgYXQgKDk3LDIyMSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICg5NywyMjEpIHNpemUg
NXgxMQorbGF5ZXIgYXQgKDk3LDIxOCkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICg5Nywy
MjEpIHNpemUgNXgxMSBjbGlwIGF0ICg5NywyMjEpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAo
OTcsMjIxKSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtt
b30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXpl
IDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBM30iCi1sYXll
ciBhdCAoMTU5LDE3MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTksMTY5KSBzaXpl
IDV4MTAgY2xpcCBhdCAoMTU5LDE2OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTksMTY5
KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxNTksMTcwKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDE1OSwxNjkpIHNpemUgNXgxMCBjbGlwIGF0ICgxNTksMTY5KSBzaXplIDV4MTAgb3V0bGlu
ZUNsaXAgYXQgKDE1OSwxNjkpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsy
M0E0fSIKLWxheWVyIGF0ICgxNTksMjE4KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1
OSwyMjEpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTksMjIxKSBzaXplIDV4MTEgb3V0bGluZUNsaXAg
YXQgKDE1OSwyMjEpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE1OSwyMTgpIHNpemUgNXgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMTU5LDIyMSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE1OSwyMjEpIHNpemUg
NXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTU5LDIyMSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggNTogIlx4ezIzQTZ9IgotbGF5ZXIgYXQgKDE2NSwxNzApIHNpemUgN3gxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDE2NSwxNjkpIHNpemUgN3gxMCBv
dXRsaW5lQ2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwCitsYXllciBhdCAoMTY1LDE3MCkgc2l6
ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMTY5KSBzaXplIDd4MTAgY2xpcCBhdCAoMTY1
LDE2OSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxNjUsMTY5KSBzaXplIDd4MTAKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQn0iCi1sYXllciBhdCAoMTY1LDE5NCkgc2l6ZSA3eDE0
IGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4MTAgY2xpcCBhdCAoMTY1LDE5NSkg
c2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4MTAKK2xheWVyIGF0ICgx
NjUsMTk0KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NSwxOTUpIHNpemUgN3gxMCBj
bGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDE2NSwxOTUpIHNpemUg
N3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FDfSIKLWxheWVyIGF0ICgxNjUsMjE4
KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE2NSwyMjEpIHNpemUgN3gxMSBjbGlwIGF0
ICgxNjUsMjIxKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDE2NSwyMjEpIHNpemUgN3gxMQor
bGF5ZXIgYXQgKDE2NSwyMTgpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTY1LDIyMSkg
c2l6ZSA3eDExIGNsaXAgYXQgKDE2NSwyMjEpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoMTY1
LDIyMSkgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUR9IgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vb3Zlci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVz
ZW50YXRpb24vb3Zlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vb3Zlci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTg5LDExICs4OSwxMSBAQCBsYXllciBhdCAoNDUsMjU4KSBzaXplIDEw
eDggc2Nyb2xsSGVpZ2h0CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6ICJceHsy
M0FFfSIKIGxheWVyIGF0ICg0NSwyNjYpIHNpemUgMTB4MTEgc2Nyb2xsSGVpZ2h0IDE0CiAgIFJl
bmRlckJsb2NrIHttb30gYXQgKDAsMzgpIHNpemUgMTB4MTEKLWxheWVyIGF0ICg0NSwyMjkpIHNp
emUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ1LDIyOCkgc2l6ZSAxMHgxMCBjbGlwIGF0ICg0
NSwyMjgpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDQ1LDIyOCkgc2l6ZSAxMHgxMAorbGF5
ZXIgYXQgKDQ1LDIyOSkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDUsMjI4KSBzaXpl
IDEweDEwIGNsaXAgYXQgKDQ1LDIyOCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoNDUsMjI4
KSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjB9IgotbGF5ZXIg
YXQgKDQ1LDI2Mykgc2l6ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDUsMjY2KSBzaXplIDEw
eDExIGNsaXAgYXQgKDQ1LDI2Nikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoNDUsMjY2KSBz
aXplIDEweDExCitsYXllciBhdCAoNDUsMjYzKSBzaXplIDEweDExIGJhY2tncm91bmRDbGlwIGF0
ICg0NSwyNjYpIHNpemUgMTB4MTEgY2xpcCBhdCAoNDUsMjY2KSBzaXplIDEweDExIG91dGxpbmVD
bGlwIGF0ICg0NSwyNjYpIHNpemUgMTB4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAxMHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7
MjMyMX0iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlv
bi9yb3ctYWxpZ25tZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3By
ZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NDE0LDUxICs0MTQsNTEgQEAgbGF5ZXIgYXQgKDEyMCw1MDkpIHNpemUgNXg4IHNjcm9sbEhlaWdo
dAogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0E1fSIKIGxheWVyIGF0
ICgxMjAsNTE3KSBzaXplIDV4MTEgc2Nyb2xsSGVpZ2h0IDE0CiAgIFJlbmRlckJsb2NrIHttb30g
YXQgKDAsNTgpIHNpemUgNXgxMQotbGF5ZXIgYXQgKDM2LDMwMikgc2l6ZSA1eDE0IGJhY2tncm91
bmRDbGlwIGF0ICgzNiwzMDEpIHNpemUgNXgxMCBjbGlwIGF0ICgzNiwzMDEpIHNpemUgNXgxMCBv
dXRsaW5lQ2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4MTAKK2xheWVyIGF0ICgzNiwzMDIpIHNpemUg
NXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAoMzYsMzAx
KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDM2LDMwMSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNTogIlx4ezIzOUJ9IgotbGF5ZXIgYXQgKDM2LDMyOCkgc2l6ZSA1eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICgzNiwzMzEpIHNpemUgNXgxMSBjbGlwIGF0ICgzNiwzMzEpIHNpemUgNXgx
MSBvdXRsaW5lQ2xpcCBhdCAoMzYsMzMxKSBzaXplIDV4MTEKK2xheWVyIGF0ICgzNiwzMjgpIHNp
emUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzYsMzMxKSBzaXplIDV4MTEgY2xpcCBhdCAoMzYs
MzMxKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDM2LDMzMSkgc2l6ZSA1eDExCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIgYXQgKDkwLDMwMikgc2l6ZSA1eDE0IGJh
Y2tncm91bmRDbGlwIGF0ICg5MCwzMDEpIHNpemUgNXgxMCBjbGlwIGF0ICg5MCwzMDEpIHNpemUg
NXgxMCBvdXRsaW5lQ2xpcCBhdCAoOTAsMzAxKSBzaXplIDV4MTAKK2xheWVyIGF0ICg5MCwzMDIp
IHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTAsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAo
OTAsMzAxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDkwLDMwMSkgc2l6ZSA1eDEwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5ZXIgYXQgKDkwLDMyOCkgc2l6ZSA1eDE0
IGJhY2tncm91bmRDbGlwIGF0ICg5MCwzMzEpIHNpemUgNXgxMSBjbGlwIGF0ICg5MCwzMzEpIHNp
emUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoOTAsMzMxKSBzaXplIDV4MTEKK2xheWVyIGF0ICg5MCwz
MjgpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTAsMzMxKSBzaXplIDV4MTEgY2xpcCBh
dCAoOTAsMzMxKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTB9IgotbGF5ZXIgYXQgKDQzLDM1OSkgc2l6ZSA1
eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0MywzNTgpIHNpemUgNXgxMCBjbGlwIGF0ICg0MywzNTgp
IHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoNDMsMzU4KSBzaXplIDV4MTAKK2xheWVyIGF0ICg0
MywzNTkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsMzU4KSBzaXplIDV4MTAgY2xp
cCBhdCAoNDMsMzU4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEw
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUg
NXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUJ9IgotbGF5ZXIgYXQgKDQzLDQyOSkgc2l6
ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0Myw0MzIpIHNpemUgNXgxMSBjbGlwIGF0ICg0Myw0
MzIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoNDMsNDMyKSBzaXplIDV4MTEKK2xheWVyIGF0
ICg0Myw0MjkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsNDMyKSBzaXplIDV4MTEg
Y2xpcCBhdCAoNDMsNDMyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDQzLDQzMikgc2l6ZSA1
eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIgYXQgKDExNiwzNTkp
IHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTE2LDM1OCkgc2l6ZSA1eDEwIGNsaXAgYXQg
KDExNiwzNTgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTE2LDM1OCkgc2l6ZSA1eDEwCits
YXllciBhdCAoMTE2LDM1OSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMTYsMzU4KSBz
aXplIDV4MTAgY2xpcCBhdCAoMTE2LDM1OCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxMTYs
MzU4KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30g
YXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RX0iCi1sYXllciBh
dCAoMTE2LDQyOSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMTYsNDMyKSBzaXplIDV4
MTEgY2xpcCBhdCAoMTE2LDQzMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMTYsNDMyKSBz
aXplIDV4MTEKK2xheWVyIGF0ICgxMTYsNDI5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQg
KDExNiw0MzIpIHNpemUgNXgxMSBjbGlwIGF0ICgxMTYsNDMyKSBzaXplIDV4MTEgb3V0bGluZUNs
aXAgYXQgKDExNiw0MzIpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAs
LTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0Ew
fSIKLWxheWVyIGF0ICgzNiw0NjApIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzYsNDU5
KSBzaXplIDV4MTAgY2xpcCBhdCAoMzYsNDU5KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDM2
LDQ1OSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMzYsNDYwKSBzaXplIDV4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDM2LDQ1OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDM2LDQ1OSkgc2l6ZSA1eDEwIG91dGxp
bmVDbGlwIGF0ICgzNiw0NTkpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsy
M0ExfSIKLWxheWVyIGF0ICgzNiw1MTQpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzYs
NTE3KSBzaXplIDV4MTEgY2xpcCBhdCAoMzYsNTE3KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQg
KDM2LDUxNykgc2l6ZSA1eDExCitsYXllciBhdCAoMzYsNTE0KSBzaXplIDV4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDM2LDUxNykgc2l6ZSA1eDExIGNsaXAgYXQgKDM2LDUxNykgc2l6ZSA1eDExIG91
dGxpbmVDbGlwIGF0ICgzNiw1MTcpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJc
eHsyM0EzfSIKLWxheWVyIGF0ICgxMjAsNDYwKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDEyMCw0NTkpIHNpemUgNXgxMCBjbGlwIGF0ICgxMjAsNDU5KSBzaXplIDV4MTAgb3V0bGluZUNs
aXAgYXQgKDEyMCw0NTkpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDEyMCw0NjApIHNpemUgNXgxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDQ1OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEyMCw0NTkpIHNp
emUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTIwLDQ1OSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRl
clRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggNTogIlx4ezIzQTR9IgotbGF5ZXIgYXQgKDEyMCw1MTQpIHNpemUgNXgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDExIGNsaXAgYXQgKDEyMCw1MTcpIHNpemUgNXgx
MSBvdXRsaW5lQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDExCitsYXllciBhdCAoMTIwLDUxNCkg
c2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMjAsNTE3KSBzaXplIDV4MTEgY2xpcCBhdCAo
MTIwLDUxNykgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMjAsNTE3KSBzaXplIDV4MTEKICAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDEx
CiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNn0iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL3Jvdy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGht
bC9wcmVzZW50YXRpb24vcm93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIxOCwz
MzkgKzEyMTgsMzM5IEBAIGxheWVyIGF0ICgxNTcsNTc5KSBzaXplIDV4OCBzY3JvbGxIZWlnaHQK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Rn0iCiBsYXllciBhdCAo
MTU3LDU4Nykgc2l6ZSA1eDExIHNjcm9sbEhlaWdodCAxNAogICBSZW5kZXJCbG9jayB7bW99IGF0
ICgwLDM4KSBzaXplIDV4MTEKLWxheWVyIGF0ICg0OSw5NSkgc2l6ZSA3eDE0IGJhY2tncm91bmRD
bGlwIGF0ICg0OSw5NCkgc2l6ZSA3eDkgY2xpcCBhdCAoNDksOTQpIHNpemUgN3g5IG91dGxpbmVD
bGlwIGF0ICg0OSw5NCkgc2l6ZSA3eDkKK2xheWVyIGF0ICg0OSw5NSkgc2l6ZSA3eDExIGJhY2tn
cm91bmRDbGlwIGF0ICg0OSw5NCkgc2l6ZSA3eDkgY2xpcCBhdCAoNDksOTQpIHNpemUgN3g5IG91
dGxpbmVDbGlwIGF0ICg0OSw5NCkgc2l6ZSA3eDkKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7
MjNBN30iCi1sYXllciBhdCAoNDksMTAyKSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ5
LDEwMykgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5LDEwMykgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0
ICg0OSwxMDMpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDQ5LDEwMikgc2l6ZSA3eDExIGJhY2tncm91
bmRDbGlwIGF0ICg0OSwxMDMpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwxMDMpIHNpemUgN3gxMCBv
dXRsaW5lQ2xpcCBhdCAoNDksMTAzKSBzaXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAi
XHh7MjNBOH0iCi1sYXllciBhdCAoNDksMTEwKSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDQ5LDExMykgc2l6ZSA3eDExIGNsaXAgYXQgKDQ5LDExMykgc2l6ZSA3eDExIG91dGxpbmVDbGlw
IGF0ICg0OSwxMTMpIHNpemUgN3gxMQorbGF5ZXIgYXQgKDQ5LDExMCkgc2l6ZSA3eDExIGJhY2tn
cm91bmRDbGlwIGF0ICg0OSwxMTMpIHNpemUgN3gxMSBjbGlwIGF0ICg0OSwxMTMpIHNpemUgN3gx
MSBvdXRsaW5lQ2xpcCBhdCAoNDksMTEzKSBzaXplIDd4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3
OiAiXHh7MjNBOX0iCi1sYXllciBhdCAoODgsOTUpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoODgsOTQpIHNpemUgN3g5IGNsaXAgYXQgKDg4LDk0KSBzaXplIDd4OSBvdXRsaW5lQ2xpcCBh
dCAoODgsOTQpIHNpemUgN3g5CitsYXllciBhdCAoODgsOTUpIHNpemUgN3gxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoODgsOTQpIHNpemUgN3g5IGNsaXAgYXQgKDg4LDk0KSBzaXplIDd4OSBvdXRsaW5l
Q2xpcCBhdCAoODgsOTQpIHNpemUgN3g5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwt
Mykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUJ9
IgotbGF5ZXIgYXQgKDg4LDEwMikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OCwxMDMp
IHNpemUgN3gxMCBjbGlwIGF0ICg4OCwxMDMpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODgs
MTAzKSBzaXplIDd4MTAKK2xheWVyIGF0ICg4OCwxMDIpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoODgsMTAzKSBzaXplIDd4MTAgY2xpcCBhdCAoODgsMTAzKSBzaXplIDd4MTAgb3V0bGlu
ZUNsaXAgYXQgKDg4LDEwMykgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIz
QUN9IgotbGF5ZXIgYXQgKDg4LDExMCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OCwx
MTMpIHNpemUgN3gxMSBjbGlwIGF0ICg4OCwxMTMpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAo
ODgsMTEzKSBzaXplIDd4MTEKK2xheWVyIGF0ICg4OCwxMTApIHNpemUgN3gxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoODgsMTEzKSBzaXplIDd4MTEgY2xpcCBhdCAoODgsMTEzKSBzaXplIDd4MTEgb3V0
bGluZUNsaXAgYXQgKDg4LDExMykgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4
ezIzQUR9IgotbGF5ZXIgYXQgKDEwMiw5NSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgx
MDIsOTQpIHNpemUgNXgxMCBjbGlwIGF0ICgxMDIsOTQpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBh
dCAoMTAyLDk0KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMDIsOTUpIHNpemUgNXgxMSBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMTAyLDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTAyLDk0KSBzaXplIDV4MTAg
b3V0bGluZUNsaXAgYXQgKDEwMiw5NCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTog
Ilx4ezIzQTF9IgotbGF5ZXIgYXQgKDEwMiwxMDkpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTAyLDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDEwMiwxMTIpIHNpemUgNXgxMSBvdXRsaW5l
Q2xpcCBhdCAoMTAyLDExMikgc2l6ZSA1eDExCitsYXllciBhdCAoMTAyLDEwOSkgc2l6ZSA1eDEx
IGJhY2tncm91bmRDbGlwIGF0ICgxMDIsMTEyKSBzaXplIDV4MTEgY2xpcCBhdCAoMTAyLDExMikg
c2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMDIsMTEyKSBzaXplIDV4MTEKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVu
ZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCA1OiAiXHh7MjNBM30iCi1sYXllciBhdCAoMTM5LDk1KSBzaXplIDV4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDEzOSw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEzOSw5NCkgc2l6ZSA1eDEw
IG91dGxpbmVDbGlwIGF0ICgxMzksOTQpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDEzOSw5NSkgc2l6
ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMzksOTQpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzks
OTQpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTM5LDk0KSBzaXplIDV4MTAKICAgUmVuZGVy
QmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAg
UmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgw
LC0zKSB3aWR0aCA1OiAiXHh7MjNBNH0iCi1sYXllciBhdCAoMTM5LDEwOSkgc2l6ZSA1eDE0IGJh
Y2tncm91bmRDbGlwIGF0ICgxMzksMTEyKSBzaXplIDV4MTEgY2xpcCBhdCAoMTM5LDExMikgc2l6
ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMzksMTEyKSBzaXplIDV4MTEKK2xheWVyIGF0ICgxMzks
MTA5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEzOSwxMTIpIHNpemUgNXgxMSBjbGlw
IGF0ICgxMzksMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDEzOSwxMTIpIHNpemUgNXgx
MQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0E2fSIKLWxheWVyIGF0ICgxNTEsOTUpIHNp
emUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTUxLDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTUx
LDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE1MSw5NCkgc2l6ZSA1eDEwCitsYXllciBh
dCAoMTUxLDk1KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE1MSw5NCkgc2l6ZSA1eDEw
IGNsaXAgYXQgKDE1MSw5NCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTEsOTQpIHNpemUg
NXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgxNTEsMTA5
KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1MSwxMTIpIHNpemUgNXgxMSBjbGlwIGF0
ICgxNTEsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE1MSwxMTIpIHNpemUgNXgxMQor
bGF5ZXIgYXQgKDE1MSwxMDkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTUxLDExMikg
c2l6ZSA1eDExIGNsaXAgYXQgKDE1MSwxMTIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTUx
LDExMikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIg
YXQgKDE4OCw5NSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxODgsOTQpIHNpemUgNXgx
MCBjbGlwIGF0ICgxODgsOTQpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTg4LDk0KSBzaXpl
IDV4MTAKK2xheWVyIGF0ICgxODgsOTUpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg4
LDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTg4LDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQg
KDE4OCw5NCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5
ZXIgYXQgKDE4OCwxMDkpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg4LDExMikgc2l6
ZSA1eDExIGNsaXAgYXQgKDE4OCwxMTIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTg4LDEx
Mikgc2l6ZSA1eDExCitsYXllciBhdCAoMTg4LDEwOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlw
IGF0ICgxODgsMTEyKSBzaXplIDV4MTEgY2xpcCBhdCAoMTg4LDExMikgc2l6ZSA1eDExIG91dGxp
bmVDbGlwIGF0ICgxODgsMTEyKSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7
MjNBMH0iCi1sYXllciBhdCAoMjAwLDk1KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIw
MCw5NCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDIwMCw5NCkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0
ICgyMDAsOTQpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDIwMCw5NSkgc2l6ZSA4eDExIGJhY2tncm91
bmRDbGlwIGF0ICgyMDAsOTQpIHNpemUgOHgxMCBjbGlwIGF0ICgyMDAsOTQpIHNpemUgOHgxMCBv
dXRsaW5lQ2xpcCBhdCAoMjAwLDk0KSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAi
XHh7MjNEMH0iCi1sYXllciBhdCAoMjAwLDEwOSkgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgyMDAsMTEyKSBzaXplIDh4MTEgY2xpcCBhdCAoMjAwLDExMikgc2l6ZSA4eDExIG91dGxpbmVD
bGlwIGF0ICgyMDAsMTEyKSBzaXplIDh4MTEKK2xheWVyIGF0ICgyMDAsMTA5KSBzaXplIDh4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDIwMCwxMTIpIHNpemUgOHgxMSBjbGlwIGF0ICgyMDAsMTEyKSBz
aXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDIwMCwxMTIpIHNpemUgOHgxMQogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyNDAsOTUpIHNpemUgOHgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMjQwLDk0KSBzaXplIDh4MTAgY2xpcCBhdCAoMjQwLDk0KSBzaXplIDh4MTAg
b3V0bGluZUNsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4eDEwCitsYXllciBhdCAoMjQwLDk1KSBzaXpl
IDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI0MCw5
NCkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgyNDAsOTQpIHNpemUgOHgxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyNDAsMTA5KSBzaXplIDh4MTQgYmFj
a2dyb3VuZENsaXAgYXQgKDI0MCwxMTIpIHNpemUgOHgxMSBjbGlwIGF0ICgyNDAsMTEyKSBzaXpl
IDh4MTEgb3V0bGluZUNsaXAgYXQgKDI0MCwxMTIpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDI0MCwx
MDkpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjQwLDExMikgc2l6ZSA4eDExIGNsaXAg
YXQgKDI0MCwxMTIpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjQwLDExMikgc2l6ZSA4eDEx
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUg
OHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDI1NSw5NSkgc2l6
ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjU1LDk0KSBzaXplIDEweDEwIGNsaXAgYXQgKDI1
NSw5NCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjU1LDk0KSBzaXplIDEweDEwCitsYXll
ciBhdCAoMjU1LDk1KSBzaXplIDEweDExIGJhY2tncm91bmRDbGlwIGF0ICgyNTUsOTQpIHNpemUg
MTB4MTAgY2xpcCBhdCAoMjU1LDk0KSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgyNTUsOTQp
IHNpemUgMTB4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQg
KDAsMCkgc2l6ZSAxMHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgx
NwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjMyMH0iCi1sYXllciBh
dCAoMjU1LDEwOSkgc2l6ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjU1LDExMikgc2l6ZSAx
MHgxMSBjbGlwIGF0ICgyNTUsMTEyKSBzaXplIDEweDExIG91dGxpbmVDbGlwIGF0ICgyNTUsMTEy
KSBzaXplIDEweDExCitsYXllciBhdCAoMjU1LDEwOSkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMSBjbGlwIGF0ICgyNTUsMTEyKSBzaXplIDEweDExIG91
dGxpbmVDbGlwIGF0ICgyNTUsMTEyKSBzaXplIDEweDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAx
MDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDQ5LDE1Mikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlw
IGF0ICg0OSwxNTEpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwxNTEpIHNpemUgN3gxMCBvdXRsaW5l
Q2xpcCBhdCAoNDksMTUxKSBzaXplIDd4MTAKK2xheWVyIGF0ICg0OSwxNTIpIHNpemUgN3gxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoNDksMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTUxKSBzaXpl
IDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDE1MSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggNzogIlx4ezIzQTd9IgotbGF5ZXIgYXQgKDQ5LDE2NCkgc2l6ZSA3eDE0IGJhY2tncm91bmRD
bGlwIGF0ICg0OSwxNjUpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwxNjUpIHNpemUgN3gxMCBvdXRs
aW5lQ2xpcCBhdCAoNDksMTY1KSBzaXplIDd4MTAKK2xheWVyIGF0ICg0OSwxNjQpIHNpemUgN3gx
MSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTY1KSBz
aXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDE2NSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRl
clRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggNzogIlx4ezIzQTh9IgotbGF5ZXIgYXQgKDQ5LDE3Nikgc2l6ZSA3eDE0IGJhY2tncm91
bmRDbGlwIGF0ICg0OSwxNzkpIHNpemUgN3gxMSBjbGlwIGF0ICg0OSwxNzkpIHNpemUgN3gxMSBv
dXRsaW5lQ2xpcCBhdCAoNDksMTc5KSBzaXplIDd4MTEKK2xheWVyIGF0ICg0OSwxNzYpIHNpemUg
N3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMTc5KSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMTc5
KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDQ5LDE3OSkgc2l6ZSA3eDExCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNzogIlx4ezIzQTl9IgotbGF5ZXIgYXQgKDk2LDE1Mikgc2l6ZSA3eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICg5NiwxNTEpIHNpemUgN3gxMCBjbGlwIGF0ICg5NiwxNTEpIHNpemUgN3gx
MCBvdXRsaW5lQ2xpcCBhdCAoOTYsMTUxKSBzaXplIDd4MTAKK2xheWVyIGF0ICg5NiwxNTIpIHNp
emUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoOTYs
MTUxKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDk2LDE1MSkgc2l6ZSA3eDEwCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggNzogIlx4ezIzQUJ9IgotbGF5ZXIgYXQgKDk2LDE2NCkgc2l6ZSA3eDE0IGJh
Y2tncm91bmRDbGlwIGF0ICg5NiwxNjUpIHNpemUgN3gxMCBjbGlwIGF0ICg5NiwxNjUpIHNpemUg
N3gxMCBvdXRsaW5lQ2xpcCBhdCAoOTYsMTY1KSBzaXplIDd4MTAKK2xheWVyIGF0ICg5NiwxNjQp
IHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAo
OTYsMTY1KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDk2LDE2NSkgc2l6ZSA3eDEwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUN9IgotbGF5ZXIgYXQgKDk2LDE3Nikgc2l6ZSA3eDE0
IGJhY2tncm91bmRDbGlwIGF0ICg5NiwxNzkpIHNpemUgN3gxMSBjbGlwIGF0ICg5NiwxNzkpIHNp
emUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoOTYsMTc5KSBzaXplIDd4MTEKK2xheWVyIGF0ICg5Niwx
NzYpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTc5KSBzaXplIDd4MTEgY2xpcCBh
dCAoOTYsMTc5KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUR9IgotbGF5ZXIgYXQgKDExMCwxNTIpIHNpemUg
NXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEwLDE1MSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDExMCwx
NTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTEwLDE1MSkgc2l6ZSA1eDEwCitsYXllciBh
dCAoMTEwLDE1Mikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMTAsMTUxKSBzaXplIDV4
MTAgY2xpcCBhdCAoMTEwLDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxMTAsMTUxKSBz
aXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMX0iCi1sYXllciBhdCAoMTEw
LDE3Nikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMTAsMTc5KSBzaXplIDV4MTEgY2xp
cCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMTAsMTc5KSBzaXplIDV4
MTEKK2xheWVyIGF0ICgxMTAsMTc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDExMCwx
NzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxMTAsMTc5KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQg
KDExMCwxNzkpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EzfSIKLWxh
eWVyIGF0ICgxNTUsMTUyKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1NSwxNTEpIHNp
emUgNXgxMCBjbGlwIGF0ICgxNTUsMTUxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE1NSwx
NTEpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDE1NSwxNTIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMTU1LDE1MSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE1NSwxNTEpIHNpemUgNXgxMCBvdXRs
aW5lQ2xpcCBhdCAoMTU1LDE1MSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4
ezIzQTR9IgotbGF5ZXIgYXQgKDE1NSwxNzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MTU1LDE3OSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE1NSwxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xp
cCBhdCAoMTU1LDE3OSkgc2l6ZSA1eDExCitsYXllciBhdCAoMTU1LDE3Nikgc2l6ZSA1eDExIGJh
Y2tncm91bmRDbGlwIGF0ICgxNTUsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTU1LDE3OSkgc2l6
ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxNTUsMTc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3
aWR0aCA1OiAiXHh7MjNBNn0iCi1sYXllciBhdCAoMTY3LDE1Mikgc2l6ZSA1eDE0IGJhY2tncm91
bmRDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAgY2xpcCBhdCAoMTY3LDE1MSkgc2l6ZSA1eDEw
IG91dGxpbmVDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAKK2xheWVyIGF0ICgxNjcsMTUyKSBz
aXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NywxNTEpIHNpemUgNXgxMCBjbGlwIGF0ICgx
NjcsMTUxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE2NywxNTEpIHNpemUgNXgxMAogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgxNjcsMTc2KSBzaXplIDV4
MTQgYmFja2dyb3VuZENsaXAgYXQgKDE2NywxNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNjcsMTc5
KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE2NywxNzkpIHNpemUgNXgxMQorbGF5ZXIgYXQg
KDE2NywxNzYpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTY3LDE3OSkgc2l6ZSA1eDEx
IGNsaXAgYXQgKDE2NywxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTY3LDE3OSkgc2l6
ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDAp
IHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIgYXQgKDIxMiwx
NTIpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjEyLDE1MSkgc2l6ZSA1eDEwIGNsaXAg
YXQgKDIxMiwxNTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjEyLDE1MSkgc2l6ZSA1eDEw
CitsYXllciBhdCAoMjEyLDE1Mikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgyMTIsMTUx
KSBzaXplIDV4MTAgY2xpcCBhdCAoMjEyLDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgy
MTIsMTUxKSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtt
b30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXpl
IDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RX0iCi1sYXll
ciBhdCAoMjEyLDE3Nikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyMTIsMTc5KSBzaXpl
IDV4MTEgY2xpcCBhdCAoMjEyLDE3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyMTIsMTc5
KSBzaXplIDV4MTEKK2xheWVyIGF0ICgyMTIsMTc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDIxMiwxNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgyMTIsMTc5KSBzaXplIDV4MTEgb3V0bGlu
ZUNsaXAgYXQgKDIxMiwxNzkpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsy
M0EwfSIKLWxheWVyIGF0ICgyMjQsMTUyKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIy
NCwxNTEpIHNpemUgOHgxMCBjbGlwIGF0ICgyMjQsMTUxKSBzaXplIDh4MTAgb3V0bGluZUNsaXAg
YXQgKDIyNCwxNTEpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDIyNCwxNTIpIHNpemUgOHgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMjI0LDE1MSkgc2l6ZSA4eDEwIGNsaXAgYXQgKDIyNCwxNTEpIHNpemUg
OHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjI0LDE1MSkgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDIyNCwxNzYpIHNpemUgOHgxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExIGNsaXAgYXQgKDIyNCwxNzkpIHNpemUgOHgxMSBv
dXRsaW5lQ2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExCitsYXllciBhdCAoMjI0LDE3Nikgc2l6
ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgyMjQsMTc5KSBzaXplIDh4MTEgY2xpcCBhdCAoMjI0
LDE3OSkgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyMjQsMTc5KSBzaXplIDh4MTEKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjcyLDE1Mikgc2l6ZSA4eDE0
IGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4MTAgY2xpcCBhdCAoMjcyLDE1MSkg
c2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4MTAKK2xheWVyIGF0ICgy
NzIsMTUyKSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI3MiwxNTEpIHNpemUgOHgxMCBj
bGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDI3MiwxNTEpIHNpemUg
OHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyNzIsMTc2
KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI3MiwxNzkpIHNpemUgOHgxMSBjbGlwIGF0
ICgyNzIsMTc5KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDI3MiwxNzkpIHNpemUgOHgxMQor
bGF5ZXIgYXQgKDI3MiwxNzYpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjcyLDE3OSkg
c2l6ZSA4eDExIGNsaXAgYXQgKDI3MiwxNzkpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjcy
LDE3OSkgc2l6ZSA4eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIg
YXQgKDI4NywxNTIpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI4NywxNTEpIHNpemUg
MTB4MTAgY2xpcCBhdCAoMjg3LDE1MSkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjg3LDE1
MSkgc2l6ZSAxMHgxMAorbGF5ZXIgYXQgKDI4NywxNTIpIHNpemUgMTB4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAgY2xpcCBhdCAoMjg3LDE1MSkgc2l6ZSAxMHgxMCBv
dXRsaW5lQ2xpcCBhdCAoMjg3LDE1MSkgc2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
MTA6ICJceHsyMzIwfSIKLWxheWVyIGF0ICgyODcsMTc2KSBzaXplIDEweDE0IGJhY2tncm91bmRD
bGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExIGNsaXAgYXQgKDI4NywxNzkpIHNpemUgMTB4MTEg
b3V0bGluZUNsaXAgYXQgKDI4NywxNzkpIHNpemUgMTB4MTEKK2xheWVyIGF0ICgyODcsMTc2KSBz
aXplIDEweDExIGJhY2tncm91bmRDbGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExIGNsaXAgYXQg
KDI4NywxNzkpIHNpemUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDI4NywxNzkpIHNpemUgMTB4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAx
MHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjMyMX0iCi1sYXllciBhdCAoNDksMjI5KSBz
aXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDIyOCkgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5
LDIyOCkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwyMjgpIHNpemUgN3gxMAorbGF5ZXIg
YXQgKDQ5LDIyOSkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg0OSwyMjgpIHNpemUgN3gx
MCBjbGlwIGF0ICg0OSwyMjgpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjI4KSBzaXpl
IDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBN30iCi1sYXllciBhdCAoNDksMjUw
KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDI1MSkgc2l6ZSA3eDEwIGNsaXAgYXQg
KDQ5LDI1MSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwyNTEpIHNpemUgN3gxMAorbGF5
ZXIgYXQgKDQ5LDI1MCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNTEpIHNpemUg
N3gxMCBjbGlwIGF0ICg0OSwyNTEpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjUxKSBz
aXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOH0iCi1sYXllciBhdCAoNDks
MjcyKSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDI3NSkgc2l6ZSA3eDExIGNsaXAg
YXQgKDQ5LDI3NSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg0OSwyNzUpIHNpemUgN3gxMQor
bGF5ZXIgYXQgKDQ5LDI3Mikgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNzUpIHNp
emUgN3gxMSBjbGlwIGF0ICg0OSwyNzUpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoNDksMjc1
KSBzaXplIDd4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQg
KDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOX0iCi1sYXllciBhdCAo
MTEyLDIyOSkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMTIsMjI4KSBzaXplIDd4MTAg
Y2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxMTIsMjI4KSBzaXpl
IDd4MTAKK2xheWVyIGF0ICgxMTIsMjI5KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEx
MiwyMjgpIHNpemUgN3gxMCBjbGlwIGF0ICgxMTIsMjI4KSBzaXplIDd4MTAgb3V0bGluZUNsaXAg
YXQgKDExMiwyMjgpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMp
IHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FCfSIK
LWxheWVyIGF0ICgxMTIsMjUwKSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDExMiwyNTEp
IHNpemUgN3gxMCBjbGlwIGF0ICgxMTIsMjUxKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEx
MiwyNTEpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDExMiwyNTApIHNpemUgN3gxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMTEyLDI1MSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDExMiwyNTEpIHNpemUgN3gxMCBv
dXRsaW5lQ2xpcCBhdCAoMTEyLDI1MSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzog
Ilx4ezIzQUN9IgotbGF5ZXIgYXQgKDExMiwyNzIpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTEyLDI3NSkgc2l6ZSA3eDExIGNsaXAgYXQgKDExMiwyNzUpIHNpemUgN3gxMSBvdXRsaW5l
Q2xpcCBhdCAoMTEyLDI3NSkgc2l6ZSA3eDExCitsYXllciBhdCAoMTEyLDI3Mikgc2l6ZSA3eDEx
IGJhY2tncm91bmRDbGlwIGF0ICgxMTIsMjc1KSBzaXplIDd4MTEgY2xpcCBhdCAoMTEyLDI3NSkg
c2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICgxMTIsMjc1KSBzaXplIDd4MTEKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVu
ZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCA3OiAiXHh7MjNBRH0iCi1sYXllciBhdCAoMTI2LDIyOSkgc2l6ZSA1eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4MTAgY2xpcCBhdCAoMTI2LDIyOCkgc2l6ZSA1
eDEwIG91dGxpbmVDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMjYsMjI5
KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyNiwyMjgpIHNpemUgNXgxMCBjbGlwIGF0
ICgxMjYsMjI4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEyNiwyMjgpIHNpemUgNXgxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0ExfSIKLWxheWVyIGF0ICgxMjYsMjcyKSBzaXpl
IDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEyNiwyNzUpIHNpemUgNXgxMSBjbGlwIGF0ICgxMjYs
Mjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDEyNiwyNzUpIHNpemUgNXgxMQorbGF5ZXIg
YXQgKDEyNiwyNzIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTI2LDI3NSkgc2l6ZSA1
eDExIGNsaXAgYXQgKDEyNiwyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTI2LDI3NSkg
c2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIgYXQgKDE4
NywyMjkpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg3LDIyOCkgc2l6ZSA1eDEwIGNs
aXAgYXQgKDE4NywyMjgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTg3LDIyOCkgc2l6ZSA1
eDEwCitsYXllciBhdCAoMTg3LDIyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxODcs
MjI4KSBzaXplIDV4MTAgY2xpcCBhdCAoMTg3LDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0
ICgxODcsMjI4KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBz
aXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNH0iCi1s
YXllciBhdCAoMTg3LDI3Mikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxODcsMjc1KSBz
aXplIDV4MTEgY2xpcCBhdCAoMTg3LDI3NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxODcs
Mjc1KSBzaXplIDV4MTEKK2xheWVyIGF0ICgxODcsMjcyKSBzaXplIDV4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDE4NywyNzUpIHNpemUgNXgxMSBjbGlwIGF0ICgxODcsMjc1KSBzaXplIDV4MTEgb3V0
bGluZUNsaXAgYXQgKDE4NywyNzUpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJc
eHsyM0E2fSIKLWxheWVyIGF0ICgxOTksMjI5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDE5OSwyMjgpIHNpemUgNXgxMCBjbGlwIGF0ICgxOTksMjI4KSBzaXplIDV4MTAgb3V0bGluZUNs
aXAgYXQgKDE5OSwyMjgpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDE5OSwyMjkpIHNpemUgNXgxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTk5LDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE5OSwyMjgpIHNp
emUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTk5LDIyOCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRl
clRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggNTogIlx4ezIzOUJ9IgotbGF5ZXIgYXQgKDE5OSwyNzIpIHNpemUgNXgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE5OSwyNzUpIHNpemUgNXgx
MSBvdXRsaW5lQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDExCitsYXllciBhdCAoMTk5LDI3Mikg
c2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxOTksMjc1KSBzaXplIDV4MTEgY2xpcCBhdCAo
MTk5LDI3NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxOTksMjc1KSBzaXplIDV4MTEKICAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDEx
CiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RH0iCi1sYXllciBhdCAoMjYwLDIyOSkgc2l6ZSA1
eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyNjAsMjI4KSBzaXplIDV4MTAgY2xpcCBhdCAoMjYwLDIy
OCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgyNjAsMjI4KSBzaXplIDV4MTAKK2xheWVyIGF0
ICgyNjAsMjI5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI2MCwyMjgpIHNpemUgNXgx
MCBjbGlwIGF0ICgyNjAsMjI4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDI2MCwyMjgpIHNp
emUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCww
KSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAg
ICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICgyNjAs
MjcyKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI2MCwyNzUpIHNpemUgNXgxMSBjbGlw
IGF0ICgyNjAsMjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDI2MCwyNzUpIHNpemUgNXgx
MQorbGF5ZXIgYXQgKDI2MCwyNzIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjYwLDI3
NSkgc2l6ZSA1eDExIGNsaXAgYXQgKDI2MCwyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAo
MjYwLDI3NSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTB9IgotbGF5
ZXIgYXQgKDI3MiwyMjkpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjcyLDIyOCkgc2l6
ZSA4eDEwIGNsaXAgYXQgKDI3MiwyMjgpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjcyLDIy
OCkgc2l6ZSA4eDEwCitsYXllciBhdCAoMjcyLDIyOSkgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlw
IGF0ICgyNzIsMjI4KSBzaXplIDh4MTAgY2xpcCBhdCAoMjcyLDIyOCkgc2l6ZSA4eDEwIG91dGxp
bmVDbGlwIGF0ICgyNzIsMjI4KSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7
MjNEMH0iCi1sYXllciBhdCAoMjcyLDI3Mikgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgy
NzIsMjc1KSBzaXplIDh4MTEgY2xpcCBhdCAoMjcyLDI3NSkgc2l6ZSA4eDExIG91dGxpbmVDbGlw
IGF0ICgyNzIsMjc1KSBzaXplIDh4MTEKK2xheWVyIGF0ICgyNzIsMjcyKSBzaXplIDh4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDI3MiwyNzUpIHNpemUgOHgxMSBjbGlwIGF0ICgyNzIsMjc1KSBzaXpl
IDh4MTEgb3V0bGluZUNsaXAgYXQgKDI3MiwyNzUpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJU
ZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgzMzYsMjI5KSBzaXplIDh4MTQgYmFja2dyb3Vu
ZENsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMCBjbGlwIGF0ICgzMzYsMjI4KSBzaXplIDh4MTAg
b3V0bGluZUNsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDMzNiwyMjkpIHNp
emUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzM2LDIyOCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDMz
NiwyMjgpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMzM2LDIyOCkgc2l6ZSA4eDEwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDMzNiwyNzIpIHNpemUgOHgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4eDExIGNsaXAgYXQgKDMzNiwyNzUp
IHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4eDExCitsYXllciBhdCAo
MzM2LDI3Mikgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgzMzYsMjc1KSBzaXplIDh4MTEg
Y2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgzMzYsMjc1KSBzaXpl
IDh4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzUxLDIy
OSkgc2l6ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgxMCBjbGlw
IGF0ICgzNTEsMjI4KSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgzNTEsMjI4KSBzaXplIDEw
eDEwCitsYXllciBhdCAoMzUxLDIyOSkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzUx
LDIyOCkgc2l6ZSAxMHgxMCBjbGlwIGF0ICgzNTEsMjI4KSBzaXplIDEweDEwIG91dGxpbmVDbGlw
IGF0ICgzNTEsMjI4KSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAs
LTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIz
MjB9IgotbGF5ZXIgYXQgKDM1MSwyNzIpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM1
MSwyNzUpIHNpemUgMTB4MTEgY2xpcCBhdCAoMzUxLDI3NSkgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xp
cCBhdCAoMzUxLDI3NSkgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDM1MSwyNzIpIHNpemUgMTB4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEgY2xpcCBhdCAoMzUxLDI3NSkg
c2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzUxLDI3NSkgc2l6ZSAxMHgxMQogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAg
UmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggMTA6ICJceHsyMzIxfSIKLWxheWVyIGF0ICg1NywzNzMpIHNpemUgN3gxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoNTcsMzcyKSBzaXplIDd4MTAgY2xpcCBhdCAoNTcsMzcyKSBzaXpl
IDd4MTAgb3V0bGluZUNsaXAgYXQgKDU3LDM3Mikgc2l6ZSA3eDEwCitsYXllciBhdCAoNTcsMzcz
KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDU3LDM3Mikgc2l6ZSA3eDEwIGNsaXAgYXQg
KDU3LDM3Mikgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg1NywzNzIpIHNpemUgN3gxMAogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0E3fSIKLWxheWVyIGF0ICg1Nyw0MzgpIHNpemUgN3gx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNTcsNDM5KSBzaXplIDd4MTAgY2xpcCBhdCAoNTcsNDM5KSBz
aXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDU3LDQzOSkgc2l6ZSA3eDEwCitsYXllciBhdCAoNTcs
NDM4KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDU3LDQzOSkgc2l6ZSA3eDEwIGNsaXAg
YXQgKDU3LDQzOSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0E4fSIKLWxheWVyIGF0ICg1Nyw1MDMpIHNpemUg
N3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNTcsNTA2KSBzaXplIDd4MTEgY2xpcCBhdCAoNTcsNTA2
KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDU3LDUwNikgc2l6ZSA3eDExCitsYXllciBhdCAo
NTcsNTAzKSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDU3LDUwNikgc2l6ZSA3eDExIGNs
aXAgYXQgKDU3LDUwNikgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gx
MQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0E5fSIKLWxheWVyIGF0ICgxMjAsMzczKSBz
aXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEyMCwzNzIpIHNpemUgN3gxMCBjbGlwIGF0ICgx
MjAsMzcyKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCwzNzIpIHNpemUgN3gxMAorbGF5
ZXIgYXQgKDEyMCwzNzMpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDM3Mikgc2l6
ZSA3eDEwIGNsaXAgYXQgKDEyMCwzNzIpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTIwLDM3
Mikgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUJ9IgotbGF5ZXIgYXQg
KDEyMCw0MzgpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDQzOSkgc2l6ZSA3eDEw
IGNsaXAgYXQgKDEyMCw0MzkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTIwLDQzOSkgc2l6
ZSA3eDEwCitsYXllciBhdCAoMTIwLDQzOCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICgx
MjAsNDM5KSBzaXplIDd4MTAgY2xpcCBhdCAoMTIwLDQzOSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlw
IGF0ICgxMjAsNDM5KSBzaXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0z
KSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQ30i
Ci1sYXllciBhdCAoMTIwLDUwMykgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMjAsNTA2
KSBzaXplIDd4MTEgY2xpcCBhdCAoMTIwLDUwNikgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICgx
MjAsNTA2KSBzaXplIDd4MTEKK2xheWVyIGF0ICgxMjAsNTAzKSBzaXplIDd4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDEyMCw1MDYpIHNpemUgN3gxMSBjbGlwIGF0ICgxMjAsNTA2KSBzaXplIDd4MTEg
b3V0bGluZUNsaXAgYXQgKDEyMCw1MDYpIHNpemUgN3gxMQogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6
ICJceHsyM0FEfSIKLWxheWVyIGF0ICgxMzQsMzczKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAg
YXQgKDEzNCwzNzIpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzQsMzcyKSBzaXplIDV4MTAgb3V0bGlu
ZUNsaXAgYXQgKDEzNCwzNzIpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDEzNCwzNzMpIHNpemUgNXgx
MSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM0LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQgKDEzNCwzNzIp
IHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTM0LDM3Mikgc2l6ZSA1eDEwCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNTogIlx4ezIzQTF9IgotbGF5ZXIgYXQgKDEzNCw1MDMpIHNpemUgNXgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQgKDEzNCw1MDYpIHNpemUg
NXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1eDExCitsYXllciBhdCAoMTM0LDUw
Mykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMzQsNTA2KSBzaXplIDV4MTEgY2xpcCBh
dCAoMTM0LDUwNikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMzQsNTA2KSBzaXplIDV4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBM30iCi1sYXllciBhdCAoMTk1LDM3Mykgc2l6
ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxOTUsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMTk1
LDM3Mikgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxOTUsMzcyKSBzaXplIDV4MTAKK2xheWVy
IGF0ICgxOTUsMzczKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE5NSwzNzIpIHNpemUg
NXgxMCBjbGlwIGF0ICgxOTUsMzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE5NSwzNzIp
IHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAo
MCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwog
ICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0E0fSIKLWxheWVyIGF0ICgx
OTUsNTAzKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE5NSw1MDYpIHNpemUgNXgxMSBj
bGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE5NSw1MDYpIHNpemUg
NXgxMQorbGF5ZXIgYXQgKDE5NSw1MDMpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTk1
LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQgKDE5NSw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBh
dCAoMTk1LDUwNikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykg
c2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTZ9Igot
bGF5ZXIgYXQgKDIwNywzNzMpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjA3LDM3Mikg
c2l6ZSA1eDEwIGNsaXAgYXQgKDIwNywzNzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjA3
LDM3Mikgc2l6ZSA1eDEwCitsYXllciBhdCAoMjA3LDM3Mykgc2l6ZSA1eDExIGJhY2tncm91bmRD
bGlwIGF0ICgyMDcsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMjA3LDM3Mikgc2l6ZSA1eDEwIG91
dGxpbmVDbGlwIGF0ICgyMDcsMzcyKSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjM5Qn0iCi1sYXllciBhdCAoMjA3LDUwMykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgyMDcsNTA2KSBzaXplIDV4MTEgY2xpcCBhdCAoMjA3LDUwNikgc2l6ZSA1eDExIG91dGxpbmVD
bGlwIGF0ICgyMDcsNTA2KSBzaXplIDV4MTEKK2xheWVyIGF0ICgyMDcsNTAzKSBzaXplIDV4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDIwNyw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgyMDcsNTA2KSBz
aXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDIwNyw1MDYpIHNpemUgNXgxMQogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICgyNjgsMzczKSBzaXplIDV4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgxMCBjbGlwIGF0ICgyNjgsMzcyKSBzaXplIDV4
MTAgb3V0bGluZUNsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDI2OCwzNzMp
IHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjY4LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQg
KDI2OCwzNzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjY4LDM3Mikgc2l6ZSA1eDEwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5ZXIgYXQgKDI2OCw1MDMpIHNpemUg
NXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjY4LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQgKDI2OCw1
MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMjY4LDUwNikgc2l6ZSA1eDExCitsYXllciBh
dCAoMjY4LDUwMykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNjgsNTA2KSBzaXplIDV4
MTEgY2xpcCBhdCAoMjY4LDUwNikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyNjgsNTA2KSBz
aXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMH0iCi1sYXllciBhdCAoMjgw
LDM3Mykgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyODAsMzcyKSBzaXplIDh4MTAgY2xp
cCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgyODAsMzcyKSBzaXplIDh4
MTAKK2xheWVyIGF0ICgyODAsMzczKSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI4MCwz
NzIpIHNpemUgOHgxMCBjbGlwIGF0ICgyODAsMzcyKSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQg
KDI4MCwzNzIpIHNpemUgOHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxh
eWVyIGF0ICgyODAsNTAzKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI4MCw1MDYpIHNp
emUgOHgxMSBjbGlwIGF0ICgyODAsNTA2KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDI4MCw1
MDYpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDI4MCw1MDMpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjgwLDUwNikgc2l6ZSA4eDExIGNsaXAgYXQgKDI4MCw1MDYpIHNpemUgOHgxMSBvdXRs
aW5lQ2xpcCBhdCAoMjgwLDUwNikgc2l6ZSA4eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4
ezIzRDB9IgotbGF5ZXIgYXQgKDM0NCwzNzMpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MzQ0LDM3Mikgc2l6ZSA4eDEwIGNsaXAgYXQgKDM0NCwzNzIpIHNpemUgOHgxMCBvdXRsaW5lQ2xp
cCBhdCAoMzQ0LDM3Mikgc2l6ZSA4eDEwCitsYXllciBhdCAoMzQ0LDM3Mykgc2l6ZSA4eDExIGJh
Y2tncm91bmRDbGlwIGF0ICgzNDQsMzcyKSBzaXplIDh4MTAgY2xpcCBhdCAoMzQ0LDM3Mikgc2l6
ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgzNDQsMzcyKSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3
aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzQ0LDUwMykgc2l6ZSA4eDE0IGJhY2tncm91
bmRDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEgY2xpcCBhdCAoMzQ0LDUwNikgc2l6ZSA4eDEx
IG91dGxpbmVDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEKK2xheWVyIGF0ICgzNDQsNTAzKSBz
aXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDM0NCw1MDYpIHNpemUgOHgxMSBjbGlwIGF0ICgz
NDQsNTA2KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDM0NCw1MDYpIHNpemUgOHgxMQogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgzNTksMzczKSBzaXplIDEw
eDE0IGJhY2tncm91bmRDbGlwIGF0ICgzNTksMzcyKSBzaXplIDEweDEwIGNsaXAgYXQgKDM1OSwz
NzIpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDM1OSwzNzIpIHNpemUgMTB4MTAKK2xheWVy
IGF0ICgzNTksMzczKSBzaXplIDEweDExIGJhY2tncm91bmRDbGlwIGF0ICgzNTksMzcyKSBzaXpl
IDEweDEwIGNsaXAgYXQgKDM1OSwzNzIpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDM1OSwz
NzIpIHNpemUgMTB4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30g
YXQgKDAsMCkgc2l6ZSAxMHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAx
MHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjMyMH0iCi1sYXll
ciBhdCAoMzU5LDUwMykgc2l6ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzU5LDUwNikgc2l6
ZSAxMHgxMSBjbGlwIGF0ICgzNTksNTA2KSBzaXplIDEweDExIG91dGxpbmVDbGlwIGF0ICgzNTks
NTA2KSBzaXplIDEweDExCitsYXllciBhdCAoMzU5LDUwMykgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMSBjbGlwIGF0ICgzNTksNTA2KSBzaXplIDEweDEx
IG91dGxpbmVDbGlwIGF0ICgzNTksNTA2KSBzaXplIDEweDExCiAgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0
aCAxMDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDksNTUwKSBzaXplIDV4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDksNTQ5KSBzaXplIDV4MTAgY2xpcCBhdCAoOSw1NDkpIHNpemUgNXgxMCBvdXRsaW5l
Q2xpcCBhdCAoOSw1NDkpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDksNTUwKSBzaXplIDV4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAgY2xpcCBhdCAoOSw1NDkpIHNpemUgNXgx
MCBvdXRsaW5lQ2xpcCBhdCAoOSw1NDkpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6
ICJceHsyMzlCfSIKLWxheWVyIGF0ICg5LDU4NCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0
ICg5LDU4Nykgc2l6ZSA1eDExIGNsaXAgYXQgKDksNTg3KSBzaXplIDV4MTEgb3V0bGluZUNsaXAg
YXQgKDksNTg3KSBzaXplIDV4MTEKK2xheWVyIGF0ICg5LDU4NCkgc2l6ZSA1eDExIGJhY2tncm91
bmRDbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExIGNsaXAgYXQgKDksNTg3KSBzaXplIDV4MTEgb3V0
bGluZUNsaXAgYXQgKDksNTg3KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7
MjM5RH0iCi1sYXllciBhdCAoMTU3LDU1MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgx
NTcsNTQ5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU3LDU0OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlw
IGF0ICgxNTcsNTQ5KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxNTcsNTUwKSBzaXplIDV4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDE1Nyw1NDkpIHNpemUgNXgxMCBjbGlwIGF0ICgxNTcsNTQ5KSBzaXpl
IDV4MTAgb3V0bGluZUNsaXAgYXQgKDE1Nyw1NDkpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJU
ZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICgxNTcsNTg0KSBzaXplIDV4MTQgYmFja2dyb3Vu
ZENsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTcsNTg3KSBzaXplIDV4MTEg
b3V0bGluZUNsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE1Nyw1ODQpIHNp
emUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTU3LDU4Nykgc2l6ZSA1eDExIGNsaXAgYXQgKDE1
Nyw1ODcpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTU3LDU4Nykgc2l6ZSA1eDExCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTB9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3ByaW50aW5nL3JldHVybi1mcm9tLXByaW50aW5nLW1vZGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wcmludGluZy9yZXR1cm4tZnJvbS1w
cmludGluZy1tb2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcmV0dXJuLWZyb20tcHJpbnRpbmctbW9kZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDE2NTZ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDE2NTZ4NDgKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ4CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg0OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDE2KSBzaXplIDc4NHgxNgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
Nzg0eDE2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9hbHRnbHlw
aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vYWx0Z2x5cGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2FsdGdseXBoLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge2h0bWx9
IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBz
aXplIDc4NHg1NjUKICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgzNgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vZ2V0c2NyZWVuY3RtLWlu
LW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0bS1pbi1taXhlZC1jb250ZW50LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9nZXRzY3JlZW5jdG0taW4tbWl4ZWQtY29udGVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEzLDcgKzEzLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTIKICAg
ICAgIFJlbmRlckJSIHticn0gYXQgKDUwNywwKSBzaXplIDB4MTgKICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSAzMTV4MTgKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDMxNTogIklmIHRoZSB0ZXN0IHBhc3NlcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJl
Y3RhbmdsZS4iCi1sYXllciBhdCAoMzAsMTAwKSBzaXplIDQwMHgyMDQKK2xheWVyIGF0ICgzMCwx
MDApIHNpemUgNDAweDIwMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge2Rpdn0gYXQgKDMw
LDEwMCkgc2l6ZSA0MDB4MjAwCiAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMzAsMTAwKSBz
aXplIDQwMHgyMDAKICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzMCwxMDApIHNpemUg
NDAweDIwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5
PTAuMDBdIFt3aWR0aD0yMDAuMDBdIFtoZWlnaHQ9MTAwLjAwXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0aC1iYWQtZGF0YS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcGF0aC1iYWQtZGF0
YS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vcGF0aC1iYWQtZGF0YS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg3NzgKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDc3OAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4Nzc4CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBz
aXplIDc4NXg3NzgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3Njl4NzU0
CiAgICAgICBSZW5kZXJCbG9jayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwwKSBzaXplIDczN3gxMzQg
W2JnY29sb3I9I0ZGRERERF0gW2JvcmRlcjogKDJweCBzb2xpZCAjQ0M3Nzc3KV0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJlZGRlZC1zdmct
ZmlsZS1pbWFnZS1yZXBhaW50LXByb2JsZW0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJlZGRlZC1zdmct
ZmlsZS1pbWFnZS1yZXBhaW50LXByb2JsZW0tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJlZGRl
ZC1zdmctZmlsZS1pbWFnZS1yZXBhaW50LXByb2JsZW0tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDI2eDEwMTQKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTAyNngx
MDE0CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMDE0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXgxMDE0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNp
emUgNzY5eDk5NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2LDApIHNpemUgNzM3eDYw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4t
aHRtbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1o
dG1sLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXllciBh
dCAoMTczLDMyKSBzaXplIDQ1M3g0NTMKICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAweDAKICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQ1M3gwCiAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTcz
LDQ3KSBzaXplIDQ1M3gxODkKK2xheWVyIGF0ICgxNzMsNDcpIHNpemUgNDUzeDE4OAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0gxfSBhdCAoMCwxNSkgc2l6ZSA0NTN4MTg4IFtjb2xvcj0j
REQ5OTU1XQogICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzNDB4MTkwCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYzLC0xKSBzaXplIDM0MHgxOTAKQEAgLTgwLDcg
KzgwLDcgQEAgbGF5ZXIgYXQgKDE3MywzNTEpIHNpemUgNDUzeDEzNAogICAgICAgICAgIHRleHQg
cnVuIGF0ICgxMSw5OCkgd2lkdGggNDMxOiAiTGVhcm4gdG8gdXNlIHRoZSAoeWV0IHRvIGJlKSB0
aW1lLWhvbm9yZWQgdGVjaG5pcXVlcyBpbiBuZXciCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEx
LDExMikgd2lkdGggMzUwOiAiYW5kIGludmlnb3JhdGluZyBmYXNoaW9uLiBCZWNvbWUgb25lIHdp
dGggdGhlIHdlYi4iCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1s
YXllciBhdCAoMzIyLDIzNikgc2l6ZSAzMDR4ODIKK2xheWVyIGF0ICgzMjIsMjM2KSBzaXplIDMw
NHg4MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0gzfSBhdCAoMTQ5LC0xMTUpIHNpemUg
MzA0eDgwIFtjb2xvcj0jQ0NDQzc3XSBbYmdjb2xvcj0jODg4ODExXSBbYm9yZGVyOiAoM3B4IHNv
bGlkICM4ODg4MTEpIG5vbmUgKDNweCBzb2xpZCAjODg4ODExKV0KICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMjc3eDgzCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDQ0LC0xKSBzaXplIDI3N3g4MwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdM
aXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg2MjAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUg
ODA4eDYyMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjIwCiAgIFJlbmRlckJsb2NrIHtodG1s
fSBhdCAoMCwwKSBzaXplIDc4NXg2MjAKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCw4KSBz
aXplIDc2OXg2MDQKICAgICAgIFJlbmRlclNWR1Jvb3Qge3N2Zzpzdmd9IGF0ICgyMDgsMTQpIHNp
emUgMTY2eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL292ZXJmbG93L292
ZXJmbG93LW9uLW91dGVybW9zdC1zdmctZWxlbWVudC1pbi14aHRtbC1kZWZhdWx0cy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9vdmVyZmxv
dy9vdmVyZmxvdy1vbi1vdXRlcm1vc3Qtc3ZnLWVsZW1lbnQtaW4teGh0bWwtZGVmYXVsdHMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvb3ZlcmZsb3cvb3ZlcmZsb3ctb24tb3V0ZXJtb3N0LXN2Zy1lbGVtZW50LWluLXhodG1sLWRl
ZmF1bHRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwNAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjA0CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2
MDQKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgNzg1eDYwNAogICAgIFJlbmRl
cklubGluZSB7Ym9keX0gYXQgKDAsMCkgc2l6ZSA4MDB4MTgKICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy90ZXh0L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlwcGluZy1idWctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC9mb3JlaWduT2JqZWN0
LXRleHQtY2xpcHBpbmctYnVnLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvZm9yZWlnbk9iamVjdC10ZXh0LWNsaXBwaW5n
LWJ1Zy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE0LDcgKzE0LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MjkyCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDI0eDEzCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMjQ6ICJURVNUIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLWxheWVyIGF0ICgxOCwxODIpIHNpemUgMzkweDExNQorbGF5ZXIgYXQgKDE4LDE4Mikgc2l6
ZSAzOTB4MTEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7ZGl2fSBhdCAo
MCwxNjIpIHNpemUgMzkweDExMCBbY29sb3I9IzAwMDA4MF0gW2JnY29sb3I9I0QzRDNEM10KICAg
ICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoMCwwKSBzaXplIDM5MHgxMTUKICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzOXgxMTUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvdGV4dC9rZXJuaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQva2VybmluZy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L2tlcm5pbmct
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXll
ciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBS
ZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7
Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDQxNQogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgw
LDApIHNpemUgNzg0eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQv
bXVsdGljaGFyLWdseXBoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL3RleHQvbXVsdGljaGFyLWdseXBoLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvbXVsdGljaGFy
LWdseXBoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRl
ckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHg1NjUKICAgICAgIFJlbmRlckJsb2NrIHtw
fSBhdCAoMCwwKSBzaXplIDc4NHgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy90cmFuc2Zvcm1zL2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdHJhbnNm
b3Jtcy9hbmltYXRlZC1wYXRoLWluc2lkZS10cmFuc2Zvcm1lZC1odG1sLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RyYW5zZm9y
bXMvYW5pbWF0ZWQtcGF0aC1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUzNgog
ICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU3M3gxOAogICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDU3MzogIkNTUyBUcmFuc2Zvcm1lZCBIVE1MIGRpdiB3aXRoIFNWRyBpbnNp
ZGUgaXQuIEFuaW1hdGVkIFNWRyBzaG91bGQgcmVwYWludCBjb3JyZWN0bHkuIgotbGF5ZXIgYXQg
KDU4LDg0KSBzaXplIDQwMng0MDUKK2xheWVyIGF0ICg1OCw4NCkgc2l6ZSA0MDJ4NDAyCiAgIFJl
bmRlckJsb2NrIHtkaXZ9IGF0ICg1MCw2OCkgc2l6ZSA0MDJ4NDAyIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCiAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMTQ4LDE0NCkgc2l6ZSAz
NTh4NDE5CiAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzU1LDE4Nykgc2l6ZSAxMTV4
MTE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGQzBDQl0gW3N0cm9rZSB3aWR0aD01
LjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW3g9MzAwLjAwXSBb
eT0wLjAwXSBbd2lkdGg9MTAwLjAwXSBbaGVpZ2h0PTEwMC4wMF0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi1pbnNpZGUtdHJh
bnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy90cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLWluc2lkZS10cmFuc2Zv
cm1lZC1odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4taW5zaWRlLXRyYW5z
Zm9ybWVkLWh0bWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg1MzYKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTUweDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzE4
OiAiQ1NTIFRyYW5zZm9ybWVkIEhUTUwgZGl2IHdpdGggU1ZHIGluc2lkZSBpdC4gIgogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzMTgsMCkgd2lkdGggMjMyOiAib2JqZWN0Qm91bmRpbmdCb3ggcGF0
dGVybnMgb24gdGV4dC4iCi1sYXllciBhdCAoNTgsODQpIHNpemUgNDAyeDQwNQorbGF5ZXIgYXQg
KDU4LDg0KSBzaXplIDQwMng0MDIKICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDUwLDY4KSBzaXpl
IDQwMng0MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJTVkdSb290
IHtzdmd9IGF0ICg0OSwxMDUpIHNpemUgNDgweDQyMAogICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VQ
YXR0ZXJuIHtwYXR0ZXJufSBbaWQ9InBhdDEiXSBbcGF0dGVyblVuaXRzPW9iamVjdEJvdW5kaW5n
Qm94XSBbcGF0dGVybkNvbnRlbnRVbml0cz11c2VyU3BhY2VPblVzZV0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvem9vbS90ZXh0L3pvb20taGl4aWUtbWl4ZWQtMDA5LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3pvb20v
dGV4dC96b29tLWhpeGllLW1peGVkLTAwOS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy96b29tL3RleHQvem9vbS1oaXhpZS1taXhl
ZC0wMDktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNDgKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDMx
MgogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzEyCiAgICAgUmVuZGVy
Qm9keSB7Ym9keX0gYXQgKDgsMTApIHNpemUgNzg0eDI5MgogICAgICAgUmVuZGVyQmxvY2sge3B9
IGF0ICgwLDApIHNpemUgNzg0eDI2IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNjI1LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9i
dWc2MjUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzYyNS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMTJ4NTg1CiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMTJ4
NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwwKSBzaXplIDEwMDR4NCBbYm9y
ZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNTc5Ny1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNTc5Ny1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL2J1Z3MvYnVnNTc5Ny1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDg2Nng5OTAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODY2eDk5MAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4OTkwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDc4NXg5OTAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg5NzQKICAg
ICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA3Njl4MjggW2JvcmRlcjogKDFw
eCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVz
L21vemlsbGEvYnVncy9idWcyMzE1MS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMjMxNTEtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzIzMTUxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTI2NHg1ODUKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTI2NHg1ODUKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAg
ICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTI1NngzNCBbYmdjb2xvcj0jRkZG
RkZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3Mv
YnVnMjkzMTQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzI5MzE0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9i
dWcyOTMxNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDEwMDl4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDl4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUg
e1RBQkxFfSBhdCAoMCwwKSBzaXplIDEwMDF4MjI2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0MzAzOS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDMw
MzktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzQzMDM5LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTY0Njh4NTg1CiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE2NDY4
eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1NjkKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAxNjQ2MHgx
MDgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1
ZzQzODU0LTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzQzODU0LTEtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdz
L2J1ZzQzODU0LTEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA5NDJ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk0Mng1ODUKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1IFtjb2xvcj0jRkZGRjAwXSBb
Ymdjb2xvcj0jMDAwMDAwXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0MCw0MCkgc2l6ZSA3
MjB4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdz
L2J1ZzQ1MDU1LTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzQ1MDU1LTItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9i
dWdzL2J1ZzQ1MDU1LTItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzYKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgwIFtiZ2NvbG9yPSNGRkZGRkZdCiAg
ICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgODZ4MTIzCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc3MjM1OS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3pp
bGxhL2J1Z3MvYnVnNzIzNTktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzcyMzU5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sg
e2h0bWx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCw4
KSBzaXplIDc4NHgwCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtmbG9hdH0gYXQgKDAs
MCkgc2l6ZSAxNTd4NTQgW2JnY29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzgzNzg2LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc4
Mzc4Ni1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnODM3ODYtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDEzNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MTM2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4MTM2Ci1s
YXllciBhdCAoMCwwKSBzaXplIDI2NngxMzYgY2xpcCBhdCAoMywzKSBzaXplIDI2MHgxMzAgc2Ny
b2xsV2lkdGggMzI0IHNjcm9sbEhlaWdodCAxNDQKK2xheWVyIGF0ICgwLDApIHNpemUgMjY2eDEz
NiBjbGlwIGF0ICgzLDMpIHNpemUgMjYweDEzMCBzY3JvbGxIZWlnaHQgMTQ0CiAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjY2eDEzNiBbYm9yZGVyOiAoM3B4IHNvbGlkICMwMDgw
MDApXQogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDE2LDMpIHNpemUgNjR4MTQzCiAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDY0eDE0MwpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTIxNDMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzkyMTQzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc5MjE0My1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDI0MTB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBh
dCAoMCwwKSBzaXplIDI0MTB4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYS9idWdzL2J1Zzk2MzM0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc5NjMzNC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhL2J1Z3MvYnVnOTYzMzQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5OTl4NTg1CiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk5OXg1ODUKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAg
ICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgOTkxeDE0NyBbYm9yZGVyOiAoMnB4
IHNvbGlkICMwMDAwRkYpXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhL2J1Z3MvYnVnMTIwMzY0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxMjAzNjQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzEyMDM2NC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxODEzCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgxODEzCitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDU4NAogICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjF4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEzMTAyMC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMTMxMDIwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCww
KSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNp
emUgODAweDU2OSBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzE5Njg3MC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMTk2ODcwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxOTY4NzAtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHg5MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDcKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDQ3CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4MzEKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAx
MzB4MzEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9jb3Jl
L25lc3RlZDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9jb3JlL25lc3RlZDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9jb3JlL25l
c3RlZDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4
NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFC
TEV9IGF0ICgwLDApIHNpemUgMTkzeDM0IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL21hcnZpbi9iYWNr
Z3JfaW5kZXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4vYmFja2dyX2luZGV4LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
bWFydmluL2JhY2tncl9pbmRleC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgyN3gxNzQ0CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgyN3gxNzQ0CitsYXllciBhdCAo
MCwwKSBzaXplIDc4NXgxNzQ0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXgxNzQ0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTcpIHNpemUgNzY5eDE3MTQgW2Nv
bG9yPSMwMEZGMDBdIFtiZ2NvbG9yPSMzMzMzMzNdCiAgICAgICBSZW5kZXJCbG9jayB7SDF9IGF0
ICgwLDApIHNpemUgNzY5eDMwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVz
L21vemlsbGEvbWFydmluL3hfdGFibGVfYWxpZ25fbGVmdC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL21hcnZpbi94X3Rh
YmxlX2FsaWduX2xlZnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90YWJsZV9hbGlnbl9sZWZ0
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzYKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtib2R5
fSBhdCAoOCw4KSBzaXplIDc4NHgwCiAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDAp
IHNpemUgMjg4eDI4IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX3Jp
Z2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dGFibGVzL21vemlsbGEvbWFydmluL3hfdGFibGVfYWxpZ25fcmlnaHQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YS9tYXJ2aW4veF90YWJsZV9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDM2CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXpl
IDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAg
UmVuZGVyVGFibGUge3RhYmxlfSBhdCAoNDg3LDApIHNpemUgMjk3eDI4IFtib3JkZXI6ICgxcHgg
b3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhL21hcnZpbi94X3RkX25vd3JhcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL21hcnZpbi94X3RkX25vd3JhcC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhL21hcnZpbi94X3RkX25vd3JhcC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDkwOHg1ODUKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTA4eDY4
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2OAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCw4KSBzaXplIDc4NHg1
MgogICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCwwKSBzaXplIDkwMHg1MiBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90aF9ub3dyYXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90aF9u
b3dyYXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90aF9ub3dyYXAtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MzJ4NTg1
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXpl
IDkzMng2OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgUmVuZGVyQmxvY2sge2h0bWx9
IGF0ICgwLDApIHNpemUgODAweDY4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6
ZSA3ODR4NTIKICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMCkgc2l6ZSA5MjR4NTIg
W2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcyNDc5LTUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzI0NzktNS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMjQ3OS01LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw0ICsxLDQgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDE0MTUKK2xheWVy
IGF0ICgwLDApIHNpemUgNzg1eDE0MDcKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2
MDAKIGxheWVyIGF0ICg4LDgpIHNpemUgNzY5eDEzOTkKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICg4LDgpIHNpemUgNzY5eDEzOTkgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDE2cHggc29s
aWQgIzAwRkYwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemls
bGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWc2NzkxNS0yLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvYnVncy9idWc2NzkxNS0yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvYnVncy9idWc2NzkxNS0yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTQ4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5NDh4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVu
ZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDk0MHgyOCBbYm9yZGVyOiAoMXB4IG91dHNl
dCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1Zzg1MDE2LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvYnVncy9idWc4NTAxNi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1
Z3MvYnVnODUwMTYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA5ODJ4MzA0MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5ODJ4MzA0MAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4MzA0MAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MzA0MAog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgzMiwzMikgc2l6ZSA3MjF4Mjk3NgogICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDMyLDApIHNpemUgNjU3eDY2OCBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDgwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMjIwNjUzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvYnVncy9idWcyMjA2NTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9i
dWdzL2J1ZzIyMDY1My1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlclRh
YmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA4MDB4MzYgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgw
ODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvbWFydmluL2JhY2tncl9maXhlZC1iZy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVk
X2ZhaWx1cmVzL21hcnZpbi9iYWNrZ3JfZml4ZWQtYmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3Rl
ZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2ZpeGVkLWJnLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTU0NHgxNjczCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE1NDR4
MTY3MworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTY3MwogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA3ODV4MTY3MwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE3KSBz
aXplIDc2OXgxNjQzIFtjb2xvcj0jMDBGRjAwXSBbYmdjb2xvcj0jMzMzMzMzXQogICAgICAgUmVu
ZGVyQmxvY2sge0gxfSBhdCAoMCwwKSBzaXplIDc2OXgzMApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19jYXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxl
X292ZXJmbG93X2NhcHRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2
aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQxMQorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMjIKICAg
ICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTIyIFtib3JkZXI6ICgx
cHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19jYXB0aW9u
X2JvdHRvbS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19jYXB0aW9uX2JvdHRvbS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19jYXB0aW9uX2JvdHRvbS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDUyMQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgx
MjIKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTIyIFtib3Jk
ZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19j
YXB0aW9uX2xlZnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfY2FwdGlvbl9sZWZ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X2NhcHRpb25fbGVmdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQxMQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgx
MjIKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTIyIFtib3Jk
ZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19j
YXB0aW9uX3JpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X2NhcHRpb25fcmlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9t
YXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl9yaWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQx
MQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHgxMjIKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTIyIFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19jYXB0aW9uX3RvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19jYXB0aW9uX3RvcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19jYXB0aW9uX3RvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQxMQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgx
MjIKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTIyIFtib3Jk
ZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19k
aXJ0eV9yZWZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfZGlydHlfcmVmbG93LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDMwOAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTE2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgx
MDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTAwIFtiZ2Nv
bG9yPSMwMDAwRkZdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemls
bGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd19y
b3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGly
dHlfcmVmbG93X3Jvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfcm93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYxMgogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjEyCits
YXllciBhdCAoMCwwKSBzaXplIDc4NXg0MTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDQxNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDQw
MAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIyOXg0MDAgW2JvcmRl
cjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2Rp
cnR5X3JlZmxvd190YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3RhYmxlLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTc4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNTYKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM1NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDM0MAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBz
aXplIDIwMHgzNDAgW2JnY29sb3I9IzAwMDBGRl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfZGlydHlfcmVmbG93X3Rib2R5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmlu
L3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd190Ym9keS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfdGJvZHktZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4NzI4CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDc4NXg3MjgKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDUzMgogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NTMyCiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3Njl4NTE2CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgMjI5eDUxNiBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9t
YXJ2aW4vdGFibGVfb3ZlcmZsb3dfaGlkZGVuX3RyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2hpZGRlbl90ci1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19oaWRkZW5fdHItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg1MTYKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDM4CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzOAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjJ4
MjIgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X3N0eWxlX3JlZmxvd19jZWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19jZWxsLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19jZWxsLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NTQ5CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzOTcKICAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM5NwogICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDM4MQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAo
MCwwKSBzaXplIDIwMHgzODEgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
bWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19jZWxsX3NpYmxpbmctZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X2Nl
bGxfc2libGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbF9zaWJsaW5nLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NTk3CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDM4NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDM3MAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHgzNzAg
W2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJm
bG93X3N0eWxlX3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Jvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVk
X2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTk3CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM4NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDM3MAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBz
aXplIDIwMHgzNzAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmlu
L3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19yb3dfc2libGluZy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93X3NpYmxp
bmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfc3R5bGVfcmVmbG93X3Jvd19zaWJsaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY4NQogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4Njg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDc4NXg0NzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgNzg1eDQ3NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDQ1OAog
ICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHg0NTggW2JvcmRlcjog
KDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxl
X3JlZmxvd190YWJsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWls
dXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NDA0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNjMKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDE2MwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDE0NwogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDIwMHgxNDcgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3Rh
YmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190YWJsZV9jYXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190YWJsZV9jYXB0
aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJm
bG93X3N0eWxlX3JlZmxvd190YWJsZV9jYXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDQ1Cits
YXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDIzNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDIx
OAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHgyMTggW2JvcmRl
cjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0
eWxlX3JlZmxvd190Ym9keS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJvZHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Rib2R5LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTk3CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM4NgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDM3MAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBz
aXplIDIwMHgzNzAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmlu
L3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keV9zaWJsaW5nLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keV9z
aWJsaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keV9zaWJsaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcyNAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzI0
CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg1MTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDUxMwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5
eDQ5NwogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHg0OTcgW2Jv
cmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93
X3RkX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxl
X292ZXJmbG93X3RkX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NDYwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDEyNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDExMAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHgx
MTAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X3RkX3ZhbGlnbl9ib3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2
aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX2JvdHRvbS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25fYm90dG9tLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NTA0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDEyNgogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDExMAogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCww
KSBzaXplIDIwMHgxMTAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9taWRkbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX21pZGRsZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25f
bWlkZGxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDYwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgx
MjYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDEyNgogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDExMAogICAgICAgUmVuZGVyVGFibGUge1RB
QkxFfSBhdCAoMCwwKSBzaXplIDIwMHgxMTAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCld
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl90b3AtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX3RvcC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92
YWxpZ25fdG9wLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDE2CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgxMjYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDEyNgogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDExMAogICAgICAgUmVuZGVyVGFibGUg
e1RBQkxFfSBhdCAoMCwwKSBzaXplIDIwMHgxMTAgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4
MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy9zdmctdnMtY3Nz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy9zdmctdnMtY3NzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy9zdmctdnMtY3NzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
NzgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTZ4MjgKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNjogIkNTU01hdHJpeCIKICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDI4LDg0KSBz
aXplIDIwMXgyMDUKK2xheWVyIGF0ICgyOCw4NCkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMTAsNjYpIHNpemUgMjAweDIwMCBbYmdj
b2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlclNW
R1Jvb3Qge3N2Z30gYXQgKDI5LDEwOCkgc2l6ZSAxOTZ4MTc0CiAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgyOSwxMDgpIHNpemUgMTk2eDE3NCBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSg3NS4wMCwyNS4wMCl9XQpAQCAtNDYsNyArNDYsNyBAQCBsYXll
ciBhdCAoMzAsMzUyKSBzaXplIDYweDYwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7ZGl2
fSBhdCAoMSwxKSBzaXplIDYweDYwIFtib3JkZXI6ICgxcHggZG90dGVkICMwMDAwMDApXQogbGF5
ZXIgYXQgKDMxLDM1Mykgc2l6ZSA2MHg2MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge2Rp
dn0gYXQgKDEsMSkgc2l6ZSA2MHg2MCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYpXQotbGF5
ZXIgYXQgKDI3Miw4NCkgc2l6ZSAyMDF4MjA1CitsYXllciBhdCAoMjcyLDg0KSBzaXplIDIwMHgy
MDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtkaXZ9IGF0ICgxMCw2Nikg
c2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAw
MCldCiAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMjczLDEwOCkgc2l6ZSAxNjJ4MTc0CiAg
ICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjczLDEwNykgc2l6ZSAxNjN4MTc2IFt0cmFu
c2Zvcm09e209KCgxLjQxLDEuNDEpKC0xLjQxLDEuNDEpKSB0PSg3NS4wMCwyNS4wMCl9XSBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dp
ZHRoPTYwLjAwXSBbaGVpZ2h0PTYwLjAwXQpAQCAtNTUsNyArNTUsNyBAQCBsYXllciBhdCAoMjcy
LDM1MCkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
ZGl2fSBhdCAoMTAsMzMyKSBzaXplIDIwMHgyMDAgW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICgyNzMsMzUxKSBzaXplIDYweDYwCiAgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMSwxKSBzaXplIDYweDYwIFtib3JkZXI6
ICgxcHggc29saWQgIzAwMDBGRildCi1sYXllciBhdCAoNTE2LDg0KSBzaXplIDIwMXgyMDUKK2xh
eWVyIGF0ICg1MTYsODQpIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge2Rpdn0gYXQgKDEwLDY2KSBzaXplIDIwMHgyMDAgW2JnY29sb3I9I0MwQzBDMF0g
W2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0
ICg1MTcsMTA4KSBzaXplIDE2MngxNzQKICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICg1
MTcsMTA3KSBzaXplIDE2M3gxNzYgW3RyYW5zZm9ybT17bT0oKDEuNDEsMS40MSkoLTEuNDEsMS40
MSkpIHQ9KDc1LjAwLDI1LjAwKX1dIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBG
Rl19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9NjAuMDBdIFtoZWlnaHQ9NjAuMDBdCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNk
LXBvaW50LW1hcHBpbmctMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5n
LTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy0yLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBsYXllciBhdCAoMzUxLDg1
KSBzaXplIDkweDkwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwxKSBzaXplIDkweDkwIFti
Z2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAo
NTM0LDQyKSBzaXplIDE0MHgxNDAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXpl
IDE0MHgxNDAgW2JnY29sb3I9I0RERERERF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
LWxheWVyIGF0ICg1NTUsNjMpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDU1NSw2Mykgc2l6ZSAx
MDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEs
MjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jODFBQThBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFti
Z2NvbG9yPSNERERERERdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAo
NTk3LDg1KSBzaXplIDkweDkwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNm
b3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1h
cHBpbmcvM2QtcG9pbnQtbWFwcGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1w
b2ludC1tYXBwaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNyBA
QCBsYXllciBhdCAoNjMsNjMpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFB
QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICgyODgsNDIpIHNpemUg
MTQweDE0MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdj
b2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDMw
OSw2Mykgc2l6ZSAxMjF4MTIxCitsYXllciBhdCAoMzA5LDYzKSBzaXplIDEwMHgxMDAKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4
MTAwIFtiZ2NvbG9yPSNBQUFBQUFdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwMDBG
Rl0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICg0MiwyODgpIHNpemUg
MTQweDE0MApAQCAtNzEsNyArNzEsNyBAQCBsYXllciBhdCAoODQsMzMwKSBzaXplIDEwMHgxMDAK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6
ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CiBsYXllciBhdCAoMjg4LDI4OCkgc2l6ZSAxNDB4MTQwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgyMSwyMSkgc2l6ZSAxNDB4MTQwIFtiZ2NvbG9yPSNERERERERdIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCi1sYXllciBhdCAoMzA5LDMwOSkgc2l6ZSAxMjF4MTIxCitsYXllciBhdCAo
MzA5LDMwOSkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQUFBQUFBXSBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkg
c2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNDMEQ2OUVdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAw
MCldCiBsYXllciBhdCAoMzUxLDM1MSkgc2l6ZSAxMDB4MTAwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmct
b3JpZ2lucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLW9yaWdpbnMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1vcmlnaW5zLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNyBAQCBsYXllciBhdCAoNjMs
NjMpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFBQV0gW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICgyODgsNDIpIHNpemUgMTQweDE0MAogICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMjF4
MTIxCitsYXllciBhdCAoMzA5LDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNB
QUFBQUFdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzAwMDBGRl0gW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICg0MiwyODgpIHNpemUgMTQweDE0MApAQCAtNzEs
NyArNzEsNyBAQCBsYXllciBhdCAoODQsMzMwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2Nv
bG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4
LDI4OCkgc2l6ZSAxNDB4MTQwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAx
NDB4MTQwIFtiZ2NvbG9yPSNERERERERdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCi1s
YXllciBhdCAoMzA5LDMwOSkgc2l6ZSAxMjF4MTIxCitsYXllciBhdCAoMzA5LDMwOSkgc2l6ZSAx
MDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEs
MjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQUFBQUFBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFti
Z2NvbG9yPSNDMEQ2OUVdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAo
MzUxLDM1MSkgc2l6ZSAxMDB4MTAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctcHJlc2VydmUtM2QtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zv
cm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1wcmVzZXJ2ZS0zZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5z
Zm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNkLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBsYXllciBhdCAoNjMsNjMp
IHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0g
YXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBz
b2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICgyODgsNDIpIHNpemUgMTQweDE0MAogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMTF4MTEx
CitsYXllciBhdCAoMzA5LDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSM4MUFB
OEFdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDIxLDIxKSBzaXplIDkweDkwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCiBsYXllciBhdCAoNTM0LDQyKSBzaXplIDE0MHgxNDAKQEAgLTExNyw3ICsx
MTcsNyBAQCBsYXllciBhdCAoMjg4LDI4OCkgc2l6ZSAxNDB4MTQwCiAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgyMSwyMSkgc2l6ZSAxNDB4MTQwIFtiZ2NvbG9yPSNERERERERdIFtib3JkZXI6ICgx
cHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMzA5LDMwOSkgc2l6ZSAxMDB4MTAwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAw
eDEwMCBbYmdjb2xvcj0jODFBQThBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5
ZXIgYXQgKDM1MCwzNTApIHNpemUgMTExeDExMQorbGF5ZXIgYXQgKDM1MCwzNTApIHNpemUgMTAw
eDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDQxLDQx
KSBzaXplIDEwMHgxMDAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgOTB4OTAgW2JnY29sb3I9IzAwMDBGRl0gW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMDAwKV0KIGxheWVyIGF0ICg1MzQsMjg4KSBzaXplIDE0MHgxNDAK
QEAgLTEyNiw2ICsxMjYsNiBAQCBsYXllciBhdCAoNTU1LDMwOSkgc2l6ZSAxMDB4MTAwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAw
eDEwMCBbYmdjb2xvcj0jODFBQThBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5
ZXIgYXQgKDU5NiwzNTApIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge0RJVn0gYXQgKDQxLDQxKSBzaXplIDEwMHgxMDAgW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDAwMDAwKV0KLWxheWVyIGF0ICg2MzcsMzkxKSBzaXplIDExMXgxMTEKK2xheWVyIGF0ICg2
MzcsMzkxKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICg0MSw0MSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNBQTc5OTRdIFtib3JkZXI6
ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBz
aXplIDkweDkwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtem9vbS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LXpvb20tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC16b29tLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDgpIHNpemUgNzg0eDAKIGxh
eWVyIGF0ICgwLDMwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtk
aXZ9IGF0ICgwLDMwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0ZGMDAwMF0KLWxheWVyIGF0ICgw
LDMwKSBzaXplIDIwMHgyMDUKK2xheWVyIGF0ICgwLDMwKSBzaXplIDIwMHgyMDAKICAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtkaXZ9IGF0ICgwLDMwKSBzaXplIDIwMHgyMDAKICAgICBSZW5k
ZXJTVkdSb290IHtzdmd9IGF0ICgwLDMwKSBzaXplIDEwMHgxMDAKICAgICAgIFJlbmRlclNWR1Bh
dGgge3JlY3R9IGF0ICgwLDMwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0wLjAwXSBbd2lkdGg9NTAuMDBdIFtoZWlnaHQ9NTAu
MDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxv
dy1ydGwtdmVydGljYWwtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC1leHBlY3RlZC5wbmcKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoK
CmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJK
UTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEy
L1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBG
S042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNm
RUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0ho
UDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lm
RUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZ
cUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtH
QVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStM
cUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VF
Q0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNK
TDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBO
WFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pF
MzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQ
aUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0
NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0
VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdw
bU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1
UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxF
UVZSNEFleWRDZHhWNC9iSFY0TWlWSEpOaVJ1Wkdzd2gzTWdzY3pKbFRMalh2M0ROcmpHWkxtNkdN
a1V5M3B2NUdoSkZFVEtICkZKbERwc3hFaXFMLytqNnY1MjJmL2U1enp0N243RE81YTMwKzV6M243
T0haei83dDgzNCs2L2VzOVZ1cjBRSTFNVE1FREFGRHdCQXcKQkF3QlE4QVFNQVFNQVVPZ0RBZzBM
c00xN0JLR2dDRmdDQmdDaG9BaFlBZ1lBb2FBSVdBSU9BU01nTmdQd1JBd0JBd0JROEFRTUFRTQpB
VVBBRURBRXlvYUFFWkN5UVcwWE1nUU1BVVBBRURBRURBRkR3QkF3QkF3Qkl5RDJHekFFREFGRHdC
QXdCQXdCUThBUU1BUU1nYkloCllBU2tiRkRiaFF3QlE4QVFNQVFNQVVQQUVEQUVEQUZEd0FpSS9R
WU1BVVBBRURBRURBRkR3QkF3QkF3QlE2QnNDQmdCS1J2VWRpRkQKd0JBd0JBd0JROEFRTUFRTUFV
UEFFUGhERTVBZmZ2aEJUanp4Uk5saGh4MWsyTEJoOXJRTkFVUEFFREFFREFGRHdCQXdCQXdCUTZE
QwpDUHloQ2NpU1N5NHBnd2NQZGdSa3lwUXBGWWJhTG04SUdBS0dnQ0ZnQ0JnQ2hvQWhZQWdZQWpW
UFFGNS8vZlc4VDNHUFBmYkllNHdkCllBZ1lBb2FBSVdBSUdBS0dnQ0ZnQ0JnQ3BVZWc1Z25JWlpk
ZEpyTm16Y3FKVk11V0xhVlJvMFk1ajdHZGhvQWhZQWdZQW9hQUlXQUkKR0FLR2dDRlFlZ1Jxbm9D
TUdERkNXcmR1TFlzdXVtaldWN3QyN1VxUHBGM0JFREFFREFGRHdCQXdCQXdCUThBUU1BVHlJdEEw
N3hGVgpma0NyVnExa3l5MjNsRFp0Mm1TZDZkeTVjN1B1c3gyR2dDRmdDQmdDaG9BaFlBZ1lBb2FB
SVZBK0JHcWVnSngxMWxseS9QSEg1MFRzCml5KytrRUdEQnVVOHhuWWFBb2FBSVdBSUdBS0dnQ0Zn
Q0JnQ2hrRHBFYWg1QW5MNDRZZm5SV25tekpsNWo3RUR5b0JBTGVwd0ZpekkKQk1idUlST1BjbjBM
UDRkeVhkZXVZd2dZQW9hQUlXQUlHQUtwSTFEekdoQUU1cm5zdmZmZWs5TlBQMTBXbUFPVEN5YmJa
d2dZQW9hQQpJV0FJR0FLR2dDRmdDSlFGZ1pxUGdPUkNpVWFFWThlT2xWNjlla21YTGwxeUhXcjdE
QUZEd0JBd0JBd0JROEFRTUFRTUFVT2dEQWpVCmZBVGtubnZ1eVFvVGpRajc5Ky92Q01nMzMzeVQ5
VGpiWVFnWUFvYUFJV0FJR0FLR2dDRmdDQmdDNVVHZ2thWW1oWkxjeTNQaHRLN1MKdEdsVFdXV1ZW
V1N4eFJiTE91VFhYMzh0UFh2MmxPdXZ2ejdyTWJhakRBaVlmcUlNSUVkY0l2d3Yva2Q0RGhHM2Fa
c01BVVBBRURBRQpEQUZEb0RZUXFQa1VyRFhYWEZOMjNIRkhhZEdpUlQzaTZENGdKaDA3ZHF6Zjlx
Yy8vYW4rczMwd0JBd0JROEFRTUFRTUFVUEFFREFFCkRJSEtJRkR6RVpESmt5ZkxldXV0MXdDOTNy
MTd5NTEzM2lsTm1qUnBzTTgyVkFpQlA4TEt1OTFEWlg0ODRTaE9aV1poVnpVRURBRkQKd0JBd0JB
eUJGQkNvZVExSXRnd3lJaURQUHZ0c0NoRFpFSWFBSVdBSUdBS0dnQ0ZnQ0JnQ2hvQWhrQllDTlI4
QjZkU3BrK3l3d3c3MQpHaEFJeWJ2dnZpdjMzWGVmdlBUU1M3TE9PdXVraFpXTlV5d0NGajBvRnNI
Q3pnOUhELzRJejZFd0pPd3NROEFRTUFRTUFVUEFFS2dDCkJGTFZnRkQybG83alU2ZE9kWlduamp6
eXlNUzNPSEhpUlBuTFgvNFMrN3gzM25sSGZ2dnR0M29Dd29rcnJiU1MzSGpqalVZK1lxTm8KQnhv
Q2hvQWhZQWdZQW9hQUlXQUlHQUxsUVNCVkFrTFoyOEdEQjh1bGwxNHFVNlpNeVhvSFJDbSsrKzQ3
K2ZISEgrWDc3NytYcjc3NgpTajc5OUZONTQ0MDM1SzY3N25MdmpXS3Uwdjczdi8rVlhYZmROZXUx
YkVjVklSQ3F0L2JUVHlJUFB5eXkvdm9pcTY1YU44K2ZmeFpwCjNqemRPZDkzMzcweWI5NDhhZE9t
amN5Wk04ZDk1dmUxNktLTFNyTm16V1NSUlJaeDcvNHp1cUZmZi8zVkhidFJhQ3F2S2JrTzJ0cHIK
cngzOFd2OTVqVFhXa0Z0dnZUV2pPRUw5VHYzUXBVdjBlY0ZqU3ZVNWZBOWdBdkZmYTYyMUhIbm51
ci84OG92REpOY2NrdDVEbXM4aAoxN3hzbnlGZ0NCZ0Nob0FoWUFoVU53S0pDY2pycjc4dW5UdDN6
bmxYZSt5eGh5TWkyUTc2V2IzTWdRTUh5dFZYWCsyaUYwc3Z2YlFzCnYvenkwcUZEQjlsLy8vMWwv
dno1emluTWRuNXdPK1FEc3ZQdmYvOWJQdjc0WTJuZnZyMGNmUERCenBrS0htZWZxdytCelRjWDBS
b0MKNnFUWEVaSE5OaE5aWmhuUjV5ZHk1WlhwelJjOTBKLy8vR2RYcnJseDQ4Yk91WWI4L3FRTWlP
OFFqK2JLZW5qbjVRbkk3Tm16ODA2Qwo5RDhhWFhyQ0RKbmh0OXkyYmR1YUtZQncwRUVIeVZ0dnZl
VUkyVFhYWE9PS09uVHYzbDEyMjIwM09mMzAwL05pRVBlQVVqNkh1SE93CjR3d0JROEFRTUFRTUFV
T2c4Z2drSmlDWFhYYVppM0MwYk5reTYrelo1eDJ5cUlOWWVSNDZkS2djZXVpaDhzQUREMGkvZnYz
cVYxNmoKanMrMWJkaXdZYTdaSU1SajIyMjNkY0p6bktsZGR0bkZqWi9yWE50WE9RUjAwVjIxT2lK
UFBDRktHa1ZPTzAwMDlVN2txYWRFSmt3UQorZXd6a1JWV1NHZCtFQXFJUnBCc0xMSEVFaTc2QmhH
Qk5MQVBCNWtYeC9QNzVUMmZRVUEyaDBtRjdMSEhIcE90dDk0NnRMWDZ2czZkCk8xZG16SmpoVWha
WFhIRkZHVEpraUd5d3dRWnl5eTIzeUlzdnZpaGZmdm1sa2tKbGhTbFlLWjlEQ3RPeklRd0JROEFR
TUFRTUFVT2cKVEFna0ppQWpSb3lRRzI2NElXOTZ4bUdISFpiM0Z0YlgzQnRLNk41MjIyMHVFa0ww
QTBjd3JwRW1jdXl4eDByZnZuM2wybXV2ZFk0awpHaFNpSzJ3ak9tTDlQK0tpV2Q3ajZCdTU5OTZp
enJ1b295OXl4aGtpNDhhSmJMKzk2RE1UZWZKSmtYMzNUV2RPRUF4UEtpQVduaHl6CnphZGZFUUho
NWNrSUtWaDh6MmY4MWlqM0RISHhScnJYYTYrOUp1UEhqNWZGRjEvY2I2N0tkeFlESUZIOEw0TEhY
Ly82VjNudXVlZGsKTXcxSHRXN2QyaFZ5b005T0dsYks1NURHL0d3TVE4QVFNQVFNQVVQQUVDZ1BB
Z3U5cHBqWGE5V3FsV3k1NVpZdW56N2JLYXlxNXJNdgp2dmhDVjdrL2s1a3paN3FjZk5Lb2lHWmNk
ZFZWc3U2NjYrWTczZTMvNktPUFhEb05taE9jbTZCMTdkclZwV2JWd2lwMGNONy9TNS8zCjJrdEVz
MzljNUlQN1ZobUNUSnNtOHRCREloZGNrQzRTdmx3ejd4UXRvR0RDckZtekhISGd1Mzl4VlU5UTRz
d0FCeDd0VTVBNDg5dnUKMXEyYmZQNzU1NnB0K1YzY0VtZXdDaDJ6M1hiYnlhbW5udW9pSDB6aDVa
ZGZGcHA1UHFYaHFHT09PU2JWV1pYcU9hUTZTUnZNRURBRQpEQUZEd0JBd0JFcUtRR0lDY3RaWlo4
bnh4eCtmYzFJNFlFUWlzaGtFaGJ4NXFtV1JLNy9jY3N1NXZQa05OOXhRSG5ua0VhRzBicGhRClJJ
MUZYajhSRGpRbDNvaUtvQWU1NG9vcjNPcXQzMjd2MVlXQUJnbGNCRVF6b2VUcHB4Zk9UVG1sMjY3
OE1UWEQ2ZldPTDc4VmlBRUUKQktKQmxJT0lCYjhiRENLUmhJQmNmdm5sRGFxdEVUMDUvL3p6bmVZ
a3Rac28wVURjK3drbm5PREU4cSs4OGtyOVZWZ1kyRjdEVVYyNgpkS25mVnV5SFVqNkhZdWRtNXhz
Q2hvQWhZQWdZQW9aQStSQklURUFPUC96d3ZMUERlY2xsckJxVG5nSkoySFBQUFozNFBOZngyZmFS
CjluTGRkZGU1MTVsbm51a08rK2FiYjNSVi9TQk42VGxEeVBPdmhOMSsrKzN5NXB0dnlwcHJyaWw5
K3ZRcGVBclZOazdCTnhKeElnRXIKZmZTcU5TRGlFSEZBaXBzOHFZQjhUSjgrWFlYdmt3V1M3Q3V4
OFh1a0VNSnFxNjBtbTJ5eWlTUEVwQ041MHBKcktsRnBXcHo3N2JmZgpPb0pkN1gxb0lQcG9weTdR
a0ZNUzRwVUxrMno3U3ZrY3NsM1R0aHNDaG9BaFlBZ1lBb1pBOVNHUWVpTkNVamZRWmRDTGd5cFgr
UXo5CkI2TDFuWGZlMlIwYXAveG5lTXozMzMvZmlXVTMzbmhqbDcrT0E3alJSaHVGRHl2TGQ2b0hJ
ZDVsWlptMEhucWFrTXFTMUtwdG5LVHoKano0K2sya1FCVUU2a1l1QUtFOXdFUklObUJWc2p6NzZp
SXVVVWU1NTNPTXZ5N052TnBMcHM5dklWMDJXbDhZdEdzdnl6YjZVWlJ0OQpKTzBhZnlSZE9xemdI
SEtpY0JBUWlFblEwSFlFYmFlZGRuTFBPRWhFcU1hR0NCMEMyYkZqeCtEaDlaK1RsckN0UDdHZ0Q1
bjFqOFAzCndHOFZNcCtMZ0h6OTlkZENoQVN5NGkzcFBhVDVIUHdjN04wUU1BUU1BVVBBRURBRWFn
K0J4QkdRWExkSVdzdllzV05kZWxYYzFBMGkKQk5NMDhmL0NDeTkwZlVGSWFjSFpDVHAwdWE3SnZs
VldXYVUrM1lYYyswb1pEaWY5RklJR0dZRmtKWW1FVk5zNHdmdEo4N05tS2NuMQoxK2NlVWR2Rk9E
RjZNUVFFSWtIYTFZTmozcEF4TDdXUzkrYTJGV25WWEpvdXNhZ3N2bVJUbWQ5aWFmbTJlU2Y1WmRZ
MG1UZDlzc3pUCjVpU3MxcmVuUEZjZUk5cjM2cXV2Wm1oQUlDMUVGTEtSanp4RGxuMzM4T0hENVo1
NzdzbDVYZjYzRWFNSENVak9FeUoybHZJNVJGek8KTmhrQ2hvQWhZQWdZQW9aQWxTS1FtSURncVBU
dTNUdnlkaERqOXUvZjM2V2ZQUC84ODVISFJHMWt0Wm5YdTFxWGxmSzVTY2hIMUhpVgoya2JhRlk0
cmtROXZyQzVURmppSlZkczRTZWFlNUZqdEllbks3MnJBcXQ0SUZxbUVRa1hjOVp1MDRNSEN6NFYr
ZW1YeUIvTG84eTNrCnZWbGFVdlpQV3QxS3ljZWlpemVUeFZvMDAwcFYrbHEwaVRScjNWVysvcnlK
dlAvWnN5NktSZU5DTkVxNTdFcHRXRUxGcUZxMmNWcCsKN0lnampzZ2dVUWpSMGJJRUMwSlFnS0pZ
SzlWektIWmVkcjRoWUFnWUFvYUFJV0FJbEErQnhBUmtYNjJOU3NSaE1lcW9aakVpR0QxNwo5blFy
cGxrT2NWVjJTSlVLcmpLVGc4K3JWbzFPMHVUVUIwWHhrQkcySjdGcUd5ZkozT01laTB6b2dBTkVD
V3ZtR1gvN20yai9ESkdqCmpxb3J6NXU1dDdCdnBQVzk5S3JJMng4dktZMldVWkY1YyszenNRZ05D
SnZxNzNoUldVSkp5R0l0bXN0aXpUVU5xVlYzK1dycURQbmsKazAvY0s5K3pnM3pRUytSaGpacDgr
T0dIc3V5eXl3cFZwVlpJcTRsSlliY2MreXpTMGtoLzNHKy8vVExPMldlZmZWeC9IaUozL0orbQpZ
YVY4RG1uTXo4WXdCQXdCUThBUU1BUU1nZklna0ppQUlLd21GYU1GN2F0L04zUWY1SkFIVTA1eTlk
LzQvdnZ2blVDYkZWYktsT0t3ClVYR0hrcm1qUm8xeUluSS9kaTI5NDhTeEl2NjBsblVpRWdJWm9S
eHcyTG5MZDAvVk5rNisrUmF5bjE0Zm1oa1ZhWnJ0NC9xQWJMVlYKNU83RUc2bTY5dnIwUmFUNW41
YVF6YmRiU1JvdjFVeSsrR0dCL0tETkVGdTNhaUd0V2k0bUxaZFlUSC9UaTB2VHhyL0pkOSt1THo5
OQpOVm9vYUpEUDNuampEUmYxdzVFbmNzZUwzOERGRjE4c1BYcjB5SGQ2eGZmVDZ5T2IySjVPOFMr
OTlKS2dyVXJEU3ZrYzBwaWZqV0VJCkdBS0dnQ0ZnQ0JnQzVVRWdNUUg1ejMvKzQ1b0hocWRIV3Ri
Sko1OGNhN1dVVkE0YXVCMTg4TUd1R2hhcnh6UXVwQzhEM1ppcFlvWGgKeU5NZ0xVaDJ3dGNkT1hL
azBNQXdiRGZmZkxNY2NzZ2g0YzBsLzQ0R3hGZXZZdlU4S2Zud0U2eTJjZnk4MG5wSGZFNFVSSDlP
MmdoUApaS21sUkt0R2llaGpVNmMzdlM3b3pKY28xRWRmTHlMZGRseE90dHlvamN4cjNFUyttZjJi
UFBQT1hHblpZaEZaYWtrbElhMWJhaXFXCnlDSzYyTis4dzBieTA0eTdYQ0dCWFBlTDQwNy9qRDMy
MkVPMjJHSUxWN0lXMGtuMEJBSkNJWVJxYjBUSXdnSGs2Y0VISDNRZDNTa0kKOGM0Nzc4ajk5OTh2
cjcvK2VxcU5QRXYxSEhJOUk5dG5DQmdDaG9BaFlBZ1lBdFdIUUdJQ2ttMjFGRWZtMldlZmRSV0I0
dHptS2FlYwo0Z2hHdjM3OVhLb0gwUkRPSHpObWpPdkpRQm9YRmFUb3ZNNHgyWXpPelRRdzVQcmVL
TEdLRTBpNkdDVld5MjJGa283d1BLdHRuUEQ4Cml2MSs3cm1pNHZ5NlpvUms5T21DdXhKWTBSNGFv
bWxyeFk2KzhIeCtzN01iTFNZZDEyaXRxVmFMaUFZNVpNa0ZqV1hSNXFyOTBOU3IKSlhqcDlaZlVx
czNLSDZSNTR6L0poNy8zQlZrNFNzTlBNMmJNY09TamI5KytHVHNoMFFjZWVLQVFIU0VDVnUxMjlO
Rkh1OFVEeUJULwpMMFFxaU9EUmhERE5Sb3FsZWc3VmpxL056eEF3QkF3QlE4QVFNQVF5RVZqb3RX
ZHV6L3J0QUUzYzMwR1hyTDBHQktjQzhmaDk5OTBuCnA1OStldGJ6d2pzZWVPQUJsNGJsdDVObkR1
R2dpaFZrZ2h4NkhEeWN1VnpHaWkyUkJqOGZqaVZ5UXFORGN2SkpHVE9yVGdTMFpvR3UKdkl0UXIw
QTF6NXErSktKVmpHWDExZE9kcjlNd0tMRllVaXRlTld2YVNCYk1GOVY3TkpJV3paV0VMTkpJRm0z
V1JOOVZsNjVaaFUxMQpEaEFVZnRjNDRibU0vUjA2ZElnOGhINGp0ZkxiSTBwejFWVlh5WlFwVXh4
cElvcERVMUFhZmFacHBYb09hYzdSeGpJRURBRkR3QkF3CkJBeUIwaU9RbUlDUW5rRXFSZERocCtm
SGpUZmUyS0FqZExicEU5MWdoWmlvQjFxUmJiYlp4dWxBMElLUXVqSjQ4R0JIUWhnM24xRzIKRjhG
czBKamZYbnZ0bGJvREZieUdmVTRIZ2JmZkZubjBVZEdJVlIzeFVENVpHbXVxb1JVbEREakJUUmI4
SnMya3NhZ1dYUWtKcEVRLwpLd0hSTjFsY0l5R05mNkUzU1diUGtxaEo4ZnNjT25TbyszK2c0U0Q2
RDV4NElubWpSNDkyZXFhbzg2cHgyd2NmZk9EbVRmUnc1WlZYCkxsM3FXQW1lUXpYaWFYTXlCQXdC
UThBUU1BUU1nZXdJSkNZZy85WGFxYnZ1dW12MkVXUHNvVThDWGRBUnM5TkRnVEtnRUk5RER6M1UK
RVEraUd1ZWNjMDZNa2FRQitlQ2t6ejc3ek9Xd0V3bUIzSmhWSndJYU5GT05qR2pWTUZHOWhLajJR
TFFmak1pLy95MWFsQ0RsT1d1awpRelQ2b1VXU3BWa1RTaVZydXBWR1BwcnA5a1dhTkZJU29tVGtk
eExTckZrZEFja1hBV0dHLy9kLy95ZWtNQkd0NDNqSUw3L2ZmLzNyClh4a2tQZVc3U1hXNDhlUEh5
MGtubmVRMEw1MDdkM2FSUTFJZjZjMlRlb25oRWoySFZBR3h3UXdCUThBUU1BUU1BVU9ncEFna0pp
REwKTGJkYzVJVElkdzlXd1lvOEtMQ1J2Z09USmsxeWZUL28vWUY5K3VtbnpxR2pzemxpZDlLOTh0
a0xMN3pRb0VvUDZWdDBZVWNZYkZhZApDR2lHazZoOFI0WFBJamZkSk9LRFhWcUh3RzNmWkJQdEZW
aDgyNG1GTjY4bGRrV0pSaU1sSDAyVWZEVFZNcnlMYVFoa2NYMlJqcVhWCmVHVXhKU0JMcUJEZC8x
UEVpWUtna1NEOThJa25uaENpQ1B4LzRMU0hPNmd2bkVoMWZTTFZiTkNnUWE3WXcva3F2bGwrK2VY
ZEJDa3QKZlBiWlo4dmFhNit0cVd1YUs1ZVdsZWc1cERVOUc4Y1FNQVFNQVVQQUVEQUVTbytBOTdW
aVgrbllZNDkxalFpREtWZzAyNk9LenFQawowcWhSUVFmOUJTTFdiSGFVTm5xZ3F6SjlQeWdGaXRI
MGJlKzk5M2JwV2RuT0MyL1BOWisvMFZSQ0xjNTh3dVBhOTlJaW9Kays4dVdYCm9rUnhJZm5naXFS
Z2FVQkJsRmRxV2w2NmM2RENsV1pmeVFKcEpMLyt0a0Rtei85TjVpc1IwbzhhRjJHNzZEYVJlWnFD
aFVVUkVINUwKUkFDRDBSRTBFK0VPNFE4OTlKRHN0Tk5PZFFOVjhWL1NJYi85OWxzNTQ0d3o2c2tI
MDExaWlTWGNBc0JVTFUyV2RoUWtqZWRReFpEYQoxQXdCUThBUU1BUU1BVU1nRHdLSkNRajU3ZVM1
QndtSXZ3Yk9DaXVtdkUrYk5pMG5BZm51dSs5MHBmdXZydGNDZ2xkU3BYRGkwRzRFCmplTThRUWx1
OTUvVG1vOGZ6OTdMZ3dDQk5EVE9wRUlGalFqSTJMR2lUbjV3YTBxZmY0VjZLT25RVHVzTEZqU1JY
eUVnK2dYU01YK2UKeUMvNnZpZ3NoRmNXKy96eno5M3ZkSmxsdEtONkZxTVJKZEU4SW5BNDh0VnNh
TENJR0JJSkNSb1JFRklZZS9Ub0VkeWN6dWNVbmtNNgpFN0ZSREFGRHdCQXdCQXdCUTZBU0NDUW1J
SmRkZHBuOC9lOS9qMXdkOWpmQWFtbysrN2NtK3BNdi8rU1RUN3BjODJlZWVVYUdEeC91CnVrcFRE
UXRDc3JubTU1QmlkY0lKSjJRZExxMzVaTDJBN1NnWkF2UUEwZG9GcXY5WmVBbDk5STZVYUZaUTZn
YlJVSW01aGpicU9NWnYKalJyTGZDSWhTb0tVa3pqZW9jRTgrZGtkbC8zeVhicDAwWlN4dWdJSnoy
c0pMNnBkQlVueVJ4OTk1S0o1UkJlcW5ZQndseGRkZEpIYwplKys5R2Y5bjlPamgvM1BBZ0FIWmdT
aHdUMXJQb2NETDIybUdnQ0ZnQ0JnQ2hvQWhVR0VFRWhFUUhKSXR0OXpTTlNnalY5eDNPLzlTCmMy
bHlyUWhudTBmU1dGaGg1VVh6UHB3NlNvSWlpa1dZZnQ1NTU3bG1ibUVDUW9TRnlBY1JsUDc5Kytj
a1E5bXViZHNyandENkQ4M0EKMDlLdm92cWh1dm1vOWxrYitwSCtsUDc4Rml6NFZkT3RmcE5mV2Uz
L3JaRkdQdWFyazcyZ0x2VktpY2M4WlNIemlNamt1SGE3ZHUzYwo3NDdaMFNtY1NDRHBoR0hqTjB0
S1lTMFl6VDc1MzZOMHNPLzdRUkVJMGlPajB0Q0t2YWMwbmtPeGM3RHpEUUZEd0JBd0JBd0JRNkJ5
CkNPaHljSHlETUtEUmVQenh4NTFqUXBvSnE3K2RPblZLM0hVYzRlN0wydndCVW9QUmRJOWNkRmFO
Y2Q3b2pzNTNJaHhCKy83Nzd4MHAKdWZQT08rV2YvL3luME5Ed1hEcmFxVjE1NVpWT1RFdGpPRWlL
V2ZVam9JOVk3cnBMTktwV3B3ZUJrTkNVc0JUV2lFaUhjbzhGQ3hySgp6NzgyVmgySWZ0Y1hPaEQz
V1FtSWZ0VHkwTm12SHRSMWtHcmxlbHRFSEU0bHRwZG82VjRqTmt0ejM4WnE3aHVWci94aVFLbWFl
S2J4CkhHb0VWcHVtSVdBSUdBS0dnQ0ZnQ0VRZ2tDZ0NnaDdqNUpOUGRpdkE1SXlUSnNVS0tWV3JX
RDNGNFVMUGtjOGdGcEFFSExnV0xWckkKVmx0dDVjWWl1a0pFdzVmT1JkeTczbnJyWlF4SHloWWk0
THZVYTZVbnlScHJyT0c2cFNONFp4c09JdHVPUFBKSW9kbGhwYXNSSWN5bgpNaEo5SW9xeHRNYWhY
Q3pPSm1sRWxiYVJJMFdKYTUzd2U1VlZSSlJUcWhoYTVMYmJSSnRkbG1CMlNqWVdhTVNETkt2ZmZ2
dFY1bW51CjFTOGE5cGl2NG85ZkZ6U3QxNEw4L0xzSVBkOE1sbHBxS1hubGxWZms3cnZ2ZGtKdElo
NlFjZ295UUlDYlVjKzNCb3llSlRRUnBTOFAKalQvcGhFNlpiRXBqa3dhWnVxWDhIRktmbncxb0NC
Z0Nob0FoWUFnWUFpVkZJQkVCZ1JENE1wMDMzSENEaTRRODhzZ2pMczhkeDR1VQpsamlHNDhaS0s0
SnpvaUJqeG94eERnL2tnMVFRSEtGc0s4c3paODZzSnprNFNoamxldC9Xam5ha2JoR053ZENSa0ti
bFMveTZqU1g4CmM5cHBwd21WanlCcFFaczllN2FybUhUUFBmZTRPUVgzUlgxT2E1encyRGpLMTF4
empmYlkrTGR6a01QN3kvMmRLSU55UkMxVVVGZjEKcW4zN3VobTgrYVpvV1ZqUlp5eWE0cGZ1ckxR
SWx2eENDRVJKTTBMMFg1MGt2WW5NVzlCWXQydjZsZjU4ZnlFcVFoZ2twbDF3d1FWQwpKVFpLMmFJ
RDRmazMxZWFHUkFvMzJHQ0RtS05VN2pEKzEwaTM0bjlvLy8zM2R3U0UyYkNnd08rRi95ZitYOU8w
VWp5SE5PZG5ZeGtDCmhvQWhZQWdZQW9aQWFSRklSRURRWjVDbVFZb0dEUWxwd2tiM2NucDJEQnc0
MEtWTnhaMHVKWEluVHB5b0RlZTJkNjlMTDcxVXFEQ0UKRTVlTmZEQTIwWkpiYjczVlhlYUhIMzV3
eDlLQmV1ZWRkNjdQdVllWUlLcnQxYXRYM09rVWRkeFhYMzNsQ0JVTjZWaEJKanJrcXdyaAorT1BB
UGZYVVU2NUNXS3NjelMzU0dzZmZEQnFGTys2NFE0WU5HeVl2dnZpaVc4MUdYRndOUnVxVnlpbmtr
a3N5WjdQV1dxTDlKMFMwCkpvSHN0bHZtdm1LLy9hWjVWdVFjL296dVEwa0dKR1NlcTRKRkJLU1pF
Nkt6VFFNaXNRMGRGS1FPZk9tRmd4WUs4cHRxNzR6WXMwbCsKSU5Fd0luUTBJZ3dhV2hBV0JDWlBu
dXorNTRMN2l2MWNpdWRRN0p6c2ZFUEFFREFFREFGRHdCQW9Id0tKQ0FqVHV2enl5eDBCNmRtegpw
OU50c0czZmZmZU4xVFNRWTcyUnV0VzllM2YvMWIxbmEzSVlQQWhoTEVRRkk1WExDK0UzMGM1MXBC
V1Iwb1VqaUxiRWEwT0M1NWZpCk0zT2dpL3VRSVVNYURBODVXMHU5NmppcGFXbU5RMnJiUC83eEQy
M3dkNU9ReDgvY2J0TzhKaTh3eHVtc3RCSGQwSXJOa2ZicXE2SnoKcmR0RnBJVHZhUVFURnFpR1NS
cHIxM01kZXI1MlJhY2ZSVk50VHJoSTA4YXlpQXJQbTJvand1YTY4emR0U3BqRVh0VUpRa0NJZnFD
VAppaHNKVEhLTlVoMExPU1psTWNyZWV1c3RKWW5LRXRXSWxQRGRSeGlqam8rN3JWVFBJZTcxN1Ro
RHdCQXdCQXdCUThBUXFDd0NpUWtJCmFWZ0hIWFJReHF4Sk9TbW5rVlpGSkFiTlIrL2V2ZDJseWJj
bjc1N29ESTBSRWJGSDlTb3AxVHpKbFljUWhkTlZTTVh4RVIzMlU3WjEKeHgxM3pEcU5OTVloSW9R
R0JxSkJ4SVZJbFM4YlM3ZnVMN1FMNE1ZYmI1eDFEdVhZTVdlT0NDOTY5UVg5WDFLdzBHNXJScEJH
RmtUSgpwZ2o2a0RRSVNKUEZ0T3U1c2c2cVhaRmwxYkxGSXRKU3Q3VnUwVlJhS3Vsb3BlTDNGa3BB
bW1rYVZseTc5dHByWGZFRGpzZFpKL3BHCjZ0TGd3WU5sMDAwM2pUdE14WTVqdnJ6NGpmeVp4aXkv
RzdvdWV2a1FXVVRUUW5FSTdpOE5BbEtLNStEbmJlK0dnQ0ZnQ0JnQ2hvQWgKVVAwSWxKYzVwSVFI
Qk9UZGQ5OTFVUmVFNjk1d3ZBOUIxYXpXcGswYnY3a3M3NVFFcGlwWEx0S0RFMGZrS0JjQlNXc2Nx
cE9OMEpxMgo5S1FZT25Tb2tLNUdOT1NXVzI1eG91bXlnSkxqSWxTNlVqaTBFRUZkM3c4T0pTMkts
MWFGMVZMUGRaK0pnR2ptWC9HbWFWZnpmMW1nCjFhNjBESzhTREpkK3BibFc4My9WaWxoYWUvZVgz
MVFIb3FsWGkraStYM1JPY1l4bWZWZHJLL2ZERHovYzZTZDhLV3FjZDlMZWFNcFoKN1gxQStFMFF1
WUcwKzRwMFBuMndvOVpHZnUrOTkxdzZJUkdRWEwvdE9IaTVZMHJ3SEdKZjJ3NDBCQXdCUThBUU1B
UU1nYXBBb0NZSgpDTWlSaXNVTGNiZVBnZ1FSM1hQUFBldS94b2s4MUI5YzRBY2Nmb2dGS1dEZWNO
NklEdUhJZWZNcFkvNTcrRDJ0Y1JnWHB4SWhQdFhKCkpreVk0S0llckdoWGk5SGpUclAzTkVKVWho
a3BzVmlnNUlPK0g1QVBtZy9PMVQ4L3ovdEZYL09VQ0RXWE9WclRvSkgrUjNnTlNMNGUKR0tSYlVX
V054cHhCVzBWRE5oQkpJbksxRUFYcDA2ZVArKzM2U0Yzd1hsTC9YSUxua1BvY2JVQkR3QkF3QkF3
QlE4QVFLQ2tDRlNNZwpWTSs2VWR0Z3MwSzhnOVpjcFNKV0lZYitCSWN2MStwc25NaERJZGNPbm9Q
V0kxd3ltUDJRSTBvWHgzWHUwaGdIRFFoVm1ZaUFZS1RNCjBTT0Y5QmxXc3VsUlVRMm1SWmRreXBT
NlZLdVBQeGFoRWhZYWVZVG9xWnVHVnViK3BLVjNsWHpNVXlJeVQ2TWRQODM1UmVZc3ZxZzIKRkp3
cnpSZHRMazAwSlV3RElUTHZKOVdES0hHRVlJU05kQ1JmV1EyeWlmYm9sMTkrYVZCeWx3aGRrSXlH
eDZtbTc1QlM5QjNjRy9vcQpDaWxRNnRwcmhsS2RhMHJQSWRVNTJXQ0dnQ0ZnQ0JnQ2hvQWhVRllF
RWhPUUYxNTRJVkkvZ1BBN3VOS2Y2eTVJQjBJYmdkNkJzcm9JCnBLKzc3anBIU0hCK2tsaWFFWU1r
MXcwZjY5Tld3dHR4WklsQ1VCa3BqcVV4ams5Rmc0aVFYb09ENlhQM0lVSmVXQnhuUHFVOFJyT1UK
dE5KU0hmSFlkbHRSbkVRZFlWRUhYMVE0bjk2VklSSkxOSjBuYjc3em5iUmJzWVhNMGNqSFQ5b0xa
TTdQODJUMjdMa3FRRzhzalp2OApwTkdSRnRvWFJHVFdaMTg3UW92ZUtXeVVtNGJRcmI3NjZtNFg1
QVA5aFAvT1JqUVZWRCtqV1dZdEdKWFN6anZ2UEVjOHVuWHI1aXBmCmtVWkdlbU9hbGVUU2ZBNjFn
S3ZOMFJBd0JBd0JROEFRTUFTaUVVaE1RT2g1d0twK01PSkFxZytycHpUTHcrNi8vMzc1OE1NUHRj
ZUQKTm5tSU1CeTdiZFhqSkgwS3cwbG1oWjZWNWNjZWU2eUJrRHRpaVBwTmFVUU02Z2NyNGdOOUZJ
amtlRndnRXF5QzAvR2RKbTl4TGExeApJR2FYYUkxYm5HSEUrb2NkZHBoMDd0elp2VnEyYkZueDFD
RDEyN1YvaG1oRFNoSFZjUXUrUHYwL3RKcXoyNllMOEtuMUFTR1ZhdVdsCmZwWm5uLzVDRm12ZFhC
cTFXbFMrbkRWZlpzMytSU3RoTlhLUFJxVWdNbGZESXMxL2FDby92dit5cktubG9QMnpERCs3Yjc3
NXhsVmEKQzI2bkVsYlFpSDVBcm9QQzd1RCthdm5NLys1RkYxMGtlK3l4aDV4MTFsbjZIQlp4dWha
SzhQSzc3ZEdqUjh4bUZVMEFBQ0FBU1VSQgpWS0wveDF6M2xmWnp5SFV0MjJjSUdBS0dnQ0ZnQ0Jn
QzFZdEFZZ0xDYXY0VXpadUpjczdJZVVkNHl6c1ZkTElSRUlTdnJLN2lvTkhZCmtONGZaMmdMYkFU
YU5FVzc3TExMWWlPV1JzUWc5c1Z5SEVoWGRrUzhRVnlvUEVXYVdaSXU2R21ONDZjSzFxelk4K0s1
VUozSkMvWDkKTVpWNFYyMjhwaTZKYVBzWFJ6NkNjK2phdFM0MWErdXRnMXNMLzB3VWF2ME9JdE9t
enBLSEh2eFFtWTNxZEpac0pxMWFOcE1tbW1YRgpiK2dYRFgyMFdIU09OTmIvaUVWbVRwRzJIZHNL
UkMxczZJNGcyL24wSWVIenF2VTcvNE9RRVBxQWhDTStFRllhZkpKbWxvYWwrUnpTCm1JK05ZUWdZ
QW9hQUlXQUlHQUtWUVNBeEFZRWNJTHJONVlCQkpuSVpPZ1JTclU0OTlWVG5HRy85dTZkSnJ3eFN2
SENJd3M1UXR2SFMKaWhoa0d6L3VkaG96a2pkZnJLVTFUdFE4SUljMzMzeXpDcTVqbG5tS0dpU2xi
VlI4cFJkSWNDb1FFa3J2WG5GRlhTbmVsQzdsdEJ3OQpObGhVcGt6OVhxWitxZUtQT1NvRWFhNlZy
N1Q5K1p5NTgwVGJnS0JRbDEvbi95eUxmdnU2ck4zbVo5V2pyT2xLR0lmbjRIK3JmdnZvCjBhTmRp
cHYvN3QrSkF1NisrKzcrYTlXK3I3RENDaTdDUVNxWk4vNy9SbzBhSlNOSGprdzFqWXdVckxTZWc1
K3J2UnNDaG9BaFlBZ1kKQW9aQTdTR1FpSUN3d2svazRuV3RrVXJrd2xkMCt2TExMMTBINkxpM1Q4
b1ZuZEJaRWIzcHBwdWNwb1JjYzhUazZFT0M1Q05LNEJ1OApUdG9SZytEWVNUNURQb2dNMFJYN1kx
VlV0Mi9mWGdYVkI3c21oSlVZSjF0MU1PYUNSZ1FyUjNVd2Q2R0lQL3JvVmZkVDl6cnp6TG9ECk5M
TkpDYWxvTkV5ME9FSEVTUVZ1d3ZGZHFXMEw2Yk96Q2p6Ry9TaFR2OUdMYThyWFhLMisxYXpKQW1r
aXZ5bi9tQzl0Zm41SHVpejEKdVhSYmIwMzMvT0tVMEVYc2o5WWpXR1NBRkMxNnJWQVZ6V05kNE5S
TGZoci9nd00xNyszdXUrOTJ2V080SVAxalRqdnRORmZKSzAwaApmU21mUThtQnNnc1lBb2FBSVdB
SUdBS0dRR29JTk5MMEUrMjhFTjlJUVNFQ3NyK1dNR0lsZmF1dHRoSWNycDIwb3h5cjYzR04xQ1JL
CjVjNllNY00xRmFRcTFsTlBQZVVjT2NaRVQ5RkQ4OCtmZWVZWjV3aGxHNWVWMmpRaUQ5bkdqN3Vk
dmcva3pVTTgwTGRBak9oRmdxNkYKVHVSeExhMXhjQ3pqVmdlNy92cnI0MDZ2eU9NYU5UaGZ0YzZp
L0ZWSnFNaHp6OVdWNU4xb293YUhGYlZoN05neDlhVDJrNWx6Wk16egpzMlNTcG9COVBLK1ZORzdS
V0ZaZVlwYXNzZFFQMG0zbEJiTCtXaXZMeWl1djdOSUNJY0tVMlEzYWE2KzlGdnpxZnYrUWNsTGR2
Q0ZBCnA3dDR2Mzc5M0RQdzI0UHZYYnFzSGZ4YTRzK1ovK0xoZStEaWtHWUlLVkV5OUN3UXFpNWR1
dVNjVjlKN1NQTTU1SnlZN1RRRURBRkQKd0JBd0JBeUJxa1lnRVFFaGNzRnFMejBPNEMzYmJMT05V
QlZvMHFSSk1uMzZkSmM2UlJwVlhIdnh4UmRsbzRDM2lXQjY0c1NKVHN3KwpidHc0VjQySGp0M29U
cElhZ3ZqbGxsc3VrZjRpNlRYODhVUnAwQXRBeXVpTWplUEt5amdyeTMzNzluVzZDeDh0OHVkRXZh
YzFEbU9UCnZ4KzNMOGtSUnh3Uk5aMFNiTXNrSU5vVVh2VUZEUy9EOW1XV0VTMEQyM0JmSVZ0d2ZJ
bEVOR3ZXekQwYlVnREJHZ0k5Zi81OEY0a2oKMnNFenBKTTlxLzZzMW5OY3VMTjkySGtmTTJhTXd6
azRMeUtGeHg5L3ZCTjNaNHVBSkhYZWcrTW4vNXliZ0JDNWk5SXBzWjM3UjhzVQpaVW52SWMzbkVE
VWYyMllJR0FLR2dDRmdDQmdDdFlGQW9oUXNIR3RTcjdBYmJyaEJIbi84Y1NGeWdmTUdFY0daaTJz
MDZmT2RvLzA1CnJDSVRQZUNGMGI4RFRVZ3VJMVhrb1ljZWNwVzBnc2ZObmozYk9aR2tJc1V0Z1Jz
OFA4bG51bzNqMEY2cWl1cGcraGhqZEZWRk5ZNWMKV0RzUU5YNWE0ekQyZjFMcVN4STF6N1MycWU1
WkJmR3FCMTh5YzBRZXVXYmpxYlpDdElxVXFONG9jMzhoMzlBc3Nhb1BJZUFaUVViNApUcVNJNzM0
YjN6SEloKzhNbnV0NlVWM3RTVW1rbWh1UkVNcmFWcnRSTFEyOVNqamRDcktGVm11TExiYVF0bTNi
NXRSOXhiM0hVajJICnVOZTM0d3dCUThBUU1BUU1BVU9nOGdna0lpQ0xMNzY0UzVlNi9mYmJCYkUw
L1ErMjIyNDc1K3l5MnYvd3d3L0h1cVB2di85ZUtCT0wKazBlek04YllmdnZ0blpOT1NoVVZtekRT
WDZpTWxjMisrdW9ydWZEQ0MrWG9vNDkyamhKUkdaOVJodlBINmkxcFhhU1Z0R3JWS3RzdwpSVytu
MUNvUmpxQzRHMEtDSHVRS1ZWVFRpVHlPcFRVTzEvSTRoSytMZzUya0wwbjQvRFMvNjZQUjV5TktG
RE5ISlNsUXVZRkdFVVQ3Cmw0aEczVVQ3YkdRZVUrZzNJaHVRRFlpSUp5T2VnT0FjKzhnSHY4MThC
a0dCU0dNOGZ4OHRnZGhjZGRWVmtpUWFtTzlhcGR6Lzhzc3YKQzY5d1lRbCtROXpMeFJkZkxCMDZk
SEJsbmRNcUs1em1jeWdsTmphMklXQUlHQUtHZ0NGZ0NLU1BRQ0lDd3VVdnYveHlnWUJBRFBiYgpi
ejgzSTdxUlU0MHFya0VHSUN5SXRNZVBIKytJQzMwcUVMK3k0dW9KeU5OUFB5M3JyNzkrZzVWWmZ4
MmNQdlFWUTRZTThadnEzNGtBCnJLVXR0Y3ZoQk9MVTAwaVIxNW0vSzZyUnhYQWZWQVNMSTJabTRt
bU53MWpWVWgyTXVXU3pFMCtzNi8yaEdVOFpkdSs5b2pvTTBXY24KV3BTQTM1d29yaG1IRlAwRlo5
c1REcHhoL3ozSndKeEhxZWtERHp6UVZjSkNlSTd1QTRMZHZYdDM5MG95WHFXT3BTenpnQUVETWtw
SQpNeGZTSUttU1JUb2ZFY1ZiYjcyMVhxaWUxbHc5N21CWjZITklheTQyamlGZ0NCZ0Nob0FoWUFp
VUI0SEVCSVRWWWs4US9CUjkyb3IvCkh1ZjlsRk5PRVFnR0Roc3ZWcHhabVNlbm51Z0I2VmVrVG8w
WU1jTHR6emJtUC8vNVR5ZWU5YXZQL2pnNnJiTjZXeTZqa2R1NjY2N3IKVXNiUXJlRFVjVjlCalV1
Y3VhUTFUclZVQjh0MXozUkJENU1QanRlZm1JdUE4UG5ISDBXMVFIeXFQb013ODR6NXJSRXRnRVRq
VUk4ZApPMVpJcDZOYUhNNTd0UnNMQ2NIK05YNisvSy83LzZHZmZ2cEozbnp6VGIvTDNnMEJROEFR
TUFRTUFVUEFFQ2dZZ2NRRXBPQXJoVTRjCk9uU29TN3Z5bTNGMElCd2JiTENCeTg5bjVaVUtXVVJF
Y3RteXl5NGJ1WnNjLzNJYlZhZDRZY1hrL3FjeFRpbjdpUlNEcS9aQ1ZLSXAKV3NoQW5NNGphaXd0
SEZadjZFVGF0YXYvV2xVZklONit1TUM5R3JhaHFBSkZDTkJTb0FPSms4WlZxUnVpd1NEVnJpQlA3
YklBVEhVdgpiK2hFdlA3TGI3TjNROEFRTUFRTUFVUEFFREFFQ2tHZ1lnVGt2dnZ1RTZJZ1ZLcEMv
OEZyODgwM2R3M1FqanJxS0hjdjJhcnZGSEtqCi8ydm5nR3VVdmZIR0c5S3hZOGVvWFNYZnBwbEpH
aEVTSlpvVUdCRHRsU0ZhcXJndXZlcktLMFdqWGFKUkpKRVRUaERWN2RSTlIyc2QKS0NFdCtkUUt1
Z0JFZ3lnZTJpZlNsZmJaWngvWmJMUE5YS2QwTkNERHREUnpOUnE5ZG9oNlFQYXBiRWU2SUdtUlJ4
NTVwR3MrQ0hsRgpvMFVVajNMQzJMbm5udXUwTTlWNFB6WW5ROEFRTUFRTUFVUEFFS2d0QkJLVjRV
MzcxbWJPbk9rRTdNT0hEM2NwTEI5ODhJSFRRZUFnCmtROXVWamdDT01LOWUvZk9TSzJody9XRER6
N295aHd6TXQyNlAvendRNmRqS1B4SzhjOGNOYXFSM0hLTHlGMTNpZlpKRVhWdTYwZ0gKS1ZaczAx
WXlidHNERDRqd0NyWGdpSCtoMEpHVWY2WENHaThLS2ZCT3loRWlkRithbDJpRzF5TVF1UUFyWHEx
YnQ4NFlMVnlHbDJOSQpHOFNvaUVYYWtpL3RtM0ZpNkV2U0VyYWgweE4rVlZWL3dLNVV0dmVBQWt6
Vk5wNC92V29vRy8zV1cyKzU5REdxWGlFMnA4b2R4NFl4CjhFTWx2WWMwbjRPZmc3MGJBb2FBSVdB
SUdBS0dRTzBoa0RnQ1FpNDRLNzZJdzZsZ2hWSDlDV2N1cVpIU2NZSXVkOVBZa0hLNWtBNVcKWXRH
QTRDVEdOZEpKNkUveXlTZWZhTFdrMVowQU8xc0VJTzZZdFg0Y2VocksvMGJsOWsvVlBDZ3FnL0Ur
YmRxMHNoRVE1WnRPV0E2MgoydkxGR2JVTDlQRnBNWUs2aWxkc0pFSkNtbFl3RmF2dTZPcjdDK0VJ
TjhLRXpOQkFreXB1UkJLcXphZ2UxNG55WW1xK2Noc2tCREtDCjVvcUtWeGdSRXRLMGdxbFlib2Y5
TVFRTUFVUEFFREFFREFGRG9BZ0VFb2NaU0pQYWE2KzluQVA3NUpOUHV0VmUrbm40dEtsQzVvTEQK
UmlVdFJOejBGVWxDUGtqbG9va2ExYWNvZDB0UEVKeHJ4aW1sMGZVOVRwK0kyMjY3TGRFMHN2VTlJ
WFVxaVYxMjJXVmFRZW9IcDBWQQpqeEI4Z1E5R2hhNlJJMGNtR2Jhb1k3WEJ2Y3laVXpjRTFhMm9F
UUJ2cGQrSHRwbHdCakdoQ3BaV1VLNEpvd0lia1NhZlJ1amZTUytrCllTZmxiYXZOS0pMZ2lRY0xD
aEIvSWtGRVBueHZIdlpUb1k3bWpHYUdnQ0ZnQ0JnQ2hvQWhZQWlraVVDaUNNZ2M5UjdmZmZkZGVl
S0oKSjZSOSsvWkNFMENFNC9UYW1EQmhnbnoyMldldWJHZWhFeVNWaFpRUEtsdXhzcHpQcUR5RWt3
Y3B1dW1tbStvN05sT2RpTzJiYUp2dApVdlgvK1Bqamo5MzFFTXRuTXpxN3M2cThzM3JZY1IyNVk0
ODlOcFhVcWY1YVlvcEtXTlVVR1ZwdE5aSFBQNjlENjl0djZaMVI5NWx1CjZGMjYxRlhFZ21kcGV3
M1ZIR1JEdFhxMmY2czNjZjMxMTd1SUc4VVErRDN5d3FnWXhUT0hGQk9WV3pMY2JiR0N0N0d5MWpp
bXloeEcKeVdCZlFRNGlUeFUyRmdDbVQ1L3U3cVdZaFlVSzNxSmQyaEF3QkF3QlE4QVFNQVNxR0lG
RUJJUjBIcXJtNFBCVHRZb1ZkTVMzclBwUwpEWWlJQ0pHTU9FYWVQVkVLeXBYU013Rmg5QkZISE9H
YUVzWWhIMXlEdmd1czdGOTk5ZFgxNUlQdE9INDBKeVNhUUpQRFVoa2xkbjI2CkNwMnZpZUNRZHVP
TkpuWGswbit1WG5kY0FwSlc2aFNSSUlUR3JHUXpUOGdJVFJ0cGpzanpxcFNSVnFWVmFwM21Rd01I
emhDWlV4MUwKMjh1bzdrSTB4VTgwZGF4U000eC9YUnozWHIxNnlULys4WThHSjZHMW9acFp0WmJo
SmEwS0FUMy9nOXR1dTYyYlAvOTNWUE1peFJJZApDd3NMU2FLUkRVQ3dEWWFBSVdBSUdBS0dnQ0Zn
Q0VRZ2tJaUFjRDdwVi9RQklmS0JUWnc0MGVrSWNIZ3Z1T0FDdHkzT0g0Z0I1MUpKCmlGWFl2LzN0
YjA0VW02UkNFem9QSFB4d0toUVJFSG94aEhQejQ4d3I3akhvWDA0Ly9YUjNPRTNhRURlZmM4NDVE
VTZuTWhMUm9yaEcKNmhTYUdBVFIyUXppbDhzcUdSbktOUy8yUVVBMGlLWlJBMUZ0d2NLalNjWFNv
a3ZPcUl4Vks4YXo0dmNianJTaGthSzZWTFVhQklReQoxMFRuZ3IxcVNNWGFmZmZkM2JURDkxU3Q5
Mkx6TWdRTUFVUEFFREFFRElIYVFpQVJBYUhpRHhFUU9udXpldXFOS0FiYnUzYnQ2amZsCmZPZDRY
cVFuUVNLSWZKQyt0Wk9XUVNLaWdpWWtydEh4L01ZYmI1U0xMNzY0L2hUSUVhU0V5ajZsc2o1OSt0
UVBUV3BhdGpuajVCRVoKMm1hYmJlcVB6L1VCZlVZVSthQmlsWGNNYzUzUHZrcEhodkxOajFRc1hs
cDNRTlBOR2g2OTU1NEx0NUdxOWZ6elZKaGF1SzJhUGhGWgo0amRJYW1MUWlIcVJubFhOUmlvV3Iw
Y2ZmVFF5VXVnakk5d0RKSXVpQlg3aG9acnZ5K1ptQ0JnQ2hvQWhZQWdZQXRXTlFIeFBYKytECkZJ
MDkxVHU4Uld1cFJqbkpjVytWTkNVY2NxK2ZvTjhIRGR4d3NpRVNhRXZpR3VsZ3E2azNHK3h2UVNX
Zkxpb3FLR2FPY2EvUGNhU2YKUWNnb0oweDZFMUVaeUJYcFRzK3I5NXlrUWhnUkpvaGNNQTJOcW1B
MHVVTjNFa2RMVU1uSVVCTGN5TmFqYjJPdWRDdWtDajE3VmljQgpnWkNmZU9LSnN0NTY2N2xVclBE
dnJhMVgxaWNCcFFMSGNnODAvTXlWYmtXL0VNaUhFWkFLUENDN3BDRmdDQmdDaG9BaDhBZERJQkVC
CjRkNXZvRE5ja1ViYUZTbE1PTmErK2c3aklod3ZaTlVZYlFyNTZoQVBIS2x3LzRzaXB4dnJkRWda
ZWdEdUFVSkNxVk5JQktsbFNadzIKc0tIdlFyQVB5cWVmZnVyeTlDRWdjVlBVS2hVWmlnWFc3d2RS
b1piSWh0NXl2YWxzUnFOSm92ZFp2Nmxlckw1d1MzVjhRc2NFSVNSdApMa2dZcTJOMjhXZEJpaUMv
MFNBQklVS0p6c3VYMm1ZMEwxYVBQN0lkYVFnWUFvYUFJV0FJR0FLR1FFTUVLdGFJRU4wRWxiUElR
U2RkCmluUVBJaUdrZXRDSk9laUFONXoyd2kydnZQS0tHNE1VTG9nSVRoVEVodkszcGRTQUxKeEI1
aWNxaEZGNmxlaE9UMTI2VDVwSFQ4U0UKNmwxQnc5RWRNR0NBWEhQTk5ZbWlPcVFCb1VQd3BJVW9D
cEdocU40Z3dldVY3bk9tcm9VR2hCbzhhR0NrWldsYkYxZW10OEhPQWphawoyUUF2M0lqd2trc3Vj
Wm9vcW1BRmpTYWJWSnJLSmtKUDJzUXZPSGJ5ejVtTkNNUDNRTVd1dGRaYXE4R3dWR1RqL2lBaVVa
YjBIdEo4CkRsSHpzVzJHZ0NGZ0NCZ0Nob0FoVUJzSUpPNERrdFp0SWRxR2ZHQ1FEZnA1VUVYcTBF
TVBqVTArRUZzamlPY2NCTzJraWVCdzQyQVIKVWFFUFJybk05OU5BM0h2Y2NjZTVDbFNRRC9xRkpM
SGdLclEvRHdlUWlFcTJIaUgrdU9BN2pSMUp4ZkxrZzMySWpZUGtnekt5dm90Mwo4Tnh5ZmY2OVlt
MkR5eEVCb1JGaHRSc3BXUFRST1BMSUkxMHp4Mk9PT2FiK3ZWKy9mdlc5TnFyOVBuenA0UEE4MFRY
UmlORE1FREFFCkRBRkR3QkF3QkF5Qk5CRkluSUtWMXNXSmVpRE9mdTY1NXh6eFFCTnkvUEhISnhv
ZTRXL2Z2bjFkSG43d1JGSktxRTVFZElUbWF1VXcKVXErR0RSdVdJVVpIREU1M2Rrb1RSeEdMcUht
aEFkbFI4NUtDUklHZURCQTBYM1VyNnJ6d05xNUpHZGpnT09GaldLRW5Tc1AxS21GVQp3dHBoaDRV
YUVBZ0pXbTY5VmIzWFNzd28yVFZKdTBMcjAwYkxkcEZLR0RRNmpkZEt5aEpORTlGUytkOG9oSVRp
Q1pTV3BrQ0VtU0ZnCkNCZ0Nob0FoWUFnWUFta2lrQm9Cb1pJT0srNDBNNHRqKysrL3YydVNSK29L
cVVJSWVSRnRaMHRaaVJxVHlFbTI0MGtyaVR1WHFMR1QKYnFQUEIya3NRWWNmWVRxNkVKelVOUkU4
eERCeTcra0ZFa3g3QVZjMEpwUjJqV3RjRDJLQnBzUWJmVWxZMVE1R1JkQ3JWTXEwZ0pScgpPaGdV
b1dzV25sWTFFMzEyNmM0S3A1b1h4RGY4OHZ1NG92L3NqODAzQzRnbm5jVnIyU0FiM0crd1dNTHl5
eSt2elNEUGpmMjdqWHYvCkh0L3dNK0M3MzhkWS9qUHY3RE16QkF3QlE4QVFNQVFNZ1Q4T0Fva0pD
QldxNlBsQnVsUFEwSFJBQ0VqOXlTZTZadVVkcDRjSUFRN3cKanovK0tMZmVlcXRMcHhvOWVuUjlk
YXpnK0ZHZmFRSklUd3cwRXQyNmRYUE9QeEVWeUJBcFVaQ1FjdG5sbDE4dTlQd0lHbzRURVEycQpZ
c1cxVWFOR1JaWkVqWHUrUHc0Uk9xUXViQWowVHo3NTVBeUNFejZtWE45VjZxTTZuWEpkTGRPcERU
dTRQQ3RJbjNlRW1SWEg1TE5zCjVJTlVRSnBreGlXZSthNVR5djM4ZG52MDZGSEtTMlNNSGNRKytC
bnNDMzBPR1Jld0w0YUFJV0FJR0FLR2dDRlExUWdrSWlEb0VPaW0KVFpkeHFrMTU1NEU3Sk4ySmxC
T3FVZEhMSXBmNG1zcEJwQWo1MVhmNml2emYvLzJmRTQxZmNjVVZpUm9hRGh3NFVIYmJiVGZYNlJz
SApFakxDUE82NDQ0Nk0xZjlTUDRVdytlQjZDT01wTFV3a0pHNGZrR3k0QmNzTXg3bVhiTTR6RVJB
aUxQbElZcHhyRkh1TUJuWWk3WTAzCk1xdGdSUjZVY0tQSGczZnY2UEpiOFo5NTk4Wm52ODl2aS90
T0FRU2FZUEk3Sm9KUUMwWlo3Q2dqOVM5WUJTdnFtS1RieXZVY2tzN0wKampjRURBRkR3QkF3QkF5
QjhpR1FpSUJBR0JCOER4a3lwTUVNV1hFbkJXbkREVGRzc0MrOGdYeDU4dWR4OG9LcFJ1M2F0WE1w
VlRncAo0WjRLNFRIOGQ2Nko2UHpCQngrVXQ5OSsyeEdqSFZSWUVLNUs1STh2NWZ1VUtWTmNHaG5s
Y3RHaEhIamdnVzVlU1hRb1ZCNEtseEZHCjdNejlFZG5CSURXa2RTRjZ6bVlIcU1BQ0hIeEtHSmlp
bVVtcUpjazJmaHJiOVZaZEk4SmdDcGJlcXQ2cjZMM1dYVUZ2VmU5VjlGNkwKdXlLa0FndzhzZURk
djRqYzhYdnp6ckUvSmtoSzhsMmRVc2wzYXVrdUtyZ1IwYXVGeUllL3A0c3V1c2hWb2ZNYUVMYlBu
ejlmcU9oRwpieHNNUFFqM3lHKzZHQ3YxY3lobWJuYXVJV0FJR0FLR2dDRmdDSlFIZ1VRRWhDbjk4
NS8vZEJXbkhuamdBZGNZRDBmNzRJTVBkcDNRCmcyUWkzL1NwWGtVWjNtQmtBRWRvMXF4WitVN04y
RTlsS05KZ2FKQ1l6WEFzT1M1YzNqYmI4WVZzUjREZXYzOS9SendvS1V5VTRhMjMKM3BKZGR0a2xV
WThJem9QSWVPSVFuQXVkcUlrdThUNXQyclNjQklRTzNUaDd3WEVvYzB6WCtISnFZNEx6RDMvV1c5
VjdYU2hDRCs3WApXOVI3RmIxWDBYc3Rqb0JBS0h4NkZaandIUWViYlpBN1QzWTlFV0VmMjNubHMy
ZWVlY2FWZk1aWko5WHVzTU1PY3gzcmlmS1JnbFVMClJxVXJ5SHRRQStMbnpmWTExbGpEUlJqUkVC
VmpwWHdPeGN6THpqVUVEQUZEd0JBd0JBeUI4aUtRbUlDd3dwdk4wU1k2RXRkdzBJTGsKZy9Od21y
ZmVldXQ2aHpET1dNeWxUNTgrT1ozOER6NzR3RG1UcFNJZ3BOMFF1ZWlyRmJubzZFNTBaOUNnUVVK
NkdOdm9SK0xUemZMZApFMDN0cU9EbG5lS280OUc5NURPZVV5WDZvT1NhRjJTQ3FNZjQ4WFZINmEz
cXZZcmVhL2F6WXR4cTlwTi8zd01CaFZSNDh1SGYyUWJPClB2cmhNY2RSamtOQWVPNUUzM0RTSWRT
VVh5YkZ6UnRDN21vMDVndlpwM0VuaGlhSXlJYS8vNmc1MDFDeldDdlZjeWgyWG5hK0lXQUkKR0FL
R2dDRmdDSlFYZ1lYZVVvenJwdWxvMzMzMzNTNU5oUlY5YjNSQnh5bE1ZaSs5OUpKQU1QSjFvazQ3
bHowNFJ5cFhnYzJsbDE3YQpZQjVkdTNaMUVRMklWUnlEVUVVNWdrbXJqRlViK2VEZUlSNmJicm9R
QmIxVnZkZUYzLzBuN1VXcEdpTC9yZmgzVHpBODRmQ1JEcjhkCnh4aFN3anZiSUI4OHozeEdLaUZW
c0E0Ly9IQ244MEVmUlVsZU5Fa1FUalJBbEVLdU5xUFpKVDEzdk8yMzMzNlJ2em42NkxCUWtKWjUK
dk5OK0Rtbk56OFl4QkF3QlE4QVFNQVFNZ2ZJZ2tJaUFwT1ZvVXdXTEZWZFdtbkhVaUlSc3Q5MTI3
blh4eFJmTDRNR0RNMWFTYzBGeAo5ZFZYT3dGN3JtTkt2WS9VRys3ajU1OS9ycjhVRGl4bGhSRWpR
NUxpMnRsbm4xMTBsYkc0MXlyM2NSMDdpcVlsaWFiWmlmYWNxTHQ2CjJNOEhRbTM0THYvNFI5MStl
a2xxcno4dDhWejRiSWxLMERBUXd3bUdySG9ubUcyUUQ3NTdFc0t6KzE1WkVJVVc0aGlFcG52Mzd1
NUYKU2VsNzc3M1hQVVA2dGxRakFZR01VNlVMcllwUHV3cW5tNEVCaFJ3Z1Z4aFY3dWJNbVJNN2to
ZUZXNm1mUTlRMWJac2hZQWdZQW9hQQpJV0FJVkI4Q2lRaElXbzQyVlhkd3pPbFRRZjc1dUhIakJP
SkJDaGRPQ2owMXpqbm5uRmhva1hNZlpRaG1XWUdPSTRxUE9qL0pOdVo4CjNYWFh1ZGVaWjU3cFRz
WEJJeTJIZENtcWZNV3h0S3FNeGJsV0pZNVJhWXltNzRscWhpaHhtMzBHeWcvVThSVjFkdXUwSDZS
dVRacVUKL2ZoOGUzZytPTStlZElUMUlId24rc0VMRW9samppQTdXMFd5WE5lalp3dWQwYW1LRmk1
Vm5ldThjdTZqWlBWNTU1MG5sTlRPWmVCRwpRUVNxeXFIOUlrVVNVbEtvbGZNNUZEcEhPODhRTUFR
TUFVUEFFREFFU285QUkzVzZjcmlDRFNkQUZTVkUwTjdScG53dUFtd2M3YVJsClJ5ZXBWMG1La2pk
SUErTkJRQ0FuVkhMS1orTTFyMmZvMEtIeSt1dXZaeHhLSlNxSVRUbkx6YjcvL3Z0T2VJd29ubjRr
T0xZYmJiUlIKeHJ6eWZZRlErZHo4NExGSnFvd0Z6NnV1ejNYNVZ1cmZDNlYydGFwelZnTTJDQWdW
c0w3OVZyU25TZFpEOCs0WU4rNVJSMnlwSEViMApnK2FNaXkrK3VOdkdkLzRGV1BIbk5YZnVYUGZj
SUs0YzA3cDE2NHp4MFh6RU1jZ3ZSR2IxMVZlUFBMeExsNFdwaDVFSHBMb3g4MS9jCjN3TlJJVXJ0
Zmd2QVdheExseTZPZ1BDL1NZRUlxczU1UzNvUGFUNEhQd2Q3TndRTUFVUEFFREFFRElIYVF5QlJC
SVRiMjJPUFBWeisKdUs4K2RjZ2hoMGkvZnYwU085cFUxQWtMczl1MmJldXFhY1V0OVluRFNEK1J6
VGJiekVWUFNJVUpXdnYyN1lOZlMvYVoxQjJxVW1GZQphOElxY3lGVmtQYmVlMi9uRUxMcUhEUWNR
VjV4elQrZlhNZmplSmU2T2xqVTlRa0lRVEJVQnFTTkdxT09XTGdORWtJRXBCZ0N3bjJpCnpVQ3pB
VkVsdlFweTRkT1B1QnFSRHh4eXlqZlRjWjUzMG82U0d2MWFpQkpRTnZtcXE2NUtlbnBaajRlSTha
dDY1SkZIWlB2dHQ4OTUKYllnWUVaQWdBY2w1UXNUT2NqNkhpTXZiSmtQQUVEQUVEQUZEd0JDb0Vn
UVNFWkMwSEcwY1FQb2tvQUhCWVVmL2dRT0VVQnNuSmE1eApQbWt5Q05weExpdGxFQitJR2RXcjl0
OS9mOWN2WWF1dHRuSjU5anZ0dEpQY2ZQUE5zYWRHNmxrYWZVQ3FvVHBZdnB1bWFKcG00bW5FCklm
dVJuM3dpK3JzUUxXZWMvWmg4ZTNnK3ZEcXFDQVZSTlNTQjFYeCtoNlJtNFloRFVDaUlnRGdiY2tL
NlZseGpqREZqeHJnK0lFUVgKSURBSTBXdkZpRjZPSERuU1laUnR6bDk4OFlVclk3M2xsbHRtT3lU
djlsSS9oN3dUc0FNTUFVUEFFREFFREFGRG9Db1FTRVJBMG5LMApJUTJVcUtWL0NDbFVEei84c091
ZmdGT0k4QmZ0QkVZSGNadzVITVFvbzhjRnpqcmFDYUluUVNNRkMwRndPVFFnNVBwVHlwU0tTQkFv
ClJQV0luVW5KSXNVRkVYcmNlYVRWQjZRYXFvTUZuMGZVWjRUbEZHTlNxTFJKb21qNmsraUtmT2FS
RkVtTHFRWFBQREh3RGVMTUN3MEMKVVRFME9VUTNJSzFvUFhnUGZnNmNtdk1qRVRqS0p0TVlrdk43
OWVybHRFejBXOEZJd2FvRlE1UEZnZ0MvMlJrelpyaG9VRGgxakY0Zwp4VGIzTE5WenFBV01iWTZH
Z0NGZ0NCZ0Nob0Foc0JDQlJBUWtUVWY3bEZOT2NRU0Q5QzFlUkROd3ZsbEp4ckdqVWhiNkRmUVE3
STh5Ckt2ZFFLaFM5aUU5OThzZVJha1BUdlhJWU9nTGY4K0dHRzI2UXh4OS8zS1cxNE9pU081OWtO
VDJ0UGlEVlVCMHNIL2EzM2xwWGxsZGIKbG1pVVNOUUpGam4rZU5HR2Z2bk9UTFlmeDVvWDVwOFY1
TUEzdlF6dVR6SXlwQU94T1dTR1owMDZvUDhkZktLaEd3b1JCTXRNSnhtNwpuTWNpTUY5UGM5elFU
RUdtMml0SlkzRWdUT3FMblZNUTV6U2ZRN0h6c3ZNTkFVUEFFREFFREFGRG9Md0lKQ0lnM21sZ2lz
VTYyb3hCCkNzelpaNS90OUNPUUNBaUhGNDJ2c01JS2JqVTJWeWxVNWtOZU9pdXp3WHgreHQ1Z2d3
MWttV1dXNFdQSmpaU2RzV1BIeXUyMzN5NDAKQUVSSVQxb1p3bkVpUFVSNDRocU5DeG1EeUk4blZl
Z1R3dmVYYnp6RTdIUlVweFF3MFNEdlZCYVR3NS92bWtuMzYyUFQ1bjBpVjE0cApjdjc1ZFUwS05a
RGttaFVpNTFsNTVhUWpaai9lRXhEZWllUlI2SURQd2ZLOC9wZ2thWUNVMlNWdGJ1Yk1tUTVyeG9P
WWpCbzF5dldGCnlUNmo2dGxEQklUR2hMZmRkcHNjYzh3eExnSjV5U1dYdUhldzRuOHhMZk1ZcC8w
YzBwcWZqV01JR0FLR2dDRmdDQmdDcFVjZ2NSV3MKQVFNR09KRTBUaktSQ1ZiYWc0NTJPSFVqMnky
UUkvL1dXMis1TkJXaUJIUXB2MVdYeE9PZTc4Y2wyb0Rlb3RKR05BWUNndEhZRFhKRQo1SU8wbnlR
RzhaZzhlYkpMTzRPNElMQkhuOENLOUpWNDZqR055bVRCanZVUU5jYlpSY1VVU1RyV3g3eGN6TVBx
b2hEK1lPVnRvbGwwCmN0ZGRvcyt3Yml0OVA1QVpFQkVKOUtqMHB4VDBUdlVsbkdqS1NQTmNjSDU1
K1VnYmhJR1hUOGVpZWhuUGpzaEduQ3BZUEh0U0NlKzgKODA1NThjVVhYZFNEYTZFTDRuY2RaVWty
U0VXTkVYL2Jnb3hEZlJVc3Y1RktiUkJjR21sU3dRM2ozaUhENXlzekpQMHF5cExlUTVyUApJV28r
dHMwUU1BUU1BVVBBRURBRWFnT0J6TEpSTWVaOCtlV1hTOCtlUFdYNDhPRXlaTWdRZHdhcEorOXFF
bjljOGtEWnp4MTIyTUVSCkVGSlZLSTlLNUFQQmR0TEtVZWhBb216Q2hBbFJtMHUyRGNjV0FUTWxp
cWtNUm84Rk1FbGlpSms1NTRrbm5uQkNhWHFMc0FMOTFGTlAKT1d3cDdSckhjS3lQUGZaWTUwQkM4
aGluUjQ4ZWNzODk5N2l4MGN4VWc5SHRYTFB1NnNrSGM2THhpN3VuWGdBQUlBQkpSRUZVOWxsbgpw
VHM3SWhxaytQRWVqRzdnZEVNWXZQbjkvdDF2ei9ZT3p2d1BiS3NOVGtoajZ0U3BrMUNtR2tFM2ZU
WWdJYlZncEkreGlPREpCM01tCnFrYy9relFOWEV2eEhOS2NvNDFsQ0JnQ2hvQWhZQWdZQXFWSElO
bnl2TTRIUjl1THhQMzBXT1YvOU5GSHRWdjFjckxPT3V2NHpWbmYKRVpWenJMZVZOZGVHN3VlVW9H
WEZGWklUMXhDaEkvb09SaHBJZzZHOExLdityR2FYdzhJUkIvUXNPUDlKSWc2UUtURFlmUFBOM2J5
cApUa1JlUGhYQ0tGbjg1Sk5QT3AxQnZ2dEpxMk45dnVzVXUxOGJoU3V4YWppS2NpWFgvYnpobnVL
MytCUWdSbnI3N2JlMTYvbzFMbFd2CmMrZk9qdXo1NkVqd3VHeFhKV3BDSkE4aWdoWnBpeTIya0E0
ZE9yakQrZDE1UFVpMjg2dGxPOFVUb3NnU2tSSDZvcFRDZ3ZnVyt4eEsKTVQ4YjB4QXdCQXdCUThB
UU1BUktoMERpQ0Fncit3aFcyN2R2bi9HaS9DeTZoNGtUSithZExTdlBMNy84c29SVFFVaFhJUVdK
YWpseApqUlZWVnZTSm5QZ1hEZzFhQnlJcjViQTBJdzU3YVdNTUNCNnBiWTg5OXBqY2ROTk5qcENS
TnVXZDIzejNoRE1KWVVFNzRvMDVvZ2VoCkEzMXdwZHZ2cjhRN3ZVQ2lqTjUvdnFpWkxwckw4ODlI
SFpWc1d6RHk0Yys4L3ZycjNVZHc4U3Z6YklnNjFwOFRma2NEY3RKSko4bnAKeXFhb3VuYVdobThv
dTB3Rk4xTHBhc0d5OVpkQkorTXJYNEVKbXFKaUxRcmJOSjVEc2ZPeTh3MEJROEFRTUFRTUFVT2dm
QWdraW9EZwo2Rjk0NFlWeTlORkh1M0s1T0JQZW9YamxsVmRjeDJUU2hhajhRNm5kWEViWldsYU1F
WjhqbUtZTUtBWnBnSUNRZWhUSDBGMlFYaFEwCkhHL0U3VjdFSGR4WGlzOXBSUnpRRWhBQklTVUdC
OVliNDdNOTJEWGU3NHQ2SnhwRTJoVXYzN0dlaWt3UUc2SXFqRjhOMXIrL1NKOCsKUk5XeXorYURE
MFFVRnRWU1pEOG0zeDUrUytIZkU1b05pQ3IyZ1Y2RTZCS3BoVmh3ZGQ1dGlQRUhVcjNycnJ1NkYr
TkNISGZmZmZjWQpaMWIrRU5MRnVQZGdGREU4SzEvTkxVNkVNM3l1LzE2TzUrQ3ZaZStHZ0NGZ0NC
Z0Nob0FoVUwwSUpDSWdyS3F6RXUrMUg4SGJJb2VjCnFFUGNmaGVJZTZrY2RjUVJSN2p6YUJDSENC
ajlSQzVIS0hoTlBoT0pDUnZPSUQwNDZFNU9YbjZwTFYvRWdaNGNjWXowdGozMzNGTnUKdWVXV2dw
emc0RFhTNmxnZkhEUHR6OEFDd2NoRlFMaW05cW9zeW9KRW1ZRkkwYVBpa3lmUGJJUElkdS9lM2Yw
RytWNk1JZHErNElJTApYR3BXTWVPVTYxeitUOUJpNWZ1L2E5ZXVYVkZUS3ZkektHcXlkckloWUFn
WUFvYUFJV0FJbEF5QlJBU0VXU0MyUlVTKzFGSkxaVXlLCkZmcWtlZ3NxRXozNDRJT3VVZCtrU1pO
YzVHVFRUVGZOR0RmZkYwcmVIbmpnZ2ZVUkY1eEx0QmQzYVdtbFFZTUc1VHM5bGYxcFJoeTQKbjN5
R0k0ZkdKVnVGSlg4KzZVRzhzRzdkdXJuM0pGb2RkMElKLzJpV21aWXNMdUVGQWtNSG94cjB1cURQ
VE5Eb0MzTEhIWGU0eW1IQgo3ZmsrOHh5aVV0cDhsL1ZhMElFUUZhT1FSRG1zVk0raEhITzNheGdD
aG9BaFlBZ1lBb1pBT2dna0xzT2J6bVhGOVJzZy9ZcjBxV0NuCmN3aEU4SHUrNitIUVFIeUM1SWQ4
ZnJRcTlHY29weEYxUVllQ1EvcmNjOCs1T1NIa1RXS2tXZlhSdkNTaUlkbU1sQ0hTdGRCelpEUHUK
LzZHSEhoS2FSd2FOOHFxa3dsQVJ5L2RjQ2U0djdlZEdHY05ydHA1R0hUSTJ1UzhVTUF0bDFUVThL
TUVXeXI5UzlBQXlCcTc4Wm5oUgphcGZuUmNTTTdid1RoUU9mdUdWNCtmMlNsdWdKSHRQaU40d1dC
SEYzV2lWc0U5eHV4S0c1eS9BU29ZdUtYRkloTE5mdnQ1QXl2R2s5Cmg0aWJ0RTJHZ0NGZ0NCZ0No
b0FoVUNNSUpJNkFwSFZmT0g0NDJ1ZzFTSDN4WklRU3RNZlREanVtb2ZYQTJRNDY3T2hJNk1sUVRr
TkQKZ0tZbEhIRmd0VDJKRmdCbkVJSVJ2SitvKzhpbGIwbFRxeE4xN2JTMmFic1VyV0FtbXZxemNF
VDEzVFc2STFyQlRKVEFMZHhlclordQp2ZlphcHg5NTVwbG5YUFNFNGdyOEppbVpEQUdwQlVORVR6
UXRtSUpGU1dpS1JJd2VQVHFEM05mQy9kZ2NEUUZEd0JBd0JBd0JRNkM2CkVRaTRmdVdkS0RuNGtB
LzZKbENDOSs2Nzc1WlRUejFWVmxwcHBVUUVoSDRYWVdjZFRRWkNZRmIvdzQza1NuV1hrQXlpRjhH
NVVIbUsKVldRNmthTnhpV05VdjRxVGhwVnJyRFMxT3JtdVUrdytEVlJwQmJOTW9xRlNCTlVFVVl5
Z2VPMUhzZk9MY3o3RkUzanhuSGZlZVdkWAprZTJBQXc1d1dwNXNQV3JpakZ2T1l5ajZ3UDlLVUtq
L3hSZGZPREtOK0p6L1NUTkR3QkF3QkF3QlE4QVFNQVRTUXFBZ0FvSnpUNFFCCjRTck5CM0c0Z24w
OTRrNk9sQmR5enlrOVMvNDlqZzRPRHlsVXdaU3FYT05kZGRWVmN1S0pKOWF2M3FLUElCVUtZa1Az
Y0tJcjVURFMKeGlBN1FTZU9lNkZKSFFTa1k4ZU9zYVpCUmJBMExKdFdCKzFPY0k1cFhLdlFNV2dj
SDA2MW9uS3dCaENLRnA0WE9xZWs1MDJmUGwxZQpmZlZWUjZMUmUreW5ZUjMwSC9RSUNVWVVrbzVi
enVQLzlhOS9OVWkxZ2p4RGhvMThsUE5KMkxVTUFVUEFFREFFRElIL0RRUVNFeEFjCmU1d3NvaGZr
aDlQc2p4eDRlaW5RTUMrdTBhbThUWnMyVG5nTzJhQ1BDSnFGRlZkY01UYjU0RnIwWCtBVk5ycVNi
N0RCQnVITkpmdisKMy8vK3Q0RW9IQ0kxWU1BQVYrVXI3b1Z4WE5Nd21qbFdud1lrODg3YXQ4Lzh6
amZscEVvZ1JTdVlpVll3YTdpLzJyWlF0UXc5Q2VsVwpoeDkrdUl1QXpaZ3hRNDQ3N2poWHNLRVFZ
bDd1ZTJ6cm02NEVMc3p2RU9MODNudnZ4ZTQvRXpqZFBob0Nob0FoWUFnWUFvYUFJWkFWCmdVUUVo
T2dDamhhZHVtL1NQZ2QrZFhUV3JGbHVPM25rK2ZwL01CTjZVdEF6QWFFdlBTbTIybW9yMTgwY1Fv
UGpoZzRrcnUyenp6N1MKcjErLytsVjlVcURvckU0YVZ0d29TdHhyNVRvTzhYTFl1RDU2akRnVnE4
TG5Gdk85VmpRZ1ZNRFNBbWI2bTZtN1cvUWZXc0JNSzVpSgpWakFyQm9ITWMwa25RbnhQNVNzNmV5
UGdoeHlTZXVTakZUamNpeSsrdVB2OTh1NTdwZVJMNFNQcVFWbHEzOGVHSy9QN3UraWlpNG91CnBa
eDVGNlg3ZHU2NTU4b3V1K3hTbnlhSS9nTWQwaU9QUE9JSWRGcFhMdVZ6U0d1T05vNGhZQWdZQW9h
QUlXQUlsQjZCUkZXdzZQU00Kdy9YbW0yOW1PRnhNazhaNVZQK2hHM29jdSthYWExenFGZWtyT0Rx
ODZMU011Sm95dW5ISkE5V2NldmZ1M2VDU1NjWGZEUVpJdUlGVQpOSVQwd2J4LzBuT0lHS0VQb01O
N09ZMVVyaEVqUmpTNFpOSitMUTBHS0dwRG80eXpOWENnenpsVEE0SXVSR3NLYUFXempFT0wrbExL
CktsaFRwMDUxVWJ5a0UweGFRU3JwK0puSDU2NkNSZU5RMHZLQ3FYbVFNM3IwSEhYVVVabERCYjRs
dlljMG4wTmdHdmJSRURBRURBRkQKd0JBd0JHb01nVVFSRU5KSmlDemduQVNOQ0FoTkJZbHF4TFVq
anp4U0ptZ2FGaG9KWGhkZmZMSHJMOExLYzF6eXdiVklleGsyYkZqUgo0dSs0ODg1MkhOM0tuMzMy
Mll5NWd4ZE5CWE9SajV0dnZ0bDFLQTg2ZjFIWFFMUlAxYkM0aGdaazRzU0o4c0FERDdoVW12YnQy
enROClRDSDlXdUplTStseGFEMGdHeHEwcWpmRTUyVXVZRlovN1RnZmlKZzgvUERETGcyUjQzSGVv
d3lkRkdUVVJ3bWpqcW1XYlJROWdHd0UKQ3lpZ1grSi8yc3dRTUFRTUFVUEFFREFFRElHMEVVaEVR
TGc0SytnMzNuaWpJd3grTXZTVGdKUWthZnhIM2p5cFYwRUxOemNNN3N2MgpPUzN4ZDdieDQyNGZO
V3BVN09oUGNFenk3SEZTYWNxWXpVZ2JvclF3VlpaYXRteVo3YkNNN1doUyt2ZnZMeEFQQ0I3a2lN
Z1NxVFowCnM2OEcwd0ptR2VTRE9TbS8xUXBtb2xXWlJFWDkxVERMekRtTUdUTkd6ai8vZkVlMlNk
VUtHMmxlSTBlT2xGdHZ2ZFc5d3Z1cjhmdEIKQngyVVFUNllJN29RMHJCWVhJajdtNnZHZTdNNUdR
S0dnQ0ZnQ0JnQ2hrRDFJWkNZZ0tEL1dHMjExZVNOTjk2b3IreEVxaytYTGwxaQo1N3hEVms0NTVS
UW5QTThWSFlnRFYxcmk3empYeW5VTXFXZUZWZ2REKzlLaFF3YzMvR09QUFNZSTZKZGVldW42eXlF
RUp2SkVDbHdjClo1QUtScFFuN3R1M3I5Q25ncFZ0eU9IQWdRUGROaUpWbE9xdHRHa0JNNjFndHJB
UGlFcU1uQUJkczlZMFdoUGRwTERTYzRZMER4OCsKM0ZXNUNzNkZDTmhOcW9zaTVZNlN5enpEV3JI
YnRSd1p2eFVmZVVUclJZVTdmb3U3N2JaYlpKUENXcmszbTZjaFlBZ1lBb2FBSVdBSQpWQjhDaVFr
SU9nOVNlNExFWVoxMTFuRmRwT1BlSGowSDBJQWcxZzJPdy9sSlN2QnlmTFdJdnd1dERvYm14VmZ4
UWlqTnFucFVCM2ZFCjlrUXo0aGpPTUNUazBrc3ZiYkN5VGE4U3REWmJiNzExbktGS2VnekZ5eUlL
bUtuekxsckJyS1NYTG5qd1paZGQxajBmQ1BTbW0yN3EKbmdrbHBORXc4WHhvaXVrTExQQy9VZ3My
ZE9oUTRSVTJ1cmpITFI4ZFB0ZStHd0tHZ0NGZ0NCZ0Nob0Foa0EyQnhBU0VDTWpreVpPRgoxQ2R5
NFRmYmJETlpacGxsbkw3Z3lpdXZ6SGFkak8yVTN5VlZoVDRnUWFPZkJ4RU5WdnhKMFlwajlCREpK
djcyam4yY2NZbzVwcGpxCllFRmRCOVdIc3ZXT29MUXIzZGEzb1hWNEhpTmFRb1NEVXNuZUlDU1VT
cjdpaWl1RWJ1dlZZTXFwdElLWnFQaTVialpvUVpTVHVqU3MKSmszU255SFBDVU5QYzVlVzJ1STdH
SGtCOWs0NzdlVFMxdkpkbWQ4ODVJTzBOcUlIVkcwNyt1aWpuUjdKLzI2cHFzWC9TQzNZRGp2cwpJ
TDE2OWFyL255TmlSckVKMHJCOFZDVE4rMGpyT2FRNUp4dkxFREFFREFGRHdCQXdCTXFIUUNJQ2dv
UDg3cnZ2T29mTHIvYWkvM2pxCnFhZWNvUHl6eno3THFXVUkzbGFZZkxDUFZYbWNOdS9FQlkvUDly
bFE4WGUyOFFyWlRublJMNy84c2tIak50S2xjRXdwd3h1bk9oaWsKZ1dwaXBQalFVd1VpZ2ZZRDR2
RDg4ODgzSUd6WjVncUp1ZTY2Njl6cnpEUFBkSWRSK3BoYy96UE9PS08reEd5Mjg4dTFIUUtpdm04
RAp1LzkrRVcwc242cDVwNWRCNlZwUGVoSGxpcjFSL0lDbW1IRi9leHdIRWVHRk1IMzA2TkVDMWtT
MElES014LzhMNUx6YURRTEN3a0xZCndDanRTRm5henlFOFovdHVDQmdDaG9BaFlBZ1lBdFdQUUtJ
eXZOd09QVGR3a0ZrWnBSd3ZLL000eStTTWs1cUZFeGZIQmc4ZTdNNGoKZlN0b3BLMGtXVGwrOU5G
SFl6bjN3V3VVNGpPRWpJaFFNR1VGQVMvM1NVb09Pbzg0aHM2RDFXaFcxeUVrT01tc1NJTTcxYjZT
R0IzaApJVVliYjd5eFBQZmNjKzZaeFoxSGt1dkVQell6cXFWTjJVVXp3dlQrRm82Z2dSb3RXeXhh
dVV0VVM3RndlekdmeG84Zko2Uk84WXlJClRFQWVjSzZKMkNId0p3SkNmNXVlUFhzNmtzZHZteDQx
cE1TRis0Qzg5dHByT2FlQ0RvaktZeEJKR25RRys0TUVUMHhhd2paNGJ2TFAKdWN2d1FxSTZkKzZj
RVgyalZ3cjNPbjc4ZUpjV0dIWE5wUGVRNW5PSW1vOXRNd1FNQVVQQUVEQUVESUhhUU9EMzVKZjRr
eVhsaVpYMApxNisrMmpseE42bndscTdiVkZieVF1bzRvNkdaUVA5Qm1rZGZGY0JTT1lqVi9odHV1
Q0hPNmZYSHhJa3MxQjljd2crK09sandFa1NIClNDbERkeEhYS04zN3pEUFB1SWdTZWdMU2hTQVJT
Y2tIZUs2eXlpcU9mSER0YnQyNk9SSkUyZDlxTVRLVXFIUUYwZkF2c3NhMGFKY2oKSUduTms2SUg0
ZExScExLaGNjQWdKbHRzc1VWOTlDTzRTcDkwRG94Skt1RlZxckF2cEtwYjB1dWxjVHc2S29UejZJ
LzhpNVE5ZmpNUQo0clNzbk04aHJUbmJPSWFBSVdBSUdBS0dnQ0dRUGdLSlVyQllGYVdQQk9rbHJQ
QjZJdzJLN1VrY2JhSWxNMmZPZEdWOWlhaXc0ay9aClQ5S0hLQiticnkrR3YzYTF2S2RSSGN6ZkM1
RVRTdVlTVmNKSThZblRZZDZmenpzcitwQ1dvS2FFVkRIR0pFb1ZKZDRQbmwrT3o4ck4KWkpOTk1x
OUVJOElCQTBUV1dpdHplN0hmb2xLcjZDRnp6REhIYURmMkExMTB5Qi9qMytOY002cmhKWVFSRWxN
ckJJUUZoSEFra21JUQpsQnVHeEtacFVkaW04UnpTbktPTlpRZ1lBb2FBSVdBSUdBS2xSU0FSQVNF
VmFNODk5M1ROOWFJY2lhUlRSZWg2d2drbnlOLy8vbmVoCm96bWtBMGViMWRkcWNKQ1QzZytyeGVn
MTZPM0JxdnJCV2tzMjJCazl6bml2dlBLSzYvZUJub1p6d1FGdEFaR1FKSTBlMForc3BWNTgKOFBx
UVJ0SzdpRFJsU3cyS004ZTBqdEZiYTJDYS9hUnBaNks2bVlia3BNSEJCV3lBR1BqZkx0RUttdkR4
empaVzZObnZYM0dHUjFPRAovdVBzczg5MjBUek9nVERTV0pOSWlJK3l4Qm1yVXNkRTZiRklRL3Yy
MjIrRlR1OWhjcExHUE5OK0Rtbk15Y1l3QkF3QlE4QVFNQVFNCmdmSWdrSWlBNEtBZGYvenhMamVj
eG5tK2x3UXJ2c1dJYlZtbFoxV2UvSG5FMDJoS2FzMklOaFRiK0ErbmpQUTIwdGtRTXFQWFFMTkEK
Wk9pNDQ0NlRIajE2dUZTWk9OaXdxazNwM3FEeC9FaWhROXhlRGFaVDBRcG1vaVJwNFd5bVR4ZnRw
UkZkbm5maFVZVi84dVNERWNCNwp3dzAzZE84K1BjaVREOTdabHMvUWphQ0QybU9QUGR3ejJtKy8v
VnlmSEloNnJSaS9MZElGZzBRRUVvMU9oa2hhS1N6dDUxQ0tPZHFZCmhvQWhZQWdZQW9hQUlWQWFC
QkpwUUloUWtHbzFZY0lFdDJMODZhZWZ1cFgwVHAwNnlTR0hIRkwwRE9reWpUQ1lWSzg0aG9PSVVK
WlgKc0tJUmhLaWNSc1RHTi80amRRb1NCVmtncWtPSjF1RGNjczJMQ21Qb1lVaDlJYVVMOG9FUlRT
RktSSFFrcm9YSkIrY1JWU0ZsS0pnKwpGM2U4VWh5bm1YdWFlaWVLMGNJWEl2UmJiaEhWQjZWM1Jk
S0pnc1RDajh6dkxCdng4TnY5c2RuZXFYcEYxT3VJSTQ1d1VRL0lJeEdtCllPUXAyN25Wc3AxVXlG
ZGZmVlVtVFpwVS93S2JDeTY0SUtPb1FySHpMZVZ6S0hadWRyNGhZQWdZQW9hQUlXQUlsQStCUkJF
UUdnaWUKZlBMSmJsVVVodzRoTHl1WlZGdWFya3ZYOUpkZ1JUbU8zWDMzM1k2OHJMMzIydldINDhU
UmFacFVyemdHSVdMbEdlZDgvLzMzRndnUgo1MU55bGdoQ3VRVFhhVFgrNDM2b1JoUmxWQnlMbXdx
RDh6eHQyalEzREdsdVBsSkZwT25CQng5MGd1dW9hNVI3MjZoUm9oWE1TbjlWCmZxdEI4OUdOSDM3
NG9UNzZRZFVyOE9HZDlDTXd4R0hPWi80OGZydVFUbEt5ZXZmdTdRamtBTVFzTldDUWZpcGhsZHBL
K1J4S1BYY2IKM3hBd0JBd0JROEFRTUFUU1F5QVJBZkVOeXJnODFhb2VmL3h4MXdFYVVUck9QODVZ
SEtNSkljSmZIRHljWTRnTTFheDRqUmd4d3BXdQpEWXFuczQyWkppSEtkbzA0MjlOcS9FY1ZNUnhZ
Y0tFQ0Vhdm9sTStsMURCVnJTQWhjU3dmTVNOdHFCb004cUY2ZTIzbUo1cCtKN0xpCmlxTE9lMTB6
d2pUbkI1NCtva0cwaXRlUFAvNG9sSHdHSzBnMDcveCtlY2RSNWh4ZStZeTBRVytycjc2Nks2ckEv
OFkxMTF5all2cmEKSUNDUUQvQ2dqRFRSRzBvVzg3OUltbVdhVnNybmtPWThiU3hEd0JBd0JBd0JR
OEFRS0MwQ2lRZ0lKVHJIamgzcnVqOVRYaFlCTDQ0SwpKV2dIRGh6b0hKZzQwMTE2NmFWZFIyNDZt
SlA2TVc3Y3VQcjBGWWdIQXVwenpqa243MUJwRWFLOEY4cHpBSE5PcS9FZk9PNjIyMjd5CnpqdnZ1
SlY0bkRhcUtkMXh4eDJ4KzZOVUN6SExBNXVtbElrSzdra05xOU9CSUVxbmI2THE3VlZ3bisvcytQ
c2hGcVMzRVJtak9TRHAKUlpBT0JQNmt1ZkU3NHQxL0pnSUM3aHhMbWVoY2hzajhGczBaUTl4UEtW
dCtDK2dtaU1UeE82OEZlK09OTjV4K2lWUkJkQ0M4aUlvZwpwTytoVVoyMHJKVFBJYTA1MmppR2dD
RmdDQmdDaG9BaFVIb0VFamNpeEhtN25TVnJOUVMzT0c4NEZuRWlGdUhiSWVjOFdMcVhLQXFrCkJn
SUNPVG5nZ0FQQ3B6VDR6aW96MVhvZ1JEVHJvejlKa0JDeEtsMHVTNnZ4SHl2MHBFcXh1cjZpaGdY
b1ZNMnFkRnlqZ1I0TjVDQXkKUkpRb2MvcklJNDg0c29qT2h1ZTF5eTY3eEIwdXRlTWFEV3FVMmxq
bEdtakJ3TXowTGJ1SGNpR2ZlWjN3YzhqY2E5OE1BVVBBRURBRQpEQUZEb0pZUVNFeEF1TGtwVTZZ
MEtEZEx5ZGNrUm1vUnBJVm1oS3c0ZTBQUVMzcFdYRXVURU1XOVpxbU95NmJkS0tUS1dEVVJNNCtY
Ck9lOGVpZksraDUzM1A4SnpLQytDZGpWRHdCQXdCQXdCUThBUVNCT0J4QVFrWEc2V1ZLRTJiZHE0
RlhVcUFNVXhVajNRVGJBUzMwTGIKWVpQbVFTclh0dG9DTzl3M1llN2N1VGw3Z2xCcEN0RnZMaU5D
OHZ6eno3dW9TcTdqcW1IZmFxdXRWaStxLzFuYmdoY3FxcTlHWXZaSApjSHp0SGlyelh4SW1VWlda
aFYzVkVEQUVEQUZEd0JBd0JOSkFJQkVCSVRXSTlDZ3FUbDE3N2JVdS9XclFvRUZPLzBINTJNR0RC
OWRYClhNbzN1U0ZEaHJoK0YzUkFKMTJJMStUSmsxM0tFVVNFVi9mdTNWMHFFbWxaMll3b0N0MmFj
NVU5UmZTTzhQcjY2Ni9QTmt4VmJFZTcKY2VlZGQyWlVHU010alZRMXFveEJLdUpXR2F1S0d3cE53
cHozRUNCbCtocDIzdjhJejZGTTBObGxEQUZEd0JBd0JBd0JRNkFFQ0NRUwpvYWRWYnBiN2dGU2dT
MENMZ01ZQlF5Uk1aUzNJQ01RR0RRVDdjaEVRT25xakZ5R1M0dTI5OTk1ejZWMGRPM2IwbTJJVG8v
b1RLdkNoCldrVDFGYmgxdTZRaFlBZ1lBb2FBSVdBSUdBS0d3UDhJQW9raUlLUk1VUlZvNnRTcHN0
eHl5em1JVGovOWROZXM3Tnh6ejNWOVFDakoKbTVaQmVGNSsrV1haZmZmZHN3NUoxR1M5OWRacnNK
KzBMS0lKUVgxSmc0TlMzakJMYThvaTBQZmljZWF3OHNvcko3cEtOV28zRXQyQQpIV3dJR0FLR2dD
RmdDQmdDaG9BaFlBamtRQ0FSQVdHYysrNjd6eEdRTTZtWHFrWjBBbDBJL1NzZ0llVTJ1b01qWkEv
YnZ2dnVLMGNmCmZiVDg1UzkvQ2U4cXlYZm1zYlBXbEtYYk9PbGdsSGdsWmUwMnJTbTdhNEthc3RX
bzNTZ0pZRGFvSVdBSUdBS0dnQ0ZnQ0JnQ2hzRC8KSkFLSkNRZ29wVlZ1TmczRU8zWHE1TkswdkFh
RUpuTDBmSUFvMFprOWJ2ZndZdWJDTmVub1RxU0dEdXdiYmJTUjZ5bnh3UWNmeUhISApIZWY2Uk5B
aklvNjk4TUlMc3ZIR0d6YzRsRjROd1pTeUJnZUVOdEJrajhaeWtMTlZWMTNWN1VYVVRvOEhNMFBB
RURBRURBRkR3QkF3CkJBd0JRNkJTQ0JSRVFDbzEyYWpyb3B1Z2c3Z25JQnl6MGtvcnlUNzc3Sk9v
bkcvVTJIRzNVUW5zL3Z2dmx4TlBQTEhCS1JNbVRIRGQKdGJmWVlvc0crNkkyMEpXYTFLM2cvUkFW
b1M4SUhkRXhya1hINm1PT09TWnFDTGNONGtGNkd0b1lpQWpqVXEzczRJTVBkazNtc3A1bwpPd3dC
UThBUU1BUU1BVVBBRURBRURJRVNJcEJJaEo3bVBKNTQ0Z2xYbFlwVXBlMjMzMTcyM252dmdvYW5B
V0dTRktlQ0xwTG5wTWFOCkcwdm56cDBqajNyenpUY1RSV0dvQ2thZmxTQUI4UU9qdlNIU3d2dTBh
ZE95RWhBNmVCTUZBdVAyN2R2TGFhZWQ1bExSbm5ycUtZRVEKa1NhMndnb3IrR0h0M1JBd0JBd0JR
OEFRTUFRTUFVUEFFQ2diQWhXSmdQend3dy9PTVNaVkNXRTdhVWVVbDczcHBwdGNmNUNrZDUrRwor
RHZwTmNQSDkrblR4M1Z1NzlhdG15TVBORm9rWWpGeTVFaUJoQVNyZElYUERYNi8vUExMWFIrUVJv
Mks2eHBPVi9qaHc0YzdFVDdYCm56RmpoaU42bjN6eWlVeWNPRkhReUpnWkFvYUFJV0FJR0FLR2dD
RmdDQmdDNVVhZ0lnU0V4b0IwT3g4OWVyUzdYd2dFZlVYb2dvN1QKdnV5eXk4YkdJUzN4ZCt3TFpq
a1FKMyszM1hZVDByR292UFhycjcvS1Vrc3RKWGZjY1lkcnNwamx0QWFiRWE0M2E5YXN3WFp3b2ZK
WQpYRTNMUXc4OTVQRDBJbnhJQjlvU3RsOXd3UVhTdFd2WEJ0ZXdEWWFBSVdBSUdBS0dnQ0ZnQ0Jn
Q2hrQ3BFVWhNUU9nb3Zza21telNZCkY5dVhXV2FaZXNGemd3TkNHeTY1NUJKSFFudzVYM2FUV2pS
aXhBZ2hDaERIMGhSL3g3bGV2bU1nRDJnMWZCbGVlcGdrSVZPTVQ3b1UKSklHbWhFR2JQWHUyMDVM
UStkMlRpdUQrNEdjMEk2MWJ0eFpLSXBQaTVvMlN3S1M2NWRLTytHUHQzUkF3QkF3QlE4QVFNQVFN
QVVQQQpFQ2dGQW9rSkNHTHFRdzQ1Uk1KVm5VaWpvaU01cFdqLy9PYy9TNzRVb2xkZmZWVndwdWxR
dnVtbW05YmYyM1hYWGVjNnBDTXV6MmRwCmlyL3pYU3ZmL2pTSTJWZGZmZVVJQytXRFYxeHhSWUZn
OGNLSTlCQlJBZHYrL2Z0THExYXRjazdwb0lNT2N0VzM4ajJIbklQWVRrUEEKRURBRURBRkR3QkF3
QkF3QlF5QmxCQktMMEJFeTgwSjRIVFFjWlZLUGpqLytlS0UwTGswQVYxOTk5ZUFoOVo5SndTSWRD
UDNIK2VlZgpMOXR1dTYzVFQ2eTIybXF1RzNvYzhzRmdhWXEvNnlkWDRJZVRUanFwYUdMMnB6Lzl5
Wkd2SVVPR05KakZmLzd6SDFscnJiV2NWcWJCCnpvZ04yMjIzWGNSV2tadHZ2dG5OTTNLbmJUUUVE
QUZEd0JBd0JBd0JROEFRTUFSS2pFRGlDQWlPOXFCQmd4cUlxdSs5OTE3WDlSc3gKT1NKejBxaDhz
OEtvZTdqbW1tdWNadUwxMTE5M2xaa2VlK3d4MTdjRDhrTDUyTGdyOTJtSnY2UG1tR1NibjI4Mllz
YjJmTVNNNjQwWgpNOGFsdUJIdENCb1JveTVkdXNUdTdFNzYxUVliYkNCTm15N2ttRjk4OFlVZ1Fx
Y0tWakExSzNnZCsyd0lHQUtHZ0NGZ0NCZ0Nob0FoCllBaVVFb0dGM21uTXE1RCtFMVhSaWFnRkVS
RHN4eDkvZENRaTE1QjBVQ2V0aUJLOHZEQ0lDNlZqMFRCRUNiR2p4aHM0Y0dCVzhYZlUKUEtQR1NH
TWJQVURTSUdibm5ITk9LbjFBV3JaczZTSW13WEsrVHovOXRQVHExY3YxRUZsenpUWFR1RzBid3hB
d0JBd0JROEFRTUFRTQpBVVBBRUVpRVFHSUNnczRqcXV6dExydnNVbjlob2lUdDJyV3IveDcxQVNI
MGpqdnVLRGpDbmlpZ0s5bDY2NjFqa3cvR0pTM3B0ZGRlCksxcjhIVFhISk52U0ltWnA5QUZoM2tT
Z2FNWVl0TjkrKzAzMjJtdXZna29kQjhjcDlIT2pRY1dWRmk3MHVzV2N0MkJnblFiSGoySDMKNEpF
bzczdjRPWlQzNm5ZMVE4QVFNQVFNQVVQQUVFZ1RnY1FwV0hISzNtWXJKUnVjT0tsVFZIdjYrZWVm
cFh2MzdvNk05T2pSdzBWQQowSkVVYTU5KytxbExOU0lsckZxTTBzTkxMNzIwUkdrOC9CelQ2Z1Bp
eHd1K2szNUZKYXhISG5sRXR0bG1tK0N1c253MjU3MHNNRGU0ClNOaDUveU04aHdZM2FSc01BVVBB
RURBRURBRkRvR1lRU0VSQTBpNTdDL200Nzc3N1pQRGd3VTZyOE5KTEw4bEtLNjBrNzczM1htd0EK
eDQ4ZkwwT0hEaFcwSkVINytPT1BaZHk0Y1hsTDFnYlBLZlhuT01TTVkrYk9uU3UzMzM1N2ZUbmYz
cjE3TytLUWRINTBWS2UzQ2xpMAoxNDdvRUtBUFAvelFpZjdqQ3YyVFhqUFg4WDhFeDlmdUlkY1RM
dDIrTUlrcTNaVnNaRVBBRURBRURBRkR3QkFvTlFLSkNFaXB5dDdTCnRJK0dmWkFQSWhla0NYazlT
UzRBY05iYnRtMHJtMjIybVJOdWh3WGdsS0xObHdxV2EveEs3SXNUWVlvenIySERocmx5dlJBUHFv
engKN05xMGFTT2t5aDE2NktGeGhrajlHSFBlVTRjMDFvQmg1LzJQOEJ4aTNiZ2RaQWdZQW9hQUlX
QUlHQUpWaVVBaURVaWFaVzhuVEpqZwpIT0sxMTE3YmtZMzk5OS9mcFdUUi95SU8rUUJOaUF2OU1P
NisrKzVFdXBHcWZCSTZLU0pNa0NZSXdrNDc3U1FiYmJTUnU2OFBQdmhBCmpqdnVPQ0ZGTGR4L0pl
cGVJR2JISG51czlPM2IxM1dZSjlxQlFCN0JQdHQyM1hWWG9lU3ZtU0ZnQ0JnQ2hvQWhZQWdZQW9h
QUlWQnUKQkJJUmtBNGRPc2daWjV6aEhQOXUzYm9KRlphZWUrNDVlZlRSUjJYa3lKSHk1cHR2eHBy
L045OTg0NXhnK29CUUxuYXJyYlp5bWdRYwpiaHh0S21IRk1hNVBlaElOL0lpRUJJMjBvODgvL3p4
MjM0emd1WVY4L3Vtbm4rVGhoeCtXOWRkZnY3NGJQQ2xtelpzM2p6M2N1KysrCjZ3Z0NGYldDUmhU
ajczLy91NnNhUmlQSWZQYlJSeDhKSk9UU1N5K1ZjS3BWMTY1ZGhkUXN4UDdsdGdVRE02L0l6Mlcz
M1VTak02S2sKRTBJcDJteFJOQm9ta3FXTlNlWUFNYi9kZDkrOXJySWFFYUE1YythNHo1Uk5waFF4
MWRiemZKV3BBQUFnQUVsRVFWVEFpSGYvR1FJTQp1ZVhZc0UzdFBUVmowLzMzM3krNzc3NTd4cll2
di96UzRiL3Nzc3Myd044ZjJLWEwydjVqMmQvRDl6QjkrblNoK2VXTUdUTmNieDJLCkZWQkY3Vi8v
K3BlTExtYWJZTko3U1BNNVpKdVRiVGNFREFGRHdCQXdCQXlCNmtjZ0VRSGhkdElvZTRzamVQSEZG
N3RVSy9wYklJcW0KTHdpbGVWZGRkVlhuL01XSmdsQ3VsOUs5Vk5QaXZLQ2hDYm54eGh1RG0wcjZl
ZlBOTjNlbGg2bm9CUkVoTFd5WlpaYVJndzgrV0s2OAo4c3BZMTA0cndrUzNkQ0ljRUNCdkVCTDBJ
RmRjY1lYcnQrSzNWL0pkQzVocEJUUFJDbWFpZWhmUjd1OGlPK3dnMmcwKzNWblJDd1ZNCnFPQUd4
bUJCcVdoSUk5OGhIaEJGVDBJOEFaazllM2JlaVVESVI0OGVMV2VmZlhZOUNmNysrKy9kN3hzaXVj
WWFhK1FkbzlJSDhMK0QKRmd2aVQ3UnR1ZVdXYzc5ZkNpYWthYVY4RG1uTzA4WXlCQXdCUThBUU1B
UU1nZElpa0ppQXBGWDI5c2dqajVRSm1vYUZQb0VYaElRTwo2VVJFNHBBUFlHSGxHbTBESzgzaFNB
Tk4rQ0FBNVRCV3lvbGU0TUFSclRqdHROT2MrSjJPOGR3ampmOVdXR0dGdkZOSks4S0VvM2ZkCmRk
ZTVsMjhHU2RTSjlDNGNaakN1Qm52eVNSRUNPbnZ1bVRrYkRTcG9WQ0Z6V3pIZitEMUJOSUprQXd3
Z0NoQVJma2ZzQXpkZUhFK0UKSk03dnNHZlBuaTV5c01jZWU3am8zWDc3N1NlcnJiYWEzbFBvcG9x
NWdSS2ZPMm5TSkNFeXh2OWgwR2dPbW1ha3JKVFBJVGh2KzJ3SQpHQUtHZ0NGZ0NCZ0MxWTFBSWhF
NnQwS3FGWHFOc04xODg4MXl5Q0dIaERkbi9VN1Vnd2dGanVBT3V1eU44THdRZS96eHgxMEtWeUhu
CnBubE92Mzc5WlBqdzRjNXBKUldOZEJZYUxGTDZkdUxFaWJMdnZ2dkd1aHpuN3FaNVNSQXJIRFpT
Z2VpS2praC91NFI1U2UrLy83NlEKRHJUeHhodTdWRG5HSTgydGN0WW80OUtrVzZuZnF3Umc0V1lO
VHNpTEw0cFc3aExWdXl6Y1hzeW5jZU1lbGVXWFg5NUZRWWh5UUM3UQoyeEE5SXdvQ2VmVXZUMGJB
blFoSTY5YXRNeTVOejVtZ0lmWS8vUEREM1cvNTZxdXZsblhYWGRmcGJZZ2tRRHF6UlVDU3BpOEZy
NW44CmMyWXZrL0E5RUszcjNMbXpJMTkrYktLTEhFZVZ1Y1VYWDl4dnpuaFBlZzlwUG9lTWlkZ1hR
OEFRTUFRTUFVUEFFS2dwQkJKSFFQNzYKMTc4S1RoY3J4ZDYrK09JTDUyampaSk5Ybjg5dy9QYmVl
MjhoYldubXpKbHkyMjIzdWRWNkNBa2k5Q1NXelRrS2pvR3orY0lMTDdoSwpXY0h0YVg2R1FCRmgr
TXRmL3VLR2hYUk1temJOQ2VzdnVPQ0MySmRLSzhMRUJVazU0b1doMmFrMjAydzFkZkJGb3c4TFo2
WkYwSFFsCnZvNkFkT3k0Y0h1eG4vZ05ZTHlqY1NEeVFVTk5DSWZmN28rQm9NUTFkRXo4THh4eHhC
SFNvMGNQRjJGQ2w4UnZlOENBQVhHSHFlaHgKL004dXFXeVBLSkEzL3FmNXphQ2pDcWMzK21NS2Vm
Y1lwLzBjQ3BtTG5XTUlHQUtHZ0NGZ0NCZ0NsVUZnSVl1SWVYM0VxVGpKQ01DOQpQZjMwMDlLclZ5
L1hZNExPNXZrTXA0OTBqM3Z1dWNjZCt0MTMzem1kQkNWaVNmdGd4VCt1MFlHY3BvYmVrWXc2ajlW
b1ZuUTMyV1NUCnFOMUZiMk5zQ0JYUkhMRHdoaGljN2FTM3hMVW5OUzhKb1hrNGhTZEs3Qngzekdv
OTdyLy9GWDBtbWJORGlJN2ZqajRrTGNQWjlZNHYKejRxaUJVUTN2T2c4dUQvcE5kOUd2UEs3cmI3
NjZ2S2YvL3hIYnJqaEJxZHBxaFVDUXZQTGRkWlp4OStHZXljQ2RQNzU1OWNUMkl5ZApCWDRKNHB6
MmN5aHdTbmFhSVdBSUdBS0dnQ0ZnQ0ZRQWdjUUVCR2RsbjMzMnlaZ3FLOHBFQUJENnhqRldYTGZj
Y2tzWC9TQTFoalFYCnRBbmswNTl6empseTJXV1h4Um5HSFVQelFnaEdMZ0xDZ1dtdTRvWW54N1Vo
RExmY2NvdEw3d252VC9LZGlrb1FsdUQ5SUpwK1VmT1MKcU96RlN2VWZ4YUtDWlpvbHBnUkJOR0xW
a0p3VWV0OWUvMEcwQWd6ZmVPTU5GLzFBdThPTHdnRVVSdUQzU3dwVm5LaWFud3NwVmp4MwpDRGpQ
aG1nSVVVSXF1NlV0NHZiWFRQczlySjlpZk5MMTBHUk5uVHExQVRrcDlQcWxmQTZGenNuT013UU1B
VVBBRURBRURJSHlJNUNZCmdJVEpCMU5HWk0wS1Bhdi8yMnl6VGQ2N1lIV1ZWS3RUVHozVnBTMTVv
ZXVHRzI3b1VxVllIUTA2NExrR0pPK2U2bG1WTmxhOTB6Q2MKWVFoWk1CMkc1b3hFakhDZU82YVps
NVRHaElzWUE5bVBGakRUYU5yQ1FiUWlyRlprRWpuOTlJWGJpdjBFUWVZRjhhQTZHa1FFa2hFawpj
MVFNdzlrbTVRaWRETVE0eWhDdVUrVU1zVGwyMUZGSFJSM21JaTVFV1NBMjFXNlV2aVoxTUVoRStL
MFJqWVJNcFdWcFBvZTA1bVRqCkdBS0dnQ0ZnQ0JnQ2hrRDVFVWhNUUtLbWlOajJRYTJsR3FkSEJl
ZVRjdlczdi8zTnJSYmZkTk5OVGlUTkNqSjZCZlFoUWZMQjZqK3AKTXRuc3NNTU9jLzFIN3J6elR2
bjY2NitGRkRCU3NwS2tjV1ViTzhuMjRKeVRuQmMrOXIrYWx4Uk9GWU93a2M1RDZsdXhoaWdkd2ho
Twp1U2wyM0VMTzF3dzFlZmJadWg0Zy9ueXRBS3NSQmRGK0tuNUw4ZTlvT3FnQzl1R0hIenJpQWNt
RGdCQ3Q0TG1SR3NUdmpOZmN1WE5kCnZ4WEljRlFrWk15WU1TNDFpV2FPVWZ2NURWS280ZFpiYjNX
djRtZGYraEhRWVZFT08waDZpZDZnWFVxVDhLYjVIRXFQaWwzQkVEQUUKREFGRHdCQXdCRXFGUUNv
RUJNZUY5S200aG5ORGt6UFNscWdXTlhic1dOY0xoTEsxcEg3d1RtVXNSTDNQUFBOTXpsVll1cUJU
Zll0VgpiUWdNUklSMExvVHRqRkZyRmlYaUJ4TjBDOFVJNlZuaEJ4dks4cVlWclNrVzIxR2owbTA0
bUcwKy9ENGhYUkFHZERvUUVFOCtlQWRmCnIwOEFKd1RxcFBWRk9kK2tWbEh0TEV5SzBmdEFwdW1u
UVdTRlZLNWFNZnJVVUFtcjFKYm1jeWoxWEcxOFE4QVFNQVFNQVVQQUVDZ2QKQXFrUWtFS21kK2lo
aHpwZEEra3VhNis5dHRDMGpkVm5xa2ZSV1oyS1dIVC9wb1JzdGpRUUlnUDBFem5tbUdOY0orZjIy
b01EbzVUdApvRUdEWEJkMEd2TFZrcUdsb2JGaVVPUlBwMm9jMjlNTHlFdGkxWitxWlNOR2pIQzZo
MnB5akxQSldTWk1FQ1dmNlQwMXlDbDQrbEs3ClhueE85SU1YampFa2hCUWhqb09na0dyRks1eENS
YzhaZEVxbm5IS0tiTHJwcHNKdmpoTEpsSlhtTXoxZ2lJNXdUVXI4MW9KRlJYS1kKTjdxak5NczJw
L2tjYWdGWG02TWhZQWdZQW9hQUlXQUlSQ09RdUE5STlEQ2wyVW82QzZ2KzJhSXJSQVZJKzZMY2Jk
amVldXN0NFVWUApqVklianF1ZkE5b0JUM3BJZDByYURKRUlTSmN1WFp4RDdPZE5aMm8wQjFIOVYv
d3g0WGRJSEN2YnBNWlJuUWtTUjZRSWZRblJnSGJ0CjJvVlBLY1AzelBLMlZGeEdNcVJCaUhyRFow
ZUFybTFRRklQNnpVVjllT2loMGE0NEFBUUV3aEVrSXNGSUNGRVEwb1RRSUpHT2hZV3IKdXZrZUdo
ejdyT2FQVWNtTkJwU2tGTklQSkc0SjN5NWQxaTdxbnBLZG5Mc1BDQm9zMHY3QXdodmlmTzZWTHUr
UXN5aExlZzlwUG9lbworZGcyUThBUU1BUU1BVVBBRUtnTkJCWjZIREhuaStnV1FYUVBYYUlPTjJt
TE9VVHN3MGpWeWtZK0dBUkhuK2hKbEpIVDdpdGZFU25oCk85M1JTMkdzb05NSm00Z05KQUhST0tr
NjZBNTIybWtub1VsalhCdWxlVWxKR3c2R3h5YU5DT0kyWmNvVU9mYllZK1dpaXk3S2NDNHIKUXo3
Q3N4UnRzbGhYOFNybzMycmZSbGVDVndNMyt2d2FubFBJRnNnQ3o4aVRqWEFFQkZMQ1BrOGUrTXdM
SXBMTk9KYTBKVjVFU25EVQpTVy9qTjhjeko5VUxKejRwQWMxMnZWSnVoMENqeXdJamIvUUJJYVdS
My9KS0s2M2tOeGYxWG9yblVOU0U3R1JEd0JBd0JBd0JROEFRCnFBZ0NpUWtJamdxcjZUalhDSFdw
ZWdVaHdSRUw2aGM0cnRRRXhaZFJ4ZUVMZHB3bUJZdnl2QWNjY0lEOCs5Ly9kcFdOY0taS1JVQzQK
MTVOUFB0bmhncE1GSmppb2RDSW5mWXE1Z0ZVY0s1WjhjQTFXK0VuWG9zb1kraHFJRVk0d0VSQWlO
T2h1d2l2N2NlYVc5akczMzk0dwoxVXE1azV4OWRucmtnem56TENBVVB0WEt2M3VpNFFrSTJ6bVdW
Q0hlZWNXeFZxMWExVWVuNkF2Q2I0NktjQmRlZUdGTkVCRDBXT0ZVCkt5SkFWSmhMaTN5VTR6bkVl
VloyakNGZ0NCZ0Nob0FoWUFoVUhvSEVCQVRuaWhWVEd1YmhZQ0VTUjVTTGNKZFNuampmZElGbUJm
NkUKRTA0bzZSMlNyMCthRml2K3pBbURBUEJhWDhzb1VYS1Z6MFJBc3VXNXB6RkJIRmhmdGhXQjkr
T1BQKzQwQWF5Q3M0S01RMXNKdzZFbQpnc1RyRXcwdE1EZkUrYVJtVlFNQmFkKytJU3JLblpTNGlh
YTBpWFRxMUhCL0lWdElJWUpNZ0VlUWZMRGRrdzlQVVB6NGNjbUhQOTYvClE0VFJNeEVKWTh4YXNM
WnQyemFZSmxFaVN2Rys5OTU3MHFGRGh3YjdDOWxRenVkUXlQenNIRVBBRURBRURBRkR3QkFvRHdJ
RmVVZzQKY1QwMEJZdlg3YnFNelNvcER2NzQ4ZU5sM0xoeGN0NTU1N2tWMVZ3RWhCWFdoeDU2U0Na
UG51eU9SWGlkTGRjOEZ4U1VwOTEzMzMwTApPamZYdUVuMmNlOUVHc0NDTXJyMEpTR1NRVmZzZ1FN
SHVyNFJTY1lyeGJIMFhTRkZDTkUrMnBscU1OcTNISGlnaUFZUW5LSC9VTm1PCjNIV1hhQkdCZEdm
SWJ4WlN3Vy9Na3hBK0IxOXN4emdPNHVxLzU1b0pSSnRDQ1dIak4wR0VyaGJzM0hQUGxWMTIyYVcr
THdyei9rQ3IKZ0NHc1Q3dWJlNm1lUXkzZ2JITTBCQXdCUThBUU1BUU1nVG9FRW92UXFjYTA4c29y
eTNycnJWZnZvQ0YwSmhyaG14Q1NPMC8wZ1dPeQpHZUp3Uk9KRVRvZ1NJSUtsZHdLQzZWbzA3aGtD
Z2lFWVoyV2R5RWVsVnNHek9jWTA0NHNxTDFzZXpETlRtc2h3VWc3Z1h2NzY2RUswCmtKUldtdkpi
aW44Zk8zWk12ZkNjQ2xla0N2cXFXRjRQd25PQ2pCQkpnM3p3N0lpc2hidVpleEc2bnhVa25FaGd0
MjdkL0NaWC9lcXMKczg1eUtYbkIxTUQ2QS9SRFVnRjM4TnprbjNPTDBORlJRUXlDaEFzY2pqamlp
S3lORnBsRDBudEk4emtreDhET01BUU1BVVBBRURBRQpESUZxUVNCUkJPVGJiNytWdm4zN09zY01S
dzZoTmFSanl5MjNsUDc5KzljVEVKenZYT1NEY2VqUjhjQUREemdjMENRTUhUclVpWGRKCjZhb0Y0
Vzc0QVhMUGtDaDZiVkFXR0NLRkJvVUtWa2x0MXF4WmpzeWdKeUJ5MGJ0M2IwZjZrb3lEK0p6emNM
UzlRWklnaTFUSXd1aGUKVDVsZTVsc0pPL3ZzT3JLaDBOVWI0bk9Gc0NSR1pDUHFGWFMrK2V6VCtU
ZzJuMTE3N2JVdUhaSGZMZjhETDcvOHNtcFl6bmFWeHJLVgpqODQzWnJuM0U3R0RiUEFiOXNhaUFG
RzlVbGpVTTJCYk1jK2hGUE8wTVEwQlE4QVFNQVFNQVVPZ05BZ2tJaUIwRjJlMWwxNFZPRnAwCmhi
N2lpaXVjNDBVYUZsb0xWcEh6R2VRbDZKZ1RVUms4ZUxEc3ZmZmVyc3YwNVpkZm5tK0lxdHRQWklq
SUI2dm1DSHJmMFRxeVlJVm0KWnZ2dHQ0ODkzMWRlZVVWMjNubG41OEJDSGxpdEozVUs3UWI5SmVJ
YUpXS3BnaFVrSVA3Y3FWT251dXBodkZNK3VGSUVSRG1TT3IxKwpWblh2Zi82emlQSXVyY29rV3NR
Z2MxOHgzN3pUNjUzYzRMdmY1OStKZ0hpSE9OODEwZEx3b21jR3o0MzBOb2duVFRhanNNODNYaVgy
CkgzVFFRUm5rZ3ptZ0N5RU5Dekxjc21YTDFLYmxNUTdpN3ovN2ZmNDl5WE5JYllJMmtDRmdDQmdD
aG9BaFlBaVVISUc2cFBjRWw2SGYKQVdrOE9OV1hYbnFwYzJCbnpwenBITzQ0NUlOTFVhVUpBaE5P
WnlHQ2dIamNyMEFubUZaRkQ4VlJZclViOFQzUkhOS2YwTUs4Kys2NwpUdmhObWRZNHhqZzRnelJw
cENFajFiV29OZ1pPQ01oLytPR0hPTU80WXk2NzdESjNQTDFJd2k5ZnVwaU84U05Iam93OVp0b0hY
bldWCmFMOE4wZWRkOXlMOVNpSFRwb3NpeW8xcXdxaHlkdSs5OTdweXgxUjlvMHcxRGpXcFhaVkt2
MHNLSEttRFJNZjR2K1BGUWdLLzQ4Y2UKZTh6OVh5Y2R6NDQzQkF3QlE4QVFNQVFNQVVNZ0Z3S0pD
UWlOMThMbGRZbG14Q1VmZmpLVXJhVlNFTzlvUWJ5UkVwUTJBYUduQVU1aQpxWXp4Y2ZMRFpVdFpP
VDc2NktNZElZbHpiUWdMS1c3bm4zKytJek00c1ZqNzl1MWRLVjJpSTNFTS9FaUxRNGNURkp3engy
b3lHcnNyCkYzVWFFQUpuRkkxQ0FrU0R3aEsxYkVuOTlvbDAwQm45UUZYVDQ4aVR5clRQUHZ2SWNj
Y2Q1L3FEcEg3QkVneEkraU1scXRkZGQxMzMKSW4yU2FBNWQzeXVuRnlyQmpkcVFob0FoWUFnWUFv
YUFJVkFWQ0NSS3dhTGtMWTRXSzZRMEFVVC9RYlVuWGhkZmZMRkxvNHE3Nmd1SgpJY2NjaDIydHRk
WnlGWGhJTjZKWFJkd3hRSkI4Kyt1dnZ6NG5tRVFTcUpUVnExZXZuTWNWdWhNQzltZk5IUW9USjlK
WHVNZTRxVk9zCm5IZnUzRGx5R3ZRMldXZWRkU0wzaFRjeUR1bHNhVFJHREkrZDVuZjEwNlZmUDlH
SVFkMm9wR05wTnA1aW1TbE1UL09hYVk5RitlVWgKUTRaa2xEVW1wWkRtajZRUzFZS2h4K0ovdzg4
WExRajNSUnBXMG9XRldyaGZtNk1oWUFnWUFvYUFJV0FJVkJhQlJBU0Vpa0JvUGlpWgpTMmR4MG93
Z0hxUU1RUnBZOFdjMU9LNnRzTUlLVGhSTm83NUpreVk1WGNLbW0yNGE5M1IzSEdWdlQ5T3lTVUZI
NmFtbm5uSWtLVmlaCnFFMmJOb25HVFhvd0pYZHZ2UEZHaDRjL2w3NG9rSkpCTVd2SzBtK0J0Q2dJ
SG5OSFEvRGNjODg1MFRpcFVwQ1FPSlptWThRNDF5djAKR00wMjAySUV1Yy9XckRTTklJa0svSE1m
VjZtOU5QR0w2cW15Mm1xclZXcEtpYThMUVNaOU1KZVJIb2htS0M0SnpqV1c3VE1FREFGRAp3QkF3
QkF5Qi8yMEVFaEVRb0NKaUFWbWdid0F2aklvNVZOS2g4emVPT0NMY0pFYVhjTjhwSE9GMFhDY0g3
UW5Yb3ZwUTBOQ3BiTDMxCjFpNGZQMGhNZ3Nlay9Sa0hEcWN6V09aMnhJZ1JXcXEwUy8zS2NweHIw
amVFRXNXSTJKazdaQVR4L3gxMzNDR0k5K09ZWDhIbTJHcHEKakJpZXV3YXZYTitQc0JBOWVKenFv
RldmVUwwRXhPdHBnblBtODJlZmZlWktUTmRDV1dsU0IvbmZ6UlY1OUEwMTQvNXZodkd3NzRhQQpJ
V0FJR0FLR2dDRmdDSGdFRWhPUXUrKyt1OEdLTDZrYTVNS1RQbFdJVVRucW80OCtFalFPbDF4eWlW
djFqek1PYVdDc3pFWVpnbTI2CnRWTXF1QnhHaEFKTlM3QzZGOVd3YnI3NTVrUzRrSTZHNkp4eXVi
NE1MeWt5NU9QSHRWcG9qTWk5YU9CTEt5MDFySVFWdnM5VlZ3MXYKcWQ3dkVGRElJcy92S2xUMk5X
QlVRdnZrazA5eUVoQnVvMTI3ZGpWd056WkZROEFRTUFRTUFVUEFFS2gyQkJJUmtGd2FFTWdEMFlo
YwpxNmdlRExxZ0kzSmwxWlYwSWNabHRaOFVKQVN3RUJJcVplVXpya1VVaEtnTFRqcVJBdEpFY1Bw
SjZ5TEZxMXhHRmF4aHc0WmwzRC9pCmRCdzc5Q2ZvVytMWTg4OC83L3FKUU9pQ3huYjZvNndhMHh1
bmxER2k2SjQ5ZTdyeXdJekZQSkpHcDRKelNQdXpMcnhyNUN6dFVjcy8KSHAzREtVbE5EeGpJSTVY
Y2lHTFZpcEgyeDIvRHpCQXdCQXdCUThBUU1BUU1nWElna0plQVFCQjgxYXUwTkNCVWQ2TFNFMEpk
R3VheAp1aytscHppa0l3ekt1ZWVlSzMzNjlISGxhOUZNL1BUVFQ0N01NRDdSaEhJWitoZXVGK3o5
OFBUVFR6dHhMNVc5b25RQ1VYTTc2YVNUClhNUmt5U1dYek5oTmFkOVZWbG5GRVRjRTcxNHduSEZR
NEF1RWtKSytRWU93QlZQRWd2c3E4VGxPbjQvWnMwVWVmMXcwM2E4U004eDkKVFlnMDVZNXA2TWh2
R2lFM21paDY0bUEvL3ZoajdnR3FaRytjUGgvOFg5SHJoT3BxWm9hQUlXQUlHQUtHZ0NGZ0NCU0RR
Q05OWVlyTwpZZnA5MU5HalI3dG1aRFFmOUoyUzBZQjA3ZHExL3JwZUE0SWpnMEE5N2lvN3ZRYUlW
a0JDd2c1My9lQXhQeEFob0xjSUpLWjc5KzZ1CkUzbk1VMU01ak5WdnlxOEdEUUU2dUpHZUZUY0M0
b2tGbGF5Q3htTWlTc1QyVHAwNnVkWDJYUHFDelRiYnJBbzdvV2RXaFlKalVXNlgKRXJ6WlRBTklx
dWNSdWVhYWJFZmszejUyN0JpSFA4K0E5RFRlSVlyOFZpQU8vSzRoWjJEUEM5ME5mVEY0ZWZMdHJ4
THVYVU1VaitJRApTeXl4aEJ4ODhNR3VlaFRIRXZtaWgwczJqVWlYTG12N0ljdndudmt2SHI2SGpU
ZmUyUDJtd3IrNTRNU0k1dEduaDZhWTNwTGVRNXJQCndjL0IzZzBCUThBUU1BUU1BVU9nOWhESUd3
SGhsdEEya0dLRVkwL3BYUVRlT05mZVlVRURzdnZ1dTJ0SjFYNkpFS0JjNlNtbm5DSzMKM0hLTFd6
VmVVUnRBREI4K1hFZ2Y4bzU0bkFFUnJ0T2Y1T09QUDNhUkZKenZjbHVZZkhCOWhNaXNqaE1KQWJj
NGR1S0pKN3FxV1dIQgpPWDFNd0F1eFB2b1dNQW82ZytHeC81KzlNNEczcWV6KytDSVpFa0x6cUg4
MGlBYk5LbWxRMHFCU0dsU2tVV2grS2MxRjA2dGVhYVNCCkVOS2tSRWtpU1dsQWcrWkJRcFBlQnBL
SytqL2Y1Nzc3dHUrNVo5ajczblB1UGZmZTMvcDh6ajNuN1BIWjMzM3U1L09zdmRadnJZclEKQ2Qx
VkwzWjlKOHpkNjRJR2hDdFhtaFB0RjcyU2xtNmVUbCtRZkRXaVVsUitJeFdRcnZkRUNuQnFKa3lZ
NEJ0MTV1dTR3K01pc2ttRQpqdjg1SGdxUUFwbm8zRzY5OWRheGRFamg0K3V6Q0lpQUNJaUFDSWlB
Q0lRSlpIUkFjRElvLzBvYUVSTnBTc3BlZHRsbHZ1UXVBbThtCjFtM2J0aTNTOEM1OGdreWZtYXlk
Y2NZWnZsa2ZuZFg1SHNmNVFIZEJGYXdtTG9Ycm9JTU9NaWJlTkRha1FoZmxnY3ZTNlB1QjdpSVEK
ajVPU2d4aTVUWnMya1lmQnRTUTZIK3pNVS9xZ29oZXBQZlBtelV0N1RGS0Q2QU9TamlXNS8rVnBJ
MGVhVVhYWlZWSjJrVEJ6azJDegppeTRxNkFOU251T0tlMjRpSmR3UHhOeWtLUkgxaUhQUDQ1NHYy
OXZmZU9PTlhudEZXVzBjWnY2WGlPYndZRUVtQWlJZ0FpSWdBaUlnCkF0a21rREVGYTlXcVZZWENh
anAxazFwQ3lnYTlOcDU5OWxrdkFLZkROdWxYUC8vOGMrVHhrZWJ5L1BQUCsrcFhSRlpLMG5HWkhI
ek8KUzRSbXlKQWhmcEtPZzBRcDIyN2R1dm5HaUZUS0tndERjNEd3bnFnSDZUMmsrVEMrTVdQR1JH
NUVHSFdjTklQa3FUVU44RklaNThhWgpTMmVrMVFRNmxYVGJaVzlkdFNLSCt1d3pzenZ2TEhnNXlZ
NUx4VFByMDZmZzNmbTl2aWxoa1IxSytDV2JxVC9oOUNVWTMrTnl3K2hGCmc5RlBBNmVUWWdyOHZ2
bS9vS0ZmTW91YnZwVHNHTkdYcFUvQm9nSWRhWUw4VnM4Nzd6eXZIYUlhSFJvaUhrQ2tLdVlROXhx
eWVSK2kKWDd1MkZBRVJFQUVSRUFFUnlEY0NHU01nNGFwV2lHdGZmUEZGTDBROStPQ0RqZGRWVjEx
bFE0Y085Uldhd3M1S3BndWxlL3JNbVRQOQowMzRjRjNwM0VBRko5dlEvMWJHWU9ERUpaTDlBbnhK
c2kwYUYxQ3pTeFhKdDZET1lyQkZ4NmRDaGcxRitsOG4vQWxkajlzSUxML1FSCm9ub0pvdkxTaklu
ZUhwbWNpeHR1dUtIY084Um51a1lhdXp0ZnpUbWk1c29sRjJ6dGFncTQzMWRCUkNUVC91VzlubnRB
dFN0K2c2VEYKRWZYQStjQ0lWcVZ5UHNwNzNJbm5wK0lhZWhqK2ozbTRnUFh1M2RzNzhSUnpTT1dB
SkI1SDMwVkFCRVJBQkVSQUJFUWdDb0dNRGtqNApJRXhTZUFJOGZmcDBQNmxtSGFWdis3akgxa3g0
dzg1S2VML0V6emdPdkVqcm9tOEd6UTJKSERCNUp3MGs2bkdvQmtXRWc1ejF3SmdNCmtvdFB4M1pL
OFphRkVSa2k0b0orSTJ5a3NwQUdSWFFrbXlrNW1ad1B4cEF2SGVMRFBCSS9OMmhnOXRKTDV2UUcv
NnpCVDNNK2JZVXgKTkNCVUx1TTNTRVFQaHh3bmhLYVVDTjRwSzUzdmhvQisrUERoeHY5VFlJejlu
SFBPQ2I3cVhRUkVRQVJFUUFSRVFBU3lSc0FsdXNRegpub2hTdFFxbmdhcFR3ZE5mZW5HUWRoTEZT
QjlDTzhLVFZWSThpS3dnSXVlcEsyVk1veHFPQ2s5dGVRVkc1U0dpRVlqQ21WaVZoWEVOCjIyKy9m
ZEpUb1orSjZsQWxQVUFKRm9ZN3hCTlpDbDQ0WnQ5Kys2M3ZFSTlqeEN1eFZHOEpUaGQ1RjllaXhk
MzNmemEvL1BLaXprZXcKeGttS1hJcFo4SzFpdk9PY2s0S0ZJSDB2SjJ5aGVsellNYzZucTBDamRQ
cnBweGNPaVFJVFllY2pXRUVrTDdFS1dMQk83eUlnQWlJZwpBaUlnQWlKUVVnS3hIUkJTaVVqRFFn
aE5SU1pTcGhvMWF1UUZxNEZJT3ROZzJJZUdlamd2R05FQjBvbzZkZW9VdTlMT1VVY2RaV2dpCjZK
T0IwWTJkei9RSEtTdmppVGVWdkJDY0wxMjYxSDUxelN1bVRwMXFsMTU2cVk4TVplTXArSlFwVTN4
S1daUnJpdEloUHNweHNyMk4KUStKRjU4RnhlL1lNUGhWOXIrYWtJcm5XUDVNMng0dHFicnlDNzBW
SFVySnZWSXdpSWtoRHdudzBTbGJ2U1BteC94bDlkSklaQlF6bwowWk5MQzdqbjRqN2tjdHc2dGdp
SWdBaUlnQWlJUU1rSnhFckJDazZEdzRGZ3RWKy9mcjdxRk4vcHVCM0hlcnJaSjVOcWhOdHQzU1B2
Ci92MzdlMEUwZWhESytSSlZpR3Frd2ZEQzl0eHp6Nmk3WlhVN2hPL29BVDc1NUJPZi8wODBpUFMw
Ung1NUpKYXVCYWFUSmszeUhlTEQKQThTcGdRbVJvbjMyMlNlOHF0aG5JaTc1MGlFK1BManR0ak1u
ekRiWFY4YWNTRCs4NXAvUFpOUFI4OFA1YnQ2Y3RNS1Z0aldYcXZmUApOcVg1eEVTWHFsVk1yZ1BO
RXZvaFhxUzJaU3RhUlNRT0VYclVCcFNsdWFhNCsrTDhNejRlSWhDNVNXWThIT0MzUzRVNmpOOGZI
ZCt6ClZkU2hyTzVEc212VE1oRVFBUkVRQVJFUWdmSWxrTEVLVmxrTmp4SzI5OTkvdjgrZnA2ZElS
VFFtYlVSQmdqSzhoeHh5U0t3bnlFUlAKZU9KTUtobzlVWUtudzdCQVI0SkRRNm9NcFhvYklLQklZ
NGlpZWJLTk14UHVFRTlraURMSzVXR3JWMWR6WXpmWDY4WGN0YVVlZ2ZNRgpiTWtTYzVOZGM4SitN
MUszWE8vTEVodlZsNWhvNDJEZ2FPQWNjcTlJa1FxY0VOTDFxS2dHWXlKME9IdUJFeGsrY2JnS1Zu
aDU4Sm5qClRwNDgyV3VRWUUzenZtUVd0NEpVc21ORVgxWVU5dHR2diswZC9zY2VleXp0SVhER2lI
YkNoSkxOT05jNEpZSEZ2WVpzM29kZ0RIb1gKQVJFUUFSRVFBUkdvZUFSaU9TQTh0YVJ4SUdWdlM1
dGVNbkRnUUY5RmF3ZEtJWVdNUm01eEttR0ZkaTNYajZSOUJSV0VVZzBFaDRMdApVazFLMlkvYy9B
Y2VlS0RZSWREWWJMdnR0ajd0cmRqS05Bdkt1ME44MGFHNTNDcG43c0c3ZmZDQnVYUzFvbXZEMzV6
OHdEc2dyazZCCi9maWpPVEYzZUcyOHoweDhneXBwaTcvK3paNmI5Wk85K1dWMVcvUm5mZnVyVGpY
YnRQNHkyNjd4TW12ZHhIVm0zMjV6My9BUjdRUDcKb0ZjS1d5b0haSW56bU1hTkcrZkYvMFFXaUh5
Z2xVcDFyK05PM3NOamlQKzVxQU1TWEFQL2E1OS8vcm5qNndDbnNCYXVNeVFPQ05mSApRd0orZzRI
RnZZWnMzb2RnREhvWEFSRVFBUkVRQVJHb2VBUmlwV0Q5OU5OUHZ1OEJIYmtUSFJDZUZrZlZnSUJw
L1BqeDNwbWhDbFpRCjBuZnZ2ZmYySGFSNzllcFY0VWdTbFNEaUVFeDBrMTNBQWxlV2wvU2ZWSk5T
OW9FQkUwSW1mV0U3N3JqakN2bXlIc2VpZmZ2MjRVMksKZkE0Y0lzNlY2bnhSSEtJaUI4M1NGMm9E
NEdBZzIvbGYxZGNpUjhZNUNkcTNVSmdwVkp5cHlIWlJ2d1RwUG5QZS90bkdQTGZDM3YzZQpSWThh
dXRTakJyV3NUdDJhOW5QTlJ2YjJxbXEyNUlQUGJPRjM4KzNBVnN1OEEwRnFZU2FiTld1V1QwZDh5
Wlh6SWpxRkEwa0VyNTdUClNwR0NsYytHbzQrRDhhNExNZEU4TWRGd1RvTGZJVTBKUzl1WU1KZjNJ
WEhzK2k0Q0lpQUNJaUFDSXBDL0JHSTVJRXpJZnZqaGgySjUKNDVTZnBlenJaNjZ6WExyTzIyRU05
QUFKZEFyM3Vad2NPcGd6UVNmdGc4bDhWQTBJVDNGcGlJaERSRzQ3Um1wTnF0ejI4Qml5K1ptUwp2
NHcvblFQQytZSXhwam8zRllub1RFM2FWQ3JqSHFDNVNlZUFaTXNoU2pXR2JDeW44YUNyTytCN2dR
VEhjLzZaUzJNenB3OHFXT0lhCmM3dHl6ZVlhNUFWYnhIOW40cnQ0eVFvYk13bm5vNzd6YnRaeURr
aHRXN3QrVFd0UXI2YlZjMDVJM2RwcldNMGFPOW9ILzMzUDZzNzcKcURCbEs5M1pTTGNpbWtES0hk
WEU2UGtTMXBCVWxENGdOOTk4c3gxMDBFRytlZXMreHFnQUFDQUFTVVJCVkdad3ZhU200VlR4djRt
Ugppa1VVaElJUEpiVmMzWWVTamtmN2lZQUlpSUFJaUlBSWxBK0JXQTRJazVKa0UzdWEvZkUwTlpQ
elFmOFFST0owQ2NlWW9GMTg4Y1crCkhDemlhcHdPdEExTTdJSnRNbUVoWWpCdjNqeC9maHlSMXEx
Yis2YUlwNTU2cXV1eWZXZW0zYk8yL3U2Nzc3WWVQWHFVK25pazd1QlkKaE5QUWNPeVkySWE3eFdj
U0EyZkxJU3IxQmFVNWdQTTVYV1d2b2c1SXNEbTZEeDdLOC83Kys2VjNRS2EvdXR6ZVhWekhxcTFi
MDZyVgpYOVBxckYzRDFxbFh5eHF0VTl2cXIxM0w4YTV0ZGRhc2J0VWI3MldmZnJqSXRuRE9KTkc1
ZElhbUJJY1JvVFlkNVcrNjZTWmZFWTVpCkJOd2ZldHNFeFJIU0hhZTgxNkVKd1lsSzlyL05jcXA2
b2YvZ2QxZ2F3d0hKeFgwb3paaTByd2lJZ0FpSWdBaUlRTmtUaU9XQThMU1gKM2hIME8rQkphUENF
bHdhQ3ZOTFptMDVGVE1PMjBhTkh1OFp6b2M1emJpY20xOGNmZjd5ZkJOSFRnNVNzS0VaVkhwb0E4
cVMyU1pNbQp2aW9YRmFKZWZ2bGx3OWxoQWxoV1had1R0U3pKeGg4bDVRbXRSN0t5dlpRb3B1Rmox
RFMzYkRsRXlhNGpXOHYrOHg5enZ5ZHpqbXZxCkl6cnRjNmtOeDNudUoyYTFHcTF0ZXgrMHFkVnVV
Tk8rWC82M0xWL3BzckRxMTNYaTg3cFdiMjBYQlZtcm50V290dHArK0xtbGU5by8KM1dzZW9wd2N4
M25mZmZmMUwvcXNQUG5razE3OGY3bHJkRklSSEJCK1Yvdy9wM3VBUUMrWjBscXU3ME5weDZmOVJV
QUVSRUFFUkVBRQp5b1pBTEFlRWlUR2xjeWRNbU9DZjlqT2g3dEtsaXk4L20renBhZmdTcURMRWhD
elIrUWh2ODl4enovbW9CU2xJbVZLWjJJODBKYlFSClJFR1ltRk9waDA3cU9EQThnWjR4WTRaM2JN
TG55TlZuSExOc2FFQmdtc3h3MGtoVHkxU0NOOWdYTGNJN0xyeEE4OEZGaXhaNUI0Mm8KVUZoRUhH
eGJYdTh1QUpiVytXQmM2S09kM01WRmhVbytTcGd1L0dGTjI3UGQrcmJmemczdDcrcHIySSsvL1cy
dmZyclMxcTVER2xZZAoxM0N2cnEzbHN0NXFybG5EMXRocUYvdnBwZkcrN0d6Y3N4STFvWU00alRE
UlRGVUU0MzhsbmZQQk5WQWVHNjFJMU45ZnN1c3V5L3VRCjdQeGFKZ0lpSUFJaUlBSWlrQjhFWWpr
Z0RKbTBFNTdHOCtKcEwwL3NLVGRMSi9CdTNibzVjYkZURnljeEpyNVB1WVIrdHVWRnFoUU8KVFRq
Vml1N3FSQ3lpT0IvQktZNDk5bGlmZng5TWpOQ1d2Tzl5ZGlnL1N6TzRzckpzcFR6aDBNRW4wSUF3
YVNQS2cyZ2ZCeTZxMGRnUgpIUWlSSWZMN2NWNCsrdWdqTy96d3cxMXAyOU9pSGlhbjJ5RW51UExL
NUNsWXdZbWQzTVhwWFVybmdKRDZzL3l2MnJaZDB3Wld0KzZhCnRtcTFXWDJyWm12VlhOTTVIZWcv
YXBtVGdiZ29DTDl2OTZyVzJCYTQ2Qm9GQTBwcVBPMG5RbGNSaklhWmQ5eHhSNUgveGNSeDQwengK
UHhiOG55V3VqL0s5UE81RGxIRnBHeEVRQVJFUUFSRVFnYklsRU1zQllWSVZGdG55dFBlaWl5N3ly
emx6NXRqdzRjTU5RVHFUWEo2MgpKK2JRVThLWDVTTkhqdlROQnBsWWs3cEUrZHJneFVTZXFFWVVZ
NExJdGtSWHlNRVA3S3V2dnZMTGQ5MTExMkJSenQremxmSkVyajBUCnRjQUJZZUNiYmJhWkRSczJ6
TE9LY2lGb2FDZ0JpME00Wk1nUTc5QmRlKzIxUnJORWxwRkNsMGxERXVVOHBkM0d5VjE4Wk1QSmh3
b04KbVlFTDlqaTlTK0dpd29wWS95d3B3YWNhMWF5ZTAzN1VXcU9hY3oyYzArUDBIblZxcnVIZjE2
cmxQdGN5Y3pJUXErV2lJTldkMzhGdgpuZnVReVY1NzdUWHZoUE5iRGh2T09YMXRLb0xocE9KWWhC
OEc4RDlFVkRGY05DR29pRldxYThyUmZTalZtTFN6Q0lpQUNJaUFDSWhBCm1SS0k1WUNrMG9BdzRs
YXRXdmtYazErYThmSEUvYWlqamlwMk1VUTR5RG5uTlgvK2ZPODR6SEtsVElsV01QbG1FclI0OFdM
ZmF5UlQKZDNVaUpjY2NjNHlOR0RFaVl3cEpzWUZrZVFFcFQ1bnN1KysrODlkNzlORkhwOXlVYW1J
NENLVXhKby9jaDl0dXU2MVlOQW1uak5RcwpDZ2VVdDduZ1dkTCtIbFRHY2o4UE53SE80Z2hydVor
NmN6NXExRmpEVnR2ZlR1dFJ6VVU3M0t2V0dyYW1XMTdUcmE3bG9oOTE2em9IClpGWEJlVk9sd3dX
andnSEc0U2FTeHoxTlRHTXFiZG5hNER5NWZxY0tWckxVUEp6WTd0MjdSOVlkUlJwbkR1NURwUE5x
SXhFUUFSRVEKQVJFUWdid2hFTXNCaWFJQklVVUxweUNLa2JiRmkwcENHSjNBZS9iczZaLzRYM2Zk
ZGZZZnAxSm1RazZFSTVXUmFwUVBoZ09WNllrMwphU3lJN2RNNUlEZ2ZwZFZ1MEkrQ0NBZmxpQVBE
SVVFUFFxb05VYVo4c0JSeUZ4OEJvVUtXZXlpZlBWdlR4VDJxdStoSHRiOXRUZmYrCmw1UGFyRm1q
dXZ2c1VxN2NVM21janpXZHcrTStlbWNreW9ucGZVTy9EMzZuY2RJR294eTdMTGRKNVdnUjdhUkNG
ZzhYc21ZNXVBOVoKRzVzT0pBSWlJQUlpSUFJaVVDWUVZamtnaktpa0dwREVxeUYxaFFrTy9UdUN5
azVNbXBzMmJXb0RCZ3p3bXpNUnYvZmVlLzFUNXNUOQpnKy81TXZIRFVlclhyMS9odFRBK3FuRXhT
YVgwY0dDWm10dHh2YVhWYnNDVmFtSzhya1JrNGV5Ly8vMnYxOG9nMUUvbjBBWGpMSXQzCkozZHhl
cGQvTkNBNEpHUXlPYm1MMDd0a2Z3VFZYRW9WNThENVdPMnlxMWI5dWRycFFmNnlQMWY5N2I0N3A0
UlR1blYvazZNVndZalcKb2EraE1lVDY2NjlmWkE5NjNOQ3ZCUWM3MzQzVVNBbzVCQ2xZWGl5K2NL
SHYvWUV1Szl1VzdmdVE3ZkhwZUNJZ0FpSWdBaUlnQXJrbApFTnNCQ1E4bnJnWWsySmRJeDRFSEh1
ano3T2wzMGJadFcydlhycDJmekYxMTFWWEJacmJRVFlLV0xWdFcrRDFmUHpEWlJEeU80eEEyClNw
ZVM2a1JuOThESkNxOVAvSnhON1FicGJ6dnV1S1ByTnY2NjE5ZDA3ZHJWcDlPa0toS1FPSmF5K080
eTdwek80aDhIaEhNNnVZdlQKdTVqVHUrUmdCSzVjcnN1OGN2ZkNCVU9jdzBFNlZnMmZsbFhOMWxq
VExYT25yT2JXc1UwVUl3V0xScGhVdmRwMDAwMkw3SUltcEgvLwova1dXNWVzWC9zOXdPc0tWN0Np
eGZmMzExL3VPOEZrZmQ1YnZROWJIcHdPS2dBaUlnQWlJZ0Fqa2xFQnNCK1NSUng0eHRBeVV1cVZw
ClhtQlJOU0JzVDZTRGxDV3FNYUVWbVRwMXFqM3d3QVBXdTNkdjIyU1RUYndqd3BObEpzOFZvWklR
MTVNcWpRVUhpbkxBKysrL2Y0QXEKNVh1MnRSdjBvT0NGaGFNd0tRZFF4aXRjME1qcFhjcnVwQzY0
NGFNZmY3c1FDSHFOTlZ5KzFack9HMW5EZVI3VjNVcm5pL2owcnhyTwpHWWxpUk4rK2RHM2FpV29S
R1F4YjgrYk5MU3VpN2ZCQmMvUjUwS0JCL2lGQWpnNWY3TERadmcvRlRxQUZJaUFDSWlBQ0lpQUNl
VTBnCmxnTkNWU0I2ZFBDa251cFhDTXFKWE9DTUVORmdJaDVvUUVqNVNXZDBEWC8rK2VkOXhTekt6
bUxzTTIzYU5PK1FVTFdKTHN6QnVsVEgKSXBVcjJlUjYrdlRwWlRhcEl1V0pLRWhRa3BpSkp6MFRI
bnJvSWErM2lOb01zYUpvTjFMZGl5akw2V3lPdmdQWlQxazZINHdOamNmZgpMdUxpM0ErWGN2VzNp
OEQ5WlM3N3lqc2xwRjh4TVhiRnIrelBQOWc2bXFGZm9vSmJSVFArdDlCM1VFV3VyWXRBbHFYbDRq
NlU1ZmgxCkxoRVFBUkVRQVJFUWdkSVJpT1dBa0twQlpTWFNpb2lDSUxybTZTa05CT2s2anA0RGg0
U24vVGdHbEgxTlo1UTZ2ZWFhYTN6dmtQYXUKMHh4UGtvTWVJK3hIUklEeXZ1bU03WEYrY0FJQ0l5
Mkc2QWxWdGFLa1BnWDdsZWFkZEJVYUVaNXl5aW0raEM1ajROem9XWkpWR0VwMgpyb3FpM1VnMjlp
akxYQzg3ZDY4THhPWDA5M0EvSVhmUEMzcUIzSG1udVNpWXViUXhzNHN2Tm12Wk1zb1JZMjZ6R3Rm
RE9SMnJuYlB4CnQ2dUdoUVBpdnVCMHJIS2xkLzl3NzdYeFFuaEZ0RlRPQjVYZEdqZHVYQ1JLR1BH
UU9kK01xTndKSjV6Z3hlVVVSc0R4YjlDZ2dVOGwKR3oxNnRDLzhRSFNUdEwydHQ5NDYrK1BKd1gz
SS9pQjFSQkVRQVJFUUFSRVFnVndSK0dmV0h1RU1QS0YvOHNrbnZRT0M2QmJSTldsVQpURnIyMjI4
Ly83U2ZUdVE0SmtSRDBqa2dOQkNrTWQ3eTVjdU5hTWNlZSt6aCs0T0VPNlhULzRKWE9rUGtqYVlr
N0doUXhwZEpQK2t4CjRUNEc2WTVUMm5WVVE2TDg4R3pYdGh1bmlYejZmZmZkTjIzbjkyVG5yQWph
aldUampyTE1aYUw1cU1lamo1cHpEczFOYmd1Y2p2UE8KTTJOWmh3NEZ5NXlrd3A1KzJ0d0VQc3BS
bzIrRG8rR1ZIaTdWQ2gvanIyclZiUldSRUJmK2NENkpYMGJ2d2QvOWRteWIyVzYvL1hhZgpZcGVv
VlNKMXNIcjE2cjVDVmxhclNHVWVVc1l0cUlKRzFJT0hDZnlQMExlSC8wR2ltNU1uVDdZMmJkb1kv
K3RVb3J2VGVZYnJyTE5PCnhtUEcyU0FYOXlITytiV3RDSWlBQ0lpQUNJaEErUktJNVlDUU4wOWxu
OGNlZTh4d0lERFNpMGhESVJKQ3hTV0UxNlJxMFkwOGxWRTEKaU5TcXA1bGxPaU95TW5qd1lEY0I3
V0E4T1Y1dnZmVlM3VnBzK2RpeFkvMWtLcnlDOHJORVZzcksrZURjUkR5ZWZmWlpId1VpdlF3TAps
OEgxQ3lMK3lZWjJJeENmSjU3eWd3OCtjRTMrUWwzK0VqZkk0WGVYcFdhNzdGSndncFVyQzk2cGhP
V3lnVnphblptVFRYaWovQzVwCldtNWVuRlg3KysvVkx0M3FMMXZ0UzJGVmM1RVBtZzMrWFpCNjVS
d1BWeFRML2lRWHl6a29VWXpmTWM0MkJRaHd5TkVCQlZxZ0R6LzgKME9yWHIrK2RjcHhxSE5SOE1S
eDJOQ3BZOEJ2RkNjRVpRWXUxMVZaYitYVTRUcVJwOFhBaG01YnQrNUROc2VsWUlpQUNJaUFDSWlB
Qwp1U2NReXdGaE9FUTFtSkJNbVRMRktPbEtoSUxVSWNUcFFSbGFudnkyYU5FaTVlaXBmQlh1a3I3
NTVwdmJ3SUVEZlQ0NktVczRNMUd0ClNaTW14VFlsK3ZERkYxOTRKeWlZYUJYYktNc0xLR002Yjk0
ODQ5cHdSRnEzYnUwZEtUcS84eFM1ckkwbWNxU25oVHVxVTdXSktBMzMKRG52cXFhZjhwUE04UWhC
bFlPandSNDRzT0JIRnphaEc1VzZWSFhhWTJjWWJGeXpITVhGQk50Y3JKZnNEcWtha3c0VSsvblox
ZG45ZgpYZDJYNHZYbGVOMHkzbDB3elRzanZFY3h0RDcwZExuMDBrdUxiUTVuSE1sOExNTkwydGlF
Q1JQOG1IR2MrWDlGdTBYa0kzRCtjVXdvCkRrRjZZN1l0Mi9jaDIrUFQ4VVJBQkVSQUJFUkFCSEpM
SUxZRFF1VWZ4T09VbHNWeHdBRWdLb0lRUEp3R2xXN1lPQWlrS1pFbUZYWlUKU01QaXlURVJGQ1pG
VVl4b3c4a25uK3h6Mk5tZUNSV3BYWSs2bkI3U1NzckNTTGVoN09wTEw3M2tlZUNJN2VNZTQ5TUhC
REU4K3BpbwpRdlJzalpmcVl2UlJDVHNnd2JFUnlMZDBJZ3ZlaVZTVmxRUGlXcnpZdDk4V2pNSUZE
MXlhWHNGbmQ5dmQ3OENjODJibUFqUytOSytUCjFHVGZuSk5CQlN6U3JQNzZhN1hyLy9HWC9VRXZF
Q2YrV1AxM2pVSXR5TzhSUmVqOFRta2NPWGZ1WEgvZmc2cFhhQ3FJOEVYOURXZi8KUXRNZmtmOWIv
bWV4bjUwd0p4ajNEcTcyTVNtQTlBUDUvUFBQZlRTSC8vT3NXNWJ2UTliSHB3T0tnQWlJZ0FpSWdB
amtsRUJzQjRUUgowTWh1K1BEaGZ1TEtKSnNJQ0FMc09OYW5UeC8veEJYeCtlbW5uMTRvMWlVTkpJ
NERnZ0NlSi9waDV3ZGR5T1d1azEyNFRIQ2NzY1hkCmxraysxWVNJZ2pBT0lrTm9ZYWdPaGhhR01y
eDBRQzlMb3p2MytlZWY3OHZOcGpvdjR5eHJJNjNLeVF5ODVzTUZhTHk1aCsvT0dUSnoKMlhUZU9Y
QUJKT2M0Wlg5a0x1QmlmeEFDcWViU3IxeVVZN1dYcEs5aGYvNWQzUzEzNTNiYWp6LytGeVhoN0VF
NlZhcVI0R0RRdHdZSAptR2dIaFJtNmQrL3VKL1hvZnlnMW5hOUdGUE9WVjE3eER4TW9lWTN4Y0FH
TkZ4RTgwdFA0M3c2YUUyYnpPcko5SDdJNU5oMUxCRVJBCkJFUkFCRVFnOXdSaU95QnZ2dm1tSHhV
VnI0TGVIeXhnd2hMSEVMWWllS1hUTXBFUWN1U1o3RkI1SjF6Ukt0TXgwWG9RY1FoM1JNZUoKR1Rk
dVhLWmRzN29lVFF3VnNJaDhZRE5uenZUUmhVbVRKa1dlaUlhMU16U0N3M25CdnYvKys4TFVHTDhn
d2g4aUhHaDJFbzIwcTQ0ZApPeVl1THJQdk9DQjBPMGY3RVpZV2tJcmxicjAzS21ObDNaYjlidVlj
blZwck9tZkRPUm0xbmROUnAyWU5xMVhqTDZ0YnE3cXQ1ZGJWCmRSR1l0ZHc0YXZ3dkJTdVRBL0xM
TDc5NGh3UG5rMjF4cEdITzc1b0tidlBuejgvTEZDelk0b0NndlRyTTViK0ZtMU9TaWhYOFBxaU0K
bFhYTHdYM0kraGgxUUJFUUFSRVFBUkVRZ1p3U2lPV0FVRjJLL0hGU3FKaW84SlMzcmF1bXcvdjA2
ZE90YjkrK3NRWkxXaEs1OGxUbAp3YkZoMHJ6WFhudkZPZ1phaDdEendjNVU4S0hQQVNWR3MxM0JK
OW5nMEZZd0NTVXl4RlBsd0ppRXNuelhYWGNORnFWOTU0azZLVEJFCkxrNDY2U1Jic21TSkwybE1T
ZzhDZmZxS1JEVWNJczRiWmtQL2xqZmVlTU1XTFZwVXJxSm9VckY0dVlKaHJ2cFo4U3R5dlNoZENw
QzUKSWdMRjE1VjRpV3Y0c2NxbFZ0SC80eS9uSzY5eVViSS9YTWhqbFN2SDY5OVgxeWdRb2J0MUs5
MTJPQlE0aE9rTVJ6bHdFb2tjd0hiSQprQ0ZlQjRUVFNDUXVuNDFVTEY2azZwRitsV2dJNi9rTlo2
cEVsN2hmMnU4NXVBOXB6NmVWSWlBQ0lpQUNJaUFDZVVjZ2xnTkNsM0xTClRZWU9IZXI3YkNCU0hU
OSt2STlBTVBtTzY0QUVOSFp4cFpGNFlVUU9naWhDc0Q3ZCsxMTMzV1dYWEhKSllkU0VpU01DZE1h
RkFCem4KS05mR0pQK1lZNDZ4RVNOR0pJMDZSRDAvRGhPcGFWUVY0em9RQVBORW5lc2hKeDlITGVD
VTZaaUk0WEcrd2pvRUhCclNiWEJBeXFzUwpWbmpjLy9wWFFkUWpzVUNVYStIaVVwb0t4T25PbDNR
TXdudVY4TE9ycmZ1MzAzejg3Vkt3cUhSRnV0WHZidG5LMy82dzMyci9hYlYvCnEyRTFYUFREWldY
Wkh5NVlBdjlNQm1NY1RsS1dTTG5yM0xtekx6NkFVODN2OHQ1Nzc4MTBpTHhZZit1dHQvcW9COWNU
dHZmZWU4LzQKbjBlY3ZyR3JFcEFzb2hiZVB0TG5ITnlIU09mVlJpSWdBaUlnQWlJZ0FubERJSllE
d3FodnVlVVdYeklYY1NvVEU0VGU5UElnWDV4SQpRUGlKZTZxclpITEhaSnY5RU1GU0ZwVEpNU1Zp
RVkvekhuV3lnOWFEVjZMdDZEcmFsV1gvQlJvd0pqT2lGcVNWUlRIWWtYcUZQZmpnCmc3NHJQSUov
bkR2NHhFbHplK0tKSjN4dmxmQjVlU0xmczJmUHlJMFJ3L3ZtNHJQN3liamZqZXZNa1ZCdmdMay9G
Ykl1dXFpZ05DL1oKZEs2U2JZbk5SeUwrL050V3J2akxuUGJjY1hUaWMvZSszSVU2NnZ5NTJtcjk5
cnZWY0tLVGFpdlFoUlE0SVB6K01rVkFHQkJPTnpvawpIRjMwVEJqdmxMV3RLRVpCQ0Y2Si8zUDhu
NkpwNG4rZTBydzRLa1FYUzJxNXZBOGxIWlAyRXdFUkVBRVJFQUVSS0hzQ3NSMFEra3VnCi8yQmlU
WW9QK2VOTWtBODk5TkRJbzZmRUorVjg3Nzc3YmovSm8yTTBFMjhtT2FRZU1kR080c2h3UXA0Nkkv
d05udlN6SDJrbFRKVEMKd3ZUSWd5dmhodWVlZTY3dkNSSFdyeUJLSm0wTkFYb1VNVy9kdW5XOWZv
RGVKamdRVlBqQ3NYbjQ0WWM5TDU2MFI3Vms1NE1Iemg3MwprSXBqNVcwdWNPVWMySUxxVitHeFVJ
YlgzVUxmTTRSeXZWUmxkaTFtU214TXJPdFdXMmtmZnZ5amJicHBIVnZ1MG9CK2M1V3dWcXhjCmJj
dVd1WTcxMWF0WnRUV1d1OS9pMmo3OWFwa3IxVVdLWVJURFFhUVNWdGo0RFpTMzFpWThua3lmY1pC
eFRCTXJwaEhWSVUyU1VzSy8KL3ZxcmJ4UjZEbDBpUzJpNXZBOGxISkoyRXdFUkVBRVJFQUVSS0Fj
Q3NSd1FKdFJVdStMSk1KTlpIQTlTZ3RCaGtDNFVPQUdacm9QSgpNWTBINmFKT00wSWNpSkxtbVNQ
OHB1UnBvcFYxd3oyYXppR21EMC9pU00raFR3U2krS2dWdWVpQmdnT0NRM2ZDQ1NmNHk4S0JvZGxk
CkhFTUR3cFA0OEhoSTR5STFMVm5FS002eHM3V3Q4OWw4NmQzRTR6a2Ywa2RBV082Q1pLNi9TdUlX
OGI3enU5eHNvNy9zMWRlWFdwMzEKWEtTalFXMzcvcGRWUG1LMzZnOG5TbCs1aHExMDRuUVg4N0JW
SzJ2WXNpL24yU1l1SFNtS0Uwd0VrSUlIWVdjWHpRNy9LL0JITDVYdgp4dThzL0RzSnhzdjFCOWRG
ZVd0S1pKZkdjbmtmU2pNdTdTc0NJaUFDSWlBQ0lsQzJCR0k1SUloU2I3cnBKcTkzWURMQ0UxSmVU
TFRvCjUwSFg1RGhHSkdXbm5YYXlNV1BHZUtlRzZFZFVKeVk0RDZWTzZmc1Jua0NWUjhNOUhBZWlN
V0hEVWNNUmlKTzJ3cVNQNkFTVFd2cHoKMEVVYjV5UGN1REY4amxTZkVRL1RDeVNZUUxJZHgwQ25B
dmQ4TUhRZVR2OXNvMGFaMDZXWU5XbGlUcmRUdEFNNk9wRk5OeTNkYUhGNAp0Mi8yZzMzNDJxODJh
WW83MGJwMXJIYTltdGF3ZmsybkEzRk5DZDEvUVhWekdwRS9WNXJ6Uit6M3hXL1pXdXVzWlkwaWxP
TWlha1VKCjNuREVpYjRnT09Ta3piRXUzMjFUQjVqL0liUXIzN3JvRDdvUG9qcmhEdWlrWHdYcGdT
VzlubHplaDVLT1NmdUpnQWlJZ0FpSWdBaVUKUFlGcUxzODdzOW8yWVZ5dnZmYWFiendZTE9hSjcy
eFgwaWhPR2haUGlHblE5ODAzMy9nWGxYZzRCdUpkOUJ0UnphZDF1RWxnMkFFSgo5bjN4eFJkOVph
MysvZnY3a3JpalI0OE9WcFhKTytsWHBJT1JwaE8xb3pRUkNwNUlrNlpHZWh1UkZkaU1jck4wK29w
RU5YcWpwTktsClJEMUc5cmVyVnVTUWFMU0pndUI0MElyaWswL01UZm9MSEJBWEhQUG1DbmU1ZEtn
aXU4WCs4dnp6aysydHVWL1k4SW5WN09OZm5jYW0KVVIycnNVNHRhK0Fja0FiT0VhbFhkdzFYaG5j
TnExbkRSVUcrbjJzYkw1dGx1Kyt3dFkrc0VkVUtHOExzc0tIL3dBRVBHNDduUlU3QQpjdlBOTjZl
TWdMUm8wVEs4UzQ0L0YvMFhUN3lHUng1NXhQZ2Z3Zkdnb1NnUk8wcnc0b0FRd2NPUzZidmlYa00y
NzBPT2dlbndJaUFDCklpQUNJaUFDT1NTUUlQOU5maVpLakRJWkdUNTh1TitBU1VyWWVGSWN4L2xZ
dVhLbG45Z2czS1hrTElKcktqT1J6c1ZrbmNsT1ZLUGgKM2pJbkZLRHNhZUtMc3I0WURmZksydm5n
dkVHWlljVDZVUXhma0FwWU5EU2tSd05hRFNKTWRGbUhFWUw5cUphcWh3T3BhZmxnT0JZdQpjOCs2
ZFRQMzlOMWNaVFd6dG0zTkhuL2NYRWQ1YzFxVmdsR1cxdmtJcm5YbkhiZXdkcnV1c0swYWZHUG1L
bCt0V3ZHSHJmQ3YzMjM1CnI3L2JNajUvOVliVi8vRk5hN0xoT29YT1g3Qi9xdmRFNTRQdCtCM2kv
QklKeVhmamZ3MUhpZkxQRXlaTU1QcnE0UGdTMGFNMDlvKzAKckhjV0pSMHR5clhtNmo1RU9iZTJF
UUVSRUFFUkVBRVJ5QThDTHZra3ZkRTdnc2dFb21pRXRid3p1ZVdKL3J1dWZUWFZyL2JmZi85WQpa
VjFKeGFDRTd4MTMzT0hUdVJDZmw5UndmaEtyOTNDc09OV25TbnJ1VFB1UlRoYkhNU01xeE9RVmNY
NVlFME1VcEhmdjN0NGhpUnJWClFKZlR5YlVhRDBlR3lpTTFMUlVqbHlGbU9DRzMzY2JrdHVoV3RF
MGhOZXVBQTRvdUwrazNmaCtrbjNVOGRBMnJXMmV1dmZyUkwvYjUKaW5WdDZZcjFiY1hmMWF6ZWlx
VlczeGJheHRVVzJ2WmJiZVJMRlJQNWlCb2NKUFVRdlErVjNZaDRjYytKNUVVdG1WelM2OHJHZmtR
ZworVjM4eStXNkpUb1ppTS9wcDVPdGdnVzV2Zy9aNEtGamlJQUlpSUFJaUlBSTVKNUFSZ2VFcC9C
VXZxRlNGV0p4TkEyazkxRDFDYkUwCjRsVFNUZWorSE00Wnp6UjBuQkFtUGVnLzBKUFFrUm5ENFls
YWdZanRzMUY5aXVQa2d6RkpSaStTV1A2Vmp0dndUYXkybEc3TTZEOUkKM1FvN0lNSDJPSTVFaDNo
Ly8vMzN2ZFlrV0ZkVzcxUnpwZEc3eXpRck5Cd1M5Q0RPTDNVOVR3b1hsL29EamlDVnFkQys0RHh2
NVZUdAozMzIzeURrTTcvbFMwUHdXK1gwM2JkcldUN2E1RDJobmZ2dnR0NHpucHZIZ25YZmU2YmRE
UzBGMDc1NTc3ckdCQXdjV205Qm5QRmc1CmJFQ1VybUhEaHY3L0xqZzlEZ25SRUtLR2FKR3laYm04
RDlrYW80NGpBaUlnQWlJZ0FpS1Fld0laSFpEd1JJekoxYlJwMC93VGVsS0UKU09mQldaZzFhMVpz
QnlTNE5LcHFNUWxHM0U1ZkVGSS9mdmpoaDVTNTg4Rit3WHUycWs4Rnh5dnZkMHJ1RGhzMnpQZGVD
TVpDWTBhYwpFaW91UlRWUzAwaHZTeFlkQ281QmFscDVtZk1IZk5vVnFWZEJpVjBuSlRKWDFNeWx6
Sm1yc0phOWtjR09hQVlWcWFoR1JvTkcwdlpnCnd6Sit3N3pxdVk2SU9HeDhacDkwN0JnZHYxZWlW
V2VjY1lZdkg3M2VldXY1UWRNNGtpYUVPSGxVaXN0bnd6R2pKUFpqanozbUh6UXcKVmh6ZWZ2MzYr
WFRBeE9hRXBibVdYTjJIMG94Sis0cUFDSWlBQ0lpQUNKUTlnWXdpZENZalZNQmhrbkw3N2JmNzF5
ZE9MVHg5K25UNwp2Ly83UDkrN2cyRXpnZW5Zc1dPcG52cWlkYUJQUmFMR0pCMFdudENtcWo3RkUx
eWVibGMwb3hJUnd2NmdXL2tiYjd6aHE0d2xpMmFrCnVyWlVrU1NpVnp6aDMyR0hIVkx0bXNQbDFZ
b2QyODNWWGRxWjJlNjdtN25hQmk3eVlFNkRVR3l6VWkxNDRZV0NhMjdTcEluL2ZlS00KNElEdzIy
WUNqaE1TZnVGMDA0dUczaGM0SzJFTEM3aUovdEZ3RUwxSG9uMzIyV2UrRk85ZWUrMlZ1TXAvanl2
Z1RucVF5QXZUaTlBNQpEQm9zOUI0NFRhU1V3WURLZHVrczdqVms4ejZrRzVmV2lZQUlpSUFJaUlB
STVEZUJqQkVRSWd4TTNOQWtJSUttVXptNTRnakltelp0CjZnV3JmSDdKS1lkSnp5cU5jVHhlY1N6
UitXQmZxbXVoVnlFdlAycjFxVGpuek9XMk9FMlVJOFpKQ0F4UmNGeE55elhYWEdPVEprM3kKdW9U
Z09Md3pxU1lWNW5HbjlpYXlVdDVHQ3BZckpPV2FMWnFMVHBqck01T2JFUVhSRE42NWZsS3hlTWVK
NEQxNGNmWjAyZzlLMVFaZAp6b2tPb0k5STV1emhUR2N6ZXBBYkt2OGNsV3VZT1hPbVRadzQwZisv
eDlFdS9YT1V6Sit5ZFI4eW4wbGJpSUFJaUlBSWlJQUk1Q3VCCmpCR1FZT0FJYkhrcVNwcEtZRHla
SnpMQzAxNDBITGVoS0k1Z3BHTDA3ZHZYVDdSTDI1TWltTENIVDh2eDBaZVExcFVvckExdmw0K2YK
U2RscDFhcVZmeklmakE5eE9pVjljYXlpUkhTSUl0R3pCZUU2cFZXWlVBZVRhaW96a2ZPUDFnVDlU
S3BxV2NHNXMvdGVOQUpDVldUWApoTnRGRzh6MXkzREZxWnprQW9mRXlZSmNDZHpzblprbjcyZ2R1
R1orRDB5Q2VUSHBKdDB2U01HQ0xaL1RSVURvelVMaEJmcXpZRGpsCi9HOEUzMWxHcWlLY2ljNFJX
VWxtY2FNSHlZNFJmVm42Q0FoT0I4MHBWNjllN1g4dmpCOGR5QzIzM09JcnNxVTZUOXhyeU9aOVNE
VW0KTFJjQkVSQUJFUkFCRWNoL0Foa2pJTUVsSkthaXNKd244enhscDNJVGd1ZW94b1FOb1M0Vmd4
SWRFQ1pCVEFDakdtVnJ5YmNubFNhdwpZTUkrWU1DQUN1ZUFaRVBUc3E1VGQ5TmxucFM1UkVOalFv
V244cTdRNUc2ejB4eVlFOENiYzVRS2VvRXdWcHB0STNWeEZabTlTRDF4Ci9DWDVqdlBGN3lwd3hJ
S244RGdIT05HVVBjYUM5Y0Y3cW5PUkhwZFl6aml4Q1NmUkR5cE14V2xDbWVwOHVWd09sK3V1dTg0
M3V5VHkKaHNPS2ZmNzU1LzUvdEhuejV0NWh6Y1lZc24wZnNqRW1IVU1FUkVBRVJFQUVSS0RzQ2Z3
emE0OXdibkxtU2UzaHlXaDR3by80Tms2cQpFNlZ6a3duTkw3bmtFbC9tbDRoS01Fbk1OS3hzVE5n
em5hTXMxMmVyby9weHh4M25jL3FKZG9TTnZQNU11ZjNoN1hQMW1mWVNkRGgzCjhxSWlSdDgvOXhO
emhRM01qanl5eUtxc2ZBbi9yaWd4aXlQTTc1ZVNzNlJoc1Q1NEpUc2hLWUtrWVlXUGsyeTdpcktN
LzJuUy9ZZ1kKaGcxOUZ4R3llYTVpR0dXMnMyMWhmaVc1RDlrZWo0NG5BaUlnQWlJZ0FpSlFkZ1Jp
T1NDa20xQmRpVWt0NlQxRVJVaDN1dEtWTVNKMQpoWFNzcUpZc05lVUExL2lCSjhmaHlVbW00MlZy
d3A3cFBHVzFQbHVhRnA1cTUzTWZFRXJ3L3E5UFpERzBUZ1B0Q2h3VUxDWlN3bmVYCmxWWXE0K2w3
b3QxLy8vMStFVjNtNlFRZWJCTzhKMjdQZDhUcnJNLzBHeVV5MktGRGgyU0h5S3RsL0M5dnZmWFdT
Y2Ywa2VzUVNXbGgKakVnSjM0bUlsTWFTc1MzSmZTak5HTFN2Q0lpQUNJaUFDSWhBK1JLSWRQblM5
UUFBSUFCSlJFRlU1WUJjZi8zMXZuRWdKVHFaTkJEMQo0SW53S2E1MjZwSHVjWFVjQndUUk9zY2c3
LzdnZ3c4Mm50Z3pZWXM3YWN2V2hMMThiMFBScy9OVW1oNHJQQmttSmVib280LzJUOTJqCmRsVG5h
UG5lQndTOUJ5L202T0g1THlsWTlBRHAwcVdnSjRnckNPYjFJYVZ4UU1JQzg0QTBqVERoaXkxWXNN
Qm16SmhSMkRReW5YTkIKaGJLRERqcklSMDJDWXlXKy8rNkVMRXVXTERIdVY3Nlg0VVh2d2F0SGp4
NUYwc1VvSlV4NWJMUmRSSHlJV09LTWxNWUJ5ZVo5U0dTdQo3eUlnQWlJZ0FpSWdBaFdIUUdRSGhM
NGZWRkRpYVRFYWpiUFBQdHRYeEFyeTNOTk4yaEp4OEJUNW1HT084Um9TeXAyZWZ2cnB2cC9DCjhP
SERpMHlDRXZkTDlUMGJFL1pVeHk3cjVZaVhtZlFoT0tmc0xnNGFFU1lhTnNZUjFPZDdIeEIzYVc1
U1d5QTZkMEUwYndRcGVMbCsKZ1RaL2ZzRm5JaUIxNjVidUx2RFVQZnprbmNwWDhBd3Z3K0dqbWxz
VWtUOHBiRUduK3Rtelp4ZjJGZ2xHK1pWcjg3N3h4aHY3U1h1KwpPeUJjTDVvc1JPZEVNN0dBQzJX
Z1NZZmtPeEdRT0dXZ0F4YmhkNDRUSEp2bHBiMFA0V1Byc3dpSWdBaUlnQWlJUU1VaEVOa0I0Y2t2
CmdtK2NrR0FpUXRTQ0o4ZVU1bzFqT0IzMCtxRDZEb1lEUVVkcG9pajBxYUNDVTFUTDFvUTk2dmx5
dVIyVE02SkpDTWlKQkNIeUo3V04KSi9RWFhuaWh0VzNidGtnVnNuUmo2ZGF0bTlmVElQSW5ueC9q
eVh5eTFMZDB4OG5sdXA0OXpZNC92cUQzUnk3UHc3SEREaklsbW5taQpIemFhQ2o3eXlDTmU5eEJl
bnZpWktBRC9CeGdUYVA0WGV2WHFsYmlaWFh6eHhkNEpLYllpRHhmUURMUjkrL2F4aWorVTlES3lk
UjlLCmVuN3RKd0lpSUFJaUlBSWlVUDRFSWpzZ3UrNjZxMC9UNE9uOEVVY2NVVGh5MGt3UXNaTFNF
dFhJTzBmdmdWUER2Z2pKRWNFeUNicmgKaGh0OE4vUW94OHJtaEQzSytYSzlEYjBqY0J3UTQ0ZXRT
Wk1tdnFzNXpsYlVOQ3lFd3dpSTBkUTgrK3l6MXJwMWE1ODJkT3FwcDlxZApkOTRaUG55NWZYWkZs
MXdhbExseXRlYktESnNyWlZ1UWVoVnFnWkxWc1FXVFh5YmNWSHpDRWFhQ0cwNFowU1hlZzIxU25U
aWNJb2hECmw2cGlHeEdzdDF3dVdaeW1tcW5PbWV2bC9FL2o1RTZlUE5rM1Q2UTZIY3VvcHBZTEN4
aVg1ajdrWWx3NnBnaUlnQWlJZ0FpSVFOa1EKcUI3MU5Fd2FLSGRMRGppVGxiQnQ0enJJOFZRNWpw
RkhmOWRkZDNtdFFyQWZYWmc1UHVrZ1VTeVlzRk51bDFLcVJBdXc4SVE5eW5IeQpaUnR5NUtuR2xN
dytkT0tJY09XeFpOc0V5MzV6NGdyWW9MT2hYT3pRb1VOOWhhZWdmd1dUNDN5dzhlUE5kV1EzbDJK
V29QdHd1bTB2ClRILysrWHdZWGVZeDRFampGRDcyMkdOZTg4RWVhRC9nL2U2Nzd4YitIak1mcVh5
MzRPRUJLWkU0cHZOZDdodS9FNzdQb2hTWlRBUkUKUUFSRVFBUkVRQVN5VENCeUJJVHpVZ1VMWjRO
OGNOSjYyclZyNXdYa1JETW1USmpnMDRlaWpPOUhWNE4xOTkxMzkwK2djUjV3UnJvNAoxVEdDZG5v
c1JOVTZaSnF3NzhEc3RnTFpWbHR0WlZkY2NZWG55NU56MG50ZWUrMDFuNVpHdzBXY2tDakdmcVRI
NFpUeGhKNWp2dkRDCkMvNWU4VlNidExuanlYMHFSM1BaWmk2Vnlkd1l6WnoweDJrcUNnYmpzdkg4
Y3RkZzNEVkpMTWNCUmp3MUVic0xMcmpBOVM2NTFsZUYKUTArQm93aC9Ha3JtdXhGRlpPeWs2dkcv
dU9HR0cvb2hrNUpHeVcwZUNvU2JqK2I3OVdoOElpQUNJaUFDSWlBQytVOGdsZ05DMTJ3cQpYWkhH
dzFOVFVuc1FrS1Bob0ZvVCtnWHNsVmRlOFJNYTBuK1NHVStPS1orTDVvTW5ydE9uVC9jaWRGSldp
SURRSlQxSTAwaTJmN0FzCld4UDI0SGo1OEE1ZnVIenl5U2ZlZWNEWmd4ZjZoRlE4azQzNzJHT1A5
ZmRqbjMzMjhhdG56cHpwcXhwUkhwWkpjM21iYSs3dTBwL00KM2ZkL25BL0c1TEx4ZkdQQzExODM1
K0NXOXlnem54K0hqc0lNTkRRazJrUlBFWmhYbEVrN1doZ2VDT0NrQnM0SFY0MTRub2NDUkhKSQoz
NU9KZ0FpSWdBaUlnQWlJUUxZSXhISkFPQ25PQVE1RzkrN2QvWXNKTWlWZm4zdnVPZnZqanorOHVK
Y0oyQU1QUE9EWHB4b29aVDlKClg2RUVMeStNNmxpa0RaR0NGYVJUcGRvL1dKNnRDWHR3dlBKK3Aw
djVlKys5NTB1ZkJtVjREem5ra0ZqQ2ZQanhCSjVKSlBjcU1Lb3oKc1J3OVQza2JPbzh0dGpCWGVh
bm9TSWlBT0NtQzB4a1ZYWjdQMzRnV2tKYjRIVjZWTTc1WEZBY0VCMnFqalRZcVVwMHF1QVorT3hR
KwprSW1BQ0lpQUNJaUFDSWhBTmdsVWN5a1lMaGttdXBFU1JJb0pLUnVwQkxoTWRJbUlrQ0tWeXQ1
ODgwMi9LdkU0Q0lPamFoMkNZK1A0CjBLdWdwQlAyNERqNThQNjZlL1JQZWxvNjQ1YXgzUjdrS2FV
d29sRWpSb3lJRkVsS2NZZ2NMSzVXNUpqNFJraUhicm5sbjhWa3plR1UKdUFmdmJ1ei9MQy9OcDlH
akgzYWxmT3U2bEs0R3Z1Y0ZEaHFPTTJWblNTdkUyZVVWYk1ON1VENlh0TUN3NFJ5R2phZ0hIY09Y
TGwzcQpSZXdJMlRuK0xlNmkwazNlVzdSb0dUNU1qajhYL1JkUHZBWWVCTHo0NG91K2NsY3dFRFFn
OEhueXlTZFQvb2JpWGtNMjcwTXdUcjJMCmdBaUlnQWlJZ0FoVVBBS3hIQkFtV1Z1NHg5WTRDYVFE
TWNGQ0I0S0dJN0diTXMzTlV2VlVXT3hLSHRGSGdja2FFei82TDNBczNxZTcKZEN5aUxGRU5iUVFW
alJMdG9ZY2VzcTVkdXlZdXp2dnZSQ2VvRHBST0I4UFRkaWE1ZDl4eFI4cnJRVUM4MTE1N3Badzhz
bU1VUnlibApDVXEwb3JoSFFhTkJKL3N4MTNMQ204dGtNdGRtdytsZlNuU0NwRHU5OE1JVVgyMXR5
eTIzOUZ4SjcrT1ZyQW9XdjFrY1o5WlJjbnFkCmRkWXBjc3p3NUIxK05JbWs0aGpWeWVnUHduM2o5
NDBEUXFvYnprd3lpenQ1VDNhTTZNdlNPeUFjaC85dFVpbURrczFjSjg1WHF2OWgKOW9sN0RkbThE
NXhmSmdJaUlBSWlJQUlpVURFSnhISkF1TVRiYjcvZDk2a2c3UW9kQ0MvS3ZSTHh3QkhoaFNOQlJJ
STBxMVNHam9ScQpRVHpKRDQ3RFo1NDhJMFNQYW15UDJEY2NOU0VWaGtrZzFaN1NUYUNpbnFNc3Qy
TmkzTGh4NDdRT0NPTmhvaGhPcjBvY1k3WWNtY1RqCmx1NTdjUWNrMC9ISWFpSlM0dWI1SmJac1Ru
ekREc2lYWDM1cDA2Wk44NldURXdlSEpvUjdtU3JkTGU3a1BmSDQ4YjVuZGtBeUhRK3QKQ0pFUy9y
OERpM3NOMmJ3UHdSajBMZ0lpSUFJaUlBSWlVUEVJeE5hQTRGUTg3K3FrSG43NDRZWTJBY05oWUNL
R0kwRkZIVktoV0pmTwpBZUVKOGVEQmczMFRONTRlc3grNTg1UUE1ZWwrdWdoQUdETTlSTkJOQk0w
UldjZkVuQ2ZUVEJDcDJsV1I3RzZueWs3SExlcTFJT2duClVwS0pZL0RFTytweHM3bmROZGVZM1g5
LytpTzZvbEsrV1dGcEhKRDBaeWo1V2lJbEZFSklacDkvL25tRitlM3htM3Y4OGNlVFhVYmgKTXZS
WjlPa0pPeUNGSy9WQkJFUkFCRVJBQkVSQUJHSVFpTzJBekprengxZkxJWWMrMElBMGF0VElPblhx
NUYrY0d3MEkyNlV6b2gzbwpQMGlWNGlreFhiK0paaHg2NktIcGRpdTJqbXBhblR0M0xyS2MzSFdx
UUpFdVZ0RXNTdW5nS0tsVDJYSmtjc252aVNmTSt2VXIyZ25kCitaOU9uMkd1Z2Q4L1ozWS9yN3cw
MGdoeG92bTljZDlJS1h6bm5YZDhVWWFKRXlmNjB0UjVPZkNFUVZHaStjd3p6eXlpMmVML2wvL3gK
SFhmY3NYQnJORFF5RVJBQkVSQUJFUkFCRVNndGdWZ09DSG5pQng1NFlFWU5DQk16eXBHbU1sS2sw
RGt3Y2NPSndmSFlaWmRkZkQ4RgpqcDlPdko1NHpFVG5nL1drWHRFWWtVZ0l4NnRJZHY3NTUwZldn
S1FUb1dmTGtja1Z1MisrS2VoNjd2VGJSZXpzczgxY1d4a1hHU3ZxCm1CVFpLSSsrRUszcTNidTNM
Vnk0MFA5dStVMFRsZnYzdi85ZEpDcVhSME11TWhUK3ArbDZmc0lKSnhSWnp2OFZsZTc0UHcwZU5C
VFoKUUY5RVFBUkVRQVJFUUFSRW9JUUVZamtnbE94RVdIdmFhYWY1cDd5a1hGRnVsd2xZSEEzSSt1
dXZiemZkZEpQdnRreHpQWjdBOGlMRgpBeUh2MjIrL1hhTExlZlRSUi8xa2lyS2lhRkJJN2Fwb2xx
M1VxV3c1TXJuaTUzNUtUZ1NmL09ndTI4YzFTelFuN2s2K3ZxUkxpUnhoClk4YU1NWDRyZlAvOTk5
Kzk0NERUMjZGREIxL1JLczd4U1dFYjcxcTZVejZhbExjTlhIMWgrbWFnNDZrSWhzZys0Skk0M2hV
clZoaS8KeDB4VjJSTDN5L1E5T0Y4MjcwT21jMnE5Q0lpQUNJaUFDSWhBL2hDSTVZQXc3R3hwUUhC
YUtPbExoSUxYalRmZTZMVWtzMmZQTGpHZAppeTY2eUUvK2NJYmlwbktWK0tSWjNqRmJxVlBaY21T
eWZIbUZoM09Wbkkwb3lNTVBtOU1MbVd1MldGQjYxMlhrdVVtdnVkNFVoWnRtCjVVTXc2ZVZnSFR0
MjlHVm5lZm9mR0ZFNHVzTWpISTlqbEpNbWhUQlJHMEZaMndNSTVlUzVVYndCRGpqc2U3dTI5RVJ2
YUlKSkJKRW0Kb1R4MHlLYmw2ajVrYzR3NmxnaUlnQWlJZ0FpSVFHNEp4SFpBcUg1RlYyNG1LRFFR
cExGZFNUUWdqejMyV0RHUkxzZWhyRzlWTmpyTApaOE95NWNoa1l5eXBqbkg5OWVaU2ZNeDFiQzhv
dStzZXVMdDBIN01CQTh3VkZraTFWL3psT0JWaHg0SVMwcVFXM1hubm5ZVUhJd1VKCkp5UThRUzVj
bWViRGVlZWRaOXR2djMyUkttd1VVYUJhRmhIQ1ZHVjQweHl5ekZmeE1LQlBuejUyMldXWCthcHhs
TkFtSXNTMVpiTkkKUVM3dlE1bEQwd2xGUUFSRVFBUkVRQVJLVENDV0EwSWxIQnFVSVJpblR3S1Ra
U2E2dzRjUEx5TDRSZ1BDSzVWUjB2UGtrMC8ySWxlZQpzQklCd2ZIZ1JYV3NnUU1IRnBuUXBUcE9a
VndldFFOODRyVlRpV3pzMkxHRktVU3BISmwzWFljL0p1Q3BxamNsSGplWDMrdlZNL2ZrCjNZeWdG
elVMbkliYmxYQTJhOVlzdTJkRmw4RXJiUHptcU9hR2FMeEpreVkrWFM5d1V1STRJWlI1cnVjdUpL
eGJRdU8wcDFQUmYrdWEKbkdSekFoOGVmelkvNHlUZGRkZGRuZ1dORmFtY2hpWXIyMFVjY25rZnNz
bER4eElCRVJBQkVSQUJFY2d0Z1ZnT0NFNEhFeXNxL0dBMApMaHN5WklnZGVlU1JObVhLRkVQYkVj
WElqNmVKSHBvUDlCN29QM0E4MEphUUVrSWF5SFhYWFJmbFVFVzJvWklQVDdHcm9oR1Y2dVdVCjIz
UkFaMEtjNk1nd0tZWTVWY1BTOVE4cFMzWkVQSjU5MWx3MU5GTDdDczdzSkJrNXNjQzVDQi84akRQ
TzhFLzVjWVlSV2dmYkJPL2gKYlZOOWhtZWk0Si9xVVFOY0dJZkdoeFhCZnZ2dE41czVjNll2WjAw
YUd2YkhIMy9rWk9qSjJHYmpQdVJrc0Rxb0NJaUFDSWlBQ0loQQpUZ2hVajNQVWhpNVJuN3gybnV4
aU9Bci8rdGUvYk5Tb1VWNmNIdWRZT0FzY2gzNGlUT0xJTjErMGFKSFhibnp4eFJkT0cvQndwTU5S
CnpqZXdxNjY2eW9KU29UekpyVXFHcmdIdEM2Vmd3L2JaWjUvNXFBaFBzKys3N3o3dlFJYlhsK2Ru
SnpsdzVaTE5XcllzRUowNy85WlYKVHl1b2dKV3JjWVdqRzF0dnZiWFhOUEhPeEpnbjlLd1BYbEhH
a01pYmZYQm1mdnp4UnlQYVZCRU1weFg5Rk5GTk5DMDhhS0NaS0U1VQpyaXpiOXlGWDQ5UnhSVUFF
UkVBRVJFQUVzazhnVmdTRTB5TzJKVjBEa2ZkZWUrM2xSOVRTelNDYk4yOGVxNEVnVDFoeE9CQy9r
dEpGCk5HVGpqVGYybWhLZVNFZTFDeTY0d1BjZkNUY2lKQWVmNHhLVndkQ3IwSlNRblBhS2Fsd0xG
WllTbjdZSDF3TTdLcEoxNmRMRnA3TFIKZ0pIMHVFQnJRL1NEaVNac2Z2MzExMkMzY250M0Q5M3Qw
MC9OVlk4eWx3SlYwQTlrbjMzTU5hSTBtejZkVXNyWkY2SnpzZUVuOEV5QwpTVFhpUFVnUENweVBZ
Qm43cExNTEw3elE5bkVERHpzaS9LNFJvWjkxMWxucGRzMkxkZWc5S0NFOGJOZ3c3OERlZnZ2dDFx
cFZLeHN4CllvVFJ6ZjM3Nzc5UFcxSzdwQmVSN2Z0UTBuRm9QeEVRQVJFUUFSRVFnYkluRU1zQjRh
a3VKVGw1UXNyVFVad1JKcnhObXpiMUZhd3kKZGQwT1h4Nk5Bai82NkNQZi9ad3U2UFMwR0RseXBO
ZUdoTGZMOUJsUlBIbjhZUWNrMkljbjBEaEh2TC8vL3ZzVndnSHA1enJ6VFpvMAp5WDZpQlhqSWNC
clFHZEN4bWdsdk1xTW9BRG9hbkJXY1JKeXcvdjM3MjZXWFhsbzQ4V2FpbkE5cGFuWHFtSE0yelZW
ZUtoQ2VYM0dGCnVWUThjNFVOekZWZUtvaUkvQzhiS05tbHhscEdTbFRZc1FnbXZ6aGpxUnlQWUht
bUUzM2pTbm1SUmhqV2dKQmlTTG5xN2JiYkx0UHUKNWI0ZURjc2hyZ3daVFVHSjNPQTBVWjJPVXNL
VTZLV2FHZzhIc21HNXZBL1pHSitPSVFJaUlBSWlJQUlpVURZRVlqa2dwR0NSTG9YbQpnNVNwNmU1
Uk5VL1ptYVFRQWVuYnQyL2hSRGZkOEhGa21QUTgvZlRUZmpPZXdOSlJtajRNczJiTml2WEU5VC8v
K1kvUjh5S1lWQ1k3Cjd4WE1iaXVBVVE2Vi9paEJYNVZnMHN6UTU4NmQ2MHJWTm5RUmdwZTlVeFdr
bWlWZUZoeHdSSGdoVEI4OWVyUnZLTWRrK0tTVFR2SnAKY3pnejlFb3BieVA5aWdwWWdUL2xaQWpP
VVRUbmdKbWJ3R2R2ZEhBTVd4RGRvS2hDOEJtbkd2MFI3MHpFY1VDWU1HY3lLbWt4V2EvSQpodE5L
QlN3aUh4aGQwRW5kNDdlV3phaGhMdTlEUmVhdnNZdUFDSWlBQ0loQVZTTVF5d0VCRG4xQW1Bd0hr
MXlXTVpHakVSdFBsQlBGCno2eFBOS293a1U0VTJPYWJiKzRyWDFIU2w4Z0tUazVVSTRVbW1mT0Jj
OVMyYmR1b2g4bUw3YWdJaGhDZk5KaEVReE96cmF0TnkvVkcKTmNvYUkwekhpQUxCZGZMa3lWNWZV
OTRPaVB1cCtBZ0lOUU5jdy9wQysrcXJndVd1dFViV0RFY2lpR2lRK3NkcitmTGxScU05SWhmOApm
bmpIK2VDZGlUTDdSSEZBVXBYWkpYMkoxTUo4Ti81bkw3NzRZbDhaamYvcndJanM4RDlPWTlCc1dT
N3ZRN2JHcU9PSWdBaUlnQWlJCmdBamtua0JzQjRRaGthNFJOcW91SVNhUGFxUUI4WlNWQ1hWNGdr
TWFGcDNSbVN5R1UxclNIWmYrRFpSVTVlbDFZRXdzRWFmVFVJMm4KMlJYSmFBWkhoSWhvUjlod3pv
SnJZVDBORytPa3hwQ0tSbmxqb2l0eFV1WENZOGptWjFmcDFZbWV6V2tOMEdWazg4akZqNFZqOGFr
VApuQkFSb3VJVGsyNmNEdEtQY0pqaHdYdndHYzVNbHRrV2JVMDZRd1BDN3piOCsyTS8rb0JRTFM2
NForbU9VWjdydUhaU0tVa1pTK2JJClozTnN1YndQMlJ5bmppVUNJaUFDSWlBQ0lwQmJBdFhjMDk2
aStTa1p6a2QxS1hvYmhFVzNHWFpKdWhxTlE1czJiZndrbXA0VmlLWXgKeXUraWd3aFA2SkllNEg4
TE45eHdRNTg2RXA3b0xWNjgyRmhPZWt4RjZNTVF2ajZ1bS9LdHlUUXR3WGIwVWFFSXdQMzMzeDhz
cWhqdgp1ZlkwY2tFaDhkOUQxNUFMeXBtUG1YZ2ZNdStoTFVSQUJFUkFCRVJBQlBLVXdEOWhnd2dE
cENJT1haOFJOdU1rbE1ZUXVKSU9SRGxlCklpRkVVWGdpM2JWcjE4ak9CK2VuK1Y3YmhGU3IzMTB6
aVd1dXVhYkNPUjljRDQ0WWtRM1MxQUlqSHgvSEpDeHFKbDFMSmdJaUlBSWkKSUFJaUlBSWlJQUlW
alVEc0NNaEREejNrVTU0MjNYVFRyRjBySW5iNkQ1QW1SR25mT0trZ0N4WXNzQ2JVY1Uwd1VyUG9D
NEk0dmlMWgp2SG56YktlZGRpbzI1RTZkT3RtNGNlUHlQcVduMk1EREN4UTlDTk1vdTgrSjBZUEtj
Qi9LanA3T0pBSWlJQUlpSUFJaWtHVUNzUjBRCkJMeVVpV1dpSFBUdkNLYy9aWGw4R1E5SEtoSjlR
NEtxVU9nL0tPOUxCSVRTdTBGcVY4WUQ1Y2tHQ0lFVE5UWU1qUTdWNkRkU2xlRE4KaytHbkgwWmxt
UGpxR3RMZjQxeXRUWFNpY25VZUhWY0VSRUFFUkVBRVJDRG5CR0k3SUpUZ0RmcDNMRm15cExCL1I3
Tm16WEkrMkdRbgpJRnFDQXhSMmdoQVFreUtHbnFTaUdSRWJTaFFIR2hBa09naW94NDhmNzhzZHAy
cEVtSGlkT0dMUFB2dXNkMllDSFF5cGFhWFY3aVNlCko5WjNUZDVqNGNyYXhvbVQ5OHB3SDdJR1J3
Y1NBUkVRQVJFUUFSRW9hd0xWNDV3dzZOK0JBNExRbSs3aVBKR25md2Y2a1BJd0loMVUKSFdKeUhi
elFUS0FwcVloRzVTNGNoK0QxM0hQUCtldWlVM1ZVNTRQcnBwb1d6UjVKYTVzeFk0WXZNYnZlZXVz
Vmx1V3RpR3cwWmhFUQpBUkVRQVJFUUFSRVFnWXBQSUpZSVBadjlPN0tGN29JTExpaFdWbmFMTGJh
d2p6LysySGNUUit4ZWtleUpKNTZ3STQ0NG9sUkR4aUVqCmFrSnZsaVpPSDBNMENFZVJ4bkwwUi9u
NjY2L3pvaEZocVM1U080dUFDSWlBQ0lpQUNJaUFDRlJJQXJFaUlFSC9Ebm9jaEkwK0NPZ1cKNk44
UjFkQ1NrRlpFQklOK0NWR2F2aVU3OWwxMzNlVWJ5d1dONWpoT2tMSkU4NzJLWnFtY0Q5TGRFT3RI
TWRLMzZCdENGSVFtajNTQwpmK0dGRjJ6SEhYZjBVUkVpSWpJUkVBRVJFQUVSRUFFUkVBRVJLQThD
c1RVZzJlcmZrUzB0U2FxS1dVeTJYM0V0dGxOMXFpNFAyRkhPCk9YWHFWQnM4ZUxETm56Ky95T2FM
RmkzeVRrUlVFVHFGQWthTkdsVW9XcDg1YzZidHZ2dnV2b0FBVGVkMnpXYXI4U0lqVGZPbE1tZ1AK
ZEExcGJuQU9WeVhxV0hKNEtoMWFCRVJBQkVSQUJFUWd0d1F5cG1EaGNJVFRtTExSdnlQUWtqejk5
TlArNmhZdVhPZ24zV2hKWnMyYQpaV2dWb2xybnpwMnRlL2Z1aFozVDZlek1VMy9Tc01MQzlLakhL
OC90aUFwUjdhcDE2OVoyMm1tbkZWNVRNQ2JTcWFJWW5iNkpnS3k5Cjl0cmVDUXYyK2VxcnIvenlj
bkUrZ2tIb1hRUkVRQVJFUUFSRVFBUkVvRW9UeUJnQklUM3FsMTkrOGFrN1RPN0RWdEwrSFlqRkow
eVkKNEk4WlB0N3MyYk50ekpneE5talFvUERpdEo5SnQzcjc3YmZ6cTlwVDJoR25Yb2wybzBXTEZr
YTMrWm8xYTZiZU1NS2FVMDQ1eFVhTQpHQkdycDBxRXcyb1RFUkFCRVJBQkVSQUJFUkFCRVNnVmdV
Z2FrSk5PT3NrYU5XcmtxMTNkZXV1dFJxOEtOQmU3N0xLTG5YMzIyZjZKClBVNUZWTXVtbG9Rbi9a
V2wyaFBhRFJvT0xsMjZ0QmhLVXJDaWFrRFltUWhLTW52cXFhZVNMZFl5RVJBQkVSQUJFUkFCRVJB
QkVTZ1QKQWhsVHNLcFhyMjRmZnZpaEw3bUxwdUxhYTYrMXl5Njd6T3JYcjIvNzc3Ky83NHJldG0x
Ykk1MnFUNTgra1FmTnRtM2F0TEgyN2R2Ygo2YWVmWHRnd2tOSytPRGVjTjVOVnRtcFBwRTR0Vzdi
TU13bDZkd1FNMElSUWlqZXE0Y2lRYWhXT1dwSGk5Y1liYnhqT1RFVXRVeHoxCityV2RDSWlBQ0lp
QUNJaUFDSWhBZmhMSU9NdHYxNjZkZHc0T1B2aGdJNjJIMUttZmYvN1pSbzhlYlp0dXVxbGRkZFZW
dHQxMjI5bUEKQVFOaVhXR2dKYUZiK2JiYmJ1c2RtdlhYWDk5UHdHdlV5T2dYK1hOVnRtcFBPQXYw
QVlFRFVhTHdxMVdyVnJHME1aUk1oakdPUnZBaQpTblhRUVFkNUJ5VFd6ZExHSWlBQ0lpQUNJaUFD
SWlBQ0lwQWxBaGsxSU9Iek1JRjk2S0dIN0t5enppcGNqS0I4Nk5DaGZuSjg2cW1uCldsVG5vZkFB
N2tOSnRTUWNJeStyUFlVdkx1Ym5hZE9tK2NoU3pOMktiWTZlaHZMSVlhTkVjYytlUGUyZWUrNlJO
aVFNUnA5RlFBUkUKUUFSRVFBUkVRQVRLakVDMFVNUC9oc01UZVhxQTBNeU90Q3VzWWNPR1B2V0sw
cTV4bkkrQkF3Y2FVUlc2ZTZNbDRZV3RXTEhDZUhvZgp4U3BqdFNlaU9za3N6RHpaK3NSbHRXdlhU
bHprcTRLaEwzbjk5ZGVMT1NmRk50WUNFUkFCRVJBQkVSQUJFUkFCRWNnQmdWZ1JFTTZQClJtSGZm
ZmUxM1hiYnpYcjA2T0dyTnExY3VkTDIzSE5Qby9GZjFOSzM5TE40OWRWWGJZTU5OdkNPQ000SWpm
Tkk4ZXJWcTFma1M2MXMKMVo0MjJXUVRyNnNKTzNNNFpUZ05wR2RGNWR1c1dUT3ZKUWs3Tko5Ly9y
bHYvb2dPaE1hUk1oRVFBUkVRQVJFUUFSRVFBUkVvYXdLeApIUkFHK04vLy90ZW44b3dkTzdad1Fr
eEVoRzdiY2V5YmI3NnhoeDkrMk82Nzd6NzcyelVhVzdCZ2dZK2k0T1NrRTZIajZPQzhrQXBHCkZJ
VEplcXFHaEhIR2t3L2JicmpoaG9iZUkreG9MRjY4MkZoKzU1MTNXcUk0UGRXWWlZQlEwamQ4SEp5
OUUwNDR3YWhxSmhNQkVSQUIKRVJBQkVSQUJFUkNCOGlCUUlnY2tHR2pnQ0ZDaTk5QkREeTF4MS9G
VnExYlo0NDgvN3AyT0JnMGErT3BZeVZLSU9DOENlQ2JTUkZBTwpQUEJBKys2NzczeUo0Q3V2dk5K
UDBCOTQ0QUdqQy9yRkYxOXNMVnUyRElaYVlkNlRwVnFodmJubW1tdnN4aHR2akh3ZFU2Wk1NUW9J
CnlFUkFCRVJBQkVSQUJFUkFCRVFnbndqRWRrQVFNai8vL1BOR1YyMVNzYWlBbFMzNytPT1B2YUFk
ZlVncUkwV0xCbnVQUHZxb1QwbmEKZXV1dERhZGozcng1ZmhuZDFGbEdXV0JlalJzM1RuV292RnhP
RkNoWngzTWlGMVFjYTk2OGVlUnhVejU1M0xoeDlzTVBQL2hLWmllZQplS0xYN0VRK2dEWVVBUkVR
QVJFUUFSRVFBUkVRZ1N3VGlPMkFISERBQVRaejVrd3ZGQ2NhUVNQQzIyNjdMYkp3UE4zNEJ3OGU3
QVh0CnBHQ0YrMWVFOXlGZGl3bjFwWmRlNmpVbmlOalJvRng5OWRWR0ZhNWdnazdQRWlwMEhYNzQ0
ZUhkOC80emthU1RUejdaaUFSaDZEOCsKK3Vnakh3R2haUEUyMjJ3VDZSb29rOXkxYTFjanVyVGxs
bHNhUFZPSXBOQnAvcEJERG9sMERHMGtBaUlnQWlJZ0FpSWdBaUlnQXRrbQpFS3NLRmxFUFhqUUxK
QTNxekRQUHRLKy8vdHAzU0VmL0VSWk9sMlNnSEkrMG9WVE9COGVrK2VISWtTUDk0WEZVMERoUW5l
dXd3dzZ6CmpUZmUyQy9ISVhueXlTZnQ2S09QOXQ4cjBwL25ubnZPU0o4S2F6ZUlPbDErK2VXUm5R
KzJQK2VjYyt5ODg4NnozcjE3RjBaVWlJalEKU0pLS1krdXV1MjVGd3FLeGlvQUlpSUFJaUlBSWlJ
QUlWQklDR1JzUmhxK1RkQ1owRnh0dHRKSFhhMnkyMldaZXU4RWs5NVpiYmdsdgpXcUxQVkd6S2xO
TFZ0R2xUKy9iYmIvM3hpWEFFRTJsNlh1eSsrKzYyMDA0NytlakI3YmZmN3NYY0pScElPZTZFMWlP
SVZoQ3g0UFhaClo1L0Y2bHdPRjVwRTNucnJyWVhPQjVkRXcwZU9QMnZXckhLOFFwMWFCRVJBQkVS
QUJFUkFCRVNnS2hPSTVZRFFuNE1xVEgvODhZZG4KMXFaTkczdnd3UWV0VTZkT3ZudDNXWUVrcldy
eTVNbGU4OEc1c1pvMWEvcVVyQXN2dk5EdXV1c3VPL0xJSXkxY2dyYXN4bGJhODF4dwp3UVhGSWtC
YmJMR0ZvWS81NmFlZkloMGVweXlWQVAvdHQ5OHVqQlFSS1prelowNmtZMm9qRVJBQkVSQUJFUkFC
RVJBQkVjZ0dnZGdhCmtGOS8vZFdvMUVUSzAxOS8vV1VISFhTUUVRbEJEL0xFRTAra0xaK2JqUUVI
eC9qMDAwL3RpeSsrc1AzMjI4ODdIOEh5NEoyeEhIUE0KTWNIWEN2Tk9ROGRMTHJta01KMk44c1Jj
NTE1NzdlWDVJdnpQWkVSUWpqLytlSy8vUUpBZkdDbFlkSjN2MHFXTFgwUWtDWDBJNTVTSgpnQWlJ
Z0FpSWdBaUlnQWlJUUZrUWlPMkFKQTdxbDE5K3NmdnZ2OSsyMm1vcjY5aXhZK0xxcE4vcEk0SStn
U2Y3NTU1N3J0RjhyelQyCnpqdnYyS2hSbzJ6Um9rVSs1UWd4T3VsR0ZkRlM5VE9odEREQytycDE2
MGE2TEpvNmtyNFZwS2poeVBEQ2dzOUVRTGh2M0QrWkNJaUEKQ0lpQUNJaUFDSWlBQ0pRRmdkZ09D
STVEKy9idGpjYURwR1FGUnJXbThQZGdlYkozVW9sNjl1eHA2RFNDQ1RLQ2NocnV4WFVjN3IzMwpY
dS9FVUxxV2FBemR3dWxMUXByV2FhZWRsdXowZWIyTXlFWDM3dDBMSTBrSThqZmZmSFB2cklXRjZa
a3VnaXBZSEN2T1BwbU9xZlVpCklBSWlJQUlpSUFJaUlBSWlVRm9Dc1IwUWVrbE1talRKUDEwbkhT
aHdSbDU2NlNXNzZLS0xJbzBIUFFPbGRFa3I0bWs4SGI2cDhrUlgKYzBySDRsUkVNYlFvOWV2WDk1
Mjlod3daNHJVVFZIbWlKRyszYnQyTWZpS0JneFBsZVBtd0RVNVlwb2dRelJlSmhsVEVLbC81d0Zo
agpFQUVSRUFFUkVBRVJFQUVSS0Q4Q3NVVG9ESk0rRWt5QUgzcm9JUytLZnV5eHg3d2pnZkE3cXFG
THdNbTQrKzY3ZmRkemhOYzlldlR3CmZUdElOY0lSaVdLVUJNWUpvUTlKWXVuZVhYZmQxVWpOcW1o
R254TXFXS1Y3VVFqZ21XZWVxV2lYcHZHS2dBaUlnQWlJZ0FpSWdBaUkKZ01YcUF4THdvdThHNlQz
SEhudXNQZkxJSTE2RXZtVEpFa1ArNWhMaUFBQWdBRWxFUVZSVEVEWGw1Nnl6enZKUkQ0NUZXVmpL
NkdJOAoyY2NaaVdKb1NJaHdvSFVJREljRVBjZ2RkOXpoQmRmQjhvcnlqbmkrWDc5K1JUaSsvUExM
bnUyZWUrNVplQm1rbWNsRVFBUkVRQVJFClFBUkVRQVJFb0tJUmlKMkNSUVVzSnIrVWVRMEUwNlJr
a1FxMXp6NzdsUGo2MFpBTUdEREFkLzBlTzNac1lSV29UQWNjUDM2OEw3OTcKNVpWWCtrMXhYb2l1
WEhIRkZYYjk5ZGRuMmoydjFuL3p6VGMrc3RTM2I5OWk0NklEZldLRHdtSWJhWUVJaUlBSWlJQUlp
SUFJaUlBSQo1RG1CV0E0STFhdUlPcXhhdGNyV1hudHQzNVdjeG9TNzdiYWIwWDhESFVoVW80VHZq
Qmt6N0xYWFhqUFNyamdPdlR4S1lwU3AvZjc3CjczMGpRbzVIRklZeFZUU0RLN3FWU3krOXROalF1
UjZhUGRJSnZqUzJjT0ZDbzNKWml4WXRTbk1ZN1NzQ0lpQUNJaUFDSWlBQ0lpQUMKSlNJUVN3TkM1
SU5KTUpOWXRDQlVucnJubm5zTXZRWGlhVkt3b3RwSko1MWtQTlVmTkdpUWRlalF3YWRnelo4L1Ar
cnVSYmFqbHdWZAowREhTbENxaTg4SFlhOVNvWVVSQkhuNzRZVnU2ZEtubk9XL2VQTy9jMGIrRER2
UWx0Ymx6NXhwcGIxUVpROE1qRXdFUkVBRVJFQUVSCkVBRVJFSUh5SUJBckFzSUFxVnBGR2xiNFNm
eVBQLzdvSXlLSlF2QlVGMFFGckNPT09NS2VmdnBwcitGWXZueTVqUnc1MGhCZ1Q1dzQKc1ZRVDdW
VG5yQ2pMS1VjY1ZCcWprenVwYVVSMFNDZTc3TExMWWwwRys2TFJJU1h0alRmZU1IcURiTC85OXRh
NWMyZnYvTVU2bURZVwpBUkVRQVJFUUFSRVFBUkVRZ1N3UWlPMkFQUC84OHpaczJERHZjQnh5eUNG
ZWlCNTNIQWpGaVp5Y2YvNzVSWGFsa1NDVnNkU1oyMnoyCjdOazJaODRjUTZSUHVlTm16Wm9WWVpY
dUM2SjgwcmlHRHg5dXRXdlg5djFRempqakRLTjZGa1lLRnBvZG1RaUlnQWlJZ0FpSWdBaUkKZ0Fp
VU5ZRllWYkI0T24vY2NjZjVKK21rQ3BHR05YVG9VTytRWk9wZEViNHd0QjVFU3hLclpsRjZsaWYw
UkZrQ2dYdDR2NnIwbWFwZwpRV1d3dU5lTjAzTE9PZWQ0UjZOQmd3YStxdGhtbTIzbUQ3Tmd3UUtm
Z2hXa3JNVTl0cllYQVJFUUFSRVFBUkVRQVJFUWdkSVFpQlVCCldibHlwWFhwMHNVZWYveHhmMDQ2
bXRORWtPOHZ2dmlpTld6WU1QSlljR1plZi8xMUx6NFBkcnI1NXB2OXBMbC8vLzZ4SEJDZTZGTTUK
aXdhSE9FS2RPblh5M2NPRDQxYmxkM3FsREI0ODJPQk5OR1RFaUJGRzd4YjBOeklSRUFFUkVBRVJF
QUVSRUFFUktHc0NzVVRvVEdEMwoyMjgvTDVSbW9PdXNzNDR2ZDN2Ly9mZmJkZGRkRjJ2czllclZL
K0o4c1BNbm4zemlJeUJ4b2grSXF4RlduMzMyMlQ1OUM2MUU4K2JOCmJjS0VDYkhHVXhrM3BxSGpx
NisrNnZ1aEVLbWlRdGhoaHgxV0dTOVYxeVFDSWlBQ0lpQUNJaUFDSWxCQkNNUnlRRWlaSXNLQUdK
cUkKUjJDNzdMS0wwZDA4YWdkejlxUGNiR0tuY2h5Wm80NDZLamhzeG5kU3RVNDU1UlN2Y1pnNWM2
YnZ6RTZwNFBmZWU4OGVmUEJCLzlRLwo0MEVxNFFab1FHaG1TRXBiNzk2OXJWV3JWcDRKRGdpNkVP
NlZUQVJFUUFSRVFBUkVRQVJFUUFUS2cwQ3NGQ3lxVjIyenpUYStYT3kzCjMzN3JTOThlZmZUUlJo
bmNMNy84MHZyMDZWTjREUWpOMC9YMW9Ha2hUK2MzMkdBRE8vamdnLzJMS2sxRUxucjE2bFY0bkhR
ZmlKZzgKOWRSVGRza2xseFRiakVwZDFhdFh0elp0MmhSYlZ4VVdmUFRSUjE2ZlE1cmN5U2VmWEtS
cVdWVzRmbDJqQ0lpQUNJaUFDSWlBQ0loQQpmaEtJNVlCd0NWVEFPdWFZWTN3dmtNbVRKeHRWc1Y1
KytXVmZLcGJTdkZUR2F0dTJyYzJhTmN2M25VaDMyVUhQQzhydkVzMUFJRTB2CkRQUUtPQStaN0xQ
UFB2TzZqME1QUGJUWXBwU2UzV0dISGF4MTY5YkYxbFdsQmVoMkhuMzBVVjg2R1lFL0x5cGc3YlhY
WGxVSmc2NVYKQkVSQUJFUkFCRVJBQkVRZ1R3akVka0FZTnowbHdzMyttT1NTQWpWbHloUjc0WVVY
ak9aNVZGa2l3aEhGNkFDT2tCMm5nNnBOUkMzUQptMFF4ZW1ZZ2pLY0JJWDB6U0ROaUhLTkhqN1lQ
UC96UTFscHJyU2lIcVJMYnZQdnV1ejcxcld2WHJoS2hWNGs3cm9zVUFSRVFBUkVRCkFSRVFnZndq
RU5zQmVlbWxsd3l0Qmc0Q3FWT1U1VTAwVXJXb2NKVXNNcEc0YmZnN1Zhd1FTNk1QaVdvNEdVY2Vl
YVFYc05Pd0Q1MEsKMWJob3dOZXVYYnVvaDZsUzI2RVJvVlN2VEFSRVFBUkVRQVJFUUFSRVFBVEtt
a0FzQjRUVXFDWk5tdmpvQjFFTG5Bd0U2QWlidDloaQppMUtQblhLeDZFZzRUOVN1NnB3VXZja3p6
enhUV0lhWE5MRDExMSsvMU9PcHlBY2dva1E1NG5SR0Izc2FIclp2M3o3ZFpsb25BaUlnCkFpSWdB
aUlnQWlJZ0Fsa2pFTXNCWWNLS29Ibml4SWwrQVBUZkdESmtpSTBhTmNxblBjV1o5T00wVEpvMHlh
ZHJrYzdGSkpobDZFQzIKMjI2N3lCZklCRHBad3o2V3I3ZmVlb1hkdnlNZnNKSnNpSmFHNGdDa3Bh
VXlJbFZFcVlob3lVUkFCRVJBQkVSQUJFUkFCRVNnTEFqRQpja0FZMEsyMzN1cWRFS3BYQllhMjRJ
RUhIckJCZ3dZRml6SytrelpGcGFibHk1ZmJraVZMdkJNeGN1UklhOWFzV2NaOXd4dWdGMEhUClFG
K1JzQkdkWVFKTzN3dWlNM0Y2aTRTUFUxRS9JemJIcVF0cllCRHQ0NWlFSGJ4MTExM1h6anp6eklw
Nm1ScTNDSWlBQ0lpQUNJaUEKQ0loQUJTTVEyd0Y1KysyM3ZXQ2NKK2ZoU2twb04wNDc3YlJJcVZO
RVVoQ0o5K3paMCtOYXVIQ2g3OVpOU1YycVp4RzVpR3FCWTVGWQpOWXVxV21oQ1dFNWp3bkhqeHNW
MmJxS09JUiszb3hEQVRqdnRWR3hvcEdYQkFqWXlFUkFCRVJBQkVSQUJFUkFCRVNockFwbHIzWVpH
CmhPTkFkYXNCQXdZWWZUelFXb3dZTWNJN0RUUUFqS3JiNEtsOE9JS3krZWFiZStFNXFWd2NPNDdS
QStUWFgzLzE0bk1FNk1FTERRUVYKc1JCY3o1Z3h3OGFPSFJ2bnNCVitXeHl3WkVZRUpHcDFzbVQ3
YTVrSWlJQUlpSUFJaUlBSWlJQUlsSVpBalRnN1UxMktOQ3ZTcCtiUApuKzk3Uzl4OTk5MzIxbHR2
K1NoRDM3NTlJNlU2VVlGcHpwdzV0dTIyMjFxTEZpMEtoNENXZzZwV2YvMzFWNlErSU94NDdybm5G
a2t6CkNnNkdNeFE4NVNmTmk0aEFWVEpLRStNZ0Job1FISkpQUC8zVXhvOGZiNWRmZm5sVlFxRnJG
UUVSRUFFUkVBRVJFQUVSeUNNQ3NWT3cKR1B2Y3VYTnQ1NTEzTHJ3TXFsWlJucGV5dk9tNm54ZnU0
RDdRb1J2OUJqcUYwMDgvM1hkWVovMTExMTFuL2ZyMTgxcUY4UGFsK1l4dwp2bkhqeG5iNzdiZVg1
akFWYWw4Y3NLMjIycXJRQVdId20yMjJtWFh1M05scmVDclV4V2l3SWlBQ0lpQUNJaUFDSWlBQ2xZ
WkFiQWVFCkhoMDRHblFaRDl1S0ZTdVNSaUxDMnlSKy92cnJyNzBBbXFwYWlNanBMWUtnL04vLy9u
ZmlwcVg2VG5XdHFJNVJxVTZVUnp0UG1EREIKampqaWlEd2FrWVlpQWlJZ0FpSWdBaUlnQWlJZ0Ft
YXhIUkMwSDJnSTBIRGdpUERhZSsrOWpRbHZyMTY5U3NTVUZLNDMzM3pUV3Jacwo2WVh0Z2JDOFJB
ZlRUb1VFM25ubkhWOGllZEdpUmI1L3k2bW5udXJUM2dvMzBBY1JFQUVSRUFFUkVBRVJFQUVSS0dN
Q3NSMFF4dmZOCk45L1l3dzgvYlBmZGQ1K2hMYUIzQitKbVVyRVNxMUdsdWg0RTR1eERLbGVnMVVp
MXJaYkhKM0R2dmZkNmZReU5Jdzg2NkNEZktiNVIKbzBaMitPR0grMnBsOFkrb1BVUkFCRVJBQkVS
QUJFUkFCRVNnOUFSSzVJQUVwNlViT3RXbWNEb2FOR2pnTlIya1VXV3lwVXVYK3Q0Ywo3RTlGckxa
dDIxcTdkdTM4UkhucnJiY3VzdnZLbFN0OWFsYVJoUkcrVEpreXhVZHBFbFBGSXV4YTRUY2g1YXgr
L2ZwMjBra24rVWFSCjZFR3V2ZlphdS9ycXE2MWJ0MjYrNGhqOVAyUWlJQUlpSUFJaUlBSWlJQUlp
VU5ZRVlwWGhUUndjRVl6amp6L2VkdHh4UjN2KytlY2oKT3dwTWZtKzQ0UWI3L3Z2dmZYbGNtZy9T
eUpBR2VaVGs3ZDY5dSs4VDh0VlhYOW13WWNNU1QxdmtPNEoxK2wzd3BELzhZdktOVXpOego1c3dp
MjFlRkwzRERDYm50dHR1S2xVYmVkZGRkamRRc21RaUlnQWlJZ0FpSWdBaUlnQWlVQjRGU1JVQ0NB
UThlUE5qNjlPbmpVN0NpCjlnSmhnb3pUUWtwUVlQUVNtVFp0bWsyZE90Vy9Qdjc0WTE5Szlybm5u
Z3MyS2ZKT0pHWDk5ZGUzM3IxNzJ5YWJiT0xUd1lMK0YxVHEKb213d1hkQXAxVXVFcHFvWWthV05O
OTdZNkZBZjlGdWg5QzRPM3ZYWFgrL0xKcSs5OXRwVkJZZXVVd1JFUUFSRVFBUkVRQVJFSUk4SQp4
T29Ea21yY1o1NTVwcUV2aU9wOGNCejZnR3k0NFlhK2NXQ2dBZUVZZE9ybWhmRWtuKzFTR1pFVXVx
OG5LNitMUm9VK0k3dnNza3VxCjNTdnRjaUpUZEtibmRlV1ZWL3JyeExrNzVaUlQ3SW9ycmpBNUg1
WDIxdXZDUkVBRVJFQUVSRUFFUkNEdkNjU0tnQkJkb0g4SGpmMSsKL3Zsbkl3S3haTWtTKytDREQr
elJSeC8xNzFFcVdHVlRBL0xnZ3cvYTBVY2Y3YU1kWWRwRVdIQnNlTkhCZmZiczJiN25TSGlieXY3
NQppeSsrOEdsdWRLOUg5QStMM1hiYnJiSmZ0cTVQQkVSQUJFUkFCRVJBQkVRZ2p3bkVja0FRaEpO
cVJmZHp1cFhUM0k4b0JnM3ZXclZxClpaZGRkbG5rS0FoUkM2SVhsUFFOVXE3b1ZrNHFGVldiZU8y
Nzc3NzJ6RFBQV0k4ZVBWSWk1R24vbGx0dVdhVGhYdUxHUC96d2d4MTYKNktGMi8vMzNKNjZxdE45
bnpKamhpd0lrWHVCVFR6MWxIVHQyVEZ5czd5SWdBaUlnQWlJZ0FpSWdBaUpRSmdSaU9TREJpTkJY
UFAzMAowMTRzVG5mdGtsZzJOQ0NjZC92dHQvZVJEYXBwQmZiWlo1LzVFcjlvSGdJalhZdFVzYXBp
NkY4UW5JZlQ0bUQreGh0dkdIMUJhUHdvCkV3RVJFQUVSRUFFUkVBRVJFSUd5SmxBaUI0UkJrbzQx
WnN3WUh3bWg0bFRVL2g5eExqRFFnS1I3WWsvVWhDcFlpWWFPWk55NGNWVzIKeHdpUnBOYXRXeGU1
TDZUTElkcnYzNysvRjZRbk10TjNFUkFCRVJBQkVSQUJFUkFCRWNnMWdkZ2k5TysrKzg2Ky92cHIz
NHp3enovLwo5Q1ZkYVhwMzExMTMrWEs4MlJ3dzBaVk1FWmFnNmxYaWVVbk5JcjJMenUxVjBaNTQ0
Z25iWTQ4OWlsejY2dFdycldmUG51cUdYb1NLCnZvaUFDSWlBQ0lpQUNJaUFDSlFsZ1ZnT0NCb1FC
TitVZDZYTUt5VmUwWUJRYVlxU3VzMmJOeStTOGxNV0Y5S2xTeGRmcXJkT25UcisKZERna24zNzZx
WTBmUDk0b1BWdFZMVmxEU0VUb0ZBQjQvZlhYaXprblZaV1RybHNFUkVBRVJFQUVSRUFFUktCc0Nj
Uk93Y0lKdWVPTwpPK3lZWTQ3eDR2T3lIVzd4czZGeFFBUWZPQ0JzUWRTa2MrZk9kdkxKSnhmZm9Z
b3NvYmxqKy9idGkzRDUvUFBQdldPR0RtVG5uWGV1CklpUjBtU0lnQWlJZ0FpSWdBaUlnQXZsRUlM
WURFZ3dlL1VmOSt2WHRzTU1PODRzUU9OZXNXVE5ZbmZHOVY2OWV2dEpWMjdadGJaMTEKMXNtNGZh
b05Ka3lZWUVjY2NVU3ExVlYyT1JHUUZpMWFGTkhBRUxFNjRZUVRETTJPVEFSRVFBUkVRQVJFUUFS
RVFBVEtnMENKSFJBRworLzc3Ny90cVdQUUZHVFJva0ZIdXRsYXRXcEd1ZytnRWFWczB5Q09GNjhB
REQvUU9DY0xwY1BvUWZVY3lPU2p2dlBPT2pSbzF5bGQzCmF0S2tpWjE2NnFsVlh1Y3daY29VYTll
dVhhUjdvWTFFUUFSRVFBUkVRQVJFUUFSRW9Ld0lsTW9CQ1FhSjVnSnR3WjU3N2hrc2l2Uk8KTHhI
NlZkeDAwMDFHYXRmOCtmTjlrME9FNHpna2UrKzl0OWNyWEh6eHhTbVBod0QrM0hQUE5Sd1Blb2Q4
OHNrbnZpdjc0WWNmN3Z1TQpwTnhSSzBSQUJFUkFCRVJBQkVSQUJFUkFCTXFjUUd3SGhCNGJpSm1a
OEdmVHhvNGQ2N1ViZGV2VzlZMEpYM2poQlh2NTVaZDk1KzVwCjA2WWxQUlZwWDZTQmtWSTBaTWdR
TDRDLzl0cHI3ZXFycjdadTNiclp3SUVEamY0Zk1oRVFBUkVRQVJFUUFSRVFBUkVRZ2Z3Z1VEM08K
TUg3KytXZmJacHR0Zk9keGhOL25uSE9PVWU2Vk5LbVJJMGZHT1pRWFE4K1pNOGYzRVdGSHRBay8v
dmlqVCtNaTR2SHNzOC82Ny8vNQp6MzlTSHBjK0lUZ2h0OTEyVzdIcVd6VGhJelZMSmdJaUlBSWlJ
QUlpSUFJaUlBSWlrRDhFWWtkQXJyLytlcSt4bURwMXFuY1NpRlQ4Cjhzc3ZSdU83aFFzWCtpdDc1
WlZYZkpXbGNIZnk4Q1hqYUd5NTVaYjIrKysvRzl2c3YvLytQdVZxdi8zMjgrbFUwNmRQRDIrZTh2
T3EKVmF0OE9XREtBaU93eGlpOVN3ZDB4dm5XVzIvWjJtdXZuWEovclJBQkVSQUJFUkFCRVJBQkVS
QUJFU2hiQXJFaUlBeXRiOSsrUmpuWAo3dDI3MjZPUFB1cTFIeSs5OUpKM1NvaEcwS1FRRFFjcFZh
bXNZY09HWHZkQkJJTnFXcHR2dnJrdjdidjk5dHY3WTlNd0w0clJiSERvCjBLSCtGV3lQcVAyVVUw
N3haWGlya3ZQQmRkOTk5OTBCaHBUdk9HdWswY2xFUUFSRVFBUkVRQVJFUUFSRW9Ed0l4STZBbkhm
ZWViNi8KQk9Wend4R09GU3RXRkg3SHNTQWlVcjE2YXYrR2hvRXpaODYwZmZmZHQvQzZ2LzMyVzEv
eEttb2xyV0RITDc3NHdyNy8vbnZiZmZmZAo3YlhYWHZNYWxkMTIyeTFZWFNYZTc3bm5IdC9sbkRT
NWV2WHFGYnRtT3RqVHY0VnFaVVNvZHRoaGgyTGJhSUVJaUlBSWlJQUlpSUFJCmlJQUk1SnBBYkFm
a3hCTlB0RW1USnZuMEtad0htdDNoakJBRnVlaWlpeUtQbCszdnYvOStYM0wzNElNUHR1T09PeTd5
dnRxd09JRWwKUzViNDd1WkVOOEw5V1BoKzY2MjMyckJodzZ4Qmd3YldzbVZMLzEwT1NIR0dXaUlD
SWlBQ0lpQUNJaUFDSXBCN0FyRWRFSWFFZG1QOAorUEcreWhScFVHZ3Q2RDRlTmJWbjJiSmx2b29X
VVFwMEhLKy8vcnJ2QlRKOCtIRGJZb3N0Y24vVmxmUU05Rlc1Nzc3N2ZQOFBpZ1dRCmt2WFlZNC81
d2dFNGg2U20vZm5ubi9icnI3OFdhbVlxS1FwZGxnaUlnQWlJZ0FpSWdBaUlRSjRTS0pFREVsd0xX
bzFISG5uRU94ODgKZ1QvMjJHT0xkTjRPdGt0OFI0Uk9JOEtKRXlmNlZZallLYU5MTTBFYTZLMi8v
dnFKdStoN1JBS2t0c0dRNk5Jenp6eGpWMTU1cFYxNgo2YVZXclZxMWlFZlFaaUlnQWlJZ0FpSWdB
aUlnQWlLUU93S3hIUkFxVkRWcTFNaW44Z1NUV2xLeTZNZUIrRHlxa1JhRUV4SlVyMkkvCkJOSVBQ
UENBMXlsRVBZNjJTMDBBWWZybzBhTjloSXJLWVBSTDRUNFJBZGxvbzQxUzc2ZzFJaUFDSWlBQ0lp
QUNJaUFDSXBBakFxbFYKNGtsT3lJVDJpQ09POEZvRG9oU2RPM2Yya1lzTk45elFsNzlOc2t2S1JY
UXR2K3V1dSt6VlYxOHQzQVo5UXZQbXpYMmFVT0hDREI5SQozOHBrUkFWbXo1NmRhYk5LdHg1SHNW
ZXZYbDcvY2VpaGgzckhqdTd5Q1BabElpQUNJaUFDSWlBQ0lpQUNJbEFlQkdKSFFLaTJSS3JWCjIy
Ky9iV2dPZU5IdzcvLys3Ly9zbzQ4K2lweUNoZE9DL2dQREdlblNwWXMxYmRyVVpzeVk0Vk9Hb3NL
ZzRTREMrRFhYWERQbExnc1cKTFBCT0RWV2dxcnA5K2VXWG50WEdHMjljMVZIbytrVkFCRVJBQkVS
QUJFUkFCTXFCUUd3SGhHZ0NhVmcwRHd3TVRRYzlOOUk1QWNHMgp3VHVPekpGSEhtbno1OC8zeDN2
eHhSZDlxaEFSa0huejVrWFdMSkFHMXJoeDQ0em54a0dpL0d4Vk1yUTE5R1A1K09PUGZWbmtUcDA2
CitaNHJWWW1CcmxVRVJFQUVSRUFFUkVBRVJDQy9DTVIyUUxJNS9MbHo1L3FPNmNFeHFZNUZlVjdL
OG9aTHlRYnJrNzNqeVBUbzBTUFoKcWlxOURMYUhIWGFZYnd4WnAwNGRYKzZZUnBFMGZpU05UaVlD
SWlBQ0lpQUNJaUFDSWlBQzVVRWd0Z1B5d1FjZitIU3J1TTBDbzE0Ywo2Vnh4ZWxRd3FmN3d3dzk5
QmExRml4YjU4cjZubm5xcWJidnR0bEZQV2VtMkkwcUZucVpqeDQ3V29VTUhvOXd4RGgycGFCZGVl
S0dOCkdERWlhYlBDU2dkQ0Z5UUNJaUFDSWlBQ0lpQUNJcEIzQk5hNHhsblVVU0ZlM25MTExZMG42
dUVPNWxIM1Q3VWRmVVdZSEUrZE90WDYKOWV0blo1eHhScXBOaXkybjd3VlA5Q2tEak5PQk5nVmhP
NTNaZDk1NTUyTGJWNFVGbjM3NnFiOUhsT0RkZlBQTkMzVTU2Nnl6anFHOQpvZU84K3ExVWhWK0Ny
bEVFUkVBRVJFQUVSRUFFOG85QXJDcFk2NjIzbnErb1JJU2hORWJVb2wyN2RsNTB2dTY2Ni9yMElK
eUhLNjY0CndrK01jVWlpR01lNTRJSUxyRnUzYmw0QVAzVG9VTitWL2ZISEgvZXBYRXVYTG8xeW1F
cTNUZlhxMVczNzdiZFBlbDFFaTJnZUtSTUIKRVJBQkVSQUJFUkFCRVJDQjhpQVFleVpLeFNuNmZ0
RG9qdFNlOXUzYkZ6NWhqM29CcEFNTkdEREFicjc1WnU5QVVOSzNTWk1tRmpldAo2NnV2dmpLY2tO
dHV1NjJZQ0ozcVdLUnpIWERBQVZHSFZXbTIyMnFycmJ3elI2UElQZmZjMDBkRFhudnROZCtna0w0
Z09DRXlFUkFCCkVSQUJFUkFCRVJBQkVTZ1BBckUxSUZTdW90enU4dVhMZmRyVEhudnNZU05IanJS
bXpackZIdi9DaFF2dG9ZY2U4azVJdlhyMVl1OVAKR1YvS3lkTEFNR2hvZVBubGx4dE45NjYvL25w
ZlZZdnFYRlhSY0RLNFY1OTg4b2wzRUhGR0dqWnM2RHZYRTMyU2lZQUlpSUFJaUlBSQppSUFJaUVC
NUVJaVZna1c1M1VNT09jUTdJSXNYTHpaNlN0RDlIS0Z6U1pyYm9VL28yN2V2bnhSUG5qelozbnZ2
UFR2Ly9QTU5FWFVVCkk1V0l0Q3RlZ2RFczhaUlRUdkZORXF1cTh3RUxVdHJnU1RwYS8vNzl2ZkFj
cDBUT1IvQkwwYnNJaUlBSWlJQUlpSUFJaUVCNUVJZ1YKQVVHYk1XSENCTitJTUR4WXVveFQzblhR
b0VIaHhiRSswOUg4M252djlkV2FlSTlqWDN6eGhYZUFkdDk5ZHlQVmFJMDExdkRwWVhHTwpVVlcy
UmF6LzlkZGYyeTY3N0ZKVkxsblhLUUlpSUFJaUlBSWlJQUlpa0VjRVltbEEwR2pNbVRQSFAxMXYw
YUpGNFdXUWhzWFQ5Yi8rCitzc1FRRWN4VW9Mb29vNk9nNHBhT0ErODRock9EK2VuT2hlRzVnRmpP
YUo1R2hCV1JhT2kyT0RCZzMyangvRDFVNnI0aFJkZUNDL1MKWnhFUUFSRVFBUkVRQVJFUUFSRW9N
d0t4SEJCRzFhZFBIMnZUcG8wWG41OSsrdW0yelRiYitNR1NqaFhIQVNFVmFPYk1tYmJXV212Wgp6
ei8vYkdlZmZiWVhrL005anYzclgvK3lybDI3RnV0clFVUUZwNFJtZkpTY3BXTjZWVEdFK2NjZmY3
eTFidDNhVGp2dHRHSk9JWUovCm1RaUlnQWlJZ0FpSWdBaUlnQWlVQjRGWUtWakJBRW5oT2ZQTU0y
M2l4SWwrNGwrN2RtM3ZCUHo3My84T05rbjdUdFNENmxRelpzencKNG5HT1JjbGNIQkdlenNjcEV4
czRGb21SRjNRa3BHS3h2SG56NWpadTNMZ1NDZVhUWGtpZXJ2enR0OStNQ0JWTkk2TjJsTS9UUzlH
dwpSRUFFUkVBRVJFQUVSRUFFS2htQmFQbFNDUmU5MFVZYjJUUFBQR052dnZtbTRYU01Iei9lYnJu
bGxvU3RVbjl0M0xpeEhYamdnY1p4CmNCQTIyMnd6TDVidTNidDNyT053aGtzdXVjUisvZlZYSTZV
ci9FSjhqUjRFM1FxT3p0aXhZMU1QcUpLdG9WRmtwMDZkdkZPWGVHbWsKWUwzMTFsdUppL1ZkQkVS
QUJFUkFCRVJBQkVSQUJNcUVRT3dVcklFREI5ckJCeDlzTyt5d2d4Y3lCMkptT285SFRaOWlPN1Fa
cEFyeApoSjZVcmdjZmZORE9PdXNzMzE4a3pwV2ZlKzY1U2MrNzVwcHJGdllub1dUd3ZIbno0aHky
UW0vNzU1OS8yckpseTN5YVhLSUdadjc4CitiNlpaSVcrUUExZUJFUkFCRVJBQkVSQUJFU2d3aEtJ
SFFFaDJySHp6anY3L2h0MElLZXhIZm9QSElnNDFyTm5UOThZajMzYXRtM3IKSXhSb09ZaXNvQ1dK
YW9INFBIRjdCUE5CV2hZNmtVMDMzVFJ4azByN0hlZUwvaDgwZUlSRCtOV3FWU3N2enErMEY2OExF
d0VSRUFFUgpFQUVSRUFFUnlHc0NKZEtBZlBQTk4vYnd3dy9iZmZmZDUzdDJMRml3d09zMmVPb2VU
UHJqWHZVdnYvemlveDkwOGU3WXNXUGszZnYxCjYrYzdzLy8wMDA5RjlpRXRpN0dRaWtWMXJhcW1o
WmcyYlpydHYvLytSWmpvaXdpSWdBaUlnQWlJZ0FpSWdBaVVONEVTT1NEQm9PbEUKemdTZmlYNkRC
ZzE4S2hXQzlMSXloT3M4NVVjN3Nza21tM2huS0doaU9IZnVYTi81bXdwWXBHa3hQcGtJaUlBSWlJ
QUlpSUFJaUlBSQppRUQ1RWlpVkF4SU0vZU9QUC9iZHlOR0hsTFZSQ3ZpQkJ4NG9kbG9pTkhRRER6
UXF4VGJRQWhFUUFSRVFBUkVRQVJFUUFSRVFnVEluCmtCVUhoSVozOUFjaEJRdjlRVm5hZDk5OTU4
L1pzR0hESXFkRjRFNFpYbDR5RVJBQkVSQUJFUkFCRVJBQkVSQ0IvQ0FRU1lUKzVKTlAKMm43NzdX
ZkRodzlQT21yNmVKRHlWTmJPQjRNaEJTdlIrV0E1bWc4NUg1Q1FpWUFJaUlBSWlJQUlpSUFJaUVE
K0VNam9nQkJKbUQxNwp0ajN4eEJPK09oWHZVNmRPOVZmdzdydnYydDEzMzIySTBMZmJicnRZVi9Y
Wlo1LzUvV0x0cEkwakVhQ0sySHZ2dmVkZjZHUUMrLzc3Cjc0T1BlaGNCRVJBQkVSQUJFUkFCRVJD
QmNpR1FNUVZyNXN5WnZvUnRreVpOL0FDUFBmWllYejRYWVRmTi9lai9RUWZ6eVpNbit5aEoKbEt0
Z2U1b1IwamlRUGhYdDJyWHp2VVhvamo1aHdnUTc1WlJUb2h4RzI2UWgwTFJwVXp2Ly9QUHRwSk5P
OHMwWXFZajEzLy8rMXpwMAo2R0FQUGZSUW1qMjFTZ1JFUUFSRVFBUkVRQVJFUUFSeVJ5QmpJMExT
bUg3NzdUYy9ncFVyVnhybFhZbDZMRnk0MEQ3NDRBT2Y2alJyCjFxeFlEZ2dWcWE2Kyttbzc5ZFJU
ZlRUbDJXZWZOY1RrbE9LbG1sWGdnTHp5eWl1KzUwaW1Cb2VJNE1lTkcyZUxGeSsyWnMyYVdaY3UK
WFd5RERUYklIYlU4UHpJbGlkSGswTmlScW1CMG5hOVdyWnA5OGNVWDl2bm5uL3RPNkJMbjUvbE4x
UEJFUUFSRVFBUkVRQVJFb0pJUwp5SmlDdGYzMjIvdElCMms5OTl4emo5V3JWODg2ZCs1c3UrNjZx
NS93VTRKM24zMzJzUjEzM05Ib3dCM1YrdmJ0NnlmRDNidDN0MGNmCmZkUklGWHJwcFplOFUwTGEx
OWRmZisyUFM1UWxuZEVZa2E3c1YxNTVwWjlZVDVvMHlWcTJiR25QUC85OHV0MHE5VHEwT0J0dXVL
Ry8KUmhwRTRqVGVjY2NkdHZiYWE5dVNKVXM4MjBvTlFCY25BaUlnQWlJZ0FpSWdBaUtRdHdReVJr
RHExNjl2cEY5dHR0bG1QdFVLWjRFSgo3cjc3N211aytleTIyMjcrTTg0RDZWbFI3WkpMTHJIMjdk
djdGQzRpSEVSYWNHVG8xSTJBZktPTk52SlJGaUlpcVl5bit6emwzM3Z2CnZiMUFuakZpUkZKWXZz
Y2VlMVRKL2g5MTY5YjFFU21jTnpRN1BYcjA4R2x1bENZbThrVEVTU1lDSWlBQ0lpQUNJaUFDSWlB
QzVVRWcKb3dZa0dCUnBQVGdKUkVBQ2UrT05OL3lFRmtINVlZY2RacmZkZGx1d0t1UDdpU2VlNkR1
WS8vNzc3OTZCd1JscDI3YXRqNEpjZE5GRgpHZmRuZzIrLy9kWS82Zi93d3c5dG0yMjJLYklQNlZ2
b1U5Q1hWRVVqR2hWRWowNDQ0UVR2Tk5JNHNrYU5qRDVuVmNTbGF4WUJFUkFCCkVSQUJFUkFCRVNn
akFwRWRFTWFUYWdKTGRhVjMzbm5IYXczaWpCdm5neFFxR2hneU1YN3JyYmQ4cEFXSEpxb1JuZUdK
ZnJnS0Z4RVEKam5uRUVVZjRDRTNVWTFXMjdhU05xV3gzVk5jakFpSWdBaUlnQWlJZ0FoV2ZRQ3dI
Wk42OGViNnlFaFA3azA4K3VWQm5VRm9NVk1ONgo1SkZIdlBPQlJvRlVycWc5UEloMFBQWFVVM2JM
TGJjVURnTk5DSm9WeWdRanZxNktobU5INUFNbmp6UTVVdWx3RWtlTkd1VXJqbFZGCkpycG1FUkFC
RVJBQkVSQUJFUkNCOGljUXl3Rmh1QWpFS1pYTFJCWU5CaFduamp6eVNLdFZxMWFzcTVrK2ZibzFh
dFRJQzhZREp3RUIKT1JObHRDQnhqRlFzU3N3R1VSQlN3MXEwYUdGMTZ0U0pjNWhLc3kzM2hTcGdp
UEdIdSthUmlkcVlJVU9HVkVsdFRLVzV3Ym9RRVJBQgpFUkFCRVJBQkVhakFCR0k3SU9GclplS1Bz
UG5wcDU4MnFtVjE2OVl0VXNvVHpzSVdXMnpoVTdxb3pFU1BDa3JGOHFUK3dnc3Y5RHFRCjhIa3lm
U2JsQ3IwREtVZUkxanQxNm1TYmI3NTVwdDBxN1hwcFl5cnRyZFdGaVlBSWlJQUlpSUFJaUVDRkox
QXFCeVI4OVhQbXpQRlAKMjk5KysyMDcvUEREZlRuZGRMMDRLT2xMcWhYYlU1bmdyMllBQUNBQVNV
UkJWREtYRnlsQ05DYjg2S09QSXFkZ3paMDcxd3ZnS2R0TAp4S04yN2RvK1NqTm16Qml2QVFtUHNT
cDlsamFtS3QxdFhhc0lpSUFJaUlBSWlJQUlWQndDc1J3UUloZm5uWGVlajE3UUNUMVppVnhTCnRK
NTU1aG1qUDhoUlJ4MlZrZ1JwUXFSaEVmMEk3TWNmZi9TOUtpanpHOFU0Qm1sR0hUdDI5QjIraWFC
UXduZkJnZ1Ura2pKaXhJZ2kKVmJ1aUhMT3liQ050VEdXNWs3b09FUkFCRVJBQkVSQUJFYWhjQkdJ
NUlKVGk3ZG16cDkxKysrMjI3cnJyZWhMTGxpM3pEUW0zM1hiYgpXR1FRaWMrWU1jTmVlKzAxMzhT
UUZDeWNoemoyeVNlZmVBRTZQVVVTRGVjR0o2aE5temFKcTZyTWQybGpxc3l0MW9XS2dBaUlnQWlJ
CmdBaUlRSVVoa0xFVGV2aEt2dnZ1Tyt2VnE1ZDNQb2crMEYyYktNak9PKzlzNTV4elRualRqSjlQ
T3Vra08rQ0FBMnpRb0VFK2VrSFQKd1BuejUyZmNMN3dCRGdiYWsyUkdiNUNxM1BOaTlPalJYb2dl
Q1BOaFJJUm8zTGh4eVhCcG1RaUlnQWlJZ0FpSWdBaUlnQWlVQ1lGWQpFUkJHMUxWclY5OWhISTNG
ckZtempPakR0ZGRlYThPR0RiTXp6ampETjd6TE5QSWZmdmpCNnpNUXJ4TkpXYjU4dVkwY09kTHV1
KzgrCm16aHhvdStDbnVrWXdYb2FHbEtKYTg4OTkvUWFFQ0lxVTZaTU1TYmdPQ0YwV2ErS2hyaWZy
dkpoSnd3SGN2SGl4WVplQnEyTVRBUkUKUUFSRVFBUkVRQVJFUUFUS21rRHN0dGhublhXV1hYNzU1
YjdzTGc0SWtRc016VUdQSGowaWpaOXU2c2NmZjN4aEdoZVRaZmFsdndoUgpsUnR1dUNIU2Nkam82
cXV2OW1XQVNjZWlkd2c5UlJvMmJPajdpbFJWNXdNdWxETW1MUzVjaXBoN2RQVFJSOXVYWDM1WnJI
TTgrOGhFClFBUkVRQVJFUUFSRVFBUkVJTmNFWWpzZ2UrKzl0Nkd2Q0d6RmloVTJZTUFBVzdseVpj
cE82Y0cyd1R0YUQ0VG1PQXZoaG9PYmJycXAKVDZraXZTdm9EUkxzaytxZFNmWjc3NzNuaGU5Qkdk
NUREam5FMWw5Ly9WUzdWSW5scExaMTd0eTV5TFdpdTZIeUdDV1FaU0lnQWlJZwpBaUlnQWlJZ0Fp
SlFIZ1JpcDJDaEFUbm9vSU9zYmR1MnRzNDY2NVI0eklqWFgzLzlkZC8vSXpqSXpUZmZiUFQwNk4r
L2YyUUhoR1BzCnZ2dnV3U0dTdnVQUXNGMFFyVW02VVJWWVNQb1YvVkVvZVl6b1h5WUNJaUFDSWlB
Q0lpQUNJaUFDWlUwZ2RnU0VTbGlrWVZHU2Q1ZGQKZHZFVFdSeVMxcTFiRjlFVnNGMDZCNFUwck1S
Sk1HbFVDTk9qUmorQVJUbGdkQ0RwU3ZkU2x2ZlBQLytzY2c1SVlvTkcwcThva1Z5VgpLNE9WOVQr
WXppY0NJaUFDSWlBQ0lpQUNJbENVUU93SUNMc0hKWFJ2dXVrbW4zcEY5U3FFNVB2c3M0OTNLa2pU
SXVKdzhjVVhGejFiCjZCdjlRaVpObW1UejVzM3oxWm5hdDI5ZkpCMHJ0R25hanpncmpSczNUdXVB
Y0FBYUhLS0JxQ3FtQm8xVjVVN3JPa1ZBQkVSQUJFUkEKQkVTZ1loRW9rUU1TdnNTeFk4ZmFacHR0
Wm5YcjFyV3BVNmZhQ3krOFlDKy8vTEozS3FaTm14YmV0TWpuSTQ4ODBuYzh4M0Zac21TSgpqMDVR
Q2F0WnMyWkZ0c3YwaFk3cVVjWHZtWTVWV2RhclFXTmx1Wk82RGhFUUFSRVFBUkVRQVJHb2ZBUmlP
eURqeDQvM09vS2RkdHJKCk4vb0RDV2s5VkZzS1VxcElkeUlxd2piSmpJN25sTW1scVNHMmNPRkNH
eng0c0c4cVNHV3Q5ZFpiTDlsdVNaY1JTVW5Xd0JDbmhuS3oKcElsVk5WT0R4cXAyeDNXOUlpQUNJ
aUFDSWlBQ0lsQnhDTVJxUklqajBLMWJOeVBGQ2llQmlrcEVJRWh2dXY3NjZ3dXZHajFHS3VlRApq
U2lQdThFR0d4UnVqekI2NE1DQk5tclVLRjlScTNCRmhBOUVXenAyN0doTm16WXQ4bUpNdi8zMlc0
UWpWTDVOMUtDeDh0MVRYWkVJCmlJQUlpSUFJaUlBSVZCWUNzVVRvOU5kQTk0SGpNV2ZPSEh2dXVl
ZDgzdzZFNEtSaEpaYlZUUVdwVnExYWZuOUs2TFpvMGFKd002cFUKMFR3UWpRbVQ2RXhHOUlOK0ln
amdUenZ0dEdMN05HblNKTk1oS3VYNnJiYmF5cTY0NGdwL1AxSTFhS3lVRjY2TEVnRVJFQUVSRUFF
UgpFQUVSeUhzQ3NWT3cwQmZNbkRuVDl0MTMzOEtMKy9iYmIzM0ZLeHlMcUVhVkxLb3hJVDQvL2ZU
VEN4dmpYWGZkZGRhdlg3OGlIYnhUCkhaTUlCdzdNQng5OGtEUU5LOVYrVldFNWpodzZtMlFOR3R1
MWExY1ZFT2dhUlVBRVJFQUVSRUFFUkVBRThwQkE1akJEd3FEUmQvencKd3c5MnpUWFgyTVNKRS8x
VGR0S3A0amdmSEpJU3ZaTW5UN2IzMzMvZmQreW1jemZOQStrUFVxTkd0TUFNdXBOT25UclowcVZM
RTBacAp0bWpSSW52cnJiZUtMYThxQzRJR2pZOC8vcmp2cXpKaXhBZ2ZYWkx6VVZWK0FicE9FUkFC
RVJBQkVSQUJFY2hQQXJFaklObXFYaFhHCmdhUHc1cHR2V3N1V0xXMnZ2ZmFLM0FjRVoraTg4ODd6
NVhYUmZJUU5FZnl3WWNOOGFlRHc4cXJ5V1EwYXE4cWQxbldLZ0FpSWdBaUkKZ0FpSVFNVWlFQzNV
OEw5clFvUit5Q0dIMk5OUFArMlhCTldyT25Ub1lIR3JWeUU2UC9qZ2cyMkhIWGJ3bGFxQ2FsVXJW
cXp3SXZVbwpHQkc3azJKRTVDUXhBdE9xVmF0WTFiU2luSzhpYmFNR2pSWHBibW1zSWlBQ0lpQUNJ
aUFDSWxCMUNNU0tnUHorKys4MlljSUVMMElQCkk1bzllN2FOR1RQR0JnMGFGRjZjOWpOTkMxOTk5
VlZmRFF0SGhCZlZ0VGgrcjE2OTB1NGJYa212a2YzMzN6KzhTSjhkQVRWbzFNOUEKQkVSQUJFUkFC
RVJBQkVRZ0h3bkVpb0JrcTNvVklCQ3lmL1BOTi9id3d3L2JmZmZkNTUyUkJRc1dlUDBIVCsralZN
SGlPT2hBa3RuMAo2ZE90YmR1MnlWWlZpV1YzMzMyM0dqUldpVHV0aXhRQkVSQUJFUkFCRVJDQmlr
VWdWZ1NFUzh0RzlhcEVSS3RXclRMRTBqZ2REUm8wCjhOV3hhdGV1bmJoWjB1K2JiTEtKYjRBWUZx
NlR4b1VHSXFnQWxYVEhTcjd3bFZkZThSR2xkSmRKUlRNNFVmNVlKZ0lpSUFJaUlBSWkKSUFJaUlB
SmxRU0JXQklRQkJkV3J6anp6VEYrOXFsNjllb2F6MExWcjE4alZxeEl2RE9lQmZoNGZmL3l4RFIw
NjFLZGpKVzZUNmp1OQpSNmlDdGNZYWF4UnVzbmp4WWorMkw3LzgwamRKTEZ4UmhUNmNmLzc1ZHVL
Skp4bzZtVlJHeEFraHZ4eVFWSVMwWEFSRVFBUkVRQVJFClFBUkVJTnNFWWtkQXdnTW9hZldxOERI
Q253Y1BIbXg5K3ZUeHBYalRUWnpEK3lSTHRVS3JRcG5nRzIrOE1ieHBsZnI4LyszZGU1eE4KOWY3
NDhiZnJvSEVmeG5XVURNWWN1U1dVVytQT1JLR0loamlab2ptaHI1U1NvcEFUbWlLY0tKWDdLQkhK
aktseE54clhLTGZrYmpJTQp5YmdrbDk5NWY4NXY3N1Azeko2WnZjWmw5cG45K2p3ZTAxNTc3YlhX
WHV1NS8vSHU4M20vMytTQWVOWFB6Y01pZ0FBQ0NDQ0FBQUwvCk13STNGWUE0UHFYbWRHaGl1YnZE
c1FxVzdSeHRMS2hOQmJXQ2xidEQveSsrcTQ3bjNidDNseEVqUmtpTkdqWGN2VlNPT203cTFLbmsK
Z09Tb1g1U0hRUUFCQkJCQUFBRUVjb2FBcFFCRWN3WTBCeVFsSlVYT25UdG5sajZkT0hIQ0JBMExG
eTQwci9wLzN0MFp0Nm9LVnJ0Mgo3ZVNwcDU0eXVTUDZ2WnIvc1hmdlhqTURvazBPcTFXcjVzN3Q1
TGhqcmx5NVFuZjRIUGVyOGtBSUlJQUFBZ2dnZ01EL3ZvQ2xBT1R5CjVjdG1pWlJXV0xwKy9icVVM
RmxTeXBRcEkvZmVlNitadFJnMmJGaUdPUWVwdVJ5cllHbHdZNnVDcGQzUTNhMkNwUUdQNW44NDVv
Qm8KWHNpcnI3NHFvMGFOU3YyVnZFY0FBUVFRUUFBQkJCQkFBSUZzRkxBVWdOanVjOXUyYmFZWllk
KytmYVZpeFlxMjNWbCt2WmtxV0NOSApqalRCaG1QT2lDYWZSMFZGeVVzdnZaVGxlK0pFQkJCQUFB
RUVFRUFBQVFRUXVQVUNXUXBBOURaMHhrS2JEK3BNU0k4ZVBkeWVzY2pvCkVXeFZzRFEveE4yaFM4
RzBkRy9xb1ZXNjNuMzNYVk8xSy9WbnZFY0FBUVFRUUFBQkJCQkFBSUhzRWNodDlXdVRrcEpreDQ0
ZEVoTVQKWTBxNDZteEkwNlpOelQ2cjEwcDkvSW9WSzJUeTVNbm11cWsvUysvOWh4OStLSnJ2b0lH
US91bnlxMTkrK1VVV0wxNHNPM2Z1VE84MAo5aU9BQUFJSUlJQUFBZ2dnZ0VBMkNGaWFBZEVja0JZ
dFdwaC8ySmNyVjA3OC9mMU5Eb2ptZ1ZTb1VFRUdEUnJrZGc2SUJnb2F4Qnc5CmVsU2FOR2tpUVVG
Qm9sV3dOQTlFdDkwZDZTVzkxNnBWUzdRWjMxMTMzZVh1cFRnT0FRUVFRQUFCQkJCQUFBRUVick9B
cFFCRTcwV0QKa0VtVEprbm56cDFOOG5sVzd5OGtKRVMwZEcraFFvVk1SYTFubjMxV0prNmNhTjVi
dWFZMk1OUmNGRnZTdXVhQ0JBUUVTS1ZLbFp3UwowNjFjazJNUlFBQUJCQkJBQUFFRUVFRGc5Z2hZ
RGtCc3Q2SDVIMFdLRkpFT0hUcVlYVmJLdnVxc2h3WWdhOWFzTWJNb21xK2gzY3cxCm55TTJOdFpT
Ui9VdnYveFN1blRwWXJzdCsrdVNKVXVrVTZkTzl2ZHNJSUFBQWdnZ2dBQUNDQ0NBUVBZTFpEa0Ew
VnZYUGh0ZmYvMjEKNlFzU0dSa3B5Y25KNHVQamsrbFRhYStPRjE5OFVhWk5tMmFPMWE3bHc0Y1BG
dzBhdEllSGx0QjFkeFF2WGx6dXYvOStwNlZmR2d3bApKQ1RJc1dQSHBIRGh3dTVlaXVNUVFBQUJC
QkJBQUFFRUVFRGdOZ3ZrdlpucmE1ZHgvZE9rNzlEUVVMZUNELzArWFhaVnVYSmxrenllClAzOStr
OFQreVNlZlNIaDR1TXlZTWNQU0xlbTFpaFVyWmwrQ3BTZHJjOFNXTFZ1YUFNUktQb21sTCtaZ0JC
QkFBQUVFRUVBQUFRUVEKc0N6ZzlneElnd1lOWk5PbVRaYS9JTDBUTGx5NElLdFdyVEpMdUxSNmxR
WU0ybE5FbDJFdFdyVElLYUJJN3hxNlgrOUo3ODF4YUlMNwo4ODgvTDFPblRwWDBrdFFkajJjYkFR
UVFRQUFCQkJCQUFBRUU3b3lBNVRLOHQrcTJ0RHFWTFg5RUU4aTFiSzVXcnVyVHA0L2J3WWZlClM0
RUNCZExja25aRjE1eVNIMzc0SWMxbjdFQUFBUVFRUUFBQkJCQkFBSUhzRThpMkdSQ2Q5ZEFrOVBq
NGVCTjRhSGxmWFk1bGRRUUcKQmtyYnRtMmxZTUdDOWxOLy9mVlhFOUJvSGtpZE9uWHMrOWxBQUFF
RUVFQUFBUVFRUUFDQjdCVzRxUnlRbTdsMTdaNGVGUlVscFV1WApscE1uVDBydDJyVmw5dXpaRWh3
Y2JPbXlXbEZyNDhhTlRpVjN0VC9KNTU5L1R2QmhTWktERVVBQUFRUVFRQUFCQkJDNC9RTFpFb0Jv
CnRhd2pSNDZJZGxYMzgvTXpWYlJtelpvbFlXRmg4czAzMzBqWnNtWGRmdktsUzVkS3ExYXQzRDZl
QXhGQUFBRUVFRUFBQVFRUVFDRDcKQkxJbEIwUkw0Mm9EUVEwK2RQajYra3IvL3YxTlNWOXRjbWhs
RUh4WTBlSllCQkJBQUFFRUVFQUFBUVN5VnlCYkFoRE45ZENPNVZxdAp5bkZVcUZEQkxNRzZjZU9H
NDI2MkVVQUFBUVFRUUFBQkJCQkFJSWNJWkVzQW9uYTYzRXJMOERxT2NlUEdtZWFHanZ2WVJnQUJC
QkJBCkFBRUVFRUFBZ1p3ajRIWUFZdXNCc21EQkF0RmxVdHF4L0dhR0xzUFN5bGVPWS8vKy9XWUdo
TjRkamlwc0k0QUFBZ2dnZ0FBQ0NDQ1EKY3dUY0xzT3JqNnlsYyt2V3JXczZtR3V3b01uaW1vUFJ1
blZyRTB6WWNqcjAyRE5uemtpSkVpVjAwK1g0NG9zdnBGcTFhbEt6Wmsybgp6NjlldlNwNTg3cWZH
Nis5UGg1NDRBR25hK2liM2J0M0MxM1EwN0N3QXdFRUVFQUFBUVFRUUFDQmJCV3dGSUFjT25SSXRN
ZEdTRWlJCnFXQTFZOFlNaVl5TU5Qa2NpWW1KcHV5dEJpUVBQL3l3NmUveHhodHZ1SHc0cllKVnZu
eDVrd09pUVl2T2hPaDUrdmZQZi81VHhvOGYKNzNZUTh1Q0REMHFYTGwyYytvRDg5ZGRmc216Wk1s
bTVjcVg1L2lWTGxzamh3NGZsaFJkZWNIay83RVFBQVFRUVFBQUJCQkJBQUlFNwpJMkFwQU5Ia2NB
MDRCZzhlYkw4N0RUem16cDByelpvMWt5MWJ0a2hzYkt6RXhjV1pDbGQ3OXV5eEg1ZDZZL3IwNmFh
QjRJNGRPOHc1Ckdpem9ySVhPZnJ6eXlpc3lhdFNvMUtlNGZLL0x0YlNydW1NalF0dUIzMy8vdlps
aGVmdnR0MDF1aWQ0bkF3RUVFRUFBQVFRUVFBQUIKQkxKUHdGSUFvcmM1ZlBodzB6U3dhOWV1OXJz
K2YvNjhDVXhlZi8xMXMwK1hhdjM4ODgveXQ3Lzl6WDZNcTQzTm16ZkwvZmZmYi8vbwp4SWtUcGh4
dmtTSkZUSERTczJkUCsyZnBiV2hBTkhEZ1FDRnZKRDBoOWlPQUFBSUlJSUFBQWdnZzREa0NsZ01R
WGQ2a3N4MmF1NkhCClNNV0tGZVhTcFV0U3YzNTkwZG1NUEhueTNOVFRhVGYwcDU1Nnl1MXJmUGZk
ZDJtUzJmVmtYWGJWcVZNbnQ2L0RnUWdnZ0FBQ0NDQ0EKQUFJSUlIRDdCU3dISUhwTEtTa3BFaEVS
SVo5OTlwbmNmZmZkb2prZERSczJsSmlZbU50L3g2bStvWGp4NG1ZV1JmdUsyTWFWSzFjawpJU0ZC
amgwN0pscHRpNEVBQWdnZ2dBQUNDQ0NBQUFLZUlaQ2xBTVIyNjF1M2JwVzFhOWVhdkkwbm4zd3l3
NnBYdG5OdTlhc21zMnNpCmV1N2MvNjBvckV1NVNwY3VMWnI3UVNXc1d5M085UkJBQUFFRUVFQUFB
UVFReUxxQTVRQkU4elowMUtsVHgybTVsZFh5dVZtL1plY3oKdFQ5Smd3WU5uSFpxaC9Ybm4zOWVw
azZkU202SWt3eHZFRUFBQVFRUVFBQUJCQkRJWG9IL1RodTRjUi9Iang4M1BUZWFOR2xpWmp0QwpR
ME5OeVZ3TkFpWk1tT0RHRmY1emlQWUkwVHlQMTE1N1RmU2FOek1LRkNpUTVuVE5Remw5K3JSb2p4
QUdBZ2dnZ0FBQ0NDQ0FBQUlJCmVJNkE1Um1RWHIxNnlVY2ZmV1QrY2E4SjRQcW4vOUQzOWZVMXpR
ZmRlYlRmZi8vZHpGQzgvLzc3cGx5dm5xT1Z0RFFZcVY2OXVqdVgKc0I4VEdCaG9LbVk1bHVIVlhp
V0xGeTgyZVNBNlU4TkFBQUVFRUVBQUFRUVFRQUFCenhDd0hJRDg5dHR2OHZubm41c2s5RUtGQ3Bt
bgowS1IwelFWcDJiS2xhVXFZMmFQdDI3ZlBKSzQzYXRSSXRMZkk1TW1Ueld5SVZ0anEzYnUzVEpz
MkxiTkwyRC9YR1JBdDkrdFlmY3ZmCjMxKzZkKzh1UFhyMHNCL0hCZ0lJSUlBQUFnZ2dnQUFDQ0dT
L2dPVUE1T3V2dnpaTi8zNzU1UmRUZlVyTDcyWmxhS0NodVJ2ejVzMlQKRFJzMnlKQWhRMlRreUpF
eWMrWk1lZWFaWjl3S1pQUjd0WUdoZGxCbklJQUFBZ2dnZ0FBQ0NDQ0FnT2NMV0FwQWtwS1M1SjU3
N2hGdApOS2d6RHJyc3FsNjllakpvMENEVGk4T3hFbFZtajc1Ky9Yb3o2NkdkejBlUEhtMVBKTmZj
RU8wRndrQUFBUVFRUUFBQkJCQkFBSUdjCkoyQXBBTkhIbnpScGtuVHUzRm4yN05ranNiR3g1ay9M
OGVveUtHMUVtTlZ4OGVKRkU0anMzYnRYNXMrZmIwcjdadlZhbkljQUFnZ2cKZ0FBQ0NDQ0FBQUtl
S1dBNUFOSEhpSStQTjQwSGJZK2tWYTIwRWxhN2R1MXN1eko5MVZtVU5XdldtR3ZWcWxYTHpLRGt6
NTgvMC9NNApBQUVFRUVBQUFRUVFRQUFCQlA1M0Jkd0tRTDc2Nml1SmpJeVVQbjM2eU5OUFAzMUxu
bGFUeEtPaW9rekR3Sk1uVDBydDJyWE4wcXZnCjRPQmJjbjB1Z2dBQ0NDQ0FBQUlJSUlBQUFwNG5r
R2tma0N0WHJwalpqVVdMRnBuY0QzM1YwcnM2ZHU3Y0tWT21USkhkdTNkYmVyTGsKNUdRNWN1U0lh
RTZKVnRYU0Vyemg0ZUVTRmhZbWlZbUpscTZWM3NHYW5QN2pqeittOXpIN0VVQUFBUVFRUUFBQkJC
QkFJQnNFTXAwQgpXYmR1blZTb1VFSHV2dnR1YzN0ZHUzWTFsYWNHREJoZ2NqVTBkK1BjdVhNU0hS
MHR6Wm8xYytzUk5LalJMdVVEQnc1ME92N1lzV01tCm9Ca3pab3pUL296ZXZQcnFxN0o4K1hMUjNp
S080OEtGQzZKSjhWOSsrYVUwYnR6WThTTzJFVUFBQVFRUVFBQUJCQkJBSUpzRThtYjIKdlZydDZ0
S2xTK2F3eTVjdlMxeGNuQWtTZEFaRFp6NDBiMFBMNkZvSlFQU2NmUG55eWJWcjE1ejZkMmlnbzB1
d3REZElybHk1TXJzMQowKzM4blhmZWtYLzg0eDlTdm54NWM1NmVxMlBidG0xU3ZIaHgwNStrWnMy
YVVyUm8wVXl2eHdFSUlJQUFBZ2dnZ0FBQ0NDQndld1V5CkRVQTBJSmd3WVlLODhjWWJadGFpY09I
QzhzUVRUOGlxVmF0TTUvSjc3NzNYekREb1VpcHRKS2lCaFR0RGwxdnBOVnEwYUdFL2ZOeTQKY2ZM
SEgzL1kzMmUyNGVmblovSlN0S042NmpGbnpoelRWVjNMQkRNUVFBQUJCQkJBQUFFRUVFREFNd1F5
RFVDS0ZDbGlsbDlWckZqUgpMTFZhdUhDaENUS2FOR2tpVmFwVUVXMUVxTnVyVjY4V1haN2w3dEJB
eGpINDBQUDI3OTh2SVNFaGJzMSsyTDVuN05peG9zdkV0RUdpCkx1SFNwV0s5ZXZXU3h4OS8zR2wy
eFhZOHJ3Z2dnQUFDQ0NDQUFBSUlJSkI5QXBubWdOaHVUWE1zZERtV0JnNjJrWkNRWUdaR0RodzQK
SUIwNmRKQ0pFeWZhUHNyMGRmejQ4ZEs2ZFd1NTc3NzduSTdWbkpKQ2hRbzU3Y3ZvemJScDAwVHpV
VFR3YU5teXBRbGlTcFFvSWFHaApvV1oySktOeitRd0JCQkJBQUFFRUVFQUFBUVR1ckVDbVZiQnN0
MU9zV0RHbjRFUDM2K3lISm9EckRJUUdJRmJHNHNXTHBVNmRPbEt1ClhEbFQybmZ1M0xseStQQmgr
ZVNUVDl5K2pDYXpheGYycC85ZEdsZ2JHSDcwMFVmU3ZIbHprM2l1TXpLblQ1OTIrMW9jaUFBQ0ND
Q0EKQUFJSUlJQUFBcmRmd08wWmtOdHhLNW8zb3JrYTA2ZFBOd25raHc0ZE1oM1F0U3l2VnJES2JP
ak1TMkJnb0dnalJBMlFkSXdjT2RMTQp5a3llUEZscTFLaGhsblJsZGgwK1J3QUJCQkJBQUFFRUVF
QUFnVHNqWURrQTBjcFhsU3RYRmg4Zm4xdDJoMWV2WGpXekZocDBhTFdxCnBrMmJTb0VDQlRLOXZw
Nm5NeWphajhUZjM5OGMvOXBycjBsUVVKQzg5ZFpic21YTEZ2SDE5YzMwT2h5QUFBSUlJSUFBQWdn
Z2dBQUMKZDBZZzgya0doL3M0ZGVxVUtaT3JWYkZ1NWNpYk42OTA2OVpOYXRXcUpURXhNVzRGSC9y
OWVwNHV1OUkvMjlEWkVLMndwWlc2Q0Q1cwpLcndpZ0FBQ0NDQ0FBQUlJSU9BWkFwWm5RRDc3N0RO
VHZVcDdkdHpxOGNFSEg4alFvVU5OWjNSM3kvbnFQUnc4ZUZBME9IcmdnUWNrClBqN2VKTXRyZmdv
REFRUVFRQUFCQkJCQUFBRUVQRXZBY2dCeS9mcDFXYk5tamZtSHZzNVlhQ2xkYlN4b2RXZ0N1U2F3
YjkrKzNTU3oKdDIzYlZuU2Y1b0hvRWlwM2h5YXY5K2pSSTgzaEdpajE3dDA3elg1MklJQUFBZ2dn
Z0FBQ0NDQ0FRUFlKV0E1QXVuZnZMbEZSVVZLNgpkR2s1ZWZLazFLNWRXMmJQbm0yV1psbDVqSTRk
TzVyS1ZTa3BLWExpeEFscDBLQ0J6Sm8xeXlTVlc3bU9Mck9xVzdldVdZNWxPeThwCktjazBTVXhN
VEhSN09aZnRYRjRSUUFBQkJCQkFBQUVFRUVEZzlnbFl5Z0ZKVGs2V0kwZU9pUDREWHl0WWFiV3E4
UEJ3azNPaC85aDMKZDV3OWUxYmF0R2xqQXBEang0K2I4cnVOR3plVzl1M2JtNlZVN2w1SGo5Tkdp
ZFdyVjVlYU5XdmEvelNCL2JISEhqUFh0WEl0amtVQQpBUVFRUUFBQkJCQkFBSUhiSzJCcEJrU1hT
RTJkT2xVR0Roem9kRmZhZ1h6S2xDa3lac3dZcC8zcHZmbnp6ejlsNmRLbGFUcW5iOXEwClNlYk5t
eWVSa1pIcG5acG12ODdHYU1LNTQ5QmxZdHFWWFpkbnVWTk55L0ZjdGhGQUFBRUVFRUFBQVFRUVFP
RDJDVmlhQWRGY0QwME8KdjNidG10TWRhVUo2Y0hDdzZlWGg5RUU2YjdTRTc5YXRXMlhYcmwxT1Ir
Z3lMRzFPcUFHRXV5TjE4S0huNld6TWtpVkxaUDM2OWU1ZQpodU1RUUFBQkJCQkFBQUVFRUVEZ0Rn
aFlDa0QwZnJURTdhcFZxNXh1YmR5NGNmTHp6ejg3N2N2c2pWYTcwdVJ4ZmRVdTVyYWgzZEN0CkJD
QmE5U3IxS0Z1MnJKbU4wWDRpREFRUVFBQUJCQkJBQUFFRUVQQWNnYnhXYjZWdzRjS204cFhqZWZ2
Mzd6Y2R4M1BseXVXNE84TnQKN1Z3ZUhSMHQvZnIxTXprY2VsMWRMcVdWcTdTL2g3dWpTNWN1NW40
Y3o3bDQ4YUw4OE1NUE1tVElFSGN2dzNFSUlJQUFBZ2dnZ0FBQwpDQ0J3QndUY3lnSDU2cXV2VEY1
R256NTk1T21ubjc3bHQ2VWR5emR2M215U3lCczFhaVJXQXBreVpjcVlLbGg1OHVTeDM1Y210dXYr
CnlaTW5tNjd0OWcvWVFBQUJCQkJBQUFFRUVFQUFnV3dWeUhTcVFSUFBOVGw4MGFKRkpxOUNYNHNX
TFdwbUhYYnUzQ2xyMTY2Vmh4OSsKMkZMdkRuMWlYVHFsc3hhYTgxR3ZYajN6bHhXSitmUG5TL1Bt
eloxTzFTVDNOOTk4aytERFNZVTNDQ0NBQUFJSUlJQUFBZ2hrdjBDbQpNeURyMXEwVFRUSy8rKzY3
emQxcWRhbVZLMWZLZ0FFRFJQL3hyOHVkenAwN1o1WlROV3ZXekswbk9uMzZ0RlNxVkVtdVhyMHFo
UW9WCk1nRkVxMWF0cEdYTGxsSzFhbFduYTF5K2ZEbkRTbGJhdU5CMmI0NG5hcitTRVNOR1NJMGFO
UngzczQwQUFnZ2dnQUFDQ0NDQUFBTFoKS0pCcEVyb3ViYnAwNlpLNVJRMEc0dUxpVE1sZDdiK3hl
L2R1VTNFcU5qWlc5TS9kNGVmblo1TEVUNTA2WllLWXdNQkErZmpqajgwcwpTa0JBZ1BUdDI5ZVUw
RDE2OUtqTW5Ea3p3OHYyNzk5ZjVzeVpJOHVXTFROL1dwYjNyYmZla29VTEY0cmpzcXdNTDhLSEND
Q0FBQUlJCklJQUFBZ2dnY0VjRU1wMEIrZU9QUDJUQ2hBbnl4aHR2eVB2dnYyLytOT2xjSzJGVnJs
eFo3cjMzWG5PalgzenhoWFRxMU1tVTZYWG4Kem5WcFYweE1qSVNHaHRvUFAzUG1qQWx3dnZ2dU85
Ry9mZnYybVlhRksxYXNzQitUZWtQelJUVFFjQXcydEV6d3E2KytLcU5HalVwOQpPTzhSUUFBQkJC
QkFBQUVFRUVBZ0d3VXl6UUhSbVE1ZDRsU3hZa1d6MUVwbkZyUVhTSk1tVGFSS2xTcFN2MzU5czcx
NjllbzBqUVV6CmVpN3RBNktKNGhvczJJS0hFaVZLaUZhMTBqOGRPZ09peDJVME5OZERndzI5Sjl2
UVVyNDZFOEpBQUFFRUVFQUFBUVFRUUFBQnp4TEkKZEFiRWRydS8vLzY3Q1JTMFhLNXRKQ1FrbUpt
UkF3Y09TSWNPSFdUaXhJbTJqeko4dlpVNUlKcC9va254cVllVzkzMzMzWGRGeS8weQpFRUFBQVFR
UVFBQUJCQkJBd0RNRU1zMEJzZDJtL2tQZU1malEvVHI3c1h6NWN0RkVkUTFBM0IyM01nZmt3dzgv
RkYzT3BjMEw5VTluClZINzU1UmRadkhpeGFKVXVCZ0lJSUlBQUFnZ2dnQUFDQ0hpT2dOc3pJTFpi
MXRrT1hUS2x5N0p1WnR6S0hCQlg5MUdyVmkxWnYzNjkKM0hYWFhhNCtaaDhDQ0NDQUFBSUlJSUFB
QWdoa2c0Q2xBRVNYTzVVc1dkTE1NbWdDdXBiT2JkMjZ0ZW1Ddm5UcFVna0xDM1A3RVJZcwpXQ0JK
U1VubS9HclZxcms4ejVZRG9zbnQ2WTF1M2JxWnFsbTVjLzluTWtkelFiU1NscGI1dGVXV3BIY3Ur
eEZBQUFFRUVFQUFBUVFRClFPRE9DbGdLUVBUV3RNUnRyMTY5VEpXcWI3LzkxcFRmMVVwWjVjdVhs
eU5IanBpNzE1a0hiVENvUFQ1Y0RWMHFWYmR1WGJOMFNpdHEKbFMxYjFoN010R2pSUW5TSmxtMW9a
U3hOVG5jMTlEcGFGdGpmMzk4a3ROdk8wL0srcFVxVmNuVUsreEJBQUFFRUVFQUFBUVFRUUNBYgpC
U3dISUxwMFNnTU03WDZ1UTNNdU5tN2NLRm9xVnh2L0pTY25TN2x5NVV4ZkQrM240V3BvODhCZmYv
M1Z6SnpvTE1pTUdUTWtNakxTClZMSktURXcwd1l2T3J1aDNhTWQwTFFHYzN0QktYQU1IRHBRZVBY
cUlka0RYY3pSb2FkKyt2WHoyMldmcG5jWitCQkJBQUFFRUVFQUEKQVFRUXlBWUJ5d0dJTy9lb1M2
ZDBSc1MyTENyMU9UZHUzREFCeCtEQmcrMGZhZUF4ZCs1YzBXN3FXN1pzTVRNck9ydWhzeHA3OXV5
eApIK2U0b1pXNXROeHVlSGk0NkRWMTl1VEVpUk95ZWZObUUrRDg5ZGRmVXE5ZVBjZFQyRVlBQVFR
UVFBQUJCQkJBQUlGc0ZIQzdDcGJ0CkhyVkI0TVdMRjIxdlhiNXF6NUQwZ2c4OVFac0g2a3lKTmkr
MERWMkdwWUdFTHV0Njl0bG5UU2R6blIxeFBNWjJyTzFWOHoyMGw0aU8KVHo3NXhDekhtalJwa3Zq
NitwcEFSSU1hQmdJSUlJQUFBZ2dnZ0FBQ0NIaU9nS1Vaa09QSGowdUZDaFZrMXF4WjByRmpSeE9J
MkFJQQoyeVBwTElZR0U3WWxXcmI5cVY5MWRrSm5PMnJXckNuRGh3ODNqUTR2WGJwa1N2dnUyTEhE
N1FUeTU1OS9YczZlUFN1TEZpMHl5ZWhUCnBreVJPWFBtbUdWYkdzd0VCZ2FtL21yZUk0QUFBZ2dn
Z0FBQ0NDQ0FRRFlKV0FwQTlCNjErZUI5OTkwblBqNCtzbUhEQmxtNWNxWDAKN3QzYlhwYjNsVmRl
RVYwYXBUa1pUWnMyVUdOcjR3QUFHa0ZKUkVGVXpmQ3hVbEpTSkNJaXd1UnFhRmxmblJWcDJMQ2h4
TVRFWkhpZQo0NGNheU15ZlA5L3M2dDY5dThranVYcjFxdVRObTJtVGQ4ZkxzSTBBQWdnZ2dBQUND
Q0NBQUFKM1FNQnlBSkw2bnZRZisxb1ZLelEwCjFBUWR0czkxUnFKejU4NjJ0eG0rYnQyNlZkYXVY
V3VDaGllZmZETGRxbGNaWG9RUEVVQUFBUVFRUUFBQkJCQkF3T01GYmpvQTBTZTgKY09HQ21lMElD
Z3FTZnYzNm1TcFVtaFNlVVFDeWV2VnFVLzJxUUlFQ3BoZkk0NDgvN3ZGWTNDQUNDQ0NBQUFJSUlJ
QUFBZ2pjbklEbApKSFJYWDZmZHhtTmpZMDB1UnR1MmJlWHp6ejgzZlQxY0hhdjd6cDgvYjRJVDdk
ZHg4T0JCK2Z2Zi8yNXlSZzRmUHB6ZUtleEhBQUVFCkVFQUFBUVFRUUFDQkhDQndTMlpBSEIyMEww
aG1IY2cxYWZ5cHA1NlNiNzc1eHB5cWpRei85YTkveWV6WnMwMU9TZW5TcFIwdnlUWUMKQ0NDQUFB
SUlJSUFBQWdqa0VBSExBY2lCQXdkTWdLRko0emN6Smt5WVlJSVE3V0p1R3p0MzdqUU5ETFVwb1pX
aEFZd21vdS9idDgvMApIK25TcFlzRUJBUll1UVRISW9BQUFnZ2dnQUFDQ0NDQXdCMFFzQlNBbkR0
M1RrcVdMR202bjFldVhOa3NzMnJkdXJYcGFMNTA2VklKCkN3dHorNWExMU82WFgzNHA3ZHExazBh
Tkd0blArK2lqajZSUG56Nm1tcFY5WndZYjI3WnRrdzRkT29qMi9DaFlzS0JvVG9sMmE1ODMKYjU0
ODhzZ2pHWnpKUndnZ2dBQUNDQ0NBQUFJSUlIQ25CU3dGSUhwemI3MzFscWw2cFEwSnRjK0c1bjdv
RElSMlBqOXk1SWk1Ly9YcgoxMHVkT25Xa1VLRkNMcDlIbDJCcC94Q3RvS1dqWmN1VzByTm5UNmxT
cFlxc1diTkd0SlN2TzBNVDNiV1BTS2RPbmFSOSsvYW1oMGorCi9QbmwwS0ZEb2wzV05SZWxjT0hD
N2x5S1l4QkFBQUVFRUVBQUFRUVFRT0FPQ0ZnT1FIUjJRUU1NVzZOQnpmbll1SEdqckZpeFFrYU0K
R0dGNmVaUXJWODRzcGVyYnQyKzZqekIxNmxUVHpQQ25uMzZTVmF0V3lmZmZmeTlidG15UkdqVnF5
UGJ0MjAyMzlIUlAvdjhmN04rLwpYNVlzV1NKRGhneEpjNmhlVTd1eFo5YUxKTTJKN0VBQUFRUVFR
QUFCQkJCQUFJSGJKbUE1QU5FbWdUTm56aFJmWDE5cDA2YU5kTzNhCk5jM05IVDE2MU15SWFBQ1Ew
ZERsVXpwVFlodGFIVXZMOCtxeUxwM0p5R3hvUG9ybWZlZ3lydFJqMnJScHBtSGlndzgrbVBvajNp
T0EKQUFJSUlJQUFBZ2dnZ0VBMkNWZ0tRRFJBcUZDaGdqejAwRU55NmRJbDB4VmQvNEd2QVlrdXdi
SXl4bzhmYndJTjdhcnVPQzVldkpqdQowaTNINDJ6YjJyaFFsMjlwQjNYTkFZbVBqemVWdE9iT25T
dDc5dXl4ZEMzYk5YbEZBQUVFRUVBQUFRUVFRQUNCMnlOZ0tRQzVmUG15CitjZStKby9yK1AzMzMy
WHk1TWttbVZ5WFVCVXZYdHp0dTJ6Y3VMRlp1cVZWc0hUR1EvODBzTkZrOW9pSUNMZXZvMEZHeDQ0
ZFJaZGoKYWZsZlhSS205N0Znd1lJTWU1RzQvUVVjaUFBQ0NDQ0FBQUlJSUlBQUFyZE13RklBb3Qv
NndRY2Z5Qk5QUEdHU3lHMTNvYmtiMnNQagp2ZmZlcysxeTYvVzMzMzZUT1hQbXlQVHAwMFVUeWpW
NVBHL2V2S1pSWVdiTHR4eS9RUE5TbGkxYlppL0RxMHZENkNYaUtNUTJBZ2dnCmdBQUNDQ0NBQUFL
ZUlXQXBBTkhaaGNXTEY1dC83R3ZKM1pDUUVQdFRhRkw1TTg4ODQzYjVYUHVKLzk3UWFsZzZxNkpC
UjlHaVJVM2kKdUpiVGRXZHMyclJKR2pSb2tPWlEzVitxVkNuUmNzRU1CQkJBQUFFRUVFQUFBUVFR
OEF3QlN3Rkljbkt5Vkt0V3pjeFNuRHg1VWg1NAo0QUY1N0xISDVKNTc3cEhEaHcvTDBLRkQ3VSts
c3hMdUpKTGJUL2ozaGlhVWF4OFF6UTl4ZDJpVnE5NjllNmNwdC92RER6K1krOUllCklaVXFWWEty
cXBhNzM4bHhDQ0NBQUFJSUlJQUFBZ2dna0RVQlN3R0lmb1VtbkhmdTNObjAvSWlPamhhdGlyVjI3
VnFUZjZHbGVYWDUKVS9QbXpXWERoZzBTSGg1dTZhNTBlWmNHTVpyc25pOWZQcmZPelpVcmx6a3U5
Wkl0WGRLbE9TRzZYMHY3UmtWRlNXQmdvRnZYNUNBRQpFRUFBQVFRUVFBQUJCQkM0UFFLV0F4Qzlq
WVNFQk5QMHozWkxtcHkrYnQwNlUzMUtHeE5xSHcrZEhkSCtJSzdHbVRObjVJVVhYakF6CkV3TUdE
TEJYME5MS1dwb0hFaFFVNU9vMGwvdGVldWtsR1RseVpKcHFWMTk5OVpVRUJBUkl2WHIxVEVBVEdS
a3ByNy8rdXN0cnNCTUIKQkJCQUFBRUVFRUFBQVFUdWpFRGVySHhOL2ZyMVRkSzRiZlpCOHpXMG03
bis2ZENsV3JvRUtyMmhzeEk2UTZIZHl2MzgvTXhoT3V0eAovUGh4UzhHSG5xZ0JqS3VPNnpxRG9q
TWdPbEpTVWt4UVpON3dId1FRUUFBQkJCQkFBQUVFRU1nMmdZdzdCYVp6V3pwVFViVnFWZnVuCmNY
Rnhwdnl0YlVmSmtpVmROZ2UwZlo2VWxHUks3V3J3b1lISXBFbVR6Q3lJTmlWODdybm5iSWU1OWFy
NUo2NUdhR2lvMUs1ZDIzeWsKc3lUYXY0U0JBQUlJSUlBQUFnZ2dnQUFDMlN1UXBTVllHb0JvZGFu
RXhFUno5eG9FYk4yNjFWSWZFRTBjMStwVjgrYk5NL2tpUTRZTQpNVXVwTk1ja3E5VzAwcVBNU2tK
OGV0ZGlQd0lJSUlBQUFnZ2dnQUFDQ0dSZElFc3pJRm4vdXYrZXFRbnFtaGp1NCtOakFwQng0OGFK
Ckx1VmF2MzY5Mnduby83MWF4bHRXcTNGbGZEVStSUUFCQkJCQUFBRUVFRUFBZ2F3S1pDa0hKS3Rm
NW5pZWRqMWZ0V3FWZmRmRml4ZGwKOU9qUm9nbnQyaGRFR3hJeUVFQUFBUVFRUUFBQkJCQkFJR2NK
ZU15LzhqV1JYQU1RQmdJSUlJQUFBZ2dnZ0FBQ0NPUmNnV3hiZ3JWNwo5Mjc1ODg4L2M2NHNUNFlB
QWdnZ2dBQUNDQ0NBQUFKcEJMSWxBRGwxNnBRRUJ3ZkxoQWtUMHR3UU94QkFBQUVFRUVBQUFRUVFR
Q0RuCkNtVExFcXhTcFVySnA1OStLaUVoSVRsWGxpZERBQUVFRUVBQUFRUVFRQUNCTkFKWkNrQUtG
aXdvdW9US05obzNibXh2K21mYmw5bHIKcjE2OU1qdUV6eEZBQUFFRUVFQUFBUVFRUUNDSENXU3BE
MGdPTStCeEVFQUFBUVFRUUFBQkJCQkE0QTRKV000QkdUdDJyS3hidCs0TwozUjVmZ3dBQ0NDQ0FB
QUlJSUlBQUFqbEp3TklNaUNhUCsvdjd5MDgvL1NSQlFVRTV5WUZuUVFBQkJCQkFBQUVFRUVBQWdU
c2dZR2tHCnhOZlhWMEpEUTEwR0g3dDI3WktISDM1WVltSmk3c0J0OHhVSUlJQUFBZ2dnZ0FBQ0ND
RHd2eWhnS1FEUjVQUDBaajVXcmx3cE8zZnUKbE1URVJBa0xDNVBZMk5qL1JRL3VHUUVFRUVBQUFR
UVFRQUFCQkc2amdLVUFSTzlESzE0dFdMREE2WlpPbmp3cEgzendnVHozM0hQUwp1M2R2cVY2OXVr
eWZQdDNwR040Z2dBQUNDQ0NBQUFJSUlJQUFBcGJMOEQ3eXlDUHk5dHR2eTZPUFBpb05HemFVNU9S
a1diaHdvWncrCmZWb2lJaUlRUlFBQkJCQkFBQUVFRUVBQUFRVFNGYkE4QTZKWEdqNTh1QXdiTmt5
U2twSk1QNUJPblRySmp6LytLR1hLbEVuM2kvZ0EKQVFRUVFBQUJCQkJBQUFFRUVMQThBMklqYTlD
Z2dlaWZxNkg3cjEyNzV1b2o5aUdBQUFJSUlJQUFBZ2dnZ0lBWEMxZ3F3MnR6MnJCaApnMnpjdUZI
cTFxMXJLbC9aOXZPS0FBSUlJSUFBQWdnZ2dBQUNDR1FrWUhrSmxpYWdheW5lVFpzMlNjK2VQV1hR
b0VFWlhaL1BFRUFBCkFRUVFRQUFCQkJCQUFBRzdnT1VBNU5kZmZ6V2xkcU9pb3VUbzBhTlNybHc1
aVkrUEYyMVNPSGp3WUduUm9vVk1tVExGL2dWc0lJQUEKQWdnZ2dBQUNDQ0NBQUFJMkFVc0JTRXBL
aWxTc1dGRjhmSHpNK1hueTVKR1hYbnBKNXMyYko3VnIxeFlOU29LRGcyWEpraVd5WXNVSwoyM2Z3
aWdBQ0NDQ0FBQUlJSUlBQUFnZ1lBVXNCaURZaTNMZHZueFBkVHovOUpIUG16QkYvZjMvWnNXT0g2
UWNTSFIxdHFtTTVIY2diCkJCQkFBQUVFRUVBQUFRUVE4SG9CU3dHSXpuajg4Y2NmTW1iTUdObTdk
Njk4K3VtbjByUnBVelByb2YxQi9Qejg3S0I2TEFNQkJCQkEKQUFFRUVFQUFBUVFRY0JTd0ZJRG9p
VysrK2FZa0pDUklVRkNRU1VEdjBhT0hyRnk1MGdRaFlXRmhzbXpaTXRNanBIang0bzdmd3pZQwpD
Q0NBQUFJSUlJQUFBZ2dnSUZrcXc2dHVPaE9pUzdMeTVjdG5aOVNaRWEyUzFheFpNNWt3WVlMVFov
YUQyRUFBQVFRUVFBQUJCQkJBCkFBR3ZGYkFjZ0x6d3dnc1NHUmtwdVhOYm5qenhXbVFlSEFFRUVF
QUFBUVFRUUFBQkJQNGpZRG1LbURScGtvU0hoOHZWcTFkZEdtcEYKTEMzSnkwQUFBUVFRUUFBQkJC
QkFBQUVFVWd0WURrRDBBbTNhdEpILys3Ly9rOHVYTDZlK25tZ3lldWZPbmVYa3laTnBQbU1IQWdn
ZwpnQUFDQ0NDQUFBSUllTGRBbGdLUWdJQUFFNEJFUkVUSXVYUG5uQVI5ZlgybFZhdFc4dmJiYnp2
dDV3MENDQ0NBQUFJSUlJQUFBZ2dnCmtLVUE1TWFORzZKQnlJZ1JJNlJuejU2aTNkRWRoM1pJMzdw
MXErTXV0aEZBQUFFRUVFQUFBUVFRUUFBQnlXdlZJSC8rL0tMTkJ4czIKYkdpQ2tCa3paa2kzYnQw
a0pDVEVMTTFhdlhxMTZZemV0V3RYcTVmbWVBUVFRQUFCQkJCQUFBRUVFTWpoQXBablFJNGZQeTdY
cjE4MwpaWGpWcGt5Wk12TE5OOStZeG9SYWZ2ZTExMTR6elFuSGpoMmJ3K2w0UEFRUVFBQUJCQkJB
QUFFRUVMQXFZTGtNYjBaZm9MMUJMbHk0CklHWExsczNvTUQ1REFBRUVFRUFBQVFRUVFBQUJMeFhJ
VWdDaUpYalhybDFyT3FKWHExWk43ci8vZmlsZnZyeVhFdkxZQ0NDQUFBSUkKSUlBQUFnZ2c0SzZB
NVJ5UXVYUG55c1NKRTZWWXNXSnk4T0JCT1hUb2tHaFMralBQUENPNjdLcGt5Wkx1ZmpmSElZQUFB
Z2dnZ0FBQwpDQ0NBZ0pjSldNb0IwVUJEcTFzbEpDUkliR3lzSERod1FNNmVQU3REaHc2Vm1UTm5p
czZHN05xMXk4c0llVndFRUVBQUFRUVFRQUFCCkJCQndWOERTREVoS1Nvb0VCZ1pLcmx5NTdOY3ZV
cVNJdlBQT081S2NuQ3lYTGwyU1J4OTkxQVFveFlzWHR4L0RCZ0lJSUlBQUFnZ2cKZ0FBQ0NDQ2dB
cFptUUFvWExpeHhjWEdTbEpTVVJpOTM3dHp5N3J2dlNyOSsvYVI3OSs2bVVsYWFnOWlCQUFJSUlJ
QUFBZ2dnZ0FBQwpYaTFnYVFaRXBaNTQ0Z21wWGJ1MmRPN2NXVnEwYUNIMTZ0VVQ3ZjJ4ZS9kdVUv
M3E1WmRmbGxPblRzbVdMVnVrZnYzNlhvM0x3eU9BCkFBSUlJSUFBQWdnZ2dJQ3pRSmFxWU0yWk0w
ZGVmUEZGKzB4SWdRSUZaTUdDQmRLeFkwZHpkVjJLdFhEaFF1blZxNWZ6dC9FT0FRUVEKUUFBQkJC
QkFBQUVFdkZvZ1N3R0lpbW0vajgyYk44dVpNMmZNVEVlRkNoV2NJTC85OWx0cDE2NmQwejdlSUlB
QUFnZ2dnQUFDQ0NDQQpnSGNMWkRrQXlZeE5sMkdWS2xVcXM4UDRIQUVFRUVBQUFRUVFRQUFCQkx4
STRMWUZJRjVreUtNaWdBQUNDQ0NBQUFJSUlJQ0Ftd0tXCnFtQzVlVTBPUXdBQkJCQkFBQUVFRUVB
QUFRUmNDbGdPUUM1ZXZPanlRdXhFQUFFRUVFQUFBUVFRUUFBQkJESVRzQnlBakJvMVNyUWoKT2dN
QkJCQkFBQUVFRUVBQUFRUVFzQ3BnT1FkRXU2QUhCUVZKYUdpb3RHblRSaG8zYml3K1BqNVd2NWZq
RVVBQUFRUVFRQUFCQkJCQQp3QXNGTE0rQTVNMmJWKzY2Nnk1NTc3MzNwR1hMbGxLaVJBbnAwS0dE
dlAvKys3Sm56eDQ3NFpJbFMremJiQ0NBQUFJSUlJQUFBZ2dnCmdBQUNLbUM1RTNwRVJJUUpQczZk
T3lmZmYvKzlSRWRIUzFSVWxDeGZ2dHlJQmdRRWlQWUUwWTdwREFRUVFBQUJCQkJBQUFFRUVFREEK
VWNEeURNalZxMWZOK1VXTEZwWEhIbnRNcGsyYkptRmhZV2IySXpJeVVvS0RnMlhidG0yTzM4RTJB
Z2dnZ0FBQ0NDQ0FBQUlJSUdBRQpMQWNnZS9mdU5WM1FIZjNXckZralZhdFdsWUVEQjVxWmtCOS8v
SkZFZFVjZ3RoRkFBQUVFRUVBQUFRUVFRTUFJV0E1QXFsV3JKZzg5CjlKQk1uanhaTk5CNDg4MDM1
ZURCZzdKanh3NDdhVXBLaXZqNit0cmZzNEVBQWdnZ2dBQUNDQ0NBQUFJSXFJRGxLbGpIamgyVGhn
MGIKeXZIang0MWdnUUlGWk1XS0ZkSzNiMThaTm15WStQbjVpUzdGR2pseXBEUnIxZ3hsQkJCQUFB
RUVFRUFBQVFRUVFNQXVZRGtKWFJQTQpOMjNhSkRObnpwU0NCUXRLNzk2OVRkQ2hsYkQ2OWV0bkxs
eS9mbjBUcE5pL2hRMEVFRUFBQVFRUVFBQUJCQkJBNE44Q2xtZEEwbFBUCjVvU3JWcTJTOCtmUFMw
aElDRXV3MG9OaVB3SUlJSUFBQWdnZ2dBQUNYaXhnT1FDSmo0OFg3UVZTcDA0ZHlaTW5qeGZUOGVn
SUlJQUEKQWdnZ2dBQUNDQ0JnVmNCU0FITDY5R21wVkttU2FDbmVRb1VLU2ZQbXphVlZxMWFtSWFG
V3dYSWNseTlmRnMwUFlTQ0FBQUlJSUlBQQpBZ2dnZ0FBQ05nRkxWYkEwd1h6TW1ERnk2dFFwbVQ5
L3ZnUUdCc3JISDM4c1FVRkJvZzBJTlJGOTd0eTVjdlRvVVpNall2c1NYaEZBCkFBRUVFRUFBQVFR
UVFBQUJGYkEwQTZJblhMbHlSV0ppWWlRME5GVGZtbkhtekJtSmk0dVQ3Nzc3enZ6dDI3ZFAyclJw
WTZwajJZN2gKRlFFRUVFQUFBUVFRUUFBQkJCRElVZ0N5ZlBseTJiNTl1MmkxcTdadDI2YkpCZEVa
a0sxYnQwcW5UcDBRUmdBQkJCQkFBQUVFRUVBQQpBUVRzQXBZRGtJNGRPNHAyUTlkbWd5ZE9uSkFH
RFJySXJGbXp6SElzKzFYWlFBQUJCQkJBQUFFRUVFQUFBUVJjQ0ZqS0FUbDc5cXhaCldxVUJpRFlp
UEh6NHNEUnUzRmphdDI5djhrSmNYSjlkQ0NDQUFBSUlJSUFBQWdnZ2dJQmR3RklBb3BXdi9QMzk3
U2RyNHZuNDhlTmwKOXV6Wk1ucjBhUHQrTmhCQUFBRUVFRUFBQVFRUVFBQUJWd0tXQWhBZkh4K1Qy
N0ZyMXk2bmEra3lMTzBMY3YzNmRhZjl2RUVBQVFRUQpRQUFCQkJCQUFBRUVIQVVzQlNCNjR0Q2hR
NlZIang3bVZaZGkyWVl1eHlJQXNXbndpZ0FDQ0NDQUFBSUlJSUFBQXE0RUxBY2d4WW9WCmsram9h
UG41NTUrbGV2WHFVcVJJRVNsZHVyU2NQMy9lZEVoMzlTWHNRd0FCQkJCQUFBRUVFRUFBQVFSVXdI
SVZMRWUyTFZ1MnlPYk4KbTZWbXpaclNxRkVqeVpVcmwrUEhiQ09BQUFJSUlJQUFBZ2dnZ0FBQ1Rn
S1dBeEJkWnJWbXpScUpqNCtYV3JWcVNZc1dMU1IvL3Z4TwpGK1VOQWdnZ2dBQUNDQ0NBQUFJSUlP
Qkt3SElBMHIxN2Q0bUtpakxMcms2ZVBDbTFhOWMyVmJDQ2c0TmRYWjk5Q0NDQUFBSUlJSUFBCkFn
Z2dnSUJkd0ZJT1NISnlzaHc1Y2tTU2twTGt0OTkrTTNrZjRlSGhFaFlXSm9tSmlmYUxzb0VBQWdn
Z2dBQUNDQ0NBQUFJSXVCS3cKRklBVUxseFl1blhySm41K2Z1WmF2cjYrMHI5L2YvbjY2NjlsMHFS
SnJxN1BQZ1FRUUFBQkJCQkFBQUVFRUVEQUxtQXBBTkZjajN6NQo4c20xYTlmc0Y5Q05DaFVxaUM3
QnVuSGpodE4rM2lDQUFBSUlJSUFBQWdnZ2dBQUNqZ0tXQWhBOVVaZGJyVnExeXZFYU1tN2NPRk9X
CjEya25ieEJBQUFFRUVFQUFBUVFRUUFDQlZBS1dBeEJkaHFXVnJ4ekgvdjM3elF3SVpYZ2RWZGhH
QUFFRUVFQUFBUVFRUUFDQjFBS1cKcTJCcEYvU1dMVnVhSUtSU3BVcXByOGQ3QkJCQUFBRUVFRUFB
QVFRUVFDQmRBY3N6SU9YS2xaTXBVNlpJNWNxVkpUQXdVSjU3N2puNQo0b3N2UkN0a09ZNVRwMDQ1
dm1VYkFRUVFRQUFCQkJCQUFBRUVFTWg2SjNRTk9McDI3V3FXWHNYR3hvb3V3OUtlSUxvODY2R0hI
akk1CkljT0dEWU1ZQVFRUVFBQUJCQkJBQUFFRUVMQUxXSjRCMFVwWE91UHh5Q09QbUc3bzk5MTNu
K3paczBjT0hUb2tFUkVSY3V6WU1kSGUKSU5IUjBmWXZZUU1CQkJCQUFBRUVFRUFBQVFRUVVBRkxP
U0JYcmx3eCtSODYyNkhCeHJQUFBpczdkdXlReTVjdnl6MzMzQ00xYXRRdwpxaHFrNkRGVnExWkZH
UUVFRUVBQUFRUVFRQUFCQkJDd0MxZ0tRTTZmUHkrdFdyV1N1TGc0S1Zpd29QMGltaE95ZVBGaWlZ
bUpzZTlqCkF3RUVFRUFBQVFRUVFBQUJCQkJJTFdCcENaYVc0UDM0NDQ5bCsvYnRUdGNaTUdDQVZL
bFN4V2tmYnhCQUFBRUVFRUFBQVFRUVFBQ0IKMUFKNVUrL0k2UDJaTTJkazdOaXhvdVYzQXdJQ3BI
ejU4dmJEWDM3NVpmczJHd2dnZ0FBQ0NDQ0FBQUlJSUlDQUt3RkxBVWp1M0xsRgo4enNHRHg0c2Zu
NSs1bnE2TE92NDhlTlN2WHAxVjlkbkh3SUlJSUFBQWdnZ2dBQUNDQ0JnRjdDMEJDc3BLY2trbjJ2
d29ZSElwRW1UCnpDeEluVHAxVEQ4USsxWFpRQUFCQkJCQUFBRUVFRUFBQVFSY0NGZ0tRTFNxMWJS
cDAwd2p3cVpObThxZ1FZT2tmLy8rY3Zic1dhbFYKcTViODlkZGZMcjZDWFFnZ2dBQUNDQ0NBQUFJ
SUlJREFmd1FzQlNCNml2YjRpSXFLRWg4Zkg5bXdZWU9NR3pkT0NoUW9JT3ZYcjVkOAorZkxoaWdB
Q0NDQ0FBQUlJSUlBQUFnaWtLMkNwREsrcnExeThlRkZHang0dGUvZnVsZm56NTB2ZXZKYlNTbHhk
a24wSUlJQUFBZ2dnCmdBQUNDQ0NRUXdWdU9nREpvUzQ4RmdJSUlJQUFBZ2dnZ0FBQ0NOd0dBY3RM
c0c3RFBYQkpCQkJBQUFFRUVFQUFBUVFROEJJQkFoQXYKK2FGNVRBUVFRQUFCQkJCQUFBRUVQRUdB
QU1RVGZnWHVBUUVFRUVBQUFRUVFRQUFCTHhFZ0FQR1NINXJIUkFBQkJCQkFBQUVFRUVEQQpFd1FJ
UUR6aFYrQWVFRUFBQVFRUVFBQUJCQkR3RWdFQ0VDLzVvWGxNQkJCQUFBRUVFRUFBQVFROFFZQUF4
Qk4rQmU0QkFRUVFRQUFCCkJCQkFBQUV2RVNBQThaSWZtc2RFQUFFRUVFQUFBUVFRUU1BVEJBaEFQ
T0ZYNEI0UVFBQUJCQkJBQUFFRUVQQVNBUUlRTC9taGVVd0UKRUVBQUFRUVFRQUFCQkR4QmdBREVF
MzRGN2dFQkJCQkFBQUVFRUVBQUFTOFJJQUR4a2grYXgwUUFBUVFRUUFBQkJCQkF3Qk1FQ0VBOAo0
VmZnSGhCQUFBRUVFRUFBQVFRUThCSUJBaEF2K2FGNVRBUVFRQUFCQkJCQUFBRUVQRUdBQU1RVGZn
WHVBUUVFRUVBQUFRUVFRQUFCCkx4RWdBUEdTSDVySFJBQUJCQkJBQUFFRUVFREFFd1FJUUR6aFYr
QWVFRUFBQVFRUVFBQUJCQkR3RWdFQ0VDLzVvWGxNQkJCQUFBRUUKRUVBQUFRUThRWUFBeEJOK0Jl
NEJBUVFRUUFBQkJCQkFBQUV2RVNBQThaSWZtc2RFQUFFRUVFQUFBUVFRUU1BVEJBaEFQT0ZYNEI0
UQpRQUFCQkJCQUFBRUVFUEFTQVFJUUwvbWhlVXdFRUVBQUFRUVFRQUFCQkR4QmdBREVFMzRGN2dF
QkJCQkFBQUVFRUVBQUFTOFJJQUR4CmtoK2F4MFFBQVFRUVFBQUJCQkJBd0JNRUNFQTg0VmZnSGhC
QUFBRUVFRUFBQVFRUThCSUJBaEF2K2FGNVRBUVFRQUFCQkJCQUFBRUUKUEVHQUFNUVRmZ1h1QVFF
RUVFQUFBUVFRUUFBQkx4RWdBUEdTSDVySFJBQUJCQkJBQUFFRUVFREFFd1FJUUR6aFYrQWVFRUFB
QVFRUQpRQUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFRUVBQUFRUThRWUFBeEJOK0JlNEJBUVFR
UUFBQkJCQkFBQUV2RVNBQThaSWZtc2RFCkFBRUVFRUFBQVFRUVFNQVRCQWhBUE9GWDRCNFFRQUFC
QkJCQUFBRUVFUEFTQVFJUUwvbWhlVXdFRUVBQUFRUVFRQUFCQkR4QmdBREUKRTM0RjdnRUJCQkJB
QUFFRUVFQUFBUzhSSUFEeGtoK2F4MFFBQVFRUVFBQUJCQkJBd0JNRUNFQTg0VmZnSGhCQUFBRUVF
RUFBQVFRUQo4QklCQWhBdithRjVUQVFRUUFBQkJCQkFBQUVFUEVHQUFNUVRmZ1h1QVFFRUVFQUFB
UVFRUUFBQkx4RWdBUEdTSDVySFJBQUJCQkJBCkFBRUVFRURBRXdRSVFEemhWK0FlRUVBQUFRUVFR
QUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFRUVBQUFRUThRWUFBeEJOK0JlNEIKQVFRUVFBQUJC
QkJBQUFFdkVTQUE4WklmbXNkRUFBRUVFRUFBQVFRUVFNQVRCQWhBUE9GWDRCNFFRQUFCQkJCQUFB
RUVFUEFTQVFJUQpML21oZVV3RUVFQUFBUVFRUUFBQkJEeEI0UDhCR0RTN093YTRCT1lBQUFBQVNV
Vk9SSzVDWUlJPQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQv
Ym94LXNoYWRvdy1oLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlh
d3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJL
R0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQov
SWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRF
ZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxj
NS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2
WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhx
cAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgw
bTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJv
eE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0
cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFz
ZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlz
ZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVt
ZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVov
RFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZF
S0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1ds
czA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVw
MHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRB
ZTNkQjVCY1dYVXc0RHZTU0N1TnBFVVNRV1JZWU12RUFwWWxtLzJoVEE2R0ltOWhVNEJOTUJpYlpM
TlFKcFlCcndHVApUQ3diRXdwTWNoRU1heWp5a21GWmNHRXltTUpFRVNSNVI5Sm9sZnJ2ODhRZDk0
NUdVay9zZTI5L3I2clY2WVZ6di9QVS9jN2NkMTlQCjlQcFRNaEVnUUlBQUFRSUVDQkFnUUdBVkJO
YXN3alpzZ2dBQkFnUUlFQ0JBZ0FBQkFwMkFBc1NPUUlBQUFRSUVDQkFnUUlEQXFna28KUUZhTjJv
WUlFQ0JBZ0FBQkFnUUlFRkNBMkFjSUVDQkFnQUFCQWdRSUVGZzFBUVhJcWxIYkVBRUNCQWdRSUVD
QUFBRUNDaEQ3QUFFQwpCQWdRSUVDQUFBRUNxeWFnQUZrMWFoc2lRSUFBQVFJRUNCQWdRRUFCWWg4
Z1FJQUFBUUlFQ0JBZ1FHRFZCQlFncTBadFF3UUlFQ0JBCmdBQUJBZ1FJS0VEc0F3UUlFQ0JBZ0FB
QkFnUUlySnFBQW1UVnFHMklBQUVDQkFnUUlFQ0FBQUVGaUgyQUFBRUNCQWdRSUVDQUFJRlYKRTVo
Y3pKWW1KaVlXczlpcUxkUHI5Vlp0V3paRWdBQUJBb3NUOEYyeU9MZmFsc3JmeVlQMzhYancrU2pi
bFBmRHVNKzNpR2Z3OVZIRwpaOXNFV2hSWVZBSFNJb1EyRVNCQWdBQUJBc3Nya0l1TW8wZVBwbnc3
Y3VSSWlsczhIeXhFbG5mTHc2OHRGeDFyMXF4SmE5ZXU3Vzd4Ck9OOGl4bHlNREw5V2N4SWdjRElC
QmNqSmRMeEhnQUFCQWdRSUxFa2dDbzBvT0E0ZlBwd09Ianc0ZTR2bmc0WElramF5eUlXanNNaUYK
eCtUa1pGcS9mdjNzTFo3SEZPK2JDQkJZWGdFRnlQSjZXaHNCQWdRSUVDRHdPNEhvUFlnQ0pJcU5B
d2NPcFAzNzk2ZDkrL1oxdDNoKwo2TkNoMlNKa0ZHaTUrRmkzYmwzYXNHRkQyclJwVTNlYm1wcnFu
dWZlRVQwZ284aU9iYllzb0FCcE9idmFSb0FBQVFJRVJpaVFDNURvCitZamlZOCtlUFduWHJsM2Qv
ZlQwZEZlVVJCRVNSY29vcGloQWN2R3haY3VXdEhYcjFyUjkrL1l1bEZ5YzZBRVpSV1pzczNXQmlm
NkgKdzRKSGJNLzNsNEJlNyttRlcvMWQ0ZkcxRk41NWhUZkd2ckI2Q2JJdnJKNTE2VnNxZTErWW1E
ai9PTUJGZkQwZXQ0NXhmeUdmZHJWMwo3OTYwZS9mdXRIUG56blRPT1JjVXpYTGhoZmRNTzNic1NO
dTJiVXViTjIvdVRzbktwMk1WSGJqZ0NGUWs0TVRHaXBJbFZBSUVDQkFnClVKTkFGSEV4emlONlFP
TFVxK2dCS1gyS0dDUFdpRGxpVjRpV25qSHgxU2lnQUtreGEySW1RSUFBQVFJVkNNVEIrK0FZa09n
SktYMksKR0dOOFN2VGVST3dLa05JekpyNGFCUlFnTldaTnpBUUlFQ0JBb0JLQjNBc1NZejFtWm1h
S2p6cGl6SVBqRlIvRnAwdUFsUW9vUUNwTgpuTEFKRUNCQWdFQU5BcmtYSkYrS3QvU1lTN2c4Y09s
RzRpT3dWQUVGeUZJRngzejV3VXNVNXNkalRxTDVGUW5rZlhid3ZxTHdoVXFnCmVJSGNnekJZaEpR
ZTlOemZKc2x0S0QxdThSR29TVUFCVWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGU09VSkZENEJBZ1FJ
RUNCQWdBQ0IKbWdRVUlEVmxTNndFQ0JBZ1FJQUFBUUlFS2hkUWdGU2VRT0VUSUVDQUFBRUNCQWdR
cUVsQUFWSlR0c1JLZ0FBQkFnUUlFQ0JBb0hJQgpCVWpsQ1JRK0FRSUVDQkFnUUlBQWdab0VGQ0Ex
WlV1c0JBZ1FJRUNBQUFFQ0JDb1hVSUJVbmtEaEV5QkFnQUFCQWdRSUVLaEpRQUZTClU3YkVTb0FB
QVFJRUNCQWdRS0J5QVFWSTVRa1VQZ0VDQkFnUUlFQ0FBSUdhQkJRZ05XVkxyQVFJRUNCQWdBQUJB
Z1FxRjFDQVZKNUEKNFJNZ1FJQUFBUUlFQ0JDb1NVQUJVbE8yeEVxQUFBRUNCQWdRSUVDZ2NnRUZT
T1VKRkQ0QkFnUUlFQ0JBZ0FDQm1nUVVJRFZsUzZ3RQpDQkFnUUlBQUFRSUVLaGRRZ0ZTZVFPRVRJ
RUNBQUFFQ0JBZ1FxRWxBQVZKVHRzUktnQUFCQWdRSUVDQkFvSElCQlVqbENSUStBUUlFCkNCQWdR
SUFBZ1pvRUZDQTFaVXVzQkFnUUlFQ0FBQUVDQkNvWFVJQlVua0RoRXlCQWdBQUJBZ1FJRUtoSlFB
RlNVN2JFU29BQUFRSUUKQ0JBZ1FLQnlBUVZJNVFrVVBnRUNCQWdRSUVDQUFJR2FCQlFnTldWTHJB
UUlFQ0JBZ0FBQkFnUXFGMUNBVko1QTRSTWdRSUFBQVFJRQpDQkNvU1VBQlVsTzJ4RXFBQUFFQ0JB
Z1FJRUNnY2dFRlNPVUpGRDRCQWdRSUVDQkFnQUNCbWdRVUlEVmxTNndFQ0JBZ1FJQUFBUUlFCkto
ZFFnRlNlUU9FVElFQ0FBQUVDQkFnUXFFbEFBVkpUdHNSS2dBQUJBZ1FJRUNCQW9IS0JSUlVndlY0
dnpiMVY3aUI4QWdRSUVCaGoKZ2JuZmFmSGN0SFNCaVltSmJpVnh2MmJObXJSMjdkcWxyM1NGMXhB
eFJxeURzYS93SnEyZXdOZ0pMS29BR1RzbERTWkFnQUFCQWdRVwpKVEJZZkV4T1RpNXFIYXU1VU1R
NHR3aFp6ZTNiRm9GeEVGQ0FqRU9XdFpFQUFRSUVDSXhJSUFxUU9LQmZ0MjVkMnJoeDQ0aWlHSDZ6
CkVXUEVHakhuWHBEaGx6WW5BUUxEQ0NoQWhsRXlEd0VDQkFnUUlMQmdnZHo3RWIwS0d6WnNTSnMz
YjE3d09sWjdnWWd4WW8yWUIwL0YKV3UwNGJJOUF5d0lLa0phenEyMEVDQkFnUUdDRUFybjNZLzM2
OVduVHBrMXA2OWF0STR4bXVFMUhqQkZyeEt3WFpEZ3pjeEZZcU1CRQpmNkNka1hZTFZUUC9yRURw
M2ROMjc5bFVGZlBBUGxOTUtnUkNZTVVGamh3NWtnNGZQcHhtWm1iUzNyMTcwNTQ5ZTlLdVhidTYr
K25wCjZYVGd3SUYwNk5DaGRQVG8wUldQWmI0TlJBOUhuRzRWUFI1YnRtenBDcVR0MjdkMzk5RVRF
cWRqNVRFaDh5M3ZOUUlFRmlkUS9taXcKeGJYTFVnUUlFQ0JBZ01DSUJmSXBXTkdiTURVMTFVVVRC
L3h4Y0orTGp5aFNSbG1BNVBFcFVZUkV6MGZjSXRhSTJTbFlJOTZCYkw1WgpBUVZJczZuVk1BSUVD
QkFnTUZxQlhJRGtNU0J4UUo5UHg0cWVrVng4aktxM09zY1hSVWpFR0xIbG16RWdvOTEzYkwxdEFR
VkkyL25WCk9nSUVDQkFnTUZLQktEcGlpb1A5T05DUEEvekJ3bU5VeFVkR2liZ0dDNUdJTVdMT3R6
eWZld0lFbGsvQUdKRGxzeHpMTmNXSGRzblQKcUwvWVNyWVpWV3oybVZISjJ5NkIwUWpreitIQisz
ZzgrSHcwa1IzYmF2NU1pdnQ4aTNjR1h4OWxmTFpOb0VVQkJVaUxXZFVtQWdRSQpFQ0JBZ0FBQkFv
VUt1QXh2b1lrUkZnRUNCQWdRSUVDQUFJRVdCUlFnTFdaVm13Z1FJRUNBQUFFQ0JBZ1VLcUFBS1RR
eHdpSkFnQUFCCkFnUUlFQ0RRb29BQ3BNV3NhaE1CQWdRSUVDQkFnQUNCUWdVVUlJVW1SbGdFQ0JB
Z1FJQUFBUUlFV2hSUWdMU1lWVzBpUUlBQUFRSUUKQ0JBZ1VLaUFBcVRReEFpTEFBRUNCQWdRSUVD
QVFJc0NDcEFXczZwTkJBZ1FJRUNBQUFFQ0JBb1ZVSUFVbWhoaEVTQkFnQUFCQWdRSQpFR2hSWUhJ
eGpacVltRmpNWXF1MlRLL1hXN1Z0MlJBQkFnUUlMRTdBZDhuaTNHcGJLbjhuRDk3SDQ4SG5vMnhU
M2cvalB0OGluc0hYClJ4bWZiUk5vVVdCUkJVaUxFTnBFZ0FBQkFnUUlMSzlBTGpLT0hqMmE4dTNJ
a1NNcGJ2RjhzQkJaM2kwUHY3WmNkS3hac3lhdFhidTIKdThYamZJc1ljekV5L0ZyTlNZREF5UVFV
SUNmVDhSNEJBZ1FJRUNDd0pJRW9OS0xnT0h6NGNEcDQ4T0RzTFo0UEZpSkwyc2dpRjQ3QwpJaGNl
azVPVGFmMzY5Yk8zZUI1VHZHOGlRR0I1QlJRZ3krdHBiUVFJRUNCQWdNRHZCS0wzSUFxUUtEWU9I
RGlROXUvZm4vYnQyOWZkCjR2bWhRNGRtaTVCUm9PWGlZOTI2ZFduRGhnMXAwNlpOM1cxcWFxcDdu
bnRIOUlDTUlqdTIyYktBQXFUbDdHb2JBUUlFQ0JBWW9VQXUKUUtMbkk0cVBQWHYycEYyN2RuWDMw
OVBUWFZFU1JVZ1VLYU9Zb2dESnhjZVdMVnZTMXExYjAvYnQyN3RRY25HaUIyUVVtYkhOMWdVbQor
aDhPQ3g2eFBkOWZBbnE5cHhkdTlYZUZ4OWRTZU9jVjNoajd3dW9seUw2d2V0YWxiNm5zZldGaTR2
empBQmZ4OVhqY09zYjloWHphCjFkNjllOVB1M2J2VHpwMDcwem5uWEZBMHk0VVgzalB0MkxFamJk
dTJMVzNldkxrN0pTdWZqbFYwNElJalVKR0FFeHNyU3BaUUNSQWcKUUlCQVRRSlJ4TVU0aitnQmlW
T3ZvZ2VrOUNsaWpGZ2o1b2hkSVZwNnhzUlhvNEFDcE1hc2laa0FBUUlFQ0ZRZ0VBZnZnMk5Bb2ll
awo5Q2xpalBFcDBYc1RzU3RBU3MrWStHb1VVSURVbURVeEV5QkFnQUNCU2dSeUwwaU05WmlabVNr
KzZvZ3hENDVYZkJTZkxnRldLcUFBCnFUUnh3aVpBZ0FBQkFqVUk1RjZRZkNuZTBtTXU0ZkxBcFJ1
Smo4QlNCUlFnU3hVYzgrVUhMMUdZSDQ4NWllWlhKSkQzMmNIN2lzSVgKS29IaUJYSVB3bUFSVW5y
UWMzK2JKTGVoOUxqRlI2QW1BUVZJVGRrU0t3RUNCQWdRSUVDQUFJSEtCUlFnbFNkUStBUUlFQ0JB
Z0FBQgpBZ1JxRWxDQTFKUXRzUklnUUlBQUFRSUVDQkNvWEVBQlVua0NoVStBQUFFQ0JBZ1FJRUNn
SmdFRlNFM1pFaXNCQWdRSUVDQkFnQUNCCnlnVVVJSlVuVVBnRUNCQWdRSUFBQVFJRWFoSlFnTlNV
TGJFU0lFQ0FBQUVDQkFnUXFGeEFBVko1QW9WUGdBQUJBZ1FJRUNCQW9DWUIKQlVoTjJSSXJBUUlF
Q0JBZ1FJQUFnY29GRkNDVkoxRDRCQWdRSUVDQUFBRUNCR29TVUlEVWxDMnhFaUJBZ0FBQkFnUUlF
S2hjUUFGUwplUUtGVDRBQUFRSUVDQkFnUUtBbUFRVklUZGtTS3dFQ0JBZ1FJRUNBQUlIS0JSUWds
U2RRK0FRSUVDQkFnQUFCQWdScUVsQ0ExSlF0CnNSSWdRSUFBQVFJRUNCQ29YRUFCVW5rQ2hVK0FB
QUVDQkFnUUlFQ2dKZ0VGU0UzWkVpc0JBZ1FJRUNCQWdBQ0J5Z1VVSUpVblVQZ0UKQ0JBZ1FJQUFB
UUlFYWhKUWdOU1VMYkVTSUVDQUFBRUNCQWdRcUZ4QUFWSjVBb1ZQZ0FBQkFnUUlFQ0JBb0NZQkJV
aE4yUklyQVFJRQpDQkFnUUlBQWdjb0ZGQ0NWSjFENEJBZ1FJRUNBQUFFQ0JHb1NVSURVbEMyeEVp
QkFnQUFCQWdRSUVLaGNRQUZTZVFLRlQ0QUFBUUlFCkNCQWdRS0FtQVFWSVRka1NLd0VDQkFnUUlF
Q0FBSUhLQlJRZ2xTZFErQVFJRUNCQWdBQUJBZ1JxRWxDQTFKUXRzUklnUUlBQUFRSUUKQ0JDb1hF
QUJVbmtDaFUrQUFBRUNCQWdRSUVDZ0pnRUZTRTNaRWlzQkFnUUlFQ0JBZ0FDQnlnVVdWWUQwZXIw
MDkxYTVnL0FKRUNCQQpZSXdGNW42bnhYUFQwZ1VtSmlhNmxjVDltalZyMHRxMWE1ZSswaFZlUThR
WXNRN0d2c0tidEhvQ1l5ZXdxQUprN0pRMG1BQUJBZ1FJCkVGaVV3R0R4TVRrNXVhaDFyT1pDRWVQ
Y0ltUTF0MjliQk1aQlFBRXlEbG5XUmdJRUNCQWdNQ0tCS0VEaWdIN2R1blZwNDhhTkk0cGkKK00x
R2pCRnJ4Sng3UVlaZjJwd0VDQXdqb0FBWlJzazhCQWdRSUVDQXdJSUZjdTlIOUNwczJMQWhiZDY4
ZWNIcldPMEZJc2FJTldJZQpQQlZydGVPd1BRSXRDeWhBV3M2dXRoRWdRSUFBZ1JFSzVONlA5ZXZY
cDAyYk5xV3RXN2VPTUpyaE5oMHhScXdSczE2UTRjek1SV0NoCkFoUDlnWFpHMmkxVXpmeXpBcVYz
VDl1OVoxTlZ6QVA3VERHcEVBaUJGUmM0Y3VSSU9uejRjSnFabVVsNzkrNU5lL2JzU2J0MjdlcnUK
cDZlbjA0RURCOUtoUTRmUzBhTkhWenlXK1RZUVBSeHh1bFgwZUd6WnNxVXJrTFp2Mzk3ZFIwOUlu
STZWeDRUTXQ3elhDQkJZbkVENQpvOEVXMXk1TEVTQkFnQUFCQWlNV3lLZGdSVy9DMU5SVUYwMGM4
TWZCZlM0K29rZ1paUUdTeDZkRUVSSTlIM0dMV0NObXAyQ05lQWV5CitXWUZGQ0ROcGxiRENCQWdR
SURBYUFWeUFaTEhnTVFCZlQ0ZEszcEdjdkV4cXQ3cUhGOFVJUkZqeEpadnhvQ01kdCt4OWJZRkZD
QnQKNTFmckNCQWdRSURBU0FXaTZJZ3BEdmJqUUQ4TzhBY0xqMUVWSHhrbDRob3NSQ0xHaURuZjhu
enVDUkJZUGdGalFKYlBjaXpYRkIvYQpKVStqL21JcjJXWlVzZGxuUmlWdnV3UkdJNUEvaHdmdjQv
SGc4OUZFZG15citUTXA3dk10M2hsOGZaVHgyVGFCRmdVVUlDMW1WWnNJCkVDQkFnQUFCQWdRSUZD
cmdNcnlGSmtaWUJBZ1FJRUNBQUFFQ0JGb1VVSUMwbUZWdElrQ0FBQUVDQkFnUUlGQ29nQUtrME1R
SWl3QUIKQWdRSUVDQkFnRUNMQWdxUUZyT3FUUVFJRUNCQWdBQUJBZ1FLRlZDQUZKb1lZUkVnUUlB
QUFRSUVDQkJvVVVBQjBtSld0WWtBQVFJRQpDQkFnUUlCQW9RSUtrRUlUSXl3Q0JBZ1FJRUNBQUFF
Q0xRb29RRnJNcWpZUklFQ0FBQUVDQkFnUUtGUkFBVkpvWW9SRmdBQUJBZ1FJCkVDQkFvRVdCeWNV
MGFtSmk0cmpGZXIzZWNhOTVnUUFCQWdRSTFDRGdlNjJHTEltUkFJRldCUFNBdEpKSjdTQkFnQUFC
QWdRSUVDQlEKZ1lBQ3BJSWtDWkVBQVFJRUNCQWdRSUJBS3dJS2tGWXlxUjBFQ0JBZ1FJQUFBUUlF
S2hCUWdGU1FKQ0VTSUVDQUFBRUNCQWdRYUVWZwpvajk0M09qeFZyS3BIUVFJRUNCQWdBQUJBZ1FL
RjlBRFVuaUNoRWVBQUFFQ0JBZ1FJRUNnSlFFRlNFdloxQllDQkFnUUlFQ0FBQUVDCmhRc29RQXBQ
a1BBSUVDQkFnQUFCQWdRSXRDU2dBR2twbTlwQ2dBQUJBZ1FJRUNCQW9IQUJCVWpoQ1JJZUFRSUVD
QkFnUUlBQWdaWUUKRkNBdFpWTmJDQkFnUUlBQUFRSUVDQlF1b0FBcFBFSENJMENBQUFFQ0JBZ1FJ
TkNTZ0FLa3BXeHFDd0VDQkFnUUlFQ0FBSUhDQlJRZwpoU2RJZUFRSUVDQkFnQUFCQWdSYUVsQ0F0
SlJOYlNGQWdBQUJBZ1FJRUNCUXVJQUNwUEFFQ1k4QUFRSUVDQkFnUUlCQVN3SUtrSmF5CnFTMEVD
QkFnUUlBQUFRSUVDaGRRZ0JTZUlPRVJJRUNBQUFFQ0JBZ1FhRWxBQWRKU05yV0ZBQUVDQkFnUUlF
Q0FRT0VDQ3BEQ0V5UTgKQWdRSUVDQkFnQUFCQWkwSktFQmF5cWEyRUNCQWdBQUJBZ1FJRUNoY1FB
RlNlSUtFUjRBQUFRSUVDQkFnUUtBbEFRVklTOW5VRmdJRQpDQkFnUUlBQUFRS0ZDeWhBQ2srUThB
Z1FJRUNBQUFFQ0JBaTBKS0FBYVNtYjJrS0FBQUVDQkFnUUlFQ2djQUVGU09FSkVoNEJBZ1FJCkVD
QkFnQUNCbGdRVUlDMWxVMXNJRUNCQWdBQUJBZ1FJRkM2Z0FDazhRY0lqUUlBQUFRSUVDQkFnMEpL
QUFxU2xiR29MQVFJRUNCQWcKUUlBQWdjSUZGQ0NGSjBoNEJBZ1FJRUNBQUFFQ0JGb1NVSUMwbEUx
dElVQ0FBQUVDQkFnUUlGQzRnQUtrOEFRSmp3QUJBZ1FJRUNCQQpnRUJMQWdxUWxyS3BMUVFJRUNC
QWdBQUJBZ1FLRjFDQUZKNGc0UkVnUUlBQUFRSUVDQkJvU1VBQjBsSTJ0WVVBQVFJRUNCQWdRSUJB
CjRRSUtrTUlUSkR3Q0JBZ1FJRUNBQUFFQ0xRa29RRnJLcHJZUUlFQ0FBQUVDQkFnUUtGeEFBVko0
Z29SSGdBQUJBZ1FJRUNCQW9DVUIKQlVoTDJkUVdBZ1FJRUNCQWdBQUJBb1VMS0VBS1Q1RHdDQkFn
UUlBQUFRSUVDTFFrb0FCcEtadmFRb0FBQVFJRUNCQWdRS0J3QVFWSQo0UWtTSGdFQ0JBZ1FJRUNB
QUlHV0JCUWdMV1ZUV3dnUUlFQ0FBQUVDQkFnVUxxQUFLVHhCd2lOQWdBQUJBZ1FJRUNEUWtzQmtT
NDNSCmx0VVhtSmlZT0c2anZWN3Z1TmU4UUtCRUFmdHZpVmtSRXdFQ0JBaTBMcUFIcFBVTWF4OEJB
Z1FJRUNCQWdBQ0JnZ1FVSUFVbFF5Z0UKQ0JBZ1FJQUFBUUlFV2hkUWdMU2VZZTBqUUlBQUFRSUVD
QkFnVUpDQUFxU2daQWlGQUFFQ0JBZ1FJRUNBUU9zQ0UvMEJ3MFlNdDU1bAo3U05BZ0FBQkFnUUlF
Q0JRaUlBZWtFSVNJUXdDQkFnUUlFQ0FBQUVDNHlDZ0FCbUhMR3NqQVFJRUNCQWdRSUFBZ1VJRUZD
Q0ZKRUlZCkJBZ1FJRUNBQUFFQ0JNWkJRQUV5RGxuV1JnSUVDQkFnUUlBQUFRS0ZDQ2hBQ2ttRU1B
Z1FJRUNBQUFFQ0JBaU1nNEFDWkJ5eXJJMEUKQ0JBZ1FJQUFBUUlFQ2hGUWdCU1NDR0VRSUVDQUFB
RUNCQWdRR0FjQkJjZzRaRmtiQ1JBZ1FJQUFBUUlFQ0JRaW9BQXBKQkhDSUVDQQpBQUVDQkFnUUlE
QU9BcE9MYWVUWlo1KzltTVZXYlptTExycG8xYlpsUXdRSUVDQ3dPQUhmSll0enEyMnBYcS9YaFR4
NG54L0hHNE9QClI5RzJpWW1KMmMzRzQveDg3djNzVEI0UUlMQmtnVVVWSUV2ZXFoVVFJRUNBQUFF
Q3pRdms0dUxvMGFOZG9SSDNjVHR5NUVqM1BON1AKODR3S0l4Y2RjYjkyN2RxMFpzMmE3aGJQNDNI
RWw0dVJVY1ZvdXdSYUUxQ0F0SlpSN1NGQWdBQUJBZ1VKREJZZGh3NGRTdmtXUlVoKwpiMVJGU0M0
eW90Q0k0bVBkdW5XenQzZ2VVN3huSWtCZ2VRVVVJTXZyYVcwRUNCQWdRSURBN3dSeUQwY1VHNWRl
ZW1rNmNPQkFtcG1aCjZlN2orZUhEaDJlTGtGR2c1ZDZPeWNuSmROcHBwNlVOR3pha2pSczNkdmZ4
UEFvVVBTQ2p5SXh0dGk2Z0FHazl3OXBIZ0FBQkFnUkcKSkJBSDc5SExFYjBlVVh4TVQwK25TeTY1
cEx2ZnYzOS9WNVJFRVRMS0hwQmNmRXhOVGFVdFc3YWswMDgvdmRQS3hZblRyMGEwODlocwowd0xM
Vm9CY2RORWpDb0w2eDNsaStmTjVYdlBTeWdqTTU3OHlXMXJjV3UwTGkzTmJ6RkwyaGNXb3Ribk04
ZnRDU2Q4Ylo1LzlwamJaClI5eXF3UUlrZWo2aStEanJyTStQT0txVGIvN2lpMitYb2lqSnAyTTVC
ZXZrWHQ0bHNCZ0JKell1UnMweUJBZ1FJRUNBd0ZBQ2NmclYKWUEvSVVBdU5jS2JvcFluZW1vZzVZ
amNSSUxEOEFncVE1VGUxUmdJRUNCQWdRS0F2RUQwZ2NjdGpRS0lYcFBRcFlvenhLUkZ6anIvMApt
TVZIb0RZQkJVaHRHUk12QVFJRUNCQ29TQ0NmaGhWalBhSm5vZlFwWXN5RDR5TjJFd0VDeXkrZ0FG
bCtVMnNrUUlBQUFRSUVmaWVRCkM1RDgreCtsdzBUUHg2Z3ZEMXk2a2ZnSUxGVmcyUWFoTHpVUXk5
Y3BNTjh2R1pjMHNMUk9WVkd2bHNEOCsrOUZxN1Y1MnlIUXZFRHUKUVJnc1FrcHY5TnppSTdlaDlM
akZSNkFtQVQwZ05XVkxyQVFJRUNCQWdBQUJBZ1FxRjFDQVZKNUE0Uk1nUUlBQUFRSUVDQkNvU1VB
QgpVbE8yeEVxQUFBRUNCQWdRSUVDZ2NnRUZTT1VKRkQ0QkFnUUlFQ0JBZ0FDQm1nUVVJRFZsUzZ3
RUNCQWdRSUFBQVFJRUtoZFFnRlNlClFPRVRJRUNBQUFFQ0JBZ1FxRWxBQVZKVHRzUktnQUFCQWdR
SUVDQkFvSElCQlVqbENSUStBUUlFQ0JBZ1FJQUFnWm9FRkNBMVpVdXMKQkFnUUlFQ0FBQUVDQkNv
WFVJQlVua0RoRXlCQWdBQUJBZ1FJRUtoSlFBRlNVN2JFU29BQUFRSUVDQkFnUUtCeUFRVkk1UWtV
UGdFQwpCQWdRSUVDQUFJR2FCQlFnTldWTHJBUUlFQ0JBZ0FBQkFnUXFGMUNBVko1QTRSTWdRSUFB
QVFJRUNCQ29TVUFCVWxPMnhFcUFBQUVDCkJBZ1FJRUNnY2dFRlNPVUpGRDRCQWdRSUVDQkFnQUNC
bWdRVUlEVmxTNndFQ0JBZ1FJQUFBUUlFS2hkUWdGU2VRT0VUSUVDQUFBRUMKQkFnUXFFbEFBVkpU
dHNSS2dBQUJBZ1FJRUNCQW9ISUJCVWpsQ1JRK0FRSUVDQkFnUUlBQWdab0VGQ0ExWlV1c0JBZ1FJ
RUNBQUFFQwpCQ29YVUlCVW5rRGhFeUJBZ0FBQkFnUUlFS2hKUUFGU1U3YkVTb0FBQVFJRUNCQWdR
S0J5QVFWSTVRa1VQZ0VDQkFnUUlFQ0FBSUdhCkJCUWdOV1ZMckFRSUVDQkFnQUFCQWdRcUYxQ0FW
SjVBNFJNZ1FJQUFBUUlFQ0JDb1NVQUJVbE8yeEVxQUFBRUNCQWdRSUVDZ2NnRUYKU09VSkZENEJB
Z1FJRUNCQWdBQ0JtZ1FVSURWbFM2d0VDQkFnUUlBQUFRSUVLaGVZWEV6OEYxMTAwVHlML2VNOHIz
bUpBQUVDQkFpVQpMekQvOTFyNWNaY2U0Y1RFUkJkaTNLOVpzNmE3bFI1empuTXc5dEpqRmgrQjJn
VDBnTlNXTWZFU0lFQ0FBSUdLQkFhTGo3VnIxeFlmCmVjUTR0d2dwUG1nQkVxaE1RQUZTV2NLRVM0
QUFBUUlFYWhMSUJjams1R1Rhc0dGRDhhRkhqQkZyRkNHNUY2VDRvQVZJb0RJQkJVaGwKQ1JNdUFR
SUVDQkNvUlNBTzRPTVd2UXFublhaYTJyaHhZL0doUjR3UmE4U2M0eTgrYUFFU3FFeEFBVkpad29S
TGdBQUJBZ1JxRW9nRAorWFhyMW5XOUgxdTJiQ2srOUlneGVrRWk1b2pkUklEQThndE05UHJUOHEv
V0dzZEY0T3l6enk2NnFRYVdscGNlKzB4NU9SRVJnWlVTCk9ITGtTSXJicFpkZW12YnYzNSttcDZm
VEpaZGMwdDNIODNqOThPSERhVlNISXRIREVhZGJSWS9IMU5SVWl1TGo5Tk5QNys3amVlNEoKVVlp
czFCNWl2ZU1xc0tpcllJMHJsbllUSUVDQUFBRUN3d3ZFQVg2TXBjZzlJTEZrSFBESHdYMHVQbzRl
UFpyaU5vb3BEemJQUlVqMApmTVFwV0xrSHhEaVFVV1RGTnNkQlFBRXlEbG5XUmdJRUNCQWdNQUtC
UElZaWVoQ2lOeUVYSTNHUUh6MGp1ZmdZWlE5SUxrTHlxV0pSCkxPWFRyM0w4STZDelNRSk5DeWhB
bWs2dnhoRWdRSUFBZ2RFS3hBRitUSU85SVZGOFJOR1JiNk9NTUJjWmNSOUZTQzVJY3J5ampNMjIK
Q2JRcW9BQnBOYlBhUllBQUFRSUVSaXdRQi9GUlpNUkIvZUI5blBLVXAzaDlsRlBFbUtkNG5KL1B2
Yy96dUNkQVlPa0NpeHFFbnY5VApMbjN6SzdPR1VYK1lyVXlyckpVQUFRSnRDZmd1YVN1ZkoycE4v
azRldkkvSGc4OVB0T3hxdko3M3c3alB0OWp1NE91ckVZZHRFQmduCmdmLzdFOFE0dFZwYkNSQWdR
SUFBZ1JVWHlFVkdIdXNSOS9uS1dQRjRzQkJaOFdCT3NJRmNkRVF2VFp5Q05YZ2FWdTY1eWNYSUNW
YmgKWlFJRUZpaWdBRmtnbU5rSkVDQkFnQUNCNFFWeTBSR1gyejE0OE9Ec0xaN25nZWk1VUJsK3Jj
c3paeFFXdWZDSTA4TFdyMTgvZTh1bgppY1g3SmdJRWxsZEFBYks4bnRaR2dBQUJBZ1FJL0U0Z0Nv
c29RS0xZT0hEZ1FQZGJJUHYyN1V0eGkrZUhEaDJhTFVKR2daYUxqM3laCjRFMmJOcVc0eFdXQzQx
Szh1WGRFRDhnb3NtT2JMUXNvUUZyT3JyWVJJRUNBQUlFUkN1UUNKSG8rNG9jSDkrelprM2J0MnRY
ZHg0OFMKNWlJa2lwUlJURkdBNU9JamZvUnc2OWF0YWZ2MjdWMG91VGpSQXpLS3pOaG02d0xMTmdp
OTEzdDY0VlovVjNoOExZVjNYdUdOc1MrcwpYb0xzQzZ0blhmcVd5dDRYSmliT1B3NXdWS2NGSFJk
SXhTL2swNjcyN3QyYmR1L2VuWGJ1M0puT09lZUNvbHQwNFlYM1REdDI3RWpiCnRtMUxtemR2N2s3
SnlxZGpGUjI0NEFoVUpPREV4b3FTSlZRQ0JBZ1FJRkNUUUJSeE1jNGpla0RpdEt2b0FTbDlpaGdq
MW9nNS8xNUoKNlRHTGowQnRBZ3FRMmpJbVhnSUVDQkFnVUlsQVBnVXJqd0dKbnBEU3A0Z3hUZzJM
bVBPVnVrcVBXWHdFYWhOUWdOU1dNZkVTSUVDQQpBSUdLQkhJdlNBdzRuNW1aS1Q3eWlERVBqbmNh
WHZIcEVtQ2xBZ3FRU2hNbmJBSUVDQkFnVUlOQTdnV0owNW1pVjZIMEtXSWM5ZVdCClN6Y1NINEds
Q2loQWxpbzQ1c3NQWHFJd1B4NXpFczJ2U0NEdnM0UDNGWVV2VkFMRkMrUWVoTUVpcFBTZzV4WWZ1
UTJseHkwK0FqVUoKS0VCcXlwWllDUkFnUUlBQUFRSUVDRlF1b0FDcFBJSENKMENBQUFFQ0JBZ1FJ
RkNUZ0FLa3BteUpsUUFCQWdRSUVDQkFnRURsQWdxUQp5aE1vZkFJRUNCQWdRSUFBQVFJMUNTaEFh
c3FXV0FrUUlFQ0FBQUVDQkFoVUxxQUFxVHlCd2lkQWdBQUJBZ1FJRUNCUWs0QUNwS1pzCmlaVUFB
UUlFQ0JBZ1FJQkE1UUlLa01vVEtId0NCQWdRSUVDQUFBRUNOUWtvUUdyS2xsZ0pFQ0JBZ0FBQkFn
UUlWQzZnQUtrOGdjSW4KUUlBQUFRSUVDQkFnVUpPQUFxU21iSW1WQUFFQ0JBZ1FJRUNBUU9VQ0Nw
REtFeWg4QWdRSUVDQkFnQUFCQWpVSktFQnF5cFpZQ1JBZwpRSUFBQVFJRUNGUXVvQUNwUElIQ0ow
Q0FBQUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdFRGxBZ3FReWhNb2ZBSUVDQkFnClFJ
QUFBUUkxQ1NoQWFzcVdXQWtRSUVDQUFBRUNCQWhVTHFBQXFUeUJ3aWRBZ0FBQkFnUUlFQ0JRazRB
Q3BLWnNpWlVBQVFJRUNCQWcKUUlCQTVRSUtrTW9US0h3Q0JBZ1FJRUNBQUFFQ05Ra29RR3JLbGxn
SkVDQkFnQUFCQWdRSVZDNmdBS2s4Z2NJblFJQUFBUUlFQ0JBZwpVSk9BQXFTbWJJbVZBQUVDQkFn
UUlFQ0FRT1VDQ3BES0V5aDhBZ1FJRUNCQWdBQUJBalVKS0VCcXlwWllDUkFnUUlBQUFRSUVDRlF1
Cm9BQ3BQSUhDSjBDQUFBRUNCQWdRSUZDVGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbEFncVF5aE1v
ZkFJRUNQRGVRLzhBQUNBQVNVUkIKVkJBZ1FJQUFBUUkxQ1NoQWFzcVdXQWtRSUVDQUFBRUNCQWhV
THJDb0FxVFg2Nlc1dDhvZGhFK0FBQUVDWXl3dzl6c3RucHVXTGpBeApNZEd0Sk83WHJGbVQxcTVk
dS9TVnJ2QWFJc2FJZFREMkZkNmsxUk1ZTzRGRkZTQmpwNlRCQkFnUUlFQ0F3S0lFQm91UHljbkpS
YTFqCk5SZUtHT2NXSWF1NWZkc2lNQTRDQ3BCeHlMSTJFaUJBZ0FDQkVRbEVBUklIOU92V3JVc2JO
MjRjVVJURGJ6WmlqRmdqNXR3TE12elMKNWlSQVlCZ0JCY2d3U3VZaFFJQUFBUUlFRml5UWV6K2lW
MkhEaGcxcDgrYk5DMTdIYWk4UU1VYXNFZlBncVZpckhZZnRFV2haUUFIUwpjbmExalFBQkFnUUlq
RkFnOTM2c1g3OCtiZHEwS1czZHVuV0UwUXkzNllneFlvMlk5WUlNWjJZdUFnc1ZtT2dQdERQU2Jx
RnE1cDhWCktMMTcydTQ5bTZwaUh0aG5pa21GUUFpc3VNQ1JJMGZTNGNPSDA4ek1UTnE3ZDIvYXMy
ZFAyclZyVjNjL1BUMmREaHc0a0E0ZE9wU08KSGoyNjRySE10NEhvNFlqVHJhTEhZOHVXTFYyQnRI
Mzc5dTQrZWtMaWRLdzhKbVMrNWIxR2dNRGlCTW9mRGJhNGRsbUtBQUVDQkFnUQpHTEZBUGdVcmVo
T21wcWE2YU9LQVB3N3VjL0VSUmNvb0M1QThQaVdLa09qNWlGdkVHakU3Qld2RU81RE5OeXVnQUdr
MnRScEdnQUFCCkFnUkdLNUFMa0R3R0pBN284K2xZMFRPU2k0OVI5VmJuK0tJSWlSZ2p0bnd6Qm1T
MCs0NnR0eTJnQUdrN3YxcEhnQUFCQWdSR0toQkYKUjB4eHNCOEgrbkdBUDFoNGpLcjR5Q2dSMTJB
aEVqRkd6UG1XNTNOUGdNRHlDUmdEc255V1k3bW0rTkF1ZVJyMUYxdkpOcU9LelQ0egpLbm5iSlRB
YWdmdzVQSGdmandlZmp5YXlZMXZObjBseG4yL3h6dURybzR6UHRnbTBLTENvSHBEOG43SlVrUHlo
Vm1wOExjWEZ1cVZzCnJrNWI3RE9yNDF6RFZueVgxSkFsTVJJZ1FHRDVCUlpWZ0N4L0dOWklnQUFC
QWdRSXRDYVEvK0FRZzh6ekxVNi9xdWtVckdoRDZjVnkKYS91TjlyUXZvQUJwUDhkYVNJQUFBUUlF
UmlZUWhVY1VIREhvL09EQmc3TzNHZ2FoQjFvZXd6SXlRQnNtMEtDQUFxVEJwR29TQVFJRQpDQkFv
UVNCNkQ2SUFpV0lqTHJ1N2YvLyt0Ry9mdnU1VyttVjQ0N0s4MGZPUmJ5VjRpb0ZBS3dJS2tGWXlx
UjBFQ0JBZ1FLQXdnVnlBClJNOUhGQisxL0JCaE1FYlBSNzRpVm1Hc3dpRlF2Y0Npcm9JMTM3bVF2
ZDdUQzhmNHU4TGpheW04OHdwdmpIMWg5UkprWDFnOTY5SzMKVlBhK01ERngvbkdBZWZ6Q2NXOTRZ
V2lCZk5wVi9BcjY3dDI3MDg2ZE85TTU1MXd3OVBLam1QSENDKytaZHV6WWtiWnQyOWI5WUdKYwpO
amgrRThSRWdNRHlDUnk3T1BmeXJjK2FDQkFnUUlBQUFRS2RRQlJ4TWY0amVrRGkxS3ZvQVNsOWlo
Z2oxb2c1WWxlSWxwNHg4ZFVvCm9BQ3BNV3RpSmtDQUFBRUNGUWprVTdEeUdKRG9DU2w5aWhoamZF
ckVIT05YRkNDbFoweDhOUW9vUUdyTW1wZ0pFQ0JBZ0VBbEFya1gKNU5DaFEybG1acWI0cUNQR2lG
WHZSL0dwRW1ERkFncVFpcE1uZEFJRUNCQWdVTHBBN2dYSmwrSXRQZDdvK1loWTlYNlVuaW54MVN5
ZwpBS2s1ZXdYRW5pOVBPSGhmUUZoQ0lEQ1V3T0IrbXg4UHRhQ1pDQkFZU2lDZnZqUlloQXkxNEFo
bm1sdDg1RGFNTUNTYkp0Q2NnQUtrCnVaUnFFQUVDQkFnUUlFQ0FBSUZ5QlJRZzVlWkdaQVFJRUNC
QWdBQUJBZ1NhRTFDQU5KZFNEU0pBZ0FBQkFnUUlFQ0JRcm9BQ3BOemMKaUl3QUFRSUVDQkFnUUlC
QWN3SUtrT1pTcWtFRUNCQWdRSUFBQVFJRXloVlFnSlNiRzVFUklFQ0FBQUVDQkFnUWFFNUFBZEpj
U2pXSQpBQUVDQkFnUUlFQ0FRTGtDQ3BCeWN5TXlBZ1FJRUNCQWdBQUJBczBKS0VDYVM2a0dFU0JB
Z0FBQkFnUUlFQ2hYUUFGU2JtNUVSb0FBCkFRSUVDQkFnUUtBNUFRVkljeW5WSUFJRUNCQWdRSUFB
QVFMbENpaEF5czJOeUFnUUlFQ0FBQUVDQkFnMEo2QUFhUzZsR2tTQUFBRUMKQkFnUUlFQ2dYQUVG
U0xtNUVSa0JBZ1FJRUNCQWdBQ0I1Z1FVSU0ybFZJTUlFQ0JBZ0FBQkFnUUlsQ3VnQUNrM055SWpR
SUFBQVFJRQpDQkFnMEp5QUFxUzVsR29RQVFJRUNCQWdRSUFBZ1hJRkZDRGw1a1prQkFnUUlFQ0FB
QUVDQkpvVFVJQTBsMUlOSWtDQUFBRUNCQWdRCklGQ3VnQUtrM055SWpBQUJBZ1FJRUNCQWdFQnpB
Z3FRNWxLcVFRUUlFQ0JBZ0FBQkFnVEtGVkNBbEpzYmtSRWdRSUFBQVFJRUNCQm8KVGtBQjBseEtO
WWdBQVFJRUNCQWdRSUJBdVFJS2tISnpJeklDQkFnUUlFQ0FBQUVDelFrb1FKcExxUVlSSUVDQUFB
RUNCQWdRS0ZkQQpBVkp1YmtSR2dBQUJBZ1FJRUNCQW9Ea0JCVWh6S2RVZ0FnUUlFQ0JBZ0FBQkF1
VUtLRURLelkzSUNCQWdRSUFBQVFJRUNEUW5vQUJwCkxxVWFSSUFBQVFJRUNCQWdRS0JjZ1VVVklM
MWVMODI5bGR0RWtSRWdRSUFBZ1pNTHpQMU9pK2VtcFF0TVRFeDBLNG43Tld2V3BMVnIKMXk1OXBT
dThob2d4WWgyTWZZVTNhZlVFeGs1Z1VRWEkyQ2xwTUFFQ0JBZ1FJTEFvZ2NIaVkzSnljbEhyV00y
RklzYTVSY2hxYnQrMgpDSXlEZ0FKa0hMS3NqUVFJRUNCQVlFUUNVWURFQWYyNmRldlN4bzBiUnhU
RjhKdU5HQ1BXaURuM2dneS90RGtKRUJoR1FBRXlqSko1CkNCQWdRSUFBZ1FVTDVONlA2RlhZc0dG
RDJyeDU4NExYc2RvTFJJd1JhOFE4ZUNyV2FzZGhld1JhRmxDQXRKeGRiU05BZ0FBQkFpTVUKeUww
ZjY5ZXZUNXMyYlVwYnQyNGRZVFREYlRwaWpGZ2pacjBndzVtWmk4QkNCU2I2QSsyTXRGdW9tdmxu
QlVydm5yWjd6NmFxbUFmMgptV0pTSVJBQ0t5NXc1TWlSZFBqdzRUUXpNNVAyN3QyYjl1elprM2J0
MnRYZFQwOVBwd01IRHFSRGh3NmxvMGVQcm5nczgyMGdlamppCmRLdm84ZGl5WlV0WElHM2Z2cjI3
ajU2UU9CMHJqd21aYjNtdkVTQ3dPSUh5UjRNdHJsMldJa0NBQUFFQ0JFWXNrRS9CaXQ2RXFhbXAK
THBvNDRJK0QrMXg4UkpFeXlnSWtqMCtKSWlSNlB1SVdzVWJNVHNFYThRNWs4ODBLS0VDYVRhMkdF
U0JBZ0FDQjBRcmtBaVNQQVlrRAorbnc2VnZTTTVPSmpWTDNWT2I0b1FpTEdpQzNmakFFWjdiNWo2
MjBMS0VEYXpxL1dFU0JBZ0FDQmtRcEUwUkZUSE96SGdYNGM0QThXCkhxTXFQakpLeERWWWlFU01F
WE8rNWZuY0V5Q3dmQUxHZ0N5ZjVWaXVLVDYwUzU1Ry9jVldzczJvWXJQUGpFcmVkZ21NUmlCL0Rn
L2UKeCtQQjU2T0o3TmhXODJkUzNPZGJ2RFA0K2lqanMyMENMUW9vUUZyTXFqWVJJRUNBQUFFQ0JB
Z1FLRlRBWlhnTFRZeXdDQkFnUUlBQQpBUUlFQ0xRb29BQnBNYXZhUklBQUFRSUVDQkFnUUtCUUFR
VklvWWtSRmdFQ0JBZ1FJRUNBQUlFV0JSUWdMV1pWbXdnUUlFQ0FBQUVDCkJBZ1VLcUFBS1RReHdp
SkFnQUFCQWdRSUVDRFFvb0FDcE1Xc2FoTUJBZ1FJRUNCQWdBQ0JRZ1VVSUlVbVJsZ0VDQkFnUUlB
QUFRSUUKV2hSUWdMU1lWVzBpUUlBQUFRSUVDQkFnVUtpQUFxVFF4QWlMQUFFQ0JBZ1FJRUNBUUlz
Q2s0dHAxTVRFeEdJV1c3VmxlcjNlcW0zTApoZ2dRSUVCZ2NRSytTeGJuVnR0UytUdDU4RDRlRHo0
ZlpadnlmaGozK1JieERMNCt5dmhzbTBDTEFvc3FRRnFFMENZQ0JBZ1FJRUJnCmVRVnlrWEgwNk5H
VWIwZU9IRWx4aStlRGhjanlibm40dGVXaVk4MmFOV250MnJYZExSN25XOFNZaTVIaDEycE9BZ1JP
SnFBQU9abU8KOXdnUUlFQ0FBSUVsQ1VTaEVRWEg0Y09IMDhHREIyZHY4WHl3RUZuU1JoYTVjQlFX
dWZDWW5KeE02OWV2bjczRjg1amlmUk1CQXNzcgpvQUJaWGs5ckkwQ0FBQUVDQkg0bkVMMEhVWUJF
c1hIZ3dJRzBmLy8rdEcvZnZ1NFd6dzhkT2pSYmhJd0NMUmNmNjlhdFN4czJiRWliCk5tM3FibE5U
VTkzejNEdWlCMlFVMmJITmxnVVVJQzFuVjlzSUVDQkFnTUFJQlhJQkVqMGZVWHpzMmJNbjdkcTFx
N3VmbnA3dWlwSW8KUXFKSUdjVVVCVWd1UHJaczJaSzJidDJhdG0vZjNvV1NpeE05SUtQSWpHMjJM
akRSLzNCWThJanQrZjRTME9zOXZYQ3J2eXM4dnBiQwpPNi93eHRnWFZpOUI5b1hWc3k1OVMyWHZD
eE1UNXg4SHVJaXZ4K1BXTWU0djVOT3U5dTdkbTNidjNwMTI3dHlaempubmdxSlpMcnp3Cm5tbkhq
aDFwMjdadGFmUG16ZDBwV2ZsMHJLSURGeHlCaWdTYzJGaFJzb1JLZ0FBQkFnUnFFb2dpTHNaNVJB
OUluSG9WUFNDbFR4RmoKeEJveFIrd0swZEl6SnI0YUJSUWdOV1pOekFRSUVDQkFvQUtCT0hnZkhB
TVNQU0dsVHhGampFK0ozcHVJWFFGU2VzYkVWNk9BQXFURwpySW1aQUFFQ0JBaFVJcEI3UVdLc3g4
ek1UUEZSUjR4NWNMemlvL2gwQ2JCU0FRVklwWWtUTmdFQ0JBZ1FxRUVnOTRMa1MvR1dIbk1KCmx3
Y3UzVWg4QkpZcW9BQlpxdUNZTHo5NGljTDhlTXhKTkw4aWdielBEdDVYRkw1UUNSUXZrSHNRQm91
UTBvT2UrOXNrdVEybHh5MCsKQWpVSktFQnF5cFpZQ1JBZ1FJQUFBUUlFQ0ZRdW9BQ3BQSUhDSjBD
QUFBRUNCQWdRSUZDVGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbApBZ3FReWhNb2ZBSUVDQkFnUUlB
QUFRSTFDU2hBYXNxV1dBa1FJRUNBQUFFQ0JBaFVMcUFBcVR5QndpZEFnQUFCQWdRSUVDQlFrNEFD
CnBLWnNpWlVBQVFJRUNCQWdRSUJBNVFJS2tNb1RLSHdDQkFnUUlFQ0FBQUVDTlFrb1FHcktsbGdK
RUNCQWdBQUJBZ1FJVkM2Z0FLazgKZ2NJblFJQUFBUUlFQ0JBZ1VKT0FBcVNtYkltVkFBRUNCQWdR
SUVDQVFPVUNDcERLRXloOEFnUUlFQ0JBZ0FBQkFqVUpLRUJxeXBaWQpDUkFnUUlBQUFRSUVDRlF1
b0FDcFBJSENKMENBQUFFQ0JBZ1FJRkNUZ0FLa3BteUpsUUFCQWdRSUVDQkFnRURsQWdxUXloTW9m
QUlFCkNCQWdRSUFBQVFJMUNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxxQUFxVHlCd2lkQWdBQUJB
Z1FJRUNCUWs0QUNwS1pzaVpVQUFRSUUKQ0JBZ1FJQkE1UUlLa01vVEtId0NCQWdRSUVDQUFBRUNO
UWtvUUdyS2xsZ0pFQ0JBZ0FBQkFnUUlWQzZnQUtrOGdjSW5RSUFBQVFJRQpDQkFnVUpPQUFxU21i
SW1WQUFFQ0JBZ1FJRUNBUU9VQ0NwREtFeWg4QWdRSUVDQkFnQUFCQWpVSktFQnF5cFpZQ1JBZ1FJ
QUFBUUlFCkNGUXVvQUNwUElIQ0owQ0FBQUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdF
RGxBZ3FReWhNb2ZBSUVDQkFnUUlBQUFRSTEKQ1NoQWFzcVdXQWtRSUVDQUFBRUNCQWhVTHJDb0Fx
VFg2Nlc1dDhvZGhFK0FBQUVDWXl3dzl6c3RucHVXTGpBeE1kR3RKTzdYckZtVAoxcTVkdS9TVnJ2
QWFJc2FJZFREMkZkNmsxUk1ZTzRGRkZTQmpwNlRCQkFnUUlFQ0F3S0lFQm91UHljbkpSYTFqTlJl
S0dPY1dJYXU1CmZkc2lNQTRDQ3BCeHlMSTJFaUJBZ0FDQkVRbEVBUklIOU92V3JVc2JOMjRjVVJU
RGJ6WmlqRmdqNXR3TE12elM1aVJBWUJnQkJjZ3cKU3VZaFFJQUFBUUlFRml5UWV6K2lWMkhEaGcx
cDgrYk5DMTdIYWk4UU1VYXNFZlBncVZpckhZZnRFV2haUUFIU2NuYTFqUUFCQWdRSQpqRkFnOTM2
c1g3OCtiZHEwS1czZHVuV0UwUXkzNllneFlvMlk5WUlNWjJZdUFnc1ZtT2dQdERQU2JxRnE1cDhW
S0wxNzJ1NDltNnBpCkh0aG5pa21GUUFpc3VNQ1JJMGZTNGNPSDA4ek1UTnE3ZDIvYXMyZFAyclZy
VjNjL1BUMmREaHc0a0E0ZE9wU09IajI2NHJITXQ0SG8KNFlqVHJhTEhZOHVXTFYyQnRIMzc5dTQr
ZWtMaWRLdzhKbVMrNWIxR2dNRGlCTW9mRGJhNGRsbUtBQUVDQkFnUUdMRkFQZ1VyZWhPbQpwcWE2
YU9LQVB3N3VjL0VSUmNvb0M1QThQaVdLa09qNWlGdkVHakU3Qld2RU81RE5OeXVnQUdrMnRScEdn
QUFCQWdSR0s1QUxrRHdHCkpBN284K2xZMFRPU2k0OVI5VmJuK0tJSWlSZ2p0bnd6Qm1TMCs0NnR0
eTJnQUdrN3YxcEhnQUFCQWdSR0toQkZSMHh4c0I4SCtuR0EKUDFoNGpLcjR5Q2dSMTJBaEVqRkd6
UG1XNTNOUGdNRHlDUmdEc255V1k3bW0rTkF1ZVJyMUYxdkpOcU9LelQ0ektubmJKVEFhZ2Z3NQpQ
SGdmandlZmp5YXlZMXZObjBseG4yL3h6dURybzR6UHRnbTBLS0FBYVRHcjJrU0FBQUVDQkFnUUlF
Q2dVQUdYNFMwME1jSWlRSUFBCkFRSUVDQkFnMEtLQUFxVEZyR29UQVFJRUNCQWdRSUFBZ1VJRkZD
Q0ZKa1pZQkFnUUlFQ0FBQUVDQkZvVVVJQzBtRlZ0SWtDQUFBRUMKQkFnUUlGQ29nQUtrME1RSWl3
QUJBZ1FJRUNCQWdFQ0xBZ3FRRnJPcVRRUUlFQ0JBZ0FBQkFnUUtGVkNBRkpvWVlSRWdRSUFBQVFJ
RQpDQkJvVVVBQjBtSld0WWtBQVFJRUNCQWdRSUJBb1FJS2tFSVRJeXdDQkFnUUlFQ0FBQUVDTFFv
b1FGck1xallSSUVDQUFBRUNCQWdRCktGUkFBVkpvWW9SRmdBQUJBZ1FJRUNCQW9FVUJCVWlMV2RV
bUFnUUlFQ0JBZ0FBQkFvVUtLRUFLVFl5d0NCQWdRSUFBQVFJRUNMUW8Kb0FCcE1hdmFSSUFBQVFJ
RUNCQWdRS0JRQVFWSW9Za1JGZ0VDQkFnUUlFQ0FBSUVXQlJRZ0xXWlZtd2dRSUVDQUFBRUNCQWdV
S3FBQQpLVFF4d2lKQWdBQUJBZ1FJRUNEUW9vQUNwTVdzYWhNQkFnUUlFQ0JBZ0FDQlFnVVVJSVVt
UmxnRUNCQWdRSUFBQVFJRVdoU1liS0ZSCkV4TVRSVGFqMStzVkdaZWdDQkFnUU9CNEFkOGx4NXUw
K0VyK2JoNjhqOGVEejBmUjdyei94WDIrUlJ5RHI0OGlMdHNrc0JJQ1RSUWcKS3dGam5RUUlFQ0JB
Z0VCYkFybklPSHIwYU1xM0kwZU9wTGpGODhGQ1pMVmJub3VPTld2V3BMVnIxM2EzZUp4dkVWc3VS
bFk3TnRzagpzTndDQ3BEbEZyVStBZ1FJRUNCQW9GaUJLRFNpNERoOCtIQTZlUERnN0MyZUR4WWlx
OW1BS0N4eTRURTVPWm5XcjE4L2U0dm5NY1g3CkpnS3RDQ2hBV3Nta2RoQWdRSUFBQVFJbkZZaGVo
Q2hBb3RnNGNPQkEycjkvZjlxM2IxOTNpK2VIRGgyYUxVSk91cUpsZmpNWEgrdlcKclVzYk5teElt
elp0Nm01VFUxUGQ4OXc3b2dka21lR3RibVFDQ3BDUjBkc3dBUUlFQ0JBZ3NKb0N1UUNKbm84b1B2
YnMyWk4yN2RyVgozVTlQVDNkRlNSUWhVYVNzNWhRRlNDNCt0bXpaa3JadTNacTJiOS9laFpDTEV6
MGdxNWtSMjFwcGdXWUxrUGlRTVJFZ1FJQUFnV0VGClN2amU4QmZ1WWJPMXVQa2l4M0dhVlJRZzBm
TVJ4Y2M1NTV5enVKV3Q4RklYWG5oaFY1VGswN0ZpWElpSlFDc0NUaWhzSlpQYVFZQUEKQVFJRUNK
eFVZRzRCRWowZ3BVNFJXeFJKVVN4RjBWUkNnVnlxbGJqcUUyaTZBUG50YjMrYnZ2Lzk3MWVYbGZp
ZytjNTN2ak4wM0pkZQplbW42L09jL1AvVDg0emlqZldFY3N6NS9tKzBMODd1TTQ2djJoZkhMZWh6
RUQ0NEIyYnQzYjRkUTRyNFFzY1c0bEJpdkVqSFBWNEE0ClhoaS9mYmlWRnAreUFIblh1OTZWYm5D
REczU1hmcnZUbmU2VVB2YXhqMVhUOW1jLys5bnBmdmU3WHpYeFJxQmYrY3BYMHMxdWRyUDAKbU1j
OFpxaTR2L1NsTDZXenp6NDczZi8rOXg5cS9xWE1aRjlZaXQ3Q2w3VXZMTnhzbUNWOExneWpOUHc4
UGhlR3QxcU9PWDB1TEYweAo5NExFV0krWm1abHVoU1YrTGtSc2VWRDhmTVZIeWZ2QzByTmtEYTBM
bkxJQWVmQ0RINXdlL3ZDSGR3N1BlTVl6MHAzdmZPZHFUSjcvCi9PZW45NzN2ZmRYRUc0SGU4cGEz
VEhlODR4Mjc4ejZIQ2Z6V3Q3NTFlc1FqSGpITXJFdWV4NzZ3Wk1JRnJjQytzQ0N1b1dmMnVUQTAK
MVZBeitsd1lpbW5aWnZLNXNIVEszQXNTdlFmUnV4QlRpWjhMcDdvc2NNbjd3dEt6WkEydEN3dzFD
RDJ1eGhEVDVTNTN1YW84TG4vNQp5NmU0elRmRkI5Q0pCdnVkN0wzNTFyVmNyMFVYYTF6bElxNzV2
WkNyWGNRQXRSTzFaYmxpeStzcGZWK1l6eUh5YVYvSUdWeSsrOUwzCmhSTzF0TVI5NFVUN2JiVEI1
OEtKTXJuMDEwdmNGMDdXS3Z2Q3lYU0dleSsrRDJLSysvQ01JaVNtRXZlRmlDMWlISXk1QzdiL1R3
MzcKUW83VlBZSDVCSVlxUU9aYmNMN1g0bnpGODg0N0w1MTIybW5waHovOFlicm1OYStaemovLy9M
Ung0OFowOGNVWHA5ZS8vdlhwaWxlOApZdmY4NVM5L2VmclFoejZVcm5XdGEzWHpmUFdyWDAyeC9L
dGYvZXAwbTl2Y0p2M2dCejlJYjNqREc3cS9Uc1NwWDlFOUdsZUFlTldyClhwVTJiOTZjbnZlODU2
WFBmZTV6NllsUGZPSjhvYVJmL09JWDZhMXZmV3Q2NzN2Zm03N3doUzkwcDQ3OTh6Ly9jN3JlOWE3
WGRXbSsKNlUxdjZuN2s1NDF2Zk9Oc3I4NDczL25PN29vWWwxeHlTWHIvKzkvZmphdUkxNTd5bEtk
MDdZcHR2ZU1kNzBqUGVjNXpVc1QwdXRlOQpia0Z4UHZPWno1dzMxcmdVNE5PZTlyUjA1U3RmT2Yz
ODV6OVAzL3ptTjd2cmZ1ZVpUK2FhNXhtOFA5bjg4K1hoMTcvKzllRGl5L0o0Cm9USFlGNDZ4Mnhl
VzczTmh2djl2UGhlRy8zeHU2WFBCdm5EWmovV0ZmajYzdEM4ODlhbFB2U3hHLzVuUGhkRitMaHlY
RUMrTWgwQy8Kc2o3bDlKclh2Q2IrWk5ENzRoZS9lTko1KzVleTY3M2xMVy9wNXVsZnRhRjNxMXZk
cW5mdmU5KzdlOTR2QW5yYnRtM3I5Y2MzOU43egpudmYwSHZ2WXgvYSsvZTF2OSs1eGozdjArZ2Y4
dlg2bDM3M1dMMUI2dTNmdjd2VUxrTjdOYjM3ejNobG5uTkhOM3o4dzZ6M29RUS9xCjlRdUkzZ3Rm
K01MZWIzN3ptMTYvRU9qMS8zTFl4UmJ4RGQ1KzlhdGY5UjczdU1mMXJuQ0ZLM1RiLzlHUGZ0Uzcw
cFd1MUszdk01LzUKVE8vVG4vNTA3Nlkzdldudkd0ZTRSdmQrL3p6TFhuOHNSZmM0L25ueWs1L2N4
UlNQcjNhMXEvVmU4SUlYeE1OdXV1dGQ3OXJGRWs4VwpFbWYvY24vSFZqRG4zM3ZkNjE2OWZtSFR2
Um9PVjczcVZYdDN1Y3RkWnVjNm1Xdk05TXBYdnJMWEwxNkdtbisrUE13dU9NUUQrNEo5CkllOG1w
ZThMOC8xL0svVnpZZkN6S3ovMnViQjgzeEgyQmQ4UitYaWhYMnowWW4vNDduZS8yL3ZvUnovYTYv
L1JzMWZxNTBMRUZqRkcKckJGemYwQjZyNmJQaGZ4ZDRaN0FmQUxSdFhmS2FaZ0RqZi80ai8vbzlV
OGI2a1hoa2FkK0QwRlhGUFN2ME5TOWROdmIzclozN3Jubgo1cmQ3YjMvNzIzdDN2L3ZkZS8yL2Zu
ZTM1ejczdWQzOC9kNkhicDVIUHZLUnN3Vk12UEMydDcydDEvK2hudG5sbzFESlg5Wno3Mk9tCitN
L2I3MWFkbmY4V3Q3aEY3eS8vOGk5bm4wY0JGTXQ5NjF2ZjZ2WC93dFBybi9yVXhSRXp4R3Y5OHkr
N2VYUFJreGZzRDJ6djljOTcKems5N3c4YjV0YTk5YlhhWi9DQUtnaWlpb2kxNSt0TS8vZFBaQW1R
WTE4RUNaSmo1NStZaGIzZVllL3ZDc1FJNFc5a1hUdjZIaWNYcwpqOHYxdVREZi83ZklXNG1mQzNN
L3YrSzV6NFhlc24xSDJCZityd0JaelAvSi9IazN6SDNwM3hIOUM3Y2NWNENVK3Jrd3R3Q0pQNXpX
CjlMa3d6UDVpbnZFVk9PVWc5UDRYNFZEVGw3Lzg1ZTcwcXZnbHp6ejFlMEM2aC8wUC8rNCtUc1dL
VTdEeUZLZEd4WG1YK1VkMmJuLzcKMjZkK3RaLzZoVUkzUy84L1dwNjF1NDlmQngyY1RqLzk5TUdu
eHoyTzVRZlhFWThIZjhqbit0ZS9mdXIzeW5TblovVjdTcm9yU2QzbgpQdmRKVDNqQ0U5SzFyMzN0
eTh4NzNNb0hYaGpjUnJ4OG9qam42OGIrMUtjK2xTS09mRDU5TEIrbm1PVjFEdU1heStScG1Qbm41
aUV2CnUxejNpNG5CdnBDU2ZlSFlIcmhjKzhKOC85OWlDL0YvSy8vL3lzOUwrMXlJdUh3dXBPNzAy
ZVg0anJBdnhCNTFiRnJNNTNOZWRybnUKRnhPRHo0V1U0b2NKVy90Y1dLNTl5bnJxRTFpMk1TQng3
bnIvdEtodUhFY2NRTWQwazV2Y3BCdFFIVCtrTTk4VTg4ZUE2Mkd2ckJVRApzK2NlT015MzNvVzhs
Z2Q5eHpMOXY3eW0vdWxQNlJXdmVFVTNadVVqSC9sSU9sV1JNOSsyRmhMblQzLzYwODV0N25weU94
ZnF1dEQ1CjUyNTNPWjR2SmdiN1FrcjJoV043bjMzaC94em0vbi8wdVRCWDVMTFBGL0xaZTlrbFQv
eHMxTjhSRVZuOG41ZzcyUmZtaWx6MmVZdjcKd3M5KzlyUG05b1hMWnMyemNSSlljZzlJL0llSWdk
eFJsY2NWRytLNjFIbnFuMWZaRFNLUDN4R1piK3FQNytoNlBPS0hkdkxVNzR6cQovaEtjbjYvay9m
ZSs5NzBVUHo1MDFsbG5wVi8rOHBjcDRuM1p5MTZXUHZ6aEQ2ZHZmT01iM1lEenZQMjQ0c1JLVEZI
d3hGL25JcGI1CnBvVzZMblQrK2JhNTJOZnNDNHVWTzdhY2ZlR1lnOCtGWXc0K0YxS3lMOWdYamdu
WUY4TGhLbGU1U2pQSEN6bXY3c2RYWUtnQ3BEOCsKb1JPYWV4QWV2OEFkUDVqWEh5eWUrZ1BFMDlX
dmZ2V3VvTWljRjExMFVWZVk5TWQ1ZEMvRk5hM3pqLzdFQ3c5NzJNUFN6cDA3VTM5QQplb3B0UkFF
UTErSSs4OHd6dS9uekQvQjBUL3IveFBhaXlJblhZOHJYNys2ZXpQTlAvQ1UrdGhkRlRaNmk0TWpU
SnovNXlYU0hPOXdoCnhXOXB4T3R4eGF1WStvUE0wMzN2ZTkvdVZLaDRIajA1OFlOLy9mRXQzVldx
NGdwZmcrc1pOczY1ZnJIdWh6emtJVjB2VUZ4UkswL3gKSytqeEY2OW82ekN1RVZjMkdXYit1WG5J
MngzbTNyNWdYOGo3U2VuN3duei8zeUwyR2o0WElzN29IZmE1c0R6ZkVmWUYzeEg1ZUtIbQpmZUdC
RDN4Z1ZaOEw4VGxtSW5CQ2dWTU5mM24zdTkvZDYvOVZ2UnVzSFlPNCt6OUsyT3NmTlBmdWRyZTdk
UU84NDZwVi9mL1EzV3I2CmwzanQzZkNHTit5OStNVXY3bDF3d1FXOWh6NzBvZDJWcnVMTkdFQyth
ZE9tWHIrQzcvVVA5R2MzKzlyWHZyYlh2Mnh2TjdBcTF0Vy8KYkc3M1h2OTh6KzVxVUR0MjdPajFD
NFZlWE1VcXJxalZiMGgzOWFzOWUvYjAvdlp2LzdaN0hnUEMrNmV2eks0ekhzUkFzeGhzSGZQMwpl
elY2L2VLbHU4cFZYSVhyV2M5NlZxOS9HZDllWE0ycTMvUFJMZmRmLy9WZnZldGU5N3E5L3FXQ2V6
RUkvdkdQZjN5dmYxRGZ2ZmZ4CmozKzhhK3Qxcm5PZDNsLzkxVjkxVjlmNmd6LzRnOTRuUHZHSjNr
TGo3Rlk0NTUrdzZZOGI2ZlY3aXJyQjdmMXhLTDNiM2U1Mm5Wbk0KZWpMWGFHZmtKZG9aZy8raW5T
ZWIvMFI1bUJQU3ZFOXIyQmZDWWU3TnZyQ3cvNVB6Sm4vT2l6WHNDelY5THN6ZForTzV6NFZqTzky
NApmVWZNL1M0TEJmdkM4dTBMRDNqQUEzcnhmZDgvNjZBWDMrMXhzWnhTdnlOZTlLSVhkVEZHckhF
VnJQaCtyMlZmT0pZeC94STRzY0JFCnZOWC9zbHUyS1ZZWHYrRVI1MS8yRCtpSFdtLzhCZjhuUC9s
Sjk1c2c4VmUvbFpyaVYwUDdsN1R0ZWxuaXI2Q0RBK0xqcnlJUmM3K3cKNlg2RnZGOHNYU2FNaURG
NkpHSUFkL1EyREE2MnY4eU1pM3dTNjQ2L0tNZGcrRGdsYmNPR0RaZFowMEpkRnpyL1pUYTJURThX
RThOUwo5NFY4WHZSZ0V5S091Wk45WWE3SXlqNGZ4YjR3Ykl0SzJCZE90Ti82WERpV3hhVitMdFMw
TDV3b1Z2dkM4dXdMc1MvRjkzK2N4UkRqCjd1SjQ1VS8rNUUrT1l5L2hjeUgvZGxtY1hSSVhZNWlh
bXVvdTJ0UGl2bkJjQXJ6UXZNQ3lIKzNIRjJrK2hXcFl2YmdLMXJERnlyRHIKUE5sOFVWek1MVENp
K0locDhHcFVnK3VJR1BPMDNNVkhyRGV1d2hQRlIweHppNDk0YmFHdUM1MC90ckhjMDJKaXNDL1lG
L0orYUYrdwpMOWdYc29COUlVc3N4K2RDZkRmRmQyNThsOGNmRlU4MmpmSjRJV0tMR0NQV2lEbFBM
UjR2NUxhNUh4K0JvY2FBdE1BUlBSenhLK014CmZzTTAzZ0wyaGZITy8yRHI3UXVER3VQOTJMNHdI
dm1QQS9uNGcyT2NiUkYvN010WDdSeHNmU243UXNRV01VYXNFZk5nRVRJWXI4Y0UKYWhSWTlsT3dT
a1Y0ODV2ZjNIVzNSbno5c1J5cC80T0lwWVlxcmlVSXpQY0JQZmNVTFB2Q0VvQWJXN1NVZldHWS9i
WXgrdUthVThxKwpVQnhNWXdIRllQUTREV3Z2M3IzZGFjOXhJWnc0Tlh0d0ttVmZpTi85NkkrRDdY
NnZMSXFSNlAxWnlkUFVCdzA4SnJEU0FtTlRnS3cwCnBQV1hJVERmZ1Z3SmtjMHRna3FJU1F6SEJP
d3o5Z1FDNHlNUTR5ZnlsU0NqQ0lseG4vMEIzdDM5emF1QVhnQUFHTnhKUkVGVTlQUjAKTndZenhu
bEdMOGhxVHRIREVhZGJSWTlIL0poeG5BNitmZnYyN2o2S2p6Z2RLNHFQT1AzS1JLQUZnV1VmQTlJ
Q2lqWVFJRUNBQUFFQwo3UW5FSHh6aVlEOTZFMkpRZDB4eDRCOEgrWEVCbUNnK29rZ1pSUUdTeDZW
RUVaTEhudVNCNTA3QmFtOWZIUGNXS1VER2ZRL1FmZ0lFCkNCQWdNQ1lDdVFESlkwQnlNUklIL05F
emtvdVAxZTYxem5GRkVSS3hSWUdVYi9GY0FUSW1PK2dZTlZNQk1rYkoxbFFDQkFnUUlERHUKQW5F
d0gxTWM5TWNCZnh6b0R4WWVxMTE4NUh4RVBJT0ZTTVFXc2VaYm5zODlnUllFakFGcElZdmFNQ3NR
SDk0bFRxUDZRaXZSb3JTWQo3RE9sWlVROEJGWldJSDhlRDk3SDQ4SG5LeHZCL0d2UG4wVnhuMjh4
NStEcjh5L3BWUUwxQ1NoQTZzdVppQWtRSUVDQUFBRUNCQWhVCkt6QTJ2d05TYllZRVRvQUFBUUlF
Q0JBZ1FLQWhBUVZJUThuVUZBSUVDQkFnUUlBQUFRS2xDeWhBU3MrUStBZ1FJRUNBQUFFQ0JBZzAK
SktBQWFTaVpta0tBQUFFQ0JBZ1FJRUNnZEFFRlNPa1pFaDhCQWdRSUVDQkFnQUNCaGdSTytUc2cr
Zkp2RGJWNTFacVNMK20zYWh1MApJUUlFQ0JBZ1FJQUFBUUtGQytnQktUeEJ3aU5BZ0FBQkFnUUlF
Q0RRa29BQ3BLVnNhZ3NCQWdRSUVDQkFnQUNCd2dVVUlJVW5TSGdFCkNCQWdRSUFBQVFJRVdoSlFn
TFNVVFcwaFFJQUFBUUlFQ0JBZ1VMakFLUWVoRzBoZGVBYUZSNEFBQVFJRUNCQWdRS0FpQVQwZ0ZT
VkwKcUFRSUVDQkFnQUFCQWdScUYyaTZBUG50YjMrYnZ2Lzk3OWVlSS9FVElFQ0FBQUVDQkFnUWFF
YmdsQVhJdTk3MXJuU0RHOXdneGUrQgozT2xPZDBvZis5akhxbW44czUvOTdIUy8rOTJ2bW5nRlNv
QUFBUUlFQ0JBZ1FLQjFnWW4rR0kvZXFScjVvaGU5S0Qzem1jOU1IL25JClI5SmQ3M3JYVTgxZXpQ
dlJBN0pyMTY1MDVwbG5GaE9UUUFnUUlFQ0FBQUVDQkFpTXM4QXBCNkVIenRhdFd6dWp5MTN1Y2xW
WlhmN3kKbDA5eG0yK0t1dXRFdi9KK3N2Zm1XNWZYQ0JBZ1FJQUFBUUlFQ0JBWVR1Q1VwMkFOdDVw
amMrM2R1emY5K1ovL2VYcnFVNS9hbmZyMApGMy94RjJsbVpxWjc4K0tMTDA2UGZleGowOS84emQr
a0Y3emdCZW1LVjd4aSt2S1h2NXgyN3R5Wm52S1VwNlQvOS8vK1g3ckZMVzZSCnZ2akZMM2J6LytB
SFAwaC8vZGQvM2IzMzcvLys3K25tTjc5NU92dnNzOU1YdnZDRjlJMXZmQ005OElFUFRGZTV5bFhT
QzEvNHdubEQKL01VdmZwSCsvdS8vUHQzMnRyZnQzbzlUeDg0OTk5ejByR2M5SzUxMzNubmRzdGU4
NWpVdmMwclpPOS81enZUYTE3NjJXKzUydDd0ZAp0MXk4ZHJXclhTMjk2bFd2NnA2LzR4M3ZTTC8z
ZTcrWEh2ZTR4M1hQbHhwbnR4TC9FQ0JBZ0FBQkFnUUlFQmdUZ1dVdFFPNTFyM3VsClc5LzYxdW1s
TDMxcGV2ZTczNTIrOUtVdnBRYy8rTUVkNWNHREI3dlhQdlNoRDZYclgvLzY2UUVQZUVBNi9mVFQw
eU1mK2NqMHZPYzkKTDMzeWs1OU10N3psTGRNZi91RWZwajE3OW5TOUUxRTB2Tzk5NzB1eDdPYy8v
L2wwbmV0Y0p6Mzg0UTlQSC96Z0I5UHJYLy82MllKbQo5KzdkeDZWcmNuSXkvZWhIUDBwUklNUjB2
ZXRkTDMzaUU1OUliM3ZiMjlLOTczM3ZGR05idG0vZm5oNzFxRWQxN3g4K2ZEaTk1Q1V2ClNYLzJa
MytXbnY3MHA2ZmIzT1kyNmVqUm8ra2hEM2xJRjh2MDlIUTMzME1mK3RCMDdXdGZ1enUxSzE2SVhw
U2x4Tm10MUQ4RUNCQWcKUUlBQUFRSUV4a1JnMlFxUUQzLzR3K216bi8xc2lnUDBtTmF0VzljZDNF
ZXhFTDBXY1VBZmhVY01hSS9pNDNXdmUxMzYydGUrbHVKMApwODk4NWpNcGxvOGVqVi8vK3RmcHdn
c3ZUTmU5N25YVHpXNTJzM1NqRzkyb20zL2p4bzFkcjhxUGYvemo5SXhuUEtNN3RlcEpUM3BTCnQz
eThObmVLSHBhYjNPUW0zZnZ4WGhRTjE3akdOYm9DNS9kLy8vZlRPZWVjazZJMzR5Yy8rVW42OXJl
LzNSVTlYLy82MTlNRkYxelEKcmVyUmozNzA3TEt4N2NIVHRhYW1wbWFmTHpYT3VYRjdUb0FBQVFJ
RUNCQWdRS0JsZ1dVclFPSjBxampvajhJalQ3ZTYxYTI2aDFGbwp4QlFIOGpGUG5xSXdpVEVhNjll
djcyNjN2LzN0MDBjLyt0SHVWS3lZWi9DZ1A1NXYyYklsN21hbjZFR0pLWXFXK2FaWWZuQWQ4WGp0
CjJyV3pzMFpCdEczYnRxNEg0d3BYdUVLNi8vM3ZuKzV6bi91a0p6emhDVjNCTWpqdjdFTHpQQmpj
UnJ5OTBEam5XYVdYQ0JBZ1FJQUEKQVFJRUNEUXBNTlFnOUdGYXZuLy8vdlNiMy93bXhUaVF6WnMz
ZDR0RUQwU2NDclZ2Mzc1NVZ4SHp4L3QzdnZPZDUzMS83b3RyMXF3NQpycUNZTzg5Q244YzZJNGFZ
M3Y3MnQ2ZXJYdldxNlJXdmVFV0tNU3R4MWE5YzVDeGt2U3NSNTBLMmIxNENCQWdRSUVDQUFBRUNw
UW9zCnVRZmtaei83V1hyakc5L1luVjUxNU1pUjlKV3ZmR1cycmIvNjFhOVNqSzJJMDY3bW04NDQ0
NHl1eCtQQWdRT3piOGNwV1ovNjFLZG0KbjYva2crOTk3M3NwTHRWNzFsbG5wVi8rOHBjcDRuM1p5
MTdXblE0V0E5M2pGSzA4eFhnUUV3RUNCQWdRSUVDQUFBRUNTeE1ZcWdESgpnN3puSG9SZmV1bWw2
VEdQZVV4M2hhb0hQZWhCNmVwWHYzcFhVT1NRTHJyb29xNHd1ZnZkNzk2OUZNVkl2aXBXdlBDd2h6
MnN1d3BXClhCMHJ0aEVGd1BPZi8velozKzA0ZE9oUWlxSW1UN0c5ZUI2dnh4VHJpMmx1WE4yTC9Y
K2lWeWEyRjBWTm5xTGd5Rk1NZkwvREhlN1EKRFp5UDErT0tWekhGYjUzYzk3NzN2VXhQVGd5b2o4
SHdQLy81ejlNUGYvakRybkRKNjFscW5Iazk3Z2tRSUVDQUFBRUNCQWkwTG5ESwpVN0RlODU3M3BM
ZSs5YTJkd3hPZitNUnVVSGdVQW5HbHFpZ3c0blNqR0N3ZTR5QSs4SUVQcEQvNm96L3FyaTRWZzhm
LzlWLy9OYjMzCnZlL3RUbkdLMDV1Kyt0V3ZwdTkvLy92ZEZhamk2bGczdk9FTjAydGU4NW9VZzhs
akd6RU80dzF2ZUVOMzJkdTRITy9IUC83eHJ1Q0kKSHBGcjl3ZVIvOHUvL0V2M1BDN2orK1FuUHpu
OTR6LytZeGRYOU1EYytNWTM3cGJMQ1lzeEtmLzJiLy9XbmY0VnAxUTkvdkdQNzk3Ngp6Ly84enhT
L2tCNm5YWDN1YzUvcnJzeVZsNG4xeFFEeksxLzV5dDF2bitRcmVNV2xoZU54SGtBZlkxV2lIVkhB
eExpV2hjUjV0N3ZkCkxXL09QUUVDQkFnUUlFQ0FBSUd4RXhqcWw5QVhvaEs5RFhIcDJ5aE00Z3BS
dzB6UnN4QlhvN3JXdGE0MU94NWptT1VXT2s5YzVqZXUKZmhXOUxORTdNamdnUG5wUkl1WW9yR0ln
L2FaTm15Nnorb2d4ZWwraTRJZ2VqOEhCOXBlWjBSTUNCQWdRSUVDQUFBRUNCRTRvY01vZQprQk11
ZVlJM29pZmt6RFBQUE1HNzg3OGNWOEVhdGxpWmZ3MExleldLaTdrRlJoUWZNZVZmZlorN3hvZ3hU
NHFQTE9HZUFBRUNCQWdRCklFQ0F3TUlFaGhvRHNyQlZsamwzOUhEazhSdGxSaWdxQWdRSUVDQkFn
QUFCQXUwTExQc3BXS1dTdmZuTmIwNC8vZWxQdS9EaUY5WFAKUGZmY1VrTVZGd0VDQkFnUUlFQ0FB
SUZtQmNhbUFHazJneHBHZ0FBQkFnUUlFQ0JBb0NLQnNUa0ZxNktjQ0pVQUFRSUVDQkFnUUlCQQpz
d0tMS2tEaWFsRGYrYzUzaGthSnkvWisvdk9mSDNyK3Bjd1l2K2NSbDhnMUVTQkFnQUFCQWdRSUVD
QlFuc0NDQzVENHBmUDQzWS80CkFjSmhwdmdCdjdQUFBqdmQvLzczSDJiMkpjOFR2L0Z4di92ZGI4
bnJzUUlDQkFnUUlFQ0FBQUVDQkpaZllNRUZTUHlXeGgzdmVNZWgKZndmajFyZStkWHJFSXg2eC9K
R2ZZSTN4R3gvdmU5LzdadCtOM3BmNHdjQlJUNlhFTVdvSDJ5ZEFnQUFCQWdRSUVCaHZnUVVWSUhF
cAoyNWppVjhUejcyWU13eGUvb1JHL0Q3SVNVL3p3NGVCMCtjdGZmdlozU09JSEEvLzRqLzg0ZmVZ
em54bWNaZDdIaHc4Zm52ZjE1WGh4CklYRXN4L2FzZ3dBQkFnUUlFQ0JBZ0VDcEFrUDlFR0g4YXZq
VG52YTBkT1VyWDduN0xZMXZmdk9iYWNPR0RiTnQycnQzYnpydnZQUFMKYWFlZGxuNzR3eCttYTE3
em11bjg4OC92ZmpWOGRxYUJCeWViLytLTEwwNnZmLzNydTE4cGoxOGRmL25MWDU0KzlLRVBwVnZk
NmxZRAphMGpwbmU5OFo5cTFhMWU2NUpKTDB2dmYvLzV1ak1rdmZ2R0w5TmEzdmpXOTk3M3ZUVi80
d2hlNlpUL3dnUTkwdjh3ZWNiM21OYTg1CjdnY0lQLzd4ajZlTExycW9LNUJpUGJIdEc5LzR4dDB5
YjNqREcxSVVKbmU2MDUxU25OcTFkdTNhOUtwWHZTcHQzcnc1UGU5NXowdWYKKzl6bjBoT2YrTVQw
ekdjK3M0dHQ1ODZkWGJ1Lyt0V3ZwbWpqcTEvOTZuU2IyOXptdURqaWtzQW1BZ1FJRUNCQWdBQUJB
bU1wME85QgpPT1YwcjN2ZHEvZU9kN3lqbTY4L0FMMTMxYXRldFhlWHU5eGxkcmx6emptbjk1YTN2
S1Y3ZnZEZ3dWNi9XT2pkKzk3M25uMy9sYTk4ClphOWZ2TXcrUDluOC9jS2h0MjNidGw1L25FbnZQ
ZTk1VCsreGozMXM3M3ZmKzk3c3N2R2czNlBRNjQ4cm1YM3R5VTkrY2kvaSt0V3YKZnRWNzNPTWUx
N3ZDRmE0dys5NjFyMzN0M2d0ZitNTFo1NE1QK3FkRjlhNTJ0YXYxUHZHSlQzUXZQL2U1eiswOTRB
RVA2QjcvNEFjLwo2TjM4NWpmdm5YSEdHVjBjL1NLczk2QUhQYWgzdmV0ZHIxdmZiMzd6bTk1em52
T2NYcjlucDljdmhIcjlRcVYzajN2Y285Y3ZpTHBZCkl1NHJYdkdLdmQyN2QzZnJPMWtjZ3pGNVRJ
QUFBUUlFQ0JBZ1FLQmxnVk9lZ3ZYRkwzNHhYWERCQmVsdWQ3dGJWNkRGcVZmM3ZPYzkKWjR1MUQz
LzR3K216bi8xc2V1aERIOXE5dG03ZHV2U29SejBxZmZDREgreDZJV1puL04yRFU4MGZQUWJYdi83
MTB3MXVjSVBVTHdiUwo2MTczdXRsVHF2SzY5dXpaazc3KzlhOTNjY1ZyajM3MG8xTS9TVjJ2eVUx
dWNwUHVjWjQzN2s5MCtsZkVHb1BqYjNyVG0zYXp4K2xiCjMvNzJ0N3ZIMTczdWRidkI5amU2MFky
Nk9LSTNKZ2EzLy9qSFAwN1BlTVl6VXN6N3BDYzlxZHRXdlBhdWQ3MnJleHluZTBVYnIzS1YKcTZS
Zi8vclg2Y0lMTCt6V0YvK2NLSTdaR1R3Z1FJQUFBUUlFQ0JBZzBMakFLUXVRVDMzcVUxMUJzSFhy
MWxtS09BVXBIMHgvK2N0Zgo3Zzc4NDJBK1QvbDBxYTk5N1d2NXBkbjdZZWFQZy8xKzc4SHNNbk1m
OUhzNHVzTGhQdmU1VDNyQ0U1NlErcjBMM2VsUk1WL0VsV1BMCnk4MTlQdmg2djNjbVJVRVRwNHg5
K3RPZlR0UFQwL250NDlhelpjdVcyZmZpd2Vtbm45NDlqMElqVHZtS29pVEd1OFR0OXJlL2Zmcm8K
UnorYWJuR0xXOHd1YzZJNFptZndnQUFCQWdRSUVDQkFnRURqQXFjY0EvTFRuLzQwOVU4M09vNGhI
MHpIK0pCNFA4WThSR0VTVS9SQwp4RUQxZmZ2MkhiZmNRdWMvYmdXL2UrSHRiMzk3NnA4S2xsN3hp
bGVrR0RmeWtZOThaTFlnT05FeTg3MGVZejZpQitlTmIzeGorcWQvCitxY1VCZEtKcHVqOXllMk9l
UVlmaDBHMCtjNTN2dk9KRnZjNkFRSUVDQkFnUUlBQWdiRVhPR1VQU0J6a3gxLzQrK013NXNXSzA2
WGkKaHduajkwSHkxQitMMFEzZWp0T281azRMblgvdTh2SDhsNy84WllwdHZPeGxMK3RPZC9yR043
NlIrbU5VNXB1MWUyMndVQmljNlZ2ZgorbFo2L09NZm4xN3lrcGNNZlZuaHdlVUhINTl4eGhsZGo4
ZUJBd2RtWDQ3VHdxSUhLVThuaWlPLzc1NEFBUUlFQ0JBZ1FJQkE2d0tuCkxFQWU4cENIZEgvWmo3
RVllWXBmUVkrLytFZmgwUitZbmE1KzlhdDNCOS81L2JpcVZCUWFkNy83M2J1WCtnUFRVMXlLTnFa
aDVvOHIKVDgzTXpIVHp6L2RQL05wNVhBVXJwcnZlOWE3cHZ2ZTk3Mnp2Uy9Td3hMSng4QjlUbkRv
V3ZUZ3g5UWVFZC9mNW54anZFWmNXamtJawoyaEtuWUVVQkVjdkdMV0tPMS9NVXYrVVJ6M05iOHFW
N1l4MFBlOWpEVWx3RnF6LzR2TnRPRkVqeG15Um5ubmxtdC9oZ0hIbDk3Z2tRCklFQ0FBQUVDQkFp
TW04RGEvcFdmbm51eVJtL2Z2ajMxci96VUhVekhKVzVqVUhVY2NFZFJNVFUxMVkxeGlNdlV2dWhG
TCtvTy9QLzMKZi84M3ZlMXRiMHV2ZmUxcjA1V3VkS1h1bEtZWVh4R1h3ZDJ4WTBmM3EraHhtdEtK
NW85VHErTHl0ekd3K3hyWHVFYUtRZUJ6cCtpUgplY3BUbnRKZEN2aG5QL3RaaWx0Y0pqZ0tuK2dW
K2UvLy91K3U4RGpyckxPNnl3Yi93ei84US9xZi8vbWY3bks2bXpadG1sMWRqQjJKCkFmWnh1ZHlJ
Nzl4enorMWlqd0lyeHFDOCtNVXY3cGFQWDNLUHFYODFyZlRkNzM2Myt3MlUvaFd5dW0zMXI2RFZX
VVFSRk1YR1MxLzYKMHE1dGIzclRtN3JCOFhrOHpFOSs4cE9VNDRoNVRRUUlFQ0JBZ0FBQkFnVEdV
V0NpLzVmK3kvNlMzd2tVNGkvLzBZTVFBOENqbDJEdwpkMEJpa1ZoTi85SzEzY0Y1WEVIcVZOTkM1
eDljWHhSQU1SNGpCby9INFBmQm9tSnd2dnc0ZW1zaTdoTk4wV01TQTk5aml0Nk53UUgxCkoxcm1S
SzlIWVJiRnhyV3VkYTJ1NTJod3ZsUEZNVGl2eHdRSUVDQkFnQUFCQWdSYUZCaTZBR214OGRwRWdB
QUJBZ1FJRUNCQWdNRHEKQ3B4eURNanFobU5yQkFnUUlFQ0FBQUVDQkFpMExLQUFhVG03MmthQUFB
RUNCQWdRSUVDZ01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQgpsZ1VVSUMxblY5c0lFQ0JBZ0FBQkFn
UUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWcwTEtBQXFUbDdHb2JBUUlFQ0JBZ1FJQUFnY0lFCkZD
Q0ZKVVE0QkFnUUlFQ0FBQUVDQkZvV1VJQzBuRjF0STBDQUFBRUNCQWdRSUZDWWdBS2tzSVFJaHdB
QkFnUUlFQ0JBZ0VETEFncVEKbHJPcmJRUUlFQ0JBZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFBQVFJ
RUNCQm9XVUFCMG5KMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JUwpJaHdDQkFnUUlFQ0FBQUVDTFFz
b1FGck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dVQkJVakwyZFUy
CkFnUUlFQ0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNMUXNvQUJwT2J2YVJvQUFBUUlF
Q0JBZ1FLQXdBUVZJWVFrUkRnRUMKQkFnUUlFQ0FBSUdXQlJRZ0xXZFgyd2dRSUVDQUFBRUNCQWdV
SnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0RRc29BQ3BPWHNhaHNCQWdRSQpFQ0JBZ0FDQndnUVVJSVVs
UkRnRUNCQWdRSUFBQVFJRVdoWlFnTFNjWFcwalFJQUFBUUlFQ0JBZ1VKaUFBcVN3aEFpSEFBRUNC
QWdRCklFQ0FRTXNDQ3BDV3M2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBZ0FBQkFnUUlF
R2haUUFIU2NuYTFqUUFCQWdRSUVDQkEKZ0VCaEFncVF3aElpSEFJRUNCQWdRSUFBQVFJdEN5aEFX
czZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZwpaUUVGU012WjFUWUNC
QWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUl0Q3lnQUdrNXU5cEdnQUFCQWdRSUVD
QkFvREFCCkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pZRkZDQXRaMWZiQ0JBZ1FJQUFBUUlFQ0JRbW9B
QXBMQ0hDSVVDQUFBRUNCQWdRSU5DeWdBS2sKNWV4cUd3RUNCQWdRSUVDQUFJSENCQlFnaFNWRU9B
UUlFQ0JBZ0FBQkFnUmFGbENBdEp4ZGJTTkFnQUFCQWdRSUVDQlFtSUFDcExDRQpDSWNBQVFJRUNC
QWdRSUJBeXdJS2tKYXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dFT0VRSUVDQUFBRUNCQWdRYUZs
QUFkSnlkcldOCkFBRUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FBQkFpMExLRUJhenE2
MkVTQkFnQUFCQWdRSUVDaE1RQUZTV0VLRVE0QUEKQVFJRUNCQWdRS0JsQVFWSXk5blZOZ0lFQ0JB
Z1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQUFBRUNCQWkwTEtBQWFUbTcya2FBQUFFQwpCQWdRSUVD
Z01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQmxnVVVJQzFuVjlzSUVDQkFnQUFCQWdRSUZDYWdBQ2tz
SWNJaFFJQUFBUUlFCkNCQWcwTEtBQXFUbDdHb2JBUUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRCQWdR
SUVDQUFBRUNCRm9XVUlDMG5GMXRJMENBQUFFQ0JBZ1EKSUZDWWdBS2tzSVFJaHdBQkFnUUlFQ0JB
Z0VETEFncVFsck9yYlFRSUVDQkFnQUFCQWdRS0UxQ0FGSllRNFJBZ1FJQUFBUUlFQ0JCbwpXVUFC
MG5KMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVDQUFBRUNMUXNvUUZyT3JyWVJJ
RUNBQUFFQ0JBZ1FLRXhBCkFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dVQkJVakwyZFUyQWdRSUVDQkFn
QUFCQW9VSktFQUtTNGh3Q0JBZ1FJQUFBUUlFQ0xRc29BQnAKT2J2YVJvQUFBUUlFQ0JBZ1FLQXdB
UVZJWVFrUkRnRUNCQWdRSUVDQUFJR1dCUlFnTFdkWDJ3Z1FJRUNBQUFFQ0JBZ1VKcUFBS1N3aAp3
aUZBZ0FBQkFnUUlFQ0RRc29BQ3BPWHNhaHNCQWdRSUVDQkFnQUNCd2dRVUlJVWxSRGdFQ0JBZ1FJ
QUFBUUlFV2haUWdMU2NYVzBqClFJQUFBUUlFQ0JBZ1VKaUFBcVN3aEFpSEFBRUNCQWdRSUVDQVFN
c0NDcENXczZ0dEJBZ1FJRUNBQUFFQ0JBb1RVSUFVbGhEaEVDQkEKZ0FBQkFnUUlFR2haUUFIU2Nu
YTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZ1FJQUFBUUl0Q3loQVdzNnV0aEVnUUlB
QQpBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZ1pRRUZTTXZaMVRZQ0JBZ1FJRUNBQUFF
Q2hRa29RQXBMaUhBSUVDQkFnQUFCCkFnUUl0Q3lnQUdrNXU5cEdnQUFCQWdRSUVDQkFvREFCQlVo
aENSRU9BUUlFQ0JBZ1FJQUFnWllGRkNBdFoxZmJDQkFnUUlBQUFRSUUKQ0JRbW9BQXBMQ0hDSVVD
QUFBRUNCQWdRSU5DeWdBS2s1ZXhxR3dFQ0JBZ1FJRUNBQUlIQ0JCUWdoU1ZFT0FRSUVDQkFnQUFC
QWdSYQpGbENBdEp4ZGJTTkFnQUFCQWdRSUVDQlFtSUFDcExDRUNJY0FBUUlFQ0JBZ1FJQkF5d0lL
a0phenEyMEVDQkFnUUlBQUFRSUVDaE5RCmdCU1dFT0VRSUVDQUFBRUNCQWdRYUZsQUFkSnlkcldO
QUFFQ0JBZ1FJRUNBUUdFQ0NwRENFaUljQWdRSUVDQkFnQUFCQWkwTEtFQmEKenE2MkVTQkFnQUFC
QWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQmxBUVZJeTluVk5nSUVDQkFnUUlBQUFRS0ZD
U2hBQ2t1SQpjQWdRSUVDQUFBRUNCQWkwTEtBQWFUbTcya2FBQUFFQ0JBZ1FJRUNnTUFFRlNHRUpF
UTRCQWdRSUVDQkFnQUNCbGdVVUlDMW5WOXNJCkVDQkFnQUFCQWdRSUZDYWdBQ2tzSWNJaFFJQUFB
UUlFQ0JBZzBMS0FBcVRsN0dvYkFRSUVDQkFnUUlBQWdjSUVGQ0NGSlVRNEJBZ1EKSUVDQUFBRUNC
Rm9XVUlDMG5GMXRJMENBQUFFQ0JBZ1FJRkNZd1A4SGx3QlBxUlc4QUI4QUFBQUFTVVZPUks1Q1lJ
ST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3RyYW5zZm9y
bS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5n
CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFC
SlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRR
Mi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZw
RktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xz
ZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9I
aFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4Rmtp
ZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZy
WXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDAr
R0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUr
THFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdV
RUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFD
Skw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRw
TlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdq
RTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhH
UGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAx
dDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJw
dFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVn
cG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtF
NVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVs
RVFWUjRBZTNkMjVZYjVSRUY0TEV4aE1ORkNDOFUzZ0plbFB2d1JDUVg0V0FNVG1xeXl2bmRhSVla
amF6cTZmMXBMZEd0Vmt2Vgo5WlV2L2kzSjVzWGIvOTV1M0FnUUlQQUFnVysvL2ZZQlp6bUZBQUVD
QkFnUUlIQzN3TXU3bi9JTUFRSUVDQkFnUUlBQUFRSUVMaXNnCmdGelcwN3NSSUVDQUFBRUNCQWdR
SUhDUGdBQnlENDZuQ0JBZ1FJQUFBUUlFQ0JDNHJJQUFjbGxQNzBhQUFBRUNCQWdRSUVDQXdEMEMK
QXNnOU9KNGlRSUFBQVFJRUNCQWdRT0N5QWdMSVpUMjlHd0VDQkFnUUlFQ0FBQUVDOXdnSUlQZmdl
SW9BQVFJRUNCQWdRSUFBZ2NzSwp2UEQvQWJrc3FIY2pRSUFBQVFJRUNCQWdrQ3p3Wi8vZk1OK0FK
UC9wMERzQkFnUUlFQ0JBZ0FDQkt3c0lJRmNHVjQ0QUFRSUVDQkFnClFJQkFzb0FBa2p4OXZSTWdR
SUFBQVFJRUNCQzRzb0FBY21WdzVRZ1FJRUNBQUFFQ0JBZ2tDd2dneWRQWE93RUNCQWdRSUVDQUFJ
RXIKQ3dnZ1Z3WlhqZ0FCQWdRSUVDQkFnRUN5Z0FDU1BIMjlFeUJBZ0FBQkFnUUlFTGl5Z0FCeVpY
RGxDQkFnUUlBQUFRSUVDQ1FMQ0NESgowOWM3QVFJRUNCQWdRSUFBZ1NzTENDQlhCbGVPQUFFQ0JB
Z1FJRUNBUUxLQUFKSThmYjBUSUVDQUFBRUNCQWdRdUxLQUFISmxjT1VJCkVDQkFnQUFCQWdRSUpB
c0lJTW5UMXpzQkFnUUlFQ0JBZ0FDQkt3c0lJRmNHVjQ0QUFRSUVDQkFnUUlCQXNvQUFrang5dlJN
Z1FJQUEKQVFJRUNCQzRzb0FBY21WdzVRZ1FJRUNBQUFFQ0JBZ2tDd2dneWRQWE93RUNCQWdRSUVD
QUFJRXJDd2dnVndaWGpnQUJBZ1FJRUNCQQpnRUN5Z0FDU1BIMjlFeUJBZ0FBQkFnUUlFTGl5d0tz
cjE3djUvdnZ2cjExU3ZYc0UvdjczdjkvenJLY0lFQ0JBZ0FBQkFnUUlYRmJnCjZnR2tMdjhmLy9q
SFpidndibWNKZlAzMTEyZTl6b3NJRUNCQWdBQUJBZ1FJbkN2Z0oxam55bmtkQVFJRUNCQWdRSUFB
QVFLUEZoQkEKSGszbUJRUUlFQ0JBZ0FBQkFnUUluQ3NnZ0p3cjUzVUVDQkFnUUlBQUFRSUVDRHhh
UUFCNU5Ka1hFQ0JBZ0FBQkFnUUlFQ0J3cnNCVgpBOGpidDIvUHZVNnYrMEFDWnZLQllMMHRBUUlF
Q0JBZ1FJREFTWUVQL3E5Z1dlQ2VkTi9Wd1hWR0wxNjgyTlcxdVJnQ0JBZ1FJRUNBCkFJRmpDWHl3
YjBCcVVic3ViSXR0Ky9oWWxNK3ptKzFNVHMzdGVYYm1xZ2tRSUVDQUFBRUNCUFlvY1BGdlFFNHRh
S3Z4N2ZFOVlpUmUKVXdlTy91YWp0ejJ2ZnB4b28yY0NCQWdRSUVDQUFJSExDMXcwZ1BTaXRTNnpG
N1o5eWR2SGZkeDJWdUQzMzMrL1dVTkd6YWtlOTdGKwpQSHVWcWhNZ1FJQUFBUUlFQ0J4RjRLSUJw
RkJxd2JyZGR2am81MjVQOEo5ZENIUUE2ZEJSMjNWT0hVUjJjYkV1Z2dBQkFnUUlFQ0JBCjROa0xY
Q3lBckl2V05YRDBmaTEwNis2Mkw0RTNiOTdjdkh6NTh2YStocEM2eWc0Zk5jUGUzOWZWdXhvQ0JB
Z1FJRUNBQUlIbkpuQ3gKQUZLTmQ5am9iUVdPMnUvd0lZRHM3NC9IYjcvOTltNXVGVVFxYU5SMnZR
a2ZxNFo5QWdRSUVDQkFnQUNCcHdoY0pJQlV5T2piR2o0NgplTlFpdC9acjY3WXZnVjkvL2ZYbW80
OCt1ZzBkdmEwcjdCRFM0YVBtMnZ2NzZzRFZFQ0JBZ0FBQkFnUUlQQ2VCaXdTUWFyaURSMjByCmJQ
UzJRa2Y5ektmdUFzaisvbWk4ZnYzNk5vQzhldlgvUHdvVk5HcUdGVUpxam5VVFB2WTNPMWRFZ0FB
QkFnUUlFSGlPQXY5ZmRaNTUKOWIxQXJaZDM4S2hqRlRZNmZOU243QlZBYXV1Mkw0RmZmdm5sNXVP
UFAzNFhOUHJxNnR1UURwRzFYN2Q2TElpMGtDMEJBZ1FJRUNCQQpnTUE1QWs4T0lGVzBGcVoxNy8z
K3VWV0hqZ29lOVVsNzNkMzJKZkR6enorL0M0N3JsVlhRNkh2UFZ2aFloZXdUSUVDQUFBRUNCQWlj
CkkvQ2tBTklMMHlyY0lhVENSd2VRL2dha3cwZDkydTYyTDRGMUpoVXcxcitJdmdhUURoODE1OTdm
VnlldWhnQUJBZ1FJRUNCQTREa0kKUENtQVZJTWRQSHE3RFIvOTdVY3RkSC82NmFmbllCSjFqZXRN
S254c0Ewai9QWkNhYjkyRWo2Zy9IcG9sUUlBQUFRSUVDRnhjNE1rQgpwSzZvdzBkdCt4dVEydlpQ
c09vYmtBb2c5WE1mQzlpTHovQkpiMWd6NmRCUmY5ZWo3ejNIZGJabTl5UnFMeVpBZ0FBQkFnUUlF
UGl2CndQdi93NGRIa1BRbjR1dExhdEhhSWFSL2Z0WGZnTlJDdCs1dSt4TG91VlJJckZuMXYxYTJ6
bko3eGFkbXZ6M0hZd0lFQ0JBZ1FJQUEKQVFLbkJNNE9JUDFtNnlma0hUNzYyNDlheks3Zmdxdy85
K25YMjg0SzFFelc4TkV6Ty9VTmlPQXhPeXZWQ1JBZ1FJQUFBUUpIRUhoUwpBT253VVJDOXZ3MGgv
UTFJL1FSci9RdlBSOEE3UWc4OWx6V0VuQW9mNjR5UDBMY2VDQkFnUUlBQUFRSUVaZ1NlRkVDMmw5
d2hwQmF3CjIvOFBTQWVSN1dzOG5oWG80TEgrL0twbVZ6UHNlYzVlb2VvRUNCQWdRSUFBQVFKSEVy
aElBT21GYW0vN0UvUTFpTlJDMXpjZysvdWoKVXpPcDJYUmdYR2ZYOCt6dC9xN2VGUkVnUUlBQUFR
SUVDRHczZ1lzRWtMWHBXc0RXYlEwZi9mY0s2bE4ydDMwSjlEY2ZOYU0xaE5SVgo5aXozZGNXdWhn
QUJBZ1FJRUNCQTREa0xuQlZBNmhQeDlkYWZrUGZ4V3JqMnNUV0kxQUxYYlY4Q0hUcHF1NTFiWFdu
UHNXZmJWNzk5CjNNZHRDUkFnUUlBQUFRSUVDTnduY0ZZQXVlOE4xd1ZyN2RlaWRnMGg5NzNXYzlj
WDZBRFNjOXJPNy9wWHBDSUJBZ1FJRUNCQWdNQ1IKQlM0YVFMYWZpcStMMlY3Z0hobnpPZmJXYzFs
bnRmYXhuZW42bkgwQ0JBZ1FJRUNBQUFFQ2p4VzRhQUNwNHV0Q2RydnZKMWlQSGMrSApQNzltc3Az
VCt2akRYNEVLQkFnUUlFQ0FBQUVDU1FJWERTQzFjTzNidW9qdC9YN09kbDhDUFo5MTIxZFl4OXdJ
RUNCQWdBQUJBZ1FJClhFcmdZZ0hrcm9YcXVxaXRuL3U0N1V1Z1pyTE82TlRWM1RYYlUrYzZSb0FB
QVFJRUNCQWdRT0ErZ1lzRmtQdUtlSTRBQVFJRUNCQWcKUUlBQUFRSWxjTFVBNGxQMC9mNkJNNXY5
enNhVkVTQkFnQUFCQWdTT0puQ1ZBTklMM040ZURmRTU5OU16NmUxejdzVzFFeUJBZ0FBQgpBZ1FJ
N0YvZ0tnRmsvd3l1a0FBQkFnUUlFQ0JBZ0FDQmF3aGNMWUQ0aFAwYTR6eXZodG1jNStaVkJBZ1FJ
RUNBQUFFQ2p4ZTRXZ0I1Ci9LVjVCUUVDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRSUVDQUFBRUNC
QWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ08KTmxIOUVDQkFnQUFCQWdRSUVOaXhn
QUN5NCtHNE5BSUVDQkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaAp1
RFFDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRSUVDQUFBRUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVD
QkFnQUFCQWtjVEVFQ09ObEg5CkVDQkFnQUFCQWdRSUVOaXhnQUN5NCtHNE5BSUVDQkFnUUlBQUFR
SkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUMKQkFnUUlFQ0FBQUVDUnhNUVFJ
NDJVZjBRSUVDQUFBRUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNC
QQpnQUFCQWdRSUVOaXhnQUN5NCtHNE5BSUVDQkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJ
RUNCRFlzWUFBc3VQaHVEUUNCQWdRCklFQ0FBQUVDUnhNUVFJNDJVZjBRSUVDQUFBRUNCQWdRMkxH
QUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNCQWdBQUIKQWdRSUVOaXhnQUN5NCtH
NE5BSUVDQkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUNCQWdR
SUVDQQpBQUVDUnhNUVFJNDJVZjBRSUVDQUFBRUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFC
QWtjVEVFQ09ObEg5RUNCQWdBQUJBZ1FJCkVOaXhnQUN5NCtHNE5BSUVDQkFnUUlBQUFRSkhFeEJB
ampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUNCQWdRSUVDQUFBRUMKUnhNUVFJNDJVZjBR
SUVDQUFBRUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNCQWdBQUJB
Z1FJRU5peApnQUN5NCtHNE5BSUVDQkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlz
WUFBc3VQaHVEUUNCQWdRSUVDQUFBRUNSeE1RClFJNDJVZjBRSUVDQUFBRUNCQWdRMkxHQUFMTGo0
YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNCQWdBQUJBZ1FJRU5peGdBQ3kKNCtHNE5BSUVD
QkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUNCQWdRSUVDQUFB
RUNSeE1RUUk0MgpVZjBRSUVDQUFBRUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVF
Q09ObEg5RUNCQWdBQUJBZ1FJRU5peGdBQ3k0K0c0Ck5BSUVDQkFnUUlBQUFRSkhFeEJBampaUi9S
QWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUNCQWdRSUVDQUFBRUNSeE1RUUk0MlVmMFEKSUVDQUFB
RUNCQWdRMkxHQUFMTGo0YmcwQWdRSUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNCQWdBQUJBZ1FJRU5p
eGdBQ3k0K0c0TkFJRQpDQkFnUUlBQUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQ
aHVEUUNCQWdRSUVDQUFBRUNSeE1RUUk0MlVmMFFJRUNBCkFBRUNCQWdRMkxHQUFMTGo0YmcwQWdR
SUVDQkFnQUFCQWtjVEVFQ09ObEg5RUNCQWdBQUJBZ1FJRU5peGdBQ3k0K0c0TkFJRUNCQWcKUUlB
QUFRSkhFeEJBampaUi9SQWdRSUFBQVFJRUNCRFlzWUFBc3VQaHVEUUNCQWdRSUVDQUFBRUNSeE40
TmRIUTExOS9QVkZXVFFJRQpDQkFnUUlBQUFRSUVoZ1d1SGtDKysrNjdteDkrK09IMi9zOS8vdlBt
WC8vNjE4Mi8vLzN2Mi91UFAvNTQ4L3IxNjVzM2I5Njh1NWZQCjI3ZHZiKy9EVnJzdS8rTEZpNXU2
MSszVnExZnY3cDk4OHNuTjU1OS9mdlBGRjEvYzN2LzYxNy9lZlBubGx6ZC8rOXZmYnU5ZmZmWFYK
cnZ0eWNRUUlFQ0JBZ0FBQkFzY1M4Qk9zWTgxVE53UUlFQ0JBZ0FBQkFnUjJMWEQxQU5LZjBqOUU1
VEhuUHVUOUVzNTVqTmxqemsydwoweU1CQWdRSUVDQkFnTUNIRjdoYUFIbklZdmNoNTN4NGttTlZl
SWpwUTg0NWxvcHVDQkFnUUlBQUFRSUVwZ1N1RmtBZTJ1QzZHRjczCkgvcjY5UE5XczNVLzNVWC9C
QWdRSUVDQUFBRUMreEM0U2dEcGhYQnYxOWI3V0cxN2YzM2UvdE1FVnRkVHZuMnN0MCtyNXRVRUNC
QWcKUUlBQUFRSUU3aGU0MnIrQ3RWM2cxdVB0dlMvMXJ1UDl2TzBmQmJabTliaHY5ejFYNTZ6bjlt
dHNDUkFnUUlBQUFRSUVDSHdJZ2FzRgprTDc0WGd5dmozdi81Y3VYZndnbEZzZXRjLysyWGJmYk11
M2JhdG5uOVhPMkJBZ1FJRUNBQUFFQ0JLNGhjTEVBc2k1dTF3dnZoVzV0CnR3R2pIL2UyejlrKzl2
OEJXVVZQNzYvT2R6bjI4ZlhjMWJxT243cmRkZnpVdVk0UklFQ0FBQUVDQkFnUXVFL2dZZ0draXF3
TDFYV1IKMi90OVRpMTZlK0hiK3g5OTlOSHRzZHIrL3Z2dk43V3QxOVcrQUhMZkNQLzNYQnUzWjIx
WDB6NWU1NjM3UFpOK2ZXKzdZajEySTBDQQpBQUVDQkFnUUlIQXBnWXNHa0xxb1hzQ2UydmFDdUo2
ci9lMjkvZy9ldi8zMjI3dkFVUXRsQWVSaG8yN3ZNcXY5c2l6ZjNtNnQ2NXc2CnQ0NzNhMDl0SDFi
ZFdRUUlFQ0JBZ0FBQkFnUWVKbkRSQUZJTDJQVzJMbWo3VS9kMVVWeUw0KzI5QWtlL2JnMGo5UzJJ
MjkwQ2JWYmIKTnQ3YTl1Tit2clk5bC9YMWE1VTY3a2FBQUFFQ0JBZ1FJRURnVWdJWERTQjFVZXRD
dHZaN2dWdUwzYjczUXZqamp6KytxZnNubjN4eQo4K2JObTl0dk8rbzkralVWUnVwZU53SGtsdUhP
LzNSUWFMczJMdHUrdDNjLzEvTzRLNGowZTk1WjFCTUVDQkFnUUlBQUFRSUVIaWx3ClZnQ3BoZWth
Q09weDM2dCtMWUw3Y2UydkM5MWVCUGVpK0M5Lytjc2Z3a2VGa2JwWERUL0JldGhFVisvYTc1QlJ6
cDkrK3VsTk9kZTkKM1hzTzYyeTJjNnZLL2I2MVhXL2J4K3R6OWdrUUlFQ0FBQUVDQkFqY0pYQldB
TG5yemVwNExXSjcyNHZiWGd6M3R4MjlHSzZGY1FXTgorcWxWdjZiTzdXUDlEY2dhZG01UDlKK1RB
aFVLeXI5RFgxbFc0Q2p2c3U1Nys5ZHpOWk9lVDg5cm5lSEpRZzRTSUVDQUFBRUNCQWdRCk9GUGdJ
Z0ZrL1pSOFhRVDNRcmdXdHIwUTd1MW5uMzMyM2pjZmRVNHZtTGNCcEhvVFF1NmZjSDhqc1EwZ0ZU
QTZnSHorK2VjMzVWNzMKT3RhenFPMGFQdm85dG5POS93bzhTNEFBQVFJRUNCQWdRT0RQQlM0U1FM
cE1MMWpYNEZHaG9uL3VVd3ZkK2hUKzExOS9mUzk4MVBrZApQdXE1K2taay9RbFd2Mzl0QlpGVjQv
MS8rcmllS2N1YVEzbFdxT2h2bmNxOWdzY1hYM3p4TG9UVXNacEp6NmRmVTYvcjkrbGc4MzVWCmp3
Z1FJRUNBQUFFQ0JBaWNKL0NrQU5LQm8wSkI3OWUyRnE4ZEtub0JYSis0djM3OStqWjhWTURvdjF6
ZTU5VkN1SjVmdi8xWS94V3MKODlyTGVsWFBvQU5FYlR2WWxYOS8rMUVocEw0TnFRQlN4L3Zia0pw
Vm5kL3o2L2VyYmQzNmNaYXFiZ2tRSUVDQUFBRUNCQzRwOEtRQQpVaGZTaTlMZTl1SzFGcko5N3hC
U0MrRDFMNVYzK0tqbk81eFVBS2x6T3FSVXVQR3R4OE5HdnM2Z1Ewak5vUDM3VzVDYVF3V1Eva2xX
CmZ3dlM4NnB0ejdIZnM3Y1B1eEpuRVNCQWdBQUJBZ1FJRURndGNIWUFxUVhwTmhqVW9yV08xN1kv
ZmUvRmIvK0Y4djdtbzg2cmMrcjUKK2dTK2ZuclZQNy9haG85dG5kT3RPTm9oWVoxQkc3ZHpmeFBT
NGFOQ3lmcFRyQW9mSFY3NmZiYXlkZHlOQUFFQ0JBZ1FJRUNBd0RrQwpad2VRdGRoMjRkdWZudmVu
Ny8xVHFnNGYvWHd0aW4vNTVaZDNQNzFhZjM1VjUvYTNId0xJcW4zMy9xazVkQkNzV2RRM0hmMlRx
L29XCnBNUEhYVC9CNmtEWjczdDNaYzhRSUVDQUFBRUNCQWdRZUpqQWt3TklmeHJlaTlUKzlxTURS
RzA3ZU5RbDFYbDlUaStJSzNqMHR4OTkKZnIrK1hpT0FsTUtmMzlaWmRNaHI2d3A3SFVMYXZZSkho
WkJ0QUtuUXNuNEwwclB0OS8vekszRUdBUUlFQ0JBZ1FJQUFnZE1DVHdvZwp0U0R0Y05DTDFGcncx
ckZhd05hMkZyMTlUbDFDbmRmZmpQVFBybXBiZ2FOL2V0WGhZMzNkdW4rNmxleWphemhZWjlFQnBM
WVZRdnJlCmYrK2p0bjJ2dWF6aG8xN1Q3OVc2YTUwK1prdUFBQUVDQkFnUUlFRGdvUUpQQ2lCZFpG
MlUxbjR2ZXZ2NTJxN0hleEZjd2FOL2R0WGgKbzRKR0JaQzYxWDRIajk3ZVB1RS9meERvR2RTMjl6
dEE5RHdxWEhUNDYyOUVlaFo5dkVOSXY3WUtyZS81aDhJT0VDQkFnQUFCQWdRSQpFSGlFd0pNRFND
MU9PeHpVb3JYQ1F4MnJ4ZTU2cTJPOUVLN1FVUXZmN1RjZjlUNisvVmpWSHJkZnhuMnIvVGJ2YmMy
a1psRDJIVVk2CmNOUzI5K3U1OWZYcmUvYStiYWJBdDk5K205bTRyZ2tRSUVDQUFJR0xDVHc1Z1BT
VjFJSzFicjNZclNCUmk5MisxWDU5eTlFTDM5cXYKbi83ME54OXI4T2hBczkzMmU5bWVGbGhuVUdk
MGlPaVpkQURzYmMyaTczMnN0bjMrK3ZyVEZSMGxRSUFBQVFJRUNCQWc4RGlCaXdTUQpXcWgyV0tq
OXV0VkN0bTY5aU8xQVVndmVDaDExZm9lUDJxLzdHa0p1WCt3L1R4Sm8rdzRWOWJpRFJ1M1hMT3J4
ZXU5eityVjlBZlhZCmpRQUJBZ1FJRUNCQWdNQlRCUzRTUVBvaXRvdlVXdGhXc09qRmJHMTdBVnho
bzM3eXM0YU9PcmR1dmUzMzdlMWR4L3Y1MU8zV3ZSMzYKK05hLzU5REhPNEQwNCsyMjM4K1dBQUVD
QkFnUUlFQ0F3Rk1GTGhaQWF0SGFBYUgyNjliSDZuanQxMEszQWtmZE9ualVmajNmOTNyYwp0MzYv
Zm16N01JSDI3N1ByY2QvcldNK2k5bXNtL1Z4dis1emExcTJPdXhFZ1FJQUFBUUlFQ0JDNGhNREZB
a2hmekxwWTdlQlJ4enBnCjlINHRmT3ZXeDN2Lzl1QTkveEZLM3NkWnZkOS81ditQK3B6YTluNDky
NDk3MjYvWVB1N2p0Z1FJRUNCQWdBQUJBZ1NlS25EUkFGSUwKMXc0SXZZanR4M1doNi9QcjhkN3Y3
Vk9iOHZyM0JjcTlicjFkOS92WWRudjdnczFyK3BndEFRSUVDQkFnUUlBQWdYTUZMaHBBNmlKNgpJ
ZHRob2gvWHRvNnQyenEvajlXKzI0Y1g2SGxVcGQ3djdWcjkxTEgxZWZzRUNCQWdRSUFBQVFJRXpo
RzRlQURwaStnRmJBZVJPdDdICmF0dkgrMWkvcnJiOTNIck0vdU1GVHRuMnU5ejEzRjNIKzNXMkJB
Z1FJRUNBQUFFQ0JKNGk4TUVDU0YvVXVxQmRnOFY2dk0vdDdYM1AKOVRtMmx4UGdmVGxMNzBTQUFB
RUNCQWdRSUhDL3dBY1BJR3Y1ZGFHN2hwSDFIUHZYRVZobmNaMktxaEFnUUlBQUFRSUVDQkM0dWJs
cQpBRm5CTFlCWERmc0VDQkFnUUlBQUFRSUVNZ1QrOTIvaFp2U3FTd0lFQ0JBZ1FJQUFBUUlFaGdV
RWtPRUJLRStBQUFFQ0JBZ1FJRUFnClNVQUFTWnEyWGdrUUlFQ0FBQUVDQkFnTUN3Z2d3d05RbmdB
QkFnUUlFQ0JBZ0VDU2dBQ1NORzI5RWlCQWdBQUJBZ1FJRUJnV0VFQ0cKQjZBOEFRSUVDQkFnUUlB
QWdTUUJBU1JwMm5vbFFJQUFBUUlFQ0JBZ01Dd2dnQXdQUUhrQ0JBZ1FJRUNBQUFFQ1NRSUNTTksw
OVVxQQpBQUVDQkFnUUlFQmdXRUFBR1I2QThnUUlFQ0JBZ0FBQkFnU1NCQVNRcEducmxRQUJBZ1FJ
RUNCQWdNQ3dnQUF5UEFEbENSQWdRSUFBCkFRSUVDQ1FKQ0NCSjA5WXJBUUlFQ0JBZ1FJQUFnV0VC
QVdSNEFNb1RJRUNBQUFFQ0JBZ1FTQklRUUpLbXJWY0NCQWdRSUVDQUFBRUMKd3dJQ3lQQUFsQ2RB
Z0FBQkFnUUlFQ0NRSkNDQUpFMWJyd1FJRUNCQWdBQUJBZ1NHQlFTUTRRRW9UNEFBQVFJRUNCQWdR
Q0JKUUFCSgptclplQ1JBZ1FJQUFBUUlFQ0F3TENDRERBMUNlQUFFQ0JBZ1FJRUNBUUpLQUFKSTBi
YjBTSUVDQUFBRUNCQWdRR0JZUVFJWUhvRHdCCkFnUUlFQ0JBZ0FDQkpBRUJKR25hZWlWQWdBQUJB
Z1FJRUNBd0xDQ0FEQTlBZVFJRUNCQWdRSUFBQVFKSkFnSkkwclQxU29BQUFRSUUKQ0JBZ1FHQllR
QUFaSG9EeUJBZ1FJRUNBQUFFQ0JKSUVCSkNrYWV1VkFBRUNCQWdRSUVDQXdMQ0FBREk4QU9VSkVD
QkFnQUFCQWdRSQpKQWtJSUVuVDFpc0JBZ1FJRUNCQWdBQ0JZUUVCWkhnQXloTWdRSUFBQVFJRUNC
QklFaEJBa3FhdFZ3SUVDQkFnUUlBQUFRTERBZ0xJCjhBQ1VKMENBQUFFQ0JBZ1FJSkFrSUlBa1RW
dXZCQWdRSUVDQUFBRUNCSVlGQkpEaEFTaFBnQUFCQWdRSUVDQkFJRWxBQUVtYXRsNEoKRUNCQWdB
QUJBZ1FJREFzSUlNTURVSjRBQVFJRUNCQWdRSUJBa29BQWtqUnR2UklnUUlBQUFRSUVDQkFZRmhC
QWhnZWdQQUVDQkFnUQpJRUNBQUlFa0FRRWthZHA2SlVDQUFBRUNCQWdRSURBc0lJQU1EMEI1QWdR
SUVDQkFnQUFCQWtrQ0FralN0UFZLZ0FBQkFnUUlFQ0JBCllGaEFBQmtlZ1BJRUNCQWdRSUFBQVFJ
RWtnUUVrS1JwNjVVQUFRSUVDQkFnUUlEQXNJQUFNandBNVFrUUlFQ0FBQUVDQkFna0NRZ2cKU2RQ
V0t3RUNCQWdRSUVDQUFJRmhBUUZrZUFES0V5QkFnQUFCQWdRSUVFZ1NFRUNTcHExWEFnUUlFQ0JB
Z0FBQkFzTUNBc2p3QUpRbgpRSUFBQVFJRUNCQWdrQ1FnZ0NSTlc2OEVDQkFnUUlBQUFRSUVoZ1VF
a09FQktFK0FBQUVDQkFnUUlFQWdTVUFBU1pxMlhna1FJRUNBCkFBRUNCQWdNQ3dnZ3d3TlFuZ0FC
QWdRSUVDQkFnRUNTZ0FDU05HMjlFaUJBZ0FBQkFnUUlFQmdXRUVDR0I2QThBUUlFQ0JBZ1FJQUEK
Z1NRQkFTUnAybm9sUUlBQUFRSUVDQkFnTUN3Z2dBd1BRSGtDQkFnUUlFQ0FBQUVDU1FJQ1NOSzA5
VXFBQUFFQ0JBZ1FJRUJnV0VBQQpHUjZBOGdRSUVDQkFnQUFCQWdTU0JBU1FwR25ybFFBQkFnUUlF
Q0JBZ01Dd2dBQXlQQURsQ1JBZ1FJQUFBUUlFQ0NRSkNDQkowOVlyCkFRSUVDQkFnUUlBQWdXRUJB
V1I0QU1vVElFQ0FBQUVDQkFnUVNCSVFRSkttclZjQ0JBZ1FJRUNBQUFFQ3d3SUN5UEFBbENkQWdB
QUIKQWdRSUVDQ1FKQ0NBSkUxYnJ3UUlFQ0JBZ0FBQkFnU0dCUVNRNFFFb1Q0QUFBUUlFQ0JBZ1FD
QkpRQUJKbXJaZUNSQWdRSUFBQVFJRQpDQXdMQ0NEREExQ2VBQUVDQkFnUUlFQ0FRSktBQUpJMGJi
MFNJRUNBQUFFQ0JBZ1FHQllRUUlZSG9Ed0JBZ1FJRUNCQWdBQ0JKQUVCCkpHbmFlaVZBZ0FBQkFn
UUlFQ0F3TENDQURBOUFlUUlFQ0JBZ1FJQUFBUUpKQWdKSTByVDFTb0FBQVFJRUNCQWdRR0JZUUFB
WkhvRHkKQkFnUUlFQ0FBQUVDQkpJRUJKQ2thZXVWQUFFQ0JBZ1FJRUNBd0xDQUFESThBT1VKRUNC
QWdBQUJBZ1FJSkFrSUlFblQxaXNCQWdRSQpFQ0JBZ0FDQllRRUJaSGdBeWhNZ1FJQUFBUUlFQ0JC
SUVoQkFrcWF0VndJRUNCQWdRSUFBQVFMREFnTEk4QUNVSjBDQUFBRUNCQWdRCklKQWtJSUFrVFZ1
dkJBZ1FJRUNBQUFFQ0JJWUZCSkRoQVNoUGdBQUJBZ1FJRUNCQUlFbEFBRW1hdGw0SkVDQkFnQUFC
QWdRSURBc0kKSU1NRFVKNEFBUUlFQ0JBZ1FJQkFrb0FBa2pSdHZSSWdRSUFBQVFJRUNCQVlGaEJB
aGdlZ1BBRUNCQWdRSUVDQUFJRWtBUUVrYWRwNgpKVUNBQUFFQ0JBZ1FJREFzSUlBTUQwQjVBZ1FJ
RUNCQWdBQUJBa2tDQWtqU3RQVktnQUFCQWdRSUVDQkFZRmhBQUJrZWdQSUVDQkFnClFJQUFBUUlF
a2dRRWtLUnA2NVVBQVFJRUNCQWdRSURBc0lBQU1qd0E1UWtRSUVDQUFBRUNCQWdrQ1FnZ1NkUFdL
d0VDQkFnUUlFQ0EKQUlGaEFRRmtlQURLRXlCQWdBQUJBZ1FJRUVnU0VFQ1NwcTFYQWdRSUVDQkFn
QUFCQXNNQ0FzandBSlFuUUlBQUFRSUVDQkFna0NRZwpnQ1JOVzY4RUNCQWdRSUFBQVFJRWhnVUVr
T0VCS0UrQUFBRUNCQWdRSUVBZ1NVQUFTWnEyWGdrUUlFQ0FBQUVDQkFnTUN3Z2d3d05RCm5nQUJB
Z1FJRUNCQWdFQ1NnQUNTTkcyOUVpQkFnQUFCQWdRSUVCZ1dFRUNHQjZBOEFRSUVDQkFnUUlBQWdT
UUJBU1JwMm5vbFFJQUEKQVFJRUNCQWdNQ3dnZ0F3UFFIa0NCQWdRSUVDQUFBRUNTUUlDU05LMDlV
cUFBQUVDQkFnUUlFQmdXRUFBR1I2QThnUUlFQ0JBZ0FBQgpBZ1NTQkFTUXBHbnJsUUFCQWdRSUVD
QkFnTUN3Z0FBeVBBRGxDUkFnUUlBQUFRSUVDQ1FKQ0NCSjA5WXJBUUlFQ0JBZ1FJQUFnV0VCCkFX
UjRBTW9USUVDQUFBRUNCQWdRU0JJUVFKS21yVmNDQkFnUUlFQ0FBQUVDd3dJQ3lQQUFsQ2RBZ0FB
QkFnUUlFQ0NRSkNDQUpFMWIKcndRSUVDQkFnQUFCQWdTR0JRU1E0UUVvVDRBQUFRSUVDQkFnUUNC
SlFBQkptclplQ1JBZ1FJQUFBUUlFQ0F3TENDRERBMUNlQUFFQwpCQWdRSUVDQVFKS0FBSkkwYmIw
U0lFQ0FBQUVDQkFnUUdCWVFRSVlIb0R3QkFnUUlFQ0JBZ0FDQkpBRUJKR25hZWlWQWdBQUJBZ1FJ
CkVDQXdMQ0NBREE5QWVRSUVDQkFnUUlBQUFRSkpBZ0pJMHJUMVNvQUFBUUlFQ0JBZ1FHQllRQUFa
SG9EeUJBZ1FJRUNBQUFFQ0JKSUUKQkpDa2FldVZBQUVDQkFnUUlFQ0F3TENBQURJOEFPVUpFQ0JB
Z0FBQkFnUUlKQWtJSUVuVDFpc0JBZ1FJRUNCQWdBQ0JZUUVCWkhnQQp5aE1nUUlBQUFRSUVDQkJJ
RWhCQWtxYXRWd0lFQ0JBZ1FJQUFBUUxEQWdMSThBQ1VKMENBQUFFQ0JBZ1FJSkFrSUlBa1RWdXZC
QWdRCklFQ0FBQUVDQklZRkJKRGhBU2hQZ0FBQkFnUUlFQ0JBSUVsQUFFbWF0bDRKRUNCQWdBQUJB
Z1FJREFzSUlNTURVSjRBQVFJRUNCQWcKUUlCQWtvQUFralJ0dlJJZ1FJQUFBUUlFQ0JBWUZoQkFo
Z2VnUEFFQ0JBZ1FJRUNBQUlFa0FRRWthZHA2SlVDQUFBRUNCQWdRSURBcwpJSUFNRDBCNUFnUUlF
Q0JBZ0FBQkFra0NBa2pTdFBWS2dBQUJBZ1FJRUNCQVlGaEFBQmtlZ1BJRUNCQWdRSUFBQVFJRWtn
UUVrS1JwCjY1VUFBUUlFQ0JBZ1FJREFzSUFBTWp3QTVRa1FJRUNBQUFFQ0JBZ2tDUWdnU2RQV0t3
RUNCQWdRSUVDQUFDamY3RU1BQUJRVlNVUkIKVklGaEFRRmtlQURLRXlCQWdBQUJBZ1FJRUVnU0VF
Q1NwcTFYQWdRSUVDQkFnQUFCQXNNQ0FzandBSlFuUUlBQUFRSUVDQkFna0NUdwo0cHR2dm5tYjFM
QmVDUkFnUUlBQUFRSUVDQkNZRS9BTnlKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdR
SUVDQkFnTUNjCmdBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNj
Z2dNelpxMHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTUKaGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlC
QWdBQUJBZ1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZwpRSUFBQVFJ
RTRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFh
SmtDQUFBRUNCQWdRCklEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFC
QWdRSXpBa0lJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkEKNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJ
bkwzS0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQgpBZ1FJ
RUNCQWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9R
QUNKRzdtR0NSQWdRSUFBCkFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNC
QWdRSUVDQUFBRUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGkKQkFTUXVKRnJtQUFCQWdRSUVDQkFn
TUNjZ0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRUNCQWdNQ2NnZ016Wgpx
MHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFn
UUlFSWdURUVEaVJxNWhBZ1FJCkVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtM
aVJhNWdBQVFJRUNCQWdRSURBbklBQU1tZXZNZ0VDQkFnUUlFQ0EKQUlFNEFRRWtidVFhSmtDQUFB
RUNCQWdRSURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQWdBQUJBZ1FJekFr
SQpJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFn
UUlFQ0FBQUVDQk9JRUJKQzRrV3VZCkFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FD
Qk9BRUJKRzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUUKQ0JBZ1FDQk9RQUNKRzdt
R0NSQWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQ0JBZ1FJRUNB
QUFFQwpjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5
WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1CjVCb21RSUFBQVFJRUNCQWdNQ2NnZ016WnEweUFBQUVD
QkFnUUlFQWdUa0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkEKZ0FBQkFnUUlFSWdU
RUVEaVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQUFRSUU0Z1FFa0xpUmE1Z0FB
UUlFQ0JBZwpRSURBbklBQU1tZXZNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJ
REFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBCkFJa2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlIUDJL
aE1nUUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5MM0sKQkFnUUlFQ0FB
QUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5yeklCQWdRSUVDQkFnQUNCT0FFQkpH
N2tHaVpBZ0FBQgpBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUVDQkFnUUNCT1FBQ0pHN21HQ1JBZ1FJ
QUFBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRCmlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3
SUN5Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFnUUlFQ0JBZ01DY2dBQXkKWjY4eUFR
SUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01DY2dnTXpacTB5QUFBRUNCQWdRSUVB
Z1RrQUFpUnU1aGdrUQpJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkFnQUFCQWdRSUVJZ1RFRURpUnE1
aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBCkFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JB
Z1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVrYnVRYUprQ0FBQUVDQkFnUUlEQW4KSUlE
TTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMktoTWdRSUFB
QVFJRUNCQ0lFeEJBNGthdQpZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5MM0tCQWdRSUVDQUFBRUNCT0lF
QkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJCkVDQkFnQUNCT0FFQkpHN2tHaVpB
Z0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWdRQ0JPUUFDSkc3bUdDUkFnUUlBQUFRSUUK
Q013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTl5
Z1FJRUNCQWdBQUJBZ1RpQkFTUQp1SkZybUFBQkFnUUlFQ0JBZ01DY2dBQXlaNjh5QVFJRUNCQWdR
SUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBCkFBRUNCQWdRSUVBZ1RrQUFp
UnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUJBZ1FJRUlnVEVFRGlScTVoQWdRSUVD
QkEKZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5J
QUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNApBUUVrYnVRYUprQ0FBQUVDQkFnUUlEQW5JSURNMmF0TWdB
QUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAyCktoTWdRSUFBQVFJRUNC
Q0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1
WUFBRUMKQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNCQWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdR
SUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZwpRQ0JPUUFDSkc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NC
ejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdRSUVDQUFBRUNjd0lDCnlKeTl5Z1FJRUNC
QWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdC
QVNSdTVCb20KUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tR
SUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQgpBZ1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFC
QW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJhNWdBQVFJRUNCQWdRSURBCm5JQUFNbWV2
TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdRSURBbklJRE0yYXRNZ0FBQkFnUUlF
Q0JBSUU1QUFJa2IKdVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0
a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUQpJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNC
QWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9BRUJKRzdrR2laQWdBQUJBZ1FJCkVDQXdK
eUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElF
Q0FBQUVDQkFnUWlCTVEKUU9KR3JtRUNCQWdRSUVDQUFBRUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFn
VGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eQpBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVC
b21RSUFBQVFJRUNCQWdNQ2NnZ016WnEweUFBQUVDQkFnUUlFQWdUa0FBaVJ1NWhna1FJRUNBCkFB
RUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdURUVEaVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNp
Y3Zjb0VDQkFnUUlBQUFRSUUKNGdRRWtMaVJhNWdBQVFJRUNCQWdRSURBbklBQU1tZXZNZ0VDQkFn
UUlFQ0FBSUU0QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFuSUlETQoyYXRNZ0FBQkFnUUlFQ0JBSUU1
QUFJa2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1nUUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlF
CkNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNB
d0p5QUFESm5yeklCQWdRSUVDQkEKZ0FDQk9BRUJKRzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1y
VElBQUFRSUVDQkFnUUNCT1FBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013SgpDQ0J6OWlvVElFQ0FBQUVD
QkFnUWlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1
SkZyCm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFB
UUlFQ0JBZ01DY2dnTXpacTB5QUFBRUMKQkFnUUlFQWdUa0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1D
UWdnYy9ZcUV5QkFnQUFCQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQgpBbk1DQXNpY3Zjb0VD
QkFnUUlBQUFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJ
RTRBUUVrCmJ1UWFKa0NBQUFFQ0JBZ1FJREFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZ
WUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMktoTWcKUUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJ
QUFBUUp6QWdMSW5MM0tCQWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUQpJRUNBd0p5QUFE
Sm5yeklCQWdRSUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJ
RUNCQWdRQ0JPClFBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJN
UVFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTkKeWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFB
QkFnUUlFQ0JBZ01DY2dBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQQpBUUlFQ0JB
Z01DY2dnTXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lx
RXlCQWdBQUJBZ1FJCkVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFB
QVFJRTRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUEKTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVr
YnVRYUprQ0FBQUVDQkFnUUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSgpFQ0JB
Z0FBQkFnUUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpB
Z0xJbkwzS0JBZ1FJRUNBCkFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJB
Z1FJRUNCQWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXcKSnlDQXpObXJUSUFBQVFJRUNCQWdR
Q0JPUUFDSkc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KRwpy
bUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVD
QkFnTUNjZ0FBeVo2OHlBUUlFCkNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dN
elpxMHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUMKQkFqTUNRZ2djL1lxRXlCQWdB
QUJBZ1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdR
RQprTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtD
QUFBRUNCQWdRSURBbklJRE0yYXRNCmdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdR
SXpBa0lJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWcKUUlBQUFRSnpBZ0xJbkwz
S0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JB
Z0FDQgpPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNK
RzdtR0NSQWdRSUFBQVFJRUNNd0pDQ0J6Cjlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdR
SUVDQUFBRUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUIKQWdRSUVDQkFnTUNj
Z0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRUNCQWdNQ2NnZ016WnEweUFB
QUVDQkFnUQpJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlF
SWdURUVEaVJxNWhBZ1FJRUNCQWdBQUJBbk1DCkFzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJh
NWdBQVFJRUNCQWdRSURBbklBQU1tZXZNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1UWEKSmtDQUFBRUNC
QWdRSURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlI
UDJLaE1nUUlBQQpBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlF
Q0FBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBCndKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9B
RUJKRzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUVDQkFnUUNCT1FBQ0oKRzdtR0NS
QWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFF
Q2N3SUN5Snk5eWdRSQpFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4
eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFCkNCQWdNQ2NnZ016WnEweUFBQUVDQkFn
UUlFQWdUa0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkFnQUFCQWdRSUVJZ1QKRUVE
aVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQUFRSUU0Z1FFa0xpUmE1Z0FBUUlF
Q0JBZ1FJREFuSUFBTW1ldgpNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFu
SUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBCmdBQUJBZ1FJekFrSUlIUDJLaE1n
UUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5MM0tCQWdRSUVDQUFBRUMK
Qk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5yeklCQWdRSUVDQkFnQUNCT0FFQkpHN2tH
aVpBZ0FBQkFnUUlFQ0F3SnlDQQp6Tm1yVElBQUFRSUVDQkFnUUNCT1FBQ0pHN21HQ1JBZ1FJQUFB
UUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDCkJBZ1FJRUNBQUFFQ2N3SUN5
Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFnUUlFQ0JBZ01DY2dBQXlaNjh5QVFJRUNC
QWcKUUlBQWdUaUIvd0Q0RENZYW9Wa1MvZ0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75708</attachid>
            <date>2010-12-06 09:49:26 -0800</date>
            <delta_ts>2010-12-06 10:09:44 -0800</delta_ts>
            <desc>Patch for review.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>627790</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzM0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzA1IEBACisyMDEwLTEyLTA1ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
Zm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTIyMCA8PHJkYXI6
Ly9wcm9ibGVtLzg2NDQ4NDk+LCBSRUdSRVNTSU9OOiB0cmFuc2Zvcm1zIG5vdworCU8obl4zKSBm
cm9tIHBhdGhvbG9naWNhbCBiZWhhdmlvciBpbiBsb3dlc3RQb3NpdGlvbiwgcmlnaHRtb3N0UG9z
aXRpb24sIGxlZnRtb3N0UG9zaXRpb24gYW5kIHRvcG1vc3RQb3NpdGlvbi4KKworCVRoaXMgcGF0
Y2ggdGhyb3dzIG91dCB0aGUgbG93ZXN0L3JpZ2h0bW9zdC9sZWZ0bW9zdC90b3Btb3N0UG9zaXRp
b24gZnVuY3Rpb25zIGFuZCByZS1hcmNoaXRlY3RzIGxheW91dCBvdmVyZmxvdworCWluIHRoZSBl
bmdpbmUgdG8gY2FjaGUgYWxsIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBwcm9wZXJseSBo
YW5kbGUgc2Nyb2xsaW5nLgorCisJSW4gdGhlIG9sZCBjb2RlLCB0aGVyZSB3ZXJlIHR3byB0eXBl
cyBvZiBvdmVyZmxvdzogbGF5b3V0IG92ZXJmbG93IGFuZCB2aXN1YWwgb3ZlcmZsb3cuICBUaGUg
Zm9ybWVyIGNvdWxkCisJYWZmZWN0IHNjcm9sbGluZyBhbmQgdGhlIGxhdHRlciBjb3VsZCBub3Qu
ICBUaGUgZGlzdGluY3Rpb24gd2FzIGxhcmdlbHkgbWVhbmluZ2xlc3MsIHNpbmNlIGxheW91dCBv
dmVyZmxvdworCXdhc24ndCBhY3R1YWxseSB1c2VkIHRvIGRldGVybWluZSBzY3JvbGwgd2lkdGgg
b3Igc2Nyb2xsIGhlaWdodC4gIEl0IGRpZG4ndCBwcm9wYWdhdGUgYWNyb3NzIHNlbGYtcGFpbnRp
bmcgbGF5ZXIKKwlib3VuZGFyaWVzIGVpdGhlci4gIEluIHRoZSBvbGQgY29kZSwgdGhlIHRlcm0g
dmlzaWJsZSBvdmVyZmxvdyBtZWFudCB0aGUgdW5pb24gb2YgdGhlIGxheW91dCBvdmVyZmxvdyBh
bmQKKwl2aXN1YWwgb3ZlcmZsb3cgcmVjdHMuCisKKwlJbiB0aGUgbmV3IGNvZGUsIHRoZSB0d28g
dHlwZXMgb2Ygb3ZlcmZsb3cgcmVtYWluLCBidXQgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhl
IHR3byBpcyBub3cgY2xlYXIuICBWaXN1YWwgb3ZlcmZsb3cKKwlpcyB1c2VkIHB1cmVseSBmb3Ig
cGFpbnRpbmcgYW5kIGhpdCB0ZXN0aW5nIGNoZWNrcyBhbmQgbGF5b3V0IG92ZXJmbG93IGlzIHVz
ZWQgc3BlY2lmaWNhbGx5IGZvciBzY3JvbGxpbmcuICBJdCBoYXMKKwliZWVuIGV4cGFuZGVkIHRv
IHByb3BhZ2F0ZSBhY3Jvc3Mgc2VsZi1wYWludGluZyBsYXllcnMsIHRvIGZhY3RvciBpbiByZWxh
dGl2ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcywgYW5kIHRvCisJd29yayB3aXRoIHdyaXRp
bmcgbW9kZXMuCisKKwlJbiBvcmRlciB0byBtaW5pbWl6ZSBsYXlvdXQgdGVzdCBjaGFuZ2VzLCBs
YXllcnMgbm8gbG9uZ2VyIGluY29ycG9yYXRlIHJpZ2h0L2JvdHRvbSBvdmVyZmxvdyBpbnRvIHRo
ZWlyIHdpZHRoL2hlaWdodCBtZW1iZXJzLgorCURvaW5nIHNvIHVuY292ZXJlZCB0d28gYnVncyB3
aGVyZSBsZWZ0L3RvcCBvdmVyZmxvdyB3YXMgaWdub3JlZCAocHJvb2YgdGhhdCBldmVuIGhhdmlu
ZyBsYXllciBkaW1lbnNpb25zIGlzIGhhcm1mdWwpLgorCUEgcmVuZGVyIHRyZWUgZHVtcCBoYWNr
IGhhcyBiZWVuIHB1dCBpbnRvIHRoZSBjb2RlIHRvIGtlZXAgdGhpcyBvdmVyZmxvdyBkdW1waW5n
IGZvciB0aGUgUmVuZGVyVmlldydzIGxheWVyLCBzaW5jZSBvdGhlcndpc2UKKwlhIGh1Z2UgbnVt
YmVyIG9mIHRlc3RzIHdvdWxkIGNoYW5nZS4KKworICAgICAgICBBZGRlZCBmYXN0L292ZXJmbG93
L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC5odG1sIHRvIHRlc3QgdmVydGljYWwgd3JpdGluZy1tb2Rl
IG92ZXJmbG93LiAgRXhpc3RpbmcgdGVzdHMgY292ZXIgdGhlIHJlc3QuCisKKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFZp
ZXdTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdp
bmF0aW9uKToKKwlDaGFuZ2VkIHRvIHVzZSBSZW5kZXJWaWV3J3MgZG9jVG9wL0xlZnQvV2lkdGgv
SGVpZ2h0IGFjY2Vzc29ycywgd2hpY2ggc2ltcGx5IGdyYWIgdGhlIG92ZXJmbG93IGFuZCBwcm9w
ZXJseSBmbGlwIGl0CisJdG8gYWNjb3VudCBmb3Igd3JpdGluZyBtb2Rlcy4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6
OnNoaWZ0TGVmdEVkZ2VUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRSZWN0OjpzaGlmdFJpZ2h0
RWRnZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNoaWZ0VG9wRWRnZVRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNoaWZ0Qm90dG9tRWRnZVRvKToKKwlOZXcgaGVscGVy
IGZ1bmN0aW9ucyBmb3Igc2xpZGluZyB0aGUgZWRnZSBvZiBhIHJlY3RhbmdsZSB3aXRob3V0IG1v
dmluZyBhbnkgb2YgdGhlIG90aGVyIHRocmVlIGVkZ2VzLgorCisgICAgICAgICogcmVuZGVyaW5n
L0lubGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpmcmFtZVJlY3QpOgor
CWZyYW1lUmVjdCBpcyBhIGhlbHBlciBmb3Igb2J0YWluaW5nIHRoZSB4LCB5LCB3aWR0aCwgaGVp
Z2h0IG9mIGFuIElubGluZUJveCBhcyBhbiBJbnRSZWN0LgorCisgICAgICAgICogcmVuZGVyaW5n
L0lubGluZUZsb3dCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6cGxh
Y2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKToKKwlBbGwgb2YgdGhlIG92ZXJmbG93IHNldHRpbmcg
aW4gdGhlIGlubGluZSBkaXJlY3Rpb24gaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoaXMgZnVuY3Rp
b24uICBBbGwgbGluZSBvdmVyZmxvdyBpcyBjb21wdXRlZAorCWF0IG9uY2Ugbm93IGluIGEgc2lu
Z2xlIGZ1bmN0aW9uOiBjb21wdXRlT3ZlcmZsb3cuCisKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUZsb3dCb3g6OmFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUZsb3dCb3g6OmFkZFRleHRCb3hWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjphZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3cpOgorCUhlbHBlciBm
b3IgcHJvcGFnYXRpbmcgb3ZlcmZsb3cgZnJvbSBzcGVjaWZpYyB0eXBlcyBvZiBjaGlsZHJlbiB0
aGF0IG9jY3VyIG9uIGEgbGluZSBpbnRvIHRoZSBJbmxpbmVGbG93Qm94J3Mgb3ZlcmZsb3cuCisK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyk6CisJVGhl
IG5ldyBmdW5jdGlvbiB0aGF0IGNvbXB1dGVzIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwg
b3ZlcmZsb3cgZm9yIGEgbGluZSBib3guCisKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dC
b3g6OnNldExheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6
OnNldFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnNl
dE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyk6CisJTmV3IGZ1bmN0aW9ucyB0aGF0IHNldCB0aGUg
b3ZlcmZsb3cgY29tcHV0ZWQgYnkgY29tcHV0ZU92ZXJmbG93LiAgVGhlc2UgcmVwbGFjZSBzZXRC
bG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zCisgCWFuZCBzZXRJbmxpbmVEaXJlY3Rpb25P
dmVyZmxvd1Bvc2l0aW9ucy4gIFRoZXkgZXNzZW50aWFsbHkgZG8gdGhlIHNhbWUgdGhpbmcsIGJ1
dCB0aGV5IG9wZXJhdGUgb24gcmVjdGFuZ2xlcy4KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6bm9kZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
cGFpbnQpOgorCUNoYW5nZWQgdG8gdXNlIHZpc3VhbCBvdmVyZmxvdyBpbnN0ZWFkIG9mIHZpc2li
bGUgb3ZlcmZsb3cuICAoVmlzaWJsZSBvdmVyZmxvdyBhcyBhIHVuaW9uIG9mIGxheW91dCBhbmQg
dmlzdWFsCisJb3ZlcmZsb3cgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSwgc2luY2UgdmlzdWFsIG92
ZXJmbG93IGlzIG5vdyBlcXVpdmFsZW50IHRvIHRoZSBvbGQgdmlzaWJsZSBvdmVyZmxvdyBjb25j
ZXB0LikKKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94Ojpsb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QpOgor
CUhlbHBlcnMgZm9yIG9idGFpbmluZyBsb2dpY2FsIG92ZXJmbG93IHJlY3RhbmdsZXMsIHNpbmNl
IGxpbmVzIGNvbXB1dGUgdGhlaXIgb3ZlcmZsb3cgaW4gbG9naWNhbCB0ZXJtcyBiZWZvcmUKKwlj
b252ZXJ0aW5nIHRvIGJsb2NrIGNvb3JkaW5hdGVzIGF0IHRoZSBlbmQuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmxheW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxv
d0Zyb21DaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0ZU92
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21G
bG9hdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbVBv
c2l0aW9uZWRPYmplY3RzKToKKwlCbG9ja3Mgbm93IGhhdmUgYSBjb21wdXRlT3ZlcmZsb3cgZnVu
Y3Rpb24gY2FsbGVkIGF0IHRoZSBlbmQgdGhhdCBhZGRzIGluIGFsbCB0aGUgdHlwZXMgb2Ygb3Zl
cmZsb3cuICBUaGUgYWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4KKwltZXRob2QgaXMgdmlydHVhbCBz
byB0aGF0IFJlbmRlckxpc3RJdGVtIGFuZCBSZW5kZXJUYWJsZSBjYW4gc3ViY2xhc3MgaXQuICBS
ZW5kZXJMaXN0SXRlbSBoYXMgdG8gcG9zaXRpb24gaXRzIGxpc3QgbWFya2VyIGFuZAorCXByb3Bh
Z2F0ZSBtYXJrZXIgb3ZlcmZsb3cgdXAsIGFuZCBSZW5kZXJUYWJsZSBhZGRzIGluIG92ZXJmbG93
IGZyb20gaXRzIHNlY3Rpb25zLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5
b3V0T25seVBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyk6CisJV2hlbiBvbmx5IHBvc2l0aW9uZWQgb2JqZWN0
cyBsYXkgb3V0LCBvdmVyZmxvdyBtdXN0IHN0aWxsIGJlIHJlY29tcHV0ZWQuICBUaGUgcmVmYWN0
b3Jpbmcgb2Ygb3ZlcmZsb3cgY29tcHV0YXRpb24gaW50byBhIHNpbmdsZQorCWNhbGxhYmxlIG1l
dGhvZDogY29tcHV0ZU92ZXJmbG93LCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgdGhpcyB0byBiZSBk
b25lIGVhc2lseS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50KToKKwl2
aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92
ZXJoYW5naW5nRmxvYXRzKToKKwlUaGUgcHJvcGFnYXRpb24gb2YgZmxvYXQgb3ZlcmZsb3cgaGFz
IGNoYW5nZWQgc3Vic3RhbnRpYWxseS4gIFRoZSBiYXNpYyBydWxlcyBhcmU6CisJCSgxKSBUaGUg
ZmxvYXQgbXVzdCBiZSBpbiBvdXIgZmxvYXRpbmcgb2JqZWN0cyBsaXN0IHRvIGNvbnRyaWJ1dGUg
dG8gb3ZlcmZsb3cuCisJCSgyKSBUaGUgZmxvYXQgbXVzdCBiZSBhIGRlc2NlbmRhbnQgdG8gY29u
dHJpYnV0ZSB0byBvdmVyZmxvdy4KKwkJKDMpIFRoZSBibG9jayBtdXN0IGhhdmUgdGhlIG91dGVy
bW9zdCBsaXN0IHRoYXQgY29udGFpbnMgdGhlIGZsb2F0LCBvciBpdCBoYXMgYSBzZWxmLXBhaW50
aW5nIGxheWVyIGFuZAorCQlzbyB0aGUgZmxvYXQgbmVlZHMgdG8gYmUgaW5jbHVkZWQgaW4gaXRz
IG92ZXJmbG93LgorCQkKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpub2RlQXRQb2lu
dCk6CisJdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpsYXlvdXRDb2x1bW5zKToKKwlSZW1vdmUgY29sdW1uIG92ZXJmbG93IGNvbXB1dGF0aW9uIGZy
b20gbGF5b3V0Q29sdW1ucyBhbmQgbW92ZSBpdCB0byBjb21wdXRlT3ZlcmZsb3cuCisKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9u
KToKKwl2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
ay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnNjcm9sbGJhcnNDaGFuZ2VkKToK
KwlBZGRlZCBhIG5ldyB2aXJ0dWFsIG1ldGhvZCB1c2VkIGJ5IHRhYmxlIGNlbGxzIHdoZW4gc2Ny
b2xsYmFycyBpbiBhbiBvdmVyZmxvdzphdXRvL3Njcm9sbCB0YWJsZSBjZWxsIGNvbWUgYW5kIGdv
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dG
b3JMaW5lKToKKwl2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzY3JvbGxXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbEhlaWdodCk6CisJUGF0Y2hlZCB0byB1
c2UgbGF5b3V0T3ZlcmZsb3cgZnVuY3Rpb25zIGluc3RlYWQgb2YgdGhlIG9sZCByaWdodG1vc3Qv
bGVmdG1vc3RQb3NpdGlvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6cGFpbnRSb290Qm94RGVjb3JhdGlvbnMpOgorCVVzZSBkb2NMZWZ0IGFuZCBkb2NUb3AgaGVy
ZSwgc28gdGhhdCB3cml0aW5nIG1vZGVzIGFyZSBoYW5kbGVkLgorCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKwl2aXNpYmxlIC0+
IHZpc3VhbC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRPdmVyZmxvd0Zyb21D
aGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFkZExheW91dE92ZXJmbG93KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZsb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFn
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp2aXN1YWxPdmVyZmxvd1JlY3RG
b3JQcm9wYWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxvZ2ljYWxMYXlv
dXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94Lmg6CisJVGhlIG5ldyBvdmVyZmxvdyBzeXN0ZW0gZm9yIGJveGVzLiAgTGF5
b3V0IG92ZXJmbG93IG5vdyBjcm9zc2VzIHNlbGYtcGFpbnRpbmcgbGF5ZXIgYm91bmRhcmllcyBh
bmQgYWRqdXN0cyBjaGlsZCBib3hlcworCWZvciB0cmFuc2Zvcm1zLCByZWxhdGl2ZSBwb3NpdGlv
bmluZyBhbmQgd3JpdGluZyBtb2RlIGRpZmZlcmVuY2VzLgorCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
b3g6OnRvcExheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Ym90
dG9tTGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsZWZ0TGF5
b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpyaWdodExheW91dE92
ZXJmbG93KToKKwlDaGFuZ2VkIHRoZSBkZWZhdWx0IHJlY3RhbmdsZSBmb3IgbGF5b3V0IG92ZXJm
bG93IHRvIGJlIHRoZSBjbGllbnQgYm94IHRvIG1hdGNoIHRoZSBzY3JvbGxhYmxlIGFyZWFzIG9m
IG92ZXJmbG93IHJlZ2lvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y2xpZW50
TG9naWNhbEJvdHRvbSk6CisJTmV3IGhlbHBlciBmb3Igb2J0YWluaW5nIHRoZSBsb2dpY2FsIGJv
dHRvbSBvZiB0aGUgY2xpZW50IGJveC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpj
bGllbnRCb3hSZWN0KToKKwlOZXcgaGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIGNsaWVudExlZnQv
VG9wL1dpZHRoL0hlaWdodCBib3guCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpyZWxh
dGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCk6CisJSGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIHJl
bGF0aXZlIHBvc2l0aW9uIG9mZnNldCB0cmFuc3Bvc2VkIGZvciB2ZXJ0aWNhbCB3cml0aW5nIG1v
ZGVzLiAgVXNlZCBieSBsaW5lIG92ZXJmbG93LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojps
YXlvdXRCbG9jayk6CisJQ2hhbmdlZCBmbGV4aWJsZSBib3hlcyB0byBqdXN0IGNhbGwgdGhlIGJh
c2UgY2xhc3MgY29tcHV0ZU92ZXJmbG93IG1ldGhvZC4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpsaW5lc1Zp
c3VhbE92ZXJmbG93Qm91bmRpbmdCb3gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisJdmlzaWJsZSAtPiB2aXN1YWwuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVM
YXllclBvc2l0aW9uKToKKwlDaGFuZ2VkIGxheWVycyB0byBubyBsb25nZXIgaW5jb3Jwb3JhdGUg
cmlnaHQvYm90dG9tIG92ZXJmbG93IGludG8gd2lkdGgvaGVpZ2h0LiAgVGhpcyBpcyB0aGUgcmVh
c29uIG1hbnkgbGF5b3V0CisJdGVzdHMgY2hhbmdlLiAgKE5vdCBkb2luZyB0aGlzIG1ha2VzIHRo
ZSBsYXlvdXQgdGVzdCBjaGFuZ2VzIGZhciB3b3JzZSwgc2luY2Ugb3ZlcmZsb3cgcHJvcGFnYXRl
cyBhY3Jvc3Mgc2VsZi1wYWludGluZworCWxheWVycyBub3cuKQorCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6Om92ZXJmbG93Qm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpvdmVy
Zmxvd0xlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om92ZXJmbG93UmlnaHQp
OgorCW92ZXJmbG93VG9wL0JvdHRvbS9MZWZ0L1JpZ2h0IHJldHVybiBvdmVyZmxvdyB0aGF0IGFj
Y291bnRzIGZvciB3cml0aW5nIG1vZGVzLCBpLmUuLCBwdXJlbHkgcGh5c2ljYWwgb3ZlcmZsb3cg
dGhhdCBjYW4gYmUgdXNlZAorCXRvIHNldCB1cCB0aGUgc2Nyb2xsIGFyZWEuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpjb21wdXRlU2Nyb2xsRGltZW5zaW9ucyk6CisJRHJhc3Rp
Y2FsbHkgc2ltcGxpZmllZCB0aGlzIG1ldGhvZCBub3cgdGhhdCBvdmVyZmxvd1RvcC9Cb3R0b20v
TGVmdC9SaWdodCBqdXN0IGRvIHRoZSByaWdodCB0aGluZyByZWdhcmRpbmcgdW5yZWFjaGFibGUg
b3ZlcmZsb3cuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxJ
bmZvQWZ0ZXJMYXlvdXQpOgorCU1ha2Ugc3VyZSB0byBleHBsaWNpdGx5IHNldCB0aGUgdmVydGlj
YWwgc2Nyb2xsYmFyJ3MgcG9zaXRpb24ganVzdCBhcyB3ZSBkaWQgd2l0aCBob3Jpem9udGFsIHNj
cm9sbGJhcnMsIHNvIHRoYXQgY2xhbXBpbmcgdG8gdGhlCisJYm90dG9tIHdvcmtzLgorCisgICAg
ICAgIChXZWJDb3JlOjpwZXJmb3JtT3ZlcmxhcFRlc3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpwYWludExheWVyKToKKwlGaXggYSBidWcgaW4gcGVyZm9ybU92ZXJsYXBUZXN0
cy4gIEl0IGluY29ycmVjdGx5IHVzZWQgdGhlIGxheWVyJ3MgYm91bmRzLCBhbmQgc28gaXQgZGlk
bid0IGFjY291bnQgZm9yIGxlZnQvdG9wIG92ZXJmbG93IG91dAorCW9mIHRoZSBsYXllciAoc2Vl
IHdoeSBJIGhhdGUgbGF5ZXJzIGV2ZW4gaGF2aW5nIGRpbWVuc2lvbnM/KS4gIENoYW5nZWQgaXQg
dG8gdXNlIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGxheWVyIGluc3RlYWQuCisKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0KToKKwlGaXggYSBidWcgaW4gaGl0IHRlc3Rp
bmcuICBJdCBpbmNvcnJlY3RseSB1c2VkIHRoZSByb290IGxheWVyJ3MgYm91bmRzIGFzIHRoZSBs
aW1pdCBvZiB0aGUgaGl0IHRlc3QsIGFuZCBzbyBpdCBkaWRuJ3QgYWNjb3VudAorCWZvciBsZWZ0
L3RvcCBvdmVyZmxvdyBpbiBhIFNjcm9sbFZpZXcgKGhhdGUgaGF0ZSBoYXRlIGxheWVycyBoYXZp
bmcgZGltZW5zaW9ucykuICBJIGNoYW5nZWQgaXQgdG8gdXNlIHRoZSBoaXQgdGVzdCByZWN0IGlu
c3RlYWQsCisJc28gdGhhdCB0aGUgZGFtYWdlIHJlY3QgbmV2ZXIgc3RvcHMgdGhlIHBvaW50IGZy
b20gYmVpbmcgdGVzdGVkICh1bmxlc3MgdGhlIGhpdCB0ZXN0IHJlcXVlc3Qgc2F5cyBub3QgdG8g
aWdub3JlIGNsaXBwaW5nKS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmxvY2Fs
Qm91bmRpbmdCb3gpOgorCXZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisJQWRkZWQgdGhlIG5ldyBvdmVyZmxvd1RvcC9MZWZ0L1JpZ2h0L0Jv
dHRvbSBhY2Nlc3NvcnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJveExpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNl
Y3RzUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6bGluZUludGVy
c2VjdHNEaXJ0eVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0KToKKwl2
aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0SXRlbTo6YWRkT3ZlcmZsb3dGcm9tQ2hp
bGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmg6CisJUmVuZGVyTGlz
dEl0ZW0gbm93IHBvc2l0aW9ucyB0aGUgbGlzdCBtYXJrZXIgd2hlbiBjb21wdXRpbmcgaXRzIG92
ZXJmbG93LCBzaW5jZSB0aGUgbWFya2VyIHByb3BhZ2F0ZXMgb3ZlcmZsb3cgYmFjayB1cCB0byB0
aGUgbGlzdCBpdGVtLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQpOgorCXZpc2libGUg
LT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6Y29tcHV0ZVBvc2l0aW9uKToKKwlDaGFuZ2Vk
IHRvIHVzZSBvdmVyZmxvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiByaWdodG1vc3QvbG93ZXN0UG9z
aXRpb24uCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJNZWRpYS5oOgorCVJlbW92ZWQgdGhlIGxvd2VzdC90b3Btb3N0L3Jp
Z2h0bW9zdC9sZWZ0bW9zdFBvc2l0aW9uIGZ1bmN0aW9ucywgc2luY2UgY29udHJvbCBvdmVyZmxv
dyBpcyBoYW5kbGVkIHByb3Blcmx5IGFscmVhZHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpSZW5kZXJP
dmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6c2V0TGF5b3V0T3Zl
cmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OnNldFZpc3VhbE92ZXJm
bG93KToKKwlBZGQgbmV3IHNldHRlcnMgZm9yIGxheW91dCBhbmQgdmlzdWFsIG92ZXJmbG93IGFz
IHJlY3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorCXZp
c2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUnVieVJ1bjo6bGF5b3V0KToKKwlDYWxsIGNvbXB1
dGVPdmVyZmxvdyB0byByZWNvbXB1dGUgb3VyIG92ZXJmbG93IGluZm9ybWF0aW9uIGFmdGVyIHdl
IGFkanVzdCB0aGUgcnVieS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZTo6cGFpbnQpOgorCSogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6CisJ
TW92ZSBzZWN0aW9uIG92ZXJmbG93IHByb3BhZ2F0aW9uIGludG8gYWRkT3ZlcmZsb3dGcm9tQ2hp
bGRyZW4sIGFuZCBjaGFuZ2UgUmVuZGVyVGFibGUgdG8ganVzdCBjYWxsIGNvbXB1dGVPdmVyZmxv
dy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6
CisJdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2Vs
bDo6c2Nyb2xsYmFyc0NoYW5nZWQpOgorCUFkZGluZyB1bnJlYWNoYWJsZSBvdmVyZmxvdyBzdXBw
b3J0IChzb21ldGhpbmcgdGhhdCBpbiB0aGUgb2xkIGNvZGUgb25seSBleGlzdGVkIGZvciBwb3Np
dGlvbmVkIG9iamVjdHMgaW4gdGhlIHJvb3QgdmlldykgZXhwb3NlZAorCWEgYnVnIGluIHRhYmxl
IGxheW91dC4gIElmIHNjcm9sbGJhcnMgYXJlIGFkZGVkIGR1cmluZyB0aGUgbGF5b3V0IHRoYXQg
b2NjdXJzIGFmdGVyIGludHJpbnNpYyBwYWRkaW5nIHdhcyBpbmNvcnBvcmF0ZWQgaW50byB0aGUK
KwljZWxsLCB0aGVuIHRoZSBjZWxsIHdvbid0IGxheSBvdXQgcHJvcGVybHkgdGhlIHNlY29uZCB0
aW1lIChhZnRlciB0aGUgc2Nyb2xsYmFycyBoYXZlIGJlZW4gYWRkZWQpLiAgV2UgaGF2ZSB0byBh
ZGp1c3QgdGhlIGludHJpbnNpYworCXBhZGRpbmcgYWNjb3VudGluZyBmb3IgdGhlIHByZXNlbmNl
IG9mIHRoZSBuZXcgc2Nyb2xsYmFyIHNvIHRoYXQgdGhhdCBzZWNvbmQgbGF5b3V0IHdpbGwgZ2V0
IHRoZSByaWdodCBkaW1lbnNpb25zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpoYXNWaXN1YWxPdmVy
Zmxvdyk6CisJdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6
bGF5b3V0Um93cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgor
CXZpc2libGUgLT4gdmlzdWFsLiAgUmVtb3ZlZCB0aGUgbGVmdG1vc3QvcmlnaHRtb3N0L3RvcG1v
c3QvYm90dG9tbW9zdFBvc2l0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlTGF5ZXJzKToKKwlB
ZGRlZCBhIGhhY2sgdG8gcmVuZGVyIHRyZWUgZHVtcGluZyB0byBpbmNsdWRlIHJpZ2h0L2JvdHRv
bSBvdmVyZmxvdyBmb3IgdGhlIHJvb3QgbGF5ZXIgb25seS4gIFRoaXMga2VlcHMgYSB6aWxsaW9u
IGxheW91dCB0ZXN0cworCWZyb20gZmFpbGluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmxheW91dCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6ZG9jQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmRvY0xl
ZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9jUmlnaHQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpk
b2NIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9jV2lkdGgpOgorCVJl
bmRlclZpZXcgbm93IHVzZXMgZG9jTGVmdC9Ub3AvSGVpZ2h0L1dpZHRoIGZ1bmN0aW9ucywgd2hp
Y2ggYXJlIGp1c3Qgb3ZlcmZsb3cgcXVlcmllcyB0aGF0IGFjY291bnQgZm9yIHdyaXRpbmcgbW9k
ZXMuICBUaGVzZSBtZXRob2RzCisJYXJlIG5vdyB0aGUgcHJlZmVycmVkIHdheSB0byBxdWVyeSBm
b3IgdGhlIHBoeXNpY2FsIGRpbWVuc2lvbnMgb2YgYSBkb2N1bWVudC4KKworICAgICAgICAqIHJl
bmRlcmluZy9Sb290SW5saW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVC
b3g6OmFkZEhpZ2hsaWdodE92ZXJmbG93KToKKwlDaGFuZ2VkIHRvIGNhbGwgc2V0T3ZlcmZsb3dG
cm9tTG9naWNhbFJlY3RzIGluc3RlYWQgb2YgdGhlIGJsb2NrL2lubGluZSBwb3NpdGlvbiBmdW5j
dGlvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OmFsaWduQm94ZXNJbkJs
b2NrRGlyZWN0aW9uKToKKwlSZW1vdmUgdGhlIGNvbXB1dGF0aW9uIG9mIGJsb2NrIGRpcmVjdGlv
biBvdmVyZmxvdywgc2luY2UgaXQgbm93IGFsbCBoYXBwZW5zIGF0IG9uY2UgYWZ0ZXIgdGhlIGxp
bmUgaXMgYnVpbHQuCisKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExh
eW91dE92ZXJmbG93UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoK
KwlBZGRlZCBhIG5ldyBoZWxwZXIgZnVuY3Rpb24gZm9yIGluY29ycG9yYXRpbmcgdGhlIGVuZCBw
YWRkaW5nIGludG8gYSBsaW5lLiAgVGhpcyBlbmQgcGFkZGluZyBhbHNvIGluY2x1ZGVzIHRoZSBz
aW5nbGUgcGl4ZWwgZm9yIGEgY2FyZXQKKwlpbiBMVFIgaWYgbmVlZGVkLgorCiAyMDEwLTEyLTA1
ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LiBSdW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2aXNp
b24gNzMzMzQpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDM1LDkgKzQzNSw5IEBAIHZvaWQgRnJhbWVWaWV3OjphZGp1c3RWaWV3U2l6ZSgpCiAgICAg
aWYgKCFyb290KQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRTaXplIHNpemUgPSBJbnRTaXpl
KHJvb3QtPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIHJvb3QtPmxlZnRMYXlvdXRPdmVyZmxvdygp
LCByb290LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIC0gcm9vdC0+dG9wTGF5b3V0T3ZlcmZsb3co
KSk7CisgICAgSW50U2l6ZSBzaXplID0gSW50U2l6ZShyb290LT5kb2NXaWR0aCgpLCByb290LT5k
b2NIZWlnaHQoKSk7CiAKLSAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQo
LXJvb3QtPmxlZnRMYXlvdXRPdmVyZmxvdygpLCAtcm9vdC0+dG9wTGF5b3V0T3ZlcmZsb3coKSks
IHNpemUgPT0gY29udGVudHNTaXplKCkpOworICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdp
bihJbnRQb2ludCgtcm9vdC0+ZG9jTGVmdCgpLCAtcm9vdC0+ZG9jVG9wKCkpLCBzaXplID09IGNv
bnRlbnRzU2l6ZSgpKTsKICAgICAKICAgICBzZXRDb250ZW50c1NpemUoc2l6ZSk7CiB9CkBAIC0y
MjM5LDE1ICsyMjM5LDE1IEBAIHZvaWQgRnJhbWVWaWV3Ojpmb3JjZUxheW91dEZvclBhZ2luYXRp
b24KICAgICAgICAgLy8gcGFnZSB3aWR0aCB3aGVuIHNocnVuaywgd2Ugd2lsbCBsYXkgb3V0IGF0
IG1heGltdW0gc2hyaW5rIGFuZCBjbGlwIGV4dHJhIGNvbnRlbnQuCiAgICAgICAgIC8vIEZJWE1F
OiBXZSBhcmUgYXNzdW1pbmcgYSBzaHJpbmstdG8tZml0IHByaW50aW5nIGltcGxlbWVudGF0aW9u
LiAgQSBjcm9wcGluZwogICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGRvIHRo
aXMhCi0gICAgICAgIGludCByaWdodG1vc3RQb3MgPSByb290LT5yaWdodG1vc3RQb3NpdGlvbigp
OwotICAgICAgICBpZiAocmlnaHRtb3N0UG9zID4gcGFnZVNpemUud2lkdGgoKSkgewotICAgICAg
ICAgICAgcGFnZVcgPSBzdGQ6Om1pbjxpbnQ+KHJpZ2h0bW9zdFBvcywgY2VpbGYocGFnZVNpemUu
d2lkdGgoKSAqIG1heGltdW1TaHJpbmtGYWN0b3IpKTsKKyAgICAgICAgaW50IGRvY1dpZHRoID0g
cm9vdC0+ZG9jV2lkdGgoKTsKKyAgICAgICAgaWYgKGRvY1dpZHRoID4gcGFnZVNpemUud2lkdGgo
KSkgeworICAgICAgICAgICAgcGFnZVcgPSBzdGQ6Om1pbjxpbnQ+KGRvY1dpZHRoLCBjZWlsZihw
YWdlU2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3RvcikpOwogICAgICAgICAgICAgaWYg
KHBhZ2VTaXplLmhlaWdodCgpKQogICAgICAgICAgICAgICAgIHJvb3QtPnNldFBhZ2VIZWlnaHQo
cGFnZVcgLyBwYWdlU2l6ZS53aWR0aCgpICogcGFnZVNpemUuaGVpZ2h0KCkpOwogICAgICAgICAg
ICAgcm9vdC0+c2V0V2lkdGgocGFnZVcpOwogICAgICAgICAgICAgcm9vdC0+c2V0TmVlZHNMYXlv
dXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgICAgICBmb3JjZUxheW91dCgpOwotICAg
ICAgICAgICAgaW50IGRvY0hlaWdodCA9IHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCk7Cisg
ICAgICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+ZG9jSGVpZ2h0KCk7CiAgICAgICAgICAg
ICByb290LT5jbGVhckxheW91dE92ZXJmbG93KCk7CiAgICAgICAgICAgICByb290LT5hZGRMYXlv
dXRPdmVyZmxvdyhJbnRSZWN0KDAsIDAsIHBhZ2VXLCBkb2NIZWlnaHQpKTsgLy8gVGhpcyBpcyBo
b3cgd2UgY2xpcCBpbiBjYXNlIHdlIG92ZXJmbG93IGFnYWluLgogICAgICAgICB9CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDYgKzEx
NywyOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmUoY29uc3QgSW50U2l6ZSYgcykgeyBtX2xv
Y2F0aW9uICs9IHM7IH0gCiAgICAgdm9pZCBtb3ZlKGludCBkeCwgaW50IGR5KSB7IG1fbG9jYXRp
b24ubW92ZShkeCwgZHkpOyB9IAorICAgIAorICAgIHZvaWQgc2hpZnRMZWZ0RWRnZVRvKGludCBl
ZGdlKQorICAgIHsKKyAgICAgICAgaW50IGRlbHRhID0gZWRnZSAtIHgoKTsKKyAgICAgICAgc2V0
WChlZGdlKTsKKyAgICAgICAgc2V0V2lkdGgoc3RkOjptYXgoMCwgd2lkdGgoKSAtIGRlbHRhKSk7
CisgICAgfQorICAgIHZvaWQgc2hpZnRSaWdodEVkZ2VUbyhpbnQgZWRnZSkKKyAgICB7CisgICAg
ICAgIGludCBkZWx0YSA9IGVkZ2UgLSByaWdodCgpOworICAgICAgICBzZXRXaWR0aChzdGQ6Om1h
eCgwLCB3aWR0aCgpICsgZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdFRvcEVkZ2VUbyhp
bnQgZWRnZSkKKyAgICB7CisgICAgICAgIGludCBkZWx0YSA9IGVkZ2UgLSB5KCk7CisgICAgICAg
IHNldFkoZWRnZSk7CisgICAgICAgIHNldEhlaWdodChzdGQ6Om1heCgwLCBoZWlnaHQoKSAtIGRl
bHRhKSk7CisgICAgfQorICAgIHZvaWQgc2hpZnRCb3R0b21FZGdlVG8oaW50IGVkZ2UpCisgICAg
eworICAgICAgICBpbnQgZGVsdGEgPSBlZGdlIC0gYm90dG9tKCk7CisgICAgICAgIHNldEhlaWdo
dChzdGQ6Om1heCgwLCBoZWlnaHQoKSArIGRlbHRhKSk7CisgICAgfQogCiAgICAgYm9vbCBpbnRl
cnNlY3RzKGNvbnN0IEludFJlY3QmKSBjb25zdDsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3MzMzNCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMs
NiArMjMzLDggQEAgcHVibGljOgogICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9y
aXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KICAgICBpbnQg
aGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0KCkg
OiBsb2dpY2FsV2lkdGgoKTsgfQogCisgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJl
dHVybiBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKwogICAgIC8vIFRo
ZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBp
biBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4K
ICAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1f
eCA6IG1feTsgfQogICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2Fs
TGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KQEAgLTI2NSw3ICsyNjcsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBl
KSBjb25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5iYXNlbGluZVBvc2l0aW9uKGJhc2Vs
aW5lVHlwZSwgbV9maXJzdExpbmUsIGlzSG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUgOiBW
ZXJ0aWNhbExpbmUsIFBvc2l0aW9uT25Db250YWluaW5nTGluZSk7IH0KICAgICB2aXJ0dWFsIGlu
dCBsaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+bGluZUhlaWdo
dChtX2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2Fs
TGluZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQogICAgIAotCiAgICAgdmlydHVhbCBp
bnQgY2FyZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9mZnNl
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNldCgp
IGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDcz
MzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1OSwxOCArMjU5LDcgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklu
bGluZURpcgogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVm
dChsb2dpY2FsTGVmdCk7Ci0KLSAgICBpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9IGxv
Z2ljYWxMZWZ0OwotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IGxvZ2ljYWxM
ZWZ0OwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0g
ICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0KLSAgICBp
bnQgYm94U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsK
LSAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGluZURp
cmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0
KTsKLQotICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBi
b3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0KKyAgCiAg
ICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKICAgICBsb2dpY2FsTGVmdCAr
PSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxMZWZ0KCk7CiAgICAgCkBAIC0y
ODQsMzAgKzI3Myw2IEBAIGludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIK
ICAgICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUocnQt
PmNoYXJhY3RlcnMoKVt0ZXh0LT5lbmQoKV0pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAg
dGV4dC0+c2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHls
ZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgLy8gSWYgbGV0dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3IgdGhh
dCBpbnRvIHJpZ2h0IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3BhY2lu
ZyBpcwotICAgICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgcmlnaHQsIHNvIHRoaXMgaXMgbm90
IGFuIGlzc3VlIHdpdGggbGVmdCBvdmVyZmxvdy4KLSAgICAgICAgICAgIGludCBsZXR0ZXJTcGFj
aW5nID0gbWluKDAsIChpbnQpcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmxldHRlclNw
YWNpbmcoKSk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1heChs
b2dpY2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpIC0gbGV0dGVyU3BhY2luZywgbG9naWNh
bFJpZ2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFs
bGJhY2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93KiBn
bHlwaE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5zZWNv
bmQuc2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93ID0g
LXN0cm9rZU92ZXJmbG93IC0gKGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDog
MCk7Ci0gICAgICAgICAgICBpbnQgbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdyA9IHN0cm9rZU92
ZXJmbG93IC0gbGV0dGVyU3BhY2luZyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+
cmlnaHQgOiAwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dM
b2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdzsKLSAgICAgICAgICAgIGludCBj
aGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdzsKLSAg
ICAgICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgICAgICAgICBpbnQgdGV4
dFNoYWRvd0xvZ2ljYWxSaWdodDsKLSAgICAgICAgICAgIHJ0LT5zdHlsZShtX2ZpcnN0TGluZSkt
PmdldFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxMZWZ0
LCB0ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsTGVmdCA9IG1pbihjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dpY2Fs
TGVmdCArIGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBjaGlsZE92ZXJm
bG93TG9naWNhbFJpZ2h0ID0gbWF4KGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIHRleHRTaGFk
b3dMb2dpY2FsUmlnaHQgKyBsb2dpY2FsUmlnaHRHbHlwaE92ZXJmbG93KTsKLSAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGlsZE92ZXJm
bG93TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyB0ZXh0LT5sb2dp
Y2FsV2lkdGgoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gdGV4
dC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoY3Vy
ci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpIHsKQEAgLTMyNSwxMCArMjkwLDYgQEAgaW50
IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAgIGxv
Z2ljYWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAgICAgICAgICAgICAgICAg
bG9naWNhbExlZnQgPSBmbG93LT5wbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24obG9naWNhbExl
ZnQsIG5lZWRzV29yZFNwYWNpbmcsIHRleHRCb3hEYXRhTWFwKTsKICAgICAgICAgICAgICAgICBs
b2dpY2FsTGVmdCArPSBmbG93LT5tYXJnaW5Mb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAg
ICBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZs
b3csIGZsb3ctPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICAgICAg
bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZs
b3csIGZsb3ctPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dywgZmxvdy0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgICAgICBs
b2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxv
dywgZmxvdy0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKCFjdXJyLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSB8fCB0b1JlbmRlckxpc3RN
YXJrZXIoY3Vyci0+cmVuZGVyZXIoKSktPmlzSW5zaWRlKCkpIHsKICAgICAgICAgICAgICAgICAv
LyBUaGUgYm94IGNhbiBoYXZlIGEgZGlmZmVyZW50IHdyaXRpbmctbW9kZSB0aGFuIHRoZSBvdmVy
YWxsIGxpbmUsIHNvIHRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCiAgICAgICAgICAgICAgICAg
Ly8gSnVzdCBnZXQgYWxsIHRoZSBwaHlzaWNhbCBtYXJnaW4gYW5kIG92ZXJmbG93IHZhbHVlcyBi
eSBoYW5kIGJhc2VkIG9mZiB8aXNWZXJ0aWNhbHwuCkBAIC0zMzcsMTggKzI5OCw2IEBAIGludCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAgICAg
ICAgICAgICBjdXJyLT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3go
Y3Vyci0+cmVuZGVyZXIoKSk7Ci0KLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xv
Z2ljYWxMZWZ0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IDAgOiAoaXNIb3Jpem9udGFsKCkg
PyBib3gtPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm94LT50b3BMYXlvdXRPdmVyZmxvdygpKTsK
LSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IGJveC0+aGFz
T3ZlcmZsb3dDbGlwKCkgPyBjdXJyLT5sb2dpY2FsV2lkdGgoKSA6IChpc0hvcml6b250YWwoKSA/
IGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5ib3R0b21MYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExheW91dE92
ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlv
dXRPdmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQs
IGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAgICAgICAgICAgICAgIGxvZ2ljYWxM
ZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBi
b3gtPmxlZnRWaXN1YWxPdmVyZmxvdygpIDogYm94LT50b3BWaXN1YWxPdmVyZmxvdygpKSwgbG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0Vmlz
dWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gtPnJp
Z2h0VmlzdWFsT3ZlcmZsb3coKSA6IGJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSksIGxvZ2lj
YWxSaWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
IGxvZ2ljYWxMZWZ0ICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpICsgbG9naWNhbFJpZ2h0TWFyZ2lu
OwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNTYsMTAgKzMwNSw2IEBAIGludCBJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKIAogICAgIGxvZ2ljYWxMZWZ0ICs9IGJv
cmRlckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdodCgpOwogICAgIHNldExvZ2lj
YWxXaWR0aChsb2dpY2FsTGVmdCAtIHN0YXJ0TG9naWNhbExlZnQpOwotICAgIGxvZ2ljYWxSaWdo
dFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgYm94U2hhZG93TG9naWNhbFJpZ2h0
LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgbG9naWNhbFJpZ2h0TGF5b3V0T3Zl
cmZsb3cgPSBtYXgobG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQot
ICAgIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxMZWZ0TGF5b3V0
T3ZlcmZsb3csIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCBsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7CiAgICAgcmV0dXJuIGxvZ2ljYWxM
ZWZ0OwogfQogCkBAIC03NDMsMzIgKzY4OCwxMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpmbGlw
TGluZXNJbkJsb2NrRGlyZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRl
QmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJvb2wg
c3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRh
TWFwKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdmVyZmxvdyhJbnRS
ZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCiB7CisgICAgaWYgKCFwYXJlbnQoKSkKKyAgICAg
ICAgcmV0dXJuOyAvLyBCb3gtc2hhZG93IGRvZXNuJ3QgYXBwbHkgdG8gcm9vdCBsaW5lIGJveGVz
LgorCisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxUb3A7CisgICAgaW50IGJveFNoYWRvd0xvZ2lj
YWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFk
b3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsVG9wLCBib3hTaGFkb3dMb2dp
Y2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0gbWlu
KGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNh
bEJvdHRvbSgpICsgYm94U2hhZG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93
LmJvdHRvbSgpKTsKKyAgICAKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50
IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVm
dCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKKworICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNh
bFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93
ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0g
SW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZs
b3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5saW5l
Rmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gqIHRl
eHRCb3gsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwg
SW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQoreworICAgIGludCBzdHJva2VPdmVyZmxv
dyA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYocmVuZGVyZXIoKS0+c3R5bGUoKS0+dGV4dFN0cm9r
ZVdpZHRoKCkgLyAyLjBmKSk7CisKKyAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01h
cDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHRleHRCb3gpOworICAgIEdseXBo
T3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0YU1hcC5lbmQoKSA/IDAg
OiAmaXQtPnNlY29uZC5zZWNvbmQ7CisKICAgICBib29sIGlzRmxpcHBlZExpbmUgPSByZW5kZXJl
cigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKTsKIAot
ICAgIGludCBib3hIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IHRvcEdseXBoRWRn
ZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJvdHRv
bSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOworICAgIGludCBib3R0b21HbHlwaEVkZ2UgPSBn
bHlwaE92ZXJmbG93ID8gKGlzRmxpcHBlZExpbmUgPyBnbHlwaE92ZXJmbG93LT50b3AgOiBnbHlw
aE92ZXJmbG93LT5ib3R0b20pIDogMDsKKyAgICBpbnQgbGVmdEdseXBoRWRnZSA9IGdseXBoT3Zl
cmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMDsKKyAgICBpbnQgcmlnaHRHbHlwaEVkZ2Ug
PSBnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmlnaHQgOiAwOworICAgIAorICAgIGlu
dCB0b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOworICAg
IGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlwaEVk
Z2U7CisgICAgaW50IGxlZnRHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gbGVmdEds
eXBoRWRnZTsKKyAgICBpbnQgcmlnaHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBy
aWdodEdseXBoRWRnZTsKKworICAgIC8vIElmIGxldHRlci1zcGFjaW5nIGlzIG5lZ2F0aXZlLCB3
ZSBzaG91bGQgZmFjdG9yIHRoYXQgaW50byByaWdodCBsYXlvdXQgb3ZlcmZsb3cuIChFdmVuIGlu
IFJUTCwgbGV0dGVyLXNwYWNpbmcgaXMKKyAgICAvLyBhcHBsaWVkIHRvIHRoZSByaWdodCwgc28g
dGhpcyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93LgorICAgIGludCBsZXR0ZXJT
cGFjaW5nID0gbWluKDAsIChpbnQpcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
KCkubGV0dGVyU3BhY2luZygpKTsKKyAgICByaWdodEdseXBoT3ZlcmZsb3cgLT0gbGV0dGVyU3Bh
Y2luZzsKKworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFRvcDsKKyAgICBpbnQgdGV4dFNoYWRv
d0xvZ2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRU
ZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxUb3AsIHRleHRT
aGFkb3dMb2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxU
b3AgPSBtaW4odGV4dFNoYWRvd0xvZ2ljYWxUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BHbHlw
aE92ZXJmbG93KTsKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20gPSBtYXgodGV4
dFNoYWRvd0xvZ2ljYWxCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlwaE92
ZXJmbG93KTsKKyAgIAorICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50IHRl
eHRTaGFkb3dMb2dpY2FsUmlnaHQ7CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUp
LT5nZXRUZXh0U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dMb2dpY2FsTGVm
dCwgdGV4dFNoYWRvd0xvZ2ljYWxSaWdodCk7CisgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xv
Z2ljYWxMZWZ0ID0gbWluKHRleHRTaGFkb3dMb2dpY2FsTGVmdCArIGxlZnRHbHlwaE92ZXJmbG93
LCBsZWZ0R2x5cGhPdmVyZmxvdyk7CisgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQg
PSBtYXgodGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIHJpZ2h0R2x5cGhPdmVyZmxvdywgcmlnaHRH
bHlwaE92ZXJmbG93KTsKKworICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4o
dGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0
b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5ib3R0b20oKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0
VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZs
b3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2lj
YWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsgY2hp
bGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnJpZ2h0KCkpOwor
ICAgIAorICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9w
VmlzdWFsT3ZlcmZsb3cpOworfQorCit2b2lkIElubGluZUZsb3dCb3g6OmFkZFJlcGxhY2VkQ2hp
bGRPdmVyZmxvdyhjb25zdCBJbmxpbmVCb3gqIGlubGluZUJveCwgSW50UmVjdCYgbG9naWNhbExh
eW91dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAgUmVu
ZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChpbmxpbmVCb3gtPnJlbmRlcmVyKCkpOworICAgIAor
ICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGJveCBkb2Vzbid0
IGhhdmUgYSBzZWxmLXBhaW50aW5nIGxheWVyLiAgVGhpcyByZWN0YW5nbGUgZG9lcyBub3QgaW5j
bHVkZQorICAgIC8vIHRyYW5zZm9ybXMgb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgKHNpbmNlIHRo
b3NlIG9iamVjdHMgYWx3YXlzIGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMpLCBidXQgaXQgZG9l
cyBuZWVkIHRvIGJlIGFkanVzdGVkCisgICAgLy8gZm9yIHdyaXRpbmctbW9kZSBkaWZmZXJlbmNl
cy4KKyAgICBpZiAoIWJveC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICBJbnRS
ZWN0IGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93ID0gYm94LT5sb2dpY2FsVmlzdWFsT3ZlcmZs
b3dSZWN0Rm9yUHJvcGFnYXRpb24ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisgICAgICAgIGNoaWxk
TG9naWNhbFZpc3VhbE92ZXJmbG93Lm1vdmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBpbmxp
bmVCb3gtPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy51bml0
ZShjaGlsZExvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgfQorCisgICAgLy8gTGF5b3V0IG92
ZXJmbG93IGludGVybmFsIHRvIHRoZSBjaGlsZCBib3ggb25seSBwcm9wYWdhdGVzIGlmIHRoZSBj
aGlsZCBib3ggZG9lc24ndCBoYXZlIG92ZXJmbG93IGNsaXAgc2V0LgorICAgIC8vIE90aGVyd2lz
ZSB0aGUgY2hpbGQgYm9yZGVyIGJveCBwcm9wYWdhdGVzIGFzIGxheW91dCBvdmVyZmxvdy4gIFRo
aXMgcmVjdGFuZ2xlIG11c3QgaW5jbHVkZSB0cmFuc2Zvcm1zIGFuZCByZWxhdGl2ZSBwb3NpdGlv
bmluZworICAgIC8vIGFuZCBiZSBhZGp1c3RlZCBmb3Igd3JpdGluZy1tb2RlIGRpZmZlcmVuY2Vz
LgorICAgIEludFJlY3QgY2hpbGRMb2dpY2FsTGF5b3V0T3ZlcmZsb3cgPSBib3gtPmxvZ2ljYWxM
YXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigpLT5zdHlsZSgpKTsKKyAg
ICBjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdy5tb3ZlKGlubGluZUJveC0+bG9naWNhbExlZnQo
KSwgaW5saW5lQm94LT5sb2dpY2FsVG9wKCkpOworICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy51
bml0ZShjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7Cit9CiAKK3ZvaWQgSW5saW5lRmxvd0Jv
eDo6Y29tcHV0ZU92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJp
Y3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXAp
Cit7CiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhlIGxpbmUgdG9wIGFuZCBib3R0
b20gaXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0IGlnbm9yZSB0aGlzLCBzaW5j
ZSBpdCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91ciBhc2NlbnQvZGVzY2VudCBk
b24ndCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgogICAgIGludCB0b3BPdmVyZmxvdyA9IG1heChs
b2dpY2FsVG9wKCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihsb2dp
Y2FsVG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOwotICAgIAotICAgIGludCB0b3BMYXlv
dXRPdmVyZmxvdyA9IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdyA9
IGJvdHRvbU92ZXJmbG93OworICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihsb2dpY2FsQm90
dG9tKCksIGxpbmVCb3R0b20pOwogICAgIAotICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdyA9IHRv
cE92ZXJmbG93OwotICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGJvdHRvbU92ZXJmbG93
OworICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBqdXN0IGluY2x1ZGVzIG92ZXJmbG93IGZvciBzdHVm
ZiB3ZSBuZWVkIHRvIHJlcGFpbnQgb3Vyc2VsdmVzLiAgU2VsZi1wYWludGluZyBsYXllcnMgYXJl
IGlnbm9yZWQuCisgICAgLy8gTGF5b3V0IG92ZXJmbG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHNj
cm9sbGluZyBleHRlbnQsIHNvIGl0IHN0aWxsIGluY2x1ZGVzIGNoaWxkIGxheWVycyBhbmQgYWxz
byBmYWN0b3JzIGluCisgICAgLy8gdHJhbnNmb3JtcywgcmVsYXRpdmUgcG9zaXRpb25pbmcsIGV0
Yy4KKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdCgpLCB0b3BP
dmVyZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cpOwor
ICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7
CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9vdCBsaW5lIGJveGVzIGlzIGFwcGx5aW5nIHRv
IHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5lcy4KLSAgICBpZiAocGFyZW50KCkpIHsKLSAg
ICAgICAgaW50IGJveFNoYWRvd1RvcDsKLSAgICAgICAgaW50IGJveFNoYWRvd0JvdHRvbTsKLSAg
ICAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9ja0Rp
cmVjdGlvbkV4dGVudChib3hTaGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7Ci0gICAgICAgIAot
ICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsVG9wKCkgKyBib3hTaGFkb3dU
b3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBt
YXgobG9naWNhbFRvcCgpICsgYm94SGVpZ2h0ICsgYm94U2hhZG93Qm90dG9tLCBib3R0b21WaXN1
YWxPdmVyZmxvdyk7Ci0gICAgfQorICAgIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyk7CiAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hp
bGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAoY3Vy
ci0+cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCkBAIC03NzksNjQgKzgwNCw3MCBAQCB2b2lk
IElubGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBSZW5kZXJU
ZXh0KiBydCA9IHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAgIGlm
IChydC0+aXNCUigpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgYWRk
VGV4dEJveFZpc3VhbE92ZXJmbG93KHRleHQsIHRleHRCb3hEYXRhTWFwLCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3cpOworICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1JlbmRl
cklubGluZSgpKSB7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93ID0gc3RhdGljX2Nh
c3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgZmxvdy0+Y29tcHV0ZU92ZXJm
bG93KGxpbmVUb3AsIGxpbmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsKKyAg
ICAgICAgICAgIGlmICghZmxvdy0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSkKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudW5pdGUoZmxvdy0+
bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgICAgIEludFJlY3QgY2hpbGRM
YXlvdXRPdmVyZmxvdyA9IGZsb3ctPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAg
ICAgICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3cubW92ZShmbG93LT5ib3hNb2RlbE9iamVjdCgpLT5y
ZWxhdGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCgpKTsKKyAgICAgICAgICAgIGxvZ2ljYWxMYXlv
dXRPdmVyZmxvdy51bml0ZShjaGlsZExheW91dE92ZXJmbG93KTsKKyAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY3VyciwgbG9naWNhbExheW91dE92
ZXJmbG93LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIH0KKyAgICAKKyAgICBzZXRPdmVy
Zmxvd0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3cpOworfQogCi0gICAgICAgICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNf
Y2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsK
LQotICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9y
IGl0ID0gdGV4dEJveERhdGFNYXAuZmluZChzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vy
cikpOwotICAgICAgICAgICAgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IGl0ID09IHRl
eHRCb3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vjb25kLnNlY29uZDsKLQotICAgICAgICAg
ICAgaW50IHRvcEdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGds
eXBoT3ZlcmZsb3ctPmJvdHRvbSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOwotICAgICAgICAg
ICAgaW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/
IGdseXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSkgOiAwOwotCi0gICAg
ICAgICAgICBpbnQgdG9wR2x5cGhPdmVyZmxvdyA9IC1zdHJva2VPdmVyZmxvdyAtIHRvcEdseXBo
RWRnZTsKLSAgICAgICAgICAgIGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZs
b3cgKyBib3R0b21HbHlwaEVkZ2U7CisvLyBGSVhNRTogWW91IHdpbGwgbm90aWNlIHRoZXJlIGlz
IG5vIGNvbnRhaW5zKCkgY2hlY2sgaGVyZS4gIElmIHRoZSByZWN0IGlzIHNtYWxsZXIgdGhhbiB0
aGUgZnJhbWUgYm94IGl0IGFjdHVhbGx5CisvLyBiZWNvbWVzIHRoZSBuZXcgb3ZlcmZsb3cuICBU
aGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgaW4gcXVpcmtzIG1vZGUgd2UgZG9uJ3QgbGV0IGlu
bGluZSBmbG93IGJveGVzIHBhaW50CisvLyBvdXRzaWRlIG9mIHRoZSByb290IGxpbmUgYm94J3Mg
bGluZVRvcCBhbmQgbGluZUJvdHRvbSB2YWx1ZXMuICBXZSBhY2NvbXBsaXNoIHRoaXMgdmlzdWFs
IGNsYW1waW5nIGJ5IGFjdHVhbGx5CisvLyBpbnNldHRpbmcgdGhlIG92ZXJmbG93IHJlY3Qgc28g
dGhhdCBpdCdzIHNtYWxsZXIgdGhhbiB0aGUgZnJhbWUgcmVjdC4KKy8vCisvLyBUaGUgcmVhc29u
IHdlIGRvbid0IGp1c3QgbXV0YXRlIHRoZSBmcmFtZVJlY3QgaW4gcXVpcmtzIG1vZGUgaXMgdGhh
dCB3ZSdkIGhhdmUgdG8gcHV0IHRoZSBtX2hlaWdodCBtZW1iZXIgdmFyaWFibGUKKy8vIGJhY2sg
aW50byBJbmxpbmVCb3guICBCYXNpY2FsbHkgdGhlIHRyYWRlb2ZmIGlzIDQgYnl0ZXMgaW4gYWxs
IG1vZGVzIChmb3IgbV9oZWlnaHQpIGFkZGVkIHRvIElubGluZUZsb3dCb3gsIG9yCisvLyB0aGUg
YWxsb2NhdGlvbiBvZiBhIFJlbmRlck92ZXJmbG93IHN0cnVjdCBmb3IgSW5saW5lRmxvd0JveGVz
IGluIHF1aXJrcyBtb2RlIG9ubHkuICBGb3Igbm93LCB3ZSdyZSBvcHRpbmcgdG8gYXdhcmQKKy8v
IHRoZSBzbWFsbGVyIG1lbW9yeSBjb25zdW1wdGlvbiB0byBzdHJpY3QgbW9kZSBwYWdlcy4KKy8v
CisvLyBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byBoYXNoIGEgY3VzdG9tIGhlaWdodCwgb3IgdG8g
cmVxdWlyZSB0aGF0IGxpbmVUb3AgYW5kIGxpbmVCb3R0b20gYmUgcGFzc2VkIGluIHRvCisvLyBh
bGwgZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCit2b2lkIElubGluZUZsb3dCb3g6
OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCBm
cmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3Qu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgIGlmICghbV9vdmVyZmxv
dykKKyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGZyYW1lQm94LCBm
cmFtZUJveCkpOworICAgIAorICAgIG1fb3ZlcmZsb3ctPnNldExheW91dE92ZXJmbG93KHJlY3Qp
OworfQogCi0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd1RvcDsKLSAgICAgICAgICAgIGludCB0
ZXh0U2hhZG93Qm90dG9tOwotICAgICAgICAgICAgY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9m
aXJzdExpbmUpLT5nZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd1Rv
cCwgdGV4dFNoYWRvd0JvdHRvbSk7Cit2b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92ZXJm
bG93KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1l
UmVjdCgpOworICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dUb3Ag
PSBtaW4odGV4dFNoYWRvd1RvcCArIHRvcEdseXBoT3ZlcmZsb3csIHRvcEdseXBoT3ZlcmZsb3cp
OwotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dCb3R0b20gPSBtYXgodGV4dFNoYWRvd0Jv
dHRvbSArIGJvdHRvbUdseXBoT3ZlcmZsb3csIGJvdHRvbUdseXBoT3ZlcmZsb3cpOworICAgIGlm
ICghbV9vdmVyZmxvdykKKyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93
KGZyYW1lQm94LCBmcmFtZUJveCkpOwogICAgIAotICAgICAgICAgICAgdG9wVmlzdWFsT3ZlcmZs
b3cgPSBtaW4oY3Vyci0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd1RvcCwgdG9wVmlzdWFs
T3ZlcmZsb3cpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoY3Vyci0+
bG9naWNhbFRvcCgpICsgdGV4dC0+bG9naWNhbEhlaWdodCgpICsgY2hpbGRPdmVyZmxvd0JvdHRv
bSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5k
ZXJlcigpLT5pc1JlbmRlcklubGluZSgpKSB7Ci0gICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBm
bG93ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOwotICAgICAgICAgICAgZmxv
dy0+Y29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgc3Ry
aWN0TW9kZSwgdGV4dEJveERhdGFNYXApOwotICAgICAgICAgICAgdG9wTGF5b3V0T3ZlcmZsb3cg
PSBtaW4odG9wTGF5b3V0T3ZlcmZsb3csIGZsb3ctPmxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0gbWF4KGJvdHRvbUxheW91dE92
ZXJmbG93LCBmbG93LT5sb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAg
ICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0b3BWaXN1YWxPdmVyZmxvdywgZmxvdy0+bG9naWNh
bFRvcFZpc3VhbE92ZXJmbG93KCkpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cg
PSBtYXgoYm90dG9tVmlzdWFsT3ZlcmZsb3csIGZsb3ctPmxvZ2ljYWxCb3R0b21WaXN1YWxPdmVy
ZmxvdygpKTsKLSAgICAgICAgfSBlbHNlIGlmICghY3Vyci0+Ym94TW9kZWxPYmplY3QoKS0+aGFz
U2VsZlBhaW50aW5nTGF5ZXIoKSl7Ci0gICAgICAgICAgICAvLyBPbmx5IGluY2x1ZGUgb3ZlcmZs
b3cgZnJvbSByZXBsYWNlZCBpbmxpbmVzIGlmIHRoZXkgZG8gbm90IHBhaW50IHRoZW1zZWx2ZXMu
Ci0gICAgICAgICAgICBpbnQgYm94TG9naWNhbFRvcCA9IGN1cnItPmxvZ2ljYWxUb3AoKTsKLSAg
ICAgICAgICAgIGludCBjaGlsZFRvcExheW91dE92ZXJmbG93OwotICAgICAgICAgICAgaW50IGNo
aWxkQm90dG9tTGF5b3V0T3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRUb3BWaXN1YWxP
dmVyZmxvdzsKLSAgICAgICAgICAgIGludCBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93OwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGN1cnIt
PnJlbmRlcmVyKCkpOwotICAgICAgICAgICAgYm94LT5ibG9ja0RpcmVjdGlvbk92ZXJmbG93KGlz
SG9yaXpvbnRhbCgpLCBjaGlsZFRvcExheW91dE92ZXJmbG93LCBjaGlsZEJvdHRvbUxheW91dE92
ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkVG9w
VmlzdWFsT3ZlcmZsb3csIGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBpZiAoYm94LT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICAgICAg
ICAgIGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3cgPSAwOwotICAgICAgICAgICAgICAgIGNoaWxkQm90
dG9tTGF5b3V0T3ZlcmZsb3cgPSBjdXJyLT5sb2dpY2FsSGVpZ2h0KCk7Ci0gICAgICAgICAgICB9
CisgICAgbV9vdmVyZmxvdy0+c2V0VmlzdWFsT3ZlcmZsb3cocmVjdCk7Cit9CiAKLSAgICAgICAg
ICAgIHRvcExheW91dE92ZXJmbG93ID0gbWluKGJveExvZ2ljYWxUb3AgKyBjaGlsZFRvcExheW91
dE92ZXJmbG93LCB0b3BMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgICAgICBib3R0b21MYXlvdXRP
dmVyZmxvdyA9IG1heChib3hMb2dpY2FsVG9wICsgY2hpbGRCb3R0b21MYXlvdXRPdmVyZmxvdywg
Ym90dG9tTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICAgICAgdG9wVmlzdWFsT3ZlcmZsb3cgPSBt
aW4oYm94TG9naWNhbFRvcCArIGNoaWxkVG9wVmlzdWFsT3ZlcmZsb3csIHRvcFZpc3VhbE92ZXJm
bG93KTsKLSAgICAgICAgICAgIGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gbWF4KGJveExvZ2ljYWxU
b3AgKyBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93LCBib3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0g
ICAgICAgIH0KLSAgICB9Cit2b2lkIElubGluZUZsb3dCb3g6OnNldE92ZXJmbG93RnJvbUxvZ2lj
YWxSZWN0cyhjb25zdCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IEludFJl
Y3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdykKK3sKKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93
KGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbExheW91dE92ZXJmbG93IDogbG9naWNhbExheW91dE92
ZXJmbG93LnRyYW5zcG9zZWRSZWN0KCkpOworICAgIHNldExheW91dE92ZXJmbG93KGxheW91dE92
ZXJmbG93KTsKICAgICAKLSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRv
cExheW91dE92ZXJmbG93LCBib3R0b21MYXlvdXRPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3cs
IGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93KGlzSG9y
aXpvbnRhbCgpID8gbG9naWNhbFZpc3VhbE92ZXJmbG93IDogbG9naWNhbFZpc3VhbE92ZXJmbG93
LnRyYW5zcG9zZWRSZWN0KCkpOworICAgIHNldFZpc3VhbE92ZXJmbG93KHZpc3VhbE92ZXJmbG93
KTsKIH0KIAogYm9vbCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVx
dWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgeCwgaW50IHksIGludCB0
eCwgaW50IHR5KQogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1Jl
Y3QoKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwog
ICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOwogICAgIG92ZXJmbG93UmVjdC5t
b3ZlKHR4LCB0eSk7CiAgICAgaWYgKCFvdmVyZmxvd1JlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVj
dEZvclBvaW50KHgsIHkpKSkKQEAgLTg2NSw3ICs4OTYsNyBAQCBib29sIElubGluZUZsb3dCb3g6
Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAKIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnQoUGFpbnRJ
bmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogewotICAgIEludFJlY3Qgb3ZlcmZsb3dS
ZWN0KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3Qodmlz
dWFsT3ZlcmZsb3dSZWN0KCkpOwogICAgIG92ZXJmbG93UmVjdC5pbmZsYXRlKHJlbmRlcmVyKCkt
Pm1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKICAgICBmbGlwRm9yV3JpdGlu
Z01vZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVyZmxvd1JlY3QubW92ZSh0eCwgdHkpOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MywxMCArMTYz
LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHBsYWNlQm94ZXNJbkJsb2NrRGlyZWN0aW9uKGludCBs
b2dpY2FsVG9wLCBpbnQgbWF4SGVpZ2h0LCBpbnQgbWF4QXNjZW50LCBib29sIHN0cmljdE1vZGUs
IGludCYgbGluZVRvcCwgaW50JiBsaW5lQm90dG9tLCBib29sJiBzZXRMaW5lVG9wLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBsaW5lVG9wSW5jbHVkaW5nTWFyZ2lu
cywgaW50JiBsaW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywgYm9vbCYgY29udGFpbnNSdWJ5LCBG
b250QmFzZWxpbmUpOwogICAgIHZvaWQgZmxpcExpbmVzSW5CbG9ja0RpcmVjdGlvbihpbnQgbGlu
ZVRvcCwgaW50IGxpbmVCb3R0b20pOwotICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uT3Zl
cmZsb3coaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CiAgICAgYm9vbCByZXF1aXJlc0lkZW9ncmFw
aGljQmFzZWxpbmUoY29uc3QgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKSBjb25z
dDsKICAgICBpbnQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uUnVieUFkanVzdG1lbnQoaW50IGFsbG93
ZWRQb3NpdGlvbikgY29uc3Q7CiAgICAgCisgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coaW50IGxp
bmVUb3AsIGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRG
YWxsYmFja0ZvbnRzTWFwJik7CisgICAgCiAgICAgdm9pZCByZW1vdmVDaGlsZChJbmxpbmVCb3gq
IGNoaWxkKTsKIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxl
Y3Rpb25TdGF0ZSgpOwpAQCAtMTgzLDE3ICsxODQsNiBAQCBwdWJsaWM6CiAgICAgLy8gdG9wL3Jp
Z2h0L2JvdHRvbS9sZWZ0IGluIHRoZSBjb2RlIC0gdGhlc2UgYXJlbid0IHB1cmVseSBwaHlzaWNh
bCBkaXJlY3Rpb25zLiAgRm9yIGhvcml6b250YWwtdGIgYW5kIHZlcnRpY2FsLWxyIHRoZXkgd2ls
bCBtYXRjaCBwaHlzaWNhbAogICAgIC8vIGRpcmVjdGlvbnMsIGJ1dCBmb3IgaG9yaXpvbnRhbC1i
dCBhbmQgdmVydGljYWwtcmwsIHRoZSB0b3AvYm90dG9tIGFuZCBsZWZ0L3JpZ2h0IHJlc3BlY3Rp
dmVseSBhcmUgaW52ZXJ0ZWQgd2hlbiBjb21wYXJlZCB0bwogICAgIC8vIHRoZWlyIHBoeXNpY2Fs
IGNvdW50ZXJwYXJ0cy4KLSAgICBpbnQgdG9wVmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gc3RkOjptaW4odG9wTGF5b3V0T3ZlcmZsb3coKSwgdG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0K
LSAgICBpbnQgYm90dG9tVmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgo
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSwgYm90dG9tVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBp
bnQgbGVmdFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWluKGxlZnRMYXlv
dXRPdmVyZmxvdygpLCBsZWZ0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNp
YmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1heChyaWdodExheW91dE92ZXJmbG93
KCksIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbExlZnRWaXNpYmxl
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbihsb2dpY2FsTGVmdExheW91dE92ZXJm
bG93KCksIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbFJp
Z2h0VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgobG9naWNhbFJpZ2h0
TGF5b3V0T3ZlcmZsb3coKSwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBp
bnQgbG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWluKGxv
Z2ljYWxUb3BMYXlvdXRPdmVyZmxvdygpLCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0K
LSAgICBpbnQgbG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0
ZDo6bWF4KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpLCBsb2dpY2FsQm90dG9tVmlzdWFs
T3ZlcmZsb3coKSk7IH0KLQotICAgIEludFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkg
OiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSk7ICB9Ci0KICAgICBpbnQgdG9w
TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
dG9wTGF5b3V0T3ZlcmZsb3coKSA6IG1feTsgfQogICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRP
dmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KICAgICBpbnQgbGVmdExheW91dE92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVy
ZmxvdygpIDogbV94OyB9CkBAIC0yMDMsNiArMTkzLDEzIEBAIHB1YmxpYzoKICAgICBpbnQgbG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHls
ZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmlnaHRMYXlvdXRPdmVyZmxvdygpIDog
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZs
b3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZsb3coKSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9
CiAgICAgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJl
bmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3R0b21MYXlv
dXRPdmVyZmxvdygpIDogcmlnaHRMYXlvdXRPdmVyZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dp
Y2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QKKyAgICB7CisgICAgICAgIEludFJlY3QgcmVz
dWx0ID0gbGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJl
c3VsdC50cmFuc3Bvc2VkUmVjdCgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAog
ICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT50b3BWaXN1YWxPdmVyZmxvdygpIDogbV95OyB9CiAgICAgaW50IGJvdHRvbVZp
c3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmJv
dHRvbVZpc3VhbE92ZXJmbG93KCkgOiBtX3kgKyBoZWlnaHQoKTsgfQpAQCAtMjEzLDExICsyMTAs
MjIgQEAgcHVibGljOgogICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIGNvbnN0
IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyByaWdodFZpc3VhbE92ZXJmbG93KCkgOiBib3R0b21WaXN1YWxPdmVyZmxvdygpOyB9CiAgICAg
aW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB0b3BWaXN1YWxPdmVyZmxvdygp
IDogbGVmdFZpc3VhbE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiByaWdodFZpc3VhbE92ZXJm
bG93KCk7IH0KKyAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgSW50UmVjdCByZXN1bHQgPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQorICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfQogCi0gICAgdm9pZCBzZXRJbmxpbmVEaXJlY3Rpb25PdmVy
Zmxvd1Bvc2l0aW9ucyhpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyk7Ci0gICAgdm9pZCBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRp
b25zKGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsQm90dG9tTGF5b3V0
T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZs
b3cpOworICAgIHZvaWQgc2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNvbnN0IEludFJlY3Qm
IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJm
bG93KTsKKyAgICB2b2lkIHNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKKyAgICB2
b2lkIHNldFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKKworcHJpdmF0ZToKKyAgICB2
b2lkIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdyk7CisgICAgdm9pZCBhZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3coY29uc3QgSW5saW5lVGV4
dEJveCosIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgSW50UmVjdCYgbG9naWNh
bFZpc3VhbE92ZXJmbG93KTsKKyAgICB2b2lkIGFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdyhjb25z
dCBJbmxpbmVCb3gqLCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIEludFJlY3QmIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyk7CiAKIHByb3RlY3RlZDoKICAgICBPd25QdHI8UmVuZGVyT3Zl
cmZsb3c+IG1fb3ZlcmZsb3c7CkBAIC0yMzksNTIgKzI0Nyw2IEBAIHByb3RlY3RlZDoKICNlbmRp
ZgogfTsKIAotaW5saW5lIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0SW5saW5lRGlyZWN0aW9uT3Zl
cmZsb3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2Fs
UmlnaHRMYXlvdXRPdmVyZmxvdywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dywgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KSAKLXsgCi0gICAgaWYgKCFtX292ZXJm
bG93KSB7Ci0gICAgICAgIGlmIChsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxM
ZWZ0KCkgJiYgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkgCi0g
ICAgICAgICAgICAmJiBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxMZWZ0KCkg
JiYgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkpCi0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZsb3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3Zl
cmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7ICAgCi0gICAgfQot
Ci0gICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRM
YXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVy
Zmxvdy0+c2V0UmlnaHRMYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyk7
Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZp
c3VhbE92ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0VmlzdWFsT3ZlcmZs
b3cobG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1f
b3ZlcmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cp
OwotICAgICAgICBtX292ZXJmbG93LT5zZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmln
aHRMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3VhbE92ZXJm
bG93KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOyAKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0
Qm90dG9tVmlzdWFsT3ZlcmZsb3cobG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOyAgCi0gICAg
fQotfQotCi1pbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRCbG9ja0RpcmVjdGlvbk92ZXJm
bG93UG9zaXRpb25zKGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsQm90
dG9tTGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGlu
dCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCi17Ci0gICAgaWYgKCFtX292ZXJmbG93KSB7
Ci0gICAgICAgIGlmIChsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYm
IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsQm90dG9tKCkKLSAgICAgICAg
ICAgICYmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsVG9wKCkgJiYgbG9naWNh
bEJvdHRvbVZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxCb3R0b20oKSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgbV9vdmVyZmxvdyA9IGFkb3B0UHRyKG5ldyBSZW5kZXJPdmVyZmxvdyhJ
bnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKLSAgICB9Ci0KLSAgICBpZiAo
aXNIb3Jpem9udGFsKCkpIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0VG9wTGF5b3V0T3ZlcmZs
b3cobG9naWNhbFRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90
dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93KTsKLSAgICAgICAg
bV9vdmVyZmxvdy0+c2V0VG9wVmlzdWFsT3ZlcmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxvZ2ljYWxC
b3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+
c2V0TGVmdExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAg
IG1fb3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92
ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0TGVmdFZpc3VhbE92ZXJmbG93KGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3Vh
bE92ZXJmbG93KGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfQotfQotCiAjaWZk
ZWYgTkRFQlVHCiBpbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpjaGVja0NvbnNpc3RlbmN5KCkg
Y29uc3QKIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjE3LDYgKzEyMTcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJl
bGF5CiAgCiAgICAgLy8gQ2FsY3VsYXRlIG91ciBuZXcgaGVpZ2h0LgogICAgIGludCBvbGRIZWln
aHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IG9sZENsaWVudEFmdGVyRWRnZSA9IGNsaWVu
dExvZ2ljYWxCb3R0b20oKTsKICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgIGludCBu
ZXdIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAgICAgaWYgKG9sZEhlaWdodCAhPSBuZXdIZWln
aHQpIHsKQEAgLTEyMzUsMjUgKzEyMzYsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0Qmxv
Y2soYm9vbCByZWxheQogICAgIGlmIChwcmV2aW91c0hlaWdodCAhPSBuZXdIZWlnaHQpCiAgICAg
ICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwogCi0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20g
Y2hpbGRyZW4gKHVubGVzcyB3ZSdyZSBtdWx0aS1jb2x1bW4sIHNpbmNlIGluIHRoYXQgY2FzZSBh
bGwgb3VyIGNoaWxkIG92ZXJmbG93IGlzIGNsaXBwZWQgYW55d2F5KS4KLSAgICBpZiAoIWhhc0Nv
bHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIGNoZWNrIGlzIGRlc2lnbmVkIHRvIGNhdGNoIGFu
eW9uZQotICAgICAgICAvLyB3aG8gd2Fzbid0IGdvaW5nIHRvIHByb3BhZ2F0ZSBmbG9hdCBpbmZv
cm1hdGlvbiB1cCB0byB0aGUgcGFyZW50IGFuZCB5ZXQgY291bGQgcG90ZW50aWFsbHkgYmUgcGFp
bnRlZCBieSBpdHMgYW5jZXN0b3IuCi0gICAgICAgIGlmIChpc1Jvb3QoKSB8fCBleHBhbmRzVG9F
bmNsb3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUZs
b2F0cygpOwotCi0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOwotICAgIH0KLQotICAgIC8vIEFkZCB2aXN1
YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZsZWN0aW9ucy4KLSAgICBhZGRTaGFk
b3dPdmVyZmxvdygpOwotCiAgICAgbGF5b3V0UG9zaXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGls
ZHJlbiB8fCBpc1Jvb3QoKSk7CiAKLSAgICBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKKyAgICAvLyBB
ZGQgb3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5sZXNzIHdlJ3JlIG11bHRpLWNvbHVtbiwgc2lu
Y2UgaW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQgb3ZlcmZsb3cgaXMgY2xpcHBlZCBhbnl3YXkp
LgorICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRDbGllbnRBZnRlckVkZ2UpOwogICAgIAogICAgIHN0
YXRlUHVzaGVyLnBvcCgpOwogCkBAIC0xMjY5LDggKzEyNTUsMTcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIC8vIFJlcGFpbnQgd2l0aCBvdXIgbmV3IGJv
dW5kcyBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgZnJvbSBvdXIgb2xkIGJvdW5kcy4KICAgICBib29s
IGRpZEZ1bGxSZXBhaW50ID0gcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOwogICAgIGlm
ICghZGlkRnVsbFJlcGFpbnQgJiYgcmVwYWludExvZ2ljYWxUb3AgIT0gcmVwYWludExvZ2ljYWxC
b3R0b20gJiYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFIHx8IGVuY2xvc2luZ0xh
eWVyKCktPmhhc1Zpc2libGVDb250ZW50KCkpKSB7Ci0gICAgICAgIGludCByZXBhaW50TG9naWNh
bExlZnQgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsTGVmdExheW91
dE92ZXJmbG93KCkpOwotICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxSaWdodCA9IG1heChsb2dp
Y2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpKTsK
KyAgICAgICAgLy8gRklYTUU6IFdlIGNvdWxkIHRpZ2h0ZW4gdXAgdGhlIGxlZnQgYW5kIHJpZ2h0
IGludmFsaWRhdGlvbiBwb2ludHMgaWYgd2UgbGV0IGxheW91dElubGluZUNoaWxkcmVuIGZpbGwg
dGhlbSBpbiBiYXNlZCBvZmYgdGhlIHBhcnRpY3VsYXIgbGluZXMKKyAgICAgICAgLy8gaXQgaGFk
IHRvIGxheSBvdXQuICBXZSB3b3VsZG4ndCBuZWVkIHRoZSBoYXNPdmVyZmxvd0NsaXAoKSBoYWNr
IGluIHRoYXQgY2FzZSBlaXRoZXIuCisgICAgICAgIGludCByZXBhaW50TG9naWNhbExlZnQgPSBs
b2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgIGludCByZXBhaW50TG9naWNhbFJp
Z2h0ID0gbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgaWYgKGhhc092ZXJm
bG93Q2xpcCgpKSB7CisgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGNsaXBwZWQgb3ZlcmZsb3cs
IHdlIHNob3VsZCB1c2UgbGF5b3V0IG92ZXJmbG93IGFzIHdlbGwsIHNpbmNlIHZpc3VhbCBvdmVy
ZmxvdyBmcm9tIGxpbmVzIGRpZG4ndCBwcm9wYWdhdGUgdG8gb3VyIGJsb2NrJ3Mgb3ZlcmZsb3cu
CisgICAgICAgICAgICAvLyBOb3RlIHRoZSBvbGQgY29kZSBkaWQgdGhpcyBhcyB3ZWxsIGJ1dCBl
dmVuIGZvciBvdmVyZmxvdzp2aXNpYmxlLiAgVGhlIGFkZGl0aW9uIG9mIGhhc092ZXJmbG93Q2xp
cCgpIGF0IGxlYXN0IHRpZ2h0ZW5zIHVwIHRoZSBoYWNrIGEgYml0LgorICAgICAgICAgICAgLy8g
bGF5b3V0SW5saW5lQ2hpbGRyZW4gc2hvdWxkIGJlIHBhdGNoZWQgdG8gY29tcHV0ZSB0aGUgZW50
aXJlIHJlcGFpbnQgcmVjdC4KKyAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsTGVmdCA9IG1pbihy
ZXBhaW50TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7CisgICAgICAg
ICAgICByZXBhaW50TG9naWNhbFJpZ2h0ID0gbWF4KHJlcGFpbnRMb2dpY2FsUmlnaHQsIGxvZ2lj
YWxSaWdodExheW91dE92ZXJmbG93KCkpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBJ
bnRSZWN0IHJlcGFpbnRSZWN0OwogICAgICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSkKQEAgLTEzMDEsNiArMTI5Niw1MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlv
dXRCbG9jayhib29sIHJlbGF5CiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCit2b2lk
IFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCit7CisgICAgaWYgKCFoYXND
b2x1bW5zKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICBh
ZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBhZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
Q29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKKyAgICAgICAgaWYgKGNvbHVtbkNv
dW50KGNvbEluZm8pKSB7CisgICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1uUmVj
dEF0KGNvbEluZm8sIGNvbHVtbkNvdW50KGNvbEluZm8pIC0gMSk7CisgICAgICAgICAgICBpbnQg
b3ZlcmZsb3dMZWZ0ID0gIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1pbigw
LCBsYXN0UmVjdC54KCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0gc3R5
bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0Lngo
KSArIGxhc3RSZWN0LndpZHRoKCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd0hlaWdo
dCA9IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCk7
CisgICAgICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwgMCwg
b3ZlcmZsb3dSaWdodCAtIG92ZXJmbG93TGVmdCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAgICAg
fQorICAgIH0KK30KKwordm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZU92ZXJmbG93KGludCBvbGRD
bGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRzKQoreworICAgIC8vIEFkZCBvdmVy
ZmxvdyBmcm9tIGNoaWxkcmVuLgorICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisKKyAg
ICBpZiAoIWhhc0NvbHVtbnMoKSAmJiAocmVjb21wdXRlRmxvYXRzIHx8IGlzUm9vdCgpIHx8IGV4
cGFuZHNUb0VuY2xvc2VPdmVyaGFuZ2luZ0Zsb2F0cygpIHx8IGhhc1NlbGZQYWludGluZ0xheWVy
KCkpKQorICAgICAgICBhZGRPdmVyZmxvd0Zyb21GbG9hdHMoKTsKKworICAgIC8vIEFkZCBpbiB0
aGUgb3ZlcmZsb3cgZnJvbSBwb3NpdGlvbmVkIG9iamVjdHMuCisgICAgYWRkT3ZlcmZsb3dGcm9t
UG9zaXRpb25lZE9iamVjdHMoKTsKKworICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSkgeworICAg
ICAgICAvLyBXaGVuIHdlIGhhdmUgb3ZlcmZsb3cgY2xpcCwgcHJvcGFnYXRlIHRoZSBvcmlnaW5h
bCBzcGlsbG91dCBzaW5jZSBpdCB3aWxsIGluY2x1ZGUgY29sbGFwc2VkIGJvdHRvbSBtYXJnaW5z
CisgICAgICAgIC8vIGFuZCBib3R0b20gcGFkZGluZy4gIFNldCB0aGUgYXhpcyB3ZSBkb24ndCBj
YXJlIGFib3V0IHRvIGJlIDEsIHNpbmNlIHdlIHdhbnQgdGhpcyBvdmVyZmxvdyB0byBhbHdheXMK
KyAgICAgICAgLy8gYmUgY29uc2lkZXJlZCByZWFjaGFibGUuCisgICAgICAgIEludFJlY3QgY2xp
ZW50UmVjdChjbGllbnRCb3hSZWN0KCkpOworICAgICAgICBJbnRSZWN0IHJlY3RUb0FwcGx5Owor
ICAgICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAg
ICAgIHJlY3RUb0FwcGx5ID0gSW50UmVjdChjbGllbnRSZWN0LngoKSwgY2xpZW50UmVjdC55KCks
IDEsIG1heCgwLCBvbGRDbGllbnRBZnRlckVkZ2UgLSBjbGllbnRSZWN0LnkoKSkpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICByZWN0VG9BcHBseSA9IEludFJlY3QoY2xpZW50UmVjdC54KCks
IGNsaWVudFJlY3QueSgpLCBtYXgoMCwgb2xkQ2xpZW50QWZ0ZXJFZGdlIC0gY2xpZW50UmVjdC54
KCkpLCAxKTsKKyAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3cocmVjdFRvQXBwbHkpOworICAgIH0K
KyAgICAgICAgCisgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFkb3cgYW5k
IHJlZmxlY3Rpb25zLgorICAgIGFkZFNoYWRvd092ZXJmbG93KCk7Cit9CisKIHZvaWQgUmVuZGVy
QmxvY2s6OmFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogewogICAgIGZvciAoUmVuZGVy
Qm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nQm94KCkpIHsKQEAgLTEzMTcsMTIgKzEzNTksMjggQEAgdm9pZCBSZW5kZXJCbG9jazo6
YWRkT3ZlcmZsb3dGcm9tRmxvYXRzKAogICAgIEZsb2F0aW5nT2JqZWN0KiByOwogICAgIERlcHJl
Y2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5nT2JqZWN0
cyk7CiAgICAgZm9yICg7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCkgewotICAgICAgICBpZiAo
ci0+bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSkKKyAgICAgICAgaWYgKHItPm1faXNEZXNjZW5kYW50KQogICAgICAgICAgICAgYWRkT3ZlcmZs
b3dGcm9tQ2hpbGQoci0+bV9yZW5kZXJlciwgSW50U2l6ZShyLT5sZWZ0KCkgKyByLT5tX3JlbmRl
cmVyLT5tYXJnaW5MZWZ0KCksIHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkp
KTsKICAgICB9CiAgICAgcmV0dXJuOwogfQogCit2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxv
d0Zyb21Qb3NpdGlvbmVkT2JqZWN0cygpCit7CisgICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmplY3Rz
KQorICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRPYmplY3Q7Cisg
ICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7CisgICAgZm9yIChJ
dGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgeworICAgICAgICBwb3NpdGlvbmVkT2JqZWN0ID0gKml0OworICAgICAgICAKKyAgICAgICAg
Ly8gRml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91dCBv
dmVyZmxvdywgc2luY2UgdGhleSBkb24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KKyAgICAg
ICAgaWYgKHBvc2l0aW9uZWRPYmplY3QtPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3Np
dGlvbikKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHBvc2l0aW9uZWRPYmplY3Qp
OworICAgIH0KK30KKwogYm9vbCBSZW5kZXJCbG9jazo6ZXhwYW5kc1RvRW5jbG9zZU92ZXJoYW5n
aW5nRmxvYXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFi
bGUoKSB8fCBpc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwg
KHBhcmVudCgpICYmIHBhcmVudCgpLT5pc0ZsZXhpYmxlQm94KCkpCkBAIC0yMDA1LDYgKzIwNjMs
MTQgQEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBvc2l0aW9uZWRPYgogICAgIC8vIEFs
bCB3ZSBoYXZlIHRvIGlzIGxheSBvdXQgb3VyIHBvc2l0aW9uZWQgb2JqZWN0cy4KICAgICBsYXlv
dXRQb3NpdGlvbmVkT2JqZWN0cyhmYWxzZSk7CiAKKyAgICAvLyBSZWNvbXB1dGUgb3VyIG92ZXJm
bG93IGluZm9ybWF0aW9uLgorICAgIC8vIEZJWE1FOiBXZSBjb3VsZCBkbyBiZXR0ZXIgaGVyZSBi
eSBjb21wdXRpbmcgYSB0ZW1wb3Jhcnkgb3ZlcmZsb3cgb2JqZWN0IGZyb20gbGF5b3V0UG9zaXRp
b25lZE9iamVjdHMgYW5kIG9ubHkKKyAgICAvLyB1cGRhdGluZyBvdXIgb3ZlcmZsb3cgaWYgd2Ug
ZWl0aGVyIHVzZWQgdG8gaGF2ZSBvdmVyZmxvdyBvciBpZiB0aGUgbmV3IHRlbXBvcmFyeSBvYmpl
Y3QgaGFzIG92ZXJmbG93LgorICAgIC8vIEZvciBub3cganVzdCBhbHdheXMgcmVjb21wdXRlIG92
ZXJmbG93LiAgVGhpcyBpcyBubyB3b3JzZSBwZXJmb3JtYW5jZS13aXNlIHRoYW4gdGhlIG9sZCBj
b2RlIHRoYXQgY2FsbGVkIHJpZ2h0bW9zdFBvc2l0aW9uIGFuZAorICAgIC8vIGxvd2VzdFBvc2l0
aW9uIG9uIGV2ZXJ5IHJlbGF5b3V0IHNvIGl0J3Mgbm90IGEgcmVncmVzc2lvbi4KKyAgICBtX292
ZXJmbG93LmNsZWFyKCk7CisgICAgY29tcHV0ZU92ZXJmbG93KGNsaWVudExvZ2ljYWxCb3R0b20o
KSwgdHJ1ZSk7CisKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKICAgICAKICAgICB1cGRhdGVMYXll
clRyYW5zZm9ybSgpOwpAQCAtMjAxNywzOCArMjA4MywzOSBAQCBib29sIFJlbmRlckJsb2NrOjps
YXlvdXRPbmx5UG9zaXRpb25lZE9iCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9u
ZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKIHsKLSAgICBpZiAobV9wb3NpdGlvbmVk
T2JqZWN0cykgewotICAgICAgICBpZiAoaGFzQ29sdW1ucygpKQotICAgICAgICAgICAgdmlldygp
LT5sYXlvdXRTdGF0ZSgpLT5jbGVhclBhZ2luYXRpb25JbmZvcm1hdGlvbigpOyAvLyBQb3NpdGlv
bmVkIG9iamVjdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBjb2x1bW4gZmxvdywgc28gdGhleSBkb24n
dCBwYWdpbmF0ZSB3aXRoIHRoZSBjb2x1bW5zLgorICAgIGlmICghbV9wb3NpdGlvbmVkT2JqZWN0
cykKKyAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBpZiAoaGFzQ29sdW1ucygpKQorICAg
ICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPmNsZWFyUGFnaW5hdGlvbkluZm9ybWF0aW9uKCk7
IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGNvbHVtbiBmbG93LCBz
byB0aGV5IGRvbid0IHBhZ2luYXRlIHdpdGggdGhlIGNvbHVtbnMuCiAKLSAgICAgICAgUmVuZGVy
Qm94KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQo
KTsKLSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2lu
KCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAgICAg
IC8vIFdoZW4gYSBub24tcG9zaXRpb25lZCBibG9jayBlbGVtZW50IG1vdmVzLCBpdCBtYXkgaGF2
ZSBwb3NpdGlvbmVkIGNoaWxkcmVuIHRoYXQgYXJlIGltcGxpY2l0bHkgcG9zaXRpb25lZCByZWxh
dGl2ZSB0byB0aGUKLSAgICAgICAgICAgIC8vIG5vbi1wb3NpdGlvbmVkIGJsb2NrLiAgUmF0aGVy
IHRoYW4gdHJ5aW5nIHRvIGRldGVjdCBhbGwgb2YgdGhlc2UgbW92ZW1lbnQgY2FzZXMsIHdlIGp1
c3QgYWx3YXlzIGxheSBvdXQgcG9zaXRpb25lZAotICAgICAgICAgICAgLy8gb2JqZWN0cyB0aGF0
IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFyZSBy
YXJlLCBhbmQgc28gaW4gdHlwaWNhbCBESFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVyeXRoaW5n
IGlzCi0gICAgICAgICAgICAvLyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5v
dCBpbmN1ciBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuCi0gICAgICAgICAgICBpZiAocmVsYXlvdXRD
aGlsZHJlbiB8fCAoci0+c3R5bGUoKS0+aGFzU3RhdGljWSgpICYmIHItPnBhcmVudCgpICE9IHRo
aXMgJiYgci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkpKQotICAgICAgICAgICAgICAgIHItPnNl
dENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgLy8gSWYgcmVsYXlvdXRDaGlsZHJlbiBpcyBzZXQgYW5kIHdlIGhhdmUgcGVyY2VudGFn
ZSBwYWRkaW5nLCB3ZSBhbHNvIG5lZWQgdG8gaW52YWxpZGF0ZSB0aGUgY2hpbGQncyBwcmVmIHdp
ZHRocy4KLSAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIChyLT5zdHlsZSgpLT5w
YWRkaW5nU3RhcnQoKS5pc1BlcmNlbnQoKSB8fCByLT5zdHlsZSgpLT5wYWRkaW5nRW5kKCkuaXNQ
ZXJjZW50KCkpKQotICAgICAgICAgICAgICAgIHItPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNE
aXJ0eSh0cnVlLCBmYWxzZSk7CisgICAgUmVuZGVyQm94KiByOworICAgIEl0ZXJhdG9yIGVuZCA9
IG1fcG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOworICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bv
c2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgciA9
ICppdDsKKyAgICAgICAgLy8gV2hlbiBhIG5vbi1wb3NpdGlvbmVkIGJsb2NrIGVsZW1lbnQgbW92
ZXMsIGl0IG1heSBoYXZlIHBvc2l0aW9uZWQgY2hpbGRyZW4gdGhhdCBhcmUgaW1wbGljaXRseSBw
b3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICAvLyBub24tcG9zaXRpb25lZCBibG9j
ay4gIFJhdGhlciB0aGFuIHRyeWluZyB0byBkZXRlY3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNh
c2VzLCB3ZSBqdXN0IGFsd2F5cyBsYXkgb3V0IHBvc2l0aW9uZWQKKyAgICAgICAgLy8gb2JqZWN0
cyB0aGF0IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3Rz
IGFyZSByYXJlLCBhbmQgc28gaW4gdHlwaWNhbCBESFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVy
eXRoaW5nIGlzCisgICAgICAgIC8vIHBvc2l0aW9uZWQgZXhwbGljaXRseSkgdGhpcyBzaG91bGQg
bm90IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0eS4KKyAgICAgICAgaWYgKHJlbGF5b3V0Q2hp
bGRyZW4gfHwgKHItPnN0eWxlKCktPmhhc1N0YXRpY1koKSAmJiByLT5wYXJlbnQoKSAhPSB0aGlz
ICYmIHItPnBhcmVudCgpLT5pc0Jsb2NrRmxvdygpKSkKKyAgICAgICAgICAgIHItPnNldENoaWxk
TmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2UpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAo
IXItPm5lZWRzTGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgci0+bWFya0ZvclBhZ2luYXRpb25S
ZWxheW91dElmTmVlZGVkKCk7Ci0KLSAgICAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gZG8g
YSBmdWxsIGxheW91dC4gIFdlIGp1c3QgaGF2ZSB0byB1cGRhdGUgb3VyIHBvc2l0aW9uLiBUcnkg
dGhhdCBmaXJzdC4gSWYgd2UgaGF2ZSBzaHJpbmstdG8tZml0IHdpZHRoCi0gICAgICAgICAgICAv
LyBhbmQgd2UgaGl0IHRoZSBhdmFpbGFibGUgd2lkdGggY29uc3RyYWludCwgdGhlIGxheW91dElm
TmVlZGVkKCkgd2lsbCBjYXRjaCBpdCBhbmQgZG8gYSBmdWxsIGxheW91dC4KLSAgICAgICAgICAg
IGlmIChyLT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSkKLSAgICAgICAgICAg
ICAgICByLT50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9ubHkoKTsKLSAgICAgICAg
ICAgIHItPmxheW91dElmTmVlZGVkKCk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlm
IChoYXNDb2x1bW5zKCkpCi0gICAgICAgICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPm1fY29s
dW1uSW5mbyA9IGNvbHVtbkluZm8oKTsgLy8gRklYTUU6IEtpbmQgb2YgZ3Jvc3MuIFdlIGp1c3Qg
cHV0IHRoaXMgYmFjayBpbnRvIHRoZSBsYXlvdXQgc3RhdGUgc28gdGhhdCBwb3AoKSB3aWxsIHdv
cmsuCisgICAgICAgIC8vIElmIHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFuZCB3ZSBoYXZlIHBl
cmNlbnRhZ2UgcGFkZGluZywgd2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkJ3Mg
cHJlZiB3aWR0aHMuCisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIChyLT5zdHlsZSgp
LT5wYWRkaW5nU3RhcnQoKS5pc1BlcmNlbnQoKSB8fCByLT5zdHlsZSgpLT5wYWRkaW5nRW5kKCku
aXNQZXJjZW50KCkpKQorICAgICAgICAgICAgci0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0Rp
cnR5KHRydWUsIGZhbHNlKTsKKyAgICAgICAgCisgICAgICAgIGlmICghci0+bmVlZHNMYXlvdXQo
KSkKKyAgICAgICAgICAgIHItPm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5lZWRlZCgpOwor
CisgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gZG8gYSBmdWxsIGxheW91dC4gIFdlIGp1c3Qg
aGF2ZSB0byB1cGRhdGUgb3VyIHBvc2l0aW9uLiBUcnkgdGhhdCBmaXJzdC4gSWYgd2UgaGF2ZSBz
aHJpbmstdG8tZml0IHdpZHRoCisgICAgICAgIC8vIGFuZCB3ZSBoaXQgdGhlIGF2YWlsYWJsZSB3
aWR0aCBjb25zdHJhaW50LCB0aGUgbGF5b3V0SWZOZWVkZWQoKSB3aWxsIGNhdGNoIGl0IGFuZCBk
byBhIGZ1bGwgbGF5b3V0LgorICAgICAgICBpZiAoci0+bmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRM
YXlvdXRPbmx5KCkpCisgICAgICAgICAgICByLT50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3Zl
bWVudE9ubHkoKTsKKyAgICAgICAgci0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICB9CisgICAgCisg
ICAgaWYgKGhhc0NvbHVtbnMoKSkKKyAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5tX2Nv
bHVtbkluZm8gPSBjb2x1bW5JbmZvKCk7IC8vIEZJWE1FOiBLaW5kIG9mIGdyb3NzLiBXZSBqdXN0
IHB1dCB0aGlzIGJhY2sgaW50byB0aGUgbGF5b3V0IHN0YXRlIHNvIHRoYXQgcG9wKCkgd2lsbCB3
b3JrLgogfQogCiB2b2lkIFJlbmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlv
dXQoKQpAQCAtMjExMyw3ICsyMTgwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnQoUGFpbnRJ
bmZvJiBwYWludAogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5hdGUgdGhlIGlzUm9vdCgpIGNo
ZWNrIGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRoYXQgdGhlIFJlbmRlclZpZXcK
ICAgICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgogICAgIGlmICghaXNSb290KCkp
IHsKLSAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc2libGVPdmVyZmxvd1JlY3QoKTsK
KyAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAg
ICAgICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhh
c2UpKTsKICAgICAgICAgb3ZlcmZsb3dCb3gubW92ZSh0eCwgdHkpOwogICAgICAgICBpZiAoIW92
ZXJmbG93Qm94LmludGVyc2VjdHMocGFpbnRJbmZvLnJlY3QpKQpAQCAtMzM1NCw0MTggKzM0MjEs
NiBAQCBpbnQgUmVuZGVyQmxvY2s6Omxvd2VzdEZsb2F0TG9naWNhbEJvdHRvCiAgICAgcmV0dXJu
IGxvd2VzdEZsb2F0Qm90dG9tOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6OnRvcG1vc3RQb3NpdGlv
bihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRy
YW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVk
UmVjdCA9IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkVG9wID0g
aW5jbHVkZVNlbGYgJiYgdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgPiAwID8gMCA6IHRyYW5zZm9y
bWVkUmVjdC5oZWlnaHQoKTsKLSAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
ICYmIChoYXNPdmVyZmxvd0NsaXAoKSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0
dXJuIHRyYW5zZm9ybWVkVG9wOwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgKCF0cmFuc2Zv
cm1lZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKSkKLSAgICAgICAg
cmV0dXJuIHRyYW5zZm9ybWVkVG9wOwotCi0gICAgaW50IHRvcCA9IGluY2x1ZGVTZWxmICYmIHdp
ZHRoKCkgPiAwID8gMCA6IGhlaWdodCgpOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAg
ICAgICAgLy8gRklYTUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUg
dG8gYXZvaWQgdmlzaXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBo
YXZlIHRvIGRlc2NlbmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBh
IGh1Z2UgYWJzIGRpdiBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNv
bWV3aGVyZSBkZWVwIGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8g
Z2V0IHRvCi0gICAgICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICBmb3IgKFJlbmRlck9iamVj
dCogYyA9IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAg
ICAgIGlmICghYy0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAg
ICAgICAgICAgICAgICBSZW5kZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAg
ICAgICAgICAgICAgdG9wID0gbWluKHRvcCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0
KCkueSgpICsgY2hpbGRCb3gtPnRvcG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRp
b25lZCgpKQotICAgICAgICB0b3AgKz0gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsgCi0KLSAg
ICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAg
ICAgICByZXR1cm4gdG9wOwotICAgIAotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVT
ZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKSA6IDA7
Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIHRvcCA9IG1pbih0b3AsIHRvcExheW91
dE92ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2Jq
ZWN0cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1f
cG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9w
b3NpdGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAg
ICByID0gKml0OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5v
dCBzY3JvbGwgYW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBw
YXJ0IG9mIHRoZSB0b3Btb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCkt
PnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBTaG91bGQgd29yayBmb3Igb3ZlcmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAg
IC8vIElmIGEgcG9zaXRpb25lZCBvYmplY3QgbGllcyBjb21wbGV0ZWx5IHRvIHRoZSBsZWZ0IG9m
IHRoZSByb290IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAg
ICAgICAgICAvLyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRl
IHRvIHRoZSB0b3Btb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNm
b3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBpZiAo
IWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi54KCkgKyB0cmFuc2Zvcm1lZFIud2lkdGgo
KSA+IDAgfHwgdHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSA+
IDApIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IHRwID0gdHJhbnNmb3JtZWRSLnkoKSArIHIt
PnRvcG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0
b3AsIHRwICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAg
Q29sdW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGNvbHVtbkNvdW50KGNvbEluZm8pOyBpKyspCi0gICAgICAgICAgICB0b3Ag
PSBtaW4odG9wLCBjb2x1bW5SZWN0QXQoY29sSW5mbywgaSkueSgpICsgcmVsYXRpdmVPZmZzZXQp
OwotICAgICAgICByZXR1cm4gdG9wOwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0
cykgewotICAgICAgICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxp
c3RJdGVyYXRvcjxGbG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAg
ICAgZm9yICggOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQpIHsKLSAgICAgICAgICAgIGlmIChy
LT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkp
IHsKLSAgICAgICAgICAgICAgICBpbnQgdHAgPSByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1h
cmdpblRvcCgpICsgci0+bV9yZW5kZXJlci0+dG9wbW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAg
ICAgICAgICAgICB0b3AgPSBtaW4odG9wLCB0cCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYgJiYgZmlyc3RS
b290Qm94KCkpCi0gICAgICAgIHRvcCA9IG1pbih0b3AsIGZpcnN0Um9vdEJveCgpLT5zZWxlY3Rp
b25Ub3AoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJ
bmNsdWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFz
VHJhbnNmb3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
LCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVm
dG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1
ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVy
VHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAt
IHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAg
cmV0dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpsb3dlc3RQb3NpdGlvbihib29sIGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IHRy
YW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkQm90dG9tID0gaW5jbHVk
ZVNlbGYgJiYgdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgPiAwID8gdHJhbnNmb3JtZWRSZWN0Lmhl
aWdodCgpIDogMDsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092
ZXJmbG93Q2xpcCgpIHx8IGhhc0NvbnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNm
b3JtZWRCb3R0b207Ci0KLSAgICBpZiAoIWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVj
dC53aWR0aCgpIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4g
dHJhbnNmb3JtZWRCb3R0b207Ci0KLSAgICBpbnQgYm90dG9tID0gaW5jbHVkZVNlbGYgJiYgd2lk
dGgoKSA+IDAgPyBoZWlnaHQoKSA6IDA7Ci0KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAg
ICAgICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0
byBhdm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMuCi0gICAgICAgIC8vIEZvciBub3csIHdlIGhh
dmUgdG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hpbGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEg
aHVnZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAvLyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29t
ZXdoZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBn
ZXQgdG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYuCi0gICAgICAgIC8vIFNlZSB0aGUgbGFzdCB0
ZXN0IGNhc2UgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMTQg
Zm9yIHdoeSB0aGlzIGlzIGEgcHJvYmxlbS4KLSAgICAgICAgLy8gRm9yIGlubGluZSBjaGlsZHJl
biwgd2UgbWlzcyByZWxhdGl2ZSBwb3NpdGlvbmVkIGJveGVzIHRoYXQgbWlnaHQgYmUgYnVyaWVk
IGluc2lkZSA8c3Bhbj5zLgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9IGZpcnN0Q2hp
bGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlmICghYy0+aXNG
bG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAgICAgICAgICBS
ZW5kZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAgICAgICAgYm90
dG9tID0gbWF4KGJvdHRvbSwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsg
Y2hpbGRCb3gtPmxvd2VzdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0g
ICAgICAgIGJvdHRvbSArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOyAgICAgCi0gICAgaWYg
KCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAg
cmV0dXJuIGJvdHRvbTsKLQotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYm
IGlzUmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKSA6IDA7Ci0KLSAg
ICBpZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGJvdHRvbUxh
eW91dE92ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIAotICAgIGlmIChtX3Bv
c2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJlbmRlckJveCogcjsKLSAgICAgICAgSXRlcmF0
b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoSXRlcmF0
b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9i
amVjdHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUKLSAgICAg
ICAgICAgIC8vIHBhcnQgb2YgdGhlIGxvd2VzdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChy
LT5zdHlsZSgpLT5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogU2hvdWxkIHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAg
ICAgICAgICAgICAvLyBJZiBhIHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSB0byB0
aGUgbGVmdCBvZiB0aGUgcm9vdCBpdCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcu
Ci0gICAgICAgICAgICAgICAgLy8gVGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8g
Y29udHJpYnV0ZSB0byB0aGUgbG93ZXN0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIEludFJl
Y3QgdHJhbnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAg
ICAgICBpZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi54KCkgKyB0cmFuc2Zvcm1l
ZFIud2lkdGgoKSA+IDAgfHwgdHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9u
KGZhbHNlKSA+IDApIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IGxwID0gdHJhbnNmb3JtZWRS
LnkoKSArIHItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgYm90
dG9tID0gbWF4KGJvdHRvbSwgbHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGhhc0NvbHVtbnMo
KSkgewotICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwotICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29sdW1uQ291bnQoY29sSW5mbyk7IGkrKykKLSAg
ICAgICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGNvbHVtblJlY3RBdChjb2xJbmZvLCBpKS5i
b3R0b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIGJvdHRvbTsKLSAgICB9
Ci0KLSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3Qq
IHI7Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0
KCptX2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJyZW50KCkp
OyArK2l0ICkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5k
ZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCBscCA9
IHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkgKyByLT5tX3JlbmRlcmVyLT5s
b3dlc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgYm90dG9tID0gbWF4KGJvdHRv
bSwgbHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICBpZiAoIWluY2x1ZGVTZWxmKSB7Ci0gICAgICAgIGJvdHRvbSA9IG1heChib3R0b20s
IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgcGFkZGluZ0JvdHRvbSgpICsgcmVsYXRpdmVP
ZmZzZXQpOwotICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICAgICAgaWYg
KGxhc3RSb290Qm94KCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21FZGdlID0g
bGFzdFJvb3RCb3goKS0+c2VsZWN0aW9uQm90dG9tKCk7Ci0gICAgICAgICAgICAgICAgYm90dG9t
ID0gbWF4KGJvdHRvbSwgY2hpbGRCb3R0b21FZGdlICsgcGFkZGluZ0JvdHRvbSgpICsgcmVsYXRp
dmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
Ly8gRmluZCB0aGUgbGFzdCBub3JtYWwgZmxvdyBjaGlsZC4KLSAgICAgICAgICAgIFJlbmRlckJv
eCogY3VyckJveCA9IGxhc3RDaGlsZEJveCgpOwotICAgICAgICAgICAgd2hpbGUgKGN1cnJCb3gg
JiYgY3VyckJveC0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgIGN1
cnJCb3ggPSBjdXJyQm94LT5wcmV2aW91c1NpYmxpbmdCb3goKTsKLSAgICAgICAgICAgIGlmIChj
dXJyQm94KSB7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZEN1cnJCb3ggPSBj
dXJyQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGludCBjaGls
ZEJvdHRvbUVkZ2UgPSB0cmFuc2Zvcm1lZEN1cnJCb3gueSgpICsgdHJhbnNmb3JtZWRDdXJyQm94
LmhlaWdodCgpICsgY3VyckJveC0+Y29sbGFwc2VkTWFyZ2luQWZ0ZXIoKTsgLy8gRklYTUU6ICJh
ZnRlciIgaXMgd3JvbmcgaGVyZSBmb3IgbG93ZXN0UG9zaXRpb24uCi0gICAgICAgICAgICAgICAg
Ym90dG9tID0gbWF4KGJvdHRvbSwgY2hpbGRCb3R0b21FZGdlICsgcGFkZGluZ0JvdHRvbSgpICsg
cmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAg
aWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYg
bGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0g
dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhj
bHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5z
Zm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCBy
aWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVj
dC5oZWlnaHQoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQgUmVuZGVy
QmxvY2s6OnJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJv
b2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewot
ICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAg
ICBpbnQgdHJhbnNmb3JtZWRSaWdodCA9IGluY2x1ZGVTZWxmICYmIHRyYW5zZm9ybWVkUmVjdC5o
ZWlnaHQoKSA+IDAgPyB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSA6IDA7Ci0KLSAgICBpZiAoIWlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNPdmVyZmxvd0NsaXAoKSB8fCBoYXNDb250cm9s
Q2xpcCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmlnaHQ7Ci0KLSAgICBpZiAoIWZp
cnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8ICF0cmFuc2Zvcm1lZFJl
Y3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSaWdodDsKLQotICAgIGlu
dCByaWdodCA9IGluY2x1ZGVTZWxmICYmIGhlaWdodCgpID4gMCA/IHdpZHRoKCkgOiAwOwotCi0g
ICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IENvbWUgdXAgd2l0aCBh
IHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZvaWQgdmlzaXRpbmcgYWxsIHRoZSBraWRz
LgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRvIGRlc2NlbmQgaW50byBhbGwgdGhlIGNo
aWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2UgYWJzIGRpdiBpbnNpZGUKLSAgICAgICAg
Ly8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVyZSBkZWVwIGluIG91ciBjaGlsZCB0cmVl
LiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRvCi0gICAgICAgIC8vIHRoZSBhYnMgZGl2
LgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMt
Pm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlmICghYy0+aXNGbG9hdGluZ09yUG9zaXRp
b25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGNoaWxk
Qm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQs
IGNoaWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNoaWxkQm94LT5yaWdodG1v
c3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICByaWdodCAr
PSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIHJpZ2h0OwotCi0g
ICAgaW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkg
PyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2VsZikK
LSAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0
aXZlT2Zmc2V0KTsKLQotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJl
bmRlckJveCogcjsKLSAgICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+
ZW5kKCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5i
ZWdpbigpIDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICByID0gKml0OwotICAgICAg
ICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5vdCBzY3JvbGwgYW5kIHRodXMg
c2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBwYXJ0IG9mIHRoZSByaWdodG1v
c3QgcG9zaXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBG
aXhlZFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZv
ciBvdmVyZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlv
bmVkIG9iamVjdCBsaWVzIGNvbXBsZXRlbHkgYWJvdmUgdGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJl
YWNoYWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBz
aG91bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIHJpZ2h0bW9zdCBwb3NpdGlv
bi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUiA9IHItPnRyYW5zZm9ybWVk
RnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1JlbmRlclZpZXcoKSB8fCB0cmFu
c2Zvcm1lZFIueSgpICsgdHJhbnNmb3JtZWRSLmhlaWdodCgpID4gMCB8fCB0cmFuc2Zvcm1lZFIu
eSgpICsgci0+bG93ZXN0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAgICAgICAgICAgICAg
ICBpbnQgcnAgPSB0cmFuc2Zvcm1lZFIueCgpICsgci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2Up
OwotICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgcnAgKyByZWxhdGl2ZU9m
ZnNldCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
fQotCi0gICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIG9ubHkgbWF0dGVy
cyBmb3IgTFRSCi0gICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
IHsKLSAgICAgICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAg
ICAgICAgICB1bnNpZ25lZCBjb3VudCA9IGNvbHVtbkNvdW50KGNvbEluZm8pOwotICAgICAgICAg
ICAgaWYgKGNvdW50KQotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KGNvbHVtblJlY3RBdChj
b2xJbmZvLCBjb3VudCAtIDEpLnJpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCwgcmlnaHQpOwotICAg
ICAgICB9Ci0gICAgICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYm
IGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAg
ICAgICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgICAgIGludCBib3R0
b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0
aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9y
bSk7Ci0gICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNm
b3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkp
OwotICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3Qud2lkdGgoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXR1cm4gcmlnaHQ7Ci0gICAgfQotCi0gICAgaWYgKG1fZmxvYXRpbmdPYmplY3Rz
KSB7Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAgICBEZXByZWNhdGVkUHRyTGlz
dEl0ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwotICAgICAg
ICBmb3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsKLSAgICAgICAgICAgIGlmIChy
LT5tX3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkp
IHsKLSAgICAgICAgICAgICAgICBpbnQgcnAgPSByLT5sZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5t
YXJnaW5MZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0g
ICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJwICsgcmVsYXRpdmVPZmZzZXQpOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFpbmNsdWRlU2VsZikg
ewotICAgICAgICByaWdodCA9IG1heChyaWdodCwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQo
KSArIHBhZGRpbmdSaWdodCgpICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkgewotICAgICAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyQm94ID0g
Zmlyc3RMaW5lQm94KCk7IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0TGluZUJveCgp
KSB7Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkUmlnaHRFZGdlID0gY3VyckJveC0+eCgpICsg
Y3VyckJveC0+bG9naWNhbFdpZHRoKCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAg
ICAgLy8gSWYgdGhpcyBub2RlIGlzIGEgcm9vdCBlZGl0YWJsZSBlbGVtZW50LCB0aGVuIHRoZSBy
aWdodG1vc3RQb3NpdGlvbiBzaG91bGQgYWNjb3VudCBmb3IgYSBjYXJldCBhdCB0aGUgZW5kLgot
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGZpbmQgYW5vdGhlciB3YXkgdG8gZG8g
dGhpcywgc2luY2Ugc2Nyb2xsYmFycyBjb3VsZCBzaG93IHdoZW4gd2UgZG9uJ3Qgd2FudCB0aGVt
IHRvLgotICAgICAgICAgICAgICAgIGlmIChub2RlKCkgJiYgbm9kZSgpLT5pc0NvbnRlbnRFZGl0
YWJsZSgpICYmIG5vZGUoKSA9PSBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSAmJiBzdHls
ZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgIXBhZGRpbmdSaWdodCgpKQotICAgICAg
ICAgICAgICAgICAgICBjaGlsZFJpZ2h0RWRnZSArPSAxOwotICAgICAgICAgICAgICAgIHJpZ2h0
ID0gbWF4KHJpZ2h0LCBjaGlsZFJpZ2h0RWRnZSArIHBhZGRpbmdSaWdodCgpICsgcmVsYXRpdmVP
ZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
V2FsayBhbGwgbm9ybWFsIGZsb3cgY2hpbGRyZW4uCi0gICAgICAgICAgICBmb3IgKFJlbmRlckJv
eCogY3VyckJveCA9IGZpcnN0Q2hpbGRCb3goKTsgY3VyckJveDsgY3VyckJveCA9IGN1cnJCb3gt
Pm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY3VyckJveC0+aXNGbG9h
dGluZ09yUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkQ2hpbGQgPSBjdXJyQm94LT50cmFuc2Zvcm1l
ZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGludCBjaGlsZFJpZ2h0RWRnZSA9IHRyYW5z
Zm9ybWVkQ2hpbGQueCgpICsgdHJhbnNmb3JtZWRDaGlsZC53aWR0aCgpICsgY3VyckJveC0+bWFy
Z2luUmlnaHQoKTsKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgY2hpbGRSaWdo
dEVkZ2UgKyBwYWRkaW5nUmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJh
bnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3Jt
KCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90
dG9tID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxm
LCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9u
KGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7
Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1Jl
Y3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAg
ICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LndpZHRoKCk7Ci0gICAgfQotICAgIAotICAgIHJldHVy
biByaWdodDsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5j
bHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFw
cGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJh
bnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICBpbnQgdHJhbnNmb3JtZWRMZWZ0ID0gaW5jbHVkZVNl
bGYgJiYgdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpID4gMCA/IDAgOiB0cmFuc2Zvcm1lZFJlY3Qu
d2lkdGgoKTsKLSAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNP
dmVyZmxvd0NsaXAoKSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5z
Zm9ybWVkTGVmdDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0
LndpZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0
cmFuc2Zvcm1lZExlZnQ7Ci0KLSAgICBpbnQgbGVmdCA9IGluY2x1ZGVTZWxmICYmIGhlaWdodCgp
ID4gMCA/IDAgOiB3aWR0aCgpOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAg
Ly8gRklYTUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZv
aWQgdmlzaXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRv
IGRlc2NlbmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2Ug
YWJzIGRpdiBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVy
ZSBkZWVwIGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRv
Ci0gICAgICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9
IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlm
ICghYy0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAg
ICAgICAgICBSZW5kZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAg
ICAgICAgbGVmdCA9IG1pbihsZWZ0LCBjaGlsZEJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54
KCkgKyBjaGlsZEJveC0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25l
ZCgpKQotICAgICAgICBsZWZ0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7IAotCi0gICAg
aWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAg
ICAgcmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgaW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNl
bGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpIDogMDsK
LQotICAgIGlmIChpbmNsdWRlU2VsZikKLSAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBsZWZ0TGF5
b3V0T3ZlcmZsb3coKSArIHJlbGF0aXZlT2Zmc2V0KTsKLQotICAgIGlmIChtX3Bvc2l0aW9uZWRP
YmplY3RzKSB7Ci0gICAgICAgIFJlbmRlckJveCogcjsKLSAgICAgICAgSXRlcmF0b3IgZW5kID0g
bV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3IgaXQgPSBt
X3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
ICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9iamVjdHMgZG8g
bm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUKLSAgICAgICAgICAgIC8v
IHBhcnQgb2YgdGhlIGxlZnRtb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxl
KCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJ
WE1FOiBTaG91bGQgd29yayBmb3Igb3ZlcmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAg
ICAgIC8vIElmIGEgcG9zaXRpb25lZCBvYmplY3QgbGllcyBjb21wbGV0ZWx5IGFib3ZlIHRoZSBy
b290IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAgICAgICAg
ICAvLyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRo
ZSBsZWZ0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVk
UiA9IHItPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1Jl
bmRlclZpZXcoKSB8fCB0cmFuc2Zvcm1lZFIueSgpICsgdHJhbnNmb3JtZWRSLmhlaWdodCgpID4g
MCB8fCB0cmFuc2Zvcm1lZFIueSgpICsgci0+bG93ZXN0UG9zaXRpb24oZmFsc2UpID4gMCkgewot
ICAgICAgICAgICAgICAgICAgICBpbnQgbHAgPSB0cmFuc2Zvcm1lZFIueCgpICsgci0+bGVmdG1v
c3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwg
bHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBU
aGlzIG9ubHkgbWF0dGVycyBmb3IgUlRMCi0gICAgICAgIGlmICghc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKSB7Ci0gICAgICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29s
dW1uSW5mbygpOwotICAgICAgICAgICAgdW5zaWduZWQgY291bnQgPSBjb2x1bW5Db3VudChjb2xJ
bmZvKTsKLSAgICAgICAgICAgIGlmIChjb3VudCkKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWlu
KGNvbHVtblJlY3RBdChjb2xJbmZvLCBjb3VudCAtIDEpLngoKSArIHJlbGF0aXZlT2Zmc2V0LCBs
ZWZ0KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbGVmdDsKLSAgICB9Ci0KLSAgICBpZiAo
bV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHI7Ci0gICAgICAg
IERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5n
T2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJyZW50KCkpOyArK2l0ICkgewot
ICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5kZXJlci0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCBscCA9IHItPmxlZnQoKSAr
IHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHItPm1fcmVuZGVyZXItPmxlZnRtb3N0UG9z
aXRpb24oZmFsc2UpOwotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgbHAgKyByZWxh
dGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAo
IWluY2x1ZGVTZWxmICYmIGZpcnN0TGluZUJveCgpKSB7Ci0gICAgICAgIGZvciAoSW5saW5lRmxv
d0JveCogY3VyckJveCA9IGZpcnN0TGluZUJveCgpOyBjdXJyQm94OyBjdXJyQm94ID0gY3VyckJv
eC0+bmV4dExpbmVCb3goKSkKLSAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgKGludCljdXJy
Qm94LT54KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgfQotCi0gICAgaWYgKGFwcGx5VHJhbnNm
b3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXll
cigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gdG9wbW9zdFBvc2l0aW9u
KGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7
Ci0gICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmlnaHQg
PSByaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBs
eUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJv
dHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQot
ICAgIAotICAgIHJldHVybiBsZWZ0OwotfQotCiB2b2lkIFJlbmRlckJsb2NrOjptYXJrTGluZXNE
aXJ0eUluQmxvY2tSYW5nZShpbnQgbG9naWNhbFRvcCwgaW50IGxvZ2ljYWxCb3R0b20sIFJvb3RJ
bmxpbmVCb3gqIGhpZ2hlc3QpCiB7CiAgICAgaWYgKGxvZ2ljYWxUb3AgPj0gbG9naWNhbEJvdHRv
bSkKQEAgLTM5MTYsNiArMzU3MSw4IEBAIGludCBSZW5kZXJCbG9jazo6YWRkT3ZlcmhhbmdpbmdG
bG9hdHMoUmUKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGZsb2F0
aW5nT2JqLT5tX3Nob3VsZFBhaW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgZmxvYXRpbmdPYmotPm1faXNEZXNjZW5kYW50ID0gdHJ1ZTsKKwogICAgICAgICAg
ICAgICAgIC8vIFdlIGNyZWF0ZSB0aGUgZmxvYXRpbmcgb2JqZWN0IGxpc3QgbGF6aWx5LgogICAg
ICAgICAgICAgICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMpIHsKICAgICAgICAgICAgICAgICAg
ICAgbV9mbG9hdGluZ09iamVjdHMgPSBuZXcgRGVwcmVjYXRlZFB0ckxpc3Q8RmxvYXRpbmdPYmpl
Y3Q+OwpAQCAtMzkyMywxNyArMzU4MCwyMiBAQCBpbnQgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5n
aW5nRmxvYXRzKFJlCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG1fZmxvYXRp
bmdPYmplY3RzLT5hcHBlbmQoZmxvYXRpbmdPYmopOwogICAgICAgICAgICAgfQotICAgICAgICB9
IGVsc2UgaWYgKG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgJiYgIXItPm1fc2hvdWxkUGFpbnQg
JiYgIXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYKLSAgICAgICAgICAg
ICAgICAgICByLT5tX3JlbmRlcmVyLT5pc0Rlc2NlbmRhbnRPZihjaGlsZCkgJiYgci0+bV9yZW5k
ZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKSA9PSBjaGlsZC0+ZW5jbG9zaW5nTGF5ZXIoKSkKLSAgICAg
ICAgICAgIC8vIFRoZSBmbG9hdCBpcyBub3Qgb3ZlcmhhbmdpbmcgZnJvbSB0aGlzIGJsb2NrLCBz
byBpZiBpdCBpcyBhIGRlc2NlbmRhbnQgb2YgdGhlIGNoaWxkLCB0aGUgY2hpbGQgc2hvdWxkCi0g
ICAgICAgICAgICAvLyBwYWludCBpdCAodGhlIG90aGVyIGNhc2UgaXMgdGhhdCBpdCBpcyBpbnRy
dWRpbmcgaW50byB0aGUgY2hpbGQpLCB1bmxlc3MgaXQgaGFzIGl0cyBvd24gbGF5ZXIgb3IgZW5j
bG9zaW5nCi0gICAgICAgICAgICAvLyBsYXllci4KLSAgICAgICAgICAgIC8vIElmIG1ha2VDaGls
ZFBhaW50T3RoZXJGbG9hdHMgaXMgZmFsc2UsIGl0IG1lYW5zIHRoYXQgdGhlIGNoaWxkIG11c3Qg
YWxyZWFkeSBrbm93IGFib3V0IGFsbCB0aGUgZmxvYXRzCi0gICAgICAgICAgICAvLyBpdCBzaG91
bGQgcGFpbnQuCi0gICAgICAgICAgICByLT5tX3Nob3VsZFBhaW50ID0gdHJ1ZTsKLQotICAgICAg
ICBpZiAoci0+bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5n
TGF5ZXIoKSkKLSAgICAgICAgICAgIGNoaWxkLT5hZGRPdmVyZmxvd0Zyb21DaGlsZChyLT5tX3Jl
bmRlcmVyLCBJbnRTaXplKHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSwg
ci0+dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSkpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgaWYgKG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgJiYgIXItPm1fc2hv
dWxkUGFpbnQgJiYgIXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYKKyAg
ICAgICAgICAgICAgICByLT5tX3JlbmRlcmVyLT5pc0Rlc2NlbmRhbnRPZihjaGlsZCkgJiYgci0+
bV9yZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKSA9PSBjaGlsZC0+ZW5jbG9zaW5nTGF5ZXIoKSkg
eworICAgICAgICAgICAgICAgIC8vIFRoZSBmbG9hdCBpcyBub3Qgb3ZlcmhhbmdpbmcgZnJvbSB0
aGlzIGJsb2NrLCBzbyBpZiBpdCBpcyBhIGRlc2NlbmRhbnQgb2YgdGhlIGNoaWxkLCB0aGUgY2hp
bGQgc2hvdWxkCisgICAgICAgICAgICAgICAgLy8gcGFpbnQgaXQgKHRoZSBvdGhlciBjYXNlIGlz
IHRoYXQgaXQgaXMgaW50cnVkaW5nIGludG8gdGhlIGNoaWxkKSwgdW5sZXNzIGl0IGhhcyBpdHMg
b3duIGxheWVyIG9yIGVuY2xvc2luZworICAgICAgICAgICAgICAgIC8vIGxheWVyLgorICAgICAg
ICAgICAgICAgIC8vIElmIG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgaXMgZmFsc2UsIGl0IG1l
YW5zIHRoYXQgdGhlIGNoaWxkIG11c3QgYWxyZWFkeSBrbm93IGFib3V0IGFsbCB0aGUgZmxvYXRz
CisgICAgICAgICAgICAgICAgLy8gaXQgc2hvdWxkIHBhaW50LgorICAgICAgICAgICAgICAgIHIt
Pm1fc2hvdWxkUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAg
ICAgICAgICAvLyBTaW5jZSB0aGUgZmxvYXQgZG9lc24ndCBvdmVyaGFuZywgaXQgZGlkbid0IGdl
dCBwdXQgaW50byBvdXIgbGlzdC4gIFdlIG5lZWQgdG8gZ28gYWhlYWQgYW5kIGFkZCBpdHMgb3Zl
cmZsb3cgaW4gdG8gdGhlCisgICAgICAgICAgICAvLyBjaGlsZCBub3cuCisgICAgICAgICAgICBp
ZiAoci0+bV9pc0Rlc2NlbmRhbnQpCisgICAgICAgICAgICAgICAgY2hpbGQtPmFkZE92ZXJmbG93
RnJvbUNoaWxkKHItPm1fcmVuZGVyZXIsIEludFNpemUoci0+bGVmdCgpICsgci0+bV9yZW5kZXJl
ci0+bWFyZ2luTGVmdCgpLCByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpblRvcCgpKSk7
CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbTsK
IH0KQEAgLTQxMDEsNyArMzc2Myw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNv
bnN0IEhpdFQKIAogICAgIGlmICghaXNSZW5kZXJWaWV3KCkpIHsKICAgICAgICAgLy8gQ2hlY2sg
aWYgd2UgbmVlZCB0byBkbyBhbnl0aGluZyBhdCBhbGwuCi0gICAgICAgIEludFJlY3Qgb3ZlcmZs
b3dCb3ggPSB2aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dC
b3ggPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgb3ZlcmZsb3dCb3gubW92ZSh0eCwg
dHkpOwogICAgICAgICBpZiAoIW92ZXJmbG93Qm94LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQ
b2ludChfeCwgX3kpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQ1NjEsNDkgKzQy
MjMsNDMgQEAgSW50UmVjdCBSZW5kZXJCbG9jazo6Y29sdW1uUmVjdEF0KENvbHVtbgogCiBib29s
IFJlbmRlckJsb2NrOjpsYXlvdXRDb2x1bW5zKGJvb2wgaGFzU3BlY2lmaWVkUGFnZUhlaWdodCwg
aW50IHBhZ2VIZWlnaHQsIExheW91dFN0YXRlTWFpbnRhaW5lciYgc3RhdGVQdXNoZXIpCiB7Ci0g
ICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogV2UgZG9uJ3QgYmFsYW5j
ZSBwcm9wZXJseSBhdCBhbGwgaW4gdGhlIHByZXNlbmNlIG9mIGZvcmNlZCBwYWdlIGJyZWFrcy4g
IFdlIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0Ci0gICAgICAgIC8vIHRoZSBkaXN0YW5jZSBiZXR3
ZWVuIGZvcmNlZCBwYWdlIGJyZWFrcyBpcyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYWtpbmcgdGhl
IG1pbmltdW0gY29sdW1uIGhlaWdodCB0b28gdGFsbC4KLSAgICAgICAgQ29sdW1uSW5mbyogY29s
SW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgaW50IGRlc2lyZWRDb2x1bW5Db3VudCA9IGNv
bEluZm8tPmRlc2lyZWRDb2x1bW5Db3VudCgpOwotICAgICAgICBpZiAoIWhhc1NwZWNpZmllZFBh
Z2VIZWlnaHQpIHsKLSAgICAgICAgICAgIGludCBjb2x1bW5IZWlnaHQgPSBwYWdlSGVpZ2h0Owot
ICAgICAgICAgICAgaW50IG1pbkNvbHVtbkNvdW50ID0gY29sSW5mby0+Zm9yY2VkQnJlYWtzKCkg
KyAxOwotICAgICAgICAgICAgaWYgKG1pbkNvbHVtbkNvdW50ID49IGRlc2lyZWRDb2x1bW5Db3Vu
dCkgewotICAgICAgICAgICAgICAgIC8vIFRoZSBmb3JjZWQgcGFnZSBicmVha3MgYXJlIGluIGNv
bnRyb2wgb2YgdGhlIGJhbGFuY2luZy4gIEp1c3Qgc2V0IHRoZSBjb2x1bW4gaGVpZ2h0IHRvIHRo
ZQotICAgICAgICAgICAgICAgIC8vIG1heGltdW0gcGFnZSBicmVhayBkaXN0YW5jZS4KLSAgICAg
ICAgICAgICAgICBpZiAoIXBhZ2VIZWlnaHQpIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IGRp
c3RhbmNlQmV0d2VlbkJyZWFrcyA9IG1heChjb2xJbmZvLT5tYXhpbXVtRGlzdGFuY2VCZXR3ZWVu
Rm9yY2VkQnJlYWtzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlWShib3JkZXJUb3AoKSArIHBh
ZGRpbmdUb3AoKSArIGNvbnRlbnRIZWlnaHQoKSkgLSBjb2xJbmZvLT5mb3JjZWRCcmVha09mZnNl
dCgpKTsKLSAgICAgICAgICAgICAgICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1p
bmltdW1Db2x1bW5IZWlnaHQoKSwgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRIZWlnaHQoKSA+IHBhZ2VIZWln
aHQgKiBkZXNpcmVkQ29sdW1uQ291bnQpIHsKLSAgICAgICAgICAgICAgICAvLyBOb3cgdGhhdCB3
ZSBrbm93IHRoZSBpbnRyaW5zaWMgaGVpZ2h0IG9mIHRoZSBjb2x1bW5zLCB3ZSBoYXZlIHRvIHJl
YmFsYW5jZSB0aGVtLgotICAgICAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9IG1heChjb2xJbmZv
LT5taW5pbXVtQ29sdW1uSGVpZ2h0KCksIChpbnQpY2VpbGYoKGZsb2F0KWNvbnRlbnRIZWlnaHQo
KSAvIGRlc2lyZWRDb2x1bW5Db3VudCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoY29sdW1uSGVpZ2h0ICYmIGNvbHVtbkhlaWdodCAhPSBwYWdlSGVpZ2h0
KSB7Ci0gICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucG9wKCk7Ci0gICAgICAgICAgICAgICAg
bV9ldmVySGFkTGF5b3V0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBsYXlvdXRCbG9jayhmYWxz
ZSwgY29sdW1uSGVpZ2h0KTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSAKLSAgICAgICAgCi0gICAgICAgIGlmIChwYWdlSGVpZ2h0KSAvLyBG
SVhNRTogU2hvdWxkIHdlIHVzZSBsb3dlc3RQb3NpdGlvbiAoZXhjbHVkaW5nIG91ciBwb3NpdGlv
bmVkIG9iamVjdHMpIGluc3RlYWQgb2YgY29udGVudEhlaWdodCgpPwotICAgICAgICAgICAgY29s
SW5mby0+c2V0Q29sdW1uQ291bnRBbmRIZWlnaHQoY2VpbGYoKGZsb2F0KWNvbnRlbnRIZWlnaHQo
KSAvIHBhZ2VIZWlnaHQpLCBwYWdlSGVpZ2h0KTsKLQotICAgICAgICBpZiAoY29sdW1uQ291bnQo
Y29sSW5mbykpIHsKLSAgICAgICAgICAgIEludFJlY3QgbGFzdFJlY3QgPSBjb2x1bW5SZWN0QXQo
Y29sSW5mbywgY29sdW1uQ291bnQoY29sSW5mbykgLSAxKTsKLSAgICAgICAgICAgIGludCBvdmVy
Zmxvd0xlZnQgPSAhc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWluKDAsIGxh
c3RSZWN0LngoKSkgOiAwOwotICAgICAgICAgICAgaW50IG92ZXJmbG93UmlnaHQgPSBzdHlsZSgp
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBtYXgod2lkdGgoKSwgbGFzdFJlY3QueCgpICsg
bGFzdFJlY3Qud2lkdGgoKSkgOiAwOwotICAgICAgICAgICAgaW50IG92ZXJmbG93SGVpZ2h0ID0g
Ym9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjb2xJbmZvLT5jb2x1bW5IZWlnaHQoKTsKLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgc2V0TG9naWNhbEhlaWdodChvdmVyZmxvd0hlaWdodCAr
IGJvcmRlckJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgaG9yaXpvbnRhbFNjcm9sbGJhckhl
aWdodCgpKTsKKyAgICBpZiAoIWhhc0NvbHVtbnMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgICAgICAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAgICAgICAgICBhZGRMYXlvdXRP
dmVyZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwgMCwgb3ZlcmZsb3dSaWdodCAtIG92ZXJmbG93
TGVmdCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAvLyBGSVhNRTogV2UgZG9uJ3QgYmFsYW5jZSBw
cm9wZXJseSBhdCBhbGwgaW4gdGhlIHByZXNlbmNlIG9mIGZvcmNlZCBwYWdlIGJyZWFrcy4gIFdl
IG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0CisgICAgLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gZm9y
Y2VkIHBhZ2UgYnJlYWtzIGlzIHNvIHRoYXQgd2UgY2FuIGF2b2lkIG1ha2luZyB0aGUgbWluaW11
bSBjb2x1bW4gaGVpZ2h0IHRvbyB0YWxsLgorICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1
bW5JbmZvKCk7CisgICAgaW50IGRlc2lyZWRDb2x1bW5Db3VudCA9IGNvbEluZm8tPmRlc2lyZWRD
b2x1bW5Db3VudCgpOworICAgIGlmICghaGFzU3BlY2lmaWVkUGFnZUhlaWdodCkgeworICAgICAg
ICBpbnQgY29sdW1uSGVpZ2h0ID0gcGFnZUhlaWdodDsKKyAgICAgICAgaW50IG1pbkNvbHVtbkNv
dW50ID0gY29sSW5mby0+Zm9yY2VkQnJlYWtzKCkgKyAxOworICAgICAgICBpZiAobWluQ29sdW1u
Q291bnQgPj0gZGVzaXJlZENvbHVtbkNvdW50KSB7CisgICAgICAgICAgICAvLyBUaGUgZm9yY2Vk
IHBhZ2UgYnJlYWtzIGFyZSBpbiBjb250cm9sIG9mIHRoZSBiYWxhbmNpbmcuICBKdXN0IHNldCB0
aGUgY29sdW1uIGhlaWdodCB0byB0aGUKKyAgICAgICAgICAgIC8vIG1heGltdW0gcGFnZSBicmVh
ayBkaXN0YW5jZS4KKyAgICAgICAgICAgIGlmICghcGFnZUhlaWdodCkgeworICAgICAgICAgICAg
ICAgIGludCBkaXN0YW5jZUJldHdlZW5CcmVha3MgPSBtYXgoY29sSW5mby0+bWF4aW11bURpc3Rh
bmNlQmV0d2VlbkZvcmNlZEJyZWFrcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlWShib3JkZXJUb3Ao
KSArIHBhZGRpbmdUb3AoKSArIGNvbnRlbnRIZWlnaHQoKSkgLSBjb2xJbmZvLT5mb3JjZWRCcmVh
a09mZnNldCgpKTsKKyAgICAgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+
bWluaW11bUNvbHVtbkhlaWdodCgpLCBkaXN0YW5jZUJldHdlZW5CcmVha3MpOworICAgICAgICAg
ICAgfQorICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRIZWlnaHQoKSA+IHBhZ2VIZWlnaHQgKiBk
ZXNpcmVkQ29sdW1uQ291bnQpIHsKKyAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGtub3cgdGhl
IGludHJpbnNpYyBoZWlnaHQgb2YgdGhlIGNvbHVtbnMsIHdlIGhhdmUgdG8gcmViYWxhbmNlIHRo
ZW0uCisgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNvbHVt
bkhlaWdodCgpLCAoaW50KWNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBkZXNpcmVkQ29s
dW1uQ291bnQpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKGNvbHVtbkhlaWdo
dCAmJiBjb2x1bW5IZWlnaHQgIT0gcGFnZUhlaWdodCkgeworICAgICAgICAgICAgc3RhdGVQdXNo
ZXIucG9wKCk7CisgICAgICAgICAgICBtX2V2ZXJIYWRMYXlvdXQgPSB0cnVlOworICAgICAgICAg
ICAgbGF5b3V0QmxvY2soZmFsc2UsIGNvbHVtbkhlaWdodCk7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfQorICAgIH0gCisgICAgCisgICAgaWYgKHBhZ2VIZWlnaHQpIC8vIEZJ
WE1FOiBTaG91bGQgd2UgdXNlIGxvd2VzdFBvc2l0aW9uIChleGNsdWRpbmcgb3VyIHBvc2l0aW9u
ZWQgb2JqZWN0cykgaW5zdGVhZCBvZiBjb250ZW50SGVpZ2h0KCk/CisgICAgICAgIGNvbEluZm8t
PnNldENvbHVtbkNvdW50QW5kSGVpZ2h0KGNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBw
YWdlSGVpZ2h0KSwgcGFnZUhlaWdodCk7CisKKyAgICBpZiAoY29sdW1uQ291bnQoY29sSW5mbykp
IHsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSAr
IGNvbEluZm8tPmNvbHVtbkhlaWdodCgpICsgYm9yZGVyQm90dG9tKCkgKyBwYWRkaW5nQm90dG9t
KCkgKyBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOworICAgICAgICBtX292ZXJmbG93LmNs
ZWFyKCk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTYxNjEsOCArNTgxNyw4
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdExpbmVQb3NpdGlvbkZvclAKICAgICAvLyBsaW5l
IGFuZCBhbGwgZm9sbG93aW5nIGxpbmVzLgogICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9
IHZpZXcoKS0+bGF5b3V0U3RhdGUoKTsKICAgICBpbnQgcGFnZUhlaWdodCA9IGxheW91dFN0YXRl
LT5tX3BhZ2VIZWlnaHQ7Ci0gICAgaW50IHlQb3MgPSBsaW5lQm94LT50b3BWaXNpYmxlT3ZlcmZs
b3coKTsKLSAgICBpbnQgbGluZUhlaWdodCA9IGxpbmVCb3gtPmJvdHRvbVZpc2libGVPdmVyZmxv
dygpIC0geVBvczsKKyAgICBpbnQgeVBvcyA9IGxpbmVCb3gtPnRvcFZpc3VhbE92ZXJmbG93KCk7
CisgICAgaW50IGxpbmVIZWlnaHQgPSBsaW5lQm94LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIC0g
eVBvczsKICAgICBpZiAobGF5b3V0U3RhdGUtPm1fY29sdW1uSW5mbykKICAgICAgICAgbGF5b3V0
U3RhdGUtPm1fY29sdW1uSW5mby0+dXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChsaW5lSGVpZ2h0
KTsKICAgICB5UG9zICs9IGRlbHRhOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDExICs5OCw2IEBAIHB1YmxpYzoKICAgICBpbnQgYXZhaWxhYmxlTG9naWNh
bFdpZHRoRm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKICAgICBp
bnQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5l
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dp
Y2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KCksIGZpcnN0TGluZSk7IH0KICAgICBpbnQgbG9naWNh
bExlZnRPZmZzZXRGb3JMaW5lKGludCBwb3NpdGlvbiwgYm9vbCBmaXJzdExpbmUpIGNvbnN0IHsg
cmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbExlZnRPZmZz
ZXRGb3JDb250ZW50KCksIGZpcnN0TGluZSk7IH0KLQotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQ
b3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRl
U2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1
ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJv
b2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1
ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGludCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVl
LCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNm
b3JtKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbkZv
clBvaW50KGNvbnN0IEludFBvaW50Jik7CiAgICAgCkBAIC0yMDksNiArMjA0LDggQEAgcHVibGlj
OgogICAgIH07CiAgICAgTWFyZ2luVmFsdWVzIG1hcmdpblZhbHVlc0ZvckNoaWxkKFJlbmRlckJv
eCogY2hpbGQpOwogCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgLypo
b3Jpem9udGFsU2Nyb2xsYmFyQ2hhbmdlZCovLCBib29sIC8qdmVydGljYWxTY3JvbGxiYXJDaGFu
Z2VkKi8pIHsgfTsKKwogcHJvdGVjdGVkOgogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgb25s
eSB1c2VkIGludGVybmFsbHkgdG8gbWFuaXB1bGF0ZSB0aGUgcmVuZGVyIHRyZWUgc3RydWN0dXJl
IHZpYSByZW1vdmUvaW5zZXJ0L2FwcGVuZENoaWxkTm9kZS4KICAgICAvLyBTaW5jZSB0aGV5IGFy
ZSB0eXBpY2FsbHkgY2FsbGVkIG9ubHkgdG8gbW92ZSBvYmplY3RzIGFyb3VuZCB3aXRoaW4gYW5v
bnltb3VzIGJsb2NrcyAod2hpY2ggb25seSBoYXZlIGxheWVycyBpbgpAQCAtMjg2LDYgKzI4Mywx
MyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIGhhc0xpbmVJZkVtcHR5KCkgY29uc3Q7
CiAgICAgYm9vbCBsYXlvdXRPbmx5UG9zaXRpb25lZE9iamVjdHMoKTsKIAorICAgIHZvaWQgY29t
cHV0ZU92ZXJmbG93KGludCBvbGRDbGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRz
ID0gZmFsc2UpOworICAgIHZpcnR1YWwgdm9pZCBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpOwor
ICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zy
b21Qb3NpdGlvbmVkT2JqZWN0cygpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGls
ZHJlbigpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKKwogI2lm
IEVOQUJMRShTVkcpCiBwcm90ZWN0ZWQ6CiAKQEAgLTI5OCw4ICszMDIsNiBAQCBwcm90ZWN0ZWQ6
CiAgICAgfQogI2VuZGlmCiAKLSAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4o
KTsKLQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVh
bENoaWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3QgUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGls
ZHJlbigpOyB9CkBAIC0zMzAsOCArMzMyLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxheW91dEJs
b2NrQ2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBpbnQmIG1heEZsb2F0TG9naWNhbEJv
dHRvbSk7CiAgICAgdm9pZCBsYXlvdXRJbmxpbmVDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRy
ZW4sIGludCYgcmVwYWludExvZ2ljYWxUb3AsIGludCYgcmVwYWludExvZ2ljYWxCb3R0b20pOwog
Ci0gICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uTGlzdE1hcmtlcigpIHsgfQotCiAgICAgdmlydHVh
bCB2b2lkIGJvcmRlckZpdEFkanVzdChpbnQmIHgsIGludCYgdykgY29uc3Q7IC8vIFNocmluayB0
aGUgYm94IGluIHdoaWNoIHRoZSBib3JkZXIgcGFpbnRzIGlmIGJvcmRlci1maXQgaXMgc2V0Lgog
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChQc2V1ZG9JZCk7CkBA
IC00NjMsMTUgKzQ2MywxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0
aW9uUG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3ZlcmZs
b3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAgdm9p
ZCBkZWxldGVFbGxpcHNpc0xpbmVCb3hlcygpOwogICAgIHZvaWQgY2hlY2tMaW5lc0ZvclRleHRP
dmVyZmxvdygpOwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAg
ICBpbnQgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNv
bnN0OwotICAgIGludCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVC
b3gqKSBjb25zdDsKKyAgICBpbnQgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290
SW5saW5lQm94KikgY29uc3Q7CisgICAgaW50IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGlu
ZShSb290SW5saW5lQm94KikgY29uc3Q7CiAgICAgaW50IGJlZm9yZVNpZGVMYXlvdXRPdmVyZmxv
d0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIGludCBhZnRlclNpZGVMYXlvdXRP
dmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIC8vIEVuZCBvZiBmdW5j
dGlvbnMgZGVmaW5lZCBpbiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwLgogCi0gICAgdm9pZCBh
ZGRPdmVyZmxvd0Zyb21GbG9hdHMoKTsKLQogICAgIHZvaWQgcGFpbnRGbG9hdHMoUGFpbnRJbmZv
JiwgaW50IHR4LCBpbnQgdHksIGJvb2wgcHJlc2VydmVQaGFzZSA9IGZhbHNlKTsKICAgICB2b2lk
IHBhaW50Q29udGVudHMoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFp
bnRDb2x1bW5Db250ZW50cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwYWludEZs
b2F0cyA9IGZhbHNlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTUsOCArNjE1LDggQEAgdm9p
ZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgUmVuZGVy
QXJlbmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gq
IGJveCA9IHN0YXJ0TGluZTsKICAgICAgICAgICAgIHdoaWxlIChib3gpIHsKLSAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lk
ZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExv
Z2ljYWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVP
dmVyZmxvd0ZvckxpbmUoYm94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3Ag
PSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUo
Ym94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWlu
dExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3gpKTsKICAg
ICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94LT5uZXh0Um9vdEJveCgpOwog
ICAgICAgICAgICAgICAgIGJveC0+ZGVsZXRlTGluZShhcmVuYSk7CiAgICAgICAgICAgICAgICAg
Ym94ID0gbmV4dDsKQEAgLTc2NCw2ICs3NjQsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJ
bmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAjZW5kaWYKIAorICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSBvdXIgb3ZlcmZsb3cgbm93LgorICAgICAg
ICAgICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZU92ZXJmbG93KGxpbmVCb3gtPmxpbmVU
b3AoKSwgbGluZUJveC0+bGluZUJvdHRvbSgpLCBkb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgp
LCB0ZXh0Qm94RGF0YU1hcCk7CisgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYW4gb3ZlcmZsb3cgaW5mbGF0aW9uLgog
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCktPmhpZ2hsaWdodCgpICE9IG51bGxB
dG9tKQpAQCAtNzc3LDggKzc4MCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNo
aWxkcmVuKGIKICAgICAgICAgICAgICAgICBpZiAobGluZUJveCkgewogICAgICAgICAgICAgICAg
ICAgICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5vYmosIGVuZC5wb3MsIHJlc29sdmVy
LnN0YXR1cygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZVJlcGFpbnRCb3VuZHMpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRM
b2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50
TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50
TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50
TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgaWYgKHBhZ2luYXRlZCkgewpAQCAtNzg4LDcgKzc5MSw3IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgb2xkTGluZVdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShvbGRMb2dp
Y2FsSGVpZ2h0LCBmaXJzdExpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVC
b3gtPmFkanVzdFBvc2l0aW9uKDAsIGFkanVzdG1lbnQpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSAvLyBUaGlzIGNhbiBvbmx5IGJlIGEgcG9zaXRp
dmUgYWRqdXN0bWVudCwgc28gbm8gbmVlZCB0byB1cGRhdGUgcmVwYWludFRvcC4KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWlu
dExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9
IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5l
KGxpbmVCb3gpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUob2xkTG9n
aWNhbEhlaWdodCArIGFkanVzdG1lbnQsIGZpcnN0TGluZSkgIT0gb2xkTGluZVdpZHRoKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gZGVsZXRlIHRoaXMg
bGluZSwgcmVtb3ZlIGFsbCBmbG9hdHMgdGhhdCBnb3QgYWRkZWQsIGFuZCBsZXQgbGluZSBsYXlv
dXQgcmUtcnVuLgpAQCAtODQyLDggKzg0NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElu
bGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdExpbmVQb3NpdGlv
bkZvclBhZ2luYXRpb24obGluZSwgZGVsdGEpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChkZWx0YSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVw
YWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxl
T3ZlcmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAwKSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwg
YWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSArIG1heChkZWx0YSwgMCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExv
Z2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkgKyBtaW4oZGVs
dGEsIDApKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0g
bWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUo
bGluZSkgKyBtYXgoZGVsdGEsIDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtPmFk
anVzdFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckJveCo+KiBjbGVhbkxpbmVGbG9hdHMgPSBsaW5l
LT5mbG9hdHNQdHIoKSkgewpAQCAtODYxLDggKzg2NCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Omxh
eW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBsaW5l
ID0gZW5kTGluZTsKICAgICAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5kZXJB
cmVuYSgpOwogICAgICAgICAgICAgICAgIHdoaWxlIChsaW5lKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRl
VmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcGFp
bnRMb2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNp
YmxlT3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVwYWludExv
Z2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxv
d0ZvckxpbmUobGluZSkpOworICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRv
bSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JM
aW5lKGxpbmUpKTsKICAgICAgICAgICAgICAgICAgICAgUm9vdElubGluZUJveCogbmV4dCA9IGxp
bmUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgICAgIGxpbmUtPmRlbGV0ZUxpbmUo
YXJlbmEpOwogICAgICAgICAgICAgICAgICAgICBsaW5lID0gbmV4dDsKQEAgLTg3NCw3ICs4Nzcs
NyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAg
ICAvLyBUaGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBhZGRpbmcgaW4gdGhlIGJvdHRvbSBib3Jk
ZXIvcGFkZGluZywgb3IgdGhlIGZsb2F0IHdpbGwKICAgICAgICAgICAgIC8vIGluY2x1ZGUgdGhl
IHBhZGRpbmcgaW5jb3JyZWN0bHkuIC1kd2gKICAgICAgICAgICAgIGlmIChjaGVja0ZvckZsb2F0
c0Zyb21MYXN0TGluZSkgewotICAgICAgICAgICAgICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxv
dyA9IGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7CisgICAg
ICAgICAgICAgICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYWZ0ZXJTaWRlVmlzdWFsT3Zl
cmZsb3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOwogICAgICAgICAgICAgICAgIGludCBib3R0b21M
YXlvdXRPdmVyZmxvdyA9IGFmdGVyU2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShsYXN0Um9vdEJv
eCgpKTsKICAgICAgICAgICAgICAgICBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3gqIHRyYWls
aW5nRmxvYXRzTGluZUJveCA9IG5ldyAocmVuZGVyQXJlbmEoKSkgVHJhaWxpbmdGbG9hdHNSb290
SW5saW5lQm94KHRoaXMpOwogICAgICAgICAgICAgICAgIG1fbGluZUJveGVzLmFwcGVuZExpbmVC
b3godHJhaWxpbmdGbG9hdHNMaW5lQm94KTsKQEAgLTg4Miw3ICs4ODUsOSBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgR2x5cGhPdmVy
Zmxvd0FuZEZhbGxiYWNrRm9udHNNYXAgdGV4dEJveERhdGFNYXA7CiAgICAgICAgICAgICAgICAg
VmVydGljYWxQb3NpdGlvbkNhY2hlIHZlcnRpY2FsUG9zaXRpb25DYWNoZTsKICAgICAgICAgICAg
ICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPmFsaWduQm94ZXNJbkJsb2NrRGlyZWN0aW9uKGxv
Z2ljYWxIZWlnaHQoKSwgdGV4dEJveERhdGFNYXAsIHZlcnRpY2FsUG9zaXRpb25DYWNoZSk7Ci0g
ICAgICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5zZXRCbG9ja0RpcmVjdGlvbk92
ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxIZWlnaHQoKSwgYm90dG9tTGF5b3V0T3ZlcmZsb3csIGxv
Z2ljYWxIZWlnaHQoKSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgICAgICAgICAgICAgIElu
dFJlY3QgbG9naWNhbExheW91dE92ZXJmbG93KDAsIGxvZ2ljYWxIZWlnaHQoKSwgMSwgYm90dG9t
TGF5b3V0T3ZlcmZsb3cpOworICAgICAgICAgICAgICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92
ZXJmbG93KDAsIGxvZ2ljYWxIZWlnaHQoKSwgMSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAg
ICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNh
bFJlY3RzKGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgbG9naWNhbFZpc3VhbE92ZXJmbG93KTsKICAg
ICAgICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrTG9naWNhbEhlaWdo
dChsb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxhc3RG
bG9hdCkgewpAQCAtOTU1LDggKzk2MCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpk
ZXRlcm1pbmVTdGEKICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VSZXBhaW50Qm91bmRzKQog
ICAgICAgICAgICAgICAgICAgICAgICAgdXNlUmVwYWludEJvdW5kcyA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3Ag
PSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5l
KGN1cnIpICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOwotICAgICAgICAgICAgICAgICAgICBy
ZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRl
VmlzaWJsZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1heChwYWdpbmF0aW9uRGVsdGEsIDApKTsK
KyAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2lj
YWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoY3VycikgKyBtaW4ocGFnaW5h
dGlvbkRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9t
ID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0Zvckxp
bmUoY3VycikgKyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CiAgICAgICAgICAgICAgICAgICAg
IGN1cnItPmFkanVzdFBvc2l0aW9uKDAsIHBhZ2luYXRpb25EZWx0YSk7CiAgICAgICAgICAgICAg
ICAgfSAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIH0KQEAgLTExNzIsOCArMTE3Nyw4IEBA
IGJvb2wgUmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKGNvbnN0IEkKICAgICAgICAgICAgIFJv
b3RJbmxpbmVCb3gqIGJveFRvRGVsZXRlID0gZW5kTGluZTsKICAgICAgICAgICAgIFJlbmRlckFy
ZW5hKiBhcmVuYSA9IHJlbmRlckFyZW5hKCk7CiAgICAgICAgICAgICB3aGlsZSAoYm94VG9EZWxl
dGUgJiYgYm94VG9EZWxldGUgIT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExv
Z2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZs
b3dGb3JMaW5lKGJveFRvRGVsZXRlKSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxC
b3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxv
d0ZvckxpbmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRv
cCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGlu
ZShib3hUb0RlbGV0ZSkpOworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0g
bWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUo
Ym94VG9EZWxldGUpKTsKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94
VG9EZWxldGUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgYm94VG9EZWxldGUtPmRl
bGV0ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveFRvRGVsZXRlID0gbmV4dDsKQEAg
LTIwMjksMjkgKzIwMzQsMzMgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigp
CiB7CisgICAgaW50IGVuZFBhZGRpbmcgPSBoYXNPdmVyZmxvd0NsaXAoKSA/IHBhZGRpbmdFbmQo
KSA6IDA7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gZmluZCBhbm90aGVyIHdheSB0byBkbyB0aGlz
LCBzaW5jZSBzY3JvbGxiYXJzIGNvdWxkIHNob3cgd2hlbiB3ZSBkb24ndCB3YW50IHRoZW0gdG8u
CisgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpICYmICFlbmRQYWRkaW5nICYmIG5vZGUoKSAmJiBu
b2RlKCktPmlzQ29udGVudEVkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5vZGUoKS0+cm9vdEVkaXRh
YmxlRWxlbWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAg
ICAgZW5kUGFkZGluZyA9IDE7CiAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RS
b290Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGFk
ZExheW91dE92ZXJmbG93KGN1cnItPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgYWRk
TGF5b3V0T3ZlcmZsb3coY3Vyci0+cGFkZGVkTGF5b3V0T3ZlcmZsb3dSZWN0KGVuZFBhZGRpbmcp
KTsKICAgICAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgICAgIGFkZFZpc3Vh
bE92ZXJmbG93KGN1cnItPnZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICB9CiB9CiAKLWludCBS
ZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJv
eCogbGluZSkgY29uc3QKK2ludCBSZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93
Rm9yTGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAogewogICAgIC8vIE92ZXJmbG93IGlz
IGluIHRoZSBibG9jaydzIGNvb3JkaW5hdGUgc3BhY2UsIHdoaWNoIG1lYW5zIGl0IGlzbid0IHB1
cmVseSBwaHlzaWNhbC4gIEZvciBmbGlwcGVkIGJsb2NrcyAocmwgYW5kIGJ0KSwKICAgICAvLyB3
ZSBjb250aW51ZSB0byB1c2UgdG9wIGFuZCBsZWZ0IG92ZXJmbG93IGV2ZW4gdGhvdWdoIHBoeXNp
Y2FsbHkgaXQncyBib3R0b20gYW5kIHJpZ2h0LgogICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gbGluZS0+dG9wVmlzaWJsZU92ZXJmbG93
KCk7Ci0gICAgcmV0dXJuIGxpbmUtPmxlZnRWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICAgICAgcmV0
dXJuIGxpbmUtPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgcmV0dXJuIGxpbmUtPmxlZnRWaXN1
YWxPdmVyZmxvdygpOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6OmFmdGVyU2lkZVZpc2libGVPdmVy
Zmxvd0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKK2ludCBSZW5kZXJCbG9jazo6
YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUpIGNvbnN0
CiB7CiAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRpbmF0ZSBzcGFjZSwg
d2hpY2ggbWVhbnMgaXQgaXNuJ3QgcHVyZWx5IHBoeXNpY2FsLiAgRm9yIGZsaXBwZWQgYmxvY2tz
IChybCBhbmQgYnQpLAogICAgIC8vIHdlIGNvbnRpbnVlIHRvIHVzZSBib3R0b20gYW5kIHJpZ2h0
IG92ZXJmbG93IGV2ZW4gdGhvdWdoIHBoeXNpY2FsbHkgaXQncyB0b3AgYW5kIGxlZnQuCiAgICAg
aWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBs
aW5lLT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKLSAgICByZXR1cm4gbGluZS0+cmlnaHRWaXNp
YmxlT3ZlcmZsb3coKTsKKyAgICAgICAgcmV0dXJuIGxpbmUtPmJvdHRvbVZpc3VhbE92ZXJmbG93
KCk7CisgICAgcmV0dXJuIGxpbmUtPnJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKIH0KIAogaW50IFJl
bmRlckJsb2NrOjpiZWZvcmVTaWRlTGF5b3V0T3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gq
IGxpbmUpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDA2LDkgKzQwNiwxMCBAQCBpbnQgUmVuZGVyQm94OjpzY3JvbGxXaWR0aCgpIGNvbnN0CiAgICAg
aWYgKGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5ZXIoKS0+c2Nyb2xsV2lk
dGgoKTsKICAgICAvLyBGb3Igb2JqZWN0cyB3aXRoIHZpc2libGUgb3ZlcmZsb3csIHRoaXMgbWF0
Y2hlcyBJRS4KKyAgICAvLyBGSVhNRTogTmVlZCB0byB3b3JrIHJpZ2h0IHdpdGggd3JpdGluZyBt
b2Rlcy4KICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAg
ICByZXR1cm4gbWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNl
KSAtIGJvcmRlckxlZnQoKSk7Ci0gICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4oMCwgbGVm
dG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJMZWZ0KCkpOworICAgICAgICByZXR1
cm4gbWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIGJvcmRlckxlZnQo
KSk7CisgICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4oMCwgbGVmdExheW91dE92ZXJmbG93
KCkgLSBib3JkZXJMZWZ0KCkpOwogfQogCiBpbnQgUmVuZGVyQm94OjpzY3JvbGxIZWlnaHQoKSBj
b25zdApAQCAtNDE2LDcgKzQxNyw4IEBAIGludCBSZW5kZXJCb3g6OnNjcm9sbEhlaWdodCgpIGNv
bnN0CiAgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5ZXIoKS0+
c2Nyb2xsSGVpZ2h0KCk7CiAgICAgLy8gRm9yIG9iamVjdHMgd2l0aCB2aXNpYmxlIG92ZXJmbG93
LCB0aGlzIG1hdGNoZXMgSUUuCi0gICAgcmV0dXJuIG1heChjbGllbnRIZWlnaHQoKSwgbG93ZXN0
UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm9yZGVyVG9wKCkpOworICAgIC8vIEZJWE1FOiBOZWVk
IHRvIHdvcmsgcmlnaHQgd2l0aCB3cml0aW5nIG1vZGVzLgorICAgIHJldHVybiBtYXgoY2xpZW50
SGVpZ2h0KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCkgLSBib3JkZXJUb3AoKSk7CiB9CiAKIGlu
dCBSZW5kZXJCb3g6OnNjcm9sbExlZnQoKSBjb25zdApAQCAtNDUxLDIyICs0NTMsNiBAQCB2b2lk
IFJlbmRlckJveDo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvCiAgICAgcXVhZHMuYXBwZW5kKGxv
Y2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKSkpOwog
fQogCi1JbnRSZWN0IFJlbmRlckJveDo6YXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChjb25zdCBJ
bnRSZWN0JiByZWN0KSBjb25zdAotewotICAgIGlmIChoYXNMYXllcigpICYmIGxheWVyKCktPmhh
c1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybTsK
LSAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShyZWN0LngoKSwgcmVjdC55KCkpOwotICAgICAg
ICB0cmFuc2Zvcm0ubXVsdExlZnQobGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpKTsKLSAgICAg
ICAgcmV0dXJuIHRyYW5zZm9ybS5tYXBSZWN0KEludFJlY3QoMCwgMCwgcmVjdC53aWR0aCgpLCBy
ZWN0LmhlaWdodCgpKSk7Ci0gICAgfQotICAgIHJldHVybiByZWN0OwotfQotCi1JbnRSZWN0IFJl
bmRlckJveDo6dHJhbnNmb3JtZWRGcmFtZVJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBhcHBs
eUxheWVyVHJhbnNmb3JtVG9SZWN0KGZyYW1lUmVjdCgpKTsKLX0KLQogdm9pZCBSZW5kZXJCb3g6
OnVwZGF0ZUxheWVyVHJhbnNmb3JtKCkKIHsKICAgICAvLyBUcmFuc2Zvcm0tb3JpZ2luIGRlcGVu
ZHMgb24gYm94IHNpemUsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBsYXllciB0cmFuc2Zvcm0g
YWZ0ZXIgbGF5b3V0LgpAQCAtNzczLDggKzc1OSw4IEBAIHZvaWQgUmVuZGVyQm94OjpwYWludFJv
b3RCb3hEZWNvcmF0aW9ucygKICAgICAvLyBDU1MyIDE0LjI6CiAgICAgLy8gVGhlIGJhY2tncm91
bmQgb2YgdGhlIGJveCBnZW5lcmF0ZWQgYnkgdGhlIHJvb3QgZWxlbWVudCBjb3ZlcnMgdGhlIGVu
dGlyZSBjYW52YXMgaW5jbHVkaW5nCiAgICAgLy8gaXRzIG1hcmdpbnMuCi0gICAgaW50IGJ4ID0g
dHggLSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmxlZnRMYXlvdXRPdmVyZmxvdygpOwotICAgIGlu
dCBieSA9IHR5IC0gbWFyZ2luVG9wKCkgKyB2aWV3KCktPnRvcExheW91dE92ZXJmbG93KCk7Cisg
ICAgaW50IGJ4ID0gdHggLSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmRvY0xlZnQoKTsKKyAgICBp
bnQgYnkgPSB0eSAtIG1hcmdpblRvcCgpICsgdmlldygpLT5kb2NUb3AoKTsKICAgICBpbnQgYncg
PSBtYXgodyArIG1hcmdpbkxlZnQoKSArIG1hcmdpblJpZ2h0KCkgKyBib3JkZXJMZWZ0KCkgKyBi
b3JkZXJSaWdodCgpLCBydyk7CiAgICAgaW50IGJoID0gbWF4KGggKyBtYXJnaW5Ub3AoKSArIG1h
cmdpbkJvdHRvbSgpICsgYm9yZGVyVG9wKCkgKyBib3JkZXJCb3R0b20oKSwgcmgpOwogCkBAIC0x
MzE2LDcgKzEzMDIsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZv
CiAgICAgaWYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFICYmICFlbmNsb3NpbmdM
YXllcigpLT5oYXNWaXNpYmxlQ29udGVudCgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwog
Ci0gICAgSW50UmVjdCByID0gdmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgIEludFJlY3QgciA9
IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogCiAgICAgUmVuZGVyVmlldyogdiA9IHZpZXcoKTsKICAg
ICBpZiAodikgewpAQCAtMjk2Miw1MCArMjk0OCw2IEBAIEludFJlY3QgUmVuZGVyQm94Ojpsb2Nh
bENhcmV0UmVjdChJbmxpbmUKICAgICByZXR1cm4gcmVjdDsKIH0KIAotaW50IFJlbmRlckJveDo6
dG9wbW9zdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGlu
Y2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJ
bnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zv
cm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7
Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkpCi0gICAg
ICAgIHJldHVybiAwOwotICAgIGludCB0b3AgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQo
KSkKLSAgICAgICAgdG9wICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCk7Ci0gICAgcmV0dXJu
IHRvcDsKLX0KLQotaW50IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yKi8sIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5
VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlU
cmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVk
RnJhbWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFu
c2Zvcm1lZFJlY3Qud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IGJvdHRvbSA9
IHRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0g
ICAgICAgIGJvdHRvbSArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOwotICAgIHJldHVybiBi
b3R0b207Ci19Ci0KLWludCBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgLyppbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFw
cGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zv
cm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAh
dHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpbnQgcmln
aHQgPSB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkp
Ci0gICAgICAgIHJpZ2h0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7Ci0gICAgcmV0dXJu
IHJpZ2h0OwotfQotCi1pbnQgUmVuZGVyQm94OjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgLyppbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBh
cHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFw
cGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zv
cm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAh
dHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSZWN0
LndpZHRoKCk7Ci0gICAgaW50IGxlZnQgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkK
LSAgICAgICAgbGVmdCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotICAgIHJldHVybiBs
ZWZ0OwotfQotCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50KGNv
bnN0IEludFBvaW50JiBwb2ludCkKIHsKICAgICAvLyBubyBjaGlsZHJlbi4uLnJldHVybiB0aGlz
IHJlbmRlciBvYmplY3QncyBlbGVtZW50LCBpZiB0aGVyZSBpcyBvbmUsIGFuZCBvZmZzZXQgMApA
QCAtMzEzMCw0NyArMzA3Miw2NyBAQCB2b2lkIFJlbmRlckJveDo6YWRkU2hhZG93T3ZlcmZsb3co
KQogCiB2b2lkIFJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoUmVuZGVyQm94KiBjaGls
ZCwgY29uc3QgSW50U2l6ZSYgZGVsdGEpCiB7Ci0gICAgLy8gVXBkYXRlIG91ciBvdmVyZmxvdyBp
biBjYXNlIHRoZSBjaGlsZCBzcGlsbHMgb3V0IHRoZSBibG9jaywgYnV0IG9ubHkgaWYgd2Ugd2Vy
ZSBnb2luZyB0byBwYWludAotICAgIC8vIHRoZSBjaGlsZCBibG9jayBvdXJzZWx2ZXMuCi0gICAg
aWYgKGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICByZXR1cm47Ci0KICAg
ICAvLyBPbmx5IHByb3BhZ2F0ZSBsYXlvdXQgb3ZlcmZsb3cgZnJvbSB0aGUgY2hpbGQgaWYgdGhl
IGNoaWxkIGlzbid0IGNsaXBwaW5nIGl0cyBvdmVyZmxvdy4gIElmIGl0IGlzLCB0aGVuCi0gICAg
Ly8gaXRzIG92ZXJmbG93IGlzIGludGVybmFsIHRvIGl0LCBhbmQgd2UgZG9uJ3QgY2FyZSBhYm91
dCBpdC4KLSAgICBJbnRSZWN0IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0ID0gY2hpbGQtPmhhc092
ZXJmbG93Q2xpcCgpID8gY2hpbGQtPmJvcmRlckJveFJlY3QoKSA6IGNoaWxkLT5sYXlvdXRPdmVy
Zmxvd1JlY3QoKTsKKyAgICAvLyBpdHMgb3ZlcmZsb3cgaXMgaW50ZXJuYWwgdG8gaXQsIGFuZCB3
ZSBkb24ndCBjYXJlIGFib3V0IGl0LiAgbGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24g
dGFrZXMgY2FyZSBvZiB0aGlzCisgICAgLy8gYW5kIGp1c3QgcHJvcGFnYXRlcyB0aGUgYm9yZGVy
IGJveCByZWN0IGluc3RlYWQuCisgICAgSW50UmVjdCBjaGlsZExheW91dE92ZXJmbG93UmVjdCA9
IGNoaWxkLT5sYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsKICAgICBj
aGlsZExheW91dE92ZXJmbG93UmVjdC5tb3ZlKGRlbHRhKTsKICAgICBhZGRMYXlvdXRPdmVyZmxv
dyhjaGlsZExheW91dE92ZXJmbG93UmVjdCk7CiAgICAgICAgICAgICAKICAgICAvLyBBZGQgaW4g
dmlzdWFsIG92ZXJmbG93IGZyb20gdGhlIGNoaWxkLiAgRXZlbiBpZiB0aGUgY2hpbGQgY2xpcHMg
aXRzIG92ZXJmbG93LCBpdCBtYXkgc3RpbGwKICAgICAvLyBoYXZlIHZpc3VhbCBvdmVyZmxvdyBv
ZiBpdHMgb3duIHNldCBmcm9tIGJveCBzaGFkb3dzIG9yIHJlZmxlY3Rpb25zLiAgSXQgaXMgdW5u
ZWNlc3NhcnkgdG8gcHJvcGFnYXRlIHRoaXMKICAgICAvLyBvdmVyZmxvdyBpZiB3ZSBhcmUgY2xp
cHBpbmcgb3VyIG93biBvdmVyZmxvdy4KLSAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpCisgICAg
aWYgKGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc092ZXJmbG93Q2xpcCgpKQog
ICAgICAgICByZXR1cm47Ci0gICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVjdCA9IGNo
aWxkLT52aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBJbnRSZWN0IGNoaWxkVmlzdWFsT3ZlcmZs
b3dSZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHN0eWxlKCkp
OwogICAgIGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmUoZGVsdGEpOwogICAgIGFkZFZpc3Vh
bE92ZXJmbG93KGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0KTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6
OmFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBi
b3JkZXJCb3ggPSBib3JkZXJCb3hSZWN0KCk7Ci0gICAgaWYgKGJvcmRlckJveC5jb250YWlucyhy
ZWN0KSkKKyAgICBJbnRSZWN0IGNsaWVudEJveCA9IGNsaWVudEJveFJlY3QoKTsKKyAgICBpZiAo
Y2xpZW50Qm94LmNvbnRhaW5zKHJlY3QpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CisgICAgCisgICAgLy8gRm9yIG92ZXJmbG93IGNsaXAgb2JqZWN0cywgd2UgZG9uJ3Qgd2Fu
dCB0byBwcm9wYWdhdGUgb3ZlcmZsb3cgaW50byB1bnJlYWNoYWJsZSBhcmVhcy4KKyAgICBJbnRS
ZWN0IG92ZXJmbG93UmVjdChyZWN0KTsKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNS
ZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29v
cmRpbmF0ZSBzcGFjZSBhbmQgdGh1cyBpcyBmbGlwcGVkIGZvciBob3Jpem9udGFsLWJ0IGFuZCB2
ZXJ0aWNhbC1ybCAKKyAgICAgICAgLy8gd3JpdGluZyBtb2Rlcy4gIEF0IHRoaXMgc3RhZ2UgdGhh
dCBpcyBhY3R1YWxseSBhIHNpbXBsaWZpY2F0aW9uLCBzaW5jZSB3ZSBjYW4gdHJlYXQgaG9yaXpv
bnRhbC10Yi9idCBhcyB0aGUgc2FtZQorICAgICAgICAvLyBhbmQgdmVydGljYWwtbHIvcmwgYXMg
dGhlIHNhbWUuCisgICAgICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAhc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpICYmICFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
OworICAgICAgICBib29sIGhhc0xlZnRPdmVyZmxvdyA9ICFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkgJiYgc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAg
ICAgCisgICAgICAgIGlmICghaGFzVG9wT3ZlcmZsb3cpCisgICAgICAgICAgICBvdmVyZmxvd1Jl
Y3Quc2hpZnRUb3BFZGdlVG8obWF4KG92ZXJmbG93UmVjdC55KCksIGNsaWVudEJveC55KCkpKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0Qm90dG9tRWRnZVRv
KG1pbihvdmVyZmxvd1JlY3QuYm90dG9tKCksIGNsaWVudEJveC5ib3R0b20oKSkpOworICAgICAg
ICBpZiAoIWhhc0xlZnRPdmVyZmxvdykKKyAgICAgICAgICAgIG92ZXJmbG93UmVjdC5zaGlmdExl
ZnRFZGdlVG8obWF4KG92ZXJmbG93UmVjdC54KCksIGNsaWVudEJveC54KCkpKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0UmlnaHRFZGdlVG8obWluKG92ZXJm
bG93UmVjdC5yaWdodCgpLCBjbGllbnRCb3gucmlnaHQoKSkpOworICAgICAgICAKKyAgICAgICAg
Ly8gTm93IHJlLXRlc3Qgd2l0aCB0aGUgYWRqdXN0ZWQgcmVjdGFuZ2xlIGFuZCBzZWUgaWYgaXQg
aGFzIGJlY29tZSB1bnJlYWNoYWJsZSBvciBmdWxseQorICAgICAgICAvLyBjb250YWluZWQuCisg
ICAgICAgIGlmIChjbGllbnRCb3guY29udGFpbnMob3ZlcmZsb3dSZWN0KSB8fCBvdmVyZmxvd1Jl
Y3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9v
dmVyZmxvdykKLSAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGJvcmRl
ckJveCkpOworICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coY2xpZW50
Qm94LCBib3JkZXJCb3hSZWN0KCkpKTsKICAgICAKLSAgICBtX292ZXJmbG93LT5hZGRMYXlvdXRP
dmVyZmxvdyhyZWN0KTsKKyAgICBtX292ZXJmbG93LT5hZGRMYXlvdXRPdmVyZmxvdyhvdmVyZmxv
d1JlY3QpOwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IGJvcmRlckJveCA9IGJvcmRlckJveFJlY3QoKTsK
LSAgICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAgIGlmIChib3JkZXJCb3guY29u
dGFpbnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAg
CiAgICAgaWYgKCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVy
T3ZlcmZsb3coYm9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJP
dmVyZmxvdyhjbGllbnRCb3hSZWN0KCksIGJvcmRlckJveCkpOwogICAgIAogICAgIG1fb3ZlcmZs
b3ctPmFkZFZpc3VhbE92ZXJmbG93KHJlY3QpOwogfQpAQCAtMzIwNiwyMCArMzE2OCw3NiBAQCBp
bnQgUmVuZGVyQm94OjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlCiAgICAgcmV0dXJuIDA7CiB9
CiAKLXZvaWQgUmVuZGVyQm94OjpibG9ja0RpcmVjdGlvbk92ZXJmbG93KGJvb2wgaXNMaW5lSG9y
aXpvbnRhbCwgaW50JiBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRv
bUxheW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50JiBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KQorSW50UmVjdCBSZW5kZXJCb3g6OmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0CiB7Ci0gICAgaWYgKGlz
TGluZUhvcml6b250YWwpIHsKLSAgICAgICAgbG9naWNhbFRvcExheW91dE92ZXJmbG93ID0gdG9w
TGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0g
Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
ID0gdG9wVmlzdWFsT3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93ID0gYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2dp
Y2FsVG9wTGF5b3V0T3ZlcmZsb3cgPSBsZWZ0TGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9n
aWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0gcmlnaHRMYXlvdXRPdmVyZmxvdygpOwotICAgICAg
ICBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBsZWZ0VmlzdWFsT3ZlcmZsb3coKTsKLSAgICAg
ICAgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gcmlnaHRWaXN1YWxPdmVyZmxvdygpOwot
ICAgIH0gCisgICAgSW50UmVjdCByZWN0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRp
b24ocGFyZW50U3R5bGUpOworICAgIGlmICghcGFyZW50U3R5bGUtPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCisgICAgICAgIHJldHVybiByZWN0LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgcmV0
dXJuIHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojp2aXN1YWxPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0Cit7CisgICAgLy8gSWYg
dGhlIHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRoZW4gd2Ug
ZG9uJ3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1cm4gdGhl
IHJlc3VsdC4KKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBp
ZiAocGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUoKS0+d3JpdGluZ01vZGUoKSkK
KyAgICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2UgYXJlIHB1dHRpbmcgb3Vyc2Vs
dmVzIGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2UuICBJZiB0aGVyZSBpcyBhIGZs
aXBwZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRpY3VsYXIgYXhpcywgdGhlbiB3
ZSBoYXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlzLgorICAgIGlmIChzdHlsZSgp
LT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUgfHwgcGFyZW50U3R5bGUt
PndyaXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkKKyAgICAgICAgcmVjdC5z
ZXRYKHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2UgaWYgKHN0eWxlKCktPndyaXRp
bmdNb2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+d3JpdGlu
Z01vZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAgICAgICByZWN0LnNldFkoaGVp
Z2h0KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiByZWN0OworfQorCitJbnRSZWN0
IFJlbmRlckJveDo6bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRl
clN0eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKK3sKKyAgICBJbnRSZWN0IHJlY3QgPSBsYXlvdXRP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFwYXJlbnRT
dHlsZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3QudHJh
bnNwb3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5kZXJCb3g6
OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSkgY29uc3QKK3sKKyAgICAvLyBPbmx5IHByb3BhZ2F0ZSBpbnRlcmlvciBsYXlvdXQgb3ZlcmZs
b3cgaWYgd2UgZG9uJ3QgY2xpcCBpdC4KKyAgICBJbnRSZWN0IHJlY3QgPSBib3JkZXJCb3hSZWN0
KCk7CisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgcmVjdC51bml0ZShsYXlv
dXRPdmVyZmxvd1JlY3QoKSk7CisKKyAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkgfHwgaGFzVHJh
bnNmb3JtKCkpIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBv
ciBpZiB3ZSBoYXZlIGEgdHJhbnNmb3JtLCB0aGVuIHdlIGhhdmUgdG8gY29udmVydAorICAgICAg
ICAvLyB0aGlzIHJlY3RhbmdsZSBpbnRvIHBoeXNpY2FsIGNvb3JkaW5hdGVzLCBhcHBseSByZWxh
dGl2ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcworICAgICAgICAvLyB0byBpdCwgYW5kIHRo
ZW4gY29udmVydCBpdCBiYWNrLgorICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7Cisg
ICAgICAgIAorICAgICAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCisgICAgICAgICAgICByZWN0ID0g
bGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpLm1hcFJlY3QocmVjdCk7CisKKyAgICAgICAgaWYg
KGlzUmVsUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgcmVjdC5tb3ZlKHJlbGF0aXZlUG9zaXRp
b25PZmZzZXRYKCksIHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkpOworICAgICAgICAKKyAgICAg
ICAgLy8gTm93IHdlIG5lZWQgdG8gZmxpcCBiYWNrLgorICAgICAgICBmbGlwRm9yV3JpdGluZ01v
ZGUocmVjdCk7CisgICAgfQorICAgIAorICAgIC8vIElmIHRoZSB3cml0aW5nIG1vZGVzIG9mIHRo
ZSBjaGlsZCBhbmQgcGFyZW50IG1hdGNoLCB0aGVuIHdlIGRvbid0IGhhdmUgdG8gCisgICAgLy8g
ZG8gYW55dGhpbmcgZmFuY3kuIEp1c3QgcmV0dXJuIHRoZSByZXN1bHQuCisgICAgaWYgKHBhcmVu
dFN0eWxlLT53cml0aW5nTW9kZSgpID09IHN0eWxlKCktPndyaXRpbmdNb2RlKCkpCisgICAgICAg
IHJldHVybiByZWN0OworICAgIAorICAgIC8vIFdlIGFyZSBwdXR0aW5nIG91cnNlbHZlcyBpbnRv
IG91ciBwYXJlbnQncyBjb29yZGluYXRlIHNwYWNlLiAgSWYgdGhlcmUgaXMgYSBmbGlwcGVkIGJs
b2NrIG1pc21hdGNoCisgICAgLy8gaW4gYSBwYXJ0aWN1bGFyIGF4aXMsIHRoZW4gd2UgaGF2ZSB0
byBmbGlwIHRoZSByZWN0IGFsb25nIHRoYXQgYXhpcy4KKyAgICBpZiAoc3R5bGUoKS0+d3JpdGlu
Z01vZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHBhcmVudFN0eWxlLT53cml0aW5n
TW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpCisgICAgICAgIHJlY3Quc2V0WCh3aWR0
aCgpIC0gcmVjdC5yaWdodCgpKTsKKyAgICBlbHNlIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgp
ID09IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUgfHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkg
PT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdodCgpIC0g
cmVjdC5ib3R0b20oKSk7CisKKyAgICByZXR1cm4gcmVjdDsKIH0KIAogSW50UG9pbnQgUmVuZGVy
Qm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgSW50
UG9pbnQmIHBvaW50LCBGbGlwcGluZ0FkanVzdG1lbnQgYWRqdXN0bWVudCkgY29uc3QKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTIgKzEwNiw5IEBAIHB1YmxpYzoK
ICAgICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVSZWN0OyB9CiAg
ICAgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX2ZyYW1lUmVjdCA9
IHJlY3Q7IH0KIAotICAgIEludFJlY3QgdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSBjb25zdDsKLSAg
ICBJbnRSZWN0IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0
OwotCiAgICAgSW50UmVjdCBib3JkZXJCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCgw
LCAwLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KICAgICB2aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91
bmRpbmdCb3goKSBjb25zdCB7IHJldHVybiBib3JkZXJCb3hSZWN0KCk7IH0gCi0gICAgCisKICAg
ICAvLyBUaGUgY29udGVudCBhcmVhIG9mIHRoZSBib3ggKGV4Y2x1ZGVzIHBhZGRpbmcgYW5kIGJv
cmRlcikuCiAgICAgSW50UmVjdCBjb250ZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJl
Y3QoYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9w
KCksIGNvbnRlbnRXaWR0aCgpLCBjb250ZW50SGVpZ2h0KCkpOyB9CiAgICAgLy8gVGhlIGNvbnRl
bnQgYm94IGluIGFic29sdXRlIGNvb3Jkcy4gSWdub3JlcyB0cmFuc2Zvcm1zLgpAQCAtMTI4LDE3
ICsxMjUsMTEgQEAgcHVibGljOgogICAgIFJlbmRlckJveCogbmV4dFNpYmxpbmdCb3goKSBjb25z
dDsKICAgICBSZW5kZXJCb3gqIHBhcmVudEJveCgpIGNvbnN0OwogCi0gICAgSW50UmVjdCB2aXNp
YmxlT3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgPyB2aXN1
YWxPdmVyZmxvd1JlY3QoKSA6IChtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJsZU92ZXJm
bG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpKTsgfQotICAgIGludCB0b3BWaXNpYmxlT3ZlcmZs
b3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHRvcFZpc3VhbE92ZXJmbG93
KCkgOiBzdGQ6Om1pbih0b3BMYXlvdXRPdmVyZmxvdygpLCB0b3BWaXN1YWxPdmVyZmxvdygpKTsg
fQotICAgIGludCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVy
Zmxvd0NsaXAoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiBzdGQ6Om1heChib3R0b21MYXlv
dXRPdmVyZmxvdygpLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBsZWZ0Vmlz
aWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgPyBsZWZ0Vmlz
dWFsT3ZlcmZsb3coKSA6IHN0ZDo6bWluKGxlZnRMYXlvdXRPdmVyZmxvdygpLCBsZWZ0VmlzdWFs
T3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6ICBzdGQ6Om1h
eChyaWdodExheW91dE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLQotICAg
IEludFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpOyB9Ci0g
ICAgaW50IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdz8gbV9v
dmVyZmxvdy0+dG9wTGF5b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgYm90dG9tTGF5b3V0
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9t
TGF5b3V0T3ZlcmZsb3coKSA6IGhlaWdodCgpOyB9Ci0gICAgaW50IGxlZnRMYXlvdXRPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5b3V0T3Zl
cmZsb3coKSA6IDA7IH0KLSAgICBpbnQgcmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91dE92ZXJmbG93KCkgOiB3aWR0
aCgpOyB9CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBt
X292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBjbGllbnRCb3hS
ZWN0KCk7IH0KKyAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyVG9wKCk7IH0K
KyAgICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgpICsgY2xp
ZW50SGVpZ2h0KCk7IH0KKyAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1
cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVy
TGVmdCgpOyB9CisgICAgaW50IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBt
X292ZXJmbG93ID8gbV9vdmVyZmxvdy0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyTGVm
dCgpICsgY2xpZW50V2lkdGgoKTsgfQogICAgIGludCBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxl
ZnRMYXlvdXRPdmVyZmxvdygpIDogdG9wTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dp
Y2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyByaWdodExheW91dE92ZXJmbG93KCkgOiBib3R0b21MYXlvdXRP
dmVyZmxvdygpOyB9CiAgICAgCkBAIC0xNzksNiArMTcwLDggQEAgcHVibGljOgogICAgIGludCBj
bGllbnRUb3AoKSBjb25zdCB7IHJldHVybiBib3JkZXJUb3AoKTsgfQogICAgIGludCBjbGllbnRX
aWR0aCgpIGNvbnN0OwogICAgIGludCBjbGllbnRIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY2xp
ZW50TG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgPyBjbGllbnRUb3AoKSArIGNsaWVudEhlaWdodCgpIDogY2xpZW50TGVmdCgp
ICsgY2xpZW50V2lkdGgoKTsgfQorICAgIEludFJlY3QgY2xpZW50Qm94UmVjdCgpIGNvbnN0IHsg
cmV0dXJuIEludFJlY3QoY2xpZW50TGVmdCgpLCBjbGllbnRUb3AoKSwgY2xpZW50V2lkdGgoKSwg
Y2xpZW50SGVpZ2h0KCkpOyB9CiAKICAgICAvLyBzY3JvbGxXaWR0aC9zY3JvbGxIZWlnaHQgd2ls
bCBiZSB0aGUgc2FtZSBhcyBjbGllbnRXaWR0aC9jbGllbnRIZWlnaHQgdW5sZXNzIHRoZQogICAg
IC8vIG9iamVjdCBoYXMgb3ZlcmZsb3c6aGlkZGVuL3Njcm9sbC9hdXRvIHNwZWNpZmllZCBhbmQg
YWxzbyBoYXMgb3ZlcmZsb3cuCkBAIC0yNzAsMTIgKzI2Myw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldElubGluZUJveFdyYXBwZXIoSW5saW5lQm94KiBib3hXcmFwcGVyKSB7IG1faW5saW5lQm94
V3JhcHBlciA9IGJveFdyYXBwZXI7IH0KICAgICB2b2lkIGRlbGV0ZUxpbmVCb3hXcmFwcGVyKCk7
CiAKLSAgICBlbnVtIEFwcGx5VHJhbnNmb3JtIHsgSW5jbHVkZVRyYW5zZm9ybSwgRXhjbHVkZVRy
YW5zZm9ybSB9OwotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJh
bnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0
UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVk
ZVNlbGYgPSB0cnVlLCAgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsK
LSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0g
SW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlv
bihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9
IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0KICAgICB2
aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJl
Y3QmLCBib29sIGZpeGVkID0gZmFsc2UpOwogCkBAIC0zOTAsNiArMzc3LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7CiAgICAgSW50U2l6
ZSBsb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKKyAgICBJbnRSZWN0
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNv
bnN0OworICAgIEludFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVy
U3R5bGUqKSBjb25zdDsKKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgbGF5b3V0T3ZlcmZs
b3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBS
ZW5kZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShT
dHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgJKHJldmlzaW9uIDczMzM0KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgaW50IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRY
KCkgY29uc3Q7CiAgICAgaW50IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgY29uc3Q7CiAgICAg
SW50U2l6ZSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZShy
ZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpLCByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpKTsgfQor
ICAgIEludFNpemUgcmVsYXRpdmVQb3NpdGlvbkxvZ2ljYWxPZmZzZXQoKSBjb25zdCB7IHJldHVy
biBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVsYXRpdmVQb3NpdGlvbk9m
ZnNldCgpIDogcmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpLnRyYW5zcG9zZWRTaXplKCk7IH0KIAog
ICAgIC8vIElFIGV4dGVuc2lvbnMuIFVzZWQgdG8gY2FsY3VsYXRlIG9mZnNldFdpZHRoL0hlaWdo
dC4gIE92ZXJyaWRkZW4gYnkgaW5saW5lcyAoUmVuZGVyRmxvdykKICAgICAvLyB0byByZXR1cm4g
dGhlIHJlbWFpbmluZyB3aWR0aCBvbiBhIGdpdmVuIGxpbmUgKGFuZCB0aGUgaGVpZ2h0IG9mIGEg
c2luZ2xlIGxpbmUpLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Niw2ICsyNDYsNyBAQCB2b2lkIFJlbmRlckZsZXhp
YmxlQm94OjpsYXlvdXRCbG9jayhib29sCiAgICAgZWxzZQogICAgICAgICBsYXlvdXRWZXJ0aWNh
bEJveChyZWxheW91dENoaWxkcmVuKTsKIAorICAgIGludCBvbGRDbGllbnRBZnRlckVkZ2UgPSBj
bGllbnRMb2dpY2FsQm90dG9tKCk7CiAgICAgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAg
IGlmIChwcmV2aW91c0hlaWdodCAhPSBoZWlnaHQoKSkKQEAgLTI3MSwxMyArMjcyLDcgQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogICAgICAgICBzZXRNYXhNYXJn
aW5BZnRlclZhbHVlcygwLCAwKTsKICAgICB9CiAgICAgCi0gICAgLy8gQWRkIGluIHRoZSBvdmVy
ZmxvdyBmcm9tIGNoaWxkcmVuLgotICAgIEZsZXhCb3hJdGVyYXRvciBpdGVyYXRvcih0aGlzKTsK
LSAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZDsgY2hp
bGQgPSBpdGVyYXRvci5uZXh0KCkpCi0gICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKGNoaWxk
KTsKLQotICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZs
ZWN0aW9ucy4KLSAgICBhZGRTaGFkb3dPdmVyZmxvdygpOworICAgIGNvbXB1dGVPdmVyZmxvdyhv
bGRDbGllbnRBZnRlckVkZ2UpOwogCiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzksNyArNTc5LDcg
QEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLUludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc2libGVPdmVyZmxvd0Jv
dW5kaW5nQm94KCkgY29uc3QKK0ludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJm
bG93Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIGlmICghZmlyc3RMaW5lQm94KCkgfHwgIWxh
c3RMaW5lQm94KCkpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CkBAIC01ODgsMTYgKzU4OCwx
NiBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNWaXNpYmxlT3ZlcmZsCiAgICAgaW50IGxv
Z2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwogICAgIGludCBsb2dp
Y2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CiAgICAgZm9yIChJbmxp
bmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
TGluZUJveCgpKSB7Ci0gICAgICAgIGxvZ2ljYWxMZWZ0U2lkZSA9IG1pbihsb2dpY2FsTGVmdFNp
ZGUsIGN1cnItPmxvZ2ljYWxMZWZ0VmlzaWJsZU92ZXJmbG93KCkpOwotICAgICAgICBsb2dpY2Fs
UmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxSaWdodFZpc2li
bGVPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0
U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNh
bFJpZ2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdygpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jp
em9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPmxlZnRWaXNpYmxlT3Zl
cmZsb3coKTsKLSAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT50b3BW
aXNpYmxlT3ZlcmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgd2lkdGggPSBpc0hv
cml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVC
b3goKS0+cmlnaHRWaXNpYmxlT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5sZWZ0VmlzaWJs
ZU92ZXJmbG93KCk7Ci0gICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94
KCktPmJvdHRvbVZpc2libGVPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPnRvcFZpc2libGVP
dmVyZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBpbnQg
eCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5sZWZ0
VmlzdWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJv
eCgpLT50b3BWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOworICAgIGludCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0TGluZUJveCgpLT5yaWdodFZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bGVm
dFZpc3VhbE92ZXJmbG93KCk7CisgICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RM
aW5lQm94KCktPmJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+dG9wVmlz
dWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CiAgICAg
cmV0dXJuIEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKQEAgLTYxMCw3ICs2MTAs
NyBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjCiAgICAgICAgIHJl
dHVybiBJbnRSZWN0KCk7CiAKICAgICAvLyBGaW5kIG91ciBsZWZ0bW9zdCBwb3NpdGlvbi4KLSAg
ICBJbnRSZWN0IGJvdW5kaW5nQm94KGxpbmVzVmlzaWJsZU92ZXJmbG93Qm91bmRpbmdCb3goKSk7
CisgICAgSW50UmVjdCBib3VuZGluZ0JveChsaW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3go
KSk7CiAgICAgaW50IGxlZnQgPSBib3VuZGluZ0JveC54KCk7CiAgICAgaW50IHRvcCA9IGJvdW5k
aW5nQm94LnkoKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgJKHJldmlzaW9uIDcz
MzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50U2l6ZSBvZmZzZXRGcm9t
Q29udGFpbmVyKFJlbmRlck9iamVjdCosIGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKICAgICBJ
bnRSZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKLSAgICBJbnRSZWN0IGxpbmVzVmlzaWJs
ZU92ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdDsKKyAgICBJbnRSZWN0IGxpbmVzVmlzdWFsT3Zl
cmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0OwogCiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlQW5k
QXBwZW5kSW5saW5lRmxvd0JveCgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjc2LDE0ICs2NzYsNiBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRh
dGVMYXllclBvc2l0aW9uKCkKICAgICB9IGVsc2UgaWYgKFJlbmRlckJveCogYm94ID0gcmVuZGVy
Qm94KCkpIHsKICAgICAgICAgc2V0V2lkdGgoYm94LT53aWR0aCgpKTsKICAgICAgICAgc2V0SGVp
Z2h0KGJveC0+aGVpZ2h0KCkpOwotCi0gICAgICAgIGlmICghYm94LT5oYXNPdmVyZmxvd0NsaXAo
KSkgewotICAgICAgICAgICAgaWYgKGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpID4gYm94LT53
aWR0aCgpKQotICAgICAgICAgICAgICAgIHNldFdpZHRoKGJveC0+cmlnaHRMYXlvdXRPdmVyZmxv
dygpKTsKLSAgICAgICAgICAgIGlmIChib3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkgPiBib3gt
PmhlaWdodCgpKQotICAgICAgICAgICAgICAgIHNldEhlaWdodChib3gtPmJvdHRvbUxheW91dE92
ZXJmbG93KCkpOwotICAgICAgICB9Ci0gICAgICAgIAogICAgICAgICBsb2NhbFBvaW50ICs9IGJv
eC0+bG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpOwogICAgIH0KIApAQCAtMTk2Niwz
OCArMTk1OCw1NyBAQCBpbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbEhlaWdodCgpCiAgICAgcmV0dXJu
IG1fc2Nyb2xsSGVpZ2h0OwogfQogCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93VG9wKCkgY29u
c3QKK3sKKyAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOworICAgIEludFJlY3Qgb3Zl
cmZsb3dSZWN0KGJveC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGJveC0+ZmxpcEZvcldy
aXRpbmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC55KCk7Cit9
CisKK2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dCb3R0b20oKSBjb25zdAoreworICAgIFJlbmRl
ckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5s
YXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LmJvdHRvbSgpOworfQorCitpbnQgUmVu
ZGVyTGF5ZXI6Om92ZXJmbG93TGVmdCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSBy
ZW5kZXJCb3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93
UmVjdCgpKTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAg
IHJldHVybiBvdmVyZmxvd1JlY3QueCgpOworfQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93
UmlnaHQoKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAg
SW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94
LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dS
ZWN0LnJpZ2h0KCk7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNp
b25zKGJvb2wqIG5lZWRIQmFyLCBib29sKiBuZWVkVkJhcikKIHsKICAgICBSZW5kZXJCb3gqIGJv
eCA9IHJlbmRlckJveCgpOwogICAgIEFTU0VSVChib3gpOwogICAgIAogICAgIG1fc2Nyb2xsRGlt
ZW5zaW9uc0RpcnR5ID0gZmFsc2U7Ci0gICAgCi0gICAgaW50IGNsaWVudFdpZHRoID0gYm94LT5j
bGllbnRXaWR0aCgpOwotICAgIGludCBjbGllbnRIZWlnaHQgPSBib3gtPmNsaWVudEhlaWdodCgp
OwotCi0gICAgYm9vbCBoYXNMZWZ0T3ZlcmZsb3cgPSAoIWJveC0+c3R5bGUoKS0+aXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSB8fCAhYm94LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpICYmIGJveC0+c3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBMZWZ0VG9SaWdodFdyaXRpbmdN
b2RlOwotICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAoYm94LT5zdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSkgJiYgYm94LT5zdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IFRvcFRvQm90dG9tV3JpdGluZ01v
ZGU7CiAKLSAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDog
bWluKDAsIGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxl
ZnQoKSk7Ci0gICAgbV9zY3JvbGxUb3BPdmVyZmxvdyA9ICFoYXNUb3BPdmVyZmxvdyA/IDAgOiBt
aW4oMCwgYm94LT50b3Btb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJUb3Ao
KSk7CisgICAgbV9zY3JvbGxMZWZ0T3ZlcmZsb3cgPSBvdmVyZmxvd0xlZnQoKSAtIGJveC0+Ym9y
ZGVyTGVmdCgpOworICAgIG1fc2Nyb2xsVG9wT3ZlcmZsb3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94
LT5ib3JkZXJUb3AoKTsKIAotICAgIGludCByaWdodFBvcyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPwot
ICAgICAgICAgICAgICAgICAgICBib3gtPnJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAt
IGJveC0+Ym9yZGVyTGVmdCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBt
X3Njcm9sbExlZnRPdmVyZmxvdzsKLSAgICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93
ID8KLSAgICAgICAgICAgICAgICAgICAgYm94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkg
LSBib3gtPmJvcmRlclRvcCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0IC0g
bV9zY3JvbGxUb3BPdmVyZmxvdzsKLQotICAgIG1fc2Nyb2xsV2lkdGggPSBtYXgocmlnaHRQb3Ms
IGNsaWVudFdpZHRoKTsKLSAgICBtX3Njcm9sbEhlaWdodCA9IG1heChib3R0b21Qb3MsIGNsaWVu
dEhlaWdodCk7CisgICAgbV9zY3JvbGxXaWR0aCA9IG92ZXJmbG93UmlnaHQoKSAtIG92ZXJmbG93
TGVmdCgpOworICAgIG1fc2Nyb2xsSGVpZ2h0ID0gb3ZlcmZsb3dCb3R0b20oKSAtIG92ZXJmbG93
VG9wKCk7CiAgICAgCi0gICAgbV9zY3JvbGxPcmlnaW4gPSBJbnRQb2ludCghaGFzTGVmdE92ZXJm
bG93ID8gMCA6IG1fc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCwgIWhhc1RvcE92ZXJmbG93ID8g
MCA6IG1fc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KTsKKyAgICBtX3Njcm9sbE9yaWdpbiA9
IEludFBvaW50KC1tX3Njcm9sbExlZnRPdmVyZmxvdywgLW1fc2Nyb2xsVG9wT3ZlcmZsb3cpOwog
CiAgICAgaWYgKG5lZWRIQmFyKQotICAgICAgICAqbmVlZEhCYXIgPSByaWdodFBvcyA+IGNsaWVu
dFdpZHRoOworICAgICAgICAqbmVlZEhCYXIgPSBtX3Njcm9sbFdpZHRoID4gYm94LT5jbGllbnRX
aWR0aCgpOwogICAgIGlmIChuZWVkVkJhcikKLSAgICAgICAgKm5lZWRWQmFyID0gYm90dG9tUG9z
ID4gY2xpZW50SGVpZ2h0OworICAgICAgICAqbmVlZFZCYXIgPSBtX3Njcm9sbEhlaWdodCA+IGJv
eC0+Y2xpZW50SGVpZ2h0KCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZU92ZXJmbG93
U3RhdHVzKGJvb2wgaG9yaXpvbnRhbE92ZXJmbG93LCBib29sIHZlcnRpY2FsT3ZlcmZsb3cpCkBA
IC0yMDkyLDkgKzIxMDMsMTIgQEAgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxh
eW91dAogICAgICAgICAgICAgICAgIC8vIE91ciBwcm9wcmlldGFyeSBvdmVyZmxvdzogb3Zlcmxh
eSB2YWx1ZSBkb2Vzbid0IHRyaWdnZXIgYSBsYXlvdXQuCiAgICAgICAgICAgICAgICAgbV9pbk92
ZXJmbG93UmVsYXlvdXQgPSB0cnVlOwogICAgICAgICAgICAgICAgIHJlbmRlcmVyKCktPnNldE5l
ZWRzTGF5b3V0KHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS0+
aXNSZW5kZXJCbG9jaygpKQotICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKHJlbmRl
cmVyKCkpLT5sYXlvdXRCbG9jayh0cnVlKTsKLSAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyKCktPmlzUmVuZGVyQmxvY2soKSkgeworICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSB0b1JlbmRlckJsb2NrKHJlbmRlcmVyKCkpOwor
ICAgICAgICAgICAgICAgICAgICBibG9jay0+c2Nyb2xsYmFyc0NoYW5nZWQoYm94LT5oYXNBdXRv
SG9yaXpvbnRhbFNjcm9sbGJhcigpICYmIGhhdmVIb3Jpem9udGFsQmFyICE9IGhvcml6b250YWxP
dmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
eC0+aGFzQXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkgJiYgaGF2ZVZlcnRpY2FsQmFyICE9IHZlcnRp
Y2FsT3ZlcmZsb3cpOworICAgICAgICAgICAgICAgICAgICBibG9jay0+bGF5b3V0QmxvY2sodHJ1
ZSk7CisgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVy
KCktPmxheW91dCgpOwogICAgICAgICAgICAgICAgIG1faW5PdmVyZmxvd1JlbGF5b3V0ID0gZmFs
c2U7CiAgICAgICAgICAgICB9CkBAIC0yMTE4LDkgKzIxMzIsNyBAQCBSZW5kZXJMYXllcjo6dXBk
YXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0CiAgICAgICAgIC8vIHRvcCByaWdodCBjb3JuZXIgb2Yg
dGhlIGNvbnRlbnQgZG9lc24ndCBzaGlmdCB3aXRoIHJlc3BlY3QgdG8gdGhlIHRvcAogICAgICAg
ICAvLyByaWdodCBjb3JuZXIgb2YgdGhlIGFyZWEuIENvbmNlcHR1YWxseSwgcmlnaHQtdG8tbGVm
dCBhcmVhcyBoYXZlCiAgICAgICAgIC8vIHRoZWlyIG9yaWdpbiBhdCB0aGUgdG9wLXJpZ2h0LCBi
dXQgUmVuZGVyTGF5ZXIgaXMgdG9wLWxlZnQgb3JpZW50ZWQsCi0gICAgICAgIC8vIHNvIHRoaXMg
aXMgbmVlZGVkIHRvIGtlZXAgZXZlcnl0aGluZyB3b3JraW5nIChzZWUgaG93IHNjcm9sbFhPZmZz
ZXQoKQotICAgICAgICAvLyBkaWZmZXJzIGZyb20gc2Nyb2xsWU9mZnNldCgpIHRvIGdldCBhbiBp
ZGVhIG9mIHdoeSB0aGUgaG9yaXpvbnRhbCBhbmQKLSAgICAgICAgLy8gdmVydGljYWwgc2Nyb2xs
YmFycyBuZWVkIHRvIGJlIHRyZWF0ZWQgZGlmZmVyZW50bHkpLgorICAgICAgICAvLyBzbyB0aGlz
IGlzIG5lZWRlZCB0byBrZWVwIGV2ZXJ5dGhpbmcgd29ya2luZy4KICAgICAgICAgbV9oQmFyLT5z
ZXRWYWx1ZShzY3JvbGxYT2Zmc2V0KCksIFNjcm9sbGJhcjo6Tm90RnJvbVNjcm9sbEFuaW1hdG9y
KTsKICAgICB9CiAgICAgaWYgKG1fdkJhcikgewpAQCAtMjEyOCw2ICsyMTQwLDEzIEBAIFJlbmRl
ckxheWVyOjp1cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQKICAgICAgICAgaW50IHBhZ2VTdGVw
ID0gbWF4KG1heDxpbnQ+KGNsaWVudEhlaWdodCAqIFNjcm9sbGJhcjo6bWluRnJhY3Rpb25Ub1N0
ZXBXaGVuUGFnaW5nKCksIGNsaWVudEhlaWdodCAtIFNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdl
ZW5QYWdlcygpKSwgMSk7CiAgICAgICAgIG1fdkJhci0+c2V0U3RlcHMoU2Nyb2xsYmFyOjpwaXhl
bHNQZXJMaW5lU3RlcCgpLCBwYWdlU3RlcCk7CiAgICAgICAgIG1fdkJhci0+c2V0UHJvcG9ydGlv
bihjbGllbnRIZWlnaHQsIG1fc2Nyb2xsSGVpZ2h0KTsKKyAgICAgICAgLy8gRXhwbGljaXRseSBz
ZXQgdGhlIHZlcnRpY2FsIHNjcm9sbCB2YWx1ZS4gIFRoaXMgZW5zdXJlcyB0aGF0IHdoZW4gYQor
ICAgICAgICAvLyByaWdodC10by1sZWZ0IHZlcnRpY2FsIHdyaXRpbmctbW9kZSBzY3JvbGxhYmxl
IGFyZWEncyBoZWlnaHQgKG9yIGNvbnRlbnQgaGVpZ2h0KSBjaGFuZ2VzLCB0aGUKKyAgICAgICAg
Ly8gYm90dG9tIHJpZ2h0IGNvcm5lciBvZiB0aGUgY29udGVudCBkb2Vzbid0IHNoaWZ0IHdpdGgg
cmVzcGVjdCB0byB0aGUgYm90dG9tCisgICAgICAgIC8vIHJpZ2h0IGNvcm5lciBvZiB0aGUgYXJl
YS4gQ29uY2VwdHVhbGx5LCByaWdodC10by1sZWZ0IHZlcnRpY2FsIHdyaXRpbmctbW9kZSBhcmVh
cyBoYXZlCisgICAgICAgIC8vIHRoZWlyIG9yaWdpbiBhdCB0aGUgYm90dG9tLXJpZ2h0LCBidXQg
UmVuZGVyTGF5ZXIgaXMgdG9wLWxlZnQgb3JpZW50ZWQsCisgICAgICAgIC8vIHNvIHRoaXMgaXMg
bmVlZGVkIHRvIGtlZXAgZXZlcnl0aGluZyB3b3JraW5nLgorICAgICAgICBtX3ZCYXItPnNldFZh
bHVlKHNjcm9sbFlPZmZzZXQoKSwgU2Nyb2xsYmFyOjpOb3RGcm9tU2Nyb2xsQW5pbWF0b3IpOwog
ICAgIH0KICAKICAgICBpZiAocmVuZGVyZXIoKS0+bm9kZSgpICYmIHJlbmRlcmVyKCktPmRvY3Vt
ZW50KCktPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6T1ZFUkZMT1dDSEFOR0VEX0xJU1RFTkVS
KSkKQEAgLTIzMjQsMTIgKzIzNDMsMTMgQEAgc3RhdGljIHZvaWQgcmVzdG9yZUNsaXAoR3JhcGhp
Y3NDb250ZXh0KgogICAgIHAtPnJlc3RvcmUoKTsKIH0KIAotc3RhdGljIHZvaWQgcGVyZm9ybU92
ZXJsYXBUZXN0cyhPdmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGNv
bnN0IEludFJlY3QmIGxheWVyQm91bmRzKQorc3RhdGljIHZvaWQgcGVyZm9ybU92ZXJsYXBUZXN0
cyhPdmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGNvbnN0IFJlbmRl
ckxheWVyKiByb290TGF5ZXIsIGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAgICBWZWN0
b3I8T3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50Kj4gb3ZlcmxhcHBlZFJlcXVlc3RDbGllbnRzOwog
ICAgIE92ZXJsYXBUZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgZW5kID0gb3ZlcmxhcFRlc3RSZXF1
ZXN0cy5lbmQoKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94ID0gbGF5ZXItPmJvdW5kaW5nQm94
KHJvb3RMYXllcik7CiAgICAgZm9yIChPdmVybGFwVGVzdFJlcXVlc3RNYXA6Oml0ZXJhdG9yIGl0
ID0gb3ZlcmxhcFRlc3RSZXF1ZXN0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgaWYgKCFsYXllckJvdW5kcy5pbnRlcnNlY3RzKGl0LT5zZWNvbmQpKQorICAgICAgICBpZiAo
IWJvdW5kaW5nQm94LmludGVyc2VjdHMoaXQtPnNlY29uZCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKIAogICAgICAgICBpdC0+Zmlyc3QtPnNldE92ZXJsYXBUZXN0UmVzdWx0KHRydWUpOwpAQCAt
MjQ1Niw3ICsyNDc2LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihSZW5kZXJMYXll
cgogICAgICAgICBwYWludGluZ1Jvb3RGb3JSZW5kZXJlciA9IHBhaW50aW5nUm9vdDsKIAogICAg
IGlmIChvdmVybGFwVGVzdFJlcXVlc3RzICYmIGlzU2VsZlBhaW50aW5nTGF5ZXIoKSkKLSAgICAg
ICAgcGVyZm9ybU92ZXJsYXBUZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgbGF5ZXJCb3VuZHMp
OworICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3RzLCByb290
TGF5ZXIsIHRoaXMpOwogCiAgICAgLy8gV2Ugd2FudCB0byBwYWludCBvdXIgbGF5ZXIsIGJ1dCBv
bmx5IGlmIHdlIGludGVyc2VjdCB0aGUgZGFtYWdlIHJlY3QuCiAgICAgYm9vbCBzaG91bGRQYWlu
dCA9IGludGVyc2VjdHNEYW1hZ2VSZWN0KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCByb290TGF5
ZXIpICYmIG1faGFzVmlzaWJsZUNvbnRlbnQgJiYgaXNTZWxmUGFpbnRpbmdMYXllcigpOwpAQCAt
MjY2NSwxMSArMjY4NSwxMSBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0KGNvbnN0IEhpdFRl
c3RSCiB7CiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CiAgICAg
Ci0gICAgSW50UmVjdCBib3VuZHNSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSk7Cisg
ICAgSW50UmVjdCBoaXRUZXN0QXJlYSA9IHJlc3VsdC5yZWN0Rm9yUG9pbnQocmVzdWx0LnBvaW50
KCkpOwogICAgIGlmICghcmVxdWVzdC5pZ25vcmVDbGlwcGluZygpKQotICAgICAgICBib3VuZHNS
ZWN0LmludGVyc2VjdChmcmFtZVZpc2libGVSZWN0KHJlbmRlcmVyKCkpKTsKKyAgICAgICAgaGl0
VGVzdEFyZWEuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOwogCi0gICAg
UmVuZGVyTGF5ZXIqIGluc2lkZUxheWVyID0gaGl0VGVzdExheWVyKHRoaXMsIDAsIHJlcXVlc3Qs
IHJlc3VsdCwgYm91bmRzUmVjdCwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKKyAgICBSZW5kZXJM
YXllciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhpcywgMCwgcmVxdWVzdCwgcmVzdWx0
LCBoaXRUZXN0QXJlYSwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKICAgICBpZiAoIWluc2lkZUxh
eWVyKSB7CiAgICAgICAgIC8vIFdlIGRpZG4ndCBoaXQgYW55IGxheWVyLiBJZiB3ZSBhcmUgdGhl
IHJvb3QgbGF5ZXIgYW5kIHRoZSBtb3VzZSBpcyAtLSBvciBqdXN0IHdhcyAtLSBkb3duLCAKICAg
ICAgICAgLy8gcmV0dXJuIG91cnNlbHZlcy4gV2UgZG8gdGhpcyBzbyBtb3VzZSBldmVudHMgY29u
dGludWUgZ2V0dGluZyBkZWxpdmVyZWQgYWZ0ZXIgYSBkcmFnIGhhcyAKQEAgLTMzNzUsOCArMzM5
NSw4IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAg
SW5saW5lRmxvd0JveCogZmlyc3RCb3ggPSBpbmxpbmVGbG93LT5maXJzdExpbmVCb3goKTsKICAg
ICAgICAgaWYgKCFmaXJzdEJveCkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAg
IGludCB0b3AgPSBmaXJzdEJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAgIGludCBi
b3R0b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgpLT5ib3R0b21WaXNpYmxlT3ZlcmZsb3co
KTsKKyAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXN1YWxPdmVyZmxvdygpOworICAg
ICAgICBpbnQgYm90dG9tID0gaW5saW5lRmxvdy0+bGFzdExpbmVCb3goKS0+Ym90dG9tVmlzdWFs
T3ZlcmZsb3coKTsKICAgICAgICAgaW50IGxlZnQgPSBmaXJzdEJveC0+eCgpOwogICAgICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdEJveC0+bmV4dExpbmVCb3goKTsgY3Vycjsg
Y3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpCiAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQs
IGN1cnItPngoKSk7CkBAIC0zMzg3LDcgKzM0MDcsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjps
b2NhbEJvdW5kaW5nQm94KCkgCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVDZWxsKCkp
IHsKICAgICAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSB0b1JlbmRlckJveChjaGlsZCktPmJv
cmRlckJveFJlY3QoKTsKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUoYmJveCk7Ci0gICAg
ICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlzaWJsZU92
ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0ID0gcmVu
ZGVyQm94KCktPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgICAgIGlmIChiYm94
ICE9IG92ZXJmbG93UmVjdCkKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnVuaXRlKG92ZXJm
bG93UmVjdCk7CiAgICAgICAgICAgICB9CkBAIC0zNDAwLDcgKzM0MjAsNyBAQCBJbnRSZWN0IFJl
bmRlckxheWVyOjpsb2NhbEJvdW5kaW5nQm94KCkgCiAgICAgICAgIGVsc2UgewogICAgICAgICAg
ICAgSW50UmVjdCBiYm94ID0gYm94LT5ib3JkZXJCb3hSZWN0KCk7CiAgICAgICAgICAgICByZXN1
bHQgPSBiYm94OwotICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSBib3gtPnZpc2li
bGVPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0ID0gYm94
LT52aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgICAgIGlmIChiYm94ICE9IG92ZXJmbG93
UmVjdCkKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsKICAgICAg
ICAgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4MSw2ICs1
ODEsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBPbmx5IHNhZmUgdG8gY2FsbCBmcm9tIFJlbmRlckJv
eE1vZGVsT2JqZWN0OjpkZXN0cm95TGF5ZXIoUmVuZGVyQXJlbmEqKQogICAgIHZvaWQgZGVzdHJv
eShSZW5kZXJBcmVuYSopOwogCisgICAgaW50IG92ZXJmbG93VG9wKCkgY29uc3Q7CisgICAgaW50
IG92ZXJmbG93Qm90dG9tKCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93TGVmdCgpIGNvbnN0Owor
ICAgIGludCBvdmVyZmxvd1JpZ2h0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJC
b3hNb2RlbE9iamVjdCogbV9yZW5kZXJlcjsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGluZUJveExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpbmVCb3hMaXN0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaW5lQm94TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NiwxMCArMTc2LDEwIEBA
IGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNlY3QKICAgICAvLyBpbnRlcnNl
Y3QuICBUaGlzIGlzIGEgcXVpY2sgc2hvcnQtY2lyY3VpdCB0aGF0IHdlIGNhbiB0YWtlIHRvIGF2
b2lkIHdhbGtpbmcgYW55IGxpbmVzLgogICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlzIGZsYXdl
ZCBpbiB0aGUgZm9sbG93aW5nIGV4dHJlbWVseSBvYnNjdXJlIHdheToKICAgICAvLyBpZiBzb21l
IGxpbmUgaW4gdGhlIG1pZGRsZSBoYXMgYSBodWdlIG92ZXJmbG93LCBpdCBtaWdodCBhY3R1YWxs
eSBleHRlbmQgYmVsb3cgdGhlIGxhc3QgbGluZS4KLSAgICBpbnQgZmlyc3RMaW5lVG9wID0gZmly
c3RMaW5lQm94KCktPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQgZmlyc3RM
aW5lVG9wID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpOwogICAg
IGlmICh1c2VQcmludFJlY3QgJiYgIWZpcnN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAgICAgICAg
Zmlyc3RMaW5lVG9wID0gbWluKGZpcnN0TGluZVRvcCwgZmlyc3RMaW5lQm94KCktPnJvb3QoKS0+
bGluZVRvcCgpKTsKLSAgICBpbnQgbGFzdExpbmVCb3R0b20gPSBsYXN0TGluZUJveCgpLT5sb2dp
Y2FsQm90dG9tVmlzaWJsZU92ZXJmbG93KCk7CisgICAgaW50IGxhc3RMaW5lQm90dG9tID0gbGFz
dExpbmVCb3goKS0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYgKHVzZVBy
aW50UmVjdCAmJiAhbGFzdExpbmVCb3goKS0+cGFyZW50KCkpCiAgICAgICAgIGxhc3RMaW5lQm90
dG9tID0gbWF4KGxhc3RMaW5lQm90dG9tLCBsYXN0TGluZUJveCgpLT5yb290KCktPmxpbmVCb3R0
b20oKSk7CiAgICAgaW50IGxvZ2ljYWxUb3AgPSBmaXJzdExpbmVUb3AgLSBvdXRsaW5lU2l6ZTsK
QEAgLTE5MCw4ICsxOTAsOCBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjphbnlMaW5lSW50ZXJz
ZWN0CiAKIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmxpbmVJbnRlcnNlY3RzRGlydHlSZWN0KFJl
bmRlckJveE1vZGVsT2JqZWN0KiByZW5kZXJlciwgSW5saW5lRmxvd0JveCogYm94LCBjb25zdCBQ
YWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpIGNvbnN0CiB7Ci0gICAgaW50IGxv
Z2ljYWxUb3AgPSBtaW4oYm94LT5sb2dpY2FsVG9wVmlzaWJsZU92ZXJmbG93KCksIGJveC0+cm9v
dCgpLT5zZWxlY3Rpb25Ub3AoKSkgLSByZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50
SW5mby5waGFzZSk7Ci0gICAgaW50IGxvZ2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxCb3R0b21W
aXNpYmxlT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZv
LnBoYXNlKTsKKyAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BWaXN1YWxP
dmVyZmxvdygpLCBib3gtPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCkpIC0gcmVuZGVyZXItPm1heGlt
YWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsQm90dG9tID0g
Ym94LT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhpbWFsT3V0
bGluZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKICAgICAKICAgICByZXR1cm4gcmFuZ2VJbnRlcnNl
Y3RzUmVjdChyZW5kZXJlciwgbG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSwgcGFpbnRJbmZvLnJl
Y3QsIHR4LCB0eSk7CiB9CkBAIC0yMzAsOCArMjMwLDggQEAgdm9pZCBSZW5kZXJMaW5lQm94TGlz
dDo6cGFpbnQoUmVuZGVyQm94TQogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGhlIGRl
cHJlY2F0ZWQgcGFnaW5hdGlvbiBtb2RlbCB0aGF0IGlzIHN0aWxsIG5lZWRlZAogICAgICAgICAg
ICAgLy8gZm9yIGVtYmVkZGVkIHZpZXdzIGluc2lkZSBBcHBLaXQuICBBcHBLaXQgaXMgaW5jYXBh
YmxlIG9mIHBhZ2luYXRpbmcgdmVydGljYWwKICAgICAgICAgICAgIC8vIHRleHQgcGFnZXMsIHNv
IHdlIGRvbid0IGhhdmUgdG8gZGVhbCB3aXRoIHZlcnRpY2FsIGxpbmVzIGF0IGFsbCBoZXJlLgot
ICAgICAgICAgICAgaW50IHRvcEZvclBhZ2luYXRpb25DaGVjayA9IGN1cnItPnRvcFZpc2libGVP
dmVyZmxvdygpOwotICAgICAgICAgICAgaW50IGJvdHRvbUZvclBhZ2luYXRpb25DaGVjayA9IGN1
cnItPmJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgICAgICAgICAgaW50IHRvcEZvclBhZ2lu
YXRpb25DaGVjayA9IGN1cnItPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgICAgICBpbnQg
Ym90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKTsK
ICAgICAgICAgICAgIGlmICghY3Vyci0+cGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAvLyBX
ZSdyZSBhIHJvb3QgYm94LiAgVXNlIGxpbmVUb3AgYW5kIGxpbmVCb3R0b20gYXMgd2VsbCBoZXJl
LgogICAgICAgICAgICAgICAgIHRvcEZvclBhZ2luYXRpb25DaGVjayA9IG1pbih0b3BGb3JQYWdp
bmF0aW9uQ2hlY2ssIGN1cnItPnJvb3QoKS0+bGluZVRvcCgpKTsKQEAgLTI0MCw3ICsyNDAsNyBA
QCB2b2lkIFJlbmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAgICAgICBp
ZiAoYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrIC0gdG9wRm9yUGFnaW5hdGlvbkNoZWNrIDw9IHYt
PnByaW50UmVjdCgpLmhlaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsgYm90dG9t
Rm9yUGFnaW5hdGlvbkNoZWNrID4gdi0+cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94ID0gY3Vyci0+cm9vdCgp
LT5uZXh0Um9vdEJveCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tRm9yUGFnaW5h
dGlvbkNoZWNrID0gbWluKGJvdHRvbUZvclBhZ2luYXRpb25DaGVjaywgbWluKG5leHRSb290Qm94
LT50b3BWaXNpYmxlT3ZlcmZsb3coKSwgbmV4dFJvb3RCb3gtPmxpbmVUb3AoKSkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gbWluKGJvdHRvbUZv
clBhZ2luYXRpb25DaGVjaywgbWluKG5leHRSb290Qm94LT50b3BWaXN1YWxPdmVyZmxvdygpLCBu
ZXh0Um9vdEJveC0+bGluZVRvcCgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIGlmICh0eSArIGJvdHRvbUZvclBhZ2luYXRpb25DaGVjayA+IHYtPnByaW50UmVjdCgpLmJv
dHRvbSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0eSArIHRvcEZvclBhZ2luYXRpb25D
aGVjayA8IHYtPnRydW5jYXRlZEF0KCkpCkBAIC0yOTIsNyArMjkyLDcgQEAgYm9vbCBSZW5kZXJM
aW5lQm94TGlzdDo6aGl0VGVzdChSZW5kZXJCbwogICAgIC8vIHRoZW0gZnVydGhlci4gIE5vdGUg
dGhhdCBib3hlcyBjYW4gZWFzaWx5IG92ZXJsYXAsIHNvIHdlIGNhbid0IG1ha2UgYW55IGFzc3Vt
cHRpb25zCiAgICAgLy8gYmFzZWQgb2ZmIHBvc2l0aW9ucyBvZiBvdXIgZmlyc3QgbGluZSBib3gg
b3Igb3VyIGxhc3QgbGluZSBib3guCiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gbGFz
dExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPnByZXZMaW5lQm94KCkpIHsKLSAgICAgICAg
aWYgKHJhbmdlSW50ZXJzZWN0c1JlY3QocmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BWaXNpYmxl
T3ZlcmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpLCByZWN0LCB0
eCwgdHkpKSB7CisgICAgICAgIGlmIChyYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVyLCBjdXJy
LT5sb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93KCksIHJlY3QsIHR4LCB0eSkpIHsKICAgICAgICAgICAgIGJvb2wgaW5zaWRlID0gY3Vy
ci0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCB0eCwgdHkpOwogICAgICAgICAg
ICAgaWYgKGluc2lkZSkgewogICAgICAgICAgICAgICAgIHJlbmRlcmVyLT51cGRhdGVIaXRUZXN0
UmVzdWx0KHJlc3VsdCwgSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDEy
IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OmxheW91dCgpCiAgICAgUmVuZGVyQmxvY2s6OmxheW91
dCgpOwogfQogCit2b2lkIFJlbmRlckxpc3RJdGVtOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigp
Cit7CisgICAgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisgICAgcG9z
aXRpb25MaXN0TWFya2VyKCk7Cit9CisKIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlz
dE1hcmtlcigpCiB7CiAgICAgaWYgKG1fbWFya2VyICYmIG1fbWFya2VyLT5wYXJlbnQoKS0+aXNC
b3goKSAmJiAhbV9tYXJrZXItPmlzSW5zaWRlKCkgJiYgbV9tYXJrZXItPmlubGluZUJveFdyYXBw
ZXIoKSkgewpAQCAtMjU3LDIwICsyNjMsMzEgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRp
b25MaXN0TWFya2VyKAogICAgICAgICBib29sIGFkanVzdE92ZXJmbG93ID0gZmFsc2U7CiAgICAg
ICAgIGludCBtYXJrZXJMb2dpY2FsTGVmdDsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9
IG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPnJvb3QoKTsKKyAgICAgICAgYm9vbCBoaXRT
ZWxmUGFpbnRpbmdMYXllciA9IGZhbHNlOwogCi0gICAgICAgIC8vIEZJWE1FOiBJbmxpbmUgZmxv
d3MgaW4gdGhlIGxpbmUgYm94IGhpZXJhcmNoeSB0aGF0IGhhdmUgc2VsZi1wYWludGluZyBsYXll
cnMgc2hvdWxkIGFjdCBhcyBjdXRvZmYgcG9pbnRzCi0gICAgICAgIC8vIGFuZCByZWFsbHkgc2hv
dWxkbid0IGtlZXAgcHJvcGFnYXRpbmcgb3ZlcmZsb3cgdXAuICBUaGlzIHdvbid0IHJlYWxseSBi
cmVhayBhbnl0aGluZyBvdGhlciB0aGFuIHJlcGFpbnRpbmcKLSAgICAgICAgLy8gbm90IGJlaW5n
IGFzIHRpZ2h0IGFzIGl0IGNvdWxkIGJlIHRob3VnaC4KKyAgICAgICAgLy8gRklYTUU6IE5lZWQg
dG8gYWNjb3VudCBmb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgaW4gdGhlIGxheW91dCBvdmVyZmxv
dy4KICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAg
ICAgICAgICAgaW50IGxlZnRMaW5lT2Zmc2V0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGJs
b2NrT2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoYmxvY2tPZmZzZXQsIGZhbHNlKSwg
ZmFsc2UpOwogICAgICAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBsZWZ0TGluZU9mZnNldCAt
IGxpbmVPZmZzZXQgLSBwYWRkaW5nU3RhcnQoKSAtIGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+
bWFyZ2luU3RhcnQoKTsKICAgICAgICAgICAgIG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCkt
PmFkanVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9s
ZExvZ2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9t
YXJrZXItPmlubGluZUJveFdyYXBwZXIoKS0+cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJl
bnQoKSkgewotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IGJveC0+bG9n
aWNhbExlZnRMYXlvdXRPdmVyZmxvdygpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJveC0+c2V0
SW5saW5lRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobWFya2VyTG9naWNhbExlZnQsIGJveC0+
bG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93KCksIGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgICAgICAg
ICAgSW50UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlz
dWFsT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5
b3V0T3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAg
ICAgICAgICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0IDwgbmV3TG9naWNhbFZpc3VhbE92ZXJm
bG93UmVjdC54KCkgJiYgIWhpdFNlbGZQYWludGluZ0xheWVyKSB7CisgICAgICAgICAgICAgICAg
ICAgIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Quc2V0WChtYXJrZXJMb2dpY2FsTGVmdCk7
CisgICAgICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Quc2V0V2lk
dGgoYm94LT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIC0gbmV3TG9naWNhbFZpc3VhbE92
ZXJmbG93UmVjdC54KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCisg
ICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IG5ld0xvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3QueCgpKSB7CisgICAgICAgICAgICAgICAgICAgIG5ld0xvZ2lj
YWxMYXlvdXRPdmVyZmxvd1JlY3Quc2V0WChtYXJrZXJMb2dpY2FsTGVmdCk7CisgICAgICAgICAg
ICAgICAgICAgIG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3Quc2V0V2lkdGgoYm94LT5sb2dp
Y2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIC0gbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC54
KCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCiAgICAgICAgICAgICAg
ICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGJveC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKG5ld0xvZ2ljYWxM
YXlvdXRPdmVyZmxvd1JlY3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QpOworICAgICAg
ICAgICAgICAgIGlmIChib3gtPmJveE1vZGVsT2JqZWN0KCktPmhhc1NlbGZQYWludGluZ0xheWVy
KCkpCisgICAgICAgICAgICAgICAgICAgIGhpdFNlbGZQYWludGluZ0xheWVyID0gdHJ1ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxM
ZWZ0ID0gbV9tYXJrZXItPmxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nU3RhcnQoKSArIGJvcmRlclN0
YXJ0KCkgKyBtX21hcmtlci0+bWFyZ2luRW5kKCk7CkBAIC0yNzgsMTEgKzI5NSwyMiBAQCB2b2lk
IFJlbmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAgICAgICAgICAgICBtYXJrZXJM
b2dpY2FsTGVmdCA9IHJpZ2h0TGluZU9mZnNldCAtIGxpbmVPZmZzZXQgKyBwYWRkaW5nU3RhcnQo
KSArIGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+bWFyZ2luRW5kKCk7CiAgICAgICAgICAgICBt
X21hcmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24o
bWFya2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVmdCk7CiAgICAgICAgICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPnBh
cmVudCgpOyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAo
bWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdpZHRoKCkgPiBib3gtPmxvZ2lj
YWxSaWdodExheW91dE92ZXJmbG93KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgYm94LT5zZXRJ
bmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhib3gtPmxvZ2ljYWxMZWZ0TGF5b3V0T3Zl
cmZsb3coKSwgbWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdpZHRoKCksIGJv
eC0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gtPmxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbFZpc3VhbE92ZXJm
bG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAg
ICAgIEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbExh
eW91dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVm
dCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1Jl
Y3QucmlnaHQoKSAmJiAhaGl0U2VsZlBhaW50aW5nTGF5ZXIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0aChtYXJrZXJMb2dpY2FsTGVm
dCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSAtIGJveC0+bG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQogICAgICAgICAg
ICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNh
bFdpZHRoKCkgPiBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnJpZ2h0KCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC5zZXRXaWR0aChtYXJr
ZXJMb2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSAtIGJveC0+bG9naWNhbExl
ZnRMYXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290
KQorICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBib3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxS
ZWN0cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZs
b3dSZWN0KTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoYm94LT5ib3hN
b2RlbE9iamVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgICAg
ICBoaXRTZWxmUGFpbnRpbmdMYXllciA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IApAQCAtMjkxLDEyICszMTksMjQgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25MaXN0
TWFya2VyKAogICAgICAgICAgICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpKQogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QgPSBtYXJrZXJSZWN0LnRyYW5zcG9zZWRS
ZWN0KCk7CiAgICAgICAgICAgICBSZW5kZXJCb3gqIG8gPSBtX21hcmtlcjsKKyAgICAgICAgICAg
IGJvb2wgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAgYm9vbCBw
cm9wYWdhdGVMYXlvdXRPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAg
ICAgICAgICAgbyA9IG8tPnBhcmVudEJveCgpOwotICAgICAgICAgICAgICAgIGlmIChvLT5pc1Jl
bmRlckJsb2NrKCkpCi0gICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZExh
eW91dE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNPdmVy
Zmxvd0NsaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aXNSZW5kZXJCbG9jaygpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdykKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZFZpc3VhbE92ZXJmbG93KG1hcmtlclJl
Y3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpCisg
ICAgICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlvdXRPdmVyZmxv
dyhtYXJrZXJSZWN0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG8t
Pmhhc092ZXJmbG93Q2xpcCgpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVMYXlvdXRP
dmVyZmxvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNTZWxmUGFpbnRpbmdM
YXllcigpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyA9IGZh
bHNlOwogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QubW92ZSgtby0+eCgpLCAtby0+eSgpKTsK
LSAgICAgICAgICAgIH0gd2hpbGUgKG8gIT0gdGhpcyAmJiAhby0+aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSk7CisgICAgICAgICAgICB9IHdoaWxlIChvICE9IHRoaXMgJiYgcHJvcGFnYXRlVmlzdWFs
T3ZlcmZsb3cgJiYgcHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICB9CiAgICAgfQog
fQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCShyZXZpc2lvbiA3MzMzNCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTYy
LDEyICs2MiwxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKKyAgICB2b2lkIHBvc2l0aW9uTGlzdE1hcmtl
cigpOwogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJl
c0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAK
KyAgICB2aXJ0dWFsIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKTsKKwogICAgIHZvaWQg
dXBkYXRlTWFya2VyTG9jYXRpb24oKTsKICAgICBpbmxpbmUgaW50IGNhbGNWYWx1ZSgpIGNvbnN0
OwogICAgIHZvaWQgdXBkYXRlVmFsdWVOb3coKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAzLDcgKzExMDMs
NyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgICAgIHJl
dHVybjsKIAogICAgIEludFBvaW50IGJveE9yaWdpbih0eCArIHgoKSwgdHkgKyB5KCkpOwotICAg
IEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVj
dCBvdmVyZmxvd1JlY3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwogICAgIG92ZXJmbG93UmVjdC5t
b3ZlKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkpOwogICAgIG92ZXJmbG93UmVjdC5pbmZs
YXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKIApJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBA
QCBpbnQgUmVuZGVyTWFycXVlZTo6Y29tcHV0ZVBvc2l0aW9uKEVNYXJxCiAgICAgaWYgKGlzSG9y
aXpvbnRhbCgpKSB7CiAgICAgICAgIGJvb2wgbHRyID0gcy0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpOwogICAgICAgICBpbnQgY2xpZW50V2lkdGggPSBib3gtPmNsaWVudFdpZHRoKCk7Ci0gICAg
ICAgIGludCBjb250ZW50V2lkdGggPSBsdHIgPyBib3gtPnJpZ2h0bW9zdFBvc2l0aW9uKHRydWUs
IGZhbHNlKSA6IGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSk7CisgICAgICAgIGlu
dCBjb250ZW50V2lkdGggPSBsdHIgPyBib3gtPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSA6IGJveC0+
bGVmdExheW91dE92ZXJmbG93KCk7CiAgICAgICAgIGlmIChsdHIpCiAgICAgICAgICAgICBjb250
ZW50V2lkdGggKz0gKGJveC0+cGFkZGluZ1JpZ2h0KCkgLSBib3gtPmJvcmRlckxlZnQoKSk7CiAg
ICAgICAgIGVsc2UgewpAQCAtMTM3LDggKzEzNyw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21w
dXRlUG9zaXRpb24oRU1hcnEKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAg
aW50IGNvbnRlbnRIZWlnaHQgPSBib3gtPmxvd2VzdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC0+Ym9yZGVyVG9wKCkgKyBib3gtPnBhZGRp
bmdCb3R0b20oKTsKKyAgICAgICAgaW50IGNvbnRlbnRIZWlnaHQgPSBib3gtPmJvdHRvbUxheW91
dE92ZXJmbG93KCkgLSBib3gtPmJvcmRlclRvcCgpICsgYm94LT5wYWRkaW5nQm90dG9tKCk7CiAg
ICAgICAgIGludCBjbGllbnRIZWlnaHQgPSBib3gtPmNsaWVudEhlaWdodCgpOwogICAgICAgICBp
ZiAoZGlyID09IE1VUCkgewogICAgICAgICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwMCw4MyArNjAw
LDYgQEAgdm9pZCBSZW5kZXJNZWRpYTo6Zm9yd2FyZEV2ZW50KEV2ZW50KiBldgogICAgIH0KIH0K
IAotaW50IFJlbmRlck1lZGlhOjp0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0p
IGNvbnN0Ci17Ci0gICAgaW50IHRvcCA9IFJlbmRlckltYWdlOjp0b3Btb3N0UG9zaXRpb24oaW5j
bHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAg
aWYgKCFtX2NvbnRyb2xzU2hhZG93Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRl
cmVyKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0gICAgCi0gICAgdG9wID0gbWluKHRvcCwgIG1f
Y29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS55
KCkgKyBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRvcG1vc3RQb3NpdGlvbihp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0K
LSAgICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2Vs
ZiAmJiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGludCBi
b3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmlnaHQgPSByaWdodG1vc3RQb3Np
dGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zv
cm0pOwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93
SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVj
dCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQs
IHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5z
Zm9ybVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiB0b3A7Ci19Ci0KLWludCBSZW5kZXJN
ZWRpYTo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBp
bmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAg
aW50IGJvdHRvbSA9IFJlbmRlckltYWdlOjpsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJ
bnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJv
bHNTaGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAg
ICAgcmV0dXJuIGJvdHRvbTsKLSAgICAKLSAgICBib3R0b20gPSBtYXgoYm90dG9tLCAgbV9jb250
cm9sc1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSAr
IG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bG93ZXN0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAg
aWYgKGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYg
bGF5ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0g
dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhj
bHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5z
Zm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCBy
aWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVj
dC5oZWlnaHQoKSArIHRyYW5zZm9ybVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiBib3R0
b207Ci19Ci0KLWludCBSZW5kZXJNZWRpYTo6cmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlU
cmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHJpZ2h0ID0gUmVuZGVySW1hZ2U6OnJpZ2h0bW9z
dFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFu
c2Zvcm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNTaGFk
b3dSb290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gcmlnaHQ7Ci0gICAgCi0gICAgcmln
aHQgPSBtYXgocmlnaHQsIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+dHJhbnNm
b3JtZWRGcmFtZVJlY3QoKS54KCkgKyBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCkt
PnJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwg
YXBwbHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJh
bnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3Jt
KCkpIHsKLSAgICAgICAgaW50IHRvcCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxv
d0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBi
b3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNl
bGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRv
UmVjdChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAg
ICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3Qud2lkdGgoKSArIHRyYW5zZm9ybVJlY3QueCgpOwot
ICAgIH0KLQotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsZWZ0bW9z
dFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYs
IEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBsZWZ0ID0g
UmVuZGVySW1hZ2U6OmxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGlu
Y2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xzU2hhZG93Um9v
dCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiBs
ZWZ0OwotICAgIAotICAgIGxlZnQgPSBtaW4obGVmdCwgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJl
bmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArICBtX2NvbnRyb2xzU2hhZG93
Um9vdC0+cmVuZGVyQm94KCktPmxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJp
b3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYgKGFwcGx5VHJhbnNm
b3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXll
cigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmlnaHRtb3N0UG9zaXRp
b24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3Jt
KTsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdo
dCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2Vs
ZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFw
cGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwg
Ym90dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LngoKTsKLSAgICB9
Ci0KLSAgICByZXR1cm4gbGVmdDsKLX0KLQotCiAvLyBXZSB3YW50IHRoZSB0aW1lbGluZSBzbGlk
ZXIgdG8gYmUgYXQgbGVhc3QgMTAwIHBpeGVscyB3aWRlLgogc3RhdGljIGNvbnN0IGludCBtaW5X
aWR0aFRvRGlzcGxheVRpbWVEaXNwbGF5cyA9IDE2ICsgMTYgKyA0NSArIDEwMCArIDQ1ICsgMTYg
KyAxOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgJKHJldmlzaW9uIDczMzM0KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAkod29ya2luZyBjb3B5KQpAQCAtODUsMTEg
Kzg1LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYSgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAKLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5z
Zm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxvd2VzdFBv
c2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVT
ZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5j
bHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihi
b29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRy
dWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0KICAgICB2b2lk
IGNyZWF0ZUNvbnRyb2xzU2hhZG93Um9vdCgpOwogICAgIHZvaWQgZGVzdHJveUNvbnRyb2xzU2hh
ZG93Um9vdCgpOwogICAgIHZvaWQgY3JlYXRlUGFuZWwoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPdmVyZmxvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNSArMzksMTUgQEAgbmFtZXNwYWNl
IFdlYkNvcmUKIC8vIFRoaXMgb2JqZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0
aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCiBj
bGFzcyBSZW5kZXJPdmVyZmxvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgZGVmYXVsdFJlY3QgPSBJbnRSZWN0KCkpIAot
ICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QueSgpKQotICAgICAgICAs
IG1fYm90dG9tTGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QuYm90dG9tKCkpCi0gICAgICAgICwg
bV9sZWZ0TGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QueCgpKQotICAgICAgICAsIG1fcmlnaHRM
YXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC5yaWdodCgpKQotICAgICAgICAsIG1fdG9wVmlzdWFs
T3ZlcmZsb3coZGVmYXVsdFJlY3QueSgpKQotICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZs
b3coZGVmYXVsdFJlY3QuYm90dG9tKCkpCi0gICAgICAgICwgbV9sZWZ0VmlzdWFsT3ZlcmZsb3co
ZGVmYXVsdFJlY3QueCgpKQotICAgICAgICAsIG1fcmlnaHRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0
UmVjdC5yaWdodCgpKQorICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJl
Y3QsIGNvbnN0IEludFJlY3QmIHZpc3VhbFJlY3QpIAorICAgICAgICA6IG1fdG9wTGF5b3V0T3Zl
cmZsb3cobGF5b3V0UmVjdC55KCkpCisgICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhs
YXlvdXRSZWN0LmJvdHRvbSgpKQorICAgICAgICAsIG1fbGVmdExheW91dE92ZXJmbG93KGxheW91
dFJlY3QueCgpKQorICAgICAgICAsIG1fcmlnaHRMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnJp
Z2h0KCkpCisgICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyh2aXN1YWxSZWN0LnkoKSkKKyAg
ICAgICAgLCBtX2JvdHRvbVZpc3VhbE92ZXJmbG93KHZpc3VhbFJlY3QuYm90dG9tKCkpCisgICAg
ICAgICwgbV9sZWZ0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC54KCkpCisgICAgICAgICwgbV9y
aWdodFZpc3VhbE92ZXJmbG93KHZpc3VhbFJlY3QucmlnaHQoKSkKICAgICB7CiAgICAgfQogICAg
CkBAIC02Myw4ICs2Myw2IEBAIHB1YmxpYzoKICAgICBpbnQgcmlnaHRWaXN1YWxPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fcmlnaHRWaXN1YWxPdmVyZmxvdzsgfQogICAgIEludFJlY3Qgdmlz
dWFsT3ZlcmZsb3dSZWN0KCkgY29uc3Q7CiAKLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1Jl
Y3QoKSBjb25zdDsKLQogICAgIHZvaWQgc2V0VG9wTGF5b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93
KSB7IG1fdG9wTGF5b3V0T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQogICAgIHZvaWQgc2V0Qm90dG9t
TGF5b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBv
dmVyZmxvdzsgfQogICAgIHZvaWQgc2V0TGVmdExheW91dE92ZXJmbG93KGludCBvdmVyZmxvdykg
eyBtX2xlZnRMYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CkBAIC04MCw2ICs3OCw5IEBAIHB1
YmxpYzoKICAgICB2b2lkIGFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKICAgICB2
b2lkIGFkZFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKIAorICAgIHZvaWQgc2V0TGF5
b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgc2V0VmlzdWFsT3ZlcmZsb3co
Y29uc3QgSW50UmVjdCYpOworCiAgICAgdm9pZCByZXNldExheW91dE92ZXJmbG93KGNvbnN0IElu
dFJlY3QmIGRlZmF1bHRSZWN0KTsKIAogcHJpdmF0ZToKQEAgLTEwNCwxMyArMTA1LDYgQEAgaW5s
aW5lIEludFJlY3QgUmVuZGVyT3ZlcmZsb3c6OnZpc3VhbE92ZQogICAgIHJldHVybiBJbnRSZWN0
KG1fbGVmdFZpc3VhbE92ZXJmbG93LCBtX3RvcFZpc3VhbE92ZXJmbG93LCBtX3JpZ2h0VmlzdWFs
T3ZlcmZsb3cgLSBtX2xlZnRWaXN1YWxPdmVyZmxvdywgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyAt
IG1fdG9wVmlzdWFsT3ZlcmZsb3cpOwogfQogCi1pbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxv
dzo6dmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0Ci17Ci0gICAgSW50UmVjdCBjb21iaW5lZFJl
Y3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAgIGNvbWJpbmVkUmVjdC51bml0ZSh2aXN1YWxP
dmVyZmxvd1JlY3QoKSk7Ci0gICAgcmV0dXJuIGNvbWJpbmVkUmVjdDsKLX0KLQogaW5saW5lIHZv
aWQgUmVuZGVyT3ZlcmZsb3c6Om1vdmUoaW50IGR4LCBpbnQgZHkpCiB7CiAgICAgbV90b3BMYXlv
dXRPdmVyZmxvdyArPSBkeTsKQEAgLTE0MCw2ICsxMzQsMjIgQEAgaW5saW5lIHZvaWQgUmVuZGVy
T3ZlcmZsb3c6OmFkZFZpc3VhbE92ZQogICAgIG1fcmlnaHRWaXN1YWxPdmVyZmxvdyA9IHN0ZDo6
bWF4KHJlY3QucmlnaHQoKSwgbV9yaWdodFZpc3VhbE92ZXJmbG93KTsKIH0KIAoraW5saW5lIHZv
aWQgUmVuZGVyT3ZlcmZsb3c6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3Qp
Cit7CisgICAgbV90b3BMYXlvdXRPdmVyZmxvdyA9IHJlY3QueSgpOworICAgIG1fYm90dG9tTGF5
b3V0T3ZlcmZsb3cgPSByZWN0LmJvdHRvbSgpOworICAgIG1fbGVmdExheW91dE92ZXJmbG93ID0g
cmVjdC54KCk7CisgICAgbV9yaWdodExheW91dE92ZXJmbG93ID0gcmVjdC5yaWdodCgpOworfQor
CitpbmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6c2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50
UmVjdCYgcmVjdCkKK3sKKyAgICBtX3RvcFZpc3VhbE92ZXJmbG93ID0gcmVjdC55KCk7CisgICAg
bV9ib3R0b21WaXN1YWxPdmVyZmxvdyA9IHJlY3QuYm90dG9tKCk7CisgICAgbV9sZWZ0VmlzdWFs
T3ZlcmZsb3cgPSByZWN0LngoKTsKKyAgICBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3cgPSByZWN0LnJp
Z2h0KCk7Cit9CisKIGlubGluZSB2b2lkIFJlbmRlck92ZXJmbG93OjpyZXNldExheW91dE92ZXJm
bG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgbV90b3BMYXlvdXRPdmVyZmxvdyA9IHJl
Y3QueSgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAkocmV2aXNpb24g
NzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE3Niw4ICsxNzYsOCBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWlu
dChQYWludEluCiAgICAgaW50IGN1cnJlbnRUWSA9IHR5ICsgeSgpOwogCiAgICAgLy8gRWFybHkg
ZXhpdCBpZiB0aGUgZWxlbWVudCB0b3VjaGVzIHRoZSBlZGdlcy4KLSAgICBpbnQgdG9wID0gY3Vy
cmVudFRZICsgdG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgaW50IGJvdHRvbSA9IGN1cnJlbnRU
WSArIGJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgIGludCB0b3AgPSBjdXJyZW50VFkgKyB0
b3BWaXN1YWxPdmVyZmxvdygpOworICAgIGludCBib3R0b20gPSBjdXJyZW50VFkgKyBib3R0b21W
aXN1YWxPdmVyZmxvdygpOwogICAgIGlmIChpc1NlbGVjdGVkKCkgJiYgbV9pbmxpbmVCb3hXcmFw
cGVyKSB7CiAgICAgICAgIGludCBzZWxUb3AgPSB0eSArIG1faW5saW5lQm94V3JhcHBlci0+cm9v
dCgpLT5zZWxlY3Rpb25Ub3AoKTsKICAgICAgICAgaW50IHNlbEJvdHRvbSA9IHR5ICsgc2VsVG9w
ICsgbV9pbmxpbmVCb3hXcmFwcGVyLT5yb290KCktPnNlbGVjdGlvbkhlaWdodCgpOwpAQCAtMTg2
LDcgKzE4Niw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW4KICAg
ICB9CiAgICAgCiAgICAgaW50IG9zID0gMiAqIG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8u
cGhhc2UpOwotICAgIGlmIChjdXJyZW50VFggKyBsZWZ0VmlzaWJsZU92ZXJmbG93KCkgPj0gcGFp
bnRJbmZvLnJlY3QucmlnaHQoKSArIG9zIHx8IGN1cnJlbnRUWCArIHJpZ2h0VmlzaWJsZU92ZXJm
bG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgpIC0gb3MpCisgICAgaWYgKGN1cnJlbnRUWCArIGxl
ZnRWaXN1YWxPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0KCkgKyBvcyB8fCBjdXJy
ZW50VFggKyByaWdodFZpc3VhbE92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgpIC0gb3Mp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAodG9wID49IHBhaW50SW5mby5yZWN0LmJv
dHRvbSgpICsgb3MgfHwgYm90dG9tIDw9IHBhaW50SW5mby5yZWN0LnkoKSAtIG9zKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0zODksNyArMzg5LDcgQEAgSW50UmVjdCBSZW5kZXJSZXBsYWNl
ZDo6Y2xpcHBlZE92ZXJmbG93UgogCiAgICAgLy8gVGhlIHNlbGVjdGlvblJlY3QgY2FuIHByb2pl
Y3Qgb3V0c2lkZSBvZiB0aGUgb3ZlcmZsb3dSZWN0LCBzbyB0YWtlIHRoZWlyIHVuaW9uCiAgICAg
Ly8gZm9yIHJlcGFpbnRpbmcgdG8gYXZvaWQgc2VsZWN0aW9uIHBhaW50aW5nIGdsaXRjaGVzLgot
ICAgIEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXNp
YmxlT3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVj
dGlvblJlY3QoZmFsc2UpLCB2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAKICAgICBSZW5kZXJWaWV3
KiB2ID0gdmlldygpOwogICAgIGlmICh2KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSdWJ5UnVuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5
UnVuLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5
UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDcgKzI3OCw3IEBAIHZvaWQgUmVuZGVyUnVi
eVJ1bjo6bGF5b3V0KCkKIAogICAgIC8vIFVwZGF0ZSBvdXIgb3ZlcmZsb3cgdG8gYWNjb3VudCBm
b3IgdGhlIG5ldyBSZW5kZXJSdWJ5VGV4dCBwb3NpdGlvbi4KICAgICBtX292ZXJmbG93LmNsZWFy
KCk7Ci0gICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOworICAgIGNvbXB1dGVPdmVy
ZmxvdyhjbGllbnRMb2dpY2FsQm90dG9tKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU3LDcg
KzM1Nyw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgd2hpbGUgKHNlY3Rpb24p
IHsKICAgICAgICAgaWYgKCFzZWN0aW9uTW92ZWQgJiYgc2VjdGlvbi0+bG9naWNhbFRvcCgpICE9
IGxvZ2ljYWxIZWlnaHQoKSkgewogICAgICAgICAgICAgc2VjdGlvbk1vdmVkID0gdHJ1ZTsKLSAg
ICAgICAgICAgIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AgPSBtaW4obG9naWNhbEhlaWdodCgpLCBz
ZWN0aW9uLT5sb2dpY2FsVG9wKCkpICsgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBzZWN0aW9uLT50b3BWaXNpYmxlT3ZlcmZsb3coKSA6IHNlY3Rpb24tPmxlZnRWaXNpYmxl
T3ZlcmZsb3coKSk7CisgICAgICAgICAgICBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wID0gbWluKGxv
Z2ljYWxIZWlnaHQoKSwgc2VjdGlvbi0+bG9naWNhbFRvcCgpKSArIChzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gc2VjdGlvbi0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IHNlY3Rp
b24tPmxlZnRWaXN1YWxPdmVyZmxvdygpKTsKICAgICAgICAgfQogICAgICAgICBzZWN0aW9uLT5z
ZXRMb2dpY2FsTG9jYXRpb24oc2VjdGlvbkxvZ2ljYWxMZWZ0LCBsb2dpY2FsSGVpZ2h0KCkpOwog
CkBAIC0zODYsMjcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAKICAgICB1
cGRhdGVMYXllclRyYW5zZm9ybSgpOwogCi0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gYm9yZGVy
cy4KLSAgICBpbnQgcmlnaHRCb3JkZXJPdmVyZmxvdyA9IHdpZHRoKCkgKyAoY29sbGFwc2luZyA/
IG91dGVyQm9yZGVyUmlnaHQoKSAtIGJvcmRlclJpZ2h0KCkgOiAwKTsKLSAgICBpbnQgbGVmdEJv
cmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlckxlZnQoKSAtIG91dGVyQm9yZGVyTGVm
dCgpIDogMDsKLSAgICBpbnQgYm90dG9tQm9yZGVyT3ZlcmZsb3cgPSBoZWlnaHQoKSArIChjb2xs
YXBzaW5nID8gb3V0ZXJCb3JkZXJCb3R0b20oKSAtIGJvcmRlckJvdHRvbSgpIDogMCk7Ci0gICAg
aW50IHRvcEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlclRvcCgpIC0gb3V0ZXJC
b3JkZXJUb3AoKSA6IDA7Ci0gICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50UmVjdChsZWZ0Qm9yZGVy
T3ZlcmZsb3csIHRvcEJvcmRlck92ZXJmbG93LCByaWdodEJvcmRlck92ZXJmbG93IC0gbGVmdEJv
cmRlck92ZXJmbG93LCBib3R0b21Cb3JkZXJPdmVyZmxvdyAtIHRvcEJvcmRlck92ZXJmbG93KSk7
Ci0gICAgCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFkb3cgYW5kIHJl
ZmxlY3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93KCk7Ci0gICAgCi0gICAgLy8gQWRkIG92
ZXJmbG93IGZyb20gb3VyIGNhcHRpb24uCi0gICAgaWYgKG1fY2FwdGlvbikKLSAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tQ2hpbGQobV9jYXB0aW9uKTsKLQotICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9t
IG91ciBzZWN0aW9ucy4KLSAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxk
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGlmIChj
aGlsZC0+aXNUYWJsZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9u
KiBzZWN0aW9uID0gdG9SZW5kZXJUYWJsZVNlY3Rpb24oY2hpbGQpOwotICAgICAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tQ2hpbGQoc2VjdGlvbik7Ci0gICAgICAgIH0KLSAgICB9CisgICAgY29tcHV0
ZU92ZXJmbG93KGNsaWVudExvZ2ljYWxCb3R0b20oKSk7CiAKICAgICBzdGF0ZVB1c2hlci5wb3Ao
KTsKIApAQCAtNDE3LDE0ICszOTcsNDQgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAg
ICAvLyBSZXBhaW50IHdpdGggb3VyIG5ldyBib3VuZHMgaWYgdGhleSBhcmUgZGlmZmVyZW50IGZy
b20gb3VyIG9sZCBib3VuZHMuCiAgICAgaWYgKCFkaWRGdWxsUmVwYWludCAmJiBzZWN0aW9uTW92
ZWQpIHsKICAgICAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0g
ICAgICAgICAgICByZXBhaW50UmVjdGFuZ2xlKEludFJlY3QobGVmdFZpc2libGVPdmVyZmxvdygp
LCBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCByaWdodFZpc2libGVPdmVyZmxvdygpIC0gbGVmdFZp
c2libGVPdmVyZmxvdygpLCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIG1vdmVkU2VjdGlvbkxv
Z2ljYWxUb3ApKTsKKyAgICAgICAgICAgIHJlcGFpbnRSZWN0YW5nbGUoSW50UmVjdChsZWZ0Vmlz
dWFsT3ZlcmZsb3coKSwgbW92ZWRTZWN0aW9uTG9naWNhbFRvcCwgcmlnaHRWaXN1YWxPdmVyZmxv
dygpIC0gbGVmdFZpc3VhbE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSBtb3Zl
ZFNlY3Rpb25Mb2dpY2FsVG9wKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlcGFpbnRS
ZWN0YW5nbGUoSW50UmVjdChtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCB0b3BWaXNpYmxlT3ZlcmZs
b3coKSwgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSAtIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AsIGJv
dHRvbVZpc2libGVPdmVyZmxvdygpIC0gdG9wVmlzaWJsZU92ZXJmbG93KCkpKTsKKyAgICAgICAg
ICAgIHJlcGFpbnRSZWN0YW5nbGUoSW50UmVjdChtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCB0b3BW
aXN1YWxPdmVyZmxvdygpLCByaWdodFZpc3VhbE92ZXJmbG93KCkgLSBtb3ZlZFNlY3Rpb25Mb2dp
Y2FsVG9wLCBib3R0b21WaXN1YWxPdmVyZmxvdygpIC0gdG9wVmlzdWFsT3ZlcmZsb3coKSkpOwog
ICAgIH0KIAogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAordm9pZCBSZW5kZXJUYWJs
ZTo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKQoreworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9t
IGJvcmRlcnMuCisgICAgLy8gVGVjaG5pY2FsbHkgaXQncyBvZGQgdGhhdCB3ZSBhcmUgaW5jb3Jw
b3JhdGluZyB0aGUgYm9yZGVycyBpbnRvIGxheW91dCBvdmVyZmxvdywgd2hpY2ggaXMgb25seSBz
dXBwb3NlZCB0byBiZSBhYm91dCBvdmVyZmxvdyBmcm9tIG91cgorICAgIC8vIGRlc2NlbmRhbnQg
b2JqZWN0cywgYnV0IHNpbmNlIHRhYmxlcyBkb24ndCBzdXBwb3J0IG92ZXJmbG93OmF1dG8sIHRo
aXMgd29ya3Mgb3V0IGZpbmUuCisgICAgaWYgKGNvbGxhcHNlQm9yZGVycygpKSB7CisgICAgICAg
IGludCByaWdodEJvcmRlck92ZXJmbG93ID0gd2lkdGgoKSArIG91dGVyQm9yZGVyUmlnaHQoKSAt
IGJvcmRlclJpZ2h0KCk7CisgICAgICAgIGludCBsZWZ0Qm9yZGVyT3ZlcmZsb3cgPSBib3JkZXJM
ZWZ0KCkgLSBvdXRlckJvcmRlckxlZnQoKTsKKyAgICAgICAgaW50IGJvdHRvbUJvcmRlck92ZXJm
bG93ID0gaGVpZ2h0KCkgKyBvdXRlckJvcmRlckJvdHRvbSgpIC0gYm9yZGVyQm90dG9tKCk7Cisg
ICAgICAgIGludCB0b3BCb3JkZXJPdmVyZmxvdyA9IGJvcmRlclRvcCgpIC0gb3V0ZXJCb3JkZXJU
b3AoKTsKKyAgICAgICAgSW50UmVjdCBib3JkZXJPdmVyZmxvd1JlY3QobGVmdEJvcmRlck92ZXJm
bG93LCB0b3BCb3JkZXJPdmVyZmxvdywgcmlnaHRCb3JkZXJPdmVyZmxvdyAtIGxlZnRCb3JkZXJP
dmVyZmxvdywgYm90dG9tQm9yZGVyT3ZlcmZsb3cgLSB0b3BCb3JkZXJPdmVyZmxvdyk7CisgICAg
ICAgIGlmIChib3JkZXJPdmVyZmxvd1JlY3QgIT0gYm9yZGVyQm94UmVjdCgpKSB7CisgICAgICAg
ICAgICBhZGRMYXlvdXRPdmVyZmxvdyhib3JkZXJPdmVyZmxvd1JlY3QpOworICAgICAgICAgICAg
YWRkVmlzdWFsT3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIG91ciBjYXB0aW9uLgorICAgIGlmIChtX2NhcHRp
b24pCisgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKG1fY2FwdGlvbik7CisKKyAgICAvLyBB
ZGQgb3ZlcmZsb3cgZnJvbSBvdXIgc2VjdGlvbnMuCisgICAgZm9yIChSZW5kZXJPYmplY3QqIGNo
aWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkg
eworICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9uKCkpIHsKKyAgICAgICAgICAgIFJl
bmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbiA9IHRvUmVuZGVyVGFibGVTZWN0aW9uKGNoaWxkKTsK
KyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHNlY3Rpb24pOworICAgICAgICB9Cisg
ICAgfQorfQorCiB2b2lkIFJlbmRlclRhYmxlOjpzZXRDZWxsTG9naWNhbFdpZHRocygpCiB7CiAg
ICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewpAQCAtNDQxLDkgKzQ1MSw5IEBAIHZvaWQgUmVuZGVy
VGFibGU6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2Ug
PSBwYWludEluZm8ucGhhc2U7CiAKICAgICBpbnQgb3MgPSAyICogbWF4aW1hbE91dGxpbmVTaXpl
KHBhaW50UGhhc2UpOwotICAgIGlmICh0eSArIHRvcFZpc2libGVPdmVyZmxvdygpID49IHBhaW50
SW5mby5yZWN0LmJvdHRvbSgpICsgb3MgfHwgdHkgKyBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSA8
PSBwYWludEluZm8ucmVjdC55KCkgLSBvcykKKyAgICBpZiAodHkgKyB0b3BWaXN1YWxPdmVyZmxv
dygpID49IHBhaW50SW5mby5yZWN0LmJvdHRvbSgpICsgb3MgfHwgdHkgKyBib3R0b21WaXN1YWxP
dmVyZmxvdygpIDw9IHBhaW50SW5mby5yZWN0LnkoKSAtIG9zKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKHR4ICsgbGVmdFZpc2libGVPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0
KCkgKyBvcyB8fCB0eCArIHJpZ2h0VmlzaWJsZU92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3Qu
eCgpIC0gb3MpCisgICAgaWYgKHR4ICsgbGVmdFZpc3VhbE92ZXJmbG93KCkgPj0gcGFpbnRJbmZv
LnJlY3QucmlnaHQoKSArIG9zIHx8IHR4ICsgcmlnaHRWaXN1YWxPdmVyZmxvdygpIDw9IHBhaW50
SW5mby5yZWN0LngoKSAtIG9zKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHB1c2hlZENs
aXAgPSBwdXNoQ29udGVudHNDbGlwKHBhaW50SW5mbywgdHgsIHR5KTsgICAgCkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6
CiAKICAgICB2aXJ0dWFsIEludFJlY3Qgb3ZlcmZsb3dDbGlwUmVjdChpbnQgdHgsIGludCB0eSk7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKTsKKwogICAgIHZv
aWQgc3VidHJhY3RDYXB0aW9uUmVjdChJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIHJlY2Fs
Y1NlY3Rpb25zKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5j
cHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDkgKzI2Niw5IEBAIEludFJlY3QgUmVuZGVyVGFi
bGVDZWxsOjpjbGlwcGVkT3ZlcmZsb3cKICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBi
ZWxvdy0+Ym9yZGVySGFsZlJpZ2h0KHRydWUpKTsKICAgICAgICAgfQogICAgIH0KLSAgICBsZWZ0
ID0gbWF4KGxlZnQsIC1sZWZ0VmlzaWJsZU92ZXJmbG93KCkpOwotICAgIHRvcCA9IG1heCh0b3As
IC10b3BWaXNpYmxlT3ZlcmZsb3coKSk7Ci0gICAgSW50UmVjdCByKC1sZWZ0LCAtIHRvcCwgbGVm
dCArIG1heCh3aWR0aCgpICsgcmlnaHQsIHJpZ2h0VmlzaWJsZU92ZXJmbG93KCkpLCB0b3AgKyBt
YXgoaGVpZ2h0KCkgKyBib3R0b20sIGJvdHRvbVZpc2libGVPdmVyZmxvdygpKSk7CisgICAgbGVm
dCA9IG1heChsZWZ0LCAtbGVmdFZpc3VhbE92ZXJmbG93KCkpOworICAgIHRvcCA9IG1heCh0b3As
IC10b3BWaXN1YWxPdmVyZmxvdygpKTsKKyAgICBJbnRSZWN0IHIoLWxlZnQsIC0gdG9wLCBsZWZ0
ICsgbWF4KHdpZHRoKCkgKyByaWdodCwgcmlnaHRWaXN1YWxPdmVyZmxvdygpKSwgdG9wICsgbWF4
KGhlaWdodCgpICsgYm90dG9tLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKSk7CiAKICAgICBpZiAo
UmVuZGVyVmlldyogdiA9IHZpZXcoKSkgewogICAgICAgICAvLyBGSVhNRTogbGF5b3V0RGVsdGEg
bmVlZHMgdG8gYmUgYXBwbGllZCBpbiBwYXJ0cyBiZWZvcmUvYWZ0ZXIgdHJhbnNmb3JtcyBhbmQK
QEAgLTEwMzMsNCArMTAzMywyOCBAQCB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6cGFpbnRNYXNrKFBh
aW50SW5mCiAgICAgcGFpbnRNYXNrSW1hZ2VzKHBhaW50SW5mbywgdHgsIHR5LCB3LCBoKTsKIH0K
IAordm9pZCBSZW5kZXJUYWJsZUNlbGw6OnNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgaG9yaXpvbnRh
bFNjcm9sbGJhckNoYW5nZWQsIGJvb2wgdmVydGljYWxTY3JvbGxiYXJDaGFuZ2VkKQoreworICAg
IGludCBzY3JvbGxiYXJIZWlnaHQgPSBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CisgICAgaWYg
KCFzY3JvbGxiYXJIZWlnaHQpCisgICAgICAgIHJldHVybjsgLy8gTm90IHN1cmUgaWYgd2Ugc2hv
dWxkIGJlIGRvaW5nIHNvbWV0aGluZyB3aGVuIGEgc2Nyb2xsYmFyIGdvZXMgYXdheSBvciBub3Qu
CisgICAgCisgICAgLy8gV2Ugb25seSBjYXJlIGlmIHRoZSBzY3JvbGxiYXIgdGhhdCBhZmZlY3Rz
IG91ciBpbnRyaW5zaWMgcGFkZGluZyBoYXMgYmVlbiBhZGRlZC4KKyAgICBpZiAoKHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgIWhvcml6b250YWxTY3JvbGxiYXJDaGFuZ2Vk
KSB8fAorICAgICAgICAoIXN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgIXZl
cnRpY2FsU2Nyb2xsYmFyQ2hhbmdlZCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFNocmlu
ayBvdXIgaW50cmluc2ljIHBhZGRpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byBhY2NvbW1vZGF0
ZSB0aGUgc2Nyb2xsYmFyLgorICAgIGlmIChzdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgPT0gTUlE
RExFKSB7CisgICAgICAgIGludCB0b3RhbEhlaWdodCA9IGxvZ2ljYWxIZWlnaHQoKTsKKyAgICAg
ICAgaW50IGhlaWdodFdpdGhvdXRJbnRyaW5zaWNQYWRkaW5nID0gdG90YWxIZWlnaHQgLSBpbnRy
aW5zaWNQYWRkaW5nQmVmb3JlKCkgLSBpbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKTsKKyAgICAgICAg
dG90YWxIZWlnaHQgLT0gc2Nyb2xsYmFySGVpZ2h0OworICAgICAgICBpbnQgbmV3QmVmb3JlUGFk
ZGluZyA9ICh0b3RhbEhlaWdodCAtIGhlaWdodFdpdGhvdXRJbnRyaW5zaWNQYWRkaW5nKSAvIDI7
CisgICAgICAgIGludCBuZXdBZnRlclBhZGRpbmcgPSB0b3RhbEhlaWdodCAtIGhlaWdodFdpdGhv
dXRJbnRyaW5zaWNQYWRkaW5nIC0gbmV3QmVmb3JlUGFkZGluZzsKKyAgICAgICAgc2V0SW50cmlu
c2ljUGFkZGluZ0JlZm9yZShuZXdCZWZvcmVQYWRkaW5nKTsKKyAgICAgICAgc2V0SW50cmluc2lj
UGFkZGluZ0FmdGVyKG5ld0FmdGVyUGFkZGluZyk7CisgICAgfSBlbHNlCisgICAgICAgIHNldElu
dHJpbnNpY1BhZGRpbmdBZnRlcihpbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKSAtIHNjcm9sbGJhckhl
aWdodCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlQ2VsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDkgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIHNldE92ZXJyaWRlU2l6ZShpbnQpOwogCi0gICAgYm9vbCBo
YXNWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93OyB9CisgICAgYm9v
bCBoYXNWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgJiYgIWJvcmRl
ckJveFJlY3QoKS5jb250YWlucyhtX292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSk7IH0K
KworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxiYXJzQ2hhbmdlZChib29sIGhvcml6b250YWxTY3Jv
bGxiYXJDaGFuZ2VkLCBib29sIHZlcnRpY2FsU2Nyb2xsYmFyQ2hhbmdlZCk7CiAKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTQsNyArNjU0LDcgQEAg
aW50IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyhpbnQgdAogICAgICAgICAgICAgaWYg
KHIgPCB0b3RhbFJvd3MgLSAxICYmIGNlbGwgPT0gcHJpbWFyeUNlbGxBdChyICsgMSwgYykpCiAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGls
ZChjZWxsKTsKLSAgICAgICAgICAgIG1faGFzT3ZlcmZsb3dpbmdDZWxsIHw9IGNlbGwtPmhhc1Zp
c2libGVPdmVyZmxvdygpOworICAgICAgICAgICAgbV9oYXNPdmVyZmxvd2luZ0NlbGwgfD0gY2Vs
bC0+aGFzVmlzdWFsT3ZlcmZsb3coKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNjYyLDc4ICs2
NjIsNiBAQCBpbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKGludCB0CiAgICAgcmV0
dXJuIGhlaWdodCgpOwogfQogCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjp0b3Btb3N0UG9zaXRp
b24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlU
cmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHRvcCA9IFJlbmRlckJv
eDo6dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwg
YXBwbHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFz
T3ZlcmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0KLSAgICBmb3IgKFJlbmRlck9i
amVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGN1cnIt
PmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwg
PSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICB0b3AgPSBtaW4odG9w
LCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNlbGwtPnRvcG1vc3RQb3NpdGlv
bihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHJl
dHVybiB0b3A7Ci19Ci0KLWludCBSZW5kZXJUYWJsZVNlY3Rpb246Omxvd2VzdFBvc2l0aW9uKGJv
b2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNm
b3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBib3R0b20gPSBSZW5kZXJCb3g6
Omxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBw
bHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3Zl
cmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBib3R0b207Ci0KLSAgICBmb3IgKFJlbmRlck9i
amVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGN1cnIt
PmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwg
PSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgo
Ym90dG9tLCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNlbGwtPmxvd2VzdFBv
c2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0g
ICAgcmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6cmlnaHRtb3N0
UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwg
QXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHJpZ2h0ID0g
UmVuZGVyQm94OjpyaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5j
bHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gcmlnaHQ7Ci0KLSAgICBm
b3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4
dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmly
c3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAg
ICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICBy
aWdodCA9IG1heChyaWdodCwgY2VsbC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjZWxs
LT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlv
bjo6bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGlu
Y2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBp
bnQgbGVmdCA9IFJlbmRlckJveDo6bGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIWluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gbGVmdDsK
LSAgICAKLSAgICBmb3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJv
dyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3Vy
ciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkg
ewotICAgICAgICAgICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAg
ICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCku
eCgpICsgY2VsbC0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgfQotICAgIAotICAgIHJldHVybiBsZWZ0OwotfQotCiBpbnQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdAogewogICAgIGludCB0b3Rh
bENvbHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDExICsxMzYsNiBAQCBw
cml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCogb2xk
Q2hpbGQpOwogCi0gICAgdmlydHVhbCBpbnQgdG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVk
ZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0g
PSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBs
eVRyYW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxl
ZnRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRl
U2VsZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLQogICAgIHZp
cnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVh
bCB2b2lkIHBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqLCBQYWludEluZm8mLCBpbnQgdHgsIGlu
dCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZp
c2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MTYsOCArNjE2LDE3IEBAIHN0YXRpYyB2b2lkIHdyaXRlKFRleHRT
dHJlYW0mIHRzLCBSZW5kZXIKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVh
bSYgdHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWVyKiBsLAotICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0eVJlY3QsIGludCBp
bmRlbnQsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQorICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBpbnQgaW5kZW50LCBSZW5kZXJBc1RleHRC
ZWhhdmlvciBiZWhhdmlvcikKIHsKKyAgICAvLyBGSVhNRTogQXBwbHkgb3ZlcmZsb3cgdG8gdGhl
IHJvb3QgbGF5ZXIgdG8gbm90IGJyZWFrIGV2ZXJ5IHRlc3QuICBDb21wbGV0ZSBoYWNrLiAgU2ln
aC4KKyAgICBJbnRSZWN0IHBhaW50RGlydHlSZWN0KHBhaW50UmVjdCk7CisgICAgaWYgKHJvb3RM
YXllciA9PSBsKSB7CisgICAgICAgIHBhaW50RGlydHlSZWN0LnNldFdpZHRoKG1heChwYWludERp
cnR5UmVjdC53aWR0aCgpLCByb290TGF5ZXItPnJlbmRlckJveCgpLT5yaWdodExheW91dE92ZXJm
bG93KCkpKTsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0SGVpZ2h0KG1heChwYWludERpcnR5
UmVjdC5oZWlnaHQoKSwgcm9vdExheWVyLT5yZW5kZXJCb3goKS0+Ym90dG9tTGF5b3V0T3ZlcmZs
b3coKSkpOworICAgICAgICBsLT5zZXRXaWR0aChtYXgobC0+d2lkdGgoKSwgbC0+cmVuZGVyQm94
KCktPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBsLT5zZXRIZWlnaHQobWF4KGwt
PmhlaWdodCgpLCBsLT5yZW5kZXJCb3goKS0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSkpOworICAg
IH0KKyAgICAKICAgICAvLyBDYWxjdWxhdGUgdGhlIGNsaXAgcmVjdHMgd2Ugc2hvdWxkIHVzZS4K
ICAgICBJbnRSZWN0IGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91
dGxpbmVSZWN0OwogICAgIGwtPmNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwgcGFpbnREaXJ0eVJl
Y3QsIGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxpbmVSZWN0
LCB0cnVlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiA3MzMzNCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjksMTIgKzEyOSw2IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAgICBpZiAobmVlZHNM
YXlvdXQoKSkKICAgICAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgpOwogCi0gICAgLy8gUmVzZXQg
b3ZlcmZsb3cgYW5kIHRoZW4gcmVwbGFjZSBpdCB3aXRoIGRvY1dpZHRoIGFuZCBkb2NIZWlnaHQu
Ci0gICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgIGludCBsZWZ0T3ZlcmZsb3cgPSBkb2NMZWZ0
KCk7Ci0gICAgaW50IHRvcE92ZXJmbG93ID0gZG9jVG9wKCk7Ci0gICAgYWRkTGF5b3V0T3ZlcmZs
b3coSW50UmVjdChsZWZ0T3ZlcmZsb3csIHRvcE92ZXJmbG93LCBkb2NXaWR0aChsZWZ0T3ZlcmZs
b3cpLCBkb2NIZWlnaHQodG9wT3ZlcmZsb3cpKSk7Ci0KICAgICBBU1NFUlQobGF5b3V0RGVsdGEo
KSA9PSBJbnRTaXplKCkpOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50ID09
IDApOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlID09ICZzdGF0ZSk7CkBAIC02MjAsNTAgKzYx
NCwzMCBAQCBJbnRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QKIAogaW50IFJlbmRl
clZpZXc6OmRvY1RvcCgpIGNvbnN0CiB7Ci0gICAgLy8gQ2xpcCBvdXQgdG9wIG92ZXJmbG93IGlu
IHZlcnRpY2FsIExUUiBwYWdlcyBvciBob3Jpem9udGFsLXRiIHBhZ2VzLgotICAgIGlmICgoIXN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKSB8fCBzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFRvcFRvQm90dG9tV3Jp
dGluZ01vZGUpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzdGQ6Om1pbigwLCB0b3Bt
b3N0UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoMCwgdG9wTGF5b3V0T3Zl
cmZsb3coKSwgMCwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIHRvcExheW91dE92ZXJmbG93KCkp
OworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVy
Zmxvd1JlY3QueSgpOwogfQogCi1pbnQgUmVuZGVyVmlldzo6ZG9jSGVpZ2h0KGludCB0b3BPdmVy
ZmxvdykgY29uc3QKK2ludCBSZW5kZXJWaWV3Ojpkb2NCb3R0b20oKSBjb25zdAogewotICAgIGlu
dCBoID0gKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gVG9w
VG9Cb3R0b21Xcml0aW5nTW9kZSkgPwotICAgICAgICAgICAgICAgIGxvd2VzdFBvc2l0aW9uKCkg
OiBoZWlnaHQoKSAtIHRvcE92ZXJmbG93OwotCi0gICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBk
byBhbnkgbWFyZ2luIGNvbGxhcHNpbmcuCi0gICAgLy8gSW5zdGVhZCBvZiB0aGlzIGRoIGNvbXB1
dGF0aW9uIHdlIHNob3VsZCBrZWVwIHRoZSByZXN1bHQKLSAgICAvLyB3aGVuIHdlIGNhbGwgUmVu
ZGVyQmxvY2s6OmxheW91dC4KLSAgICBpbnQgZGggPSAwOwotICAgIGZvciAoUmVuZGVyQm94KiBj
ID0gZmlyc3RDaGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3goKSkKLSAgICAgICAg
ZGggKz0gYy0+aGVpZ2h0KCkgKyBjLT5tYXJnaW5Ub3AoKSArIGMtPm1hcmdpbkJvdHRvbSgpOwot
Ci0gICAgaWYgKGRoID4gaCkKLSAgICAgICAgaCA9IGRoOwotCi0gICAgcmV0dXJuIGg7CisgICAg
SW50UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JX
cml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QuYm90dG9t
KCk7CiB9CiAKIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKIHsKLSAgICAvLyBDbGlw
IG91dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6b250YWwgTFRSIHBhZ2VzIG9yIHZlcnRpY2FsLWxy
IHBhZ2VzLgotICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBz
dHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2Rl
KCkgPT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0
dXJuIHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxv
d1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVy
Zmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwogfQogCi1pbnQgUmVuZGVy
Vmlldzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29uc3QKK2ludCBSZW5kZXJWaWV3Ojpk
b2NSaWdodCgpIGNvbnN0CiB7Ci0gICAgaW50IHcgPSAoKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB8fCBzdHls
ZSgpLT53cml0aW5nTW9kZSgpID09IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUpID8gCi0gICAgICAg
ICAgICAgICAgcmlnaHRtb3N0UG9zaXRpb24oKSA6IHdpZHRoKCkgLSBsZWZ0T3ZlcmZsb3c7Ci0K
LSAgICBmb3IgKFJlbmRlckJveCogYyA9IGZpcnN0Q2hpbGRCb3goKTsgYzsgYyA9IGMtPm5leHRT
aWJsaW5nQm94KCkpIHsKLSAgICAgICAgaW50IGR3ID0gYy0+d2lkdGgoKSArIGMtPm1hcmdpbkxl
ZnQoKSArIGMtPm1hcmdpblJpZ2h0KCk7Ci0gICAgICAgIGlmIChkdyA+IHcpCi0gICAgICAgICAg
ICB3ID0gZHc7Ci0gICAgfQotCi0gICAgcmV0dXJuIHc7CisgICAgSW50UmVjdCBvdmVyZmxvd1Jl
Y3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxv
d1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QucmlnaHQoKTsKIH0KIAogaW50IFJlbmRl
clZpZXc6OnZpZXdIZWlnaHQoKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAkocmV2
aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2Niw2ICsxNjYsMTMgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc0NvbXBvc2l0
aW5nKCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIGludCBkb2NUb3AoKSBjb25zdDsKKyAgICBpbnQg
ZG9jQm90dG9tKCkgY29uc3Q7CisgICAgaW50IGRvY0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGRv
Y0JvdHRvbSgpIC0gZG9jVG9wKCk7IH0KKyAgICBpbnQgZG9jTGVmdCgpIGNvbnN0OworICAgIGlu
dCBkb2NSaWdodCgpIGNvbnN0OworICAgIGludCBkb2NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGRv
Y1JpZ2h0KCkgLSBkb2NMZWZ0KCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBt
YXBMb2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVy
LCBib29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7
CiAgICAgdmlydHVhbCB2b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KGJvb2wgZml4ZWQsIGJv
b2wgdXNlVHJhbnNmb3JtcywgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKQEAgLTE3MywxMSArMTgw
LDYgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBib29sIHNob3VsZFJlcGFpbnQoY29uc3Qg
SW50UmVjdCYgcikgY29uc3Q7CiAgICAgCi0gICAgaW50IGRvY1RvcCgpIGNvbnN0OwotICAgIGlu
dCBkb2NIZWlnaHQoaW50IHRvcE92ZXJmbG93KSBjb25zdDsKLSAgICBpbnQgZG9jTGVmdCgpIGNv
bnN0OwotICAgIGludCBkb2NXaWR0aChpbnQgbGVmdE92ZXJmbG93KSBjb25zdDsKLQogICAgIC8v
IFRoZXNlIGZ1bmN0aW9ucyBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBMYXlvdXRTdGF0ZU1haW50
YWluZXIuCiAgICAgYm9vbCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyQm94KiByZW5kZXJlciwgY29u
c3QgSW50U2l6ZSYgb2Zmc2V0LCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCiAgICAgewpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MCw4ICsxNTAs
NyBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OmFkZEhpZ2hsaWdodE92ZXJmbG93CiAgICAgLy8gSGln
aGxpZ2h0IGFjdHMgYXMgYSBzZWxlY3Rpb24gaW5mbGF0aW9uLgogICAgIEZsb2F0UmVjdCByb290
UmVjdCgwLCBzZWxlY3Rpb25Ub3AoKSwgbG9naWNhbFdpZHRoKCksIHNlbGVjdGlvbkhlaWdodCgp
KTsKICAgICBJbnRSZWN0IGluZmxhdGVkUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocGFnZS0+Y2hy
b21lKCktPmNsaWVudCgpLT5jdXN0b21IaWdobGlnaHRSZWN0KHJlbmRlcmVyKCktPm5vZGUoKSwg
cmVuZGVyZXIoKS0+c3R5bGUoKS0+aGlnaGxpZ2h0KCksIHJvb3RSZWN0KSk7Ci0gICAgc2V0SW5s
aW5lRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobGVmdExheW91dE92ZXJmbG93KCksIHJpZ2h0
TGF5b3V0T3ZlcmZsb3coKSwgbWluKGxlZnRWaXN1YWxPdmVyZmxvdygpLCBpbmZsYXRlZFJlY3Qu
eCgpKSwgbWF4KHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LnJpZ2h0KCkpKTsK
LSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRvcExheW91dE92ZXJmbG93
KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCksIG1pbih0b3BWaXN1YWxPdmVyZmxvdygpLCBpbmZs
YXRlZFJlY3QueSgpKSwgbWF4KGJvdHRvbVZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC5i
b3R0b20oKSkpOworICAgIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhpbmZsYXRlZFJlY3Qs
IGluZmxhdGVkUmVjdCk7CiB9CiAKIHZvaWQgUm9vdElubGluZUJveDo6cGFpbnRDdXN0b21IaWdo
bGlnaHQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNT
dHJpbmcmIGhpZ2hsaWdodFR5cGUpCkBAIC0yNTIsNyArMjUxLDYgQEAgaW50IFJvb3RJbmxpbmVC
b3g6OmFsaWduQm94ZXNJbkJsb2NrRGlyZQogICAgIGJvb2wgY29udGFpbnNSdWJ5ID0gZmFsc2U7
CiAgICAgcGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24oaGVpZ2h0T2ZCbG9jaywgbWF4SGVpZ2h0
LCBtYXhBc2NlbnQsIG5vUXVpcmtzTW9kZSwgbGluZVRvcCwgbGluZUJvdHRvbSwgc2V0TGluZVRv
cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lVG9wSW5jbHVkaW5nTWFyZ2lu
cywgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGNvbnRhaW5zUnVieSwgbV9iYXNlbGluZVR5
cGUpOwotICAgIGNvbXB1dGVCbG9ja0RpcmVjdGlvbk92ZXJmbG93KGxpbmVUb3AsIGxpbmVCb3R0
b20sIG5vUXVpcmtzTW9kZSwgdGV4dEJveERhdGFNYXApOwogICAgIHNldExpbmVUb3BCb3R0b21Q
b3NpdGlvbnMobGluZVRvcCwgbGluZUJvdHRvbSk7CiAKICAgICBtX2NvbnRhaW5zUnVieSA9IGNv
bnRhaW5zUnVieTsKQEAgLTUwOSw0ICs1MDcsMjUgQEAgdm9pZCBSb290SW5saW5lQm94OjphdHRh
Y2hMaW5lQm94VG9SZW5kZQogICAgIGJsb2NrKCktPmxpbmVCb3hlcygpLT5hdHRhY2hMaW5lQm94
KHRoaXMpOwogfQogCitJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93
UmVjdChpbnQgZW5kUGFkZGluZykgY29uc3QKK3sKKyAgICBJbnRSZWN0IGxpbmVMYXlvdXRPdmVy
ZmxvdyA9IGxheW91dE92ZXJmbG93UmVjdCgpOworICAgIGlmICghZW5kUGFkZGluZykKKyAgICAg
ICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKKyAgICAKKyAgICBpZiAoaXNIb3Jpem9udGFs
KCkpIHsKKyAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAgICAg
IGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFJpZ2h0RWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZs
b3cucmlnaHQoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdExlZnRFZGdlVG8obWluKGxpbmVM
YXlvdXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAgICAg
IGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdEJvdHRvbUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJm
bG93LmJvdHRvbSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0VG9wRWRnZVRvKG1pbihsaW5l
TGF5b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICB9
CisgICAgCisgICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gNzMz
MzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkK
QEAgLTEzMCw2ICsxMzAsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRhaW5zUnVieSgpIGNv
bnN0IHsgcmV0dXJuIG1fY29udGFpbnNSdWJ5OyB9CiAKKyAgICBJbnRSZWN0IHBhZGRlZExheW91
dE92ZXJmbG93UmVjdChpbnQgZW5kUGFkZGluZykgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgYm9v
bCBoYXNFbGxpcHNpc0JveCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRWxsaXBzaXNCb3hPckh5cGhl
bjsgfQogICAgIHZvaWQgc2V0SGFzRWxsaXBzaXNCb3goYm9vbCBoYXNFbGxpcHNpc0JveCkgeyBt
X2hhc0VsbGlwc2lzQm94T3JIeXBoZW4gPSBoYXNFbGxpcHNpc0JveDsgfQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gNzMzNDkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSw1NzQgQEAKKzIwMTAtMTItMDUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBm
b3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MjIwIDw8cmRhcjov
L3Byb2JsZW0vODY0NDg0OT4sIFJFR1JFU1NJT046IHRyYW5zZm9ybXMgbm93CisJTyhuXjMpIGZy
b20gcGF0aG9sb2dpY2FsIGJlaGF2aW9yIGluIGxvd2VzdFBvc2l0aW9uLCByaWdodG1vc3RQb3Np
dGlvbiwgbGVmdG1vc3RQb3NpdGlvbiBhbmQgdG9wbW9zdFBvc2l0aW9uLgorCisJVGhpcyBwYXRj
aCB0aHJvd3Mgb3V0IHRoZSBsb3dlc3QvcmlnaHRtb3N0L2xlZnRtb3N0L3RvcG1vc3RQb3NpdGlv
biBmdW5jdGlvbnMgYW5kIHJlLWFyY2hpdGVjdHMgbGF5b3V0IG92ZXJmbG93CisJaW4gdGhlIGVu
Z2luZSB0byBjYWNoZSBhbGwgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIHByb3Blcmx5IGhh
bmRsZSBzY3JvbGxpbmcuCisKKwlJbiB0aGUgb2xkIGNvZGUsIHRoZXJlIHdlcmUgdHdvIHR5cGVz
IG9mIG92ZXJmbG93OiBsYXlvdXQgb3ZlcmZsb3cgYW5kIHZpc3VhbCBvdmVyZmxvdy4gIFRoZSBm
b3JtZXIgY291bGQKKwlhZmZlY3Qgc2Nyb2xsaW5nIGFuZCB0aGUgbGF0dGVyIGNvdWxkIG5vdC4g
IFRoZSBkaXN0aW5jdGlvbiB3YXMgbGFyZ2VseSBtZWFuaW5nbGVzcywgc2luY2UgbGF5b3V0IG92
ZXJmbG93CisJd2Fzbid0IGFjdHVhbGx5IHVzZWQgdG8gZGV0ZXJtaW5lIHNjcm9sbCB3aWR0aCBv
ciBzY3JvbGwgaGVpZ2h0LiAgSXQgZGlkbid0IHByb3BhZ2F0ZSBhY3Jvc3Mgc2VsZi1wYWludGlu
ZyBsYXllcgorCWJvdW5kYXJpZXMgZWl0aGVyLiAgSW4gdGhlIG9sZCBjb2RlLCB0aGUgdGVybSB2
aXNpYmxlIG92ZXJmbG93IG1lYW50IHRoZSB1bmlvbiBvZiB0aGUgbGF5b3V0IG92ZXJmbG93IGFu
ZAorCXZpc3VhbCBvdmVyZmxvdyByZWN0cy4KKworCUluIHRoZSBuZXcgY29kZSwgdGhlIHR3byB0
eXBlcyBvZiBvdmVyZmxvdyByZW1haW4sIGJ1dCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUg
dHdvIGlzIG5vdyBjbGVhci4gIFZpc3VhbCBvdmVyZmxvdworCWlzIHVzZWQgcHVyZWx5IGZvciBw
YWludGluZyBhbmQgaGl0IHRlc3RpbmcgY2hlY2tzIGFuZCBsYXlvdXQgb3ZlcmZsb3cgaXMgdXNl
ZCBzcGVjaWZpY2FsbHkgZm9yIHNjcm9sbGluZy4gIEl0IGhhcworCWJlZW4gZXhwYW5kZWQgdG8g
cHJvcGFnYXRlIGFjcm9zcyBzZWxmLXBhaW50aW5nIGxheWVycywgdG8gZmFjdG9yIGluIHJlbGF0
aXZlIHBvc2l0aW9uaW5nIGFuZCB0cmFuc2Zvcm1zLCBhbmQgdG8KKwl3b3JrIHdpdGggd3JpdGlu
ZyBtb2Rlcy4KKworCUluIG9yZGVyIHRvIG1pbmltaXplIGxheW91dCB0ZXN0IGNoYW5nZXMsIGxh
eWVycyBubyBsb25nZXIgaW5jb3Jwb3JhdGUgcmlnaHQvYm90dG9tIG92ZXJmbG93IGludG8gdGhl
aXIgd2lkdGgvaGVpZ2h0IG1lbWJlcnMuCisJRG9pbmcgc28gdW5jb3ZlcmVkIHR3byBidWdzIHdo
ZXJlIGxlZnQvdG9wIG92ZXJmbG93IHdhcyBpZ25vcmVkIChwcm9vZiB0aGF0IGV2ZW4gaGF2aW5n
IGxheWVyIGRpbWVuc2lvbnMgaXMgaGFybWZ1bCkuCisJQSByZW5kZXIgdHJlZSBkdW1wIGhhY2sg
aGFzIGJlZW4gcHV0IGludG8gdGhlIGNvZGUgdG8ga2VlcCB0aGlzIG92ZXJmbG93IGR1bXBpbmcg
Zm9yIHRoZSBSZW5kZXJWaWV3J3MgbGF5ZXIsIHNpbmNlIG90aGVyd2lzZQorCWEgaHVnZSBudW1i
ZXIgb2YgdGVzdHMgd291bGQgY2hhbmdlLgorCisgICAgICAgIEFkZGVkIGZhc3Qvb3ZlcmZsb3cv
b3ZlcmZsb3ctcnRsLXZlcnRpY2FsLmh0bWwgdG8gdGVzdCB2ZXJ0aWNhbCB3cml0aW5nLW1vZGUg
b3ZlcmZsb3cuICBFeGlzdGluZyB0ZXN0cyBjb3ZlciB0aGUgcmVzdC4KKworICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YWRqdXN0Vmll
d1NpemUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpmb3JjZUxheW91dEZvclBhZ2lu
YXRpb24pOgorCUNoYW5nZWQgdG8gdXNlIFJlbmRlclZpZXcncyBkb2NUb3AvTGVmdC9XaWR0aC9I
ZWlnaHQgYWNjZXNzb3JzLCB3aGljaCBzaW1wbHkgZ3JhYiB0aGUgb3ZlcmZsb3cgYW5kIHByb3Bl
cmx5IGZsaXAgaXQKKwl0byBhY2NvdW50IGZvciB3cml0aW5nIG1vZGVzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6SW50UmVjdDo6
c2hpZnRMZWZ0RWRnZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNoaWZ0UmlnaHRF
ZGdlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50UmVjdDo6c2hpZnRUb3BFZGdlVG8pOgorICAg
ICAgICAoV2ViQ29yZTo6SW50UmVjdDo6c2hpZnRCb3R0b21FZGdlVG8pOgorCU5ldyBoZWxwZXIg
ZnVuY3Rpb25zIGZvciBzbGlkaW5nIHRoZSBlZGdlIG9mIGEgcmVjdGFuZ2xlIHdpdGhvdXQgbW92
aW5nIGFueSBvZiB0aGUgb3RoZXIgdGhyZWUgZWRnZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
SW5saW5lQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmZyYW1lUmVjdCk6CisJ
ZnJhbWVSZWN0IGlzIGEgaGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIHgsIHksIHdpZHRoLCBoZWln
aHQgb2YgYW4gSW5saW5lQm94IGFzIGFuIEludFJlY3QuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
SW5saW5lRmxvd0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24pOgorCUFsbCBvZiB0aGUgb3ZlcmZsb3cgc2V0dGluZyBp
biB0aGUgaW5saW5lIGRpcmVjdGlvbiBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhpcyBmdW5jdGlv
bi4gIEFsbCBsaW5lIG92ZXJmbG93IGlzIGNvbXB1dGVkCisJYXQgb25jZSBub3cgaW4gYSBzaW5n
bGUgZnVuY3Rpb246IGNvbXB1dGVPdmVyZmxvdy4KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OmFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdyk6CisJSGVscGVyIGZv
ciBwcm9wYWdhdGluZyBvdmVyZmxvdyBmcm9tIHNwZWNpZmljIHR5cGVzIG9mIGNoaWxkcmVuIHRo
YXQgb2NjdXIgb24gYSBsaW5lIGludG8gdGhlIElubGluZUZsb3dCb3gncyBvdmVyZmxvdy4KKwor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KToKKwlUaGUg
bmV3IGZ1bmN0aW9uIHRoYXQgY29tcHV0ZXMgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBv
dmVyZmxvdyBmb3IgYSBsaW5lIGJveC4KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0Jv
eDo6c2V0TGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6
c2V0VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6c2V0
T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKToKKwlOZXcgZnVuY3Rpb25zIHRoYXQgc2V0IHRoZSBv
dmVyZmxvdyBjb21wdXRlZCBieSBjb21wdXRlT3ZlcmZsb3cuICBUaGVzZSByZXBsYWNlIHNldEJs
b2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMKKyAJYW5kIHNldElubGluZURpcmVjdGlvbk92
ZXJmbG93UG9zaXRpb25zLiAgVGhleSBlc3NlbnRpYWxseSBkbyB0aGUgc2FtZSB0aGluZywgYnV0
IHRoZXkgb3BlcmF0ZSBvbiByZWN0YW5nbGVzLgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94Ojpw
YWludCk6CisJQ2hhbmdlZCB0byB1c2UgdmlzdWFsIG92ZXJmbG93IGluc3RlYWQgb2YgdmlzaWJs
ZSBvdmVyZmxvdy4gIChWaXNpYmxlIG92ZXJmbG93IGFzIGEgdW5pb24gb2YgbGF5b3V0IGFuZCB2
aXN1YWwKKwlvdmVyZmxvdyBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LCBzaW5jZSB2aXN1YWwgb3Zl
cmZsb3cgaXMgbm93IGVxdWl2YWxlbnQgdG8gdGhlIG9sZCB2aXNpYmxlIG92ZXJmbG93IGNvbmNl
cHQuKQorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaDoKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUZsb3dCb3g6OmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCk6CisJ
SGVscGVycyBmb3Igb2J0YWluaW5nIGxvZ2ljYWwgb3ZlcmZsb3cgcmVjdGFuZ2xlcywgc2luY2Ug
bGluZXMgY29tcHV0ZSB0aGVpciBvdmVyZmxvdyBpbiBsb2dpY2FsIHRlcm1zIGJlZm9yZQorCWNv
bnZlcnRpbmcgdG8gYmxvY2sgY29vcmRpbmF0ZXMgYXQgdGhlIGVuZC4KKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
bGF5b3V0QmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93
RnJvbUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlT3Zl
cmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUZs
b2F0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9z
aXRpb25lZE9iamVjdHMpOgorCUJsb2NrcyBub3cgaGF2ZSBhIGNvbXB1dGVPdmVyZmxvdyBmdW5j
dGlvbiBjYWxsZWQgYXQgdGhlIGVuZCB0aGF0IGFkZHMgaW4gYWxsIHRoZSB0eXBlcyBvZiBvdmVy
Zmxvdy4gIFRoZSBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbgorCW1ldGhvZCBpcyB2aXJ0dWFsIHNv
IHRoYXQgUmVuZGVyTGlzdEl0ZW0gYW5kIFJlbmRlclRhYmxlIGNhbiBzdWJjbGFzcyBpdC4gIFJl
bmRlckxpc3RJdGVtIGhhcyB0byBwb3NpdGlvbiBpdHMgbGlzdCBtYXJrZXIgYW5kCisJcHJvcGFn
YXRlIG1hcmtlciBvdmVyZmxvdyB1cCwgYW5kIFJlbmRlclRhYmxlIGFkZHMgaW4gb3ZlcmZsb3cg
ZnJvbSBpdHMgc2VjdGlvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlv
dXRPbmx5UG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKwlXaGVuIG9ubHkgcG9zaXRpb25lZCBvYmplY3Rz
IGxheSBvdXQsIG92ZXJmbG93IG11c3Qgc3RpbGwgYmUgcmVjb21wdXRlZC4gIFRoZSByZWZhY3Rv
cmluZyBvZiBvdmVyZmxvdyBjb21wdXRhdGlvbiBpbnRvIGEgc2luZ2xlCisJY2FsbGFibGUgbWV0
aG9kOiBjb21wdXRlT3ZlcmZsb3csIG1ha2VzIGl0IHBvc3NpYmxlIGZvciB0aGlzIHRvIGJlIGRv
bmUgZWFzaWx5LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFpbnQpOgorCXZp
c2libGUgLT4gdmlzdWFsLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3Zl
cmhhbmdpbmdGbG9hdHMpOgorCVRoZSBwcm9wYWdhdGlvbiBvZiBmbG9hdCBvdmVyZmxvdyBoYXMg
Y2hhbmdlZCBzdWJzdGFudGlhbGx5LiAgVGhlIGJhc2ljIHJ1bGVzIGFyZToKKwkJKDEpIFRoZSBm
bG9hdCBtdXN0IGJlIGluIG91ciBmbG9hdGluZyBvYmplY3RzIGxpc3QgdG8gY29udHJpYnV0ZSB0
byBvdmVyZmxvdy4KKwkJKDIpIFRoZSBmbG9hdCBtdXN0IGJlIGEgZGVzY2VuZGFudCB0byBjb250
cmlidXRlIHRvIG92ZXJmbG93LgorCQkoMykgVGhlIGJsb2NrIG11c3QgaGF2ZSB0aGUgb3V0ZXJt
b3N0IGxpc3QgdGhhdCBjb250YWlucyB0aGUgZmxvYXQsIG9yIGl0IGhhcyBhIHNlbGYtcGFpbnRp
bmcgbGF5ZXIgYW5kCisJCXNvIHRoZSBmbG9hdCBuZWVkcyB0byBiZSBpbmNsdWRlZCBpbiBpdHMg
b3ZlcmZsb3cuCisJCQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50
KToKKwl2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmxheW91dENvbHVtbnMpOgorCVJlbW92ZSBjb2x1bW4gb3ZlcmZsb3cgY29tcHV0YXRpb24gZnJv
bSBsYXlvdXRDb2x1bW5zIGFuZCBtb3ZlIGl0IHRvIGNvbXB1dGVPdmVyZmxvdy4KKworICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRpb24p
OgorCXZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c2Nyb2xsYmFyc0NoYW5nZWQpOgor
CUFkZGVkIGEgbmV3IHZpcnR1YWwgbWV0aG9kIHVzZWQgYnkgdGFibGUgY2VsbHMgd2hlbiBzY3Jv
bGxiYXJzIGluIGFuIG92ZXJmbG93OmF1dG8vc2Nyb2xsIHRhYmxlIGNlbGwgY29tZSBhbmQgZ28u
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bWF0Y2hlZEVuZExpbmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZnRlclNpZGVWaXN1YWxPdmVyZmxvd0Zv
ckxpbmUpOgorCXZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbFdpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2Nyb2xsSGVpZ2h0KToKKwlQYXRjaGVkIHRvIHVz
ZSBsYXlvdXRPdmVyZmxvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiB0aGUgb2xkIHJpZ2h0bW9zdC9s
ZWZ0bW9zdFBvc2l0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
OjpwYWludFJvb3RCb3hEZWNvcmF0aW9ucyk6CisJVXNlIGRvY0xlZnQgYW5kIGRvY1RvcCBoZXJl
LCBzbyB0aGF0IHdyaXRpbmcgbW9kZXMgYXJlIGhhbmRsZWQuCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorCXZpc2libGUgLT4g
dmlzdWFsLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFkZE92ZXJmbG93RnJvbUNo
aWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkTGF5b3V0T3ZlcmZsb3cpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnZpc3VhbE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9naWNhbExheW91
dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guaDoKKwlUaGUgbmV3IG92ZXJmbG93IHN5c3RlbSBmb3IgYm94ZXMuICBMYXlv
dXQgb3ZlcmZsb3cgbm93IGNyb3NzZXMgc2VsZi1wYWludGluZyBsYXllciBib3VuZGFyaWVzIGFu
ZCBhZGp1c3RzIGNoaWxkIGJveGVzCisJZm9yIHRyYW5zZm9ybXMsIHJlbGF0aXZlIHBvc2l0aW9u
aW5nIGFuZCB3cml0aW5nIG1vZGUgZGlmZmVyZW5jZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6dG9wTGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpib3R0
b21MYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxlZnRMYXlv
dXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnJpZ2h0TGF5b3V0T3Zl
cmZsb3cpOgorCUNoYW5nZWQgdGhlIGRlZmF1bHQgcmVjdGFuZ2xlIGZvciBsYXlvdXQgb3ZlcmZs
b3cgdG8gYmUgdGhlIGNsaWVudCBib3ggdG8gbWF0Y2ggdGhlIHNjcm9sbGFibGUgYXJlYXMgb2Yg
b3ZlcmZsb3cgcmVnaW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjbGllbnRM
b2dpY2FsQm90dG9tKToKKwlOZXcgaGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIGxvZ2ljYWwgYm90
dG9tIG9mIHRoZSBjbGllbnQgYm94LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNs
aWVudEJveFJlY3QpOgorCU5ldyBoZWxwZXIgZm9yIG9idGFpbmluZyB0aGUgY2xpZW50TGVmdC9U
b3AvV2lkdGgvSGVpZ2h0IGJveC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0
aXZlUG9zaXRpb25Mb2dpY2FsT2Zmc2V0KToKKwlIZWxwZXIgZm9yIG9idGFpbmluZyB0aGUgcmVs
YXRpdmUgcG9zaXRpb24gb2Zmc2V0IHRyYW5zcG9zZWQgZm9yIHZlcnRpY2FsIHdyaXRpbmcgbW9k
ZXMuICBVc2VkIGJ5IGxpbmUgb3ZlcmZsb3cuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6Omxh
eW91dEJsb2NrKToKKwlDaGFuZ2VkIGZsZXhpYmxlIGJveGVzIHRvIGp1c3QgY2FsbCB0aGUgYmFz
ZSBjbGFzcyBjb21wdXRlT3ZlcmZsb3cgbWV0aG9kLgorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmxpbmVzVmlz
dWFsT3ZlcmZsb3dCb3VuZGluZ0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6
OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKwl2aXNpYmxlIC0+IHZpc3VhbC4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZUxh
eWVyUG9zaXRpb24pOgorCUNoYW5nZWQgbGF5ZXJzIHRvIG5vIGxvbmdlciBpbmNvcnBvcmF0ZSBy
aWdodC9ib3R0b20gb3ZlcmZsb3cgaW50byB3aWR0aC9oZWlnaHQuICBUaGlzIGlzIHRoZSByZWFz
b24gbWFueSBsYXlvdXQKKwl0ZXN0cyBjaGFuZ2UuICAoTm90IGRvaW5nIHRoaXMgbWFrZXMgdGhl
IGxheW91dCB0ZXN0IGNoYW5nZXMgZmFyIHdvcnNlLCBzaW5jZSBvdmVyZmxvdyBwcm9wYWdhdGVz
IGFjcm9zcyBzZWxmLXBhaW50aW5nCisJbGF5ZXJzIG5vdy4pCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpvdmVyZmxvd1RvcCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6b3ZlcmZsb3dCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om92ZXJm
bG93TGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dSaWdodCk6
CisJb3ZlcmZsb3dUb3AvQm90dG9tL0xlZnQvUmlnaHQgcmV0dXJuIG92ZXJmbG93IHRoYXQgYWNj
b3VudHMgZm9yIHdyaXRpbmcgbW9kZXMsIGkuZS4sIHB1cmVseSBwaHlzaWNhbCBvdmVyZmxvdyB0
aGF0IGNhbiBiZSB1c2VkCisJdG8gc2V0IHVwIHRoZSBzY3JvbGwgYXJlYS4KKworICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKToKKwlEcmFzdGlj
YWxseSBzaW1wbGlmaWVkIHRoaXMgbWV0aG9kIG5vdyB0aGF0IG92ZXJmbG93VG9wL0JvdHRvbS9M
ZWZ0L1JpZ2h0IGp1c3QgZG8gdGhlIHJpZ2h0IHRoaW5nIHJlZ2FyZGluZyB1bnJlYWNoYWJsZSBv
dmVyZmxvdy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbElu
Zm9BZnRlckxheW91dCk6CisJTWFrZSBzdXJlIHRvIGV4cGxpY2l0bHkgc2V0IHRoZSB2ZXJ0aWNh
bCBzY3JvbGxiYXIncyBwb3NpdGlvbiBqdXN0IGFzIHdlIGRpZCB3aXRoIGhvcml6b250YWwgc2Ny
b2xsYmFycywgc28gdGhhdCBjbGFtcGluZyB0byB0aGUKKwlib3R0b20gd29ya3MuCisKKyAgICAg
ICAgKFdlYkNvcmU6OnBlcmZvcm1PdmVybGFwVGVzdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgorCUZpeCBhIGJ1ZyBpbiBwZXJmb3JtT3ZlcmxhcFRlc3Rz
LiAgSXQgaW5jb3JyZWN0bHkgdXNlZCB0aGUgbGF5ZXIncyBib3VuZHMsIGFuZCBzbyBpdCBkaWRu
J3QgYWNjb3VudCBmb3IgbGVmdC90b3Agb3ZlcmZsb3cgb3V0CisJb2YgdGhlIGxheWVyIChzZWUg
d2h5IEkgaGF0ZSBsYXllcnMgZXZlbiBoYXZpbmcgZGltZW5zaW9ucz8pLiAgQ2hhbmdlZCBpdCB0
byB1c2UgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgbGF5ZXIgaW5zdGVhZC4KKworICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3QpOgorCUZpeCBhIGJ1ZyBpbiBoaXQgdGVzdGlu
Zy4gIEl0IGluY29ycmVjdGx5IHVzZWQgdGhlIHJvb3QgbGF5ZXIncyBib3VuZHMgYXMgdGhlIGxp
bWl0IG9mIHRoZSBoaXQgdGVzdCwgYW5kIHNvIGl0IGRpZG4ndCBhY2NvdW50CisJZm9yIGxlZnQv
dG9wIG92ZXJmbG93IGluIGEgU2Nyb2xsVmlldyAoaGF0ZSBoYXRlIGhhdGUgbGF5ZXJzIGhhdmlu
ZyBkaW1lbnNpb25zKS4gIEkgY2hhbmdlZCBpdCB0byB1c2UgdGhlIGhpdCB0ZXN0IHJlY3QgaW5z
dGVhZCwKKwlzbyB0aGF0IHRoZSBkYW1hZ2UgcmVjdCBuZXZlciBzdG9wcyB0aGUgcG9pbnQgZnJv
bSBiZWluZyB0ZXN0ZWQgKHVubGVzcyB0aGUgaGl0IHRlc3QgcmVxdWVzdCBzYXlzIG5vdCB0byBp
Z25vcmUgY2xpcHBpbmcpLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bG9jYWxC
b3VuZGluZ0JveCk6CisJdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaDoKKwlBZGRlZCB0aGUgbmV3IG92ZXJmbG93VG9wL0xlZnQvUmlnaHQvQm90
dG9tIGFjY2Vzc29ycy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6YW55TGluZUludGVyc2Vj
dHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCb3hMaXN0OjpsaW5lSW50ZXJz
ZWN0c0RpcnR5UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6cGFp
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OmhpdFRlc3QpOgorCXZp
c2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RJdGVtOjphZGRPdmVyZmxvd0Zyb21DaGls
ZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25MaXN0TWFy
a2VyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaDoKKwlSZW5kZXJMaXN0
SXRlbSBub3cgcG9zaXRpb25zIHRoZSBsaXN0IG1hcmtlciB3aGVuIGNvbXB1dGluZyBpdHMgb3Zl
cmZsb3csIHNpbmNlIHRoZSBtYXJrZXIgcHJvcGFnYXRlcyBvdmVyZmxvdyBiYWNrIHVwIHRvIHRo
ZSBsaXN0IGl0ZW0uCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6CisJdmlzaWJsZSAt
PiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjpjb21wdXRlUG9zaXRpb24pOgorCUNoYW5nZWQg
dG8gdXNlIG92ZXJmbG93IGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHJpZ2h0bW9zdC9sb3dlc3RQb3Np
dGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHA6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck1lZGlhLmg6CisJUmVtb3ZlZCB0aGUgbG93ZXN0L3RvcG1vc3Qvcmln
aHRtb3N0L2xlZnRtb3N0UG9zaXRpb24gZnVuY3Rpb25zLCBzaW5jZSBjb250cm9sIG92ZXJmbG93
IGlzIGhhbmRsZWQgcHJvcGVybHkgYWxyZWFkeS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPdmVyZmxvdy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OlJlbmRlck92
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpzZXRMYXlvdXRPdmVy
Zmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6c2V0VmlzdWFsT3ZlcmZs
b3cpOgorCUFkZCBuZXcgc2V0dGVycyBmb3IgbGF5b3V0IGFuZCB2aXN1YWwgb3ZlcmZsb3cgYXMg
cmVjdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclJlcGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisJdmlz
aWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSdWJ5UnVuOjpsYXlvdXQpOgorCUNhbGwgY29tcHV0
ZU92ZXJmbG93IHRvIHJlY29tcHV0ZSBvdXIgb3ZlcmZsb3cgaW5mb3JtYXRpb24gYWZ0ZXIgd2Ug
YWRqdXN0IHRoZSBydWJ5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGFibGU6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjpwYWludCk6CisJKiByZW5kZXJpbmcvUmVuZGVyVGFibGUuaDoKKwlN
b3ZlIHNlY3Rpb24gb3ZlcmZsb3cgcHJvcGFnYXRpb24gaW50byBhZGRPdmVyZmxvd0Zyb21DaGls
ZHJlbiwgYW5kIGNoYW5nZSBSZW5kZXJUYWJsZSB0byBqdXN0IGNhbGwgY29tcHV0ZU92ZXJmbG93
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToK
Kwl2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxs
OjpzY3JvbGxiYXJzQ2hhbmdlZCk6CisJQWRkaW5nIHVucmVhY2hhYmxlIG92ZXJmbG93IHN1cHBv
cnQgKHNvbWV0aGluZyB0aGF0IGluIHRoZSBvbGQgY29kZSBvbmx5IGV4aXN0ZWQgZm9yIHBvc2l0
aW9uZWQgb2JqZWN0cyBpbiB0aGUgcm9vdCB2aWV3KSBleHBvc2VkCisJYSBidWcgaW4gdGFibGUg
bGF5b3V0LiAgSWYgc2Nyb2xsYmFycyBhcmUgYWRkZWQgZHVyaW5nIHRoZSBsYXlvdXQgdGhhdCBv
Y2N1cnMgYWZ0ZXIgaW50cmluc2ljIHBhZGRpbmcgd2FzIGluY29ycG9yYXRlZCBpbnRvIHRoZQor
CWNlbGwsIHRoZW4gdGhlIGNlbGwgd29uJ3QgbGF5IG91dCBwcm9wZXJseSB0aGUgc2Vjb25kIHRp
bWUgKGFmdGVyIHRoZSBzY3JvbGxiYXJzIGhhdmUgYmVlbiBhZGRlZCkuICBXZSBoYXZlIHRvIGFk
anVzdCB0aGUgaW50cmluc2ljCisJcGFkZGluZyBhY2NvdW50aW5nIGZvciB0aGUgcHJlc2VuY2Ug
b2YgdGhlIG5ldyBzY3JvbGxiYXIgc28gdGhhdCB0aGF0IHNlY29uZCBsYXlvdXQgd2lsbCBnZXQg
dGhlIHJpZ2h0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVD
ZWxsLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6Omhhc1Zpc3VhbE92ZXJm
bG93KToKKwl2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjps
YXlvdXRSb3dzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmg6CisJ
dmlzaWJsZSAtPiB2aXN1YWwuICBSZW1vdmVkIHRoZSBsZWZ0bW9zdC9yaWdodG1vc3QvdG9wbW9z
dC9ib3R0b21tb3N0UG9zaXRpb24gZnVuY3Rpb25zLgorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVMYXllcnMpOgorCUFk
ZGVkIGEgaGFjayB0byByZW5kZXIgdHJlZSBkdW1waW5nIHRvIGluY2x1ZGUgcmlnaHQvYm90dG9t
IG92ZXJmbG93IGZvciB0aGUgcm9vdCBsYXllciBvbmx5LiAgVGhpcyBrZWVwcyBhIHppbGxpb24g
bGF5b3V0IHRlc3RzCisJZnJvbSBmYWlsaW5nLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmRvY1RvcCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJWaWV3Ojpkb2NCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9jTGVm
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NSaWdodCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmRv
Y0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NXaWR0aCk6CisJUmVu
ZGVyVmlldyBub3cgdXNlcyBkb2NMZWZ0L1RvcC9IZWlnaHQvV2lkdGggZnVuY3Rpb25zLCB3aGlj
aCBhcmUganVzdCBvdmVyZmxvdyBxdWVyaWVzIHRoYXQgYWNjb3VudCBmb3Igd3JpdGluZyBtb2Rl
cy4gIFRoZXNlIG1ldGhvZHMKKwlhcmUgbm93IHRoZSBwcmVmZXJyZWQgd2F5IHRvIHF1ZXJ5IGZv
ciB0aGUgcGh5c2ljYWwgZGltZW5zaW9ucyBvZiBhIGRvY3VtZW50LgorCisgICAgICAgICogcmVu
ZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJv
eDo6YWRkSGlnaGxpZ2h0T3ZlcmZsb3cpOgorCUNoYW5nZWQgdG8gY2FsbCBzZXRPdmVyZmxvd0Zy
b21Mb2dpY2FsUmVjdHMgaW5zdGVhZCBvZiB0aGUgYmxvY2svaW5saW5lIHBvc2l0aW9uIGZ1bmN0
aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6YWxpZ25Cb3hlc0luQmxv
Y2tEaXJlY3Rpb24pOgorCVJlbW92ZSB0aGUgY29tcHV0YXRpb24gb2YgYmxvY2sgZGlyZWN0aW9u
IG92ZXJmbG93LCBzaW5jZSBpdCBub3cgYWxsIGhhcHBlbnMgYXQgb25jZSBhZnRlciB0aGUgbGlu
ZSBpcyBidWlsdC4KKworICAgICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6cGFkZGVkTGF5
b3V0T3ZlcmZsb3dSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5oOgor
CUFkZGVkIGEgbmV3IGhlbHBlciBmdW5jdGlvbiBmb3IgaW5jb3Jwb3JhdGluZyB0aGUgZW5kIHBh
ZGRpbmcgaW50byBhIGxpbmUuICBUaGlzIGVuZCBwYWRkaW5nIGFsc28gaW5jbHVkZXMgdGhlIHNp
bmdsZSBwaXhlbCBmb3IgYSBjYXJldAorCWluIExUUiBpZiBuZWVkZWQuCisKKyAgICAgICAgKiBj
b21wb3NpdGluZy9jaGVja2VyYm9hcmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNvbXBvc2l0
aW5nL2dlb21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFu
ZC1jb3Zlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mbGV4Ym94LzAwOS5odG1sOgor
ICAgICAgICAqIGZhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxv
d2VkLWNvbnRlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvY29tcG9zaXRpbmcvZGlyZWN0LWltYWdlLWNvbXBvc2l0aW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9z
aXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jb21wb3NpdGluZy9n
ZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9maXhlZC1wb3NpdGlvbi1hbmNlc3Rvci1j
bGlwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvb3Zl
cmZsb3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zL2xvYWQtdmlkZW8taW4tcmVmbGVjdGlv
bi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlcGFp
bnQvY29udGVudC1pbnRvLW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvY29tcG9zaXRpbmcvcmVwYWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MxL2JveF9wcm9wZXJ0aWVzL21hcmdpbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMv
bWFyZ2luX3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMS9j
bGFzc2lmaWNhdGlvbi93aGl0ZV9zcGFjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9hdHRhY2htZW50LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFja2dy
b3VuZC9iYWNrZ3JvdW5kX3JlcGVhdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2NzczIuMS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwNS1tcmduLTAyLWMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1i
LWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQx
NC1mbHQtMDAtZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90
MDkwNS1jNDE0LWZsdC0wMS1kLWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDItYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMy1jLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTA0LWMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1k
LWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzU1
MjUtZmx0Y29udC0wMC1kLWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9j
c3MyLjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgtMDItYy1nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAzLWMtZy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAy
LWQtZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAx
LWM0MTQtZmx0LTAzLWItZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Nz
czIuMS90MTIwMi1jb3VudGVycy0wOC1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA5LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVs
ZXRlLWFmdGVyLXNwYW4td3MtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVu
ZC13cy0wMDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi8yNTIyOC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2ZvY3VzX2VkaXRhYmxlX2h0bWwtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxl
Y3QtYWxsLTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NlbGVjdC1hbGwtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwNC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVu
ZGVyZWQtMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9z
ZWxlY3Rpb24vdW5yZW5kZXJlZC0wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA0LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5k
ZXJlZC0wMDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JhY2tn
cm91bmRzL3JlcGVhdC9uZWdhdGl2ZS1vZmZzZXQtcmVwZWF0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2JhY2tncm91bmRTaXplMTUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljLzAx
MC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMv
ZmllbGRzZXQtc3RyZXRjaC10by1sZWdlbmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAwOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDEzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTktZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyMS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDI5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzEtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDM1LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9hdm9pZGFuY2UtcGVyY2Vu
dC13aWR0aC1zdHJpY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL2Zsb2F0L2NsYW1wZWQtcmlnaHQtZmxvYXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LWluLWZsb2F0LXBhaW50aW5nLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9uZXN0
ZWQtY2xlYXJhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9mbG9hdC9yZWxhdGl2ZS1wYWludGVkLXR3aWNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDYy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4t
Y29sbGFwc2UvMDYzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9tYXJnaW4tY29sbGFwc2UvMTA0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMDQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1j
b2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDAyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wNDctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA0OS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25p
bmcvMDUxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9w
b3NpdGlvbmluZy9hdXRvLWhlaWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXBsYWNlZC1p
bnNpZGUtZml4ZWQtdG9wLWJvdHRvbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2tmbG93L2Jsb2NrLWxldmVsLWltYWdlcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMtY2xpcHBpbmct
dmVydGljYWwtbHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Js
b2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1ybC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Zsb2F0cy1pbi1i
bG9jay1sYXlvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jv
ZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8w
MDIteGh0bWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHkt
cHJvcGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDIt
eGh0bWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJv
cGFnYXRpb24vb3ZlcmZsb3cvMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS14aHRtbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8w
MDUtZGVjbGFyYXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS14aHRtbC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJv
cmRlclJhZGl1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm94
LXNoYWRvdy9iYXNpYy1zaGFkb3dzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9ib3gtc2l6aW5nL2JveC1zaXppbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2NsaXAvMDA4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9jbGlwLzAwOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvY2xpcC8wMTAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L2NsaXAvMDExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jbGlw
LzAxMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY29tcGFjdC8w
MDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1j
b3JyZWN0aW9uLW9uLWJhY2tncm91bmQtaW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Nzcy9uZWdhdGl2ZS1sZWFkaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvcGVyY2VudGFnZS1ub24taW50ZWdlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3dvcmQtc3BhY2UtZXh0cmEt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2RvbS9jbG9uZS1ub2Rl
LWR5bmFtaWMtc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ZsZXhib3gvMDA5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mbGV4Ym94LzAxNi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC9mbGV4LWhhbmctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Jhc2ljLXRleHRh
cmVhcy1xdWlya3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zv
cm1zL2ZpbGUtaW5wdXQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9mbG9hdGluZy10ZXh0ZmllbGQtcmVsYXlvdXQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdmVyZmxvdy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1n
cmlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZnJhbWUtc2Ny
b2xsaW5nLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvZnJhbWVzL2lmcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaW5saW5lLW9iamVjdC1pbnNpZGUtZnJhbWVz
ZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2dyYWRpZW50cy9i
YWNrZ3JvdW5kLWNsaXBwZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L2ltYWdlcy9naWYtbGFyZ2UtY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWxhbmRzY2FwZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lLWJsb2NrL2lubGluZS1i
bG9jay12ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvaW5saW5lL2xvbmctd3JhcHBlZC1saW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktc3VibGF5
ZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLXZlcnRp
Y2FsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy12ZXJ0
aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvbGkt
YnItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJl
bGF0aXZlLWNvbnN0cmFpbnRzLTAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wMy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMt
MDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJl
bGF0aXZlLWNvbnN0cmFpbnRzLTA1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMt
MDctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJl
bGF0aXZlLWNvbnN0cmFpbnRzLTA4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFi
c29sdXRlLTAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tZWRp
YS9tcS13aWR0aC1hYnNvbHV0ZS0wMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LW11bHRpY29sLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1j
b21wbGV4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNv
bC9mbG9hdC1wYWdpbmF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvbXVsdGljb2wvbGF5ZXJzLWluLW11bHRpY29sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9wYWdpbmF0ZS1ibG9jay1yZXBsYWNlZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13
aXRoLWNvbnN0cmFpbmVkLWhlaWdodC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvbXVsdGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3RhYmxlLXZlcnRp
Y2FsLWFsaWduLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9vdmVy
Zmxvdy8wMDYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L292ZXJm
bG93L2Zsb2F0LWluLXJlbHBvc2l0aW9uZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNh
bC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
b3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cv
c2Nyb2xsUmV2ZWFsQnV0dG9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9yZWZsZWN0aW9ucy9yZWZsZWN0aW9uLWRpcmVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hl
Y2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgt
ZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNo
YWRvdy1oLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50
L2JveC1zaGFkb3ctdi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
cmVwYWludC9jb250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZHluYW1pYy10YWJsZS12ZXJ0aWNhbC1hbGlnbm1lbnQt
Y2hhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50
L2Zsb2F0LW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93LXJpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1zY3JvbGwt
Ym9keS1hcHBlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Jl
cGFpbnQvc3VidHJlZS1yb290LWNsaXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFp
bmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3Ry
YW5zZm9ybS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJlcGxhY2VkLXNoYWRvd3MtZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGxhY2VkLzAwNC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDM0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy8w
MDQtdmVydGljYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3Rh
YmxlL2NvbHNwYW5NaW5XaWR0aC12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRv
LXdpdGgtY29sc3Bhbi12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvdGFibGUvZnJhbWUtYW5kLXJ1bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9oZWlnaHQtcGVyY2VudC10ZXN0LXZlcnRpY2FsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS93aWRlLWNvbHNwYW4t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29s
dW1uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvdGhhaS1saW5lLWJyZWFrcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9sYXJnZS10ZXh0LWNvbXBvc2VkLWNoYXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctbmVnYXRpdmUt
b3BhY2l0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90
ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL21vLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9vdmVyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlv
bi9yb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9wcmludGluZy9yZXR1
cm4tZnJvbS1wcmludGluZy1tb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9hbHRnbHlwaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vZ2V0c2NyZWVuY3RtLWluLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJl
ZGRlZC1zdmctZmlsZS1pbWFnZS1yZXBhaW50LXByb2JsZW0tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZH
TGlzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9vdmVyZmxvdy9v
dmVyZmxvdy1vbi1vdXRlcm1vc3Qtc3ZnLWVsZW1lbnQtaW4teGh0bWwtZGVmYXVsdHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4dC9mb3JlaWduT2JqZWN0LXRl
eHQtY2xpcHBpbmctYnVnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L3RleHQva2VybmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy90
ZXh0L211bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L3N2Zy90cmFuc2Zvcm1zL2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdp
dGgtcGF0dGVybi1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy96b29tL3RleHQvem9vbS1oaXhpZS1taXhlZC0wMDktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEy
MDM2NC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMTMxMDIwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGEvYnVncy9idWcxOTY4NzAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzIzMTUxLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcyOTMxNC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDMwMzkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdz
L2J1ZzQzODU0LTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzQ1MDU1LTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzYyNS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNzIzNTktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1Zzgz
Nzg2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
YnVncy9idWc5MjE0My1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhL2J1Z3MvYnVnOTYzMzQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9jb3JlL25lc3RlZDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4vYmFja2dyX2luZGV4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGFi
bGVfYWxpZ25fbGVmdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGRfbm93cmFwLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hf
dGhfbm93cmFwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcyMjA2NTMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdz
L2J1ZzI0NzktNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1
Z3MvYnVnODUwMTYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2ZpeGVkLWJnLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2NhcHRpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfY2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfY2FwdGlvbl9sZWZ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93
X2NhcHRpb25fcmlnaHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlv
bl90b3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd19yb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3RhYmxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd190Ym9keS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1
cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19oaWRkZW5fdHItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X2NlbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFi
bGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X2NlbGxfc2libGluZy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3Rh
YmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19yb3dfc2libGluZy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3RhYmxlX2NhcHRpb24tZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9t
YXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Rib2R5LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keV9zaWJsaW5nLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9ib3R0b20tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX21pZGRsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd190ZF92YWxpZ25fdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctMi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFw
cGluZy8zZC1wb2ludC1tYXBwaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctb3JpZ2lucy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQt
bWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNkLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy9zdmctdnMtY3NzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvY3VzdG9tL3RleHQtem9vbS1leHBlY3RlZC50eHQ6CisKIDIwMTAtMTItMDUg
IFJvYiBCdWlzICA8cndsYnVpc0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlr
b2xhcyBaaW1tZXJtYW5uLgpJbmRleDogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvY2hlY2tlcmJv
YXJkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9j
aGVja2VyYm9hcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2NoZWNrZXJib2FyZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDIwNTV4MjA2MwogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDU1eDIwNjMKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDIwNjMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDIwNjMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgy
MDQ3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIwNDd4MjA0NwpJbmRl
eDogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXRy
YW5zZm9ybWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9nZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNmb3JtZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xp
bWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsOSArMSw5IEBACiBUZXh0IGhlcmUKIChHcmFwaGljc0xheWVyCi0gIChib3VuZHMgMTMy
OS4wMCA1ODUuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKICAgKGNoaWxkcmVuIDEKICAg
ICAoR3JhcGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAxMzI5LjAwIDU4NS4wMCkKKyAgICAgIChi
b3VuZHMgODAwLjAwIDYwMC4wMCkKICAgICAgIChjaGlsZHJlbiAzCiAgICAgICAgIChHcmFwaGlj
c0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDEyOS4wMCAyOS4wMCkKSW5kZXg6IExheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1lLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2NvbXBv
c2l0ZWQtcGFyZW50LWlmcmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDExICszLDEwIEBACiAgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKHBv
c2l0aW9uIC0xMi4wMCAwLjAwKQotICAgICAgKGJvdW5kcyA4MTIuMDAgNjAwLjAwKQorICAgICAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQogICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKLSAgICAgICAgICAocG9zaXRpb24gMC4wMCAtMTIuMDApCisgICAgICAgICAgKHBv
c2l0aW9uIC0xMi4wMCAtMTIuMDApCiAgICAgICAgICAgKGJvdW5kcyAzNzAuMDAgMjIwLjAwKQog
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKICAgICAgICAgICAoY2hpbGRyZW4gMQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL3NpemUv
Y29udGFpbi1hbmQtY292ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zlci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDU5OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MAogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDAp
IHNpemUgODAweDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDIsMikg
c2l6ZSAzOTZ4MTQ2IFtiZ2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAw
MCldCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvMDA5Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mbGV4Ym94LzAwOS5odG1sCShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZmxleGJveC8wMDkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOSw2
ICs5LDggQEAgZGl2LmJveCB7CiAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICBkaXNwbGF5OiBi
b3g7CiAgIG92ZXJmbG93OmF1dG87CisgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7Cisg
IC1tb3otYm94LW9yaWVudDogdmVydGljYWw7CiAgIGJvcmRlcjogMnB4IHNvbGlkIG9saXZlOwog
fQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNh
bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ct
cnRsLXZlcnRpY2FsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L292ZXJm
bG93L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0
aW9uYWwvL0VOIiAKKyJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPGh0
bWwgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLWxyIj4KKzxoZWFkPgorPHRp
dGxlPm92ZXJmbG93OmF1dG8gd2l0aCBkaXJlY3Rpb246cnRsPC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitkaXYudGVzdCB7IGJhY2tncm91bmQ6IHllbGxvdzsgd2lkdGg6IDZleDsg
aGVpZ2h0OiAxMDBweDsgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgICAgIGJvcmRlci10b3A6IDEw
cHggc29saWQgcmVkOyBib3JkZXItYm90dG9tOiA1cHggc29saWQgZ3JlZW47IG1hcmdpbjogNHB4
OyB9CitkaXYucnRsIHsgZGlyZWN0aW9uOiBydGw7IGJvcmRlci1ib3R0b206IDEwcHggc29saWQg
cmVkOyBib3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPgorVGhpcyBpcyBhIHRlc3QgY2FzZSBmb3IgPGk+aHR0cDovL2J1Z3ppbGxhLm9w
ZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD01ODI2IEJsb2NrcyB3aXRoIGRpcmVjdGlvbjpy
dGwgYW5kIG92ZXJmbG93OmF1dG8gb3Igc2Nyb2xsIGhhdmUgaW5jb3JyZWN0IHNjcm9sbGJhcnM8
L2k+LgorPC9wPgorVGhlIHJpZ2h0IGNvbHVtbiBzaG91bGQgYmUgYSBtaXJyb3ItaW1hZ2Ugb2Yg
dGhlIGxlZnQgY29sdW1uIGluIHRlcm1zIG9mCis8dWw+CisgICAgPGxpPnRoZSBwcmVzZW5jZSBv
ZiBhIHNjcm9sbGJhcjwvbGk+CisgICAgPGxpPnRoZSBpbml0aWFsIHBvc2l0aW9uIG9mIHRoZSBz
Y3JvbGwgdGh1bWI8L2xpPgorICAgIDxsaT53aGljaCBsZXR0ZXJzIGFyZSB2aXNpYmxlIGluaXRp
YWxseSBhbmQgd2hlbiB5b3Ugc2Nyb2xsPC9saT4KKzwvdWw+Cis8dGFibGU+Cis8dHI+Cis8dGQ+
Cis8ZGl2IGNsYXNzPSJ0ZXN0Ij4KK2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Cis8L2Rpdj4K
KworPGRpdiBjbGFzcz0idGVzdCI+Cis8ZGl2IHN0eWxlPSJkaXJlY3Rpb246cnRsOyBiYWNrZ3Jv
dW5kOmxpZ2h0Z3JheTsiPmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9kaXY+Cis8L2Rpdj4K
KworPGRpdiBjbGFzcz0idGVzdCI+Cis8ZGl2IHN0eWxlPSJkaXJlY3Rpb246bHRyOyBiYWNrZ3Jv
dW5kOmxpZ2h0Z3JheTsiPmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9kaXY+Cis8L2Rpdj4K
KzwvdGQ+Cis8dGQ+Cis8ZGl2IGNsYXNzPSJ0ZXN0IHJ0bCI+Cit6eXh3dnV0c3JxcG9ubWxramlo
Z2ZlZGNiYQorPC9kaXY+CisKKzxkaXYgY2xhc3M9InRlc3QgcnRsIj4KKzxkaXYgc3R5bGU9ImRp
cmVjdGlvbjpsdHI7IGJhY2tncm91bmQ6bGlnaHRncmF5OyI+enl4d3Z1dHNycXBvbm1sa2ppaGdm
ZWRjYmE8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ0ZXN0IHJ0bCI+Cis8ZGl2IHN0eWxl
PSJkaXJlY3Rpb246cnRsOyBiYWNrZ3JvdW5kOmxpZ2h0Z3JheTsiPnp5eHd2dXRzcnFwb25tbGtq
aWhnZmVkY2JhPC9kaXY+Cis8L2Rpdj4KKzwvdGQ+Cis8L3RyPgorPC90YWJsZT4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
Y2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2Vk
LWNvbnRlbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL2Zh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDExICs3LDkgQEAgUEFTUyBnRm9jdXNlZERv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QQogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgogUEFTUyBnRm9jdXNlZERvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgotUEFTUyBnRm9jdXNl
ZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgogUEFTUyBn
Rm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIzIgog
UEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlz
ICIyIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJp
ZCIpIGlzICIyIgotUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmli
dXRlKCJpZCIpIGlzICIyIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0
QXR0cmlidXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJzdGFydCIKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWNsaXBwZWQtb3ZlcmZsb3dlZC1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93
ZWQtY29udGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMSArMzcsOSBAQAogICAgICAg
WyJEb3duIiwgIjEiXSwKICAgICAgIFsiRG93biIsICIyIl0sCiAgICAgICBbIkRvd24iLCAiMiJd
LAotICAgICAgWyJEb3duIiwgIjIiXSwKICAgICAgIFsiRG93biIsICIzIl0sCiAgICAgICBbIlVw
IiwgIjIiXSwKICAgICAgIFsiVXAiLCAiMiJdLAotICAgICAgWyJVcCIsICIyIl0sCiAgICAgICBb
IlVwIiwgIjEiXSwKICAgICAgIFsiVXAiLCAiMSJdLAogICAgICAgWyJVcCIsICJzdGFydCJdLApA
QCAtODIsNyArODAsNyBAQAogICAgICAgPGRpdj48L2Rpdj4KICAgICAgIDxpbWcgc3JjPSJyZXNv
dXJjZXMvZ3JlZW4ucG5nIiB3aWR0aD0yMDBweCBoZWlnaHQ9MjAwcHg+CiAgICAgICA8ZGl2Pjwv
ZGl2PgotICAgICAgPGEgaWQ9IjIiIGhyZWY9ImEiPjxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4u
cG5nIiB3aWR0aD0zMHB4IGhlaWdodD0zMHB4PjwvYT4uPC9wPgorICAgICAgPGEgaWQ9IjIiIGhy
ZWY9ImEiPjxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4ucG5nIiB3aWR0aD0zMHB4IGhlaWdodD0z
MHB4PjwvYT4uCiAgICAgPC9kaXY+CiAgICAgPGEgaWQ9IjMiIGhyZWY9ImEiPjxpbWcgc3JjPSJy
ZXNvdXJjZXMvZ3JlZW4ucG5nIiB3aWR0aD0zMHB4IGhlaWdodD0zMHB4PjwvYT4KICAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21w
b3NpdGluZy9kaXJlY3QtaW1hZ2UtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9kaXJlY3QtaW1hZ2UtY29t
cG9zaXRpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9kaXJlY3QtaW1hZ2UtY29tcG9zaXRpbmctZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODV4NzQ5CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDc4NXg3NDkKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE0OQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTQ5CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsMjEpIHNpemUgNzY5eDExMgogICAgICAgUmVuZGVyQmxvY2sge0gxfSBhdCAoMCwwKSBzaXpl
IDc2OXgzNwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2dlb21l
dHJ5L2ZpeGVkLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21w
b3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA4eDEw
MTYKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDEwMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDEwMDB4MTAwMAogbGF5ZXIgYXQgKDUwLDE2Nikgc2l6ZSA0Mzl4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9nZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJs
YXktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
b21wb3NpdGluZy9nZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9n
ZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC02LDcgKzYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNjAKICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyOTR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAyOTQ6ICJUaGUgb3JhbmdlIGJhciBzaG91bGQgYmUgaW4gZnJvbnQgb2YgdGhlIHZpZGVvLiIK
LWxheWVyIGF0ICg4LDUwKSBzaXplIDQwMngzMDUKK2xheWVyIGF0ICg4LDUwKSBzaXplIDQwMngz
MDIKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM0KSBz
aXplIDQwMngzMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMSwxKSBzaXplIDQwMHgzMDQKICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Nv
bXBvc2l0aW5nL292ZXJmbG93L2ZpeGVkLXBvc2l0aW9uLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9v
dmVyZmxvdy9maXhlZC1wb3NpdGlvbi1hbmNlc3Rvci1jbGlwLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvZml4ZWQtcG9zaXRpb24tYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA4eDEw
MTYKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDEwMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDEwMDB4MTAwMAogbGF5ZXIgYXQgKDUwLDE2Nikgc2l6ZSAzMTh4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGwtYW5jZXN0b3ItdXBk
YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5n
L292ZXJmbG93L3Njcm9sbC1hbmNlc3Rvci11cGRhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC05LDcgKzksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVy
VmlkZW8ge1ZJREVPfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKIGxheWVyIGF0ICg1MCw1MCkgc2l6
ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNTAsNTApIHNp
emUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQotbGF5ZXIgYXQgKDUwLDUwKSBzaXplIDIwMngy
NzIKK2xheWVyIGF0ICg1MCw1MCkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoNTAsNTApIHNpemUgMjAweDIwMAogICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwyMTgpIHNpemUgMjAweDU0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxOTF4NTQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9y
ZWZsZWN0aW9ucy9sb2FkLXZpZGVvLWluLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZWZsZWN0aW9ucy9s
b2FkLXZpZGVvLWluLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZWZsZWN0aW9ucy9sb2FkLXZp
ZGVvLWluLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNTAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA0OTN4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0OTM6ICJZb3Ug
c2hvdWxkIHNlZSBhIHJlZmxlY3RlZCB2aWRlbyBiZWxvdywgcmF0aGVyIHRoYW4gdGhlIHJlZCB2
aWRlbyBiYWNrZ3JvdW5kLiIKLWxheWVyIGF0ICg4LDUwKSBzaXplIDM1MngyOTIKK2xheWVyIGF0
ICg4LDUwKSBzaXplIDMwMHgyOTIKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNpemUg
MzAweDI5MgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIg
YXQgKDgsNTApIHNpemUgMzUyeDI4OApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Nv
bXBvc2l0aW5nL3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcmVwYWludC9j
b250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZXBhaW50L2NvbnRlbnQtaW50by1v
dmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDYgQEAgbGF5
ZXIgYXQgKDI4LDMyOCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwzMDgpIHNpemUgMTAweDEwMAogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQogICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsODApIHNpemUgMTAweDIwCi1sYXllciBhdCAoMjgsMzI4KSBzaXplIDEwMHg4MAor
bGF5ZXIgYXQgKDI4LDMyOCkgc2l6ZSAxMDB4MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MAogICAgIFJlbmRlckJsb2NrIChmbG9h
dGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4ODAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jb21wb3NpdGluZy9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5n
L3JlcGFpbnQvb3ZlcmZsb3ctaW50by1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcmVwYWludC9vdmVy
Zmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDE3ICs1
LDE3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDQ2MAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDIwKSBzaXplIDc4NHg0MjAKIGxheWVyIGF0ICgyOCwyMCkgc2l6ZSAxMjB4NDIwCiAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMCwwKSBzaXplIDEyMHg0MjAKLWxheWVyIGF0ICgyOCwy
OCkgc2l6ZSAxMDN4MTA2CitsYXllciBhdCAoMjgsMjgpIHNpemUgNTZ4MTA2CiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw4KSBzaXplIDU2eDEwNiBbYm9yZGVyOiAoM3B4
IHNvbGlkICMwMDgwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgNTB4
NTAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDUwCi1sYXllciBh
dCAoMjgsMTc4KSBzaXplIDEwNngxMDMKK2xheWVyIGF0ICgyOCwxNzgpIHNpemUgMTA2eDU2CiAg
IFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxNTgpIHNpemUgMTA2eDU2IFti
b3JkZXI6ICgzcHggc29saWQgIzAwODAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMs
Mykgc2l6ZSA1MHg1MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA1MHgx
MDAKIGxheWVyIGF0ICgyOCwzMjgpIHNpemUgMTAweDgwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwzMDgpIHNpemUgMTAweDgwCiAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAxMDB4MCBbYmdjb2xvcj0jMDA4MDAwXQotbGF5ZXIgYXQgKDI4LDMyOCkg
c2l6ZSAxMDB4ODAKK2xheWVyIGF0ICgyOCwzMjgpIHNpemUgMTAweDAKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDAKICAgICBSZW5k
ZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDgwCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW4tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2JveF9wcm9w
ZXJ0aWVzL21hcmdpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMvbWFyZ2luLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg3eDI2
MjgKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNp
emUgNzg3eDI2MjgKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDI2MjgKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDI2MjgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc2OXgyNjEyIFtiZ2NvbG9yPSNDQ0NDQ0NdCiAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MxL2JveF9wcm9wZXJ0aWVzL21hcmdpbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMvbWFyZ2luX3Jp
Z2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW5fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODd4MTAwNQog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODd4MTAwNQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAwNQogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTAwNQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDk4OSBbYmdjb2xvcj0jQ0NDQ0NDXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDApIHNpemUgNzY5eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9j
bGFzc2lmaWNhdGlvbi93aGl0ZV9zcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvY2xhc3NpZmljYXRpb24vd2hpdGVfc3BhY2UtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MxL2NsYXNzaWZpY2F0aW9uL3doaXRlX3NwYWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTIxeDU4NQogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MjF4NTg1Cits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2
OSBbYmdjb2xvcj0jQ0NDQ0NDXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
Nzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFj
a2dyb3VuZC9iYWNrZ3JvdW5kX2F0dGFjaG1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2JhY2tn
cm91bmRfYXR0YWNobWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9h
dHRhY2htZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODgweDExOTMKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODgweDExOTMKK2xheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDExOTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDExOTMKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgxMTc3IFtiZ2NvbG9yPSNDQ0ND
Q0NdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2JhY2tncm91
bmRfcmVwZWF0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX3JlcGVhdC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEv
Y29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9yZXBlYXQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4ODh4MTgzOAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
ODh4MTgzOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgzOAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTgzOAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDE4MjIgW2JnY29sb3I9I0NDQ0NDQ10KICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIu
MS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Nz
czIuMS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMng1ODUKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODAyeDY2CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2NgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwyNCkgc2l6ZSA3ODR4MTgKICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc5NHgxOCBbY29sb3I9IzAwMDA4MF0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDMtYzU1MDUtbXJnbi0w
Mi1jLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y3NzMi4xL3QwODAzLWM1NTA1LW1yZ24tMDItYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwNS1tcmduLTAy
LWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDJ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1s
YXllciBhdCAoMCwwKSBzaXplIDgwMngzNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzIKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDMyCiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsLTIpIHNpemUgNzg0eDM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKC0x
MCwwKSBzaXplIDgwNHgzNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1iLWEtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgt
aXBhZG4tYi0wMi1iLWEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1iLWEtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHgxMjIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDExMAogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTEwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsMTYpIHNpemUgNzg0eDg2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6
ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQx
NC1mbHQtMDAtZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMC1kLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0
LTAwLWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNzAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEz
NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTM0CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDEwMgogICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMS1kLWctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1m
bHQtMDEtZC1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAxLWQtZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDE2MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTMwCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHgxMzAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikg
c2l6ZSA3ODR4OTgKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBb
Y29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5
MDUtYzQxNC1mbHQtMDItYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMi1jLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0
MTQtZmx0LTAyLWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNjQKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDY4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2OAogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgzNgogICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDApIHNpemUgNzg0eDM2IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMy1jLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQt
Zmx0LTAzLWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDMtYy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDI2NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDY4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUg
Nzg0eDM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYgW2NvbG9y
PSMwMDAwODBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0
MTQtZmx0LTA0LWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDQtYy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZs
dC0wNC1jLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQ0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgzNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1kLWctZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQx
NC1mbHQtd3JhcC0wMS1kLWctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1kLWctZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDgwMHgxNjMKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDE1NgogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTU2CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsMTYpIHNpemUgNzg0eDEyNAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzg0eDE4IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHRjb250LTAwLWQtZy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHRj
b250LTAwLWQtZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHRjb250LTAwLWQtZy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDI2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkg
c2l6ZSA1ODh4MjUyIFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHR3aWR0aC0wMi1jLWct
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3My
LjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgtMDItYy1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdp
ZHRoLTAyLWMtZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDU0CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxOAogICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MyLjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgtMDMtYy1nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRo
LTAzLWMtZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHR3aWR0aC0wMy1jLWctZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg0NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDM0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MTgKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA4
LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MyLjEvdDEyMDItY291bnRlcnMtMDgtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MTIwMi1jb3VudGVycy0wOC1iLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDAp
IHNpemUgOTU0eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA5NTR4OTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDk0CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg5NAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDE2KSBzaXplIDc4NHg3MAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNv
dW50ZXJzLTA5LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9jc3MyLjEvdDEyMDItY291bnRlcnMtMDktYi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MTIwMi1jb3VudGVy
cy0wOS1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgMTA0N3g1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTA0N3g5NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
OTQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDk0CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDcwCiAgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3My
LjEvdDA5MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9j
c3MyLjEvdDA5MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMTgKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDE1NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTU0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDEy
MgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDAw
MDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQt
Zmx0LTAzLWItZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAzLWItZy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0
MTQtZmx0LTAzLWItZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDIzNworbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTU1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTUKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTIzCiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzcgW2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13
cy0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVs
ZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMTEsNyArMTEsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VO
b3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUw
cHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1h
ZnRlci1zcGFuLXdzLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3Mt
MDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDAp
IHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2
NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bh
bi13cy0wMDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
ZGVsZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMTEsNyArMTEsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFu
Z2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjog
KDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRp
dGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUt
bGluZS1lbmQtd3MtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAx
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNp
emUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCww
KSBzaXplIDc0OHgyNDQgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3Mt
MDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGlu
Zy9kZWxldGUtbGluZS1lbmQtd3MtMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NjYsNyArNjYsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgyNDQgW2JvcmRlcjogKDUwcHggc29s
aWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxl
Y3Rpb24vMjUyMjgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi8yNTIyOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uLzI1MjI4
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKLWxheWVyIGF0ICgw
LDApIHNpemUgMjAwMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgMTEwMHg1ODUKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMjAwMHg1ODUK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNzk4LDApIHNpemUgMzAyeDI3MiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL2ZvY3VzX2VkaXRhYmxlX2h0bWwtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9mb2N1
c19lZGl0YWJsZV9odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZm9jdXNfZWRpdGFibGVfaHRtbC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBAIEVESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRCZWdpbkVkaXRpbmcKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAyMDA4eDIwODgKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMjAwOHgyMDg4CitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXgyMDg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDg4CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjA3MgogICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4NTQKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0
aW9uL3NlbGVjdC1hbGwtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDEtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERFTEVHQVRF
OiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIGxheWVy
IGF0ICgwLDApIHNpemUgODIweDkwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4OTAwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5
MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDkwMAogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc2OXg3NzIKICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICg2NCwwKSBzaXplIDc0OHg3NzIgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCld
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0
LWFsbC0wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9u
L3NlbGVjdC1hbGwtMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcg
QEAgRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRETwogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg5MDAKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIweDkwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4OTAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDc4NXg5MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6ZSA3Njl4NzcyCiAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4NzcyIFtib3JkZXI6ICg1
MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE8KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4
MTA0NAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MTJ4MTA0NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTA0NAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTA0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg2NCw2NCkgc2l6ZSA3NDh4OTE2IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQogICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDc0LDc0KSBzaXplIDYwMHg3NjgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAw
NC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvc2VsZWN0aW9uL3NlbGVjdC1hbGwtMDA0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0
LWFsbC0wMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElU
SU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPCiBFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmlj
YXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODEyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg2NCw2NCkgc2l6ZSA3NDh4NDU3IFtib3JkZXI6
ICg1MHB4IHNvbGlkICNGRjAwMDApXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDc0LDc0
KSBzaXplIDYwMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxl
Y3Rpb24vdW5yZW5kZXJlZC0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMyw3ICszLDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZEJlZ2luRWRpdGluZwog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIw
eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6
ZSA3ODR4NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4MTk2
IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5y
ZW5kZXJlZC0wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMi1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXll
ciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDY0LDApIHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAw
My1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Vk
aXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5k
ZXJlZC0wMDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmlj
YXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHggc29s
aWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxl
Y3Rpb24vdW5yZW5kZXJlZC0wMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwNC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNSw3ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAog
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIw
eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6
ZSA3ODR4NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4MTk2
IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA1LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5y
ZW5kZXJlZC0wMDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwNS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXll
ciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDY0LDApIHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9uZWdhdGl2
ZS1vZmZzZXQtcmVwZWF0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvbmVnYXRpdmUtb2Zmc2V0LXJlcGVh
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L25lZ2F0aXZlLW9mZnNldC1yZXBlYXQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1MjQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ4NAogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDg0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsMTYpIHNpemUgNzg0eDQ1MgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9iYWNrZ3JvdW5k
cy9zaXplL2JhY2tncm91bmRTaXplMTUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3NpemUvYmFja2dyb3VuZFNpemUx
NS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmFja2dyb3VuZHMvc2l6ZS9iYWNrZ3JvdW5kU2l6ZTE1LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDk3
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDh4OTcwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5NzAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDk3MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDk1NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4
MTAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9iYXNpYy8wMTAt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL2Jhc2ljLzAxMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMvMDEwLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MjI2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzQKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDEzNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDExOAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljL2Zp
ZWxkc2V0LXN0cmV0Y2gtdG8tbGVnZW5kLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9iYXNpYy9maWVsZHNldC1zdHJldGNoLXRv
LWxlZ2VuZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMvZmllbGRzZXQtc3RyZXRjaC10by1sZWdlbmQtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDg1OQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgIFJlbmRlckZpZWxkU2V0IHtGSUVMRFNFVH0gYXQgKDIsODEyKSBzaXplIDEyOHgy
OSBbYm9yZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgICAgUmVuZGVyQmxvY2sge0xF
R0VORH0gYXQgKDE0LDApIHNpemUgMTU2eDEyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRild
Ci1sYXllciBhdCAoOCw1ODEpIHNpemUgMTg2eDQwCitsYXllciBhdCAoOCw1ODEpIHNpemUgMTAw
eDQwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw1NzMp
IHNpemUgMTAweDQwCiAgICAgUmVuZGVyRmllbGRTZXQge0ZJRUxEU0VUfSBhdCAoMiwwKSBzaXpl
IDE4NHgyOSBbYm9yZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgIFJlbmRlckJsb2Nr
IHtMRUdFTkR9IGF0ICgxNCwwKSBzaXplIDE1NngxMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAw
RkYpXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDA4
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ibG9jay9mbG9hdC8wMDgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAwOC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDYwOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc2OXgzMDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkg
c2l6ZSA3Njl4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAxMy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2sv
ZmxvYXQvMDEzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAotbGF5ZXIgYXQgKDgsNjQpIHNpemUgODAweDExNQorbGF5
ZXIgYXQgKDgsNjQpIHNpemUgODAweDEwOAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDgsNjQpIHNpemUgODAweDEwOCBbYmdjb2xvcj0jMDAwMEZGXQogICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzOCw4KSBzaXplIDcyM3g1NyBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVy
OiAoMnB4IHNvbGlkICM4ODg4NzgpIG5vbmVdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxODJ4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrL2Zsb2F0LzAxOS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDE5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTktZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAyMDA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAyMDA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgNzg0eDE1NApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svZmxvYXQvMDIxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMjEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyMS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDE1MTh4MzE2NgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxNTE4eDMxNjYKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDMxNjYKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDMxNjYKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgzMTQyCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwwKSBzaXplIDc2OXgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYmxvY2svZmxvYXQvMDI5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMjktZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0
LzAyOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDE2NgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTQK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU0CiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MzgKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGlu
Zykge0RJVn0gYXQgKDUzMiwwKSBzaXplIDI1MngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYw
MDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAz
MS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmxvY2svZmxvYXQvMDMxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzEtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgzMzIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDMwMAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4Mjg0CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4NTAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svZmxvYXQvMDMzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjAwOAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4
MjAwOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc2OXg1ODQKIGxheWVyIGF0ICg0NzcsOCkgc2l6ZSAzMDB4MjAwMApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDM1LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Jsb2NrL2Zsb2F0LzAzNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg4MjgKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDgyOAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2
MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQKICAgICAgIFJl
bmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA2NzN4ODIwIFtib3JkZXI6
ICgxMHB4IHNvbGlkICMwMDAwRkYpXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmxvY2svZmxvYXQvYXZvaWRhbmNlLXBlcmNlbnQtd2lkdGgtc3RyaWN0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9h
dC9hdm9pZGFuY2UtcGVyY2VudC13aWR0aC1zdHJpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2F2b2lk
YW5jZS1wZXJjZW50LXdpZHRoLXN0cmljdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgxMng1ODUKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODEyeDEzOAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHgxMzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMjIKICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgODAweDUwCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9jbGFtcGVkLXJpZ2h0LWZsb2F0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9mbG9hdC9jbGFtcGVkLXJpZ2h0LWZsb2F0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9jbGFtcGVk
LXJpZ2h0LWZsb2F0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTA4CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sgKGZs
b2F0aW5nKSB7RElWfSBhdCAoLTQyMTYsMCkgc2l6ZSA1MDAweDEwMCBbYmdjb2xvcj0jNjZFRUFB
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQt
aW4tZmxvYXQtcGFpbnRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LWluLWZsb2F0LXBhaW50aW5nLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9jay9mbG9hdC9mbG9hdC1pbi1mbG9hdC1wYWludGluZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTE1OiAiaXNzdWVzIChmbGlj
a3IuY29tKSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTUsMTgpIHNpemUgNTk3
eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNSwxOCkgd2lkdGggNTk3OiAiLCBvciByYXRo
ZXIsIGEgcmVsYXRlZCBwYWludGluZyBpc3N1ZS4gVGhlIHdvcmQgXCJQQVNTXCIgc2hvdWxkIGFw
cGVhciBiZWxvdyBpbiB0cmFuc2x1Y2VudCBibHVlLiIKLWxheWVyIGF0ICg4LDQ0KSBzaXplIDc4
NHgxNjIKK2xheWVyIGF0ICg4LDQ0KSBzaXplIDc4NHgxMjUKICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMzYpIHNpemUgNzg0eDEyNQogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0g
YXQgKDAsMCkgc2l6ZSAxMDR4MTI1CiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBz
aXplIDEwMHgxMDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zs
b2F0L25lc3RlZC1jbGVhcmFuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L25lc3RlZC1jbGVhcmFuY2UtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL2Zsb2F0L25lc3RlZC1jbGVhcmFuY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTUwNAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTUwNAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTQ0NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA3ODV4MTQ0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5
eDE0MjgKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA2
NHg2OApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvcmVs
YXRpdmUtcGFpbnRlZC10d2ljZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvcmVsYXRpdmUtcGFpbnRlZC10d2ljZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYmxvY2svZmxvYXQvcmVsYXRpdmUtcGFpbnRlZC10d2ljZS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDIwMTYK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgyMDAwCiAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OXgxNTAKICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDE1MCkgc2l6ZSA3Njl4MAotbGF5ZXIgYXQgKDgsNTgpIHNpemUgNzY5eDEwMAor
bGF5ZXIgYXQgKDgsNTgpIHNpemUgNzY5eDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgNzY5eDAKICAgICBSZW5kZXJCbG9jayAoZmxvYXRp
bmcpIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDAwMDAwN0ZdCiBjYXJl
dDogcG9zaXRpb24gMCBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQg
MSB7RElWfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9j
ay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTMwCitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg1OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NTgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTE0CiAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdp
bi1jb2xsYXBzZS8wNjItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjItZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDExIEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDExMCBsYXllclR5cGU6IGJhY2tncm91bmQgb25seQorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NDYgbGF5ZXJUeXBlOiBiYWNrZ3JvdW5kIG9ubHkKIGxheWVyIGF0ICgxMCw0
Nikgc2l6ZSAzMjB4NjQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAtMSB7RElWfSBh
dCAoMTAsNDYpIHNpemUgMzIweDY0IFtjb2xvcj0jRkZGRjAwXSBbYmdjb2xvcj0jRkYwMDAwXQog
ICAgIFJlbmRlclRleHQgekk6IC0xIHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNngxOAogICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzY6ICJGQUlMIgotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MTEwIGxheWVyVHlwZTogZm9yZWdyb3VuZCBvbmx5CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg0NiBsYXllclR5cGU6IGZvcmVncm91bmQgb25seQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NDYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMTAsNDYpIHNpemUg
NzgweDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDApIHNpemUgNzc2eDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8w
NjMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDExIEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDc3IGxheWVyVHlwZTogYmFja2dyb3VuZCBvbmx5Cits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg0OSBsYXllclR5cGU6IGJhY2tncm91bmQgb25seQogbGF5
ZXIgYXQgKDEwLDEzKSBzaXplIDMyMHg2NAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6
IC0xIHtESVZ9IGF0ICgxMCwxMykgc2l6ZSAzMjB4NjQgW2NvbG9yPSNGRkZGMDBdIFtiZ2NvbG9y
PSNGRjAwMDBdCiAgICAgUmVuZGVyVGV4dCB6STogLTEgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM2
eDE4CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNjogIkZBSUwiCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHg3NyBsYXllclR5cGU6IGZvcmVncm91bmQgb25seQorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NDkgbGF5ZXJUeXBlOiBmb3JlZ3JvdW5kIG9ubHkKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDQ5CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDEw
LDIpIHNpemUgNzgweDEKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDApIHNpemUgNzc2
eDEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xs
YXBzZS8xMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8xMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1j
b2xsYXBzZS8xMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA5NzZ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk3Nng1ODUKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxMDggW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZG
KV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xs
YXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2Nr
LWluc2lkZS1pbmxpbmUvMDA0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5z
aWRlLWlubGluZS8wMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1OAogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMTQKICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1pbmxpbmUvMDA1LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMDUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L21hcmdpbi1jb2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDgz
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjU5LDApIHdpZHRoIDQ5OiAidGVzdCAwMDYiCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzA4LDApIHNpemUgNHgxOAogICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMDgsMCkgd2lkdGggNDogIi4iCi1sYXllciBhdCAoMTEsMTAzKSBzaXpl
IDM2eDMyNworbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngyNzcKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzZ4Mjc3IFtiZ2NvbG9yPSMw
MDAwRkZdCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzNngwCiAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCkBAIC02Miw3ICs2Miw3
IEBAIGxheWVyIGF0ICgxMSwxMDMpIHNpemUgMzZ4MzI3CiAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMzI3KSBzaXplIDM2eDAKICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngxMDkKK2xheWVyIGF0ICgxMSwxMDMpIHNpemUg
MzZ4NTkKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDAp
IHNpemUgMzZ4NTkgW2JnY29sb3I9I0ZGMDAwMF0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwwKSBzaXplIDM2eDAKICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSAweDAKQEAgLTc0LDcgKzc0LDcgQEAgbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngxMDkK
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMDkpIHNpemUgMzZ4MAogICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDEw
OQorbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNng1OQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNng1OSBbYmdjb2xvcj0jRkYwMDAwXQog
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMzZ4MAogICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MApAQCAtODUsNyArODUsNyBAQCBsYXll
ciBhdCAoMTEsMTAzKSBzaXplIDM2eDU5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDM2eDU5IFtiZ2NvbG9yPSNGRkZGMDBdCiAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzZ4NTkKICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDM2OiAiQSIKLWxheWVyIGF0ICgxMSwyMTIpIHNpemUgMzZ4MTA5CitsYXllciBh
dCAoMTEsMjEyKSBzaXplIDM2eDU5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMCwwKSBzaXplIDM2eDU5IFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzNngwCiAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzAwMi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2svcG9zaXRpb25pbmcvMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3
ICs4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM0CiAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNTI4eDE2CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxKSB3aWR0aCA1Mjg6ICJBaGVtX2ZvbnRfcmVxdWlyZWRfZm9yX3RoaXNfdGVzdC4iCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsMjYp
IHNpemUgNjAweDIwMAorbGF5ZXIgYXQgKDgsMjYpIHNpemUgMzAweDEwMAogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTgpIHNpemUgMzAweDEwMCBbYmdj
b2xvcj0jRkYwMDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNjAweDIw
MCBbY29sb3I9IzAwODAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDMwMHgxMDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0
aW9uaW5nLzA0Ny1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDQ3LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmlu
Zy8wNDctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIGxheWVy
IGF0ICg4LDgpIHNpemUgNTEyeDgzOQogICAgICAgICB0ZXh0IHJ1biBhdCAoMzIwLDMxKSB3aWR0
aCAxOTI6ICIgKGhpdCBpdCBhIGZldyB0aW1lcyBvbiIKICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NjApIHdpZHRoIDUwMTogInRoaXMgcGFnZSkuIFRoaXMgaXMgYSBjcmlwcGxpbmcgZmxhdyBmb3Ig
cGVvcGxlIHdobyBuZWVkIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4OSkgd2lkdGggMzcwOiAi
dG8gZW5sYXJnZSB0aGUgZm9udHMgdG8gcmVhZCBjb21mb3J0YWJseS4iCi1sYXllciBhdCAoNTQ2
LDE3OSkgc2l6ZSAyMDB4NDkKK2xheWVyIGF0ICg1NDYsMTc5KSBzaXplIDIwMHg0OAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge1NQQU59IGF0ICg1MzgsMTcxKSBzaXplIDIwMHg0OAogICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMSkgc2l6ZSAxOTl4NTAKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0xKSB3aWR0aCAxOTk6ICJceHsyMTkwfSB0aGlzIHNob3VsZCBiZSB0byB0aGUgcmln
aHQgb2YiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlv
bmluZy8wNDktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA0OS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcv
MDQ5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotbGF5ZXIgYXQgKDEwLDEwKSBzaXplIDE2MHgxNjAKK2xh
eWVyIGF0ICgxMCwxMCkgc2l6ZSAxMjB4MTIwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMTAsMTApIHNpemUgMTIweDEyMCBbYmdjb2xvcj0jRkYwMDAwXSBbYm9yZGVyOiAo
MTBweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMTApIHNp
emUgMTUweDE1MCBbYmdjb2xvcj0jMDA4MDAwXQogbGF5ZXIgYXQgKDIwMCwxMCkgc2l6ZSAxMjB4
MTIwIGNsaXAgYXQgKDIxMCwyMCkgc2l6ZSAxMDB4MTAwIHNjcm9sbFdpZHRoIDE1MCBzY3JvbGxI
ZWlnaHQgMTUwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3Np
dGlvbmluZy8wNTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA1MS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25p
bmcvMDUxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQCBsYXll
ciBhdCAoMzQsMjI2NSkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6
STogLTMwIHtQfSBhdCAoMTAsMjEwKSBzaXplIDIwMHgyMDAgW2NvbG9yPSNGRkZGRkZdIFtiZ2Nv
bG9yPSM2NjAwOTldCiAgICAgUmVuZGVyVGV4dCB6STogLTMwIHsjdGV4dH0gYXQgKDcxLDQyKSBz
aXplIDU3eDk3CiAgICAgICB0ZXh0IHJ1biBhdCAoNzEsNDIpIHdpZHRoIDU3OiAiNyIKLWxheWVy
IGF0ICg4NCw4NDMpIHNpemUgNTE5eDIwMAorbGF5ZXIgYXQgKDg0LDg0Mykgc2l6ZSAyMDB4MjAw
CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogLTMge1B9IGF0ICg2MCw2MCkgc2l6ZSAy
MDB4MjAwIFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xvcj0jOTkwMDY2XQogICAgIFJlbmRlclRleHQg
ekk6IC0zIHsjdGV4dH0gYXQgKDUwLDQyKSBzaXplIDQ2OXg5NwogICAgICAgdGV4dCBydW4gYXQg
KDUwLDQyKSB3aWR0aCA0Njk6ICIgOCBoaWRlIG1lIgpAQCAtOTksNyArOTksNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg1MjY5IGxheWVyVHlwZTogCiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMzQ5OiAiVXNpbmcgYXNzdW1lZCBkZWZhdWx0IHZhbHVlIG9mIHotaW5kZXgg
KG1heSBub3QgcGFzcyk6IgogbGF5ZXIgYXQgKDI0LDE0Nykgc2l6ZSA2MjB4NjIwCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMTYsMTI2KSBzaXplIDYyMHg2
MjAgW2JvcmRlcjogKDEwcHggc29saWQgIzAwMDAwMCldCi1sYXllciBhdCAoODQsMjA3KSBzaXpl
IDUxOXgyMDAKK2xheWVyIGF0ICg4NCwyMDcpIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAo
cG9zaXRpb25lZCkge1B9IGF0ICg2MCw2MCkgc2l6ZSAyMDB4MjAwIFtjb2xvcj0jRkZGRkZGXSBb
Ymdjb2xvcj0jOTkwMDY2XQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTAsNDIpIHNpemUg
NDY5eDk3CiAgICAgICB0ZXh0IHJ1biBhdCAoNTAsNDIpIHdpZHRoIDQ2OTogIiA4IGhpZGUgbWUi
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9h
dXRvLWhlaWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9hdXRvLWhl
aWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9hdXRvLWhl
aWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
OCw3ICs4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNjM0OiAiVGhlIHJlZCBib3ggc2hvdWxkIGJlIGVudGlyZWx5IGlu
c2lkZSB0aGUgYmxhY2sgYm94IHdpdGggdGhlIHRleHQgY29udGVudCBzcGlsbGluZyBvdXQgb2Yg
Ym90aCBvZiB0aGVtLiIKIGxheWVyIGF0ICg4LDQyKSBzaXplIDQwNHgxMDQKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM0KSBzaXplIDQwNHgxMDQgW2Jv
cmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgxMCw2NCkgc2l6ZSA0MDB4MTQ2
CitsYXllciBhdCAoMTAsNjQpIHNpemUgNDAweDYwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMiwyMikgc2l6ZSA0MDB4NjAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAw
KV0KICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAzOTZ4MTQ0CiAgICAgICB0
ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAzOTY6ICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvcmVwbGFjZWQtaW5zaWRlLWZpeGVk
LXRvcC1ib3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3JlcGxhY2VkLWluc2lkZS1maXhlZC10b3At
Ym90dG9tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXBsYWNlZC1pbnNpZGUtZml4ZWQtdG9w
LWJvdHRvbS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwwKSBzaXpl
IDgwMHgwCiBsYXllciBhdCAoNTAsMTAwKSBzaXplIDcwMHg0MDAKICAgUmVuZGVyQmxvY2sgKHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICg1MCwxMDApIHNpemUgNzAweDQwMCBbYm9yZGVyOiAoMXB4IHNv
bGlkICM4MDgwODApXQotbGF5ZXIgYXQgKDUxLDE0MCkgc2l6ZSA1NjB4MzIzCitsYXllciBhdCAo
NTEsMTQwKSBzaXplIDU2MHgzMjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgxLDQwKSBzaXplIDU2MHgzMjAgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMSwxKSBzaXplIDM5MngzMTgKICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Jsb2NrZmxvdy9ibG9jay1sZXZlbC1pbWFnZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ibG9jay1sZXZlbC1p
bWFnZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ibG9jay1sZXZlbC1pbWFnZXMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgzMTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHgwCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyLDIpIHNpemUg
MjY0eDMwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMtY2xpcHBpbmctdmVydGlj
YWwtbHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrZmxvdy9ib3JkZXItcmFkaXVzLWNsaXBwaW5nLXZlcnRpY2FsLWxyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ibG9ja2Zsb3cvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy12ZXJ0aWNhbC1sci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4
NXg2MjEKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDYyMQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDcyN3g1ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MTQ0eDYwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Jv
eC1zaGFkb3ctdmVydGljYWwtbHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1
eDYwOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc2OXg1ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTQ0eDYwMApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JveC1zaGFkb3ct
dmVydGljYWwtcmwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLXJsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9j
a2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1ybC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTQ0eDYwMApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Zsb2F0cy1pbi1ibG9jay1sYXlv
dXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Jsb2NrZmxvdy9mbG9hdHMtaW4tYmxvY2stbGF5b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvZmxv
YXRzLWluLWJsb2NrLWxheW91dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgMzA4eDYwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxMTZ4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDExNng2
MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEwMHg1ODQKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDU4NCBbYmdjb2xvcj0jRkZGRjAwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNr
Z3JvdW5kLWNvbG9yLzAwMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWNvbG9yLzAwMi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWNvbG9yLzAwMi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDM0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjQgW2JnY29sb3I9IzAwRkYwMF0KICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MCBbYmdjb2xvcj0jRkYwMDAwXQogICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1s
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1sLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5
LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1sLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MzQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI0CiAgIFJlbmRlckJsb2NrIHtodG1sfSBh
dCAoMCwwKSBzaXplIDgwMHgyNCBbYmdjb2xvcj0jMDBGRjAwXQogICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgwIFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJC
bG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJv
cGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFj
a2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4MjQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI0CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDAKICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9k
eS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9w
YWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDM0
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAs
MCkgc2l6ZSA4MDB4MjQKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4
MAogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Ym9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3Zl
cmZsb3cvMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1
eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjMzCitsYXllciBhdCAoMCwwKSBzaXplIDc4
NXgxNzgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDE3OAogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTYyeDE2MiBbY29sb3I9IzAwMDA4MF0gW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDgwKV0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMSwx
Nykgc2l6ZSAxNjB4NzIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHkt
cHJvcGFnYXRpb24vb3ZlcmZsb3cvMDAxLXhodG1sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93
LzAwMS14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDEteGh0bWwtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBh
dCAoMCwwKSBzaXplIDc4NXgyMzMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE3OAogICBSZW5k
ZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTc4CiAgICAgUmVuZGVyQm9keSB7Ym9k
eX0gYXQgKDgsOCkgc2l6ZSAxNjJ4MTYyIFtjb2xvcj0jMDAwMDgwXSBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDAwODApXQogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgxLDE3KSBzaXplIDE2MHg3
MgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9v
dmVyZmxvdy8wMDUtZGVjbGFyYXRpdmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWRl
Y2xhcmF0aXZlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS1kZWNsYXJhdGl2
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAo
MCwwKSBzaXplIDc4NXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDQ0OQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MzQwCiAg
IFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXgzNDAKICAgICBSZW5kZXJCb2R5
IHtib2R5fSBhdCAoOCwxNzApIHNpemUgMTYyeDE2MiBbY29sb3I9IzAwMDA4MF0gW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMDgwKV0KICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMSwxNykgc2l6
ZSAxNjB4MTI2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3Bh
Z2F0aW9uL292ZXJmbG93LzAwNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDU4NQogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NDQ5Cits
YXllciBhdCAoMCwwKSBzaXplIDc4NXgzNDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDM0MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE3MCkgc2l6ZSAxNjJ4
MTYyIFtjb2xvcj0jMDAwMDgwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwODApXQogICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgxLDE3KSBzaXplIDE2MHgxMjYKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LXhodG1sLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
b2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlv
bi9vdmVyZmxvdy8wMDUteGh0bWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NDkKK2xheWVyIGF0ICgw
LDApIHNpemUgNzg1eDM0MAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4
MzQwCiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTcwKSBzaXplIDE2MngxNjIgW2NvbG9y
PSMwMDAwODBdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDA4MCldCiAgICAgICBSZW5kZXJCbG9j
ayB7cH0gYXQgKDEsMTcpIHNpemUgMTYweDEyNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJhZGl1cy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJv
cmRlclJhZGl1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJhZGl1cy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAg
ICAgICAgIFJlbmRlckZpZWxkU2V0IHtGSUVMRFNFVH0gYXQgKDIsMzQ3KSBzaXplIDEyOHgzOSBb
Ym9yZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgICAgICBSZW5kZXJCbG9jayB7TEVH
RU5EfSBhdCAoMTQsMCkgc2l6ZSAxNTZ4MTIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0K
LWxheWVyIGF0ICg0NTgsMTA2KSBzaXplIDE4Nng0MAorbGF5ZXIgYXQgKDQ1OCwxMDYpIHNpemUg
MTAweDQwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw5
OCkgc2l6ZSAxMDB4NDAKICAgICBSZW5kZXJGaWVsZFNldCB7RklFTERTRVR9IGF0ICgyLDApIHNp
emUgMTg0eDM5IFtib3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQogICAgICAgUmVuZGVyQmxv
Y2sge0xFR0VORH0gYXQgKDE0LDApIHNpemUgMTU2eDEyIFtib3JkZXI6ICgxcHggc29saWQgIzAw
MDBGRildCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2Jh
c2ljLXNoYWRvd3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JveC1zaGFkb3cvYmFzaWMtc2hhZG93cy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9i
YXNpYy1zaGFkb3dzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY3MQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjcxCitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg2NTgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDY1OAogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDYzNAogICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MTUwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2l6aW5nL2JveC1zaXppbmctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaXppbmcvYm94LXNp
emluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm94LXNpemluZy9ib3gtc2l6aW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtNzUsNyArNzUsNyBAQCBsYXllciBhdCAoNDMsNDEzKSBzaXplIDIweDIwCiAgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNDMsNDEzKSBzaXplIDIweDIwIFtjb2xv
cj0jRkZGRkZGXSBbYmdjb2xvcj0jRkZBNTAwXSBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDAp
XQogbGF5ZXIgYXQgKDczLDQxMykgc2l6ZSAyMHgyMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25l
ZCkge0RJVn0gYXQgKDczLDQxMykgc2l6ZSAyMHgyMCBbY29sb3I9I0ZGRkZGRl0gW2JnY29sb3I9
I0ZGQTUwMF0gW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgxMDMsNDEz
KSBzaXplIDIweDYwCitsYXllciBhdCAoMTAzLDQxMykgc2l6ZSAyMHgyMAogICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDEwMyw0MTMpIHNpemUgMjB4MjAgW2NvbG9yPSNGRkZG
RkZdIFtiZ2NvbG9yPSNGRkE1MDBdIFtib3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCiAgICAg
UmVuZGVyQlIge0JSfSBhdCAoNiw2KSBzaXplIDB4MTgKICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg2
LDI0KSBzaXplIDB4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAv
MDA4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9jbGlwLzAwOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xMyw3ICsxMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDcwCiAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDYyKSBzaXplIDEw
MHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDYyKSBzaXplIDEw
MHgxMDAKLWxheWVyIGF0ICgxMDAsMTAwKSBzaXplIDIwMHgyMDAKK2xheWVyIGF0ICgxMDAsMTAw
KSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxMDAs
MTAwKSBzaXplIDEwMHgxMDAKIGxheWVyIGF0ICgyMDAsMjAwKSBzaXplIDEwMHgxMDAKICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAw
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDktZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDA5
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jbGlwLzAwOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw2
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDEs
MCkgd2lkdGggMjM5OiAiVGhpcyB0ZXN0IGlzIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSBjbGlwIgog
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTkyOiAiaXMgYXBwbHlpbmcgdG8gYWxs
IGRlc2NlbmRhbnRzLiAiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLWxheWVyIGF0ICg4LDQ0KSBzaXplIDIwMHgyMDAgYmFja2dyb3VuZENsaXAgYXQgKDgsNDQp
IHNpemUgMTAweDEwMCBjbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgb3V0bGluZUNsaXAgYXQg
KDgsNDQpIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsNDQpIHNpemUgMTAweDEwMAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNDQpIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jMDA4MDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMDAsMTAwKSBzaXplIDEwMHgx
MDAgW2JnY29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2NsaXAvMDEwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9jbGlwLzAxMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTAtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC05LDYgKzksNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MgogICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTQxLDApIHdpZHRoIDIzOTogIlRoaXMgdGVzdCBpcyBjaGVja2luZyB0
byBtYWtlIHN1cmUgY2xpcCIKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE5Mjog
ImlzIGFwcGx5aW5nIHRvIGFsbCBkZXNjZW5kYW50cy4gIgogICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw0NCkgc2l6ZSAyMDB4MjAwIGJhY2tn
cm91bmRDbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgY2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4
MTAwIG91dGxpbmVDbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDQ0KSBz
aXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDQ0KSBz
aXplIDEwMHgxMDAgW2JnY29sb3I9IzAwODAwMF0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MTAwLDEwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTEtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDExLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDYgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NTIKICAgICAgICAgdGV4dCBydW4gYXQgKDU0MSwwKSB3aWR0aCAyMzk6ICJUaGlz
IHRlc3QgaXMgY2hlY2tpbmcgdG8gbWFrZSBzdXJlIGNsaXAiCiAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDE4KSB3aWR0aCAxOTI6ICJpcyBhcHBseWluZyB0byBhbGwgZGVzY2VuZGFudHMuICIKICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsNDQp
IHNpemUgMjAweDQwMCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIGNsaXAg
YXQgKDgsNDQpIHNpemUgMTAweDEwMCBvdXRsaW5lQ2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAw
CitsYXllciBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCiAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAw
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDEy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jbGlwLzAxMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw2
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDEs
MCkgd2lkdGggMjM5OiAiVGhpcyB0ZXN0IGlzIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSBjbGlwIgog
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTkyOiAiaXMgYXBwbHlpbmcgdG8gYWxs
IGRlc2NlbmRhbnRzLiAiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLWxheWVyIGF0ICg4LDQ0KSBzaXplIDIwMHg0MDAgYmFja2dyb3VuZENsaXAgYXQgKDgsNDQp
IHNpemUgMTAweDEwMCBjbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgb3V0bGluZUNsaXAgYXQg
KDgsNDQpIHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsNDQpIHNpemUgMTAweDEwMAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNDQpIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jMDA4MDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMDAsMTAwKSBzaXplIDEwMHgx
MDAgW2JnY29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2NvbXBhY3QvMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jb21wYWN0LzAwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY29tcGFjdC8wMDEtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg3NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NzYKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDc2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYp
IHNpemUgNzg0eDUyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9u
LW9uLWJhY2tncm91bmQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9uLW9uLWJhY2tncm91bmQt
aW1hZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9uLW9uLWJhY2tncm91bmQtaW1hZ2UtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4ODYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDc4NXg4NjAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3Njl4NTc2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkg
c2l6ZSA3Njl4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9uZWdh
dGl2ZS1sZWFkaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jc3MvbmVnYXRpdmUtbGVhZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25lZ2F0aXZlLWxl
YWRpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMDUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDE5
OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTk4CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE3NAogICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDApIHNpemUgNzg0eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9jc3MvcGVyY2VudGFnZS1ub24taW50ZWdlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3BlcmNlbnRhZ2Utbm9uLWludGVnZXIt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Nzcy9wZXJjZW50YWdlLW5vbi1pbnRlZ2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAxM3g1ODUKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTAxM3g1
ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2Jn
Y29sb3I9IzAwRkYwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy93
b3JkLXNwYWNlLWV4dHJhLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9jc3Mvd29yZC1zcGFjZS1leHRyYS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3dvcmQtc3Bh
Y2UtZXh0cmEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAyMDI2eDIzOTMKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMjAyNngyMzkzCitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXgyMzkzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMzkzCiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjM3NwogICAgICAgUmVuZGVy
QmxvY2sge0gyfSBhdCAoMCwwKSBzaXplIDc2OXgyOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZG9tL2Nsb25lLW5vZGUtZHluYW1pYy1zdHlsZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL2Nsb25lLW5vZGUt
ZHluYW1pYy1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL2Nsb25lLW5vZGUtZHluYW1pYy1zdHlsZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgzOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgw
LDApIHNpemUgODM4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtIMX0gYXQgKDAsMCkgc2l6
ZSA3ODR4MzcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2lu
ZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxi
YXJzLXRlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBh
dCAoMCwwKSBzaXplIDc2OHg1OTIKK2xheWVyIGF0ICgwLDApIHNpemUgNzY4eDU2OAogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3Njh4NTY4CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3NTJ4NTg0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA0ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2V2ZW50
cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xOSw4ICsxOSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU4MCwxOCkgd2lkdGggMzc6ICJDcmFzaCIKICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5k
ZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIGxheWVyIGF0ICgwLDAp
IHNpemUgOHg4CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDh4
OAorICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDB4OAogICAgICAgICAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDB4OAogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zs
ZXhib3gvMDA5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mbGV4Ym94LzAwOS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC8wMDktZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xMSw0ICsxMSw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDksMTgpIHdpZHRoIDMyNjogIklmIHlvdSBkbyBu
b3Qgc2VlIGEgc2Nyb2xsYmFyLCB0aGVuIHRoZSB0ZXN0IGhhcyBmYWlsZWQuIgogbGF5ZXIgYXQg
KDgsNjApIHNpemUgMTA0eDEwNCBjbGlwIGF0ICgxMCw2Mikgc2l6ZSA4NXgxMDAgc2Nyb2xsSGVp
Z2h0IDEwMDAKICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDAsNTIpIHNpemUgMTA0eDEw
NCBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IHNvbGlkICM4MDgwMDApXQotICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMHgxMDAwCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMikgc2l6ZSA4NXgxMDAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mbGV4Ym94LzAxNi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC8wMTYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZsZXhib3gvMDE2LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODEyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MTJ4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NSBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgICAgUmVuZGVyRmxleGli
bGVCb3gge0RJVn0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mbGV4Ym94L2ZsZXgtaGFuZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC9mbGV4LWhhbmctZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2ZsZXhib3gvZmxleC1oYW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg4eDU4NwogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODh4NTg3CitsYXllciBhdCAoMCww
KSBzaXplIDc4NXg1ODcKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDU4
NwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgNzg1eDU4NwogICAgICAgUmVu
ZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODd4NTg3IFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jt
cy9iYXNpYy10ZXh0YXJlYXMtcXVpcmtzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNpYy10ZXh0YXJlYXMtcXVpcmtzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mb3Jtcy9iYXNpYy10ZXh0YXJlYXMtcXVpcmtzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwNTAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDEw
NTAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
Njl4NTg0CiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUg
MzUyeDgxNyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZmlsZS1pbnB1dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2ZpbGUt
aW5wdXQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9maWxlLWlucHV0LWRpcmVjdGlvbi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDEwODN4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDEwODN4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCww
KSBzaXplIDEwNzV4MTA4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jt
cy9mbG9hdGluZy10ZXh0ZmllbGQtcmVsYXlvdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Zsb2F0aW5nLXRleHRmaWVsZC1y
ZWxheW91dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvZmxvYXRpbmctdGV4dGZpZWxkLXJlbGF5b3V0LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTcsNyArMTcsNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OSwxOCkgc2l6ZSA0eDE4
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5LDE4KSB3aWR0aCA0OiAiLiIKICAgICAgIFJlbmRl
ckJsb2NrIHtIUn0gYXQgKDAsNTIpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAw
MDAwKV0KLWxheWVyIGF0ICg4LDcwKSBzaXplIDc4NHgyMQorbGF5ZXIgYXQgKDgsNzApIHNpemUg
Nzg0eDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDYy
KSBzaXplIDc4NHgwCiAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMCwyKSBzaXpl
IDM5MngxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQog
bGF5ZXIgYXQgKDExLDc1KSBzaXplIDM4NngxMwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvZm9ybXMvdGV4dGZpZWxkLW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3ZlcmZs
b3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTYsNiArNiw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
UmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwwKSBzaXplIDEyNXgxMCBbYmdjb2xvcj0j
RkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMywxMSkgc2l6ZSAxMTl4NAorbGF5ZXIgYXQgKDEzLDEx
KSBzaXplIDExOXg0IHNjcm9sbEhlaWdodCAxMwogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywz
KSBzaXplIDExOXg0CiBjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxk
IDEge0lOUFVUfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
cmFtZXMvZnJhbWUtc2Nyb2xsaW5nLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZyYW1lLXNjcm9sbGluZy1h
dHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgMTk1eDE0NQog
ICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgMTgweDEzMAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0
ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjR4NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDE2NHg1NApAQCAtMTgsNyArMTgsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDIwMSwwKSBzaXpl
IDE5NXgxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAg
ICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY0eDQ3MAogICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4NTQKQEAgLTMwLDcgKzMwLDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg0
MDIsMCkgc2l6ZSAxOTV4MTQ1CiAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4Ngog
ICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODB4MTMwCi0gICAgICAgIGxheWVy
IGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4MHg0
ODYKICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAg
ICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2NHg0NzAKICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY0eDU0CkBAIC00Miw3ICs0
Miw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyRnJhbWUge0ZS
QU1FfSBhdCAoNjAzLDApIHNpemUgMTk3eDE0NQogICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTgyeDEzMAotICAg
ICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxODJ4NDg2CiAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
MTgyeDQ4NgogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjZ4
NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2Nng1NApA
QCAtNTQsNyArNTQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRl
ckZyYW1lIHtGUkFNRX0gYXQgKDAsMTUxKSBzaXplIDE5NXgxNDUKICAgICAgICAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4
MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVy
IGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgMTY0eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6
ZSAxNjR4NTQKQEAgLTY2LDcgKzY2LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgyMDEsMTUxKSBzaXplIDE5NXgxNDUKICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDE5NXgxNDUKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2Cisg
ICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTk1eDQ4NgogICAgICAgICAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDE5NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgMTc5eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMCkgc2l6ZSAxNzl4NTQKQEAgLTc4LDcgKzc4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg0MDIsMTUxKSBzaXplIDE5
NXgxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY0eDQ3MAogICAgICAgICAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4NTQKQEAgLTkwLDcgKzkwLDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg2MDMs
MTUxKSBzaXplIDE5N3gxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAg
ICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MngxMzAKLSAgICAgICAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgyeDQ4
NgogICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4Mng0ODYKICAg
ICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY2eDQ3MAogICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjZ4NTQKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9pZnJhbWUtc2Nyb2xsaW5nLWF0dHJpYnV0
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvZnJhbWVzL2lmcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaWZyYW1l
LXNjcm9sbGluZy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3
ICsyMSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAgICBSZW5kZXJQYXJ0
T2JqZWN0IHtJRlJBTUV9IGF0ICgwLDApIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0
ICMwMDAwMDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAg
ICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBh
dCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0
ODYKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYK
ICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAg
ICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkBAIC0z
NSw3ICszNSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAgICBSZW5kZXJQ
YXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgyMDgsMCkgc2l6ZSAyMDR4MjA0IFtib3JkZXI6ICgycHgg
aW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAg
ICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTg1eDE4NQotICAgICAgICAgIGxh
eWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUg
MTg1eDQ4NgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTg1
eDQ4NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2OXg0
NzAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjl4NTQK
QEAgLTQ5LDcgKzQ5LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJl
bmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDQxNiwwKSBzaXplIDIwNHgyMDQgW2JvcmRlcjog
KDJweCBpbnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0
ODYKICAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODV4MTg1Ci0gICAgICAg
ICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxODV4NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSAxODV4NDg2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
MTY5eDQ3MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2
OXg1NApAQCAtNjMsNyArNjMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2OTIKICAgICAg
ICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoMCwyMDgpIHNpemUgMjA0eDIwNCBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUg
NDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAg
ICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAo
MCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgMTY5eDU0CkBAIC03Nyw3ICs3Nyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5Mgog
ICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgyMDgsMjA4KSBzaXplIDIwNHgy
MDQgW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCww
KSBzaXplIDQwOHg0ODYKICAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODV4
MTg1Ci0gICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAxODV4NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSAxODV4NDg2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgMTY5eDQ3MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCwwKSBzaXplIDE2OXg1NApAQCAtOTEsNyArOTEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4
NXg2OTIKICAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoNDE2LDIwOCkgc2l6
ZSAyMDR4MjA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgMjAweDIwMAotICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgMjAweDQ4NgogICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMjAweDQ4NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDE4NHg0NzAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSAxODR4NTQKQEAgLTEwNSw3ICsxMDUsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDc4NXg2OTIKICAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoMCw0
MTYpIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICAg
IGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYK
KyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkBAIC0xMTksNyArMTE5LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0g
YXQgKDIwOCw0MTYpIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQog
ICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaW5saW5lLW9iamVjdC1pbnNpZGUtZnJhbWVzZXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2ZyYW1lcy9pbmxpbmUtb2JqZWN0LWluc2lkZS1mcmFtZXNldC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2lubGlu
ZS1vYmplY3QtaW5zaWRlLWZyYW1lc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzkzeDYzNAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3OTN4NjM0CitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYzNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDYxOAogICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5j
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4NjZ4NjA3CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXll
ciBhdCAoMCwwKSBzaXplIDg2Nng2MDcKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwNwogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjA3CiAgICAgUmVuZGVyRnJhbWVT
ZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBzaXplIDg2Nng2MDcKICAgICAgIFJlbmRlckZyYW1lU2V0
IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSA4NjZ4MjA3CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTIwMHg4MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTIw
MHg4MDAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDgwMAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA3ODV4ODAwCiAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1FU0VUfSBhdCAo
MCwwKSBzaXplIDEyMDB4ODAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNp
emUgNjAweDIwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSAxMDAweDYw
MAogICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDY1MAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDY1MAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjUwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg2NTAKICAgICBSZW5kZXJGcmFtZVNldCB7RlJBTUVTRVR9IGF0ICgwLDApIHNp
emUgMTAwMHg2NTAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDAsMCkgc2l6ZSAzMDB4
NjUwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTAweDYzMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MDB4NjMwCits
YXllciBhdCAoMCwwKSBzaXplIDc4NXg2MzAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDYzMAogICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6
ZSA5MDB4NjMwCiAgICAgICBSZW5kZXJGcmFtZVNldCB7RlJBTUVTRVR9IGF0ICgwLDApIHNpemUg
OTAweDE1MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZ3JhZGllbnRzL2Jh
Y2tncm91bmQtY2xpcHBlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvZ3JhZGllbnRzL2JhY2tncm91bmQtY2xpcHBlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZ3Jh
ZGllbnRzL2JhY2tncm91bmQtY2xpcHBlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDg0Mng1ODUKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODQyeDU4NQorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgtNTAsMjYwKSBzaXplIDIxMHgyMTAgW2JvcmRlcjog
KDVweCBkYXNoZWQgIzAwMDBGRildCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9pbWFnZXMvZ2lmLWxhcmdlLWNoZWNrZXJib2FyZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2dpZi1sYXJnZS1jaGVja2Vy
Ym9hcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2ltYWdlcy9naWYtbGFyZ2UtY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTU5OXgy
MDkwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDE1OTl4MjA5MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjA5MAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MjA5MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzY5eDIwNzQKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNp
emUgMTU5MXgyMDc0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMv
cGRmLWFzLWltYWdlLWxhbmRzY2FwZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1sYW5kc2NhcGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtbGFuZHNjYXBlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODUweDY1MwogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NTB4NjUz
CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2NTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDY1MwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5
eDYyOQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUt
YmxvY2stdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUtYmxvY2stdmVydGljYWwt
YWxpZ24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUtYmxvY2stdmVydGljYWwtYWxpZ24tZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMDI0eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMDI0eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgNzg0eDU2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbmxp
bmUvbG9uZy13cmFwcGVkLWxpbmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2lubGluZS9sb25nLXdyYXBwZWQtbGluZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW5s
aW5lL2xvbmctd3JhcHBlZC1saW5lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTk4M3g1ODUKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTk4M3g1ODUKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTk3NXgxOApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xheWVycy9s
YXllci12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5MSw3ICsxOTEsNyBAQCBsYXllciBhdCAoMTAsMzIyKSBz
aXplIDEzMHgzNgogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTYgZ3JlZW4g
Ym94IHdpdGgiCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNjE6ICJ3b3JkIG9rOiAi
CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTAs
MzU4KSBzaXplIDEzMHg1MAorbGF5ZXIgYXQgKDEwLDM1OCkgc2l6ZSAxMzB4MzQKICAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAo
MnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUg
MTI2eDQ4IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQpA
QCAtMjA2LDcgKzIwNiw3IEBAIGxheWVyIGF0ICgxNDQsMzIyKSBzaXplIDEzMHgzNgogICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTcgZ3JlZW4gYm94IHdpdGgiCiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNjE6ICJ3b3JkIG9rOiAiCiAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTQ0LDM1OCkgc2l6ZSAxMzB4NTAK
K2xheWVyIGF0ICgxNDQsMzU4KSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAw
MCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2JvcmRlcjog
KDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNp
emUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCkBAIC0yMjEsNyArMjIxLDcg
QEAgbGF5ZXIgYXQgKDI3OCwzMjIpIHNpemUgMTMweDM2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMTU6ICIxOCBncmVlbiBib3ggd2l0aCIKICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCA2MTogIndvcmQgb2s6ICIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLWxheWVyIGF0ICgyNzgsMzU4KSBzaXplIDEzMHg1MAorbGF5ZXIgYXQgKDI3OCwz
NTgpIHNpemUgMTMweDM0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwz
Nikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNng0OCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAw
MDApXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRl
cjogKDJweCBzb2xpZCAjRkYwMDAwKV0KQEAgLTIzNiw3ICsyMzYsNyBAQCBsYXllciBhdCAoNDEy
LDMyMikgc2l6ZSAxMzB4MzYKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTogIjE5
IGdyZWVuIGJveCB3aXRoIgogICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDYxOiAid29y
ZCBvazogIgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIg
YXQgKDQxMiwzNTgpIHNpemUgMTMweDU0CitsYXllciBhdCAoNDEyLDM1OCkgc2l6ZSAxMzB4MzQK
ICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBb
Ym9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgy
LDIpIHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQpAQCAtMjUxLDcgKzI1MSw3IEBAIGxheWVyIGF0ICg1NDYsMzIyKSBzaXplIDEzMHgx
OAogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkxeDE4CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA5MTogIjIwIGdyZWVuIGJveDogIgogICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDU0NiwzNDApIHNpemUgMTMweDUw
CitsYXllciBhdCAoNTQ2LDM0MCkgc2l6ZSAxMzB4MzQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgwLDE4KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAw
MDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDQ4IFtib3JkZXI6
ICgycHggc29saWQgIzAwODAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBz
aXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQpAQCAtMjY2LDcgKzI2Niw3
IEBAIGxheWVyIGF0ICgxMCw0MjYpIHNpemUgMTMweDM2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMjQ6ICIyMSB0d28gZ3JlZW4gYm94ZXMiCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwx
OCkgd2lkdGggOTM6ICJ3aXRoIHdvcmQgb2s6ICIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMCw0NjIpIHNpemUgMTMweDU0CitsYXllciBhdCAo
MTAsNDYyKSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAj
RkYwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFti
b3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1zdWJsYXllci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZp
c2liaWxpdHktc3VibGF5ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LXN1YmxheWVy
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBsYXllciBhdCAo
MCwxNzApIHNpemUgODAweDM0CiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMTApIHNpemUg
Nzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAogICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0
aCAxNjogIm9rIgotbGF5ZXIgYXQgKDAsMjQyKSBzaXplIDgwMHg1MAorbGF5ZXIgYXQgKDAsMjQy
KSBzaXplIDgwMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjQy
KSBzaXplIDgwMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgNzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAw
MCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDc5MngxOApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDEtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2xpc3RzLzAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwOXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA5eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjEKICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDEwNiBbYm9yZGVyOiAoM3B4IHNvbGlkICNGRkE1MDAp
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLXZlcnRpY2Fs
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9saXN0cy8wMDEtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMS12ZXJ0aWNhbC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4
NXg2MjAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDYyMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc2MXg1ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MTA2eDU4NCBbYm9yZGVyOiAoM3B4IHNvbGlkICNGRkE1MDApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDM1MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzM0CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzMzQKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MzAyCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcp
IHtESVZ9IGF0ICgwLDApIHNpemUgNDcweDMzNApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbGlzdHMvMDAzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtdmVydGljYWwtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xp
c3RzLzAwMy12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNDI2eDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAzMzR4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDMzNHg2MDAK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMTYsOCkgc2l6ZSAzMDJ4NTg0CiAgICAgICBSZW5k
ZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgNDEweDM1MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvbGktYnItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzL2xpLWJyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9saXN0cy9saS1ici1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDE1MTh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE1MTh4NTg1CitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2MQogICAgICAgUmVuZGVy
QmxvY2sge09MfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJl
bGF0aXZlLWNvbnN0cmFpbnRzLTAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50
cy0wMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTAzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9t
cS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3Ry
YWludHMtMDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVk
aWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNv
bnN0cmFpbnRzLTA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2
ZS1jb25zdHJhaW50cy0wNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRz
LTA2LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNi1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVs
YXRpdmUtY29uc3RyYWludHMtMDYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5Njh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJh
aW50cy0wNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21x
LXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA3LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29u
c3RyYWludHMtMDgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA4LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRp
YS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2NDIKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY0MgorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1NzYK
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2OXgxOCBbY29sb3I9IzAwODAw
MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZl
LWNvbnN0cmFpbnRzLTA5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
bWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5Njh4NTg1CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTY5CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMw
MDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0
aC1hYnNvbHV0ZS0wMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDEtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21x
LXdpZHRoLWFic29sdXRlLTAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0
ZS0wMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTAzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0
aC1hYnNvbHV0ZS0wMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDMtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCww
KSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU2OQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0j
MDA4MDAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxv
YXQtbXVsdGljb2wtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LW11bHRpY29sLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9h
dC1tdWx0aWNvbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw4IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDE2MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE2MDh4NTQ1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1NDUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU0NQotbGF5
ZXIgYXQgKDgsMTkpIHNpemUgMTYwMHg1MTAKK2xheWVyIGF0ICg4LDE5KSBzaXplIDc4NHg1MTAK
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTkpIHNpemUgNzg0eDUxMAogICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDI4IFtiZ2NvbG9yPSMwMEZGRkZdCiAgICAgICBS
ZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg0LDQpIHNpemUgMzkyeDQ2MiBbYmdjb2xv
cj0jRkZGRjAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
ZmxvYXQtcGFnaW5hdGUtY29tcGxleC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5hdGUtY29tcGxleC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5hdGUtY29tcGxleC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsOSArMSw5IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDExNjR4MTY4MAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
MTY0eDE2ODAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE2ODAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDE2ODAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc2OXgxNjY0Ci1sYXllciBhdCAoOCw4KSBzaXplIDExNTZ4NDA0CitsYXllciBhdCAo
OCw4KSBzaXplIDc2OXg0MDQKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3Njl4
NDA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDIsMikgc2l6ZSAzNzR4MjUyCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMTB4MTgKQEAgLTEzMCw3ICsxMzAsNyBAQCBsYXllciBhdCAoOCw4KSBzaXpl
IDExNTZ4NDA0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTg2KSBzaXplIDExMHgx
OAogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1ODYpIHdpZHRoIDExMDogIlRoaXMgaXMgc29tZSB0
ZXh0LiIKICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDExMCw2MDApIHNpemUgMHgwCi1sYXllciBh
dCAoOCw0MjgpIHNpemUgMTE1Nng0MDQKK2xheWVyIGF0ICg4LDQyOCkgc2l6ZSA3Njl4NDA0CiAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQyMCkgc2l6ZSA3Njl4NDA0IFtib3JkZXI6ICgycHgg
c29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIsMikgc2l6
ZSAzNzR4MjUyCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTB4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LXBhZ2lu
YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5h
dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzEsOSBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxMTg4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMTg4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKLWxheWVyIGF0ICg4LDgpIHNpemUgMTE4
MHg0MDQKK2xheWVyIGF0ICg4LDgpIHNpemUgNzg0eDQwNAogICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwwKSBzaXplIDc4NHg0MDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxMTB4MTgKICAgICAgIHRleHQgcnVuIGF0
ICgyLDIpIHdpZHRoIDExMDogIlRoaXMgaXMgc29tZSB0ZXh0LiIKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2xheWVycy1pbi1tdWx0aWNvbC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
bGF5ZXJzLWluLW11bHRpY29sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9sYXllcnMtaW4tbXVsdGljb2wtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMjg3eDY3MgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMjg3eDY3MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjcyCiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2NzIKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc2OXg2NTYKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzY5eDE4CkBAIC05LDcgKzksNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDEyODd4NjcyCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzMjgpIHNpemUg
NzY5eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg5eDE4CiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODk6ICJSVEwgVmVyc2lvbjoiCi1sYXll
ciBhdCAoOCwyNikgc2l6ZSAxMjc5eDMxMAorbGF5ZXIgYXQgKDgsMjYpIHNpemUgNzY5eDMxMAog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxOCkgc2l6ZSA3Njl4MzEwIFtib3JkZXI6ICg1cHgg
c29saWQgIzgwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDUsNSkgc2l6
ZSAyNDJ4MjM0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDZ4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3BhZ2luYXRlLWJs
b2NrLXJlcGxhY2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9wYWdpbmF0ZS1ibG9jay1yZXBsYWNlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvcGFnaW5hdGUtYmxvY2stcmVwbGFjZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDkgKzEsOSBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTg2eDU4NQogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTg2eDU4NQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
NjkKLWxheWVyIGF0ICg4LDgpIHNpemUgMTU3OHg0MDQKK2xheWVyIGF0ICg4LDgpIHNpemUgNzg0
eDQwNAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHg0MDQgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiwy
KSBzaXplIDM4MngxODAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEx
MHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRp
b25lZC13aXRoLWNvbnN0cmFpbmVkLWhlaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13aXRoLWNv
bnN0cmFpbmVkLWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13aXRoLWNvbnN0cmFp
bmVkLWhlaWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgMTA5MHg1ODUKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5Ci1sYXllciBhdCAoOCw4KSBzaXplIDEwODJ4
MzAwCitsYXllciBhdCAoOCw4KSBzaXplIDEwNngzMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICg4LDgpIHNpemUgMTA2eDMwMCBbYmdjb2xvcj0jMDBGRjAwXQogICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwNngxOAogICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTA2OiAiVGhpcyBpcyBzb21lIHRleHQiCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC90YWJsZS12ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
dGFibGUtdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3RhYmxlLXZlcnRpY2FsLWFsaWdu
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMSwxMSBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxNTYweDEwMTAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgMTU2MHgxMDEwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgx
MDEwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxMDEwCiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4OTk0CiAgICAgICBSZW5kZXJCbG9jayB7
SFJ9IGF0ICgwLDM1OCkgc2l6ZSA3Njl4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQog
ICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw2NzYpIHNpemUgNzY5eDIgW2JvcmRlcjogKDFw
eCBpbnNldCAjMDAwMDAwKV0KLWxheWVyIGF0ICg4LDgpIHNpemUgMTU1MngzNTAKK2xheWVyIGF0
ICg4LDgpIHNpemUgNzY5eDM1MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2
OXgzNTAKICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMzc2eDExNzkgW2Jv
cmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCiAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RC
T0RZfSBhdCAoMSwxKSBzaXplIDM3NHgxMTc3CkBAIC0xMzYsNyArMTM2LDcgQEAgbGF5ZXIgYXQg
KDgsOCkgc2l6ZSAxNTUyeDM1MAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDExLDExKSBzaXplIDE0NXgxNDgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMTEp
IHdpZHRoIDE0NTogIk90aGVyIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSw4NSkg
d2lkdGggMTA4OiAiY2VsbC4iCi1sYXllciBhdCAoOCwzNzYpIHNpemUgMTU1MngzMDAKK2xheWVy
IGF0ICg4LDM3Nikgc2l6ZSA3Njl4MzAwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM2OCkg
c2l6ZSA3Njl4MzAwCiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDM3Nngx
MTI5IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQogICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIHtUQk9EWX0gYXQgKDEsMSkgc2l6ZSAzNzR4MTEyNwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGxh
eWVyIGF0ICg4LDM3Nikgc2l6ZSAxNTUyeDMwMAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDExLDExKSBzaXplIDE0NXgxODUKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTEsMTEpIHdpZHRoIDE0NTogIk90aGVyIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMSwxMjIpIHdpZHRoIDEwODogImNlbGwuIgotbGF5ZXIgYXQgKDgsNzAyKSBzaXplIDE1NTJ4
MzAwCitsYXllciBhdCAoOCw3MDIpIHNpemUgNzY5eDMwMAogICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCw2OTQpIHNpemUgNzY5eDMwMAogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkg
c2l6ZSAzNzZ4MTEyOSBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KICAgICAgIFJlbmRl
clRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgxLDEpIHNpemUgMzc0eDExMjcKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3NwYW4vYW5vbnltb3VzLXN0eWxlLWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9zcGFuL2Fub255bW91cy1zdHlsZS1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvbXVsdGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NDN4
NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDg0M3g1MTMKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDUxMwogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTEzCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
MTcpIHNpemUgNzg0eDQ3OQogbGF5ZXIgYXQgKDgsMTcpIHNpemUgODM1eDQ3OQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvMDA2LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy8wMDYtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L292ZXJmbG93LzAwNi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5OTAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDk5MAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA3ODV4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwwKSBzaXplIDc4NXg1ODUKICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyMHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvZmxvYXQtaW4tcmVscG9zaXRpb25lZC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cv
ZmxvYXQtaW4tcmVscG9zaXRpb25lZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvZmxvYXQtaW4tcmVscG9zaXRp
b25lZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMCBAQCBsYXll
ciBhdCAoMTgsMzAwKSBzaXplIDEwMngxMDIgY2xpcCBhdCAoCiAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgxMCwyOTIpIHNpemUgMTAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQog
bGF5ZXIgYXQgKDE4LDQxMikgc2l6ZSAxMDJ4MTAyIGNsaXAgYXQgKDE5LDQxMykgc2l6ZSA4NXgx
MDAgc2Nyb2xsSGVpZ2h0IDEyNQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsNDA0KSBzaXpl
IDEwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICg2OSw3Nykg
c2l6ZSA3NXg3NSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTksNzcpIHNpemUgMTAweDg1IGNsaXAgYXQg
KDE5LDc3KSBzaXplIDEwMHg4NSBvdXRsaW5lQ2xpcCBhdCAoMTksNzcpIHNpemUgMTAweDg1Cits
YXllciBhdCAoNjksNzcpIHNpemUgMjV4MjUKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICgxLDEpIHNpemUgMjV4MjUgW2JnY29sb3I9IzAwMDAwMF0KICAgICBS
ZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgNzV4NzUgW2JnY29sb3I9
IzAwMDBGRjdGXQotbGF5ZXIgYXQgKDE5LDIzOSkgc2l6ZSA3NXg3NSBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTksMTg5KSBzaXplIDg1eDEwMCBjbGlwIGF0ICgxOSwxODkpIHNpemUgODV4MTAwIG91dGxp
bmVDbGlwIGF0ICgxOSwxODkpIHNpemUgODV4MTAwCitsYXllciBhdCAoMTksMjM5KSBzaXplIDI1
eDI1CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMSwxKSBz
aXplIDI1eDI1IFtiZ2NvbG9yPSMwMDAwMDBdCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7
RElWfSBhdCAoMCwwKSBzaXplIDc1eDc1IFtiZ2NvbG9yPSMwMDAwRkY3Rl0KIGxheWVyIGF0ICg2
OSwzMDEpIHNpemUgMjV4MjUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292
ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3NjE4eDU4NQogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3NjE4
eDE2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTYwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHgxNjAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6
ZSA3ODR4MTM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4NTQKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12
ZXJ0aWNhbC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVy
Zmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEgQEAKKzlhMjI0YTQ4ZmRjMGE3OGYyYmRkNDAwZmI1YzE3NzgxClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
b3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVy
dGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw2MyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDMx
M3g2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMzEzeDYwMAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMjk3eDU4NAorICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDE2KSBzaXplIDM2eDU1MgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxOHgxMzUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzU6
ICJUaGlzIGlzIGEgdGVzdCBjYXNlIGZvciAiCisgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQg
KDAsMCkgc2l6ZSAzNng1MjkKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTM1
KSBzaXplIDM2eDUyOQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTM1KSB3aWR0aCAzOTQ6
ICJodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTU4MjYgQmxv
Y2tzIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDApIHdpZHRoIDQ0NTogIndpdGggZGly
ZWN0aW9uOnJ0bCBhbmQgb3ZlcmZsb3c6YXV0byBvciBzY3JvbGwgaGF2ZSBpbmNvcnJlY3Qgc2Ny
b2xsYmFycyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOCw0NDUpIHNpemUgMTh4
NAorICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCw0NDUpIHdpZHRoIDQ6ICIuIgorICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDM2LDApIHNpemUgMTh4NTg0CisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4eDQ1NworICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQ1NzogIlRoZSByaWdodCBjb2x1bW4gc2hvdWxkIGJlIGEgbWlycm9yLWlt
YWdlIG9mIHRoZSBsZWZ0IGNvbHVtbiBpbiB0ZXJtcyBvZiIKKyAgICAgIFJlbmRlckJsb2NrIHtV
TH0gYXQgKDcwLDApIHNpemUgNTR4NTg0CisgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQg
KDAsNDApIHNpemUgMTh4NTQ0CisgICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoMCwtMTcp
IHNpemUgMTh4NzogYnVsbGV0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTh4MTY0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjQ6ICJ0
aGUgcHJlc2VuY2Ugb2YgYSBzY3JvbGxiYXIiCisgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0g
YXQgKDE4LDQwKSBzaXplIDE4eDU0NAorICAgICAgICAgIFJlbmRlckxpc3RNYXJrZXIgYXQgKDAs
LTE3KSBzaXplIDE4eDc6IGJ1bGxldAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDE4eDIzNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjM0
OiAidGhlIGluaXRpYWwgcG9zaXRpb24gb2YgdGhlIHNjcm9sbCB0aHVtYiIKKyAgICAgICAgUmVu
ZGVyTGlzdEl0ZW0ge0xJfSBhdCAoMzYsNDApIHNpemUgMTh4NTQ0CisgICAgICAgICAgUmVuZGVy
TGlzdE1hcmtlciBhdCAoMCwtMTcpIHNpemUgMTh4NzogYnVsbGV0CisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTh4MzMxCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAzMzE6ICJ3aGljaCBsZXR0ZXJzIGFyZSB2aXNpYmxlIGluaXRpYWxseSBh
bmQgd2hlbiB5b3Ugc2Nyb2xsIgorICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMTQwLDAp
IHNpemUgMTU3eDI1NgorICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCww
KSBzaXplIDE1N3gyNTYKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNp
emUgMTUzeDI1NgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMikgc2l6
ZSAxNTN4MTI1IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgyLDEyOSkgc2l6ZSAxNTN4MTI1IFtyPTAgYz0xIHJzPTEgY3M9MV0KK2xheWVy
IGF0ICgxNTUsMTUpIHNpemUgNDV4MTE1IGNsaXAgYXQgKDE1NSwyNSkgc2l6ZSAzMHgxMDAgc2Ny
b2xsSGVpZ2h0IDE4OAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDQ1eDExNSBb
Ymdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBub25lICg1cHgg
c29saWQgIzAwODAwMCkgbm9uZV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTApIHNp
emUgMTh4MTg4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxMCkgd2lkdGggMTg4OiAiYWJjZGVmZ2hp
amtsbW5vcHFyc3R1dnd4eXoiCitsYXllciBhdCAoMjA0LDE1KSBzaXplIDQ1eDExNSBjbGlwIGF0
ICgyMDQsMjUpIHNpemUgNDV4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1NCw1KSBzaXpl
IDQ1eDExNSBbYmdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBu
b25lICg1cHggc29saWQgIzAwODAwMCkgbm9uZV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwxMCkgc2l6ZSAxOHgxMDAgW2JnY29sb3I9I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwtODgpIHNpemUgMTh4MTg4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLC04OCkg
d2lkdGggMTg4OiAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiCitsYXllciBhdCAoMjUzLDE1
KSBzaXplIDQ1eDExNSBjbGlwIGF0ICgyNTMsMjUpIHNpemUgMzB4MTAwIHNjcm9sbEhlaWdodCAx
ODgKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwMyw1KSBzaXplIDQ1eDExNSBbYmdjb2xvcj0j
RkZGRjAwXSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBub25lICg1cHggc29saWQgIzAw
ODAwMCkgbm9uZV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMCkgc2l6ZSAxOHgxMDAg
W2JnY29sb3I9I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE4eDE4OAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODg6ICJhYmNkZWZnaGlq
a2xtbm9wcXJzdHV2d3h5eiIKK2xheWVyIGF0ICgxNTUsMTQyKSBzaXplIDQ1eDExNSBjbGlwIGF0
ICgxNTUsMTQ3KSBzaXplIDMweDEwMCBzY3JvbGxZIDg4IHNjcm9sbEhlaWdodCAxODgKKyAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDUsNSkgc2l6ZSA0NXgxMTUgW2JnY29sb3I9I0ZGRkYwMF0gW2Jv
cmRlcjogKDVweCBzb2xpZCAjMDA4MDAwKSBub25lICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmVd
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLC04Mykgc2l6ZSAxOHgxODgKKyAgICAgIHRl
eHQgcnVuIGF0ICgwLC04Mykgd2lkdGggMTg4OiAienl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmEi
CitsYXllciBhdCAoMjA0LDE0Mikgc2l6ZSA0NXgxMTUgY2xpcCBhdCAoMjA0LDE0Nykgc2l6ZSA0
NXgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDU0LDUpIHNpemUgNDV4MTE1IFtiZ2NvbG9y
PSNGRkZGMDBdIFtib3JkZXI6ICg1cHggc29saWQgIzAwODAwMCkgbm9uZSAoMTBweCBzb2xpZCAj
RkYwMDAwKSBub25lXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUpIHNpemUgMTh4MTAw
IFtiZ2NvbG9yPSNEM0QzRDNdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxOHgxODgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTg4OiAienl4d3Z1dHNy
cXBvbm1sa2ppaGdmZWRjYmEiCitsYXllciBhdCAoMjUzLDE0Mikgc2l6ZSA0NXgxMTUgY2xpcCBh
dCAoMjUzLDE0Nykgc2l6ZSAzMHgxMDAgc2Nyb2xsWSA4OCBzY3JvbGxIZWlnaHQgMTg4CisgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgxMDMsNSkgc2l6ZSA0NXgxMTUgW2JnY29sb3I9I0ZGRkYwMF0g
W2JvcmRlcjogKDVweCBzb2xpZCAjMDA4MDAwKSBub25lICgxMHB4IHNvbGlkICNGRjAwMDApIG5v
bmVdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNSkgc2l6ZSAxOHgxMDAgW2JnY29sb3I9
I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtODgpIHNpemUgMTh4MTg4
CisgICAgICAgIHRleHQgcnVuIGF0ICgwLC04OCkgd2lkdGggMTg4OiAienl4d3Z1dHNycXBvbm1s
a2ppaGdmZWRjYmEiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxv
dy9zY3JvbGxSZXZlYWxCdXR0b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L3Njcm9sbFJldmVhbEJ1dHRvbi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
b3ZlcmZsb3cvc2Nyb2xsUmV2ZWFsQnV0dG9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTIsNyArMTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMTg4CiAgICAgICAgIFJl
bmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDAsMCkgc2l6ZSAzMDR4MTU0IFtib3JkZXI6ICgy
cHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDh4MzE2
CiAgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMjg1eDEzNQotICAgICAgICAg
IGxheWVyIGF0ICgwLDApIHNpemUgMzA4eDMxNgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNp
emUgMjg1eDMxNgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Mjg1eDMxNgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDI2
OXgzMDAKICAgICAgICAgICBsYXllciBhdCAoOCw4KSBzaXplIDMwMHgzMDAgY2xpcCBhdCAoOCw4
KSBzaXplIDI4NXgzMDAgc2Nyb2xsWSA1NDMgc2Nyb2xsSGVpZ2h0IDEyNjgKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24tZGlyZWN0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9yZWZsZWN0aW9ucy9yZWZsZWN0aW9uLWRpcmVjdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVmbGVjdGlvbnMvcmVm
bGVjdGlvbi1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMzU3eDYxMwogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMzU3eDYxMworbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NjEzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2
MTMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1OTcKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDEpIHNpemUgNjcxeDU5MgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tzdW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gt
c2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tz
dW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTQyMTZhYTRiNDllNzVjNjZiMGFjZjU1ZGI2
MDg1MDJjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNzZjNmUwNDFjODQ5ZTNhNzQ2YmFi
ZjU4NmI5MjRmOGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ctaC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hh
ZG93LWgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy1oLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTE0
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAog
ICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDEyMXg1MDYK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy12
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9yZXBhaW50L2JveC1zaGFkb3ctdi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LXYtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1MTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgwCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgw
LDApIHNpemUgMTIxeDUwNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVw
YWludC9jb250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJmbG93
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9yZXBhaW50L2NvbnRlbnQtaW50by1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTE1LDYgKzE1LDYgQEAgbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHgxMDAK
ICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDMwOCkgc2l6ZSAxMDB4MTAw
CiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4MCkgc2l6ZSAxMDB4MjAKLWxh
eWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4ODAKK2xheWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4MAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAx
MDB4MAogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4
ODAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZHluYW1pYy10
YWJsZS12ZXJ0aWNhbC1hbGlnbm1lbnQtY2hhbmdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2R5bmFtaWMtdGFibGUtdmVy
dGljYWwtYWxpZ25tZW50LWNoYW5nZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9keW5hbWljLXRhYmxlLXZlcnRp
Y2FsLWFsaWdubWVudC1jaGFuZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHgxODIKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDE4MgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTgyCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE1OAogICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92
ZXJmbG93LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIwLDIwICsxMjAsMjAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg4
CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAxNjogIngiCiAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDU5LDQyNikg
c2l6ZSA0MHgxOAorbGF5ZXIgYXQgKDU5LDQyNikgc2l6ZSA0MHgxMAogICBSZW5kZXJCbG9jayAo
ZmxvYXRpbmcpIHtESVZ9IGF0ICgtOCwwKSBzaXplIDQweDEwIFtiZ2NvbG9yPSNBREQ4RTZdCiAg
ICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE2eDE2IFtjb2xvcj0jMDAwMEZG
XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTZ4MTYKICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMTY6ICJ4IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDY3LDQ2NSkgc2l6ZSA1MHgxOAorbGF5ZXIgYXQg
KDY3LDQ2NSkgc2l6ZSA1MHgxMAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNiw2KSBzaXplIDUw
eDEwIFtiZ2NvbG9yPSNGRkMwQ0JdCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBh
dCAoLTgsMCkgc2l6ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQogICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDE2eDE2IFtjb2xvcj0jMDAwMEZGXQogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNngxNgogICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDEpIHdpZHRoIDE2OiAieCIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotbGF5ZXIgYXQgKDYxLDQ5OCkgc2l6ZSA2MngyNAorbGF5ZXIgYXQgKDYxLDQ5OCkg
c2l6ZSA2MngyMgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNTEsNykgc2l6ZSA2MngyMiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICM4MDAwODApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2LDYp
IHNpemUgNTB4MTAgW2JnY29sb3I9I0ZGQzBDQl0KICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGlu
Zykge0RJVn0gYXQgKC04LDApIHNpemUgNDB4MTAgW2JnY29sb3I9I0FERDhFNl0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctcmlnaHQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctcmlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZs
b3ctcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsMjAgKzEyMCwyMCBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgyNCwxKSB3aWR0aCAxNjogIngiCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAotbGF5ZXIgYXQgKDcwMSw0MjYpIHNpemUgNDB4MTgKK2xheWVyIGF0ICg3MDEs
NDI2KSBzaXplIDQweDEwCiAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDE4LDAp
IHNpemUgNDB4MTAgW2JnY29sb3I9I0FERDhFNl0KICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMTZ4MTYgW2NvbG9yPSMwMDAwRkZdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDI0LDEpIHNpemUgMTZ4MTYKICAgICAgICAgdGV4dCBydW4gYXQgKDI0LDEpIHdpZHRo
IDE2OiAieCIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVy
IGF0ICg2ODMsNDY1KSBzaXplIDU4eDE4CitsYXllciBhdCAoNjgzLDQ2NSkgc2l6ZSA1MHgxMAog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNiw2KSBzaXplIDUweDEwIFtiZ2NvbG9yPSNGRkMwQ0Jd
CiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTgsMCkgc2l6ZSA0MHgxMCBb
Ymdjb2xvcj0jQUREOEU2XQogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDE2eDE2IFtjb2xvcj0jMDAwMEZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0
LDEpIHNpemUgMTZ4MTYKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMSkgd2lkdGggMTY6ICJ4
IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAo
Njc3LDQ5OCkgc2l6ZSA2NHgyNAorbGF5ZXIgYXQgKDY3Nyw0OTgpIHNpemUgNjJ4MjIKICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDY2Nyw3KSBzaXplIDYyeDIyIFtib3JkZXI6ICgxcHggc29saWQg
IzgwMDA4MCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDYsNikgc2l6ZSA1MHgxMCBbYmdj
b2xvcj0jRkZDMENCXQogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTgs
MCkgc2l6ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZs
b3ctaW50by1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMTcgKzMsMTcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MAotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDN4MTA2CitsYXllciBhdCAoOCw4KSBz
aXplIDU2eDEwNgogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6
ZSA1NngxMDYgW2JvcmRlcjogKDNweCBzb2xpZCAjMDA4MDAwKV0KICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMywzKSBzaXplIDUweDUwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDEwMHg1MAotbGF5ZXIgYXQgKDgsMTU4KSBzaXplIDEwNngxMDMKK2xheWVyIGF0ICg4
LDE1OCkgc2l6ZSAxMDZ4NTYKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4
LDE1OCkgc2l6ZSAxMDZ4NTYgW2JvcmRlcjogKDNweCBzb2xpZCAjMDA4MDAwKV0KICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDUweDUwCiAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDUweDEwMAogbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHg4MAogICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMzA4KSBzaXplIDEwMHg4MAogICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDAgW2JnY29sb3I9IzAwODAwMF0K
LWxheWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4ODAKK2xheWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4
MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMDB4MAogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAx
MDB4ODAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZs
b3ctc2Nyb2xsLWJvZHktYXBwZWFyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LXNjcm9sbC1ib2R5LWFwcGVh
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1zY3JvbGwtYm9keS1hcHBlYXItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDA4
eDIwOTIKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDAp
IHNpemUgMjAwOHgyMDkyCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDkyCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDkyCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsMTYpIHNpemUgNzY5eDIwNjgKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9z
dWJ0cmVlLXJvb3QtY2xpcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9zdWJ0cmVlLXJvb3QtY2xpcC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWlu
dC9zdWJ0cmVlLXJvb3QtY2xpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDEwOAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKIGxheWVyIGF0ICg4LDgp
IHNpemUgMTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWlu
dC90cmFuc2Zvcm0tYWJzb2x1dGUtaW4tcG9zaXRpb25lZC1jb250YWluZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJh
bnNmb3JtLWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFpbmVyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3Ry
YW5zZm9ybS1hYnNvbHV0ZS1pbi1wb3NpdGlvbmVkLWNvbnRhaW5lci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDMwOAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjk2CiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHgyOTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikg
c2l6ZSA3ODR4MjcyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJl
cGxhY2VkLXNoYWRvd3MtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFuc2Zvcm0tcmVwbGFjZWQtc2hhZG93cy1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVjdGVkLmNo
ZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi01NTU4OTljOTVkYzkzZTFmOWU0M2Zk
Mzg0ZTBjN2M0ZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzJhMzdiNjVjMjMwYmNiNzFi
YjFlY2ZiNGM4ODQ5NDJkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwbGFjZWQvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBsYWNlZC8wMDQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3JlcGxhY2VkLzAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjgyCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDYwMHgxMDAKICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCww
KSBzaXplIDMwMHgxMDAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLWxheWVyIGF0ICg4LDE2Nikgc2l6ZSA2MDB4MTAwCitsYXllciBhdCAoOCwxNjYpIHNp
emUgMzAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMTUwKSBzaXplIDMwMHgxMDAKICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA2
MDB4MTAwCiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDMwMHgxMDAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlLzAzNC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDM0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90YWJsZS8wMzQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDY0eDEyNzYKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTA2NHgxMjc2CitsYXllciBhdCAoMCww
KSBzaXplIDc4NXgxMjc2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgx
Mjc2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTI2MAogICAgICAg
UmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEwNTZ4MTI2MApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvY29sc3Bhbk1pbldpZHRoLXZlcnRpY2FsLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
YWJsZS9jb2xzcGFuTWluV2lkdGgtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2NvbHNwYW5NaW5XaWR0
aC12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIwLDUgKzIwLDUgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgyLDYpIHNpemUgMTR4MTMxIFtiZ2NvbG9yPSNGRkZGMDBdIFtyPTAg
Yz0xIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7
SU5QVVR9IGF0ICgzLDMpIHNpemUgOHgxMjUgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJw
eCBpbnNldCAjMDAwMDAwKV0KICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgzLDIzKSBzaXplIDJ4MTE5CitsYXllciBh
dCAoMywyMykgc2l6ZSAyeDExOSBzY3JvbGxYIDEzIHNjcm9sbFdpZHRoIDE1CiAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMngxMTkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVk
LXdpdGgtYXV0by13aXRoLWNvbHNwYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRo
LWNvbHNwYW4tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci1sYXllciBhdCAoMCwwKSBzaXplIDQ0NXgzODUK
K2xheWVyIGF0ICgwLDApIHNpemUgNDAweDM4NQogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDAsMCkgc2l6ZSA0MDB4Mzg1CiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAo
MCw1KSBzaXplIDQ0NXg1MAogICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAs
MCkgc2l6ZSA0NDV4NTAKQEAgLTgyLDcgKzgyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NDV4
Mzg1CiAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI4MCwyNCkgc2l6ZSA1MHgy
IFtiZ2NvbG9yPSNGRjAwMDBdIFtyPTAgYz01IHJzPTEgY3M9MV0KICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMzM1LDI0KSBzaXplIDUweDIgW2JnY29sb3I9I0ZGMDAwMF0gW3I9
MCBjPTYgcnM9MSBjcz0xXQogICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzOTAs
MjQpIHNpemUgNTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9NyBycz0xIGNzPTFdCi1sYXll
ciBhdCAoMCwwKSBzaXplIDQ0NXgzODUKK2xheWVyIGF0ICgwLDApIHNpemUgNDMweDM4NQogICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MzB4Mzg1CiAgICAg
UmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCw1KSBzaXplIDQ0NXg1MAogICAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA0NDV4NTAKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVy
dGljYWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVydGljYWwtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVydGljYWwtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0Ci1sYXllciBhdCAoMCwwKSBzaXplIDM4NXg0NDUKK2xheWVyIGF0ICgwLDApIHNpemUg
Mzg1eDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzg1
eDAKICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICg1LDApIHNpemUgNTB4NDQ1CiAgICAgICBS
ZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDUweDQ0NQpAQCAtODIsNyAr
ODIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDM4NXg0NDUKICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMCwzMDQpIHNpemUgNTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9
NSBycz0xIGNzPTFdCiAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMzU5KSBz
aXplIDUweDIgW2JnY29sb3I9I0ZGMDAwMF0gW3I9MCBjPTYgcnM9MSBjcz0xXQogICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDQxNCkgc2l6ZSA1MHgyIFtiZ2NvbG9yPSNGRjAw
MDBdIFtyPTAgYz03IHJzPTEgY3M9MV0KLWxheWVyIGF0ICgwLDApIHNpemUgMzg1eDQ0NQorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAzODV4MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMCkgc2l6ZSAzODV4MAogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDUsMCkgc2l6
ZSA1MHg0NDUKICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUg
NTB4NDQ1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9mcmFtZS1h
bmQtcnVsZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RhYmxlL2ZyYW1lLWFuZC1ydWxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZnJhbWUtYW5kLXJ1
bGVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjIwOCw3ICsyMjA4LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzYwOAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDE4NCwwKSBzaXplIDkyeDIxIFtib3JkZXI6ICgxcHggc29saWQgIzgwODA4MCldIFty
PTAgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgy
LDIpIHNpemUgODl4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCA4
OTogIlJvdyA1LCBDZWxsIDMiCi1sYXllciBhdCAoMzkzLDI0KSBzaXplIDM5MngxNTUKK2xheWVy
IGF0ICgzOTMsMjQpIHNpemUgMzkyeDE1MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge1RB
QkxFfSBhdCAoMzkzLDI0KSBzaXplIDM5MngxNTAKICAgICBSZW5kZXJUYWJsZSBhdCAoMCwwKSBz
aXplIDM2MXgxNTUKICAgICAgIFJlbmRlckJsb2NrIHtDQVBUSU9OfSBhdCAoMCwwKSBzaXplIDM2
MXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvaGVpZ2h0LXBl
cmNlbnQtdGVzdC12ZXJ0aWNhbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvaGVpZ2h0LXBlcmNlbnQtdGVzdC12ZXJ0aWNhbC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvaGVpZ2h0LXBlcmNlbnQtdGVzdC12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEyODJ4NjAx
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXpl
IDEyODJ4NjAxCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDEKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDYwMQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDU4NQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMjc0
eDU4NQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvd2lkZS1jb2xz
cGFuLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90YWJsZS93aWRlLWNvbHNwYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29sc3Bhbi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDE2MTR4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDE2MTR4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCww
KSBzaXplIDE2MDZ4MTEwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJs
ZS93aWRlLWNvbHVtbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGFibGUvd2lkZS1jb2x1bW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29sdW1u
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgMTYxNHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxh
eWVyIGF0ICgwLDApIHNpemUgMTYxNHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9
IGF0ICgwLDApIHNpemUgMTYwNng1NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvMDA0LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9ib3JkZXItY29s
bGFwc2luZy8wMDQtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nLzAwNC12
ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDE0NDR4OTE0CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4
NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE0NDR4OTE0CitsYXllciBhdCAoMCwwKSBzaXplIDc4
NXg5MTQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDkxNAogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDIxKSBzaXplIDc2OXg4ODUKICAgICAgIFJlbmRlckJsb2Nr
IHtIMX0gYXQgKDAsMCkgc2l6ZSA3Njl4MzcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RleHQvbGFyZ2UtdGV4dC1jb21wb3NlZC1jaGFyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xhcmdlLXRleHQtY29t
cG9zZWQtY2hhci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9sYXJnZS10ZXh0LWNvbXBvc2VkLWNoYXItZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
MDY0eDc5NTcKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgw
LDApIHNpemUgMTA2NHg3OTU3CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3OTU3CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg3OTU3CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3Njl4NzkzNgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RleHQvbGV0dGVyLXNwYWNpbmctbmVnYXRpdmUtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2lu
Zy1uZWdhdGl2ZS1vcGFjaXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLW5lZ2F0aXZlLW9w
YWNpdHktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci1sYXllciBhdCAoOCw4KSBzaXplIDMxMngxNjMKK2xh
eWVyIGF0ICg4LDgpIHNpemUgMjczeDE2MwogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDgsOCkgc2l6ZSAyNzN4MTYzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjcxeDE2MQogICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggMjcxOiAiVGVzdGluZyB0aGUgYnVnIgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQt
bGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE2
MzAyM3gxNzI4CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDE2MzAyM3gxNzI4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNzI4CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxNzI4CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzY5eDE2OTYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAo
MCwwKSBzaXplIDc2OXg5MCBbYmdjb2xvcj0jRkZGRkZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RoYWktbGluZS1icmVha3MtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
aW50ZXJuYXRpb25hbC90aGFpLWxpbmUtYnJlYWtzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwv
dGhhaS1saW5lLWJyZWFrcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDE4KSB3aWR0aCA3NjA6ICJUaGUgb3JpZ2luYWwgc291cmNlIG9mIHRoaXMgdGV4dCB3YXMgSUNV
LCBhbmQgdGhlIHRlc3QgcHJvZ3JhbSBzYWlkIFwiYnkgaXQncyB2ZXJ5IG5hdHVyZSwgVGhhaSB3
b3JkIGJyZWFraW5nIGlzIG5vdCBleGFjdFwiLCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwz
Nikgd2lkdGggNzU5OiAic28gdGhlIGNvbHVtbnMgZG9uJ3QgbWF0Y2ggZXhhY3RseS4gSW4gYSBm
dXR1cmUgdmVyc2lvbiB3ZSBtaWdodCBkZWNpZGUgdG8gdHdlYWsgdGhlIHJpZ2h0IGNvbHVtbiB0
byBtYXRjaCBvdXIgZXhwZWN0ZWQiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRo
IDU5OiAiYmVoYXZpb3IuIgotbGF5ZXIgYXQgKDIzNSw5Nikgc2l6ZSA4M3gyMjgyNAorbGF5ZXIg
YXQgKDIzNSw5Nikgc2l6ZSAxeDIyODI0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMjM1LDk2KSBzaXplIDF4MjI4MjQKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA4M3gyMjgyNAogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjA6ICJceHtF
MUF9XHh7RTE3fSIKQEAgLTEyODAsNyArMTI4MCw3IEBAIGxheWVyIGF0ICgyMzUsOTYpIHNpemUg
ODN4MjI4MjQKICAgICAgIHRleHQgcnVuIGF0ICgwLDIyNzcwKSB3aWR0aCAzNDogIlx4e0UwNH1c
eHtFMjN9XHh7RTMyfVx4e0UwN30iCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMjc4OCkgd2lkdGgg
Mjg6ICJceHtFMkJ9XHh7RTI3fVx4e0UzNX1ceHtFMTR9IgogICAgICAgdGV4dCBydW4gYXQgKDAs
MjI4MDYpIHdpZHRoIDI3OiAiXHh7RTJCfVx4e0UyN31ceHtFMzd9XHh7RTJEfSIKLWxheWVyIGF0
ICg0NzEsOTYpIHNpemUgNzJ4MjQwMzAKK2xheWVyIGF0ICg0NzEsOTYpIHNpemUgMXgyNDAzMAog
ICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDQ3MSw5Nikgc2l6ZSAxeDI0MDMw
CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzJ4MjQwMzAKICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDIwOiAiXHh7RTFBfVx4e0UxN30iCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3Bh
Y2UvMDEyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU2
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg3NgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NzYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
MgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL2ZlbmNlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGht
bC9wcmVzZW50YXRpb24vZmVuY2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02MCwxOSArNjAsMTkgQEAgbGF5ZXIgYXQgKDE3MCw3
Mikgc2l6ZSA1eDcgc2Nyb2xsSGVpZ2h0IAogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDU6ICJceHsyMzlGfSIKIGxheWVyIGF0ICgxNzAsNzkpIHNpemUgNXgxMSBzY3JvbGxIZWlnaHQg
MTQKICAgUmVuZGVyQmxvY2sge21mZW5jZWR9IGF0ICgwLDQ3KSBzaXplIDV4MTEKLWxheWVyIGF0
ICgxMCwzMykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMCwzMikgc2l6ZSA1eDEwIGNs
aXAgYXQgKDEwLDMyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEwLDMyKSBzaXplIDV4MTAK
K2xheWVyIGF0ICgxMCwzMykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMCwzMikgc2l6
ZSA1eDEwIGNsaXAgYXQgKDEwLDMyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEwLDMyKSBz
aXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttZmVuY2VkfSBh
dCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttZmVuY2VkfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUJ9IgotbGF5
ZXIgYXQgKDEwLDc2KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEwLDc5KSBzaXplIDV4
MTEgY2xpcCBhdCAoMTAsNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAsNzkpIHNpemUg
NXgxMQorbGF5ZXIgYXQgKDEwLDc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEwLDc5
KSBzaXplIDV4MTEgY2xpcCBhdCAoMTAsNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAs
NzkpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21mZW5j
ZWR9IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21mZW5jZWR9IGF0ICgwLC0z
KSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RH0i
Ci1sYXllciBhdCAoMTcwLDMzKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE3MCwzMikg
c2l6ZSA1eDEwIGNsaXAgYXQgKDE3MCwzMikgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNzAs
MzIpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDE3MCwzMykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlw
IGF0ICgxNzAsMzIpIHNpemUgNXgxMCBjbGlwIGF0ICgxNzAsMzIpIHNpemUgNXgxMCBvdXRsaW5l
Q2xpcCBhdCAoMTcwLDMyKSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttZmVuY2VkfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttZmVu
Y2VkfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
NTogIlx4ezIzOUV9IgotbGF5ZXIgYXQgKDE3MCw3Nikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlw
IGF0ICgxNzAsNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNzAsNzkpIHNpemUgNXgxMSBvdXRsaW5l
Q2xpcCBhdCAoMTcwLDc5KSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNzAsNzYpIHNpemUgNXgxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTcwLDc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTcwLDc5KSBzaXpl
IDV4MTEgb3V0bGluZUNsaXAgYXQgKDE3MCw3OSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bWZlbmNlZH0gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVu
ZGVyVGV4dCB7bWZlbmNlZH0gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9tYXRobWwvcHJlc2VudGF0aW9uL21vLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVz
ZW50YXRpb24vbW8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNzEsNTkgKzI3MSw1
OSBAQCBsYXllciBhdCAoMTY1LDIxNSkgc2l6ZSA3eDYgc2Nyb2xsSGVpZ2h0CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUF9IgogbGF5ZXIgYXQgKDE2NSwyMjEpIHNp
emUgN3gxMSBzY3JvbGxIZWlnaHQgMTQKICAgUmVuZGVyQmxvY2sge21vfSBhdCAoMCw1Mikgc2l6
ZSA3eDExCi1sYXllciBhdCAoNjksMTcwKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDY5
LDE2OSkgc2l6ZSA4eDEwIGNsaXAgYXQgKDY5LDE2OSkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0
ICg2OSwxNjkpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDY5LDE3MCkgc2l6ZSA4eDExIGJhY2tncm91
bmRDbGlwIGF0ICg2OSwxNjkpIHNpemUgOHgxMCBjbGlwIGF0ICg2OSwxNjkpIHNpemUgOHgxMCBv
dXRsaW5lQ2xpcCBhdCAoNjksMTY5KSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAi
XHh7MjNEMH0iCi1sYXllciBhdCAoNjksMjE4KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDY5LDIyMSkgc2l6ZSA4eDExIGNsaXAgYXQgKDY5LDIyMSkgc2l6ZSA4eDExIG91dGxpbmVDbGlw
IGF0ICg2OSwyMjEpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDY5LDIxOCkgc2l6ZSA4eDExIGJhY2tn
cm91bmRDbGlwIGF0ICg2OSwyMjEpIHNpemUgOHgxMSBjbGlwIGF0ICg2OSwyMjEpIHNpemUgOHgx
MSBvdXRsaW5lQ2xpcCBhdCAoNjksMjIxKSBzaXplIDh4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4
OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoNzgsMTcwKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlw
IGF0ICg3OCwxNjkpIHNpemUgMTB4MTAgY2xpcCBhdCAoNzgsMTY5KSBzaXplIDEweDEwIG91dGxp
bmVDbGlwIGF0ICg3OCwxNjkpIHNpemUgMTB4MTAKK2xheWVyIGF0ICg3OCwxNzApIHNpemUgMTB4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDc4LDE2OSkgc2l6ZSAxMHgxMCBjbGlwIGF0ICg3OCwxNjkp
IHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDc4LDE2OSkgc2l6ZSAxMHgxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAg
UmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggMTA6ICJceHsyMzIwfSIKLWxheWVyIGF0ICg3OCwyMTgpIHNpemUgMTB4MTQg
YmFja2dyb3VuZENsaXAgYXQgKDc4LDIyMSkgc2l6ZSAxMHgxMSBjbGlwIGF0ICg3OCwyMjEpIHNp
emUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDc4LDIyMSkgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDc4
LDIxOCkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEweDExIGNs
aXAgYXQgKDc4LDIyMSkgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEw
eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDg5LDE3
MCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwxNjkpIHNpemUgN3gxMCBjbGlwIGF0
ICg4OSwxNjkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTY5KSBzaXplIDd4MTAKK2xh
eWVyIGF0ICg4OSwxNzApIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMTY5KSBzaXpl
IDd4MTAgY2xpcCBhdCAoODksMTY5KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDg5LDE2OSkg
c2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTd9IgotbGF5ZXIgYXQgKDg5
LDE5NCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwxOTUpIHNpemUgN3gxMCBjbGlw
IGF0ICg4OSwxOTUpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTk1KSBzaXplIDd4MTAK
K2xheWVyIGF0ICg4OSwxOTQpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMTk1KSBz
aXplIDd4MTAgY2xpcCBhdCAoODksMTk1KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDg5LDE5
NSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTh9IgotbGF5ZXIgYXQg
KDg5LDIxOCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwyMjEpIHNpemUgN3gxMSBj
bGlwIGF0ICg4OSwyMjEpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoODksMjIxKSBzaXplIDd4
MTEKK2xheWVyIGF0ICg4OSwyMTgpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMjIx
KSBzaXplIDd4MTEgY2xpcCBhdCAoODksMjIxKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDg5
LDIyMSkgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTl9IgotbGF5ZXIg
YXQgKDk3LDE3MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICg5NywxNjkpIHNpemUgNXgx
MCBjbGlwIGF0ICg5NywxNjkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoOTcsMTY5KSBzaXpl
IDV4MTAKK2xheWVyIGF0ICg5NywxNzApIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTcs
MTY5KSBzaXplIDV4MTAgY2xpcCBhdCAoOTcsMTY5KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQg
KDk3LDE2OSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTF9IgotbGF5
ZXIgYXQgKDk3LDIxOCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICg5NywyMjEpIHNpemUg
NXgxMSBjbGlwIGF0ICg5NywyMjEpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoOTcsMjIxKSBz
aXplIDV4MTEKK2xheWVyIGF0ICg5NywyMTgpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAo
OTcsMjIxKSBzaXplIDV4MTEgY2xpcCBhdCAoOTcsMjIxKSBzaXplIDV4MTEgb3V0bGluZUNsaXAg
YXQgKDk3LDIyMSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykg
c2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTN9Igot
bGF5ZXIgYXQgKDE1OSwxNzApIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTU5LDE2OSkg
c2l6ZSA1eDEwIGNsaXAgYXQgKDE1OSwxNjkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTU5
LDE2OSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTU5LDE3MCkgc2l6ZSA1eDExIGJhY2tncm91bmRD
bGlwIGF0ICgxNTksMTY5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU5LDE2OSkgc2l6ZSA1eDEwIG91
dGxpbmVDbGlwIGF0ICgxNTksMTY5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjNBNH0iCi1sYXllciBhdCAoMTU5LDIxOCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgxNTksMjIxKSBzaXplIDV4MTEgY2xpcCBhdCAoMTU5LDIyMSkgc2l6ZSA1eDExIG91dGxpbmVD
bGlwIGF0ICgxNTksMjIxKSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNTksMjE4KSBzaXplIDV4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDE1OSwyMjEpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTksMjIxKSBz
aXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE1OSwyMjEpIHNpemUgNXgxMQogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDU6ICJceHsyM0E2fSIKLWxheWVyIGF0ICgxNjUsMTcwKSBzaXplIDd4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDE2NSwxNjkpIHNpemUgN3gxMCBjbGlwIGF0ICgxNjUsMTY5KSBzaXplIDd4
MTAgb3V0bGluZUNsaXAgYXQgKDE2NSwxNjkpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDE2NSwxNzAp
IHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwIGNsaXAgYXQg
KDE2NSwxNjkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUJ9IgotbGF5ZXIgYXQgKDE2NSwxOTQpIHNpemUg
N3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDE2NSwx
OTUpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwCitsYXllciBh
dCAoMTY1LDE5NCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4
MTAgY2xpcCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxNjUsMTk1KSBz
aXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQ30iCi1sYXllciBhdCAoMTY1
LDIxOCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4MTEgY2xp
cCBhdCAoMTY1LDIyMSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4
MTEKK2xheWVyIGF0ICgxNjUsMjE4KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NSwy
MjEpIHNpemUgN3gxMSBjbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQg
KDE2NSwyMjEpIHNpemUgN3gxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FEfSIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL292ZXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwv
cHJlc2VudGF0aW9uL292ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL292ZXItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC04OSwxMSArODksMTEgQEAgbGF5ZXIgYXQgKDQ1LDI1OCkgc2l6
ZSAxMHg4IHNjcm9sbEhlaWdodAogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAi
XHh7MjNBRX0iCiBsYXllciBhdCAoNDUsMjY2KSBzaXplIDEweDExIHNjcm9sbEhlaWdodCAxNAog
ICBSZW5kZXJCbG9jayB7bW99IGF0ICgwLDM4KSBzaXplIDEweDExCi1sYXllciBhdCAoNDUsMjI5
KSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAgY2xpcCBh
dCAoNDUsMjI4KSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAK
K2xheWVyIGF0ICg0NSwyMjkpIHNpemUgMTB4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ1LDIyOCkg
c2l6ZSAxMHgxMCBjbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDQ1
LDIyOCkgc2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21v
fSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXpl
IDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6ICJceHsyMzIwfSIKLWxh
eWVyIGF0ICg0NSwyNjMpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ1LDI2Nikgc2l6
ZSAxMHgxMSBjbGlwIGF0ICg0NSwyNjYpIHNpemUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDQ1LDI2
Nikgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDQ1LDI2Mykgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoNDUsMjY2KSBzaXplIDEweDExIGNsaXAgYXQgKDQ1LDI2Nikgc2l6ZSAxMHgxMSBvdXRs
aW5lQ2xpcCBhdCAoNDUsMjY2KSBzaXplIDEweDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDog
Ilx4ezIzMjF9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50
YXRpb24vcm93LWFsaWdubWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGht
bC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQxNCw1MSArNDE0LDUxIEBAIGxheWVyIGF0ICgxMjAsNTA5KSBzaXplIDV4OCBzY3JvbGxI
ZWlnaHQKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNX0iCiBsYXll
ciBhdCAoMTIwLDUxNykgc2l6ZSA1eDExIHNjcm9sbEhlaWdodCAxNAogICBSZW5kZXJCbG9jayB7
bW99IGF0ICgwLDU4KSBzaXplIDV4MTEKLWxheWVyIGF0ICgzNiwzMDIpIHNpemUgNXgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4
MTAgb3V0bGluZUNsaXAgYXQgKDM2LDMwMSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMzYsMzAyKSBz
aXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDM2LDMwMSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDM2
LDMwMSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgzNiwzMDEpIHNpemUgNXgxMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgzNiwzMjgpIHNpemUgNXgxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMzYsMzMxKSBzaXplIDV4MTEgY2xpcCBhdCAoMzYsMzMxKSBzaXpl
IDV4MTEgb3V0bGluZUNsaXAgYXQgKDM2LDMzMSkgc2l6ZSA1eDExCitsYXllciBhdCAoMzYsMzI4
KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDM2LDMzMSkgc2l6ZSA1eDExIGNsaXAgYXQg
KDM2LDMzMSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgzNiwzMzEpIHNpemUgNXgxMQogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICg5MCwzMDIpIHNpemUgNXgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTAsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAoOTAsMzAxKSBz
aXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDkwLDMwMSkgc2l6ZSA1eDEwCitsYXllciBhdCAoOTAs
MzAyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDkwLDMwMSkgc2l6ZSA1eDEwIGNsaXAg
YXQgKDkwLDMwMSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICg5MCwzMDEpIHNpemUgNXgxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICg5MCwzMjgpIHNpemUg
NXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTAsMzMxKSBzaXplIDV4MTEgY2xpcCBhdCAoOTAsMzMx
KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExCitsYXllciBhdCAo
OTAsMzI4KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExIGNs
aXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICg5MCwzMzEpIHNpemUgNXgx
MQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKLWxheWVyIGF0ICg0MywzNTkpIHNp
emUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsMzU4KSBzaXplIDV4MTAgY2xpcCBhdCAoNDMs
MzU4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEwCitsYXllciBh
dCAoNDMsMzU5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEw
IGNsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICg0MywzNTgpIHNpemUg
NXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICg0Myw0Mjkp
IHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsNDMyKSBzaXplIDV4MTEgY2xpcCBhdCAo
NDMsNDMyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDQzLDQzMikgc2l6ZSA1eDExCitsYXll
ciBhdCAoNDMsNDI5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQzLDQzMikgc2l6ZSA1
eDExIGNsaXAgYXQgKDQzLDQzMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICg0Myw0MzIpIHNp
emUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCww
KSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAg
ICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICgxMTYs
MzU5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgxMCBjbGlw
IGF0ICgxMTYsMzU4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgx
MAorbGF5ZXIgYXQgKDExNiwzNTkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTE2LDM1
OCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAo
MTE2LDM1OCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5
ZXIgYXQgKDExNiw0MjkpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTE2LDQzMikgc2l6
ZSA1eDExIGNsaXAgYXQgKDExNiw0MzIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTE2LDQz
Mikgc2l6ZSA1eDExCitsYXllciBhdCAoMTE2LDQyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlw
IGF0ICgxMTYsNDMyKSBzaXplIDV4MTEgY2xpcCBhdCAoMTE2LDQzMikgc2l6ZSA1eDExIG91dGxp
bmVDbGlwIGF0ICgxMTYsNDMyKSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7
MjNBMH0iCi1sYXllciBhdCAoMzYsNDYwKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM2
LDQ1OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDM2LDQ1OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0
ICgzNiw0NTkpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDM2LDQ2MCkgc2l6ZSA1eDExIGJhY2tncm91
bmRDbGlwIGF0ICgzNiw0NTkpIHNpemUgNXgxMCBjbGlwIGF0ICgzNiw0NTkpIHNpemUgNXgxMCBv
dXRsaW5lQ2xpcCBhdCAoMzYsNDU5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjNBMX0iCi1sYXllciBhdCAoMzYsNTE0KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDM2LDUxNykgc2l6ZSA1eDExIGNsaXAgYXQgKDM2LDUxNykgc2l6ZSA1eDExIG91dGxpbmVDbGlw
IGF0ICgzNiw1MTcpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDM2LDUxNCkgc2l6ZSA1eDExIGJhY2tn
cm91bmRDbGlwIGF0ICgzNiw1MTcpIHNpemUgNXgxMSBjbGlwIGF0ICgzNiw1MTcpIHNpemUgNXgx
MSBvdXRsaW5lQ2xpcCBhdCAoMzYsNTE3KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1
OiAiXHh7MjNBM30iCi1sYXllciBhdCAoMTIwLDQ2MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlw
IGF0ICgxMjAsNDU5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTIwLDQ1OSkgc2l6ZSA1eDEwIG91dGxp
bmVDbGlwIGF0ICgxMjAsNDU5KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMjAsNDYwKSBzaXplIDV4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyMCw0NTkpIHNpemUgNXgxMCBjbGlwIGF0ICgxMjAsNDU5
KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCw0NTkpIHNpemUgNXgxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDU6ICJceHsyM0E0fSIKLWxheWVyIGF0ICgxMjAsNTE0KSBzaXplIDV4MTQgYmFj
a2dyb3VuZENsaXAgYXQgKDEyMCw1MTcpIHNpemUgNXgxMSBjbGlwIGF0ICgxMjAsNTE3KSBzaXpl
IDV4MTEgb3V0bGluZUNsaXAgYXQgKDEyMCw1MTcpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEyMCw1
MTQpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDExIGNsaXAg
YXQgKDEyMCw1MTcpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDEx
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUg
NXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTZ9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vcm93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9t
YXRobWwvcHJlc2VudGF0aW9uL3Jvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEy
MTgsMzM5ICsxMjE4LDMzOSBAQCBsYXllciBhdCAoMTU3LDU3OSkgc2l6ZSA1eDggc2Nyb2xsSGVp
Z2h0CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUZ9IgogbGF5ZXIg
YXQgKDE1Nyw1ODcpIHNpemUgNXgxMSBzY3JvbGxIZWlnaHQgMTQKICAgUmVuZGVyQmxvY2sge21v
fSBhdCAoMCwzOCkgc2l6ZSA1eDExCi1sYXllciBhdCAoNDksOTUpIHNpemUgN3gxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5IGNsaXAgYXQgKDQ5LDk0KSBzaXplIDd4OSBvdXRs
aW5lQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5CitsYXllciBhdCAoNDksOTUpIHNpemUgN3gxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5IGNsaXAgYXQgKDQ5LDk0KSBzaXplIDd4
OSBvdXRsaW5lQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzog
Ilx4ezIzQTd9IgotbGF5ZXIgYXQgKDQ5LDEwMikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0
ICg0OSwxMDMpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwxMDMpIHNpemUgN3gxMCBvdXRsaW5lQ2xp
cCBhdCAoNDksMTAzKSBzaXplIDd4MTAKK2xheWVyIGF0ICg0OSwxMDIpIHNpemUgN3gxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoNDksMTAzKSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTAzKSBzaXplIDd4
MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDEwMykgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQg
e21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
NzogIlx4ezIzQTh9IgotbGF5ZXIgYXQgKDQ5LDExMCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlw
IGF0ICg0OSwxMTMpIHNpemUgN3gxMSBjbGlwIGF0ICg0OSwxMTMpIHNpemUgN3gxMSBvdXRsaW5l
Q2xpcCBhdCAoNDksMTEzKSBzaXplIDd4MTEKK2xheWVyIGF0ICg0OSwxMTApIHNpemUgN3gxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoNDksMTEzKSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMTEzKSBzaXpl
IDd4MTEgb3V0bGluZUNsaXAgYXQgKDQ5LDExMykgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggNzogIlx4ezIzQTl9IgotbGF5ZXIgYXQgKDg4LDk1KSBzaXplIDd4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDg4LDk0KSBzaXplIDd4OSBjbGlwIGF0ICg4OCw5NCkgc2l6ZSA3eDkgb3V0bGluZUNs
aXAgYXQgKDg4LDk0KSBzaXplIDd4OQorbGF5ZXIgYXQgKDg4LDk1KSBzaXplIDd4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDg4LDk0KSBzaXplIDd4OSBjbGlwIGF0ICg4OCw5NCkgc2l6ZSA3eDkgb3V0
bGluZUNsaXAgYXQgKDg4LDk0KSBzaXplIDd4OQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsy
M0FCfSIKLWxheWVyIGF0ICg4OCwxMDIpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoODgs
MTAzKSBzaXplIDd4MTAgY2xpcCBhdCAoODgsMTAzKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQg
KDg4LDEwMykgc2l6ZSA3eDEwCitsYXllciBhdCAoODgsMTAyKSBzaXplIDd4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDg4LDEwMykgc2l6ZSA3eDEwIGNsaXAgYXQgKDg4LDEwMykgc2l6ZSA3eDEwIG91
dGxpbmVDbGlwIGF0ICg4OCwxMDMpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJc
eHsyM0FDfSIKLWxheWVyIGF0ICg4OCwxMTApIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
ODgsMTEzKSBzaXplIDd4MTEgY2xpcCBhdCAoODgsMTEzKSBzaXplIDd4MTEgb3V0bGluZUNsaXAg
YXQgKDg4LDExMykgc2l6ZSA3eDExCitsYXllciBhdCAoODgsMTEwKSBzaXplIDd4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDg4LDExMykgc2l6ZSA3eDExIGNsaXAgYXQgKDg4LDExMykgc2l6ZSA3eDEx
IG91dGxpbmVDbGlwIGF0ICg4OCwxMTMpIHNpemUgN3gxMQogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6
ICJceHsyM0FEfSIKLWxheWVyIGF0ICgxMDIsOTUpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTAyLDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTAyLDk0KSBzaXplIDV4MTAgb3V0bGluZUNs
aXAgYXQgKDEwMiw5NCkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTAyLDk1KSBzaXplIDV4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDEwMiw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEwMiw5NCkgc2l6ZSA1
eDEwIG91dGxpbmVDbGlwIGF0ICgxMDIsOTQpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDU6ICJceHsyM0ExfSIKLWxheWVyIGF0ICgxMDIsMTA5KSBzaXplIDV4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDEwMiwxMTIpIHNpemUgNXgxMSBjbGlwIGF0ICgxMDIsMTEyKSBzaXplIDV4MTEgb3V0
bGluZUNsaXAgYXQgKDEwMiwxMTIpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEwMiwxMDkpIHNpemUg
NXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTAyLDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDEwMiwx
MTIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAyLDExMikgc2l6ZSA1eDExCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIgYXQgKDEzOSw5NSkgc2l6ZSA1eDE0IGJh
Y2tncm91bmRDbGlwIGF0ICgxMzksOTQpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzksOTQpIHNpemUg
NXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTM5LDk0KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMzksOTUp
IHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM5LDk0KSBzaXplIDV4MTAgY2xpcCBhdCAo
MTM5LDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEzOSw5NCkgc2l6ZSA1eDEwCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTR9IgotbGF5ZXIgYXQgKDEzOSwxMDkpIHNpemUgNXgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM5LDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDEzOSwxMTIp
IHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTM5LDExMikgc2l6ZSA1eDExCitsYXllciBhdCAo
MTM5LDEwOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMzksMTEyKSBzaXplIDV4MTEg
Y2xpcCBhdCAoMTM5LDExMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMzksMTEyKSBzaXpl
IDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNn0iCi1sYXllciBhdCAoMTUxLDk1
KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1MSw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQg
KDE1MSw5NCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTEsOTQpIHNpemUgNXgxMAorbGF5
ZXIgYXQgKDE1MSw5NSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNTEsOTQpIHNpemUg
NXgxMCBjbGlwIGF0ICgxNTEsOTQpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTUxLDk0KSBz
aXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBhdCAoMTUx
LDEwOSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4MTEgY2xp
cCBhdCAoMTUxLDExMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4
MTEKK2xheWVyIGF0ICgxNTEsMTA5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE1MSwx
MTIpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQg
KDE1MSwxMTIpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxh
eWVyIGF0ICgxODgsOTUpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg4LDk0KSBzaXpl
IDV4MTAgY2xpcCBhdCAoMTg4LDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE4OCw5NCkg
c2l6ZSA1eDEwCitsYXllciBhdCAoMTg4LDk1KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQg
KDE4OCw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE4OCw5NCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlw
IGF0ICgxODgsOTQpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMp
IHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIK
LWxheWVyIGF0ICgxODgsMTA5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE4OCwxMTIp
IHNpemUgNXgxMSBjbGlwIGF0ICgxODgsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE4
OCwxMTIpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE4OCwxMDkpIHNpemUgNXgxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMTg4LDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDE4OCwxMTIpIHNpemUgNXgxMSBv
dXRsaW5lQ2xpcCBhdCAoMTg4LDExMikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTog
Ilx4ezIzQTB9IgotbGF5ZXIgYXQgKDIwMCw5NSkgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgyMDAsOTQpIHNpemUgOHgxMCBjbGlwIGF0ICgyMDAsOTQpIHNpemUgOHgxMCBvdXRsaW5lQ2xp
cCBhdCAoMjAwLDk0KSBzaXplIDh4MTAKK2xheWVyIGF0ICgyMDAsOTUpIHNpemUgOHgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMjAwLDk0KSBzaXplIDh4MTAgY2xpcCBhdCAoMjAwLDk0KSBzaXplIDh4
MTAgb3V0bGluZUNsaXAgYXQgKDIwMCw5NCkgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQg
e21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
ODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDIwMCwxMDkpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjAwLDExMikgc2l6ZSA4eDExIGNsaXAgYXQgKDIwMCwxMTIpIHNpemUgOHgxMSBvdXRs
aW5lQ2xpcCBhdCAoMjAwLDExMikgc2l6ZSA4eDExCitsYXllciBhdCAoMjAwLDEwOSkgc2l6ZSA4
eDExIGJhY2tncm91bmRDbGlwIGF0ICgyMDAsMTEyKSBzaXplIDh4MTEgY2xpcCBhdCAoMjAwLDEx
Mikgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyMDAsMTEyKSBzaXplIDh4MTEKICAgUmVuZGVy
QmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAg
UmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgw
LC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjQwLDk1KSBzaXplIDh4MTQgYmFj
a2dyb3VuZENsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4
eDEwIG91dGxpbmVDbGlwIGF0ICgyNDAsOTQpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDI0MCw5NSkg
c2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNDAsOTQpIHNpemUgOHgxMCBjbGlwIGF0ICgy
NDAsOTQpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjQwLDk0KSBzaXplIDh4MTAKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjQwLDEwOSkgc2l6ZSA4eDE0
IGJhY2tncm91bmRDbGlwIGF0ICgyNDAsMTEyKSBzaXplIDh4MTEgY2xpcCBhdCAoMjQwLDExMikg
c2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyNDAsMTEyKSBzaXplIDh4MTEKK2xheWVyIGF0ICgy
NDAsMTA5KSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI0MCwxMTIpIHNpemUgOHgxMSBj
bGlwIGF0ICgyNDAsMTEyKSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDI0MCwxMTIpIHNpemUg
OHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyNTUsOTUp
IHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMCBjbGlwIGF0
ICgyNTUsOTQpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMAor
bGF5ZXIgYXQgKDI1NSw5NSkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjU1LDk0KSBz
aXplIDEweDEwIGNsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjU1
LDk0KSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUg
MTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjB9IgotbGF5
ZXIgYXQgKDI1NSwxMDkpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI1NSwxMTIpIHNp
emUgMTB4MTEgY2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjU1
LDExMikgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDI1NSwxMDkpIHNpemUgMTB4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDI1NSwxMTIpIHNpemUgMTB4MTEgY2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgx
MSBvdXRsaW5lQ2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMQogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4
dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggMTA6ICJceHsyMzIxfSIKLWxheWVyIGF0ICg0OSwxNTIpIHNpemUgN3gxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoNDksMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTUxKSBzaXplIDd4MTAgb3V0
bGluZUNsaXAgYXQgKDQ5LDE1MSkgc2l6ZSA3eDEwCitsYXllciBhdCAoNDksMTUyKSBzaXplIDd4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDE1MSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5LDE1MSkg
c2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwxNTEpIHNpemUgN3gxMAogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDc6ICJceHsyM0E3fSIKLWxheWVyIGF0ICg0OSwxNjQpIHNpemUgN3gxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoNDksMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTY1KSBzaXplIDd4MTAg
b3V0bGluZUNsaXAgYXQgKDQ5LDE2NSkgc2l6ZSA3eDEwCitsYXllciBhdCAoNDksMTY0KSBzaXpl
IDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDE2NSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5LDE2
NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwxNjUpIHNpemUgN3gxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDc6ICJceHsyM0E4fSIKLWxheWVyIGF0ICg0OSwxNzYpIHNpemUgN3gxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoNDksMTc5KSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMTc5KSBzaXplIDd4
MTEgb3V0bGluZUNsaXAgYXQgKDQ5LDE3OSkgc2l6ZSA3eDExCitsYXllciBhdCAoNDksMTc2KSBz
aXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDE3OSkgc2l6ZSA3eDExIGNsaXAgYXQgKDQ5
LDE3OSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg0OSwxNzkpIHNpemUgN3gxMQogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDc6ICJceHsyM0E5fSIKLWxheWVyIGF0ICg5NiwxNTIpIHNpemUgN3gxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoOTYsMTUxKSBzaXpl
IDd4MTAgb3V0bGluZUNsaXAgYXQgKDk2LDE1MSkgc2l6ZSA3eDEwCitsYXllciBhdCAoOTYsMTUy
KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE1MSkgc2l6ZSA3eDEwIGNsaXAgYXQg
KDk2LDE1MSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg5NiwxNTEpIHNpemUgN3gxMAogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FCfSIKLWxheWVyIGF0ICg5NiwxNjQpIHNpemUgN3gx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAoOTYsMTY1KSBz
aXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDk2LDE2NSkgc2l6ZSA3eDEwCitsYXllciBhdCAoOTYs
MTY0KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE2NSkgc2l6ZSA3eDEwIGNsaXAg
YXQgKDk2LDE2NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg5NiwxNjUpIHNpemUgN3gxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FDfSIKLWxheWVyIGF0ICg5NiwxNzYpIHNpemUg
N3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTc5KSBzaXplIDd4MTEgY2xpcCBhdCAoOTYsMTc5
KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExCitsYXllciBhdCAo
OTYsMTc2KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExIGNs
aXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg5NiwxNzkpIHNpemUgN3gx
MQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FEfSIKLWxheWVyIGF0ICgxMTAsMTUyKSBz
aXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMCBjbGlwIGF0ICgx
MTAsMTUxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMAorbGF5
ZXIgYXQgKDExMCwxNTIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEwLDE1MSkgc2l6
ZSA1eDEwIGNsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTEwLDE1
MSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTF9IgotbGF5ZXIgYXQg
KDExMCwxNzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDEx
IGNsaXAgYXQgKDExMCwxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTEwLDE3OSkgc2l6
ZSA1eDExCitsYXllciBhdCAoMTEwLDE3Nikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgx
MTAsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlw
IGF0ICgxMTAsMTc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0z
KSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBM30i
Ci1sYXllciBhdCAoMTU1LDE1Mikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTUsMTUx
KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU1LDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgx
NTUsMTUxKSBzaXplIDV4MTAKK2xheWVyIGF0ICgxNTUsMTUyKSBzaXplIDV4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDE1NSwxNTEpIHNpemUgNXgxMCBjbGlwIGF0ICgxNTUsMTUxKSBzaXplIDV4MTAg
b3V0bGluZUNsaXAgYXQgKDE1NSwxNTEpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6
ICJceHsyM0E0fSIKLWxheWVyIGF0ICgxNTUsMTc2KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAg
YXQgKDE1NSwxNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTUsMTc5KSBzaXplIDV4MTEgb3V0bGlu
ZUNsaXAgYXQgKDE1NSwxNzkpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE1NSwxNzYpIHNpemUgNXgx
MSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTU1LDE3OSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE1NSwxNzkp
IHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTU1LDE3OSkgc2l6ZSA1eDExCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNTogIlx4ezIzQTZ9IgotbGF5ZXIgYXQgKDE2NywxNTIpIHNpemUgNXgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMTY3LDE1MSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE2NywxNTEpIHNpemUg
NXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTY3LDE1MSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTY3LDE1
Mikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAgY2xpcCBh
dCAoMTY3LDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBhdCAoMTY3LDE3Nikgc2l6
ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTY3
LDE3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEKK2xheWVy
IGF0ICgxNjcsMTc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NywxNzkpIHNpemUg
NXgxMSBjbGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE2NywxNzkp
IHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAo
MCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwog
ICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICgy
MTIsMTUyKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIxMiwxNTEpIHNpemUgNXgxMCBj
bGlwIGF0ICgyMTIsMTUxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDIxMiwxNTEpIHNpemUg
NXgxMAorbGF5ZXIgYXQgKDIxMiwxNTIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjEy
LDE1MSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDIxMiwxNTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBh
dCAoMjEyLDE1MSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykg
c2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9Igot
bGF5ZXIgYXQgKDIxMiwxNzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjEyLDE3OSkg
c2l6ZSA1eDExIGNsaXAgYXQgKDIxMiwxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMjEy
LDE3OSkgc2l6ZSA1eDExCitsYXllciBhdCAoMjEyLDE3Nikgc2l6ZSA1eDExIGJhY2tncm91bmRD
bGlwIGF0ICgyMTIsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMjEyLDE3OSkgc2l6ZSA1eDExIG91
dGxpbmVDbGlwIGF0ICgyMTIsMTc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjNBMH0iCi1sYXllciBhdCAoMjI0LDE1Mikgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgyMjQsMTUxKSBzaXplIDh4MTAgY2xpcCBhdCAoMjI0LDE1MSkgc2l6ZSA4eDEwIG91dGxpbmVD
bGlwIGF0ICgyMjQsMTUxKSBzaXplIDh4MTAKK2xheWVyIGF0ICgyMjQsMTUyKSBzaXplIDh4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDIyNCwxNTEpIHNpemUgOHgxMCBjbGlwIGF0ICgyMjQsMTUxKSBz
aXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDIyNCwxNTEpIHNpemUgOHgxMAogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyMjQsMTc2KSBzaXplIDh4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDIyNCwxNzkpIHNpemUgOHgxMSBjbGlwIGF0ICgyMjQsMTc5KSBzaXplIDh4
MTEgb3V0bGluZUNsaXAgYXQgKDIyNCwxNzkpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDIyNCwxNzYp
IHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExIGNsaXAgYXQg
KDIyNCwxNzkpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDI3MiwxNTIpIHNpemUg
OHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI3Miwx
NTEpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwCitsYXllciBh
dCAoMjcyLDE1Mikgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4
MTAgY2xpcCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgyNzIsMTUxKSBz
aXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjcy
LDE3Nikgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4MTEgY2xp
cCBhdCAoMjcyLDE3OSkgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4
MTEKK2xheWVyIGF0ICgyNzIsMTc2KSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI3Miwx
NzkpIHNpemUgOHgxMSBjbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQg
KDI3MiwxNzkpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxh
eWVyIGF0ICgyODcsMTUyKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICgyODcsMTUxKSBz
aXplIDEweDEwIGNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDI4
NywxNTEpIHNpemUgMTB4MTAKK2xheWVyIGF0ICgyODcsMTUyKSBzaXplIDEweDExIGJhY2tncm91
bmRDbGlwIGF0ICgyODcsMTUxKSBzaXplIDEweDEwIGNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4
MTAgb3V0bGluZUNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAxMHgxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDEwOiAiXHh7MjMyMH0iCi1sYXllciBhdCAoMjg3LDE3Nikgc2l6ZSAxMHgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMjg3LDE3OSkgc2l6ZSAxMHgxMSBjbGlwIGF0ICgyODcsMTc5KSBzaXplIDEw
eDExIG91dGxpbmVDbGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExCitsYXllciBhdCAoMjg3LDE3
Nikgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjg3LDE3OSkgc2l6ZSAxMHgxMSBjbGlw
IGF0ICgyODcsMTc5KSBzaXplIDEweDExIG91dGxpbmVDbGlwIGF0ICgyODcsMTc5KSBzaXplIDEw
eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDQ5LDIy
OSkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyMjgpIHNpemUgN3gxMCBjbGlwIGF0
ICg0OSwyMjgpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjI4KSBzaXplIDd4MTAKK2xh
eWVyIGF0ICg0OSwyMjkpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjI4KSBzaXpl
IDd4MTAgY2xpcCBhdCAoNDksMjI4KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDIyOCkg
c2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTd9IgotbGF5ZXIgYXQgKDQ5
LDI1MCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNTEpIHNpemUgN3gxMCBjbGlw
IGF0ICg0OSwyNTEpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjUxKSBzaXplIDd4MTAK
K2xheWVyIGF0ICg0OSwyNTApIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjUxKSBz
aXplIDd4MTAgY2xpcCBhdCAoNDksMjUxKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDI1
MSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTh9IgotbGF5ZXIgYXQg
KDQ5LDI3Mikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNzUpIHNpemUgN3gxMSBj
bGlwIGF0ICg0OSwyNzUpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoNDksMjc1KSBzaXplIDd4
MTEKK2xheWVyIGF0ICg0OSwyNzIpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjc1
KSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMjc1KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDQ5
LDI3NSkgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTl9IgotbGF5ZXIg
YXQgKDExMiwyMjkpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3
eDEwIGNsaXAgYXQgKDExMiwyMjgpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTEyLDIyOCkg
c2l6ZSA3eDEwCitsYXllciBhdCAoMTEyLDIyOSkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0
ICgxMTIsMjI4KSBzaXplIDd4MTAgY2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3eDEwIG91dGxpbmVD
bGlwIGF0ICgxMTIsMjI4KSBzaXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgw
LC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNB
Qn0iCi1sYXllciBhdCAoMTEyLDI1MCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMTIs
MjUxKSBzaXplIDd4MTAgY2xpcCBhdCAoMTEyLDI1MSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0
ICgxMTIsMjUxKSBzaXplIDd4MTAKK2xheWVyIGF0ICgxMTIsMjUwKSBzaXplIDd4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDExMiwyNTEpIHNpemUgN3gxMCBjbGlwIGF0ICgxMTIsMjUxKSBzaXplIDd4
MTAgb3V0bGluZUNsaXAgYXQgKDExMiwyNTEpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDc6ICJceHsyM0FDfSIKLWxheWVyIGF0ICgxMTIsMjcyKSBzaXplIDd4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDExMiwyNzUpIHNpemUgN3gxMSBjbGlwIGF0ICgxMTIsMjc1KSBzaXplIDd4MTEgb3V0
bGluZUNsaXAgYXQgKDExMiwyNzUpIHNpemUgN3gxMQorbGF5ZXIgYXQgKDExMiwyNzIpIHNpemUg
N3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEyLDI3NSkgc2l6ZSA3eDExIGNsaXAgYXQgKDExMiwy
NzUpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoMTEyLDI3NSkgc2l6ZSA3eDExCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggNzogIlx4ezIzQUR9IgotbGF5ZXIgYXQgKDEyNiwyMjkpIHNpemUgNXgxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTI2LDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEyNiwyMjgpIHNp
emUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTI2LDIyOCkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTI2
LDIyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4MTAgY2xp
cCBhdCAoMTI2LDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6
ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMX0iCi1sYXllciBhdCAoMTI2LDI3Mikg
c2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEgY2xpcCBhdCAo
MTI2LDI3NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEKK2xh
eWVyIGF0ICgxMjYsMjcyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyNiwyNzUpIHNp
emUgNXgxMSBjbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDEyNiwy
NzUpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBh
dCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgx
NwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EzfSIKLWxheWVyIGF0
ICgxODcsMjI5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE4NywyMjgpIHNpemUgNXgx
MCBjbGlwIGF0ICgxODcsMjI4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE4NywyMjgpIHNp
emUgNXgxMAorbGF5ZXIgYXQgKDE4NywyMjkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MTg3LDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE4NywyMjgpIHNpemUgNXgxMCBvdXRsaW5lQ2xp
cCBhdCAoMTg3LDIyOCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwt
Mykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTR9
IgotbGF5ZXIgYXQgKDE4NywyNzIpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg3LDI3
NSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE4NywyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAo
MTg3LDI3NSkgc2l6ZSA1eDExCitsYXllciBhdCAoMTg3LDI3Mikgc2l6ZSA1eDExIGJhY2tncm91
bmRDbGlwIGF0ICgxODcsMjc1KSBzaXplIDV4MTEgY2xpcCBhdCAoMTg3LDI3NSkgc2l6ZSA1eDEx
IG91dGxpbmVDbGlwIGF0ICgxODcsMjc1KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1
OiAiXHh7MjNBNn0iCi1sYXllciBhdCAoMTk5LDIyOSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlw
IGF0ICgxOTksMjI4KSBzaXplIDV4MTAgY2xpcCBhdCAoMTk5LDIyOCkgc2l6ZSA1eDEwIG91dGxp
bmVDbGlwIGF0ICgxOTksMjI4KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxOTksMjI5KSBzaXplIDV4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDE5OSwyMjgpIHNpemUgNXgxMCBjbGlwIGF0ICgxOTksMjI4
KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE5OSwyMjgpIHNpemUgNXgxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgxOTksMjcyKSBzaXplIDV4MTQgYmFj
a2dyb3VuZENsaXAgYXQgKDE5OSwyNzUpIHNpemUgNXgxMSBjbGlwIGF0ICgxOTksMjc1KSBzaXpl
IDV4MTEgb3V0bGluZUNsaXAgYXQgKDE5OSwyNzUpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE5OSwy
NzIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDExIGNsaXAg
YXQgKDE5OSwyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDEx
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUg
NXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0
IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIgYXQgKDI2MCwyMjkpIHNp
emUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDI2
MCwyMjgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwCitsYXll
ciBhdCAoMjYwLDIyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNjAsMjI4KSBzaXpl
IDV4MTAgY2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgyNjAsMjI4
KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQg
KDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RX0iCi1sYXllciBhdCAo
MjYwLDI3Mikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyNjAsMjc1KSBzaXplIDV4MTEg
Y2xpcCBhdCAoMjYwLDI3NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyNjAsMjc1KSBzaXpl
IDV4MTEKK2xheWVyIGF0ICgyNjAsMjcyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI2
MCwyNzUpIHNpemUgNXgxMSBjbGlwIGF0ICgyNjAsMjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAg
YXQgKDI2MCwyNzUpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMp
IHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIK
LWxheWVyIGF0ICgyNzIsMjI5KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI3MiwyMjgp
IHNpemUgOHgxMCBjbGlwIGF0ICgyNzIsMjI4KSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDI3
MiwyMjgpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDI3MiwyMjkpIHNpemUgOHgxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMjcyLDIyOCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI3MiwyMjgpIHNpemUgOHgxMCBv
dXRsaW5lQ2xpcCBhdCAoMjcyLDIyOCkgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODog
Ilx4ezIzRDB9IgotbGF5ZXIgYXQgKDI3MiwyNzIpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMjcyLDI3NSkgc2l6ZSA4eDExIGNsaXAgYXQgKDI3MiwyNzUpIHNpemUgOHgxMSBvdXRsaW5l
Q2xpcCBhdCAoMjcyLDI3NSkgc2l6ZSA4eDExCitsYXllciBhdCAoMjcyLDI3Mikgc2l6ZSA4eDEx
IGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMjc1KSBzaXplIDh4MTEgY2xpcCBhdCAoMjcyLDI3NSkg
c2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyNzIsMjc1KSBzaXplIDh4MTEKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVu
ZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzM2LDIyOSkgc2l6ZSA4eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICgzMzYsMjI4KSBzaXplIDh4MTAgY2xpcCBhdCAoMzM2LDIyOCkgc2l6ZSA4
eDEwIG91dGxpbmVDbGlwIGF0ICgzMzYsMjI4KSBzaXplIDh4MTAKK2xheWVyIGF0ICgzMzYsMjI5
KSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMCBjbGlwIGF0
ICgzMzYsMjI4KSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgzMzYsMjcyKSBzaXpl
IDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMSBjbGlwIGF0ICgzMzYs
Mjc1KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMQorbGF5ZXIg
YXQgKDMzNiwyNzIpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4
eDExIGNsaXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzM2LDI3NSkg
c2l6ZSA4eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDM1
MSwyMjkpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM1MSwyMjgpIHNpemUgMTB4MTAg
Y2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMzUxLDIyOCkgc2l6
ZSAxMHgxMAorbGF5ZXIgYXQgKDM1MSwyMjkpIHNpemUgMTB4MTEgYmFja2dyb3VuZENsaXAgYXQg
KDM1MSwyMjgpIHNpemUgMTB4MTAgY2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgxMCBvdXRsaW5l
Q2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6ICJc
eHsyMzIwfSIKLWxheWVyIGF0ICgzNTEsMjcyKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0
ICgzNTEsMjc1KSBzaXplIDEweDExIGNsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEgb3V0bGlu
ZUNsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEKK2xheWVyIGF0ICgzNTEsMjcyKSBzaXplIDEw
eDExIGJhY2tncm91bmRDbGlwIGF0ICgzNTEsMjc1KSBzaXplIDEweDExIGNsaXAgYXQgKDM1MSwy
NzUpIHNpemUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAxMHgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjMyMX0iCi1sYXllciBhdCAoNTcsMzczKSBzaXplIDd4
MTQgYmFja2dyb3VuZENsaXAgYXQgKDU3LDM3Mikgc2l6ZSA3eDEwIGNsaXAgYXQgKDU3LDM3Mikg
c2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg1NywzNzIpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDU3
LDM3Mykgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1NywzNzIpIHNpemUgN3gxMCBjbGlw
IGF0ICg1NywzNzIpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNTcsMzcyKSBzaXplIDd4MTAK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBN30iCi1sYXllciBhdCAoNTcsNDM4KSBzaXpl
IDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDU3LDQzOSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDU3LDQz
OSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMAorbGF5ZXIgYXQg
KDU3LDQzOCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMCBj
bGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNTcsNDM5KSBzaXplIDd4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6
ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOH0iCi1sYXllciBhdCAoNTcsNTAzKSBz
aXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDU3LDUwNikgc2l6ZSA3eDExIGNsaXAgYXQgKDU3
LDUwNikgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gxMQorbGF5ZXIg
YXQgKDU3LDUwMykgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gx
MSBjbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoNTcsNTA2KSBzaXpl
IDd4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOX0iCi1sYXllciBhdCAoMTIwLDM3
Mykgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAgY2xpcCBh
dCAoMTIwLDM3Mikgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAK
K2xheWVyIGF0ICgxMjAsMzczKSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyMCwzNzIp
IHNpemUgN3gxMCBjbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEy
MCwzNzIpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21v
fSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUg
N3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FCfSIKLWxheWVy
IGF0ICgxMjAsNDM4KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEyMCw0MzkpIHNpemUg
N3gxMCBjbGlwIGF0ICgxMjAsNDM5KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCw0Mzkp
IHNpemUgN3gxMAorbGF5ZXIgYXQgKDEyMCw0MzgpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTIwLDQzOSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDEyMCw0MzkpIHNpemUgN3gxMCBvdXRsaW5l
Q2xpcCBhdCAoMTIwLDQzOSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIz
QUN9IgotbGF5ZXIgYXQgKDEyMCw1MDMpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIw
LDUwNikgc2l6ZSA3eDExIGNsaXAgYXQgKDEyMCw1MDYpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBh
dCAoMTIwLDUwNikgc2l6ZSA3eDExCitsYXllciBhdCAoMTIwLDUwMykgc2l6ZSA3eDExIGJhY2tn
cm91bmRDbGlwIGF0ICgxMjAsNTA2KSBzaXplIDd4MTEgY2xpcCBhdCAoMTIwLDUwNikgc2l6ZSA3
eDExIG91dGxpbmVDbGlwIGF0ICgxMjAsNTA2KSBzaXplIDd4MTEKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4
dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0
aCA3OiAiXHh7MjNBRH0iCi1sYXllciBhdCAoMTM0LDM3Mykgc2l6ZSA1eDE0IGJhY2tncm91bmRD
bGlwIGF0ICgxMzQsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMTM0LDM3Mikgc2l6ZSA1eDEwIG91
dGxpbmVDbGlwIGF0ICgxMzQsMzcyKSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMzQsMzczKSBzaXpl
IDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEzNCwzNzIpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzQs
MzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEzNCwzNzIpIHNpemUgNXgxMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDU6ICJceHsyM0ExfSIKLWxheWVyIGF0ICgxMzQsNTAzKSBzaXplIDV4MTQg
YmFja2dyb3VuZENsaXAgYXQgKDEzNCw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgxMzQsNTA2KSBz
aXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDEzNCw1MDYpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEz
NCw1MDMpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1eDExIGNs
aXAgYXQgKDEzNCw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1
eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIgYXQgKDE5NSwzNzMp
IHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQg
KDE5NSwzNzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwCits
YXllciBhdCAoMTk1LDM3Mykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxOTUsMzcyKSBz
aXplIDV4MTAgY2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxOTUs
MzcyKSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30g
YXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNH0iCi1sYXllciBh
dCAoMTk1LDUwMykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4
MTEgY2xpcCBhdCAoMTk1LDUwNikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxOTUsNTA2KSBz
aXplIDV4MTEKK2xheWVyIGF0ICgxOTUsNTAzKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQg
KDE5NSw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4MTEgb3V0bGluZUNs
aXAgYXQgKDE5NSw1MDYpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAs
LTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0E2
fSIKLWxheWVyIGF0ICgyMDcsMzczKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIwNywz
NzIpIHNpemUgNXgxMCBjbGlwIGF0ICgyMDcsMzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQg
KDIwNywzNzIpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDIwNywzNzMpIHNpemUgNXgxMSBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMjA3LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQgKDIwNywzNzIpIHNpemUgNXgx
MCBvdXRsaW5lQ2xpcCBhdCAoMjA3LDM3Mikgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQg
e21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
NTogIlx4ezIzOUJ9IgotbGF5ZXIgYXQgKDIwNyw1MDMpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjA3LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQgKDIwNyw1MDYpIHNpemUgNXgxMSBvdXRs
aW5lQ2xpcCBhdCAoMjA3LDUwNikgc2l6ZSA1eDExCitsYXllciBhdCAoMjA3LDUwMykgc2l6ZSA1
eDExIGJhY2tncm91bmRDbGlwIGF0ICgyMDcsNTA2KSBzaXplIDV4MTEgY2xpcCBhdCAoMjA3LDUw
Nikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyMDcsNTA2KSBzaXplIDV4MTEKICAgUmVuZGVy
QmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAg
UmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgw
LC0zKSB3aWR0aCA1OiAiXHh7MjM5RH0iCi1sYXllciBhdCAoMjY4LDM3Mykgc2l6ZSA1eDE0IGJh
Y2tncm91bmRDbGlwIGF0ICgyNjgsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMjY4LDM3Mikgc2l6
ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgyNjgsMzcyKSBzaXplIDV4MTAKK2xheWVyIGF0ICgyNjgs
MzczKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgxMCBjbGlw
IGF0ICgyNjgsMzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgx
MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICgyNjgsNTAzKSBz
aXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgy
NjgsNTA2KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMQorbGF5
ZXIgYXQgKDI2OCw1MDMpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjY4LDUwNikgc2l6
ZSA1eDExIGNsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMjY4LDUw
Nikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTB9IgotbGF5ZXIgYXQg
KDI4MCwzNzMpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEw
IGNsaXAgYXQgKDI4MCwzNzIpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjgwLDM3Mikgc2l6
ZSA4eDEwCitsYXllciBhdCAoMjgwLDM3Mykgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgy
ODAsMzcyKSBzaXplIDh4MTAgY2xpcCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEwIG91dGxpbmVDbGlw
IGF0ICgyODAsMzcyKSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0z
KSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0i
Ci1sYXllciBhdCAoMjgwLDUwMykgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyODAsNTA2
KSBzaXplIDh4MTEgY2xpcCBhdCAoMjgwLDUwNikgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgy
ODAsNTA2KSBzaXplIDh4MTEKK2xheWVyIGF0ICgyODAsNTAzKSBzaXplIDh4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDI4MCw1MDYpIHNpemUgOHgxMSBjbGlwIGF0ICgyODAsNTA2KSBzaXplIDh4MTEg
b3V0bGluZUNsaXAgYXQgKDI4MCw1MDYpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHtt
b30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6
ICJceHsyM0QwfSIKLWxheWVyIGF0ICgzNDQsMzczKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAg
YXQgKDM0NCwzNzIpIHNpemUgOHgxMCBjbGlwIGF0ICgzNDQsMzcyKSBzaXplIDh4MTAgb3V0bGlu
ZUNsaXAgYXQgKDM0NCwzNzIpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDM0NCwzNzMpIHNpemUgOHgx
MSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzQ0LDM3Mikgc2l6ZSA4eDEwIGNsaXAgYXQgKDM0NCwzNzIp
IHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMzQ0LDM3Mikgc2l6ZSA4eDEwCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDM0NCw1MDMpIHNpemUgOHgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMzQ0LDUwNikgc2l6ZSA4eDExIGNsaXAgYXQgKDM0NCw1MDYpIHNpemUg
OHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzQ0LDUwNikgc2l6ZSA4eDExCitsYXllciBhdCAoMzQ0LDUw
Mykgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEgY2xpcCBh
dCAoMzQ0LDUwNikgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzU5LDM3Mykgc2l6
ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzU5LDM3Mikgc2l6ZSAxMHgxMCBjbGlwIGF0ICgz
NTksMzcyKSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgzNTksMzcyKSBzaXplIDEweDEwCits
YXllciBhdCAoMzU5LDM3Mykgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzU5LDM3Mikg
c2l6ZSAxMHgxMCBjbGlwIGF0ICgzNTksMzcyKSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgz
NTksMzcyKSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjB9Igot
bGF5ZXIgYXQgKDM1OSw1MDMpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM1OSw1MDYp
IHNpemUgMTB4MTEgY2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAo
MzU5LDUwNikgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDM1OSw1MDMpIHNpemUgMTB4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDM1OSw1MDYpIHNpemUgMTB4MTEgY2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAx
MHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMQogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggMTA6ICJceHsyMzIxfSIKLWxheWVyIGF0ICg5LDU1MCkgc2l6ZSA1eDE0IGJhY2tncm91
bmRDbGlwIGF0ICg5LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAgb3V0
bGluZUNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAKK2xheWVyIGF0ICg5LDU1MCkgc2l6ZSA1eDEx
IGJhY2tncm91bmRDbGlwIGF0ICg5LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDksNTQ5KSBzaXpl
IDV4MTAgb3V0bGluZUNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4
dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0
aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBhdCAoOSw1ODQpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoOSw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExIG91dGxpbmVD
bGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExCitsYXllciBhdCAoOSw1ODQpIHNpemUgNXgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoOSw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDEx
IG91dGxpbmVDbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTog
Ilx4ezIzOUR9IgotbGF5ZXIgYXQgKDE1Nyw1NTApIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTU3LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE1Nyw1NDkpIHNpemUgNXgxMCBvdXRsaW5l
Q2xpcCBhdCAoMTU3LDU0OSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTU3LDU1MCkgc2l6ZSA1eDEx
IGJhY2tncm91bmRDbGlwIGF0ICgxNTcsNTQ5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU3LDU0OSkg
c2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTcsNTQ5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVu
ZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCA1OiAiXHh7MjM5RX0iCi1sYXllciBhdCAoMTU3LDU4NCkgc2l6ZSA1eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICgxNTcsNTg3KSBzaXplIDV4MTEgY2xpcCBhdCAoMTU3LDU4Nykgc2l6ZSA1
eDExIG91dGxpbmVDbGlwIGF0ICgxNTcsNTg3KSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNTcsNTg0
KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMSBjbGlwIGF0
ICgxNTcsNTg3KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMQog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9wcmludGluZy9yZXR1cm4tZnJvbS1wcmludGluZy1tb2RlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcmV0dXJuLWZy
b20tcHJpbnRpbmctbW9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3ByaW50aW5nL3JldHVybi1mcm9tLXByaW50aW5nLW1vZGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxNjU2eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxNjU2eDQ4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg0OAogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDgKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDc4NHgxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vYWx0
Z2x5cGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL2FsdGdseXBoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9hbHRnbHlwaC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1
ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNp
emUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHto
dG1sfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwx
Nikgc2l6ZSA3ODR4NTY1CiAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0
bS1pbi1taXhlZC1jb250ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4tbWl4ZWQtY29udGVudC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vZ2V0c2NyZWVuY3RtLWluLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xMyw3ICsxMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUy
CiAgICAgICBSZW5kZXJCUiB7YnJ9IGF0ICg1MDcsMCkgc2l6ZSAweDE4CiAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMTgpIHNpemUgMzE1eDE4CiAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDE4KSB3aWR0aCAzMTU6ICJJZiB0aGUgdGVzdCBwYXNzZXMgeW91IHNob3VsZCBzZWUgYSBncmVl
biByZWN0YW5nbGUuIgotbGF5ZXIgYXQgKDMwLDEwMCkgc2l6ZSA0MDB4MjA0CitsYXllciBhdCAo
MzAsMTAwKSBzaXplIDQwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtkaXZ9IGF0
ICgzMCwxMDApIHNpemUgNDAweDIwMAogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDMwLDEw
MCkgc2l6ZSA0MDB4MjAwCiAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzAsMTAwKSBz
aXplIDQwMHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAw
XSBbeT0wLjAwXSBbd2lkdGg9MjAwLjAwXSBbaGVpZ2h0PTEwMC4wMF0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFk
LWRhdGEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4Nzc4CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg3NzgK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDc3OAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAs
MCkgc2l6ZSA3ODV4Nzc4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzY5
eDc1NAogICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3Mzd4
MTM0IFtiZ2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQt
c3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQt
c3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1i
ZWRkZWQtc3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAyNngxMDE0CiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEw
MjZ4MTAxNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAxNAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTAxNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2
KSBzaXplIDc2OXg5OTQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxNiwwKSBzaXplIDcz
N3g2MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LWluLWh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9udHMt
aW4taHRtbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAgbGF5
ZXIgYXQgKDE3MywzMikgc2l6ZSA0NTN4NDUzCiAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMHgwCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA0NTN4
MAogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQg
KDE3Myw0Nykgc2l6ZSA0NTN4MTg5CitsYXllciBhdCAoMTczLDQ3KSBzaXplIDQ1M3gxODgKICAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtIMX0gYXQgKDAsMTUpIHNpemUgNDUzeDE4OCBbY29s
b3I9I0REOTk1NV0KICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzQweDE5
MAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MywtMSkgc2l6ZSAzNDB4MTkwCkBAIC04
MCw3ICs4MCw3IEBAIGxheWVyIGF0ICgxNzMsMzUxKSBzaXplIDQ1M3gxMzQKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTEsOTgpIHdpZHRoIDQzMTogIkxlYXJuIHRvIHVzZSB0aGUgKHlldCB0byBi
ZSkgdGltZS1ob25vcmVkIHRlY2huaXF1ZXMgaW4gbmV3IgogICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMSwxMTIpIHdpZHRoIDM1MDogImFuZCBpbnZpZ29yYXRpbmcgZmFzaGlvbi4gQmVjb21lIG9u
ZSB3aXRoIHRoZSB3ZWIuIgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDMyMiwyMzYpIHNpemUgMzA0eDgyCitsYXllciBhdCAoMzIyLDIzNikgc2l6
ZSAzMDR4ODAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtIM30gYXQgKDE0OSwtMTE1KSBz
aXplIDMwNHg4MCBbY29sb3I9I0NDQ0M3N10gW2JnY29sb3I9Izg4ODgxMV0gW2JvcmRlcjogKDNw
eCBzb2xpZCAjODg4ODExKSBub25lICgzcHggc29saWQgIzg4ODgxMSldCiAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDI3N3g4MwogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg0NCwtMSkgc2l6ZSAyNzd4ODMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMt
U1ZHTGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4
NjIwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDgwOHg2MjAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYyMAogICBSZW5kZXJCbG9jayB7
aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjIwCiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgs
OCkgc2l6ZSA3Njl4NjA0CiAgICAgICBSZW5kZXJTVkdSb290IHtzdmc6c3ZnfSBhdCAoMjA4LDE0
KSBzaXplIDE2NngxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9vdmVyZmxv
dy9vdmVyZmxvdy1vbi1vdXRlcm1vc3Qtc3ZnLWVsZW1lbnQtaW4teGh0bWwtZGVmYXVsdHMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvb3Zl
cmZsb3cvb3ZlcmZsb3ctb24tb3V0ZXJtb3N0LXN2Zy1lbGVtZW50LWluLXhodG1sLWRlZmF1bHRz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL292ZXJmbG93L292ZXJmbG93LW9uLW91dGVybW9zdC1zdmctZWxlbWVudC1pbi14aHRt
bC1kZWZhdWx0cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDQKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODV4NjA0CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXg2MDQKICAgICBS
ZW5kZXJJbmxpbmUge2JvZHl9IGF0ICgwLDApIHNpemUgODAweDE4CiAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvdGV4dC9mb3JlaWduT2JqZWN0LXRleHQtY2xpcHBpbmctYnVnLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvZm9yZWlnbk9i
amVjdC10ZXh0LWNsaXBwaW5nLWJ1Zy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlw
cGluZy1idWctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDI5MgogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyNHgxMwogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDI0OiAiVEVTVCIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi1sYXllciBhdCAoMTgsMTgyKSBzaXplIDM5MHgxMTUKK2xheWVyIGF0ICgxOCwxODIp
IHNpemUgMzkweDExMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge2Rpdn0g
YXQgKDAsMTYyKSBzaXplIDM5MHgxMTAgW2NvbG9yPSMwMDAwODBdIFtiZ2NvbG9yPSNEM0QzRDNd
CiAgICAgUmVuZGVyQmxvY2sge2Rpdn0gYXQgKDAsMCkgc2l6ZSAzOTB4MTE1CiAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzl4MTE1CkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL3RleHQva2VybmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L2tlcm5pbmctZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC9rZXJu
aW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJv
ZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHg0MTUKICAgICAgIFJlbmRlckJsb2NrIHtwfSBh
dCAoMCwwKSBzaXplIDc4NHgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90
ZXh0L211bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211bHRp
Y2hhci1nbHlwaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBS
ZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4NTY1CiAgICAgICBSZW5kZXJCbG9j
ayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvdHJhbnNmb3Jtcy9hbmltYXRlZC1wYXRoLWluc2lkZS10cmFuc2Zvcm1lZC1odG1sLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3Ry
YW5zZm9ybXMvYW5pbWF0ZWQtcGF0aC1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90cmFu
c2Zvcm1zL2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
MzYKICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NzN4MTgKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA1NzM6ICJDU1MgVHJhbnNmb3JtZWQgSFRNTCBkaXYgd2l0aCBTVkcg
aW5zaWRlIGl0LiBBbmltYXRlZCBTVkcgc2hvdWxkIHJlcGFpbnQgY29ycmVjdGx5LiIKLWxheWVy
IGF0ICg1OCw4NCkgc2l6ZSA0MDJ4NDA1CitsYXllciBhdCAoNTgsODQpIHNpemUgNDAyeDQwMgog
ICBSZW5kZXJCbG9jayB7ZGl2fSBhdCAoNTAsNjgpIHNpemUgNDAyeDQwMiBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDE0OCwxNDQpIHNp
emUgMzU4eDQxOQogICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDM1NSwxODcpIHNpemUg
MTE1eDExNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkMwQ0JdIFtzdHJva2Ugd2lk
dGg9NS4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFt4PTMwMC4w
MF0gW3k9MC4wMF0gW3dpZHRoPTEwMC4wMF0gW2hlaWdodD0xMDAuMDBdCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4taW5zaWRl
LXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi1pbnNpZGUtdHJh
bnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy90cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLWluc2lkZS10
cmFuc2Zvcm1lZC1odG1sLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTM2CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDU1MHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDMxODogIkNTUyBUcmFuc2Zvcm1lZCBIVE1MIGRpdiB3aXRoIFNWRyBpbnNpZGUgaXQuICIKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzE4LDApIHdpZHRoIDIzMjogIm9iamVjdEJvdW5kaW5nQm94
IHBhdHRlcm5zIG9uIHRleHQuIgotbGF5ZXIgYXQgKDU4LDg0KSBzaXplIDQwMng0MDUKK2xheWVy
IGF0ICg1OCw4NCkgc2l6ZSA0MDJ4NDAyCiAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICg1MCw2OCkg
c2l6ZSA0MDJ4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyU1ZH
Um9vdCB7c3ZnfSBhdCAoNDksMTA1KSBzaXplIDQ4MHg0MjAKICAgICAgIFJlbmRlclNWR1Jlc291
cmNlUGF0dGVybiB7cGF0dGVybn0gW2lkPSJwYXQxIl0gW3BhdHRlcm5Vbml0cz1vYmplY3RCb3Vu
ZGluZ0JveF0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3pvb20vdGV4dC96b29tLWhpeGllLW1peGVkLTAwOS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy96
b29tL3RleHQvem9vbS1oaXhpZS1taXhlZC0wMDktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvem9vbS90ZXh0L3pvb20taGl4aWUt
bWl4ZWQtMDA5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQ4CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzMTIKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDMxMgogICAgIFJl
bmRlckJvZHkge2JvZHl9IGF0ICg4LDEwKSBzaXplIDc4NHgyOTIKICAgICAgIFJlbmRlckJsb2Nr
IHtwfSBhdCAoMCwwKSBzaXplIDc4NHgyNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzYyNS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1
Z3MvYnVnNjI1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc2MjUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDEyeDU4NQog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
MDEyeDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMCkgc2l6ZSAxMDA0eDQg
W2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTct
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NjZ4OTkwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDg2Nng5OTAKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDk5MAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA3ODV4OTkwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4OTc0
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzY5eDI4IFtib3JkZXI6
ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL2J1Z3MvYnVnMjMxNTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzIzMTUxLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGEvYnVncy9idWcyMzE1MS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEyNjR4NTg1CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEyNjR4NTg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQog
ICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEyNTZ4MzQgW2JnY29sb3I9
I0ZGRkZGRl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9i
dWdzL2J1ZzI5MzE0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcyOTMxNC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1
Z3MvYnVnMjkzMTQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA5eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA5eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlclRh
YmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAxMDAxeDIyNgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDMwMzktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1
ZzQzMDM5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0MzAzOS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE2NDY4eDU4NQog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
NjQ2OHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTY0
NjB4MTA4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVn
cy9idWc0Mzg1NC0xLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0Mzg1NC0xLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
YnVncy9idWc0Mzg1NC0xLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTQyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5NDJ4NTg1CitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQog
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDU4NSBbY29sb3I9I0ZGRkYw
MF0gW2JnY29sb3I9IzAwMDAwMF0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNDAsNDApIHNp
emUgNzIweDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
YnVncy9idWc0NTA1NS0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0NTA1NS0yLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemls
bGEvYnVncy9idWc0NTA1NS0yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM2CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MCBbYmdjb2xvcj0jRkZGRkZG
XQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDg2eDEyMwpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNzIzNTktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzcyMzU5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc3MjM1OS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYyCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJs
b2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQg
KDgsOCkgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7ZmxvYXR9IGF0
ICgwLDApIHNpemUgMTU3eDU0IFtiZ2NvbG9yPSNGRjAwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc4Mzc4Ni1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3Mv
YnVnODM3ODYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzgzNzg2LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDEzNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDEz
NgotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyNjZ4MTM2IGNsaXAgYXQgKDMsMykgc2l6ZSAyNjB4MTMw
IHNjcm9sbFdpZHRoIDMyNCBzY3JvbGxIZWlnaHQgMTQ0CitsYXllciBhdCAoMCwwKSBzaXplIDI2
NngxMzYgY2xpcCBhdCAoMywzKSBzaXplIDI2MHgxMzAgc2Nyb2xsSGVpZ2h0IDE0NAogICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDI2NngxMzYgW2JvcmRlcjogKDNweCBzb2xpZCAj
MDA4MDAwKV0KICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgxNiwzKSBzaXplIDY0eDE0Mwog
ICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA2NHgxNDMKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyMTQz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGEvYnVncy9idWc5MjE0My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTIxNDMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAyNDEweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAyNDEweDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dGFibGVzL21vemlsbGEvYnVncy9idWc5NjMzNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTYzMzQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9idWdzL2J1Zzk2MzM0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTk5eDU4NQogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5OTl4NTg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQog
ICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDk5MXgxNDcgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMEZGKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYS9idWdzL2J1ZzEyMDM2NC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTIwMzY0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGEvYnVncy9idWcxMjAzNjQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgxMwogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgxMworbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQK
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxeDE4CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9idWdzL2J1ZzEzMTAyMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCww
KSBzaXplIDgwMHg1NjkgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxOTY4NzAtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9idWdzL2J1ZzE5Njg3MC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTk2ODcwLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4OTIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ3CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg0NwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDMxCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNp
emUgMTMweDMxCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
Y29yZS9uZXN0ZWQxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvY29yZS9uZXN0ZWQxLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvY29y
ZS9uZXN0ZWQxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUg
e1RBQkxFfSBhdCAoMCwwKSBzaXplIDE5M3gzNCBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgw
KV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4v
YmFja2dyX2luZGV4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL2JhY2tncl9pbmRleC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3pp
bGxhL21hcnZpbi9iYWNrZ3JfaW5kZXgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4Mjd4MTc0NAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4Mjd4MTc0NAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4MTc0NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA3ODV4MTc0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE3KSBzaXplIDc2OXgxNzE0
IFtjb2xvcj0jMDBGRjAwXSBbYmdjb2xvcj0jMzMzMzMzXQogICAgICAgUmVuZGVyQmxvY2sge0gx
fSBhdCAoMCwwKSBzaXplIDc2OXgzMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX2xlZnQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4v
eF90YWJsZV9hbGlnbl9sZWZ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGFibGVfYWxpZ25f
bGVmdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDM2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAg
IFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7
Ym9keX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAo
MCwwKSBzaXplIDI4OHgyOCBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90YWJsZV9hbGln
bl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvbWFydmluL3hfdGFibGVfYWxpZ25fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNgor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkg
c2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDgpIHNpemUgNzg0eDAKICAg
ICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDQ4NywwKSBzaXplIDI5N3gyOCBbYm9yZGVyOiAo
MXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYS9tYXJ2aW4veF90ZF9ub3dyYXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90ZF9ub3dy
YXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90ZF9ub3dyYXAtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MDh4NTg1CiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDkw
OHg2OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0
ICgwLDApIHNpemUgODAweDY4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTIKICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMCkgc2l6ZSA5MDB4NTIgW2Jv
cmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93cmFwLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hf
dGhfbm93cmFwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93cmFwLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTMy
eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA5MzJ4NjgKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDY4CiAgIFJlbmRlckJsb2NrIHto
dG1sfSBhdCAoMCwwKSBzaXplIDgwMHg2OAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDgp
IHNpemUgNzg0eDUyCiAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDApIHNpemUgOTI0
eDUyIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMjQ3OS01
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcyNDc5LTUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzI0NzktNS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNDE1Cits
YXllciBhdCAoMCwwKSBzaXplIDc4NXgxNDA3CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3
ODV4NjAwCiBsYXllciBhdCAoOCw4KSBzaXplIDc2OXgxMzk5CiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoOCw4KSBzaXplIDc2OXgxMzk5IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgxNnB4
IHNvbGlkICMwMEZGMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDk0OHg1ODUKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTQ4eDU4NQorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAg
IFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA5NDB4MjggW2JvcmRlcjogKDFweCBv
dXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWc4NTAxNi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVk
X2ZhaWx1cmVzL2J1Z3MvYnVnODUwMTYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJl
cy9idWdzL2J1Zzg1MDE2LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTgyeDMwNDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTgyeDMwNDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDMwNDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDMw
NDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMzIsMzIpIHNpemUgNzIxeDI5NzYKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzMiwwKSBzaXplIDY1N3g2NjggW2JvcmRlcjogKDFweCBz
b2xpZCAjMDA4MDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzIyMDY1My1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVk
X2ZhaWx1cmVzL2J1Z3MvYnVnMjIwNjUzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvYnVncy9idWcyMjA2NTMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgODAweDM2IFtib3JkZXI6ICgxcHggb3V0c2V0
ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi9iYWNrZ3JfZml4ZWQtYmctZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBl
Y3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2ZpeGVkLWJnLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvbWFydmluL2JhY2tncl9maXhlZC1iZy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE1NDR4MTY3Mwog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
NTQ0eDE2NzMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE2NzMKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgNzg1eDE2NzMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwx
Nykgc2l6ZSA3Njl4MTY0MyBbY29sb3I9IzAwRkYwMF0gW2JnY29sb3I9IzMzMzMzM10KICAgICAg
IFJlbmRlckJsb2NrIHtIMX0gYXQgKDAsMCkgc2l6ZSA3Njl4MzAKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFi
bGVfb3ZlcmZsb3dfY2FwdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd19jYXB0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
bWFydmluL3RhYmxlX292ZXJmbG93X2NhcHRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MTEKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTIy
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2Fw
dGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfY2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9t
YXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
MjEKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBb
Ym9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfY2FwdGlvbl9sZWZ0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxl
X292ZXJmbG93X2NhcHRpb25fbGVmdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd19jYXB0aW9uX2xlZnQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0
MTEKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBb
Ym9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfY2FwdGlvbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19jYXB0aW9uX3JpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2NhcHRpb25fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg0MTEKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4MTIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEy
MiBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfY2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFi
bGVfb3ZlcmZsb3dfY2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJl
cy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0
MTEKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBb
Ym9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfZGlydHlfcmVmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxl
X292ZXJmbG93X2RpcnR5X3JlZmxvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgz
MDgKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDExNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MTE2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTAwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEwMCBb
Ymdjb2xvcj0jMDAwMEZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZs
b3dfcm93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93
X2RpcnR5X3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2
aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3Jvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MTIKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYx
MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NDE2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDc4NXg0MTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2
OXg0MDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMjl4NDAwIFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19kaXJ0eV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd190YWJsZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDU3OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzU2CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNTYKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHgzNDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAs
MCkgc2l6ZSAyMDB4MzQwIFtiZ2NvbG9yPSMwMDAwRkZdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X2RpcnR5X3JlZmxvd190Ym9keS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfdGJvZHktZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3Rib2R5
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgNzg1eDcyOAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzI4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg1MzIKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDUzMgogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDUxNgogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBh
dCAoMCwwKSBzaXplIDIyOXg1MTYgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2hpZGRlbl90ci1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19oaWRkZW5fdHItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfaGlkZGVuX3RyLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTE2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzOAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgyMgogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDIyeDIyIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2Vs
bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxh
eWVyIGF0ICgwLDApIHNpemUgODAweDU0OQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzk3CiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzOTcKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgzODEKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0g
YXQgKDAsMCkgc2l6ZSAyMDB4MzgxIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1
cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbF9zaWJsaW5nLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxv
d19jZWxsX3NpYmxpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X2NlbGxfc2libGluZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDU5NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4
MzcwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19zdHlsZV9yZWZsb3dfcm93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBl
Y3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Jvdy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDU5NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAs
MCkgc2l6ZSAyMDB4MzcwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93X3NpYmxpbmctZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Jvd19z
aWJsaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X3N0eWxlX3JlZmxvd19yb3dfc2libGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2ODUKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY4NQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NDc0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg0NzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg0
NTgKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4NDU4IFtib3Jk
ZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19z
dHlsZV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFi
bGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190YWJsZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDQwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTYzCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNjMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgxNDcKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkg
c2l6ZSAyMDB4MTQ3IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGVfY2FwdGlvbi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4
cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGVf
Y2FwdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGVfY2FwdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQ0
NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjM0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgyMzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHgyMTgKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MjE4IFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19zdHlsZV9yZWZsb3dfdGJvZHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Rib2R5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDU5NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAs
MCkgc2l6ZSAyMDB4MzcwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJvZHlfc2libGluZy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJv
ZHlfc2libGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJvZHlfc2libGluZy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3MjQKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1
eDcyNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NTEzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDc4NXg1MTMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc2OXg0OTcKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4NDk3
IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd190ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd190ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDQ2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI2CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAy
MDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd190ZF92YWxpZ25fYm90dG9tLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
bWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9ib3R0b20tZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX2JvdHRvbS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDUwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI2CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQg
KDAsMCkgc2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25fbWlkZGxlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9taWRkbGUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFs
aWduX21pZGRsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQ2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MTI2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxl
IHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgw
ODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25fdG9wLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemls
bGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl90b3At
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3df
dGRfdmFsaWduX3RvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQxNgorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTI2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRh
YmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4
MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvc3ZnLXZz
LWNzcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RyYW5zZm9ybXMvc3ZnLXZzLWNzcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvc3ZnLXZzLWNzcy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTc4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE2eDI4
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTY6ICJDU1NNYXRyaXgiCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgyOCw4
NCkgc2l6ZSAyMDF4MjA1CitsYXllciBhdCAoMjgsODQpIHNpemUgMjAweDIwMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge2Rpdn0gYXQgKDEwLDY2KSBzaXplIDIwMHgyMDAg
W2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5k
ZXJTVkdSb290IHtzdmd9IGF0ICgyOSwxMDgpIHNpemUgMTk2eDE3NAogICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMjksMTA4KSBzaXplIDE5NngxNzQgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNzUuMDAsMjUuMDApfV0KQEAgLTQ2LDcgKzQ2LDcgQEAg
bGF5ZXIgYXQgKDMwLDM1Mikgc2l6ZSA2MHg2MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e2Rpdn0gYXQgKDEsMSkgc2l6ZSA2MHg2MCBbYm9yZGVyOiAoMXB4IGRvdHRlZCAjMDAwMDAwKV0K
IGxheWVyIGF0ICgzMSwzNTMpIHNpemUgNjB4NjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQp
IHtkaXZ9IGF0ICgxLDEpIHNpemUgNjB4NjAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0K
LWxheWVyIGF0ICgyNzIsODQpIHNpemUgMjAxeDIwNQorbGF5ZXIgYXQgKDI3Miw4NCkgc2l6ZSAy
MDB4MjAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMTAs
NjYpIHNpemUgMjAweDIwMCBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDI3MywxMDgpIHNpemUgMTYyeDE3
NAogICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDI3MywxMDcpIHNpemUgMTYzeDE3NiBb
dHJhbnNmb3JtPXttPSgoMS40MSwxLjQxKSgtMS40MSwxLjQxKSkgdD0oNzUuMDAsMjUuMDApfV0g
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFt4PTAuMDBdIFt5PTAuMDBd
IFt3aWR0aD02MC4wMF0gW2hlaWdodD02MC4wMF0KQEAgLTU1LDcgKzU1LDcgQEAgbGF5ZXIgYXQg
KDI3MiwzNTApIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge2Rpdn0gYXQgKDEwLDMzMikgc2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjczLDM1MSkgc2l6ZSA2MHg2MAog
ICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge2Rpdn0gYXQgKDEsMSkgc2l6ZSA2MHg2MCBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYpXQotbGF5ZXIgYXQgKDUxNiw4NCkgc2l6ZSAyMDF4MjA1
CitsYXllciBhdCAoNTE2LDg0KSBzaXplIDIwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtkaXZ9IGF0ICgxMCw2Nikgc2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNDMEMw
QzBdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyU1ZHUm9vdCB7c3Zn
fSBhdCAoNTE3LDEwOCkgc2l6ZSAxNjJ4MTc0CiAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBh
dCAoNTE3LDEwNykgc2l6ZSAxNjN4MTc2IFt0cmFuc2Zvcm09e209KCgxLjQxLDEuNDEpKC0xLjQx
LDEuNDEpKSB0PSg3NS4wMCwyNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwRkZdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTYwLjAwXSBbaGVpZ2h0PTYwLjAwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGlu
Zy8zZC1wb2ludC1tYXBwaW5nLTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFw
cGluZy0yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctMi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgbGF5ZXIgYXQgKDM1
MSw4NSkgc2l6ZSA5MHg5MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMSkgc2l6ZSA5MHg5
MCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIg
YXQgKDUzNCw0Mikgc2l6ZSAxNDB4MTQwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkg
c2l6ZSAxNDB4MTQwIFtiZ2NvbG9yPSNERERERERdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAw
MCldCi1sYXllciBhdCAoNTU1LDYzKSBzaXplIDEyMXgxMjEKK2xheWVyIGF0ICg1NTUsNjMpIHNp
emUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEw
MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIg
YXQgKDU5Nyw4NSkgc2l6ZSA5MHg5MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Ry
YW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2lu
dC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcv
M2QtcG9pbnQtbWFwcGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYw
LDcgQEAgbGF5ZXIgYXQgKDYzLDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNB
QUFBQUFdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBz
aXplIDE0MHgxNDAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAg
W2JnY29sb3I9I0RERERERF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0
ICgzMDksNjMpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUg
MTAweDEwMCBbYmdjb2xvcj0jQUFBQUFBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQog
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDAwRkZdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNDIsMjg4KSBz
aXplIDE0MHgxNDAKQEAgLTcxLDcgKzcxLDcgQEAgbGF5ZXIgYXQgKDg0LDMzMCkgc2l6ZSAxMDB4
MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEp
IHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAw
MDApXQogbGF5ZXIgYXQgKDI4OCwyODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwMDApXQotbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTIxeDEyMQorbGF5ZXIg
YXQgKDMwOSwzMDkpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFBQV0gW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEs
MjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQzBENjlFXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwMDApXQogbGF5ZXIgYXQgKDM1MSwzNTEpIHNpemUgMTAweDEwMApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBw
aW5nLW9yaWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1vcmln
aW5zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctb3JpZ2lu
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgbGF5ZXIgYXQg
KDYzLDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNBQUFBQUFdIFtib3JkZXI6
ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBzaXplIDE0MHgxNDAKICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAgW2JnY29sb3I9I0RERERE
RF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgzMDksNjMpIHNpemUg
MTIxeDEyMQorbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jQUFBQUFBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6
ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNDIsMjg4KSBzaXplIDE0MHgxNDAKQEAg
LTcxLDcgKzcxLDcgQEAgbGF5ZXIgYXQgKDg0LDMzMCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBb
Ymdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQg
KDI4OCwyODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNp
emUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDAp
XQotbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDMwOSwzMDkpIHNp
emUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFBQV0gW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEw
MCBbYmdjb2xvcj0jQzBENjlFXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIg
YXQgKDM1MSwzNTEpIHNpemUgMTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctcHJlc2VydmUtM2QtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1wcmVzZXJ2ZS0zZC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAgbGF5ZXIgYXQgKDYz
LDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSM4MUFBOEFdIFtib3JkZXI6ICgx
cHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBzaXplIDE0MHgxNDAKICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAgW2JnY29sb3I9I0RERERERF0g
W2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgzMDksNjMpIHNpemUgMTEx
eDExMQorbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0j
ODFBQThBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgyMSwyMSkgc2l6ZSA5MHg5MCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDUzNCw0Mikgc2l6ZSAxNDB4MTQwCkBAIC0xMTcs
NyArMTE3LDcgQEAgbGF5ZXIgYXQgKDI4OCwyODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTAweDEwMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXpl
IDEwMHgxMDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
LWxheWVyIGF0ICgzNTAsMzUwKSBzaXplIDExMXgxMTEKK2xheWVyIGF0ICgzNTAsMzUwKSBzaXpl
IDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg0
MSw0MSkgc2l6ZSAxMDB4MTAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDkweDkwIFtiZ2NvbG9yPSMwMDAwRkZdIFti
b3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNTM0LDI4OCkgc2l6ZSAxNDB4
MTQwCkBAIC0xMjYsNiArMTI2LDYgQEAgbGF5ZXIgYXQgKDU1NSwzMDkpIHNpemUgMTAweDEwMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXpl
IDEwMHgxMDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0K
IGxheWVyIGF0ICg1OTYsMzUwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg0MSw0MSkgc2l6ZSAxMDB4MTAwIFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCi1sYXllciBhdCAoNjM3LDM5MSkgc2l6ZSAxMTF4MTExCitsYXllciBh
dCAoNjM3LDM5MSkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoNDEsNDEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQUE3OTk0XSBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwy
MSkgc2l6ZSA5MHg5MCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAw
MDApXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LXpvb20tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC16b29tLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtem9v
bS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCw4KSBzaXplIDc4NHgw
CiBsYXllciBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7ZGl2fSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCi1sYXllciBh
dCAoMCwzMCkgc2l6ZSAyMDB4MjA1CitsYXllciBhdCAoMCwzMCkgc2l6ZSAyMDB4MjAwCiAgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMCwzMCkgc2l6ZSAyMDB4MjAwCiAgICAg
UmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwCiAgICAgICBSZW5kZXJT
VkdQYXRoIHtyZWN0fSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTUwLjAwXSBbaGVpZ2h0
PTUwLjAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3Zl
cmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQucG5nCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxE
UTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRv
UmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlL
aFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lF
V2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0
cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4
RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6
TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dE
WDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEw
eHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVla
aXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxF
TzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpY
VWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRS
MVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dm
TnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5
ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJ
bWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2
SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1
SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcK
QUVsRVFWUjRBZXlkQ2R4VjQvYkhWNE1pVkhKTmlSdVpHc3doM01nc2N6SmxUTGpYdjNETnJqR1pM
bTZHTWtVeTNwdjVHaEpGRVRLSApGSmxEcHN4RWlxTC8rajZ2NTIyZi9lNXp6dDduN0RPNWEzMCs1
ejNuN09IWnovN3Q4MzQrNi9lczlWdXIwUUkxTVRNRURBRkR3QkF3CkJBd0JROEFRTUFRTUFVT2dE
QWcwTHNNMTdCS0dnQ0ZnQ0JnQ2hvQWhZQWdZQW9hQUlXQUlPQVNNZ05nUHdSQXdCQXdCUThBUU1B
UU0KQVVQQUVEQUV5b2FBRVpDeVFXMFhNZ1FNQVVQQUVEQUVEQUZEd0JBd0JBd0JJeUQyR3pBRURB
RkR3QkF3QkF3QlE4QVFNQVFNZ2JJaApZQVNrYkZEYmhRd0JROEFRTUFRTUFVUEFFREFFREFGRHdB
aUkvUVlNQVVQQUVEQUVEQUZEd0JBd0JBd0JRNkJzQ0JnQktSdlVkaUZECndCQXdCQXdCUThBUU1B
UU1BVVBBRVBoREU1QWZmdmhCVGp6eFJObGhoeDFrMkxCaDlyUU5BVVBBRURBRURBRkR3QkF3QkF3
QlE2REMKQ1B5aENjaVNTeTRwZ3djUGRnUmt5cFFwRlliYUxtOElHQUtHZ0NGZ0NCZ0Nob0FoWUFn
WUFqVlBRRjUvL2ZXOFQzR1BQZmJJZTR3ZApZQWdZQW9hQUlXQUlHQUtHZ0NGZ0NCZ0NwVWVnNWdu
SVpaZGRKck5temNxSlZNdVdMYVZSbzBZNWo3R2Rob0FoWUFnWUFvYUFJV0FJCkdBS0dnQ0ZRZWdS
cW5vQ01HREZDV3JkdUxZc3V1bWpXVjd0MjdVcVBwRjNCRURBRURBRkR3QkF3QkF3QlE4QVFNQVR5
SXRBMDd4RlYKZmtDclZxMWt5eTIzbERadDJtU2Q2ZHk1YzdQdXN4MkdnQ0ZnQ0JnQ2hvQWhZQWdZ
QW9hQUlWQStCR3FlZ0p4MTFsbHkvUEhINTBUcwppeSsra0VHREJ1VTh4bllhQW9hQUlXQUlHQUtH
Z0NGZ0NCZ0Noa0RwRWFoNUFuTDQ0WWZuUldubXpKbDVqN0VEeW9CQUxlcHdGaXpJCkJNYnVJUk9Q
Y24wTFA0ZHlYZGV1WXdnWUFvYUFJV0FJR0FLcEkxRHpHaEFFNXJuc3ZmZmVrOU5QUDEwV21BT1RD
eWJiWndnWUFvYUEKSVdBSUdBS0dnQ0ZnQ0pRRmdacVBnT1JDaVVhRVk4ZU9sVjY5ZWttWExsMXlI
V3I3REFGRHdCQXdCQXdCUThBUU1BUU1BVU9nREFqVQpmQVRrbm52dXlRb1RqUWo3OSsvdkNNZzMz
M3lUOVRqYllRZ1lBb2FBSVdBSUdBS0dnQ0ZnQ0JnQzVVR2drYVltaFpMY3kzUGh0SzdTCnRHbFRX
V1dWVldTeHhSYkxPdVRYWDM4dFBYdjJsT3V2dno3ck1iYWpEQWlZZnFJTUlFZGNJdnd2L2tkNERo
RzNhWnNNQVVQQUVEQUUKREFGRG9EWVFxUGtVckRYWFhGTjIzSEZIYWRHaVJUM2k2RDRnSmgwN2Rx
emY5cWMvL2FuK3MzMHdCQXdCUThBUU1BUU1BVVBBRURBRQpESUhLSUZEekVaREpreWZMZXV1dDF3
QzkzcjE3eTUxMzNpbE5talJwc004MlZBaUJQOExLdTkxRFpYNDg0U2hPWldaaFZ6VUVEQUZECndC
QXdCQXlCRkJDb2VRMUl0Z3d5SWlEUFB2dHNDaERaRUlhQUlXQUlHQUtHZ0NGZ0NCZ0Nob0Foa0JZ
Q05SOEI2ZFNwayt5d3d3NzEKR2hBSXlidnZ2aXYzM1hlZnZQVFNTN0xPT3V1a2haV05VeXdDRmow
b0ZzSEN6ZzlIRC80SXo2RXdKT3dzUThBUU1BUU1BVVBBRUtnQwpCRkxWZ0ZEMmxvN2pVNmRPZFpX
bmpqenl5TVMzT0hIaVJQbkxYLzRTKzd4MzNubEhmdnZ0dDNvQ3dva3JyYlNTM0hqampVWStZcU5v
CkJ4b0Nob0FoWUFnWUFvYUFJV0FJR0FMbFFTQlZBa0xaMjhHREI4dWxsMTRxVTZaTXlYb0hSQ20r
Kys0NytmSEhIK1g3NzcrWHI3NzYKU2o3OTlGTjU0NDAzNUs2NzduTHZqV0t1MHY3M3YvK1ZYWGZk
TmV1MWJFY1ZJUkNxdC9iVFR5SVBQeXl5L3ZvaXE2NWFOOCtmZnhacAozanpkT2Q5MzM3MHliOTQ4
YWRPbWpjeVpNOGQ5NXZlMTZLS0xTck5teldTUlJSWng3LzR6dXFGZmYvM1ZIYnRSYUNxdktia08y
dHByCnJ4MzhXdjk1alRYV2tGdHZ2VFdqT0VMOVR2M1FwVXYwZWNGalN2VTVmQTlnQXZGZmE2MjFI
SG5udXIvODhvdkRKTmNja3Q1RG1zOGgKMTd4c255RmdDQmdDaG9BaFlBaFVOd0tKQ2NqcnI3OHVu
VHQzem5sWGUreXhoeU1pMlE3NldiM01nUU1IeXRWWFgrMmlGMHN2dmJRcwp2L3p5MHFGREI5bC8v
LzFsL3Z6NXppbk1kbjV3TytRRHN2UHZmLzliUHY3NFkybmZ2cjBjZlBEQnpwa0tIbWVmcXcrQnpU
Y1gwUm9DCjZxVFhFWkhOTmhOWlpoblI1eWR5NVpYcHpSYzkwSi8vL0dkWHJybHg0OGJPdVliOC9x
UU1pTzhRaitiS2Vuam41UW5JN05tejgwNkMKOUQ4YVhYckNESm5odDl5MmJkdWFLWUJ3MEVFSHlW
dHZ2ZVVJMlRYWFhPT0tPblR2M2wxMjIyMDNPZjMwMC9OaUVQZUFVajZIdUhPdwo0d3dCUThBUU1B
UU1BVU9nOGdna0ppQ1hYWGFaaTNDMGJOa3k2K3paNXgyeXFJTlllUjQ2ZEtnY2V1aWg4c0FERDBp
L2Z2M3FWMTZqCmpzKzFiZGl3WWE3WklNUmoyMjIzZGNKem5LbGRkdG5GalovclhOdFhPUVIwMFYy
MU9pSlBQQ0ZLR2tWT08wMDA5VTdrcWFkRUprd1EKK2V3emtSVldTR2QrRUFxSVJwQnNMTEhFRWk3
NkJoR0JOTEFQQjVrWHgvUDc1VDJmUVVBMmgwbUY3TEhISHBPdHQ5NDZ0TFg2dnM2ZApPMWRtekpq
aFVoWlhYSEZGR1RKa2lHeXd3UVp5eXkyM3lJc3Z2aWhmZnZtbGtrSmxoU2xZS1o5REN0T3pJUXdC
UThBUU1BUU1BVU9nClRBZ2tKaUFqUm95UUcyNjRJVzk2eG1HSEhaYjNGdGJYM0J0SzZONTIyMjB1
RWtMMEEwY3dycEVtY3V5eHgwcmZ2bjNsMm11dmRZNGsKR2hTaUsyd2pPbUw5UCtLaVdkN2o2QnU1
OTk2aXpydW9veTl5eGhraTQ4YUpiTCs5NkRNVGVmSkprWDMzVFdkT0VBeFBLaUFXbmh5egp6YWRm
RVFIaDVja0lLVmg4ejJmODFpajNESEh4UnJyWGE2KzlKdVBIajVmRkYxL2NiNjdLZHhZRElGSDhM
NExIWC8vNlYzbnV1ZWRrCk13MUh0VzdkMmhWeW9NOU9HbGJLNTVERy9Hd01ROEFRTUFRTUFVUEFF
Q2dQQWd1OXBwalhhOVdxbFd5NTVaWXVuejdiS2F5cTVyTXYKdnZoQ1Y3ay9rNWt6WjdxY2ZOS29p
R1pjZGRWVnN1NjY2K1k3M2UzLzZLT1BYRG9ObWhPY202QjE3ZHJWcFdiVndpcDBjTjcvUzUvMwoy
a3RFczM5YzVJUDdWaG1DVEpzbTh0QkRJaGRja0M0U3Zsd3o3eFF0b0dEQ3JGbXpISEhndTM5eFZV
OVE0c3dBQng3dFU1QTQ4OXZ1CjFxMmJmUDc1NTZwdCtWM2NFbWV3Q2gyejNYYmJ5YW1ubnVvaUgw
emg1WmRmRnBwNVBxWGhxR09PT1NiVldaWHFPYVE2U1J2TUVEQUUKREFGRHdCQXdCRXFLUUdJQ2N0
WlpaOG54eHgrZmMxSTRZRVFpc2hrRWhieDVxbVdSSzcvY2NzdTV2UGtOTjl4UUhubmtFYUcwYnBo
UQpSSTFGWGo4UkRqUWwzb2lLb0FlNTRvb3IzT3F0MzI3djFZV0FCZ2xjQkVRem9lVHBweGZPVFRt
bDI2NzhNVFhENmZXT0w3OFZpQUVFCkJLSkJsSU9JQmI4YkRDS1JoSUJjZnZubERhcXRFVDA1Ly96
em5lWWt0WnNvMFVEYyt3a25uT0RFOHErODhrcjlWVmdZMkY3RFVWMjYKZEtuZlZ1eUhVajZIWXVk
bTV4c0Nob0FoWUFnWUFvWkErUkJJVEVBT1Avend2TFBEZWNsbHJCcVRuZ0pKMkhQUFBaMzRQTmZ4
MmZhUgo5bkxkZGRlNTE1bG5udWtPKythYmIzUlYvU0JONlRsRHlQT3ZoTjErKyszeTVwdHZ5cHBy
cmlsOSt2UXBlQXJWTms3Qk54SnhJZ0VyCmZmU3FOU0RpRUhGQWlwczhxWUI4VEo4K1hZWHZrd1dT
N0N1eDhYdWtFTUpxcTYwbW0yeXlpU1BFcENONTBwSnJLbEZwV3B6NzdiZmYKT29KZDdYMW9JUHBv
cHk3UWtGTVM0cFVMazJ6N1N2a2NzbDNUdGhzQ2hvQWhZQWdZQW9aQTlTR1FlaU5DVWpmUVpkQ0xn
eXBYK1F6OQpCNkwxblhmZTJSMGFwL3huZU16MzMzL2ZpV1UzM25oamw3K09BN2pSUmh1RkR5dkxk
Nm9ISWQ1bFpabTBIbnFha01xUzFLcHRuS1R6Cmp6NCtrMmtRQlVFNmtZdUFLRTl3RVJJTm1CVnNq
ejc2aUl1VVVlNTUzT012eTdOdk5wTHBzOXZJVjAyV2w4WXRHc3Z5emI2VVpSdDkKSk8wYWZ5UmRP
cXpnSEhLaWNCQVFpRW5RMEhZRWJhZWRkbkxQT0VoRXFNYUdDQjBDMmJGangrRGg5WitUbHJDdFA3
R2dENW4xajhQMwp3RzhWTXArTGdIejk5ZGRDaEFTeTRpM3BQYVQ1SFB3YzdOMFFNQVFNQVVQQUVE
QUVhZytCeEJHUVhMZElXc3ZZc1dOZGVsWGMxQTBpCkJOTTA4Zi9DQ3k5MGZVRklhY0haQ1RwMHVh
N0p2bFZXV2FVKzNZWGMrMG9aRGlmOUZJSUdHWUZrSlltRVZOczR3ZnRKODdObUtjbjEKMStjZVVk
dkZPREY2TVFRRUlrSGExWU5qM3BBeEw3V1M5K2EyRlduVlhKb3VzYWdzdm1SVG1kOWlhZm0yZVNm
NVpkWTBtVGQ5c3N6VAo1aVNzMXJlblBGY2VJOXIzNnF1dlptaEFJQzFFRkxLUmp6eERsbjMzOE9I
RDVaNTc3c2w1WGY2M0VhTUhDVWpPRXlKMmx2STVSRnpPCk5oa0Nob0FoWUFnWUFvWkFsU0tRbUlE
Z3FQVHUzVHZ5ZGhEajl1L2YzNldmUFAvODg1SEhSRzFrdFpuWHUxcVhsZks1U2NoSDFIaVYKMmti
YUZZNHJrUTl2ckM1VEZqaUpWZHM0U2VhZTVGanRJZW5LNzJyQXF0NElGcW1FUWtYYzladTA0TUhD
ejRWK2VtWHlCL0xvOHkzawp2VmxhVXZaUFd0MUt5Y2VpaXplVHhWbzAwMHBWK2xxMGlUUnIzVlcr
L3J5SnZQL1pzeTZLUmVOQ05FcTU3RXB0V0VMRnFGcTJjVnArCjdJZ2pqc2dnVVFqUjBiSUVDMEpR
Z0tKWUs5VnpLSFplZHI0aFlBZ1lBb2FBSVdBSWxBK0J4QVJrWDYyTlNzUmhNZXFvWmpFaUdEMTcK
OW5RcnBsa09jVlYyU0pVS3JqS1RnOCtyVm8xTzB1VFVCMFh4a0JHMko3RnFHeWZKM09NZWkwem9n
QU5FQ1d2bUdYLzdtMmovREpHagpqcW9yejV1NXQ3QnZwUFc5OUtySTJ4OHZLWTJXVVpGNWMrM3pz
UWdOQ0p2cTczaFJXVUpKeUdJdG1zdGl6VFVOcVZWMytXcnFEUG5rCmswL2NLOSt6ZzN6UVMrUmhq
WnA4K09HSHN1eXl5d3BWcFZaSXE0bEpZYmNjK3l6UzBraC8zRysvL1RMTzJXZWZmVngvSGlKMy9K
K20KWWFWOERtbk16OFl3QkF3QlE4QVFNQVFNZ2ZJZ2tKaUFJS3dtRmFNRjdhdC9OM1FmNUpBSFUw
NXk5ZC80L3Z2dm5VQ2JGVmJLbE9LdwpVWEdIa3JtalJvMXlJbkkvZGkyOTQ4U3hJdjYwbG5VaUVn
SVpvUnh3MkxuTGQwL1ZOazYrK1JheW4xNGZtaGtWYVpydDQvcUFiTFZWCjVPN0VHNm02OXZyMFJh
VDVuNWFRemJkYlNSb3YxVXkrK0dHQi9LRE5FRnUzYWlHdFdpNG1MWmRZVEgvVGkwdlR4ci9KZDkr
dUx6OTkKTlZvb2FKRFAzbmpqRFJmMXc1RW5jc2VMMzhERkYxOHNQWHIweUhkNnhmZlQ2eU9iMko1
TzhTKzk5SktnclVyRFN2a2MwcGlmaldFSQpHQUtHZ0NGZ0NCZ0M1VUVnTVFINXozLys0NW9IaHFk
SFd0YkpKNThjYTdXVVZBNGF1QjE4OE1HdUdoYXJ4elF1cEM4RDNaaXBZb1hoCnlOTWdMVWgyd3Rj
ZE9YS2swTUF3YkRmZmZMTWNjc2doNGMwbC80NEd4RmV2WXZVOEtmbndFNnkyY2Z5ODBucEhmRTRV
Ukg5TzJnaFAKWkttbFJLdEdpZWhqVTZjM3ZTN296SmNvMUVkZkx5TGRkbHhPdHR5b2pjeHIzRVMr
bWYyYlBQUE9YR25aWWhGWmFra2xJYTFiYWlxVwp5Q0s2Mk4rOHcwYnkwNHk3WENHQlhQZUw0MDcv
akQzMjJFTzIyR0lMVjdJVzBrbjBCQUpDSVlScWIwVEl3Z0hrNmNFSEgzUWQzU2tJCjhjNDc3OGo5
OTk4dnI3LytlcXFOUEV2MUhISTlJOXRuQ0JnQ2hvQWhZQWdZQXRXSFFHSUNrbTIxRkVmbTJXZWZk
UldCNHR6bUthZWMKNGdoR3YzNzlYS29IMFJET0h6Tm1qT3ZKUUJvWEZhVG92TTR4Mll6T3pUUXc1
UHJlS0xHS0UwaTZHQ1ZXeTIyRmtvN3dQS3R0blBEOAppdjErN3JtaTR2eTZab1JrOU9tQ3V4Slkw
UjRhb21scnhZNis4SHgrczdNYkxTWWQxMml0cVZhTGlBWTVaTWtGaldYUjVxcjkwTlNyCkpYanA5
WmZVcXMzS0g2UjU0ei9KaDcvM0JWazRTc05QTTJiTWNPU2piOSsrR1RzaDBRY2VlS0FRSFNFQ1Z1
MTI5TkZIdThVRHlCVC8KTDBRcWlPRFJoREROUm9xbGVnN1ZqcS9OenhBd0JBd0JROEFRTUFReUVW
am90V2R1ei9ydEFFM2MzMEdYckwwR0JLY0M4Zmg5OTkwbgpwNTkrZXRiendqc2VlT0FCbDRibHQ1
Tm5EdUdnaWhWa2doeDZIRHljdVZ6R2lpMlJCajhmamlWeVFxTkRjdkpKR1RPclRnUzBab0d1CnZJ
dFFyMEExejVxK0pLSlZqR1gxMWRPZHI5TXdLTEZZVWl0ZU5XdmFTQmJNRjlWN05KSVd6WldFTE5K
SUZtM1dSTjlWbDY1WmhVMTEKRGhBVWZ0YzQ0Ym1NL1IwNmRJZzhoSDRqdGZMYkkwcHoxVlZYeVpR
cFV4eHBJb3BEVTFBYWZhWnBwWG9PYWM3UnhqSUVEQUZEd0JBdwpCQXlCMGlPUW1JQ1Fua0VxUmRE
aHArZkhqVGZlMktBamRMYnBFOTFnaFppb0IxcVJiYmJaeHVsQTBJS1F1ako0OEdCSFFoZzNuMUcy
CkY4RnMwSmpmWG52dGxib0RGYnlHZlU0SGdiZmZGbm4wVWRHSVZSM3hVRDVaR211cW9SVWxERGpC
VFJiOEpzMmtzYWdXWFFrSnBFUS8KS3dIUk4xbGNJeUdOZjZFM1NXYlBrcWhKOGZzY09uU28rMytn
NFNENkQ1eDRJbm1qUjQ5MmVxYW84NnB4MndjZmZPRG1UZlJ3NVpWWApMbDNxV0FtZVF6WGlhWE15
QkF3QlE4QVFNQVFNZ2V3SUpDWWcvOVhhcWJ2dXVtdjJFV1Bzb1U4Q1hkQVJzOU5EZ1RLZ0VJOURE
ejNVCkVRK2lHdWVjYzA2TWthUUIrZUNreno3N3pPV3dFd21CM0poVkp3SWFORk9OakdqVk1GRzlo
S2oyUUxRZmpNaS8veTFhbENEbE9XdWsKUXpUNm9VV1NwVmtUU2lWcnVwVkdQcHJwOWtXYU5GSVNv
bVRrZHhMU3JGa2RBY2tYQVdHRy8vZC8veWVrTUJHdDQzaklMNy9mZi8zcgpYeGtrUGVXN1NYVzQ4
ZVBIeTBrbm5lUTBMNTA3ZDNhUlExSWY2YzJUZW9uaEVqMkhWQUd4d1F3QlE4QVFNQVFNQVVPZ3BB
Z2tKaURMCkxiZGM1SVRJZHc5V3dZbzhLTENSdmdPVEprMXlmVC9vL1lGOSt1bW56cUdqc3psaWQ5
Szk4dGtMTDd6UW9Fb1A2VnQwWVVjWWJGYWQKQ0dpR2s2aDhSNFhQSWpmZEpPS0RYVnFId0czZlpC
UHRGVmg4MjRtRk42OGxka1dKUmlNbEgwMlVmRFRWTXJ5TGFRaGtjWDJSanFYVgplR1V4SlNCTHFC
RGQvMVBFaVlLZ2tTRDk4SWtubmhDaUNQeC80TFNITzZndm5FaDFmU0xWYk5DZ1FhN1l3L2txdmxs
KytlWGRCQ2t0CmZQYlpaOHZhYTYrdHFXdWFLNWVXbGVnNXBEVTlHOGNRTUFRTUFVUEFFREFFU28r
QTk3VmlYK25ZWTQ5MWpRaURLVmcwMjZPS3pxUGsKMHFoUlFRZjlCU0xXYkhhVU5ucWdxeko5UHln
Rml0SDBiZSs5OTNicFdkbk9DMi9QTlorLzBWUkNMYzU4d3VQYTk5SWlvSmsrOHVXWApva1J4SWZu
Z2lxUmdhVUJCbEZkcVdsNjZjNkRDbFdaZnlRSnBKTC8rdGtEbXovOU41aXNSMG84YUYyRzc2RGFS
ZVpxQ2hVVVJFSDVMClJBQ0QwUkUwRStFTzRRODk5SkRzdE5OT2RRTlY4Vi9TSWIvOTlsczU0NHd6
NnNrSDAxMWlpU1hjQXNCVUxVMldkaFFramVkUXhaRGEKMUF3QlE4QVFNQVFNQVVNZ0R3S0pDUWo1
N2VTNUJ3bUl2d2JPQ2l1bXZFK2JOaTBuQWZudXUrOTBwZnV2cnRjQ2dsZFNwWERpMEc0RQpqZU04
UVFsdTk1L1Rtbzhmejk3TGd3Q0JORFRPcEVJRmpRakkyTEdpVG41d2EwcWZmNFY2S09uUVR1c0xG
alNSWHlFZytnWFNNWCtlCnlDLzZ2aWdzaEZjVysvenp6OTN2ZEpsbHRLTjZGcU1SSmRFOEluQTQ4
dFZzYUxDSUdCSUpDUm9SRUZJWWUvVG9FZHljenVjVW5rTTYKRTdGUkRBRkR3QkF3QkF3QlE2QVND
Q1FtSUpkZGRwbjgvZTkvajF3ZDlqZkFhbW8rKzdjbStwTXYvK1NUVDdwYzgyZWVlVWFHRHgvdQp1
a3BURFF0Q3Nybm01NUJpZGNJSkoyUWRMcTM1WkwyQTdTZ1pBdlFBMGRvRnF2OVplQWw5OUk2VWFG
WlE2Z2JSVUltNWhqYnFPTVp2CmpSckxmQ0loU29LVWt6amVvY0U4K2RrZGwvM3lYYnAwMFpTeHVn
SUp6MnNKTDZwZEJVbnlSeDk5NUtKNVJCZXFuWUJ3bHhkZGRKSGMKZSsrOUdmOW45T2poLzNQQWdB
SFpnU2h3VDFyUG9jREwyMm1HZ0NGZ0NCZ0Nob0FoVUdFRUVoRVFISkl0dDl6U05TZ2pWOXgzTy85
UwpjMmx5clFobnUwZlNXRmhoNVVYelBwdzZTb0lpaWtXWWZ0NTU1N2xtYm1FQ1FvU0Z5QWNSbFA3
OSsrY2tROW11YmRzcmp3RDZEODNBCjA5S3ZvdnFodXZtbzlsa2IrcEgrbFA3OEZpejRWZE90ZnBO
ZldlMy9yWkZHUHVhcms3MmdMdlZLaWNjOFpTSHppTWprdUhhN2R1M2MKNzQ3WjBTbWNTQ0RwaEdI
ak4wdEtZUzBZelQ3NTM2TjBzTy83UVJFSTBpT2owdENLdmFjMG5rT3hjN0R6RFFGRHdCQXdCQXdC
UTZCeQpDT2h5Y0h5RE1LRFJlUHp4eDUxalFwb0pxNytkT25WSzNIVWM0ZTdMMnZ3QlVvUFJkSTlj
ZEZhTmNkN29qczUzSWh4QisvNzc3eDBwCnVmUE9PK1dmLy95bjBORHdYRHJhcVYxNTVaVk9URXRq
T0VpS1dmVWpvSTlZN3JwTE5LcFdwd2VCa05DVXNCVFdpRWlIY284RkN4ckoKejc4MlZoMklmdGNY
T2hEM1dRbUlmdFR5ME5tdkh0UjFrR3JsZWx0RUhFNGx0cGRvNlY0ak5rdHozOFpxN2h1VnIveGlR
S21hZUtieApIR29FVnB1bUlXQUlHQUtHZ0NGZ0NFUWdrQ2dDZ2g3ajVKTlBkaXZBNUl5VEpzVUtL
VldyV0QzRjRVTFBrYzhnRnBBRUhMZ1dMVnJJClZsdHQ1Y1lpdWtKRXc1Zk9SZHk3M25yclpReEh5
aFlpNEx2VWE2VW55UnByck9HNnBTTjRaeHNPSXR1T1BQSklvZGxocGFzUkljeW4KTWhKOUlvcXh0
TWFoWEN6T0ptbEVsYmFSSTBXSmE1M3dlNVZWUkpSVHFoaGE1TGJiUkp0ZGxtQjJTallXYU1TRE5L
dmZmdnRWNW1udQoxUzhhOXBpdjRvOWZGelN0MTRMOC9Mc0lQZDhNbGxwcUtYbmxsVmZrN3J2dmRr
SnRJaDZRY2dveVFJQ2JVYyszQm95ZUpUUVJwUzhQCmpUL3BoRTZaYkVwamt3YVp1cVg4SEZLZm53
MW9DQmdDaG9BaFlBZ1lBaVZGSUJFQmdSRDRNcDAzM0hDRGk0UTg4c2dqTHM4ZHg0dVUKbGppRzQ4
WktLNEp6b2lCanhveHhEZy9rZzFRUUhLRnNLOHN6Wjg2c0p6azRTaGpsZXQvV2puYWtiaEdOd2RD
UmtLYmxTL3k2alNYOApjOXBwcHdtVmp5QnBRWnM5ZTdhcm1IVFBQZmU0T1FYM1JYMU9hNXp3MkRq
SzExeHpqZmJZK0xkemtNUDd5LzJkS0lOeVJDMVVVRmYxCnFuMzd1aG04K2Fab1dWalJaeXlhNHBm
dXJMUUlsdnhDQ0VSSk0wTDBYNTBrdlluTVc5Qll0MnY2bGY1OGZ5RXFRaGdrcGwxd3dRVkMKSlRa
SzJhSUQ0ZmszMWVhR1JBbzMyR0NEbUtOVTdqRCsxMGkzNG45by8vMzNkd1NFMmJDZ3dPK0YveWYr
WDlPMFVqeUhOT2RuWXhrQwpob0FoWUFnWUFvWkFhUkZJUkVEUVo1Q21RWW9HRFFscHdrYjNjbnAy
REJ3NDBLVk54WjB1SlhJblRweW9EZWUyZDY5TEw3MVVxRENFCkU1ZU5mREEyMFpKYmI3M1ZYZWFI
SDM1d3g5S0JldWVkZDY3UHVZZVlJS3J0MWF0WDNPa1VkZHhYWDMzbENCVU42VmhCSmpya3F3cmgK
K09QQVBmWFVVNjVDV0tzY3pTM1NHc2ZmREJxRk8rNjRRNFlOR3lZdnZ2aWlXODFHWEZ3TlJ1cVZ5
aW5ra2tzeVo3UFdXcUw5SjBTMApKb0hzdGx2bXZtSy8vYVo1VnVRYy9venVRMGtHSkdTZXE0SkZC
S1NaRTZLelRRTWlzUTBkRktRT2ZPbUZneFlLOHB0cTc0ellzMGwrCklORXdJblEwSWd3YVdoQVdC
Q1pQbnV6KzU0TDdpdjFjaXVkUTdKenNmRVBBRURBRURBRkR3QkFvSHdLSkNBalR1dnp5eXgwQjZk
bXoKcDlOdHNHM2ZmZmVOMVRTUVk3MlJ1dFc5ZTNmLzFiMW5hM0lZUEFoaExFUUZJNVhMQytFMzBj
NTFwQldSMG9VamlMYkVhME9DNTVmaQpNM09naS91UUlVTWFEQTg1VzB1OTZqaXBhV21OUTJyYlAv
N3hEMjN3ZDVPUXg4L2NidE84Smk4d3h1bXN0QkhkMElyTmtmYnFxNkp6CnJkdEZwSVR2YVFRVEZx
aUdTUnByMTNNZGVyNTJSYWNmUlZOdFRyaEkwOGF5aUFyUG0yb2p3dWE2OHpkdFNwakVYdFVKUWtD
SWZxQ1QKaWhzSlRIS05VaDBMT1NabE1jcmVldXN0SlluS0V0V0lsUERkUnhpampvKzdyVlRQSWU3
MTdUaER3QkF3QkF3QlE4QVFxQ3dDaVFrSQphVmdISFhSUXhxeEpPU21ua1ZaRkpBYk5SKy9ldmQy
bHliY243NTdvREkwUkViRkg5U29wMVR6SmxZY1FoZE5WU01YeEVSMzJVN1oxCnh4MTN6RHFOTk1Z
aElvUUdCcUpCeElWSWxTOGJTN2Z1TDdRTDRNWWJiNXgxRHVYWU1XZU9DQzk2OVFYOVgxS3cwRzVy
UnBCR0ZrVEoKcGdqNmtEUUlTSlBGdE91NXNnNnFYWkZsMWJMRkl0SlN0N1Z1MFZSYUt1bG9wZUwz
RmtwQW1ta2FWbHk3OXRwclhmRURqc2RaSi9wRwo2dExnd1lObDAwMDNqVHRNeFk1anZyejRqZnla
eGl5L0c3b3VldmtRV1VUVFFuRUk3aThOQWxLSzUrRG5iZStHZ0NGZ0NCZ0Nob0FoClVQMElsSmM1
cElRSEJPVGRkOTkxVVJlRTY5NXd2QTlCMWF6V3BrMGJ2N2tzNzVRRXBpcFhMdEtERTBma0tCY0JT
V3NjcXBPTjBKcTIKOUtRWU9uU29rSzVHTk9TV1cyNXhvdW15Z0pMaklsUzZVamkwRUVGZDN3OE9K
UzJLbDFhRjFWTFBkWitKZ0dqbVgvR21hVmZ6ZjFtZwoxYTYwREs4U0RKZCtwYmxXODMvVmlsaGFl
L2VYMzFRSG9xbFhpK2krWDNST2NZeG1mVmRySy9mRER6L2M2U2Q4S1dxY2Q5TGVhTXBaCjdYMUEr
RTBRdVlHMCs0cDBQbjJ3bzlaR2Z1Kzk5MXc2SVJHUVhML3RPSGk1WTByd0hHSmYydzQwQkF3QlE4
QVFNQVFNZ2FwQW9DWUoKQ01pUmlzVUxjYmVQZ2dRUjNYUFBQZXUveG9rODFCOWM0QWNjZm9nRktX
RGVjTjZJRHVISWVmTXBZLzU3K0QydGNSZ1hweEloUHRYSgpKa3lZNEtJZXJHaFhpOUhqVHJQM05F
SlVoaGtwc1ZpZzVJTytINUFQbWcvTzFUOC96L3RGWC9PVUNEV1hPVnJUb0pIK1IzZ05TTDRlCkdL
UmJVV1dOeHB4QlcwVkROaEJKSW5LMUVBWHAwNmVQKyszNlNGM3dYbEwvWElMbmtQb2NiVUJEd0JB
d0JBd0JROEFRS0NrQ0ZTTWcKVk0rNlVkdGdzMEs4ZzlaY3BTSldJWWIrQkljdjErcHNuTWhESWRj
T25vUFdJMXd5bVAyUUkwb1h4M1h1MGhnSERRaFZtWWlBWUtUTQowU09GOUJsV3N1bFJVUTJtUlpk
a3lwUzZWS3VQUHhhaEVoWWFlWVRvcVp1R1Z1YitwS1YzbFh6TVV5SXlUNk1kUDgzNVJlWXN2cWcy
CkZKd3J6UmR0TGswMEpVd0RJVEx2SjlXREtIR0VZSVNOZENSZldRMnlpZmJvbDE5K2FWQnlsd2hk
a0l5R3g2bW03NUJTOUIzY0cvb3EKQ2lsUTZ0cHJobEtkYTByUElkVTUyV0NHZ0NGZ0NCZ0Nob0Fo
VUZZRUVoT1FGMTU0SVZJL2dQQTd1TktmNnk1SUIwSWJnZDZCc3JvSQpwSys3N2pwSFNIQitrbGlh
RVlNazF3MGY2OU5Xd3R0eFpJbENVQmtwanFVeGprOUZnNGlRWG9PRDZYUDNJVUplV0J4blBxVThS
ck9VCnROSlNIZkhZZGx0Um5FUWRZVkVIWDFRNG45NlZJUkpMTkowbmI3N3puYlJic1lYTTBjakhU
OW9MWk03UDgyVDI3TGtxUUc4c2padjgKcE5HUkZ0b1hSR1RXWjE4N1FvdmVLV3lVbTRiUXJiNzY2
bTRYNUFQOWhQL09SalFWVkQraldXWXRHSlhTemp2dlBFYzh1blhyNWlwZgprVVpHZW1PYWxlVFNm
QTYxZ0t2TjBSQXdCQXdCUThBUU1BU2lFVWhNUU9oNXdLcCtNT0pBcWcrcnB6VEx3KzYvLzM3NThN
TVB0Y2VECk5ubUlNQnk3YmRYakpIMEt3MGxtaFo2VjVjY2VlNnlCa0R0aWlQcE5hVVFNNmdjcjRn
TjlGSWprZUZ3Z0VxeUMwL0dkSm05eExhMXgKSUdhWGFJMWJuR0hFK29jZGRwaDA3dHpadlZxMmJG
bngxQ0QxMjdWL2htaERTaEhWY1F1K1B2MC90SnF6MjZZTDhLbjFBU0dWYXVXbApmcFpubi81Q0Zt
dmRYQnExV2xTK25EVmZaczMrUlN0aE5YS1BScVVnTWxmRElzMS9hQ28vdnYreXJLbmxvUDJ6REQr
N2I3NzV4bFZhCkMyNm5FbGJRaUg1QXJvUEM3dUQrYXZuTS8rNUZGMTBrZSt5eGg1eDExbG42SEJa
eHVoWks4UEs3N2RHalI4eG1GVTBBQUNBQVNVUkIKVktML3gxejNsZlp6eUhVdDIyY0lHQUtHZ0NG
Z0NCZ0MxWXRBWWdMQ2F2NFV6WnVKY3M3SWVVZDR5enNWZExJUkVJU3ZySzdpb05IWQprTjRmWjJn
TGJBVGFORVc3N0xMTFlpT1dSc1FnOXNWeUhFaFhka1M4UVZ5b1BFV2FXWkl1NkdtTjQ2Y0sxcXpZ
OCtLNVVKM0pDL1g5Ck1aVjRWMjI4cGk2SmFQc1hSejZDYytqYXRTNDFhK3V0ZzFzTC8wd1VhdjBP
SXRPbXpwS0hIdnhRbVkzcWRKWnNKcTFhTnBNbW1tWEYKYitnWERYMjBXSFNPTk5iL2lFVm1UcEcy
SGRzS1JDMXM2STRnMi9uMEllSHpxdlU3LzRPUUVQcUFoQ00rRUZZYWZKSm1sb2FsK1J6UwptSStO
WVFnWUFvYUFJV0FJR0FLVlFTQXhBWUVjSUxyTjVZQkJKbklaT2dSU3JVNDk5VlRuR0cvOXU2ZEpy
d3hTdkhDSXdzNVF0dkhTCmloaGtHei91ZGhvemtqZGZyS1UxVHRROElJYzMzM3l6Q3E1amxubUtH
aVNsYlZSOHBSZEljQ29RRWtydlhuRkZYU25lbEM3bHRCdzkKTmxoVXBrejlYcVorcWVLUE9Tb0Vh
YTZWcjdUOStaeTU4MFRiZ0tCUWwxL24veXlMZnZ1NnJOM21aOVdqck9sS0dJZm40SCtyZnZ2bwow
YU5kaXB2Lzd0K0pBdTYrKys3K2E5VytyN0RDQ2k3Q1FTcVpOLzcvUm8wYUpTTkhqa3cxall3VXJM
U2VnNStydlJzQ2hvQWhZQWdZCkFvWkE3U0dRaUlDd3drL2s0bld0a1Vya3dsZDArdkxMTDEwSDZM
aTNUOG9WbmRCWkViM3BwcHVjcG9SY2M4VGs2RU9DNUNOSzRCdTgKVHRvUmcrRFlTVDVEUG9nTTBS
WDdZMVZVdDIvZlhnWFZCN3NtaEpVWUoxdDFNT2FDUmdRclIzVXdkNkdJUC9yb1ZmZFQ5enJ6ekxv
RApOTE5KQ2Fsb05FeTBPRUhFU1FWdXd2RmRxVzBMNmJPekNqekcvU2hUdjlHTGE4clhYSzIrMWF6
SkFta2l2eW4vbUM5dGZuNUh1aXoxCnVYUmJiMDMzL09LVTBFWHNqOVlqV0dTQUZDMTZyVkFWeldO
ZDROUkxmaHIvZ3dNMTcrM3V1KzkydldPNElQMWpUanZ0TkZmSkswMGgKZlNtZlE4bUJzZ3NZQW9h
QUlXQUlHQUtHUUdvSU5OTDBFKzI4RU45SVFTRUNzcitXTUdJbGZhdXR0aEljcnAyMG94eXI2M0dO
MUNSSwo1YzZZTWNNMUZhUXExbE5QUGVVY09jWkVUOUZEODgrZmVlWVo1d2hsRzVlVjJqUWlEOW5H
ajd1ZHZnL2t6VU04MExkQWpPaEZncTZGClR1UnhMYTF4Y0N6alZnZTcvdnJyNDA2dnlPTWFOVGhm
dGM2aS9GVkpxTWh6ejlXVjVOMW9vd2FIRmJWaDdOZ3g5YVQyazVselpNenoKczJTU3BvQjlQSytW
Tkc3UldGWmVZcGFzc2RRUDBtM2xCYkwrV2l2THlpdXY3TklDSWNLVTJRM2FhNis5RnZ6cWZ2K1Fj
bExkdkNGQQpwN3Q0djM3OTNEUHcyNFB2WGJxc0hmeGE0cytaLytMaGUrRGlrR1lJS1ZFeTlDd1Fx
aTVkdXVTY1Y5SjdTUE01NUp5WTdUUUVEQUZECndCQXdCQXlCcWtZZ0VRRWhjc0ZxTHowTzRDM2Ji
TE9OVUJWbzBxUkpNbjM2ZEpjNlJScFZYSHZ4eFJkbG80QzNpV0I2NHNTSlRzdysKYnR3NFY0Mkhq
dDNvVHBJYWd2amxsbHN1a2Y0aTZUWDg4VVJwMEF0QXl1aU1qZVBLeWpncnkzMzc5blc2Q3g4dDh1
ZEV2YWMxRG1PVAp2eCszTDhrUlJ4d1JOWjBTYk1za0lOb1VYdlVGRFMvRDltV1dFUzBEMjNCZklW
dHdmSWxFTkd2V3pEMGJVZ0RCR2dJOWYvNThGNGtqCjJzRXpwSk05cS82czFuTmN1TE45MkhrZk0y
YU13ems0THlLRnh4OS92Qk4zWjR1QUpIWGVnK01uLzV5YmdCQzVpOUlwc1ozN1I4c1UKWlVudklj
M25FRFVmMjJZSUdBS0dnQ0ZnQ0JnQ3RZRkFvaFFzSEd0U3I3QWJicmhCSG4vOGNTRnlnZk1HRWNH
WmkyczA2Zk9kby8wNQpyQ0lUUGVDRjBiOERUVWd1STFYa29ZY2VjcFcwZ3NmTm5qM2JPWkdrSXNV
dGdSczhQOGxudW8zajBGNnFpdXBnK2hoamRGVkZOWTVjCldEc1FOWDVhNHpEMmYxTHFTeEkxejdT
MnFlNVpCZkdxQjE4eWMwUWV1V2JqcWJaQ3RJcVVxTjRvYzM4aDM5QXNzYW9QSWVBWlFVYjQKVHFT
STczNGIzekhJaCs4TW51dDZVVjN0U1Vta21odVJFTXJhVnJ0UkxRMjlTampkQ3JLRlZtdUxMYmFR
dG0zYjV0Ujl4YjNIVWoySAp1TmUzNHd3QlE4QVFNQVFNQVVPZzhnZ2tJaUNMTDc2NFM1ZTYvZmJi
QmJFMC9RKzIyMjQ3NSt5eTJ2L3d3dy9IdXFQdnYvOWVLQk9MCmswZXpNOGJZZnZ2dG5aTk9TaFVW
bXpEU1g2aU1sYzIrK3VvcnVmRENDK1hvbzQ5MmpoSlJHWjlSaHZQSDZpMXBYYVNWdEdyVkt0c3cK
UlcrbjFDb1JqcUM0RzBLQ0h1UUtWVlRUaVR5T3BUVU8xL0k0aEsrTGc1MmtMMG40L0RTLzY2UFI1
eU5LRkROSEpTbFF1WUZHRVVUNwpsNGhHM1VUN2JHUWVVK2czSWh1UURZaUlKeU9lZ09BYys4Z0h2
ODE4QmtHQlNHTThmeDh0Z2RoY2RkVlZraVFhbU85YXBkei84c3N2CkM2OXdZUWwrUTl6THhSZGZM
QjA2ZEhCbG5kTXFLNXptY3lnbE5qYTJJV0FJR0FLR2dDRmdDS1NQUUNJQ3d1VXZ2L3h5Z1lCQURQ
YmIKYno4M0k3cVJVNDBxcmtFR0lDeUl0TWVQSCsrSUMzMHFFTCt5NHVvSnlOTlBQeTNycjc5K2c1
VlpmeDJjUHZRVlE0WU04WnZxMzRrQQpyS1V0dGN2aEJPTFUwMGlSMTVtL0s2clJ4WEFmVkFTTEky
Wm00bW1OdzFqVlVoMk11V1N6RTArczYvMmhHVThaZHUrOW9qb00wV2NuCldwU0EzNXdvcmhtSEZQ
MEZaOXNURHB4aC96M0p3SnhIcWVrRER6elFWY0pDZUk3dUE0TGR2WHQzOTBveVhxV09wU3p6Z0FF
RE1rcEkKTXhmU0lLbVNSVG9mRWNWYmI3MjFYcWllMWx3OTdtQlo2SE5JYXk0MmppRmdDQmdDaG9B
aFlBaVVCNEhFQklUVllrOFEvQlI5Mm9yLwpIdWY5bEZOT0VRZ0dEaHN2VnB4Wm1TZW5udWdCNlZl
a1RvMFlNY0x0enpibVAvLzVUeWVlOWF2UC9qZzZyYk42V3k2amtkdTY2NjdyClVzYlFyZURVY1Y5
QmpVdWN1YVExVHJWVUI4dDF6M1JCRDVNUGp0ZWZtSXVBOFBuSEgwVzFRSHlxUG9Ndzg0ejVyUkV0
Z0VUalVJOGQKTzFaSXA2TmFITTU3dFJzTENjSCtOWDYrL0svNy82R2ZmdnBKM256elRiL0wzZzBC
UThBUU1BUU1BVVBBRUNnWWdjUUVwT0FyaFU0YwpPblNvUzd2eW0zRjBJQndiYkxDQnk4OW41WlVL
V1VSRWN0bXl5eTRidVpzYy8zSWJWYWQ0WWNYay9xY3hUaW43aVJTRHEvWkNWS0lwCldzaEFuTTRq
YWl3dEhGWnY2RVRhdGF2L1dsVWZJTjYrdU1DOUdyYWhxQUpGQ05CU29BT0prOFpWcVJ1aXdTRFZy
aUJQN2JJQVRIVXYKYitoRXZQN0xiN04zUThBUU1BUU1BVVBBRURBRUNrR2dZZ1RrdnZ2dUU2SWdW
S3BDLzhGcjg4MDNkdzNRampycUtIY3YyYXJ2RkhLagovMnZuZ0d1VXZmSEdHOUt4WThlb1hTWGZw
cGxKR2hFU0pab1VHQkR0bFNGYXFyZ3V2ZXJLSzBXalhhSlJKSkVUVGhEVjdkUk5SMnNkCktDRXQr
ZFFLdWdCRWd5Z2UyaWZTbGZiWlp4L1piTFBOWEtkME5DRER0RFJ6TlJxOWRvaDZRUGFwYkVlNklH
bVJSeDU1cEdzK0NIbEYKbzBVVWozTEMyTG5ubnV1ME05VjRQelluUThBUU1BUU1BVVBBRUtndEJC
S1Y0VTM3MW1iT25Pa0U3TU9IRDNjcExCOTg4SUhUUWVBZwprUTl1VmpnQ09NSzllL2ZPU0syaHcv
V0REejdveWh3ek10MjZQL3p3UTZkaktQeEs4YzhjTmFxUjNIS0x5RjEzaWZaSkVYVnU2MGdICktW
WnMwMVl5YnRzREQ0andDclhnaUgraDBKR1VmNlhDR2k4S0tmQk95aEVpZEYrYWwyaUcxeU1RdVFB
clhxMWJ0ODRZTFZ5R2wyTkkKRzhTb2lFWGFraS90bTNGaTZFdlNFcmFoMHhOK1ZWVi93SzVVdHZl
QUFrelZOcDQvdldvb0cvM1dXMis1OURHcVhpRTJwOG9keDRZeAo4RU1sdlljMG40T2ZnNzBiQW9h
QUlXQUlHQUtHUU8waGtEZ0NRaTQ0Szc2SXc2bGdoVkg5Q1djdXFaSFNjWUl1ZDlQWWtISzVrQTVX
Cll0R0E0Q1RHTmRKSjZFL3l5U2VmYUxXazFaMEFPMXNFSU82WXRYNGNlaHJLLzBibDlrL1ZQQ2dx
Zy9FK2JkcTBzaEVRNVp0T1dBNjIKMnZMRkdiVUw5UEZwTVlLNmlsZHNKRUpDbWxZd0ZhdnU2T3I3
QytFSU44S0V6TkJBa3lwdVJCS3F6YWdlMTRueVltcStjaHNrQkRLQwo1b3FLVnhnUkV0SzBncWxZ
Ym9mOU1RUU1BVVBBRURBRURBRkRvQWdFRW9jWlNKUGFhNis5bkFQNzVKTlB1dFZlK25uNHRLbEM1
b0xEClJpVXRSTnowRlVsQ1Bramxvb2thMWFjb2QwdFBFSnhyeGltbDBmVTlUcCtJMjI2N0xkRTBz
dlU5SVhVcWlWMTIyV1ZhUWVvSHAwVkEKanhCOGdROUdoYTZSSTBjbUdiYW9ZN1hCdmN5WlV6Y0Ux
YTJvRVFCdnBkK0h0cGx3QmpHaENwWldVSzRKb3dJYmtTYWZSdWpmU1MrawpZU2ZsYmF2TktKTGdp
UWNMQ2hCL0lrRkVQbnh2SHZaVG9ZN21qR2FHZ0NGZ0NCZ0Nob0FoWUFpa2lVQ2lDTWdjOVI3ZmZm
ZGRlZUtKCko2UjkrL1pDRTBDRTQvVGFtREJoZ256MjJXZXViR2VoRXlTVmhaUVBLbHV4c3B6UHFE
eUVrd2NwdXVtbW0rbzdObE9kaU8yYmFKdnQKVXZYLytQampqOTMxRU10bk16cTdzNnE4czNyWWNS
MjVZNDg5TnBYVXFmNWFZb3BLV05VVUdWcHROWkhQUDY5RDY5dHY2WjFSOTVsdQo2RjI2MUZYRWdt
ZHBldzNWSEdSRHRYcTJmNnMzY2YzMTE3dUlHOFVRK0QzeXdxZ1l4VE9IRkJPVld6TGNiYkdDdDdH
eTFqaW15aHhHCnlXQmZRUTRpVHhVMkZnQ21UNS91N3FXWWhZVUszcUpkMmhBd0JBd0JROEFRTUFT
cUdJRkVCSVIwSHFybTRQQlR0WW9WZE1TM3JQcFMKRFlpSUNKR01PRWFlUFZFS3lwWFNNd0ZoOUJG
SEhPR2FFc1loSDF5RHZndXM3Rjk5OWRYMTVJUHRPSDQwSnlTYVFKUERVaGtsZG4yNgpDcDJ2aWVD
UWR1T05KblhrMG4rdVhuZGNBcEpXNmhTUklJVEdyR1F6VDhnSVRSdHBqc2p6cXBTUlZxVlZhcDNt
UXdNSHpoQ1pVeDFMCjI4dW83a0kweFU4MGRheFNNNHgvWFJ6M1hyMTZ5VC8rOFk4R0o2RzFvWnBa
dFpiaEphMEtBVDMvZzl0dXU2MmJQLzkzVlBNaXhSSWQKQ3dzTFNhS1JEVUN3RFlhQUlXQUlHQUtH
Z0NGZ0NFUWdrSWlBY0Q3cFYvUUJJZktCVFp3NDBla0ljSGd2dU9BQ3R5M09INGdCNTFKSgppRlhZ
di8zdGIwNFVtNlJDRXpvUEhQeHdLaFFSRUhveGhIUHo0OHdyN2pIb1gwNC8vWFIzT0UzYUVEZWZj
ODQ1RFU2bk1oTFJvcmhHCjZoU2FHQVRSMlF6aWw4c3FHUm5LTlMvMlFVQTBpS1pSQTFGdHdjS2pT
Y1hTb2t2T3FJeFZLOGF6NHZjYmpyU2hrYUs2VkxVYUJJUXkKMTBUbmdyMXFTTVhhZmZmZDNiVEQ5
MVN0OTJMek1nUU1BVVBBRURBRURJSGFRaUFSQWFIaUR4RVFPbnV6ZXVxTktBYmJ1M2J0NmpmbApm
T2Q0WHFRblFTS0lmSkMrdFpPV1FTS2lnaVlrcnRIeC9NWWJiNVNMTDc2NC9oVElFYVNFeWo2bHNq
NTkrdFFQVFdwYXRqbmo1QkVaCjJtYWJiZXFQei9VQmZVWVUrYUJpbFhjTWM1M1B2a3BIaHZMTmox
UXNYbHAzUU5QTkdoNjk1NTRMdDVHcTlmenpWSmhhdUsyYVBoRloKNGpkSWFtTFFpSHFSbmxYTlJp
b1dyMGNmZlRReVV1Z2pJOXdESkl1aUJYN2hvWnJ2eStabUNCZ0Nob0FoWUFnWUF0V05RSHhQWCsr
RApGSTA5MVR1OFJXdXBSam5KY1crVk5DVWNjcStmb044SERkeHdzaUVTYUV2aUd1bGdxNmszRyt4
dlFTV2ZMaW9xS0dhT2NhL1BjYVNmClFjZ29KMHg2RTFFWnlCWHBUcytyOTV5a1FoZ1JKb2hjTUEy
TnFtQTB1VU4zRWtkTFVNbklVQkxjeU5hamIyT3VkQ3VrQ2oxN1ZpY0IKZ1pDZmVPS0pzdDU2Njds
VXJQRHZyYTFYMWljQnBRTEhjZzgwL015VmJrVy9FTWlIRVpBS1BDQzdwQ0ZnQ0JnQ2hvQWg4QWRE
SUJFQgo0ZDV2b0ROY2tVYmFGU2xNT05hKytnN2pJaHd2Wk5VWWJRcjU2aEFQSEtsdy80c2lweHZy
ZEVnWmVnRHVBVUpDcVZOSUJLbGxTWncyCnNLSHZRckFQeXFlZmZ1cnk5Q0VnY1ZQVUtoVVppZ1hX
N3dkUm9aYklodDV5dmFsc1JxTkpvdmRadjZsZXJMNXdTM1Y4UXNjRUlTUnQKTGtnWXEyTjI4V2RC
aWlDLzBTQUJJVUtKenN1WDJtWTBMMWFQUDdJZGFRZ1lBb2FBSVdBSUdBS0dRRU1FS3RhSUVOMEVs
YlBJUVNkZAppblFQSWlHa2V0Q0pPZWlBTjV6MndpMnZ2UEtLRzRNVUxvZ0lUaFRFaHZLM3BkU0FM
SnhCNWljcWhGRjZsZWhPVDEyNlQ1cEhUOFNFCjZsMUJ3OUVkTUdDQVhIUE5OWW1pT3FRQm9VUHdw
SVVvQ3BHaHFONGd3ZXVWN25PbXJvVUdoQm84YUdDa1pXbGJGMWVtdDhIT0FqYWsKMlFBdjNJandr
a3N1Y1pvb3FtQUZqU2FiVkpyS0prSlAyc1F2T0hieXo1bU5DTVAzUU1XdXRkWmFxOEd3VkdUai9p
QWlVWmIwSHRKOApEbEh6c1cyR2dDRmdDQmdDaG9BaFVCc0lKTzREa3RadElkcUdmR0NRRGZwNVVF
WHEwRU1QalUwK0VGc2ppT2NjQk8ya2llQnc0MkFSClVhRVBScm5NOTlOQTNIdmNjY2U1Q2xTUUQv
cUZKTEhnS3JRL0R3ZVFpRXEySGlIK3VPQTdqUjFKeGZMa2czMklqWVBrZ3pLeXZvdDMKOE54eWZm
NjlZbTJEeXhFQm9SRmh0UnNwV1BUUk9QTElJMTB6eDJPT09hYit2VisvZnZXOU5xcjlQbnpwNFBB
ODBUWFJpTkRNRURBRQpEQUZEd0JBd0JBeUJOQkZJbklLVjFzV0plaURPZnU2NTV4enhRQk55L1BI
SEp4b2U0Vy9mdm4xZEhuN3dSRkpLcUU1RWRJVG1hdVV3ClVxK0dEUnVXSVVaSERFNTNka29UUnhH
THFIbWhBZGxSODVLQ1JJR2VEQkEwWDNVcjZyendOcTVKR2RqZ09PRmpXS0VuU3NQMUttRlUKd3Rw
aGg0VWFFQWdKV202OVZiM1hTc3dvMlRWSnUwTHIwMGJMZHBGS0dEUTZqZGRLeWhKTkU5RlMrZDhv
aElUaUNaU1dwa0NFbVNGZwpDQmdDaG9BaFlBZ1lBbWtpa0JvQm9aSU9LKzQwTTR0aisrKy92MnVT
UitvS3FVSUllUkZ0WjB0WmlScVR5RW0yNDBrcmlUdVhxTEdUCmJxUFBCMmtzUVljZllUcTZFSnpV
TlJFOHhEQnk3K2tGRWt4N0FWYzBKcFIyald0Y0QyS0Jwc1FiZlVsWTFRNUdSZENyVk1xMGdKUnIK
T2hnVW9Xc1dubFkxRTMxMjZjNEtwNW9YeERmODh2dTRvdi9zajgwM0M0Z25uY1ZyMlNBYjNHK3dX
TUx5eXkrdnpTRFBqZjI3alh2LwpIdC93TStDNzM4ZFkvalB2N0RNekJBd0JROEFRTUFRTWdUOE9B
b2tKQ0JXcTZQbEJ1bFBRMEhSQUNFajl5U2U2WnVVZHA0Y0lBUTd3Cmp6LytLTGZlZXF0THB4bzll
blI5ZGF6ZytGR2ZhUUpJVHd3MEV0MjZkWFBPUHhFVnlCQXBVWkNRY3RubGwxOHU5UHdJR280VEVR
MnEKWXNXMVVhTkdSWlpFalh1K1B3NFJPcVF1YkFqMFR6NzU1QXlDRXo2bVhOOVY2cU02blhKZExk
T3BEVHU0UEN0SW4zZUVtUlhINUxOcwo1SU5VUUpwa3hpV2UrYTVUeXYzOGRudjA2RkhLUzJTTUhj
USsrQm5zQzMwT0dSZXdMNGFBSVdBSUdBS0dnQ0ZRMVFna0lpRG9FT2ltClRaZHhxazE1NTRFN0pO
MkpsQk9xVWRITElwZjRtc3BCcEFqNTFYZjZpdnpmLy8yZkU0MWZjY1VWaVJvYURodzRVSGJiYlRm
WDZSc0gKRWpMQ1BPNjQ0NDZNMWY5U1A0VXcrZUI2Q09NcExVd2tKRzRma0d5NEJjc014N21YYk00
ekVSQWlMUGxJWXB4ckZIdU1CbllpN1kwMwpNcXRnUlI2VWNLUEhnM2Z2NlBKYjhaOTU5OFpudjg5
dmkvdE9BUVNhWVBJN0pvSlFDMFpaN0NnajlTOVlCU3ZxbUtUYnl2VWNrczdMCmpqY0VEQUZEd0JB
d0JBeUI4aUdRaUlCQUdCQjhEeGt5cE1FTVdYRW5CV25ERFRkc3NDKzhnWHg1OHVkeDhvS3BSdTNh
dFhNcFZUZ3AKNFo0SzRUSDhkNjZKNlB6QkJ4K1V0OTkrMnhHakhWUllFSzVLNUk4djVmdVVLVk5j
R2hubGN0R2hISGpnZ1c1ZVNYUW9WQjRLbHhGRwo3TXo5RWRuQklEV2tkU0Y2em1ZSHFNQUNISHhL
R0ppaW1VbXFKY2syZmhyYjlWWmRJOEpnQ3BiZXF0NnI2TDNXWFVGdlZlOVY5RjZMCnV5S2tBZ3c4
c2VEZHY0amM4WHZ6enJFL0praEs4bDJkVXNsM2F1a3VLcmdSMGF1RnlJZS9wNHN1dXNoVm9mTWFF
TGJQbno5ZnFPaEcKYnhzTVBRajN5Rys2R0N2MWN5aG1ibmF1SVdBSUdBS0dnQ0ZnQ0pRSGdVUUVo
Q245ODUvL2RCV25IbmpnQWRjWUQwZjc0SU1QZHAzUQpnMlFpMy9TcFhrVVozbUJrQUVkbzFxeFor
VTdOMkU5bEtOSmdhSkNZelhBc09TNWMzamJiOFlWc1I0RGV2MzkvUnp3b0tVeVU0YTIzCjNwSmRk
dGtsVVk4SXpvUEllT0lRbkF1ZHFJa3U4VDV0MnJTY0JJUU8zVGg3d1hFb2MwelgrSEpxWTRMekQz
L1dXOVY3WFNoQ0QrN1gKVzlSN0ZiMVgwWHN0am9CQUtIeDZGWmp3SFFlYmJaQTdUM1k5RVdFZjIz
bmxzMmVlZWNhVmZNWlpKOVh1c01NT2N4M3JpZktSZ2xVTApScVVyeUh0UUErTG56ZlkxMWxqRFJS
alJFQlZqcFh3T3hjekx6alVFREFGRHdCQXdCQXlCOGlLUW1JQ3d3cHZOMFNZNkV0ZHcwSUxrCmcv
TndtcmZlZXV0Nmh6RE9XTXlsVDU4K09aMzhEejc0d0RtVHBTSWdwTjBRdWVpckZibm82RTUwWjlD
Z1FVSjZHTnZvUitMVHpmTGQKRTAzdHFPRGxuZUtvNDlHOTVET2VVeVg2b09TYUYyU0NxTWY0OFhW
SDZhM3F2WXJlYS9hell0eHE5cE4vM3dNQmhWUjQ4dUhmMlFiTwpQdnJoTWNkUmprTkFlTzVFMzNE
U0lkU1VYeWJGelJ0QzdtbzA1Z3ZacDNFbmhpYUl5SWEvLzZnNTAxQ3pXQ3ZWY3loMlhuYStJV0FJ
CkdBS0dnQ0ZnQ0pRWGdZWGVVb3pycHVsbzMzMzMzUzVOaFJWOWIzUkJ4eWxNWWkrOTlKSkFNUEox
b2s0N2x6MDRSeXBYZ2MybGwxN2EKWUI1ZHUzWjFFUTJJVlJ5RFVFVTVna21yakZVYitlRGVJUjZi
YnJvUUJiMVZ2ZGVGMy8wbjdVV3BHaUwvcmZoM1R6QTg0ZkNSRHI4ZAp4eGhTd2p2YklCODh6M3hH
S2lGVnNBNC8vSENuODBFZlJVbGVORWtRVGpSQWxFS3VOcVBaSlQxM3ZPMjMzMzZSdnpuNjZMQlFr
Slo1CnZOTitEbW5OejhZeEJBd0JROEFRTUFRTWdmSWdrSWlBcE9Wb1V3V0xGVmRXbW5IVWlJUnN0
OTEyN25YeHhSZkw0TUdETTFhU2MwRngKOWRWWE93RjdybU5LdlkvVUcrN2o1NTkvcnI4VURpeGxo
UkVqUTVMaTJ0bG5uMTEwbGJHNDF5cjNjUjA3aXFZbGlhYlppZmFjcUx0NgoyTThIUW0zNEx2LzRS
OTErZWtscXJ6OHQ4Vno0YklsSzBEQVF3d21Hckhvbm1HMlFENzU3RXNLeisxNVpFSVVXNGhpRXBu
djM3dTVGClNlbDc3NzNYUFVQNnRsUWpBWUdNVTZVTHJZcFB1d3FubTRFQmhSd2dWeGhWN3ViTW1S
TTdraGVGVzZtZlE5UTFiWnNoWUFnWUFvYUEKSVdBSVZCOENpUWhJV280MlZYZHd6T2xUUWY3NXVI
SGpCT0pCQ2hkT0NqMDF6am5ubkZob2tYTWZaUWhtV1lHT0k0cVBPai9KTnVaOAozWFhYdWRlWlo1
N3BUc1hCSXkySGRDbXFmTVd4dEtxTXhibFdKWTVSYVl5bTc0bHFoaWh4bTMwR3lnL1U4UlYxZHV1
MEg2UnVUWnFVCi9maDhlM2crT00rZWRJVDFJSHduK3NFTEVvbGpqaUE3VzBXeVhOZWpad3VkMGFt
S0ZpNVZuZXU4Y3U2alpQVjU1NTBubE5UT1plQkcKUVFTcXlxSDlJa1VTVWxLb2xmTTVGRHBITzg4
UU1BUU1BVVBBRURBRVNvOUFJM1c2Y3JpQ0RTZEFGU1ZFME43UnBud3VBbXdjN2FSbApSeWVwVjBt
S2tqZElBK05CUUNBblZITEtaK00xcjJmbzBLSHkrdXV2Wnh4S0pTcUlUVG5MemI3Ly92dE9lSXdv
bm40a09MWWJiYlJSCnhyenlmWUZRK2R6ODRMRkpxb3dGejZ1dXozWDVWdXJmQzZWMnRhcHpWZ00y
Q0FnVnNMNzlWclNuU2RaRDgrNFlOKzVSUjJ5cEhFYjAKZythTWl5Kyt1TnZHZC80RldQSG5OWGZ1
WFBmY0lLNGMwN3AxNjR6eDBYekVNY2d2UkdiMTFWZVBQTHhMbDRXcGg1RUhwTG94ODEvYwozd05S
SVVydGZndkFXYXhMbHk2T2dQQy9TWUVJcXM1NVMzb1BhVDRIUHdkN053UU1BVVBBRURBRURJSGFR
eUJSQklUYjIyT1BQVnorCnVLOCtkY2doaDBpL2Z2MFNPOXBVMUFrTHM5dTJiZXVxYWNVdDlZbkRT
RCtSelRiYnpFVlBTSVVKV3Z2MjdZTmZTL2FaMUIycVVtRmUKYThJcWN5RlZrUGJlZTIvbkVMTHFI
RFFjUVY1eHpUK2ZYTWZqZUplNk9salU5UWtJUVRCVUJxU05HcU9PV0xnTkVrSUVwQmdDd24yaQp6
VUN6QVZFbHZRcHk0ZE9QdUJxUkR4eHl5amZUY1o1MzBvNlNHdjFhaUJKUU52bXFxNjVLZW5wWmo0
ZUk4WnQ2NUpGSFpQdnR0ODk1CmJZZ1lFWkFnQWNsNVFzVE9jajZIaU12YkprUEFFREFFREFGRHdC
Q29FZ1FTRVpDMEhHMGNRUG9rb0FIQllVZi9nUU9FVUJzbkphNXgKUG1reUNOcHhMaXRsRUIrSUdk
V3I5dDkvZjljdllhdXR0bko1OWp2dHRKUGNmUFBOc2FkRzZsa2FmVUNxb1RwWXZwdW1hSnBtNG1u
RQpJZnVSbjN3aStyc1FMV2VjL1poOGUzZyt2RHFxQ0FWUk5TU0IxWHgraDZSbTRZaERVQ2lJZ0Rn
YmNrSzZWbHhqakRGanhyZytJRVFYCklEQUkwV3ZGaUY2T0hEblNZWlJ0emw5ODhZVXJZNzNsbGx0
bU95VHY5bEkvaDd3VHNBTU1BVVBBRURBRURBRkRvQ29RU0VSQTBuSzAKSVEyVXFLVi9DQ2xVRHov
OHNPdWZnRk9JOEJmdEJFWUhjWnc1SE1Rb284Y0Z6anJhQ2FJblFTTUZDMEZ3T1RRZzVQcFR5cFNL
U0JBbwpSUFdJblVuSklzVUZFWHJjZWFUVkI2UWFxb01GbjBmVVo0VGxGR05TcUxSSm9tajZrK2lL
Zk9hUkZFbUxxUVhQUERId0RlTE1DdzBDClVURTBPVVEzSUsxb1BYZ1BmZzZjbXZNakVUaktKdE1Z
a3ZONzllcmx0RXowVzhGSXdhb0ZRNVBGZ2dDLzJSa3pacmhvVURoMWpGNGcKeFRiM0xOVnpxQVdN
Ylk2R2dDRmdDQmdDaG9BaHNCQ0JSQVFrVFVmN2xGTk9jUVNEOUMxZVJETnd2bGxKeHJHalVoYjZE
ZlFRN0k4eQpLdmRRS2hTOWlFOTk4c2VSYWtQVHZYSVlPZ0xmOCtHR0cyNlF4eDkvM0tXMTRPaVNP
NTlrTlQydFBpRFZVQjBzSC9hMzNscFhsbGRiCmxtaVVTTlFKRmpuK2VOR0dmdm5PVExZZng1b1g1
cDhWNU1BM3ZRenVUekl5cEFPeE9XU0daMDA2b1A4ZGZLS2hHd29SQk10TUp4bTcKbk1jaU1GOVBj
OXpRVEVHbTJpdEpZM0VnVE9xTG5WTVE1elNmUTdIenN2TU5BVVBBRURBRURBRkRvTHdJSkNJZzNt
bGdpc1U2Mm94QgpDc3paWjUvdDlDT1FDQWlIRjQydnNNSUtialUyVnlsVTVrTmVPaXV6d1h4K3h0
NWdndzFrbVdXVzRXUEpqWlNkc1dQSHl1MjMzeTQwCkFFUklUMW9ad25FaVBVUjQ0aHFOQ3htRHlJ
OG5WZWdUd3ZlWGJ6ekU3SFJVcHhRdzBTRHZWQmFUdzUvdm1rbjM2MlBUNW4waVYxNHAKY3Y3NWRV
MEtOWkRrbWhVaTUxbDU1YVFqWmovZUV4RGVpZVJSNklEUHdmSzgvcGdrYVlDVTJTVnRidWJNbVE1
cnhvT1lqQm8xeXZXRgp5VDZqNnRsREJJVEdoTGZkZHBzY2M4d3hMZ0o1eVNXWHVIZXc0bjh4TGZN
WXAvMGMwcHFmaldNSUdBS0dnQ0ZnQ0JnQ3BVY2djUldzCkFRTUdPSkUwVGpLUkNWYmFnNDUyT0hV
ajJ5MlFJLy9XVzIrNU5CV2lCSFFwdjFXWHhPT2U3OGNsMm9EZW90SkdOQVlDZ3RIWURYSkUKNUlP
MG55UUc4Wmc4ZWJKTE80TzRJTEJIbjhDSzlKVjQ2akdOeW1UQmp2VVFOY2JaUmNVVVNUcld4N3hj
ek1QcW9oRCtZT1Z0b2xsMApjdGRkb3Mrd2JpdDlQNUFaRUJFSjlLajBweFQwVHZVbG5HaktTUE5j
Y0g1NStVZ2JoSUdYVDhlaWVoblBqc2hHbkNwWVBIdFNDZSs4CjgwNTU4Y1VYWGRTRGE2RUw0bmNk
WlVrclNFV05FWC9iZ294RGZSVXN2NUZLYlJCY0dtbFN3UTNqM2lIRDV5c3pKUDBxeXBMZVE1clAK
SVdvK3RzMFFNQVFNQVVQQUVEQUVhZ09CekxKUk1lWjgrZVdYUzgrZVBXWDQ4T0V5Wk1nUWR3YXBK
KzlxRW45YzhrRFp6eDEyMk1FUgpFRkpWS0k5SzVBUEJkdExLVWVoQW9tekNoQWxSbTB1MkRjY1dB
VE1saXFrTVJvOEZNRWxpaUprNTU0a25ubkJDYVhxTHNBTDkxRk5QCk9Xd3A3UnJIY0t5UFBmWlk1
MEJDOGhpblI0OGVjczg5OTdpeDBjeFVnOUh0WExQdTZza0hjNkx4aTd1blhnQUFJQUJKUkVGVTls
bG4KcFRzN0locWsrUEVlakc3Z2RFTVl2UG45L3QxdnovWU96dndQYktzTlRraGo2dFNwazFDbUdr
RTNmVFlnSWJWZ3BJK3hpT0RKQjNNbQpxa2Mva3pRTlhFdnhITktjbzQxbENCZ0Nob0FoWUFnWUFx
VkhJTm55dk00SFI5dUx4UDMwV09WLzlORkh0VnYxY3JMT091djR6Vm5mCkVaVnpyTGVWTmRlRzd1
ZVVvR1hGRlpJVDF4Q2hJL29PUmhwSWc2RzhMS3YrckdhWHc4SVJCL1FzT1A5SklnNlFLVERZZlBQ
TjNieXAKVGtSZVBoWENLRm44NUpOUE9wMUJ2dnRKcTJOOXZ1c1V1MThiaFN1eGFqaUtjaVhYL2J6
aG51SzMrQlFnUm5yNzdiZTE2L28xTGxXdgpjK2ZPanV6NTZFand1R3hYSldwQ0pBOGlnaFpwaXky
MmtBNGRPcmpEK2QxNVBVaTI4NnRsTzhVVG9zZ1NrUkg2b3BUQ2d2Z1creHhLCk1UOGIweEF3QkF3
QlE4QVFNQVJLaDBEaUNBZ3Ird2hXMjdkdm4vR2kvQ3k2aDRrVEorYWRMU3ZQTDcvOHNvUlRRVWhY
SVFXSmFqbHgKalJWVlZ2U0puUGdYRGcxYUJ5SXI1YkEwSXc1N2FXTU1DQjZwYlk4OTlwamNkTk5O
anBDUk51V2QyM3ozaERNSllVRTc0bzA1b2dlaApBMzF3cGR2dnI4UTd2VUNpak41L3ZxaVpMcHJM
ODg5SEhaVnNXekR5NGMrOC92cnIzVWR3OFN2emJJZzYxcDhUZmtjRGN0SkpKOG5wCnlxYW91bmFX
aG04b3Uwd0ZOMUxwYXNHeTlaZEJKK01yWDRFSm1xSmlMUXJiTko1RHNmT3k4dzBCUThBUU1BUU1B
VU9nZkFna2lvRGcKNkY5NDRZVnk5TkZIdTNLNU9CUGVvWGpsbFZkY3gyVFNoYWo4UTZuZFhFYlpX
bGFNRVo4am1LWU1LQVpwZ0lDUWVoVEgwRjJRWGhRMApIRy9FN1Y3RUhkeFhpczlwUlJ6UUVoQUJJ
U1VHQjlZYjQ3TTkyRFhlNzR0Nkp4cEUyaFV2MzdHZWlrd1FHNklxakY4TjFyKy9TSjgrClJOV3l6
K2FERDBRVUZ0VlNaRDhtM3g1K1MrSGZFNW9OaUNyMmdWNkU2QktwaFZod2RkNXRpUEVIVXIzcnJy
dTZGK05DSEhmZmZmY1kKWjFiK0VOTEZ1UGRnRkRFOEsxL05MVTZFTTN5dS8xNk81K0N2WmUrR2dD
RmdDQmdDaG9BaFVMMElKQ0lncktxekV1KzFIOEhiSW9lYwpxRVBjZmhlSWU2a2NkY1FSUjdqemFC
Q0hDQmo5UkM1SEtIaE5QaE9KQ1J2T0lEMDQ2RTVPWG42cExWL0VnWjRjY1l6MHRqMzMzRk51CnVl
V1dncHpnNERYUzZsZ2ZIRFB0ejhBQ3djaEZRTGltOXFvc3lvSkVtWUZJMGFQaWt5ZlBiSVBJZHUv
ZTNmMEcrVjZNSWRxKzRJSUwKWEdwV01lT1U2MXorVDlCaTVmdS9hOWV1WFZGVEt2ZHpLR3F5ZHJJ
aFlBZ1lBb2FBSVdBSWxBeUJSQVNFV1NDMlJVUysxRkpMWlV5SwpGZnFrZWdzcUV6MzQ0SU91VWQr
a1NaTmM1R1RUVFRmTkdEZmZGMHJlSG5qZ2dmVVJGNXhMdEJkM2FXbWxRWU1HNVRzOWxmMXBSaHk0
Cm4zeUdJNGZHSlZ1RkpYOCs2VUc4c0c3ZHVybjNKRm9kZDBJSi8yaVdtWllzTHVFRkFrTUhveHIw
dXFEUFRORG9DM0xISFhlNHltSEIKN2ZrKzh4eWlVdHA4bC9WYTBJRVFGYU9RUkRtc1ZNK2hISE8z
YXhnQ2hvQWhZQWdZQW9aQU9nZ2tMc09iem1YRjlSc2cvWXIwcVdDbgpjd2hFOEh1KzYrSFFRSHlD
NUlkOGZyUXE5R2NvcHhGMVFZZUNRL3JjYzgrNU9TSGtUV0trV2ZYUnZDU2lJZG1NbENIU3RkQnpa
RFB1Ci82R0hIaEthUndhTjhxcWt3bEFSeS9kY0NlNHY3ZWRHR2NOcnRwNUdIVEkydVM4VU1BdGwx
VFU4S01FV3lyOVM5QUF5QnE3OFpuaFIKYXBmblJjU003YndUaFFPZnVHVjQrZjJTbHVnSkh0UGlO
NHdXQkhGM1dpVnNFOXh1eEtHNXkvQVNvWXVLWEZJaExOZnZ0NUF5dkdrOQpoNGlidEUyR2dDRmdD
QmdDaG9BaFVDTUlKSTZBcEhWZk9INDQydWcxU0gzeFpJUVN0TWZURGp1bW9mWEEyUTQ2N09oSTZN
bFFUa05ECmdLWWxISEZndFQySkZnQm5FSUlSdkorbys4aWxiMGxUcXhOMTdiUzJhYnNVcldBbW12
cXpjRVQxM1RXNkkxckJUSlRBTGR4ZXJaK3UKdmZaYXB4OTU1cGxuWFBTRTRncjhKaW1aREFHcEJV
TkVUelF0bUlKRlNXaUtSSXdlUFRxRDNOZkMvZGdjRFFGRHdCQXdCQXdCUTZDNgpFUWk0ZnVXZEtE
bjRrQS82SmxDQzkrNjc3NVpUVHoxVlZscHBwVVFFaEg0WFlXY2RUUVpDWUZiL3c0M2tTbldYa0F5
aUY4RzVVSG1LClZXUTZrYU54aVdOVXY0cVRocFZyckRTMU9ybXVVK3crRFZScEJiTk1vcUZTQk5V
RVVZeWdlTzFIc2ZPTGN6N0ZFM2p4bkhmZWVXZFgKa2UyQUF3NXdXcDVzUFdyaWpGdk9ZeWo2d1A5
S1VLai94UmRmT0RLTitKei9TVE5Ed0JBd0JBd0JROEFRTUFUU1FxQWdBb0p6VDRRQgo0U3JOQjNH
NGduMDk0azZPbEJkeXp5azlTLzQ5amc0T0R5bFV3WlNxWE9OZGRkVlZjdUtKSjlhdjNxS1BJQlVL
WWtQM2NLSXI1VERTCnhpQTdRU2VPZTZGSkhRU2tZOGVPc2FaQlJiQTBMSnRXQisxT2NJNXBYS3ZR
TVdnY0gwNjFvbkt3QmhDS0ZwNFhPcWVrNTAyZlBsMWUKZmZWVlI2TFJlK3luWVIzMEgvUUlDVVlV
a281Ynp1UC85YTkvTlVpMWdqeERobzE4bFBOSjJMVU1BVVBBRURBRURJSC9EUVFTRXhBYwplNXdz
b2hma2g5UHNqeHg0ZWluUU1DK3UwYW04VFpzMlRuZ08yYUNQQ0pxRkZWZGNNVGI1NEZyMFgrQVZO
cnFTYjdEQkJ1SE5KZnYrCjMvLyt0NEVvSENJMVlNQUFWK1VyN29WeFhOTXdtamxXbndZazg4N2F0
OC84empmbHBFb2dSU3VZaVZZd2E3aS8yclpRdFF3OUNlbFcKaHg5K3VJdUF6Wmd4UTQ0NzdqaFhz
S0VRWWw3dWUyenJtNjRFTHN6dkVPTDgzbnZ2eGU0L0V6amRQaG9DaG9BaFlBZ1lBb2FBSVpBVgpn
VVFFaE9nQ2poYWR1bS9TUGdkK2RYVFdyRmx1TzNuaytmcC9NQk42VXRBekFhRXZQU20yMm1vcjE4
MGNRb1BqaGc0a3J1Mnp6ejdTCnIxKy8rbFY5VXFEb3JFNGFWdHdvU3R4cjVUb084WExZdUQ1NmpE
Z1ZxOExuRnZPOVZqUWdWTURTQW1iNm02bTdXL1FmV3NCTUs1aUoKVmpBckJvSE1jMGtuUW54UDVT
czZleVBnaHh5U2V1U2pGVGpjaXkrK3VQdjk4dTU3cGVSTDRTUHFRVmxxMzhlR0svUDd1K2lpaTRv
dQpwWng1RjZYN2R1NjU1OG91dSt4U255YUkvZ01kMGlPUFBPSUlkRnBYTHVWelNHdU9ObzRoWUFn
WUFvYUFJV0FJbEI2QlJGV3c2UFNNCncvWG1tMjltT0Z4TWs4WjVWUCtoRzNvY3UrYWFhMXpxRmVr
ck9EcTg2TFNNdUpveXVuSEpBOVdjZXZmdTNlQ1NTY1hmRFFaSXVJRlUKTklUMHdieC8wbk9JR0tF
UG9NTjdPWTFVcmhFalJqUzRaTkorTFEwR0tHcERvNHl6TlhDZ3p6bFRBNEl1UkdzS2FBV3pqRU9M
K2xMSwpLbGhUcDA1MVVieWtFMHhhUVNycCtKbkg1NjZDUmVOUTB2S0NxWG1RTTNyMEhIWFVVWmxE
QmI0bHZZYzBuME5nR3ZiUkVEQUVEQUZECndCQXdCR29NZ1VRUkVOSkppQ3pnbkFTTkNBaE5CWWxx
eExVamp6eFNKbWdhRmhvSlhoZGZmTEhyTDhMS2Mxenl3YlZJZXhrMmJGalIKNHUrNDg4NTJITjNL
bjMzMjJZeTVneGROQlhPUmo1dHZ2dGwxS0E4NmYxSFhRTFJQMWJDNGhnWms0c1NKOHNBREQ3aFVt
dmJ0Mnp0TgpUQ0g5V3VKZU0rbHhhRDBnR3hxMHFqZkU1MlV1WUZaLzdUZ2ZpSmc4L1BERExnMlI0
M0hlb3d5ZEZHVFVSd21qanFtV2JSUTlnR3dFCkN5aWdYK0ovMnN3UU1BUU1BVVBBRURBRURJRzBF
VWhFUUxnNEsrZzMzbmlqSXd4K012U1RnSlFrYWZ4SDNqeXBWMEVMTnpjTTdzdjIKT1MzeGQ3Yng0
MjRmTldwVTdPaFBjRXp5N0hGU2FjcVl6VWdib3JRd1ZaWmF0bXlaN2JDTTdXaFMrdmZ2THhBUENC
N2tpTWdTcVRaMApzNjhHMHdKbUdlU0RPU20vMVFwbW9sV1pSRVg5MVRETHpEbU1HVE5HemovL2ZF
ZTJTZFVLRzJsZUkwZU9sRnR2dmRXOXd2dXI4ZnRCCkJ4MlVRVDZZSTdvUTByQllYSWo3bTZ2R2U3
TTVHUUtHZ0NGZ0NCZ0Noa0QxSVpDWWdLRC9XRzIxMWVTTk45Nm9yK3hFcWsrWExsMWkKNTd4RFZr
NDU1UlFuUE04VkhZZ0RWMXJpN3pqWHluVU1xV2VGVmdkRCs5S2hRd2MzL0dPUFBTWUk2SmRlZXVu
Nnl5RUVKdkpFQ2x3YwpaNUFLUnBRbjd0dTNyOUNuZ3BWdHlPSEFnUVBkTmlKVmxPcXR0R2tCTTYx
Z3RyQVBpRXFNbkFCZHM5WTBXaFBkcExEU2M0WTBEeDgrCjNGVzVDczZGQ05oTnFvc2k1WTZTeXp6
RFdySGJ0UndadnhVZmVVVHJSWVU3Zm91NzdiWmJaSlBDV3JrM202Y2hZQWdZQW9hQUlXQUkKVkI4
Q2lRa0lPZzlTZTRMRVlaMTExbkZkcE9QZUhqMEgwSUFnMWcyT3cvbEpTdkJ5ZkxXSXZ3dXREb2Jt
eFZmeFFpak5xbnBVQjNmRQo5a1F6NGhqT01DVGswa3N2YmJDeVRhOFN0RFpiYjcxMW5LRktlZ3pG
eXlJS21LbnpMbHJCcktTWExuandaWmRkMWowZkNQU21tMjdxCm5na2xwTkV3OFh4b2l1a0xMUEMv
VWdzMmRPaFE0UlUydXJqSExSOGRQdGUrR3dLR2dDRmdDQmdDaG9BaGtBMkJ4QVNFQ01qa3laT0YK
MUNkeTRUZmJiRE5aWnBsbG5MN2d5aXV2ekhhZGpPMlUzeVZWaFQ0Z1FhT2ZCeEVOVnZ4SjBZcGo5
QkRKSnY3MmpuMmNjWW81cHBqcQpZRUZkQjlXSHN2V09vTFFyM2RhM29YVjRIaU5hUW9TRFVzbmVJ
Q1NVU3I3aWlpdUVidXZWWU1xcHRJS1pxUGk1Ympab1FaU1R1alNzCkprM1NueUhQQ1VOUGM1ZVcy
dUk3R0hrQjlrNDc3ZVRTMXZKZG1kODg1SU8wTnFJSFZHMDcrdWlqblI3Si8yNnBxc1gvU0MzWURq
dnMKSUwxNjlhci9ueU5pUnJFSjByQjhWQ1ROKzBqck9hUTVKeHZMRURBRURBRkR3QkF3Qk1xSFFD
SUNnb1A4N3J2dk9vZkxyL2FpLzNqcQpxYWVjb1B5enp6N0xxV1VJM2xhWWZMQ1BWWG1jTnUvRUJZ
L1A5cmxROFhlMjhRclpUbm5STDcvOHNrSGpOdEtsY0V3cHd4dW5PaGlrCmdXcGlwUGpRVXdVaWdm
WUQ0dkQ4ODg4M0lHelo1Z3FKdWU2NjY5enJ6RFBQZElkUitwaGMvelBPT0tPK3hHeTI4OHUxSFFL
aXZtOEQKdS85K0VXMHNuNnA1cDVkQjZWcFBlaEhsaXIxUi9JQ21tSEYvZXh3SEVlR0ZNSDMwNk5F
QzFrUzBJREtNeC84TDVMemFEUUxDd2tMWQp3Q2p0U0ZuYXp5RThaL3R1Q0JnQ2hvQWhZQWdZQXRX
UFFLSXl2TndPUFRkd2tGa1pwUnd2Sy9NNHkrU01rNXFGRXhmSEJnOGU3TTRqCmZTdG9wSzBrV1Rs
KzlORkhZem4zd1d1VTRqT0VqSWhRTUdVRkFTLzNTVW9PT284NGhzNkQxV2hXMXlFa09NbXNTSU03
MWI2U0dCM2gKSVVZYmI3eXhQUGZjYys2WnhaMUhrdXZFUHpZenFxVk4yVVV6d3ZUK0ZvNmdnUm90
V3l4YXVVdFVTN0Z3ZXpHZnhvOGZKNlJPOFl5SQpURUFlY0s2SjJDSHdKd0pDZjV1ZVBYczZrc2R2
bXg0MXBNU0YrNEM4OXRwck9hZUNEb2pLWXhCSkduUUcrNE1FVDB4YXdqWjRidkxQCnVjdndRcUk2
ZCs2Y0VYMmpWd3IzT243OGVKY1dHSFhOcFBlUTVuT0ltbzl0TXdRTUFVUEFFREFFRElIYVFPRDM1
SmY0a3lYbGlaWDAKcTYrKzJqbHhONm53bHE3YlZGYnlRdW80bzZHWlFQOUJta2RmRmNCU09ZalYv
aHR1dUNITzZmWEh4SWtzMUI5Y3dnKytPbGp3RWtTSApTQ2xEZHhIWEtOMzd6RFBQdUlnU2VnTFNo
U0FSU2NrSGVLNnl5aXFPZkhEdGJ0MjZPUkpFMmQ5cU1US1VxSFFGMGZBdnNzYTBhSmNqCklHbk5r
NklINGRMUnBMS2hjY0FnSmx0c3NVVjk5Q080U3A5MERveEpLdUZWcXJBdnBLcGIwdXVsY1R3Nktv
VHo2SS84aTVROWZqTVEKNHJTc25NOGhyVG5iT0lhQUlXQUlHQUtHZ0NHUVBnS0pVckJZRmFXUEJP
a2xyUEI2SXcySzdVa2NiYUlsTTJmT2RHVjlpYWl3NGsvWgpUOUtIS0IrYnJ5K0d2M2ExdktkUkhj
emZDNUVUU3VZU1ZjSkk4WW5UWWQ2Znp6c3IrcENXb0thRVZESEdKRW9WSmQ0UG5sK096OHJOClpK
Tk5NcTlFSThJQkEwVFdXaXR6ZTdIZm9sS3I2Q0Z6ekRISGFEZjJBMTEweUIvajMrTmNNNnJoSllR
UkVsTXJCSVFGaEhBa2ttSVEKbEJ1R3hLWnBVZGltOFJ6U25LT05aUWdZQW9hQUlXQUlHQUtsUlNB
UkFTRVZhTTg5OTNUTjlhSWNpYVJUUmVoNndna255Ti8vL25laApvem1rQTBlYjFkZHFjSkNUM2cr
cnhlZzE2TzNCcXZyQldrczIyQms5em5pdnZQS0s2L2VCbm9aendRRnRBWkdRSkkwZTBaK3NwVjU4
CjhQcVFSdEs3aURSbFN3MktNOGUwanRGYmEyQ2EvYVJwWjZLNm1ZYmtwTUhCQld5QUdQamZMdEVL
bXZEeHpqWlc2Tm52WDNHR1IxT0QKL3VQc3M4OTIwVHpPZ1REU1dKTklpSSt5eEJtclVzZEU2YkZJ
US92MjIyK0ZUdTloY3BMR1BOTitEbW5NeWNZd0JBd0JROEFRTUFRTQpnZklna0lpQTRLQWRmL3p4
TGplY3hubStsd1FydnNXSWJWbWxaMVdlL0huRTAyaEthczJJTmhUYitBK25qUFEyMHRrUU1xUFhR
TE5BClpPaTQ0NDZUSGoxNnVGU1pPTml3cWszcDNxRHgvRWloUTl4ZURhWlQwUXBtb2lScDRXeW1U
eGZ0cFJGZG5uZmhVWVYvOHVTREVjQjcKd3cwM2RPOCtQY2lURDk3WmxzL1FqYUNEMm1PUFBkd3oy
bSsvL1Z5ZkhJaDZyUmkvTGRJRmcwUUVFbzFPaGtoYUtTenQ1MUNLT2RxWQpob0FoWUFnWUFvYUFJ
VkFhQkJKcFFJaFFrR28xWWNJRXQyTDg2YWVmdXBYMFRwMDZ5U0dISEZMMERPa3lqVENZVks4NGhv
T0lVSlpYCnNLSVJoS2ljUnNUR04vNGpkUW9TQlZrZ3FrT0oxdURjY3MyTENtUG9ZVWg5SWFVTDhv
RVJUU0ZLUkhRa3JvWEpCK2NSVlNGbEtKZysKRjNlOFVoeW5tWHVhZWllSzBjSVhJdlJiYmhIVkI2
VjNSZEtKZ3NUQ2o4enZMQnZ4OE52OXNkbmVxWHBGMU91SUk0NXdVUS9JSXhHbQpZT1FwMjduVnNw
MVV5RmRmZlZVbVRacFUvd0tiQ3k2NElLT29Rckh6TGVWektIWnVkcjRoWUFnWUFvYUFJV0FJbEEr
QlJCRVFHZ2llCmZQTEpibFVVaHc0aEx5dVpWRnVhcmt2WDlKZGdSVG1PM1gzMzNZNjhyTDMyMnZX
SDQ4VFJhWnBVcnpnR0lXTGxHZWQ4Ly8zM0Z3Z1IKNTFOeWxnaEN1UVRYYVRYKzQzNm9SaFJsVkJ5
TG13cUQ4enh0MmpRM0RHbHVQbEpGcE9uQkJ4OTBndXVvYTVSNzI2aFJvaFhNU245VgpmcXRCODlH
TkgzNzRvVDc2UWRVcjhPR2Q5Q013eEdIT1ovNDhmcnVRVGxLeWV2ZnU3UWprQU1Rc05XQ1FmaXBo
bGRwSytSeEtQWGNiCjN4QXdCQXdCUThBUU1BVFNReUFSQWZFTnlyZzgxYW9lZi94eDF3RWFVVHJP
UDg1WUhLTUpJY0pmSER5Y1k0Z00xYXg0alJneHdwV3UKRFlxbnM0MlpKaUhLZG8wNDI5TnEvRWNW
TVJ4WWNLRUNFYXZvbE0rbDFEQlZyU0FoY1N3Zk1TTnRxQm9NOHFGNmUyM21KNXArSjdMaQppcUxP
ZTEwendqVG5CNTQrb2tHMGl0ZVBQLzRvbEh3R0swZzA3L3grZWNkUjVoeGUrWXkwUVcrcnI3NjZL
NnJBLzhZMTExeWpZdnJhCklDQ1FEL0NnakRUUkcwb1c4NzlJbW1XYVZzcm5rT1k4YlN4RHdCQXdC
QXdCUThBUUtDMENpUWdJSlRySGpoM3J1ajlUWGhZQkw0NEsKSldnSERoem9ISmc0MDExNjZhVmRS
MjQ2bUpQNk1XN2N1UHIwRllnSEF1cHp6amtuNzFCcEVhSzhGOHB6QUhOT3EvRWZPTzYyMjI3eQp6
anZ2dUpWNG5EYXFLZDF4eHgyeCs2TlVDekhMQTV1bWxJa0s3a2tOcTlPQklFcW5iNkxxN1ZWd24r
L3MrUHNoRnFTM0VSbWpPU0RwClJaQU9CUDZrdWZFNzR0MS9KZ0lDN2h4TG1laGNoc2o4RnMwWlE5
eFBLVnQrQytnbWlNVHhPNjhGZStPTk41eCtpVlJCZENDOGlJb2cKcE8raFVaMjBySlRQSWEwNTJq
aUdnQ0ZnQ0JnQ2hvQWhVSG9FRWpjaXhIbTduU1ZyTlFTM09HODRGbkVpRnVIYkllYzhXTHFYS0Fx
awpCZ0lDT1RuZ2dBUENwelQ0emlvejFYb2dSRFRyb3o5SmtCQ3hLbDB1UzZ2eEh5djBwRXF4dXI2
aWhnWG9WTTJxZEZ5amdSNE41Q0F5ClJKUW9jL3JJSTQ4NHNvak9odWUxeXk2N3hCMHV0ZU1hRFdx
VTJsamxHbWpCd016MExidUhjaUdmZVozd2M4amNhOThNQVVQQUVEQUUKREFGRG9KWVFTRXhBdUxr
cFU2WTBLRGRMeWRja1Jtb1JwSVZtaEt3NGUwUFFTM3BXWEV1VEVNVzlacW1PeTZiZEtLVEtXRFVS
TTQrWApPZThlaWZLK2g1MzNQOEp6S0MrQ2RqVkR3QkF3QkF3QlE4QVFTQk9CeEFRa1hHNldWS0Uy
YmRxNEZYVXFBTVV4VWozUVRiQVMzMExiCllaUG1RU3JYdHRvQ085dzNZZTdjdVRsN2dsQnBDdEZ2
TGlOQzh2enp6N3VvU3E3anFtSGZhcXV0VmkrcS8xbmJnaGNxcXE5R1l2WkgKY0h6dEhpcnpYeElt
VVpXWmhWM1ZFREFFREFGRHdCQXdCTkpBSUJFQklUV0k5Q2dxVGwxNzdiVXUvV3JRb0VGTy8wSDUy
TUdEQjlkWApYTW8zdVNGRGhyaCtGM1JBSjEySTErVEprMTNLRVVTRVYvZnUzVjBxRW1sWjJZd29D
dDJhYzVVOVJmU084UHI2NjYvUE5reFZiRWU3CmNlZWRkMlpVR1NNdGpWUTFxb3hCS3VKV0dhdUtH
d3BOd3B6M0VDQmwraHAyM3Y4SXo2Rk0wTmxsREFGRHdCQXdCQXdCUTZBRUNDUVMKb2FkVmJwYjdn
RlNnUzBDTGdNWUJReVJNWlMzSUNNUUdEUVQ3Y2hFUU9ucWpGeUdTNHUyOTk5NXo2VjBkTzNiMG0y
SVRvL29US3ZDaApXa1QxRmJoMXU2UWhZQWdZQW9hQUlXQUlHQUtHd1A4SUFva2lJS1JNVVJWbzZ0
U3BzdHh5eXptSVRqLzlkTmVzN054enozVjlRQ2pKCm01WkJlRjUrK1dYWmZmZmRzdzVKMUdTOTlk
WnJzSiswTEtJSlFYMUpnNE5TM2pCTGE4b2kwUGZpY2Vhdzhzb3JKN3BLTldvM0V0MkEKSFd3SUdB
S0dnQ0ZnQ0JnQ2hvQWhZQWprUUNBUkFXR2MrKzY3enhHUU02bVhxa1owQWwwSS9Tc2dJZVUydW9N
alpBL2J2dnZ1SzBjZgpmYlQ4NVM5L0NlOHF5WGZtc2JQV2xLWGJPT2xnbEhnbFplMDJyU203YTRL
YXN0V28zU2dKWURhb0lXQUlHQUtHZ0NGZ0NCZ0Noc0QvCkpBS0pDUWdvcFZWdU5nM0VPM1hxNU5L
MHZBYUVKbkwwZklBbzBaazlidmZ3WXViQ05lbm9UcVNHRHV3YmJiU1I2eW54d1FjZnlISEgKSGVm
NlJOQWpJbzY5OE1JTHN2SEdHemM0bEY0TndaU3lCZ2VFTnRCa2o4WnlrTE5WVjEzVjdVWFVUbzhI
TTBQQUVEQUVEQUZEd0JBdwpCQXdCUTZCU0NCUkVRQ28xMmFqcm9wdWdnN2duSUJ5ejBrb3J5VDc3
N0pPb25HL1UySEczVVFucy92dnZseE5QUExIQktSTW1USERkCnRiZllZb3NHKzZJMjBKV2ExSzNn
L1JBVm9TOElIZEV4cmtYSDZtT09PU1pxQ0xjTjRrRjZHdG9ZaUFqalVxM3M0SU1QZGszbXNwNW8K
T3d3QlE4QVFNQVFNQVVQQUVEQUVESUVTSXBCSWhKN21QSjU0NGdsWGxZcFVwZTIzMzE3MjNudnZn
b2FuQVdHU0ZLZUNMcExucE1hTgpHMHZuenAwamozcnp6VGNUUldHb0NrYWZsU0FCOFFPanZTSFN3
dnUwYWRPeUVoQTZlQk1GQXVQMjdkdkxhYWVkNWxMUm5ucnFLWUVRCmtTYTJ3Z29yK0dIdDNSQXdC
QXdCUThBUU1BUU1BVVBBRUNnYkFoV0pnUHp3d3cvT01TWlZDV0U3YVVlVWw3M3BwcHRjZjVDa2Q1
K0cKK0R2cE5jUEg5K25UeDNWdTc5YXRteU1QTkZva1lqRnk1RWlCaEFTcmRJWFBEWDYvL1BMTFhS
K1FSbzJLNnhwT1Yvamh3NGM3RVQ3WApuekZqaGlONm4zenlpVXljT0ZIUXlKZ1pBb2FBSVdBSUdB
S0dnQ0ZnQ0JnQzVVYWdJZ1NFeG9CME94ODllclM3WHdnRWZVWG9nbzdUCnZ1eXl5OGJHSVMzeGQr
d0xaamtRSjMrMzNYWVQwckdvdlBYcnI3L0tVa3N0SlhmY2NZZHJzcGpsdEFhYkVhNDNhOWFzd1ha
d29mSlkKWEUzTFF3ODk1UEQwSW54SUI5b1N0bDl3d1FYU3RXdlhCdGV3RFlhQUlXQUlHQUtHZ0NG
Z0NCZ0Noa0NwRVVoTVFPZ292c2ttbXpTWQpGOXVYV1dhWmVzRnpnd05DR3k2NTVCSkhRbnc1WDNh
VFdqUml4QWdoQ2hESDBoUi94N2xldm1NZ0QyZzFmQmxlZXBna0lWT01UN29VCkpJR21oRUdiUFh1
MjA1TFErZDJUaXVEKzRHYzBJNjFidHhaS0lwUGk1bzJTd0tTNjVkS08rR1B0M1JBd0JBd0JROEFR
TUFRTUFVUEEKRUNnRkFva0pDR0xxUXc0NVJNSlZuVWlqb2lNNXBXai8vT2MvUzc0VW9sZGZmVlZ3
cHVsUXZ1bW1tOWJmMjNYWFhlYzZwQ011ejJkcAppci96WFN2Zi9qU0kyVmRmZmVVSUMrV0RWMXh4
UllGZzhjS0k5QkJSQWR2Ky9mdExxMWF0Y2s3cG9JTU9jdFczOGoySG5JUFlUa1BBCkVEQUVEQUZE
d0JBd0JBd0JReUJsQkJLTDBCRXk4MEo0SFRRY1pWS1Bqai8rZUtFMExrMEFWMTk5OWVBaDlaOUp3
U0lkQ1AzSCtlZWYKTDl0dXU2M1RUNnkyMm1xdUczb2M4c0ZnYVlxLzZ5ZFg0SWVUVGpxcGFHTDJw
ei85eVpHdklVT0dOSmpGZi83ekgxbHJyYldjVnFiQgp6b2dOMjIyM1hjUldrWnR2dnRuTk0zS25i
VFFFREFGRHdCQXdCQXdCUThBUU1BUktqRURpQ0FpTzlxQkJneHFJcXUrOTkxN1g5UnN4Ck9TSnow
cWg4czhLb2U3am1tbXVjWnVMMTExOTNsWmtlZSt3eDE3Y0Q4a0w1MkxncjkybUp2NlBtbUdTYm4y
ODJZc2IyZk1TTTY0MFoKTThhbHVCSHRDQm9Sb3k1ZHVzVHU3RTc2MVFZYmJDQk5teTdrbUY5ODhZ
VWdRcWNLVmpBMUszZ2QrMndJR0FLR2dDRmdDQmdDaG9BaApZQWlVRW9HRjNtbk1xNUQrRTFYUmlh
Z0ZFUkRzeHg5L2RDUWkxNUIwVUNldGlCSzh2RENJQzZWajBUQkVDYkdqeGhzNGNHQlc4WGZVClBL
UEdTR01iUFVEU0lHYm5uSE5PS24xQVdyWnM2U0ltd1hLK1R6Lzl0UFRxMWN2MUVGbHp6VFhUdUcw
Ynd4QXdCQXdCUThBUU1BUU0KQVVQQUVFaUVRR0lDZ3M0anF1enRMcnZzVW45aG9pVHQycldyL3g3
MUFTSDBqanZ1S0RqQ25paWdLOWw2NjYxamt3L0dKUzNwdGRkZQpLMXI4SFRYSEpOdlNJbVpwOUFG
aDNrU2dhTVlZdE45KyswMzIybXV2Z2tvZEI4Y3A5SE9qUWNXVkZpNzB1c1djdDJCZ25RYkhqMkgz
CjRKRW83M3Y0T1pUMzZuWTFROEFRTUFRTUFVUEFFRWdUZ2NRcFdISEszbVlySlJ1Y09LbFRWSHY2
K2VlZnBYdjM3bzZNOU9qUncwVkEKMEpFVWE1OSsrcWxMTlNJbHJGcU0wc05MTDcyMFJHazgvQnpU
NmdQaXh3dStrMzVGSmF4SEhubEV0dGxtbStDdXNudzI1NzBzTURlNApTTmg1L3lNOGh3WTNhUnNN
QVVQQUVEQUVEQUZEb0dZUVNFUkEwaTU3Qy9tNDc3NzdaUERnd1U2cjhOSkxMOGxLSzYwazc3MzNY
bXdBCng0OGZMME9IRGhXMEpFSDcrT09QWmR5NGNYbEwxZ2JQS2ZYbk9NU01ZK2JPblN1MzMzNTdm
VG5mM3IxN08rS1FkSDUwVktlM0NsaTAKMTQ3b0VLQVBQL3pRaWY3akN2MlRYalBYOFg4RXg5ZnVJ
ZGNUTHQyK01Ja3EzWlZzWkVQQUVEQUVEQUZEd0JBb05RS0pDRWlweXQ3Uwp0SStHZlpBUEloZWtD
WGs5U1M0QWNOYmJ0bTBybTIyMm1STnVod1hnbEtMTmx3cVdhL3hLN0lzVFlZb3pyMkhEaHJseXZS
QVBxb3p4CjdOcTBhU09reWgxNjZLRnhoa2o5R0hQZVU0YzAxb0JoNS8yUDhCeGkzYmdkWkFnWUFv
YUFJV0FJR0FKVmlVQWlEVWlhWlc4blRKamcKSE9LMTExN2JrWTM5OTkvZnBXVFIveUlPK1FCTmlB
djlNTzYrKys1RXVwR3FmQkk2S1NKTWtDWUl3azQ3N1NRYmJiU1J1NjhQUHZoQQpqanZ1T0NGRkxk
eC9KZXBlSUdiSEhudXM5TzNiMTNXWUo5cUJRQjdCUHR0MjNYVlhvZVN2bVNGZ0NCZ0Nob0FoWUFn
WUFvYUFJVkJ1CkJCSVJrQTRkT3NnWlo1emhIUDl1M2JvSkZaYWVlKzQ1ZWZUUlIyWGt5Skh5NXB0
dnhwci9OOTk4NDV4ZytvQlFMbmFycmJaeW1nUWMKYmh4dEttSEZNYTVQZWhJTi9JaUVCSTIwbzg4
Ly96eDIzNHpndVlWOC91bW5uK1RoaHgrVzlkZGZ2NzRiUENsbXpaczNqejNjdSsrKwo2d2dDRmJX
Q1JoVGo3My8vdTZzYVJpUElmUGJSUng4SkpPVFNTeStWY0twVjE2NWRoZFFzeFA3bHRnVURNNi9J
ejJXMzNVU2pNNktrCkUwSXAybXhSTkJvbWtxV05TZVlBTWIvZGQ5KzlycklhRWFBNWMrYTR6NVJO
cGhReDFkYnpmSldwQUFBZ0FFbEVRVlRBaUhmL0dRSU0KdWVYWXNFM3RQVFZqMC8zMzN5Kzc3NzU3
eHJZdnYvelM0Yi9zc3NzMndOOGYyS1hMMnY1ajJkL0Q5ekI5K25TaCtlV01HVE5jYngySwpGVkJG
N1YvLytwZUxMbWFiWU5KN1NQTTVaSnVUYlRjRURBRkR3QkF3QkF5QjZrY2dFUUhoZHRJb2U0c2pl
UEhGRjd0VUsvcGJJSXFtCkx3aWxlVmRkZFZYbi9NV0pnbEN1bDlLOVZOUGl2S0NoQ2JueHhodURt
MHI2ZWZQTk4zZWxoNm5vQlJFaExXeVpaWmFSZ3c4K1dLNjgKOHNwWTEwNHJ3a1MzZENJY0VDQnZF
QkwwSUZkY2NZWHJ0K0szVi9KZEM1aHBCVFBSQ21haWVoZlI3dThpTyt3ZzJnMCszVm5SQ3dWTQpx
T0FHeG1CQnFXaElJOThoSGhCRlQwSThBWms5ZTNiZWlVRElSNDhlTFdlZmZYWTlDZjcrKysvZDd4
c2l1Y1lhYStRZG85SUg4TCtECkZndmlUN1J0dWVXV2M3OWZDaWFrYWFWOERtbk8wOFl5QkF3QlE4
QVFNQVFNZ2RJaWtKaUFwRlgyOXNnamo1UUptb2FGUG9FWGhJUU8KNlVSRTRwQVBZR0hsR20wREs4
M2hTQU5OK0NBQTVUQld5b2xlNE1BUnJUanR0Tk9jK0oyTzhkd2pqZjlXV0dHRnZGTkpLOEtFbzNm
ZApkZGU1bDI4R1NkU0o5QzRjWmpDdUJudnlTUkVDT252dW1Ua2JEU3BvVkNGeld6SGYrRDFCTklK
a0F3d2dDaEFSZmtmc0F6ZGVIRStFCkpNN3ZzR2ZQbmk1eXNNY2VlN2pvM1g3NzdTZXJyYmFhM2xQ
b3BvcTVnUktmTzJuU0pDRXl4djloMEdnT21tYWtySlRQSVRodisyd0kKR0FLR2dDRmdDQmdDMVkx
QUloRTZ0MEtxRlhxTnNOMTg4ODF5eUNHSGhEZG4vVTdVZ3dnRmp1QU91dXlOOEx3UWUvenh4MTBL
VnlIbgpwbmxPdjM3OVpQanc0YzVwSlJXTmRCWWFMRkw2ZHVMRWliTHZ2dnZHdWh6bjdxWjVTUkFy
SERaU2dlaUtqa2gvdTRSNVNlKy8vNzZRCkRyVHh4aHU3VkRuR0k4MnRjdFlvNDlLa1c2bmZxd1Jn
NFdZTlRzaUxMNHBXN2hMVnV5emNYc3luY2VNZWxlV1hYOTVGUVloeVFDN1EKMnhBOUl3b0NlZlV2
VDBiQW5RaEk2OWF0TXk1Tno1bWdJZlkvL1BERDNXLzU2cXV2bG5YWFhkZnBiWWdrUURxelJVQ1Nw
aThGcjVuOApjMll2ay9BOUVLM3IzTG16STE5K2JLS0xIRWVWdWNVWFg5eHZ6bmhQZWc5cFBvZU1p
ZGdYUThBUU1BUU1BVVBBRUtncEJCSkhRUDc2CjE3OEtUaGNyeGQ2KytPSUw1MmpqWkpOWG44OXcv
UGJlZTI4aGJXbm16Smx5MjIyM3VkVjZDQWtpOUNTV3pUa0tqb0d6K2NJTEw3aEsKV2NIdGFYNkdR
QkZoK010Zi91S0doWFJNbXpiTkNlc3Z1T0NDMkpkS0s4TEVCVWs1NG9XaDJhazIwMncxZGZCRm93
OExaNlpGMEhRbAp2bzZBZE95NGNIdXhuL2dOWUx5amNTRHlRVU5OQ0lmZjdvK0JvTVExZEV6OEx4
eHh4QkhTbzBjUEYyRkNsOFJ2ZThDQUFYR0hxZWh4Ci9NOHVxV3lQS0pBMy9xZjV6YUNqQ3FjMytt
TUtlZmNZcC8wY0NwbUxuV01JR0FLR2dDRmdDQmdDbFVGZ0lZdUllWDNFcVRqSkNNQzkKUGYzMDA5
S3JWeS9YWTRMTzV2a01wNDkwajN2dXVjY2QrdDEzM3ptZEJDVmlTZnRneFQrdTBZR2Nwb2Jla1l3
Nmo5Vm9WblEzMldTVApxTjFGYjJOc0NCWFJITER3aGhpYzdhUzN4TFVuTlM4Sm9YazRoU2RLN0J4
M3pHbzk3ci8vRlgwbW1iTkRpSTdmamo0a0xjUFo5WTR2Cno0cWlCVVEzdk9nOHVEL3BOZDlHdlBL
N3JiNzY2dktmLy94SGJyamhCcWRwcWhVQ1F2UExkZFpaeDkrR2V5Y0NkUDc1NTljVDJJeWQKQlg0
SjRwejJjeWh3U25hYUlXQUlHQUtHZ0NGZ0NGUUFnY1FFQkdkbG4zMzJ5WmdxSzhwRUFCRDZ4akZX
WExmY2Nrc1gvU0ExaGpRWAp0QW5rMDU5enpqbHkyV1dYeFJuR0hVUHpRZ2hHTGdMQ2dXbXU0b1lu
eDdVaERMZmNjb3RMN3dudlQvS2Rpa29RbHVEOUlKcCtVZk9TCnFPekZTdlVmeGFLQ1pab2xwZ1JC
TkdMVmtKd1VldDllLzBHMEFnemZlT01ORi8xQXU4T0x3Z0VVUnVEM1N3cFZuS2lhbndzcFZqeDMK
Q0RqUGhtZ0lVVUlxdTZVdDR2YlhUUHM5cko5aWZOTDEwR1JOblRxMUFUa3A5UHFsZkE2Rnpzbk9N
d1FNQVVQQUVEQUVESUh5STVDWQpnSVRKQjFOR1pNMEtQYXYvMjJ5elRkNjdZSFdWVkt0VFR6M1Zw
UzE1b2V1R0cyN29VcVZZSFEwNjRMa0dKTytlNmxtVk5sYTkwekNjCllRaFpNQjJHNW94RWpIQ2VP
NmFabDVUR2hJc1lBOW1QRmpEVGFOckNRYlFpckZaa0Vqbjk5SVhiaXYwRVFlWUY4YUE2R2tRRWto
RWsKYzFRTXc5a201UWlkRE1RNHloQ3VVK1VNc1RsMjFGRkhSUjNtSWk1RVdTQTIxVzZVdmlaMU1F
aEUrSzBSallSTXBXVnBQb2UwNW1UagpHQUtHZ0NGZ0NCZ0Noa0Q1RVVoTVFLS21pTmoyUWEybEdx
ZEhCZWVUY3ZXM3YvM05yUmJmZE5OTlRpVE5Dako2QmZRaFFmTEI2aitwCk10bnNzTU1PYy8xSDdy
enpUdm42NjYrRkZEQlNzcEtrY1dVYk84bjI0SnlUbkJjKzlyK2FseFJPRllPd2tjNUQ2bHV4aGln
ZHdoaE8KdVNsMjNFTE8xd3cxZWZiWnVoNGcvbnl0QUtzUkJkRitLbjVMOGU5b09xZ0M5dUdISHpy
aUFjbURnQkN0NExtUkdzVHZqTmZjdVhOZAp2eFhJY0ZRa1pNeVlNUzQxaVdhT1VmdjVEVktvNGRa
YmIzV3Y0bWRmK2hIUVlWRU9PMGg2aWQ2Z1hVcVQ4S2I1SEVxUGlsM0JFREFFCkRBRkR3QkF3QkVx
RlFDb0VCTWVGOUttNGhuTkRrelBTbHFnV05YYnNXTmNMaExLMXBIN3dUbVVzUkwzUFBQTk16bFZZ
dXFCVGZZdFYKYlFnTVJJUjBMb1R0akZGckZpWGlCeE4wQzhVSTZWbmhCeHZLOHFZVnJTa1cyMUdq
MG0wNG1HMCsvRDRoWFJBR2REb1FFRTgrZUFkZgpyMDhBSndUcXBQVkZPZCtrVmxIdExFeUswZnRB
cHVtblFXU0ZWSzVhTWZyVVVBbXIxSmJtY3lqMVhHMThROEFRTUFRTUFVUEFFQ2dkCkFxa1FrRUtt
ZCtpaGh6cGRBK2t1YTYrOXR0QzBqZFZucWtmUldaMktXSFQvcG9Sc3RqUVFJZ1AwRXpubW1HTmNK
K2YyMm9NRG81VHQKb0VHRFhCZDBHdkxWa3FHbG9iRmlVT1JQcDJvYzI5TUx5RXRpMVorcVpTTkdq
SEM2aDJweWpMUEpXU1pNRUNXZjZUMDF5Q2w0K2xLNwpYbnhPOUlNWGpqRWtoQlFoam9PZ2tHckZL
NXhDUmM4WmRFcW5uSEtLYkxycHBzSnZqaExKbEpYbU16MWdpSTV3VFVyODFvSkZSWEtZCk43cWpO
TXMycC9rY2FnRlhtNk1oWUFnWUFvYUFJV0FJUkNPUXVBOUk5RENsMlVvNkM2disyYUlyUkFWSSs2
TGNiZGplZXVzdDRVVlAKalZJYmpxdWZBOW9CVDNwSWQwcmFESkVJU0pjdVhaeEQ3T2ROWjJvMEIx
SDlWL3d4NFhkSUhDdmJwTVpSblFrU1I2UUlmUW5SZ0hidAoyb1ZQS2NQM3pQSzJWRnhHTXFSQmlI
ckRaMGVBcm0xUUZJUDZ6VVY5ZU9paDBhNDRBQVFFd2hFa0lzRklDRkVRMG9UUUlKR09oWVdyCnV2
a2VHaHo3ck9hUFVjbU5CcFNrRk5JUEpHNEozeTVkMWk3cW5wS2RuTHNQQ0JvczB2N0F3aHZpZk82
Vkx1K1FzeWhMZWc5cFBvZW8KK2RnMlE4QVFNQVFNQVVQQUVLZ05CQlo2SERIbmkrZ1dRWFFQWGFJ
T04ybUxPVVRzdzBqVnlrWStHQVJIbitoSmxKSFQ3aXRmRVNuaApPOTNSUzJHc29OTUptNGdOSkFI
Uk9LazY2QTUyMm1rbm9VbGpYQnVsZVVsSkd3Nkd4eWFOQ09JMlpjb1VPZmJZWStXaWl5N0tjQzRy
ClF6N0NzeFJ0c2xoWDhTcm8zMnJmUmxlQ1Z3TTMrdndhbmxQSUZzZ0N6OGlUalhBRUJGTENQazhl
K013TElwTE5PSmEwSlY1RVNuRFUKU1cvak44Y3pKOVVMSno0cEFjMTJ2Vkp1aDBDanl3SWpiL1FC
SWFXUjMvSktLNjNrTnhmMVhvcm5VTlNFN0dSRHdCQXdCQXdCUThBUQpxQWdDaVFrSWpncXI2VGpY
Q0hXcGVnVWh3UkVMNmhjNHJ0UUV4WmRSeGVFTGRwd21CWXZ5dkFjY2NJRDgrOS8vZHBXTmNLWktS
VUM0CjE1TlBQdG5oZ3BNRkpqaW9kQ0luZllxNWdGVWNLNVo4Y0ExVytFblhvc29ZK2hxSUVZNHdF
UkFpTk9odXdpdjdjZWFXOWpHMzM5NHcKMVVxNWs1eDlkbnJrZ3puekxDQVVQdFhLdjN1aTRRa0ky
em1XVkNIZWVjV3hWcTFhMVVlbjZBdkNiNDZLY0JkZWVHRk5FQkQwV09GVQpLeUpBVkpoTGkzeVU0
em5FZVZaMmpDRmdDQmdDaG9BaFlBaFVIb0hFQkFUbmloVlRHdWJoWUNFU1I1U0xjSmRTbmpqZmRJ
Rm1CZjZFCkUwNG82UjJTcjArYUZpdit6QW1EQVBCYVg4c29VWEtWejBSQXN1VzVwekZCSEZoZnRo
V0I5K09QUCs0MEFheUNzNEtNUTFzSnc2RW0KZ3NUckV3MHRNRGZFK2FSbVZRTUJhZCsrSVNyS25a
UzRpYWEwaVhUcTFIQi9JVnRJSVlKTWdFZVFmTERka3c5UFVQejRjY21IUDk2LwpRNFRSTXhFSlk4
eGFzTFp0MnphWUpsRWlTdkcrOTk1NzBxRkRod2I3QzlsUXp1ZFF5UHpzSEVQQUVEQUVEQUZEd0JB
b0R3SUZlVWc0CmNUMDBCWXZYN2JxTXpTb3BEdjc0OGVObDNMaHhjdDU1NTdrVjFWd0VoQlhXaHg1
NlNDWlBudXlPUlhpZExkYzhGeFNVcDkxMzMzMEwKT2pmWHVFbjJjZTlFR3NDQ01ycjBKU0dTUVZm
c2dRTUh1cjRSU2NZcnhiSDBYU0ZGQ05FKzJwbHFNTnEzSEhpZ2lBWVFuS0gvVU5tTwozSFdYYUJH
QmRHZklieFpTd1cvTWt4QStCMTlzeHpnTzR1cS81NW9KUkp0Q0NXSGpOMEdFcmhiczNIUFBsVjEy
MmFXK0x3cnova0NyCmdDR3NUN3ViZTZtZVF5M2diSE0wQkF3QlE4QVFNQVFNZ1RvRUVvdlFxY2Ew
OHNvcnkzcnJyVmZ2b0NGMEpocmhteENTTzAvMGdXT3kKR2VKd1JPSkVUb2dTSUlLbGR3S0M2Vm8w
N2hrQ2dpRVlaMldkeUVlbFZzR3pPY1kwNDRzcUwxc2V6RE5UbXNod1VnN2dYdjc2NkVLMAprSlJX
bXZKYmluOGZPM1pNdmZDY0NsZWtDdnFxV0Y0UHduT0NqQkJKZzN6dzdJaXNoYnVaZXhHNm54VWtu
RWhndDI3ZC9DWlgvZXFzCnM4NXlLWG5CMU1ENkEvUkRVZ0YzOE56a24zT0wwTkZSUVF5Q2hBc2Nq
amppaUt5TkZwbEQwbnRJOHpra3g4RE9NQVFNQVVQQUVEQUUKRElGcVFTQlJCT1RiYjcrVnZuMzdP
c2NNUnc2aE5hUmp5eTIzbFA3OSs5Y1RFSnp2WE9TRGNlalI4Y0FERHpnYzBDUU1IVHJVaVhkSgo2
YW9GNFc3NEFYTFBrQ2g2YlZBV0dDS0ZCb1VLVmtsdDFxeFpqc3lnSnlCeTBidDNiMGY2a295RCtK
enpjTFM5UVpJZ2kxVEl3dWhlClQ1bGU1bHNKTy92c09yS2gwTlViNG5PRnNDUkdaQ1BxRlhTKytl
elQrVGcybjExNzdiVXVIWkhmTGY4REw3LzhzbXBZem5hVnhyS1YKajg0M1pybjNFN0dEYlBBYjlz
YWlBRkc5VWxqVU0yQmJNYytoRlBPME1RMEJROEFRTUFRTUFVT2dOQWdrSWlCMEYyZTFsMTRWT0Zw
MApoYjdpaWl1YzQwVWFGbG9MVnBIekdlUWw2SmdUVVJrOGVMRHN2ZmZlcnN2MDVaZGZubStJcXR0
UFpJaklCNnZtQ0hyZjBUcXlZSVZtClp2dnR0NDg5MzFkZWVVVjIzbmxuNThCQ0hsaXRKM1VLN1Fi
OUplSWFKV0twZ2hVa0lQN2NxVk9udXVwaHZGTSt1RklFUkRtU09yMSsKVm5YdmYvNnppUEl1cmNv
a1dzUWdjMTh4Mzd6VDY1M2M0THZmNTkrSmdIaUhPTjgxMGRMd29tY0d6NDMwTm9nblRUYWpzTTgz
WGlYMgpIM1RRUVJua2d6bWdDeUVOQ3pMY3NtWEwxS2JsTVE3aTd6LzdmZjQ5eVhOSWJZSTJrQ0Zn
Q0JnQ2hvQWhZQWlVSElHNnBQY0VsNkhmCkFXazhPTldYWG5xcGMyQm56cHpwSE80NDVJTkxVYVVK
QWhOT1p5R0NnSGpjcjBBbm1GWkZEOFZSWXJVYjhUM1JITktmME1LOCsrNjcKVHZoTm1kWTR4amc0
Z3pScHBDRWoxYldvTmdaT0NNaC8rT0dIT01PNFl5Njc3REozUEwxSXdpOWZ1cGlPOFNOSGpvdzla
dG9IWG5XVgphTDhOMGVkZDl5TDlTaUhUcG9zaXlvMXF3cWh5ZHUrOTk3cHl4MVI5bzB3MURqV3BY
WlZLdjBzS0hLbURSTWY0ditQRlFnSy80OGNlCmU4ejlYeWNkejQ0M0JBd0JROEFRTUFRTUFVTWdG
d0tKQ1FpTjE4TGxkWWxteENVZmZqS1VyYVZTRU85b1FieVJFcFEyQWFHbkFVNWkKcVl6eGNmTERa
VXRaT1Q3NjZLTWRJWWx6YlFnTEtXN25uMysrSXpNNHNWajc5dTFkS1YyaUkzRU0vRWlMUTRjVEZK
d3p4Mm95R3JzcgpGM1VhRUFKbkZJMUNBa1NEd2hLMWJFbjk5b2wwMEJuOVFGWFQ0OGlUeXJUUFB2
dkljY2NkNS9xRHBIN0JFZ3hJK2lNbHF0ZGRkMTMzCkluMlNhQTVkM3l1bkZ5ckJqZHFRaG9BaFlB
Z1lBb2FBSVZBVkNDUkt3YUxrTFk0V0s2UTBBVVQvUWJVblhoZGZmTEZMbzRxNzZndUoKSWNjY2gy
MnR0ZFp5RlhoSU42SlhSZHd4UUpCOCsrdXZ2ejRubUVRU3FKVFZxMWV2bk1jVnVoTUM5bWZOSFFv
VEo5Slh1TWU0cVZPcwpuSGZ1M0RseUd2UTJXV2VkZFNMM2hUY3lEdWxzYVRSR0RJK2Q1bmYxMDZW
ZlA5R0lRZDJvcEdOcE5wNWltU2xNVC9PYWFZOUYrZVVoClE0WmtsRFVtcFpEbWo2UVMxWUtoeCtK
L3c4OFhMUWozUlJwVzBvV0ZXcmhmbTZNaFlBZ1lBb2FBSVdBSVZCYUJSQVNFaWtCb1BpaVoKUzJk
eDBvd2dIcVFNUVJwWThXYzFPSzZ0c01JS1RoUk5vNzVKa3lZNVhjS21tMjRhOTNSM0hHVnZUOU95
U1VGSDZhbW5ubklrS1ZpWgpxRTJiTm9uR1RYb3dKWGR2dlBGR2g0Yy9sNzRva0pKQk1XdkswbStC
dENnSUhuTkhRL0RjYzg4NTBUaXBVcENRT0pabVk4UTQxeXYwCkdNMDIwMklFdWMvV3JEU05JSWtL
L0hNZlY2bTlOUEdMNnFteTJtcXJWV3BLaWE4TFFTWjlNSmVSSG9obUtDNEp6aldXN1RNRURBRkQK
d0JBd0JBeUIvMjBFRWhFUW9DSmlBVm1nYndBdmpJbzVWTktoOHplT09DTGNKRWFYY044cEhPRjBY
Q2NIN1FuWG92cFEwTkNwYkwzMQoxaTRmUDBoTWdzZWsvUmtIRHFjeldPWjJ4SWdSV3FxMFMvM0tj
cHhyMGplRUVzV0kySms3WkFUeC94MTMzQ0dJOStPWVg4SG0yR3BxCmpCaWV1d2F2WE4rUHNCQTll
Snpxb0ZXZlVMMEV4T3RwZ25QbTgyZWZmZVpLVE5kQ1dXbFNCL25melJWNTlBMDE0LzV2aHZHdzc0
YUEKSVdBSUdBS0dnQ0ZnQ0hnRUVoT1F1KysrdThHS0w2a2E1TUtUUGxXSVVUbnFvNDgrRWpRT2wx
eHlpVnYxanpNT2FXQ3N6RVlaZ20yNgp0Vk1xdUJ4R2hBSk5TN0M2RjlXd2JyNzU1a1M0a0k2RzZK
eHl1YjRNTHlreTVPUEh0VnBvak1pOWFPQkxLeTAxcklRVnZzOVZWdzF2CnFkN3ZFRkRJSXMvdkts
VDJOV0JVUXZ2a2swOXlFaEJ1bzEyN2RqVndOelpGUThBUU1BUU1BVVBBRUtoMkJCSVJrRndhRU1n
RDBZaGMKcTZnZURMcWdJM0psMVpWMEljWmx0WjhVSkFTd0VCSXFaZVV6cmtVVWhLZ0xUanFSQXRK
RWNQcEo2eUxGcTF4R0ZheGh3NFpsM0QvaQpkQnc3OUNmb1crTFk4ODgvNy9xSlFPaUN4bmI2bzZ3
YTB4dW5sREdpNko0OWU3cnl3SXpGUEpKR3A0SnpTUHV6THJ4cjVDenRVY3MvCkhwM0RLVWxORHhq
SUk1WGNpR0xWaXBIMngyL0R6QkF3QkF3QlE4QVFNQVFNZ1hJZ2tKZUFRQkI4MWF1ME5DQlVkNkxT
RTBKZEd1YXgKdWsrbHB6aWtJd3pLdWVlZUszMzY5SEhsYTlGTS9QVFRUNDdNTUQ3UmhISVoraGV1
Rit6OThQVFRUenR4TDVXOW9uUUNVWE03NmFTVApYTVJreVNXWHpOaE5hZDlWVmxuRkVUY0U3MTR3
bkhGUTRBdUVrSksrUVlPd0JWUEVndnNxOFRsT240L1pzMFVlZjF3MDNhOFNNOHg5ClRZZzA1WTVw
Nk1odkdpRTNtaWg2NG1BLy92aGo3Z0dxWkcrY1BoLzhYOUhyaE9wcVpvYUFJV0FJR0FLR2dDRmdD
QlNEUUNOTllZck8KWWZwOTFOR2pSN3RtWkRRZjlKMlMwWUIwN2RxMS9ycGVBNElqZzBBOTdpbzd2
UWFJVmtCQ3dnNTMvZUF4UHhBaG9MY0lKS1o3OSs2dQpFM25NVTFNNWpOVnZ5cThHRFFFNnVKR2VG
VGNDNG9rRmxheUN4bU1pU3NUMlRwMDZ1ZFgyWFBxQ3pUYmJyQW83b1dkV2hZSmpVVzZYCkVyelpU
QU5JcXVjUnVlYWFiRWZrM3o1MjdCaUhQOCtBOURUZUlZcjhWaUFPL0s0aFoyRFBDOTBOZlRGNGVm
THRyeEx1WFVNVWorSUQKU3l5eGhCeDg4TUd1ZWhUSEV2bWloMHMyalVpWExtdjdJY3Z3bnZrdkhy
NkhqVGZlMlAybXdyKzU0TVNJNXRHbmg2YVkzcExlUTVyUAp3Yy9CM2cwQlE4QVFNQVFNQVVPZzlo
RElHd0hobHRBMmtHS0VZMC9wWFFUZU9OZmVZVUVEc3Z2dXUydEoxWDZKRUtCYzZTbW5uQ0szCjNI
S0xXelZlVVJ0QURCOCtYRWdmOG81NG5BRVJydE9mNU9PUFAzYVJGSnp2Y2x1WWZIQjloTWlzamhN
SkFiYzRkdUtKSjdxcVdXSEIKT1gxTXdBdXhQdm9XTUFvNmcrR3gvNSs5TTRHM3FleisrQ0laRWtM
enFIODBpQWJOS21sUTBxQlNHbFNrVVdoK0tjMUYwNnRlYWFTQgpFTktrUkVraVNXbEFnK1pCUXBQ
ZUJwS0srai9mNTc3N3R1KzVaOWo3M25QdVBmZmUzL3A4emozbjdQSFozMzN1NS9Pc3ZkWnZyWXJR
CkNkMVZMM1o5Sjh6ZDY0SUdoQ3RYbWhQdEY3MlNsbTZlVGwrUWZEV2lVbFIrSXhXUXJ2ZEVDbkJx
Smt5WTRCdDE1dXU0dytNaXNrbUUKanY4NUhncVFBcG5vM0c2OTlkYXhkRWpoNCt1ekNJaUFDSWlB
Q0lpQUNJUUpaSFJBY0RJby8wb2FFUk5wU3NwZWR0bGx2dVF1QW04bQoxbTNidGkzUzhDNThna3lm
bWF5ZGNjWVp2bGtmbmRYNUhzZjVRSGRCRmF3bUxvWHJvSU1PTWliZU5EYWtRaGZsZ2N2UzZQdUI3
aUlRCmo1T1NneGk1VFpzMmtZZkJ0U1E2SCt6TVUvcWdvaGVwUGZQbXpVdDdURktENkFPU2ppVzUv
K1ZwSTBlYVVYWFpWVkoya1RCemsyQ3oKaXk0cTZBTlNudU9LZTI0aUpkd1B4TnlrS1JIMWlIUFA0
NTR2Mjl2ZmVPT05YbnRGV1cwY1p2NlhpT2J3WUVFbUFpSWdBaUlnQWlJZwpBdGtta0RFRmE5V3FW
WVhDYWpwMWsxcEN5Z2E5TnA1OTlsa3ZBS2ZETnVsWFAvLzhjK1R4a2VieS9QUFArK3BYUkZaSzBu
R1pISHpPClM0Um15SkFoZnBLT2cwUXAyMjdkdXZuR2lGVEtLZ3REYzRHd25xZ0g2VDJrK1RDK01X
UEdSRzVFR0hXY05JUGtxVFVOOEZJWjU4YVoKUzJlazFRUTZsWFRiWlc5ZHRTS0grdXd6c3p2dkxI
ZzV5WTVMeFRQcjA2ZmczZm05dmlsaGtSMUsrQ1dicVQvaDlDVVkzK055dytoRgpnOUZQQTZlVFln
cjh2dm0vb0tGZk1vdWJ2cFRzR05HWHBVL0JvZ0lkYVlMOFZzODc3enl2SGFJYUhSb2lIa0NrS3VZ
UTl4cXllUitpClg3dTJGQUVSRUFFUkVBRVJ5RGNDR1NNZzRhcFdpR3RmZlBGRkwwUTkrT0NEamRk
VlYxMWxRNGNPOVJXYXdzNUtwZ3VsZS9yTW1UUDkKMDM0Y0YzcDNFQUZKOXZRLzFiR1lPREVKWkw5
QW54SnNpMGFGMUN6U3hYSnQ2RE9ZckJGeDZkQ2hnMUYrbDhuL0FsZGo5c0lMTC9RUgpvbm9Kb3ZM
U2pJbmVIcG1jaXh0dXVLSGNPOFJudWtZYXV6dGZ6VG1pNXNvbEYyenRhZ3E0MzFkQlJDVFQvdVc5
bm50QXRTdCtnNlRGCkVmWEErY0NJVnFWeVBzcDczSW5ucCtJYWVoaitqM200Z1BYdTNkczc4UlJ6
U09XQUpCNUgzMFZBQkVSQUJFUkFCRVFnQ29HTURrajQKSUV4U2VBSThmZnAwUDZsbUhhVnYrN2pI
MWt4NHc4NUtlTC9FenpnT3ZFanJvbThHelEySkhEQjVKdzBrNm5Hb0JrV0VnNXoxd0pnTQprb3RQ
eDNaSzhaYUZFUmtpNG9KK0kyeWtzcEFHUlhRa215azVtWndQeHBBdkhlTERQQkkvTjJoZzl0Skw1
dlFHLzZ6QlQzTStiWVV4Ck5DQlVMdU0zU0VRUGh4d25oS2FVQ040cEs1M3Zob0IrK1BEaHh2OVRZ
SXo5bkhQT0NiN3FYUVJFUUFSRVFBUkVRQVN5UnNBbHVzUXoKbm9oU3RRcW5nYXBUd2ROZmVuR1Fk
aExGU0I5Q084S1RWVkk4aUt3Z0l1ZXBLMlZNb3hxT0NrOXRlUVZHNVNHaUVZakNtVmlWaFhFTgoy
MisvZmRKVG9aK0o2bEFsUFVBSkZvWTd4Qk5aQ2w0NFp0OSsrNjN2RUk5anhDdXhWRzhKVGhkNUY5
ZWl4ZDMzZnphLy9QS2l6a2V3CnhrbUtYSXBaOEsxaXZPT2NrNEtGSUgwdkoyeWhlbHpZTWM2bnEw
Q2pkUHJwcHhjT2lRSVRZZWNqV0VFa0w3RUtXTEJPN3lJZ0FpSWcKQWlJZ0FpSlFVZ0t4SFJCU2lV
akRRZ2hOUlNaU3BobzFhdVFGcTRGSU90TmcySWVHZWpndkdORUIwb282ZGVvVXU5TE9VVWNkWldn
aQo2Sk9CMFkyZHovUUhLU3ZqaVRlVnZCQ2NMMTI2MUg1MXpTdW1UcDFxbDE1NnFZOE1aZU1wK0pR
cFUzeEtXWlJyaXRJaFBzcHhzcjJOClErSkY1OEZ4ZS9ZTVBoVjlyK2FrSXJuV1A1TTJ4NHRxYnJ5
QzcwVkhVckp2Vkl3aUlraER3bncwU2xidlNQbXgveGw5ZEpJWkJRem8KMFpOTEM3am40ajdrY3R3
NnRnaUlnQWlJZ0FpSVFNa0p4RXJCQ2s2RHc0Rmd0VisvZnI3cUZOL3B1QjNIZXJyWko1TnFoTnR0
M1NQdgovdjM3ZTBFMGVoREsrUkpWaUdxa3dmREM5dHh6ejZpN1pYVTdoTy9vQVQ3NTVCT2YvMDgw
aVBTMFJ4NTVKSmF1QmFhVEprM3lIZUxECkE4U3BnUW1Sb24zMjJTZThxdGhuSWk3NTBpRStQTGp0
dGpNbnpEYlhWOGFjU0QrODVwL1BaTlBSODhQNWJ0NmN0TUtWdGpXWHF2ZlAKTnFYNXhFU1hxbFZN
cmdQTkV2b2hYcVMyWlN0YVJTUU9FWHJVQnBTbHVhYTQrK0w4TXo0ZUloQzVTV1k4SE9DM1M0VTZq
TjhmSGQregpWZFNock81RHNtdlRNaEVRQVJFUUFSRVFnZklsa0xFS1Zsa05qeEsyOTk5L3Y4K2Zw
NmRJUlRRbWJVUkJnaks4aHh4eVNLd255RVJQCmVPSk1LaG85VVlLbnc3QkFSNEpEUTZvTXBYb2JJ
S0JJWTRpaWViS05NeFB1RUU5a2lETEs1V0dyVjFkell6Zlg2OFhjdGFVZWdmTUYKYk1rU2M1TmRj
OEorTTFLM1hPL0xFaHZWbDVobzQyRGdhT0FjY3E5SWtRcWNFTkwxcUtnR1l5SjBPSHVCRXhrK2Ni
Z0tWbmg1OEpuagpUcDQ4Mld1UVlFM3p2bVFXdDRKVXNtTkVYMVlVOXR0dnYrMGQvc2NlZXl6dElY
REdpSGJDaEpMTk9OYzRKWUhGdllaczNvZGdESG9YCkFSRVFBUkVRQVJHb2VBUmlPU0E4dGFSeElH
VnZTNXRlTW5EZ1FGOUZhd2RLSVlXTVJtNXhLbUdGZGkzWGo2UjlCUldFVWcwRWg0THQKVWsxSzJZ
L2MvQWNlZUtEWUlkRFliTHZ0dGo3dHJkaktOQXZLdTBOODBhRzUzQ3BuN3NHN2ZmQ0J1WFMxb212
RDM1ejh3RHNncms2QgovZmlqT1RGM2VHMjh6MHg4Z3lwcGk3Lyt6WjZiOVpPOStXVjFXL1JuZmZ1
clRqWGJ0UDR5MjY3eE1tdmR4SFZtMzI1ejMvQVI3UVA3Cm9GY0tXeW9IWkluem1NYU5HK2ZGLzBR
V2lIeWdsVXAxcitOTzNzTmppUCs1cUFNU1hBUC9hNTkvL3JuajZ3Q25zQmF1TXlRT0NOZkgKUXdK
K2c0SEZ2WVpzM29kZ0RIb1hBUkVRQVJFUUFSR29lQVJpcFdEOTlOTlB2dThCSGJrVEhSQ2VGa2ZW
Z0lCcC9QangzcG1oQ2xaUQowbmZ2dmZmMkhhUjc5ZXBWNFVnU2xTRGlFRXgwazEzQUFsZVdsL1Nm
VkpOUzlvRUJFMEltZldFNzdyampDdm15SHNlaWZmdjI0VTJLCmZBNGNJczZWNm54UkhLSWlCODNT
RjJvRDRHQWcyL2xmMWRjaVI4WTVDZHEzVUpncFZKeXB5SFpSdndUcFBuUGUvdG5HUExmQzN2M2UK
Ulk4YXV0U2pCcldzVHQyYTluUE5SdmIycW1xMjVJUFBiT0YzOCszQVZzdThBMEZxWVNhYk5XdVdU
MGQ4eVpYeklqcUZBMGtFcjU3VApTcEdDbGMrR280K0Q4YTRMTWRFOE1kRndUb0xmSVUwSlM5dVlN
SmYzSVhIcytpNENJaUFDSWlBQ0lwQy9CR0k1SUV6SWZ2amhoMko1CjQ1U2ZwZXpyWjY2elhMck8y
MkVNOUFBSmRBcjN1WndjT3BnelFTZnRnOGw4VkEwSVQzRnBpSWhEUkc0N1JtcE5xdHoyOEJpeSta
bVMKdjR3L25RUEMrWUl4cGpvM0ZZbm9URTNhVkNyakhxQzVTZWVBWk1zaFNqV0diQ3luOGFDck8r
QjdnUVRIYy82WlMyTXpwdzhxV09JYQpjN3R5emVZYTVBVmJ4SDluNHJ0NHlRb2JNd25ubzc3emJ0
WnlEa2h0Vzd0K1RXdFFyNmJWYzA1STNkcHJXTTBhTzlvSC8zM1A2czc3CnFEQmxLOTNaU0xjaW1r
REtIZFhFNlBrUzFwQlVsRDRnTjk5OHN4MTAwRUcrZWVzK3hxZ0FBQ0FBU1VSQlZHWnd2YVNtNFZU
eHY0bVIKaWtVVWhJSVBKYlZjM1llU2prZjdpWUFJaUlBSWlJQUlsQStCV0E0SWs1SmtFM3VhL2ZF
ME5aUHpRZjhRUk9KMENjZVlvRjE4OGNXKwpIQ3ppYXB3T3RBMU03SUp0TW1FaFlqQnYzangvZmh5
UjFxMWIrNmFJcDU1NnF1dXlmV2VtM2JPMi91Njc3N1llUFhxVStuaWs3dUJZCmhOUFFjT3lZMklh
N3hXY1NBMmZMSVNyMUJhVTVnUE01WFdXdm9nNUlzRG02RHg3SzgvNysrNlYzUUthL3V0emVYVnpI
cXExYjA2clYKWDlQcXJGM0QxcWxYeXhxdFU5dnFyMTNMOGE1dGRkYXNidFViNzJXZmZyakl0bkRP
Sk5HNWRJYW1CSWNSb1RZZDVXKzY2U1pmRVk1aQpCTndmZXRzRXhSSFNIYWU4MTZFSndZbEs5ci9O
Y3FwNm9mL2dkMWdhd3dISnhYMG96WmkwcndpSWdBaUlnQWlJUU5rVGlPV0E4TFNYCjNoSDBPK0JK
YVBDRWx3YUN2TkxabTA1RlRNTzIwYU5IdThaem9jNXpiaWNtMThjZmY3eWZCTkhUZzVTc0tFWlZI
cG9BOHFTMlNaTW0KdmlvWEZhSmVmdmxsdzlsaEFsaFdYWndUdFN6SnhoOGw1UW10UjdLeXZaUW9w
dUZqMURTM2JEbEV5YTRqVzh2Kzh4OXp2eWR6am12cQpJenJ0YzZrTngzbnVKMmExR3ExdGV4KzBx
ZFZ1VU5PK1gvNjNMVi9wc3JEcTEzWGk4N3BXYjIwWEJWbXJudFdvdHRwKytMbWxlOW8vCjNXc2Vv
cHdjeDNuZmZmZjFML3FzUFBua2sxNzhmN2xyZEZJUkhCQitWL3cvcDN1QVFDK1owbHF1NzBOcHg2
ZjlSVUFFUkVBRVJFQUUKeW9aQUxBZUVpVEdsY3lkTW1PQ2Y5ak9oN3RLbGl5OC9tK3pwYWZnU3FE
TEVoQ3pSK1Fodjg5eHp6L21vQlNsSW1WS1oySTgwSmJRUgpSRUdZbUZPcGgwN3FPREE4Z1o0eFk0
WjNiTUxueU5WbkhMTnNhRUJnbXN4dzBraFR5MVNDTjlnWExjSTdMcnhBODhGRml4WjVCNDJvClVG
aEVIR3hiWHU4dUFKYlcrV0JjNktPZDNNVkZoVW8rU3BndS9HRk4yN1BkK3JiZnpnM3Q3K3ByMkkr
Ly9XMnZmcnJTMXE1REdsWWQKMTNDdnJxM2xzdDVxcmxuRDF0aHFGL3ZwcGZHKzdHemNzeEkxb1lN
NGpURFJURlVFNDM4bG5mUEJOVkFlRzYxSTFOOWZzdXN1eS91UQo3UHhhSmdJaUlBSWlJQUlpa0I4
RVlqa2dESm0wRTU3RzgrSnBMMC9zS1RkTEovQnUzYm81Y2JGVEZ5Y3hKcjVQdVlSK3R1VkZxaFFP
ClRUalZpdTdxUkN5aU9CL0JLWTQ5OWxpZmZ4OU1qTkNXdk85eWRpZy9Tek80c3JKc3BUemgwTUVu
MElBd2FTUEtnMmdmQnk2cTBkZ1IKSFFpUklmTDdjVjQrK3Vnak8vend3MTFwMjlPaUhpYW4yeUVu
dVBMSzVDbFl3WW1kM01YcFhVcm5nSkQ2cy95djJyWmQwd1pXdCs2YQp0bXExV1gyclptdlZYTk01
SGVnL2FwbVRnYmdvQ0w5djk2clcyQmE0NkJvRkEwcHFQTzBuUWxjUmpJYVpkOXh4UjVIL3hjUng0
MHp4ClB4YjhueVd1ai9LOVBPNURsSEZwR3hFUUFSRVFBUkVRZ2JJbEVNc0JZVklWRnRueXRQZWlp
eTd5cnpsejV0anc0Y01OUVRxVFhKNjIKSitiUVU4S1g1U05IanZUTkJwbFlrN3BFK2RyZ3hVU2Vx
RVlVWTRMSXRrUlh5TUVQN0t1dnZ2TExkOTExMTJCUnp0K3psZkpFcmowVAp0Y0FCWWVDYmJiYVpE
UnMyekxPS2NpRm9hQ2dCaTBNNFpNZ1E3OUJkZSsyMVJyTkVscEZDbDBsREV1VThwZDNHeVYxOFpN
UEpod29OCm1ZRUw5amk5UytHaXdvcFkveXdwd2FjYTFheWUwMzdVV3FPYWN6MmMwK1AwSG5WcXJ1
SGYxNnJsUHRjeWN6SVFxK1dpSU5XZDM4RnYKbmZ1UXlWNTc3VFh2aFBOYkRodk9PWDF0S29MaHBP
SlloQjhHOEQ5RVZERmNOQ0dvaUZXcWE4clJmU2pWbUxTekNJaUFDSWlBQ0loQQptUktJNVlDazBv
QXc0bGF0V3ZrWGsxK2E4ZkhFL2FpamppcDJNVVE0eURubk5YLytmTzg0ekhLbFRJbFdNUGxtRXJS
NDhXTGZheVJUCmQzVWlKY2NjYzR5TkdERWlZd3BKc1lGa2VRRXBUNW5zdSsrKzg5ZDc5TkZIcDl5
VWFtSTRDS1V4Sm8vY2g5dHV1NjFZTkFtbmpOUXMKQ2dlVXQ3bmdXZEwrSGxUR2NqOFBOd0hPNGdo
cnVaKzZjejVxMUZqRFZ0dmZUdXRSelVVNzNLdldHcmFtVzE3VHJhN2xvaDkxNnpvSApaRlhCZVZP
bHd3V2p3Z0hHNFNhU3h6MU5UR01xYmRuYTREeTVmcWNLVnJMVVBKelk3dDI3UjlZZFJScG5EdTVE
cFBOcUl4RVFBUkVRCkFSRVFnYndoRU1zQmlhSUJJVVVMcHlDS2tiYkZpMHBDR0ozQWUvYnM2Wi80
WDNmZGRmWWZwMUptUWs2RUk1V1JhcFFQaGdPVjZZazMKYVN5STdkTTVJRGdmcGRWdTBJK0NDQWZs
aUFQRElVRVBRcW9OVWFaOHNCUnlGeDhCb1VLV2V5aWZQVnZUeFQycXUraEh0Yjl0VGZmKwpsNVBh
ckZtanV2dnNVcTdjVTNtY2p6V2R3K00rZW1ja3lvbnBmVU8vRDM2bmNkSUdveHk3TExkSjVXZ1I3
YVJDRmc4WHNtWTV1QTlaCkc1c09KQUlpSUFJaUlBSWlVQ1lFWWprZ2pLaWtHcERFcXlGMWhRa08v
VHVDeWs1TW1wczJiV29EQmd6d216TVJ2L2ZlZS8xVDVzVDkKZysvNU12SERVZXJYcjEvaHRUQStx
bkV4U2FYMGNHQ1ptdHR4dmFYVmJzQ1ZhbUs4cmtSazRleS8vLzJ2MThvZzFFL24wQVhqTEl0MwpK
M2R4ZXBkL05DQTRKR1F5T2JtTDA3dGtmd1RWWEVvVjU4RDVXTzJ5cTFiOXVkcnBRZjZ5UDFmOTdi
NDdwNFJUdW5WL2s2TVZ3WWpXCm9hK2hNZVQ2NjY5ZlpBOTYzTkN2QlFjNzM0M1VTQW81QkNsWVhp
eStjS0h2L1lFdUs5dVc3ZnVRN2ZIcGVDSWdBaUlnQWlJZ0Fya2wKRU5zQkNROG5yZ1lrMkpkSXg0
RUhIdWp6N09sMzBiWnRXMnZYcnAyZnpGMTExVlhCWnJiUVRZS1dMVnRXK0QxZlB6RFpSRHlPNHhB
MgpTcGVTNmtSbjk4REpDcTlQL0p4TjdRYnBienZ1dUtQck52NjYxOWQwN2RyVnA5T2tLaEtRT0ph
eStPNHk3cHpPNGg4SGhITTZ1WXZUCnU1alR1K1JnQks1Y3JzdThjdmZDQlVPY3cwRTZWZzJmbGxY
TjFsalRMWE9uck9iV3NVMFVJd1dMUnBoVXZkcDAwMDJMN0lJbXBILy8KL2tXVzVlc1gvczl3T3NL
VjdDaXhmZjMxMS91TzhGa2ZkNWJ2UTliSHB3T0tnQWlJZ0FpSWdBamtsRUJzQitTUlJ4NHh0QXlV
dXFWcApYbUJSTlNCc1Q2U0RsQ1dxTWFFVm1UcDFxajN3d0FQV3UzZHYyMlNUVGJ3andwTmxKczhW
b1pJUTE1TXFqUVVIaW5MQSsrKy9mNEFxCjVYdTJ0UnYwb09DRmhhTXdLUWRReGl0YzBNanBYY3J1
cEM2NDRhTWZmN3NRQ0hxTk5WeSsxWnJPRzFuRGVSN1YzVXJuaS9qMHJ4ck8KR1lsaVJOKytkRzNh
aVdvUkdReGI4K2JOTFN1aTdmQkJjL1I1MEtCQi9pRkFqZzVmN0xEWnZnL0ZUcUFGSWlBQ0lpQUNJ
aUFDZVUwZwpsZ05DVlNCNmRQQ2tudXBYQ01xSlhPQ01FTkZnSWg1b1FFajVTV2QwRFgvKytlZDl4
U3pLem1Mc00yM2FOTytRVUxXSkxzekJ1bFRICklwVXIyZVI2K3ZUcFpUYXBJdVdKS0VoUWtwaUpK
ejBUSG5yb0lhKzNpTm9Nc2FKb04xTGRpeWpMNld5T3ZnUFpUMWs2SDR3TmpjZmYKTHVMaTNBK1hj
dlczaThEOVpTNzd5anNscEY4eE1YYkZyK3pQUDlnNm1xRmZvb0piUlRQK3Q5QjNVRVd1cll0QWxx
WGw0ajZVNWZoMQpMaEVRQVJFUUFSRVFnZElSaU9XQWtLcEJaU1hTaW9pQ0lMcm02U2tOQk9rNmpw
NERoNFNuL1RnR2xIMU5aNVE2dmVhYWEzenZrUGF1CjB4eFBrb01lSSt4SFJJRHl2dW1NN1hGK2NB
SUNJeTJHNkFsVnRhS2tQZ1g3bGVhZGRCVWFFWjV5eWltK2hDNWo0TnpvV1pKVkdFcDIKcm9xaTNV
ZzI5aWpMWEM4N2Q2OEx4T1gwOTNBL0lYZlBDM3FCM0htbnVTaVl1YlF4czRzdk5tdlpNc29SWTI2
ekd0ZkRPUjJybmJQeAp0NnVHaFFQaXZ1QjBySEtsZC85dzc3WHhRbmhGdEZUT0I1WGRHamR1WENS
S0dQR1FPZCtNcU53Sko1emd4ZVVVUnNEeGI5Q2dnVThsCkd6MTZ0Qy84UUhTVHRMMnR0OTQ2KytQ
SndYM0kvaUIxUkJFUUFSRVFBUkVRZ1Z3UitHZldIdUVNUEtGLzhza252UU9DNkJiUk5XbFUKVEZy
MjIyOC8vN1NmVHVRNEprUkQwamtnTkJDa01kN3k1Y3VOYU1jZWUremgrNE9FTzZYVC80SlhPa1Br
amFZazdHaFF4cGRKUCtreAo0VDRHNlk1VDJuVlVRNkw4OEd6WHRodW5pWHo2ZmZmZE4yM245MlRu
ckFqYWpXVGpqckxNWmFMNXFNZWpqNXB6RHMxTmJndWNqdlBPCk0yTlpodzRGeTV5a3dwNSsydHdF
UHNwUm8yK0RvK0dWSGk3VkNoL2pyMnJWYlJXUkVCZitjRDZKWDBidndkLzlkbXliMlc2Ly9YYWYK
WXBlb1ZTSjFzSHIxNnI1Q1ZsYXJTR1VlVXNZdHFJSkcxSU9IQ2Z5UDBMZUgvMEdpbTVNblQ3WTJi
ZG9ZLyt0VW9ydlRlWWJyckxOTwp4bVBHMlNBWDl5SE8rYld0Q0lpQUNJaUFDSWhBK1JLSTVZQ1FO
MDlsbjhjZWU4eHdJRERTaTBoRElSSkN4U1dFMTZScTBZMDhsVkUxCmlOU3FwNWxsT2lPeU1uandZ
RGNCN1dBOE9WNXZ2ZlZTN1ZwcytkaXhZLzFrS3J5QzhyTkVWc3JLK2VEY1JEeWVmZlpaSHdVaXZR
d0wKbDhIMUN5TCt5WVoySXhDZko1N3lndzgrY0UzK1FsMytFamZJNFhlWHBXYTc3Rkp3Z3BVckM5
NnBoT1d5Z1Z6YW5abVRUWGlqL0M1cApXbTVlbkZYNysrL1ZMdDNxTDF2dFMyRlZjNUVQbWczK1ha
QjY1UndQVnhUTC9pUVh5emtvVVl6Zk1jNDJCUWh3eU5FQkJWcWdEei84CjBPclhyKytkY3B4cUhO
UjhNUngyTkNwWThCdkZDY0VaUVl1MTFWWmIrWFU0VHFScDhYQWhtNWJ0KzVETnNlbFlJaUFDSWlB
Q0lpQUMKdVNjUXl3RmhPRVExbUpCTW1UTEZLT2xLaElMVUljVHBRUmxhbnZ5MmFORWk1ZWlwZkJY
dWtyNzU1cHZid0lFRGZUNDZLVXM0TTFHdApTWk1teFRZbCt2REZGMTk0SnlpWWFCWGJLTXNMS0dN
NmI5NDg0OXB3UkZxM2J1MGRLVHEvOHhTNXJJMG1jcVNuaFR1cVU3V0pLQTMzCkRudnFxYWY4cFBN
OFFoQmxZT2p3UjQ0c09CSEZ6YWhHNVc2VkhYYVkyY1liRnl6SE1YRkJOdGNySmZzRHFrYWt3NFUr
L25aMWRuOWYKWGQyWDR2WGxlTjB5M2wwd3pUc2p2RWN4dEQ3MGRMbjAwa3VMYlE1bkhNbDhMTU5M
MnRpRUNSUDhtSEdjK1g5RnUwWGtJM0QrY1V3bwpEa0Y2WTdZdDIvY2gyK1BUOFVSQUJFUkFCRVJB
QkhKTElMWURRdVVmeE9PVWxzVnh3QUVnS29JUVBKd0dsVzdZT0Fpa0taRW1GWFpVClNNUGl5VEVS
RkNaRlVZeG93OGtubit4ejJObWVDUldwWFkrNm5CN1NTc3JDU0xlaDdPcExMNzNrZWVDSTdlTWU0
OU1IQkRFOCtwaW8KUXZSc2paZnFZdlJSQ1RzZ3diRVJ5TGQwSWd2ZWlWU1ZsUVBpV3J6WXQ5OFdq
TUlGRDF5YVhzRm5kOXZkNzhDYzgyYm1BalMrTksrVAoxR1RmbkpOQkJTelNyUDc2YTdYci8vR1gv
VUV2RUNmK1dQMTNqVUl0eU84UlJlajhUbWtjT1hmdVhIL2ZnNnBYYUNxSThFWDlEV2YvClF0TWZr
ZjliL21leG41MHdKeGozRHE3Mk1TbUE5QVA1L1BQUGZUU0gvL09zVzVidlE5Ykhwd09LZ0FpSWdB
aUlnQWprbEVCc0I0VFIKME1odStQRGhmdUxLSkpzSUNBTHNPTmFuVHgvL3hCWHgrZW1ubjE0bzFp
VU5KSTREZ2dDZUovcGg1d2RkeU9XdWsxMjRUSENjc2NYZApsa2srMVlTSWdqQU9Ja05vWWFnT2ho
YUdNcngwUUM5TG96djMrZWVmNzh2TnBqb3Y0eXhySTYzS3lReTg1c01GYUx5NWgrL09HVEp6CjJY
VGVPWEFCSk9jNFpYOWtMdUJpZnhBQ3FlYlNyMXlVWTdXWHBLOWhmLzVkM1MxMzUzYmFqei8rRnlY
aDdFRTZWYXFSNEdEUXR3WUgKbUdnSGhSbTZkKy91Si9Yb2Z5ZzFuYTlHRlBPVlYxN3hEeE1vZVkz
eGNBR05GeEU4MHRQNDN3NmFFMmJ6T3JKOUg3STVOaDFMQkVSQQpCRVJBQkVRZzl3UmlPeUJ2dnZt
bUh4VVZyNExlSHl4Z3doTEhFTFlpZUtYVE1wRVFjdVNaN0ZCNUoxelJLdE14MFhvUWNRaDNSTWVK
CkdUZHVYS1pkczdvZVRRd1ZzSWg4WURObnp2VFJoVW1USmtXZWlJYTFNelNDdzNuQnZ2LysrOExV
R0w4Z3doOGlIR2gyRW8yMHE0NGQKT3lZdUxyUHZPQ0IwTzBmN0VaWVdrSXJsYnIwM0ttTmwzWmI5
YnVZY25WcHJPbWZET1JtMW5kTlJwMllOcTFYakw2dGJxN3F0NWRiVgpkUkdZdGR3NGF2d3ZCU3VU
QS9MTEw3OTRod1BuazIxeHBHSE83NW9LYnZQbno4L0xGQ3pZNG9DZ3ZUck01YitGbTFPU2loWDhQ
cWlNCmxYWEx3WDNJK2hoMVFCRVFBUkVRQVJFUWdad1NpT1dBVUYySy9IRlNxSmlvOEpTM3JhdW13
L3YwNmRPdGI5KytzUVpMV2hLNThsVGwKd2JGaDByelhYbnZGT2daYWg3RHp3YzVVOEtIUEFTVkdz
MTNCSjluZzBGWXdDU1V5eEZQbHdKaUVzbnpYWFhjTkZxVjk1NGs2S1RCRQpMazQ2NlNSYnNtU0pM
MmxNU2c4Q2ZmcUtSRFVjSXM0YlprUC9samZlZU1NV0xWcFVycUpvVXJGNHVZSmhydnBaOFN0eXZT
aGRDcEM1CklnTEYxNVY0aVd2NHNjcWxWdEgvNHkvbks2OXlVYkkvWE1oamxTdkg2OTlYMXlnUW9i
dDFLOTEyT0JRNGhPa01Semx3RW9rY3dIYkkKa0NGZUI0VFRTQ1F1bjQxVUxGNms2cEYrbFdnSTYv
a05aNnBFbDdoZjJ1ODV1QTlwejZlVklpQUNJaUFDSWlBQ2VVY2dsZ05DbDNMUwpUWVlPSGVyN2JD
QlNIVDkrdkk5QU1QbU82NEFFTkhaeHBaRjRZVVFPZ2loQ3NEN2QrMTEzM1dXWFhISkpZZFNFaVNN
Q2RNYUZBQnpuCktOZkdKUCtZWTQ2eEVTTkdKSTA2UkQwL0RoT3BhVlFWNHpvUUFQTkVuZXNoSng5
SExlQ1U2WmlJNFhHK3dqb0VIQnJTYlhCQXlxc1MKVm5qYy8vcFhRZFFqc1VDVWErSGlVcG9LeE9u
T2wzUU13bnVWOExPcnJmdTMwM3o4N1ZLd3FIUkZ1dFh2YnRuSzMvNnczMnIvYWJWLwpxMkUxWFBU
RFpXWFpIeTVZQXY5TUJtTWNUbEtXU0xucjNMbXpMejZBVTgzdjh0NTc3ODEwaUx4WWYrdXR0L3Fv
QjljVHR2ZmVlOC80Cm4wZWN2ckdyRXBBc29oYmVQdExuSE55SFNPZlZSaUlnQWlJZ0FpSWdBbmxE
SUpZRHdxaHZ1ZVVXWHpJWGNTb1RFNFRlOVBJZ1g1eEkKUVBpSmU2cXJaSExIWkp2OUVNRlNGcFRK
TVNWaUVZL3pIbld5ZzlhRFY2THQ2RHJhbFdYL0JSb3dKak9pRnFTVlJUSFlrWHFGUGZqZwpnNzRy
UElKL25EdjR4RWx6ZStLSkozeHZsZkI1ZVNMZnMyZlB5STBSdy92bTRyUDd5YmpmamV2TWtWQnZn
TGsvRmJJdXVxaWdOQy9aCmRLNlNiWW5OUnlMKy9OdFdydmpMblBiY2NYVGljL2UrM0lVNjZ2eTUy
bXI5OXJ2VmNLS1RhaXZRaFJRNElQeitNa1ZBR0JCT056b2sKSEYzMFRCanZsTFd0S0VaQkNGNkov
M1A4bjZKcDRuK2Uwcnc0S2tRWFMycTV2QThsSFpQMkV3RVJFQUVSRUFFUktIc0NzUjBRK2t1Zwov
MkJpVFlvUCtlTk1rQTg5OU5ESW82ZkVKK1Y4Nzc3N2JqL0pvMk0wRTI4bU9hUWVNZEdPNHNod1Fw
NDZJL3dObnZTekgya2xUSlRDCnd2VElneXZoaHVlZWU2N3ZDUkhXcnlCS0ptME5BWG9VTVcvZHVu
Vzlmb0RlSmpnUVZQakNzWG40NFljOUw1NjBSN1ZrNTRNSHpoNzMKa0lwajVXMHVjT1VjMklMcVYr
R3hVSWJYM1VMZk00Unl2VlJsZGkxbVNteE1yT3RXVzJrZmZ2eWpiYnBwSFZ2dTBvQitjNVd3VnF4
YwpiY3VXdVk3MTFhdFp0VFdXdTkvaTJqNzlhcGtyMVVXS1lSVERRYVFTVnRqNERaUzMxaVk4bmt5
ZmNaQnhUQk1ycGhIVklVMlNVc0svCi92cXJieFI2RGwwaVMyaTV2QThsSEpKMkV3RVJFQUVSRUFF
UktBY0NzUndRSnRSVXUrTEpNSk5aSEE5U2d0QmhrQzRVT0FHWnJvUEoKTVkwSDZhSk9NMEljaUpM
bW1TUDhwdVJwb3BWMXd6MmF6aUdtRDAvaVNNK2hUd1NpK0tnVnVlaUJnZ09DUTNmQ0NTZjR5OEtC
b2RsZApIRU1Ed3BQNDhIaEk0eUkxTFZuRUtNNnhzN1d0ODlsODZkM0U0emtmMGtkQVdPNkNaSzYv
U3VJVzhiN3p1OXhzbzcvczFkZVhXcDMxClhLU2pRVzM3L3BkVlBtSzM2ZzhuU2wrNWhxMTA0blFY
ODdCVksydllzaS9uMlNZdUhTbUtFMHdFa0lJSFlXY1h6UTcvSy9CSEw1WHYKeHU4cy9Ec0p4c3Yx
QjlkRmVXdEtaSmZHY25rZlNqTXU3U3NDSWlBQ0lpQUNJbEMyQkdJNUlJaFNiN3JwSnE5M1lETENF
MUplVExUbwo1MEhYNURoR0pHV25uWGF5TVdQR2VLZUc2RWRVSnlZNEQ2Vk82ZnNSbmtDVlI4TTlI
QWVpTVdIRFVjTVJpSk8yd3FTUDZBU1RXdnB6CjBFVWI1eVBjdURGOGpsU2ZFUS9UQ3lTWVFMSWR4
MENuQXZkOE1IUWVUdjlzbzBhWjA2V1lOV2xpVHJkVHRBTTZPcEZOTnkzZGFIRjQKdDIvMmczMzQy
cTgyYVlvNzBicDFySGE5bXRhd2ZrMm5BM0ZOQ2QxL1FYVnpHcEUvVjVyelIrejN4Vy9aV3V1c1pZ
MGlsT01pYWtVSgozbkRFaWI0Z09PU2t6YkV1MzIxVEI1ai9JYlFyMzdyb0Q3b1BvanJoRHVpa1h3
WHBnU1c5bmx6ZWg1S09TZnVKZ0FpSWdBaUlnQWlVClBZRnFMczg3czlvMllWeXZ2ZmFhYnp3WUxP
YUo3MnhYMGloT0doWlBpR25ROTgwMzMvZ1hsWGc0QnVKZDlCdFJ6YWQxdUVsZzJBRUoKOW4zeHhS
ZDlaYTMrL2Z2N2tyaWpSNDhPVnBYSk8rbFhwSU9ScGhPMW96UVJDcDVJazZaR2VodVJGZGlNY3JO
MCtvcEVOWHFqcE5LbApSRDFHOXJlclZ1U1FhTFNKZ3VCNDBJcmlrMC9NVGZvTEhCQVhIUFBtQ25l
NWRLZ2l1OFgrOHZ6emsrMnR1Vi9ZOEluVjdPTmZuY2FtClVSMnJzVTR0YStBY2tBYk9FYWxYZHcx
WGhuY05xMW5EUlVHK24yc2JMNXRsdSsrd3RZK3NFZFVLRzhMc3NLSC93QUVQRzQ3blJVN0EKY3ZQ
Tk42ZU1nTFJvMFRLOFM0NC9GLzBYVDd5R1J4NTV4UGdmd2ZHZ29TZ1JPMHJ3NG9BUXdjT1M2YnZp
WGtNMjcwT09nZW53SWlBQwpJaUFDSWlBQ09TU1FJUDlOZmlaS2pESVpHVDU4dU4rQVNVclllRklj
eC9sWXVYS2xuOWdnM0tYa0xJSnJLak9SenNWa25jbE9WS1BoCjNqSW5GS0RzYWVLTHNyNFlEZmZL
MnZuZ3ZFR1pZY1Q2VVF4ZmtBcFlORFNrUndOYURTSk1kRm1IRVlMOXFKYXFod09wYWZsZ09CWXUK
YzgrNmRUUDM5TjFjWlRXenRtM05Ibi9jWEVkNWMxcVZnbEdXMXZrSXJuWG5IYmV3ZHJ1dXNLMGFm
R1BtS2wrdFd2R0hyZkN2MzIzNQpyNy9iTWo1LzlZYlYvL0ZOYTdMaE9vWE9YN0IvcXZkRTU0UHQr
QjNpL0JJSnlYZmpmdzFIaWZMUEV5Wk1NUHJxNFBnUzBhTTA5byswCnJIY1dKUjB0eXJYbTZqNUVP
YmUyRVFFUkVBRVJFQUVSeUE4Q0x2a2t2ZEU3Z3NnRW9taUV0Ynd6dWVXSi9ydXVmVFhWci9iZmYv
OVkKWlYxSnhhQ0U3eDEzM09IVHVSQ2ZsOVJ3ZmhLcjkzQ3NPTlduU25ydVRQdVJUaGJITVNNcXhP
UVZjWDVZRTBNVXBIZnYzdDRoaVJyVgpRSmZUeWJVYUQwZUd5aU0xTFJVamx5Rm1PQ0czM2Nia3R1
aFd0RTBoTmV1QUE0b3VMK2szZmgra24zVThkQTJyVzJldXZmclJML2I1CmluVnQ2WXIxYmNYZjFh
emVpcVZXM3hiYXh0VVcydlpiYmVSTEZSUDVpQm9jSlBVUXZRK1YzWWg0Y2MrSjVFVXRtVnpTNjhy
R2ZrUWcKK1YzOHkrVzZKVG9aaU0vcHA1T3RnZ1c1dmcvWjRLRmppSUFJaUlBSWlJQUk1SjVBUmdl
RXAvQlV2cUZTRldKeE5BMms5MUQxQ2JFMAo0bFRTVGVqK0hNNFp6elIwbkJBbVBlZy8wSlBRa1Ju
RDRZbGFnWWp0czFGOWl1UGtnekZKUmkrU1dQNlZqdHZ3VGF5MmxHN002RDlJCjNRbzdJTUgyT0k1
RWgzaC8vLzMzdmRZa1dGZFc3MVJ6cGRHN3l6UXJOQndTOUNET0wzVTlUd29YbC9vRGppQ1ZxZEMr
NER4djVWVHQKMzMyM3lEa003L2xTMFB3VytYMDNiZHJXVDdhNUQyaG5mdnZ0dDR6bnB2SGduWGZl
NmJkRFMwRjA3NTU3N3JHQkF3Y1dtOUJuUEZnNQpiRUNVcm1IRGh2Ny9Mamc5RGduUkVLS0dhSkd5
WmJtOEQ5a2FvNDRqQWlJZ0FpSWdBaUtRZXdJWkhaRHdSSXpKMWJScDAvd1RlbEtFClNPZkJXWmcx
YTFac0J5UzROS3BxTVFsRzNFNWZFRkkvZnZqaGg1UzU4OEYrd1h1MnFrOEZ4eXZ2ZDBydURoczJ6
UGRlQ01aQ1kwYWMKRWlvdVJUVlMwMGh2U3hZZENvNUJhbHA1bWZNSGZOb1ZxVmRCaVYwbkpUSlgx
TXlsekptcnNKYTlrY0dPYUFZVnFhaEdSb05HMHZaZwp3ekordzd6cXVZNklPR3g4WnA5MDdCZ2R2
MWVpVldlY2NZWXZINzNlZXV2NVFkTTRraWFFT0hsVWlzdG53ekdqSlBaamp6M21IelF3ClZoemVm
djM2K1hUQXhPYUVwYm1XWE4ySDBveEorNHFBQ0lpQUNJaUFDSlE5Z1l3aWRDWWpWTUJoa25MNzdi
ZjcxeWRPTFR4OStuVDcKdi8vN1A5KzdnMkV6Z2VuWXNXT3BudnFpZGFCUFJhTEdKQjBXbnRDbXFq
N0ZFMXllYmxjMG94SVJ3djZnVy9rYmI3emhxNHdsaTJhawp1clpVa1NTaVZ6emgzMkdISFZMdG1z
UGwxWW9kMjgzVlhkcVoyZTY3bTduYUJpN3lZRTZEVUd5elVpMTQ0WVdDYTI3U3BJbi9mZUtNCjRJ
RHcyMllDamhNU2Z1RjAwNHVHM2hjNEsyRUxDN2lKL3RGd0VMMUhvbjMyMldlK0ZPOWVlKzJWdU1w
L2p5dmdUbnFReUF2VGk5QTUKREJvczlCNDRUYVNVd1lES2R1a3M3alZrOHo2a0c1ZldpWUFJaUlB
SWlJQUk1RGVCakJFUUlneE0zTkFrSUlLbVV6bTU0Z2pJbXpadAo2Z1dyZkg3SktZZEp6eXFOY1R4
ZWNTelIrV0JmcW11aFZ5RXZQMnIxcVRqbnpPVzJPRTJVSThaSkNBeFJjRnhOeXpYWFhHT1RKazN5
CnVvVGdPTHd6cVNZVjVuR245aWF5VXQ1R0NwWXJKT1dhTFpxTFRwanJNNU9iRVFYUkRONjVmbEt4
ZU1lSjREMTRjZlowMmc5SzFRWmQKem9rT29JOUk1dXpoVEdjemVwQWJLdjhjbFd1WU9YT21UWnc0
MGYrL3g5RXUvWE9VekoreWRSOHluMGxiaUlBSWlJQUlpSUFJNUN1QgpqQkdRWU9BSWJIa3FTcHBL
WUR5Wkp6TEMwMTQwSExlaEtJNWdwR0wwN2R2WFQ3UkwyNU1pbUxDSFQ4dngwWmVRMXBVb3JBMXZs
NCtmClNkbHAxYXFWZnpJZmpBOXhPaVY5Y2F5aVJIU0lJdEd6QmVFNnBWV1pVQWVUYWlvemtmT1Ax
Z1Q5VEtwcVdjRzVzL3RlTkFKQ1ZXVFgKaE50Rkc4ejF5M0RGcVp6a0FvZkV5WUpjQ2R6c25aa243
MmdkdUdaK0QweUNlVEhwSnQwdlNNR0NMWi9UUlVEb3pVTGhCZnF6WURqbAovRzhFMzFsR3FpS2Np
YzRSV1VsbWNhTUh5WTRSZlZuNkNBaE9CODBwVjY5ZTdYOHZqQjhkeUMyMzNPSXJzcVU2VDl4cnlP
WjlTRFVtCkxSY0JFUkFCRVJBQkVjaC9BaGtqSU1FbEpLYWlzSnduOHp4bHAzSVRndWVveG9RTm9T
NFZneElkRUNaQlRBQ2pHbVZyeWJjbmxTYXcKWU1JK1lNQ0FDdWVBWkVQVHNxNVRkOU5sbnBTNVJF
TmpRb1duOHE3UTVHNnoweHlZRThDYmM1UUtlb0V3VnBwdEkzVnhGWm05U0QxeAovQ1g1anZQRjd5
cHd4SUtuOERnSE9OR1VQY2FDOWNGN3FuT1JIcGRZemppeENTZlJEeXBNeFdsQ21lcDh1VndPbCt1
dXU4NDN1eVR5CmhzT0tmZjc1NS81L3RIbno1dDVoemNZWXNuMGZzakVtSFVNRVJFQUVSRUFFUktE
c0Nmd3phNDl3Ym5MbVNlM2h5V2g0d28vNE5rNnEKRTZWemt3bk5MN25rRWwvbWw0aEtNRW5NTkt4
c1ROZ3puYU1zMTJlcm8vcHh4eDNuYy9xSmRvU052UDVNdWYzaDdYUDFtZllTZERoMwo4cUlpUnQ4
Lzl4TnpoUTNNamp5eXlLcXNmQW4vcmlneGl5UE03NWVTczZSaHNUNTRKVHNoS1lLa1lZV1BrMnk3
aXJLTS8yblMvWWdZCmhnMTlGeEd5ZWE1aUdHVzJzMjFoZmlXNUQ5a2VqNDRuQWlJZ0FpSWdBaUpR
ZGdSaU9TQ2ttMUJkaVVrdDZUMUVSVWgzdXRLVk1TSjEKaFhTc3FKWXNOZVVBMS9pQko4Zmh5VW1t
NDJWcndwN3BQR1cxUGx1YUZwNXE1M01mRUVydy9xOVBaREcwVGdQdENod1VMQ1pTd25lWApsVllx
NCtsN290MS8vLzErRVYzbTZRUWViQk84SjI3UGQ4VHJyTS8wR3lVeTJLRkRoMlNIeUt0bC9DOXZ2
ZlhXU2NmMGtlc1FTV2xoCmpFZ0ozNG1JbE1hU3NTM0pmU2pOR0xTdkNJaUFDSWlBQ0loQStSS0lk
UG5TOVFBQUlBQkpSRUZVNVlCY2YvMzF2bkVnSlRxWk5CRDEKNElud0thNTI2cEh1Y1hVY0J3VFJP
c2NnNy83Z2d3ODJudGd6WVlzN2FjdldoTDE4YjBQUnMvTlVtaDRyUEJrbUplYm9vNC8yVDkyagpk
bFRuYVBuZUJ3UzlCeS9tNk9INUx5bFk5QURwMHFXZ0o0Z3JDT2IxSWFWeFFNSUM4NEEwalREaGl5
MVlzTUJtekpoUjJEUXluWE5CCmhiS0REanJJUjAyQ1l5VysvKzZFTEV1V0xESHVWNzZYNFVYdndh
dEhqeDVGMHNVb0pVeDViTFJkUkh5SVdPS01sTVlCeWVaOVNHU3UKN3lJZ0FpSWdBaUlnQWhXSFFH
UUhoTDRmVkZEaWFURWFqYlBQUHR0WHhBcnkzTk5OMmhKeDhCVDVtR09POFJvU3lwMmVmdnJwdnAv
Qwo4T0hEaTB5Q0V2ZEw5VDBiRS9aVXh5N3I1WWlYbWZRaE9LZnNMZzRhRVNZYU5zWVIxT2Q3SHhC
M2FXNVNXeUE2ZDBFMGJ3UXBlTGwrCmdUWi9mc0ZuSWlCMTY1YnVMdkRVUGZ6a25jcFg4QXd2dytH
am1sc1VrVDhwYkVHbit0bXpaeGYyRmdsRytaVnI4Nzd4eGh2N1NYdSsKT3lCY0w1b3NST2RFTTdH
QUMyV2dTWWZrT3hHUU9HV2dBeGJoZDQ0VEhKdmxwYjBQNFdQcnN3aUlnQWlJZ0FpSVFNVWhFTmtC
NGNrdgpnbStja0dBaVF0U0NKOGVVNW8xak9CMzArcUQ2RG9ZRFFVZHBvaWowcWFDQ1UxVEwxb1E5
NnZseXVSMlRNNkpKQ01pSkJDSHlKN1dOCkovUVhYbmlodFczYnRrZ1ZzblJqNmRhdG05ZlRJUElu
bngvanlYeXkxTGQweDhubHVwNDl6WTQvdnFEM1J5N1B3N0hERGpJbG1ubWkKSHphYUNqN3l5Q05l
OXhCZW52aVpLQUQvQnhnVGFQNFhldlhxbGJpWlhYenh4ZDRKS2JZaUR4ZlFETFI5Ky9heGlqK1U5
REt5ZFI5Swplbjd0SndJaUlBSWlJQUlpVVA0RUlqc2d1KzY2cTAvVDRPbjhFVWNjVVRoeTBrd1Fz
WkxTRXRYSU8wZnZnVlBEdmdqSkVjRXlDYnJoCmhodDhOL1FveDhybWhEM0srWEs5RGIwamNCd1E0
NGV0U1pNbXZxczV6bGJVTkN5RXd3aUkwZFE4Kyt5ejFycDFhNTgyZE9xcHA5cWQKZDk0WlBueTVm
WFpGbDF3YWxMbHl0ZWJLREpzclpWdVFlaFZxZ1pMVnNRV1RYeWJjVkh6Q0VhYUNHMDRaMFNYZWcy
MVNuVGljSW9oRApsNnBpR3hHc3Qxd3VXWnltbXFuT21ldmwvRS9qNUU2ZVBOazNUNlE2SGN1b3Bw
WUxDeGlYNWo3a1lsdzZwZ2lJZ0FpSWdBaUlRTmtRCnFCNzFORXdhS0hkTERqaVRsYkJ0NHpySThW
UTVqcEZIZjlkZGQzbXRRckFmWFpnNVB1a2dVU3lZc0ZOdWwxS3FSQXV3OElROXluSHkKWlJ0eTVL
bkdsTXcrZE9LSWNPV3haTnNFeTM1ejRncllvTE9oWE96UW9VTjloYWVnZndXVDQzeXc4ZVBOZFdR
M2wySldvUHR3dW0wdgpUSC8rK1h3WVhlWXg0RWpqRkQ3MjJHTmU4OEVlYUQvZy9lNjc3eGIrSGpN
ZnFYeTM0T0VCS1pFNHB2TmQ3aHUvRTc3UG9oU1pUQVJFClFBUkVRQVJFUUFTeVRDQnlCSVR6VWdV
TFo0TjhjTko2MnJWcjV3WGtSRE1tVEpqZzA0ZWlqTzlIVjROMTk5MTM5MCtnY1I1d1JybzQKMVRH
Q2Rub3NSTlU2Wkpxdzc4RHN0Z0xaVmx0dFpWZGNjWVhueTVOejBudGVlKzAxbjVaR3cwV2NrQ2pH
ZnFUSDRaVHhoSjVqdnZEQwpDLzVlOFZTYnRMbmp5WDBxUjNQWlppNlZ5ZHdZelp6MHgya3FDZ2Jq
c3ZIOGN0ZGczRFZKTE1jQlJqdzFFYnNMTHJqQTlTNjUxbGVGClEwK0Jvd2gvR2tybXV4RkZaT3lr
NnZHL3VPR0dHL29oazVKR3lXMGVDb1NiaitiNzlXaDhJaUFDSWlBQ0lpQUMrVThnbGdOQzEyd3EK
WFpIR3cxTlRVbnNRa0tQaG9Gb1QrZ1hzbFZkZThSTWEwbitTR1UrT0taK0w1b01ucnRPblQvY2lk
RkpXaUlEUUpUMUkwMGkyZjdBcwpXeFAyNEhqNThBNWZ1SHp5eVNmZWVjRFpneGY2aEZROGs0Mzcy
R09QOWZkam4zMzI4YXRuenB6cHF4cFJIcFpKYzNtYmErN3UwcC9NCjNmZC9uQS9HNUxMeGZHUEMx
MTgzNStDVzl5Z3pueCtIanNJTU5EUWsya1JQRVpoWGxFazdXaGdlQ09Da0JzNEhWNDE0bm9jQ1JI
SkkKMzVPSmdBaUlnQWlJZ0FpSVFMWUl4SEpBT0NuT0FRNUc5KzdkL1lzSk1pVmZuM3Z1T2Z2amp6
Kzh1SmNKMkFNUFBPRFhweG9vWlQ5SgpYNkVFTHkrTTZsaWtEWkdDRmFSVHBkby9XSjZ0Q1h0d3ZQ
SitwMHY1ZSsrOTUwdWZCbVY0RHpua2tGakNmUGp4Qko1SkpQY3FNS296CnNSdzlUM2tiT284dHRq
QlhlYW5vU0lpQU9DbUMweGtWWFo3UDM0Z1drSmI0SFY2Vk03NVhGQWNFQjJxampUWXFVcDBxdUFa
K094USsKa0ltQUNJaUFDSWlBQ0loQU5nbFVjeWtZTGhrbXVwRVNSSW9KS1J1cEJMaE1kSW1Ja0NL
Vnl0NTg4MDIvS3ZFNENJT2phaDJDWStQNAowS3VncEJQMjREajU4UDY2ZS9SUGVsbzY0NWF4M1I3
a0thVXdvbEVqUm95SUZFbEtjWWdjTEs1VzVKajRSa2lIYnJubG44Vmt6ZUdVCnVBZnZidXovTEMv
TnA5R2pIM2FsZk91NmxLNEd2dWNGRGhxT00yVm5TU3ZFMmVVVmJNTjdVRDZYdE1DdzRSeUdqYWdI
SGNPWExsM3EKUmV3STJUbitMZTZpMGszZVc3Um9HVDVNamo4WC9SZFB2QVllQkx6NDRvdStjbGN3
RURRZzhIbnl5U2RUL29iaVhrTTI3ME13VHIyTApnQWlJZ0FpSWdBaFVQQUt4SEJBbVdWdTR4OVk0
Q2FRRE1jRkNCNEtHSTdHYk1zM05VdlZVV094S0h0RkhnY2thRXovNkwzQXMzcWU3CmRDeWlMRkVO
YlFRVmpSTHRvWWNlc3E1ZHV5WXV6dnZ2UkNlb0RwUk9COFBUZGlhNWQ5eHhSOHJyUVVDODExNTdw
Wnc4c21NVVJ5YmwKQ1VxMG9yaEhRYU5CSi9zeDEzTENtOHRrTXRkbXcrbGZTblNDcER1OThNSVVY
MjF0eXkyMzlGeEo3K09WckFvV3Yxa2NaOVpSY25xZApkZFlwY3N6dzVCMStOSW1rNGhqVnllZ1B3
bjNqOTQwRFFxb2J6a3d5aXp0NVQzYU02TXZTT3lBY2gvOXRVaW1Ea3MxY0o4NVhxdjloCjlvbDdE
ZG04RDV4ZkpnSWlJQUlpSUFJaVVERUp4SEpBdU1UYmI3L2Q5NmtnN1FvZENDL0t2Ukx4d0JIaGhT
TkJSSUkwcTFTR2pvUnEKUVR6SkQ0N0RaNTQ4STBTUGFteVAyRGNjTlNFVmhra2cxWjdTVGFDaW5x
TXN0Mk5pM0xoeDQ3UU9DT05ob2hoT3Iwb2NZN1ljbWNUagpsdTU3Y1FjazAvSElhaUpTNHViNUpi
WnNUbnpERHNpWFgzNXAwNlpOODZXVEV3ZUhKb1I3bVNyZExlN2tQZkg0OGI1bmRrQXlIUSt0CkNK
RVMvcjhEaTNzTjJid1B3UmowTGdJaUlBSWlJQUlpVVBFSXhOYUE0RlE4Nytxa0huNzQ0WVkyQWNO
aFlDS0dJMEZGSFZLaFdKZk8KQWVFSjhlREJnMzBUTjU0ZXN4KzU4NVFBNWVsK3VnaEFHRE05Uk5C
TkJNMFJXY2ZFbkNmVFRCQ3AybFdSN0c2bnlrN0hMZXExSU9nbgpVcEtKWS9ERU8rcHhzN25kTmRl
WTNYOS8raU82b2xLK1dXRnBISkQwWnlqNVdpSWxGRUpJWnA5Ly9ubUYrZTN4bTN2ODhjZVRYVWJo
Ck12Ulo5T2tKT3lDRksvVkJCRVJBQkVSQUJFUkFCR0lRaU8yQXpKa3p4MWZMSVljKzBJQTBhdFRJ
T25YcTVGK2NHdzBJMjZVem9oM28KUDBpVjRpa3hYYitKWmh4NjZLSHBkaXUyam1wYW5UdDNMcktj
M0hXcVFKRXVWdEVzU3VuZ0tLbFQyWEprY3NudmlTZk0rdlVyMmduZAorWjlPbjJHdWdkOC9aM1kv
cjd3MDBnaHhvdm05Y2Q5SUtYem5uWGQ4VVlhSkV5ZjYwdFI1T2ZDRVFWR2krY3d6enl5aTJlTC9s
Ly94CkhYZmNzWEJyTkRReUVSQUJFUkFCRVJBQkVTZ3RnVmdPQ0huaUJ4NTRZRVlOQ0JNenlwR21N
bEtrMERrd2NjT0p3ZkhZWlpkZGZEOEYKanA5T3ZKNTR6RVRuZy9Xa1h0RVlrVWdJeDZ0SWR2NzU1
MGZXZ0tRVG9XZkxrY2tWdTIrK0tlaDY3dlRiUmV6c3M4MWNXeGtYR1N2cQptQlRaS0krK0VLM3Ez
YnUzTFZ5NDBQOXUrVTBUbGZ2M3YvOWRKQ3FYUjBNdU1oVCtwK2w2ZnNJSkp4Ulp6djhWbGU3NFB3
MGVOQlRaClFGOUVRQVJFUUFSRVFBUkVvSVFFWWprZ2xPeEVXSHZhYWFmNXA3eWtYRkZ1bHdsWUhB
M0krdXV2YnpmZGRKUHZ0a3h6UFo3QThpTEYKQXlIdjIyKy9YYUxMZWZUUlIvMWtpcktpYUZCSTdh
cG9scTNVcVd3NU1ybmk1MzVLVGdTZi9PZ3UyOGMxU3pRbjdrNit2cVJMaVJ4aApZOGFNTVg0cmZQ
Lzk5OSs5NDREVDI2RkRCMS9SS3M3eFNXRWI3MXE2VXo2YWxMY05YSDFoK21hZzQ2a0loc2crNEpJ
NDNoVXJWaGkvCngweFYyUkwzeS9ROU9GODI3ME9tYzJxOUNJaUFDSWlBQ0loQS9oQ0k1WUF3N0d4
cFFIQmFLT2xMaElMWGpUZmU2TFVrczJmUExqR2QKaXk2NnlFLytjSWJpcG5LVitLUlozakZicVZQ
WmNtU3lmSG1GaDNPVm5JMG95TU1QbTlNTG1XdTJXRkI2MTJYa3VVbXZ1ZDRVaFp0bQo1VU13NmVW
Z0hUdDI5R1ZuZWZvZkdGRTR1c01qSEk5amxKTW1oVEJSRzBGWjJ3TUk1ZVM1VWJ3QkRqanNlN3Uy
OUVSdmFJSkpCSkVtCm9UeDB5S2JsNmo1a2M0dzZsZ2lJZ0FpSWdBaUlRRzRKeEhaQXFINUZWMjRt
S0RRUXBMRmRTVFFnanozMldER1JMc2Vockc5Vk5qckwKWjhPeTVjaGtZeXlwam5IOTllWlNmTXgx
YkM4b3Urc2V1THQwSDdNQkE4d1ZGa2kxVi96bE9CVmh4NElTMHFRVzNYbm5uWVVISXdVSgpKeVE4
UVM1Y21lYkRlZWVkWjl0dnYzMlJLbXdVVWFCYUZoSENWR1Y0MHh5eXpGZnhNS0JQbno1MjJXV1gr
YXB4bE5BbUlzUzFaYk5JClFTN3ZRNWxEMHdsRlFBUkVRQVJFUUFSS1RDQ1dBMElsSEJxVUlSaW5U
d0tUWlNhNnc0Y1BMeUw0UmdQQ0s1VlIwdlBrazAvMklsZWUKc0JJQndmSGdSWFdzZ1FNSEZwblFw
VHBPWlZ3ZXRRTjg0clZUaVd6czJMR0ZLVVNwSEpsM1hZYy9KdUNwcWpjbEhqZVgzK3ZWTS9mawoz
WXlnRnpVTG5JYmJsWEEyYTlZc3UyZEZsOEVyYlB6bXFPYUdhTHhKa3lZK1hTOXdVdUk0SVpSNXJ1
Y3VKS3hiUXVPMHAxUFJmK3VhCm5HUnpBaDhlZnpZLzR5VGRkZGRkbmdXTkZhbWNoaVlyMjBVY2Nu
a2Zzc2xEeHhJQkVSQUJFUkFCRWNndGdWZ09DRTRIRXlzcS9HQTAKTGhzeVpJZ2RlZVNSTm1YS0ZF
UGJFY1hJajZlSkhwb1A5QjdvUDNBODBKYVFFa0lheUhYWFhSZmxVRVcyb1pJUFQ3R3JvaEdWNnVX
VQoyM1JBWjBLYzZNZ3dLWVk1VmNQUzlROHBTM1pFUEo1OTFsdzFORkw3Q3M3c0pCazVzY0M1Q0Iv
OGpEUE84RS81Y1lZUldnZmJCTy9oCmJWTjlobWVpNEovcVVRTmNHSWZHaHhYQmZ2dnRONXM1YzZZ
dlowMGFHdmJISDMva1pPakoyR2JqUHVSa3NEcW9DSWlBQ0lpQUNJaEEKVGdoVWozUFVoaTVSbjd4
Mm51eGlPQXIvK3RlL2JOU29VVjZjSHVkWU9Bc2NoMzRpVE9MSU4xKzBhSkhYYm56eHhSZE9HL0J3
cE1OUgp6amV3cTY2NnlvSlNvVHpKclVxR3JnSHRDNlZndy9iWlo1LzVxQWhQcysrNzd6N3ZRSWJY
bCtkbkp6bHc1WkxOV3JZc0VKMDcvOVpWClR5dW9nSldyY1lXakcxdHZ2YlhYTlBIT3hKZ245S3dQ
WGxIR2tNaWJmWEJtZnZ6eFJ5UGFWQkVNcHhYOUZORk5OQzA4YUtDWktFNVUKcml6Yjl5Rlg0OVJ4
UlVBRVJFQUVSRUFFc2s4Z1ZnU0UweU8ySlYwRGtmZGVlKzNsUjlUU3pTQ2JOMjhlcTRFZ1QxaHhP
QkMva3RKRgpOR1RqalRmMm1oS2VTRWUxQ3k2NHdQY2ZDVGNpSkFlZjR4S1Z3ZENyMEpTUW5QYUth
bHdMRlpZU243WUgxd003S3BKMTZkTEZwN0xSCmdKSDB1RUJyUS9TRGlTWnNmdjMxMTJDM2NudDNE
OTN0MDAvTlZZOHlsd0pWMEE5a24zM01OYUkwbXo2ZFVzclpGNkp6c2VFbjhFeUMKU1RYaVBVZ1BD
cHlQWUJuN3BMTUxMN3pROW5FRER6c2kvSzRSb1o5MTFsbnBkczJMZGVnOUtDRThiTmd3NzhEZWZ2
dnQxcXBWS3hzeApZb1RSemYzNzc3OVBXMUs3cEJlUjdmdFEwbkZvUHhFUUFSRVFBUkVRZ2JJbkVN
c0I0YWt1SlRsNVFzclRVWndSSnJ4Tm16YjFGYXd5CmRkME9YeDZOQWovNjZDUGYvWnd1NlBTMEdE
bHlwTmVHaExmTDlCbFJQSG44WVFjazJJY24wRGhIdkwvLy92c1Z3Z0hwNXpyelRabzAKeVg2aUJY
akljQnJRR2RDeG1nbHZNcU1vQURvYW5CV2NSSnl3L3YzNzI2V1hYbG80OFdhaW5BOXBhblhxbUhN
MnpWVmVLaENlWDNHRgp1VlE4YzRVTnpGVmVLb2lJL0M4YktObWx4bHBHU2xUWXNRZ212emhqcVJ5
UFlIbW1FMzNqU25tUlJoaldnSkJpU0xucTdiYmJMdFB1CjViNGVEY3Nocmd3WlRVR0ozT0EwVVoy
T1VzS1U2S1dhR2c4SHNtRzV2QS9aR0orT0lRSWlJQUlpSUFJaVVEWUVZamtncEdDUkxvWG0KZzVT
cDZlNVJOVS9abWFRUUFlbmJ0Mi9oUkRmZDhIRmttUFE4L2ZUVGZqT2V3TkpSbWo0TXMyYk5pdlhF
OVQvLytZL1I4eUtZVkNZNwo3eFhNYml1QVVRNlYvaWhCWDVWZzBzelE1ODZkNjByVk5uUVJncGU5
VXhXa21pVmVGaHh3UkhnaFRCODllclJ2S01kaytLU1RUdkpwCmN6Z3o5RW9wYnlQOWlncFlnVC9s
WkFqT1VUVG5nSm1id0dkdmRIQU1XeERkb0toQzhCbW5HdjBSNzB6RWNVQ1lNR2N5S21reFdhL0kK
aHROS0JTd2lIeGhkMEVuZDQ3ZVd6YWhoTHU5RFJlYXZzWXVBQ0lpQUNJaEFWU01ReXdFQkRuMUFt
QXdIazF5V01aR2pFUnRQbEJQRgp6NnhQTktvd2tVNFUyT2FiYis0clgxSFNsOGdLVGs1VUk0VW1t
Zk9CYzlTMmJkdW9oOG1MN2FnSWhoQ2ZOSmhFUXhPenJhdE55L1ZHCk5jb2FJMHpIaUFMQmRmTGt5
VjVmVTk0T2lQdXArQWdJTlFOY3cvcEMrK3FyZ3VXdXRVYldERWNpaUdpUStzZHIrZkxsUnFNOUlo
ZjgKZm5qSCtlQ2RpVEw3UkhGQVVwWFpKWDJKMU1KOE4vNW5MNzc0WWw4WmpmL3J3SWpzOEQ5T1k5
QnNXUzd2UTdiR3FPT0lnQWlJZ0FpSQpnQWprbmtCc0I0UWhrYTRSTnFvdUlTYVBhcVFCOFpTVkNY
VjRna01hRnAzUm1TeUdVMXJTSFpmK0RaUlU1ZWwxWUV3c0VhZlRVSTJuCjJSWEphQVpIaElob1I5
aHd6b0pyWVQwTkcrT2t4cENLUm5sam9pdHhVdVhDWThqbVoxZnAxWW1leldrTjBHVms4OGpGajRW
ajhha1QKbkJBUm91SVRrMjZjRHRLUGNKamh3WHZ3R2M1TWx0a1diVTA2UXdQQzd6YjgrMk0vK29C
UUxTNjRaK21PVVo3cnVIWlNLVWtaUytiSQpaM05zdWJ3UDJSeW5qaVVDSWlBQ0lpQUNJcEJiQXRY
YzA5NmkrU2taemtkMUtYb2JoRVczR1haSnVocU5RNXMyYmZ3a21wNFZpS1l4Cnl1K2lnd2hQNkpJ
ZTRIOExOOXh3UTU4NkVwN29MVjY4MkZoT2VreEY2TU1Rdmo2dW0vS3R5VFF0d1hiMFVhRUl3UDMz
M3g4c3FoanYKdWZZMGNrRWg4ZDlEMTVBTHlwbVBtWGdmTXUraExVUkFCRVJBQkVSQUJQS1V3RDlo
Z3dnRHBDSU9YWjhSTnVNa2xNWVF1SklPUkRsZQpJaUZFVVhnaTNiVnIxOGpPQitlbitWN2JoRlNy
MzEwemlXdXV1YWJDT1I5Y0Q0NFlrUTNTMUFJakh4L0hKQ3hxSmwxTEpnSWlJQUlpCklBSWlJQUlp
SUFJVmpVRHNDTWhERHoza1U1NDIzWFRUckYwckluYjZENUFtUkduZk9La2dDeFlzc0NiVWNVMHdV
clBvQzRJNHZpTFoKdkhuemJLZWRkaW8yNUU2ZE90bTRjZVB5UHFXbjJNRERDeFE5Q05Nb3U4K0ow
WVBLY0IvS2pwN09KQUlpSUFJaUlBSWlrR1VDc1IwUQpCTHlVaVdXaUhQVHZDS2MvWlhsOEdROUhL
aEo5UTRLcVVPZy9LTzlMQklUU3UwRnFWOFlENWNrR0NJRVROVFlNalE3VjZEZFNsZUROCmsrR25I
MFpsbVBqcUd0TGY0MXl0VFhTaWNuVWVIVmNFUkVBRVJFQUVSQ0RuQkdJN0lKVGdEZnAzTEZteXBM
Qi9SN05telhJKzJHUW4KSUZxQ0F4UjJnaEFRa3lLR25xU2lHUkViU2hRSEdoQWtPZ2lveDQ4Zjc4
c2RwMnBFbUhpZE9HTFBQdnVzZDJZQ0hReXBhYVhWN2lTZQpKOVozVGQ1ajRjcmF4b21UOThwd0g3
SUdSd2NTQVJFUUFSRVFBUkVvYXdMVjQ1d3c2TitCQTRMUW0rN2lQSkduZndmNmtQSXdJaDFVCkhX
SnlIYnpRVEtBcHFZaEc1UzRjaCtEMTNIUFArZXVpVTNWVTU0UHJwcG9XelI1SmE1c3hZNFl2TWJ2
ZWV1c1ZsdVd0aUd3MFpoRVEKQVJFUUFSRVFBUkVRZ1lwUElKWUlQWnY5TzdLRjdvSUxMaWhXVm5h
TExiYXdqei8rMkhjVFIreGVrZXlKSjU2d0k0NDRvbFJEeGlFagpha0p2bGlaT0gwTTBDRWVSeG5M
MFIvbjY2Ni96b2hGaHFTNVNPNHVBQ0lpQUNJaUFDSWlBQ0ZSSUFyRWlJRUgvRG5vY2hJMCtDT2dX
CjZOOFIxZENTa0ZaRUJJTitDVkdhdmlVNzlsMTMzZVVieXdXTjVqaE9rTEpFODcyS1pxbWNEOUxk
RU90SE1kSzM2QnRDRklRbWozU0MKZitHRkYyekhIWGYwVVJFaUlqSVJFQUVSRUFFUkVBRVJFQUVS
S0E4Q3NUVWcyZXJma1MwdFNhcUtXVXkyWDNFdHRsTjFxaTRQMkZITwpPWFhxVkJzOGVMRE5ueisv
eU9hTEZpM3lUa1JVRVRxRkFrYU5HbFVvV3A4NWM2YnR2dnZ1dm9BQVRlZDJ6V2FyOFNJalRmT2xN
bWdQCmRBMXBibkFPVnlYcVdISjRLaDFhQkVSQUJFUkFCRVFndHdReXBtRGhjSVRUbUxMUnZ5UFFr
ano5OU5QKzZoWXVYT2duM1doSlpzMmEKWldnVm9scm56cDJ0ZS9mdWhaM1Q2ZXpNVTMvU3NNTEM5
S2pISzgvdGlBcFI3YXAxNjlaMjJtbW5GVjVUTUNiU3FhSVluYjZKZ0t5OQo5dHJlQ1F2MitlcXJy
L3p5Y25FK2drSG9YUVJFUUFSRVFBUkVRQVJFb0VvVHlCZ0JJVDNxbDE5KzhhazdUTzdEVnRMK0hZ
akZKMHlZCjRJOFpQdDdzMmJOdHpKZ3hObWpRb1BEaXRKOUp0M3I3N2JmenE5cFQyaEduWG9sMm8w
V0xGa2EzK1pvMWE2YmVNTUthVTA0NXhVYU0KR0JHcnAwcUV3Mm9URVJBQkVSQUJFUkFCRVJBQkVT
Z1ZnVWdha0pOT09za2FOV3JrcTEzZGV1dXRScThLTkJlNzdMS0xuWDMyMmY2SgpQVTVGVk11bWxv
UW4vWldsMmhQYURSb09MbDI2dEJoS1VyQ2lha0RZbVFoS01udnFxYWVTTGRZeUVSQUJFUkFCRVJB
QkVSQUJFU2dUCkFobFRzS3BYcjI0ZmZ2aWhMN21McHVMYWE2KzF5eTY3ek9yWHIyLzc3NysvNzRy
ZXRtMWJJNTJxVDU4K2tRZk50bTNhdExIMjdkdmIKNmFlZlh0Z3drTksrT0RlY041TlZ0bXBQcEU0
dFc3Yk1Nd2w2ZHdRTTBJUlFpamVxNGNpUWFoV09XcEhpOWNZYmJ4ak9URVV0VXh6MQorcldkQ0lp
QUNJaUFDSWlBQ0loQWZoTElPTXR2MTY2ZGR3NE9QdmhnSTYySDFLbWZmLzdaUm84ZWJadHV1cWxk
ZGRWVnR0MTIyOW1BCkFRTmlYV0dnSmFGYitiYmJidXNkbXZYWFg5OVB3R3ZVeU9nWCtYTlZ0bXBQ
T0F2MEFZRURVYUx3cTFXclZyRzBNWlJNaGpHT1J2QWkKU25YUVFRZDVCeVRXemRMR0lpQUNJaUFD
SWlBQ0lpQUNJcEFsQWhrMUlPSHpNSUY5NktHSDdLeXp6aXBjaktCODZOQ2hmbko4NnFtbgpXbFRu
b2ZBQTdrTkp0U1FjSXkrclBZVXZMdWJuYWRPbStjaFN6TjJLYlk2ZWh2TElZYU5FY2MrZVBlMmVl
KzZSTmlRTVJwOUZRQVJFClFBUkVRQVJFUUFUS2pFQzBVTVAvaHNNVGVYcUEwTXlPdEN1c1ljT0dQ
dldLMHE1eG5JK0JBd2NhVVJXNmU2TWw0WVd0V0xIQ2VIb2YKeFNwanRTZWlPc2tzekR6WitzUmx0
V3ZYVGx6a3E0S2hMM245OWRlTE9TZkZOdFlDRVJBQkVSQUJFUkFCRVJBQkVjZ0JnVmdSRU02UApS
bUhmZmZlMTNYYmJ6WHIwNk9Hck5xMWN1ZEwyM0hOUG8vRmYxTkszOUxONDlkVlhiWU1OTnZDT0NN
NElqZk5JOGVyVnExZmtTNjFzCjFaNDIyV1FUcjZzSk8zTTRaVGdOcEdkRjVkdXNXVE92SlFrN05K
OS8vcmx2L29nT2hNYVJNaEVRQVJFUUFSRVFBUkVRQVJFb2F3S3gKSFJBRytOLy8vdGVuOG93ZE83
WndRa3hFaEc3YmNleWJiNzZ4aHg5KzJPNjc3ejc3MnpVYVc3QmdnWStpNE9Ta0U2SGo2T0M4a0Fw
RwpGSVRKZXFxR2hISEdrdy9iYnJqaGhvYmVJK3hvTEY2ODJGaCs1NTEzV3FJNFBkV1lpWUJRMGpk
OEhKeTlFMDQ0d2FocUpoTUJFUkFCCkVSQUJFUkFCRVJDQjhpQlFJZ2NrR0dqZ0NGQ2k5OUJERHkx
eDEvRlZxMWJaNDQ4LzdwMk9CZzBhK09wWXlWS0lPQzhDZUNiU1JGQU8KUFBCQSsrNjc3M3lKNEN1
dnZOSlAwQjk0NEFHakMvckZGMTlzTFZ1MkRJWmFZZDZUcFZxaHZibm1tbXZzeGh0dmpId2RVNlpN
TVFvSQp5RVJBQkVSQUJFUkFCRVJBQkVRZ253akVka0FRTWovLy9QTkdWMjFTc2FpQWxTMzcrT09Q
dmFBZGZVZ3FJMFdMQm51UFB2cW9UMG5hCmV1dXREYWRqM3J4NWZobmQxRmxHV1dCZWpSczNUbldv
dkZ4T0ZDaFp4M01pRjFRY2E5NjhlZVJ4VXo1NTNMaHg5c01QUC9oS1ppZWUKZUtMWDdFUStnRFlV
QVJFUUFSRVFBUkVRQVJFUWdTd1RpTzJBSEhEQUFUWno1a3d2RkNjYVFTUEMyMjY3TGJKd1BOMzRC
dzhlN0FYdApwR0NGKzFlRTl5RmRpd24xcFpkZTZqVW5pTmpSb0Z4OTlkVkdGYTVnZ2s3UEVpcDBI
WDc0NGVIZDgvNHprYVNUVHo3WmlBUmg2RDgrCit1Z2pId0doWlBFMjIyd1Q2Um9vazl5MWExY2p1
clRsbGxzYVBWT0lwTkJwL3BCRERvbDBERzBrQWlJZ0FpSWdBaUlnQWlJZ0F0a20KRUtzS0ZsRVBY
alFMSkEzcXpEUFB0SysvL3RwM1NFZi9FUlpPbDJTZ0hJKzBvVlRPQjhlaytlSElrU1A5NFhGVTBE
aFFuZXV3d3c2egpqVGZlMkMvSElYbnl5U2Z0NktPUDl0OHIwcC9ubm52T1NKOEthemVJT2wxKytl
V1JuUSsyUCtlY2MreTg4ODZ6M3IxN0YwWlVpSWpRClNKS0tZK3V1dTI1RndxS3hpb0FJaUlBSWlJ
QUlpSUFJVkJJQ0dSc1JocStUZENaMEZ4dHR0SkhYYTJ5MjJXWmV1OEVrOTVaYmJnbHYKV3FMUFZH
ektsTkxWdEdsVCsvYmJiLzN4aVhBRUUybDZYdXkrKys2MjAwNDcrZWpCN2JmZjdzWGNKUnBJT2U2
RTFpT0lWaEN4NFBYWgpaNS9GNmx3T0Y1cEUzbnJycllYT0I1ZEV3MGVPUDJ2V3JISzhRcDFhQkVS
QUJFUkFCRVJBQkVTZ0toT0k1WURRbjRNcVRILzg4WWRuCjFxWk5HM3Z3d1FldFU2ZE92bnQzV1lF
a3JXcnk1TWxlODhHNXNabzFhL3FVckFzdnZORHV1dXN1Ty9MSUl5MWNncmFzeGxiYTgxeHcKd1FY
RklrQmJiTEdGb1kvNTZhZWZJaDBlcHl5VkFQL3R0OTh1akJRUktaa3paMDZrWTJvakVSQUJFUkFC
RVJBQkVSQUJFY2dHZ2RnYQprRjkvL2RXbzFFVEswMTkvL1dVSEhYU1FFUWxCRC9MRUUwK2tMWiti
alFFSHgvajAwMC90aXkrK3NQMzIyODg3SDhIeTRKMnhISFBNCk1jSFhDdk5PUThkTExybWtNSjJO
OHNSYzUxNTc3ZVg1SXZ6UFpFUlFqai8rZUsvL1FKQWZHQ2xZZEozdjBxV0xYMFFrQ1gwSTU1U0oK
Z0FpSWdBaUlnQWlJZ0FpSVFGa1FpTzJBSkE3cWwxOStzZnZ2djkrMjJtb3I2OWl4WStMcXBOL3BJ
NEkrZ1NmNzU1NTdydEY4cnpUMgp6anZ2MktoUm8yelJva1UrNVFneE91bEdGZEZTOVRPaHREREMr
cnAxNjBhNkxKbzZrcjRWcEtqaHlQRENnczlFUUxodjNEK1pDSWlBCkNJaUFDSWlBQ0lpQUNKUUZn
ZGdPQ0k1RCsvYnRqY2FEcEdRRlJyV204UGRnZWJKM1VvbDY5dXhwNkRTQ0NUS0NjaHJ1eFhVYzdy
MzMKWHUvRVVMcVdhQXpkd3VsTFFwcldhYWVkbHV6MGViMk15RVgzN3QwTEkwa0k4amZmZkhQdnJJ
V0Y2Wmt1Z2lwWUhDdk9QcG1PcWZVaQpJQUlpSUFJaUlBSWlJQUlpVUZvQ3NSMFFla2xNbWpUSlAx
MG5IU2h3Umw1NjZTVzc2S0tMSW8wSFBRT2xkRWtyNG1rOEhiNnA4a1JYCmMwckg0bFJFTWJRbzll
dlg5NTI5aHd3WjRyVVRWSG1pSkcrM2J0Mk1maUtCZ3hQbGVQbXdEVTVZcG9nUXpSZUpobFRFS2wv
NXdGaGoKRUFFUkVBRVJFQUVSRUFFUktEOENzVVRvREpNK0VreUFIM3JvSVMrS2Z1eXh4N3dqZ2ZB
N3FxRkx3TW00Kys2N2ZkZHpoTmM5ZXZUdwpmVHRJTmNJUmlXS1VCTVlKb1E5Sll1bmVYWGZkMVVq
TnFtaEdueE1xV0tWN1VRamdtV2VlcVdpWHB2R0tnQWlJZ0FpSWdBaUlnQWlJCmdNWHFBeEx3b3U4
RzZUM0hIbnVzUGZMSUkxNkV2bVRKRWtQKzVoTGlBQUFnQUVsRVFWUlRFRFhsNTZ5enp2SlJENDVG
V1ZqSzZHSTgKMmNjWmlXSm9TSWh3b0hVSURJY0VQY2dkZDl6aEJkZkI4b3J5am5pK1g3OStSVGkr
L1BMTG51MmVlKzVaZUJta21jbEVRQVJFUUFSRQpRQVJFUUFSRW9LSVJpSjJDUlFVc0pyK1VlUTBF
MDZSa2tRcTF6ejc3bFBqNjBaQU1HRERBZC8wZU8zWnNZUldvVEFjY1AzNjhMNzk3CjVaVlgrazF4
WG9pdVhISEZGWGI5OWRkbjJqMnYxbi96elRjK3N0UzNiOTlpNDZJRGZXS0R3bUliYVlFSWlJQUlp
SUFJaUlBSWlJQUkKNURtQldBNEkxYXVJT3F4YXRjcldYbnR0MzVXY3hvUzc3YmFiMFg4REhVaFVv
NFR2akJrejdMWFhYalBTcmpnT3ZUeEtZcFNwL2Y3Nwo3MzBqUW81SEZJWXhWVFNESzdxVlN5Kzl0
TmpRdVI2YVBkSUp2alMyY09GQ28zSlppeFl0U25NWTdTc0NJaUFDSWlBQ0lpQUNJaUFDCkpTSVFT
d05DNUlOSk1KTll0Q0JVbnJybm5uc012UVhpYVZLd290cEpKNTFrUE5VZk5HaVFkZWpRd2FkZ3pa
OC9QK3J1UmJhamx3VmQKMERIU2xDcWk4OEhZYTlTb1lVUkJIbjc0WVZ1NmRLbm5PVy9lUE8vYzBi
K0REdlFsdGJsejV4cHBiMVFaUThNakV3RVJFQUVSRUFFUgpFQUVSRUlIeUlCQXJBc0lBcVZwRkds
YjRTZnlQUC83b0l5S0pRdkJVRjBRRnJDT09PTUtlZnZwcHIrRll2bnk1alJ3NTBoQmdUNXc0CnNW
UVQ3VlRuckNqTEtVY2NWQnFqa3p1cGFVUjBTQ2U3N0xMTFlsMEcrNkxSSVNYdGpUZmVNSHFEYkwv
OTl0YTVjMmZ2L01VNm1EWVcKQVJFUUFSRVFBUkVRQVJFUWdTd1FpTzJBUFAvODh6WnMyRER2Y0J4
eXlDRmVpQjUzSEFqRmlaeWNmLzc1UlhhbGtTQ1ZzZFNaMjJ6Mgo3TmsyWjg0Y1E2UlB1ZU5telpv
VllaWHVDNko4MHJpR0R4OXV0V3ZYOXYxUXpqampES042RmtZS0Zwb2RtUWlJZ0FpSWdBaUlnQWlJ
CmdBaVVOWUZZVmJCNE9uL2NjY2Y1Sitta0NwR0dOWFRvVU8rUVpPcGRFYjR3dEI1RVN4S3JabEY2
bGlmMFJGa0NnWHQ0djZyMG1hcGcKUVdXd3VOZU4wM0xPT2VkNFI2TkJnd2ErcXRobW0yM21EN05n
d1FLZmdoV2tyTVU5dHJZWEFSRVFBUkVRQVJFUUFSRVFnZElRaUJVQgpXYmx5cFhYcDBzVWVmL3h4
ZjA0Nm10TkVrTzh2dnZpaU5XellNUEpZY0daZWYvMTFMejRQZHJyNTVwdjlwTGwvLy82eEhCQ2U2
Rk01Cml3YUhPRUtkT25YeTNjT0Q0MWJsZDNxbERCNDgyT0JOTkdURWlCRkc3eGIwTnpJUkVBRVJF
QUVSRUFFUkVBRVJLR3NDc1VUb1RHRDMKMjI4L0w1Um1vT3VzczQ0dmQzdi8vZmZiZGRkZEYydnM5
ZXJWSytKOHNQTW5uM3ppSXlCeG9oK0lxeEZXbjMzMjJUNTlDNjFFOCtiTgpiY0tFQ2JIR1V4azNw
cUhqcTYrKzZ2dWhFS21pUXRoaGh4MVdHUzlWMXlRQ0lpQUNJaUFDSWlBQ0lsQkJDTVJ5UUVpWklz
S0FHSnFJClIyQzc3TEtMMGQwOGFnZHo5cVBjYkdLbmNoeVpvNDQ2S2poc3huZFN0VTQ1NVJTdmNa
ZzVjNmJ2ekU2cDRQZmVlODhlZlBCQi85US8KNDBFcTRRWm9RR2htU0VwYjc5NjlyVldyVnA0SkRn
aTZFTzZWVEFSRVFBUkVRQVJFUUFSRVFBVEtnMENzRkN5cVYyMnp6VGErWE95MwozMzdyUzk4ZWZm
VFJSaG5jTDcvODB2cjA2Vk40RFFqTjAvWDFvR2toVCtjMzJHQURPL2pnZy8yTEtrMUVMbnIxNmxW
NG5IUWZpSmc4CjlkUlRkc2tsbHhUYmpFcGQxYXRYdHpadDJoUmJWeFVXZlBUUlIxNmZRNXJjeVNl
ZlhLUnFXVlc0ZmwyakNJaUFDSWlBQ0lpQUNJaEEKZmhLSTVZQndDVlRBT3VhWVkzd3ZrTW1USnh0
VnNWNSsrV1ZmS3BiU3ZGVEdhdHUycmMyYU5jdjNuVWgzMlVIUEM4cnZFczFBSUUwdgpEUFFLT0Er
WjdMUFBQdk82ajBNUFBiVFlwcFNlM1dHSEhheDE2OWJGMWxXbEJlaDJIbjMwVVY4NkdZRS9MeXBn
N2JYWFhsVUpnNjVWCkJFUkFCRVJBQkVSQUJFUWdUd2pFZGtBWU56MGx3czMrbU9TU0FqVmx5aFI3
NFlVWGpPWjVWRmtpd2hIRjZBQ09rQjJuZzZwTlJDM1EKbTBReGVtWWdqS2NCSVgwelNETmlIS05I
ajdZUFAvelExbHByclNpSHFSTGJ2UHZ1dXo3MXJXdlhyaEtoVjRrN3Jvc1VBUkVRQVJFUQpBUkVR
Z2Z3akVOc0JlZW1sbHd5dEJnNENxVk9VNVUwMFVyV29jSlVzTXBHNGJmZzdWYXdRUzZNUGlXbzRH
VWNlZWFRWHNOT3dENTBLCjFiaG93TmV1WGJ1b2g2bFMyNkVSb1ZTdlRBUkVRQVJFUUFSRVFBUkVR
QVRLbWtBc0I0VFVxQ1pObXZqb0IxRUxuQXdFNkFpYnQ5aGkKaTFLUG5YS3g2RWc0VDlTdTZwd1V2
Y2t6enp4VFdJYVhOTEQxMTErLzFPT3B5QWNnb2tRNTRuUkdCM3NhSHJadjN6N2RabG9uQWlJZwpB
aUlnQWlJZ0FpSWdBbGtqRU1zQlljS0tvSG5peElsK0FQVGZHREpraUkwYU5jcW5QY1daOU9NMFRK
bzB5YWRya2M3RkpKaGw2RUMyCjIyNjd5QmZJQkRwWnd6NldyN2ZlZW9YZHZ5TWZzSkpzaUphRzRn
Q2twYVV5SWxWRXFZaG95VVJBQkVSQUJFUkFCRVJBQkVTZ0xBakUKY2tBWTBLMjMzdXFkRUtwWEJZ
YTI0SUVISHJCQmd3WUZpeksra3paRnBhYmx5NWZia2lWTHZCTXhjdVJJYTlhc1djWjl3eHVnRjBI
VApRRitSc0JHZFlRSk8zd3VpTTNGNmk0U1BVMUUvSXpiSHFRdHJZQkR0NDVpRUhieDExMTNYemp6
enpJcDZtUnEzQ0lpQUNJaUFDSWlBCkNJaEFCU01RMndGNSsrMjN2V0NjSitmaFNrcG9OMDQ3N2JS
SXFWTkVVaENKOSt6WjArTmF1SENoNzlaTlNWMnFaeEc1aUdxQlk1RlkKTll1cVdtaENXRTVqd25I
anhzVjJicUtPSVIrM294REFUanZ0Vkd4b3BHWEJBall5RVJBQkVSQUJFUkFCRVJBQkVTaHJBcGxy
M1laRwpoT05BZGFzQkF3WVlmVHpRV293WU1jSTdEVFFBaktyYjRLbDhPSUt5K2VhYmUrRTVxVndj
TzQ3UkErVFhYMy8xNG5NRTZNRUxEUVFWCnNSQmN6NWd4dzhhT0hSdm5zQlYrV3h5d1pFWUVKR3Ax
c21UN2E1a0lpSUFJaUlBSWlJQUlpSUFJbElaQWpUZzdVMTJLTkN2U3ArYlAKbis5N1M5eDk5OTMy
MWx0ditTaEQzNzU5STZVNlVZRnB6cHc1dHUyMjIxcUxGaTBLaDRDV2c2cFdmLzMxVjZRK0lPeDQ3
cm5uRmtregpDZzZHTXhRODVTZk5pNGhBVlRKS0UrTWdCaG9RSEpKUFAvM1V4bzhmYjVkZmZubFZR
cUZyRlFFUkVBRVJFQUVSRUFFUnlDTUNzVk93CkdQdmN1WE50NTUxM0xyd01xbFpSbnBleXZPbTZu
eGZ1NEQ3UW9SdjlCanFGMDA4LzNYZFlaLzExMTExbi9mcjE4MXFGOFBhbCtZeHcKdm5IanhuYjc3
YmVYNWpBVmFsOGNzSzIyMnFyUUFXSHdtMjIybVhYdTNObHJlQ3JVeFdpd0lpQUNJaUFDSWlBQ0lp
QUNsWVpBYkFlRQpIaDA0R25RWkQ5dUtGU3VTUmlMQzJ5UisvdnJycjcwQW1xcGFpTWpwTFlLZy9O
Ly8vbmZpcHFYNlRuV3RxSTVScVU2VVJ6dFBtRERCCmpqamlpRHdha1lZaUFpSWdBaUlnQWlJZ0Fp
SWdBbWF4SFJDMEgyZ0kwSERnaVBEYWUrKzlqUWx2cjE2OVNzU1VGSzQzMzN6VFdyWnMKNllYdGdi
QzhSQWZUVG9VRTNubm5IVjhpZWRHaVJiNS95Nm1ubnVyVDNnbzMwQWNSRUFFUkVBRVJFQUVSRUFF
UktHTUNzUjBReHZmTgpOOS9Zd3c4L2JQZmRkNStoTGFCM0IrSm1VckVTcTFHbHVoNEU0dXhES2xl
ZzFVaTFyWmJISjNEdnZmZDZmUXlOSXc4NjZDRGZLYjVSCm8wWjIrT0dIKzJwbDhZK29QVVJBQkVS
QUJFUkFCRVJBQkVTZzlBUks1SUFFcDZVYk90V21jRG9hTkdqZ05SMmtVV1d5cFV1WCt0NGMKN0U5
RnJMWnQyMXE3ZHUzOFJIbnJyYmN1c3Z2S2xTdDlhbGFSaFJHK1RKa3l4VWRwRWxQRkl1eGE0VGNo
NWF4Ky9mcDIwa2tuK1VhUgo2RUd1dmZaYXUvcnFxNjFidDI2KzRoajlQMlFpSUFJaUlBSWlJQUlp
SUFJaVVOWUVZcFhoVFJ3Y0VZempqei9lZHR4eFIzdisrZWNqCk93cE1mbSs0NFFiNy92dnZmWGxj
bWcvU3lKQUdlWlRrN2Q2OXUrOFQ4dFZYWDltd1ljTVNUMXZrTzRKMStsM3dwRC84WXZLTlV6TnoK
NXN3aTIxZUZMM0REQ2JudHR0dUtsVWJlZGRkZGpkUXNtUWlJZ0FpSWdBaUlnQWlJZ0FpVUI0RlNS
VUNDQVE4ZVBOajY5T25qVTdDaQo5Z0poZ296VFFrcFFZUFFTbVRadG1rMmRPdFcvUHY3NFkxOUs5
cm5ubmdzMktmSk9KR1g5OWRlMzNyMTcyeWFiYk9MVHdZTCtGMVRxCm9td3dYZEFwMVV1RXBxb1lr
YVdOTjk3WTZGQWY5RnVoOUM0TzN2WFhYKy9MSnErOTl0cFZCWWV1VXdSRVFBUkVRQVJFUUFSRUlJ
OEkKeE9vRGttcmNaNTU1cHFFdmlPcDhjQno2Z0d5NDRZYStjV0NnQWVFWWRPcm1oZkVrbisxU0da
RVV1cThuSzYrTFJvVStJN3Zzc2t1cQozU3Z0Y2lKVGRLYm5kZVdWVi9ycnhMazc1WlJUN0lvcnJq
QTVINVgyMXV2Q1JFQUVSRUFFUkVBRVJDRHZDY1NLZ0JCZG9IOEhqZjErCi92bG5Jd0t4Wk1rUysr
Q0REK3pSUngvMTcxRXFXR1ZUQS9MZ2d3L2EwVWNmN2FNZFlkcEVXSEJzZU5IQmZmYnMyYjduU0hp
Ynl2NzUKaXkrKzhHbHVkSzlIOUErTDNYYmJyYkpmdHE1UEJFUkFCRVJBQkVSQUJFUWdqd25FY2tB
UWhKTnFSZmR6dXBYVDNJOG9CZzN2V3JWcQpaWmRkZGxua0tBaFJDNklYbFBRTlVxN29WazRxRlZX
YmVPMjc3NzcyekRQUFdJOGVQVklpNUduL2xsdHVXYVRoWHVMR1AvendneDE2CjZLRjIvLzMzSjY2
cXROOW56SmpoaXdJa1h1QlRUejFsSFR0MlRGeXM3eUlnQWlJZ0FpSWdBaUlnQWlKUUpnUmlPU0RC
aU5CWFBQMzAKMDE0c1RuZnRrbGcyTkNDY2QvdnR0L2VSRGFwcEJmYlpaNS81RXI5b0hnSWpYWXRV
c2FwaTZGOFFuSWZUNG1EK3hodHZHSDFCYVB3bwpFd0VSRUFFUkVBRVJFQUVSRUlHeUpsQWlCNFJC
a280MVpzd1lId21oNGxUVS9oOXhMakRRZ0tSN1lrL1VoQ3BZaVlhT1pOeTRjVlcyCnh3aVJwTmF0
V3hlNUw2VExJZHJ2MzcrL0Y2UW5NdE4zRVJBQkVSQUJFUkFCRVJBQkVjZzFnZGdpOU8rKys4Nisv
dnByMzR6d3p6Ly8KOUNWZGFYcDMxMTEzK1hLODJSd3cwWlZNRVphZzZsWGllVW5OSXIyTHp1MVYw
WjU0NGduYlk0ODlpbHo2NnRXcnJXZlBudXFHWG9TSwp2b2lBQ0lpQUNJaUFDSWlBQ0pRbGdWZ09D
Qm9RQk4rVWQ2WE1LeVZlMFlCUWFZcVN1czJiTnkrUzhsTVdGOUtsU3hkZnFyZE9uVHIrCmREZ2tu
Mzc2cVkwZlA5NG9QVnRWTFZsRFNFVG9GQUI0L2ZYWGl6a25WWldUcmxzRVJFQUVSRUFFUkVBRVJL
QnNDY1JPd2NJSnVlT08KTyt5WVk0N3g0dk95SFc3eHM2RnhRQVFmT0NCc1FkU2tjK2ZPZHZMSkp4
ZmZvWW9zb2JsaisvYnRpM0Q1L1BQUHZXT0dEbVRublhldQpJaVIwbVNJZ0FpSWdBaUlnQWlJZ0F2
bEVJTFlERWd3ZS9VZjkrdlh0c01NTzg0c1FPTmVzV1ROWW5mRzlWNjlldnRKVjI3WnRiWjExCjFz
bTRmYW9OSmt5WVlFY2NjVVNxMVZWMk9SR1FGaTFhRk5IQUVMRTY0WVFURE0yT1RBUkVRQVJFUUFS
RVFBUkVRQVRLZzBDSkhSQUcKKy83NzcvdHFXUFFGR1RSb2tGSHV0bGF0V3BHdWcrZ0VhVnMweUNP
RjY4QUREL1FPQ2NMcGNQb1FmVWN5T1NqdnZQT09qUm8xeWxkMwphdEtraVoxNjZxbFZYdWN3WmNv
VWE5ZXVYYVI3b1kxRVFBUkVRQVJFUUFSRVFBUkVvS3dJbE1vQkNRYUo1Z0p0d1o1Nzdoa3NpdlJP
Ckx4SDZWZHgwMDAxR2F0ZjgrZk45azBPRTR6Z2tlKys5dDljclhIenh4U21QaHdEKzNIUFBOUndQ
ZW9kODhza252aXY3NFljZjd2dU0KcE54UkswUkFCRVJBQkVSQUJFUkFCRVJBQk1xY1FHd0hoQjRi
aUptWjhHZlR4bzRkNjdVYmRldlc5WTBKWDNqaEJYdjU1WmQ5NSs1cAowNllsUFJWcFg2U0JrVkkw
Wk1nUUw0Qy85dHByN2VxcnI3WnUzYnJad0lFRGpmNGZNaEVRQVJFUUFSRVFBUkVRQVJFUWdmd2dV
RDNPCk1INysrV2ZiWnB0dGZPZHhoTi9ubkhPT1VlNlZOS21SSTBmR09aUVhROCtaTThmM0VXRkh0
QWsvL3ZpalQrTWk0dkhzczgvNjcvLzUKejM5U0hwYytJVGdodDkxMlc3SHFXelRoSXpWTEpnSWlJ
QUlpSUFJaUlBSWlJQUlpa0Q4RVlrZEFyci8rZXEreG1EcDFxbmNTaUZUOAo4c3N2UnVPN2hRc1gr
aXQ3NVpWWGZKV2xjSGZ5OENYamFHeTU1WmIyKysrL0c5dnN2Ly8rUHVWcXYvMzI4K2xVMDZkUEQy
K2U4dk9xClZhdDhPV0RLQWlPd3hpaTlTd2QweHZuV1cyL1oybXV2blhKL3JSQUJFUkFCRVJBQkVS
QUJFUkFCRVNoYkFyRWlJQXl0YjkrK1JqblgKN3QyNzI2T1BQdXExSHkrOTlKSjNTb2hHMEtRUURR
Y3BWYW1zWWNPR1h2ZEJCSU5xV3B0dnZya3Y3YnY5OXR2N1k5TXdMNHJSYkhEbwowS0grRld5UHFQ
MlVVMDd4Wlhpcmt2UEJkZDk5OTkwQmhwVHZPR3VrMGNsRVFBUkVRQVJFUUFSRVFBUkVvRHdJeEk2
QW5IZmVlYjYvCkJPVnp3eEdPRlN0V0ZIN0hzU0FpVXIxNmF2K0dob0V6Wjg2MGZmZmR0L0M2di8z
MlcxL3hLbW9scldESEw3NzR3cjcvL252YmZmZmQKN2JYWFh2TWFsZDEyMnkxWVhTWGU3N25uSHQv
bG5EUzVldlhxRmJ0bU90alR2NFZxWlVTb2R0aGhoMkxiYUlFSWlJQUlpSUFJaUlBSQppSUFJNUpw
QWJBZmt4Qk5QdEVtVEp2bjBLWndIbXQzaGpCQUZ1ZWlpaXlLUGwrM3Z2LzkrWDNMMzRJTVB0dU9P
T3k3eXZ0cXdPSUVsClM1YjQ3dVpFTjhMOVdQaCs2NjIzMnJCaHc2eEJnd2JXc21WTC8xME9TSEdH
V2lJQ0lpQUNJaUFDSWlBQ0lwQjdBckVkRUlhRWRtUDgKK1BHK3loUnBVR2d0NkQ0ZU5iVm4yYkps
dm9vV1VRcDBISysvL3JydkJUSjgrSERiWW9zdGNuL1ZsZlFNOUZXNTc3NzdmUDhQaWdXUQprdlhZ
WTQvNXdnRTRoNlNtL2Zubm4vYnJyNzhXYW1ZcUtRcGRsZ2lJZ0FpSWdBaUlnQWlJUUo0U0tKRURF
bHdMV28xSEhubkVPeDg4CmdULzIyR09MZE40T3RrdDhSNFJPSThLSkV5ZjZWWWpZS2FOTE0wRWE2
SzIvL3ZxSnUraDdSQUtrdHNHUTZOSXp6enhqVjE1NXBWMTYKNmFWV3JWcTFpRWZRWmlJZ0FpSWdB
aUlnQWlJZ0FpS1FPd0t4SFJBcVZEVnExTWluOGdTVFdsS3k2TWVCK0R5cWtSYUVFeEpVcjJJLwpC
TklQUFBDQTF5bEVQWTYyUzAwQVlmcm8wYU45aElyS1lQUkw0VDRSQWRsb280MVM3NmcxSWlBQ0lp
QUNJaUFDSWlBQ0lwQWpBcWxWCjRrbE95SVQyaUNPTzhGb0RvaFNkTzNmMmtZc05OOXpRbDc5TnNr
dktSWFF0dit1dXUrelZWMTh0M0FaOVF2UG16WDJhVU9IQ0RCOUkKMzhwa1JBVm16NTZkYWJOS3R4
NUhzVmV2WGw3L2NlaWhoM3JIanU3eUNQWmxJaUFDSWlBQ0lpQUNJaUFDSWxBZUJHSkhRS2kyUkty
VgoyMisvYldnT2VOSHc3Ly8rNy8vc280OCtpcHlDaGRPQy9nUERHZW5TcFlzMWJkclVac3lZNFZP
R29zS2c0U0RDK0RYWFhEUGxMZ3NXCkxQQk9EVldncXJwOStlV1hudFhHRzI5YzFWSG8ra1ZBQkVS
QUJFUkFCRVJBQk1xQlFHd0hoR2dDYVZnMER3d01UUWM5TjlJNUFjRzIKd1R1T3pKRkhIbW56NTgv
M3gzdnh4UmQ5cWhBUmtIbno1a1hXTEpBRzFyaHg0NHpueGtHaS9HeFZNclExOUdQNStPT1BmVm5r
VHAwNgorWjRyVlltQnJsVUVSRUFFUkVBRVJFQUVSQ0MvQ01SMlFMSTUvTGx6NS9xTzZjRXhxWTVG
ZVY3SzhvWkx5UWJyazczanlQVG8wU1BaCnFpcTlETGFISFhhWWJ3eFpwMDRkWCs2WVJwRTBmaVNO
VGlZQ0lpQUNJaUFDSWlBQ0lpQUM1VUVndGdQeXdRY2YrSFNydU0wQ28xNGMKNlZ4eGVsUXdxZjd3
d3c5OUJhMUZpeGI1OHI2bm5ucXFiYnZ0dGxGUFdlbTJJMHFGbnFaang0N1dvVU1Ibzl3eERoMnBh
QmRlZUtHTgpHREVpYWJQQ1NnZENGeVFDSWlBQ0lpQUNJaUFDSXBCM0JOYTR4bG5VVVNGZTNuTExM
WTBuNnVFTzVsSDNUN1VkZlVXWUhFK2RPdFg2CjlldG5aNXh4UnFwTml5Mm43d1ZQOUNrRGpOT0JO
Z1ZoTzUzWmQ5NTU1MkxiVjRVRm4zNzZxYjlIbE9EZGZQUE5DM1U1NjZ5empxRzkKb2VPOCtxMVVo
VitDcmxFRVJFQUVSRUFFUkVBRThvOUFyQ3BZNjYyM25xK29SSVNoTkViVW9sMjdkbDUwdnU2NjYv
cjBJSnlISzY2NAp3aytNY1VpaUdNZTU0SUlMckZ1M2JsNEFQM1RvVU4rVi9mSEhIL2VwWEV1WExv
MXltRXEzVGZYcTFXMzc3YmRQZWwxRWkyZ2VLUk1CCkVSQUJFUkFCRVJBQkVSQ0I4aUFRZXlaS3hT
bjZmdERvanRTZTl1M2JGejVoajNvQnBBTU5HRERBYnI3NVp1OUFVTkszU1pNbUZqZXQKNjZ1dnZq
S2NrTnR1dTYyWUNKM3FXS1J6SFhEQUFWR0hWV20yMjJxcnJid3pSNlBJUGZmYzAwZERYbnZ0TmQr
Z2tMNGdPQ0V5RVJBQgpFUkFCRVJBQkVSQUJFU2dQQXJFMUlGU3VvdHp1OHVYTGZkclRIbnZzWVNO
SGpyUm16WnJGSHYvQ2hRdnRvWWNlOGs1SXZYcjFZdTlQCkdWL0t5ZExBTUdob2VQbmxseHROOTY2
Ly9ucGZWWXZxWEZYUmNESzRWNTk4OG9sM0VIRkdHalpzNkR2WEUzMlNpWUFJaUlBSWlJQUkKaUlB
SWlFQjVFSWlWZ2tXNTNVTU9PY1E3SUlzWEx6WjZTdEQ5SEtGelNacmJvVS9vMjdldm54UlBuanpa
M252dlBUdi8vUE1ORVhVVQpJNVdJdEN0ZWdkRXM4WlJUVHZGTkVxdXE4d0VMVXRyZ1NUcGEvLzc5
dmZBY3AwVE9SL0JMMGJzSWlJQUlpSUFJaUlBSWlFQjVFSWdWCkFVR2JNV0hDQk4rSU1EeFl1b3hU
M25YUW9FSGh4YkUrMDlIODNudnY5ZFdhZUk5algzenhoWGVBZHQ5OWR5UFZhSTAxMXZEcFlYR08K
VVZXMlJhei85ZGRmMnk2NzdGSlZMbG5YS1FJaUlBSWlJQUlpSUFJaWtFY0VZbWxBMEdqTW1UUEhQ
MTF2MGFKRjRXV1Foc1hUOWIvKworc3NRUUVjeFVvTG9vbzZPZzRwYU9BKzg0aHJPRCtlbk9oZUc1
Z0ZqT2FKNUdoQldSYU9pMk9EQmczMmp4L0QxVTZyNGhSZGVDQy9TClp4RVFBUkVRQVJFUUFSRVFB
UkVvTXdLeEhCQkcxYWRQSDJ2VHBvMFhuNTkrK3VtMnpUYmIrTUdTamhYSEFTRVZhT2JNbWJiV1dt
dloKenovL2JHZWZmYllYay9NOWp2M3JYLyt5cmwyN0Z1dHJRVVFGcDRSbWZKU2NwV042VlRHRStj
Y2ZmN3kxYnQzYVRqdnR0R0pPSVlKLwptUWlJZ0FpSWdBaUlnQWlJZ0FpVUI0RllLVmpCQUVuaE9m
UE1NMjNpeElsKzRsKzdkbTN2QlB6NzMvOE9Oa243VHRTRDZsUXpac3p3CjRuR09SY2xjSEJHZXpz
Y3BFeHM0Rm9tUkYzUWtwR0t4dkhuejVqWnUzTGdTQ2VYVFhraWVydnp0dDkrTUNCVk5JNk4ybE0v
VFM5R3cKUkVBRVJFQUVSRUFFUkVBRUtobUJhUGxTQ1JlOTBVWWIyVFBQUEdOdnZ2bW00WFNNSHov
ZWJybmxsb1N0VW45dDNMaXhIWGpnZ2NaeApjQkEyMjJ3ekw1YnUzYnQzck9Od2hrc3V1Y1IrL2ZW
WEk2VXIvRUo4alI0RTNRcU96dGl4WTFNUHFKS3RvVkZrcDA2ZHZGT1hlR21rCllMMzExbHVKaS9W
ZEJFUkFCRVJBQkVSQUJFUkFCTXFFUU93VXJJRURCOXJCQng5c08reXdneGN5QjJKbU9vOUhUWjlp
TzdRWnBBcngKaEo2VXJnY2ZmTkRPT3VzczMxOGt6cFdmZSs2NVNjKzc1cHByRnZZbm9XVHd2SG56
NGh5MlFtLzc1NTkvMnJKbHkzeWFYS0lHWnY3OAorYjZaWklXK1FBMWVCRVJBQkVSQUJFUkFCRVNn
d2hLSUhRRWgyckh6emp2Ny9odDBJS2V4SGZvUEhJZzQxck5uVDk4WWozM2F0bTNyCkl4Um9PWWlz
b0NXSmFvSDRQSEY3QlBOQldoWTZrVTAzM1RSeGswcjdIZWVML2g4MGVJUkQrTldxVlNzdnpxKzBG
NjhMRXdFUkVBRVIKRUFFUkVBRVJ5R3NDSmRLQWZQUE5OL2J3d3cvYmZmZmQ1M3QyTEZpd3dPczJl
T29lVFByalh2VXZ2L3ppb3g5MDhlN1lzV1BrM2Z2MQo2K2M3cy8vMDAwOUY5aUV0aTdHUWlrVjFy
YXFtaFpnMmJacnR2Ly8rUlpqb2l3aUlnQWlJZ0FpSWdBaUlnQWlVTjRFU09TREJvT2xFCnpnU2Zp
WDZEQmcxOEtoV0M5TEl5aE9zODVVYzdzc2ttbTNobktHaGlPSGZ1WE4vNW13cFlwR2t4UHBrSWlJ
QUlpSUFJaUlBSWlJQUkKaUVENUVpaVZBeElNL2VPUFAvYmR5TkdIbExWUkN2aUJCeDRvZGxvaU5I
UUREelFxeFRiUUFoRVFBUkVRQVJFUUFSRVFBUkVRZ1RJbgprQlVIaElaMzlBY2hCUXY5UVZuYWQ5
OTk1OC9ac0dIRElxZEY0RTRaWGw0eUVSQUJFUkFCRVJBQkVSQUJFUkNCL0NBUVNZVCs1Sk5QCjJu
Nzc3V2ZEaHc5UE9tcjZlSkR5Vk5iT0I0TWhCU3ZSK1dBNW1nODVINUNRaVlBSWlJQUlpSUFJaUlB
SWlFRCtFTWpvZ0JCSm1EMTcKdGozeHhCTytPaFh2VTZkTzlWZnc3cnZ2MnQxMzMyMkkwTGZiYnJ0
WVYvWFpaNS81L1dMdHBJMGpFYUNLMkh2dnZlZGY2R1FDKy83Nwo3NE9QZWhjQkVSQUJFUkFCRVJB
QkVSQ0JjaUdRTVFWcjVzeVp2b1J0a3laTi9BQ1BQZlpZWHo0WFlUZk4vZWovUVFmenlaTW4reWhK
CmxLdGdlNW9SMGppUVBoWHQyclh6dlVYb2pqNWh3Z1E3NVpSVG9oeEcyNlFoMExScFV6di8vUFB0
cEpOTzhzMFlxWWoxMy8vKzF6cDAKNkdBUFBmUlFtajIxU2dSRVFBUkVRQVJFUUFSRVFBUnlSeUJq
STBMU21INzc3VGMvZ3BVclZ4cmxYWWw2TEZ5NDBENzQ0QU9mNmpScgoxcXhZRGdnVnFhNisrbW83
OWRSVGZUVGwyV2VmTmNUa2xPS2xtbFhnZ0x6eXlpdSs1MGltQm9lSTRNZU5HMmVMRnkrMlpzMmFX
WmN1ClhXeUREVGJJSGJVOFB6SWxpZEhrME5pUnFtQjBuYTlXclpwOThjVVg5dm5ubi90TzZCTG41
L2xOMVBCRVFBUkVRQVJFUUFSRW9KSVMKeUppQ3RmMzIyL3RJQjJrOTk5eHpqOVdyVjg4NmQrNXN1
KzY2cTUvd1U0SjNuMzMyc1IxMzNOSG93QjNWK3ZidDZ5ZkQzYnQzdDBjZgpmZFJJRlhycHBaZThV
MExhMTlkZmYrMlBTNVFsbmRFWWthN3NWMTU1cFo5WVQ1bzB5VnEyYkduUFAvOTh1dDBxOVRxME9C
dHV1S0cvClJocEU0alRlY2NjZHR2YmFhOXVTSlVzODIwb05RQmNuQWlJZ0FpSWdBaUlnQWlLUXR3
UXlSa0RxMTY5dnBGOXR0dGxtUHRVS1o0RUoKN3I3NzdtdWsrZXkyMjI3K004NEQ2VmxSN1pKTExy
SDI3ZHY3RkM0aUhFUmFjR1RvMUkyQWZLT05OdkpSRmlJaXFZeW4renpsMzN2dgp2YjFBbmpGaVJG
Sll2c2NlZTFUSi9oOTE2OWIxRVNtY056UTdQWHIwOEdsdWxDWW04a1RFU1NZQ0lpQUNJaUFDSWlB
Q0lpQUM1VUVnCm93WWtHQlJwUFRnSlJFQUNlK09OTi95RUZrSDVZWWNkWnJmZGRsdXdLdVA3aVNl
ZTZEdVkvLzc3Nzk2QndSbHAyN2F0ajRKY2RORkYKR2ZkbmcyKy8vZFkvNmYvd3d3OXRtMjIyS2JJ
UDZWdm9VOUNYVkVVakdoVkVqMDQ0NFFUdk5OSTRza2FOakQ1blZjU2xheFlCRVJBQgpFUkFCRVJB
QkVTZ2pBcEVkRU1hVGFnSkxkYVYzM25uSGF3M2lqQnZuZ3hRcUdoZ3lNWDdycmJkOHBBV0hKcW9S
bmVHSmZyZ0tGeEVRCmpubkVFVWY0Q0UzVVkxVzI3YVNOcVd4M1ZOY2pBaUlnQWlJZ0FpSWdBaFdm
UUN3SFpONjhlYjZ5RWhQN2swOCt1VkJuVUZvTVZNTjYKNUpGSHZQT0JSb0ZVcnFnOVBJaDBQUFhV
VTNiTExiY1VEZ05OQ0pvVnlnUWp2cTZLaG1OSDVBTW5qelE1VXVsd0VrZU5HdVVyamxWRgpKcnBt
RVJBQkVSQUJFUkFCRVJDQjhpY1F5d0ZodUFqRUtaWExSQllOQmhXbmpqenlTS3RWcTFhc3E1aytm
Ym8xYXRUSUM4WURKd0VCCk9STmx0Q0J4akZRc1Nzd0dVUkJTdzFxMGFHRjE2dFNKYzVoS3N5MzNo
U3BnaVBHSHUrYVJpZHFZSVVPR1ZFbHRUS1c1d2JvUUVSQUIKRVJBQkVSQUJFYWpBQkdJN0lPRnJa
ZUtQc1BucHA1ODJxbVYxNjlZdFVzb1R6c0lXVzJ6aFU3cW96RVNQQ2tyRjhxVCt3Z3N2OURxUQo4
SGt5ZlNibENyMERLVWVJMWp0MTZtU2JiNzU1cHQwcTdYcHBZeXJ0cmRXRmlZQUlpSUFJaUlBSWlF
Q0ZKMUFxQnlSODlYUG16UEZQCjI5OSsrMjA3L1BERGZUbmRkTDA0S09sTHFoWGJVNW5ncjJZQUFD
QUFTVVJCVkRLWEZ5bENOQ2I4NktPUElxZGd6WjA3MXd2Z0tkdEwKeEtOMjdkbytTak5tekJpdkFR
bVBzU3A5bGphbUt0MXRYYXNJaUlBSWlJQUlpSUFJVkJ3Q3NSd1FJaGZublhlZWoxN1FDVDFaaVZ4
Uwp0SjU1NWhtalA4aFJSeDJWa2dScFFxUmhFZjBJN01jZmYvUzlLaWp6RzhVNEJtbEdIVHQyOUIy
K2lhQlF3bmZCZ2dVK2tqSml4SWdpClZidWlITE95YkNOdFRHVzVrN29PRVJBQkVSQUJFUkFCRWFo
Y0JHSTVJSlRpN2RtenA5MSsrKzIyN3JycmVoTExsaTN6RFFtMzNYYmIKV0dRUWljK1lNY05lZSsw
MTM4U1FGQ3ljaHpqMnlTZWZlQUU2UFVVU0RlY0dKNmhObXphSnE2ck1kMmxqcXN5dDFvV0tnQWlJ
Z0FpSQpnQWlJUUlVaGtMRVRldmhLdnZ2dU8rdlZxNWQzUG9nKzBGMmJLTWpPTys5czU1eHpUbmpU
ako5UE91a2tPK0NBQTJ6UW9FRStla0hUCndQbno1MmZjTDd3QkRnYmFrMlJHYjVDcTNQTmk5T2pS
WG9nZUNQTmhSSVJvM0xoeHlYQnBtUWlJZ0FpSWdBaUlnQWlJZ0FpVUNZRlkKRVJCRzFMVnJWOTlo
SEkzRnJGbXpqT2pEdGRkZWE4T0dEYk16empqRE43ekxOUElmZnZqQjZ6TVFyeE5KV2I1OHVZMGNP
ZEx1dSs4Kwptemh4b3UrQ251a1l3WG9hR2xLSmE4ODk5L1FhRUNJcVU2Wk1NU2JnT0NGMFdhK0to
cmlmcnZKaEp3d0hjdkhpeFlaZUJxMk1UQVJFClFBUkVRQVJFUUFSRVFBVEtta0RzdHRobm5YV1dY
WDc1NWI3c0xnNElrUXNNelVHUEhqMGlqWjl1NnNjZmYzeGhHaGVUWmZhbHZ3aFIKbFJ0dXVDSFNj
ZGpvNnF1djltV0FTY2VpZHdnOVJSbzJiT2o3aWxSVjV3TXVsRE1tTFM1Y2lwaDdkUFRSUjl1WFgz
NVpySE04KzhoRQpRQVJFUUFSRVFBUkVRQVJFSU5jRVlqc2dlKys5dDZHdkNHekZpaFUyWU1BQVc3
bHlaY3BPNmNHMndUdGFENFRtT0F2aGhvT2JicnFwClQ2a2l2U3ZvRFJMc2srcWRTZlo3Nzczbmhl
OUJHZDVERGpuRTFsOS8vVlM3VklubHBMWjE3dHk1eUxXaXU2SHlHQ1dRWlNJZ0FpSWcKQWlJZ0Fp
SWdBaUpRSGdSaXAyQ2hBVG5vb0lPc2JkdTJ0czQ2NjVSNHpJalhYMy85ZGQvL0l6akl6VGZmYlBU
MDZOKy9mMlFIaEdQcwp2dnZ1d1NHU3Z1UFFzRjBRclVtNlVSVllTUG9WL1ZFb2VZem9YeVlDSWlB
Q0lpQUNJaUFDSWlBQ1pVMGdkZ1NFU2xpa1lWR1NkNWRkCmR2RVRXUnlTMXExYkY5RVZzRjA2QjRV
MHJNUkpNR2xVQ05PalJqK0FSVGxnZENEcFN2ZFNsdmZQUC8rc2NnNUlZb05HMHE4b2tWeVYKSzRP
VjlUK1l6aWNDSWlBQ0lpQUNJaUFDSWxDVVFPd0lDTHNISlhSdnV1a21uM3BGOVNxRTVQdnNzNDkz
S2tqVEl1Snc4Y1VYRnoxYgo2QnY5UWlaTm1tVHo1czN6MVpuYXQyOWZKQjBydEduYWp6Z3JqUnMz
VHV1QWNBQWFIS0tCcUNxbUJvMVY1VTdyT2tWQUJFUkFCRVJBCkJFU2dZaEVva1FNU3ZzU3hZOGZh
WnB0dFpuWHIxcldwVTZmYUN5KzhZQysvL0xKM0txWk5teGJldE1qbkk0ODgwbmM4eDNGWnNtU0oK
ajA1UUNhdFpzMlpGdHN2MGhZN3FVY1h2bVk1VldkYXJRV05sdVpPNkRoRVFBUkVRQVJFUUFSR29m
QVJpT3lEang0LzNPb0tkZHRySgpOL29EQ1drOVZGc0tVcXBJZHlJcXdqYkpqSTdubE1tbHFTRzJj
T0ZDR3p4NHNHOHFTR1d0OWRaYkw5bHVTWmNSU1VuV3dCQ25obkt6CnBJbFZOVk9EeHFwMngzVzlJ
aUFDSWlBQ0lpQUNJbEJ4Q01ScVJJamowSzFiTnlQRkNpZUJpa3BFSUVodnV2NzY2d3V2R2oxR0t1
ZUQKalNpUHU4RUdHeFJ1anpCNjRNQ0JObXJVS0Y5UnEzQkZoQTlFV3pwMjdHaE5tell0OG1KTXYv
MzJXNFFqVkw1TjFLQ3g4dDFUWFpFSQppSUFJaUlBSWlJQUlWQllDc1VUbzlOZEE5NEhqTVdmT0hI
dnV1ZWQ4M3c2RTRLUmhKWmJWVFFXcFZxMWFmbjlLNkxabzBhSndNNnBVCjBUd1FqUW1UNkV4RzlJ
TitJZ2pnVHp2dHRHTDdOR25TSk5NaEt1WDZyYmJheXE2NDRncC9QMUkxYUt5VUY2NkxFZ0VSRUFF
UkVBRVIKRUFFUnlIc0NzVk93MEJmTW5EblQ5dDEzMzhLTCsvYmJiMzNGS3h5THFFYVZMS294SVQ0
Ly9mVFRDeHZqWFhmZGRkYXZYNzhpSGJ4VApIWk1JQnc3TUJ4OThrRFFOSzlWK1ZXRTVqaHc2bTJR
Tkd0dTFhMWNWRU9nYVJVQUVSRUFFUkVBRVJFQUU4cEJBNWpCRHdxRFJkL3p3Cnd3OTJ6VFhYMk1T
SkUvMVRkdEtwNGpnZkhKSVN2Wk1uVDdiMzMzL2ZkK3ltY3pmTkEra1BVcU5HdE1BTXVwTk9uVHJa
MHFWTEUwWnAKdG1qUkludnJyYmVLTGE4cUM0SUdqWTgvL3JqdnF6Sml4QWdmWFpMelVWVitBYnBP
RVJBQkVSQUJFUkFCRWNoUEFyRWpJTm1xWGhYRwpnYVB3NXB0dldzdVdMVzJ2dmZhSzNBY0VaK2k4
ODg3ejVYWFJmSVFORWZ5d1ljTjhhZUR3OHFyeVdRMGFxOHFkMW5XS2dBaUlnQWlJCmdBaUlRTVVp
RUMzVThMOXJRb1IreUNHSDJOTlBQKzJYQk5Xck9uVG9ZSEdyVnlFNlAvamdnMjJISFhid2xhcUNh
bFVyVnF6d0l2VW8KR0JHN2sySkU1Q1F4QXRPcVZhdFkxYlNpbks4aWJhTUdqUlhwYm1tc0lpQUNJ
aUFDSWlBQ0lsQjFDTVNLZ1B6KysrODJZY0lFTDBJUApJNW85ZTdhTkdUUEdCZzBhRkY2YzlqTk5D
MTk5OVZWZkRRdEhoQmZWdFRoK3IxNjkwdTRiWGttdmtmMzMzeis4U0o4ZEFUVm8xTTlBCkJFUkFC
RVJBQkVSQUJFUWdId25FaW9Ca3Ezb1ZJQkN5Zi9QTk4vYnd3dy9iZmZmZDU1MlJCUXNXZVAwSFQr
K2pWTUhpT09oQWt0bjAKNmRPdGJkdTJ5VlpWaVdWMzMzMjNHalJXaVR1dGl4UUJFUkFCRVJBQkVS
Q0Jpa1VnVmdTRVM4dEc5YXBFUkt0V3JUTEUwamdkRFJvMAo4Tld4YXRldW5iaFowdStiYkxLSmI0
QVlGcTZUeG9VR0lxZ0FsWFRIU3I3d2xWZGU4UkdsZEpkSlJUTTRVZjVZSmdJaUlBSWlJQUlpCklB
SWlJQUpsUVNCV0JJUUJCZFdyemp6elRGKzlxbDY5ZW9hejBMVnIxOGpWcXhJdkRPZUJmaDRmZi95
eERSMDYxS2RqSlc2VDZqdTkKUjZpQ3RjWWFheFJ1c25qeFlqKzJMNy84MGpkSkxGeFJoVDZjZi83
NWR1S0pKeG82bVZSR3hBa2h2eHlRVklTMFhBUkVRQVJFUUFSRQpRQVJFSU5zRVlrZEF3Z01vYWZX
cThESENud2NQSG14OSt2VHhwWGpUVFp6RCt5Ukx0VUtyUXBuZ0cyKzhNYnhwbGZyOC8rM2RlNXhO
CjlmNzQ4YmZyb0hFZnhuV1VETVljdVNXVVcrUE9SS0dJaGppWm9qbWhyNVNTb3BBVG1pS2NLSlg3
S0JISmpLbHhOeHJYS0xma2JqSU0KeWJna2w5OTVmODV2NzdQM3pKNlp2Y1psOXBuOStqd2UwMTU3
N2JYV1h1dTUvL0h1ODNtLzMrU0FlTlhQemNNaWdBQUNDQ0NBQUFMLwpNd0kzRllBNFBxWG1kR2hp
dWJ2RHNRcVc3Unh0TEtoTkJiV0NsYnREL3krK3E0N24zYnQzbHhFalJraU5HalhjdlZTT09tN3Ex
S25rCmdPU29YNVNIUVFBQkJCQkFBQUVFY29hQXBRQkVjd1kwQnlRbEpVWE9uVHRubGo2ZE9ISENC
QTBMRnk0MHIvcC8zdDBadDZvS1ZydDIKN2VTcHA1NHl1U1A2dlpyL3NYZnZYak1Eb2swT3ExV3I1
czd0NUxoanJseTVRbmY0SFBlcjhrQUlJSUFBQWdnZ2dNRC92b0NsQU9UeQo1Y3RtaVpSV1dMcCsv
YnFVTEZsU3lwUXBJL2ZlZTYrWnRSZzJiRmlHT1FlcHVSeXJZR2x3WTZ1Q3BkM1EzYTJDcFFHUDVu
ODQ1b0JvClhzaXJyNzRxbzBhTlN2MlZ2RWNBQVFRUVFBQUJCQkJBQUlGc0ZMQVVnTmp1Yzl1MmJh
WVpZZCsrZmFWaXhZcTIzVmwrdlprcVdDTkgKampUQmhtUE9pQ2FmUjBWRnlVc3Z2WlRsZStKRUJC
QkFBQUVFRUVBQUFRUVF1UFVDV1FwQTlEWjB4a0tiRCtwTVNJOGVQZHllc2NqbwpFV3hWc0RRL3hO
MmhTOEcwZEcvcW9WVzYzbjMzWFZPMUsvVm52RWNBQVFRUVFBQUJCQkJBQUlIc0VjaHQ5V3VUa3BK
a3g0NGRFaE1UClkwcTQ2bXhJMDZaTnpUNnIxMHA5L0lvVksyVHk1TW5tdXFrL1MrLzloeDkrS0py
dm9JR1EvdW55cTE5KytVVVdMMTRzTzNmdVRPODAKOWlPQUFBSUlJSUFBQWdnZ2dFQTJDRmlhQWRF
Y2tCWXRXcGgvMkpjclYwNzgvZjFORG9qbWdWU29VRUVHRFJya2RnNklCZ29heEJ3OQplbFNhTkdr
aVFVRkJvbFd3TkE5RXQ5MGQ2U1c5MTZwVlM3UVozMTEzM2VYdXBUZ09BUVFRUUFBQkJCQkFBQUVF
YnJPQXBRQkU3MFdECmtFbVRKa25uenAxTjhubFc3eThrSkVTMGRHK2hRb1ZNUmExbm4zMVdKazZj
YU41YnVhWTJNTlJjRkZ2U3V1YUNCQVFFU0tWS2xad1MKMDYxY2syTVJRQUFCQkJCQUFBRUVFRURn
OWdoWURrQnN0Nkg1SDBXS0ZKRU9IVHFZWFZiS3Z1cXNod1lnYTlhc01iTW9tcStoM2N3MQpueU0y
TnRaU1IvVXZ2L3hTdW5UcFlyc3QrK3VTSlV1a1U2ZE85dmRzSUlBQUFnZ2dnQUFDQ0NDQVFQWUxa
RGtBMFZ2WFBodGZmLzIxCjZRc1NHUmtweWNuSjR1UGprK2xUYWErT0YxOThVYVpObTJhTzFhN2x3
NGNQRncwYXRJZUhsdEIxZHhRdlhsenV2LzkrcDZWZkdnd2wKSkNUSXNXUEhwSERod3U1ZWl1TVFR
QUFCQkJCQUFBRUVFRURnTmd2a3ZabnJhNWR4L2RPazc5RFFVTGVDRC8wK1hYWlZ1WEpsa3p5ZQpQ
MzkrazhUK3lTZWZTSGg0dU15WU1jUFNMZW0xaWhVclpsK0NwU2RyYzhTV0xWdWFBTVJLUG9tbEwr
WmdCQkJBQUFFRUVFQUFBUVFRCnNDemc5Z3hJZ3dZTlpOT21UWmEvSUwwVExseTRJS3RXclRKTHVM
UjZsUVlNMmxORWwyRXRXclRJS2FCSTd4cTZYKzlKNzgxeGFJTDcKODg4L0wxT25UcFgwa3RRZGoy
Y2JBUVFRUUFBQkJCQkFBQUVFN295QTVUSzh0K3EydERxVkxYOUVFOGkxYks1V3J1clRwNC9id1lm
ZQpTNEVDQmRMY2tuWkYxNXlTSDM3NEljMW43RUFBQVFRUVFBQUJCQkJBQUlIc0U4aTJHUkNkOWRB
azlQajRlQk40YUhsZlhZNWxkUVFHCkJrcmJ0bTJsWU1HQzlsTi8vZlZYRTlCb0hraWRPblhzKzls
QUFBRUVFRUFBQVFRUVFBQ0I3Qlc0cVJ5UW03bDE3WjRlRlJVbHBVdVgKbHBNblQwcnQyclZsOXV6
WkVod2NiT215V2xGcjQ4YU5UaVYzdFQvSjU1OS9UdkJoU1pLREVVQUFBUVFRUUFBQkJCQzQvUUxa
RW9Cbwp0YXdqUjQ2SWRsWDM4L016VmJSbXpab2xZV0ZoOHMwMzMwalpzbVhkZnZLbFM1ZEtxMWF0
M0Q2ZUF4RkFBQUVFRUVBQUFRUVFRQ0Q3CkJMSWxCMFJMNDJvRFFRMCtkUGo2K2tyLy92MU5TVjl0
Y21obEVIeFkwZUpZQkJCQUFBRUVFRUFBQVFTeVZ5QmJBaEROOWRDTzVWcXQKeW5GVXFGREJMTUc2
Y2VPRzQyNjJFVUFBQVFRUVFBQUJCQkJBSUljSVpFc0FvbmE2M0VyTDhEcU9jZVBHbWVhR2p2dllS
Z0FCQkJCQQpBQUVFRUVBQWdad2o0SFlBWXVzQnNtREJBdEZsVXRxeC9HYUdMc1BTeWxlT1kvLysv
V1lHaE40ZGppcHNJNEFBQWdnZ2dBQUNDQ0NRCmN3VGNMc09yajZ5bGMrdldyV3M2bUd1d29Nbmlt
b1BSdW5WckUwelljanIwMkRObnpraUpFaVYwMCtYNDRvc3ZwRnExYWxLelprMm4KejY5ZXZTcDU4
N3FmRzYrOVBoNTQ0QUduYStpYjNidDNDMTNRMDdDd0F3RUVFRUFBQVFRUVFBQ0JiQld3RklBY09u
Ukl0TWRHU0VpSQpxV0ExWThZTWlZeU1OUGtjaVltSnB1eXRCaVFQUC95dzZlL3h4aHR2dUh3NHJZ
SlZ2bng1a3dPaVFZdk9oT2g1K3ZmUGYvNVR4bzhmCjczWVE4dUNERDBxWExsMmMrb0Q4OWRkZnNt
elpNbG01Y3FYNS9pVkxsc2podzRmbGhSZGVjSGsvN0VRQUFRUVFRQUFCQkJCQUFJRTcKSTJBcEFO
SGtjQTA0Qmc4ZWJMODdEVHptenAwcnpabzFreTFidGtoc2JLekV4Y1daQ2xkNzl1eXhINWQ2WS9y
MDZhYUI0STRkTzh3NQpHaXpvcklYT2Zyenl5aXN5YXRTbzFLZTRmSy9MdGJTcnVtTWpRdHVCMzMv
L3ZabGhlZnZ0dDAxdWlkNG5Bd0VFRUVBQUFRUVFRQUFCCkJMSlB3RklBb3JjNWZQaHcwelN3YTll
dTlycytmLzY4Q1V4ZWYvMTFzMCtYYXYzODg4L3l0Ny85elg2TXE0M05temZML2ZmZmIvL28KeElr
VHBoeHZrU0pGVEhEU3MyZFArMmZwYldoQU5IRGdRQ0Z2SkQwaDlpT0FBQUlJSUlBQUFnZ2c0RGtD
bGdNUVhkNmtzeDJhdTZIQgpTTVdLRmVYU3BVdFN2MzU5MGRtTVBIbnkzTlRUYVRmMHA1NTZ5dTFy
ZlBmZGQybVMyZlZrWFhiVnFWTW50Ni9EZ1FnZ2dBQUNDQ0NBCkFBSUlJSEQ3QlN3SElIcExLU2tw
RWhFUklaOTk5cG5jZmZmZG9qa2REUnMybEppWW1OdC94Nm0rb1hqeDRtWVdSZnVLMk1hVksxY2sK
SVNGQmpoMDdKbHB0aTRFQUFnZ2dnQUFDQ0NDQUFBS2VJWkNsQU1SMjYxdTNicFcxYTllYXZJMG5u
M3d5dzZwWHRuTnU5YXNtczJzaQpldTdjLzYwb3JFdTVTcGN1TFpyN1FTV3NXeTNPOVJCQUFBRUVF
RUFBQVFRUXlMcUE1UUJFOHpaMDFLbFR4Mm01bGRYeXVWbS9aZWN6CnRUOUpnd1lObkhacWgvWG5u
MzllcGs2ZFNtNklrd3h2RUVBQUFRUVFRQUFCQkJESVhvSC9UaHU0Y1IvSGp4ODNQVGVhTkdsaVpq
dEMKUTBOTnlWd05BaVpNbU9ER0ZmNXppUFlJMFR5UDExNTdUZlNhTnpNS0ZDaVE1blROUXpsOSty
Um9qeEFHQWdnZ2dBQUNDQ0NBQUFJSQplSTZBNVJtUVhyMTZ5VWNmZldUK2NhOEo0UHFuLzlEMzlm
VTF6UWZkZWJUZmYvL2R6RkM4Ly83N3BseXZucU9WdERRWXFWNjl1anVYCnNCOFRHQmhvS21ZNWx1
SFZYaVdMRnk4MmVTQTZVOE5BQUFFRUVFQUFBUVFRUUFBQnp4Q3dISUQ4OXR0djh2bm5uNXNrOUVL
RkNwbW4KMEtSMHpRVnAyYktsYVVxWTJhUHQyN2ZQSks0M2F0Ukl0TGZJNU1tVHpXeUlWdGpxM2J1
M1RKczJMYk5MMkQvWEdSQXQ5K3RZZmN2ZgozMSs2ZCs4dVBYcjBzQi9IQmdJSUlJQUFBZ2dnZ0FB
Q0NHUy9nT1VBNU91dnZ6Wk4vMzc1NVJkVGZVckw3MlpsYUtDaHVSdno1czJUCkRSczJ5SkFoUTJU
a3lKRXljK1pNZWVhWlo5d0taUFI3dFlHaGRsQm5JSUFBQWdnZ2dBQUNDQ0NBZ09jTFdBcEFrcEtT
NUo1NzdoRnQKTktnekRycnNxbDY5ZWpKbzBDRFRpOE94RWxWbWo3NSsvWG96NjZHZHowZVBIbTFQ
Sk5mY0VPMEZ3a0FBQVFRUVFBQUJCQkJBQUlHYwpKMkFwQU5ISG56UnBrblR1M0ZuMjdOa2pzYkd4
NWsvTDhlb3lLRzFFbU5WeDhlSkZFNGpzM2J0WDVzK2ZiMHI3WnZWYW5JY0FBZ2dnCmdBQUNDQ0NB
QUFLZUtXQTVBTkhIaUkrUE40MEhiWStrVmEyMEVsYTdkdTFzdXpKOTFWbVVOV3ZXbUd2VnFsWEx6
S0RrejU4LzAvTTQKQUFFRUVFQUFBUVFRUUFBQkJQNTNCZHdLUUw3NjZpdUpqSXlVUG4zNnlOTlBQ
MzFMbmxhVHhLT2lva3pEd0pNblQwcnQyclhOMHF2Zwo0T0JiY24wdWdnQUNDQ0NBQUFJSUlJQUFB
cDRua0drZmtDdFhycGpaalVXTEZwbmNEMzNWMHJzNmR1N2NLVk9tVEpIZHUzZGJlckxrCjVHUTVj
dVNJYUU2SlZ0WFNFcnpoNGVFU0ZoWW1pWW1KbHE2VjNzR2FuUDdqanorbTl6SDdFVUFBQVFRUVFB
QUJCQkJBSUJzRU1wMEIKV2JkdW5WU29VRUh1dnZ0dWMzdGR1M1kxbGFjR0RCaGdjalUwZCtQY3VY
TVNIUjB0elpvMWMrc1JOS2pSTHVVREJ3NTBPdjdZc1dNbQpvQmt6Wm96VC9vemV2UHJxcTdKOCtY
TFIzaUtPNDhLRkM2Sko4VjkrK2FVMGJ0elk4U08yRVVBQUFRUVFRQUFCQkJCQUlKc0U4bWIyCnZW
cnQ2dEtsUythd3k1Y3ZTMXhjbkFrU2RBWkRaejQwYjBQTDZGb0pRUFNjZlBueXliVnIxNXo2ZDJp
Z28wdXd0RGRJcmx5NU1yczEKMCszOG5YZmVrWC84NHg5U3ZueDVjNTZlcTJQYnRtMVN2SGh4MDUr
a1pzMmFVclJvMFV5dnh3RUlJSUFBQWdnZ2dBQUNDQ0J3ZXdVeQpEVUEwSUpnd1lZSzg4Y1liWnRh
aWNPSEM4c1FUVDhpcVZhdE01L0o3NzczWHpERG9VaXB0SktpQmhUdERsMXZwTlZxMGFHRS9mTnk0
CmNmTEhIMy9ZMzJlMjRlZm5aL0pTdEtONjZqRm56aHpUVlYzTEJETVFRQUFCQkJCQUFBRUVFRURB
TXdReURVQ0tGQ2xpbGw5VnJGalIKTExWYXVIQ2hDVEthTkdraVZhcFVFVzFFcU51clY2OFdYWjds
N3RCQXhqSDQwUFAyNzk4dklTRWhiczErMkw1bjdOaXhvc3ZFdEVHaQpMdUhTcFdLOWV2V1N4eDkv
M0dsMnhYWThyd2dnZ0FBQ0NDQ0FBQUlJSUpCOUFwbm1nTmh1VFhNc2REbVdCZzYya1pDUVlHWkdE
aHc0CklCMDZkSkNKRXlmYVBzcjBkZno0OGRLNmRXdTU3Nzc3bkk3Vm5KSkNoUW81N2N2b3piUnAw
MFR6VVRUd2FObXlwUWxpU3BRb0lhR2gKb1daMkpLTnorUXdCQkJCQUFBRUVFRUFBQVFUdXJFQ21W
YkJzdDFPc1dER240RVAzNit5SEpvRHJESVFHSUZiRzRzV0xwVTZkT2xLdQpYRGxUMm5mdTNMbHkr
UEJoK2VTVFQ5eStqQ2F6YXhmMnAvOWRHbGdiR0g3MDBVZlN2SGx6azNpdU16S25UNTkyKzFvY2lB
QUNDQ0NBCkFBSUlJSUFBQXJkZndPMFprTnR4SzVvM29ya2EwNmRQTndua2h3NGRNaDNRdFN5dlZy
REtiT2pNUzJCZ29HZ2pSQTJRZEl3Y09kTE0KeWt5ZVBGbHExS2hobG5SbGRoMCtSd0FCQkJCQUFB
RUVFRUFBZ1RzallEa0EwY3BYbFN0WEZoOGZuMXQyaDFldlhqV3pGaHAwYUxXcQpwazJiU29FQ0JU
Szl2cDZuTXlqYWo4VGYzOThjLzlwcnIwbFFVSkM4OWRaYnNtWExGdkgxOWMzME9oeUFBQUlJSUlB
QUFnZ2dnQUFDCmQwWWc4MmtHaC9zNGRlcVVLWk9yVmJGdTVjaWJONjkwNjlaTmF0V3FKVEV4TVc0
RkgvcjllcDR1dTlJLzI5RFpFSzJ3cFpXNkNENXMKS3J3aWdBQUNDQ0NBQUFJSUlPQVpBcFpuUUQ3
NzdETlR2VXA3ZHR6cThjRUhIOGpRb1VOTlozUjN5L25xUFJ3OGVGQTBPSHJnZ1FjawpQajdlSk10
cmZnb0RBUVFRUUFBQkJCQkFBQUVFUEV2QWNnQnkvZnAxV2JObWpmbUh2czVZYUNsZGJTeG9kV2dD
dVNhd2I5KyszU1N6CnQyM2JWblNmNW9Ib0VpcDNoeWF2OStqUkk4M2hHaWoxN3QwN3pYNTJJSUFB
QWdnZ2dBQUNDQ0NBUVBZSldBNUF1bmZ2TGxGUlVWSzYKZEdrNWVmS2sxSzVkVzJiUG5tMldabGw1
akk0ZE81cktWU2twS1hMaXhBbHAwS0NCekpvMXl5U1ZXN21PTHJPcVc3ZXVXWTVsT3k4cApLY2sw
U1V4TVRIUjdPWmZ0WEY0UlFBQUJCQkJBQUFFRUVFRGc5Z2xZeWdGSlRrNldJMGVPaVA0RFh5dFlh
YldxOFBCd2szT2gvOWgzCmQ1dzllMWJhdEdsakFwRGp4NCtiOHJ1Tkd6ZVc5dTNibTZWVTdsNUhq
OU5HaWRXclY1ZWFOV3ZhL3pTQi9iSEhIalBYdFhJdGprVUEKQVFRUVFBQUJCQkJBQUlIYksyQnBC
a1NYU0UyZE9sVUdEaHpvZEZmYWdYektsQ2t5WnN3WXAvM3B2Zm56eno5bDZkS2xhVHFuYjlxMApT
ZWJObXllUmtaSHBuWnBtdjg3R2FNSzU0OUJsWXRxVlhaZG51Vk5OeS9GY3RoRkFBQUVFRUVBQUFR
UVFRT0QyQ1ZpYUFkRmNEMDBPCnYzYnRtdE1kYVVKNmNIQ3c2ZVhoOUVFNmI3U0U3OWF0VzJYWHJs
MU9SK2d5TEcxT3FBR0V1eU4xOEtIbjZXek1raVZMWlAzNjllNWUKaHVNUVFBQUJCQkJBQUFFRUVF
RGdEZ2hZQ2tEMGZyVEU3YXBWcTV4dWJkeTRjZkx6eno4NzdjdnNqVmE3MHVSeGZkVXU1cmFoM2RD
dApCQ0JhOVNyMUtGdTJySm1OMFg0aURBUVFRQUFCQkJCQUFBRUVFUEFjZ2J4V2I2Vnc0Y0ttOHBY
amVmdjM3emNkeDNQbHl1VzRPOE50CjdWd2VIUjB0L2ZyMU16a2NlbDFkTHFXVnE3Uy9oN3VqUzVj
dTVuNGN6N2w0OGFMODhNTVBNbVRJRUhjdnczRUlJSUFBQWdnZ2dBQUMKQ0NCd0J3VGN5Z0g1NnF1
dlRGNUduejU5NU9tbm43N2x0NlVkeXpkdjNteVN5QnMxYWlSV0Fwa3laY3FZS2xoNTh1U3gzNWNt
dHV2Kwp5Wk1ubTY3dDlnL1lRQUFCQkJCQUFBRUVFRUFBZ1d3VnlIU3FRUlBQTlRsODBhSkZKcTlD
WDRzV0xXcG1IWGJ1M0NscjE2NlZoeDkrCjJGTHZEbjFpWFRxbHN4YWE4MUd2WGozemx4V0orZlBu
Uy9QbXpaMU8xU1QzTjk5OGsrRERTWVUzQ0NDQUFBSUlJSUFBQWdoa3YwQ20KTXlEcjFxMFRUVEsv
Kys2N3pkMXFkYW1WSzFmS2dBRURSUC94cjh1ZHpwMDdaNVpUTld2V3pLMG5PbjM2dEZTcVZFbXVY
cjBxaFFvVgpNZ0ZFcTFhdHBHWExsbEsxYWxXbmExeStmRG5EU2xiYXVOQjJiNDRuYXIrU0VTTkdT
STBhTlJ4M3M0MEFBZ2dnZ0FBQ0NDQ0FBQUxaCktKQnBFcm91YmJwMDZaSzVSUTBHNHVMaVRNbGQ3
Yit4ZS9kdVUzRXFOalpXOU0vZDRlZm5aNUxFVDUwNlpZS1l3TUJBK2Zqamo4MHMKU2tCQWdQVHQy
OWVVMEQxNjlLak1uRGt6dzh2Mjc5OWY1c3laSTh1V0xUTi9XcGIzcmJmZWtvVUxGNHJqc3F3TUw4
S0hDQ0NBQUFJSQpJSUFBQWdnZ2NFY0VNcDBCK2VPUFAyVENoQW55eGh0dnlQdnZ2Mi8rTk9sY0sy
RlZybHhaN3IzM1huT2pYM3p4aFhUcTFNbVU2WFhuCnpuVnBWMHhNaklTR2h0b1BQM1BtakFsd3Z2
dnVPOUcvZmZ2Mm1ZYUZLMWFzc0IrVGVrUHpSVFRRY0F3MnRFendxNisrS3FOR2pVcDkKT084UlFB
QUJCQkJBQUFFRUVFQWdHd1V5elFIUm1RNWQ0bFN4WWtXejFFcG5GclFYU0pNbVRhUktsU3BTdjM1
OXM3MTY5ZW8walFVegplaTd0QTZLSjRob3MySUtIRWlWS2lGYTEwajhkT2dPaXgyVTBOTmREZ3cy
OUo5dlFVcjQ2RThKQUFBRUVFRUFBQVFRUVFBQUJ6eExJCmRBYkVkcnUvLy82N0NSUzBYSzV0SkNR
a21KbVJBd2NPU0ljT0hXVGl4SW0yanpKOHZaVTVJSnAvb2tueHFZZVc5MzMzM1hkRnkvMHkKRUVB
QUFRUVFRQUFCQkJCQXdETUVNczBCc2QybS9rUGVNZmpRL1RyN3NYejVjdEZFZFExQTNCMjNNZ2Zr
d3c4L0ZGM09wYzBMOVU5bgpWSDc1NVJkWnZIaXhhSlV1QmdJSUlJQUFBZ2dnZ0FBQ0NIaU9nTnN6
SUxaYjF0a09YVEtseTdKdVp0ektIQkJYOTFHclZpMVp2MzY5CjNIWFhYYTQrWmg4Q0NDQ0FBQUlJ
SUlBQUFnaGtnNENsQUVTWE81VXNXZExNTW1nQ3VwYk9iZDI2dGVtQ3ZuVHBVZ2tMQzNQN0VSWXMK
V0NCSlNVbm0vR3JWcXJrOHo1WURvc250NlkxdTNicVpxbG01Yy85bk1rZHpRYlNTbHBiNXRlV1dw
SGN1K3hGQUFBRUVFRUFBQVFRUQpRT0RPQ2xnS1FQVFd0TVJ0cjE2OVRKV3FiNy85MXBUZjFVcFo1
Y3VYbHlOSGpwaTcxNWtIYlRDb1BUNWNEVjBxVmJkdVhiTjBTaXRxCmxTMWIxaDdNdEdqUlFuU0ps
bTFvWlN4TlRuYzE5RHBhRnRqZjM5OGt0TnZPMC9LK3BVcVZjblVLK3hCQUFBRUVFRUFBQVFRUVFD
QWIKQlN3SElMcDBTZ01NN1g2dVEzTXVObTdjS0ZvcVZ4di9KU2NuUzdseTVVeGZEKzNuNFdwbzg4
QmZmLzNWekp6b0xNaU1HVE1rTWpMUwpWTEpLVEV3MHdZdk9ydWgzYU1kMExRR2MzdEJLWEFNSERw
UWVQWHFJZGtEWGN6Um9hZCsrdlh6MjJXZnBuY1orQkJCQUFBRUVFRUFBCkFRUVF5QVlCeXdHSU8v
ZW9TNmQwUnNTMkxDcjFPVGR1M0RBQngrREJnKzBmYWVBeGQrNWMwVzdxVzdac01UTXJPcnVoc3hw
Nzl1eXgKSCtlNG9aVzV0Tnh1ZUhpNDZEVjE5dVRFaVJPeWVmTm1FK0Q4OWRkZlVxOWVQY2RUMkVZ
QUFRUVFRQUFCQkJCQUFJRnNGSEM3Q3BidApIclZCNE1XTEYyMXZYYjVxejVEMGdnODlRWnNINmt5
Sk5pKzBEVjJHcFlHRUx1dDY5dGxuVFNkem5SMXhQTVoyck8xVjh6MjBsNGlPClR6NzV4Q3pIbWpS
cGt2ajYrcHBBUklNYUJnSUlJSUFBQWdnZ2dBQUNDSGlPZ0tVWmtPUEhqMHVGQ2hWazFxeFowckZq
UnhPSTJBSUEKMnlQcExJWUdFN1lsV3JiOXFWOTFka0puTzJyV3JDbkRodzgzalE0dlhicGtTdnZ1
MkxIRDdRVHk1NTkvWHM2ZVBTdUxGaTB5eWVoVApwa3lST1hQbW1HVmJHc3dFQmdhbS9tcmVJNEFB
QWdnZ2dBQUNDQ0NBUURZSldBcEE5QjYxK2VCOTk5MG5QajQrc21IREJsbTVjcVgwCjd0M2JYcGIz
bFZkZUVWMGFwVGtaVFpzMlVHTnI0d0FBR2tGSlJFRlV6ZkN4VWxKU0pDSWl3dVJxYUZsZm5SVnAy
TENoeE1URVpIaWUKNDRjYXlNeWZQOS9zNnQ2OXU4a2p1WHIxcXVUTm0ybVRkOGZMc0kwQUFnZ2dn
QUFDQ0NDQUFBSjNRTUJ5QUpMNm52UWYrMW9WS3pRMAoxQVFkdHM5MVJxSno1ODYydHhtK2J0MjZW
ZGF1WFd1Q2hpZWZmRExkcWxjWlhvUVBFVUFBQVFRUVFBQUJCQkJBd09NRmJqb0EwU2U4CmNPR0Nt
ZTBJQ2dxU2Z2MzZtU3BVbWhTZVVRQ3lldlZxVS8ycVFJRUNwaGZJNDQ4Lzd2RlkzQ0FDQ0NDQUFB
SUlJSUFBQWdqY25JRGwKSkhSWFg2ZmR4bU5qWTAwdVJ0dTJiZVh6eno4M2ZUMWNIYXY3enA4L2I0
SVQ3ZGR4OE9CQitmdmYvMjV5Umc0ZlBwemVLZXhIQUFFRQpFRUFBQVFRUVFBQ0JIQ0J3UzJaQUhC
MjBMMGhtSGNnMWFmeXBwNTZTYjc3NXhweXFqUXovOWE5L3llelpzMDFPU2VuU3BSMHZ5VFlDCkND
Q0FBQUlJSUlBQUFnamtFQUhMQWNpQkF3ZE1nS0ZKNHpjekpreVlZSUlRN1dKdUd6dDM3alFORExV
cG9aV2hBWXdtb3UvYnQ4LzAKSCtuU3BZc0VCQVJZdVFUSElvQUFBZ2dnZ0FBQ0NDQ0F3QjBRc0JT
QW5EdDNUa3FXTEdtNm4xZXVYTmtzczJyZHVyWHBhTDUwNlZJSgpDd3R6KzVhMTFPNlhYMzRwN2Rx
MWswYU5HdG5QKytpamo2UlBuejZtbXBWOVp3WWIyN1p0a3c0ZE9vajIvQ2hZc0tCb1RvbDJhNTgz
CmI1NDg4c2dqR1p6SlJ3Z2dnQUFDQ0NDQUFBSUlJSENuQlN3RklIcHpiNzMxbHFsNnBRMEp0YytH
NW43b0RJUjJQajl5NUlpNS8vWHIKMTB1ZE9uV2tVS0ZDTHA5SGwyQnAveEN0b0tXalpjdVcwck5u
VDZsU3BZcXNXYk5HdEpTdk8wTVQzYldQU0tkT25hUjkrL2FtaDBqKwovUG5sMEtGRG9sM1dOUmVs
Y09IQzdseUtZeEJBQUFFRUVFQUFBUVFRUU9BT0NGZ09RSFIyUVFNTVc2TkJ6Zm5ZdUhHanJGaXhR
a2FNCkdHRjZlWlFyVjg0c3BlcmJ0Mis2anpCMTZsVFR6UENubjM2U1ZhdFd5ZmZmZnk5YnRteVJH
alZxeVBidDIwMjM5SFJQL3Y4ZjdOKy8KWDVZc1dTSkRoZ3hKYzZoZVU3dXhaOWFMSk0ySjdFQUFB
UVFRUUFBQkJCQkFBSUhiSm1BNUFORW1nVE5uemhSZlgxOXAwNmFOZE8zYQpOYzNOSFQxNjFNeUlh
QUNRMGREbFV6cFRZaHRhSFV2TDgrcXlMcDNKeUd4b1Bvcm1mZWd5cnRSajJyUnBwbUhpZ3c4K21Q
b2ozaU9BCkFBSUlJSUFBQWdnZ2dFQTJDVmdLUURSQXFGQ2hnanowMEVOeTZkSWwweFZkLzRHdkFZ
a3V3Ykl5eG84ZmJ3SU43YXJ1T0M1ZXZKanUKMGkzSDQyemIycmhRbDI5cEIzWE5BWW1QanplVnRP
Yk9uU3Q3OXV5eGRDM2JOWGxGQUFFRUVFQUFBUVFRUUFDQjJ5TmdLUUM1ZlBteQorY2UrSm8vcitQ
MzMzMlh5NU1rbW1WeVhVQlV2WHR6dHUyemN1TEZadXFWVnNIVEdRLzgwc05GazlvaUlDTGV2bzBG
R3g0NGRSWmRqCmFmbGZYUkttOTdGZ3dZSU1lNUc0L1FVY2lBQUNDQ0NBQUFJSUlJQUFBcmRNd0ZJ
QW90LzZ3UWNmeUJOUFBHR1N5RzEzb2JrYjJzUGoKdmZmZXMrMXk2L1czMzM2VE9YUG15UFRwMDBV
VHlqVjVQRy9ldktaUllXYkx0eHkvUVBOU2xpMWJaaS9EcTB2RDZDWGlLTVEyQWdnZwpnQUFDQ0ND
QUFBS2VJV0FwQU5IWmhjV0xGNXQvN0d2SjNaQ1FFUHRUYUZMNU04ODg0M2I1WFB1Si85N1FhbGc2
cTZKQlI5R2lSVTNpCnVKYlRkV2RzMnJSSkdqUm9rT1pRM1YrcVZDblJjc0VNQkJCQUFBRUVFRUFB
QVFRUThBd0JTd0ZJY25LeVZLdFd6Y3hTbkR4NVVoNTQKNEFGNTdMSEg1SjU3N3BIRGh3L0wwS0ZE
N1UrbHN4THVKSkxiVC9qM2hpYVVheDhRelE5eGQyaVZxOTY5ZTZjcHQvdkREeitZKzlJZQpJWlVx
VlhLcnFwYTczOGx4Q0NDQUFBSUlJSUFBQWdnZ2tEVUJTd0dJZm9VbW5IZnUzTm4wL0lpT2poYXRp
clYyN1ZxVGY2R2xlWFg1ClUvUG16V1hEaGcwU0hoNXU2YTUwZVpjR01acnNuaTlmUHJmT3paVXJs
emt1OVpJdFhkS2xPU0c2WDB2N1JrVkZTV0Jnb0Z2WDVDQUUKRUVBQUFRUVFRQUFCQkJDNFBRS1dB
eEM5allTRUJOUDB6M1pMbXB5K2J0MDZVMzFLR3hOcUh3K2RIZEgrSUs3R21UTm41SVVYWGpBegpF
d01HRExCWDBOTEtXcG9IRWhRVTVPbzBsL3RlZXVrbEdUbHlaSnBxVjE5OTlaVUVCQVJJdlhyMVRF
QVRHUmtwcjcvK3VzdHJzQk1CCkJCQkFBQUVFRUVBQUFRVHVqRURlckh4Ti9mcjFUZEs0YmZaQjh6
VzBtN24rNmRDbFdyb0VLcjJoc3hJNlE2SGR5djM4L014aE91dHgKL1BoeFM4R0hucWdCakt1TzZ6
cURvak1nT2xKU1VreFFaTjd3SHdRUVFBQUJCQkJBQUFFRUVNZzJnWXc3QmFaeld6cFRVYlZxVmZ1
bgpjWEZ4cHZ5dGJVZkpraVZkTmdlMGZaNlVsR1JLN1dyd29ZSElwRW1UekN5SU5pVjg3cm5uYkll
NTlhcjVKNjVHYUdpbzFLNWQyM3lrCnN5VGF2NFNCQUFJSUlJQUFBZ2dnZ0FBQzJTdVFwU1ZZR29C
b2RhbkV4RVJ6OXhvRWJOMjYxVklmRUUwYzErcFY4K2JOTS9raVE0WU0KTVV1cE5NY2txOVcwMHFQ
TVNrSjhldGRpUHdJSUlJQUFBZ2dnZ0FBQ0NHUmRJRXN6SUZuL3V2K2VxUW5xbWhqdTQrTmpBcEJ4
NDhhSgpMdVZhdjM2OTJ3bm8vNzFheGx0V3EzRmxmRFUrUlFBQkJCQkFBQUVFRUVBQWdhd0taQ2tI
Skt0ZjVuaWVkajFmdFdxVmZkZkZpeGRsCjlPalJvZ250MmhkRUd4SXlFRUFBQVFRUVFBQUJCQkJB
SUdjSmVNeS84aldSWEFNUUJnSUlJSUFBQWdnZ2dBQUNDT1JjZ1d4YmdyVjcKOTI3NTg4OC9jNjRz
VDRZQUFnZ2dnQUFDQ0NDQUFBSnBCTElsQURsMTZwUUVCd2ZMaEFrVDB0d1FPeEJBQUFFRUVFQUFB
UVFRUUNEbgpDbVRMRXF4U3BVckpwNTkrS2lFaElUbFhsaWREQUFFRUVFQUFBUVFRUUFDQk5BSlpD
a0FLRml3b3VvVEtOaG8zYm14dittZmJsOWxyCnIxNjlNanVFenhGQUFBRUVFRUFBQVFRUVFDQ0hD
V1NwRDBnT00rQnhFRUFBQVFRUVFBQUJCQkJBNEE0SldNNEJHVHQyckt4YnQrNE8KM1I1Zmd3QUND
Q0NBQUFJSUlJQUFBamxKd05JTWlDYVArL3Y3eTA4Ly9TUkJRVUU1eVlGblFRQUJCQkJBQUFFRUVF
QUFnVHNnWUdrRwp4TmZYVjBKRFExMEdIN3QyN1pLSEgzNVlZbUppN3NCdDh4VUlJSUFBQWdnZ2dB
QUNDQ0R3dnloZ0tRRFI1UFAwWmo1V3Jsd3BPM2Z1CmxNVEVSQWtMQzVQWTJOai9SUS91R1FFRUVF
QUFBUVFRUUFBQkJHNmpnS1VBUk85REsxNHRXTERBNlpaT25qd3BIM3p3Z1R6MzNIUFMKdTNkdnFW
Njl1a3lmUHQzcEdONGdnQUFDQ0NDQUFBSUlJSUFBQXBiTDhEN3l5Q1B5OXR0dnk2T1BQaW9OR3ph
VTVPUmtXYmh3b1p3KwpmVm9pSWlJUVJRQUJCQkJBQUFFRUVFQUFBUVRTRmJBOEE2SlhHajU4dUF3
Yk5reVNrcEpNUDVCT25Uckpqei8rS0dYS2xFbjNpL2dBCkFRUVFRQUFCQkJCQUFBRUVFTEE4QTJJ
amE5Q2dnZWlmcTZIN3IxMjc1dW9qOWlHQUFBSUlJSUFBQWdnZ2dJQVhDMWdxdzJ0ejJyQmgKZzJ6
Y3VGSHExcTFyS2wvWjl2T0tBQUlJSUlBQUFnZ2dnQUFDQ0dRa1lIa0psaWFnYXluZVRaczJTYytl
UFdYUW9FRVpYWi9QRUVBQQpBUVFRUUFBQkJCQkFBQUc3Z09VQTVOZGZmeldsZHFPaW91VG8wYU5T
cmx3NWlZK1BGMjFTT0hqd1lHblJvb1ZNbVRMRi9nVnNJSUFBCkFnZ2dnQUFDQ0NDQUFBSTJBVXNC
U0VwS2lsU3NXRkY4Zkh6TStYbnk1SkdYWG5wSjVzMmJKN1ZyMXhZTlNvS0RnMlhKa2lXeVlzVUsK
MjNmd2lnQUNDQ0NBQUFJSUlJQUFBZ2dZQVVzQmlEWWkzTGR2bnhQZFR6LzlKSFBtekJGL2YzL1pz
V09INlFjU0hSMXRxbU01SGNnYgpCQkJBQUFFRUVFQUFBUVFROEhvQlN3R0l6bmo4OGNjZk1tYk1H
Tm03ZDY5OCt1bW4wclJwVXpQcm9mMUIvUHo4N0tCNkxBTUJCQkJBCkFBRUVFRUFBQVFRUWNCU3dG
SURvaVcrKythWWtKQ1JJVUZDUVNVRHYwYU9IckZ5NTBnUWhZV0Zoc216Wk10TWpwSGp4NG83Znd6
WUMKQ0NDQUFBSUlJSUFBQWdnZ0lGa3F3NnR1T2hPaVM3THk1Y3RuWjlTWkVhMlMxYXhaTTVrd1lZ
TFRaL2FEMkVBQUFRUVFRQUFCQkJCQQpBQUd2RmJBY2dMend3Z3NTR1JrcHVYTmJuanp4V21RZUhB
RUVFRUFBQVFRUVFBQUJCUDRqWURtS21EUnBrb1NIaDh2VnExZGRHbXBGCkxDM0p5MEFBQVFRUVFB
QUJCQkJBQUFFRVVndFlEa0QwQW0zYXRKSC8rNy8vazh1WEw2ZStubWd5ZXVmT25lWGt5Wk5wUG1N
SEFnZ2cKZ0FBQ0NDQ0FBQUlJZUxkQWxnS1FnSUFBRTRCRVJFVEl1WFBubkFSOWZYMmxWYXRXOHZi
YmJ6dnQ1dzBDQ0NDQUFBSUlJSUFBQWdnZwprS1VBNU1hTkc2SkJ5SWdSSTZSbno1NmkzZEVkaDNa
STM3cDFxK011dGhGQUFBRUVFRUFBQVFRUVFBQUJ5V3ZWSUgvKy9LTE5CeHMyCmJHaUNrQmt6Wmtp
M2J0MGtKQ1RFTE0xYXZYcTE2WXpldFd0WHE1Zm1lQVFRUUFBQkJCQkFBQUVFRU1qaEFwWm5RSTRm
UHk3WHIxODMKWlhqVnBreVpNdkxOTjkrWXhvUmFmdmUxMTE0enpRbkhqaDJidytsNFBBUVFRQUFC
QkJCQUFBRUVFTEFxWUxrTWIwWmZvTDFCTGx5NApJR1hMbHMzb01ENURBQUVFRUVBQUFRUVFRQUFC
THhYSVVnQ2lKWGpYcmwxck9xSlhxMVpON3IvL2ZpbGZ2cnlYRXZMWUNDQ0FBQUlJCklJQUFBZ2dn
NEs2QTVSeVF1WFBueXNTSkU2VllzV0p5OE9CQk9YVG9rR2hTK2pQUFBDTzY3S3BreVpMdWZqZkhJ
WUFBQWdnZ2dBQUMKQ0NDQWdKY0pXTW9CMFVCRHExc2xKQ1JJYkd5c0hEaHdRTTZlUFN0RGh3NlZt
VE5uaXM2RzdOcTF5OHNJZVZ3RUVFQUFBUVFRUUFBQgpCQkJ3VjhEU0RFaEtTb29FQmdaS3JseTU3
TmN2VXFTSXZQUE9PNUtjbkN5WExsMlNSeDk5MUFRb3hZc1h0eC9EQmdJSUlJQUFBZ2dnCmdBQUND
Q0NnQXBabVFBb1hMaXh4Y1hHU2xKU1VSaTkzN3R6eTdydnZTcjkrL2FSNzkrNm1VbGFhZzlpQkFB
SUlJSUFBQWdnZ2dBQUMKWGkxZ2FRWkVwWjU0NGdtcFhidTJkTzdjV1ZxMGFDSDE2dFVUN2YyeGUv
ZHVVLzNxNVpkZmxsT25Uc21XTFZ1a2Z2MzZYbzNMd3lPQQpBQUlJSUlBQUFnZ2dnSUN6UUphcVlN
MlpNMGRlZlBGRisweElnUUlGWk1HQ0JkS3hZMGR6ZFYyS3RYRGhRdW5WcTVmenQvRU9BUVFRClFB
QUJCQkJBQUFFRXZGb2dTd0dJaW1tL2o4MmJOOHVaTTJmTVRFZUZDaFdjSUwvOTlsdHAxNjZkMHo3
ZUlJQUFBZ2dnZ0FBQ0NDQ0EKZ0hjTFpEa0F5WXhObDJHVktsVXFzOFA0SEFFRUVFQUFBUVFRUUFB
QkJMeEk0TFlGSUY1a3lLTWlnQUFDQ0NDQUFBSUlJSUNBbXdLVwpxbUM1ZVUwT1F3QUJCQkJBQUFF
RUVFQUFBUVJjQ2xnT1FDNWV2T2p5UXV4RUFBRUVFRUFBQVFRUVFBQUJCRElUc0J5QWpCbzFTclFq
Ck9nTUJCQkJBQUFFRUVFQUFBUVFRc0NwZ09RZEV1NkFIQlFWSmFHaW90R25UUmhvM2JpdytQajVX
djVmakVVQUFBUVFRUUFBQkJCQkEKd0FzRkxNK0E1TTJiVis2NjZ5NTU3NzMzcEdYTGxsS2lSQW5w
MEtHRHZQLysrN0pueng0NzRaSWxTK3piYkNDQUFBSUlJSUFBQWdnZwpnQUFDS21DNUUzcEVSSVFK
UHM2ZE95ZmZmLys5UkVkSFMxUlVsQ3hmdnR5SUJnUUVpUFlFMFk3cERBUVFRQUFCQkJCQUFBRUVF
RURBClVjRHlETWpWcTFmTitVV0xGcFhISG50TXBrMmJKbUZoWVdiMkl6SXlVb0tEZzJYYnRtMk8z
OEUyQWdnZ2dBQUNDQ0NBQUFJSUlHQUUKTEFjZ2UvZnVOVjNRSGYzV3JGa2pWYXRXbFlFREI1cVpr
QjkvL0pGRWRVY2d0aEZBQUFFRUVFQUFBUVFRUU1BSVdBNUFxbFdySmc4OQo5SkJNbmp4Wk5OQjQ4
ODAzNWVEQmc3Smp4dzQ3YVVwS2l2ajYrdHJmczRFQUFnZ2dnQUFDQ0NDQUFBSUlxSURsS2xqSGpo
MlRoZzBiCnl2SGp4NDFnZ1FJRlpNV0tGZEszYjE4Wk5teVkrUG41aVM3RkdqbHlwRFJyMWd4bEJC
QkFBQUVFRUVBQUFRUVFRTUF1WURrSlhSUE0KTjIzYUpETm56cFNDQlF0Szc5NjlUZENobGJENjll
dG5MbHkvZm4wVHBOaS9oUTBFRUVBQUFRUVFRQUFCQkJCQTROOENsbWRBMGxQVAo1b1NyVnEyUzgr
ZlBTMGhJQ0V1dzBvTmlQd0lJSUlBQUFnZ2dnQUFDWGl4Z09RQ0pqNDhYN1FWU3AwNGR5Wk1uanhm
VDhlZ0lJSUFBCkFnZ2dnQUFDQ0NCZ1ZjQlNBSEw2OUdtcFZLbVNhQ25lUW9VS1NmUG16YVZWcTFh
bUlhRld3WEljbHk5ZkZzMFBZU0NBQUFJSUlJQUEKQWdnZ2dBQUNOZ0ZMVmJBMHdYek1tREZ5NnRR
cG1UOS92Z1FHQnNySEgzOHNRVUZCb2cwSU5SRjk3dHk1Y3ZUb1VaTWpZdnNTWGhGQQpBQUVFRUVB
QUFRUVFRQUFCRmJBMEE2SW5YTGx5UldKaVlpUTBORlRmbW5IbXpCbUppNHVUNzc3N3p2enQyN2RQ
MnJScFk2cGoyWTdoCkZRRUVFRUFBQVFRUVFBQUJCQkRJVWdDeWZQbHkyYjU5dTJpMXE3WnQyNmJK
QmRFWmtLMWJ0MHFuVHAwUVJnQUJCQkJBQUFFRUVFQUEKQVFUc0FwWURrSTRkTzRwMlE5ZG1neWRP
bkpBR0RScklyRm16ekhJcysxWFpRQUFCQkJCQUFBRUVFRUFBQVFSY0NGaktBVGw3OXF4WgpXcVVC
aURZaVBIejRzRFJ1M0ZqYXQyOXY4a0pjWEo5ZENDQ0FBQUlJSUlBQUFnZ2dnSUJkd0ZJQW9wV3Yv
UDM5N1NkcjR2bjQ4ZU5sCjl1elpNbnIwYVB0K05oQkFBQUVFRUVBQUFRUVFRQUFCVndLV0FoQWZI
eCtUMjdGcjF5Nm5hK2t5TE8wTGN2MzZkYWY5dkVFQUFRUVEKUUFBQkJCQkFBQUVFSEFVc0JTQjY0
dENoUTZWSGp4N21WWmRpMllZdXh5SUFzV253aWdBQ0NDQ0FBQUlJSUlBQUFxNEVMQWNneFlvVgpr
K2pvYVBuNTU1K2xldlhxVXFSSUVTbGR1clNjUDMvZWRFaDM5U1hzUXdBQkJCQkFBQUVFRUVBQUFR
UlV3SElWTEVlMkxWdTJ5T2JOCm02Vm16WnJTcUZFanlaVXJsK1BIYkNPQUFBSUlJSUFBQWdnZ2dB
QUNUZ0tXQXhCZFpyVm16UnFKajQrWFdyVnFTWXNXTFNSLy92eE8KRitVTkFnZ2dnQUFDQ0NDQUFB
SUlJT0JLd0hJQTByMTdkNG1LaWpMTHJrNmVQQ20xYTljMlZiQ0NnNE5kWFo5OUNDQ0FBQUlJSUlB
QQpBZ2dnZ0lCZHdGSU9TSEp5c2h3NWNrU1NrcExrdDk5K00za2Y0ZUhoRWhZV0pvbUppZmFMc29F
QUFnZ2dnQUFDQ0NDQUFBSUl1Qkt3CkZJQVVMbHhZdW5YckpuNStmdVphdnI2KzByOS9mL242NjY5
bDBxUkpycTdQUGdRUVFBQUJCQkJBQUFFRUVFREFMbUFwQU5GY2ozejUKOHNtMWE5ZnNGOUNOQ2hV
cWlDN0J1bkhqaHROKzNpQ0FBQUlJSUlBQUFnZ2dnQUFDamdLV0FoQTlVWmRiclZxMXl2RWFNbTdj
T0ZPVwoxMmtuYnhCQUFBRUVFRUFBQVFRUVFBQ0JWQUtXQXhCZGhxV1ZyeHpIL3YzN3pRd0laWGdk
VmRoR0FBRUVFRUFBQVFRUVFBQ0IxQUtXCnEyQnBGL1NXTFZ1YUlLUlNwVXFwcjhkN0JCQkFBQUVF
RUVBQUFRUVFRQ0JkQWNzeklPWEtsWk1wVTZaSTVjcVZKVEF3VUo1NzdqbjUKNG9zdlJDdGtPWTVU
cDA0NXZtVWJBUVFRUUFBQkJCQkFBQUVFRU1oNkozUU5PTHAyN1dxV1hzWEd4b291dzlLZUlMbzg2
NkdISGpJNQpJY09HRFlNWUFRUVFRQUFCQkJCQUFBRUVFTEFMV0o0QjBVcFhPdVB4eUNPUG1HN285
OTEzbit6WnMwY09IVG9rRVJFUmN1ellNZEhlCklOSFIwZll2WVFNQkJCQkFBQUVFRUVBQUFRUVFV
QUZMT1NCWHJsd3grUjg2MjZIQnhyUFBQaXM3ZHV5UXk1Y3Z5ejMzM0NNMWF0UXcKcWhxazZERlZx
MVpGR1FFRUVFQUFBUVFRUUFBQkJCQ3dDMWdLUU02ZlB5K3RXcldTdUxnNEtWaXdvUDBpbWhPeWVQ
RmlpWW1Kc2U5agpBd0VFRUVBQUFRUVFRQUFCQkJCSUxXQnBDWmFXNFAzNDQ0OWwrL2J0VHRjWk1H
Q0FWS2xTeFdrZmJ4QkFBQUVFRUVBQUFRUVFRQUNCCjFBSjVVKy9JNlAyWk0yZGs3Tml4b3VWM0F3
SUNwSHo1OHZiRFgzNzVaZnMyR3dnZ2dBQUNDQ0NBQUFJSUlJQ0FLd0ZMQVVqdTNMbEYKOHpzR0R4
NHNmbjUrNW5xNkxPdjQ4ZU5TdlhwMVY5ZG5Id0lJSUlBQUFnZ2dnQUFDQ0NCZ0Y3QzBCQ3NwS2Nr
a24ydndvWUhJcEVtVAp6Q3hJblRwMVREOFErMVhaUUFBQkJCQkFBQUVFRUVBQUFRUmNDRmdLUUxT
cTFiUnAwMHdqd3FaTm04cWdRWU9rZi8vK2N2YnNXYWxWCnE1Yjg5ZGRmTHI2Q1hRZ2dnQUFDQ0ND
QUFBSUlJSURBZndRc0JTQjZpdmI0aUlxS0VoOGZIOW13WVlPTUd6ZE9DaFFvSU92WHI1ZDgKK2ZM
aGlnQUNDQ0NBQUFJSUlJQUFBZ2lrSzJDcERLK3JxMXk4ZUZGR2p4NHRlL2Z1bGZuejUwdmV2SmJT
U2x4ZGtuMElJSUFBQWdnZwpnQUFDQ0NDUVF3VnVPZ0RKb1M0OEZnSUlJSUFBQWdnZ2dBQUNDTndH
QWN0THNHN0RQWEJKQkJCQUFBRUVFRUFBQVFRUThCSUJBaEF2CithRjVUQVFRUUFBQkJCQkFBQUVF
UEVHQUFNUVRmZ1h1QVFFRUVFQUFBUVFRUUFBQkx4RWdBUEdTSDVySFJBQUJCQkJBQUFFRUVFREEK
RXdRSVFEemhWK0FlRUVBQUFRUVFRQUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFRUVBQUFRUThR
WUFBeEJOK0JlNEJBUVFRUUFBQgpCQkJBQUFFdkVTQUE4WklmbXNkRUFBRUVFRUFBQVFRUVFNQVRC
QWhBUE9GWDRCNFFRQUFCQkJCQUFBRUVFUEFTQVFJUUwvbWhlVXdFCkVFQUFBUVFRUUFBQkJEeEJn
QURFRTM0RjdnRUJCQkJBQUFFRUVFQUFBUzhSSUFEeGtoK2F4MFFBQVFRUVFBQUJCQkJBd0JNRUNF
QTgKNFZmZ0hoQkFBQUVFRUVBQUFRUVE4QklCQWhBdithRjVUQVFRUUFBQkJCQkFBQUVFUEVHQUFN
UVRmZ1h1QVFFRUVFQUFBUVFRUUFBQgpMeEVnQVBHU0g1ckhSQUFCQkJCQUFBRUVFRURBRXdRSVFE
emhWK0FlRUVBQUFRUVFRQUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFCkVFQUFBUVE4UVlBQXhC
TitCZTRCQVFRUVFBQUJCQkJBQUFFdkVTQUE4WklmbXNkRUFBRUVFRUFBQVFRUVFNQVRCQWhBUE9G
WDRCNFEKUUFBQkJCQkFBQUVFRVBBU0FRSVFML21oZVV3RUVFQUFBUVFRUUFBQkJEeEJnQURFRTM0
RjdnRUJCQkJBQUFFRUVFQUFBUzhSSUFEeApraCtheDBRQUFRUVFRQUFCQkJCQXdCTUVDRUE4NFZm
Z0hoQkFBQUVFRUVBQUFRUVE4QklCQWhBdithRjVUQVFRUUFBQkJCQkFBQUVFClBFR0FBTVFUZmdY
dUFRRUVFRUFBQVFRUVFBQUJMeEVnQVBHU0g1ckhSQUFCQkJCQUFBRUVFRURBRXdRSVFEemhWK0Fl
RUVBQUFRUVEKUUFBQkJCRHdFZ0VDRUMvNW9YbE1CQkJBQUFFRUVFQUFBUVE4UVlBQXhCTitCZTRC
QVFRUVFBQUJCQkJBQUFFdkVTQUE4WklmbXNkRQpBQUVFRUVBQUFRUVFRTUFUQkFoQVBPRlg0QjRR
UUFBQkJCQkFBQUVFRVBBU0FRSVFML21oZVV3RUVFQUFBUVFRUUFBQkJEeEJnQURFCkUzNEY3Z0VC
QkJCQUFBRUVFRUFBQVM4UklBRHhraCtheDBRQUFRUVFRQUFCQkJCQXdCTUVDRUE4NFZmZ0hoQkFB
QUVFRUVBQUFRUVEKOEJJQkFoQXYrYUY1VEFRUVFBQUJCQkJBQUFFRVBFR0FBTVFUZmdYdUFRRUVF
RUFBQVFRUVFBQUJMeEVnQVBHU0g1ckhSQUFCQkJCQQpBQUVFRUVEQUV3UUlRRHpoVitBZUVFQUFB
UVFRUUFBQkJCRHdFZ0VDRUMvNW9YbE1CQkJBQUFFRUVFQUFBUVE4UVlBQXhCTitCZTRCCkFRUVFR
QUFCQkJCQUFBRXZFU0FBOFpJZm1zZEVBQUVFRUVBQUFRUVFRTUFUQkFoQVBPRlg0QjRRUUFBQkJC
QkFBQUVFRVBBU0FRSVEKTC9taGVVd0VFRUFBQVFRUVFBQUJCRHhCNFA4QkdEUzdPd2E0Qk9ZQUFB
QUFTVVZPUks1Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBh
aW50L2JveC1zaGFkb3ctaC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoK
aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpR
ME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIv
UkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZL
TjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZF
SnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQ
MUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZF
QTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllx
R2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dB
VnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xx
SEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVD
R1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pM
OFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5Y
UjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUz
MzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1Bp
S1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0
dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRV
M0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3Bt
Tk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVR
dmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVR
VlI0QWUzZEI1QmNXWFV3NER2U1NDdU5wRVVTUVdSWVlNdkVBcFlsbS8yaFRBNkdJbTloVTRCTk1C
aWJaTE5RSnBZQnJ3R1QKVEN3YkV3cE1jaEVNYXlqeWttRlpjR0V5bU1KRUVTUjVSOUpvbGZydjg4
UWQ5NDVHVWsvc2UyOS9yNnJWNllWenYvUFUvYzdjZDE5UAo5UHBUTWhFZ1FJQUFBUUlFQ0JBZ1FH
QVZCTmFzd2pac2dnQUJBZ1FJRUNCQWdBQUJBcDJBQXNTT1FJQUFBUUlFQ0JBZ1FJREFxZ2tvClFG
YU4yb1lJRUNCQWdBQUJBZ1FJRUZDQTJBY0lFQ0JBZ0FBQkFnUUlFRmcxQVFYSXFsSGJFQUVDQkFn
UUlFQ0FBQUVDQ2hEN0FBRUMKQkFnUUlFQ0FBQUVDcXlhZ0FGazFhaHNpUUlBQUFRSUVDQkFnUUVB
QlloOGdRSUFBQVFJRUNCQWdRR0RWQkJRZ3EwWnRRd1FJRUNCQQpnQUFCQWdRSUtFRHNBd1FJRUNC
QWdBQUJBZ1FJckpxQUFtVFZxRzJJQUFFQ0JBZ1FJRUNBQUFFRmlIMkFBQUVDQkFnUUlFQ0FBSUZW
CkU1aGN6SlltSmlZV3M5aXFMZFByOVZadFd6WkVnQUFCQW9zVDhGMnlPTGZhbHNyZnlZUDM4WGp3
K1NqYmxQZkR1TSszaUdmdzlWSEcKWjlzRVdoUllWQUhTSW9RMkVTQkFnQUFCQXNzcmtJdU1vMGVQ
cG53N2N1UklpbHM4SHl4RWxuZkx3Njh0RngxcjFxeEphOWV1N1c3eApPTjhpeGx5TURMOVdjeEln
Y0RJQkJjakpkTHhIZ0FBQkFnUUlMRWtnQ28wb09BNGZQcHdPSGp3NGU0dm5nNFhJa2pheXlJV2pz
TWlGCngrVGtaRnEvZnYzc0xaN0hGTytiQ0JCWVhnRUZ5UEo2V2hzQkFnUUlFQ0R3TzRIb1BZZ0NK
SXFOQXdjT3BQMzc5NmQ5Ky9aMXQzaCsKNk5DaDJTSmtGR2k1K0ZpM2JsM2FzR0ZEMnJScFUzZWJt
cHJxbnVmZUVUMGdvOGlPYmJZc29BQnBPYnZhUm9BQUFRSUVSaWlRQzVEbworWWppWTgrZVBXblhy
bDNkL2ZUMGRGZVVSQkVTUmNvb3BpaEFjdkd4WmN1V3RIWHIxclI5Ky9ZdWxGeWM2QUVaUldac3Mz
V0JpZjZICnc0SkhiTS8zbDRCZTcrbUZXLzFkNGZHMUZONTVoVGZHdnJCNkNiSXZySjUxNlZzcWUx
K1ltRGovT01CRmZEMGV0NDV4ZnlHZmRyVjMKNzk2MGUvZnV0SFBuem5UT09SY1V6WExoaGZkTU8z
YnNTTnUyYlV1Yk4yL3VUc25LcDJNVkhiamdDRlFrNE1UR2lwSWxWQUlFQ0JBZwpVSk5BRkhFeHpp
TjZRT0xVcStnQktYMktHQ1BXaURsaVY0aVduakh4MVNpZ0FLa3hhMkltUUlBQUFRSVZDTVRCKytB
WWtPZ0pLWDJLCkdHTjhTdlRlUk93S2tOSXpKcjRhQlJRZ05XWk56QVFJRUNCQW9CS0IzQXNTWXox
bVptYUtqenBpeklQakZSL0ZwMHVBbFFvb1FDcE4KbkxBSkVDQkFnRUFOQXJrWEpGK0t0L1NZUzdn
OGNPbEc0aU93VkFFRnlGSUZ4M3o1d1VzVTVzZGpUcUw1RlFua2ZYYnd2cUx3aFVxZwplSUhjZ3pC
WWhKUWU5TnpmSnNsdEtEMXU4UkdvU1VBQlVsTzJ4RXFBQUFFQ0JBZ1FJRUNnY2dFRlNPVUpGRDRC
QWdRSUVDQkFnQUNCCm1nUVVJRFZsUzZ3RUNCQWdRSUFBQVFJRUtoZFFnRlNlUU9FVElFQ0FBQUVD
QkFnUXFFbEFBVkpUdHNSS2dBQUJBZ1FJRUNCQW9ISUIKQlVqbENSUStBUUlFQ0JBZ1FJQUFnWm9F
RkNBMVpVdXNCQWdRSUVDQUFBRUNCQ29YVUlCVW5rRGhFeUJBZ0FBQkFnUUlFS2hKUUFGUwpVN2JF
U29BQUFRSUVDQkFnUUtCeUFRVkk1UWtVUGdFQ0JBZ1FJRUNBQUlHYUJCUWdOV1ZMckFRSUVDQkFn
QUFCQWdRcUYxQ0FWSjVBCjRSTWdRSUFBQVFJRUNCQ29TVUFCVWxPMnhFcUFBQUVDQkFnUUlFQ2dj
Z0VGU09VSkZENEJBZ1FJRUNCQWdBQ0JtZ1FVSURWbFM2d0UKQ0JBZ1FJQUFBUUlFS2hkUWdGU2VR
T0VUSUVDQUFBRUNCQWdRcUVsQUFWSlR0c1JLZ0FBQkFnUUlFQ0JBb0hJQkJVamxDUlErQVFJRQpD
QkFnUUlBQWdab0VGQ0ExWlV1c0JBZ1FJRUNBQUFFQ0JDb1hVSUJVbmtEaEV5QkFnQUFCQWdRSUVL
aEpRQUZTVTdiRVNvQUFBUUlFCkNCQWdRS0J5QVFWSTVRa1VQZ0VDQkFnUUlFQ0FBSUdhQkJRZ05X
VkxyQVFJRUNCQWdBQUJBZ1FxRjFDQVZKNUE0Uk1nUUlBQUFRSUUKQ0JDb1NVQUJVbE8yeEVxQUFB
RUNCQWdRSUVDZ2NnRUZTT1VKRkQ0QkFnUUlFQ0JBZ0FDQm1nUVVJRFZsUzZ3RUNCQWdRSUFBQVFJ
RQpLaGRRZ0ZTZVFPRVRJRUNBQUFFQ0JBZ1FxRWxBQVZKVHRzUktnQUFCQWdRSUVDQkFvSEtCUlJV
Z3ZWNHZ6YjFWN2lCOEFnUUlFQmhqCmdibmZhZkhjdEhTQmlZbUpiaVZ4djJiTm1yUjI3ZHFscjNT
RjF4QXhScXlEc2Evd0pxMmV3TmdKTEtvQUdUc2xEU1pBZ0FBQkFnUVcKSlRCWWZFeE9UaTVxSGF1
NVVNUTR0d2haemUzYkZvRnhFRkNBakVPV3RaRUFBUUlFQ0l4SUlBcVFPS0JmdDI1ZDJyaHg0NGlp
R0g2egpFV1BFR2pIblhwRGhselluQVFMRENDaEFobEV5RHdFQ0JBZ1FJTEJnZ2R6N0ViMEtHelpz
U0pzM2IxN3dPbFo3Z1lneFlvMllCMC9GCld1MDRiSTlBeXdJS2tKYXpxMjBFQ0JBZ1FHQ0VBcm4z
WS8zNjlXblRwazFwNjlhdEk0eG11RTFIakJGcnhLd1haRGd6Y3hGWXFNQkUKZjZDZGtYWUxWVFAv
ckVEcDNkTjI3OWxVRmZQQVBsTk1LZ1JDWU1VRmpodzVrZzRmUHB4bVptYlMzcjE3MDU0OWU5S3VY
YnU2KytucAo2WFRnd0lGMDZOQ2hkUFRvMFJXUFpiNE5SQTlIbkc0VlBSNWJ0bXpwQ3FUdDI3ZDM5
OUVURXFkajVURWg4eTN2TlFJRUZpZFEvbWl3CnhiWExVZ1FJRUNCQWdNQ0lCZklwV05HYk1EVTEx
VVVUQi94eGNKK0xqeWhTUmxtQTVQRXBVWVJFejBmY0l0YUkyU2xZSTk2QmJMNVoKQVFWSXM2blZN
QUlFQ0JBZ01GcUJYSURrTVNCeFFKOVB4NHFla1Z4OGpLcTNPc2NYUlVqRUdMSGxtekVnbzkxM2JM
MXRBUVZJMi9uVgpPZ0lFQ0JBZ01GS0JLRHBpaW9QOU9OQ1BBL3pCd21OVXhVZEdpYmdHQzVHSU1X
TE90enlmZXdJRWxrL0FHSkRsc3h6TE5jV0hkc25UCnFML1lTcllaVld6Mm1WSEoyeTZCMFFqa3or
SEIrM2c4K0h3MGtSM2JhdjVNaXZ0OGkzY0dYeDlsZkxaTm9FVUJCVWlMV2RVbUFnUUkKRUNCQWdB
QUJBb1VLdUF4dm9Za1JGZ0VDQkFnUUlFQ0FBSUVXQlJRZ0xXWlZtd2dRSUVDQUFBRUNCQWdVS3FB
QUtUUXh3aUpBZ0FBQgpBZ1FJRUNEUW9vQUNwTVdzYWhNQkFnUUlFQ0JBZ0FDQlFnVVVJSVVtUmxn
RUNCQWdRSUFBQVFJRVdoUlFnTFNZVlcwaVFJQUFBUUlFCkNCQWdVS2lBQXFUUXhBaUxBQUVDQkFn
UUlFQ0FRSXNDQ3BBV3M2cE5CQWdRSUVDQUFBRUNCQW9WVUlBVW1oaGhFU0JBZ0FBQkFnUUkKRUdo
UllISXhqWnFZbUZqTVlxdTJUSy9YVzdWdDJSQUJBZ1FJTEU3QWQ4bmkzR3BiS244bkQ5N0g0OEhu
bzJ4VDNnL2pQdDhpbnNIWApSeG1mYlJOb1VXQlJCVWlMRU5wRWdBQUJBZ1FJTEs5QUxqS09IajJh
OHUzSWtTTXBidkY4c0JCWjNpMFB2N1pjZEt4WnN5YXRYYnUyCnU4WGpmSXNZY3pFeS9Gck5TWURB
eVFRVUlDZlQ4UjRCQWdRSUVDQ3dKSUVvTktMZ09IejRjRHA0OE9Ec0xaNFBGaUpMMnNnaUY0N0MK
SWhjZWs1T1RhZjM2OWJPM2VCNVR2RzhpUUdCNUJSUWd5K3RwYlFRSUVDQkFnTUR2QktMM0lBcVFL
RFlPSERpUTl1L2ZuL2J0MjlmZAo0dm1oUTRkbWk1QlJvT1hpWTkyNmRXbkRoZzFwMDZaTjNXMXFh
cXA3bm50SDlJQ01JanUyMmJLQUFxVGw3R29iQVFJRUNCQVlvVUF1ClFLTG5JNHFQUFh2MnBGMjdk
blgzMDlQVFhWRVNSVWdVS2FPWW9nREp4Y2VXTFZ2UzFxMWIwL2J0Mjd0UWNuR2lCMlFVbWJITjFn
VW0KK2g4T0N4NnhQZDlmQW5xOXB4ZHU5WGVGeDlkU2VPY1YzaGo3d3VvbHlMNndldGFsYjZuc2ZX
Rmk0dnpqQUJmeDlYamNPc2I5aFh6YQoxZDY5ZTlQdTNidlR6cDA3MHpublhGQTB5NFVYM2pQdDJM
RWpiZHUyTFczZXZMazdKU3VmamxWMDRJSWpVSkdBRXhzclNwWlFDUkFnClFJQkFUUUpSeE1VNGor
Z0JpVk92b2dlazlDbGlqRmdqNW9oZElWcDZ4c1JYbzRBQ3BNYXNpWmtBQVFJRUNGUWdFQWZ2ZzJO
QW9pZWsKOUNsaWpQRXAwWHNUc1N0QVNzK1krR29VVUlEVW1EVXhFeUJBZ0FDQlNnUnlMMGlNOVpp
Wm1Tays2b2d4RDQ1WGZCU2ZMZ0ZXS3FBQQpxVFJ4d2laQWdBQUJBalVJNUY2UWZDbmUwbU11NGZM
QXBSdUpqOEJTQlJRZ1N4VWM4K1VITDFHWUg0ODVpZVpYSkpEMzJjSDdpc0lYCktvSGlCWElQd21B
UlVuclFjMytiSkxlaDlMakZSNkFtQVFWSVRka1NLd0VDQkFnUUlFQ0FBSUhLQlJRZ2xTZFErQVFJ
RUNCQWdBQUIKQWdScUVsQ0ExSlF0c1JJZ1FJQUFBUUlFQ0JDb1hFQUJVbmtDaFUrQUFBRUNCQWdR
SUVDZ0pnRUZTRTNaRWlzQkFnUUlFQ0JBZ0FDQgp5Z1VVSUpVblVQZ0VDQkFnUUlBQUFRSUVhaEpR
Z05TVUxiRVNJRUNBQUFFQ0JBZ1FxRnhBQVZKNUFvVlBnQUFCQWdRSUVDQkFvQ1lCCkJVaE4yUkly
QVFJRUNCQWdRSUFBZ2NvRkZDQ1ZKMUQ0QkFnUUlFQ0FBQUVDQkdvU1VJRFVsQzJ4RWlCQWdBQUJB
Z1FJRUtoY1FBRlMKZVFLRlQ0QUFBUUlFQ0JBZ1FLQW1BUVZJVGRrU0t3RUNCQWdRSUVDQUFJSEtC
UlFnbFNkUStBUUlFQ0JBZ0FBQkFnUnFFbENBMUpRdApzUklnUUlBQUFRSUVDQkNvWEVBQlVua0No
VStBQUFFQ0JBZ1FJRUNnSmdFRlNFM1pFaXNCQWdRSUVDQkFnQUNCeWdVVUlKVW5VUGdFCkNCQWdR
SUFBQVFJRWFoSlFnTlNVTGJFU0lFQ0FBQUVDQkFnUXFGeEFBVko1QW9WUGdBQUJBZ1FJRUNCQW9D
WUJCVWhOMlJJckFRSUUKQ0JBZ1FJQUFnY29GRkNDVkoxRDRCQWdRSUVDQUFBRUNCR29TVUlEVWxD
MnhFaUJBZ0FBQkFnUUlFS2hjUUFGU2VRS0ZUNEFBQVFJRQpDQkFnUUtBbUFRVklUZGtTS3dFQ0JB
Z1FJRUNBQUlIS0JSUWdsU2RRK0FRSUVDQkFnQUFCQWdScUVsQ0ExSlF0c1JJZ1FJQUFBUUlFCkNC
Q29YRUFCVW5rQ2hVK0FBQUVDQkFnUUlFQ2dKZ0VGU0UzWkVpc0JBZ1FJRUNCQWdBQ0J5Z1VXVllE
MGVyMDA5MWE1Zy9BSkVDQkEKWUl3RjVuNm54WFBUMGdVbUppYTZsY1Q5bWpWcjB0cTFhNWUrMGhW
ZVE4UVlzUTdHdnNLYnRIb0NZeWV3cUFKazdKUTBtQUFCQWdRSQpFRmlVd0dEeE1UazV1YWgxck9a
Q0VlUGNJbVExdDI5YkJNWkJRQUV5RGxuV1JnSUVDQkFnTUNLQktFRGlnSDdkdW5WcDQ4YU5JNHBp
CitNMUdqQkZyeEp4N1FZWmYycHdFQ0F3am9BQVpSc2s4QkFnUUlFQ0F3SUlGY3U5SDlDcHMyTEFo
YmQ2OGVjSHJXTzBGSXNhSU5XSWUKUEJWcnRlT3dQUUl0Q3loQVdzNnV0aEVnUUlBQWdSRUs1TjZQ
OWV2WHAwMmJOcVd0VzdlT01KcmhOaDB4UnF3UnMxNlE0Y3pNUldDaApBaFA5Z1haRzJpMVV6Znl6
QXFWM1Q5dTlaMU5WekFQN1RER3BFQWlCRlJjNGN1UklPbno0Y0pxWm1VbDc5KzVOZS9ic1NidDI3
ZXJ1CnA2ZW4wNEVEQjlLaFE0ZlMwYU5IVnp5VytUWVFQUnh4dWxYMGVHelpzcVVya0xadjM5N2RS
MDlJbkk2Vng0VE10N3pYQ0JCWW5FRDUKbzhFVzF5NUxFU0JBZ0FBQkFpTVd5S2RnUlcvQzFOUlVG
MDBjOE1mQmZTNCtva2daWlFHU3g2ZEVFUkk5SDNHTFdDTm1wMkNOZUFleQorV1lGRkNETnBsYkRD
QkFnUUlEQWFBVnlBWkxIZ01RQmZUNGRLM3BHY3ZFeHF0N3FIRjhVSVJGanhKWnZ4b0NNZHQreDli
WUZGQ0J0CjUxZnJDQkFnUUlEQVNBV2k2SWdwRHZialFEOE84QWNMajFFVkh4a2w0aG9zUkNMR2lE
bmY4bnp1Q1JCWVBnRmpRSmJQY2l6WEZCL2EKSlUrai9tSXIyV1pVc2RsblJpVnZ1d1JHSTVBL2h3
ZnY0L0hnODlGRWRteXIrVE1wN3ZNdDNobDhmWlR4MlRhQkZnVVVJQzFtVlpzSQpFQ0JBZ0FBQkFn
UUlGQ3JnTXJ5RkprWllCQWdRSUVDQUFBRUNCRm9VVUlDMG1GVnRJa0NBQUFFQ0JBZ1FJRkNvZ0FL
azBNUUlpd0FCCkFnUUlFQ0JBZ0VDTEFncVFGck9xVFFRSUVDQkFnQUFCQWdRS0ZWQ0FGSm9ZWVJF
Z1FJQUFBUUlFQ0JCb1VVQUIwbUpXdFlrQUFRSUUKQ0JBZ1FJQkFvUUlLa0VJVEl5d0NCQWdRSUVD
QUFBRUNMUW9vUUZyTXFqWVJJRUNBQUFFQ0JBZ1FLRlJBQVZKb1lvUkZnQUFCQWdRSQpFQ0JBb0VX
QnljVTBhbUppNHJqRmVyM2VjYTk1Z1FBQkFnUUkxQ0RnZTYyR0xJbVJBSUZXQlBTQXRKSko3U0JB
Z0FBQkFnUUlFQ0JRCmdZQUNwSUlrQ1pFQUFRSUVDQkFnUUlCQUt3SUtrRll5cVIwRUNCQWdRSUFB
QVFJRUtoQlFnRlNRSkNFU0lFQ0FBQUVDQkFnUWFFVmcKb2o5NDNPanhWcktwSFFRSUVDQkFnQUFC
QWdRS0Y5QURVbmlDaEVlQUFBRUNCQWdRSUVDZ0pRRUZTRXZaMUJZQ0JBZ1FJRUNBQUFFQwpoUXNv
UUFwUGtQQUlFQ0JBZ0FBQkFnUUl0Q1NnQUdrcG05cENnQUFCQWdRSUVDQkFvSEFCQlVqaENSSWVB
UUlFQ0JBZ1FJQUFnWllFCkZDQXRaVk5iQ0JBZ1FJQUFBUUlFQ0JRdW9BQXBQRUhDSTBDQUFBRUNC
QWdRSU5DU2dBS2twV3hxQ3dFQ0JBZ1FJRUNBQUlIQ0JSUWcKaFNkSWVBUUlFQ0JBZ0FBQkFnUmFF
bENBdEpSTmJTRkFnQUFCQWdRSUVDQlF1SUFDcFBBRUNZOEFBUUlFQ0JBZ1FJQkFTd0lLa0pheQpx
UzBFQ0JBZ1FJQUFBUUlFQ2hkUWdCU2VJT0VSSUVDQUFBRUNCQWdRYUVsQUFkSlNOcldGQUFFQ0JB
Z1FJRUNBUU9FQ0NwRENFeVE4CkFnUUlFQ0JBZ0FBQkFpMEpLRUJheXFhMkVDQkFnQUFCQWdRSUVD
aGNRQUZTZUlLRVI0QUFBUUlFQ0JBZ1FLQWxBUVZJUzluVUZnSUUKQ0JBZ1FJQUFBUUtGQ3loQUNr
K1E4QWdRSUVDQUFBRUNCQWkwSktBQWFTbWIya0tBQUFFQ0JBZ1FJRUNnY0FFRlNPRUpFaDRCQWdR
SQpFQ0JBZ0FDQmxnUVVJQzFsVTFzSUVDQkFnQUFCQWdRSUZDNmdBQ2s4UWNJalFJQUFBUUlFQ0JB
ZzBKS0FBcVNsYkdvTEFRSUVDQkFnClFJQUFnY0lGRkNDRkowaDRCQWdRSUVDQUFBRUNCRm9TVUlD
MGxFMXRJVUNBQUFFQ0JBZ1FJRkM0Z0FLazhBUUpqd0FCQWdRSUVDQkEKZ0VCTEFncVFscktwTFFR
SUVDQkFnQUFCQWdRS0YxQ0FGSjRnNFJFZ1FJQUFBUUlFQ0JCb1NVQUIwbEkydFlVQUFRSUVDQkFn
UUlCQQo0UUlLa01JVEpEd0NCQWdRSUVDQUFBRUNMUWtvUUZyS3ByWVFJRUNBQUFFQ0JBZ1FLRnhB
QVZKNGdvUkhnQUFCQWdRSUVDQkFvQ1VCCkJVaEwyZFFXQWdRSUVDQkFnQUFCQW9VTEtFQUtUNUR3
Q0JBZ1FJQUFBUUlFQ0xRa29BQnBLWnZhUW9BQUFRSUVDQkFnUUtCd0FRVkkKNFFrU0hnRUNCQWdR
SUVDQUFJR1dCQlFnTFdWVFd3Z1FJRUNBQUFFQ0JBZ1VMcUFBS1R4QndpTkFnQUFCQWdRSUVDRFFr
c0JrUzQzUgpsdFVYbUppWU9HNmp2Vjd2dU5lOFFLQkVBZnR2aVZrUkV3RUNCQWkwTHFBSHBQVU1h
eDhCQWdRSUVDQkFnQUNCZ2dRVUlBVWxReWdFCkNCQWdRSUFBQVFJRVdoZFFnTFNlWWUwalFJQUFB
UUlFQ0JBZ1VKQ0FBcVNnWkFpRkFBRUNCQWdRSUVDQVFPc0NFLzBCdzBZTXQ1NWwKN1NOQWdBQUJB
Z1FJRUNCUWlJQWVrRUlTSVF3Q0JBZ1FJRUNBQUFFQzR5Q2dBQm1ITEdzakFRSUVDQkFnUUlBQWdV
SUVGQ0NGSkVJWQpCQWdRSUVDQUFBRUNCTVpCUUFFeURsbldSZ0lFQ0JBZ1FJQUFBUUtGQ0NoQUNr
bUVNQWdRSUVDQUFBRUNCQWlNZzRBQ1pCeXlySTBFCkNCQWdRSUFBQVFJRUNoRlFnQlNTQ0dFUUlF
Q0FBQUVDQkFnUUdBY0JCY2c0WkZrYkNSQWdRSUFBQVFJRUNCUWlvQUFwSkJIQ0lFQ0EKQUFFQ0JB
Z1FJREFPQXBPTGFlVFpaNSs5bU1WV2JabUxMcnBvMWJabFF3UUlFQ0N3T0FIZkpZdHpxMjJwWHEv
WGhUeDRueC9IRzRPUApSOUcyaVltSjJjM0c0L3g4N3Yzc1RCNFFJTEJrZ1VVVklFdmVxaFVRSUVD
QUFBRUN6UXZrNHVMbzBhTmRvUkgzY1R0eTVFajNQTjdQCjg0d0tJeGNkY2I5MjdkcTBaczJhN2hi
UDQzSEVsNHVSVWNWb3V3UmFFMUNBdEpaUjdTRkFnQUFCQWdVSkRCWWRodzRkU3ZrV1JVaCsKYjFS
RlNDNHlvdENJNG1QZHVuV3p0M2dlVTd4bklrQmdlUVVVSU12cmFXMEVDQkFnUUlEQTd3UnlEMGNV
RzVkZWVtazZjT0JBbXBtWgo2ZTdqK2VIRGgyZUxrRkdnNWQ2T3ljbkpkTnBwcDZVTkd6YWtqUnMz
ZHZmeFBBb1VQU0NqeUl4dHRpNmdBR2s5dzlwSGdBQUJBZ1JHCkpCQUg3OUhMRWIwZVVYeE1UMCtu
U3k2NXBMdmZ2MzkvVjVSRUVUTEtIcEJjZkV4TlRhVXRXN2FrMDA4L3ZkUEt4WW5UcjBhMDg5aHMK
MHdMTFZvQmNkTkVqQ29MNngzbGkrZk41WHZQU3lnak01Nzh5VzFyY1d1MExpM05iekZMMmhjV290
Ym5NOGZ0Q1NkOGJaNS85cGpiWgpSOXlxd1FJa2VqNmkrRGpyck0rUE9LcVRiLzdpaTIrWG9pakpw
Mk01QmV2a1h0NGxzQmdCSnpZdVJzMHlCQWdRSUVDQXdGQUNjZnJWCllBL0lVQXVOY0tib3BZbmVt
b2c1WWpjUklMRDhBZ3FRNVRlMVJnSUVDQkFnUUtBdkVEMGdjY3RqUUtJWHBQUXBZb3p4S1JGempy
LzAKbU1WSG9EWUJCVWh0R1JNdkFRSUVDQkNvU0NDZmhoVmpQYUpub2ZRcFlzeUQ0eU4yRXdFQ3l5
K2dBRmwrVTJza1FJQUFBUUlFZmllUQpDNUQ4K3grbHcwVFB4Nmd2RDF5NmtmZ0lMRlZnMlFhaEx6
VVF5OWNwTU44dkdaYzBzTFJPVlZHdmxzRDgrKzlGcTdWNTJ5SFF2RUR1ClFSZ3NRa3B2OU56aUk3
ZWg5TGpGUjZBbUFUMGdOV1ZMckFRSUVDQkFnQUFCQWdRcUYxQ0FWSjVBNFJNZ1FJQUFBUUlFQ0JD
b1NVQUIKVWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGU09VSkZENEJBZ1FJRUNCQWdBQ0JtZ1FVSURW
bFM2d0VDQkFnUUlBQUFRSUVLaGRRZ0ZTZQpRT0VUSUVDQUFBRUNCQWdRcUVsQUFWSlR0c1JLZ0FB
QkFnUUlFQ0JBb0hJQkJVamxDUlErQVFJRUNCQWdRSUFBZ1pvRUZDQTFaVXVzCkJBZ1FJRUNBQUFF
Q0JDb1hVSUJVbmtEaEV5QkFnQUFCQWdRSUVLaEpRQUZTVTdiRVNvQUFBUUlFQ0JBZ1FLQnlBUVZJ
NVFrVVBnRUMKQkFnUUlFQ0FBSUdhQkJRZ05XVkxyQVFJRUNCQWdBQUJBZ1FxRjFDQVZKNUE0Uk1n
UUlBQUFRSUVDQkNvU1VBQlVsTzJ4RXFBQUFFQwpCQWdRSUVDZ2NnRUZTT1VKRkQ0QkFnUUlFQ0JB
Z0FDQm1nUVVJRFZsUzZ3RUNCQWdRSUFBQVFJRUtoZFFnRlNlUU9FVElFQ0FBQUVDCkJBZ1FxRWxB
QVZKVHRzUktnQUFCQWdRSUVDQkFvSElCQlVqbENSUStBUUlFQ0JBZ1FJQUFnWm9FRkNBMVpVdXNC
QWdRSUVDQUFBRUMKQkNvWFVJQlVua0RoRXlCQWdBQUJBZ1FJRUtoSlFBRlNVN2JFU29BQUFRSUVD
QkFnUUtCeUFRVkk1UWtVUGdFQ0JBZ1FJRUNBQUlHYQpCQlFnTldWTHJBUUlFQ0JBZ0FBQkFnUXFG
MUNBVko1QTRSTWdRSUFBQVFJRUNCQ29TVUFCVWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGClNPVUpG
RDRCQWdRSUVDQkFnQUNCbWdRVUlEVmxTNndFQ0JBZ1FJQUFBUUlFS2hlWVhFejhGMTEwMFR5TC9l
TThyM21KQUFFQ0JBaVUKTHpELzkxcjVjWmNlNGNURVJCZGkzSzlaczZhN2xSNXpqbk13OXRKakZo
K0IyZ1QwZ05TV01mRVNJRUNBQUlHS0JBYUxqN1ZyMXhZZgplY1E0dHdncFBtZ0JFcWhNUUFGU1dj
S0VTNEFBQVFJRWFoTElCY2prNUdUYXNHRkQ4YUZIakJGckZDRzVGNlQ0b0FWSW9ESUJCVWhsCkNS
TXVBUUlFQ0JDb1JTQU80T01XdlFxbm5YWmEycmh4WS9HaFI0d1JhOFNjNHk4K2FBRVNxRXhBQVZK
WndvUkxnQUFCQWdScUVvZ0QKK1hYcjFuVzlIMXUyYkNrKzlJZ3hla0VpNW9qZFJJREE4Z3RNOVBy
VDhxL1dHc2RGNE95enp5NjZxUWFXbHBjZSsweDVPUkVSZ1pVUwpPSExrU0lyYnBaZGVtdmJ2MzUr
bXA2ZlRKWmRjMHQzSDgzajk4T0hEYVZTSEl0SERFYWRiUlkvSDFOUlVpdUxqOU5OUDcrN2plZTRK
ClVZaXMxQjVpdmVNcXNLaXJZSTBybG5ZVElFQ0FBQUVDd3d2RUFYNk1wY2c5SUxGa0hQREh3WDB1
UG80ZVBacmlOb29wRHpiUFJVajAKZk1RcFdMa0h4RGlRVVdURk5zZEJRQUV5RGxuV1JnSUVDQkFn
TUFLQlBJWWllaENpTnlFWEkzR1FIejBqdWZnWVpROUlMa0x5cVdKUgpMT1hUcjNMOEk2Q3pTUUpO
Q3loQW1rNnZ4aEVnUUlBQWdkRUt4QUYrVElPOUlWRjhSTkdSYjZPTU1CY1pjUjlGU0M1SWNyeWpq
TTIyCkNiUXFvQUJwTmJQYVJZQUFBUUlFUml3UUIvRlJaTVJCL2VCOW5QS1VwM2g5bEZQRW1LZDRu
Si9QdmMvenVDZEFZT2tDaXhxRW52OVQKTG4zeks3T0dVWCtZclV5cnJKVUFBUUp0Q2ZndWFTdWZK
MnBOL2s0ZXZJL0hnODlQdE94cXZKNzN3N2pQdDlqdTRPdXJFWWR0RUJnbgpnZi83RThRNHRWcGJD
UkFnUUlBQWdSVVh5RVZHSHVzUjkvbktXUEY0c0JCWjhXQk9zSUZjZEVRdlRaeUNOWGdhVnU2NXlj
WElDVmJoClpRSUVGaWlnQUZrZ21Oa0pFQ0JBZ0FDQjRRVnkwUkdYMnoxNDhPRHNMWjduZ2VpNVVC
bCtyY3N6WnhRV3VmQ0kwOExXcjE4L2U4dW4KaWNYN0pnSUVsbGRBQWJLOG50WkdnQUFCQWdRSS9F
NGdDb3NvUUtMWU9IRGdRUGRiSVB2MjdVdHhpK2VIRGgyYUxVSkdnWmFMajN5Wgo0RTJiTnFXNHhX
V0M0MUs4dVhkRUQ4Z29zbU9iTFFzb1FGck9ycllSSUVDQUFJRVJDdVFDSkhvKzRvY0g5K3paazNi
dDJ0WGR4NDhTCjVpSWtpcFJSVEZHQTVPSWpmb1J3NjlhdGFmdjI3VjBvdVRqUkF6S0t6TmhtNndM
TE5naTkxM3Q2NFZaL1YzaDhMWVYzWHVHTnNTK3MKWG9Mc0M2dG5YZnFXeXQ0WEppYk9QdzV3Vktj
RkhSZEl4Uy9rMDY3Mjd0MmJkdS9lblhidTNKbk9PZWVDb2x0MDRZWDNURHQyN0VqYgp0bTFMbXpk
djdrN0p5cWRqRlIyNDRBaFVKT0RFeG9xU0pWUUNCQWdRSUZDVFFCUnhNYzRqZWtEaXRLdm9BU2w5
aWhnajFvZzUvMTVKCjZUR0xqMEJ0QWdxUTJqSW1YZ0lFQ0JBZ1VJbEFQZ1VyandHSm5wRFNwNGd4
VGcyTG1QT1Z1a3FQV1h3RWFoTlFnTlNXTWZFU0lFQ0EKQUlHS0JISXZTQXc0bjVtWktUN3lpREVQ
am5jYVh2SHBFbUNsQWdxUVNoTW5iQUlFQ0JBZ1VJTkE3Z1dKMDVtaVY2SDBLV0ljOWVXQgpTemNT
SDRHbENpaEFsaW80NXNzUFhxSXdQeDV6RXMydlNDRHZzNFAzRllVdlZBTEZDK1FlaE1FaXBQU2c1
eFlmdVEybHh5MCtBalVKCktFQnF5cFpZQ1JBZ1FJQUFBUUlFQ0ZRdW9BQ3BQSUhDSjBDQUFBRUNC
QWdRSUZDVGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbEFncVEKeWhNb2ZBSUVDQkFnUUlBQUFRSTFD
U2hBYXNxV1dBa1FJRUNBQUFFQ0JBaFVMcUFBcVR5QndpZEFnQUFCQWdRSUVDQlFrNEFDcEtacwpp
WlVBQVFJRUNCQWdRSUJBNVFJS2tNb1RLSHdDQkFnUUlFQ0FBQUVDTlFrb1FHcktsbGdKRUNCQWdB
QUJBZ1FJVkM2Z0FLazhnY0luClFJQUFBUUlFQ0JBZ1VKT0FBcVNtYkltVkFBRUNCQWdRSUVDQVFP
VUNDcERLRXloOEFnUUlFQ0JBZ0FBQkFqVUpLRUJxeXBaWUNSQWcKUUlBQUFRSUVDRlF1b0FDcFBJ
SENKMENBQUFFQ0JBZ1FJRkNUZ0FLa3BteUpsUUFCQWdRSUVDQkFnRURsQWdxUXloTW9mQUlFQ0JB
ZwpRSUFBQVFJMUNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxxQUFxVHlCd2lkQWdBQUJBZ1FJRUNC
UWs0QUNwS1pzaVpVQUFRSUVDQkFnClFJQkE1UUlLa01vVEtId0NCQWdRSUVDQUFBRUNOUWtvUUdy
S2xsZ0pFQ0JBZ0FBQkFnUUlWQzZnQUtrOGdjSW5RSUFBQVFJRUNCQWcKVUpPQUFxU21iSW1WQUFF
Q0JBZ1FJRUNBUU9VQ0NwREtFeWg4QWdRSUVDQkFnQUFCQWpVSktFQnF5cFpZQ1JBZ1FJQUFBUUlF
Q0ZRdQpvQUNwUElIQ0owQ0FBQUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdFRGxBZ3FR
eWhNb2ZBSUVDUERlUS84QUFDQUFTVVJCClZCQWdRSUFBQVFJMUNTaEFhc3FXV0FrUUlFQ0FBQUVD
QkFoVUxyQ29BcVRYNjZXNXQ4b2RoRStBQUFFQ1l5d3c5enN0bnB1V0xqQXgKTWRHdEpPN1hyRm1U
MXE1ZHUvU1ZydkFhSXNhSWRURDJGZDZrMVJNWU80RkZGU0JqcDZUQkJBZ1FJRUNBd0tJRUJvdVB5
Y25KUmExagpOUmVLR09jV0lhdTVmZHNpTUE0Q0NwQnh5TEkyRWlCQWdBQ0JFUWxFQVJJSDlPdldy
VXNiTjI0Y1VSVERielppakZnajV0d0xNdnpTCjVpUkFZQmdCQmNnd1N1WWhRSUFBQVFJRUZpeVFl
eitpVjJIRGhnMXA4K2JOQzE3SGFpOFFNVWFzRWZQZ3FWaXJIWWZ0RVdoWlFBSFMKY25hMWpRQUJB
Z1FJakZBZzkzNnNYNzgrYmRxMEtXM2R1bldFMFF5MzZZZ3hZbzJZOVlJTVoyWXVBZ3NWbU9nUHRE
UFNicUZxNXA4VgpLTDE3MnU0OW02cGlIdGhuaWttRlFBaXN1TUNSSTBmUzRjT0gwOHpNVE5xN2Qy
L2FzMmRQMnJWclYzYy9QVDJkRGh3NGtBNGRPcFNPCkhqMjY0ckhNdDRIbzRZalRyYUxIWTh1V0xW
MkJ0SDM3OXU0K2VrTGlkS3c4Sm1TKzViMUdnTURpQk1vZkRiYTRkbG1LQUFFQ0JBZ1EKR0xGQVBn
VXJlaE9tcHFhNmFPS0FQdzd1Yy9FUlJjb29DNUE4UGlXS2tPajVpRnZFR2pFN0JXdkVPNUROTnl1
Z0FHazJ0UnBHZ0FBQgpBZ1JHSzVBTGtEd0dKQTdvOCtsWTBUT1NpNDlSOVZibitLSUlpUmdqdG53
ekJtUzArNDZ0dHkyZ0FHazd2MXBIZ0FBQkFnUkdLaEJGClIweHhzQjhIK25HQVAxaDRqS3I0eUNn
UjEyQWhFakZHelBtVzUzTlBnTUR5Q1JnRHNueVdZN21tK05BdWVScjFGMXZKTnFPS3pUNHoKS25u
YkpUQWFnZnc1UEhnZmp3ZWZqeWF5WTF2Tm4wbHhuMi94enVEcm80elB0Z20wS0xDb0hwRDhuN0pV
a1B5aFZtcDhMY1hGdXFWcwpyazViN0RPcjQxekRWbnlYMUpBbE1SSWdRR0Q1QlJaVmdDeC9HTlpJ
Z0FBQkFnUUl0Q2FRLytBUWc4enpMVTYvcXVrVXJHaEQ2Y1Z5CmEvdU45clF2b0FCcFA4ZGFTSUFB
QVFJRVJpWVFoVWNVSERIby9PREJnN08zR2dhaEIxb2V3ekl5UUJzbTBLQ0FBcVRCcEdvU0FRSUUK
Q0JBb1FTQjZENklBaVdJakxydTdmLy8rdEcvZnZ1NVcrbVY0NDdLODBmT1JieVY0aW9GQUt3SUtr
Rll5cVIwRUNCQWdRS0F3Z1Z5QQpSTTlIRkIrMS9CQmhNRWJQUjc0aVZtR3N3aUZRdmNDaXJvSTEz
N21RdmQ3VEM4ZjR1OExqYXltODh3cHZqSDFoOVJKa1gxZzk2OUszClZQYStNREZ4L25HQWVmekNj
Vzk0WVdpQmZOcFYvQXI2N3QyNzA4NmRPOU01NTF3dzlQS2ptUEhDQysrWmR1ellrYlp0MjliOVlH
SmMKTmpoK0U4UkVnTUR5Q1J5N09QZnlyYythQ0JBZ1FJQUFBUUtkUUJSeE1mNGpla0RpMUt2b0FT
bDlpaGdqMW9nNVlsZUlscDR4OGRVbwpvQUNwTVd0aUprQ0FBQUVDRlFqa1U3RHlHSkRvQ1NsOWlo
aGpmRXJFSE9OWEZDQ2xaMHg4TlFvb1FHck1tcGdKRUNCQWdFQWxBcmtYCjVOQ2hRMmxtWnFiNHFD
UEdpRlh2Ui9HcEVtREZBZ3FRaXBNbmRBSUVDQkFnVUxwQTdnWEpsK0l0UGQ3bytZaFk5WDZVbmlu
eDFTeWcKQUtrNWV3WEVuaTlQT0hoZlFGaENJRENVd09CK214OFB0YUNaQ0JBWVNpQ2Z2alJZaEF5
MTRBaG5tbHQ4NURhTU1DU2JKdENjZ0FLawp1WlJxRUFFQ0JBZ1FJRUNBQUlGeUJSUWc1ZVpHWkFR
SUVDQkFnQUFCQWdTYUUxQ0FOSmRTRFNKQWdBQUJBZ1FJRUNCUXJvQUNwTnpjCmlJd0FBUUlFQ0JB
Z1FJQkFjd0lLa09aU3FrRUVDQkFnUUlBQUFRSUV5aFZRZ0pTYkc1RVJJRUNBQUFFQ0JBZ1FhRTVB
QWRKY1NqV0kKQUFFQ0JBZ1FJRUNBUUxrQ0NwQnljeU15QWdRSUVDQkFnQUFCQXMwSktFQ2FTNmtH
RVNCQWdBQUJBZ1FJRUNoWFFBRlNibTVFUm9BQQpBUUlFQ0JBZ1FLQTVBUVZJY3luVklBSUVDQkFn
UUlBQUFRTGxDaWhBeXMyTnlBZ1FJRUNBQUFFQ0JBZzBKNkFBYVM2bEdrU0FBQUVDCkJBZ1FJRUNn
WEFFRlNMbTVFUmtCQWdRSUVDQkFnQUNCNWdRVUlNMmxWSU1JRUNCQWdBQUJBZ1FJbEN1Z0FDazNO
eUlqUUlBQUFRSUUKQ0JBZzBKeUFBcVM1bEdvUUFRSUVDQkFnUUlBQWdYSUZGQ0RsNWtaa0JBZ1FJ
RUNBQUFFQ0JKb1RVSUEwbDFJTklrQ0FBQUVDQkFnUQpJRkN1Z0FLazNOeUlqQUFCQWdRSUVDQkFn
RUJ6QWdxUTVsS3FRUVFJRUNCQWdBQUJBZ1RLRlZDQWxKc2JrUkVnUUlBQUFRSUVDQkJvClRrQUIw
bHhLTllnQUFRSUVDQkFnUUlCQXVRSUtrSEp6SXpJQ0JBZ1FJRUNBQUFFQ3pRa29RSnBMcVFZUklF
Q0FBQUVDQkFnUUtGZEEKQVZKdWJrUkdnQUFCQWdRSUVDQkFvRGtCQlVoektkVWdBZ1FJRUNCQWdB
QUJBdVVLS0VES3pZM0lDQkFnUUlBQUFRSUVDRFFub0FCcApMcVVhUklBQUFRSUVDQkFnUUtCY2dV
VVZJTDFlTDgyOWxkdEVrUkVnUUlBQWdaTUx6UDFPaStlbXBRdE1URXgwSzRuN05XdldwTFZyCjF5
NTlwU3U4aG9neFloMk1mWVUzYWZVRXhrNWdVUVhJMkNscE1BRUNCQWdRSUxBb2djSGlZM0p5Y2xI
cldNMkZJc2E1UmNocWJ0KzIKQ0l5RGdBSmtITEtzalFRSUVDQkFZRVFDVVlERUFmMjZkZXZTeG8w
YlJ4VEY4SnVOR0NQV2lEbjNnZ3kvdERrSkVCaEdRQUV5akpKNQpDQkFnUUlBQWdRVUw1TjZQNkZY
WXNHRkQycng1ODRMWHNkb0xSSXdSYThROGVDcldhc2RoZXdSYUZsQ0F0SnhkYlNOQWdBQUJBaU1V
CnlMMGY2OWV2VDVzMmJVcGJ0MjRkWVRURGJUcGlqRmdqWnIwZ3c1bVppOEJDQlNiNkErMk10RnVv
bXZsbkJVcnZuclo3ejZhcW1BZjIKbVdKU0lSQUNLeTV3NU1pUmRQanc0VFF6TTVQMjd0MmI5dXpa
azNidDJ0WGRUMDlQcHdNSERxUkRodzZsbzBlUHJuZ3M4MjBnZWpqaQpkS3ZvOGRpeVpVdFhJRzNm
dnIyN2o1NlFPQjByandtWmIzbXZFU0N3T0lIeVI0TXRybDJXSWtDQUFBRUNCRVlza0UvQml0NkVx
YW1wCkxwbzQ0SStEKzF4OFJKRXl5Z0lrajArSklpUjZQdUlXc1ViTVRzRWE4UTVrODgwS0tFQ2FU
YTJHRVNCQWdBQ0IwUXJrQWlTUEFZa0QKK253NlZ2U001T0pqVkwzVk9iNG9RaUxHaUMzZmpBRVo3
YjVqNjIwTEtFRGF6cS9XRVNCQWdBQ0JrUXBFMFJGVEhPekhnWDRjNEE4VwpIcU1xUGpKS3hEVllp
RVNNRVhPKzVmbmNFeUN3ZkFMR2dDeWY1Vml1S1Q2MFM1NUcvY1ZXc3Myb1lyUFBqRXJlZGdtTVJp
Qi9EZy9lCngrUEI1Nk9KN05oVzgyZFMzT2RidkRQNCtpampzMjBDTFFvb1FGck1xallSSUVDQUFB
RUNCQWdRS0ZUQVpYZ0xUWXl3Q0JBZ1FJQUEKQVFJRUNMUW9vQUJwTWF2YVJJQUFBUUlFQ0JBZ1FL
QlFBUVZJb1lrUkZnRUNCQWdRSUVDQUFJRVdCUlFnTFdaVm13Z1FJRUNBQUFFQwpCQWdVS3FBQUtU
UXh3aUpBZ0FBQkFnUUlFQ0RRb29BQ3BNV3NhaE1CQWdRSUVDQkFnQUNCUWdVVUlJVW1SbGdFQ0JB
Z1FJQUFBUUlFCldoUlFnTFNZVlcwaVFJQUFBUUlFQ0JBZ1VLaUFBcVRReEFpTEFBRUNCQWdRSUVD
QVFJc0NrNHRwMU1URXhHSVdXN1ZsZXIzZXFtM0wKaGdnUUlFQmdjUUsrU3hiblZ0dFMrVHQ1OEQ0
ZUR6NGZaWnZ5ZmhqMytSYnhETDQreXZoc20wQ0xBb3NxUUZxRTBDWUNCQWdRSUVCZwplUVZ5a1hI
MDZOR1ViMGVPSEVseGkrZURoY2p5Ym5uNHRlV2lZODJhTldudDJyWGRMUjduVzhTWWk1SGgxMnBP
QWdST0pxQUFPWm1PCjl3Z1FJRUNBQUlFbENVU2hFUVhINGNPSDA4R0RCMmR2OFh5d0VGblNSaGE1
Y0JRV3VmQ1luSnhNNjlldm43M0Y4NWppZlJNQkFzc3IKb0FCWlhrOXJJMENBQUFFQ0JING5FTDBI
VVlCRXNYSGd3SUcwZi8vK3RHL2Z2dTRXenc4ZE9qUmJoSXdDTFJjZjY5YXRTeHMyYkVpYgpObTNx
YmxOVFU5M3ozRHVpQjJRVTJiSE5sZ1VVSUMxblY5c0lFQ0JBZ01BSUJYSUJFajBmVVh6czJiTW43
ZHExcTd1Zm5wN3VpcElvClFxSklHY1VVQlVndVByWnMyWksyYnQyYXRtL2Yzb1dTaXhNOUlLUElq
RzIyTGpEUi8zQlk4SWp0K2Y0UzBPczl2WENydnlzOHZwYkMKTzYvd3h0Z1hWaTlCOW9YVnN5NTlT
Mlh2Q3hNVDV4OEh1SWl2eCtQV01lNHY1Tk91OXU3ZG0zYnYzcDEyN3R5Wnpqbm5ncUpaTHJ6dwpu
bW5IamgxcDI3WnRhZlBtemQwcFdmbDByS0lERnh5QmlnU2MyRmhSc29SS2dBQUJBZ1JxRW9naUxz
WjVSQTlJbkhvVlBTQ2xUeEZqCnhCb3hSK3dLMGRJekpyNGFCUlFnTldaTnpBUUlFQ0JBb0FLQk9I
Z2ZIQU1TUFNHbFR4RmpqRStKM3B1SVhRRlNlc2JFVjZPQUFxVEcKckltWkFBRUNCQWhVSXBCN1FX
S3N4OHpNVFBGUlI0eDVjTHppby9oMENiQlNBUVZJcFlrVE5nRUNCQWdRcUVFZzk0TGtTL0dXSG5N
Sgpsd2N1M1VoOEJKWXFvQUJacXVDWUx6OTRpY0w4ZU14Sk5MOGlnYnpQRHQ1WEZMNVFDUlF2a0hz
UUJvdVEwb09lKzlza3VRMmx4eTArCkFqVUpLRUJxeXBaWUNSQWdRSUFBQVFJRUNGUXVvQUNwUElI
Q0owQ0FBQUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdFRGwKQWdxUXloTW9mQUlFQ0JB
Z1FJQUFBUUkxQ1NoQWFzcVdXQWtRSUVDQUFBRUNCQWhVTHFBQXFUeUJ3aWRBZ0FBQkFnUUlFQ0JR
azRBQwpwS1pzaVpVQUFRSUVDQkFnUUlCQTVRSUtrTW9US0h3Q0JBZ1FJRUNBQUFFQ05Ra29RR3JL
bGxnSkVDQkFnQUFCQWdRSVZDNmdBS2s4CmdjSW5RSUFBQVFJRUNCQWdVSk9BQXFTbWJJbVZBQUVD
QkFnUUlFQ0FRT1VDQ3BES0V5aDhBZ1FJRUNCQWdBQUJBalVKS0VCcXlwWlkKQ1JBZ1FJQUFBUUlF
Q0ZRdW9BQ3BQSUhDSjBDQUFBRUNCQWdRSUZDVGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbEFncVF5
aE1vZkFJRQpDQkFnUUlBQUFRSTFDU2hBYXNxV1dBa1FJRUNBQUFFQ0JBaFVMcUFBcVR5QndpZEFn
QUFCQWdRSUVDQlFrNEFDcEtac2laVUFBUUlFCkNCQWdRSUJBNVFJS2tNb1RLSHdDQkFnUUlFQ0FB
QUVDTlFrb1FHcktsbGdKRUNCQWdBQUJBZ1FJVkM2Z0FLazhnY0luUUlBQUFRSUUKQ0JBZ1VKT0FB
cVNtYkltVkFBRUNCQWdRSUVDQVFPVUNDcERLRXloOEFnUUlFQ0JBZ0FBQkFqVUpLRUJxeXBaWUNS
QWdRSUFBQVFJRQpDRlF1b0FDcFBJSENKMENBQUFFQ0JBZ1FJRkNUZ0FLa3BteUpsUUFCQWdRSUVD
QkFnRURsQWdxUXloTW9mQUlFQ0JBZ1FJQUFBUUkxCkNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxy
Q29BcVRYNjZXNXQ4b2RoRStBQUFFQ1l5d3c5enN0bnB1V0xqQXhNZEd0Sk83WHJGbVQKMXE1ZHUv
U1ZydkFhSXNhSWRURDJGZDZrMVJNWU80RkZGU0JqcDZUQkJBZ1FJRUNBd0tJRUJvdVB5Y25KUmEx
ak5SZUtHT2NXSWF1NQpmZHNpTUE0Q0NwQnh5TEkyRWlCQWdBQ0JFUWxFQVJJSDlPdldyVXNiTjI0
Y1VSVERielppakZnajV0d0xNdnpTNWlSQVlCZ0JCY2d3ClN1WWhRSUFBQVFJRUZpeVFleitpVjJI
RGhnMXA4K2JOQzE3SGFpOFFNVWFzRWZQZ3FWaXJIWWZ0RVdoWlFBSFNjbmExalFBQkFnUUkKakZB
ZzkzNnNYNzgrYmRxMEtXM2R1bldFMFF5MzZZZ3hZbzJZOVlJTVoyWXVBZ3NWbU9nUHREUFNicUZx
NXA4VktMMTcydTQ5bTZwaQpIdGhuaWttRlFBaXN1TUNSSTBmUzRjT0gwOHpNVE5xN2QyL2FzMmRQ
MnJWclYzYy9QVDJkRGh3NGtBNGRPcFNPSGoyNjRySE10NEhvCjRZalRyYUxIWTh1V0xWMkJ0SDM3
OXU0K2VrTGlkS3c4Sm1TKzViMUdnTURpQk1vZkRiYTRkbG1LQUFFQ0JBZ1FHTEZBUGdVcmVoT20K
cHFhNmFPS0FQdzd1Yy9FUlJjb29DNUE4UGlXS2tPajVpRnZFR2pFN0JXdkVPNUROTnl1Z0FHazJ0
UnBHZ0FBQkFnUkdLNUFMa0R3RwpKQTdvOCtsWTBUT1NpNDlSOVZibitLSUlpUmdqdG53ekJtUzAr
NDZ0dHkyZ0FHazd2MXBIZ0FBQkFnUkdLaEJGUjB4eHNCOEgrbkdBClAxaDRqS3I0eUNnUjEyQWhF
akZHelBtVzUzTlBnTUR5Q1JnRHNueVdZN21tK05BdWVScjFGMXZKTnFPS3pUNHpLbm5iSlRBYWdm
dzUKUEhnZmp3ZWZqeWF5WTF2Tm4wbHhuMi94enVEcm80elB0Z20wS0tBQWFUR3Iya1NBQUFFQ0JB
Z1FJRUNnVUFHWDRTMDBNY0lpUUlBQQpBUUlFQ0JBZzBLS0FBcVRGckdvVEFRSUVDQkFnUUlBQWdV
SUZGQ0NGSmtaWUJBZ1FJRUNBQUFFQ0JGb1VVSUMwbUZWdElrQ0FBQUVDCkJBZ1FJRkNvZ0FLazBN
UUlpd0FCQWdRSUVDQkFnRUNMQWdxUUZyT3FUUVFJRUNCQWdBQUJBZ1FLRlZDQUZKb1lZUkVnUUlB
QUFRSUUKQ0JCb1VVQUIwbUpXdFlrQUFRSUVDQkFnUUlCQW9RSUtrRUlUSXl3Q0JBZ1FJRUNBQUFF
Q0xRb29RRnJNcWpZUklFQ0FBQUVDQkFnUQpLRlJBQVZKb1lvUkZnQUFCQWdRSUVDQkFvRVVCQlVp
TFdkVW1BZ1FJRUNCQWdBQUJBb1VLS0VBS1RZeXdDQkFnUUlBQUFRSUVDTFFvCm9BQnBNYXZhUklB
QUFRSUVDQkFnUUtCUUFRVklvWWtSRmdFQ0JBZ1FJRUNBQUlFV0JSUWdMV1pWbXdnUUlFQ0FBQUVD
QkFnVUtxQUEKS1RReHdpSkFnQUFCQWdRSUVDRFFvb0FDcE1Xc2FoTUJBZ1FJRUNCQWdBQ0JRZ1VV
SUlVbVJsZ0VDQkFnUUlBQUFRSUVXaFNZYktGUgpFeE1UUlRhajErc1ZHWmVnQ0JBZ1FPQjRBZDhs
eDV1MCtFcitiaDY4ajhlRHowZlI3cnoveFgyK1JSeURyNDhpTHRza3NCSUNUUlFnCkt3RmpuUVFJ
RUNCQWdFQmJBcm5JT0hyMGFNcTNJMGVPcExqRjg4RkNaTFZibm91T05XdldwTFZyMTNhM2VKeHZF
VnN1UmxZN050c2oKc053Q0NwRGxGclUrQWdRSUVDQkFvRmlCS0RTaTREaDgrSEE2ZVBEZzdDMmVE
eFlpcTltQUtDeHk0VEU1T1puV3IxOC9lNHZuTWNYNwpKZ0t0Q0NoQVdzbWtkaEFnUUlBQUFRSW5G
WWhlaENoQW90ZzRjT0JBMnI5L2Y5cTNiMTkzaStlSERoMmFMVUpPdXFKbGZqTVhIK3ZXCnJVc2JO
bXhJbXpadDZtNVRVMVBkODl3N29nZGttZUd0Ym1RQ0NwQ1IwZHN3QVFJRUNCQWdzSm9DdVFDSm5v
OG9QdmJzMlpOMjdkclYKM1U5UFQzZEZTUlFoVWFTczVoUUZTQzQrdG16WmtyWnUzWnEyYjkvZWha
Q0xFejBncTVrUjIxcHBnV1lMa1BpUU1SRWdRSUFBZ1dFRgpTdmplOEJmdVliTzF1UGtpeDNHYVZS
UWcwZk1SeGNjNTU1eXp1Sld0OEZJWFhuaGhWNVRrMDdGaVhJaUpRQ3NDVGloc0paUGFRWUFBCkFR
SUVDSnhVWUc0QkVqMGdwVTRSV3hSSlVTeEYwVlJDZ1Z5cWxianFFMmk2QVBudGIzK2J2di85NzFl
WGxmaWcrYzUzdmpOMDNKZGUKZW1uNi9PYy9QL1Q4NHppamZXRWNzejUvbSswTDg3dU00NnYyaGZI
TGVoekVENDRCMmJ0M2I0ZFE0cjRRc2NXNGxCaXZFakhQVjRBNApYaGkvZmJpVkZwK3lBSG5YdTk2
VmJuQ0RHM1NYZnJ2VG5lNlVQdmF4ajFYVDltYy8rOW5wZnZlN1h6WHhScUJmK2NwWDBzMXVkclAw
Cm1NYzhacWk0di9TbEw2V3p6ejQ3M2YvKzl4OXEvcVhNWkY5WWl0N0NsN1V2TE54c21DVjhMZ3lq
TlB3OFBoZUd0MXFPT1gwdUxGMHgKOTRMRVdJK1ptWmx1aFNWK0xrUnNlVkQ4Zk1WSHlmdkMwck5r
RGEwTG5MSUFlZkNESDV3ZS92Q0hkdzdQZU1ZejBwM3ZmT2RxVEo3LwovT2VuOTczdmZkWEVHNEhl
OHBhM1RIZTg0eDI3OHo2SENmeld0NzUxZXNRakhqSE1yRXVleDc2d1pNSUZyY0Mrc0NDdW9XZjJ1
VEEwCjFWQXorbHdZaW1uWlp2SzVzSFRLM0FzU3ZRZlJ1eEJUaVo4THA3b3NjTW43d3RLelpBMnRD
d3cxQ0QydXhoRFQ1UzUzdWFvOExuLzUKeTZlNHpUZkZCOUNKQnZ1ZDdMMzUxclZjcjBVWGExemxJ
cTc1dlpDclhjUUF0Uk8xWmJsaXkrc3BmVitZenlIeWFWL0lHVnkrKzlMMwpoUk8xdE1SOTRVVDdi
YlRCNThLSk1ybjAxMHZjRjA3V0t2dkN5WFNHZXkrK0QyS0srL0NNSWlTbUV2ZUZpQzFpSEl5NUM3
Yi9UdzM3ClFvN1ZQWUg1QklZcVFPWmJjTDdYNG56Rjg4NDdMNTEyMm1ucGh6LzhZYnJtTmErWnpq
Ly8vTFJ4NDhaMDhjVVhwOWUvL3ZYcGlsZTgKWXZmODVTOS9lZnJRaHo2VXJuV3RhM1h6ZlBXclgw
MngvS3RmL2VwMG05dmNKdjNnQno5SWIzakRHN3EvVHNTcFg5RTlHbGVBZU5XcgpYcFUyYjk2Y252
ZTg1NlhQZmU1ejZZbFBmT0o4b2FSZi9PSVg2YTF2Zld0NjczdmZtNzd3aFM5MHA0Nzk4ei8vYzdy
ZTlhN1hkV20rCjZVMXY2bjdrNTQxdmZPTnNyODQ3My9uTzdvb1lsMXh5U1hyLys5L2ZqYXVJMTU3
eWxLZDA3WXB0dmVNZDcwalBlYzV6VXNUMHV0ZTkKYmtGeFB2T1p6NXczMXJnVTROT2U5clIwNVN0
Zk9mMzg1ejlQMy96bU43dnJmdWVaVCthYTV4bThQOW44OCtYaDE3Lys5ZURpeS9KNApvVEhZRjQ2
eDJ4ZVc3M05odnY5dlBoZUcvM3h1NlhQQnZuRFpqL1dGZmo2M3RDODg5YWxQdlN4Ry81blBoZEYr
TGh5WEVDK01oMEMvCnNqN2w5SnJYdkNiK1pORDc0aGUvZU5KNSs1ZXk2NzNsTFcvcDV1bGZ0YUYz
cTF2ZHFuZnZlOSs3ZTk0dkFucmJ0bTNyOWNjMzlON3oKbnZmMEh2dll4L2ErL2UxdjkrNXhqM3Yw
K2dmOHZYNmwzNzNXTDFCNnUzZnY3dlVMa043TmIzN3ozaGxubk5ITjN6OHc2ejNvUVEvcQo5UXVJ
M2d0ZitNTGViMzd6bTE2L0VPajEvM0xZeFJieERkNSs5YXRmOVI3M3VNZjFybkNGSzNUYi85R1Bm
dFM3MHBXdTFLM3ZNNS81ClRPL1RuLzUwNzZZM3ZXbnZHdGU0UnZkKy96ekxYbjhzUmZjNC9ubnlr
NS9jeFJTUHIzYTFxL1ZlOElJWHhNTnV1dXRkNzlyRkVrOFcKRW1mL2NuL0hWakRuMzN2ZDYxNjlm
bUhUdlJvT1Y3M3FWWHQzdWN0ZFp1YzZtV3ZNOU1wWHZyTFhMMTZHbW4rK1BNd3VPTVFEKzRKOQpJ
ZThtcGU4TDgvMS9LL1Z6WWZDekt6LzJ1YkI4M3hIMkJkOFIrWGloWDJ6MFluLzQ3bmUvMi92b1J6
L2E2Ly9SczFmcTUwTEVGakZHCnJCRnpmMEI2cjZiUGhmeGQ0WjdBZkFMUnRYZkthWmdEamYvNGov
L285VThiNmtYaGthZCtEMEZYRlBTdjBOUzlkTnZiM3JaMzdybm4KNXJkN2IzLzcyM3Qzdi92ZGUv
Mi9mbmUzNXo3M3VkMzgvZDZIYnA1SFB2S1Jzd1ZNdlBDMnQ3MnQxLytobnRubG8xREpYOVp6NzJP
bQorTS9iNzFhZG5mOFd0N2hGN3kvLzhpOW5uMGNCRk10OTYxdmY2dlgvd3RQcm4vclV4UkV6eEd2
OTh5KzdlWFBSa3hmc0QyenY5Yzk3CnprOTd3OGI1dGE5OWJYYVovQ0FLZ2lpaW9pMTUrdE0vL2RQ
WkFtUVkxOEVDWkpqNTUrWWhiM2VZZS92Q3NRSTRXOWtYVHY2SGljWHMKajh2MXVURGYvN2ZJVzRt
ZkMzTS92K0s1ejRYZXNuMUgyQmYrcndCWnpQL0ovSGszekgzcDN4SDlDN2NjVjRDVStya3d0d0NK
UDV6Vwo5TGt3elA1aW52RVZPT1VnOVA0WDRWRFRsNy84NWU3MHF2Z2x6enoxZTBDNmgvMFAvKzQr
VHNXS1U3RHlGS2RHeFhtWCtVZDJibi83CjI2ZCt0Wi82aFVJM1MvOC9XcDYxdTQ5ZkJ4MmNUai85
OU1Hbnh6Mk81UWZYRVk4SGY4am4rdGUvZnVyM3luU25aL1Y3U3JvclNkM24KUHZkSlQzakNFOUsx
cjMzdHk4eDczTW9IWGhqY1JyeDhvampuNjhiKzFLYytsU0tPZkQ1OUxCK25tT1YxRHVNYXkrUnBt
UG5uNWlFdgp1MXozaTRuQnZwQ1NmZUhZSHJoYys4SjgvOTlpQy9GL0svLy95czlMKzF5SXVId3Vw
TzcwMmVYNGpyQXZ4QjUxYkZyTTUzTmVkcm51CkZ4T0R6NFdVNG9jSlcvdGNXSzU5eW5ycUUxaTJN
U0J4N25yL3RLaHVIRWNjUU1kMGs1dmNwQnRRSFQra005OFU4OGVBNjJHdnJCVUQKcytjZU9NeTMz
b1c4bGdkOXh6TDl2N3ltL3VsUDZSV3ZlRVUzWnVVakgvbElPbFdSTTkrMkZoTG5UMy82MDg1dDdu
cHlPeGZxdXRENQo1MjUzT1o0dkpnYjdRa3IyaFdON24zM2gveHptL24vMHVUQlg1TExQRi9MWmU5
a2xUL3hzMU44UkVWbjhuNWc3MlJmbWlsejJlWXY3CndzOSs5clBtOW9YTFpzMnpjUkpZY2c5SS9J
ZUlnZHhSbGNjVkcrSzYxSG5xbjFmWkRTS1AzeEdaYitxUDcraDZQT0tIZHZMVTc0enEKL2hLY242
L2svZmUrOTcwVVB6NTAxbGxucFYvKzhwY3A0bjNaeTE2V1B2emhENmR2Zk9NYjNZRHp2UDI0NHNS
S1RGSHd4Ri9uSXBiNQpwb1c2TG5UKytiYTUyTmZzQzR1Vk83YWNmZUdZZzgrRll3NCtGMUt5TDln
WGpnbllGOExoS2xlNVNqUEhDem12N3NkWFlLZ0NwRDgrCm9ST2FleEFldjhBZFA1alhIeXllK2dQ
RTA5V3Zmdld1b01pY0YxMTBVVmVZOU1kNWRDL0ZOYTN6ai83RUN3OTcyTVBTenAwN1UzOUEKZW9w
dFJBRVExK0krODh3enUvbnpEL0IwVC9yL3hQYWl5SW5YWThyWDcrNmV6UE5QL0NVK3RoZEZUWjZp
NE1qVEp6LzV5WFNITzl3aAp4VzlweE90eHhhdVkrb1BNMDMzdmU5L3VWS2g0SGowNThZTi8vZkV0
M1ZXcTRncGZnK3NaTnM2NWZySHVoenprSVYwdlVGeFJLMC94CksranhGNjlvNnpDdUVWYzJHV2Ir
dVhuSTJ4M20zcjVnWDhqN1Nlbjd3bnovM3lMMkdqNFhJczdvSGZhNXNEemZFZllGM3hINWVLSG0K
ZmVHQkQzeGdWWjhMOFRsbUluQkNnVk1OZjNuM3U5L2Q2LzlWdlJ1c0hZTzQrejlLMk9zZk5QZnVk
cmU3ZFFPODQ2cFYvZi9RM1dyNgpsM2p0M2ZDR04reTkrTVV2N2wxd3dRVzloejcwb2QyVnJ1TE5H
RUMrYWRPbVhyK0M3L1VQOUdjMys5clh2cmJYdjJ4dk43QXExdFcvCmJHNzNYdjk4eis1cVVEdDI3
T2oxQzRWZVhNVXFycWpWYjBoMzlhczllL2IwL3Zadi83WjdIZ1BDKzZldnpLNHpIc1JBc3hoc0hm
UDMKZXpWNi9lS2x1OHBWWElYcldjOTZWcTkvR2Q5ZVhNMnEzL1BSTGZkZi8vVmZ2ZXRlOTdxOS9x
V0NlekVJL3ZHUGYzeXZmMURmdmZmeApqMys4YSt0MXJuT2QzbC85MVY5MVY5ZjZnei80Zzk0blB2
R0oza0xqN0ZZNDU1K3c2WThiNmZWN2lyckI3ZjF4S0wzYjNlNTJuVm5NCmVqTFhhR2ZrSmRvWmcv
K2luU2ViLzBSNW1CUFN2RTlyMkJmQ1llN052ckN3LzVQekpuL09pelhzQ3pWOUxzemRaK081ejRW
ak85MjQKZlVmTS9TNExCZnZDOHUwTEQzakFBM3J4ZmQ4LzY2QVgzKzF4c1p4U3Z5TmU5S0lYZFRG
R3JIRVZyUGgrcjJWZk9KWXgveEk0c2NCRQp2Tlgvc2x1MktWWVh2K0VSNTEvMkQraUhXbS84QmY4
blAvbEo5NXNnOFZlL2xacmlWMFA3bDdUdGVsbmlyNkNEQStManJ5SVJjNyt3CjZYNkZ2RjhzWFNh
TWlERjZKR0lBZC9RMkRBNjJ2OHlNaTN3UzY0Ni9LTWRnK0RnbGJjT0dEWmRaMDBKZEZ6ci9aVGEy
VEU4V0U4TlMKOTRWOFh2UmdFeUtPdVpOOVlhN0l5ajRmeGI0d2JJdEsyQmRPdE4vNlhEaVd4YVYr
THRTMEw1d29WdnZDOHV3THNTL0Y5MytjeFJEago3dUo0NVUvKzVFK09ZeS9oY3lIL2RsbWNYUklY
WTVpYW11b3UydFBpdm5CY0FyelF2TUN5SCszSEYyaytoV3BZdmJnSzFyREZ5ckRyClBObDhVVnpN
TFRDaStJaHA4R3BVZyt1SUdQTzAzTVZIckRldXdoUEZSMHh6aTQ5NGJhR3VDNTAvdHJIYzAySmlz
Qy9ZRi9KK2FGK3cKTDlnWHNvQjlJVXNzeCtkQ2ZEZkZkMjU4bDhjZkZVODJqZko0SVdLTEdDUFdp
RGxQTFI0djVMYTVIeCtCb2NhQXRNQVJQUnp4SytNeApmc00wM2dMMmhmSE8vMkRyN1F1REd1UDky
TDR3SHZtUEEvbjRnMk9jYlJGLzdNdFg3UnhzZlNuN1FzUVdNVWFzRWZOZ0VUSVlyOGNFCmFoUlk5
bE93U2tWNDg1dmYzSFczUm56OXNSeXAvNE9JcFlZcXJpVUl6UGNCUGZjVUxQdkNFb0FiVzdTVWZX
R1kvYll4K3VLYVU4cSsKVUJ4TVl3SEZZUFE0RFd2djNyM2RhYzl4SVp3NE5YdHdLbVZmaU4vOTZJ
K0Q3WDZ2TElxUjZQMVp5ZFBVQncwOEpyRFNBbU5UZ0t3MApwUFdYSVREZmdWd0prYzB0Z2txSVNR
ekhCT3d6OWdRQzR5TVE0eWZ5bFNDakNJbHhuLzBCM3QzOXphdUFYZ0FBR054SlJFRlU5UFIwCk53
WXp4bmxHTDhocVR0SERFYWRiUlk5SC9KaHhuQTYrZmZ2MjdqNktqemdkSzRxUE9QM0tSS0FGZ1dV
ZkE5SUNpallRSUVDQUFBRUMKN1FuRUh4emlZRDk2RTJKUWQweHg0QjhIK1hFQm1DZytva2daUlFH
U3g2VkVFWkxIbnVTQjUwN0JhbTlmSFBjV0tVREdmUS9RZmdJRQpDQkFnTUNZQ3VRREpZMEJ5TVJJ
SC9ORXprb3VQMWU2MXpuRkZFUkt4UllHVWIvRmNBVEltTytnWU5WTUJNa2JKMWxRQ0JBZ1FJRER1
CkFuRXdIMU1jOU1jQmZ4em9EeFllcTExODVIeEVQSU9GU01RV3NlWmJuczg5Z1JZRWpBRnBJWXZh
TUNzUUg5NGxUcVA2UWl2Um9yU1kKN0RPbFpVUThCRlpXSUg4ZUQ5N0g0OEhuS3h2Qi9HdlBuMFZ4
bjI4eDUrRHI4eS9wVlFMMUNTaEE2c3VaaUFrUUlFQ0FBQUVDQkFoVQpLekEydndOU2JZWUVUb0FB
QVFJRUNCQWdRS0FoQVFWSVE4blVGQUlFQ0JBZ1FJQUFBUUtsQ3loQVNzK1ErQWdRSUVDQUFBRUNC
QWcwCkpLQUFhU2labWtLQUFBRUNCQWdRSUVDZ2RBRUZTT2taRWg4QkFnUUlFQ0JBZ0FDQmhnUk8r
VHNnK2ZKdkRiVjUxWnFTTCttM2FodTAKSVFJRUNCQWdRSUFBQVFLRkMrZ0JLVHhCd2lOQWdBQUJB
Z1FJRUNEUWtvQUNwS1ZzYWdzQkFnUUlFQ0JBZ0FDQndnVVVJSVVuU0hnRQpDQkFnUUlBQUFRSUVX
aEpRZ0xTVVRXMGhRSUFBQVFJRUNCQWdVTGpBS1FlaEcwaGRlQWFGUjRBQUFRSUVDQkFnUUtBaUFU
MGdGU1ZMCnFBUUlFQ0JBZ0FBQkFnUnFGMmk2QVBudGIzK2J2di85NzllZUkvRVRJRUNBQUFFQ0JB
Z1FhRWJnbEFYSXU5NzFyblNERzl3Z3hlK0IKM09sT2Qwb2YrOWpIcW1uOHM1Lzk3SFMvKzkydm1u
Z0ZTb0FBQVFJRUNCQWdRS0IxZ1luK0dJL2VxUnI1b2hlOUtEM3ptYzlNSC9uSQpSOUpkNzNyWFU4
MWV6UHZSQTdKcjE2NTA1cGxuRmhPVFFBZ1FJRUNBQUFFQ0JBaU1zOEFwQjZFSHp0YXRXenVqeTEz
dWNsVlpYZjd5CmwwOXhtMitLdXV0RXYvSitzdmZtVzVmWENCQWdRSUFBQVFJRUNCQVlUdUNVcDJB
TnQ1cGpjKzNkdXpmOStaLy9lWHJxVTUvYW5mcjAKRjMveEYybG1acVo3OCtLTEwwNlBmZXhqMDkv
OHpkK2tGN3pnQmVtS1Y3eGkrdktYdjV4Mjd0eVpudktVcDZULzkvLytYN3JGTFc2Ugp2dmpGTDNi
ei8rQUhQMGgvL2RkLzNiMzM3Ly8rNytubU43OTVPdnZzczlNWHZ2Q0Y5STF2ZkNNOThJRVBURmU1
eWxYU0MxLzR3bmxECi9NVXZmcEgrL3UvL1B0MzJ0cmZ0M285VHg4NDk5OXowckdjOUs1MTMzbm5k
c3RlODVqVXZjMHJaTzkvNXp2VGExNzYyVys1MnQ3dGQKdDF5OGRyV3JYUzI5NmxXdjZwNi80eDN2
U0wvM2U3K1hIdmU0eDNYUGx4cG50eEwvRUNCQWdBQUJBZ1FJRUJnVGdXVXRRTzUxcjN1bApXOS82
MXVtbEwzMXBldmU3MzUyKzlLVXZwUWMvK01FZDVjR0RCN3ZYUHZTaEQ2WHJYLy82NlFFUGVFQTYv
ZlRUMHlNZitjajB2T2M5CkwzM3lrNTlNdDd6bExkTWYvdUVmcGoxNzluUzlFMUUwdk85OTcwdXg3
T2MvLy9sMG5ldGNKejM4NFE5UEgvemdCOVByWC8vNjJZSm0KOSs3ZHg2VnJjbkl5L2VoSFAwcFJJ
TVIwdmV0ZEwzM2lFNTlJYjN2YjI5Szk3MzN2RkdOYnRtL2ZuaDcxcUVkMTd4OCtmRGk5NUNVdgpT
WC8yWjMrV252NzBwNmZiM09ZMjZlalJvK2toRDNsSUY4djA5SFEzMzBNZit0QjA3V3RmdXp1MUsx
NklYcFNseE5tdDFEOEVDQkFnClFJQUFBUUlFeGtSZzJRcVFEMy80dyttem4vMXNpZ1AwbU5hdFc5
Y2QzRWV4RUwwV2NVQWZoVWNNYUkvaTQzV3ZlMTM2MnRlK2x1SjAKcDg5ODVqTXBsbzhlalYvLyt0
ZnB3Z3N2VE5lOTduWFR6VzUyczNTakc5Mm9tMy9qeG8xZHI4cVBmL3pqOUl4blBLTTd0ZXBKVDNw
Uwp0M3k4Tm5lS0hwYWIzT1FtM2Z2eFhoUU4xN2pHTmJvQzUvZC8vL2ZUT2VlY2s2STM0eWMvK1Vu
NjlyZS8zUlU5WC8vNjE5TUZGMXpRCnJlclJqMzcwN0xLeDdjSFR0YWFtcG1hZkx6WE91WEY3VG9B
QUFRSUVDQkFnUUtCbGdXVXJRT0owcWpqb2o4SWpUN2U2MWEyNmgxRm8KeEJRSDhqRlBucUl3aVRF
YTY5ZXY3MjYzdi8zdDAwYy8rdEh1Vkt5WVovQ2dQNTV2MmJJbDdtYW42RUdKS1lxVythWllmbkFk
OFhqdAoycld6czBaQnRHM2J0cTRINHdwWHVFSzYvLzN2bis1em4vdWtKenpoQ1YzQk1qanY3RUx6
UEJqY1JyeTkwRGpuV2FXWENCQWdRSUFBCkFRSUVDRFFwTU5RZzlHRmF2bi8vL3ZTYjMvd214VGlR
elpzM2Q0dEVEMFNjQ3JWdjM3NTVWeEh6eC90M3Z2T2Q1MzEvN290cjFxdzUKcnFDWU84OUNuOGM2
STRhWTN2NzJ0NmVyWHZXcTZSV3ZlRVdLTVN0eDFhOWM1Q3hrdlNzUjUwSzJiMTRDQkFnUUlFQ0FB
QUVDcFFvcwp1UWZrWnovN1dYcmpHOS9ZblY1MTVNaVI5Sld2ZkdXMnJiLzYxYTlTaksySTA2N21t
ODQ0NDR5dXgrUEFnUU96YjhjcFdaLzYxS2RtCm42L2tnKzk5NzNzcEx0VjcxbGxucFYvKzhwY3A0
bjNaeTE3V25RNFdBOTNqRkswOHhYZ1FFd0VDQkFnUUlFQ0FBQUVDU3hNWXFnREoKZzd6bkhvUmZl
dW1sNlRHUGVVeDNoYW9IUGVoQjZlcFh2M3BYVU9TUUxycm9vcTR3dWZ2ZDc5NjlGTVZJdmlwV3ZQ
Q3doejJzdXdwVwpYQjBydGhFRndQT2YvL3paMyswNGRPaFFpcUltVDdHOWVCNnZ4eFRyaTJsdVhO
MkwvWCtpVnlhMkYwVk5ucUxneUZNTWZML0RIZTdRCkRaeVAxK09LVnpIRmI1M2M5NzczdlV4UFRn
eW9qOEh3UC8vNXo5TVBmL2pEcm5ESjYxbHFuSGs5N2drUUlFQ0FBQUVDQkFpMExuREsKVTdEZTg1
NzNwTGUrOWEyZHd4T2YrTVJ1VUhnVUFuR2xxaWd3NG5TakdDd2U0eUErOElFUHBELzZvei9xcmk0
Vmc4Zi85Vi8vTmIzMwp2ZS90VG5HSzA1dSsrdFd2cHU5Ly8vdmRGYWppNmxnM3ZPRU4wMnRlODVv
VWc4bGpHekVPNHcxdmVFTjMyZHU0SE8vSFAvN3hydUNJCkhwRnI5d2VSLzh1Ly9FdjNQQzdqKytR
blB6bjk0ei8rWXhkWDlNRGMrTVkzN3BiTENZc3hLZi8yYi8vV25mNFZwMVE5L3ZHUDc5NzYKei8v
OHp4Uy9rQjZuWFgzdWM1L3Jyc3lWbDRuMXhRRHpLMS81eXQxdm4rUXJlTVdsaGVOeEhrQWZZMVdp
SFZIQXhMaVdoY1I1dDd2ZApMVy9PUFFFQ0JBZ1FJRUNBQUlHeEV4anFsOUFYb2hLOURYSHAyeWhN
NGdwUncwelJzeEJYbzdyV3RhNDFPeDVqbU9VV09rOWM1amV1CmZoVzlMTkU3TWpnZ1BucFJJdVlv
ckdJZy9hWk5teTZ6K29neGVsK2k0SWdlajhIQjlwZVowUk1DQkFnUUlFQ0FBQUVDQkU0b2NNb2UK
a0JNdWVZSTNvaWZrekRQUFBNRzc4NzhjVjhFYXRsaVpmdzBMZXpXS2k3a0ZSaFFmTWVWZmZaKzd4
b2d4VDRxUExPR2VBQUVDQkFnUQpJRUNBd01JRWhob0RzckJWbGpsMzlIRGs4UnRsUmlncUFnUUlF
Q0JBZ0FBQkF1MExMUHNwV0tXU3Zmbk5iMDQvL2VsUHUvRGlGOVhQClBmZmNVa01WRndFQ0JBZ1FJ
RUNBQUlGbUJjYW1BR2syZ3hwR2dBQUJBZ1FJRUNCQW9DS0JzVGtGcTZLY0NKVUFBUUlFQ0JBZ1FJ
QkEKc3dLTEtrRGlhbERmK2M1M2hrYUp5L1orL3ZPZkgzcitwY3dZditjUmw4ZzFFU0JBZ0FBQkFn
UUlFQ0JRbnNDQ0M1RDRwZlA0M1kvNApBY0pocHZnQnY3UFBQanZkLy83M0gyYjJKYzhUdi9GeHYv
dmRiOG5yc1FJQ0JBZ1FJRUNBQUFFQ0JKWmZZTUVGU1B5V3hoM3ZlTWVoCmZ3ZmoxcmUrZFhyRUl4
NngvSkdmWUkzeEd4L3ZlOS83WnQrTjNwZjR3Y0JSVDZYRU1Xb0gyeWRBZ0FBQkFnUUlFQmh2Z1FV
VklIRXAKMjVqaVY4VHo3MllNd3hlL29SRy9EN0lTVS96dzRlQjArY3RmZnZaM1NPSUhBLy80ai84
NGZlWXpueG1jWmQ3SGh3OGZudmYxNVhoeApJWEVzeC9hc2d3QUJBZ1FJRUNCQWdFQ3BBa1A5RUdI
OGF2alRudmEwZE9Vclg3bjdMWTF2ZnZPYmFjT0dEYk50MnJ0M2J6cnZ2UFBTCmFhZWRsbjc0d3gr
bWExN3ptdW44ODgvdmZqVjhkcWFCQnllYi8rS0xMMDZ2Zi8zcnUxOHBqMThkZi9uTFg1NCs5S0VQ
cFZ2ZDZsWUQKYTBqcG5lOThaOXExYTFlNjVKSkwwdnZmLy81dWpNa3ZmdkdMOU5hM3ZqVzk5NzN2
VFYvNHdoZTZaVC93Z1E5MHY4d2VjYjNtTmE4NQo3Z2NJUC83eGo2ZUxMcnFvSzVCaVBiSHRHOS80
eHQweWIzakRHMUlVSm5lNjA1MVNuTnExZHUzYTlLcFh2U3B0M3J3NVBlOTV6MHVmCis5em4waE9m
K01UMHpHYytzNHR0NTg2ZFhidS8rdFd2cG1qanExLzk2blNiMjl6bXVEamlrc0FtQWdRSUVDQkFn
QUFCQW1NcDBPOUIKT09WMHIzdmRxL2VPZDd5am02OC9BTDEzMWF0ZXRYZVh1OXhsZHJsenpqbW45
NWEzdktWN2Z2RGd3VjYvV09qZCs5NzNubjMvbGE5OApaYTlmdk13K1A5bjgvY0todDIzYnRsNS9u
RW52UGU5NVQrK3hqMzFzNzN2Zis5N3NzdkdnMzZQUTY0OHJtWDN0eVU5K2NpL2krdFd2CmZ0Vjcz
T01lMTd2Q0ZhNHcrOTYxcjMzdDNndGYrTUxaNTRNUCtxZEY5YTUydGF2MVB2R0pUM1F2UC9lNXor
MDk0QUVQNkI3LzRBYy8KNk4zODVqZnZuWEhHR1YwYy9TS3M5NkFIUGFoM3ZldGRyMXZmYjM3em05
NXpudk9jWHI5bnA5Y3ZoSHI5UXFWM2ozdmNvOWN2aUxwWQpJdTRyWHZHS3ZkMjdkM2ZyTzFrY2d6
RjVUSUFBQVFJRUNCQWdRS0JsZ1ZPZWd2WEZMMzR4WFhEQkJlbHVkN3RiVjZERnFWZjN2T2M5Clo0
dTFEMy80dyttem4vMXNldWhESDlxOXRtN2R1dlNvUnowcWZmQ0RIK3g2SVdabi9OMkRVODBmUFFi
WHYvNzEwdzF1Y0lQVUx3YlMKNjE3M3V0bFRxdks2OXV6Wms3Nys5YTkzY2NWcmozNzBvMU0vU1Yy
dnlVMXVjcFB1Y1o0MzdrOTArbGZFR29QamIzclRtM2F6eCtsYgozLzcydDd2SDE3M3VkYnZCOWpl
NjBZMjZPS0kzSmdhMy8vakhQMDdQZU1ZelVzejdwQ2M5cWR0V3ZQYXVkNzJyZXh5bmUwVWJyM0tW
CnE2UmYvL3JYNmNJTEwreldGLytjS0k3WkdUd2dRSUFBQVFJRUNCQWcwTGpBS1F1UVQzM3FVMTFC
c0hYcjFsbUtPQVVwSDB4LytjdGYKN2c3ODQyQStUL2wwcWE5OTdXdjVwZG43WWVhUGcvMSs3OEhz
TW5NZjlIczR1c0xoUHZlNVQzckNFNTZRK3IwTDNlbFJNVi9FbFdQTAp5ODE5UHZoNnYzY21SVUVU
cDR4OSt0T2ZUdFBUMC9udDQ5YXpaY3VXMmZmaXdlbW5uOTQ5ajBJalR2bUtvaVRHdThUdDlyZS9m
ZnJvClJ6K2FibkdMVzh3dWM2STRabWZ3Z0FBQkFnUUlFQ0JBZ0VEakFxY2NBL0xUbi80MDlVODNP
bzRoSDB6SCtKQjRQOFk4UkdFU1UvUkMKeEVEMWZmdjJIYmZjUXVjL2JnVy9lK0h0YjM5NzZwOEts
bDd4aWxla0dEZnlrWTk4WkxZZ09ORXk4NzBlWXo2aUIrZU5iM3hqK3FkLworcWNVQmRLSnB1ajl5
ZTJPZVFZZmgwRzArYzUzdnZPSkZ2YzZBUUlFQ0JBZ1FJQUFnYkVYT0dVUFNCemt4MS80KytNdzVz
V0swNlhpCmh3bmo5MEh5MUIrTDBRM2VqdE9vNWs0TG5YL3U4dkg4bDcvOFpZcHR2T3hsTCt0T2Qv
ckdONzZSK21OVTVwdTFlMjJ3VUJpYzZWdmYKK2xaNi9PTWZuMTd5a3BjTWZWbmh3ZVVISDU5eHho
bGRqOGVCQXdkbVg0N1R3cUlIS1U4bmlpTy83NTRBQVFJRUNCQWdRSUJBNndLbgpMRUFlOHBDSGRI
L1pqN0VZZVlwZlFZKy8rRWZoMFIrWW5hNSs5YXQzQjkvNS9iaXFWQlFhZDcvNzNidVgrZ1BUVTF5
S05xWmg1bzhyClQ4M016SFR6ei9kUC9OcDVYQVVycHJ2ZTlhN3B2dmU5NzJ6dlMvU3d4TEp4OEI5
VG5Eb1d2VGd4OVFlRWQvZjVueGp2RVpjV2prSWsKMmhLbllFVUJFY3ZHTFdLTzEvTVV2K1VSejNO
YjhxVjdZeDBQZTlqRFVsd0Zxei80dk50T0ZFanhteVJubm5sbXQvaGdISGw5N2drUQpJRUNBQUFF
Q0JBaU1tOERhL3BXZm5udXlSbS9mdmozMXIvelVIVXpISlc1alVIVWNjRWRSTVRVMTFZMXhpTXZV
dnVoRkwrb08vUC8zCmYvODN2ZTF0YjB1dmZlMXIwNVd1ZEtYdWxLWVlYeEdYd2QyeFkwZjNxK2h4
bXRLSjVvOVRxK0x5dHpHdyt4clh1RWFLUWVCenAraVIKZWNwVG50SmRDdmhuUC90WmlsdGNKamdL
bitnVitlLy8vdSt1OERqcnJMTzZ5d2Ivd3ovOFEvcWYvL21mN25LNm16WnRtbDFkakIySgpBZlp4
dWR5STc5eHp6KzFpandJcnhxQzgrTVV2N3BhUFgzS1BxWDgxcmZUZDczNjMrdzJVL2hXeXVtMzFy
NkRWV1VRUkZNWEdTMS82CjBxNXRiM3JUbTdyQjhYazh6RTkrOHBPVTQ0aDVUUVFJRUNCQWdBQUJB
Z1RHVVdDaS81Zit5LzZTM3drVTRpLy8wWU1RQThDamwyRHcKZDBCaWtWaE4vOUsxM2NGNVhFSHFW
Tk5DNXg5Y1h4UkFNUjRqQm8vSDRQZkJvbUp3dnZ3NGVtc2k3aE5OMFdNU0E5OWppdDZOd1FIMQpK
MXJtUks5SFlSYkZ4cld1ZGEydTUyaHd2bFBGTVRpdnh3UUlFQ0JBZ0FBQkFnUmFGQmk2QUdteDhk
cEVnQUFCQWdRSUVDQkFnTURxCkNweHlETWpxaG1OckJBZ1FJRUNBQUFFQ0JBaTBMS0FBYVRtNzJr
YUFBQUVDQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0IKbGdVVUlDMW5WOXNJRUNCQWdB
QUJBZ1FJRkNhZ0FDa3NJY0loUUlBQUFRSUVDQkFnMExLQUFxVGw3R29iQVFJRUNCQWdRSUFBZ2NJ
RQpGQ0NGSlVRNEJBZ1FJRUNBQUFFQ0JGb1dVSUMwbkYxdEkwQ0FBQUVDQkFnUUlGQ1lnQUtrc0lR
SWh3QUJBZ1FJRUNCQWdFRExBZ3FRCmxyT3JiUVFJRUNCQWdBQUJBZ1FLRTFDQUZKWVE0UkFnUUlB
QUFRSUVDQkJvV1VBQjBuSjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVMKSWh3Q0JBZ1FJRUNBQUFF
Q0xRc29RRnJPcnJZUklFQ0FBQUVDQkFnUUtFeEFBVkpZUW9SRGdBQUJBZ1FJRUNCQW9HVUJCVWpM
MmRVMgpBZ1FJRUNCQWdBQUJBb1VKS0VBS1M0aHdDQkFnUUlBQUFRSUVDTFFzb0FCcE9idmFSb0FB
QVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDCkJBZ1FJRUNBQUlHV0JSUWdMV2RYMndnUUlFQ0FBQUVD
QkFnVUpxQUFLU3dod2lGQWdBQUJBZ1FJRUNEUXNvQUNwT1hzYWhzQkFnUUkKRUNCQWdBQ0J3Z1FV
SUlVbFJEZ0VDQkFnUUlBQUFRSUVXaFpRZ0xTY1hXMGpRSUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhB
QUVDQkFnUQpJRUNBUU1zQ0NwQ1dzNnR0QkFnUUlFQ0FBQUVDQkFvVFVJQVVsaERoRUNCQWdBQUJB
Z1FJRUdoWlFBSFNjbmExalFBQkFnUUlFQ0JBCmdFQmhBZ3FRd2hJaUhBSUVDQkFnUUlBQUFRSXRD
eWhBV3M2dXRoRWdRSUFBQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2cKWlFFRlNNdlox
VFlDQkFnUUlFQ0FBQUVDaFFrb1FBcExpSEFJRUNCQWdBQUJBZ1FJdEN5Z0FHazV1OXBHZ0FBQkFn
UUlFQ0JBb0RBQgpCVWhoQ1JFT0FRSUVDQkFnUUlBQWdaWUZGQ0F0WjFmYkNCQWdRSUFBQVFJRUNC
UW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlOQ3lnQUtrCjVleHFHd0VDQkFnUUlFQ0FBSUhDQkJRZ2hT
VkVPQVFJRUNCQWdBQUJBZ1JhRmxDQXRKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0UKQ0ljQUFR
SUVDQkFnUUlCQXl3SUtrSmF6cTIwRUNCQWdRSUFBQVFJRUNoTlFnQlNXRU9FUUlFQ0FBQUVDQkFn
UWFGbEFBZEp5ZHJXTgpBQUVDQkFnUUlFQ0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQWdBQUJBaTBMS0VC
YXpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBCkFRSUVDQkFnUUtCbEFRVkl5OW5WTmdJ
RUNCQWdRSUFBQVFLRkNTaEFDa3VJY0FnUUlFQ0FBQUVDQkFpMExLQUFhVG03MmthQUFBRUMKQkFn
UUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JsZ1VVSUMxblY5c0lFQ0JBZ0FBQkFnUUlGQ2Fn
QUNrc0ljSWhRSUFBQVFJRQpDQkFnMExLQUFxVGw3R29iQVFJRUNCQWdRSUFBZ2NJRUZDQ0ZKVVE0
QkFnUUlFQ0FBQUVDQkZvV1VJQzBuRjF0STBDQUFBRUNCQWdRCklGQ1lnQUtrc0lRSWh3QUJBZ1FJ
RUNCQWdFRExBZ3FRbHJPcmJRUUlFQ0JBZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFBQVFJRUNCQm8K
V1VBQjBuSjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJaHdDQkFnUUlFQ0FBQUVDTFFzb1FGck9y
cllSSUVDQUFBRUNCQWdRS0V4QQpBVkpZUW9SRGdBQUJBZ1FJRUNCQW9HVUJCVWpMMmRVMkFnUUlF
Q0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNMUXNvQUJwCk9idmFSb0FBQVFJRUNCQWdR
S0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0FBSUdXQlJRZ0xXZFgyd2dRSUVDQUFBRUNCQWdVSnFBQUtT
d2gKd2lGQWdBQUJBZ1FJRUNEUXNvQUNwT1hzYWhzQkFnUUlFQ0JBZ0FDQndnUVVJSVVsUkRnRUNC
QWdRSUFBQVFJRVdoWlFnTFNjWFcwagpRSUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUUlF
Q0FRTXNDQ3BDV3M2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBCmdBQUJBZ1FJRUdoWlFB
SFNjbmExalFBQkFnUUlFQ0JBZ0VCaEFncVF3aElpSEFJRUNCQWdRSUFBQVFJdEN5aEFXczZ1dGhF
Z1FJQUEKQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2daUUVGU012WjFUWUNCQWdRSUVD
QUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQgpBZ1FJdEN5Z0FHazV1OXBHZ0FBQkFnUUlFQ0JBb0RB
QkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pZRkZDQXRaMWZiQ0JBZ1FJQUFBUUlFCkNCUW1vQUFwTENI
Q0lVQ0FBQUVDQkFnUUlOQ3lnQUtrNWV4cUd3RUNCQWdRSUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JB
Z0FBQkFnUmEKRmxDQXRKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0VDSWNBQVFJRUNCQWdRSUJB
eXdJS2tKYXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUQpnQlNXRU9FUUlFQ0FBQUVDQkFnUWFGbEFBZEp5
ZHJXTkFBRUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FBQkFpMExLRUJhCnpxNjJFU0JB
Z0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWdRS0JsQVFWSXk5blZOZ0lFQ0JBZ1FJQUFB
UUtGQ1NoQUNrdUkKY0FnUUlFQ0FBQUVDQkFpMExLQUFhVG03MmthQUFBRUNCQWdRSUVDZ01BRUZT
R0VKRVE0QkFnUUlFQ0JBZ0FDQmxnVVVJQzFuVjlzSQpFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhR
SUFBQVFJRUNCQWcwTEtBQXFUbDdHb2JBUUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRCQWdRCklFQ0FB
QUVDQkZvV1VJQzBuRjF0STBDQUFBRUNCQWdRSUZDWXdQOEhsd0JQcVJXOEFCOEFBQUFBU1VWT1JL
NUNZSUk9CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFu
c2Zvcm0tcmVwbGFjZWQtc2hhZG93cy1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdl
L3BuZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21s
RFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0
b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5
S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtp
RVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJT
dHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5
eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3
ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNH
RFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAx
MHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZ
Wml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhs
RU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZK
WFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0
UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9H
Zk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlT
OWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9E
SW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9k
Nkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgx
dUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFn
CkFFbEVRVlI0QWUzZDI1WWI1UkVGNExFeGhNTkZDQzhVM2dKZWxQdndSQ1FYNFdBTVRtcXl5dm5k
YUlZWmphenE2ZjFwTGRHdFZrdlYKOVpVdi9pM0o1c1hiLzk1dTNBZ1FJUEFBZ1crLy9mWUJaem1G
QUFFQ0JBZ1FJSEMzd011N24vSU1BUUlFQ0JBZ1FJQUFBUUlFTGlzZwpnRnpXMDdzUklFQ0FBQUVD
QkFnUUlIQ1BnQUJ5RDQ2bkNCQWdRSUFBQVFJRUNCQzRySUFBY2xsUDcwYUFBQUVDQkFnUUlFQ0F3
RDBDCkFzZzlPSjRpUUlBQUFRSUVDQkFnUU9DeUFnTElaVDI5R3dFQ0JBZ1FJRUNBQUFFQzl3Z0lJ
UGZnZUlvQUFRSUVDQkFnUUlBQWdjc0sKdlBEL0Fia3NxSGNqUUlBQUFRSUVDQkFna0N6d1ovL2ZN
TitBSlAvcDBEc0JBZ1FJRUNCQWdBQ0JLd3NJSUZjR1Y0NEFBUUlFQ0JBZwpRSUJBc29BQWtqeDl2
Uk1nUUlBQUFRSUVDQkM0c29BQWNtVnc1UWdRSUVDQUFBRUNCQWdrQ3dnZ3lkUFhPd0VDQkFnUUlF
Q0FBSUVyCkN3Z2dWd1pYamdBQkFnUUlFQ0JBZ0VDeWdBQ1NQSDI5RXlCQWdBQUJBZ1FJRUxpeWdB
QnlaWERsQ0JBZ1FJQUFBUUlFQ0NRTENDREoKMDljN0FRSUVDQkFnUUlBQWdTc0xDQ0JYQmxlT0FB
RUNCQWdRSUVDQVFMS0FBSkk4ZmIwVElFQ0FBQUVDQkFnUXVMS0FBSEpsY09VSQpFQ0JBZ0FBQkFn
UUlKQXNJSU1uVDF6c0JBZ1FJRUNCQWdBQ0JLd3NJSUZjR1Y0NEFBUUlFQ0JBZ1FJQkFzb0FBa2p4
OXZSTWdRSUFBCkFRSUVDQkM0c29BQWNtVnc1UWdRSUVDQUFBRUNCQWdrQ3dnZ3lkUFhPd0VDQkFn
UUlFQ0FBSUVyQ3dnZ1Z3WlhqZ0FCQWdRSUVDQkEKZ0VDeWdBQ1NQSDI5RXlCQWdBQUJBZ1FJRUxp
eXdLc3IxN3Y1L3Z2dnIxMVN2WHNFL3Y3M3Y5L3pyS2NJRUNCQWdBQUJBZ1FJWEZiZwo2Z0drTHY4
Zi8vakhaYnZ3Ym1jSmZQMzExMmU5em9zSUVDQkFnQUFCQWdRSW5DdmdKMWpueW5rZEFRSUVDQkFn
UUlBQUFRS1BGaEJBCkhrM21CUVFJRUNCQWdBQUJBZ1FJbkNzZ2dKd3I1M1VFQ0JBZ1FJQUFBUUlF
Q0R4YVFBQjVOSmtYRUNCQWdBQUJBZ1FJRUNCd3JzQlYKQThqYnQyL1B2VTZ2KzBBQ1p2S0JZTDB0
QVFJRUNCQWdRSURBU1lFUC9xOWdXZUNlZE4vVndYVkdMMTY4Mk5XMXVSZ0NCQWdRSUVDQQpBSUZq
Q1h5d2IwQnFVYnN1Ykl0dCsvaFlsTSt6bSsxTVRzM3RlWGJtcWdrUUlFQ0FBQUVDQlBZb2NQRnZR
RTR0YUt2eDdmRTlZaVJlClV3ZU8vdWFqdHoydmZweG9vMmNDQkFnUUlFQ0FBSUhMQzF3MGdQU2l0
UzZ6RjdaOXlkdkhmZHgyVnVEMzMzKy9XVU5HemFrZTk3RisKUEh1VnFoTWdRSUFBQVFJRUNCeEY0
S0lCcEZCcXdicmRkdmpvNTI1UDhKOWRDSFFBNmRCUjIzVk9IVVIyY2JFdWdnQUJBZ1FJRUNCQQo0
TmtMWEN5QXJJdldOWEQwZmkxMDYrNjJMNEUzYjk3Y3ZIejU4dmEraHBDNnlnNGZOY1BlMzlmVnV4
b0NCQWdRSUVDQUFJSG5KbkN4CkFGS05kOWpvYlFXTzJ1L3dJWURzNzQvSGI3Lzk5bTV1RlVRcWFO
UjJ2UWtmcTRaOUFnUUlFQ0JBZ0FDQnB3aGNKSUJVeU9qYkdqNDYKZU5RaXQvWnI2N1l2Z1Y5Ly9m
WG1vNDgrdWcwZHZhMHI3QkRTNGFQbTJ2djc2c0RWRUNCQWdBQUJBZ1FJUENlQml3U1FhcmlEUjIw
cgpiUFMyUWtmOXpLZnVBc2orL21pOGZ2MzZOb0M4ZXZYL1B3b1ZOR3FHRlVKcWpuVVRQdlkzTzFk
RWdBQUJBZ1FJRUhpT0F2OWZkWjU1CjliMUFyWmQzOEtoakZUWTZmTlNuN0JWQWF1dTJMNEZmZnZu
bDV1T1BQMzRYTlBycTZ0dVFEcEcxWDdkNkxJaTBrQzBCQWdRSUVDQkEKZ01BNUFrOE9JRlcwRnFa
MTcvMyt1VldIamdvZTlVbDczZDMySmZEenp6Ky9DNDdybFZYUTZIdlBWdmhZaGV3VElFQ0FBQUVD
QkFpYwpJL0NrQU5JTDB5cmNJYVRDUndlUS9nYWt3MGQ5MnU2Mkw0RjFKaFV3MXIrSXZnYVFEaDgx
NTk3ZlZ5ZXVoZ0FCQWdRSUVDQkE0RGtJClBDbUFWSU1kUEhxN0RSLzk3VWN0ZEgvNjZhZm5ZQkox
amV0TUtueHNBMGovUFpDYWI5MkVqNmcvSHBvbFFJQUFBUUlFQ0Z4YzRNa0IKcEs2b3cwZHQreHVR
MnZaUHNPb2JrQW9nOVhNZkM5aUx6L0JKYjFnejZkQlJmOWVqN3ozSGRiWm05eVJxTHlaQWdBQUJB
Z1FJRVBpdgp3UHYvdzRkSGtQUW40dXRMYXRIYUlhUi9mdFhmZ05SQ3QrNXUreExvdVZSSXJGbjF2
MWEyem5KN3hhZG12ejNIWXdJRUNCQWdRSUFBCkFRS25CTTRPSVAxbTZ5ZmtIVDc2MjQ5YXpLN2Zn
cXcvOStuWDI4NEsxRXpXOE5Fek8vVU5pT0F4T3l2VkNSQWdRSUFBQVFKSEVIaFMKQU9ud1VSQzl2
dzBoL1ExSS9RUnIvUXZQUjhBN1FnODlseldFbkFvZjY0eVAwTGNlQ0JBZ1FJQUFBUUlFWmdTZUZF
QzJsOXdocEJhdwoyLzhQU0FlUjdXczhuaFhvNExIKy9LcG1WelBzZWM1ZW9lb0VDQkFnUUlBQUFR
SkhFcmhJQU9tRmFtLzdFL1ExaU5SQzF6Y2crL3VqClV6T3AyWFJnWEdmWDgrenQvcTdlRlJFZ1FJ
QUFBUUlFQ0R3M2dZc0VrTFhwV3NEV2JRMGYvZmNLNmxOMnQzMEo5RGNmTmFNMWhOUlYKOWl6M2Rj
V3VoZ0FCQWdRSUVDQkE0RGtMbkJWQTZoUHg5ZGFma1BmeFdyajJzVFdJMUFMWGJWOENIVHBxdTUx
YlhXblBzV2ZiVjc5OQozTWR0Q1JBZ1FJQUFBUUlFQ053bmNGWUF1ZThOMXdWcjdkZWlkZzBoOTcz
V2M5Y1g2QURTYzlyTzcvcFhwQ0lCQWdRSUVDQkFnTUNSCkJTNGFRTGFmaXErTDJWN2dIaG56T2Zi
V2MxbG50ZmF4bmVuNm5IMENCQWdRSUVDQUFBRUNqeFc0YUFDcDR1dENkcnZ2SjFpUEhjK0gKUDc5
bXNwM1QrdmpEWDRFS0JBZ1FJRUNBQUFFQ1NRSVhEU0MxY08zYnVvanQvWDdPZGw4Q1BaOTEyMWRZ
eDl3SUVDQkFnQUFCQWdRSQpYRXJnWWdIa3JvWHF1cWl0bi91NDdVdWdackxPNk5UVjNUWGJVK2M2
Um9BQUFRSUVDQkFnUU9BK2dZc0ZrUHVLZUk0QUFRSUVDQkFnClFJQUFBUUlsY0xVQTRsUDAvZjZC
TTV2OXpzYVZFU0JBZ0FBQkFnU09KbkNWQU5JTDNONGVEZkU1OTlNejZlMXo3c1cxRXlCQWdBQUIK
QWdRSTdGL2dLZ0ZrL3d5dWtBQUJBZ1FJRUNCQWdBQ0Jhd2hjTFlENGhQMGE0enl2aHRtYzUrWlZC
QWdRSUVDQUFBRUNqeGU0V2dCNQovS1Y1QlFFQ0JBZ1FJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FB
QUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPCk5sSDlFQ0JBZ0FBQkFnUUlF
Tml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1
UGgKdURRQ0JBZ1FJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFn
UUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOQpFQ0JBZ0FBQkFnUUlFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJ
QUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDCkJBZ1FJRUNBQUFFQ1J4
TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxI
OUVDQkEKZ0FBQkFnUUlFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlB
QUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUQpJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFn
UTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCCkFnUUlFTml4Z0FD
eTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFD
QkFnUUlFQ0EKQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JB
Z0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSQpFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpI
RXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDClJ4TVFRSTQy
VWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFn
QUFCQWdRSUVOaXgKZ0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVD
QkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhNUQpRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FB
TExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5CjQrRzRO
QUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlF
Q0FBQUVDUnhNUVFJNDIKVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFr
Y1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5NCtHNApOQUlFQ0JBZ1FJQUFBUUpIRXhCQWpq
WlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRCklF
Q0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdR
SUVOaXhnQUN5NCtHNE5BSUUKQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lB
QXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRSUVDQQpBQUVDQkFnUTJMR0FBTExqNGJn
MEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5NCtHNE5BSUVDQkFn
ClFJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVD
UnhONE5kSFExMTkvUFZGV1RRSUUKQ0JBZ1FJQUFBUUlFaGdXdUhrQysrKzY3bXg5KytPSDIvczkv
L3ZQbVgvLzYxODIvLy8zdjIvdVBQLzU0OC9yMTY1czNiOTY4dTVmUAoyN2R2YisvRFZyc3UvK0xG
aTV1NjErM1ZxMWZ2N3A5ODhzbk41NTkvZnZQRkYxL2Mzdi82MTcvZWZQbmxsemQvKzl2ZmJ1OWZm
ZlhWCnJ2dHljUVFJRUNCQWdBQUJBc2NTOEJPc1k4MVROd1FJRUNCQWdBQUJBZ1IyTFhEMUFOS2Yw
ajlFNVRIblB1VDlFczU1ak5sanprMncKMHlNQkFnUUlFQ0JBZ01DSEY3aGFBSG5JWXZjaDUzeDRr
bU5WZUlqcFE4NDVsb3B1Q0JBZ1FJQUFBUUlFcGdTdUZrQWUydUM2R0Y3MwpIL3I2OVBOV3MzVS8z
VVgvQkFnUUlFQ0FBQUVDK3hDNFNnRHBoWEJ2MTliN1dHMTdmMzNlL3RNRVZ0ZFR2bjJzdDArcjV0
VUVDQkFnClFJQUFBUUlFN2hlNDJyK0N0VjNnMXVQdHZTLzFydVA5dk8wZkJiWm05Ymh2OXoxWDU2
em45bXRzQ1JBZ1FJQUFBUUlFQ0h3SWdhc0YKa0w3NFhneXZqM3YvNWN1WGZ3Z2xGc2V0Yy8rMlhi
ZmJNdTNiYXRubjlYTzJCQWdRSUVDQUFBRUNCSzRoY0xFQXNpNXUxd3Z2aFc1dAp0d0dqSC9lMno5
ays5djhCV1VWUDc2L09kem4yOGZYYzFicU9uN3JkZGZ6VXVZNFJJRUNBQUFFQ0JBZ1F1RS9nWWdH
a2lxd0wxWFdSCjIvdDlUaTE2ZStIYit4OTk5Tkh0c2RyKy92dnZON1d0MTlXK0FITGZDUC8zWEJ1
M1oyMVgwejVlNTYzN1BaTitmVys3WWoxMkkwQ0EKQUFFQ0JBZ1FJSEFwZ1lzR2tMcW9Yc0NlMnZh
Q3VKNnIvZTI5L2cvZXYvMzIyN3ZBVVF0bEFlUmhvMjd2TXF2OXNpemYzbTZ0NjV3Ngp0NDczYTA5
dEgxYmRXUVFJRUNCQWdBQUJBZ1FlSm5EUkFGSUwyUFcyTG1qN1UvZDFVVnlMNCsyOUFrZS9iZzBq
OVMySTI5MENiVmJiCk50N2E5dU4rdnJZOWwvWDFhNVU2N2thQUFBRUNCQWdRSUVEZ1VnSVhEU0Ix
VWV0Q3R2WjdnVnVMM2I3M1F2ampqeisrcWZzbm4zeHkKOCtiTm05dHZPK285K2pVVlJ1cGVOd0hr
bHVITy8zUlFhTHMyTHR1K3QzYy8xL080SzRqMGU5NVoxQk1FQ0JBZ1FJQUFBUUlFSGlsdwpWZ0Nw
aGVrYUNPcHgzNnQrTFlMN2NlMnZDOTFlQlBlaStDOS8rY3Nmd2tlRmticFhEVC9CZXRoRVYrL2E3
NUJSenA5Kyt1bE5PZGU5CjNYc082MnkyYzZ2Sy9iNjFYVy9ieCt0ejlna1FJRUNBQUFFQ0JBamNK
WEJXQUxucnplcDRMV0o3MjR2YlhnejN0eDI5R0s2RmNRV04KK3FsVnY2Yk83V1A5RGNnYWRtNVA5
SitUQWhVS3lyOURYMWxXNENqdnN1NTcrOWR6TlpPZVQ4OXJuZUhKUWc0U0lFQ0FBQUVDQkFnUQpP
RlBnSWdGay9aUjhYUVQzUXJnV3RyMFE3dTFubjMzMjNqY2ZkVTR2bUxjQnBIb1RRdTZmY0g4anNR
MGdGVEE2Z0h6KytlYzM1VjczCk90YXpxTzBhUHZvOXRuTzkvd284UzRBQUFRSUVDQkFnUU9EUEJT
NFNRTHBNTDFqWDRGR2hvbi91VXd2ZCtoVCsxMTkvZlM5ODFQa2QKUHVxNStrWmsvUWxXdjM5dEJa
RlY0LzEvK3JpZUtjdWFRM2xXcU9odm5jcTlnc2NYWDN6eExvVFVzWnBKejZkZlU2L3I5K2xnODM1
Vgpqd2dRSUVDQUFBRUNCQWljSi9Da0FOS0JvMEpCNzllMkZxOGRLbm9CWEorNHYzNzkralo4Vk1E
b3YxemU1OVZDdUo1ZnYvMVkveFdzCjg5ckxlbFhQb0FORWJUdllsWDkvKzFFaHBMNE5xUUJTeC92
YmtKcFZuZC96Ni9lcmJkMzZjWmFxYmdrUUlFQ0FBQUVDQkM0cDhLUUEKVWhmU2k5TGU5dUsxRnJK
OTd4QlNDK0QxTDVWMytLam5PNXhVQUtsek9xUlV1UEd0eDhOR3ZzNmdRMGpOb1AzN1c1Q2FRd1dR
L2tsVwpmd3ZTODZwdHo3SGZzN2NQdXhKbkVTQkFnQUFCQWdRSUVEZ3RjSFlBcVFYcE5oalVvcldP
MTdZL2ZlL0ZiLytGOHY3bW84NnJjK3I1CitnUytmbnJWUDcvYWhvOXRuZE90T05vaFlaMUJHN2R6
ZnhQUzRhTkN5ZnBUckFvZkhWNzZmYmF5ZGR5TkFBRUNCQWdRSUVDQXdEa0MKWndlUXRkaDI0ZHVm
bnZlbjcvMVRxZzRmL1h3dGluLzU1WmQzUDcxYWYzNVY1L2EzSHdMSXFuMzMvcWs1ZEJDc1dkUTNI
ZjJUcS9vVwpwTVBIWFQvQjZrRFo3M3QzWmM4UUlFQ0FBQUVDQkFnUWVKakFrd05JZnhyZWk5VCs5
cU1EUkcwN2VOUWwxWGw5VGkrSUszajB0eDk5CmZyKytYaU9BbE1LZjM5WlpkTWhyNndwN0hVTGF2
WUpIaFpCdEFLblFzbjRMMHJQdDkvL3pLM0VHQVFJRUNCQWdRSUFBZ2RNQ1R3b2cKdFNEdGNOQ0wx
RnJ3MXJGYXdOYTJGcjE5VGwxQ25kZmZqUFRQcm1wYmdhTi9ldFhoWTMzZHVuKzZsZXlqYXpoWVo5
RUJwTFlWUXZyZQpmKytqdG4ydnVhemhvMTdUNzlXNmE1MCtaa3VBQUFFQ0JBZ1FJRURnb1FKUENp
QmRaRjJVMW40dmV2djUycTdIZXhGY3dhTi9kdFhoCm80SkdCWkM2MVg0SGo5N2VQdUUvZnhEb0dk
UzI5enRBOUR3cVhIVDQ2MjlFZWhaOXZFTkl2N1lLcmUvNWg4SU9FQ0JBZ0FBQkFnUUkKRUhpRXdK
TURTQzFPT3h6VW9yWENReDJyeGU1NnEyTzlFSzdRVVF2ZjdUY2Y5VDYrL1ZqVkhyZGZ4bjJyL1Ri
dmJjMmtabEQySFVZNgpjTlMyOSt1NTlmWHJlL2ErYmFiQXQ5OSttOW00cmdrUUlFQ0FBSUdMQ1R3
NWdQU1YxSUsxYnIzWXJTQlJpOTIrMVg1OXk5RUwzOXF2Cm4vNzBOeDlyOE9oQXM5MzJlOW1lRmxo
blVHZDBpT2laZEFEc2JjMmk3MzJzdG4zKyt2clRGUjBsUUlBQUFRSUVDQkFnOERpQml3U1EKV3Fo
MldLajl1dFZDdG02OWlPMUFVZ3ZlQ2gxMWZvZVAycS83R2tKdVgrdy9UeEpvK3c0VjliaURSdTNY
TE9yeGV1OXorclY5QWZYWQpqUUFCQWdRSUVDQkFnTUJUQlM0U1FQb2l0b3ZVV3RoV3NPakZiRzE3
QVZ4aG8zN3lzNGFPT3JkdXZlMzM3ZTFkeC92NTFPM1d2UjM2CitOYS81OURITzREMDQrMjIzOCtX
QUFFQ0JBZ1FJRUNBd0ZNRkxoWkFhdEhhQWFIMjY5Ykg2bmp0MTBLM0FrZmRPbmpVZmozZjkzcmMK
dDM2L2ZtejdNSUgyNzdQcmNkL3JXTStpOW1zbS9WeHYrNXphMXEyT3V4RWdRSUFBQVFJRUNCQzRo
TURGQWtoZnpMcFk3ZUJSeHpwZwo5SDR0Zk92V3gzdi85dUE5L3hGSzNzZFp2ZDkvNXYrUCtwemE5
bjQ5MjQ5NzI2L1lQdTdqdGdRSUVDQkFnQUFCQWdTZUtuRFJBRklMCjF3NEl2WWp0eDNXaDYvUHI4
ZDd2N1ZPYjh2cjNCY3E5YnIxZDkvdllkbnY3Z3MxcitwZ3RBUUlFQ0JBZ1FJQUFnWE1GTGhwQTZp
SjYKSWR0aG9oL1h0bzZ0MnpxL2o5VysyNGNYNkhsVXBkN3Y3VnI5MUxIMWVmc0VDQkFnUUlBQUFR
SUV6aEc0ZUFEcGkrZ0ZiQWVST3Q3SAphdHZIKzFpL3JyYjkzSHJNL3VNRlR0bjJ1OXoxM0YzSCsz
VzJCQWdRSUVDQUFBRUNCSjRpOE1FQ1NGL1V1cUJkZzhWNnZNL3Q3WDNQCjlUbTJseFBnZlRsTDcw
U0FBQUVDQkFnUUlIQy93QWNQSUd2NWRhRzdocEgxSFB2WEVWaG5jWjJLcWhBZ1FJQUFBUUlFQ0JD
NHVibHEKQUZuQkxZQlhEZnNFQ0JBZ1FJQUFBUUlFTWdUKzkyL2hadlNxU3dJRUNCQWdRSUFBQVFJ
RWhnVUVrT0VCS0UrQUFBRUNCQWdRSUVBZwpTVUFBU1pxMlhna1FJRUNBQUFFQ0JBZ01Dd2dnd3dO
UW5nQUJBZ1FJRUNCQWdFQ1NnQUNTTkcyOUVpQkFnQUFCQWdRSUVCZ1dFRUNHCkI2QThBUUlFQ0JB
Z1FJQUFnU1FCQVNScDJub2xRSUFBQVFJRUNCQWdNQ3dnZ0F3UFFIa0NCQWdRSUVDQUFBRUNTUUlD
U05LMDlVcUEKQUFFQ0JBZ1FJRUJnV0VBQUdSNkE4Z1FJRUNCQWdBQUJBZ1NTQkFTUXBHbnJsUUFC
QWdRSUVDQkFnTUN3Z0FBeVBBRGxDUkFnUUlBQQpBUUlFQ0NRSkNDQkowOVlyQVFJRUNCQWdRSUFB
Z1dFQkFXUjRBTW9USUVDQUFBRUNCQWdRU0JJUVFKS21yVmNDQkFnUUlFQ0FBQUVDCnd3SUN5UEFB
bENkQWdBQUJBZ1FJRUNDUUpDQ0FKRTFicndRSUVDQkFnQUFCQWdTR0JRU1E0UUVvVDRBQUFRSUVD
QkFnUUNCSlFBQkoKbXJaZUNSQWdRSUFBQVFJRUNBd0xDQ0REQTFDZUFBRUNCQWdRSUVDQVFKS0FB
SkkwYmIwU0lFQ0FBQUVDQkFnUUdCWVFRSVlIb0R3QgpBZ1FJRUNCQWdBQ0JKQUVCSkduYWVpVkFn
QUFCQWdRSUVDQXdMQ0NBREE5QWVRSUVDQkFnUUlBQUFRSkpBZ0pJMHJUMVNvQUFBUUlFCkNCQWdR
R0JZUUFBWkhvRHlCQWdRSUVDQUFBRUNCSklFQkpDa2FldVZBQUVDQkFnUUlFQ0F3TENBQURJOEFP
VUpFQ0JBZ0FBQkFnUUkKSkFrSUlFblQxaXNCQWdRSUVDQkFnQUNCWVFFQlpIZ0F5aE1nUUlBQUFR
SUVDQkJJRWhCQWtxYXRWd0lFQ0JBZ1FJQUFBUUxEQWdMSQo4QUNVSjBDQUFBRUNCQWdRSUpBa0lJ
QWtUVnV2QkFnUUlFQ0FBQUVDQklZRkJKRGhBU2hQZ0FBQkFnUUlFQ0JBSUVsQUFFbWF0bDRKCkVD
QkFnQUFCQWdRSURBc0lJTU1EVUo0QUFRSUVDQkFnUUlCQWtvQUFralJ0dlJJZ1FJQUFBUUlFQ0JB
WUZoQkFoZ2VnUEFFQ0JBZ1EKSUVDQUFJRWtBUUVrYWRwNkpVQ0FBQUVDQkFnUUlEQXNJSUFNRDBC
NUFnUUlFQ0JBZ0FBQkFra0NBa2pTdFBWS2dBQUJBZ1FJRUNCQQpZRmhBQUJrZWdQSUVDQkFnUUlB
QUFRSUVrZ1FFa0tScDY1VUFBUUlFQ0JBZ1FJREFzSUFBTWp3QTVRa1FJRUNBQUFFQ0JBZ2tDUWdn
ClNkUFdLd0VDQkFnUUlFQ0FBSUZoQVFGa2VBREtFeUJBZ0FBQkFnUUlFRWdTRUVDU3BxMVhBZ1FJ
RUNCQWdBQUJBc01DQXNqd0FKUW4KUUlBQUFRSUVDQkFna0NRZ2dDUk5XNjhFQ0JBZ1FJQUFBUUlF
aGdVRWtPRUJLRStBQUFFQ0JBZ1FJRUFnU1VBQVNacTJYZ2tRSUVDQQpBQUVDQkFnTUN3Z2d3d05R
bmdBQkFnUUlFQ0JBZ0VDU2dBQ1NORzI5RWlCQWdBQUJBZ1FJRUJnV0VFQ0dCNkE4QVFJRUNCQWdR
SUFBCmdTUUJBU1JwMm5vbFFJQUFBUUlFQ0JBZ01Dd2dnQXdQUUhrQ0JBZ1FJRUNBQUFFQ1NRSUNT
TkswOVVxQUFBRUNCQWdRSUVCZ1dFQUEKR1I2QThnUUlFQ0JBZ0FBQkFnU1NCQVNRcEducmxRQUJB
Z1FJRUNCQWdNQ3dnQUF5UEFEbENSQWdRSUFBQVFJRUNDUUpDQ0JKMDlZcgpBUUlFQ0JBZ1FJQUFn
V0VCQVdSNEFNb1RJRUNBQUFFQ0JBZ1FTQklRUUpLbXJWY0NCQWdRSUVDQUFBRUN3d0lDeVBBQWxD
ZEFnQUFCCkFnUUlFQ0NRSkNDQUpFMWJyd1FJRUNCQWdBQUJBZ1NHQlFTUTRRRW9UNEFBQVFJRUNC
QWdRQ0JKUUFCSm1yWmVDUkFnUUlBQUFRSUUKQ0F3TENDRERBMUNlQUFFQ0JBZ1FJRUNBUUpLQUFK
STBiYjBTSUVDQUFBRUNCQWdRR0JZUVFJWUhvRHdCQWdRSUVDQkFnQUNCSkFFQgpKR25hZWlWQWdB
QUJBZ1FJRUNBd0xDQ0FEQTlBZVFJRUNCQWdRSUFBQVFKSkFnSkkwclQxU29BQUFRSUVDQkFnUUdC
WVFBQVpIb0R5CkJBZ1FJRUNBQUFFQ0JKSUVCSkNrYWV1VkFBRUNCQWdRSUVDQXdMQ0FBREk4QU9V
SkVDQkFnQUFCQWdRSUpBa0lJRW5UMWlzQkFnUUkKRUNCQWdBQ0JZUUVCWkhnQXloTWdRSUFBQVFJ
RUNCQklFaEJBa3FhdFZ3SUVDQkFnUUlBQUFRTERBZ0xJOEFDVUowQ0FBQUVDQkFnUQpJSkFrSUlB
a1RWdXZCQWdRSUVDQUFBRUNCSVlGQkpEaEFTaFBnQUFCQWdRSUVDQkFJRWxBQUVtYXRsNEpFQ0JB
Z0FBQkFnUUlEQXNJCklNTURVSjRBQVFJRUNCQWdRSUJBa29BQWtqUnR2UklnUUlBQUFRSUVDQkFZ
RmhCQWhnZWdQQUVDQkFnUUlFQ0FBSUVrQVFFa2FkcDYKSlVDQUFBRUNCQWdRSURBc0lJQU1EMEI1
QWdRSUVDQkFnQUFCQWtrQ0FralN0UFZLZ0FBQkFnUUlFQ0JBWUZoQUFCa2VnUElFQ0JBZwpRSUFB
QVFJRWtnUUVrS1JwNjVVQUFRSUVDQkFnUUlEQXNJQUFNandBNVFrUUlFQ0FBQUVDQkFna0NRZ2dT
ZFBXS3dFQ0JBZ1FJRUNBCkFJRmhBUUZrZUFES0V5QkFnQUFCQWdRSUVFZ1NFRUNTcHExWEFnUUlF
Q0JBZ0FBQkFzTUNBc2p3QUpRblFJQUFBUUlFQ0JBZ2tDUWcKZ0NSTlc2OEVDQkFnUUlBQUFRSUVo
Z1VFa09FQktFK0FBQUVDQkFnUUlFQWdTVUFBU1pxMlhna1FJRUNBQUFFQ0JBZ01Dd2dnd3dOUQpu
Z0FCQWdRSUVDQkFnRUNTZ0FDU05HMjlFaUJBZ0FBQkFnUUlFQmdXRUVDR0I2QThBUUlFQ0JBZ1FJ
QUFnU1FCQVNScDJub2xRSUFBCkFRSUVDQkFnTUN3Z2dBd1BRSGtDQkFnUUlFQ0FBQUVDU1FJQ1NO
SzA5VXFBQUFFQ0JBZ1FJRUJnV0VBQUdSNkE4Z1FJRUNCQWdBQUIKQWdTU0JBU1FwR25ybFFBQkFn
UUlFQ0JBZ01Dd2dBQXlQQURsQ1JBZ1FJQUFBUUlFQ0NRSkNDQkowOVlyQVFJRUNCQWdRSUFBZ1dF
QgpBV1I0QU1vVElFQ0FBQUVDQkFnUVNCSVFRSkttclZjQ0JBZ1FJRUNBQUFFQ3d3SUN5UEFBbENk
QWdBQUJBZ1FJRUNDUUpDQ0FKRTFiCnJ3UUlFQ0JBZ0FBQkFnU0dCUVNRNFFFb1Q0QUFBUUlFQ0JB
Z1FDQkpRQUJKbXJaZUNSQWdRSUFBQVFJRUNBd0xDQ0REQTFDZUFBRUMKQkFnUUlFQ0FRSktBQUpJ
MGJiMFNJRUNBQUFFQ0JBZ1FHQllRUUlZSG9Ed0JBZ1FJRUNCQWdBQ0JKQUVCSkduYWVpVkFnQUFC
QWdRSQpFQ0F3TENDQURBOUFlUUlFQ0JBZ1FJQUFBUUpKQWdKSTByVDFTb0FBQVFJRUNCQWdRR0JZ
UUFBWkhvRHlCQWdRSUVDQUFBRUNCSklFCkJKQ2thZXVWQUFFQ0JBZ1FJRUNBd0xDQUFESThBT1VK
RUNCQWdBQUJBZ1FJSkFrSUlFblQxaXNCQWdRSUVDQkFnQUNCWVFFQlpIZ0EKeWhNZ1FJQUFBUUlF
Q0JCSUVoQkFrcWF0VndJRUNCQWdRSUFBQVFMREFnTEk4QUNVSjBDQUFBRUNCQWdRSUpBa0lJQWtU
VnV2QkFnUQpJRUNBQUFFQ0JJWUZCSkRoQVNoUGdBQUJBZ1FJRUNCQUlFbEFBRW1hdGw0SkVDQkFn
QUFCQWdRSURBc0lJTU1EVUo0QUFRSUVDQkFnClFJQkFrb0FBa2pSdHZSSWdRSUFBQVFJRUNCQVlG
aEJBaGdlZ1BBRUNCQWdRSUVDQUFJRWtBUUVrYWRwNkpVQ0FBQUVDQkFnUUlEQXMKSUlBTUQwQjVB
Z1FJRUNCQWdBQUJBa2tDQWtqU3RQVktnQUFCQWdRSUVDQkFZRmhBQUJrZWdQSUVDQkFnUUlBQUFR
SUVrZ1FFa0tScAo2NVVBQVFJRUNCQWdRSURBc0lBQU1qd0E1UWtRSUVDQUFBRUNCQWdrQ1FnZ1Nk
UFdLd0VDQkFnUUlFQ0FBQ2pmN0VNQUFCUVZTVVJCClZJRmhBUUZrZUFES0V5QkFnQUFCQWdRSUVF
Z1NFRUNTcHExWEFnUUlFQ0JBZ0FBQkFzTUNBc2p3QUpRblFJQUFBUUlFQ0JBZ2tDVHcKNHB0dnZu
bWIxTEJlQ1JBZ1FJQUFBUUlFQ0JDWUUvQU55Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFB
QkFnUUlFQ0JBZ01DYwpnQUF5WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JB
Z01DY2dnTXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1Cmhna1FJRUNBQUFFQ0JBak1DUWdnYy9Z
cUV5QkFnQUFCQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWcKUUlB
QUFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVr
YnVRYUprQ0FBQUVDQkFnUQpJREFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JB
Z0FBQkFnUUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBCjRrYXVZUUlFQ0JBZ1FJQUFBUUp6
QWdMSW5MM0tCQWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUIK
QWdRSUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWdR
Q0JPUUFDSkc3bUdDUkFnUUlBQQpBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdy
bUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpCkJBU1F1SkZybUFBQkFnUUlF
Q0JBZ01DY2dBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dN
eloKcTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdB
QUJBZ1FJRUlnVEVFRGlScTVoQWdRSQpFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRn
UUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBCkFJRTRBUUVrYnVRYUpr
Q0FBQUVDQkFnUUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdR
SXpBa0kKSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwz
S0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1WQpBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNC
QWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFCkNCQWdRQ0JPUUFD
Skc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdR
SUVDQUFBRUMKY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNj
Z0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdQo1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlB
QUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBCmdBQUJBZ1FJ
RUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJh
NWdBQVFJRUNCQWcKUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNC
QWdRSURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QQpBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJ
SFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLCkJBZ1FJ
RUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9B
RUJKRzdrR2laQWdBQUIKQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NS
QWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUQppQk1RUU9KR3JtRUNCQWdRSUVDQUFB
RUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5Clo2
OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRUNCQWdNQ2NnZ016WnEweUFBQUVDQkFn
UUlFQWdUa0FBaVJ1NWhna1EKSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdURUVE
aVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQQpBUUlFNGdRRWtMaVJhNWdBQVFJ
RUNCQWdRSURBbklBQU1tZXZNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFu
CklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1n
UUlBQUFRSUVDQkNJRXhCQTRrYXUKWVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FBQUVD
Qk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5yeklCQWdRSQpFQ0JBZ0FDQk9BRUJKRzdr
R2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUVDQkFnUUNCT1FBQ0pHN21HQ1JBZ1FJQUFB
UUlFCkNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5
Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1EKdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVD
QkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01DY2dnTXpacTB5QQpBQUVDQkFnUUlFQWdU
a0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkFnQUFCQWdRSUVJZ1RFRURpUnE1aEFn
UUlFQ0JBCmdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQUFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJ
REFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTQKQVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFuSUlETTJh
dE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMgpLaE1nUUlBQUFR
SUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5MM0tCQWdRSUVDQUFBRUNCT0lFQkpD
NGtXdVlBQUVDCkJBZ1FJRUNBd0p5QUFESm5yeklCQWdRSUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FB
QkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWcKUUNCT1FBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013
SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQwp5Snk5eWdR
SUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFnUUlFQ0JBZ01DY2dBQXlaNjh5QVFJRUNCQWdRSUFB
Z1RnQkFTUnU1Qm9tClFJQUFBUUlFQ0JBZ01DY2dnTXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1
aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUIKQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JB
Z0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQQpuSUFB
TW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVrYnVRYUprQ0FBQUVDQkFnUUlEQW5JSURNMmF0TWdBQUJB
Z1FJRUNCQUlFNUFBSWtiCnVZWUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lF
eEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1EKSUVDQUFBRUNCT0lFQkpDNGtXdVlB
QUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNCQWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSQpF
Q0F3SnlDQXpObXJUSUFBQVFJRUNCQWdRQ0JPUUFDSkc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NCejlp
b1RJRUNBQUFFQ0JBZ1FpQk1RClFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdB
QUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHkKQVFJRUNCQWdRSUFBZ1RnQkFT
UnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVD
QQpBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUJBZ1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5N
Q0FzaWN2Y29FQ0JBZ1FJQUFBUUlFCjRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdF
Q0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdRSURBbklJRE0KMmF0TWdBQUJBZ1FJRUNC
QUlFNUFBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1
WVFJRQpDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdR
SUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBCmdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNB
ek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdRSUFBQVFJRUNNd0oKQ0NCejlpb1RJRUNB
QUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdRSUVDQUFBRUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlC
QVNRdUpGcgptQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21R
SUFBQVFJRUNCQWdNQ2NnZ016WnEweUFBQUVDCkJBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNC
QWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdURUVEaVJxNWhBZ1FJRUNCQWdBQUIKQW5NQ0FzaWN2
Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJhNWdBQVFJRUNCQWdRSURBbklBQU1tZXZNZ0VDQkFnUUlF
Q0FBSUU0QVFFawpidVFhSmtDQUFBRUNCQWdRSURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJ
a2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1nClFJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNC
QWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1EKSUVDQXdK
eUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9BRUJKRzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1yVElB
QUFRSUVDQkFnUUNCTwpRQUNKRzdtR0NSQWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFn
UWlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5Snk5CnlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpG
cm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUEKQVFJ
RUNCQWdNQ2NnZ016WnEweUFBQUVDQkFnUUlFQWdUa0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1DUWdn
Yy9ZcUV5QkFnQUFCQWdRSQpFSWdURUVEaVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFn
UUlBQUFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBCk1tZXZNZ0VDQkFnUUlFQ0FBSUU0
QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUoK
RUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1nUUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJQUFB
UUp6QWdMSW5MM0tCQWdRSUVDQQpBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5y
eklCQWdRSUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3Ckp5Q0F6Tm1yVElBQUFRSUVD
QkFnUUNCT1FBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFP
SkcKcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFn
UUlFQ0JBZ01DY2dBQXlaNjh5QVFJRQpDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01D
Y2dnTXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDCkJBak1DUWdnYy9ZcUV5
QkFnQUFCQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJ
RTRnUUUKa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVrYnVR
YUprQ0FBQUVDQkFnUUlEQW5JSURNMmF0TQpnQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FB
QkFnUUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnClFJQUFBUUp6QWdM
SW5MM0tCQWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJ
RUNCQWdBQ0IKT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWdRQ0JP
UUFDSkc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NCego5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVD
QkFnUUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCCkFnUUlFQ0JB
Z01DY2dBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpx
MHlBQUFFQ0JBZ1EKSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUJB
Z1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQwpBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVr
TGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhCkprQ0FB
QUVDQkFnUUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdRSXpB
a0lJSFAyS2hNZ1FJQUEKQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JB
Z1FJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQQp3SnlBQURKbnJ6SUJBZ1FJRUNCQWdB
Q0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKCkc3
bUdDUkFnUUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdRSUVD
QUFBRUNjd0lDeUp5OXlnUUkKRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FB
eVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRQpDQkFnTUNjZ2dNelpxMHlBQUFF
Q0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdU
CkVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJhNWdB
QVFJRUNCQWdRSURBbklBQU1tZXYKTWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdR
SURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQQpnQUFCQWdRSXpBa0lJSFAy
S2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FB
QUVDCkJPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9BRUJK
RzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0EKek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdR
SUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQwpCQWdRSUVDQUFBRUNj
d0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFR
SUVDQkFnClFJQUFnVGlCL3dENERDWWFvVmtTL2dBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75709</attachid>
            <date>2010-12-06 10:09:44 -0800</date>
            <delta_ts>2010-12-06 11:38:56 -0800</delta_ts>
            <desc>Patch (fix tabs in ChangeLog)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>629152</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzM0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzA1IEBACisyMDEwLTEyLTA1ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
Zm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTIyMCA8PHJkYXI6
Ly9wcm9ibGVtLzg2NDQ4NDk+LCBSRUdSRVNTSU9OOiB0cmFuc2Zvcm1zIG5vdworICAgICAgICBP
KG5eMykgZnJvbSBwYXRob2xvZ2ljYWwgYmVoYXZpb3IgaW4gbG93ZXN0UG9zaXRpb24sIHJpZ2h0
bW9zdFBvc2l0aW9uLCBsZWZ0bW9zdFBvc2l0aW9uIGFuZCB0b3Btb3N0UG9zaXRpb24uCisKKyAg
ICAgICAgVGhpcyBwYXRjaCB0aHJvd3Mgb3V0IHRoZSBsb3dlc3QvcmlnaHRtb3N0L2xlZnRtb3N0
L3RvcG1vc3RQb3NpdGlvbiBmdW5jdGlvbnMgYW5kIHJlLWFyY2hpdGVjdHMgbGF5b3V0IG92ZXJm
bG93CisgICAgICAgIGluIHRoZSBlbmdpbmUgdG8gY2FjaGUgYWxsIHRoZSBpbmZvcm1hdGlvbiBy
ZXF1aXJlZCB0byBwcm9wZXJseSBoYW5kbGUgc2Nyb2xsaW5nLgorCisgICAgICAgIEluIHRoZSBv
bGQgY29kZSwgdGhlcmUgd2VyZSB0d28gdHlwZXMgb2Ygb3ZlcmZsb3c6IGxheW91dCBvdmVyZmxv
dyBhbmQgdmlzdWFsIG92ZXJmbG93LiAgVGhlIGZvcm1lciBjb3VsZAorICAgICAgICBhZmZlY3Qg
c2Nyb2xsaW5nIGFuZCB0aGUgbGF0dGVyIGNvdWxkIG5vdC4gIFRoZSBkaXN0aW5jdGlvbiB3YXMg
bGFyZ2VseSBtZWFuaW5nbGVzcywgc2luY2UgbGF5b3V0IG92ZXJmbG93CisgICAgICAgIHdhc24n
dCBhY3R1YWxseSB1c2VkIHRvIGRldGVybWluZSBzY3JvbGwgd2lkdGggb3Igc2Nyb2xsIGhlaWdo
dC4gIEl0IGRpZG4ndCBwcm9wYWdhdGUgYWNyb3NzIHNlbGYtcGFpbnRpbmcgbGF5ZXIKKyAgICAg
ICAgYm91bmRhcmllcyBlaXRoZXIuICBJbiB0aGUgb2xkIGNvZGUsIHRoZSB0ZXJtIHZpc2libGUg
b3ZlcmZsb3cgbWVhbnQgdGhlIHVuaW9uIG9mIHRoZSBsYXlvdXQgb3ZlcmZsb3cgYW5kCisgICAg
ICAgIHZpc3VhbCBvdmVyZmxvdyByZWN0cy4KKworICAgICAgICBJbiB0aGUgbmV3IGNvZGUsIHRo
ZSB0d28gdHlwZXMgb2Ygb3ZlcmZsb3cgcmVtYWluLCBidXQgdGhlIGRpc3RpbmN0aW9uIGJldHdl
ZW4gdGhlIHR3byBpcyBub3cgY2xlYXIuICBWaXN1YWwgb3ZlcmZsb3cKKyAgICAgICAgaXMgdXNl
ZCBwdXJlbHkgZm9yIHBhaW50aW5nIGFuZCBoaXQgdGVzdGluZyBjaGVja3MgYW5kIGxheW91dCBv
dmVyZmxvdyBpcyB1c2VkIHNwZWNpZmljYWxseSBmb3Igc2Nyb2xsaW5nLiAgSXQgaGFzCisgICAg
ICAgIGJlZW4gZXhwYW5kZWQgdG8gcHJvcGFnYXRlIGFjcm9zcyBzZWxmLXBhaW50aW5nIGxheWVy
cywgdG8gZmFjdG9yIGluIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCB0cmFuc2Zvcm1zLCBhbmQg
dG8KKyAgICAgICAgd29yayB3aXRoIHdyaXRpbmcgbW9kZXMuCisKKyAgICAgICAgSW4gb3JkZXIg
dG8gbWluaW1pemUgbGF5b3V0IHRlc3QgY2hhbmdlcywgbGF5ZXJzIG5vIGxvbmdlciBpbmNvcnBv
cmF0ZSByaWdodC9ib3R0b20gb3ZlcmZsb3cgaW50byB0aGVpciB3aWR0aC9oZWlnaHQgbWVtYmVy
cy4KKyAgICAgICAgRG9pbmcgc28gdW5jb3ZlcmVkIHR3byBidWdzIHdoZXJlIGxlZnQvdG9wIG92
ZXJmbG93IHdhcyBpZ25vcmVkIChwcm9vZiB0aGF0IGV2ZW4gaGF2aW5nIGxheWVyIGRpbWVuc2lv
bnMgaXMgaGFybWZ1bCkuCisgICAgICAgIEEgcmVuZGVyIHRyZWUgZHVtcCBoYWNrIGhhcyBiZWVu
IHB1dCBpbnRvIHRoZSBjb2RlIHRvIGtlZXAgdGhpcyBvdmVyZmxvdyBkdW1waW5nIGZvciB0aGUg
UmVuZGVyVmlldydzIGxheWVyLCBzaW5jZSBvdGhlcndpc2UKKyAgICAgICAgYSBodWdlIG51bWJl
ciBvZiB0ZXN0cyB3b3VsZCBjaGFuZ2UuCisKKyAgICAgICAgQWRkZWQgZmFzdC9vdmVyZmxvdy9v
dmVyZmxvdy1ydGwtdmVydGljYWwuaHRtbCB0byB0ZXN0IHZlcnRpY2FsIHdyaXRpbmctbW9kZSBv
dmVyZmxvdy4gIEV4aXN0aW5nIHRlc3RzIGNvdmVyIHRoZSByZXN0LgorCisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGp1c3RWaWV3
U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5h
dGlvbik6CisgICAgICAgIENoYW5nZWQgdG8gdXNlIFJlbmRlclZpZXcncyBkb2NUb3AvTGVmdC9X
aWR0aC9IZWlnaHQgYWNjZXNzb3JzLCB3aGljaCBzaW1wbHkgZ3JhYiB0aGUgb3ZlcmZsb3cgYW5k
IHByb3Blcmx5IGZsaXAgaXQKKyAgICAgICAgdG8gYWNjb3VudCBmb3Igd3JpdGluZyBtb2Rlcy4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkludFJlY3Q6OnNoaWZ0TGVmdEVkZ2VUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRSZWN0
OjpzaGlmdFJpZ2h0RWRnZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNoaWZ0VG9w
RWRnZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNoaWZ0Qm90dG9tRWRnZVRvKToK
KyAgICAgICAgTmV3IGhlbHBlciBmdW5jdGlvbnMgZm9yIHNsaWRpbmcgdGhlIGVkZ2Ugb2YgYSBy
ZWN0YW5nbGUgd2l0aG91dCBtb3ZpbmcgYW55IG9mIHRoZSBvdGhlciB0aHJlZSBlZGdlcy4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUJveDo6ZnJhbWVSZWN0KToKKyAgICAgICAgZnJhbWVSZWN0IGlzIGEgaGVscGVyIGZvciBvYnRh
aW5pbmcgdGhlIHgsIHksIHdpZHRoLCBoZWlnaHQgb2YgYW4gSW5saW5lQm94IGFzIGFuIEludFJl
Y3QuCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24pOgorICAg
ICAgICBBbGwgb2YgdGhlIG92ZXJmbG93IHNldHRpbmcgaW4gdGhlIGlubGluZSBkaXJlY3Rpb24g
aGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoaXMgZnVuY3Rpb24uICBBbGwgbGluZSBvdmVyZmxvdyBp
cyBjb21wdXRlZAorICAgICAgICBhdCBvbmNlIG5vdyBpbiBhIHNpbmdsZSBmdW5jdGlvbjogY29t
cHV0ZU92ZXJmbG93LgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjphZGRCb3hT
aGFkb3dWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94Ojph
ZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0Jv
eDo6YWRkUmVwbGFjZWRDaGlsZE92ZXJmbG93KToKKyAgICAgICAgSGVscGVyIGZvciBwcm9wYWdh
dGluZyBvdmVyZmxvdyBmcm9tIHNwZWNpZmljIHR5cGVzIG9mIGNoaWxkcmVuIHRoYXQgb2NjdXIg
b24gYSBsaW5lIGludG8gdGhlIElubGluZUZsb3dCb3gncyBvdmVyZmxvdy4KKworICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KToKKyAgICAgICAgVGhlIG5l
dyBmdW5jdGlvbiB0aGF0IGNvbXB1dGVzIGJvdGggaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgb3Zl
cmZsb3cgZm9yIGEgbGluZSBib3guCisKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6
OnNldExheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnNl
dFZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnNldE92
ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyk6CisgICAgICAgIE5ldyBmdW5jdGlvbnMgdGhhdCBzZXQg
dGhlIG92ZXJmbG93IGNvbXB1dGVkIGJ5IGNvbXB1dGVPdmVyZmxvdy4gIFRoZXNlIHJlcGxhY2Ug
c2V0QmxvY2tEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucworICAgICAgICBhbmQgc2V0SW5saW5l
RGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMuICBUaGV5IGVzc2VudGlhbGx5IGRvIHRoZSBzYW1l
IHRoaW5nLCBidXQgdGhleSBvcGVyYXRlIG9uIHJlY3RhbmdsZXMuCisKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZUZsb3dCb3g6OnBhaW50KToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdmlzdWFsIG92ZXJmbG93
IGluc3RlYWQgb2YgdmlzaWJsZSBvdmVyZmxvdy4gIChWaXNpYmxlIG92ZXJmbG93IGFzIGEgdW5p
b24gb2YgbGF5b3V0IGFuZCB2aXN1YWwKKyAgICAgICAgb3ZlcmZsb3cgaXMgbm8gbG9uZ2VyIG5l
Y2Vzc2FyeSwgc2luY2UgdmlzdWFsIG92ZXJmbG93IGlzIG5vdyBlcXVpdmFsZW50IHRvIHRoZSBv
bGQgdmlzaWJsZSBvdmVyZmxvdyBjb25jZXB0LikKKworICAgICAgICAqIHJlbmRlcmluZy9Jbmxp
bmVGbG93Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94Ojpsb2dpY2FsTGF5
b3V0T3ZlcmZsb3dSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmxvZ2lj
YWxWaXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICBIZWxwZXJzIGZvciBvYnRhaW5pbmcgbG9n
aWNhbCBvdmVyZmxvdyByZWN0YW5nbGVzLCBzaW5jZSBsaW5lcyBjb21wdXRlIHRoZWlyIG92ZXJm
bG93IGluIGxvZ2ljYWwgdGVybXMgYmVmb3JlCisgICAgICAgIGNvbnZlcnRpbmcgdG8gYmxvY2sg
Y29vcmRpbmF0ZXMgYXQgdGhlIGVuZC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2spOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUZsb2F0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tUG9zaXRpb25lZE9iamVjdHMpOgor
ICAgICAgICBCbG9ja3Mgbm93IGhhdmUgYSBjb21wdXRlT3ZlcmZsb3cgZnVuY3Rpb24gY2FsbGVk
IGF0IHRoZSBlbmQgdGhhdCBhZGRzIGluIGFsbCB0aGUgdHlwZXMgb2Ygb3ZlcmZsb3cuICBUaGUg
YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4KKyAgICAgICAgbWV0aG9kIGlzIHZpcnR1YWwgc28gdGhh
dCBSZW5kZXJMaXN0SXRlbSBhbmQgUmVuZGVyVGFibGUgY2FuIHN1YmNsYXNzIGl0LiAgUmVuZGVy
TGlzdEl0ZW0gaGFzIHRvIHBvc2l0aW9uIGl0cyBsaXN0IG1hcmtlciBhbmQKKyAgICAgICAgcHJv
cGFnYXRlIG1hcmtlciBvdmVyZmxvdyB1cCwgYW5kIFJlbmRlclRhYmxlIGFkZHMgaW4gb3ZlcmZs
b3cgZnJvbSBpdHMgc2VjdGlvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjps
YXlvdXRPbmx5UG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKToKKyAgICAgICAgV2hlbiBvbmx5IHBvc2l0aW9u
ZWQgb2JqZWN0cyBsYXkgb3V0LCBvdmVyZmxvdyBtdXN0IHN0aWxsIGJlIHJlY29tcHV0ZWQuICBU
aGUgcmVmYWN0b3Jpbmcgb2Ygb3ZlcmZsb3cgY29tcHV0YXRpb24gaW50byBhIHNpbmdsZQorICAg
ICAgICBjYWxsYWJsZSBtZXRob2Q6IGNvbXB1dGVPdmVyZmxvdywgbWFrZXMgaXQgcG9zc2libGUg
Zm9yIHRoaXMgdG8gYmUgZG9uZSBlYXNpbHkuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjpwYWludCk6CisgICAgICAgIHZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmhhbmdpbmdGbG9hdHMpOgorICAgICAgICBUaGUgcHJv
cGFnYXRpb24gb2YgZmxvYXQgb3ZlcmZsb3cgaGFzIGNoYW5nZWQgc3Vic3RhbnRpYWxseS4gIFRo
ZSBiYXNpYyBydWxlcyBhcmU6CisgICAgICAgICAgICAoMSkgVGhlIGZsb2F0IG11c3QgYmUgaW4g
b3VyIGZsb2F0aW5nIG9iamVjdHMgbGlzdCB0byBjb250cmlidXRlIHRvIG92ZXJmbG93LgorICAg
ICAgICAgICAgKDIpIFRoZSBmbG9hdCBtdXN0IGJlIGEgZGVzY2VuZGFudCB0byBjb250cmlidXRl
IHRvIG92ZXJmbG93LgorICAgICAgICAgICAgKDMpIFRoZSBibG9jayBtdXN0IGhhdmUgdGhlIG91
dGVybW9zdCBsaXN0IHRoYXQgY29udGFpbnMgdGhlIGZsb2F0LCBvciBpdCBoYXMgYSBzZWxmLXBh
aW50aW5nIGxheWVyIGFuZAorICAgICAgICAgICAgICAgIHNvIHRoZSBmbG9hdCBuZWVkcyB0byBi
ZSBpbmNsdWRlZCBpbiBpdHMgb3ZlcmZsb3cuCisJCQorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6Om5vZGVBdFBvaW50KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRDb2x1bW5zKToKKyAgICAgICAgUmVtb3Zl
IGNvbHVtbiBvdmVyZmxvdyBjb21wdXRhdGlvbiBmcm9tIGxheW91dENvbHVtbnMgYW5kIG1vdmUg
aXQgdG8gY29tcHV0ZU92ZXJmbG93LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
YWRqdXN0TGluZVBvc2l0aW9uRm9yUGFnaW5hdGlvbik6CisgICAgICAgIHZpc2libGUgLT4gdmlz
dWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6c2Nyb2xsYmFyc0NoYW5nZWQpOgorICAgICAgICBBZGRlZCBhIG5l
dyB2aXJ0dWFsIG1ldGhvZCB1c2VkIGJ5IHRhYmxlIGNlbGxzIHdoZW4gc2Nyb2xsYmFycyBpbiBh
biBvdmVyZmxvdzphdXRvL3Njcm9sbCB0YWJsZSBjZWxsIGNvbWUgYW5kIGdvLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmRldGVybWluZVN0YXJ0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJs
b2NrOjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKToKKyAg
ICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2Nyb2xsV2lkdGgpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzY3JvbGxIZWlnaHQpOgorICAgICAgICBQYXRjaGVkIHRv
IHVzZSBsYXlvdXRPdmVyZmxvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiB0aGUgb2xkIHJpZ2h0bW9z
dC9sZWZ0bW9zdFBvc2l0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpwYWludFJvb3RCb3hEZWNvcmF0aW9ucyk6CisgICAgICAgIFVzZSBkb2NMZWZ0IGFuZCBk
b2NUb3AgaGVyZSwgc28gdGhhdCB3cml0aW5nIG1vZGVzIGFyZSBoYW5kbGVkLgorCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAg
ICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
YWRkT3ZlcmZsb3dGcm9tQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRM
YXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFkZFZpc3VhbE92
ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9naWNhbFZpc3VhbE92ZXJm
bG93UmVjdEZvclByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dmlz
dWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94Ojpsb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICBUaGUgbmV3IG92ZXJmbG93
IHN5c3RlbSBmb3IgYm94ZXMuICBMYXlvdXQgb3ZlcmZsb3cgbm93IGNyb3NzZXMgc2VsZi1wYWlu
dGluZyBsYXllciBib3VuZGFyaWVzIGFuZCBhZGp1c3RzIGNoaWxkIGJveGVzCisgICAgICAgIGZv
ciB0cmFuc2Zvcm1zLCByZWxhdGl2ZSBwb3NpdGlvbmluZyBhbmQgd3JpdGluZyBtb2RlIGRpZmZl
cmVuY2VzLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnRvcExheW91dE92ZXJmbG93KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Ym90dG9tTGF5b3V0T3ZlcmZsb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsZWZ0TGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94OjpyaWdodExheW91dE92ZXJmbG93KToKKyAgICAgICAgQ2hhbmdlZCB0
aGUgZGVmYXVsdCByZWN0YW5nbGUgZm9yIGxheW91dCBvdmVyZmxvdyB0byBiZSB0aGUgY2xpZW50
IGJveCB0byBtYXRjaCB0aGUgc2Nyb2xsYWJsZSBhcmVhcyBvZiBvdmVyZmxvdyByZWdpb25zLgor
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNsaWVudExvZ2ljYWxCb3R0b20pOgorICAg
ICAgICBOZXcgaGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIGxvZ2ljYWwgYm90dG9tIG9mIHRoZSBj
bGllbnQgYm94LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNsaWVudEJveFJlY3Qp
OgorICAgICAgICBOZXcgaGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIGNsaWVudExlZnQvVG9wL1dp
ZHRoL0hlaWdodCBib3guCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpyZWxhdGl2ZVBv
c2l0aW9uTG9naWNhbE9mZnNldCk6CisgICAgICAgIEhlbHBlciBmb3Igb2J0YWluaW5nIHRoZSBy
ZWxhdGl2ZSBwb3NpdGlvbiBvZmZzZXQgdHJhbnNwb3NlZCBmb3IgdmVydGljYWwgd3JpdGluZyBt
b2Rlcy4gIFVzZWQgYnkgbGluZSBvdmVyZmxvdy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bGF5b3V0QmxvY2spOgorICAgICAgICBDaGFuZ2VkIGZsZXhpYmxlIGJveGVzIHRvIGp1c3QgY2Fs
bCB0aGUgYmFzZSBjbGFzcyBjb21wdXRlT3ZlcmZsb3cgbWV0aG9kLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlcklubGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbmxpbmU6
OmxpbmVzVmlzdWFsT3ZlcmZsb3dCb3VuZGluZ0JveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KToKKyAgICAgICAgdmlzaWJs
ZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKToKKyAgICAgICAgQ2hhbmdlZCBsYXllcnMgdG8g
bm8gbG9uZ2VyIGluY29ycG9yYXRlIHJpZ2h0L2JvdHRvbSBvdmVyZmxvdyBpbnRvIHdpZHRoL2hl
aWdodC4gIFRoaXMgaXMgdGhlIHJlYXNvbiBtYW55IGxheW91dAorICAgICAgICB0ZXN0cyBjaGFu
Z2UuICAoTm90IGRvaW5nIHRoaXMgbWFrZXMgdGhlIGxheW91dCB0ZXN0IGNoYW5nZXMgZmFyIHdv
cnNlLCBzaW5jZSBvdmVyZmxvdyBwcm9wYWdhdGVzIGFjcm9zcyBzZWxmLXBhaW50aW5nCisgICAg
ICAgIGxheWVycyBub3cuKQorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZs
b3dUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om92ZXJmbG93Qm90dG9tKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpvdmVyZmxvd0xlZnQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om92ZXJmbG93UmlnaHQpOgorICAgICAgICBvdmVyZmxvd1Rv
cC9Cb3R0b20vTGVmdC9SaWdodCByZXR1cm4gb3ZlcmZsb3cgdGhhdCBhY2NvdW50cyBmb3Igd3Jp
dGluZyBtb2RlcywgaS5lLiwgcHVyZWx5IHBoeXNpY2FsIG92ZXJmbG93IHRoYXQgY2FuIGJlIHVz
ZWQKKyAgICAgICAgdG8gc2V0IHVwIHRoZSBzY3JvbGwgYXJlYS4KKworICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKToKKyAgICAgICAgRHJhc3Rp
Y2FsbHkgc2ltcGxpZmllZCB0aGlzIG1ldGhvZCBub3cgdGhhdCBvdmVyZmxvd1RvcC9Cb3R0b20v
TGVmdC9SaWdodCBqdXN0IGRvIHRoZSByaWdodCB0aGluZyByZWdhcmRpbmcgdW5yZWFjaGFibGUg
b3ZlcmZsb3cuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxJ
bmZvQWZ0ZXJMYXlvdXQpOgorICAgICAgICBNYWtlIHN1cmUgdG8gZXhwbGljaXRseSBzZXQgdGhl
IHZlcnRpY2FsIHNjcm9sbGJhcidzIHBvc2l0aW9uIGp1c3QgYXMgd2UgZGlkIHdpdGggaG9yaXpv
bnRhbCBzY3JvbGxiYXJzLCBzbyB0aGF0IGNsYW1waW5nIHRvIHRoZQorICAgICAgICBib3R0b20g
d29ya3MuCisKKyAgICAgICAgKFdlYkNvcmU6OnBlcmZvcm1PdmVybGFwVGVzdHMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIpOgorICAgICAgICBGaXggYSBidWcg
aW4gcGVyZm9ybU92ZXJsYXBUZXN0cy4gIEl0IGluY29ycmVjdGx5IHVzZWQgdGhlIGxheWVyJ3Mg
Ym91bmRzLCBhbmQgc28gaXQgZGlkbid0IGFjY291bnQgZm9yIGxlZnQvdG9wIG92ZXJmbG93IG91
dAorICAgICAgICBvZiB0aGUgbGF5ZXIgKHNlZSB3aHkgSSBoYXRlIGxheWVycyBldmVuIGhhdmlu
ZyBkaW1lbnNpb25zPykuICBDaGFuZ2VkIGl0IHRvIHVzZSB0aGUgYm91bmRpbmcgYm94IG9mIHRo
ZSBsYXllciBpbnN0ZWFkLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVz
dCk6CisgICAgICAgIEZpeCBhIGJ1ZyBpbiBoaXQgdGVzdGluZy4gIEl0IGluY29ycmVjdGx5IHVz
ZWQgdGhlIHJvb3QgbGF5ZXIncyBib3VuZHMgYXMgdGhlIGxpbWl0IG9mIHRoZSBoaXQgdGVzdCwg
YW5kIHNvIGl0IGRpZG4ndCBhY2NvdW50CisgICAgICAgIGZvciBsZWZ0L3RvcCBvdmVyZmxvdyBp
biBhIFNjcm9sbFZpZXcgKGhhdGUgaGF0ZSBoYXRlIGxheWVycyBoYXZpbmcgZGltZW5zaW9ucyku
ICBJIGNoYW5nZWQgaXQgdG8gdXNlIHRoZSBoaXQgdGVzdCByZWN0IGluc3RlYWQsCisgICAgICAg
IHNvIHRoYXQgdGhlIGRhbWFnZSByZWN0IG5ldmVyIHN0b3BzIHRoZSBwb2ludCBmcm9tIGJlaW5n
IHRlc3RlZCAodW5sZXNzIHRoZSBoaXQgdGVzdCByZXF1ZXN0IHNheXMgbm90IHRvIGlnbm9yZSBj
bGlwcGluZykuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpsb2NhbEJvdW5kaW5n
Qm94KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgQWRkZWQgdGhlIG5ldyBvdmVyZmxvd1RvcC9MZWZ0L1Jp
Z2h0L0JvdHRvbSBhY2Nlc3NvcnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZUJv
eExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJ
bnRlcnNlY3RzUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6bGlu
ZUludGVyc2VjdHNEaXJ0eVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExp
c3Q6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCb3hMaXN0OjpoaXRUZXN0
KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGlzdEl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OmFkZE92
ZXJmbG93RnJvbUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RJdGVtOjpw
b3NpdGlvbkxpc3RNYXJrZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5o
OgorICAgICAgICBSZW5kZXJMaXN0SXRlbSBub3cgcG9zaXRpb25zIHRoZSBsaXN0IG1hcmtlciB3
aGVuIGNvbXB1dGluZyBpdHMgb3ZlcmZsb3csIHNpbmNlIHRoZSBtYXJrZXIgcHJvcGFnYXRlcyBv
dmVyZmxvdyBiYWNrIHVwIHRvIHRoZSBsaXN0IGl0ZW0uCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdE1hcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2Vy
OjpwYWludCk6CisgICAgICAgIHZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6
Y29tcHV0ZVBvc2l0aW9uKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2Ugb3ZlcmZsb3cgZnVuY3Rp
b25zIGluc3RlYWQgb2YgcmlnaHRtb3N0L2xvd2VzdFBvc2l0aW9uLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlck1lZGlhLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWEu
aDoKKyAgICAgICAgUmVtb3ZlZCB0aGUgbG93ZXN0L3RvcG1vc3QvcmlnaHRtb3N0L2xlZnRtb3N0
UG9zaXRpb24gZnVuY3Rpb25zLCBzaW5jZSBjb250cm9sIG92ZXJmbG93IGlzIGhhbmRsZWQgcHJv
cGVybHkgYWxyZWFkeS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OlJlbmRlck92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck92ZXJmbG93OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6c2V0VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICBB
ZGQgbmV3IHNldHRlcnMgZm9yIGxheW91dCBhbmQgdmlzdWFsIG92ZXJmbG93IGFzIHJlY3RzLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJSZXBsYWNlZDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICB2aXNp
YmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlSdW46OmxheW91dCk6CisgICAgICAgIENhbGwg
Y29tcHV0ZU92ZXJmbG93IHRvIHJlY29tcHV0ZSBvdXIgb3ZlcmZsb3cgaW5mb3JtYXRpb24gYWZ0
ZXIgd2UgYWRqdXN0IHRoZSBydWJ5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGU6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpwYWludCk6CisJKiByZW5kZXJpbmcvUmVuZGVyVGFibGUu
aDoKKyAgICAgICAgTW92ZSBzZWN0aW9uIG92ZXJmbG93IHByb3BhZ2F0aW9uIGludG8gYWRkT3Zl
cmZsb3dGcm9tQ2hpbGRyZW4sIGFuZCBjaGFuZ2UgUmVuZGVyVGFibGUgdG8ganVzdCBjYWxsIGNv
bXB1dGVPdmVyZmxvdy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjbGlwcGVkT3ZlcmZsb3dSZWN0
Rm9yUmVwYWludCk6CisgICAgICAgIHZpc2libGUgLT4gdmlzdWFsLgorCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZUNlbGw6OnNjcm9sbGJhcnNDaGFuZ2VkKToKKyAgICAgICAgQWRkaW5n
IHVucmVhY2hhYmxlIG92ZXJmbG93IHN1cHBvcnQgKHNvbWV0aGluZyB0aGF0IGluIHRoZSBvbGQg
Y29kZSBvbmx5IGV4aXN0ZWQgZm9yIHBvc2l0aW9uZWQgb2JqZWN0cyBpbiB0aGUgcm9vdCB2aWV3
KSBleHBvc2VkCisgICAgICAgIGEgYnVnIGluIHRhYmxlIGxheW91dC4gIElmIHNjcm9sbGJhcnMg
YXJlIGFkZGVkIGR1cmluZyB0aGUgbGF5b3V0IHRoYXQgb2NjdXJzIGFmdGVyIGludHJpbnNpYyBw
YWRkaW5nIHdhcyBpbmNvcnBvcmF0ZWQgaW50byB0aGUKKyAgICAgICAgY2VsbCwgdGhlbiB0aGUg
Y2VsbCB3b24ndCBsYXkgb3V0IHByb3Blcmx5IHRoZSBzZWNvbmQgdGltZSAoYWZ0ZXIgdGhlIHNj
cm9sbGJhcnMgaGF2ZSBiZWVuIGFkZGVkKS4gIFdlIGhhdmUgdG8gYWRqdXN0IHRoZSBpbnRyaW5z
aWMKKyAgICAgICAgcGFkZGluZyBhY2NvdW50aW5nIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIG5l
dyBzY3JvbGxiYXIgc28gdGhlIHNlY29uZCBsYXlvdXQgd2lsbCBnZXQgdGhlIHJpZ2h0IGRpbWVu
c2lvbnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6Omhhc1Zpc3VhbE92ZXJmbG93KToKKyAgICAgICAg
dmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93
cyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgorICAgICAgICB2
aXNpYmxlIC0+IHZpc3VhbC4gIFJlbW92ZWQgdGhlIGxlZnRtb3N0L3JpZ2h0bW9zdC90b3Btb3N0
L2JvdHRvbW1vc3RQb3NpdGlvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZUxheWVycyk6CisgICAg
ICAgIEFkZGVkIGEgaGFjayB0byByZW5kZXIgdHJlZSBkdW1waW5nIHRvIGluY2x1ZGUgcmlnaHQv
Ym90dG9tIG92ZXJmbG93IGZvciB0aGUgcm9vdCBsYXllciBvbmx5LiAgVGhpcyBrZWVwcyBhIHpp
bGxpb24gbGF5b3V0IHRlc3RzCisgICAgICAgIGZyb20gZmFpbGluZy4KKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Omxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NUb3ApOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9jQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clZpZXc6OmRvY0xlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9jUmlnaHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJWaWV3Ojpkb2NIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6ZG9j
V2lkdGgpOgorICAgICAgICBSZW5kZXJWaWV3IG5vdyB1c2VzIGRvY0xlZnQvVG9wL0hlaWdodC9X
aWR0aCBmdW5jdGlvbnMsIHdoaWNoIGFyZSBqdXN0IG92ZXJmbG93IHF1ZXJpZXMgdGhhdCBhY2Nv
dW50IGZvciB3cml0aW5nIG1vZGVzLiAgVGhlc2UgbWV0aG9kcworICAgICAgICBhcmUgbm93IHRo
ZSBwcmVmZXJyZWQgd2F5IHRvIHF1ZXJ5IGZvciB0aGUgcGh5c2ljYWwgZGltZW5zaW9ucyBvZiBh
IGRvY3VtZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRkSGlnaGxpZ2h0T3ZlcmZsb3cpOgorICAg
ICAgICBDaGFuZ2VkIHRvIGNhbGwgc2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzIGluc3RlYWQg
b2YgdGhlIGJsb2NrL2lubGluZSBwb3NpdGlvbiBmdW5jdGlvbnMuCisKKyAgICAgICAgKFdlYkNv
cmU6OlJvb3RJbmxpbmVCb3g6OmFsaWduQm94ZXNJbkJsb2NrRGlyZWN0aW9uKToKKyAgICAgICAg
UmVtb3ZlIHRoZSBjb21wdXRhdGlvbiBvZiBibG9jayBkaXJlY3Rpb24gb3ZlcmZsb3csIHNpbmNl
IGl0IG5vdyBhbGwgaGFwcGVucyBhdCBvbmNlIGFmdGVyIHRoZSBsaW5lIGlzIGJ1aWx0LgorCisg
ICAgICAgIChXZWJDb3JlOjpSb290SW5saW5lQm94OjpwYWRkZWRMYXlvdXRPdmVyZmxvd1JlY3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5saW5lQm94Lmg6CisgICAgICAgIEFkZGVkIGEg
bmV3IGhlbHBlciBmdW5jdGlvbiBmb3IgaW5jb3Jwb3JhdGluZyB0aGUgZW5kIHBhZGRpbmcgaW50
byBhIGxpbmUuICBUaGlzIGVuZCBwYWRkaW5nIGFsc28gaW5jbHVkZXMgdGhlIHNpbmdsZSBwaXhl
bCBmb3IgYSBjYXJldAorICAgICAgICBpbiBMVFIgaWYgbmVlZGVkLgorCiAyMDEwLTEyLTA1ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBS
dW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24g
NzMzMzQpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDM1LDkgKzQzNSw5IEBAIHZvaWQgRnJhbWVWaWV3OjphZGp1c3RWaWV3U2l6ZSgpCiAgICAgaWYg
KCFyb290KQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRTaXplIHNpemUgPSBJbnRTaXplKHJv
b3QtPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIHJvb3QtPmxlZnRMYXlvdXRPdmVyZmxvdygpLCBy
b290LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpIC0gcm9vdC0+dG9wTGF5b3V0T3ZlcmZsb3coKSk7
CisgICAgSW50U2l6ZSBzaXplID0gSW50U2l6ZShyb290LT5kb2NXaWR0aCgpLCByb290LT5kb2NI
ZWlnaHQoKSk7CiAKLSAgICBTY3JvbGxWaWV3OjpzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQoLXJv
b3QtPmxlZnRMYXlvdXRPdmVyZmxvdygpLCAtcm9vdC0+dG9wTGF5b3V0T3ZlcmZsb3coKSksIHNp
emUgPT0gY29udGVudHNTaXplKCkpOworICAgIFNjcm9sbFZpZXc6OnNldFNjcm9sbE9yaWdpbihJ
bnRQb2ludCgtcm9vdC0+ZG9jTGVmdCgpLCAtcm9vdC0+ZG9jVG9wKCkpLCBzaXplID09IGNvbnRl
bnRzU2l6ZSgpKTsKICAgICAKICAgICBzZXRDb250ZW50c1NpemUoc2l6ZSk7CiB9CkBAIC0yMjM5
LDE1ICsyMjM5LDE1IEBAIHZvaWQgRnJhbWVWaWV3Ojpmb3JjZUxheW91dEZvclBhZ2luYXRpb24K
ICAgICAgICAgLy8gcGFnZSB3aWR0aCB3aGVuIHNocnVuaywgd2Ugd2lsbCBsYXkgb3V0IGF0IG1h
eGltdW0gc2hyaW5rIGFuZCBjbGlwIGV4dHJhIGNvbnRlbnQuCiAgICAgICAgIC8vIEZJWE1FOiBX
ZSBhcmUgYXNzdW1pbmcgYSBzaHJpbmstdG8tZml0IHByaW50aW5nIGltcGxlbWVudGF0aW9uLiAg
QSBjcm9wcGluZwogICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGRvIHRoaXMh
Ci0gICAgICAgIGludCByaWdodG1vc3RQb3MgPSByb290LT5yaWdodG1vc3RQb3NpdGlvbigpOwot
ICAgICAgICBpZiAocmlnaHRtb3N0UG9zID4gcGFnZVNpemUud2lkdGgoKSkgewotICAgICAgICAg
ICAgcGFnZVcgPSBzdGQ6Om1pbjxpbnQ+KHJpZ2h0bW9zdFBvcywgY2VpbGYocGFnZVNpemUud2lk
dGgoKSAqIG1heGltdW1TaHJpbmtGYWN0b3IpKTsKKyAgICAgICAgaW50IGRvY1dpZHRoID0gcm9v
dC0+ZG9jV2lkdGgoKTsKKyAgICAgICAgaWYgKGRvY1dpZHRoID4gcGFnZVNpemUud2lkdGgoKSkg
eworICAgICAgICAgICAgcGFnZVcgPSBzdGQ6Om1pbjxpbnQ+KGRvY1dpZHRoLCBjZWlsZihwYWdl
U2l6ZS53aWR0aCgpICogbWF4aW11bVNocmlua0ZhY3RvcikpOwogICAgICAgICAgICAgaWYgKHBh
Z2VTaXplLmhlaWdodCgpKQogICAgICAgICAgICAgICAgIHJvb3QtPnNldFBhZ2VIZWlnaHQocGFn
ZVcgLyBwYWdlU2l6ZS53aWR0aCgpICogcGFnZVNpemUuaGVpZ2h0KCkpOwogICAgICAgICAgICAg
cm9vdC0+c2V0V2lkdGgocGFnZVcpOwogICAgICAgICAgICAgcm9vdC0+c2V0TmVlZHNMYXlvdXRB
bmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgICAgICBmb3JjZUxheW91dCgpOwotICAgICAg
ICAgICAgaW50IGRvY0hlaWdodCA9IHJvb3QtPmJvdHRvbUxheW91dE92ZXJmbG93KCk7CisgICAg
ICAgICAgICBpbnQgZG9jSGVpZ2h0ID0gcm9vdC0+ZG9jSGVpZ2h0KCk7CiAgICAgICAgICAgICBy
b290LT5jbGVhckxheW91dE92ZXJmbG93KCk7CiAgICAgICAgICAgICByb290LT5hZGRMYXlvdXRP
dmVyZmxvdyhJbnRSZWN0KDAsIDAsIHBhZ2VXLCBkb2NIZWlnaHQpKTsgLy8gVGhpcyBpcyBob3cg
d2UgY2xpcCBpbiBjYXNlIHdlIG92ZXJmbG93IGFnYWluLgogICAgICAgICB9CkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDYgKzExNywy
OSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmUoY29uc3QgSW50U2l6ZSYgcykgeyBtX2xvY2F0
aW9uICs9IHM7IH0gCiAgICAgdm9pZCBtb3ZlKGludCBkeCwgaW50IGR5KSB7IG1fbG9jYXRpb24u
bW92ZShkeCwgZHkpOyB9IAorICAgIAorICAgIHZvaWQgc2hpZnRMZWZ0RWRnZVRvKGludCBlZGdl
KQorICAgIHsKKyAgICAgICAgaW50IGRlbHRhID0gZWRnZSAtIHgoKTsKKyAgICAgICAgc2V0WChl
ZGdlKTsKKyAgICAgICAgc2V0V2lkdGgoc3RkOjptYXgoMCwgd2lkdGgoKSAtIGRlbHRhKSk7Cisg
ICAgfQorICAgIHZvaWQgc2hpZnRSaWdodEVkZ2VUbyhpbnQgZWRnZSkKKyAgICB7CisgICAgICAg
IGludCBkZWx0YSA9IGVkZ2UgLSByaWdodCgpOworICAgICAgICBzZXRXaWR0aChzdGQ6Om1heCgw
LCB3aWR0aCgpICsgZGVsdGEpKTsKKyAgICB9CisgICAgdm9pZCBzaGlmdFRvcEVkZ2VUbyhpbnQg
ZWRnZSkKKyAgICB7CisgICAgICAgIGludCBkZWx0YSA9IGVkZ2UgLSB5KCk7CisgICAgICAgIHNl
dFkoZWRnZSk7CisgICAgICAgIHNldEhlaWdodChzdGQ6Om1heCgwLCBoZWlnaHQoKSAtIGRlbHRh
KSk7CisgICAgfQorICAgIHZvaWQgc2hpZnRCb3R0b21FZGdlVG8oaW50IGVkZ2UpCisgICAgewor
ICAgICAgICBpbnQgZGVsdGEgPSBlZGdlIC0gYm90dG9tKCk7CisgICAgICAgIHNldEhlaWdodChz
dGQ6Om1heCgwLCBoZWlnaHQoKSArIGRlbHRhKSk7CisgICAgfQogCiAgICAgYm9vbCBpbnRlcnNl
Y3RzKGNvbnN0IEludFJlY3QmKSBjb25zdDsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IEludFJl
Y3QmKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3MzMzNCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsNiAr
MjMzLDggQEAgcHVibGljOgogICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpv
bnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KICAgICBpbnQgaGVp
Z2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0KCkgOiBs
b2dpY2FsV2lkdGgoKTsgfQogCisgICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJldHVy
biBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKwogICAgIC8vIFRoZSBs
b2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBh
IGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KICAg
ICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6
IG1feTsgfQogICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVm
dCgpICsgbG9naWNhbFdpZHRoKCk7IH0KQEAgLTI2NSw3ICsyNjcsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlKSBj
b25zdCB7IHJldHVybiBib3hNb2RlbE9iamVjdCgpLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5l
VHlwZSwgbV9maXJzdExpbmUsIGlzSG9yaXpvbnRhbCgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0
aWNhbExpbmUsIFBvc2l0aW9uT25Db250YWluaW5nTGluZSk7IH0KICAgICB2aXJ0dWFsIGludCBs
aW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gYm94TW9kZWxPYmplY3QoKS0+bGluZUhlaWdodCht
X2ZpcnN0TGluZSwgaXNIb3Jpem9udGFsKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGlu
ZSwgUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKTsgfQogICAgIAotCiAgICAgdmlydHVhbCBpbnQg
Y2FyZXRNaW5PZmZzZXQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCBjYXJldE1heE9mZnNldCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNldCgpIGNv
bnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI1OSwxOCArMjU5LDcgQEAgaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGlu
ZURpcgogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVmdChs
b2dpY2FsTGVmdCk7Ci0KLSAgICBpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdyA9IGxvZ2lj
YWxMZWZ0OwotICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IGxvZ2ljYWxMZWZ0
OwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0gICAg
aW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbG9naWNhbExlZnQ7Ci0KLSAgICBpbnQg
Ym94U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKLSAg
ICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVj
dGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsK
LQotICAgIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBib3hT
aGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0KKyAgCiAgICAg
aW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKICAgICBsb2dpY2FsTGVmdCArPSBi
b3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxMZWZ0KCk7CiAgICAgCkBAIC0yODQs
MzAgKzI3Myw2IEBAIGludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAg
ICAgICAgICAgICAgICBuZWVkc1dvcmRTcGFjaW5nID0gIWlzU3BhY2VPck5ld2xpbmUocnQtPmNo
YXJhY3RlcnMoKVt0ZXh0LT5lbmQoKV0pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGV4
dC0+c2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgp
LT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAg
Ly8gSWYgbGV0dGVyLXNwYWNpbmcgaXMgbmVnYXRpdmUsIHdlIHNob3VsZCBmYWN0b3IgdGhhdCBp
bnRvIHJpZ2h0IGxheW91dCBvdmVyZmxvdy4gKEV2ZW4gaW4gUlRMLCBsZXR0ZXItc3BhY2luZyBp
cwotICAgICAgICAgICAgLy8gYXBwbGllZCB0byB0aGUgcmlnaHQsIHNvIHRoaXMgaXMgbm90IGFu
IGlzc3VlIHdpdGggbGVmdCBvdmVyZmxvdy4KLSAgICAgICAgICAgIGludCBsZXR0ZXJTcGFjaW5n
ID0gbWluKDAsIChpbnQpcnQtPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmxldHRlclNwYWNp
bmcoKSk7Ci0gICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyA9IG1heChsb2dp
Y2FsTGVmdCArIHRleHQtPmxvZ2ljYWxXaWR0aCgpIC0gbGV0dGVyU3BhY2luZywgbG9naWNhbFJp
Z2h0TGF5b3V0T3ZlcmZsb3cpOwotCi0gICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcDo6aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHN0YXRpY19jYXN0
PElubGluZVRleHRCb3gqPihjdXJyKSk7Ci0gICAgICAgICAgICBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93ID0gaXQgPT0gdGV4dEJveERhdGFNYXAuZW5kKCkgPyAwIDogJml0LT5zZWNvbmQu
c2Vjb25kOwotCi0gICAgICAgICAgICBpbnQgbG9naWNhbExlZnRHbHlwaE92ZXJmbG93ID0gLXN0
cm9rZU92ZXJmbG93IC0gKGdseXBoT3ZlcmZsb3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMCk7
Ci0gICAgICAgICAgICBpbnQgbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdyA9IHN0cm9rZU92ZXJm
bG93IC0gbGV0dGVyU3BhY2luZyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmln
aHQgOiAwKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsTGVmdCA9IGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdzsKLSAgICAgICAgICAgIGludCBjaGls
ZE92ZXJmbG93TG9naWNhbFJpZ2h0ID0gbG9naWNhbFJpZ2h0R2x5cGhPdmVyZmxvdzsKLSAgICAg
ICAgICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7Ci0gICAgICAgICAgICBpbnQgdGV4dFNo
YWRvd0xvZ2ljYWxSaWdodDsKLSAgICAgICAgICAgIHJ0LT5zdHlsZShtX2ZpcnN0TGluZSktPmdl
dFRleHRTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxMZWZ0LCB0
ZXh0U2hhZG93TG9naWNhbFJpZ2h0KTsKLSAgICAgICAgICAgIGNoaWxkT3ZlcmZsb3dMb2dpY2Fs
TGVmdCA9IG1pbihjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIHRleHRTaGFkb3dMb2dpY2FsTGVm
dCArIGxvZ2ljYWxMZWZ0R2x5cGhPdmVyZmxvdyk7Ci0gICAgICAgICAgICBjaGlsZE92ZXJmbG93
TG9naWNhbFJpZ2h0ID0gbWF4KGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIHRleHRTaGFkb3dM
b2dpY2FsUmlnaHQgKyBsb2dpY2FsUmlnaHRHbHlwaE92ZXJmbG93KTsKLSAgICAgICAgICAgIGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyBjaGlsZE92ZXJmbG93
TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAgbG9n
aWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyB0ZXh0LT5sb2dpY2Fs
V2lkdGgoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gdGV4dC0+
bG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoY3Vyci0+
cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpIHsKQEAgLTMyNSwxMCArMjkwLDYgQEAgaW50IElu
bGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcgogICAgICAgICAgICAgICAgIGxvZ2lj
YWxMZWZ0ICs9IGZsb3ctPm1hcmdpbkxvZ2ljYWxMZWZ0KCk7CiAgICAgICAgICAgICAgICAgbG9n
aWNhbExlZnQgPSBmbG93LT5wbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24obG9naWNhbExlZnQs
IG5lZWRzV29yZFNwYWNpbmcsIHRleHRCb3hEYXRhTWFwKTsKICAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSBmbG93LT5tYXJnaW5Mb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAgICBs
b2dpY2FsTGVmdExheW91dE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cs
IGZsb3ctPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICAgICAgbG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cs
IGZsb3ctPmxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KCkpOwotICAgICAgICAgICAgICAgIGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywg
Zmxvdy0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgICAgICAgICBsb2dp
Y2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdywg
Zmxvdy0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CiAgICAgICAgICAgICB9IGVsc2Ug
aWYgKCFjdXJyLT5yZW5kZXJlcigpLT5pc0xpc3RNYXJrZXIoKSB8fCB0b1JlbmRlckxpc3RNYXJr
ZXIoY3Vyci0+cmVuZGVyZXIoKSktPmlzSW5zaWRlKCkpIHsKICAgICAgICAgICAgICAgICAvLyBU
aGUgYm94IGNhbiBoYXZlIGEgZGlmZmVyZW50IHdyaXRpbmctbW9kZSB0aGFuIHRoZSBvdmVyYWxs
IGxpbmUsIHNvIHRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQuCiAgICAgICAgICAgICAgICAgLy8g
SnVzdCBnZXQgYWxsIHRoZSBwaHlzaWNhbCBtYXJnaW4gYW5kIG92ZXJmbG93IHZhbHVlcyBieSBo
YW5kIGJhc2VkIG9mZiB8aXNWZXJ0aWNhbHwuCkBAIC0zMzcsMTggKzI5OCw2IEBAIGludCBJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBsb2dpY2FsTGVmdE1hcmdpbjsKICAgICAgICAgICAg
ICAgICBjdXJyLT5zZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3goY3Vy
ci0+cmVuZGVyZXIoKSk7Ci0KLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxMZWZ0ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IDAgOiAoaXNIb3Jpem9udGFsKCkgPyBi
b3gtPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm94LT50b3BMYXlvdXRPdmVyZmxvdygpKTsKLSAg
ICAgICAgICAgICAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCA9IGJveC0+aGFzT3Zl
cmZsb3dDbGlwKCkgPyBjdXJyLT5sb2dpY2FsV2lkdGgoKSA6IChpc0hvcml6b250YWwoKSA/IGJv
eC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm94LT5ib3R0b21MYXlvdXRPdmVyZmxvdygpKTsK
LSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExheW91dE92ZXJm
bG93ID0gbWluKGxvZ2ljYWxMZWZ0ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2Fs
TGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRMYXlvdXRP
dmVyZmxvdyA9IG1heChsb2dpY2FsTGVmdCArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxv
Z2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0
VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gt
PmxlZnRWaXN1YWxPdmVyZmxvdygpIDogYm94LT50b3BWaXN1YWxPdmVyZmxvdygpKSwgbG9naWNh
bExlZnRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFs
T3ZlcmZsb3cgPSBtYXgobG9naWNhbExlZnQgKyAoaXNIb3Jpem9udGFsKCkgPyBib3gtPnJpZ2h0
VmlzdWFsT3ZlcmZsb3coKSA6IGJveC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSksIGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGxv
Z2ljYWxMZWZ0ICs9IGN1cnItPmxvZ2ljYWxXaWR0aCgpICsgbG9naWNhbFJpZ2h0TWFyZ2luOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zNTYsMTAgKzMwNSw2IEBAIGludCBJbmxpbmVG
bG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXIKIAogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRl
ckxvZ2ljYWxSaWdodCgpICsgcGFkZGluZ0xvZ2ljYWxSaWdodCgpOwogICAgIHNldExvZ2ljYWxX
aWR0aChsb2dpY2FsTGVmdCAtIHN0YXJ0TG9naWNhbExlZnQpOwotICAgIGxvZ2ljYWxSaWdodFZp
c3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxMZWZ0ICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBs
b2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7Ci0gICAgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZs
b3cgPSBtYXgobG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93KTsKLQotICAg
IHNldElubGluZURpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKGxvZ2ljYWxMZWZ0TGF5b3V0T3Zl
cmZsb3csIGxvZ2ljYWxSaWdodExheW91dE92ZXJmbG93LCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93LCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk7CiAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0
OwogfQogCkBAIC03NDMsMzIgKzY4OCwxMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpmbGlwTGlu
ZXNJbkJsb2NrRGlyZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlQmxv
Y2tEaXJlY3Rpb25PdmVyZmxvdyhpbnQgbGluZVRvcCwgaW50IGxpbmVCb3R0b20sIGJvb2wgc3Ry
aWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFw
KQordm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdmVyZmxvdyhJbnRSZWN0
JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCiB7CisgICAgaWYgKCFwYXJlbnQoKSkKKyAgICAgICAg
cmV0dXJuOyAvLyBCb3gtc2hhZG93IGRvZXNuJ3QgYXBwbHkgdG8gcm9vdCBsaW5lIGJveGVzLgor
CisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxUb3A7CisgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxC
b3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dC
bG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsVG9wLCBib3hTaGFkb3dMb2dpY2Fs
Qm90dG9tKTsKKyAgICAKKyAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0gbWluKGxv
Z2ljYWxUb3AoKSArIGJveFNoYWRvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy55
KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbEJv
dHRvbSgpICsgYm94U2hhZG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93LmJv
dHRvbSgpKTsKKyAgICAKKyAgICBpbnQgYm94U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50IGJv
eFNoYWRvd0xvZ2ljYWxSaWdodDsKKyAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSkt
PmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwg
Ym94U2hhZG93TG9naWNhbFJpZ2h0KTsKKworICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZp
c3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0g
bWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3cucmlnaHQoKSk7CisgICAgCisgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50
UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxP
dmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7Cit9CisKK3ZvaWQgSW5saW5lRmxv
d0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KGNvbnN0IElubGluZVRleHRCb3gqIHRleHRC
b3gsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCwgSW50
UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93KQoreworICAgIGludCBzdHJva2VPdmVyZmxvdyA9
IHN0YXRpY19jYXN0PGludD4oY2VpbGYocmVuZGVyZXIoKS0+c3R5bGUoKS0+dGV4dFN0cm9rZVdp
ZHRoKCkgLyAyLjBmKSk7CisKKyAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcDo6
aXRlcmF0b3IgaXQgPSB0ZXh0Qm94RGF0YU1hcC5maW5kKHRleHRCb3gpOworICAgIEdseXBoT3Zl
cmZsb3cqIGdseXBoT3ZlcmZsb3cgPSBpdCA9PSB0ZXh0Qm94RGF0YU1hcC5lbmQoKSA/IDAgOiAm
aXQtPnNlY29uZC5zZWNvbmQ7CisKICAgICBib29sIGlzRmxpcHBlZExpbmUgPSByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKTsKIAotICAg
IGludCBib3hIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IHRvcEdseXBoRWRnZSA9
IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA6
IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOworICAgIGludCBib3R0b21HbHlwaEVkZ2UgPSBnbHlw
aE92ZXJmbG93ID8gKGlzRmxpcHBlZExpbmUgPyBnbHlwaE92ZXJmbG93LT50b3AgOiBnbHlwaE92
ZXJmbG93LT5ib3R0b20pIDogMDsKKyAgICBpbnQgbGVmdEdseXBoRWRnZSA9IGdseXBoT3ZlcmZs
b3cgPyBnbHlwaE92ZXJmbG93LT5sZWZ0IDogMDsKKyAgICBpbnQgcmlnaHRHbHlwaEVkZ2UgPSBn
bHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+cmlnaHQgOiAwOworICAgIAorICAgIGludCB0
b3BHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gdG9wR2x5cGhFZGdlOworICAgIGlu
dCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyBib3R0b21HbHlwaEVkZ2U7
CisgICAgaW50IGxlZnRHbHlwaE92ZXJmbG93ID0gLXN0cm9rZU92ZXJmbG93IC0gbGVmdEdseXBo
RWRnZTsKKyAgICBpbnQgcmlnaHRHbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cgKyByaWdo
dEdseXBoRWRnZTsKKworICAgIC8vIElmIGxldHRlci1zcGFjaW5nIGlzIG5lZ2F0aXZlLCB3ZSBz
aG91bGQgZmFjdG9yIHRoYXQgaW50byByaWdodCBsYXlvdXQgb3ZlcmZsb3cuIChFdmVuIGluIFJU
TCwgbGV0dGVyLXNwYWNpbmcgaXMKKyAgICAvLyBhcHBsaWVkIHRvIHRoZSByaWdodCwgc28gdGhp
cyBpcyBub3QgYW4gaXNzdWUgd2l0aCBsZWZ0IG92ZXJmbG93LgorICAgIGludCBsZXR0ZXJTcGFj
aW5nID0gbWluKDAsIChpbnQpcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCku
bGV0dGVyU3BhY2luZygpKTsKKyAgICByaWdodEdseXBoT3ZlcmZsb3cgLT0gbGV0dGVyU3BhY2lu
ZzsKKworICAgIGludCB0ZXh0U2hhZG93TG9naWNhbFRvcDsKKyAgICBpbnQgdGV4dFNoYWRvd0xv
Z2ljYWxCb3R0b207CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRUZXh0
U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd0xvZ2ljYWxUb3AsIHRleHRTaGFk
b3dMb2dpY2FsQm90dG9tKTsKKyAgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3Ag
PSBtaW4odGV4dFNoYWRvd0xvZ2ljYWxUb3AgKyB0b3BHbHlwaE92ZXJmbG93LCB0b3BHbHlwaE92
ZXJmbG93KTsKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20gPSBtYXgodGV4dFNo
YWRvd0xvZ2ljYWxCb3R0b20gKyBib3R0b21HbHlwaE92ZXJmbG93LCBib3R0b21HbHlwaE92ZXJm
bG93KTsKKyAgIAorICAgIGludCB0ZXh0U2hhZG93TG9naWNhbExlZnQ7CisgICAgaW50IHRleHRT
aGFkb3dMb2dpY2FsUmlnaHQ7CisgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5n
ZXRUZXh0U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KHRleHRTaGFkb3dMb2dpY2FsTGVmdCwg
dGV4dFNoYWRvd0xvZ2ljYWxSaWdodCk7CisgICAKKyAgICBpbnQgY2hpbGRPdmVyZmxvd0xvZ2lj
YWxMZWZ0ID0gbWluKHRleHRTaGFkb3dMb2dpY2FsTGVmdCArIGxlZnRHbHlwaE92ZXJmbG93LCBs
ZWZ0R2x5cGhPdmVyZmxvdyk7CisgICAgaW50IGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQgPSBt
YXgodGV4dFNoYWRvd0xvZ2ljYWxSaWdodCArIHJpZ2h0R2x5cGhPdmVyZmxvdywgcmlnaHRHbHlw
aE92ZXJmbG93KTsKKworICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4
dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1
YWxPdmVyZmxvdy55KCkpOworICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBt
YXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20s
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5ib3R0b20oKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0Vmlz
dWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZsb3dM
b2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsgY2hpbGRP
dmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnJpZ2h0KCkpOworICAg
IAorICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZp
c3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlz
dWFsT3ZlcmZsb3cpOworfQorCit2b2lkIElubGluZUZsb3dCb3g6OmFkZFJlcGxhY2VkQ2hpbGRP
dmVyZmxvdyhjb25zdCBJbmxpbmVCb3gqIGlubGluZUJveCwgSW50UmVjdCYgbG9naWNhbExheW91
dE92ZXJmbG93LCBJbnRSZWN0JiBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpCit7CisgICAgUmVuZGVy
Qm94KiBib3ggPSB0b1JlbmRlckJveChpbmxpbmVCb3gtPnJlbmRlcmVyKCkpOworICAgIAorICAg
IC8vIFZpc3VhbCBvdmVyZmxvdyBvbmx5IHByb3BhZ2F0ZXMgaWYgdGhlIGJveCBkb2Vzbid0IGhh
dmUgYSBzZWxmLXBhaW50aW5nIGxheWVyLiAgVGhpcyByZWN0YW5nbGUgZG9lcyBub3QgaW5jbHVk
ZQorICAgIC8vIHRyYW5zZm9ybXMgb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgKHNpbmNlIHRob3Nl
IG9iamVjdHMgYWx3YXlzIGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMpLCBidXQgaXQgZG9lcyBu
ZWVkIHRvIGJlIGFkanVzdGVkCisgICAgLy8gZm9yIHdyaXRpbmctbW9kZSBkaWZmZXJlbmNlcy4K
KyAgICBpZiAoIWJveC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICBJbnRSZWN0
IGNoaWxkTG9naWNhbFZpc3VhbE92ZXJmbG93ID0gYm94LT5sb2dpY2FsVmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CisgICAgICAgIGNoaWxkTG9n
aWNhbFZpc3VhbE92ZXJmbG93Lm1vdmUoaW5saW5lQm94LT5sb2dpY2FsTGVmdCgpLCBpbmxpbmVC
b3gtPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy51bml0ZShj
aGlsZExvZ2ljYWxWaXN1YWxPdmVyZmxvdyk7CisgICAgfQorCisgICAgLy8gTGF5b3V0IG92ZXJm
bG93IGludGVybmFsIHRvIHRoZSBjaGlsZCBib3ggb25seSBwcm9wYWdhdGVzIGlmIHRoZSBjaGls
ZCBib3ggZG9lc24ndCBoYXZlIG92ZXJmbG93IGNsaXAgc2V0LgorICAgIC8vIE90aGVyd2lzZSB0
aGUgY2hpbGQgYm9yZGVyIGJveCBwcm9wYWdhdGVzIGFzIGxheW91dCBvdmVyZmxvdy4gIFRoaXMg
cmVjdGFuZ2xlIG11c3QgaW5jbHVkZSB0cmFuc2Zvcm1zIGFuZCByZWxhdGl2ZSBwb3NpdGlvbmlu
ZworICAgIC8vIGFuZCBiZSBhZGp1c3RlZCBmb3Igd3JpdGluZy1tb2RlIGRpZmZlcmVuY2VzLgor
ICAgIEludFJlY3QgY2hpbGRMb2dpY2FsTGF5b3V0T3ZlcmZsb3cgPSBib3gtPmxvZ2ljYWxMYXlv
dXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihyZW5kZXJlcigpLT5zdHlsZSgpKTsKKyAgICBj
aGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdy5tb3ZlKGlubGluZUJveC0+bG9naWNhbExlZnQoKSwg
aW5saW5lQm94LT5sb2dpY2FsVG9wKCkpOworICAgIGxvZ2ljYWxMYXlvdXRPdmVyZmxvdy51bml0
ZShjaGlsZExvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7Cit9CiAKK3ZvaWQgSW5saW5lRmxvd0JveDo6
Y29tcHV0ZU92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBzdHJpY3RN
b2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCit7
CiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhlIGxpbmUgdG9wIGFuZCBib3R0b20g
aXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0IGlnbm9yZSB0aGlzLCBzaW5jZSBp
dCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91ciBhc2NlbnQvZGVzY2VudCBkb24n
dCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgogICAgIGludCB0b3BPdmVyZmxvdyA9IG1heChsb2dp
Y2FsVG9wKCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihsb2dpY2Fs
VG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOwotICAgIAotICAgIGludCB0b3BMYXlvdXRP
dmVyZmxvdyA9IHRvcE92ZXJmbG93OwotICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdyA9IGJv
dHRvbU92ZXJmbG93OworICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1pbihsb2dpY2FsQm90dG9t
KCksIGxpbmVCb3R0b20pOwogICAgIAotICAgIGludCB0b3BWaXN1YWxPdmVyZmxvdyA9IHRvcE92
ZXJmbG93OwotICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9IGJvdHRvbU92ZXJmbG93Owor
ICAgIC8vIFZpc3VhbCBvdmVyZmxvdyBqdXN0IGluY2x1ZGVzIG92ZXJmbG93IGZvciBzdHVmZiB3
ZSBuZWVkIHRvIHJlcGFpbnQgb3Vyc2VsdmVzLiAgU2VsZi1wYWludGluZyBsYXllcnMgYXJlIGln
bm9yZWQuCisgICAgLy8gTGF5b3V0IG92ZXJmbG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHNjcm9s
bGluZyBleHRlbnQsIHNvIGl0IHN0aWxsIGluY2x1ZGVzIGNoaWxkIGxheWVycyBhbmQgYWxzbyBm
YWN0b3JzIGluCisgICAgLy8gdHJhbnNmb3JtcywgcmVsYXRpdmUgcG9zaXRpb25pbmcsIGV0Yy4K
KyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhsb2dpY2FsTGVmdCgpLCB0b3BPdmVy
ZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cpOworICAg
IEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7CiAg
IAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9vdCBsaW5lIGJveGVzIGlzIGFwcGx5aW5nIHRvIHRo
ZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5lcy4KLSAgICBpZiAocGFyZW50KCkpIHsKLSAgICAg
ICAgaW50IGJveFNoYWRvd1RvcDsKLSAgICAgICAgaW50IGJveFNoYWRvd0JvdHRvbTsKLSAgICAg
ICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9ja0RpcmVj
dGlvbkV4dGVudChib3hTaGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7Ci0gICAgICAgIAotICAg
ICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsVG9wKCkgKyBib3hTaGFkb3dUb3As
IHRvcFZpc3VhbE92ZXJmbG93KTsKLSAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgo
bG9naWNhbFRvcCgpICsgYm94SGVpZ2h0ICsgYm94U2hhZG93Qm90dG9tLCBib3R0b21WaXN1YWxP
dmVyZmxvdyk7Ci0gICAgfQorICAgIGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdyk7CiAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQo
KTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICBpZiAoY3Vyci0+
cmVuZGVyZXIoKS0+aXNQb3NpdGlvbmVkKCkpCkBAIC03NzksNjQgKzgwNCw3MCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBSZW5kZXJUZXh0
KiBydCA9IHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJlcigpKTsKICAgICAgICAgICAgIGlmIChy
dC0+aXNCUigpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgYWRkVGV4
dEJveFZpc3VhbE92ZXJmbG93KHRleHQsIHRleHRCb3hEYXRhTWFwLCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cpOworICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1JlbmRlcklu
bGluZSgpKSB7CisgICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93ID0gc3RhdGljX2Nhc3Q8
SW5saW5lRmxvd0JveCo+KGN1cnIpOworICAgICAgICAgICAgZmxvdy0+Y29tcHV0ZU92ZXJmbG93
KGxpbmVUb3AsIGxpbmVCb3R0b20sIHN0cmljdE1vZGUsIHRleHRCb3hEYXRhTWFwKTsKKyAgICAg
ICAgICAgIGlmICghZmxvdy0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSkKKyAgICAgICAgICAgICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cudW5pdGUoZmxvdy0+bG9n
aWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgICAgIEludFJlY3QgY2hpbGRMYXlv
dXRPdmVyZmxvdyA9IGZsb3ctPmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3QoKTsKKyAgICAgICAg
ICAgIGNoaWxkTGF5b3V0T3ZlcmZsb3cubW92ZShmbG93LT5ib3hNb2RlbE9iamVjdCgpLT5yZWxh
dGl2ZVBvc2l0aW9uTG9naWNhbE9mZnNldCgpKTsKKyAgICAgICAgICAgIGxvZ2ljYWxMYXlvdXRP
dmVyZmxvdy51bml0ZShjaGlsZExheW91dE92ZXJmbG93KTsKKyAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICBhZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3coY3VyciwgbG9naWNhbExheW91dE92ZXJm
bG93LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cpOworICAgIH0KKyAgICAKKyAgICBzZXRPdmVyZmxv
d0Zyb21Mb2dpY2FsUmVjdHMobG9naWNhbExheW91dE92ZXJmbG93LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cpOworfQogCi0gICAgICAgICAgICBpbnQgc3Ryb2tlT3ZlcmZsb3cgPSBzdGF0aWNfY2Fz
dDxpbnQ+KGNlaWxmKHJ0LT5zdHlsZSgpLT50ZXh0U3Ryb2tlV2lkdGgoKSAvIDIuMGYpKTsKLQot
ICAgICAgICAgICAgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXA6Oml0ZXJhdG9yIGl0
ID0gdGV4dEJveERhdGFNYXAuZmluZChzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4oY3Vycikp
OwotICAgICAgICAgICAgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IGl0ID09IHRleHRC
b3hEYXRhTWFwLmVuZCgpID8gMCA6ICZpdC0+c2Vjb25kLnNlY29uZDsKLQotICAgICAgICAgICAg
aW50IHRvcEdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA6IGdseXBoT3ZlcmZsb3ctPnRvcCkgOiAwOwotICAgICAgICAgICAg
aW50IGJvdHRvbUdseXBoRWRnZSA9IGdseXBoT3ZlcmZsb3cgPyAoaXNGbGlwcGVkTGluZSA/IGds
eXBoT3ZlcmZsb3ctPnRvcCA6IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSkgOiAwOwotCi0gICAgICAg
ICAgICBpbnQgdG9wR2x5cGhPdmVyZmxvdyA9IC1zdHJva2VPdmVyZmxvdyAtIHRvcEdseXBoRWRn
ZTsKLSAgICAgICAgICAgIGludCBib3R0b21HbHlwaE92ZXJmbG93ID0gc3Ryb2tlT3ZlcmZsb3cg
KyBib3R0b21HbHlwaEVkZ2U7CisvLyBGSVhNRTogWW91IHdpbGwgbm90aWNlIHRoZXJlIGlzIG5v
IGNvbnRhaW5zKCkgY2hlY2sgaGVyZS4gIElmIHRoZSByZWN0IGlzIHNtYWxsZXIgdGhhbiB0aGUg
ZnJhbWUgYm94IGl0IGFjdHVhbGx5CisvLyBiZWNvbWVzIHRoZSBuZXcgb3ZlcmZsb3cuICBUaGUg
cmVhc29uIGZvciB0aGlzIGlzIHRoYXQgaW4gcXVpcmtzIG1vZGUgd2UgZG9uJ3QgbGV0IGlubGlu
ZSBmbG93IGJveGVzIHBhaW50CisvLyBvdXRzaWRlIG9mIHRoZSByb290IGxpbmUgYm94J3MgbGlu
ZVRvcCBhbmQgbGluZUJvdHRvbSB2YWx1ZXMuICBXZSBhY2NvbXBsaXNoIHRoaXMgdmlzdWFsIGNs
YW1waW5nIGJ5IGFjdHVhbGx5CisvLyBpbnNldHRpbmcgdGhlIG92ZXJmbG93IHJlY3Qgc28gdGhh
dCBpdCdzIHNtYWxsZXIgdGhhbiB0aGUgZnJhbWUgcmVjdC4KKy8vCisvLyBUaGUgcmVhc29uIHdl
IGRvbid0IGp1c3QgbXV0YXRlIHRoZSBmcmFtZVJlY3QgaW4gcXVpcmtzIG1vZGUgaXMgdGhhdCB3
ZSdkIGhhdmUgdG8gcHV0IHRoZSBtX2hlaWdodCBtZW1iZXIgdmFyaWFibGUKKy8vIGJhY2sgaW50
byBJbmxpbmVCb3guICBCYXNpY2FsbHkgdGhlIHRyYWRlb2ZmIGlzIDQgYnl0ZXMgaW4gYWxsIG1v
ZGVzIChmb3IgbV9oZWlnaHQpIGFkZGVkIHRvIElubGluZUZsb3dCb3gsIG9yCisvLyB0aGUgYWxs
b2NhdGlvbiBvZiBhIFJlbmRlck92ZXJmbG93IHN0cnVjdCBmb3IgSW5saW5lRmxvd0JveGVzIGlu
IHF1aXJrcyBtb2RlIG9ubHkuICBGb3Igbm93LCB3ZSdyZSBvcHRpbmcgdG8gYXdhcmQKKy8vIHRo
ZSBzbWFsbGVyIG1lbW9yeSBjb25zdW1wdGlvbiB0byBzdHJpY3QgbW9kZSBwYWdlcy4KKy8vCisv
LyBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byBoYXNoIGEgY3VzdG9tIGhlaWdodCwgb3IgdG8gcmVx
dWlyZSB0aGF0IGxpbmVUb3AgYW5kIGxpbmVCb3R0b20gYmUgcGFzc2VkIGluIHRvCisvLyBhbGwg
ZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCit2b2lkIElubGluZUZsb3dCb3g6OnNl
dExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCBmcmFt
ZUJveCA9IGZyYW1lUmVjdCgpOworICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgIGlmICghbV9vdmVyZmxvdykK
KyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGZyYW1lQm94LCBmcmFt
ZUJveCkpOworICAgIAorICAgIG1fb3ZlcmZsb3ctPnNldExheW91dE92ZXJmbG93KHJlY3QpOwor
fQogCi0gICAgICAgICAgICBpbnQgdGV4dFNoYWRvd1RvcDsKLSAgICAgICAgICAgIGludCB0ZXh0
U2hhZG93Qm90dG9tOwotICAgICAgICAgICAgY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5nZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd1RvcCwg
dGV4dFNoYWRvd0JvdHRvbSk7Cit2b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92ZXJmbG93
KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVj
dCgpOworICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CiAgICAgICAgIAotICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dUb3AgPSBt
aW4odGV4dFNoYWRvd1RvcCArIHRvcEdseXBoT3ZlcmZsb3csIHRvcEdseXBoT3ZlcmZsb3cpOwot
ICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dCb3R0b20gPSBtYXgodGV4dFNoYWRvd0JvdHRv
bSArIGJvdHRvbUdseXBoT3ZlcmZsb3csIGJvdHRvbUdseXBoT3ZlcmZsb3cpOworICAgIGlmICgh
bV9vdmVyZmxvdykKKyAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGZy
YW1lQm94LCBmcmFtZUJveCkpOwogICAgIAotICAgICAgICAgICAgdG9wVmlzdWFsT3ZlcmZsb3cg
PSBtaW4oY3Vyci0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd1RvcCwgdG9wVmlzdWFsT3Zl
cmZsb3cpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoY3Vyci0+bG9n
aWNhbFRvcCgpICsgdGV4dC0+bG9naWNhbEhlaWdodCgpICsgY2hpbGRPdmVyZmxvd0JvdHRvbSwg
Ym90dG9tVmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICB9IGVsc2UgIGlmIChjdXJyLT5yZW5kZXJl
cigpLT5pc1JlbmRlcklubGluZSgpKSB7Ci0gICAgICAgICAgICBJbmxpbmVGbG93Qm94KiBmbG93
ID0gc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpOwotICAgICAgICAgICAgZmxvdy0+
Y29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3cobGluZVRvcCwgbGluZUJvdHRvbSwgc3RyaWN0
TW9kZSwgdGV4dEJveERhdGFNYXApOwotICAgICAgICAgICAgdG9wTGF5b3V0T3ZlcmZsb3cgPSBt
aW4odG9wTGF5b3V0T3ZlcmZsb3csIGZsb3ctPmxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdygpKTsK
LSAgICAgICAgICAgIGJvdHRvbUxheW91dE92ZXJmbG93ID0gbWF4KGJvdHRvbUxheW91dE92ZXJm
bG93LCBmbG93LT5sb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3coKSk7Ci0gICAgICAgICAgICB0
b3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0b3BWaXN1YWxPdmVyZmxvdywgZmxvdy0+bG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93KCkpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBt
YXgoYm90dG9tVmlzdWFsT3ZlcmZsb3csIGZsb3ctPmxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxv
dygpKTsKLSAgICAgICAgfSBlbHNlIGlmICghY3Vyci0+Ym94TW9kZWxPYmplY3QoKS0+aGFzU2Vs
ZlBhaW50aW5nTGF5ZXIoKSl7Ci0gICAgICAgICAgICAvLyBPbmx5IGluY2x1ZGUgb3ZlcmZsb3cg
ZnJvbSByZXBsYWNlZCBpbmxpbmVzIGlmIHRoZXkgZG8gbm90IHBhaW50IHRoZW1zZWx2ZXMuCi0g
ICAgICAgICAgICBpbnQgYm94TG9naWNhbFRvcCA9IGN1cnItPmxvZ2ljYWxUb3AoKTsKLSAgICAg
ICAgICAgIGludCBjaGlsZFRvcExheW91dE92ZXJmbG93OwotICAgICAgICAgICAgaW50IGNoaWxk
Qm90dG9tTGF5b3V0T3ZlcmZsb3c7Ci0gICAgICAgICAgICBpbnQgY2hpbGRUb3BWaXN1YWxPdmVy
ZmxvdzsKLSAgICAgICAgICAgIGludCBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93OwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KGN1cnItPnJl
bmRlcmVyKCkpOwotICAgICAgICAgICAgYm94LT5ibG9ja0RpcmVjdGlvbk92ZXJmbG93KGlzSG9y
aXpvbnRhbCgpLCBjaGlsZFRvcExheW91dE92ZXJmbG93LCBjaGlsZEJvdHRvbUxheW91dE92ZXJm
bG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkVG9wVmlz
dWFsT3ZlcmZsb3csIGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3cpOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoYm94LT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICAgICAgICAg
IGNoaWxkVG9wTGF5b3V0T3ZlcmZsb3cgPSAwOwotICAgICAgICAgICAgICAgIGNoaWxkQm90dG9t
TGF5b3V0T3ZlcmZsb3cgPSBjdXJyLT5sb2dpY2FsSGVpZ2h0KCk7Ci0gICAgICAgICAgICB9Cisg
ICAgbV9vdmVyZmxvdy0+c2V0VmlzdWFsT3ZlcmZsb3cocmVjdCk7Cit9CiAKLSAgICAgICAgICAg
IHRvcExheW91dE92ZXJmbG93ID0gbWluKGJveExvZ2ljYWxUb3AgKyBjaGlsZFRvcExheW91dE92
ZXJmbG93LCB0b3BMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgICAgICBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9IG1heChib3hMb2dpY2FsVG9wICsgY2hpbGRCb3R0b21MYXlvdXRPdmVyZmxvdywgYm90
dG9tTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICAgICAgdG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4o
Ym94TG9naWNhbFRvcCArIGNoaWxkVG9wVmlzdWFsT3ZlcmZsb3csIHRvcFZpc3VhbE92ZXJmbG93
KTsKLSAgICAgICAgICAgIGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gbWF4KGJveExvZ2ljYWxUb3Ag
KyBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93LCBib3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAg
ICAgIH0KLSAgICB9Cit2b2lkIElubGluZUZsb3dCb3g6OnNldE92ZXJmbG93RnJvbUxvZ2ljYWxS
ZWN0cyhjb25zdCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIGNvbnN0IEludFJlY3Qm
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdykKK3sKKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93KGlz
SG9yaXpvbnRhbCgpID8gbG9naWNhbExheW91dE92ZXJmbG93IDogbG9naWNhbExheW91dE92ZXJm
bG93LnRyYW5zcG9zZWRSZWN0KCkpOworICAgIHNldExheW91dE92ZXJmbG93KGxheW91dE92ZXJm
bG93KTsKICAgICAKLSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRvcExh
eW91dE92ZXJmbG93LCBib3R0b21MYXlvdXRPdmVyZmxvdywgdG9wVmlzdWFsT3ZlcmZsb3csIGJv
dHRvbVZpc3VhbE92ZXJmbG93KTsKKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93KGlzSG9yaXpv
bnRhbCgpID8gbG9naWNhbFZpc3VhbE92ZXJmbG93IDogbG9naWNhbFZpc3VhbE92ZXJmbG93LnRy
YW5zcG9zZWRSZWN0KCkpOworICAgIHNldFZpc3VhbE92ZXJmbG93KHZpc3VhbE92ZXJmbG93KTsK
IH0KIAogYm9vbCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVz
dCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgeCwgaW50IHksIGludCB0eCwg
aW50IHR5KQogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1JlY3Qo
KSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwogICAg
IGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOwogICAgIG92ZXJmbG93UmVjdC5tb3Zl
KHR4LCB0eSk7CiAgICAgaWYgKCFvdmVyZmxvd1JlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZv
clBvaW50KHgsIHkpKSkKQEAgLTg2NSw3ICs4OTYsNyBAQCBib29sIElubGluZUZsb3dCb3g6Om5v
ZGVBdFBvaW50KGNvbnN0IEhpCiAKIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnQoUGFpbnRJbmZv
JiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogewotICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0
KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QodmlzdWFs
T3ZlcmZsb3dSZWN0KCkpOwogICAgIG92ZXJmbG93UmVjdC5pbmZsYXRlKHJlbmRlcmVyKCktPm1h
eGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKICAgICBmbGlwRm9yV3JpdGluZ01v
ZGUob3ZlcmZsb3dSZWN0KTsKICAgICBvdmVyZmxvd1JlY3QubW92ZSh0eCwgdHkpOwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MywxMCArMTYzLDEx
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBsYWNlQm94ZXNJbkJsb2NrRGlyZWN0aW9uKGludCBsb2dp
Y2FsVG9wLCBpbnQgbWF4SGVpZ2h0LCBpbnQgbWF4QXNjZW50LCBib29sIHN0cmljdE1vZGUsIGlu
dCYgbGluZVRvcCwgaW50JiBsaW5lQm90dG9tLCBib29sJiBzZXRMaW5lVG9wLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBsaW5lVG9wSW5jbHVkaW5nTWFyZ2lucywg
aW50JiBsaW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywgYm9vbCYgY29udGFpbnNSdWJ5LCBGb250
QmFzZWxpbmUpOwogICAgIHZvaWQgZmxpcExpbmVzSW5CbG9ja0RpcmVjdGlvbihpbnQgbGluZVRv
cCwgaW50IGxpbmVCb3R0b20pOwotICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZs
b3coaW50IGxpbmVUb3AsIGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3Zl
cmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CiAgICAgYm9vbCByZXF1aXJlc0lkZW9ncmFwaGlj
QmFzZWxpbmUoY29uc3QgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKSBjb25zdDsK
ICAgICBpbnQgY29tcHV0ZUJsb2NrRGlyZWN0aW9uUnVieUFkanVzdG1lbnQoaW50IGFsbG93ZWRQ
b3NpdGlvbikgY29uc3Q7CiAgICAgCisgICAgdm9pZCBjb21wdXRlT3ZlcmZsb3coaW50IGxpbmVU
b3AsIGludCBsaW5lQm90dG9tLCBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxs
YmFja0ZvbnRzTWFwJik7CisgICAgCiAgICAgdm9pZCByZW1vdmVDaGlsZChJbmxpbmVCb3gqIGNo
aWxkKTsKIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxlY3Rp
b25TdGF0ZSgpOwpAQCAtMTgzLDE3ICsxODQsNiBAQCBwdWJsaWM6CiAgICAgLy8gdG9wL3JpZ2h0
L2JvdHRvbS9sZWZ0IGluIHRoZSBjb2RlIC0gdGhlc2UgYXJlbid0IHB1cmVseSBwaHlzaWNhbCBk
aXJlY3Rpb25zLiAgRm9yIGhvcml6b250YWwtdGIgYW5kIHZlcnRpY2FsLWxyIHRoZXkgd2lsbCBt
YXRjaCBwaHlzaWNhbAogICAgIC8vIGRpcmVjdGlvbnMsIGJ1dCBmb3IgaG9yaXpvbnRhbC1idCBh
bmQgdmVydGljYWwtcmwsIHRoZSB0b3AvYm90dG9tIGFuZCBsZWZ0L3JpZ2h0IHJlc3BlY3RpdmVs
eSBhcmUgaW52ZXJ0ZWQgd2hlbiBjb21wYXJlZCB0bwogICAgIC8vIHRoZWlyIHBoeXNpY2FsIGNv
dW50ZXJwYXJ0cy4KLSAgICBpbnQgdG9wVmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
c3RkOjptaW4odG9wTGF5b3V0T3ZlcmZsb3coKSwgdG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAg
ICBpbnQgYm90dG9tVmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoYm90
dG9tTGF5b3V0T3ZlcmZsb3coKSwgYm90dG9tVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQg
bGVmdFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWluKGxlZnRMYXlvdXRP
dmVyZmxvdygpLCBsZWZ0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNpYmxl
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1heChyaWdodExheW91dE92ZXJmbG93KCks
IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbExlZnRWaXNpYmxlT3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBzdGQ6Om1pbihsb2dpY2FsTGVmdExheW91dE92ZXJmbG93
KCksIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0
VmlzaWJsZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgobG9naWNhbFJpZ2h0TGF5
b3V0T3ZlcmZsb3coKSwgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAgICBpbnQg
bG9naWNhbFRvcFZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWluKGxvZ2lj
YWxUb3BMYXlvdXRPdmVyZmxvdygpLCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSk7IH0KLSAg
ICBpbnQgbG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bWF4KGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpLCBsb2dpY2FsQm90dG9tVmlzdWFsT3Zl
cmZsb3coKSk7IH0KLQotICAgIEludFJlY3QgdmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXNpYmxlT3ZlcmZsb3dSZWN0KCkgOiBJ
bnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSk7ICB9Ci0KICAgICBpbnQgdG9wTGF5
b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dG9w
TGF5b3V0T3ZlcmZsb3coKSA6IG1feTsgfQogICAgIGludCBib3R0b21MYXlvdXRPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5ib3R0b21MYXlvdXRPdmVy
ZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KICAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkg
Y29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxv
dygpIDogbV94OyB9CkBAIC0yMDMsNiArMTkzLDEzIEBAIHB1YmxpYzoKICAgICBpbnQgbG9naWNh
bFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm90
dG9tTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gdG9wVmlzdWFsT3ZlcmZsb3coKSA6IGxlZnRWaXN1YWxPdmVyZmxvdygpOyB9CiAg
ICAgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRl
cmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3R0b21MYXlvdXRP
dmVyZmxvdygpIDogcmlnaHRMYXlvdXRPdmVyZmxvdygpOyB9CisgICAgSW50UmVjdCBsb2dpY2Fs
TGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QKKyAgICB7CisgICAgICAgIEludFJlY3QgcmVzdWx0
ID0gbGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3Vs
dC50cmFuc3Bvc2VkUmVjdCgpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAogICAg
IGludCB0b3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292
ZXJmbG93LT50b3BWaXN1YWxPdmVyZmxvdygpIDogbV95OyB9CiAgICAgaW50IGJvdHRvbVZpc3Vh
bE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmJvdHRv
bVZpc3VhbE92ZXJmbG93KCkgOiBtX3kgKyBoZWlnaHQoKTsgfQpAQCAtMjEzLDExICsyMTAsMjIg
QEAgcHVibGljOgogICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsg
cmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBy
aWdodFZpc3VhbE92ZXJmbG93KCkgOiBib3R0b21WaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50
IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB0b3BWaXN1YWxPdmVyZmxvdygpIDog
bGVmdFZpc3VhbE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiByaWdodFZpc3VhbE92ZXJmbG93
KCk7IH0KKyAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QoKSBjb25zdAorICAg
IHsKKyAgICAgICAgSW50UmVjdCByZXN1bHQgPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICAg
ICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQor
ICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQogCi0gICAgdm9pZCBzZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxv
d1Bvc2l0aW9ucyhpbnQgbG9naWNhbExlZnRMYXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxSaWdo
dExheW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdyk7Ci0gICAgdm9pZCBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25z
KGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsQm90dG9tTGF5b3V0T3Zl
cmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBs
b2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cp
OworICAgIHZvaWQgc2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKGNvbnN0IEludFJlY3QmIGxv
Z2ljYWxMYXlvdXRPdmVyZmxvdywgY29uc3QgSW50UmVjdCYgbG9naWNhbFZpc3VhbE92ZXJmbG93
KTsKKyAgICB2b2lkIHNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lk
IHNldFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKKworcHJpdmF0ZToKKyAgICB2b2lk
IGFkZEJveFNoYWRvd1Zpc3VhbE92ZXJmbG93KEludFJlY3QmIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dyk7CisgICAgdm9pZCBhZGRUZXh0Qm94VmlzdWFsT3ZlcmZsb3coY29uc3QgSW5saW5lVGV4dEJv
eCosIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgSW50UmVjdCYgbG9naWNhbFZp
c3VhbE92ZXJmbG93KTsKKyAgICB2b2lkIGFkZFJlcGxhY2VkQ2hpbGRPdmVyZmxvdyhjb25zdCBJ
bmxpbmVCb3gqLCBJbnRSZWN0JiBsb2dpY2FsTGF5b3V0T3ZlcmZsb3csIEludFJlY3QmIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdyk7CiAKIHByb3RlY3RlZDoKICAgICBPd25QdHI8UmVuZGVyT3ZlcmZs
b3c+IG1fb3ZlcmZsb3c7CkBAIC0yMzksNTIgKzI0Nyw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgog
fTsKIAotaW5saW5lIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0SW5saW5lRGlyZWN0aW9uT3ZlcmZs
b3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsUmln
aHRMYXlvdXRPdmVyZmxvdywgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywg
aW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KSAKLXsgCi0gICAgaWYgKCFtX292ZXJmbG93
KSB7Ci0gICAgICAgIGlmIChsb2dpY2FsTGVmdExheW91dE92ZXJmbG93ID09IGxvZ2ljYWxMZWZ0
KCkgJiYgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkgCi0gICAg
ICAgICAgICAmJiBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxMZWZ0KCkgJiYg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPT0gbG9naWNhbFJpZ2h0KCkpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIG1fb3ZlcmZsb3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3ZlcmZs
b3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpKSk7ICAgCi0gICAgfQotCi0g
ICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRMYXlv
dXRPdmVyZmxvdyhsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxv
dy0+c2V0UmlnaHRMYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdyk7Ci0g
ICAgICAgIG1fb3ZlcmZsb3ctPnNldExlZnRWaXN1YWxPdmVyZmxvdyhsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93KTsgCi0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0VmlzdWFsT3ZlcmZsb3co
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fb3Zl
cmZsb3ctPnNldFRvcExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3cpOwot
ICAgICAgICBtX292ZXJmbG93LT5zZXRCb3R0b21MYXlvdXRPdmVyZmxvdyhsb2dpY2FsUmlnaHRM
YXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3VhbE92ZXJmbG93
KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cpOyAKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90
dG9tVmlzdWFsT3ZlcmZsb3cobG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cpOyAgCi0gICAgfQot
fQotCi1pbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93
UG9zaXRpb25zKGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCBsb2dpY2FsQm90dG9t
TGF5b3V0T3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCBs
b2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cpCi17Ci0gICAgaWYgKCFtX292ZXJmbG93KSB7Ci0g
ICAgICAgIGlmIChsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPT0gbG9naWNhbFRvcCgpICYmIGxv
Z2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsQm90dG9tKCkKLSAgICAgICAgICAg
ICYmIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9PSBsb2dpY2FsVG9wKCkgJiYgbG9naWNhbEJv
dHRvbVZpc3VhbE92ZXJmbG93ID09IGxvZ2ljYWxCb3R0b20oKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgbV9vdmVyZmxvdyA9IGFkb3B0UHRyKG5ldyBSZW5kZXJPdmVyZmxvdyhJbnRS
ZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpKTsKLSAgICB9Ci0KLSAgICBpZiAoaXNI
b3Jpem9udGFsKCkpIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0VG9wTGF5b3V0T3ZlcmZsb3co
bG9naWNhbFRvcExheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90dG9t
TGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93KTsKLSAgICAgICAgbV9v
dmVyZmxvdy0+c2V0VG9wVmlzdWFsT3ZlcmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsg
Ci0gICAgICAgIG1fb3ZlcmZsb3ctPnNldEJvdHRvbVZpc3VhbE92ZXJmbG93KGxvZ2ljYWxCb3R0
b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0
TGVmdExheW91dE92ZXJmbG93KGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdyk7Ci0gICAgICAgIG1f
b3ZlcmZsb3ctPnNldFJpZ2h0TGF5b3V0T3ZlcmZsb3cobG9naWNhbEJvdHRvbUxheW91dE92ZXJm
bG93KTsKLSAgICAgICAgbV9vdmVyZmxvdy0+c2V0TGVmdFZpc3VhbE92ZXJmbG93KGxvZ2ljYWxU
b3BWaXN1YWxPdmVyZmxvdyk7IAotICAgICAgICBtX292ZXJmbG93LT5zZXRSaWdodFZpc3VhbE92
ZXJmbG93KGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7Ci0gICAgfQotfQotCiAjaWZkZWYg
TkRFQlVHCiBpbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpjaGVja0NvbnNpc3RlbmN5KCkgY29u
c3QKIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDczMzM0KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjE3LDYgKzEyMTcsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5
CiAgCiAgICAgLy8gQ2FsY3VsYXRlIG91ciBuZXcgaGVpZ2h0LgogICAgIGludCBvbGRIZWlnaHQg
PSBsb2dpY2FsSGVpZ2h0KCk7CisgICAgaW50IG9sZENsaWVudEFmdGVyRWRnZSA9IGNsaWVudExv
Z2ljYWxCb3R0b20oKTsKICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgIGludCBuZXdI
ZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCk7CiAgICAgaWYgKG9sZEhlaWdodCAhPSBuZXdIZWlnaHQp
IHsKQEAgLTEyMzUsMjUgKzEyMzYsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2so
Ym9vbCByZWxheQogICAgIGlmIChwcmV2aW91c0hlaWdodCAhPSBuZXdIZWlnaHQpCiAgICAgICAg
IHJlbGF5b3V0Q2hpbGRyZW4gPSB0cnVlOwogCi0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gY2hp
bGRyZW4gKHVubGVzcyB3ZSdyZSBtdWx0aS1jb2x1bW4sIHNpbmNlIGluIHRoYXQgY2FzZSBhbGwg
b3VyIGNoaWxkIG92ZXJmbG93IGlzIGNsaXBwZWQgYW55d2F5KS4KLSAgICBpZiAoIWhhc0NvbHVt
bnMoKSkgewotICAgICAgICAvLyBUaGlzIGNoZWNrIGlzIGRlc2lnbmVkIHRvIGNhdGNoIGFueW9u
ZQotICAgICAgICAvLyB3aG8gd2Fzbid0IGdvaW5nIHRvIHByb3BhZ2F0ZSBmbG9hdCBpbmZvcm1h
dGlvbiB1cCB0byB0aGUgcGFyZW50IGFuZCB5ZXQgY291bGQgcG90ZW50aWFsbHkgYmUgcGFpbnRl
ZCBieSBpdHMgYW5jZXN0b3IuCi0gICAgICAgIGlmIChpc1Jvb3QoKSB8fCBleHBhbmRzVG9FbmNs
b3NlT3ZlcmhhbmdpbmdGbG9hdHMoKSkKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUZsb2F0
cygpOwotCi0gICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRk
T3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOwotICAgIH0KLQotICAgIC8vIEFkZCB2aXN1YWwg
b3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZsZWN0aW9ucy4KLSAgICBhZGRTaGFkb3dP
dmVyZmxvdygpOwotCiAgICAgbGF5b3V0UG9zaXRpb25lZE9iamVjdHMocmVsYXlvdXRDaGlsZHJl
biB8fCBpc1Jvb3QoKSk7CiAKLSAgICBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKKyAgICAvLyBBZGQg
b3ZlcmZsb3cgZnJvbSBjaGlsZHJlbiAodW5sZXNzIHdlJ3JlIG11bHRpLWNvbHVtbiwgc2luY2Ug
aW4gdGhhdCBjYXNlIGFsbCBvdXIgY2hpbGQgb3ZlcmZsb3cgaXMgY2xpcHBlZCBhbnl3YXkpLgor
ICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRDbGllbnRBZnRlckVkZ2UpOwogICAgIAogICAgIHN0YXRl
UHVzaGVyLnBvcCgpOwogCkBAIC0xMjY5LDggKzEyNTUsMTcgQEAgdm9pZCBSZW5kZXJCbG9jazo6
bGF5b3V0QmxvY2soYm9vbCByZWxheQogICAgIC8vIFJlcGFpbnQgd2l0aCBvdXIgbmV3IGJvdW5k
cyBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgZnJvbSBvdXIgb2xkIGJvdW5kcy4KICAgICBib29sIGRp
ZEZ1bGxSZXBhaW50ID0gcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOwogICAgIGlmICgh
ZGlkRnVsbFJlcGFpbnQgJiYgcmVwYWludExvZ2ljYWxUb3AgIT0gcmVwYWludExvZ2ljYWxCb3R0
b20gJiYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFIHx8IGVuY2xvc2luZ0xheWVy
KCktPmhhc1Zpc2libGVDb250ZW50KCkpKSB7Ci0gICAgICAgIGludCByZXBhaW50TG9naWNhbExl
ZnQgPSBtaW4obG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsTGVmdExheW91dE92
ZXJmbG93KCkpOwotICAgICAgICBpbnQgcmVwYWludExvZ2ljYWxSaWdodCA9IG1heChsb2dpY2Fs
UmlnaHRWaXN1YWxPdmVyZmxvdygpLCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpKTsKKyAg
ICAgICAgLy8gRklYTUU6IFdlIGNvdWxkIHRpZ2h0ZW4gdXAgdGhlIGxlZnQgYW5kIHJpZ2h0IGlu
dmFsaWRhdGlvbiBwb2ludHMgaWYgd2UgbGV0IGxheW91dElubGluZUNoaWxkcmVuIGZpbGwgdGhl
bSBpbiBiYXNlZCBvZmYgdGhlIHBhcnRpY3VsYXIgbGluZXMKKyAgICAgICAgLy8gaXQgaGFkIHRv
IGxheSBvdXQuICBXZSB3b3VsZG4ndCBuZWVkIHRoZSBoYXNPdmVyZmxvd0NsaXAoKSBoYWNrIGlu
IHRoYXQgY2FzZSBlaXRoZXIuCisgICAgICAgIGludCByZXBhaW50TG9naWNhbExlZnQgPSBsb2dp
Y2FsTGVmdFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgIGludCByZXBhaW50TG9naWNhbFJpZ2h0
ID0gbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgaWYgKGhhc092ZXJmbG93
Q2xpcCgpKSB7CisgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGNsaXBwZWQgb3ZlcmZsb3csIHdl
IHNob3VsZCB1c2UgbGF5b3V0IG92ZXJmbG93IGFzIHdlbGwsIHNpbmNlIHZpc3VhbCBvdmVyZmxv
dyBmcm9tIGxpbmVzIGRpZG4ndCBwcm9wYWdhdGUgdG8gb3VyIGJsb2NrJ3Mgb3ZlcmZsb3cuCisg
ICAgICAgICAgICAvLyBOb3RlIHRoZSBvbGQgY29kZSBkaWQgdGhpcyBhcyB3ZWxsIGJ1dCBldmVu
IGZvciBvdmVyZmxvdzp2aXNpYmxlLiAgVGhlIGFkZGl0aW9uIG9mIGhhc092ZXJmbG93Q2xpcCgp
IGF0IGxlYXN0IHRpZ2h0ZW5zIHVwIHRoZSBoYWNrIGEgYml0LgorICAgICAgICAgICAgLy8gbGF5
b3V0SW5saW5lQ2hpbGRyZW4gc2hvdWxkIGJlIHBhdGNoZWQgdG8gY29tcHV0ZSB0aGUgZW50aXJl
IHJlcGFpbnQgcmVjdC4KKyAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsTGVmdCA9IG1pbihyZXBh
aW50TG9naWNhbExlZnQsIGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSk7CisgICAgICAgICAg
ICByZXBhaW50TG9naWNhbFJpZ2h0ID0gbWF4KHJlcGFpbnRMb2dpY2FsUmlnaHQsIGxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93KCkpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBJbnRS
ZWN0IHJlcGFpbnRSZWN0OwogICAgICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSkKQEAgLTEzMDEsNiArMTI5Niw1MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRC
bG9jayhib29sIHJlbGF5CiAgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOwogfQogCit2b2lkIFJl
bmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCit7CisgICAgaWYgKCFoYXNDb2x1
bW5zKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICBhZGRP
dmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBh
ZGRPdmVyZmxvd0Zyb21CbG9ja0NoaWxkcmVuKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQ29s
dW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKKyAgICAgICAgaWYgKGNvbHVtbkNvdW50
KGNvbEluZm8pKSB7CisgICAgICAgICAgICBJbnRSZWN0IGxhc3RSZWN0ID0gY29sdW1uUmVjdEF0
KGNvbEluZm8sIGNvbHVtbkNvdW50KGNvbEluZm8pIC0gMSk7CisgICAgICAgICAgICBpbnQgb3Zl
cmZsb3dMZWZ0ID0gIXN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG1pbigwLCBs
YXN0UmVjdC54KCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd1JpZ2h0ID0gc3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWF4KHdpZHRoKCksIGxhc3RSZWN0LngoKSAr
IGxhc3RSZWN0LndpZHRoKCkpIDogMDsKKyAgICAgICAgICAgIGludCBvdmVyZmxvd0hlaWdodCA9
IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgY29sSW5mby0+Y29sdW1uSGVpZ2h0KCk7Cisg
ICAgICAgICAgICBhZGRMYXlvdXRPdmVyZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwgMCwgb3Zl
cmZsb3dSaWdodCAtIG92ZXJmbG93TGVmdCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKwordm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZU92ZXJmbG93KGludCBvbGRDbGll
bnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRzKQoreworICAgIC8vIEFkZCBvdmVyZmxv
dyBmcm9tIGNoaWxkcmVuLgorICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisKKyAgICBp
ZiAoIWhhc0NvbHVtbnMoKSAmJiAocmVjb21wdXRlRmxvYXRzIHx8IGlzUm9vdCgpIHx8IGV4cGFu
ZHNUb0VuY2xvc2VPdmVyaGFuZ2luZ0Zsb2F0cygpIHx8IGhhc1NlbGZQYWludGluZ0xheWVyKCkp
KQorICAgICAgICBhZGRPdmVyZmxvd0Zyb21GbG9hdHMoKTsKKworICAgIC8vIEFkZCBpbiB0aGUg
b3ZlcmZsb3cgZnJvbSBwb3NpdGlvbmVkIG9iamVjdHMuCisgICAgYWRkT3ZlcmZsb3dGcm9tUG9z
aXRpb25lZE9iamVjdHMoKTsKKworICAgIGlmIChoYXNPdmVyZmxvd0NsaXAoKSkgeworICAgICAg
ICAvLyBXaGVuIHdlIGhhdmUgb3ZlcmZsb3cgY2xpcCwgcHJvcGFnYXRlIHRoZSBvcmlnaW5hbCBz
cGlsbG91dCBzaW5jZSBpdCB3aWxsIGluY2x1ZGUgY29sbGFwc2VkIGJvdHRvbSBtYXJnaW5zCisg
ICAgICAgIC8vIGFuZCBib3R0b20gcGFkZGluZy4gIFNldCB0aGUgYXhpcyB3ZSBkb24ndCBjYXJl
IGFib3V0IHRvIGJlIDEsIHNpbmNlIHdlIHdhbnQgdGhpcyBvdmVyZmxvdyB0byBhbHdheXMKKyAg
ICAgICAgLy8gYmUgY29uc2lkZXJlZCByZWFjaGFibGUuCisgICAgICAgIEludFJlY3QgY2xpZW50
UmVjdChjbGllbnRCb3hSZWN0KCkpOworICAgICAgICBJbnRSZWN0IHJlY3RUb0FwcGx5OworICAg
ICAgICBpZiAoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAg
IHJlY3RUb0FwcGx5ID0gSW50UmVjdChjbGllbnRSZWN0LngoKSwgY2xpZW50UmVjdC55KCksIDEs
IG1heCgwLCBvbGRDbGllbnRBZnRlckVkZ2UgLSBjbGllbnRSZWN0LnkoKSkpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICByZWN0VG9BcHBseSA9IEludFJlY3QoY2xpZW50UmVjdC54KCksIGNs
aWVudFJlY3QueSgpLCBtYXgoMCwgb2xkQ2xpZW50QWZ0ZXJFZGdlIC0gY2xpZW50UmVjdC54KCkp
LCAxKTsKKyAgICAgICAgYWRkTGF5b3V0T3ZlcmZsb3cocmVjdFRvQXBwbHkpOworICAgIH0KKyAg
ICAgICAgCisgICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFkb3cgYW5kIHJl
ZmxlY3Rpb25zLgorICAgIGFkZFNoYWRvd092ZXJmbG93KCk7Cit9CisKIHZvaWQgUmVuZGVyQmxv
Y2s6OmFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKQogewogICAgIGZvciAoUmVuZGVyQm94
KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nQm94KCkpIHsKQEAgLTEzMTcsMTIgKzEzNTksMjggQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRk
T3ZlcmZsb3dGcm9tRmxvYXRzKAogICAgIEZsb2F0aW5nT2JqZWN0KiByOwogICAgIERlcHJlY2F0
ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5nT2JqZWN0cyk7
CiAgICAgZm9yICg7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCkgewotICAgICAgICBpZiAoci0+
bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkK
KyAgICAgICAgaWYgKHItPm1faXNEZXNjZW5kYW50KQogICAgICAgICAgICAgYWRkT3ZlcmZsb3dG
cm9tQ2hpbGQoci0+bV9yZW5kZXJlciwgSW50U2l6ZShyLT5sZWZ0KCkgKyByLT5tX3JlbmRlcmVy
LT5tYXJnaW5MZWZ0KCksIHItPnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkpKTsK
ICAgICB9CiAgICAgcmV0dXJuOwogfQogCit2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zy
b21Qb3NpdGlvbmVkT2JqZWN0cygpCit7CisgICAgaWYgKCFtX3Bvc2l0aW9uZWRPYmplY3RzKQor
ICAgICAgICByZXR1cm47CisKKyAgICBSZW5kZXJCb3gqIHBvc2l0aW9uZWRPYmplY3Q7CisgICAg
SXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7CisgICAgZm9yIChJdGVy
YXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkg
eworICAgICAgICBwb3NpdGlvbmVkT2JqZWN0ID0gKml0OworICAgICAgICAKKyAgICAgICAgLy8g
Rml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBkb24ndCBjb250cmlidXRlIHRvIGxheW91dCBvdmVy
Zmxvdywgc2luY2UgdGhleSBkb24ndCBzY3JvbGwgd2l0aCB0aGUgY29udGVudC4KKyAgICAgICAg
aWYgKHBvc2l0aW9uZWRPYmplY3QtPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlv
bikKKyAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHBvc2l0aW9uZWRPYmplY3QpOwor
ICAgIH0KK30KKwogYm9vbCBSZW5kZXJCbG9jazo6ZXhwYW5kc1RvRW5jbG9zZU92ZXJoYW5naW5n
RmxvYXRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUo
KSB8fCBpc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgKHBh
cmVudCgpICYmIHBhcmVudCgpLT5pc0ZsZXhpYmxlQm94KCkpCkBAIC0yMDA1LDYgKzIwNjMsMTQg
QEAgYm9vbCBSZW5kZXJCbG9jazo6bGF5b3V0T25seVBvc2l0aW9uZWRPYgogICAgIC8vIEFsbCB3
ZSBoYXZlIHRvIGlzIGxheSBvdXQgb3VyIHBvc2l0aW9uZWQgb2JqZWN0cy4KICAgICBsYXlvdXRQ
b3NpdGlvbmVkT2JqZWN0cyhmYWxzZSk7CiAKKyAgICAvLyBSZWNvbXB1dGUgb3VyIG92ZXJmbG93
IGluZm9ybWF0aW9uLgorICAgIC8vIEZJWE1FOiBXZSBjb3VsZCBkbyBiZXR0ZXIgaGVyZSBieSBj
b21wdXRpbmcgYSB0ZW1wb3Jhcnkgb3ZlcmZsb3cgb2JqZWN0IGZyb20gbGF5b3V0UG9zaXRpb25l
ZE9iamVjdHMgYW5kIG9ubHkKKyAgICAvLyB1cGRhdGluZyBvdXIgb3ZlcmZsb3cgaWYgd2UgZWl0
aGVyIHVzZWQgdG8gaGF2ZSBvdmVyZmxvdyBvciBpZiB0aGUgbmV3IHRlbXBvcmFyeSBvYmplY3Qg
aGFzIG92ZXJmbG93LgorICAgIC8vIEZvciBub3cganVzdCBhbHdheXMgcmVjb21wdXRlIG92ZXJm
bG93LiAgVGhpcyBpcyBubyB3b3JzZSBwZXJmb3JtYW5jZS13aXNlIHRoYW4gdGhlIG9sZCBjb2Rl
IHRoYXQgY2FsbGVkIHJpZ2h0bW9zdFBvc2l0aW9uIGFuZAorICAgIC8vIGxvd2VzdFBvc2l0aW9u
IG9uIGV2ZXJ5IHJlbGF5b3V0IHNvIGl0J3Mgbm90IGEgcmVncmVzc2lvbi4KKyAgICBtX292ZXJm
bG93LmNsZWFyKCk7CisgICAgY29tcHV0ZU92ZXJmbG93KGNsaWVudExvZ2ljYWxCb3R0b20oKSwg
dHJ1ZSk7CisKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsKICAgICAKICAgICB1cGRhdGVMYXllclRy
YW5zZm9ybSgpOwpAQCAtMjAxNywzOCArMjA4MywzOSBAQCBib29sIFJlbmRlckJsb2NrOjpsYXlv
dXRPbmx5UG9zaXRpb25lZE9iCiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRP
YmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKIHsKLSAgICBpZiAobV9wb3NpdGlvbmVkT2Jq
ZWN0cykgewotICAgICAgICBpZiAoaGFzQ29sdW1ucygpKQotICAgICAgICAgICAgdmlldygpLT5s
YXlvdXRTdGF0ZSgpLT5jbGVhclBhZ2luYXRpb25JbmZvcm1hdGlvbigpOyAvLyBQb3NpdGlvbmVk
IG9iamVjdHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBjb2x1bW4gZmxvdywgc28gdGhleSBkb24ndCBw
YWdpbmF0ZSB3aXRoIHRoZSBjb2x1bW5zLgorICAgIGlmICghbV9wb3NpdGlvbmVkT2JqZWN0cykK
KyAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICBpZiAoaGFzQ29sdW1ucygpKQorICAgICAg
ICB2aWV3KCktPmxheW91dFN0YXRlKCktPmNsZWFyUGFnaW5hdGlvbkluZm9ybWF0aW9uKCk7IC8v
IFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgbm90IHBhcnQgb2YgdGhlIGNvbHVtbiBmbG93LCBzbyB0
aGV5IGRvbid0IHBhZ2luYXRlIHdpdGggdGhlIGNvbHVtbnMuCiAKLSAgICAgICAgUmVuZGVyQm94
KiByOwotICAgICAgICBJdGVyYXRvciBlbmQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5lbmQoKTsK
LSAgICAgICAgZm9yIChJdGVyYXRvciBpdCA9IG1fcG9zaXRpb25lZE9iamVjdHMtPmJlZ2luKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgciA9ICppdDsKLSAgICAgICAgICAgIC8v
IFdoZW4gYSBub24tcG9zaXRpb25lZCBibG9jayBlbGVtZW50IG1vdmVzLCBpdCBtYXkgaGF2ZSBw
b3NpdGlvbmVkIGNoaWxkcmVuIHRoYXQgYXJlIGltcGxpY2l0bHkgcG9zaXRpb25lZCByZWxhdGl2
ZSB0byB0aGUKLSAgICAgICAgICAgIC8vIG5vbi1wb3NpdGlvbmVkIGJsb2NrLiAgUmF0aGVyIHRo
YW4gdHJ5aW5nIHRvIGRldGVjdCBhbGwgb2YgdGhlc2UgbW92ZW1lbnQgY2FzZXMsIHdlIGp1c3Qg
YWx3YXlzIGxheSBvdXQgcG9zaXRpb25lZAotICAgICAgICAgICAgLy8gb2JqZWN0cyB0aGF0IGFy
ZSBwb3NpdGlvbmVkIGltcGxpY2l0bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFyZSByYXJl
LCBhbmQgc28gaW4gdHlwaWNhbCBESFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVyeXRoaW5nIGlz
Ci0gICAgICAgICAgICAvLyBwb3NpdGlvbmVkIGV4cGxpY2l0bHkpIHRoaXMgc2hvdWxkIG5vdCBp
bmN1ciBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuCi0gICAgICAgICAgICBpZiAocmVsYXlvdXRDaGls
ZHJlbiB8fCAoci0+c3R5bGUoKS0+aGFzU3RhdGljWSgpICYmIHItPnBhcmVudCgpICE9IHRoaXMg
JiYgci0+cGFyZW50KCktPmlzQmxvY2tGbG93KCkpKQotICAgICAgICAgICAgICAgIHItPnNldENo
aWxkTmVlZHNMYXlvdXQodHJ1ZSwgZmFsc2UpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgLy8gSWYgcmVsYXlvdXRDaGlsZHJlbiBpcyBzZXQgYW5kIHdlIGhhdmUgcGVyY2VudGFnZSBw
YWRkaW5nLCB3ZSBhbHNvIG5lZWQgdG8gaW52YWxpZGF0ZSB0aGUgY2hpbGQncyBwcmVmIHdpZHRo
cy4KLSAgICAgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIChyLT5zdHlsZSgpLT5wYWRk
aW5nU3RhcnQoKS5pc1BlcmNlbnQoKSB8fCByLT5zdHlsZSgpLT5wYWRkaW5nRW5kKCkuaXNQZXJj
ZW50KCkpKQotICAgICAgICAgICAgICAgIHItPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0
eSh0cnVlLCBmYWxzZSk7CisgICAgUmVuZGVyQm94KiByOworICAgIEl0ZXJhdG9yIGVuZCA9IG1f
cG9zaXRpb25lZE9iamVjdHMtPmVuZCgpOworICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0
aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgciA9ICpp
dDsKKyAgICAgICAgLy8gV2hlbiBhIG5vbi1wb3NpdGlvbmVkIGJsb2NrIGVsZW1lbnQgbW92ZXMs
IGl0IG1heSBoYXZlIHBvc2l0aW9uZWQgY2hpbGRyZW4gdGhhdCBhcmUgaW1wbGljaXRseSBwb3Np
dGlvbmVkIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICAvLyBub24tcG9zaXRpb25lZCBibG9jay4g
IFJhdGhlciB0aGFuIHRyeWluZyB0byBkZXRlY3QgYWxsIG9mIHRoZXNlIG1vdmVtZW50IGNhc2Vz
LCB3ZSBqdXN0IGFsd2F5cyBsYXkgb3V0IHBvc2l0aW9uZWQKKyAgICAgICAgLy8gb2JqZWN0cyB0
aGF0IGFyZSBwb3NpdGlvbmVkIGltcGxpY2l0bHkgbGlrZSB0aGlzLiAgU3VjaCBvYmplY3RzIGFy
ZSByYXJlLCBhbmQgc28gaW4gdHlwaWNhbCBESFRNTCBtZW51IHVzYWdlICh3aGVyZSBldmVyeXRo
aW5nIGlzCisgICAgICAgIC8vIHBvc2l0aW9uZWQgZXhwbGljaXRseSkgdGhpcyBzaG91bGQgbm90
IGluY3VyIGEgcGVyZm9ybWFuY2UgcGVuYWx0eS4KKyAgICAgICAgaWYgKHJlbGF5b3V0Q2hpbGRy
ZW4gfHwgKHItPnN0eWxlKCktPmhhc1N0YXRpY1koKSAmJiByLT5wYXJlbnQoKSAhPSB0aGlzICYm
IHItPnBhcmVudCgpLT5pc0Jsb2NrRmxvdygpKSkKKyAgICAgICAgICAgIHItPnNldENoaWxkTmVl
ZHNMYXlvdXQodHJ1ZSwgZmFsc2UpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIXIt
Pm5lZWRzTGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgci0+bWFya0ZvclBhZ2luYXRpb25SZWxh
eW91dElmTmVlZGVkKCk7Ci0KLSAgICAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gZG8gYSBm
dWxsIGxheW91dC4gIFdlIGp1c3QgaGF2ZSB0byB1cGRhdGUgb3VyIHBvc2l0aW9uLiBUcnkgdGhh
dCBmaXJzdC4gSWYgd2UgaGF2ZSBzaHJpbmstdG8tZml0IHdpZHRoCi0gICAgICAgICAgICAvLyBh
bmQgd2UgaGl0IHRoZSBhdmFpbGFibGUgd2lkdGggY29uc3RyYWludCwgdGhlIGxheW91dElmTmVl
ZGVkKCkgd2lsbCBjYXRjaCBpdCBhbmQgZG8gYSBmdWxsIGxheW91dC4KLSAgICAgICAgICAgIGlm
IChyLT5uZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dE9ubHkoKSkKLSAgICAgICAgICAgICAg
ICByLT50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVudE9ubHkoKTsKLSAgICAgICAgICAg
IHItPmxheW91dElmTmVlZGVkKCk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICho
YXNDb2x1bW5zKCkpCi0gICAgICAgICAgICB2aWV3KCktPmxheW91dFN0YXRlKCktPm1fY29sdW1u
SW5mbyA9IGNvbHVtbkluZm8oKTsgLy8gRklYTUU6IEtpbmQgb2YgZ3Jvc3MuIFdlIGp1c3QgcHV0
IHRoaXMgYmFjayBpbnRvIHRoZSBsYXlvdXQgc3RhdGUgc28gdGhhdCBwb3AoKSB3aWxsIHdvcmsu
CisgICAgICAgIC8vIElmIHJlbGF5b3V0Q2hpbGRyZW4gaXMgc2V0IGFuZCB3ZSBoYXZlIHBlcmNl
bnRhZ2UgcGFkZGluZywgd2UgYWxzbyBuZWVkIHRvIGludmFsaWRhdGUgdGhlIGNoaWxkJ3MgcHJl
ZiB3aWR0aHMuCisgICAgICAgIGlmIChyZWxheW91dENoaWxkcmVuICYmIChyLT5zdHlsZSgpLT5w
YWRkaW5nU3RhcnQoKS5pc1BlcmNlbnQoKSB8fCByLT5zdHlsZSgpLT5wYWRkaW5nRW5kKCkuaXNQ
ZXJjZW50KCkpKQorICAgICAgICAgICAgci0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5
KHRydWUsIGZhbHNlKTsKKyAgICAgICAgCisgICAgICAgIGlmICghci0+bmVlZHNMYXlvdXQoKSkK
KyAgICAgICAgICAgIHItPm1hcmtGb3JQYWdpbmF0aW9uUmVsYXlvdXRJZk5lZWRlZCgpOworCisg
ICAgICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gZG8gYSBmdWxsIGxheW91dC4gIFdlIGp1c3QgaGF2
ZSB0byB1cGRhdGUgb3VyIHBvc2l0aW9uLiBUcnkgdGhhdCBmaXJzdC4gSWYgd2UgaGF2ZSBzaHJp
bmstdG8tZml0IHdpZHRoCisgICAgICAgIC8vIGFuZCB3ZSBoaXQgdGhlIGF2YWlsYWJsZSB3aWR0
aCBjb25zdHJhaW50LCB0aGUgbGF5b3V0SWZOZWVkZWQoKSB3aWxsIGNhdGNoIGl0IGFuZCBkbyBh
IGZ1bGwgbGF5b3V0LgorICAgICAgICBpZiAoci0+bmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlv
dXRPbmx5KCkpCisgICAgICAgICAgICByLT50cnlMYXlvdXREb2luZ1Bvc2l0aW9uZWRNb3ZlbWVu
dE9ubHkoKTsKKyAgICAgICAgci0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICB9CisgICAgCisgICAg
aWYgKGhhc0NvbHVtbnMoKSkKKyAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5tX2NvbHVt
bkluZm8gPSBjb2x1bW5JbmZvKCk7IC8vIEZJWE1FOiBLaW5kIG9mIGdyb3NzLiBXZSBqdXN0IHB1
dCB0aGlzIGJhY2sgaW50byB0aGUgbGF5b3V0IHN0YXRlIHNvIHRoYXQgcG9wKCkgd2lsbCB3b3Jr
LgogfQogCiB2b2lkIFJlbmRlckJsb2NrOjptYXJrUG9zaXRpb25lZE9iamVjdHNGb3JMYXlvdXQo
KQpAQCAtMjExMyw3ICsyMTgwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cGFpbnQoUGFpbnRJbmZv
JiBwYWludAogICAgIC8vIEZJWE1FOiBDb3VsZCBlbGltaW5hdGUgdGhlIGlzUm9vdCgpIGNoZWNr
IGlmIHdlIGZpeCBiYWNrZ3JvdW5kIHBhaW50aW5nIHNvIHRoYXQgdGhlIFJlbmRlclZpZXcKICAg
ICAvLyBwYWludHMgdGhlIHJvb3QncyBiYWNrZ3JvdW5kLgogICAgIGlmICghaXNSb290KCkpIHsK
LSAgICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc2libGVPdmVyZmxvd1JlY3QoKTsKKyAg
ICAgICAgSW50UmVjdCBvdmVyZmxvd0JveCA9IHZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAg
ICBvdmVyZmxvd0JveC5pbmZsYXRlKG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2Up
KTsKICAgICAgICAgb3ZlcmZsb3dCb3gubW92ZSh0eCwgdHkpOwogICAgICAgICBpZiAoIW92ZXJm
bG93Qm94LmludGVyc2VjdHMocGFpbnRJbmZvLnJlY3QpKQpAQCAtMzM1NCw0MTggKzM0MjEsNiBA
QCBpbnQgUmVuZGVyQmxvY2s6Omxvd2VzdEZsb2F0TG9naWNhbEJvdHRvCiAgICAgcmV0dXJuIGxv
d2VzdEZsb2F0Qm90dG9tOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6OnRvcG1vc3RQb3NpdGlvbihi
b29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5z
Zm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVj
dCA9IHRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkVG9wID0gaW5j
bHVkZVNlbGYgJiYgdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgPiAwID8gMCA6IHRyYW5zZm9ybWVk
UmVjdC5oZWlnaHQoKTsKLSAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYm
IChoYXNPdmVyZmxvd0NsaXAoKSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0dXJu
IHRyYW5zZm9ybWVkVG9wOwotCi0gICAgaWYgKCFmaXJzdENoaWxkKCkgJiYgKCF0cmFuc2Zvcm1l
ZFJlY3Qud2lkdGgoKSB8fCAhdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpKSkKLSAgICAgICAgcmV0
dXJuIHRyYW5zZm9ybWVkVG9wOwotCi0gICAgaW50IHRvcCA9IGluY2x1ZGVTZWxmICYmIHdpZHRo
KCkgPiAwID8gMCA6IGhlaWdodCgpOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAg
ICAgLy8gRklYTUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8g
YXZvaWQgdmlzaXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZl
IHRvIGRlc2NlbmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1
Z2UgYWJzIGRpdiBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3
aGVyZSBkZWVwIGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0
IHRvCi0gICAgICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCog
YyA9IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAg
IGlmICghYy0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAg
ICAgICAgICAgICBSZW5kZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAg
ICAgICAgICAgdG9wID0gbWluKHRvcCwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCku
eSgpICsgY2hpbGRCb3gtPnRvcG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25l
ZCgpKQotICAgICAgICB0b3AgKz0gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKTsgCi0KLSAgICBp
ZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAg
ICByZXR1cm4gdG9wOwotICAgIAotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxm
ICYmIGlzUmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKSA6IDA7Ci0K
LSAgICBpZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIHRvcCA9IG1pbih0b3AsIHRvcExheW91dE92
ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0KLSAgICBpZiAobV9wb3NpdGlvbmVkT2JqZWN0
cykgewotICAgICAgICBSZW5kZXJCb3gqIHI7Ci0gICAgICAgIEl0ZXJhdG9yIGVuZCA9IG1fcG9z
aXRpb25lZE9iamVjdHMtPmVuZCgpOwotICAgICAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gbV9wb3Np
dGlvbmVkT2JqZWN0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICBy
ID0gKml0OwotICAgICAgICAgICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5vdCBz
Y3JvbGwgYW5kIHRodXMgc2hvdWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBwYXJ0
IG9mIHRoZSB0b3Btb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCktPnBv
c2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBT
aG91bGQgd29yayBmb3Igb3ZlcmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAgIC8v
IElmIGEgcG9zaXRpb25lZCBvYmplY3QgbGllcyBjb21wbGV0ZWx5IHRvIHRoZSBsZWZ0IG9mIHRo
ZSByb290IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAgICAg
ICAgICAvLyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRlIHRv
IHRoZSB0b3Btb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIEludFJlY3QgdHJhbnNmb3Jt
ZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAgICBpZiAoIWlz
UmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi54KCkgKyB0cmFuc2Zvcm1lZFIud2lkdGgoKSA+
IDAgfHwgdHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9uKGZhbHNlKSA+IDAp
IHsKLSAgICAgICAgICAgICAgICAgICAgaW50IHRwID0gdHJhbnNmb3JtZWRSLnkoKSArIHItPnRv
cG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIHRvcCA9IG1pbih0b3As
IHRwICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgQ29s
dW1uSW5mbyogY29sSW5mbyA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGNvbHVtbkNvdW50KGNvbEluZm8pOyBpKyspCi0gICAgICAgICAgICB0b3AgPSBt
aW4odG9wLCBjb2x1bW5SZWN0QXQoY29sSW5mbywgaSkueSgpICsgcmVsYXRpdmVPZmZzZXQpOwot
ICAgICAgICByZXR1cm4gdG9wOwotICAgIH0KLQotICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cykg
ewotICAgICAgICBGbG9hdGluZ09iamVjdCogcjsKLSAgICAgICAgRGVwcmVjYXRlZFB0ckxpc3RJ
dGVyYXRvcjxGbG9hdGluZ09iamVjdD4gaXQoKm1fZmxvYXRpbmdPYmplY3RzKTsKLSAgICAgICAg
Zm9yICggOyAociA9IGl0LmN1cnJlbnQoKSk7ICsraXQpIHsKLSAgICAgICAgICAgIGlmIChyLT5t
X3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsK
LSAgICAgICAgICAgICAgICBpbnQgdHAgPSByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1hcmdp
blRvcCgpICsgci0+bV9yZW5kZXJlci0+dG9wbW9zdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAg
ICAgICAgICB0b3AgPSBtaW4odG9wLCB0cCArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmICghaW5jbHVkZVNlbGYgJiYgZmlyc3RSb290
Qm94KCkpCi0gICAgICAgIHRvcCA9IG1pbih0b3AsIGZpcnN0Um9vdEJveCgpLT5zZWxlY3Rpb25U
b3AoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNs
dWRlVHJhbnNmb3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJh
bnNmb3JtKCkpIHsKLSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVP
dmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAg
IGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBp
bmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBsZWZ0ID0gbGVmdG1v
c3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVU
cmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJh
bnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRv
cCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC55KCk7Ci0gICAgfQotCi0gICAgcmV0
dXJuIHRvcDsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpsb3dlc3RQb3NpdGlvbihib29sIGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBs
eVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IHRyYW5z
Zm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgaW50IHRyYW5zZm9ybWVkQm90dG9tID0gaW5jbHVkZVNl
bGYgJiYgdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkgPiAwID8gdHJhbnNmb3JtZWRSZWN0LmhlaWdo
dCgpIDogMDsKLQotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgKGhhc092ZXJm
bG93Q2xpcCgpIHx8IGhhc0NvbnRyb2xDbGlwKCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3Jt
ZWRCb3R0b207Ci0KLSAgICBpZiAoIWZpcnN0Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53
aWR0aCgpIHx8ICF0cmFuc2Zvcm1lZFJlY3QuaGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJh
bnNmb3JtZWRCb3R0b207Ci0KLSAgICBpbnQgYm90dG9tID0gaW5jbHVkZVNlbGYgJiYgd2lkdGgo
KSA+IDAgPyBoZWlnaHQoKSA6IDA7Ci0KLSAgICBpZiAoIWhhc0NvbHVtbnMoKSkgewotICAgICAg
ICAvLyBGSVhNRTogQ29tZSB1cCB3aXRoIGEgd2F5IHRvIHVzZSB0aGUgbGF5ZXIgdHJlZSB0byBh
dm9pZCB2aXNpdGluZyBhbGwgdGhlIGtpZHMuCi0gICAgICAgIC8vIEZvciBub3csIHdlIGhhdmUg
dG8gZGVzY2VuZCBpbnRvIGFsbCB0aGUgY2hpbGRyZW4sIHNpbmNlIHdlIG1heSBoYXZlIGEgaHVn
ZSBhYnMgZGl2IGluc2lkZQotICAgICAgICAvLyBhIHRpbnkgcmVsIGRpdiBidXJpZWQgc29tZXdo
ZXJlIGRlZXAgaW4gb3VyIGNoaWxkIHRyZWUuICBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBnZXQg
dG8KLSAgICAgICAgLy8gdGhlIGFicyBkaXYuCi0gICAgICAgIC8vIFNlZSB0aGUgbGFzdCB0ZXN0
IGNhc2UgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMTQgZm9y
IHdoeSB0aGlzIGlzIGEgcHJvYmxlbS4KLSAgICAgICAgLy8gRm9yIGlubGluZSBjaGlsZHJlbiwg
d2UgbWlzcyByZWxhdGl2ZSBwb3NpdGlvbmVkIGJveGVzIHRoYXQgbWlnaHQgYmUgYnVyaWVkIGlu
c2lkZSA8c3Bhbj5zLgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9IGZpcnN0Q2hpbGQo
KTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlmICghYy0+aXNGbG9h
dGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAgICAgICAgICBSZW5k
ZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAgICAgICAgYm90dG9t
ID0gbWF4KGJvdHRvbSwgY2hpbGRCb3gtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueSgpICsgY2hp
bGRCb3gtPmxvd2VzdFBvc2l0aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBpZiAoaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAg
ICAgIGJvdHRvbSArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOyAgICAgCi0gICAgaWYgKCFp
bmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0
dXJuIGJvdHRvbTsKLQotICAgIGludCByZWxhdGl2ZU9mZnNldCA9IGluY2x1ZGVTZWxmICYmIGlz
UmVsUG9zaXRpb25lZCgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNldFkoKSA6IDA7Ci0KLSAgICBp
ZiAoaW5jbHVkZVNlbGYpCi0gICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGJvdHRvbUxheW91
dE92ZXJmbG93KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgIAotICAgIGlmIChtX3Bvc2l0
aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJlbmRlckJveCogcjsKLSAgICAgICAgSXRlcmF0b3Ig
ZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3Ig
aXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAg
ICAgICAgICAgIHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9iamVj
dHMgZG8gbm90IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUKLSAgICAgICAg
ICAgIC8vIHBhcnQgb2YgdGhlIGxvd2VzdCBwb3NpdGlvbi4KLSAgICAgICAgICAgIGlmIChyLT5z
dHlsZSgpLT5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICAv
LyBGSVhNRTogU2hvdWxkIHdvcmsgZm9yIG92ZXJmbG93IHNlY3Rpb25zIHRvby4KLSAgICAgICAg
ICAgICAgICAvLyBJZiBhIHBvc2l0aW9uZWQgb2JqZWN0IGxpZXMgY29tcGxldGVseSB0byB0aGUg
bGVmdCBvZiB0aGUgcm9vdCBpdCB3aWxsIGJlIHVucmVhY2hhYmxlIHZpYSBzY3JvbGxpbmcuCi0g
ICAgICAgICAgICAgICAgLy8gVGhlcmVmb3JlIHdlIHNob3VsZCBub3QgYWxsb3cgaXQgdG8gY29u
dHJpYnV0ZSB0byB0aGUgbG93ZXN0IHBvc2l0aW9uLgotICAgICAgICAgICAgICAgIEludFJlY3Qg
dHJhbnNmb3JtZWRSID0gci0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWlzUmVuZGVyVmlldygpIHx8IHRyYW5zZm9ybWVkUi54KCkgKyB0cmFuc2Zvcm1lZFIu
d2lkdGgoKSA+IDAgfHwgdHJhbnNmb3JtZWRSLngoKSArIHItPnJpZ2h0bW9zdFBvc2l0aW9uKGZh
bHNlKSA+IDApIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IGxwID0gdHJhbnNmb3JtZWRSLnko
KSArIHItPmxvd2VzdFBvc2l0aW9uKGZhbHNlKTsKLSAgICAgICAgICAgICAgICAgICAgYm90dG9t
ID0gbWF4KGJvdHRvbSwgbHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGhhc0NvbHVtbnMoKSkg
ewotICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1uSW5mbygpOwotICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29sdW1uQ291bnQoY29sSW5mbyk7IGkrKykKLSAgICAg
ICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGNvbHVtblJlY3RBdChjb2xJbmZvLCBpKS5ib3R0
b20oKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgcmV0dXJuIGJvdHRvbTsKLSAgICB9Ci0K
LSAgICBpZiAobV9mbG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHI7
Ci0gICAgICAgIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCpt
X2Zsb2F0aW5nT2JqZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJyZW50KCkpOyAr
K2l0ICkgewotICAgICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5kZXJl
ci0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCBscCA9IHIt
PnRvcCgpICsgci0+bV9yZW5kZXJlci0+bWFyZ2luVG9wKCkgKyByLT5tX3JlbmRlcmVyLT5sb3dl
c3RQb3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgYm90dG9tID0gbWF4KGJvdHRvbSwg
bHAgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBpZiAoIWluY2x1ZGVTZWxmKSB7Ci0gICAgICAgIGJvdHRvbSA9IG1heChib3R0b20sIGJv
cmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgcGFkZGluZ0JvdHRvbSgpICsgcmVsYXRpdmVPZmZz
ZXQpOwotICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICAgICAgaWYgKGxh
c3RSb290Qm94KCkpIHsKLSAgICAgICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21FZGdlID0gbGFz
dFJvb3RCb3goKS0+c2VsZWN0aW9uQm90dG9tKCk7Ci0gICAgICAgICAgICAgICAgYm90dG9tID0g
bWF4KGJvdHRvbSwgY2hpbGRCb3R0b21FZGdlICsgcGFkZGluZ0JvdHRvbSgpICsgcmVsYXRpdmVP
ZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
RmluZCB0aGUgbGFzdCBub3JtYWwgZmxvdyBjaGlsZC4KLSAgICAgICAgICAgIFJlbmRlckJveCog
Y3VyckJveCA9IGxhc3RDaGlsZEJveCgpOwotICAgICAgICAgICAgd2hpbGUgKGN1cnJCb3ggJiYg
Y3VyckJveC0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgIGN1cnJC
b3ggPSBjdXJyQm94LT5wcmV2aW91c1NpYmxpbmdCb3goKTsKLSAgICAgICAgICAgIGlmIChjdXJy
Qm94KSB7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1lZEN1cnJCb3ggPSBjdXJy
Qm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGludCBjaGlsZEJv
dHRvbUVkZ2UgPSB0cmFuc2Zvcm1lZEN1cnJCb3gueSgpICsgdHJhbnNmb3JtZWRDdXJyQm94Lmhl
aWdodCgpICsgY3VyckJveC0+Y29sbGFwc2VkTWFyZ2luQWZ0ZXIoKTsgLy8gRklYTUU6ICJhZnRl
ciIgaXMgd3JvbmcgaGVyZSBmb3IgbG93ZXN0UG9zaXRpb24uCi0gICAgICAgICAgICAgICAgYm90
dG9tID0gbWF4KGJvdHRvbSwgY2hpbGRCb3R0b21FZGdlICsgcGFkZGluZ0JvdHRvbSgpICsgcmVs
YXRpdmVPZmZzZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYg
KGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5
ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gdG9w
bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVk
ZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdo
dCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC5o
ZWlnaHQoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1pbnQgUmVuZGVyQmxv
Y2s6OnJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wg
aW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAg
IEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNmb3JtZWRGcmFtZVJlY3QoKTsKLSAgICBp
bnQgdHJhbnNmb3JtZWRSaWdodCA9IGluY2x1ZGVTZWxmICYmIHRyYW5zZm9ybWVkUmVjdC5oZWln
aHQoKSA+IDAgPyB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKSA6IDA7Ci0KLSAgICBpZiAoIWluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNPdmVyZmxvd0NsaXAoKSB8fCBoYXNDb250cm9sQ2xp
cCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkUmlnaHQ7Ci0KLSAgICBpZiAoIWZpcnN0
Q2hpbGQoKSAmJiAoIXRyYW5zZm9ybWVkUmVjdC53aWR0aCgpIHx8ICF0cmFuc2Zvcm1lZFJlY3Qu
aGVpZ2h0KCkpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSaWdodDsKLQotICAgIGludCBy
aWdodCA9IGluY2x1ZGVTZWxmICYmIGhlaWdodCgpID4gMCA/IHdpZHRoKCkgOiAwOwotCi0gICAg
aWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8gRklYTUU6IENvbWUgdXAgd2l0aCBhIHdh
eSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZvaWQgdmlzaXRpbmcgYWxsIHRoZSBraWRzLgot
ICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRvIGRlc2NlbmQgaW50byBhbGwgdGhlIGNoaWxk
cmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2UgYWJzIGRpdiBpbnNpZGUKLSAgICAgICAgLy8g
YSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVyZSBkZWVwIGluIG91ciBjaGlsZCB0cmVlLiAg
SW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRvCi0gICAgICAgIC8vIHRoZSBhYnMgZGl2Lgot
ICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5l
eHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlmICghYy0+aXNGbG9hdGluZ09yUG9zaXRpb25l
ZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJCb3gqIGNoaWxkQm94
ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIGNo
aWxkQm94LT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArIGNoaWxkQm94LT5yaWdodG1vc3RQ
b3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAg
aWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgpKQotICAgICAgICByaWdodCArPSBy
ZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotCi0gICAgaWYgKCFpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAgcmV0dXJuIHJpZ2h0OwotCi0gICAg
aW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYgJiYgaXNSZWxQb3NpdGlvbmVkKCkgPyBy
ZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpIDogMDsKLQotICAgIGlmIChpbmNsdWRlU2VsZikKLSAg
ICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSArIHJlbGF0aXZl
T2Zmc2V0KTsKLQotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmplY3RzKSB7Ci0gICAgICAgIFJlbmRl
ckJveCogcjsKLSAgICAgICAgSXRlcmF0b3IgZW5kID0gbV9wb3NpdGlvbmVkT2JqZWN0cy0+ZW5k
KCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bvc2l0aW9uZWRPYmplY3RzLT5iZWdp
bigpIDsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICByID0gKml0OwotICAgICAgICAg
ICAgLy8gRml4ZWQgcG9zaXRpb25lZCBvYmplY3RzIGRvIG5vdCBzY3JvbGwgYW5kIHRodXMgc2hv
dWxkIG5vdCBjb25zdGl0dXRlCi0gICAgICAgICAgICAvLyBwYXJ0IG9mIHRoZSByaWdodG1vc3Qg
cG9zaXRpb24uCi0gICAgICAgICAgICBpZiAoci0+c3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhl
ZFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIGZvciBv
dmVyZmxvdyBzZWN0aW9ucyB0b28uCi0gICAgICAgICAgICAgICAgLy8gSWYgYSBwb3NpdGlvbmVk
IG9iamVjdCBsaWVzIGNvbXBsZXRlbHkgYWJvdmUgdGhlIHJvb3QgaXQgd2lsbCBiZSB1bnJlYWNo
YWJsZSB2aWEgc2Nyb2xsaW5nLgotICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91
bGQgbm90IGFsbG93IGl0IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIHJpZ2h0bW9zdCBwb3NpdGlvbi4K
LSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUiA9IHItPnRyYW5zZm9ybWVkRnJh
bWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1JlbmRlclZpZXcoKSB8fCB0cmFuc2Zv
cm1lZFIueSgpICsgdHJhbnNmb3JtZWRSLmhlaWdodCgpID4gMCB8fCB0cmFuc2Zvcm1lZFIueSgp
ICsgci0+bG93ZXN0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAgICAgICAgICAgICAgICAgICBp
bnQgcnAgPSB0cmFuc2Zvcm1lZFIueCgpICsgci0+cmlnaHRtb3N0UG9zaXRpb24oZmFsc2UpOwot
ICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgcnAgKyByZWxhdGl2ZU9mZnNl
dCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBUaGlzIG9ubHkgbWF0dGVycyBm
b3IgTFRSCi0gICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsK
LSAgICAgICAgICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5JbmZvKCk7Ci0gICAgICAg
ICAgICB1bnNpZ25lZCBjb3VudCA9IGNvbHVtbkNvdW50KGNvbEluZm8pOwotICAgICAgICAgICAg
aWYgKGNvdW50KQotICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KGNvbHVtblJlY3RBdChjb2xJ
bmZvLCBjb3VudCAtIDEpLnJpZ2h0KCkgKyByZWxhdGl2ZU9mZnNldCwgcmlnaHQpOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNmb3JtICYmIGlu
Y2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkpIHsKLSAgICAg
ICAgICAgIGludCB0b3AgPSB0b3Btb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgICAgIGludCBib3R0b20g
PSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4
Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9u
KGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7
Ci0gICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3Jt
VG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwot
ICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVJlY3Qud2lkdGgoKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gcmlnaHQ7Ci0gICAgfQotCi0gICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzKSB7
Ci0gICAgICAgIEZsb2F0aW5nT2JqZWN0KiByOwotICAgICAgICBEZXByZWNhdGVkUHRyTGlzdEl0
ZXJhdG9yPEZsb2F0aW5nT2JqZWN0PiBpdCgqbV9mbG9hdGluZ09iamVjdHMpOwotICAgICAgICBm
b3IgKCA7IChyID0gaXQuY3VycmVudCgpKTsgKytpdCApIHsKLSAgICAgICAgICAgIGlmIChyLT5t
X3Nob3VsZFBhaW50IHx8IHItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsK
LSAgICAgICAgICAgICAgICBpbnQgcnAgPSByLT5sZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5tYXJn
aW5MZWZ0KCkgKyByLT5tX3JlbmRlcmVyLT5yaWdodG1vc3RQb3NpdGlvbihmYWxzZSk7Ci0gICAg
ICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHJwICsgcmVsYXRpdmVPZmZzZXQpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFpbmNsdWRlU2VsZikgewot
ICAgICAgICByaWdodCA9IG1heChyaWdodCwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSAr
IHBhZGRpbmdSaWdodCgpICsgcmVsYXRpdmVPZmZzZXQpOwotICAgICAgICBpZiAoY2hpbGRyZW5J
bmxpbmUoKSkgewotICAgICAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyQm94ID0gZmly
c3RMaW5lQm94KCk7IGN1cnJCb3g7IGN1cnJCb3ggPSBjdXJyQm94LT5uZXh0TGluZUJveCgpKSB7
Ci0gICAgICAgICAgICAgICAgaW50IGNoaWxkUmlnaHRFZGdlID0gY3VyckJveC0+eCgpICsgY3Vy
ckJveC0+bG9naWNhbFdpZHRoKCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
Ly8gSWYgdGhpcyBub2RlIGlzIGEgcm9vdCBlZGl0YWJsZSBlbGVtZW50LCB0aGVuIHRoZSByaWdo
dG1vc3RQb3NpdGlvbiBzaG91bGQgYWNjb3VudCBmb3IgYSBjYXJldCBhdCB0aGUgZW5kLgotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGZpbmQgYW5vdGhlciB3YXkgdG8gZG8gdGhp
cywgc2luY2Ugc2Nyb2xsYmFycyBjb3VsZCBzaG93IHdoZW4gd2UgZG9uJ3Qgd2FudCB0aGVtIHRv
LgotICAgICAgICAgICAgICAgIGlmIChub2RlKCkgJiYgbm9kZSgpLT5pc0NvbnRlbnRFZGl0YWJs
ZSgpICYmIG5vZGUoKSA9PSBub2RlKCktPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSAmJiBzdHlsZSgp
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgIXBhZGRpbmdSaWdodCgpKQotICAgICAgICAg
ICAgICAgICAgICBjaGlsZFJpZ2h0RWRnZSArPSAxOwotICAgICAgICAgICAgICAgIHJpZ2h0ID0g
bWF4KHJpZ2h0LCBjaGlsZFJpZ2h0RWRnZSArIHBhZGRpbmdSaWdodCgpICsgcmVsYXRpdmVPZmZz
ZXQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gV2Fs
ayBhbGwgbm9ybWFsIGZsb3cgY2hpbGRyZW4uCi0gICAgICAgICAgICBmb3IgKFJlbmRlckJveCog
Y3VyckJveCA9IGZpcnN0Q2hpbGRCb3goKTsgY3VyckJveDsgY3VyckJveCA9IGN1cnJCb3gtPm5l
eHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY3VyckJveC0+aXNGbG9hdGlu
Z09yUG9zaXRpb25lZCgpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkQ2hpbGQgPSBjdXJyQm94LT50cmFuc2Zvcm1lZEZy
YW1lUmVjdCgpOwotICAgICAgICAgICAgICAgIGludCBjaGlsZFJpZ2h0RWRnZSA9IHRyYW5zZm9y
bWVkQ2hpbGQueCgpICsgdHJhbnNmb3JtZWRDaGlsZC53aWR0aCgpICsgY3VyckJveC0+bWFyZ2lu
UmlnaHQoKTsKLSAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgY2hpbGRSaWdodEVk
Z2UgKyBwYWRkaW5nUmlnaHQoKSArIHJlbGF0aXZlT2Zmc2V0KTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNm
b3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkp
IHsKLSAgICAgICAgaW50IHRvcCA9IHRvcG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgYm90dG9t
ID0gbG93ZXN0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBF
eGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgaW50IGxlZnQgPSBsZWZ0bW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3Qo
SW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90dG9tIC0gdG9wKSk7Ci0gICAgICAg
IHJldHVybiB0cmFuc2Zvcm1SZWN0LndpZHRoKCk7Ci0gICAgfQotICAgIAotICAgIHJldHVybiBy
aWdodDsKLX0KLQotaW50IFJlbmRlckJsb2NrOjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5
VHJhbnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gdHJhbnNm
b3JtZWRGcmFtZVJlY3QoKTsKLSAgICBpbnQgdHJhbnNmb3JtZWRMZWZ0ID0gaW5jbHVkZVNlbGYg
JiYgdHJhbnNmb3JtZWRSZWN0LmhlaWdodCgpID4gMCA/IDAgOiB0cmFuc2Zvcm1lZFJlY3Qud2lk
dGgoKTsKLSAgICAKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9yICYmIChoYXNPdmVy
Zmxvd0NsaXAoKSB8fCBoYXNDb250cm9sQ2xpcCgpKSkKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9y
bWVkTGVmdDsKLQotICAgIGlmICghZmlyc3RDaGlsZCgpICYmICghdHJhbnNmb3JtZWRSZWN0Lndp
ZHRoKCkgfHwgIXRyYW5zZm9ybWVkUmVjdC5oZWlnaHQoKSkpCi0gICAgICAgIHJldHVybiB0cmFu
c2Zvcm1lZExlZnQ7Ci0KLSAgICBpbnQgbGVmdCA9IGluY2x1ZGVTZWxmICYmIGhlaWdodCgpID4g
MCA/IDAgOiB3aWR0aCgpOwotCi0gICAgaWYgKCFoYXNDb2x1bW5zKCkpIHsKLSAgICAgICAgLy8g
RklYTUU6IENvbWUgdXAgd2l0aCBhIHdheSB0byB1c2UgdGhlIGxheWVyIHRyZWUgdG8gYXZvaWQg
dmlzaXRpbmcgYWxsIHRoZSBraWRzLgotICAgICAgICAvLyBGb3Igbm93LCB3ZSBoYXZlIHRvIGRl
c2NlbmQgaW50byBhbGwgdGhlIGNoaWxkcmVuLCBzaW5jZSB3ZSBtYXkgaGF2ZSBhIGh1Z2UgYWJz
IGRpdiBpbnNpZGUKLSAgICAgICAgLy8gYSB0aW55IHJlbCBkaXYgYnVyaWVkIHNvbWV3aGVyZSBk
ZWVwIGluIG91ciBjaGlsZCB0cmVlLiAgSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gZ2V0IHRvCi0g
ICAgICAgIC8vIHRoZSBhYnMgZGl2LgotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogYyA9IGZp
cnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIGlmICgh
Yy0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpICYmIGMtPmlzQm94KCkpIHsKLSAgICAgICAgICAg
ICAgICBSZW5kZXJCb3gqIGNoaWxkQm94ID0gdG9SZW5kZXJCb3goYyk7Ci0gICAgICAgICAgICAg
ICAgbGVmdCA9IG1pbihsZWZ0LCBjaGlsZEJveC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkg
KyBjaGlsZEJveC0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGluY2x1ZGVTZWxmICYmIGlzUmVsUG9zaXRpb25lZCgp
KQotICAgICAgICBsZWZ0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7IAotCi0gICAgaWYg
KCFpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciAmJiBoYXNPdmVyZmxvd0NsaXAoKSkKLSAgICAgICAg
cmV0dXJuIGxlZnQ7Ci0gICAgCi0gICAgaW50IHJlbGF0aXZlT2Zmc2V0ID0gaW5jbHVkZVNlbGYg
JiYgaXNSZWxQb3NpdGlvbmVkKCkgPyByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpIDogMDsKLQot
ICAgIGlmIChpbmNsdWRlU2VsZikKLSAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCBsZWZ0TGF5b3V0
T3ZlcmZsb3coKSArIHJlbGF0aXZlT2Zmc2V0KTsKLQotICAgIGlmIChtX3Bvc2l0aW9uZWRPYmpl
Y3RzKSB7Ci0gICAgICAgIFJlbmRlckJveCogcjsKLSAgICAgICAgSXRlcmF0b3IgZW5kID0gbV9w
b3NpdGlvbmVkT2JqZWN0cy0+ZW5kKCk7Ci0gICAgICAgIGZvciAoSXRlcmF0b3IgaXQgPSBtX3Bv
c2l0aW9uZWRPYmplY3RzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAg
IHIgPSAqaXQ7Ci0gICAgICAgICAgICAvLyBGaXhlZCBwb3NpdGlvbmVkIG9iamVjdHMgZG8gbm90
IHNjcm9sbCBhbmQgdGh1cyBzaG91bGQgbm90IGNvbnN0aXR1dGUKLSAgICAgICAgICAgIC8vIHBh
cnQgb2YgdGhlIGxlZnRtb3N0IHBvc2l0aW9uLgotICAgICAgICAgICAgaWYgKHItPnN0eWxlKCkt
PnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBTaG91bGQgd29yayBmb3Igb3ZlcmZsb3cgc2VjdGlvbnMgdG9vLgotICAgICAgICAgICAgICAg
IC8vIElmIGEgcG9zaXRpb25lZCBvYmplY3QgbGllcyBjb21wbGV0ZWx5IGFib3ZlIHRoZSByb290
IGl0IHdpbGwgYmUgdW5yZWFjaGFibGUgdmlhIHNjcm9sbGluZy4KLSAgICAgICAgICAgICAgICAv
LyBUaGVyZWZvcmUgd2Ugc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBjb250cmlidXRlIHRvIHRoZSBs
ZWZ0bW9zdCBwb3NpdGlvbi4KLSAgICAgICAgICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUiA9
IHItPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFpc1JlbmRl
clZpZXcoKSB8fCB0cmFuc2Zvcm1lZFIueSgpICsgdHJhbnNmb3JtZWRSLmhlaWdodCgpID4gMCB8
fCB0cmFuc2Zvcm1lZFIueSgpICsgci0+bG93ZXN0UG9zaXRpb24oZmFsc2UpID4gMCkgewotICAg
ICAgICAgICAgICAgICAgICBpbnQgbHAgPSB0cmFuc2Zvcm1lZFIueCgpICsgci0+bGVmdG1vc3RQ
b3NpdGlvbihmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgbHAg
KyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBUaGlz
IG9ubHkgbWF0dGVycyBmb3IgUlRMCi0gICAgICAgIGlmICghc3R5bGUoKS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKSB7Ci0gICAgICAgICAgICBDb2x1bW5JbmZvKiBjb2xJbmZvID0gY29sdW1u
SW5mbygpOwotICAgICAgICAgICAgdW5zaWduZWQgY291bnQgPSBjb2x1bW5Db3VudChjb2xJbmZv
KTsKLSAgICAgICAgICAgIGlmIChjb3VudCkKLSAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGNv
bHVtblJlY3RBdChjb2xJbmZvLCBjb3VudCAtIDEpLngoKSArIHJlbGF0aXZlT2Zmc2V0LCBsZWZ0
KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbGVmdDsKLSAgICB9Ci0KLSAgICBpZiAobV9m
bG9hdGluZ09iamVjdHMpIHsKLSAgICAgICAgRmxvYXRpbmdPYmplY3QqIHI7Ci0gICAgICAgIERl
cHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I8RmxvYXRpbmdPYmplY3Q+IGl0KCptX2Zsb2F0aW5nT2Jq
ZWN0cyk7Ci0gICAgICAgIGZvciAoIDsgKHIgPSBpdC5jdXJyZW50KCkpOyArK2l0ICkgewotICAg
ICAgICAgICAgaWYgKHItPm1fc2hvdWxkUGFpbnQgfHwgci0+bV9yZW5kZXJlci0+aGFzU2VsZlBh
aW50aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGludCBscCA9IHItPmxlZnQoKSArIHIt
Pm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHItPm1fcmVuZGVyZXItPmxlZnRtb3N0UG9zaXRp
b24oZmFsc2UpOwotICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgbHAgKyByZWxhdGl2
ZU9mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoIWlu
Y2x1ZGVTZWxmICYmIGZpcnN0TGluZUJveCgpKSB7Ci0gICAgICAgIGZvciAoSW5saW5lRmxvd0Jv
eCogY3VyckJveCA9IGZpcnN0TGluZUJveCgpOyBjdXJyQm94OyBjdXJyQm94ID0gY3VyckJveC0+
bmV4dExpbmVCb3goKSkKLSAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgKGludCljdXJyQm94
LT54KCkgKyByZWxhdGl2ZU9mZnNldCk7Ci0gICAgfQotCi0gICAgaWYgKGFwcGx5VHJhbnNmb3Jt
ID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXllcigp
LT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gdG9wbW9zdFBvc2l0aW9uKGlu
Y2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0g
ICAgICAgIGludCBib3R0b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmlnaHQgPSBy
aWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4
Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9ybVJlY3QgPSBhcHBseUxh
eWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdodCAtIGxlZnQsIGJvdHRv
bSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC54KCk7Ci0gICAgfQotICAg
IAotICAgIHJldHVybiBsZWZ0OwotfQotCiB2b2lkIFJlbmRlckJsb2NrOjptYXJrTGluZXNEaXJ0
eUluQmxvY2tSYW5nZShpbnQgbG9naWNhbFRvcCwgaW50IGxvZ2ljYWxCb3R0b20sIFJvb3RJbmxp
bmVCb3gqIGhpZ2hlc3QpCiB7CiAgICAgaWYgKGxvZ2ljYWxUb3AgPj0gbG9naWNhbEJvdHRvbSkK
QEAgLTM5MTYsNiArMzU3MSw4IEBAIGludCBSZW5kZXJCbG9jazo6YWRkT3ZlcmhhbmdpbmdGbG9h
dHMoUmUKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGZsb2F0aW5n
T2JqLT5tX3Nob3VsZFBhaW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgZmxvYXRpbmdPYmotPm1faXNEZXNjZW5kYW50ID0gdHJ1ZTsKKwogICAgICAgICAgICAg
ICAgIC8vIFdlIGNyZWF0ZSB0aGUgZmxvYXRpbmcgb2JqZWN0IGxpc3QgbGF6aWx5LgogICAgICAg
ICAgICAgICAgIGlmICghbV9mbG9hdGluZ09iamVjdHMpIHsKICAgICAgICAgICAgICAgICAgICAg
bV9mbG9hdGluZ09iamVjdHMgPSBuZXcgRGVwcmVjYXRlZFB0ckxpc3Q8RmxvYXRpbmdPYmplY3Q+
OwpAQCAtMzkyMywxNyArMzU4MCwyMiBAQCBpbnQgUmVuZGVyQmxvY2s6OmFkZE92ZXJoYW5naW5n
RmxvYXRzKFJlCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIG1fZmxvYXRpbmdP
YmplY3RzLT5hcHBlbmQoZmxvYXRpbmdPYmopOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVs
c2UgaWYgKG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgJiYgIXItPm1fc2hvdWxkUGFpbnQgJiYg
IXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYKLSAgICAgICAgICAgICAg
ICAgICByLT5tX3JlbmRlcmVyLT5pc0Rlc2NlbmRhbnRPZihjaGlsZCkgJiYgci0+bV9yZW5kZXJl
ci0+ZW5jbG9zaW5nTGF5ZXIoKSA9PSBjaGlsZC0+ZW5jbG9zaW5nTGF5ZXIoKSkKLSAgICAgICAg
ICAgIC8vIFRoZSBmbG9hdCBpcyBub3Qgb3ZlcmhhbmdpbmcgZnJvbSB0aGlzIGJsb2NrLCBzbyBp
ZiBpdCBpcyBhIGRlc2NlbmRhbnQgb2YgdGhlIGNoaWxkLCB0aGUgY2hpbGQgc2hvdWxkCi0gICAg
ICAgICAgICAvLyBwYWludCBpdCAodGhlIG90aGVyIGNhc2UgaXMgdGhhdCBpdCBpcyBpbnRydWRp
bmcgaW50byB0aGUgY2hpbGQpLCB1bmxlc3MgaXQgaGFzIGl0cyBvd24gbGF5ZXIgb3IgZW5jbG9z
aW5nCi0gICAgICAgICAgICAvLyBsYXllci4KLSAgICAgICAgICAgIC8vIElmIG1ha2VDaGlsZFBh
aW50T3RoZXJGbG9hdHMgaXMgZmFsc2UsIGl0IG1lYW5zIHRoYXQgdGhlIGNoaWxkIG11c3QgYWxy
ZWFkeSBrbm93IGFib3V0IGFsbCB0aGUgZmxvYXRzCi0gICAgICAgICAgICAvLyBpdCBzaG91bGQg
cGFpbnQuCi0gICAgICAgICAgICByLT5tX3Nob3VsZFBhaW50ID0gdHJ1ZTsKLQotICAgICAgICBp
ZiAoci0+bV9zaG91bGRQYWludCAmJiAhci0+bV9yZW5kZXJlci0+aGFzU2VsZlBhaW50aW5nTGF5
ZXIoKSkKLSAgICAgICAgICAgIGNoaWxkLT5hZGRPdmVyZmxvd0Zyb21DaGlsZChyLT5tX3JlbmRl
cmVyLCBJbnRTaXplKHItPmxlZnQoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpbkxlZnQoKSwgci0+
dG9wKCkgKyByLT5tX3JlbmRlcmVyLT5tYXJnaW5Ub3AoKSkpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgaWYgKG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgJiYgIXItPm1fc2hvdWxk
UGFpbnQgJiYgIXItPm1fcmVuZGVyZXItPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYKKyAgICAg
ICAgICAgICAgICByLT5tX3JlbmRlcmVyLT5pc0Rlc2NlbmRhbnRPZihjaGlsZCkgJiYgci0+bV9y
ZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKSA9PSBjaGlsZC0+ZW5jbG9zaW5nTGF5ZXIoKSkgewor
ICAgICAgICAgICAgICAgIC8vIFRoZSBmbG9hdCBpcyBub3Qgb3ZlcmhhbmdpbmcgZnJvbSB0aGlz
IGJsb2NrLCBzbyBpZiBpdCBpcyBhIGRlc2NlbmRhbnQgb2YgdGhlIGNoaWxkLCB0aGUgY2hpbGQg
c2hvdWxkCisgICAgICAgICAgICAgICAgLy8gcGFpbnQgaXQgKHRoZSBvdGhlciBjYXNlIGlzIHRo
YXQgaXQgaXMgaW50cnVkaW5nIGludG8gdGhlIGNoaWxkKSwgdW5sZXNzIGl0IGhhcyBpdHMgb3du
IGxheWVyIG9yIGVuY2xvc2luZworICAgICAgICAgICAgICAgIC8vIGxheWVyLgorICAgICAgICAg
ICAgICAgIC8vIElmIG1ha2VDaGlsZFBhaW50T3RoZXJGbG9hdHMgaXMgZmFsc2UsIGl0IG1lYW5z
IHRoYXQgdGhlIGNoaWxkIG11c3QgYWxyZWFkeSBrbm93IGFib3V0IGFsbCB0aGUgZmxvYXRzCisg
ICAgICAgICAgICAgICAgLy8gaXQgc2hvdWxkIHBhaW50LgorICAgICAgICAgICAgICAgIHItPm1f
c2hvdWxkUGFpbnQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAg
ICAgICAvLyBTaW5jZSB0aGUgZmxvYXQgZG9lc24ndCBvdmVyaGFuZywgaXQgZGlkbid0IGdldCBw
dXQgaW50byBvdXIgbGlzdC4gIFdlIG5lZWQgdG8gZ28gYWhlYWQgYW5kIGFkZCBpdHMgb3ZlcmZs
b3cgaW4gdG8gdGhlCisgICAgICAgICAgICAvLyBjaGlsZCBub3cuCisgICAgICAgICAgICBpZiAo
ci0+bV9pc0Rlc2NlbmRhbnQpCisgICAgICAgICAgICAgICAgY2hpbGQtPmFkZE92ZXJmbG93RnJv
bUNoaWxkKHItPm1fcmVuZGVyZXIsIEludFNpemUoci0+bGVmdCgpICsgci0+bV9yZW5kZXJlci0+
bWFyZ2luTGVmdCgpLCByLT50b3AoKSArIHItPm1fcmVuZGVyZXItPm1hcmdpblRvcCgpKSk7Cisg
ICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbTsKIH0K
QEAgLTQxMDEsNyArMzc2Myw3IEBAIGJvb2wgUmVuZGVyQmxvY2s6Om5vZGVBdFBvaW50KGNvbnN0
IEhpdFQKIAogICAgIGlmICghaXNSZW5kZXJWaWV3KCkpIHsKICAgICAgICAgLy8gQ2hlY2sgaWYg
d2UgbmVlZCB0byBkbyBhbnl0aGluZyBhdCBhbGwuCi0gICAgICAgIEludFJlY3Qgb3ZlcmZsb3dC
b3ggPSB2aXNpYmxlT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dCb3gg
PSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgb3ZlcmZsb3dCb3gubW92ZSh0eCwgdHkp
OwogICAgICAgICBpZiAoIW92ZXJmbG93Qm94LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2lu
dChfeCwgX3kpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQ1NjEsNDkgKzQyMjMs
NDMgQEAgSW50UmVjdCBSZW5kZXJCbG9jazo6Y29sdW1uUmVjdEF0KENvbHVtbgogCiBib29sIFJl
bmRlckJsb2NrOjpsYXlvdXRDb2x1bW5zKGJvb2wgaGFzU3BlY2lmaWVkUGFnZUhlaWdodCwgaW50
IHBhZ2VIZWlnaHQsIExheW91dFN0YXRlTWFpbnRhaW5lciYgc3RhdGVQdXNoZXIpCiB7Ci0gICAg
aWYgKGhhc0NvbHVtbnMoKSkgewotICAgICAgICAvLyBGSVhNRTogV2UgZG9uJ3QgYmFsYW5jZSBw
cm9wZXJseSBhdCBhbGwgaW4gdGhlIHByZXNlbmNlIG9mIGZvcmNlZCBwYWdlIGJyZWFrcy4gIFdl
IG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0Ci0gICAgICAgIC8vIHRoZSBkaXN0YW5jZSBiZXR3ZWVu
IGZvcmNlZCBwYWdlIGJyZWFrcyBpcyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYWtpbmcgdGhlIG1p
bmltdW0gY29sdW1uIGhlaWdodCB0b28gdGFsbC4KLSAgICAgICAgQ29sdW1uSW5mbyogY29sSW5m
byA9IGNvbHVtbkluZm8oKTsKLSAgICAgICAgaW50IGRlc2lyZWRDb2x1bW5Db3VudCA9IGNvbElu
Zm8tPmRlc2lyZWRDb2x1bW5Db3VudCgpOwotICAgICAgICBpZiAoIWhhc1NwZWNpZmllZFBhZ2VI
ZWlnaHQpIHsKLSAgICAgICAgICAgIGludCBjb2x1bW5IZWlnaHQgPSBwYWdlSGVpZ2h0OwotICAg
ICAgICAgICAgaW50IG1pbkNvbHVtbkNvdW50ID0gY29sSW5mby0+Zm9yY2VkQnJlYWtzKCkgKyAx
OwotICAgICAgICAgICAgaWYgKG1pbkNvbHVtbkNvdW50ID49IGRlc2lyZWRDb2x1bW5Db3VudCkg
ewotICAgICAgICAgICAgICAgIC8vIFRoZSBmb3JjZWQgcGFnZSBicmVha3MgYXJlIGluIGNvbnRy
b2wgb2YgdGhlIGJhbGFuY2luZy4gIEp1c3Qgc2V0IHRoZSBjb2x1bW4gaGVpZ2h0IHRvIHRoZQot
ICAgICAgICAgICAgICAgIC8vIG1heGltdW0gcGFnZSBicmVhayBkaXN0YW5jZS4KLSAgICAgICAg
ICAgICAgICBpZiAoIXBhZ2VIZWlnaHQpIHsKLSAgICAgICAgICAgICAgICAgICAgaW50IGRpc3Rh
bmNlQmV0d2VlbkJyZWFrcyA9IG1heChjb2xJbmZvLT5tYXhpbXVtRGlzdGFuY2VCZXR3ZWVuRm9y
Y2VkQnJlYWtzKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlWShib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKSArIGNvbnRlbnRIZWlnaHQoKSkgLSBjb2xJbmZvLT5mb3JjZWRCcmVha09mZnNldCgp
KTsKLSAgICAgICAgICAgICAgICAgICAgY29sdW1uSGVpZ2h0ID0gbWF4KGNvbEluZm8tPm1pbmlt
dW1Db2x1bW5IZWlnaHQoKSwgZGlzdGFuY2VCZXR3ZWVuQnJlYWtzKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRIZWlnaHQoKSA+IHBhZ2VIZWlnaHQg
KiBkZXNpcmVkQ29sdW1uQ291bnQpIHsKLSAgICAgICAgICAgICAgICAvLyBOb3cgdGhhdCB3ZSBr
bm93IHRoZSBpbnRyaW5zaWMgaGVpZ2h0IG9mIHRoZSBjb2x1bW5zLCB3ZSBoYXZlIHRvIHJlYmFs
YW5jZSB0aGVtLgotICAgICAgICAgICAgICAgIGNvbHVtbkhlaWdodCA9IG1heChjb2xJbmZvLT5t
aW5pbXVtQ29sdW1uSGVpZ2h0KCksIChpbnQpY2VpbGYoKGZsb2F0KWNvbnRlbnRIZWlnaHQoKSAv
IGRlc2lyZWRDb2x1bW5Db3VudCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpZiAoY29sdW1uSGVpZ2h0ICYmIGNvbHVtbkhlaWdodCAhPSBwYWdlSGVpZ2h0KSB7
Ci0gICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucG9wKCk7Ci0gICAgICAgICAgICAgICAgbV9l
dmVySGFkTGF5b3V0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBsYXlvdXRCbG9jayhmYWxzZSwg
Y29sdW1uSGVpZ2h0KTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfSAKLSAgICAgICAgCi0gICAgICAgIGlmIChwYWdlSGVpZ2h0KSAvLyBGSVhN
RTogU2hvdWxkIHdlIHVzZSBsb3dlc3RQb3NpdGlvbiAoZXhjbHVkaW5nIG91ciBwb3NpdGlvbmVk
IG9iamVjdHMpIGluc3RlYWQgb2YgY29udGVudEhlaWdodCgpPwotICAgICAgICAgICAgY29sSW5m
by0+c2V0Q29sdW1uQ291bnRBbmRIZWlnaHQoY2VpbGYoKGZsb2F0KWNvbnRlbnRIZWlnaHQoKSAv
IHBhZ2VIZWlnaHQpLCBwYWdlSGVpZ2h0KTsKLQotICAgICAgICBpZiAoY29sdW1uQ291bnQoY29s
SW5mbykpIHsKLSAgICAgICAgICAgIEludFJlY3QgbGFzdFJlY3QgPSBjb2x1bW5SZWN0QXQoY29s
SW5mbywgY29sdW1uQ291bnQoY29sSW5mbykgLSAxKTsKLSAgICAgICAgICAgIGludCBvdmVyZmxv
d0xlZnQgPSAhc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbWluKDAsIGxhc3RS
ZWN0LngoKSkgOiAwOwotICAgICAgICAgICAgaW50IG92ZXJmbG93UmlnaHQgPSBzdHlsZSgpLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBtYXgod2lkdGgoKSwgbGFzdFJlY3QueCgpICsgbGFz
dFJlY3Qud2lkdGgoKSkgOiAwOwotICAgICAgICAgICAgaW50IG92ZXJmbG93SGVpZ2h0ID0gYm9y
ZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBjb2xJbmZvLT5jb2x1bW5IZWlnaHQoKTsKLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgc2V0TG9naWNhbEhlaWdodChvdmVyZmxvd0hlaWdodCArIGJv
cmRlckJvdHRvbSgpICsgcGFkZGluZ0JvdHRvbSgpICsgaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdo
dCgpKTsKKyAgICBpZiAoIWhhc0NvbHVtbnMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgICAgICBtX292ZXJmbG93LmNsZWFyKCk7Ci0gICAgICAgICAgICBhZGRMYXlvdXRPdmVy
ZmxvdyhJbnRSZWN0KG92ZXJmbG93TGVmdCwgMCwgb3ZlcmZsb3dSaWdodCAtIG92ZXJmbG93TGVm
dCwgb3ZlcmZsb3dIZWlnaHQpKTsKKyAgICAvLyBGSVhNRTogV2UgZG9uJ3QgYmFsYW5jZSBwcm9w
ZXJseSBhdCBhbGwgaW4gdGhlIHByZXNlbmNlIG9mIGZvcmNlZCBwYWdlIGJyZWFrcy4gIFdlIG5l
ZWQgdG8gdW5kZXJzdGFuZCB3aGF0CisgICAgLy8gdGhlIGRpc3RhbmNlIGJldHdlZW4gZm9yY2Vk
IHBhZ2UgYnJlYWtzIGlzIHNvIHRoYXQgd2UgY2FuIGF2b2lkIG1ha2luZyB0aGUgbWluaW11bSBj
b2x1bW4gaGVpZ2h0IHRvbyB0YWxsLgorICAgIENvbHVtbkluZm8qIGNvbEluZm8gPSBjb2x1bW5J
bmZvKCk7CisgICAgaW50IGRlc2lyZWRDb2x1bW5Db3VudCA9IGNvbEluZm8tPmRlc2lyZWRDb2x1
bW5Db3VudCgpOworICAgIGlmICghaGFzU3BlY2lmaWVkUGFnZUhlaWdodCkgeworICAgICAgICBp
bnQgY29sdW1uSGVpZ2h0ID0gcGFnZUhlaWdodDsKKyAgICAgICAgaW50IG1pbkNvbHVtbkNvdW50
ID0gY29sSW5mby0+Zm9yY2VkQnJlYWtzKCkgKyAxOworICAgICAgICBpZiAobWluQ29sdW1uQ291
bnQgPj0gZGVzaXJlZENvbHVtbkNvdW50KSB7CisgICAgICAgICAgICAvLyBUaGUgZm9yY2VkIHBh
Z2UgYnJlYWtzIGFyZSBpbiBjb250cm9sIG9mIHRoZSBiYWxhbmNpbmcuICBKdXN0IHNldCB0aGUg
Y29sdW1uIGhlaWdodCB0byB0aGUKKyAgICAgICAgICAgIC8vIG1heGltdW0gcGFnZSBicmVhayBk
aXN0YW5jZS4KKyAgICAgICAgICAgIGlmICghcGFnZUhlaWdodCkgeworICAgICAgICAgICAgICAg
IGludCBkaXN0YW5jZUJldHdlZW5CcmVha3MgPSBtYXgoY29sSW5mby0+bWF4aW11bURpc3RhbmNl
QmV0d2VlbkZvcmNlZEJyZWFrcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlWShib3JkZXJUb3AoKSAr
IHBhZGRpbmdUb3AoKSArIGNvbnRlbnRIZWlnaHQoKSkgLSBjb2xJbmZvLT5mb3JjZWRCcmVha09m
ZnNldCgpKTsKKyAgICAgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWlu
aW11bUNvbHVtbkhlaWdodCgpLCBkaXN0YW5jZUJldHdlZW5CcmVha3MpOworICAgICAgICAgICAg
fQorICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRIZWlnaHQoKSA+IHBhZ2VIZWlnaHQgKiBkZXNp
cmVkQ29sdW1uQ291bnQpIHsKKyAgICAgICAgICAgIC8vIE5vdyB0aGF0IHdlIGtub3cgdGhlIGlu
dHJpbnNpYyBoZWlnaHQgb2YgdGhlIGNvbHVtbnMsIHdlIGhhdmUgdG8gcmViYWxhbmNlIHRoZW0u
CisgICAgICAgICAgICBjb2x1bW5IZWlnaHQgPSBtYXgoY29sSW5mby0+bWluaW11bUNvbHVtbkhl
aWdodCgpLCAoaW50KWNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBkZXNpcmVkQ29sdW1u
Q291bnQpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKGNvbHVtbkhlaWdodCAm
JiBjb2x1bW5IZWlnaHQgIT0gcGFnZUhlaWdodCkgeworICAgICAgICAgICAgc3RhdGVQdXNoZXIu
cG9wKCk7CisgICAgICAgICAgICBtX2V2ZXJIYWRMYXlvdXQgPSB0cnVlOworICAgICAgICAgICAg
bGF5b3V0QmxvY2soZmFsc2UsIGNvbHVtbkhlaWdodCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgfQorICAgIH0gCisgICAgCisgICAgaWYgKHBhZ2VIZWlnaHQpIC8vIEZJWE1F
OiBTaG91bGQgd2UgdXNlIGxvd2VzdFBvc2l0aW9uIChleGNsdWRpbmcgb3VyIHBvc2l0aW9uZWQg
b2JqZWN0cykgaW5zdGVhZCBvZiBjb250ZW50SGVpZ2h0KCk/CisgICAgICAgIGNvbEluZm8tPnNl
dENvbHVtbkNvdW50QW5kSGVpZ2h0KGNlaWxmKChmbG9hdCljb250ZW50SGVpZ2h0KCkgLyBwYWdl
SGVpZ2h0KSwgcGFnZUhlaWdodCk7CisKKyAgICBpZiAoY29sdW1uQ291bnQoY29sSW5mbykpIHsK
KyAgICAgICAgc2V0TG9naWNhbEhlaWdodChib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSArIGNv
bEluZm8tPmNvbHVtbkhlaWdodCgpICsgYm9yZGVyQm90dG9tKCkgKyBwYWRkaW5nQm90dG9tKCkg
KyBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOworICAgICAgICBtX292ZXJmbG93LmNsZWFy
KCk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTYxNjEsOCArNTgxNyw4IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdExpbmVQb3NpdGlvbkZvclAKICAgICAvLyBsaW5lIGFu
ZCBhbGwgZm9sbG93aW5nIGxpbmVzLgogICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9IHZp
ZXcoKS0+bGF5b3V0U3RhdGUoKTsKICAgICBpbnQgcGFnZUhlaWdodCA9IGxheW91dFN0YXRlLT5t
X3BhZ2VIZWlnaHQ7Ci0gICAgaW50IHlQb3MgPSBsaW5lQm94LT50b3BWaXNpYmxlT3ZlcmZsb3co
KTsKLSAgICBpbnQgbGluZUhlaWdodCA9IGxpbmVCb3gtPmJvdHRvbVZpc2libGVPdmVyZmxvdygp
IC0geVBvczsKKyAgICBpbnQgeVBvcyA9IGxpbmVCb3gtPnRvcFZpc3VhbE92ZXJmbG93KCk7Cisg
ICAgaW50IGxpbmVIZWlnaHQgPSBsaW5lQm94LT5ib3R0b21WaXN1YWxPdmVyZmxvdygpIC0geVBv
czsKICAgICBpZiAobGF5b3V0U3RhdGUtPm1fY29sdW1uSW5mbykKICAgICAgICAgbGF5b3V0U3Rh
dGUtPm1fY29sdW1uSW5mby0+dXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChsaW5lSGVpZ2h0KTsK
ICAgICB5UG9zICs9IGRlbHRhOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lv
biA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk4LDExICs5OCw2IEBAIHB1YmxpYzoKICAgICBpbnQgYXZhaWxhYmxlTG9naWNhbFdp
ZHRoRm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKICAgICBpbnQg
bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShpbnQgcG9zaXRpb24sIGJvb2wgZmlyc3RMaW5lKSBj
b25zdCB7IHJldHVybiBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dpY2Fs
UmlnaHRPZmZzZXRGb3JDb250ZW50KCksIGZpcnN0TGluZSk7IH0KICAgICBpbnQgbG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKGludCBwb3NpdGlvbiwgYm9vbCBmaXJzdExpbmUpIGNvbnN0IHsgcmV0
dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbExlZnRPZmZzZXRG
b3JDb250ZW50KCksIGZpcnN0TGluZSk7IH0KLQotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQb3Np
dGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2Vs
ZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAg
dmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9
IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9ybSA9IEluY2x1ZGVU
cmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wg
aW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwg
QXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGlu
dCBsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBi
b29sIGluY2x1ZGVTZWxmID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3Jt
KSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbkZvclBv
aW50KGNvbnN0IEludFBvaW50Jik7CiAgICAgCkBAIC0yMDksNiArMjA0LDggQEAgcHVibGljOgog
ICAgIH07CiAgICAgTWFyZ2luVmFsdWVzIG1hcmdpblZhbHVlc0ZvckNoaWxkKFJlbmRlckJveCog
Y2hpbGQpOwogCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgLypob3Jp
em9udGFsU2Nyb2xsYmFyQ2hhbmdlZCovLCBib29sIC8qdmVydGljYWxTY3JvbGxiYXJDaGFuZ2Vk
Ki8pIHsgfTsKKwogcHJvdGVjdGVkOgogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgb25seSB1
c2VkIGludGVybmFsbHkgdG8gbWFuaXB1bGF0ZSB0aGUgcmVuZGVyIHRyZWUgc3RydWN0dXJlIHZp
YSByZW1vdmUvaW5zZXJ0L2FwcGVuZENoaWxkTm9kZS4KICAgICAvLyBTaW5jZSB0aGV5IGFyZSB0
eXBpY2FsbHkgY2FsbGVkIG9ubHkgdG8gbW92ZSBvYmplY3RzIGFyb3VuZCB3aXRoaW4gYW5vbnlt
b3VzIGJsb2NrcyAod2hpY2ggb25seSBoYXZlIGxheWVycyBpbgpAQCAtMjg2LDYgKzI4MywxMyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIGhhc0xpbmVJZkVtcHR5KCkgY29uc3Q7CiAg
ICAgYm9vbCBsYXlvdXRPbmx5UG9zaXRpb25lZE9iamVjdHMoKTsKIAorICAgIHZvaWQgY29tcHV0
ZU92ZXJmbG93KGludCBvbGRDbGllbnRBZnRlckVkZ2UsIGJvb2wgcmVjb21wdXRlRmxvYXRzID0g
ZmFsc2UpOworICAgIHZpcnR1YWwgdm9pZCBhZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpOworICAg
IHZvaWQgYWRkT3ZlcmZsb3dGcm9tRmxvYXRzKCk7CisgICAgdm9pZCBhZGRPdmVyZmxvd0Zyb21Q
b3NpdGlvbmVkT2JqZWN0cygpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJl
bigpOworICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKKwogI2lmIEVO
QUJMRShTVkcpCiBwcm90ZWN0ZWQ6CiAKQEAgLTI5OCw4ICszMDIsNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgfQogI2VuZGlmCiAKLSAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUJsb2NrQ2hpbGRyZW4oKTsK
LQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdENoaWxkTGlzdCogdmlydHVhbENo
aWxkcmVuKCkgeyByZXR1cm4gY2hpbGRyZW4oKTsgfQogICAgIHZpcnR1YWwgY29uc3QgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0KiB2aXJ0dWFsQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBjaGlsZHJl
bigpOyB9CkBAIC0zMzAsOCArMzMyLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxheW91dEJsb2Nr
Q2hpbGRyZW4oYm9vbCByZWxheW91dENoaWxkcmVuLCBpbnQmIG1heEZsb2F0TG9naWNhbEJvdHRv
bSk7CiAgICAgdm9pZCBsYXlvdXRJbmxpbmVDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IGludCYgcmVwYWludExvZ2ljYWxUb3AsIGludCYgcmVwYWludExvZ2ljYWxCb3R0b20pOwogCi0g
ICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uTGlzdE1hcmtlcigpIHsgfQotCiAgICAgdmlydHVhbCB2
b2lkIGJvcmRlckZpdEFkanVzdChpbnQmIHgsIGludCYgdykgY29uc3Q7IC8vIFNocmluayB0aGUg
Ym94IGluIHdoaWNoIHRoZSBib3JkZXIgcGFpbnRzIGlmIGJvcmRlci1maXQgaXMgc2V0LgogCiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudChQc2V1ZG9JZCk7CkBAIC00
NjMsMTUgKzQ2MywxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0ZUJsb2NrRGlyZWN0aW9u
UG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiwgQmlkaVJ1biosIEdseXBoT3ZlcmZsb3dB
bmRGYWxsYmFja0ZvbnRzTWFwJiwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CiAgICAgdm9pZCBk
ZWxldGVFbGxpcHNpc0xpbmVCb3hlcygpOwogICAgIHZvaWQgY2hlY2tMaW5lc0ZvclRleHRPdmVy
ZmxvdygpOwotICAgIHZvaWQgYWRkT3ZlcmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4oKTsKLSAgICBp
bnQgYmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0
OwotICAgIGludCBhZnRlclNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gq
KSBjb25zdDsKKyAgICBpbnQgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShSb290SW5s
aW5lQm94KikgY29uc3Q7CisgICAgaW50IGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShS
b290SW5saW5lQm94KikgY29uc3Q7CiAgICAgaW50IGJlZm9yZVNpZGVMYXlvdXRPdmVyZmxvd0Zv
ckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIGludCBhZnRlclNpZGVMYXlvdXRPdmVy
Zmxvd0ZvckxpbmUoUm9vdElubGluZUJveCopIGNvbnN0OwogICAgIC8vIEVuZCBvZiBmdW5jdGlv
bnMgZGVmaW5lZCBpbiBSZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwLgogCi0gICAgdm9pZCBhZGRP
dmVyZmxvd0Zyb21GbG9hdHMoKTsKLQogICAgIHZvaWQgcGFpbnRGbG9hdHMoUGFpbnRJbmZvJiwg
aW50IHR4LCBpbnQgdHksIGJvb2wgcHJlc2VydmVQaGFzZSA9IGZhbHNlKTsKICAgICB2b2lkIHBh
aW50Q29udGVudHMoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFpbnRD
b2x1bW5Db250ZW50cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgYm9vbCBwYWludEZsb2F0
cyA9IGZhbHNlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5
b3V0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTUsOCArNjE1LDggQEAgdm9pZCBS
ZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hpbGRyZW4oYgogICAgICAgICAgICAgUmVuZGVyQXJl
bmEqIGFyZW5hID0gcmVuZGVyQXJlbmEoKTsKICAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGJv
eCA9IHN0YXJ0TGluZTsKICAgICAgICAgICAgIHdoaWxlIChib3gpIHsKLSAgICAgICAgICAgICAg
ICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZp
c2libGVPdmVyZmxvd0ZvckxpbmUoYm94KSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxCb3R0b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVy
Zmxvd0ZvckxpbmUoYm94KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBt
aW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94
KSk7CisgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExv
Z2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShib3gpKTsKICAgICAg
ICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94LT5uZXh0Um9vdEJveCgpOwogICAg
ICAgICAgICAgICAgIGJveC0+ZGVsZXRlTGluZShhcmVuYSk7CiAgICAgICAgICAgICAgICAgYm94
ID0gbmV4dDsKQEAgLTc2NCw2ICs3NjQsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxp
bmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAjZW5kaWYKIAorICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gQ29tcHV0ZSBvdXIgb3ZlcmZsb3cgbm93LgorICAgICAgICAg
ICAgICAgICAgICAgICAgbGluZUJveC0+Y29tcHV0ZU92ZXJmbG93KGxpbmVCb3gtPmxpbmVUb3Ao
KSwgbGluZUJveC0+bGluZUJvdHRvbSgpLCBkb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpLCB0
ZXh0Qm94RGF0YU1hcCk7CisgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gSGlnaGxpZ2h0IGFjdHMgYXMgYW4gb3ZlcmZsb3cgaW5mbGF0aW9uLgogICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHN0eWxlKCktPmhpZ2hsaWdodCgpICE9IG51bGxBdG9t
KQpAQCAtNzc3LDggKzc4MCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGluZUNoaWxk
cmVuKGIKICAgICAgICAgICAgICAgICBpZiAobGluZUJveCkgewogICAgICAgICAgICAgICAgICAg
ICBsaW5lQm94LT5zZXRMaW5lQnJlYWtJbmZvKGVuZC5vYmosIGVuZC5wb3MsIHJlc29sdmVyLnN0
YXR1cygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZVJlcGFpbnRCb3VuZHMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dp
Y2FsVG9wLCBiZWZvcmVTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9n
aWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9IG1pbihyZXBhaW50TG9n
aWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShsaW5lQm94KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9n
aWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxpbmVCb3gpKTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgaWYgKHBhZ2luYXRlZCkgewpAQCAtNzg4LDcgKzc5MSw3IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmxheW91dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgb2xkTGluZVdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShvbGRMb2dpY2Fs
SGVpZ2h0LCBmaXJzdExpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVCb3gt
PmFkanVzdFBvc2l0aW9uKDAsIGFkanVzdG1lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh1c2VSZXBhaW50Qm91bmRzKSAvLyBUaGlzIGNhbiBvbmx5IGJlIGEgcG9zaXRpdmUg
YWRqdXN0bWVudCwgc28gbm8gbmVlZCB0byB1cGRhdGUgcmVwYWludFRvcC4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0b20gPSBtYXgocmVwYWludExv
Z2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGluZUJveCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1h
eChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKGxp
bmVCb3gpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUob2xkTG9naWNh
bEhlaWdodCArIGFkanVzdG1lbnQsIGZpcnN0TGluZSkgIT0gb2xkTGluZVdpZHRoKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gZGVsZXRlIHRoaXMgbGlu
ZSwgcmVtb3ZlIGFsbCBmbG9hdHMgdGhhdCBnb3QgYWRkZWQsIGFuZCBsZXQgbGluZSBsYXlvdXQg
cmUtcnVuLgpAQCAtODQyLDggKzg0NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dElubGlu
ZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdExpbmVQb3NpdGlvbkZv
clBhZ2luYXRpb24obGluZSwgZGVsdGEpOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgICAgIGlmIChkZWx0YSkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmVwYWlu
dExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3Zl
cmZsb3dGb3JMaW5lKGxpbmUpICsgbWluKGRlbHRhLCAwKSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0
ZXJTaWRlVmlzaWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSArIG1heChkZWx0YSwgMCkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2lj
YWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGluZSkgKyBtaW4oZGVsdGEs
IDApKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4
KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUobGlu
ZSkgKyBtYXgoZGVsdGEsIDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtPmFkanVz
dFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckJveCo+KiBjbGVhbkxpbmVGbG9hdHMgPSBsaW5lLT5m
bG9hdHNQdHIoKSkgewpAQCAtODYxLDggKzg2NCw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91
dElubGluZUNoaWxkcmVuKGIKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBsaW5lID0g
ZW5kTGluZTsKICAgICAgICAgICAgICAgICBSZW5kZXJBcmVuYSogYXJlbmEgPSByZW5kZXJBcmVu
YSgpOwogICAgICAgICAgICAgICAgIHdoaWxlIChsaW5lKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHJlcGFpbnRMb2dpY2FsVG9wID0gbWluKHJlcGFpbnRMb2dpY2FsVG9wLCBiZWZvcmVTaWRlVmlz
aWJsZU92ZXJmbG93Rm9yTGluZShsaW5lKSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlcGFpbnRM
b2dpY2FsQm90dG9tID0gbWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXNpYmxl
T3ZlcmZsb3dGb3JMaW5lKGxpbmUpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0Zv
ckxpbmUobGluZSkpOworICAgICAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbEJvdHRvbSA9
IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5l
KGxpbmUpKTsKICAgICAgICAgICAgICAgICAgICAgUm9vdElubGluZUJveCogbmV4dCA9IGxpbmUt
Pm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgICAgIGxpbmUtPmRlbGV0ZUxpbmUoYXJl
bmEpOwogICAgICAgICAgICAgICAgICAgICBsaW5lID0gbmV4dDsKQEAgLTg3NCw3ICs4NzcsNyBA
QCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAv
LyBUaGlzIGhhcyB0byBiZSBkb25lIGJlZm9yZSBhZGRpbmcgaW4gdGhlIGJvdHRvbSBib3JkZXIv
cGFkZGluZywgb3IgdGhlIGZsb2F0IHdpbGwKICAgICAgICAgICAgIC8vIGluY2x1ZGUgdGhlIHBh
ZGRpbmcgaW5jb3JyZWN0bHkuIC1kd2gKICAgICAgICAgICAgIGlmIChjaGVja0ZvckZsb2F0c0Zy
b21MYXN0TGluZSkgewotICAgICAgICAgICAgICAgIGludCBib3R0b21WaXN1YWxPdmVyZmxvdyA9
IGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUobGFzdFJvb3RCb3goKSk7CisgICAgICAg
ICAgICAgICAgaW50IGJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYWZ0ZXJTaWRlVmlzdWFsT3ZlcmZs
b3dGb3JMaW5lKGxhc3RSb290Qm94KCkpOwogICAgICAgICAgICAgICAgIGludCBib3R0b21MYXlv
dXRPdmVyZmxvdyA9IGFmdGVyU2lkZUxheW91dE92ZXJmbG93Rm9yTGluZShsYXN0Um9vdEJveCgp
KTsKICAgICAgICAgICAgICAgICBUcmFpbGluZ0Zsb2F0c1Jvb3RJbmxpbmVCb3gqIHRyYWlsaW5n
RmxvYXRzTGluZUJveCA9IG5ldyAocmVuZGVyQXJlbmEoKSkgVHJhaWxpbmdGbG9hdHNSb290SW5s
aW5lQm94KHRoaXMpOwogICAgICAgICAgICAgICAgIG1fbGluZUJveGVzLmFwcGVuZExpbmVCb3go
dHJhaWxpbmdGbG9hdHNMaW5lQm94KTsKQEAgLTg4Miw3ICs4ODUsOSBAQCB2b2lkIFJlbmRlckJs
b2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbihiCiAgICAgICAgICAgICAgICAgR2x5cGhPdmVyZmxv
d0FuZEZhbGxiYWNrRm9udHNNYXAgdGV4dEJveERhdGFNYXA7CiAgICAgICAgICAgICAgICAgVmVy
dGljYWxQb3NpdGlvbkNhY2hlIHZlcnRpY2FsUG9zaXRpb25DYWNoZTsKICAgICAgICAgICAgICAg
ICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPmFsaWduQm94ZXNJbkJsb2NrRGlyZWN0aW9uKGxvZ2lj
YWxIZWlnaHQoKSwgdGV4dEJveERhdGFNYXAsIHZlcnRpY2FsUG9zaXRpb25DYWNoZSk7Ci0gICAg
ICAgICAgICAgICAgdHJhaWxpbmdGbG9hdHNMaW5lQm94LT5zZXRCbG9ja0RpcmVjdGlvbk92ZXJm
bG93UG9zaXRpb25zKGxvZ2ljYWxIZWlnaHQoKSwgYm90dG9tTGF5b3V0T3ZlcmZsb3csIGxvZ2lj
YWxIZWlnaHQoKSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgICAgICAgICAgICAgIEludFJl
Y3QgbG9naWNhbExheW91dE92ZXJmbG93KDAsIGxvZ2ljYWxIZWlnaHQoKSwgMSwgYm90dG9tTGF5
b3V0T3ZlcmZsb3cpOworICAgICAgICAgICAgICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJm
bG93KDAsIGxvZ2ljYWxIZWlnaHQoKSwgMSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgICAg
ICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJl
Y3RzKGxvZ2ljYWxMYXlvdXRPdmVyZmxvdywgbG9naWNhbFZpc3VhbE92ZXJmbG93KTsKICAgICAg
ICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrTG9naWNhbEhlaWdodChs
b2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxhc3RGbG9h
dCkgewpAQCAtOTU1LDggKzk2MCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpkZXRl
cm1pbmVTdGEKICAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VSZXBhaW50Qm91bmRzKQogICAg
ICAgICAgICAgICAgICAgICAgICAgdXNlUmVwYWludEJvdW5kcyA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBt
aW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dGb3JMaW5lKGN1
cnIpICsgbWluKHBhZ2luYXRpb25EZWx0YSwgMCkpOwotICAgICAgICAgICAgICAgICAgICByZXBh
aW50TG9naWNhbEJvdHRvbSA9IG1heChyZXBhaW50TG9naWNhbEJvdHRvbSwgYWZ0ZXJTaWRlVmlz
aWJsZU92ZXJmbG93Rm9yTGluZShjdXJyKSArIG1heChwYWdpbmF0aW9uRGVsdGEsIDApKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxU
b3AsIGJlZm9yZVNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoY3VycikgKyBtaW4ocGFnaW5hdGlv
bkRlbHRhLCAwKSk7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0g
bWF4KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUo
Y3VycikgKyBtYXgocGFnaW5hdGlvbkRlbHRhLCAwKSk7CiAgICAgICAgICAgICAgICAgICAgIGN1
cnItPmFkanVzdFBvc2l0aW9uKDAsIHBhZ2luYXRpb25EZWx0YSk7CiAgICAgICAgICAgICAgICAg
fSAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIH0KQEAgLTExNzIsOCArMTE3Nyw4IEBAIGJv
b2wgUmVuZGVyQmxvY2s6Om1hdGNoZWRFbmRMaW5lKGNvbnN0IEkKICAgICAgICAgICAgIFJvb3RJ
bmxpbmVCb3gqIGJveFRvRGVsZXRlID0gZW5kTGluZTsKICAgICAgICAgICAgIFJlbmRlckFyZW5h
KiBhcmVuYSA9IHJlbmRlckFyZW5hKCk7CiAgICAgICAgICAgICB3aGlsZSAoYm94VG9EZWxldGUg
JiYgYm94VG9EZWxldGUgIT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2lj
YWxUb3AgPSBtaW4ocmVwYWludExvZ2ljYWxUb3AsIGJlZm9yZVNpZGVWaXNpYmxlT3ZlcmZsb3dG
b3JMaW5lKGJveFRvRGVsZXRlKSk7Ci0gICAgICAgICAgICAgICAgcmVwYWludExvZ2ljYWxCb3R0
b20gPSBtYXgocmVwYWludExvZ2ljYWxCb3R0b20sIGFmdGVyU2lkZVZpc2libGVPdmVyZmxvd0Zv
ckxpbmUoYm94VG9EZWxldGUpKTsKKyAgICAgICAgICAgICAgICByZXBhaW50TG9naWNhbFRvcCA9
IG1pbihyZXBhaW50TG9naWNhbFRvcCwgYmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9yTGluZShi
b3hUb0RlbGV0ZSkpOworICAgICAgICAgICAgICAgIHJlcGFpbnRMb2dpY2FsQm90dG9tID0gbWF4
KHJlcGFpbnRMb2dpY2FsQm90dG9tLCBhZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUoYm94
VG9EZWxldGUpKTsKICAgICAgICAgICAgICAgICBSb290SW5saW5lQm94KiBuZXh0ID0gYm94VG9E
ZWxldGUtPm5leHRSb290Qm94KCk7CiAgICAgICAgICAgICAgICAgYm94VG9EZWxldGUtPmRlbGV0
ZUxpbmUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGJveFRvRGVsZXRlID0gbmV4dDsKQEAgLTIw
MjksMjkgKzIwMzQsMzMgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGlu
ZQogCiB2b2lkIFJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbigpCiB7
CisgICAgaW50IGVuZFBhZGRpbmcgPSBoYXNPdmVyZmxvd0NsaXAoKSA/IHBhZGRpbmdFbmQoKSA6
IDA7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gZmluZCBhbm90aGVyIHdheSB0byBkbyB0aGlzLCBz
aW5jZSBzY3JvbGxiYXJzIGNvdWxkIHNob3cgd2hlbiB3ZSBkb24ndCB3YW50IHRoZW0gdG8uCisg
ICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpICYmICFlbmRQYWRkaW5nICYmIG5vZGUoKSAmJiBub2Rl
KCktPmlzQ29udGVudEVkaXRhYmxlKCkgJiYgbm9kZSgpID09IG5vZGUoKS0+cm9vdEVkaXRhYmxl
RWxlbWVudCgpICYmIHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAg
ZW5kUGFkZGluZyA9IDE7CiAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290
Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgIGFkZExh
eW91dE92ZXJmbG93KGN1cnItPmxheW91dE92ZXJmbG93UmVjdCgpKTsKKyAgICAgICAgYWRkTGF5
b3V0T3ZlcmZsb3coY3Vyci0+cGFkZGVkTGF5b3V0T3ZlcmZsb3dSZWN0KGVuZFBhZGRpbmcpKTsK
ICAgICAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKICAgICAgICAgICAgIGFkZFZpc3VhbE92
ZXJmbG93KGN1cnItPnZpc3VhbE92ZXJmbG93UmVjdCgpKTsKICAgICB9CiB9CiAKLWludCBSZW5k
ZXJCbG9jazo6YmVmb3JlU2lkZVZpc2libGVPdmVyZmxvd0ZvckxpbmUoUm9vdElubGluZUJveCog
bGluZSkgY29uc3QKK2ludCBSZW5kZXJCbG9jazo6YmVmb3JlU2lkZVZpc3VhbE92ZXJmbG93Rm9y
TGluZShSb290SW5saW5lQm94KiBsaW5lKSBjb25zdAogewogICAgIC8vIE92ZXJmbG93IGlzIGlu
IHRoZSBibG9jaydzIGNvb3JkaW5hdGUgc3BhY2UsIHdoaWNoIG1lYW5zIGl0IGlzbid0IHB1cmVs
eSBwaHlzaWNhbC4gIEZvciBmbGlwcGVkIGJsb2NrcyAocmwgYW5kIGJ0KSwKICAgICAvLyB3ZSBj
b250aW51ZSB0byB1c2UgdG9wIGFuZCBsZWZ0IG92ZXJmbG93IGV2ZW4gdGhvdWdoIHBoeXNpY2Fs
bHkgaXQncyBib3R0b20gYW5kIHJpZ2h0LgogICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gbGluZS0+dG9wVmlzaWJsZU92ZXJmbG93KCk7
Ci0gICAgcmV0dXJuIGxpbmUtPmxlZnRWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICAgICAgcmV0dXJu
IGxpbmUtPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgcmV0dXJuIGxpbmUtPmxlZnRWaXN1YWxP
dmVyZmxvdygpOwogfQogCi1pbnQgUmVuZGVyQmxvY2s6OmFmdGVyU2lkZVZpc2libGVPdmVyZmxv
d0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZSkgY29uc3QKK2ludCBSZW5kZXJCbG9jazo6YWZ0
ZXJTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmUpIGNvbnN0CiB7
CiAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRpbmF0ZSBzcGFjZSwgd2hp
Y2ggbWVhbnMgaXQgaXNuJ3QgcHVyZWx5IHBoeXNpY2FsLiAgRm9yIGZsaXBwZWQgYmxvY2tzIChy
bCBhbmQgYnQpLAogICAgIC8vIHdlIGNvbnRpbnVlIHRvIHVzZSBib3R0b20gYW5kIHJpZ2h0IG92
ZXJmbG93IGV2ZW4gdGhvdWdoIHBoeXNpY2FsbHkgaXQncyB0b3AgYW5kIGxlZnQuCiAgICAgaWYg
KHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBsaW5l
LT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKTsKLSAgICByZXR1cm4gbGluZS0+cmlnaHRWaXNpYmxl
T3ZlcmZsb3coKTsKKyAgICAgICAgcmV0dXJuIGxpbmUtPmJvdHRvbVZpc3VhbE92ZXJmbG93KCk7
CisgICAgcmV0dXJuIGxpbmUtPnJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKIH0KIAogaW50IFJlbmRl
ckJsb2NrOjpiZWZvcmVTaWRlTGF5b3V0T3ZlcmZsb3dGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxp
bmUpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDczMzM0KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA2
LDkgKzQwNiwxMCBAQCBpbnQgUmVuZGVyQm94OjpzY3JvbGxXaWR0aCgpIGNvbnN0CiAgICAgaWYg
KGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5ZXIoKS0+c2Nyb2xsV2lkdGgo
KTsKICAgICAvLyBGb3Igb2JqZWN0cyB3aXRoIHZpc2libGUgb3ZlcmZsb3csIHRoaXMgbWF0Y2hl
cyBJRS4KKyAgICAvLyBGSVhNRTogTmVlZCB0byB3b3JrIHJpZ2h0IHdpdGggd3JpdGluZyBtb2Rl
cy4KICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICBy
ZXR1cm4gbWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAt
IGJvcmRlckxlZnQoKSk7Ci0gICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4oMCwgbGVmdG1v
c3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3JkZXJMZWZ0KCkpOworICAgICAgICByZXR1cm4g
bWF4KGNsaWVudFdpZHRoKCksIHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSAtIGJvcmRlckxlZnQoKSk7
CisgICAgcmV0dXJuIGNsaWVudFdpZHRoKCkgLSBtaW4oMCwgbGVmdExheW91dE92ZXJmbG93KCkg
LSBib3JkZXJMZWZ0KCkpOwogfQogCiBpbnQgUmVuZGVyQm94OjpzY3JvbGxIZWlnaHQoKSBjb25z
dApAQCAtNDE2LDcgKzQxNyw4IEBAIGludCBSZW5kZXJCb3g6OnNjcm9sbEhlaWdodCgpIGNvbnN0
CiAgICAgaWYgKGhhc092ZXJmbG93Q2xpcCgpKQogICAgICAgICByZXR1cm4gbGF5ZXIoKS0+c2Ny
b2xsSGVpZ2h0KCk7CiAgICAgLy8gRm9yIG9iamVjdHMgd2l0aCB2aXNpYmxlIG92ZXJmbG93LCB0
aGlzIG1hdGNoZXMgSUUuCi0gICAgcmV0dXJuIG1heChjbGllbnRIZWlnaHQoKSwgbG93ZXN0UG9z
aXRpb24odHJ1ZSwgZmFsc2UpIC0gYm9yZGVyVG9wKCkpOworICAgIC8vIEZJWE1FOiBOZWVkIHRv
IHdvcmsgcmlnaHQgd2l0aCB3cml0aW5nIG1vZGVzLgorICAgIHJldHVybiBtYXgoY2xpZW50SGVp
Z2h0KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCkgLSBib3JkZXJUb3AoKSk7CiB9CiAKIGludCBS
ZW5kZXJCb3g6OnNjcm9sbExlZnQoKSBjb25zdApAQCAtNDUxLDIyICs0NTMsNiBAQCB2b2lkIFJl
bmRlckJveDo6YWJzb2x1dGVRdWFkcyhWZWN0b3I8RmxvCiAgICAgcXVhZHMuYXBwZW5kKGxvY2Fs
VG9BYnNvbHV0ZVF1YWQoRmxvYXRSZWN0KDAsIDAsIHdpZHRoKCksIGhlaWdodCgpKSkpOwogfQog
Ci1JbnRSZWN0IFJlbmRlckJveDo6YXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChjb25zdCBJbnRS
ZWN0JiByZWN0KSBjb25zdAotewotICAgIGlmIChoYXNMYXllcigpICYmIGxheWVyKCktPmhhc1Ry
YW5zZm9ybSgpKSB7Ci0gICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybTsKLSAg
ICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZShyZWN0LngoKSwgcmVjdC55KCkpOwotICAgICAgICB0
cmFuc2Zvcm0ubXVsdExlZnQobGF5ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpKTsKLSAgICAgICAg
cmV0dXJuIHRyYW5zZm9ybS5tYXBSZWN0KEludFJlY3QoMCwgMCwgcmVjdC53aWR0aCgpLCByZWN0
LmhlaWdodCgpKSk7Ci0gICAgfQotICAgIHJldHVybiByZWN0OwotfQotCi1JbnRSZWN0IFJlbmRl
ckJveDo6dHJhbnNmb3JtZWRGcmFtZVJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBhcHBseUxh
eWVyVHJhbnNmb3JtVG9SZWN0KGZyYW1lUmVjdCgpKTsKLX0KLQogdm9pZCBSZW5kZXJCb3g6OnVw
ZGF0ZUxheWVyVHJhbnNmb3JtKCkKIHsKICAgICAvLyBUcmFuc2Zvcm0tb3JpZ2luIGRlcGVuZHMg
b24gYm94IHNpemUsIHNvIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBsYXllciB0cmFuc2Zvcm0gYWZ0
ZXIgbGF5b3V0LgpAQCAtNzczLDggKzc1OSw4IEBAIHZvaWQgUmVuZGVyQm94OjpwYWludFJvb3RC
b3hEZWNvcmF0aW9ucygKICAgICAvLyBDU1MyIDE0LjI6CiAgICAgLy8gVGhlIGJhY2tncm91bmQg
b2YgdGhlIGJveCBnZW5lcmF0ZWQgYnkgdGhlIHJvb3QgZWxlbWVudCBjb3ZlcnMgdGhlIGVudGly
ZSBjYW52YXMgaW5jbHVkaW5nCiAgICAgLy8gaXRzIG1hcmdpbnMuCi0gICAgaW50IGJ4ID0gdHgg
LSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmxlZnRMYXlvdXRPdmVyZmxvdygpOwotICAgIGludCBi
eSA9IHR5IC0gbWFyZ2luVG9wKCkgKyB2aWV3KCktPnRvcExheW91dE92ZXJmbG93KCk7CisgICAg
aW50IGJ4ID0gdHggLSBtYXJnaW5MZWZ0KCkgKyB2aWV3KCktPmRvY0xlZnQoKTsKKyAgICBpbnQg
YnkgPSB0eSAtIG1hcmdpblRvcCgpICsgdmlldygpLT5kb2NUb3AoKTsKICAgICBpbnQgYncgPSBt
YXgodyArIG1hcmdpbkxlZnQoKSArIG1hcmdpblJpZ2h0KCkgKyBib3JkZXJMZWZ0KCkgKyBib3Jk
ZXJSaWdodCgpLCBydyk7CiAgICAgaW50IGJoID0gbWF4KGggKyBtYXJnaW5Ub3AoKSArIG1hcmdp
bkJvdHRvbSgpICsgYm9yZGVyVG9wKCkgKyBib3JkZXJCb3R0b20oKSwgcmgpOwogCkBAIC0xMzE2
LDcgKzEzMDIsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvCiAg
ICAgaWYgKHN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFICYmICFlbmNsb3NpbmdMYXll
cigpLT5oYXNWaXNpYmxlQ29udGVudCgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCi0g
ICAgSW50UmVjdCByID0gdmlzaWJsZU92ZXJmbG93UmVjdCgpOworICAgIEludFJlY3QgciA9IHZp
c3VhbE92ZXJmbG93UmVjdCgpOwogCiAgICAgUmVuZGVyVmlldyogdiA9IHZpZXcoKTsKICAgICBp
ZiAodikgewpAQCAtMjk2Miw1MCArMjk0OCw2IEBAIEludFJlY3QgUmVuZGVyQm94Ojpsb2NhbENh
cmV0UmVjdChJbmxpbmUKICAgICByZXR1cm4gcmVjdDsKIH0KIAotaW50IFJlbmRlckJveDo6dG9w
bW9zdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRS
ZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0g
JiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1lZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0g
ICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJhbnNmb3JtZWRSZWN0LndpZHRoKCkpCi0gICAgICAg
IHJldHVybiAwOwotICAgIGludCB0b3AgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkK
LSAgICAgICAgdG9wICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCk7Ci0gICAgcmV0dXJuIHRv
cDsKLX0KLQotaW50IFJlbmRlckJveDo6bG93ZXN0UG9zaXRpb24oYm9vbCAvKmluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yKi8sIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtIGFwcGx5VHJh
bnNmb3JtKSBjb25zdAotewotICAgIEludFJlY3QgdHJhbnNmb3JtZWRSZWN0ID0gYXBwbHlUcmFu
c2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiA/IHRyYW5zZm9ybWVkRnJh
bWVSZWN0KCkgOiBmcmFtZVJlY3QoKTsKLSAgICBpZiAoIWluY2x1ZGVTZWxmIHx8ICF0cmFuc2Zv
cm1lZFJlY3Qud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaW50IGJvdHRvbSA9IHRy
YW5zZm9ybWVkUmVjdC5oZWlnaHQoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0gICAg
ICAgIGJvdHRvbSArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpOwotICAgIHJldHVybiBib3R0
b207Ci19Ci0KLWludCBSZW5kZXJCb3g6OnJpZ2h0bW9zdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBs
eVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5
VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1l
ZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJh
bnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpbnQgcmlnaHQg
PSB0cmFuc2Zvcm1lZFJlY3Qud2lkdGgoKTsKLSAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkpCi0g
ICAgICAgIHJpZ2h0ICs9IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCk7Ci0gICAgcmV0dXJuIHJp
Z2h0OwotfQotCi1pbnQgUmVuZGVyQm94OjpsZWZ0bW9zdFBvc2l0aW9uKGJvb2wgLyppbmNsdWRl
T3ZlcmZsb3dJbnRlcmlvciovLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBs
eVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBJbnRSZWN0IHRyYW5zZm9ybWVkUmVjdCA9IGFwcGx5
VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgPyB0cmFuc2Zvcm1l
ZEZyYW1lUmVjdCgpIDogZnJhbWVSZWN0KCk7Ci0gICAgaWYgKCFpbmNsdWRlU2VsZiB8fCAhdHJh
bnNmb3JtZWRSZWN0LmhlaWdodCgpKQotICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRSZWN0Lndp
ZHRoKCk7Ci0gICAgaW50IGxlZnQgPSAwOwotICAgIGlmIChpc1JlbFBvc2l0aW9uZWQoKSkKLSAg
ICAgICAgbGVmdCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WCgpOwotICAgIHJldHVybiBsZWZ0
OwotfQotCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0
IEludFBvaW50JiBwb2ludCkKIHsKICAgICAvLyBubyBjaGlsZHJlbi4uLnJldHVybiB0aGlzIHJl
bmRlciBvYmplY3QncyBlbGVtZW50LCBpZiB0aGVyZSBpcyBvbmUsIGFuZCBvZmZzZXQgMApAQCAt
MzEzMCw0NyArMzA3Miw2NyBAQCB2b2lkIFJlbmRlckJveDo6YWRkU2hhZG93T3ZlcmZsb3coKQog
CiB2b2lkIFJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwg
Y29uc3QgSW50U2l6ZSYgZGVsdGEpCiB7Ci0gICAgLy8gVXBkYXRlIG91ciBvdmVyZmxvdyBpbiBj
YXNlIHRoZSBjaGlsZCBzcGlsbHMgb3V0IHRoZSBibG9jaywgYnV0IG9ubHkgaWYgd2Ugd2VyZSBn
b2luZyB0byBwYWludAotICAgIC8vIHRoZSBjaGlsZCBibG9jayBvdXJzZWx2ZXMuCi0gICAgaWYg
KGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICByZXR1cm47Ci0KICAgICAv
LyBPbmx5IHByb3BhZ2F0ZSBsYXlvdXQgb3ZlcmZsb3cgZnJvbSB0aGUgY2hpbGQgaWYgdGhlIGNo
aWxkIGlzbid0IGNsaXBwaW5nIGl0cyBvdmVyZmxvdy4gIElmIGl0IGlzLCB0aGVuCi0gICAgLy8g
aXRzIG92ZXJmbG93IGlzIGludGVybmFsIHRvIGl0LCBhbmQgd2UgZG9uJ3QgY2FyZSBhYm91dCBp
dC4KLSAgICBJbnRSZWN0IGNoaWxkTGF5b3V0T3ZlcmZsb3dSZWN0ID0gY2hpbGQtPmhhc092ZXJm
bG93Q2xpcCgpID8gY2hpbGQtPmJvcmRlckJveFJlY3QoKSA6IGNoaWxkLT5sYXlvdXRPdmVyZmxv
d1JlY3QoKTsKKyAgICAvLyBpdHMgb3ZlcmZsb3cgaXMgaW50ZXJuYWwgdG8gaXQsIGFuZCB3ZSBk
b24ndCBjYXJlIGFib3V0IGl0LiAgbGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24gdGFr
ZXMgY2FyZSBvZiB0aGlzCisgICAgLy8gYW5kIGp1c3QgcHJvcGFnYXRlcyB0aGUgYm9yZGVyIGJv
eCByZWN0IGluc3RlYWQuCisgICAgSW50UmVjdCBjaGlsZExheW91dE92ZXJmbG93UmVjdCA9IGNo
aWxkLT5sYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihzdHlsZSgpKTsKICAgICBjaGls
ZExheW91dE92ZXJmbG93UmVjdC5tb3ZlKGRlbHRhKTsKICAgICBhZGRMYXlvdXRPdmVyZmxvdyhj
aGlsZExheW91dE92ZXJmbG93UmVjdCk7CiAgICAgICAgICAgICAKICAgICAvLyBBZGQgaW4gdmlz
dWFsIG92ZXJmbG93IGZyb20gdGhlIGNoaWxkLiAgRXZlbiBpZiB0aGUgY2hpbGQgY2xpcHMgaXRz
IG92ZXJmbG93LCBpdCBtYXkgc3RpbGwKICAgICAvLyBoYXZlIHZpc3VhbCBvdmVyZmxvdyBvZiBp
dHMgb3duIHNldCBmcm9tIGJveCBzaGFkb3dzIG9yIHJlZmxlY3Rpb25zLiAgSXQgaXMgdW5uZWNl
c3NhcnkgdG8gcHJvcGFnYXRlIHRoaXMKICAgICAvLyBvdmVyZmxvdyBpZiB3ZSBhcmUgY2xpcHBp
bmcgb3VyIG93biBvdmVyZmxvdy4KLSAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkpCisgICAgaWYg
KGNoaWxkLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpIHx8IGhhc092ZXJmbG93Q2xpcCgpKQogICAg
ICAgICByZXR1cm47Ci0gICAgSW50UmVjdCBjaGlsZFZpc3VhbE92ZXJmbG93UmVjdCA9IGNoaWxk
LT52aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBJbnRSZWN0IGNoaWxkVmlzdWFsT3ZlcmZsb3dS
ZWN0ID0gY2hpbGQtPnZpc3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKHN0eWxlKCkpOwog
ICAgIGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0Lm1vdmUoZGVsdGEpOwogICAgIGFkZFZpc3VhbE92
ZXJmbG93KGNoaWxkVmlzdWFsT3ZlcmZsb3dSZWN0KTsKIH0KIAogdm9pZCBSZW5kZXJCb3g6OmFk
ZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBib3Jk
ZXJCb3ggPSBib3JkZXJCb3hSZWN0KCk7Ci0gICAgaWYgKGJvcmRlckJveC5jb250YWlucyhyZWN0
KSkKKyAgICBJbnRSZWN0IGNsaWVudEJveCA9IGNsaWVudEJveFJlY3QoKTsKKyAgICBpZiAoY2xp
ZW50Qm94LmNvbnRhaW5zKHJlY3QpIHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CisgICAgCisgICAgLy8gRm9yIG92ZXJmbG93IGNsaXAgb2JqZWN0cywgd2UgZG9uJ3Qgd2FudCB0
byBwcm9wYWdhdGUgb3ZlcmZsb3cgaW50byB1bnJlYWNoYWJsZSBhcmVhcy4KKyAgICBJbnRSZWN0
IG92ZXJmbG93UmVjdChyZWN0KTsKKyAgICBpZiAoaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNSZW5k
ZXJWaWV3KCkpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgaXMgaW4gdGhlIGJsb2NrJ3MgY29vcmRp
bmF0ZSBzcGFjZSBhbmQgdGh1cyBpcyBmbGlwcGVkIGZvciBob3Jpem9udGFsLWJ0IGFuZCB2ZXJ0
aWNhbC1ybCAKKyAgICAgICAgLy8gd3JpdGluZyBtb2Rlcy4gIEF0IHRoaXMgc3RhZ2UgdGhhdCBp
cyBhY3R1YWxseSBhIHNpbXBsaWZpY2F0aW9uLCBzaW5jZSB3ZSBjYW4gdHJlYXQgaG9yaXpvbnRh
bC10Yi9idCBhcyB0aGUgc2FtZQorICAgICAgICAvLyBhbmQgdmVydGljYWwtbHIvcmwgYXMgdGhl
IHNhbWUuCisgICAgICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAhc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpICYmICFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwor
ICAgICAgICBib29sIGhhc0xlZnRPdmVyZmxvdyA9ICFzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCkgJiYgc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAg
CisgICAgICAgIGlmICghaGFzVG9wT3ZlcmZsb3cpCisgICAgICAgICAgICBvdmVyZmxvd1JlY3Qu
c2hpZnRUb3BFZGdlVG8obWF4KG92ZXJmbG93UmVjdC55KCksIGNsaWVudEJveC55KCkpKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0Qm90dG9tRWRnZVRvKG1p
bihvdmVyZmxvd1JlY3QuYm90dG9tKCksIGNsaWVudEJveC5ib3R0b20oKSkpOworICAgICAgICBp
ZiAoIWhhc0xlZnRPdmVyZmxvdykKKyAgICAgICAgICAgIG92ZXJmbG93UmVjdC5zaGlmdExlZnRF
ZGdlVG8obWF4KG92ZXJmbG93UmVjdC54KCksIGNsaWVudEJveC54KCkpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgb3ZlcmZsb3dSZWN0LnNoaWZ0UmlnaHRFZGdlVG8obWluKG92ZXJmbG93
UmVjdC5yaWdodCgpLCBjbGllbnRCb3gucmlnaHQoKSkpOworICAgICAgICAKKyAgICAgICAgLy8g
Tm93IHJlLXRlc3Qgd2l0aCB0aGUgYWRqdXN0ZWQgcmVjdGFuZ2xlIGFuZCBzZWUgaWYgaXQgaGFz
IGJlY29tZSB1bnJlYWNoYWJsZSBvciBmdWxseQorICAgICAgICAvLyBjb250YWluZWQuCisgICAg
ICAgIGlmIChjbGllbnRCb3guY29udGFpbnMob3ZlcmZsb3dSZWN0KSB8fCBvdmVyZmxvd1JlY3Qu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9vdmVy
ZmxvdykKLSAgICAgICAgbV9vdmVyZmxvdy5zZXQobmV3IFJlbmRlck92ZXJmbG93KGJvcmRlckJv
eCkpOworICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3ZlcmZsb3coY2xpZW50Qm94
LCBib3JkZXJCb3hSZWN0KCkpKTsKICAgICAKLSAgICBtX292ZXJmbG93LT5hZGRMYXlvdXRPdmVy
ZmxvdyhyZWN0KTsKKyAgICBtX292ZXJmbG93LT5hZGRMYXlvdXRPdmVyZmxvdyhvdmVyZmxvd1Jl
Y3QpOwogfQogCiB2b2lkIFJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IGJvcmRlckJveCA9IGJvcmRlckJveFJlY3QoKTsKLSAg
ICBpZiAoYm9yZGVyQm94LmNvbnRhaW5zKHJlY3QpKQorICAgIGlmIChib3JkZXJCb3guY29udGFp
bnMocmVjdCkgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAg
ICAgaWYgKCFtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LnNldChuZXcgUmVuZGVyT3Zl
cmZsb3coYm9yZGVyQm94KSk7CisgICAgICAgIG1fb3ZlcmZsb3cuc2V0KG5ldyBSZW5kZXJPdmVy
ZmxvdyhjbGllbnRCb3hSZWN0KCksIGJvcmRlckJveCkpOwogICAgIAogICAgIG1fb3ZlcmZsb3ct
PmFkZFZpc3VhbE92ZXJmbG93KHJlY3QpOwogfQpAQCAtMzIwNiwyMCArMzE2OCw3NiBAQCBpbnQg
UmVuZGVyQm94OjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlCiAgICAgcmV0dXJuIDA7CiB9CiAK
LXZvaWQgUmVuZGVyQm94OjpibG9ja0RpcmVjdGlvbk92ZXJmbG93KGJvb2wgaXNMaW5lSG9yaXpv
bnRhbCwgaW50JiBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRvbUxh
eW91dE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
JiBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csIGludCYgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93KQorSW50UmVjdCBSZW5kZXJCb3g6OmxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0CiB7Ci0gICAgaWYgKGlzTGlu
ZUhvcml6b250YWwpIHsKLSAgICAgICAgbG9naWNhbFRvcExheW91dE92ZXJmbG93ID0gdG9wTGF5
b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0gYm90
dG9tTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0g
dG9wVmlzdWFsT3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93
ID0gYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2dpY2Fs
VG9wTGF5b3V0T3ZlcmZsb3cgPSBsZWZ0TGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgbG9naWNh
bEJvdHRvbUxheW91dE92ZXJmbG93ID0gcmlnaHRMYXlvdXRPdmVyZmxvdygpOwotICAgICAgICBs
b2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBsZWZ0VmlzdWFsT3ZlcmZsb3coKTsKLSAgICAgICAg
bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gcmlnaHRWaXN1YWxPdmVyZmxvdygpOwotICAg
IH0gCisgICAgSW50UmVjdCByZWN0ID0gdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24o
cGFyZW50U3R5bGUpOworICAgIGlmICghcGFyZW50U3R5bGUtPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkpCisgICAgICAgIHJldHVybiByZWN0LnRyYW5zcG9zZWRSZWN0KCk7CisgICAgcmV0dXJu
IHJlY3Q7Cit9CisKK0ludFJlY3QgUmVuZGVyQm94Ojp2aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbihSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpIGNvbnN0Cit7CisgICAgLy8gSWYgdGhl
IHdyaXRpbmcgbW9kZXMgb2YgdGhlIGNoaWxkIGFuZCBwYXJlbnQgbWF0Y2gsIHRoZW4gd2UgZG9u
J3QgaGF2ZSB0byAKKyAgICAvLyBkbyBhbnl0aGluZyBmYW5jeS4gSnVzdCByZXR1cm4gdGhlIHJl
c3VsdC4KKyAgICBJbnRSZWN0IHJlY3QgPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKKyAgICBpZiAo
cGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0gc3R5bGUoKS0+d3JpdGluZ01vZGUoKSkKKyAg
ICAgICAgcmV0dXJuIHJlY3Q7CisgICAgCisgICAgLy8gV2UgYXJlIHB1dHRpbmcgb3Vyc2VsdmVz
IGludG8gb3VyIHBhcmVudCdzIGNvb3JkaW5hdGUgc3BhY2UuICBJZiB0aGVyZSBpcyBhIGZsaXBw
ZWQgYmxvY2sgbWlzbWF0Y2gKKyAgICAvLyBpbiBhIHBhcnRpY3VsYXIgYXhpcywgdGhlbiB3ZSBo
YXZlIHRvIGZsaXAgdGhlIHJlY3QgYWxvbmcgdGhhdCBheGlzLgorICAgIGlmIChzdHlsZSgpLT53
cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUgfHwgcGFyZW50U3R5bGUtPndy
aXRpbmdNb2RlKCkgPT0gUmlnaHRUb0xlZnRXcml0aW5nTW9kZSkKKyAgICAgICAgcmVjdC5zZXRY
KHdpZHRoKCkgLSByZWN0LnJpZ2h0KCkpOworICAgIGVsc2UgaWYgKHN0eWxlKCktPndyaXRpbmdN
b2RlKCkgPT0gQm90dG9tVG9Ub3BXcml0aW5nTW9kZSB8fCBwYXJlbnRTdHlsZS0+d3JpdGluZ01v
ZGUoKSA9PSBCb3R0b21Ub1RvcFdyaXRpbmdNb2RlKQorICAgICAgICByZWN0LnNldFkoaGVpZ2h0
KCkgLSByZWN0LmJvdHRvbSgpKTsKKworICAgIHJldHVybiByZWN0OworfQorCitJbnRSZWN0IFJl
bmRlckJveDo6bG9naWNhbExheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0
eWxlKiBwYXJlbnRTdHlsZSkgY29uc3QKK3sKKyAgICBJbnRSZWN0IHJlY3QgPSBsYXlvdXRPdmVy
Zmxvd1JlY3RGb3JQcm9wYWdhdGlvbihwYXJlbnRTdHlsZSk7CisgICAgaWYgKCFwYXJlbnRTdHls
ZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHJlY3QudHJhbnNw
b3NlZFJlY3QoKTsKKyAgICByZXR1cm4gcmVjdDsKK30KKworSW50UmVjdCBSZW5kZXJCb3g6Omxh
eW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkg
Y29uc3QKK3sKKyAgICAvLyBPbmx5IHByb3BhZ2F0ZSBpbnRlcmlvciBsYXlvdXQgb3ZlcmZsb3cg
aWYgd2UgZG9uJ3QgY2xpcCBpdC4KKyAgICBJbnRSZWN0IHJlY3QgPSBib3JkZXJCb3hSZWN0KCk7
CisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSkKKyAgICAgICAgcmVjdC51bml0ZShsYXlvdXRP
dmVyZmxvd1JlY3QoKSk7CisKKyAgICBpZiAoaXNSZWxQb3NpdGlvbmVkKCkgfHwgaGFzVHJhbnNm
b3JtKCkpIHsKKyAgICAgICAgLy8gSWYgd2UgYXJlIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBvciBp
ZiB3ZSBoYXZlIGEgdHJhbnNmb3JtLCB0aGVuIHdlIGhhdmUgdG8gY29udmVydAorICAgICAgICAv
LyB0aGlzIHJlY3RhbmdsZSBpbnRvIHBoeXNpY2FsIGNvb3JkaW5hdGVzLCBhcHBseSByZWxhdGl2
ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcworICAgICAgICAvLyB0byBpdCwgYW5kIHRoZW4g
Y29udmVydCBpdCBiYWNrLgorICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7CisgICAg
ICAgIAorICAgICAgICBpZiAoaGFzVHJhbnNmb3JtKCkpCisgICAgICAgICAgICByZWN0ID0gbGF5
ZXIoKS0+Y3VycmVudFRyYW5zZm9ybSgpLm1hcFJlY3QocmVjdCk7CisKKyAgICAgICAgaWYgKGlz
UmVsUG9zaXRpb25lZCgpKQorICAgICAgICAgICAgcmVjdC5tb3ZlKHJlbGF0aXZlUG9zaXRpb25P
ZmZzZXRYKCksIHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkpOworICAgICAgICAKKyAgICAgICAg
Ly8gTm93IHdlIG5lZWQgdG8gZmxpcCBiYWNrLgorICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUo
cmVjdCk7CisgICAgfQorICAgIAorICAgIC8vIElmIHRoZSB3cml0aW5nIG1vZGVzIG9mIHRoZSBj
aGlsZCBhbmQgcGFyZW50IG1hdGNoLCB0aGVuIHdlIGRvbid0IGhhdmUgdG8gCisgICAgLy8gZG8g
YW55dGhpbmcgZmFuY3kuIEp1c3QgcmV0dXJuIHRoZSByZXN1bHQuCisgICAgaWYgKHBhcmVudFN0
eWxlLT53cml0aW5nTW9kZSgpID09IHN0eWxlKCktPndyaXRpbmdNb2RlKCkpCisgICAgICAgIHJl
dHVybiByZWN0OworICAgIAorICAgIC8vIFdlIGFyZSBwdXR0aW5nIG91cnNlbHZlcyBpbnRvIG91
ciBwYXJlbnQncyBjb29yZGluYXRlIHNwYWNlLiAgSWYgdGhlcmUgaXMgYSBmbGlwcGVkIGJsb2Nr
IG1pc21hdGNoCisgICAgLy8gaW4gYSBwYXJ0aWN1bGFyIGF4aXMsIHRoZW4gd2UgaGF2ZSB0byBm
bGlwIHRoZSByZWN0IGFsb25nIHRoYXQgYXhpcy4KKyAgICBpZiAoc3R5bGUoKS0+d3JpdGluZ01v
ZGUoKSA9PSBSaWdodFRvTGVmdFdyaXRpbmdNb2RlIHx8IHBhcmVudFN0eWxlLT53cml0aW5nTW9k
ZSgpID09IFJpZ2h0VG9MZWZ0V3JpdGluZ01vZGUpCisgICAgICAgIHJlY3Quc2V0WCh3aWR0aCgp
IC0gcmVjdC5yaWdodCgpKTsKKyAgICBlbHNlIGlmIChzdHlsZSgpLT53cml0aW5nTW9kZSgpID09
IEJvdHRvbVRvVG9wV3JpdGluZ01vZGUgfHwgcGFyZW50U3R5bGUtPndyaXRpbmdNb2RlKCkgPT0g
Qm90dG9tVG9Ub3BXcml0aW5nTW9kZSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdodCgpIC0gcmVj
dC5ib3R0b20oKSk7CisKKyAgICByZXR1cm4gcmVjdDsKIH0KIAogSW50UG9pbnQgUmVuZGVyQm94
OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgSW50UG9p
bnQmIHBvaW50LCBGbGlwcGluZ0FkanVzdG1lbnQgYWRqdXN0bWVudCkgY29uc3QKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTIgKzEwNiw5IEBAIHB1YmxpYzoKICAg
ICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVSZWN0OyB9CiAgICAg
dm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX2ZyYW1lUmVjdCA9IHJl
Y3Q7IH0KIAotICAgIEludFJlY3QgdHJhbnNmb3JtZWRGcmFtZVJlY3QoKSBjb25zdDsKLSAgICBJ
bnRSZWN0IGFwcGx5TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0Owot
CiAgICAgSW50UmVjdCBib3JkZXJCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCgwLCAw
LCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KICAgICB2aXJ0dWFsIEludFJlY3QgYm9yZGVyQm91bmRp
bmdCb3goKSBjb25zdCB7IHJldHVybiBib3JkZXJCb3hSZWN0KCk7IH0gCi0gICAgCisKICAgICAv
LyBUaGUgY29udGVudCBhcmVhIG9mIHRoZSBib3ggKGV4Y2x1ZGVzIHBhZGRpbmcgYW5kIGJvcmRl
cikuCiAgICAgSW50UmVjdCBjb250ZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3Qo
Ym9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCks
IGNvbnRlbnRXaWR0aCgpLCBjb250ZW50SGVpZ2h0KCkpOyB9CiAgICAgLy8gVGhlIGNvbnRlbnQg
Ym94IGluIGFic29sdXRlIGNvb3Jkcy4gSWdub3JlcyB0cmFuc2Zvcm1zLgpAQCAtMTI4LDE3ICsx
MjUsMTEgQEAgcHVibGljOgogICAgIFJlbmRlckJveCogbmV4dFNpYmxpbmdCb3goKSBjb25zdDsK
ICAgICBSZW5kZXJCb3gqIHBhcmVudEJveCgpIGNvbnN0OwogCi0gICAgSW50UmVjdCB2aXNpYmxl
T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgPyB2aXN1YWxP
dmVyZmxvd1JlY3QoKSA6IChtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+dmlzaWJsZU92ZXJmbG93
UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpKTsgfQotICAgIGludCB0b3BWaXNpYmxlT3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSA/IHRvcFZpc3VhbE92ZXJmbG93KCkg
OiBzdGQ6Om1pbih0b3BMYXlvdXRPdmVyZmxvdygpLCB0b3BWaXN1YWxPdmVyZmxvdygpKTsgfQot
ICAgIGludCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxv
d0NsaXAoKSA/IGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgOiBzdGQ6Om1heChib3R0b21MYXlvdXRP
dmVyZmxvdygpLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKTsgfQotICAgIGludCBsZWZ0VmlzaWJs
ZU92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgPyBsZWZ0VmlzdWFs
T3ZlcmZsb3coKSA6IHN0ZDo6bWluKGxlZnRMYXlvdXRPdmVyZmxvdygpLCBsZWZ0VmlzdWFsT3Zl
cmZsb3coKSk7IH0KLSAgICBpbnQgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBoYXNPdmVyZmxvd0NsaXAoKSA/IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSA6ICBzdGQ6Om1heChy
aWdodExheW91dE92ZXJmbG93KCksIHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7IH0KLQotICAgIElu
dFJlY3QgbGF5b3V0T3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1f
b3ZlcmZsb3ctPmxheW91dE92ZXJmbG93UmVjdCgpIDogYm9yZGVyQm94UmVjdCgpOyB9Ci0gICAg
aW50IHRvcExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdz8gbV9vdmVy
Zmxvdy0+dG9wTGF5b3V0T3ZlcmZsb3coKSA6IDA7IH0KLSAgICBpbnQgYm90dG9tTGF5b3V0T3Zl
cmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+Ym90dG9tTGF5
b3V0T3ZlcmZsb3coKSA6IGhlaWdodCgpOyB9Ci0gICAgaW50IGxlZnRMYXlvdXRPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sZWZ0TGF5b3V0T3ZlcmZs
b3coKSA6IDA7IH0KLSAgICBpbnQgcmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5yaWdodExheW91dE92ZXJmbG93KCkgOiB3aWR0aCgp
OyB9CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBjbGllbnRCb3hSZWN0
KCk7IH0KKyAgICBpbnQgdG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJm
bG93PyBtX292ZXJmbG93LT50b3BMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyVG9wKCk7IH0KKyAg
ICBpbnQgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8g
bV9vdmVyZmxvdy0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSA6IGJvcmRlclRvcCgpICsgY2xpZW50
SGVpZ2h0KCk7IH0KKyAgICBpbnQgbGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
bV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxlZnRMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyTGVm
dCgpOyB9CisgICAgaW50IHJpZ2h0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93ID8gbV9vdmVyZmxvdy0+cmlnaHRMYXlvdXRPdmVyZmxvdygpIDogYm9yZGVyTGVmdCgp
ICsgY2xpZW50V2lkdGgoKTsgfQogICAgIGludCBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93KCkg
Y29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxlZnRM
YXlvdXRPdmVyZmxvdygpIDogdG9wTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2Fs
UmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyByaWdodExheW91dE92ZXJmbG93KCkgOiBib3R0b21MYXlvdXRPdmVy
ZmxvdygpOyB9CiAgICAgCkBAIC0xNzksNiArMTcwLDggQEAgcHVibGljOgogICAgIGludCBjbGll
bnRUb3AoKSBjb25zdCB7IHJldHVybiBib3JkZXJUb3AoKTsgfQogICAgIGludCBjbGllbnRXaWR0
aCgpIGNvbnN0OwogICAgIGludCBjbGllbnRIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY2xpZW50
TG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBjbGllbnRUb3AoKSArIGNsaWVudEhlaWdodCgpIDogY2xpZW50TGVmdCgpICsg
Y2xpZW50V2lkdGgoKTsgfQorICAgIEludFJlY3QgY2xpZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0
dXJuIEludFJlY3QoY2xpZW50TGVmdCgpLCBjbGllbnRUb3AoKSwgY2xpZW50V2lkdGgoKSwgY2xp
ZW50SGVpZ2h0KCkpOyB9CiAKICAgICAvLyBzY3JvbGxXaWR0aC9zY3JvbGxIZWlnaHQgd2lsbCBi
ZSB0aGUgc2FtZSBhcyBjbGllbnRXaWR0aC9jbGllbnRIZWlnaHQgdW5sZXNzIHRoZQogICAgIC8v
IG9iamVjdCBoYXMgb3ZlcmZsb3c6aGlkZGVuL3Njcm9sbC9hdXRvIHNwZWNpZmllZCBhbmQgYWxz
byBoYXMgb3ZlcmZsb3cuCkBAIC0yNzAsMTIgKzI2Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dElubGluZUJveFdyYXBwZXIoSW5saW5lQm94KiBib3hXcmFwcGVyKSB7IG1faW5saW5lQm94V3Jh
cHBlciA9IGJveFdyYXBwZXI7IH0KICAgICB2b2lkIGRlbGV0ZUxpbmVCb3hXcmFwcGVyKCk7CiAK
LSAgICBlbnVtIEFwcGx5VHJhbnNmb3JtIHsgSW5jbHVkZVRyYW5zZm9ybSwgRXhjbHVkZVRyYW5z
Zm9ybSB9OwotICAgIHZpcnR1YWwgaW50IHRvcG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVy
Zmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNm
b3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9z
aXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNl
bGYgPSB0cnVlLCAgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5j
bHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihi
b29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRy
dWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0KICAgICB2aXJ0
dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJlY3Qm
LCBib29sIGZpeGVkID0gZmFsc2UpOwogCkBAIC0zOTAsNiArMzc3LDExIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7CiAgICAgSW50U2l6ZSBs
b2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKKyAgICBJbnRSZWN0IGxv
Z2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0
OworICAgIEludFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5
bGUqKSBjb25zdDsKKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OworICAgIEludFJlY3QgbGF5b3V0T3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5k
ZXJTdHlsZSogbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHls
ZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmgJKHJldmlzaW9uIDczMzM0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgaW50IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRYKCkg
Y29uc3Q7CiAgICAgaW50IHJlbGF0aXZlUG9zaXRpb25PZmZzZXRZKCkgY29uc3Q7CiAgICAgSW50
U2l6ZSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZShyZWxh
dGl2ZVBvc2l0aW9uT2Zmc2V0WCgpLCByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0WSgpKTsgfQorICAg
IEludFNpemUgcmVsYXRpdmVQb3NpdGlvbkxvZ2ljYWxPZmZzZXQoKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVsYXRpdmVQb3NpdGlvbk9mZnNl
dCgpIDogcmVsYXRpdmVQb3NpdGlvbk9mZnNldCgpLnRyYW5zcG9zZWRTaXplKCk7IH0KIAogICAg
IC8vIElFIGV4dGVuc2lvbnMuIFVzZWQgdG8gY2FsY3VsYXRlIG9mZnNldFdpZHRoL0hlaWdodC4g
IE92ZXJyaWRkZW4gYnkgaW5saW5lcyAoUmVuZGVyRmxvdykKICAgICAvLyB0byByZXR1cm4gdGhl
IHJlbWFpbmluZyB3aWR0aCBvbiBhIGdpdmVuIGxpbmUgKGFuZCB0aGUgaGVpZ2h0IG9mIGEgc2lu
Z2xlIGxpbmUpLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAko
cmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Niw2ICsyNDYsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxl
Qm94OjpsYXlvdXRCbG9jayhib29sCiAgICAgZWxzZQogICAgICAgICBsYXlvdXRWZXJ0aWNhbEJv
eChyZWxheW91dENoaWxkcmVuKTsKIAorICAgIGludCBvbGRDbGllbnRBZnRlckVkZ2UgPSBjbGll
bnRMb2dpY2FsQm90dG9tKCk7CiAgICAgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIGlm
IChwcmV2aW91c0hlaWdodCAhPSBoZWlnaHQoKSkKQEAgLTI3MSwxMyArMjcyLDcgQEAgdm9pZCBS
ZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogICAgICAgICBzZXRNYXhNYXJnaW5B
ZnRlclZhbHVlcygwLCAwKTsKICAgICB9CiAgICAgCi0gICAgLy8gQWRkIGluIHRoZSBvdmVyZmxv
dyBmcm9tIGNoaWxkcmVuLgotICAgIEZsZXhCb3hJdGVyYXRvciBpdGVyYXRvcih0aGlzKTsKLSAg
ICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZDsgY2hpbGQg
PSBpdGVyYXRvci5uZXh0KCkpCi0gICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKGNoaWxkKTsK
LQotICAgIC8vIEFkZCB2aXN1YWwgb3ZlcmZsb3cgZnJvbSBib3gtc2hhZG93IGFuZCByZWZsZWN0
aW9ucy4KLSAgICBhZGRTaGFkb3dPdmVyZmxvdygpOworICAgIGNvbXB1dGVPdmVyZmxvdyhvbGRD
bGllbnRBZnRlckVkZ2UpOwogCiAgICAgc3RhdGVQdXNoZXIucG9wKCk7CiAKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzksNyArNTc5LDcgQEAg
SW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLUludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc2libGVPdmVyZmxvd0JvdW5k
aW5nQm94KCkgY29uc3QKK0ludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJmbG93
Qm91bmRpbmdCb3goKSBjb25zdAogewogICAgIGlmICghZmlyc3RMaW5lQm94KCkgfHwgIWxhc3RM
aW5lQm94KCkpCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CkBAIC01ODgsMTYgKzU4OCwxNiBA
QCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNWaXNpYmxlT3ZlcmZsCiAgICAgaW50IGxvZ2lj
YWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwogICAgIGludCBsb2dpY2Fs
UmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CiAgICAgZm9yIChJbmxpbmVG
bG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGlu
ZUJveCgpKSB7Ci0gICAgICAgIGxvZ2ljYWxMZWZ0U2lkZSA9IG1pbihsb2dpY2FsTGVmdFNpZGUs
IGN1cnItPmxvZ2ljYWxMZWZ0VmlzaWJsZU92ZXJmbG93KCkpOwotICAgICAgICBsb2dpY2FsUmln
aHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxSaWdodFZpc2libGVP
dmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0U2lk
ZSwgY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbFJp
Z2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdygpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jpem9u
dGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPmxlZnRWaXNpYmxlT3ZlcmZs
b3coKTsKLSAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT50b3BWaXNp
YmxlT3ZlcmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgd2lkdGggPSBpc0hvcml6
b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3go
KS0+cmlnaHRWaXNpYmxlT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5sZWZ0VmlzaWJsZU92
ZXJmbG93KCk7Ci0gICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCkt
PmJvdHRvbVZpc2libGVPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPnRvcFZpc2libGVPdmVy
ZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBpbnQgeCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5sZWZ0Vmlz
dWFsT3ZlcmZsb3coKTsKKyAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgp
LT50b3BWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOworICAgIGludCB3aWR0aCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0
TGluZUJveCgpLT5yaWdodFZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bGVmdFZp
c3VhbE92ZXJmbG93KCk7CisgICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5l
Qm94KCktPmJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+dG9wVmlzdWFs
T3ZlcmZsb3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CiAgICAgcmV0
dXJuIEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKQEAgLTYxMCw3ICs2MTAsNyBA
QCBJbnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjCiAgICAgICAgIHJldHVy
biBJbnRSZWN0KCk7CiAKICAgICAvLyBGaW5kIG91ciBsZWZ0bW9zdCBwb3NpdGlvbi4KLSAgICBJ
bnRSZWN0IGJvdW5kaW5nQm94KGxpbmVzVmlzaWJsZU92ZXJmbG93Qm91bmRpbmdCb3goKSk7Cisg
ICAgSW50UmVjdCBib3VuZGluZ0JveChsaW5lc1Zpc3VhbE92ZXJmbG93Qm91bmRpbmdCb3goKSk7
CiAgICAgaW50IGxlZnQgPSBib3VuZGluZ0JveC54KCk7CiAgICAgaW50IHRvcCA9IGJvdW5kaW5n
Qm94LnkoKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgJKHJldmlzaW9uIDczMzM0
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50U2l6ZSBvZmZzZXRGcm9tQ29u
dGFpbmVyKFJlbmRlck9iamVjdCosIGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAKICAgICBJbnRS
ZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKLSAgICBJbnRSZWN0IGxpbmVzVmlzaWJsZU92
ZXJmbG93Qm91bmRpbmdCb3goKSBjb25zdDsKKyAgICBJbnRSZWN0IGxpbmVzVmlzdWFsT3ZlcmZs
b3dCb3VuZGluZ0JveCgpIGNvbnN0OwogCiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlQW5kQXBw
ZW5kSW5saW5lRmxvd0JveCgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShy
ZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjc2LDE0ICs2NzYsNiBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVM
YXllclBvc2l0aW9uKCkKICAgICB9IGVsc2UgaWYgKFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94
KCkpIHsKICAgICAgICAgc2V0V2lkdGgoYm94LT53aWR0aCgpKTsKICAgICAgICAgc2V0SGVpZ2h0
KGJveC0+aGVpZ2h0KCkpOwotCi0gICAgICAgIGlmICghYm94LT5oYXNPdmVyZmxvd0NsaXAoKSkg
ewotICAgICAgICAgICAgaWYgKGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygpID4gYm94LT53aWR0
aCgpKQotICAgICAgICAgICAgICAgIHNldFdpZHRoKGJveC0+cmlnaHRMYXlvdXRPdmVyZmxvdygp
KTsKLSAgICAgICAgICAgIGlmIChib3gtPmJvdHRvbUxheW91dE92ZXJmbG93KCkgPiBib3gtPmhl
aWdodCgpKQotICAgICAgICAgICAgICAgIHNldEhlaWdodChib3gtPmJvdHRvbUxheW91dE92ZXJm
bG93KCkpOwotICAgICAgICB9Ci0gICAgICAgIAogICAgICAgICBsb2NhbFBvaW50ICs9IGJveC0+
bG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpOwogICAgIH0KIApAQCAtMTk2NiwzOCAr
MTk1OCw1NyBAQCBpbnQgUmVuZGVyTGF5ZXI6OnNjcm9sbEhlaWdodCgpCiAgICAgcmV0dXJuIG1f
c2Nyb2xsSGVpZ2h0OwogfQogCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93VG9wKCkgY29uc3QK
K3sKKyAgICBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOworICAgIEludFJlY3Qgb3ZlcmZs
b3dSZWN0KGJveC0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGJveC0+ZmxpcEZvcldyaXRp
bmdNb2RlKG92ZXJmbG93UmVjdCk7CisgICAgcmV0dXJuIG92ZXJmbG93UmVjdC55KCk7Cit9CisK
K2ludCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dCb3R0b20oKSBjb25zdAoreworICAgIFJlbmRlckJv
eCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlv
dXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5mbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dS
ZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0LmJvdHRvbSgpOworfQorCitpbnQgUmVuZGVy
TGF5ZXI6Om92ZXJmbG93TGVmdCgpIGNvbnN0Cit7CisgICAgUmVuZGVyQm94KiBib3ggPSByZW5k
ZXJCb3goKTsKKyAgICBJbnRSZWN0IG92ZXJmbG93UmVjdChib3gtPmxheW91dE92ZXJmbG93UmVj
dCgpKTsKKyAgICBib3gtPmZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJl
dHVybiBvdmVyZmxvd1JlY3QueCgpOworfQorCitpbnQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93Umln
aHQoKSBjb25zdAoreworICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CisgICAgSW50
UmVjdCBvdmVyZmxvd1JlY3QoYm94LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CisgICAgYm94LT5m
bGlwRm9yV3JpdGluZ01vZGUob3ZlcmZsb3dSZWN0KTsKKyAgICByZXR1cm4gb3ZlcmZsb3dSZWN0
LnJpZ2h0KCk7Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25z
KGJvb2wqIG5lZWRIQmFyLCBib29sKiBuZWVkVkJhcikKIHsKICAgICBSZW5kZXJCb3gqIGJveCA9
IHJlbmRlckJveCgpOwogICAgIEFTU0VSVChib3gpOwogICAgIAogICAgIG1fc2Nyb2xsRGltZW5z
aW9uc0RpcnR5ID0gZmFsc2U7Ci0gICAgCi0gICAgaW50IGNsaWVudFdpZHRoID0gYm94LT5jbGll
bnRXaWR0aCgpOwotICAgIGludCBjbGllbnRIZWlnaHQgPSBib3gtPmNsaWVudEhlaWdodCgpOwot
Ci0gICAgYm9vbCBoYXNMZWZ0T3ZlcmZsb3cgPSAoIWJveC0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSB8fCAhYm94LT5zdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
ICYmIGJveC0+c3R5bGUoKS0+d3JpdGluZ01vZGUoKSAhPSBMZWZ0VG9SaWdodFdyaXRpbmdNb2Rl
OwotICAgIGJvb2wgaGFzVG9wT3ZlcmZsb3cgPSAoYm94LT5zdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpIHx8ICFib3gtPnN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkg
JiYgYm94LT5zdHlsZSgpLT53cml0aW5nTW9kZSgpICE9IFRvcFRvQm90dG9tV3JpdGluZ01vZGU7
CiAKLSAgICBtX3Njcm9sbExlZnRPdmVyZmxvdyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPyAwIDogbWlu
KDAsIGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBib3gtPmJvcmRlckxlZnQo
KSk7Ci0gICAgbV9zY3JvbGxUb3BPdmVyZmxvdyA9ICFoYXNUb3BPdmVyZmxvdyA/IDAgOiBtaW4o
MCwgYm94LT50b3Btb3N0UG9zaXRpb24odHJ1ZSwgZmFsc2UpIC0gYm94LT5ib3JkZXJUb3AoKSk7
CisgICAgbV9zY3JvbGxMZWZ0T3ZlcmZsb3cgPSBvdmVyZmxvd0xlZnQoKSAtIGJveC0+Ym9yZGVy
TGVmdCgpOworICAgIG1fc2Nyb2xsVG9wT3ZlcmZsb3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94LT5i
b3JkZXJUb3AoKTsKIAotICAgIGludCByaWdodFBvcyA9ICFoYXNMZWZ0T3ZlcmZsb3cgPwotICAg
ICAgICAgICAgICAgICAgICBib3gtPnJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIGJv
eC0+Ym9yZGVyTGVmdCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50V2lkdGggLSBtX3Nj
cm9sbExlZnRPdmVyZmxvdzsKLSAgICBpbnQgYm90dG9tUG9zID0gIWhhc1RvcE92ZXJmbG93ID8K
LSAgICAgICAgICAgICAgICAgICAgYm94LT5sb3dlc3RQb3NpdGlvbih0cnVlLCBmYWxzZSkgLSBi
b3gtPmJvcmRlclRvcCgpIDoKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0IC0gbV9z
Y3JvbGxUb3BPdmVyZmxvdzsKLQotICAgIG1fc2Nyb2xsV2lkdGggPSBtYXgocmlnaHRQb3MsIGNs
aWVudFdpZHRoKTsKLSAgICBtX3Njcm9sbEhlaWdodCA9IG1heChib3R0b21Qb3MsIGNsaWVudEhl
aWdodCk7CisgICAgbV9zY3JvbGxXaWR0aCA9IG92ZXJmbG93UmlnaHQoKSAtIG92ZXJmbG93TGVm
dCgpOworICAgIG1fc2Nyb2xsSGVpZ2h0ID0gb3ZlcmZsb3dCb3R0b20oKSAtIG92ZXJmbG93VG9w
KCk7CiAgICAgCi0gICAgbV9zY3JvbGxPcmlnaW4gPSBJbnRQb2ludCghaGFzTGVmdE92ZXJmbG93
ID8gMCA6IG1fc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCwgIWhhc1RvcE92ZXJmbG93ID8gMCA6
IG1fc2Nyb2xsSGVpZ2h0IC0gY2xpZW50SGVpZ2h0KTsKKyAgICBtX3Njcm9sbE9yaWdpbiA9IElu
dFBvaW50KC1tX3Njcm9sbExlZnRPdmVyZmxvdywgLW1fc2Nyb2xsVG9wT3ZlcmZsb3cpOwogCiAg
ICAgaWYgKG5lZWRIQmFyKQotICAgICAgICAqbmVlZEhCYXIgPSByaWdodFBvcyA+IGNsaWVudFdp
ZHRoOworICAgICAgICAqbmVlZEhCYXIgPSBtX3Njcm9sbFdpZHRoID4gYm94LT5jbGllbnRXaWR0
aCgpOwogICAgIGlmIChuZWVkVkJhcikKLSAgICAgICAgKm5lZWRWQmFyID0gYm90dG9tUG9zID4g
Y2xpZW50SGVpZ2h0OworICAgICAgICAqbmVlZFZCYXIgPSBtX3Njcm9sbEhlaWdodCA+IGJveC0+
Y2xpZW50SGVpZ2h0KCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZU92ZXJmbG93U3Rh
dHVzKGJvb2wgaG9yaXpvbnRhbE92ZXJmbG93LCBib29sIHZlcnRpY2FsT3ZlcmZsb3cpCkBAIC0y
MDkyLDkgKzIxMDMsMTIgQEAgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxheW91
dAogICAgICAgICAgICAgICAgIC8vIE91ciBwcm9wcmlldGFyeSBvdmVyZmxvdzogb3ZlcmxheSB2
YWx1ZSBkb2Vzbid0IHRyaWdnZXIgYSBsYXlvdXQuCiAgICAgICAgICAgICAgICAgbV9pbk92ZXJm
bG93UmVsYXlvdXQgPSB0cnVlOwogICAgICAgICAgICAgICAgIHJlbmRlcmVyKCktPnNldE5lZWRz
TGF5b3V0KHRydWUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS0+aXNS
ZW5kZXJCbG9jaygpKQotICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKHJlbmRlcmVy
KCkpLT5sYXlvdXRCbG9jayh0cnVlKTsKLSAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgaWYgKHJlbmRlcmVyKCktPmlzUmVuZGVyQmxvY2soKSkgeworICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSB0b1JlbmRlckJsb2NrKHJlbmRlcmVyKCkpOworICAg
ICAgICAgICAgICAgICAgICBibG9jay0+c2Nyb2xsYmFyc0NoYW5nZWQoYm94LT5oYXNBdXRvSG9y
aXpvbnRhbFNjcm9sbGJhcigpICYmIGhhdmVIb3Jpem9udGFsQmFyICE9IGhvcml6b250YWxPdmVy
ZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC0+
aGFzQXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkgJiYgaGF2ZVZlcnRpY2FsQmFyICE9IHZlcnRpY2Fs
T3ZlcmZsb3cpOworICAgICAgICAgICAgICAgICAgICBibG9jay0+bGF5b3V0QmxvY2sodHJ1ZSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCkt
PmxheW91dCgpOwogICAgICAgICAgICAgICAgIG1faW5PdmVyZmxvd1JlbGF5b3V0ID0gZmFsc2U7
CiAgICAgICAgICAgICB9CkBAIC0yMTE4LDkgKzIxMzIsNyBAQCBSZW5kZXJMYXllcjo6dXBkYXRl
U2Nyb2xsSW5mb0FmdGVyTGF5b3V0CiAgICAgICAgIC8vIHRvcCByaWdodCBjb3JuZXIgb2YgdGhl
IGNvbnRlbnQgZG9lc24ndCBzaGlmdCB3aXRoIHJlc3BlY3QgdG8gdGhlIHRvcAogICAgICAgICAv
LyByaWdodCBjb3JuZXIgb2YgdGhlIGFyZWEuIENvbmNlcHR1YWxseSwgcmlnaHQtdG8tbGVmdCBh
cmVhcyBoYXZlCiAgICAgICAgIC8vIHRoZWlyIG9yaWdpbiBhdCB0aGUgdG9wLXJpZ2h0LCBidXQg
UmVuZGVyTGF5ZXIgaXMgdG9wLWxlZnQgb3JpZW50ZWQsCi0gICAgICAgIC8vIHNvIHRoaXMgaXMg
bmVlZGVkIHRvIGtlZXAgZXZlcnl0aGluZyB3b3JraW5nIChzZWUgaG93IHNjcm9sbFhPZmZzZXQo
KQotICAgICAgICAvLyBkaWZmZXJzIGZyb20gc2Nyb2xsWU9mZnNldCgpIHRvIGdldCBhbiBpZGVh
IG9mIHdoeSB0aGUgaG9yaXpvbnRhbCBhbmQKLSAgICAgICAgLy8gdmVydGljYWwgc2Nyb2xsYmFy
cyBuZWVkIHRvIGJlIHRyZWF0ZWQgZGlmZmVyZW50bHkpLgorICAgICAgICAvLyBzbyB0aGlzIGlz
IG5lZWRlZCB0byBrZWVwIGV2ZXJ5dGhpbmcgd29ya2luZy4KICAgICAgICAgbV9oQmFyLT5zZXRW
YWx1ZShzY3JvbGxYT2Zmc2V0KCksIFNjcm9sbGJhcjo6Tm90RnJvbVNjcm9sbEFuaW1hdG9yKTsK
ICAgICB9CiAgICAgaWYgKG1fdkJhcikgewpAQCAtMjEyOCw2ICsyMTQwLDEzIEBAIFJlbmRlckxh
eWVyOjp1cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQKICAgICAgICAgaW50IHBhZ2VTdGVwID0g
bWF4KG1heDxpbnQ+KGNsaWVudEhlaWdodCAqIFNjcm9sbGJhcjo6bWluRnJhY3Rpb25Ub1N0ZXBX
aGVuUGFnaW5nKCksIGNsaWVudEhlaWdodCAtIFNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5Q
YWdlcygpKSwgMSk7CiAgICAgICAgIG1fdkJhci0+c2V0U3RlcHMoU2Nyb2xsYmFyOjpwaXhlbHNQ
ZXJMaW5lU3RlcCgpLCBwYWdlU3RlcCk7CiAgICAgICAgIG1fdkJhci0+c2V0UHJvcG9ydGlvbihj
bGllbnRIZWlnaHQsIG1fc2Nyb2xsSGVpZ2h0KTsKKyAgICAgICAgLy8gRXhwbGljaXRseSBzZXQg
dGhlIHZlcnRpY2FsIHNjcm9sbCB2YWx1ZS4gIFRoaXMgZW5zdXJlcyB0aGF0IHdoZW4gYQorICAg
ICAgICAvLyByaWdodC10by1sZWZ0IHZlcnRpY2FsIHdyaXRpbmctbW9kZSBzY3JvbGxhYmxlIGFy
ZWEncyBoZWlnaHQgKG9yIGNvbnRlbnQgaGVpZ2h0KSBjaGFuZ2VzLCB0aGUKKyAgICAgICAgLy8g
Ym90dG9tIHJpZ2h0IGNvcm5lciBvZiB0aGUgY29udGVudCBkb2Vzbid0IHNoaWZ0IHdpdGggcmVz
cGVjdCB0byB0aGUgYm90dG9tCisgICAgICAgIC8vIHJpZ2h0IGNvcm5lciBvZiB0aGUgYXJlYS4g
Q29uY2VwdHVhbGx5LCByaWdodC10by1sZWZ0IHZlcnRpY2FsIHdyaXRpbmctbW9kZSBhcmVhcyBo
YXZlCisgICAgICAgIC8vIHRoZWlyIG9yaWdpbiBhdCB0aGUgYm90dG9tLXJpZ2h0LCBidXQgUmVu
ZGVyTGF5ZXIgaXMgdG9wLWxlZnQgb3JpZW50ZWQsCisgICAgICAgIC8vIHNvIHRoaXMgaXMgbmVl
ZGVkIHRvIGtlZXAgZXZlcnl0aGluZyB3b3JraW5nLgorICAgICAgICBtX3ZCYXItPnNldFZhbHVl
KHNjcm9sbFlPZmZzZXQoKSwgU2Nyb2xsYmFyOjpOb3RGcm9tU2Nyb2xsQW5pbWF0b3IpOwogICAg
IH0KICAKICAgICBpZiAocmVuZGVyZXIoKS0+bm9kZSgpICYmIHJlbmRlcmVyKCktPmRvY3VtZW50
KCktPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6T1ZFUkZMT1dDSEFOR0VEX0xJU1RFTkVSKSkK
QEAgLTIzMjQsMTIgKzIzNDMsMTMgQEAgc3RhdGljIHZvaWQgcmVzdG9yZUNsaXAoR3JhcGhpY3ND
b250ZXh0KgogICAgIHAtPnJlc3RvcmUoKTsKIH0KIAotc3RhdGljIHZvaWQgcGVyZm9ybU92ZXJs
YXBUZXN0cyhPdmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGNvbnN0
IEludFJlY3QmIGxheWVyQm91bmRzKQorc3RhdGljIHZvaWQgcGVyZm9ybU92ZXJsYXBUZXN0cyhP
dmVybGFwVGVzdFJlcXVlc3RNYXAmIG92ZXJsYXBUZXN0UmVxdWVzdHMsIGNvbnN0IFJlbmRlckxh
eWVyKiByb290TGF5ZXIsIGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAgICBWZWN0b3I8
T3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50Kj4gb3ZlcmxhcHBlZFJlcXVlc3RDbGllbnRzOwogICAg
IE92ZXJsYXBUZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgZW5kID0gb3ZlcmxhcFRlc3RSZXF1ZXN0
cy5lbmQoKTsKKyAgICBJbnRSZWN0IGJvdW5kaW5nQm94ID0gbGF5ZXItPmJvdW5kaW5nQm94KHJv
b3RMYXllcik7CiAgICAgZm9yIChPdmVybGFwVGVzdFJlcXVlc3RNYXA6Oml0ZXJhdG9yIGl0ID0g
b3ZlcmxhcFRlc3RSZXF1ZXN0cy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
aWYgKCFsYXllckJvdW5kcy5pbnRlcnNlY3RzKGl0LT5zZWNvbmQpKQorICAgICAgICBpZiAoIWJv
dW5kaW5nQm94LmludGVyc2VjdHMoaXQtPnNlY29uZCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAogICAgICAgICBpdC0+Zmlyc3QtPnNldE92ZXJsYXBUZXN0UmVzdWx0KHRydWUpOwpAQCAtMjQ1
Niw3ICsyNDc2LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllcihSZW5kZXJMYXllcgog
ICAgICAgICBwYWludGluZ1Jvb3RGb3JSZW5kZXJlciA9IHBhaW50aW5nUm9vdDsKIAogICAgIGlm
IChvdmVybGFwVGVzdFJlcXVlc3RzICYmIGlzU2VsZlBhaW50aW5nTGF5ZXIoKSkKLSAgICAgICAg
cGVyZm9ybU92ZXJsYXBUZXN0cygqb3ZlcmxhcFRlc3RSZXF1ZXN0cywgbGF5ZXJCb3VuZHMpOwor
ICAgICAgICBwZXJmb3JtT3ZlcmxhcFRlc3RzKCpvdmVybGFwVGVzdFJlcXVlc3RzLCByb290TGF5
ZXIsIHRoaXMpOwogCiAgICAgLy8gV2Ugd2FudCB0byBwYWludCBvdXIgbGF5ZXIsIGJ1dCBvbmx5
IGlmIHdlIGludGVyc2VjdCB0aGUgZGFtYWdlIHJlY3QuCiAgICAgYm9vbCBzaG91bGRQYWludCA9
IGludGVyc2VjdHNEYW1hZ2VSZWN0KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCByb290TGF5ZXIp
ICYmIG1faGFzVmlzaWJsZUNvbnRlbnQgJiYgaXNTZWxmUGFpbnRpbmdMYXllcigpOwpAQCAtMjY2
NSwxMSArMjY4NSwxMSBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0KGNvbnN0IEhpdFRlc3RS
CiB7CiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0KCk7CiAgICAgCi0g
ICAgSW50UmVjdCBib3VuZHNSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSk7CisgICAg
SW50UmVjdCBoaXRUZXN0QXJlYSA9IHJlc3VsdC5yZWN0Rm9yUG9pbnQocmVzdWx0LnBvaW50KCkp
OwogICAgIGlmICghcmVxdWVzdC5pZ25vcmVDbGlwcGluZygpKQotICAgICAgICBib3VuZHNSZWN0
LmludGVyc2VjdChmcmFtZVZpc2libGVSZWN0KHJlbmRlcmVyKCkpKTsKKyAgICAgICAgaGl0VGVz
dEFyZWEuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOwogCi0gICAgUmVu
ZGVyTGF5ZXIqIGluc2lkZUxheWVyID0gaGl0VGVzdExheWVyKHRoaXMsIDAsIHJlcXVlc3QsIHJl
c3VsdCwgYm91bmRzUmVjdCwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKKyAgICBSZW5kZXJMYXll
ciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhpcywgMCwgcmVxdWVzdCwgcmVzdWx0LCBo
aXRUZXN0QXJlYSwgcmVzdWx0LnBvaW50KCksIGZhbHNlKTsKICAgICBpZiAoIWluc2lkZUxheWVy
KSB7CiAgICAgICAgIC8vIFdlIGRpZG4ndCBoaXQgYW55IGxheWVyLiBJZiB3ZSBhcmUgdGhlIHJv
b3QgbGF5ZXIgYW5kIHRoZSBtb3VzZSBpcyAtLSBvciBqdXN0IHdhcyAtLSBkb3duLCAKICAgICAg
ICAgLy8gcmV0dXJuIG91cnNlbHZlcy4gV2UgZG8gdGhpcyBzbyBtb3VzZSBldmVudHMgY29udGlu
dWUgZ2V0dGluZyBkZWxpdmVyZWQgYWZ0ZXIgYSBkcmFnIGhhcyAKQEAgLTMzNzUsOCArMzM5NSw4
IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3goKSAKICAgICAgICAgSW5s
aW5lRmxvd0JveCogZmlyc3RCb3ggPSBpbmxpbmVGbG93LT5maXJzdExpbmVCb3goKTsKICAgICAg
ICAgaWYgKCFmaXJzdEJveCkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIGlu
dCB0b3AgPSBmaXJzdEJveC0+dG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgICAgIGludCBib3R0
b20gPSBpbmxpbmVGbG93LT5sYXN0TGluZUJveCgpLT5ib3R0b21WaXNpYmxlT3ZlcmZsb3coKTsK
KyAgICAgICAgaW50IHRvcCA9IGZpcnN0Qm94LT50b3BWaXN1YWxPdmVyZmxvdygpOworICAgICAg
ICBpbnQgYm90dG9tID0gaW5saW5lRmxvdy0+bGFzdExpbmVCb3goKS0+Ym90dG9tVmlzdWFsT3Zl
cmZsb3coKTsKICAgICAgICAgaW50IGxlZnQgPSBmaXJzdEJveC0+eCgpOwogICAgICAgICBmb3Ig
KElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdEJveC0+bmV4dExpbmVCb3goKTsgY3VycjsgY3Vy
ciA9IGN1cnItPm5leHRMaW5lQm94KCkpCiAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGN1
cnItPngoKSk7CkBAIC0zMzg3LDcgKzM0MDcsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpsb2Nh
bEJvdW5kaW5nQm94KCkgCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVDZWxsKCkpIHsK
ICAgICAgICAgICAgICAgICBJbnRSZWN0IGJib3ggPSB0b1JlbmRlckJveChjaGlsZCktPmJvcmRl
ckJveFJlY3QoKTsKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUoYmJveCk7Ci0gICAgICAg
ICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSByZW5kZXJCb3goKS0+dmlzaWJsZU92ZXJm
bG93UmVjdCgpOworICAgICAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0ID0gcmVuZGVy
Qm94KCktPnZpc3VhbE92ZXJmbG93UmVjdCgpOwogICAgICAgICAgICAgICAgIGlmIChiYm94ICE9
IG92ZXJmbG93UmVjdCkKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnVuaXRlKG92ZXJmbG93
UmVjdCk7CiAgICAgICAgICAgICB9CkBAIC0zNDAwLDcgKzM0MjAsNyBAQCBJbnRSZWN0IFJlbmRl
ckxheWVyOjpsb2NhbEJvdW5kaW5nQm94KCkgCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
SW50UmVjdCBiYm94ID0gYm94LT5ib3JkZXJCb3hSZWN0KCk7CiAgICAgICAgICAgICByZXN1bHQg
PSBiYm94OwotICAgICAgICAgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QgPSBib3gtPnZpc2libGVP
dmVyZmxvd1JlY3QoKTsKKyAgICAgICAgICAgIEludFJlY3Qgb3ZlcmZsb3dSZWN0ID0gYm94LT52
aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgICAgIGlmIChiYm94ICE9IG92ZXJmbG93UmVj
dCkKICAgICAgICAgICAgICAgICByZXN1bHQudW5pdGUob3ZlcmZsb3dSZWN0KTsKICAgICAgICAg
fQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4MSw2ICs1ODEs
MTEgQEAgcHJpdmF0ZToKICAgICAvLyBPbmx5IHNhZmUgdG8gY2FsbCBmcm9tIFJlbmRlckJveE1v
ZGVsT2JqZWN0OjpkZXN0cm95TGF5ZXIoUmVuZGVyQXJlbmEqKQogICAgIHZvaWQgZGVzdHJveShS
ZW5kZXJBcmVuYSopOwogCisgICAgaW50IG92ZXJmbG93VG9wKCkgY29uc3Q7CisgICAgaW50IG92
ZXJmbG93Qm90dG9tKCkgY29uc3Q7CisgICAgaW50IG92ZXJmbG93TGVmdCgpIGNvbnN0OworICAg
IGludCBvdmVyZmxvd1JpZ2h0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJCb3hN
b2RlbE9iamVjdCogbV9yZW5kZXJlcjsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGluZUJveExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
bmVCb3hMaXN0LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaW5lQm94TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NiwxMCArMTc2LDEwIEBAIGJv
b2wgUmVuZGVyTGluZUJveExpc3Q6OmFueUxpbmVJbnRlcnNlY3QKICAgICAvLyBpbnRlcnNlY3Qu
ICBUaGlzIGlzIGEgcXVpY2sgc2hvcnQtY2lyY3VpdCB0aGF0IHdlIGNhbiB0YWtlIHRvIGF2b2lk
IHdhbGtpbmcgYW55IGxpbmVzLgogICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlzIGZsYXdlZCBp
biB0aGUgZm9sbG93aW5nIGV4dHJlbWVseSBvYnNjdXJlIHdheToKICAgICAvLyBpZiBzb21lIGxp
bmUgaW4gdGhlIG1pZGRsZSBoYXMgYSBodWdlIG92ZXJmbG93LCBpdCBtaWdodCBhY3R1YWxseSBl
eHRlbmQgYmVsb3cgdGhlIGxhc3QgbGluZS4KLSAgICBpbnQgZmlyc3RMaW5lVG9wID0gZmlyc3RM
aW5lQm94KCktPmxvZ2ljYWxUb3BWaXNpYmxlT3ZlcmZsb3coKTsKKyAgICBpbnQgZmlyc3RMaW5l
VG9wID0gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpOwogICAgIGlm
ICh1c2VQcmludFJlY3QgJiYgIWZpcnN0TGluZUJveCgpLT5wYXJlbnQoKSkKICAgICAgICAgZmly
c3RMaW5lVG9wID0gbWluKGZpcnN0TGluZVRvcCwgZmlyc3RMaW5lQm94KCktPnJvb3QoKS0+bGlu
ZVRvcCgpKTsKLSAgICBpbnQgbGFzdExpbmVCb3R0b20gPSBsYXN0TGluZUJveCgpLT5sb2dpY2Fs
Qm90dG9tVmlzaWJsZU92ZXJmbG93KCk7CisgICAgaW50IGxhc3RMaW5lQm90dG9tID0gbGFzdExp
bmVCb3goKS0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93KCk7CiAgICAgaWYgKHVzZVByaW50
UmVjdCAmJiAhbGFzdExpbmVCb3goKS0+cGFyZW50KCkpCiAgICAgICAgIGxhc3RMaW5lQm90dG9t
ID0gbWF4KGxhc3RMaW5lQm90dG9tLCBsYXN0TGluZUJveCgpLT5yb290KCktPmxpbmVCb3R0b20o
KSk7CiAgICAgaW50IGxvZ2ljYWxUb3AgPSBmaXJzdExpbmVUb3AgLSBvdXRsaW5lU2l6ZTsKQEAg
LTE5MCw4ICsxOTAsOCBAQCBib29sIFJlbmRlckxpbmVCb3hMaXN0OjphbnlMaW5lSW50ZXJzZWN0
CiAKIGJvb2wgUmVuZGVyTGluZUJveExpc3Q6OmxpbmVJbnRlcnNlY3RzRGlydHlSZWN0KFJlbmRl
ckJveE1vZGVsT2JqZWN0KiByZW5kZXJlciwgSW5saW5lRmxvd0JveCogYm94LCBjb25zdCBQYWlu
dEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpIGNvbnN0CiB7Ci0gICAgaW50IGxvZ2lj
YWxUb3AgPSBtaW4oYm94LT5sb2dpY2FsVG9wVmlzaWJsZU92ZXJmbG93KCksIGJveC0+cm9vdCgp
LT5zZWxlY3Rpb25Ub3AoKSkgLSByZW5kZXJlci0+bWF4aW1hbE91dGxpbmVTaXplKHBhaW50SW5m
by5waGFzZSk7Ci0gICAgaW50IGxvZ2ljYWxCb3R0b20gPSBib3gtPmxvZ2ljYWxCb3R0b21WaXNp
YmxlT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhpbWFsT3V0bGluZVNpemUocGFpbnRJbmZvLnBo
YXNlKTsKKyAgICBpbnQgbG9naWNhbFRvcCA9IG1pbihib3gtPmxvZ2ljYWxUb3BWaXN1YWxPdmVy
ZmxvdygpLCBib3gtPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCkpIC0gcmVuZGVyZXItPm1heGltYWxP
dXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpOworICAgIGludCBsb2dpY2FsQm90dG9tID0gYm94
LT5sb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3coKSArIHJlbmRlcmVyLT5tYXhpbWFsT3V0bGlu
ZVNpemUocGFpbnRJbmZvLnBoYXNlKTsKICAgICAKICAgICByZXR1cm4gcmFuZ2VJbnRlcnNlY3Rz
UmVjdChyZW5kZXJlciwgbG9naWNhbFRvcCwgbG9naWNhbEJvdHRvbSwgcGFpbnRJbmZvLnJlY3Qs
IHR4LCB0eSk7CiB9CkBAIC0yMzAsOCArMjMwLDggQEAgdm9pZCBSZW5kZXJMaW5lQm94TGlzdDo6
cGFpbnQoUmVuZGVyQm94TQogICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgdGhlIGRlcHJl
Y2F0ZWQgcGFnaW5hdGlvbiBtb2RlbCB0aGF0IGlzIHN0aWxsIG5lZWRlZAogICAgICAgICAgICAg
Ly8gZm9yIGVtYmVkZGVkIHZpZXdzIGluc2lkZSBBcHBLaXQuICBBcHBLaXQgaXMgaW5jYXBhYmxl
IG9mIHBhZ2luYXRpbmcgdmVydGljYWwKICAgICAgICAgICAgIC8vIHRleHQgcGFnZXMsIHNvIHdl
IGRvbid0IGhhdmUgdG8gZGVhbCB3aXRoIHZlcnRpY2FsIGxpbmVzIGF0IGFsbCBoZXJlLgotICAg
ICAgICAgICAgaW50IHRvcEZvclBhZ2luYXRpb25DaGVjayA9IGN1cnItPnRvcFZpc2libGVPdmVy
ZmxvdygpOwotICAgICAgICAgICAgaW50IGJvdHRvbUZvclBhZ2luYXRpb25DaGVjayA9IGN1cnIt
PmJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgICAgICAgICAgaW50IHRvcEZvclBhZ2luYXRp
b25DaGVjayA9IGN1cnItPnRvcFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgICAgICBpbnQgYm90
dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gY3Vyci0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKTsKICAg
ICAgICAgICAgIGlmICghY3Vyci0+cGFyZW50KCkpIHsKICAgICAgICAgICAgICAgICAvLyBXZSdy
ZSBhIHJvb3QgYm94LiAgVXNlIGxpbmVUb3AgYW5kIGxpbmVCb3R0b20gYXMgd2VsbCBoZXJlLgog
ICAgICAgICAgICAgICAgIHRvcEZvclBhZ2luYXRpb25DaGVjayA9IG1pbih0b3BGb3JQYWdpbmF0
aW9uQ2hlY2ssIGN1cnItPnJvb3QoKS0+bGluZVRvcCgpKTsKQEAgLTI0MCw3ICsyNDAsNyBAQCB2
b2lkIFJlbmRlckxpbmVCb3hMaXN0OjpwYWludChSZW5kZXJCb3hNCiAgICAgICAgICAgICBpZiAo
Ym90dG9tRm9yUGFnaW5hdGlvbkNoZWNrIC0gdG9wRm9yUGFnaW5hdGlvbkNoZWNrIDw9IHYtPnBy
aW50UmVjdCgpLmhlaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHR5ICsgYm90dG9tRm9y
UGFnaW5hdGlvbkNoZWNrID4gdi0+cHJpbnRSZWN0KCkuYm90dG9tKCkpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94ID0gY3Vyci0+cm9vdCgpLT5u
ZXh0Um9vdEJveCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tRm9yUGFnaW5hdGlv
bkNoZWNrID0gbWluKGJvdHRvbUZvclBhZ2luYXRpb25DaGVjaywgbWluKG5leHRSb290Qm94LT50
b3BWaXNpYmxlT3ZlcmZsb3coKSwgbmV4dFJvb3RCb3gtPmxpbmVUb3AoKSkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgYm90dG9tRm9yUGFnaW5hdGlvbkNoZWNrID0gbWluKGJvdHRvbUZvclBh
Z2luYXRpb25DaGVjaywgbWluKG5leHRSb290Qm94LT50b3BWaXN1YWxPdmVyZmxvdygpLCBuZXh0
Um9vdEJveC0+bGluZVRvcCgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IGlmICh0eSArIGJvdHRvbUZvclBhZ2luYXRpb25DaGVjayA+IHYtPnByaW50UmVjdCgpLmJvdHRv
bSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0eSArIHRvcEZvclBhZ2luYXRpb25DaGVj
ayA8IHYtPnRydW5jYXRlZEF0KCkpCkBAIC0yOTIsNyArMjkyLDcgQEAgYm9vbCBSZW5kZXJMaW5l
Qm94TGlzdDo6aGl0VGVzdChSZW5kZXJCbwogICAgIC8vIHRoZW0gZnVydGhlci4gIE5vdGUgdGhh
dCBib3hlcyBjYW4gZWFzaWx5IG92ZXJsYXAsIHNvIHdlIGNhbid0IG1ha2UgYW55IGFzc3VtcHRp
b25zCiAgICAgLy8gYmFzZWQgb2ZmIHBvc2l0aW9ucyBvZiBvdXIgZmlyc3QgbGluZSBib3ggb3Ig
b3VyIGxhc3QgbGluZSBib3guCiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gbGFzdExp
bmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPnByZXZMaW5lQm94KCkpIHsKLSAgICAgICAgaWYg
KHJhbmdlSW50ZXJzZWN0c1JlY3QocmVuZGVyZXIsIGN1cnItPmxvZ2ljYWxUb3BWaXNpYmxlT3Zl
cmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZpc2libGVPdmVyZmxvdygpLCByZWN0LCB0eCwg
dHkpKSB7CisgICAgICAgIGlmIChyYW5nZUludGVyc2VjdHNSZWN0KHJlbmRlcmVyLCBjdXJyLT5s
b2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3coKSwgY3Vyci0+bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93KCksIHJlY3QsIHR4LCB0eSkpIHsKICAgICAgICAgICAgIGJvb2wgaW5zaWRlID0gY3Vyci0+
bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCB0eCwgdHkpOwogICAgICAgICAgICAg
aWYgKGluc2lkZSkgewogICAgICAgICAgICAgICAgIHJlbmRlcmVyLT51cGRhdGVIaXRUZXN0UmVz
dWx0KHJlc3VsdCwgSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKTsKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0SXRlbS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEl0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDEyIEBA
IHZvaWQgUmVuZGVyTGlzdEl0ZW06OmxheW91dCgpCiAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgp
OwogfQogCit2b2lkIFJlbmRlckxpc3RJdGVtOjphZGRPdmVyZmxvd0Zyb21DaGlsZHJlbigpCit7
CisgICAgUmVuZGVyQmxvY2s6OmFkZE92ZXJmbG93RnJvbUNoaWxkcmVuKCk7CisgICAgcG9zaXRp
b25MaXN0TWFya2VyKCk7Cit9CisKIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBvc2l0aW9uTGlzdE1h
cmtlcigpCiB7CiAgICAgaWYgKG1fbWFya2VyICYmIG1fbWFya2VyLT5wYXJlbnQoKS0+aXNCb3go
KSAmJiAhbV9tYXJrZXItPmlzSW5zaWRlKCkgJiYgbV9tYXJrZXItPmlubGluZUJveFdyYXBwZXIo
KSkgewpAQCAtMjU3LDIwICsyNjMsMzEgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25M
aXN0TWFya2VyKAogICAgICAgICBib29sIGFkanVzdE92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAg
IGludCBtYXJrZXJMb2dpY2FsTGVmdDsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IG1f
bWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPnJvb3QoKTsKKyAgICAgICAgYm9vbCBoaXRTZWxm
UGFpbnRpbmdMYXllciA9IGZhbHNlOwogCi0gICAgICAgIC8vIEZJWE1FOiBJbmxpbmUgZmxvd3Mg
aW4gdGhlIGxpbmUgYm94IGhpZXJhcmNoeSB0aGF0IGhhdmUgc2VsZi1wYWludGluZyBsYXllcnMg
c2hvdWxkIGFjdCBhcyBjdXRvZmYgcG9pbnRzCi0gICAgICAgIC8vIGFuZCByZWFsbHkgc2hvdWxk
bid0IGtlZXAgcHJvcGFnYXRpbmcgb3ZlcmZsb3cgdXAuICBUaGlzIHdvbid0IHJlYWxseSBicmVh
ayBhbnl0aGluZyBvdGhlciB0aGFuIHJlcGFpbnRpbmcKLSAgICAgICAgLy8gbm90IGJlaW5nIGFz
IHRpZ2h0IGFzIGl0IGNvdWxkIGJlIHRob3VnaC4KKyAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8g
YWNjb3VudCBmb3IgcmVsYXRpdmUgcG9zaXRpb25pbmcgaW4gdGhlIGxheW91dCBvdmVyZmxvdy4K
ICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAg
ICAgICAgaW50IGxlZnRMaW5lT2Zmc2V0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGJsb2Nr
T2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoYmxvY2tPZmZzZXQsIGZhbHNlKSwgZmFs
c2UpOwogICAgICAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBsZWZ0TGluZU9mZnNldCAtIGxp
bmVPZmZzZXQgLSBwYWRkaW5nU3RhcnQoKSAtIGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+bWFy
Z2luU3RhcnQoKTsKICAgICAgICAgICAgIG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPmFk
anVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExv
Z2ljYWxMZWZ0KTsKICAgICAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogYm94ID0gbV9tYXJr
ZXItPmlubGluZUJveFdyYXBwZXIoKS0+cGFyZW50KCk7IGJveDsgYm94ID0gYm94LT5wYXJlbnQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IGJveC0+bG9naWNh
bExlZnRMYXlvdXRPdmVyZmxvdygpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJveC0+c2V0SW5s
aW5lRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobWFya2VyTG9naWNhbExlZnQsIGJveC0+bG9n
aWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3coKSwgYm94LT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93
KCksIGJveC0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgICAgICAgICAg
SW50UmVjdCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsVmlzdWFs
T3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICAgICAgICAgSW50UmVjdCBuZXdMb2dpY2FsTGF5b3V0
T3ZlcmZsb3dSZWN0ID0gYm94LT5sb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0KCk7CisgICAgICAg
ICAgICAgICAgaWYgKG1hcmtlckxvZ2ljYWxMZWZ0IDwgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdC54KCkgJiYgIWhpdFNlbGZQYWludGluZ0xheWVyKSB7CisgICAgICAgICAgICAgICAgICAg
IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Quc2V0WChtYXJrZXJMb2dpY2FsTGVmdCk7Cisg
ICAgICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Quc2V0V2lkdGgo
Ym94LT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpIC0gbmV3TG9naWNhbFZpc3VhbE92ZXJm
bG93UmVjdC54KCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCisgICAg
ICAgICAgICAgICAgICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCA8IG5ld0xvZ2ljYWxM
YXlvdXRPdmVyZmxvd1JlY3QueCgpKSB7CisgICAgICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxM
YXlvdXRPdmVyZmxvd1JlY3Quc2V0WChtYXJrZXJMb2dpY2FsTGVmdCk7CisgICAgICAgICAgICAg
ICAgICAgIG5ld0xvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3Quc2V0V2lkdGgoYm94LT5sb2dpY2Fs
UmlnaHRMYXlvdXRPdmVyZmxvdygpIC0gbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC54KCkp
OwogICAgICAgICAgICAgICAgICAgICBpZiAoYm94ID09IHJvb3QpCiAgICAgICAgICAgICAgICAg
ICAgICAgICBhZGp1c3RPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIGJveC0+c2V0T3ZlcmZsb3dGcm9tTG9naWNhbFJlY3RzKG5ld0xvZ2ljYWxMYXlv
dXRPdmVyZmxvd1JlY3QsIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QpOworICAgICAgICAg
ICAgICAgIGlmIChib3gtPmJveE1vZGVsT2JqZWN0KCktPmhhc1NlbGZQYWludGluZ0xheWVyKCkp
CisgICAgICAgICAgICAgICAgICAgIGhpdFNlbGZQYWludGluZ0xheWVyID0gdHJ1ZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0
ID0gbV9tYXJrZXItPmxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nU3RhcnQoKSArIGJvcmRlclN0YXJ0
KCkgKyBtX21hcmtlci0+bWFyZ2luRW5kKCk7CkBAIC0yNzgsMTEgKzI5NSwyMiBAQCB2b2lkIFJl
bmRlckxpc3RJdGVtOjpwb3NpdGlvbkxpc3RNYXJrZXIoCiAgICAgICAgICAgICBtYXJrZXJMb2dp
Y2FsTGVmdCA9IHJpZ2h0TGluZU9mZnNldCAtIGxpbmVPZmZzZXQgKyBwYWRkaW5nU3RhcnQoKSAr
IGJvcmRlclN0YXJ0KCkgKyBtX21hcmtlci0+bWFyZ2luRW5kKCk7CiAgICAgICAgICAgICBtX21h
cmtlci0+aW5saW5lQm94V3JhcHBlcigpLT5hZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24obWFy
a2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRMb2dpY2FsTGVmdCk7CiAgICAgICAgICAgICBmb3Ig
KElubGluZUZsb3dCb3gqIGJveCA9IG1fbWFya2VyLT5pbmxpbmVCb3hXcmFwcGVyKCktPnBhcmVu
dCgpOyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAobWFy
a2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdpZHRoKCkgPiBib3gtPmxvZ2ljYWxS
aWdodExheW91dE92ZXJmbG93KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgYm94LT5zZXRJbmxp
bmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhib3gtPmxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZs
b3coKSwgbWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdpZHRoKCksIGJveC0+
bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpLCBib3gtPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93KCkpOworICAgICAgICAgICAgICAgIEludFJlY3QgbmV3TG9naWNhbFZpc3VhbE92ZXJmbG93
UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAg
IEludFJlY3QgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbExheW91
dE92ZXJmbG93UmVjdCgpOworICAgICAgICAgICAgICAgIGlmIChtYXJrZXJMb2dpY2FsTGVmdCAr
IG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSA+IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3Qu
cmlnaHQoKSAmJiAhaGl0U2VsZlBhaW50aW5nTGF5ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAg
bmV3TG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdC5zZXRXaWR0aChtYXJrZXJMb2dpY2FsTGVmdCAr
IG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSAtIGJveC0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dygpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQogICAgICAgICAgICAg
ICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBpZiAobWFya2VyTG9naWNhbExlZnQgKyBtX21hcmtlci0+bG9naWNhbFdp
ZHRoKCkgPiBuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LnJpZ2h0KCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgbmV3TG9naWNhbExheW91dE92ZXJmbG93UmVjdC5zZXRXaWR0aChtYXJrZXJM
b2dpY2FsTGVmdCArIG1fbWFya2VyLT5sb2dpY2FsV2lkdGgoKSAtIGJveC0+bG9naWNhbExlZnRM
YXlvdXRPdmVyZmxvdygpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJveCA9PSByb290KQor
ICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0T3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBib3gtPnNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0
cyhuZXdMb2dpY2FsTGF5b3V0T3ZlcmZsb3dSZWN0LCBuZXdMb2dpY2FsVmlzdWFsT3ZlcmZsb3dS
ZWN0KTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoYm94LT5ib3hNb2Rl
bE9iamVjdCgpLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQorICAgICAgICAgICAgICAgICAgICBo
aXRTZWxmUGFpbnRpbmdMYXllciA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApA
QCAtMjkxLDEyICszMTksMjQgQEAgdm9pZCBSZW5kZXJMaXN0SXRlbTo6cG9zaXRpb25MaXN0TWFy
a2VyKAogICAgICAgICAgICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QgPSBtYXJrZXJSZWN0LnRyYW5zcG9zZWRSZWN0
KCk7CiAgICAgICAgICAgICBSZW5kZXJCb3gqIG8gPSBtX21hcmtlcjsKKyAgICAgICAgICAgIGJv
b2wgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSB0cnVlOworICAgICAgICAgICAgYm9vbCBwcm9w
YWdhdGVMYXlvdXRPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAg
ICAgICAgbyA9IG8tPnBhcmVudEJveCgpOwotICAgICAgICAgICAgICAgIGlmIChvLT5pc1JlbmRl
ckJsb2NrKCkpCi0gICAgICAgICAgICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZExheW91
dE92ZXJmbG93KG1hcmtlclJlY3QpOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNPdmVyZmxv
d0NsaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVmlzdWFsT3ZlcmZsb3cgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICBpZiAoby0+aXNSZW5kZXJCbG9jaygpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdykKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRvUmVuZGVyQmxvY2sobyktPmFkZFZpc3VhbE92ZXJmbG93KG1hcmtlclJlY3Qp
OworICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpCisgICAg
ICAgICAgICAgICAgICAgICAgICB0b1JlbmRlckJsb2NrKG8pLT5hZGRMYXlvdXRPdmVyZmxvdyht
YXJrZXJSZWN0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG8tPmhh
c092ZXJmbG93Q2xpcCgpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVMYXlvdXRPdmVy
ZmxvdyA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChvLT5oYXNTZWxmUGFpbnRpbmdMYXll
cigpKQorICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGVWaXN1YWxPdmVyZmxvdyA9IGZhbHNl
OwogICAgICAgICAgICAgICAgIG1hcmtlclJlY3QubW92ZSgtby0+eCgpLCAtby0+eSgpKTsKLSAg
ICAgICAgICAgIH0gd2hpbGUgKG8gIT0gdGhpcyAmJiAhby0+aGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSk7CisgICAgICAgICAgICB9IHdoaWxlIChvICE9IHRoaXMgJiYgcHJvcGFnYXRlVmlzdWFsT3Zl
cmZsb3cgJiYgcHJvcGFnYXRlTGF5b3V0T3ZlcmZsb3cpOwogICAgICAgICB9CiAgICAgfQogfQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDEy
ICs2MiwxNCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKICAgICB2aXJ0
dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBwb3NpdGlvbkxpc3RNYXJrZXIoKTsKKyAgICB2b2lkIHBvc2l0aW9uTGlzdE1hcmtlcigp
OwogCiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKIAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0Zv
cmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKTsKKwogICAgIHZvaWQgdXBk
YXRlTWFya2VyTG9jYXRpb24oKTsKICAgICBpbmxpbmUgaW50IGNhbGNWYWx1ZSgpIGNvbnN0Owog
ICAgIHZvaWQgdXBkYXRlVmFsdWVOb3coKSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAzLDcgKzExMDMsNyBA
QCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgICAgIHJldHVy
bjsKIAogICAgIEludFBvaW50IGJveE9yaWdpbih0eCArIHgoKSwgdHkgKyB5KCkpOwotICAgIElu
dFJlY3Qgb3ZlcmZsb3dSZWN0KHZpc2libGVPdmVyZmxvd1JlY3QoKSk7CisgICAgSW50UmVjdCBv
dmVyZmxvd1JlY3QodmlzdWFsT3ZlcmZsb3dSZWN0KCkpOwogICAgIG92ZXJmbG93UmVjdC5tb3Zl
KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkpOwogICAgIG92ZXJmbG93UmVjdC5pbmZsYXRl
KG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhhc2UpKTsKIApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBp
bnQgUmVuZGVyTWFycXVlZTo6Y29tcHV0ZVBvc2l0aW9uKEVNYXJxCiAgICAgaWYgKGlzSG9yaXpv
bnRhbCgpKSB7CiAgICAgICAgIGJvb2wgbHRyID0gcy0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigp
OwogICAgICAgICBpbnQgY2xpZW50V2lkdGggPSBib3gtPmNsaWVudFdpZHRoKCk7Ci0gICAgICAg
IGludCBjb250ZW50V2lkdGggPSBsdHIgPyBib3gtPnJpZ2h0bW9zdFBvc2l0aW9uKHRydWUsIGZh
bHNlKSA6IGJveC0+bGVmdG1vc3RQb3NpdGlvbih0cnVlLCBmYWxzZSk7CisgICAgICAgIGludCBj
b250ZW50V2lkdGggPSBsdHIgPyBib3gtPnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSA6IGJveC0+bGVm
dExheW91dE92ZXJmbG93KCk7CiAgICAgICAgIGlmIChsdHIpCiAgICAgICAgICAgICBjb250ZW50
V2lkdGggKz0gKGJveC0+cGFkZGluZ1JpZ2h0KCkgLSBib3gtPmJvcmRlckxlZnQoKSk7CiAgICAg
ICAgIGVsc2UgewpAQCAtMTM3LDggKzEzNyw3IEBAIGludCBSZW5kZXJNYXJxdWVlOjpjb21wdXRl
UG9zaXRpb24oRU1hcnEKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgaW50
IGNvbnRlbnRIZWlnaHQgPSBib3gtPmxvd2VzdFBvc2l0aW9uKHRydWUsIGZhbHNlKSAtIAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJveC0+Ym9yZGVyVG9wKCkgKyBib3gtPnBhZGRpbmdC
b3R0b20oKTsKKyAgICAgICAgaW50IGNvbnRlbnRIZWlnaHQgPSBib3gtPmJvdHRvbUxheW91dE92
ZXJmbG93KCkgLSBib3gtPmJvcmRlclRvcCgpICsgYm94LT5wYWRkaW5nQm90dG9tKCk7CiAgICAg
ICAgIGludCBjbGllbnRIZWlnaHQgPSBib3gtPmNsaWVudEhlaWdodCgpOwogICAgICAgICBpZiAo
ZGlyID09IE1VUCkgewogICAgICAgICAgICAgaWYgKHN0b3BBdENvbnRlbnRFZGdlKQpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZWRpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwMCw4MyArNjAwLDYg
QEAgdm9pZCBSZW5kZXJNZWRpYTo6Zm9yd2FyZEV2ZW50KEV2ZW50KiBldgogICAgIH0KIH0KIAot
aW50IFJlbmRlck1lZGlhOjp0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNv
bnN0Ci17Ci0gICAgaW50IHRvcCA9IFJlbmRlckltYWdlOjp0b3Btb3N0UG9zaXRpb24oaW5jbHVk
ZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYg
KCFtX2NvbnRyb2xzU2hhZG93Um9vdCB8fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVy
KCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0gICAgCi0gICAgdG9wID0gbWluKHRvcCwgIG1fY29u
dHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS55KCkg
KyBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnRvcG1vc3RQb3NpdGlvbihpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKSk7Ci0KLSAg
ICBpZiAoYXBwbHlUcmFuc2Zvcm0gPT0gSW5jbHVkZVRyYW5zZm9ybSAmJiBpbmNsdWRlU2VsZiAm
JiBsYXllcigpICYmIGxheWVyKCktPmhhc1RyYW5zZm9ybSgpKSB7Ci0gICAgICAgIGludCBib3R0
b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgcmlnaHQgPSByaWdodG1vc3RQb3NpdGlv
bihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0p
OwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50
ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsKLSAgICAgICAgSW50UmVjdCB0
cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVjdChJbnRSZWN0KGxlZnQsIHRv
cCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAgICAgcmV0dXJuIHRyYW5zZm9y
bVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiB0b3A7Ci19Ci0KLWludCBSZW5kZXJNZWRp
YTo6bG93ZXN0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNs
dWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50
IGJvdHRvbSA9IFJlbmRlckltYWdlOjpsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRl
cmlvciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIW1fY29udHJvbHNT
aGFkb3dSb290IHx8ICFtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyZXIoKSkKLSAgICAgICAg
cmV0dXJuIGJvdHRvbTsKLSAgICAKLSAgICBib3R0b20gPSBtYXgoYm90dG9tLCAgbV9jb250cm9s
c1NoYWRvd1Jvb3QtPnJlbmRlckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIG1f
Y29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+bG93ZXN0UG9zaXRpb24oaW5jbHVkZU92
ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYg
KGFwcGx5VHJhbnNmb3JtID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5
ZXIoKSAmJiBsYXllcigpLT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gdG9w
bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVk
ZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1
ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAg
ICAgIGludCBsZWZ0ID0gbGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwg
aW5jbHVkZVNlbGYsIEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBJbnRSZWN0IHRyYW5zZm9y
bVJlY3QgPSBhcHBseUxheWVyVHJhbnNmb3JtVG9SZWN0KEludFJlY3QobGVmdCwgdG9wLCByaWdo
dCAtIGxlZnQsIGJvdHRvbSAtIHRvcCkpOwotICAgICAgICByZXR1cm4gdHJhbnNmb3JtUmVjdC5o
ZWlnaHQoKSArIHRyYW5zZm9ybVJlY3QueSgpOwotICAgIH0KLQotICAgIHJldHVybiBib3R0b207
Ci19Ci0KLWludCBSZW5kZXJNZWRpYTo6cmlnaHRtb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3Zl
cmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gYXBwbHlUcmFu
c2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHJpZ2h0ID0gUmVuZGVySW1hZ2U6OnJpZ2h0bW9zdFBv
c2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlUcmFuc2Zv
cm0pOwotICAgIGlmICghbV9jb250cm9sc1NoYWRvd1Jvb3QgfHwgIW1fY29udHJvbHNTaGFkb3dS
b290LT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gcmlnaHQ7Ci0gICAgCi0gICAgcmlnaHQg
PSBtYXgocmlnaHQsIG1fY29udHJvbHNTaGFkb3dSb290LT5yZW5kZXJCb3goKS0+dHJhbnNmb3Jt
ZWRGcmFtZVJlY3QoKS54KCkgKyBtX2NvbnRyb2xzU2hhZG93Um9vdC0+cmVuZGVyQm94KCktPnJp
Z2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBw
bHlUcmFuc2Zvcm0pKTsKLQotICAgIGlmIChhcHBseVRyYW5zZm9ybSA9PSBJbmNsdWRlVHJhbnNm
b3JtICYmIGluY2x1ZGVTZWxmICYmIGxheWVyKCkgJiYgbGF5ZXIoKS0+aGFzVHJhbnNmb3JtKCkp
IHsKLSAgICAgICAgaW50IHRvcCA9IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0lu
dGVyaW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCBib3R0
b20gPSBsb3dlc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVkZVNlbGYs
IEV4Y2x1ZGVUcmFuc2Zvcm0pOwotICAgICAgICBpbnQgbGVmdCA9IGxlZnRtb3N0UG9zaXRpb24o
aW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsK
LSAgICAgICAgSW50UmVjdCB0cmFuc2Zvcm1SZWN0ID0gYXBwbHlMYXllclRyYW5zZm9ybVRvUmVj
dChJbnRSZWN0KGxlZnQsIHRvcCwgcmlnaHQgLSBsZWZ0LCBib3R0b20gLSB0b3ApKTsKLSAgICAg
ICAgcmV0dXJuIHRyYW5zZm9ybVJlY3Qud2lkdGgoKSArIHRyYW5zZm9ybVJlY3QueCgpOwotICAg
IH0KLQotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50IFJlbmRlck1lZGlhOjpsZWZ0bW9zdFBv
c2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFw
cGx5VHJhbnNmb3JtIGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBsZWZ0ID0gUmVu
ZGVySW1hZ2U6OmxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1
ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSk7Ci0gICAgaWYgKCFtX2NvbnRyb2xzU2hhZG93Um9vdCB8
fCAhbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRlcmVyKCkpCi0gICAgICAgIHJldHVybiBsZWZ0
OwotICAgIAotICAgIGxlZnQgPSBtaW4obGVmdCwgbV9jb250cm9sc1NoYWRvd1Jvb3QtPnJlbmRl
ckJveCgpLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLngoKSArICBtX2NvbnRyb2xzU2hhZG93Um9v
dC0+cmVuZGVyQm94KCktPmxlZnRtb3N0UG9zaXRpb24oaW5jbHVkZU92ZXJmbG93SW50ZXJpb3Is
IGluY2x1ZGVTZWxmLCBhcHBseVRyYW5zZm9ybSkpOwotCi0gICAgaWYgKGFwcGx5VHJhbnNmb3Jt
ID09IEluY2x1ZGVUcmFuc2Zvcm0gJiYgaW5jbHVkZVNlbGYgJiYgbGF5ZXIoKSAmJiBsYXllcigp
LT5oYXNUcmFuc2Zvcm0oKSkgewotICAgICAgICBpbnQgdG9wID0gcmlnaHRtb3N0UG9zaXRpb24o
aW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGluY2x1ZGVTZWxmLCBFeGNsdWRlVHJhbnNmb3JtKTsK
LSAgICAgICAgaW50IGJvdHRvbSA9IGxvd2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVy
aW9yLCBpbmNsdWRlU2VsZiwgRXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIGludCByaWdodCA9
IHJpZ2h0bW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwg
RXhjbHVkZVRyYW5zZm9ybSk7Ci0gICAgICAgIEludFJlY3QgdHJhbnNmb3JtUmVjdCA9IGFwcGx5
TGF5ZXJUcmFuc2Zvcm1Ub1JlY3QoSW50UmVjdChsZWZ0LCB0b3AsIHJpZ2h0IC0gbGVmdCwgYm90
dG9tIC0gdG9wKSk7Ci0gICAgICAgIHJldHVybiB0cmFuc2Zvcm1SZWN0LngoKTsKLSAgICB9Ci0K
LSAgICByZXR1cm4gbGVmdDsKLX0KLQotCiAvLyBXZSB3YW50IHRoZSB0aW1lbGluZSBzbGlkZXIg
dG8gYmUgYXQgbGVhc3QgMTAwIHBpeGVscyB3aWRlLgogc3RhdGljIGNvbnN0IGludCBtaW5XaWR0
aFRvRGlzcGxheVRpbWVEaXNwbGF5cyA9IDE2ICsgMTYgKyA0NSArIDEwMCArIDQ1ICsgMTYgKyAx
OwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmgJKHJldmlzaW9uIDczMzM0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuaAkod29ya2luZyBjb3B5KQpAQCAtODUsMTEgKzg1
LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYSgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAKLSAgICB2aXJ0dWFsIGludCB0b3Btb3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZs
b3dJbnRlcmlvciA9IHRydWUsIGJvb2wgaW5jbHVkZVNlbGYgPSB0cnVlLCBBcHBseVRyYW5zZm9y
bSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxvd2VzdFBvc2l0
aW9uKGJvb2wgaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgPSB0cnVlLCBib29sIGluY2x1ZGVTZWxm
ID0gdHJ1ZSwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
ID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVk
ZVRyYW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbGVmdG1vc3RQb3NpdGlvbihib29s
IGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yID0gdHJ1ZSwgYm9vbCBpbmNsdWRlU2VsZiA9IHRydWUs
IEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRyYW5zZm9ybSkgY29uc3Q7Ci0KICAgICB2b2lkIGNy
ZWF0ZUNvbnRyb2xzU2hhZG93Um9vdCgpOwogICAgIHZvaWQgZGVzdHJveUNvbnRyb2xzU2hhZG93
Um9vdCgpOwogICAgIHZvaWQgY3JlYXRlUGFuZWwoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T3ZlcmZsb3cuaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
dmVyZmxvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNSArMzksMTUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUKIC8vIFRoaXMgb2JqZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVz
ZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCiBjbGFz
cyBSZW5kZXJPdmVyZmxvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6Ci0gICAgUmVu
ZGVyT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgZGVmYXVsdFJlY3QgPSBJbnRSZWN0KCkpIAotICAg
ICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QueSgpKQotICAgICAgICAsIG1f
Ym90dG9tTGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QuYm90dG9tKCkpCi0gICAgICAgICwgbV9s
ZWZ0TGF5b3V0T3ZlcmZsb3coZGVmYXVsdFJlY3QueCgpKQotICAgICAgICAsIG1fcmlnaHRMYXlv
dXRPdmVyZmxvdyhkZWZhdWx0UmVjdC5yaWdodCgpKQotICAgICAgICAsIG1fdG9wVmlzdWFsT3Zl
cmZsb3coZGVmYXVsdFJlY3QueSgpKQotICAgICAgICAsIG1fYm90dG9tVmlzdWFsT3ZlcmZsb3co
ZGVmYXVsdFJlY3QuYm90dG9tKCkpCi0gICAgICAgICwgbV9sZWZ0VmlzdWFsT3ZlcmZsb3coZGVm
YXVsdFJlY3QueCgpKQotICAgICAgICAsIG1fcmlnaHRWaXN1YWxPdmVyZmxvdyhkZWZhdWx0UmVj
dC5yaWdodCgpKQorICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3Qs
IGNvbnN0IEludFJlY3QmIHZpc3VhbFJlY3QpIAorICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZs
b3cobGF5b3V0UmVjdC55KCkpCisgICAgICAgICwgbV9ib3R0b21MYXlvdXRPdmVyZmxvdyhsYXlv
dXRSZWN0LmJvdHRvbSgpKQorICAgICAgICAsIG1fbGVmdExheW91dE92ZXJmbG93KGxheW91dFJl
Y3QueCgpKQorICAgICAgICAsIG1fcmlnaHRMYXlvdXRPdmVyZmxvdyhsYXlvdXRSZWN0LnJpZ2h0
KCkpCisgICAgICAgICwgbV90b3BWaXN1YWxPdmVyZmxvdyh2aXN1YWxSZWN0LnkoKSkKKyAgICAg
ICAgLCBtX2JvdHRvbVZpc3VhbE92ZXJmbG93KHZpc3VhbFJlY3QuYm90dG9tKCkpCisgICAgICAg
ICwgbV9sZWZ0VmlzdWFsT3ZlcmZsb3codmlzdWFsUmVjdC54KCkpCisgICAgICAgICwgbV9yaWdo
dFZpc3VhbE92ZXJmbG93KHZpc3VhbFJlY3QucmlnaHQoKSkKICAgICB7CiAgICAgfQogICAgCkBA
IC02Myw4ICs2Myw2IEBAIHB1YmxpYzoKICAgICBpbnQgcmlnaHRWaXN1YWxPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fcmlnaHRWaXN1YWxPdmVyZmxvdzsgfQogICAgIEludFJlY3QgdmlzdWFs
T3ZlcmZsb3dSZWN0KCkgY29uc3Q7CiAKLSAgICBJbnRSZWN0IHZpc2libGVPdmVyZmxvd1JlY3Qo
KSBjb25zdDsKLQogICAgIHZvaWQgc2V0VG9wTGF5b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7
IG1fdG9wTGF5b3V0T3ZlcmZsb3cgPSBvdmVyZmxvdzsgfQogICAgIHZvaWQgc2V0Qm90dG9tTGF5
b3V0T3ZlcmZsb3coaW50IG92ZXJmbG93KSB7IG1fYm90dG9tTGF5b3V0T3ZlcmZsb3cgPSBvdmVy
ZmxvdzsgfQogICAgIHZvaWQgc2V0TGVmdExheW91dE92ZXJmbG93KGludCBvdmVyZmxvdykgeyBt
X2xlZnRMYXlvdXRPdmVyZmxvdyA9IG92ZXJmbG93OyB9CkBAIC04MCw2ICs3OCw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGFkZExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKICAgICB2b2lk
IGFkZFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmKTsKIAorICAgIHZvaWQgc2V0TGF5b3V0
T3ZlcmZsb3coY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgc2V0VmlzdWFsT3ZlcmZsb3coY29u
c3QgSW50UmVjdCYpOworCiAgICAgdm9pZCByZXNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJl
Y3QmIGRlZmF1bHRSZWN0KTsKIAogcHJpdmF0ZToKQEAgLTEwNCwxMyArMTA1LDYgQEAgaW5saW5l
IEludFJlY3QgUmVuZGVyT3ZlcmZsb3c6OnZpc3VhbE92ZQogICAgIHJldHVybiBJbnRSZWN0KG1f
bGVmdFZpc3VhbE92ZXJmbG93LCBtX3RvcFZpc3VhbE92ZXJmbG93LCBtX3JpZ2h0VmlzdWFsT3Zl
cmZsb3cgLSBtX2xlZnRWaXN1YWxPdmVyZmxvdywgbV9ib3R0b21WaXN1YWxPdmVyZmxvdyAtIG1f
dG9wVmlzdWFsT3ZlcmZsb3cpOwogfQogCi1pbmxpbmUgSW50UmVjdCBSZW5kZXJPdmVyZmxvdzo6
dmlzaWJsZU92ZXJmbG93UmVjdCgpIGNvbnN0Ci17Ci0gICAgSW50UmVjdCBjb21iaW5lZFJlY3Qo
bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOwotICAgIGNvbWJpbmVkUmVjdC51bml0ZSh2aXN1YWxPdmVy
Zmxvd1JlY3QoKSk7Ci0gICAgcmV0dXJuIGNvbWJpbmVkUmVjdDsKLX0KLQogaW5saW5lIHZvaWQg
UmVuZGVyT3ZlcmZsb3c6Om1vdmUoaW50IGR4LCBpbnQgZHkpCiB7CiAgICAgbV90b3BMYXlvdXRP
dmVyZmxvdyArPSBkeTsKQEAgLTE0MCw2ICsxMzQsMjIgQEAgaW5saW5lIHZvaWQgUmVuZGVyT3Zl
cmZsb3c6OmFkZFZpc3VhbE92ZQogICAgIG1fcmlnaHRWaXN1YWxPdmVyZmxvdyA9IHN0ZDo6bWF4
KHJlY3QucmlnaHQoKSwgbV9yaWdodFZpc3VhbE92ZXJmbG93KTsKIH0KIAoraW5saW5lIHZvaWQg
UmVuZGVyT3ZlcmZsb3c6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCit7
CisgICAgbV90b3BMYXlvdXRPdmVyZmxvdyA9IHJlY3QueSgpOworICAgIG1fYm90dG9tTGF5b3V0
T3ZlcmZsb3cgPSByZWN0LmJvdHRvbSgpOworICAgIG1fbGVmdExheW91dE92ZXJmbG93ID0gcmVj
dC54KCk7CisgICAgbV9yaWdodExheW91dE92ZXJmbG93ID0gcmVjdC5yaWdodCgpOworfQorCitp
bmxpbmUgdm9pZCBSZW5kZXJPdmVyZmxvdzo6c2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICBtX3RvcFZpc3VhbE92ZXJmbG93ID0gcmVjdC55KCk7CisgICAgbV9i
b3R0b21WaXN1YWxPdmVyZmxvdyA9IHJlY3QuYm90dG9tKCk7CisgICAgbV9sZWZ0VmlzdWFsT3Zl
cmZsb3cgPSByZWN0LngoKTsKKyAgICBtX3JpZ2h0VmlzdWFsT3ZlcmZsb3cgPSByZWN0LnJpZ2h0
KCk7Cit9CisKIGlubGluZSB2b2lkIFJlbmRlck92ZXJmbG93OjpyZXNldExheW91dE92ZXJmbG93
KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgbV90b3BMYXlvdXRPdmVyZmxvdyA9IHJlY3Qu
eSgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAkocmV2aXNpb24gNzMz
MzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE3Niw4ICsxNzYsOCBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzaG91bGRQYWludChQ
YWludEluCiAgICAgaW50IGN1cnJlbnRUWSA9IHR5ICsgeSgpOwogCiAgICAgLy8gRWFybHkgZXhp
dCBpZiB0aGUgZWxlbWVudCB0b3VjaGVzIHRoZSBlZGdlcy4KLSAgICBpbnQgdG9wID0gY3VycmVu
dFRZICsgdG9wVmlzaWJsZU92ZXJmbG93KCk7Ci0gICAgaW50IGJvdHRvbSA9IGN1cnJlbnRUWSAr
IGJvdHRvbVZpc2libGVPdmVyZmxvdygpOworICAgIGludCB0b3AgPSBjdXJyZW50VFkgKyB0b3BW
aXN1YWxPdmVyZmxvdygpOworICAgIGludCBib3R0b20gPSBjdXJyZW50VFkgKyBib3R0b21WaXN1
YWxPdmVyZmxvdygpOwogICAgIGlmIChpc1NlbGVjdGVkKCkgJiYgbV9pbmxpbmVCb3hXcmFwcGVy
KSB7CiAgICAgICAgIGludCBzZWxUb3AgPSB0eSArIG1faW5saW5lQm94V3JhcHBlci0+cm9vdCgp
LT5zZWxlY3Rpb25Ub3AoKTsKICAgICAgICAgaW50IHNlbEJvdHRvbSA9IHR5ICsgc2VsVG9wICsg
bV9pbmxpbmVCb3hXcmFwcGVyLT5yb290KCktPnNlbGVjdGlvbkhlaWdodCgpOwpAQCAtMTg2LDcg
KzE4Niw3IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KFBhaW50SW4KICAgICB9
CiAgICAgCiAgICAgaW50IG9zID0gMiAqIG1heGltYWxPdXRsaW5lU2l6ZShwYWludEluZm8ucGhh
c2UpOwotICAgIGlmIChjdXJyZW50VFggKyBsZWZ0VmlzaWJsZU92ZXJmbG93KCkgPj0gcGFpbnRJ
bmZvLnJlY3QucmlnaHQoKSArIG9zIHx8IGN1cnJlbnRUWCArIHJpZ2h0VmlzaWJsZU92ZXJmbG93
KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgpIC0gb3MpCisgICAgaWYgKGN1cnJlbnRUWCArIGxlZnRW
aXN1YWxPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0KCkgKyBvcyB8fCBjdXJyZW50
VFggKyByaWdodFZpc3VhbE92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgpIC0gb3MpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAodG9wID49IHBhaW50SW5mby5yZWN0LmJvdHRv
bSgpICsgb3MgfHwgYm90dG9tIDw9IHBhaW50SW5mby5yZWN0LnkoKSAtIG9zKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0zODksNyArMzg5LDcgQEAgSW50UmVjdCBSZW5kZXJSZXBsYWNlZDo6
Y2xpcHBlZE92ZXJmbG93UgogCiAgICAgLy8gVGhlIHNlbGVjdGlvblJlY3QgY2FuIHByb2plY3Qg
b3V0c2lkZSBvZiB0aGUgb3ZlcmZsb3dSZWN0LCBzbyB0YWtlIHRoZWlyIHVuaW9uCiAgICAgLy8g
Zm9yIHJlcGFpbnRpbmcgdG8gYXZvaWQgc2VsZWN0aW9uIHBhaW50aW5nIGdsaXRjaGVzLgotICAg
IEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlvblJlY3QoZmFsc2UpLCB2aXNpYmxl
T3ZlcmZsb3dSZWN0KCkpOworICAgIEludFJlY3QgciA9IHVuaW9uUmVjdChsb2NhbFNlbGVjdGlv
blJlY3QoZmFsc2UpLCB2aXN1YWxPdmVyZmxvd1JlY3QoKSk7CiAKICAgICBSZW5kZXJWaWV3KiB2
ID0gdmlldygpOwogICAgIGlmICh2KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
dWJ5UnVuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVu
LmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDcgKzI3OCw3IEBAIHZvaWQgUmVuZGVyUnVieVJ1
bjo6bGF5b3V0KCkKIAogICAgIC8vIFVwZGF0ZSBvdXIgb3ZlcmZsb3cgdG8gYWNjb3VudCBmb3Ig
dGhlIG5ldyBSZW5kZXJSdWJ5VGV4dCBwb3NpdGlvbi4KICAgICBtX292ZXJmbG93LmNsZWFyKCk7
Ci0gICAgYWRkT3ZlcmZsb3dGcm9tQmxvY2tDaGlsZHJlbigpOworICAgIGNvbXB1dGVPdmVyZmxv
dyhjbGllbnRMb2dpY2FsQm90dG9tKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU3LDcgKzM1
Nyw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAgICAgd2hpbGUgKHNlY3Rpb24pIHsK
ICAgICAgICAgaWYgKCFzZWN0aW9uTW92ZWQgJiYgc2VjdGlvbi0+bG9naWNhbFRvcCgpICE9IGxv
Z2ljYWxIZWlnaHQoKSkgewogICAgICAgICAgICAgc2VjdGlvbk1vdmVkID0gdHJ1ZTsKLSAgICAg
ICAgICAgIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AgPSBtaW4obG9naWNhbEhlaWdodCgpLCBzZWN0
aW9uLT5sb2dpY2FsVG9wKCkpICsgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBzZWN0aW9uLT50b3BWaXNpYmxlT3ZlcmZsb3coKSA6IHNlY3Rpb24tPmxlZnRWaXNpYmxlT3Zl
cmZsb3coKSk7CisgICAgICAgICAgICBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wID0gbWluKGxvZ2lj
YWxIZWlnaHQoKSwgc2VjdGlvbi0+bG9naWNhbFRvcCgpKSArIChzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gc2VjdGlvbi0+dG9wVmlzdWFsT3ZlcmZsb3coKSA6IHNlY3Rpb24t
PmxlZnRWaXN1YWxPdmVyZmxvdygpKTsKICAgICAgICAgfQogICAgICAgICBzZWN0aW9uLT5zZXRM
b2dpY2FsTG9jYXRpb24oc2VjdGlvbkxvZ2ljYWxMZWZ0LCBsb2dpY2FsSGVpZ2h0KCkpOwogCkBA
IC0zODYsMjcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyVGFibGU6OmxheW91dCgpCiAKICAgICB1cGRh
dGVMYXllclRyYW5zZm9ybSgpOwogCi0gICAgLy8gQWRkIG92ZXJmbG93IGZyb20gYm9yZGVycy4K
LSAgICBpbnQgcmlnaHRCb3JkZXJPdmVyZmxvdyA9IHdpZHRoKCkgKyAoY29sbGFwc2luZyA/IG91
dGVyQm9yZGVyUmlnaHQoKSAtIGJvcmRlclJpZ2h0KCkgOiAwKTsKLSAgICBpbnQgbGVmdEJvcmRl
ck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlckxlZnQoKSAtIG91dGVyQm9yZGVyTGVmdCgp
IDogMDsKLSAgICBpbnQgYm90dG9tQm9yZGVyT3ZlcmZsb3cgPSBoZWlnaHQoKSArIChjb2xsYXBz
aW5nID8gb3V0ZXJCb3JkZXJCb3R0b20oKSAtIGJvcmRlckJvdHRvbSgpIDogMCk7Ci0gICAgaW50
IHRvcEJvcmRlck92ZXJmbG93ID0gY29sbGFwc2luZyA/IGJvcmRlclRvcCgpIC0gb3V0ZXJCb3Jk
ZXJUb3AoKSA6IDA7Ci0gICAgYWRkTGF5b3V0T3ZlcmZsb3coSW50UmVjdChsZWZ0Qm9yZGVyT3Zl
cmZsb3csIHRvcEJvcmRlck92ZXJmbG93LCByaWdodEJvcmRlck92ZXJmbG93IC0gbGVmdEJvcmRl
ck92ZXJmbG93LCBib3R0b21Cb3JkZXJPdmVyZmxvdyAtIHRvcEJvcmRlck92ZXJmbG93KSk7Ci0g
ICAgCi0gICAgLy8gQWRkIHZpc3VhbCBvdmVyZmxvdyBmcm9tIGJveC1zaGFkb3cgYW5kIHJlZmxl
Y3Rpb25zLgotICAgIGFkZFNoYWRvd092ZXJmbG93KCk7Ci0gICAgCi0gICAgLy8gQWRkIG92ZXJm
bG93IGZyb20gb3VyIGNhcHRpb24uCi0gICAgaWYgKG1fY2FwdGlvbikKLSAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tQ2hpbGQobV9jYXB0aW9uKTsKLQotICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIG91
ciBzZWN0aW9ucy4KLSAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7Ci0gICAgICAgIGlmIChjaGls
ZC0+aXNUYWJsZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBz
ZWN0aW9uID0gdG9SZW5kZXJUYWJsZVNlY3Rpb24oY2hpbGQpOwotICAgICAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tQ2hpbGQoc2VjdGlvbik7Ci0gICAgICAgIH0KLSAgICB9CisgICAgY29tcHV0ZU92
ZXJmbG93KGNsaWVudExvZ2ljYWxCb3R0b20oKSk7CiAKICAgICBzdGF0ZVB1c2hlci5wb3AoKTsK
IApAQCAtNDE3LDE0ICszOTcsNDQgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICAv
LyBSZXBhaW50IHdpdGggb3VyIG5ldyBib3VuZHMgaWYgdGhleSBhcmUgZGlmZmVyZW50IGZyb20g
b3VyIG9sZCBib3VuZHMuCiAgICAgaWYgKCFkaWRGdWxsUmVwYWludCAmJiBzZWN0aW9uTW92ZWQp
IHsKICAgICAgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAg
ICAgICAgICByZXBhaW50UmVjdGFuZ2xlKEludFJlY3QobGVmdFZpc2libGVPdmVyZmxvdygpLCBt
b3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCByaWdodFZpc2libGVPdmVyZmxvdygpIC0gbGVmdFZpc2li
bGVPdmVyZmxvdygpLCBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSAtIG1vdmVkU2VjdGlvbkxvZ2lj
YWxUb3ApKTsKKyAgICAgICAgICAgIHJlcGFpbnRSZWN0YW5nbGUoSW50UmVjdChsZWZ0VmlzdWFs
T3ZlcmZsb3coKSwgbW92ZWRTZWN0aW9uTG9naWNhbFRvcCwgcmlnaHRWaXN1YWxPdmVyZmxvdygp
IC0gbGVmdFZpc3VhbE92ZXJmbG93KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93KCkgLSBtb3ZlZFNl
Y3Rpb25Mb2dpY2FsVG9wKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlcGFpbnRSZWN0
YW5nbGUoSW50UmVjdChtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCB0b3BWaXNpYmxlT3ZlcmZsb3co
KSwgcmlnaHRWaXNpYmxlT3ZlcmZsb3coKSAtIG1vdmVkU2VjdGlvbkxvZ2ljYWxUb3AsIGJvdHRv
bVZpc2libGVPdmVyZmxvdygpIC0gdG9wVmlzaWJsZU92ZXJmbG93KCkpKTsKKyAgICAgICAgICAg
IHJlcGFpbnRSZWN0YW5nbGUoSW50UmVjdChtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wLCB0b3BWaXN1
YWxPdmVyZmxvdygpLCByaWdodFZpc3VhbE92ZXJmbG93KCkgLSBtb3ZlZFNlY3Rpb25Mb2dpY2Fs
VG9wLCBib3R0b21WaXN1YWxPdmVyZmxvdygpIC0gdG9wVmlzdWFsT3ZlcmZsb3coKSkpOwogICAg
IH0KIAogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKIH0KIAordm9pZCBSZW5kZXJUYWJsZTo6
YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKQoreworICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIGJv
cmRlcnMuCisgICAgLy8gVGVjaG5pY2FsbHkgaXQncyBvZGQgdGhhdCB3ZSBhcmUgaW5jb3Jwb3Jh
dGluZyB0aGUgYm9yZGVycyBpbnRvIGxheW91dCBvdmVyZmxvdywgd2hpY2ggaXMgb25seSBzdXBw
b3NlZCB0byBiZSBhYm91dCBvdmVyZmxvdyBmcm9tIG91cgorICAgIC8vIGRlc2NlbmRhbnQgb2Jq
ZWN0cywgYnV0IHNpbmNlIHRhYmxlcyBkb24ndCBzdXBwb3J0IG92ZXJmbG93OmF1dG8sIHRoaXMg
d29ya3Mgb3V0IGZpbmUuCisgICAgaWYgKGNvbGxhcHNlQm9yZGVycygpKSB7CisgICAgICAgIGlu
dCByaWdodEJvcmRlck92ZXJmbG93ID0gd2lkdGgoKSArIG91dGVyQm9yZGVyUmlnaHQoKSAtIGJv
cmRlclJpZ2h0KCk7CisgICAgICAgIGludCBsZWZ0Qm9yZGVyT3ZlcmZsb3cgPSBib3JkZXJMZWZ0
KCkgLSBvdXRlckJvcmRlckxlZnQoKTsKKyAgICAgICAgaW50IGJvdHRvbUJvcmRlck92ZXJmbG93
ID0gaGVpZ2h0KCkgKyBvdXRlckJvcmRlckJvdHRvbSgpIC0gYm9yZGVyQm90dG9tKCk7CisgICAg
ICAgIGludCB0b3BCb3JkZXJPdmVyZmxvdyA9IGJvcmRlclRvcCgpIC0gb3V0ZXJCb3JkZXJUb3Ao
KTsKKyAgICAgICAgSW50UmVjdCBib3JkZXJPdmVyZmxvd1JlY3QobGVmdEJvcmRlck92ZXJmbG93
LCB0b3BCb3JkZXJPdmVyZmxvdywgcmlnaHRCb3JkZXJPdmVyZmxvdyAtIGxlZnRCb3JkZXJPdmVy
ZmxvdywgYm90dG9tQm9yZGVyT3ZlcmZsb3cgLSB0b3BCb3JkZXJPdmVyZmxvdyk7CisgICAgICAg
IGlmIChib3JkZXJPdmVyZmxvd1JlY3QgIT0gYm9yZGVyQm94UmVjdCgpKSB7CisgICAgICAgICAg
ICBhZGRMYXlvdXRPdmVyZmxvdyhib3JkZXJPdmVyZmxvd1JlY3QpOworICAgICAgICAgICAgYWRk
VmlzdWFsT3ZlcmZsb3coYm9yZGVyT3ZlcmZsb3dSZWN0KTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIC8vIEFkZCBvdmVyZmxvdyBmcm9tIG91ciBjYXB0aW9uLgorICAgIGlmIChtX2NhcHRpb24p
CisgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKG1fY2FwdGlvbik7CisKKyAgICAvLyBBZGQg
b3ZlcmZsb3cgZnJvbSBvdXIgc2VjdGlvbnMuCisgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxk
ID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewor
ICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9uKCkpIHsKKyAgICAgICAgICAgIFJlbmRl
clRhYmxlU2VjdGlvbiogc2VjdGlvbiA9IHRvUmVuZGVyVGFibGVTZWN0aW9uKGNoaWxkKTsKKyAg
ICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNoaWxkKHNlY3Rpb24pOworICAgICAgICB9CisgICAg
fQorfQorCiB2b2lkIFJlbmRlclRhYmxlOjpzZXRDZWxsTG9naWNhbFdpZHRocygpCiB7CiAgICAg
Zm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKSkgewpAQCAtNDQxLDkgKzQ1MSw5IEBAIHZvaWQgUmVuZGVyVGFi
bGU6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2UgPSBw
YWludEluZm8ucGhhc2U7CiAKICAgICBpbnQgb3MgPSAyICogbWF4aW1hbE91dGxpbmVTaXplKHBh
aW50UGhhc2UpOwotICAgIGlmICh0eSArIHRvcFZpc2libGVPdmVyZmxvdygpID49IHBhaW50SW5m
by5yZWN0LmJvdHRvbSgpICsgb3MgfHwgdHkgKyBib3R0b21WaXNpYmxlT3ZlcmZsb3coKSA8PSBw
YWludEluZm8ucmVjdC55KCkgLSBvcykKKyAgICBpZiAodHkgKyB0b3BWaXN1YWxPdmVyZmxvdygp
ID49IHBhaW50SW5mby5yZWN0LmJvdHRvbSgpICsgb3MgfHwgdHkgKyBib3R0b21WaXN1YWxPdmVy
ZmxvdygpIDw9IHBhaW50SW5mby5yZWN0LnkoKSAtIG9zKQogICAgICAgICByZXR1cm47Ci0gICAg
aWYgKHR4ICsgbGVmdFZpc2libGVPdmVyZmxvdygpID49IHBhaW50SW5mby5yZWN0LnJpZ2h0KCkg
KyBvcyB8fCB0eCArIHJpZ2h0VmlzaWJsZU92ZXJmbG93KCkgPD0gcGFpbnRJbmZvLnJlY3QueCgp
IC0gb3MpCisgICAgaWYgKHR4ICsgbGVmdFZpc3VhbE92ZXJmbG93KCkgPj0gcGFpbnRJbmZvLnJl
Y3QucmlnaHQoKSArIG9zIHx8IHR4ICsgcmlnaHRWaXN1YWxPdmVyZmxvdygpIDw9IHBhaW50SW5m
by5yZWN0LngoKSAtIG9zKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHB1c2hlZENsaXAg
PSBwdXNoQ29udGVudHNDbGlwKHBhaW50SW5mbywgdHgsIHR5KTsgICAgCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmgJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6CiAK
ICAgICB2aXJ0dWFsIEludFJlY3Qgb3ZlcmZsb3dDbGlwUmVjdChpbnQgdHgsIGludCB0eSk7CiAK
KyAgICB2aXJ0dWFsIHZvaWQgYWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4oKTsKKwogICAgIHZvaWQg
c3VidHJhY3RDYXB0aW9uUmVjdChJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIHJlY2FsY1Nl
Y3Rpb25zKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAJ
KHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjY2LDkgKzI2Niw5IEBAIEludFJlY3QgUmVuZGVyVGFibGVD
ZWxsOjpjbGlwcGVkT3ZlcmZsb3cKICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCBiZWxv
dy0+Ym9yZGVySGFsZlJpZ2h0KHRydWUpKTsKICAgICAgICAgfQogICAgIH0KLSAgICBsZWZ0ID0g
bWF4KGxlZnQsIC1sZWZ0VmlzaWJsZU92ZXJmbG93KCkpOwotICAgIHRvcCA9IG1heCh0b3AsIC10
b3BWaXNpYmxlT3ZlcmZsb3coKSk7Ci0gICAgSW50UmVjdCByKC1sZWZ0LCAtIHRvcCwgbGVmdCAr
IG1heCh3aWR0aCgpICsgcmlnaHQsIHJpZ2h0VmlzaWJsZU92ZXJmbG93KCkpLCB0b3AgKyBtYXgo
aGVpZ2h0KCkgKyBib3R0b20sIGJvdHRvbVZpc2libGVPdmVyZmxvdygpKSk7CisgICAgbGVmdCA9
IG1heChsZWZ0LCAtbGVmdFZpc3VhbE92ZXJmbG93KCkpOworICAgIHRvcCA9IG1heCh0b3AsIC10
b3BWaXN1YWxPdmVyZmxvdygpKTsKKyAgICBJbnRSZWN0IHIoLWxlZnQsIC0gdG9wLCBsZWZ0ICsg
bWF4KHdpZHRoKCkgKyByaWdodCwgcmlnaHRWaXN1YWxPdmVyZmxvdygpKSwgdG9wICsgbWF4KGhl
aWdodCgpICsgYm90dG9tLCBib3R0b21WaXN1YWxPdmVyZmxvdygpKSk7CiAKICAgICBpZiAoUmVu
ZGVyVmlldyogdiA9IHZpZXcoKSkgewogICAgICAgICAvLyBGSVhNRTogbGF5b3V0RGVsdGEgbmVl
ZHMgdG8gYmUgYXBwbGllZCBpbiBwYXJ0cyBiZWZvcmUvYWZ0ZXIgdHJhbnNmb3JtcyBhbmQKQEAg
LTEwMzMsNCArMTAzMywyOCBAQCB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6cGFpbnRNYXNrKFBhaW50
SW5mCiAgICAgcGFpbnRNYXNrSW1hZ2VzKHBhaW50SW5mbywgdHgsIHR5LCB3LCBoKTsKIH0KIAor
dm9pZCBSZW5kZXJUYWJsZUNlbGw6OnNjcm9sbGJhcnNDaGFuZ2VkKGJvb2wgaG9yaXpvbnRhbFNj
cm9sbGJhckNoYW5nZWQsIGJvb2wgdmVydGljYWxTY3JvbGxiYXJDaGFuZ2VkKQoreworICAgIGlu
dCBzY3JvbGxiYXJIZWlnaHQgPSBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CisgICAgaWYgKCFz
Y3JvbGxiYXJIZWlnaHQpCisgICAgICAgIHJldHVybjsgLy8gTm90IHN1cmUgaWYgd2Ugc2hvdWxk
IGJlIGRvaW5nIHNvbWV0aGluZyB3aGVuIGEgc2Nyb2xsYmFyIGdvZXMgYXdheSBvciBub3QuCisg
ICAgCisgICAgLy8gV2Ugb25seSBjYXJlIGlmIHRoZSBzY3JvbGxiYXIgdGhhdCBhZmZlY3RzIG91
ciBpbnRyaW5zaWMgcGFkZGluZyBoYXMgYmVlbiBhZGRlZC4KKyAgICBpZiAoKHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgIWhvcml6b250YWxTY3JvbGxiYXJDaGFuZ2VkKSB8
fAorICAgICAgICAoIXN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgIXZlcnRp
Y2FsU2Nyb2xsYmFyQ2hhbmdlZCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFNocmluayBv
dXIgaW50cmluc2ljIHBhZGRpbmcgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byBhY2NvbW1vZGF0ZSB0
aGUgc2Nyb2xsYmFyLgorICAgIGlmIChzdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgPT0gTUlERExF
KSB7CisgICAgICAgIGludCB0b3RhbEhlaWdodCA9IGxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAg
aW50IGhlaWdodFdpdGhvdXRJbnRyaW5zaWNQYWRkaW5nID0gdG90YWxIZWlnaHQgLSBpbnRyaW5z
aWNQYWRkaW5nQmVmb3JlKCkgLSBpbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKTsKKyAgICAgICAgdG90
YWxIZWlnaHQgLT0gc2Nyb2xsYmFySGVpZ2h0OworICAgICAgICBpbnQgbmV3QmVmb3JlUGFkZGlu
ZyA9ICh0b3RhbEhlaWdodCAtIGhlaWdodFdpdGhvdXRJbnRyaW5zaWNQYWRkaW5nKSAvIDI7Cisg
ICAgICAgIGludCBuZXdBZnRlclBhZGRpbmcgPSB0b3RhbEhlaWdodCAtIGhlaWdodFdpdGhvdXRJ
bnRyaW5zaWNQYWRkaW5nIC0gbmV3QmVmb3JlUGFkZGluZzsKKyAgICAgICAgc2V0SW50cmluc2lj
UGFkZGluZ0JlZm9yZShuZXdCZWZvcmVQYWRkaW5nKTsKKyAgICAgICAgc2V0SW50cmluc2ljUGFk
ZGluZ0FmdGVyKG5ld0FmdGVyUGFkZGluZyk7CisgICAgfSBlbHNlCisgICAgICAgIHNldEludHJp
bnNpY1BhZGRpbmdBZnRlcihpbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKSAtIHNjcm9sbGJhckhlaWdo
dCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ2VsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ2VsbC5oCShyZXZpc2lvbiA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDkgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIHNldE92ZXJyaWRlU2l6ZShpbnQpOwogCi0gICAgYm9vbCBoYXNW
aXNpYmxlT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93OyB9CisgICAgYm9vbCBo
YXNWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgJiYgIWJvcmRlckJv
eFJlY3QoKS5jb250YWlucyhtX292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSk7IH0KKwor
ICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxiYXJzQ2hhbmdlZChib29sIGhvcml6b250YWxTY3JvbGxi
YXJDaGFuZ2VkLCBib29sIHZlcnRpY2FsU2Nyb2xsYmFyQ2hhbmdlZCk7CiAKIHByb3RlY3RlZDoK
ICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTQsNyArNjU0LDcgQEAgaW50
IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyhpbnQgdAogICAgICAgICAgICAgaWYgKHIg
PCB0b3RhbFJvd3MgLSAxICYmIGNlbGwgPT0gcHJpbWFyeUNlbGxBdChyICsgMSwgYykpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21DaGlsZChj
ZWxsKTsKLSAgICAgICAgICAgIG1faGFzT3ZlcmZsb3dpbmdDZWxsIHw9IGNlbGwtPmhhc1Zpc2li
bGVPdmVyZmxvdygpOworICAgICAgICAgICAgbV9oYXNPdmVyZmxvd2luZ0NlbGwgfD0gY2VsbC0+
aGFzVmlzdWFsT3ZlcmZsb3coKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNjYyLDc4ICs2NjIs
NiBAQCBpbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKGludCB0CiAgICAgcmV0dXJu
IGhlaWdodCgpOwogfQogCi1pbnQgUmVuZGVyVGFibGVTZWN0aW9uOjp0b3Btb3N0UG9zaXRpb24o
Ym9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFu
c2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHRvcCA9IFJlbmRlckJveDo6
dG9wbW9zdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBw
bHlUcmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3Zl
cmZsb3dDbGlwKCkpCi0gICAgICAgIHJldHVybiB0b3A7Ci0KLSAgICBmb3IgKFJlbmRlck9iamVj
dCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkgewot
ICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGN1cnItPmlz
VGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0
b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICB0b3AgPSBtaW4odG9wLCBj
ZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNlbGwtPnRvcG1vc3RQb3NpdGlvbihm
YWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHJldHVy
biB0b3A7Ci19Ci0KLWludCBSZW5kZXJUYWJsZVNlY3Rpb246Omxvd2VzdFBvc2l0aW9uKGJvb2wg
aW5jbHVkZU92ZXJmbG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3Jt
IGFwcGx5VHJhbnNmb3JtKSBjb25zdAotewotICAgIGludCBib3R0b20gPSBSZW5kZXJCb3g6Omxv
d2VzdFBvc2l0aW9uKGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBpbmNsdWRlU2VsZiwgYXBwbHlU
cmFuc2Zvcm0pOwotICAgIGlmICghaW5jbHVkZU92ZXJmbG93SW50ZXJpb3IgJiYgaGFzT3ZlcmZs
b3dDbGlwKCkpCi0gICAgICAgIHJldHVybiBib3R0b207Ci0KLSAgICBmb3IgKFJlbmRlck9iamVj
dCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNpYmxpbmcoKSkgewot
ICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgaWYgKGN1cnItPmlz
VGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0
b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICBib3R0b20gPSBtYXgoYm90
dG9tLCBjZWxsLT50cmFuc2Zvcm1lZEZyYW1lUmVjdCgpLnkoKSArIGNlbGwtPmxvd2VzdFBvc2l0
aW9uKGZhbHNlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAg
cmV0dXJuIGJvdHRvbTsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6cmlnaHRtb3N0UG9z
aXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBw
bHlUcmFuc2Zvcm0gYXBwbHlUcmFuc2Zvcm0pIGNvbnN0Ci17Ci0gICAgaW50IHJpZ2h0ID0gUmVu
ZGVyQm94OjpyaWdodG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgaW5jbHVk
ZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxvd0ludGVyaW9y
ICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gcmlnaHQ7Ci0KLSAgICBmb3Ig
KFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFNp
YmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9IHJvdy0+Zmlyc3RD
aGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAg
aWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAgICAgICAgICByaWdo
dCA9IG1heChyaWdodCwgY2VsbC0+dHJhbnNmb3JtZWRGcmFtZVJlY3QoKS54KCkgKyBjZWxsLT5y
aWdodG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
fQotICAgIAotICAgIHJldHVybiByaWdodDsKLX0KLQotaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6
bGVmdG1vc3RQb3NpdGlvbihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1
ZGVTZWxmLCBBcHBseVRyYW5zZm9ybSBhcHBseVRyYW5zZm9ybSkgY29uc3QKLXsKLSAgICBpbnQg
bGVmdCA9IFJlbmRlckJveDo6bGVmdG1vc3RQb3NpdGlvbihpbmNsdWRlT3ZlcmZsb3dJbnRlcmlv
ciwgaW5jbHVkZVNlbGYsIGFwcGx5VHJhbnNmb3JtKTsKLSAgICBpZiAoIWluY2x1ZGVPdmVyZmxv
d0ludGVyaW9yICYmIGhhc092ZXJmbG93Q2xpcCgpKQotICAgICAgICByZXR1cm4gbGVmdDsKLSAg
ICAKLSAgICBmb3IgKFJlbmRlck9iamVjdCogcm93ID0gZmlyc3RDaGlsZCgpOyByb3c7IHJvdyA9
IHJvdy0+bmV4dFNpYmxpbmcoKSkgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY3VyciA9
IHJvdy0+Zmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFNpYmxpbmcoKSkgewot
ICAgICAgICAgICAgaWYgKGN1cnItPmlzVGFibGVDZWxsKCkpIHsKLSAgICAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSB0b1JlbmRlclRhYmxlQ2VsbChjdXJyKTsKLSAgICAgICAg
ICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIGNlbGwtPnRyYW5zZm9ybWVkRnJhbWVSZWN0KCkueCgp
ICsgY2VsbC0+bGVmdG1vc3RQb3NpdGlvbihmYWxzZSkpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgfQotICAgIAotICAgIHJldHVybiBsZWZ0OwotfQotCiBpbnQgUmVuZGVyVGFibGVT
ZWN0aW9uOjpjYWxjT3V0ZXJCb3JkZXJCZWZvcmUoKSBjb25zdAogewogICAgIGludCB0b3RhbENv
bHMgPSB0YWJsZSgpLT5udW1FZmZDb2xzKCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uaAkocmV2aXNpb24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDExICsxMzYsNiBAQCBwcml2
YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRlck9iamVjdCogb2xkQ2hp
bGQpOwogCi0gICAgdmlydHVhbCBpbnQgdG9wbW9zdFBvc2l0aW9uKGJvb2wgaW5jbHVkZU92ZXJm
bG93SW50ZXJpb3IsIGJvb2wgaW5jbHVkZVNlbGYsIEFwcGx5VHJhbnNmb3JtID0gSW5jbHVkZVRy
YW5zZm9ybSkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbG93ZXN0UG9zaXRpb24oYm9vbCBpbmNs
dWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2VsZiwgQXBwbHlUcmFuc2Zvcm0gPSBJ
bmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCByaWdodG1vc3RQb3NpdGlv
bihib29sIGluY2x1ZGVPdmVyZmxvd0ludGVyaW9yLCBib29sIGluY2x1ZGVTZWxmLCBBcHBseVRy
YW5zZm9ybSA9IEluY2x1ZGVUcmFuc2Zvcm0pIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IGxlZnRt
b3N0UG9zaXRpb24oYm9vbCBpbmNsdWRlT3ZlcmZsb3dJbnRlcmlvciwgYm9vbCBpbmNsdWRlU2Vs
ZiwgQXBwbHlUcmFuc2Zvcm0gPSBJbmNsdWRlVHJhbnNmb3JtKSBjb25zdDsKLQogICAgIHZpcnR1
YWwgdm9pZCBwYWludChQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2
b2lkIHBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqLCBQYWludEluZm8mLCBpbnQgdHgsIGludCB0
eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGludCB0eCwgaW50
IHR5KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lv
biA3MzMzNCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MTYsOCArNjE2LDE3IEBAIHN0YXRpYyB2b2lkIHdyaXRlKFRleHRTdHJl
YW0mIHRzLCBSZW5kZXIKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVhbSYg
dHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWVyKiBsLAotICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgcGFpbnREaXJ0eVJlY3QsIGludCBpbmRl
bnQsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50UmVjdCYgcGFpbnRSZWN0LCBpbnQgaW5kZW50LCBSZW5kZXJBc1RleHRCZWhh
dmlvciBiZWhhdmlvcikKIHsKKyAgICAvLyBGSVhNRTogQXBwbHkgb3ZlcmZsb3cgdG8gdGhlIHJv
b3QgbGF5ZXIgdG8gbm90IGJyZWFrIGV2ZXJ5IHRlc3QuICBDb21wbGV0ZSBoYWNrLiAgU2lnaC4K
KyAgICBJbnRSZWN0IHBhaW50RGlydHlSZWN0KHBhaW50UmVjdCk7CisgICAgaWYgKHJvb3RMYXll
ciA9PSBsKSB7CisgICAgICAgIHBhaW50RGlydHlSZWN0LnNldFdpZHRoKG1heChwYWludERpcnR5
UmVjdC53aWR0aCgpLCByb290TGF5ZXItPnJlbmRlckJveCgpLT5yaWdodExheW91dE92ZXJmbG93
KCkpKTsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0SGVpZ2h0KG1heChwYWludERpcnR5UmVj
dC5oZWlnaHQoKSwgcm9vdExheWVyLT5yZW5kZXJCb3goKS0+Ym90dG9tTGF5b3V0T3ZlcmZsb3co
KSkpOworICAgICAgICBsLT5zZXRXaWR0aChtYXgobC0+d2lkdGgoKSwgbC0+cmVuZGVyQm94KCkt
PnJpZ2h0TGF5b3V0T3ZlcmZsb3coKSkpOworICAgICAgICBsLT5zZXRIZWlnaHQobWF4KGwtPmhl
aWdodCgpLCBsLT5yZW5kZXJCb3goKS0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKSkpOworICAgIH0K
KyAgICAKICAgICAvLyBDYWxjdWxhdGUgdGhlIGNsaXAgcmVjdHMgd2Ugc2hvdWxkIHVzZS4KICAg
ICBJbnRSZWN0IGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxp
bmVSZWN0OwogICAgIGwtPmNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwgcGFpbnREaXJ0eVJlY3Qs
IGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxpbmVSZWN0LCB0
cnVlKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiA3MzMzNCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjks
MTIgKzEyOSw2IEBAIHZvaWQgUmVuZGVyVmlldzo6bGF5b3V0KCkKICAgICBpZiAobmVlZHNMYXlv
dXQoKSkKICAgICAgICAgUmVuZGVyQmxvY2s6OmxheW91dCgpOwogCi0gICAgLy8gUmVzZXQgb3Zl
cmZsb3cgYW5kIHRoZW4gcmVwbGFjZSBpdCB3aXRoIGRvY1dpZHRoIGFuZCBkb2NIZWlnaHQuCi0g
ICAgbV9vdmVyZmxvdy5jbGVhcigpOwotICAgIGludCBsZWZ0T3ZlcmZsb3cgPSBkb2NMZWZ0KCk7
Ci0gICAgaW50IHRvcE92ZXJmbG93ID0gZG9jVG9wKCk7Ci0gICAgYWRkTGF5b3V0T3ZlcmZsb3co
SW50UmVjdChsZWZ0T3ZlcmZsb3csIHRvcE92ZXJmbG93LCBkb2NXaWR0aChsZWZ0T3ZlcmZsb3cp
LCBkb2NIZWlnaHQodG9wT3ZlcmZsb3cpKSk7Ci0KICAgICBBU1NFUlQobGF5b3V0RGVsdGEoKSA9
PSBJbnRTaXplKCkpOwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50ID09IDAp
OwogICAgIEFTU0VSVChtX2xheW91dFN0YXRlID09ICZzdGF0ZSk7CkBAIC02MjAsNTAgKzYxNCwz
MCBAQCBJbnRSZWN0IFJlbmRlclZpZXc6OnZpZXdSZWN0KCkgY29uc3QKIAogaW50IFJlbmRlclZp
ZXc6OmRvY1RvcCgpIGNvbnN0CiB7Ci0gICAgLy8gQ2xpcCBvdXQgdG9wIG92ZXJmbG93IGluIHZl
cnRpY2FsIExUUiBwYWdlcyBvciBob3Jpem9udGFsLXRiIHBhZ2VzLgotICAgIGlmICgoIXN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERp
cmVjdGlvbigpKSB8fCBzdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFRvcFRvQm90dG9tV3JpdGlu
Z01vZGUpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzdGQ6Om1pbigwLCB0b3Btb3N0
UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3QoMCwgdG9wTGF5b3V0T3ZlcmZs
b3coKSwgMCwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSAtIHRvcExheW91dE92ZXJmbG93KCkpOwor
ICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxv
d1JlY3QueSgpOwogfQogCi1pbnQgUmVuZGVyVmlldzo6ZG9jSGVpZ2h0KGludCB0b3BPdmVyZmxv
dykgY29uc3QKK2ludCBSZW5kZXJWaWV3Ojpkb2NCb3R0b20oKSBjb25zdAogewotICAgIGludCBo
ID0gKCghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHlsZSgpLT5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkgPT0gVG9wVG9C
b3R0b21Xcml0aW5nTW9kZSkgPwotICAgICAgICAgICAgICAgIGxvd2VzdFBvc2l0aW9uKCkgOiBo
ZWlnaHQoKSAtIHRvcE92ZXJmbG93OwotCi0gICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBkbyBh
bnkgbWFyZ2luIGNvbGxhcHNpbmcuCi0gICAgLy8gSW5zdGVhZCBvZiB0aGlzIGRoIGNvbXB1dGF0
aW9uIHdlIHNob3VsZCBrZWVwIHRoZSByZXN1bHQKLSAgICAvLyB3aGVuIHdlIGNhbGwgUmVuZGVy
QmxvY2s6OmxheW91dC4KLSAgICBpbnQgZGggPSAwOwotICAgIGZvciAoUmVuZGVyQm94KiBjID0g
Zmlyc3RDaGlsZEJveCgpOyBjOyBjID0gYy0+bmV4dFNpYmxpbmdCb3goKSkKLSAgICAgICAgZGgg
Kz0gYy0+aGVpZ2h0KCkgKyBjLT5tYXJnaW5Ub3AoKSArIGMtPm1hcmdpbkJvdHRvbSgpOwotCi0g
ICAgaWYgKGRoID4gaCkKLSAgICAgICAgaCA9IGRoOwotCi0gICAgcmV0dXJuIGg7CisgICAgSW50
UmVjdCBvdmVyZmxvd1JlY3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0
aW5nTW9kZShvdmVyZmxvd1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QuYm90dG9tKCk7
CiB9CiAKIGludCBSZW5kZXJWaWV3Ojpkb2NMZWZ0KCkgY29uc3QKIHsKLSAgICAvLyBDbGlwIG91
dCBsZWZ0IG92ZXJmbG93IGluIGhvcml6b250YWwgTFRSIHBhZ2VzIG9yIHZlcnRpY2FsLWxyIHBh
Z2VzLgotICAgIGlmICgoc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiBzdHls
ZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHx8IHN0eWxlKCktPndyaXRpbmdNb2RlKCkg
PT0gTGVmdFRvUmlnaHRXcml0aW5nTW9kZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJu
IHN0ZDo6bWluKDAsIGxlZnRtb3N0UG9zaXRpb24oKSk7CisgICAgSW50UmVjdCBvdmVyZmxvd1Jl
Y3QobGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxv
d1JlY3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QueCgpOwogfQogCi1pbnQgUmVuZGVyVmll
dzo6ZG9jV2lkdGgoaW50IGxlZnRPdmVyZmxvdykgY29uc3QKK2ludCBSZW5kZXJWaWV3Ojpkb2NS
aWdodCgpIGNvbnN0CiB7Ci0gICAgaW50IHcgPSAoKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgJiYgc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB8fCBzdHlsZSgp
LT53cml0aW5nTW9kZSgpID09IExlZnRUb1JpZ2h0V3JpdGluZ01vZGUpID8gCi0gICAgICAgICAg
ICAgICAgcmlnaHRtb3N0UG9zaXRpb24oKSA6IHdpZHRoKCkgLSBsZWZ0T3ZlcmZsb3c7Ci0KLSAg
ICBmb3IgKFJlbmRlckJveCogYyA9IGZpcnN0Q2hpbGRCb3goKTsgYzsgYyA9IGMtPm5leHRTaWJs
aW5nQm94KCkpIHsKLSAgICAgICAgaW50IGR3ID0gYy0+d2lkdGgoKSArIGMtPm1hcmdpbkxlZnQo
KSArIGMtPm1hcmdpblJpZ2h0KCk7Ci0gICAgICAgIGlmIChkdyA+IHcpCi0gICAgICAgICAgICB3
ID0gZHc7Ci0gICAgfQotCi0gICAgcmV0dXJuIHc7CisgICAgSW50UmVjdCBvdmVyZmxvd1JlY3Qo
bGF5b3V0T3ZlcmZsb3dSZWN0KCkpOworICAgIGZsaXBGb3JXcml0aW5nTW9kZShvdmVyZmxvd1Jl
Y3QpOworICAgIHJldHVybiBvdmVyZmxvd1JlY3QucmlnaHQoKTsKIH0KIAogaW50IFJlbmRlclZp
ZXc6OnZpZXdIZWlnaHQoKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAkocmV2aXNp
b24gNzMzMzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2Niw2ICsxNjYsMTMgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc0NvbXBvc2l0aW5n
KCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIGludCBkb2NUb3AoKSBjb25zdDsKKyAgICBpbnQgZG9j
Qm90dG9tKCkgY29uc3Q7CisgICAgaW50IGRvY0hlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGRvY0Jv
dHRvbSgpIC0gZG9jVG9wKCk7IH0KKyAgICBpbnQgZG9jTGVmdCgpIGNvbnN0OworICAgIGludCBk
b2NSaWdodCgpIGNvbnN0OworICAgIGludCBkb2NXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGRvY1Jp
Z2h0KCkgLSBkb2NMZWZ0KCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBtYXBM
b2NhbFRvQ29udGFpbmVyKFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBi
b29sIHVzZVRyYW5zZm9ybXMsIGJvb2wgZml4ZWQsIFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIG1hcEFic29sdXRlVG9Mb2NhbFBvaW50KGJvb2wgZml4ZWQsIGJvb2wg
dXNlVHJhbnNmb3JtcywgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKQEAgLTE3MywxMSArMTgwLDYg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBib29sIHNob3VsZFJlcGFpbnQoY29uc3QgSW50
UmVjdCYgcikgY29uc3Q7CiAgICAgCi0gICAgaW50IGRvY1RvcCgpIGNvbnN0OwotICAgIGludCBk
b2NIZWlnaHQoaW50IHRvcE92ZXJmbG93KSBjb25zdDsKLSAgICBpbnQgZG9jTGVmdCgpIGNvbnN0
OwotICAgIGludCBkb2NXaWR0aChpbnQgbGVmdE92ZXJmbG93KSBjb25zdDsKLQogICAgIC8vIFRo
ZXNlIGZ1bmN0aW9ucyBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBMYXlvdXRTdGF0ZU1haW50YWlu
ZXIuCiAgICAgYm9vbCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyQm94KiByZW5kZXJlciwgY29uc3Qg
SW50U2l6ZSYgb2Zmc2V0LCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5n
ZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCiAgICAgewpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDczMzM0KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MCw4ICsxNTAsNyBA
QCB2b2lkIFJvb3RJbmxpbmVCb3g6OmFkZEhpZ2hsaWdodE92ZXJmbG93CiAgICAgLy8gSGlnaGxp
Z2h0IGFjdHMgYXMgYSBzZWxlY3Rpb24gaW5mbGF0aW9uLgogICAgIEZsb2F0UmVjdCByb290UmVj
dCgwLCBzZWxlY3Rpb25Ub3AoKSwgbG9naWNhbFdpZHRoKCksIHNlbGVjdGlvbkhlaWdodCgpKTsK
ICAgICBJbnRSZWN0IGluZmxhdGVkUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocGFnZS0+Y2hyb21l
KCktPmNsaWVudCgpLT5jdXN0b21IaWdobGlnaHRSZWN0KHJlbmRlcmVyKCktPm5vZGUoKSwgcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+aGlnaGxpZ2h0KCksIHJvb3RSZWN0KSk7Ci0gICAgc2V0SW5saW5l
RGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMobGVmdExheW91dE92ZXJmbG93KCksIHJpZ2h0TGF5
b3V0T3ZlcmZsb3coKSwgbWluKGxlZnRWaXN1YWxPdmVyZmxvdygpLCBpbmZsYXRlZFJlY3QueCgp
KSwgbWF4KHJpZ2h0VmlzdWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LnJpZ2h0KCkpKTsKLSAg
ICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRvcExheW91dE92ZXJmbG93KCks
IGJvdHRvbUxheW91dE92ZXJmbG93KCksIG1pbih0b3BWaXN1YWxPdmVyZmxvdygpLCBpbmZsYXRl
ZFJlY3QueSgpKSwgbWF4KGJvdHRvbVZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC5ib3R0
b20oKSkpOworICAgIHNldE92ZXJmbG93RnJvbUxvZ2ljYWxSZWN0cyhpbmZsYXRlZFJlY3QsIGlu
ZmxhdGVkUmVjdCk7CiB9CiAKIHZvaWQgUm9vdElubGluZUJveDo6cGFpbnRDdXN0b21IaWdobGln
aHQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNTdHJp
bmcmIGhpZ2hsaWdodFR5cGUpCkBAIC0yNTIsNyArMjUxLDYgQEAgaW50IFJvb3RJbmxpbmVCb3g6
OmFsaWduQm94ZXNJbkJsb2NrRGlyZQogICAgIGJvb2wgY29udGFpbnNSdWJ5ID0gZmFsc2U7CiAg
ICAgcGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24oaGVpZ2h0T2ZCbG9jaywgbWF4SGVpZ2h0LCBt
YXhBc2NlbnQsIG5vUXVpcmtzTW9kZSwgbGluZVRvcCwgbGluZUJvdHRvbSwgc2V0TGluZVRvcCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lVG9wSW5jbHVkaW5nTWFyZ2lucywg
bGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGNvbnRhaW5zUnVieSwgbV9iYXNlbGluZVR5cGUp
OwotICAgIGNvbXB1dGVCbG9ja0RpcmVjdGlvbk92ZXJmbG93KGxpbmVUb3AsIGxpbmVCb3R0b20s
IG5vUXVpcmtzTW9kZSwgdGV4dEJveERhdGFNYXApOwogICAgIHNldExpbmVUb3BCb3R0b21Qb3Np
dGlvbnMobGluZVRvcCwgbGluZUJvdHRvbSk7CiAKICAgICBtX2NvbnRhaW5zUnVieSA9IGNvbnRh
aW5zUnVieTsKQEAgLTUwOSw0ICs1MDcsMjUgQEAgdm9pZCBSb290SW5saW5lQm94OjphdHRhY2hM
aW5lQm94VG9SZW5kZQogICAgIGJsb2NrKCktPmxpbmVCb3hlcygpLT5hdHRhY2hMaW5lQm94KHRo
aXMpOwogfQogCitJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVj
dChpbnQgZW5kUGFkZGluZykgY29uc3QKK3sKKyAgICBJbnRSZWN0IGxpbmVMYXlvdXRPdmVyZmxv
dyA9IGxheW91dE92ZXJmbG93UmVjdCgpOworICAgIGlmICghZW5kUGFkZGluZykKKyAgICAgICAg
cmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKKyAgICAKKyAgICBpZiAoaXNIb3Jpem9udGFsKCkp
IHsKKyAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAgICAgIGxp
bmVMYXlvdXRPdmVyZmxvdy5zaGlmdFJpZ2h0RWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cu
cmlnaHQoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdExlZnRFZGdlVG8obWluKGxpbmVMYXlv
dXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKKyAgICAgICAgICAgIGxp
bmVMYXlvdXRPdmVyZmxvdy5zaGlmdEJvdHRvbUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93
LmJvdHRvbSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0VG9wRWRnZVRvKG1pbihsaW5lTGF5
b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICB9Cisg
ICAgCisgICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gNzMzMzQp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEzMCw2ICsxMzAsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbnRhaW5zUnVieSgpIGNvbnN0
IHsgcmV0dXJuIG1fY29udGFpbnNSdWJ5OyB9CiAKKyAgICBJbnRSZWN0IHBhZGRlZExheW91dE92
ZXJmbG93UmVjdChpbnQgZW5kUGFkZGluZykgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgYm9vbCBo
YXNFbGxpcHNpc0JveCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzRWxsaXBzaXNCb3hPckh5cGhlbjsg
fQogICAgIHZvaWQgc2V0SGFzRWxsaXBzaXNCb3goYm9vbCBoYXNFbGxpcHNpc0JveCkgeyBtX2hh
c0VsbGlwc2lzQm94T3JIeXBoZW4gPSBoYXNFbGxpcHNpc0JveDsgfQpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gNzMzNDkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw1NzQgQEAKKzIwMTAtMTItMDUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3Ig
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MjIwIDw8cmRhcjovL3By
b2JsZW0vODY0NDg0OT4sIFJFR1JFU1NJT046IHRyYW5zZm9ybXMgbm93CisgICAgICAgIE8obl4z
KSBmcm9tIHBhdGhvbG9naWNhbCBiZWhhdmlvciBpbiBsb3dlc3RQb3NpdGlvbiwgcmlnaHRtb3N0
UG9zaXRpb24sIGxlZnRtb3N0UG9zaXRpb24gYW5kIHRvcG1vc3RQb3NpdGlvbi4KKworICAgICAg
ICBUaGlzIHBhdGNoIHRocm93cyBvdXQgdGhlIGxvd2VzdC9yaWdodG1vc3QvbGVmdG1vc3QvdG9w
bW9zdFBvc2l0aW9uIGZ1bmN0aW9ucyBhbmQgcmUtYXJjaGl0ZWN0cyBsYXlvdXQgb3ZlcmZsb3cK
KyAgICAgICAgaW4gdGhlIGVuZ2luZSB0byBjYWNoZSBhbGwgdGhlIGluZm9ybWF0aW9uIHJlcXVp
cmVkIHRvIHByb3Blcmx5IGhhbmRsZSBzY3JvbGxpbmcuCisKKyAgICAgICAgSW4gdGhlIG9sZCBj
b2RlLCB0aGVyZSB3ZXJlIHR3byB0eXBlcyBvZiBvdmVyZmxvdzogbGF5b3V0IG92ZXJmbG93IGFu
ZCB2aXN1YWwgb3ZlcmZsb3cuICBUaGUgZm9ybWVyIGNvdWxkCisgICAgICAgIGFmZmVjdCBzY3Jv
bGxpbmcgYW5kIHRoZSBsYXR0ZXIgY291bGQgbm90LiAgVGhlIGRpc3RpbmN0aW9uIHdhcyBsYXJn
ZWx5IG1lYW5pbmdsZXNzLCBzaW5jZSBsYXlvdXQgb3ZlcmZsb3cKKyAgICAgICAgd2Fzbid0IGFj
dHVhbGx5IHVzZWQgdG8gZGV0ZXJtaW5lIHNjcm9sbCB3aWR0aCBvciBzY3JvbGwgaGVpZ2h0LiAg
SXQgZGlkbid0IHByb3BhZ2F0ZSBhY3Jvc3Mgc2VsZi1wYWludGluZyBsYXllcgorICAgICAgICBi
b3VuZGFyaWVzIGVpdGhlci4gIEluIHRoZSBvbGQgY29kZSwgdGhlIHRlcm0gdmlzaWJsZSBvdmVy
ZmxvdyBtZWFudCB0aGUgdW5pb24gb2YgdGhlIGxheW91dCBvdmVyZmxvdyBhbmQKKyAgICAgICAg
dmlzdWFsIG92ZXJmbG93IHJlY3RzLgorCisgICAgICAgIEluIHRoZSBuZXcgY29kZSwgdGhlIHR3
byB0eXBlcyBvZiBvdmVyZmxvdyByZW1haW4sIGJ1dCB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0
aGUgdHdvIGlzIG5vdyBjbGVhci4gIFZpc3VhbCBvdmVyZmxvdworICAgICAgICBpcyB1c2VkIHB1
cmVseSBmb3IgcGFpbnRpbmcgYW5kIGhpdCB0ZXN0aW5nIGNoZWNrcyBhbmQgbGF5b3V0IG92ZXJm
bG93IGlzIHVzZWQgc3BlY2lmaWNhbGx5IGZvciBzY3JvbGxpbmcuICBJdCBoYXMKKyAgICAgICAg
YmVlbiBleHBhbmRlZCB0byBwcm9wYWdhdGUgYWNyb3NzIHNlbGYtcGFpbnRpbmcgbGF5ZXJzLCB0
byBmYWN0b3IgaW4gcmVsYXRpdmUgcG9zaXRpb25pbmcgYW5kIHRyYW5zZm9ybXMsIGFuZCB0bwor
ICAgICAgICB3b3JrIHdpdGggd3JpdGluZyBtb2Rlcy4KKworICAgICAgICBJbiBvcmRlciB0byBt
aW5pbWl6ZSBsYXlvdXQgdGVzdCBjaGFuZ2VzLCBsYXllcnMgbm8gbG9uZ2VyIGluY29ycG9yYXRl
IHJpZ2h0L2JvdHRvbSBvdmVyZmxvdyBpbnRvIHRoZWlyIHdpZHRoL2hlaWdodCBtZW1iZXJzLgor
ICAgICAgICBEb2luZyBzbyB1bmNvdmVyZWQgdHdvIGJ1Z3Mgd2hlcmUgbGVmdC90b3Agb3ZlcmZs
b3cgd2FzIGlnbm9yZWQgKHByb29mIHRoYXQgZXZlbiBoYXZpbmcgbGF5ZXIgZGltZW5zaW9ucyBp
cyBoYXJtZnVsKS4KKyAgICAgICAgQSByZW5kZXIgdHJlZSBkdW1wIGhhY2sgaGFzIGJlZW4gcHV0
IGludG8gdGhlIGNvZGUgdG8ga2VlcCB0aGlzIG92ZXJmbG93IGR1bXBpbmcgZm9yIHRoZSBSZW5k
ZXJWaWV3J3MgbGF5ZXIsIHNpbmNlIG90aGVyd2lzZQorICAgICAgICBhIGh1Z2UgbnVtYmVyIG9m
IHRlc3RzIHdvdWxkIGNoYW5nZS4KKworICAgICAgICBBZGRlZCBmYXN0L292ZXJmbG93L292ZXJm
bG93LXJ0bC12ZXJ0aWNhbC5odG1sIHRvIHRlc3QgdmVydGljYWwgd3JpdGluZy1tb2RlIG92ZXJm
bG93LiAgRXhpc3RpbmcgdGVzdHMgY292ZXIgdGhlIHJlc3QuCisKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXpl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdpbmF0aW9u
KToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgUmVuZGVyVmlldydzIGRvY1RvcC9MZWZ0L1dpZHRo
L0hlaWdodCBhY2Nlc3NvcnMsIHdoaWNoIHNpbXBseSBncmFiIHRoZSBvdmVyZmxvdyBhbmQgcHJv
cGVybHkgZmxpcCBpdAorICAgICAgICB0byBhY2NvdW50IGZvciB3cml0aW5nIG1vZGVzLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6
SW50UmVjdDo6c2hpZnRMZWZ0RWRnZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludFJlY3Q6OnNo
aWZ0UmlnaHRFZGdlVG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50UmVjdDo6c2hpZnRUb3BFZGdl
VG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50UmVjdDo6c2hpZnRCb3R0b21FZGdlVG8pOgorICAg
ICAgICBOZXcgaGVscGVyIGZ1bmN0aW9ucyBmb3Igc2xpZGluZyB0aGUgZWRnZSBvZiBhIHJlY3Rh
bmdsZSB3aXRob3V0IG1vdmluZyBhbnkgb2YgdGhlIG90aGVyIHRocmVlIGVkZ2VzLgorCisgICAg
ICAgICogcmVuZGVyaW5nL0lubGluZUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94
OjpmcmFtZVJlY3QpOgorICAgICAgICBmcmFtZVJlY3QgaXMgYSBoZWxwZXIgZm9yIG9idGFpbmlu
ZyB0aGUgeCwgeSwgd2lkdGgsIGhlaWdodCBvZiBhbiBJbmxpbmVCb3ggYXMgYW4gSW50UmVjdC4K
KworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbik6CisgICAgICAg
IEFsbCBvZiB0aGUgb3ZlcmZsb3cgc2V0dGluZyBpbiB0aGUgaW5saW5lIGRpcmVjdGlvbiBoYXMg
YmVlbiByZW1vdmVkIGZyb20gdGhpcyBmdW5jdGlvbi4gIEFsbCBsaW5lIG92ZXJmbG93IGlzIGNv
bXB1dGVkCisgICAgICAgIGF0IG9uY2Ugbm93IGluIGEgc2luZ2xlIGZ1bmN0aW9uOiBjb21wdXRl
T3ZlcmZsb3cuCisKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkZEJveFNoYWRv
d1Zpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmFkZFRl
eHRCb3hWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94Ojph
ZGRSZXBsYWNlZENoaWxkT3ZlcmZsb3cpOgorICAgICAgICBIZWxwZXIgZm9yIHByb3BhZ2F0aW5n
IG92ZXJmbG93IGZyb20gc3BlY2lmaWMgdHlwZXMgb2YgY2hpbGRyZW4gdGhhdCBvY2N1ciBvbiBh
IGxpbmUgaW50byB0aGUgSW5saW5lRmxvd0JveCdzIG92ZXJmbG93LgorCisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94Ojpjb21wdXRlT3ZlcmZsb3cpOgorICAgICAgICBUaGUgbmV3IGZ1
bmN0aW9uIHRoYXQgY29tcHV0ZXMgYm90aCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBvdmVyZmxv
dyBmb3IgYSBsaW5lIGJveC4KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6c2V0
TGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6c2V0Vmlz
dWFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6c2V0T3ZlcmZs
b3dGcm9tTG9naWNhbFJlY3RzKToKKyAgICAgICAgTmV3IGZ1bmN0aW9ucyB0aGF0IHNldCB0aGUg
b3ZlcmZsb3cgY29tcHV0ZWQgYnkgY29tcHV0ZU92ZXJmbG93LiAgVGhlc2UgcmVwbGFjZSBzZXRC
bG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zCisgICAgICAgIGFuZCBzZXRJbmxpbmVEaXJl
Y3Rpb25PdmVyZmxvd1Bvc2l0aW9ucy4gIFRoZXkgZXNzZW50aWFsbHkgZG8gdGhlIHNhbWUgdGhp
bmcsIGJ1dCB0aGV5IG9wZXJhdGUgb24gcmVjdGFuZ2xlcy4KKworICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxv
d0JveDo6cGFpbnQpOgorICAgICAgICBDaGFuZ2VkIHRvIHVzZSB2aXN1YWwgb3ZlcmZsb3cgaW5z
dGVhZCBvZiB2aXNpYmxlIG92ZXJmbG93LiAgKFZpc2libGUgb3ZlcmZsb3cgYXMgYSB1bmlvbiBv
ZiBsYXlvdXQgYW5kIHZpc3VhbAorICAgICAgICBvdmVyZmxvdyBpcyBubyBsb25nZXIgbmVjZXNz
YXJ5LCBzaW5jZSB2aXN1YWwgb3ZlcmZsb3cgaXMgbm93IGVxdWl2YWxlbnQgdG8gdGhlIG9sZCB2
aXNpYmxlIG92ZXJmbG93IGNvbmNlcHQuKQorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmxvZ2ljYWxMYXlvdXRP
dmVyZmxvd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bG9naWNhbFZp
c3VhbE92ZXJmbG93UmVjdCk6CisgICAgICAgIEhlbHBlcnMgZm9yIG9idGFpbmluZyBsb2dpY2Fs
IG92ZXJmbG93IHJlY3RhbmdsZXMsIHNpbmNlIGxpbmVzIGNvbXB1dGUgdGhlaXIgb3ZlcmZsb3cg
aW4gbG9naWNhbCB0ZXJtcyBiZWZvcmUKKyAgICAgICAgY29udmVydGluZyB0byBibG9jayBjb29y
ZGluYXRlcyBhdCB0aGUgZW5kLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRCbG9jayk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tRmxvYXRzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjphZGRPdmVyZmxvd0Zyb21Qb3NpdGlvbmVkT2JqZWN0cyk6CisgICAg
ICAgIEJsb2NrcyBub3cgaGF2ZSBhIGNvbXB1dGVPdmVyZmxvdyBmdW5jdGlvbiBjYWxsZWQgYXQg
dGhlIGVuZCB0aGF0IGFkZHMgaW4gYWxsIHRoZSB0eXBlcyBvZiBvdmVyZmxvdy4gIFRoZSBhZGRP
dmVyZmxvd0Zyb21DaGlsZHJlbgorICAgICAgICBtZXRob2QgaXMgdmlydHVhbCBzbyB0aGF0IFJl
bmRlckxpc3RJdGVtIGFuZCBSZW5kZXJUYWJsZSBjYW4gc3ViY2xhc3MgaXQuICBSZW5kZXJMaXN0
SXRlbSBoYXMgdG8gcG9zaXRpb24gaXRzIGxpc3QgbWFya2VyIGFuZAorICAgICAgICBwcm9wYWdh
dGUgbWFya2VyIG92ZXJmbG93IHVwLCBhbmQgUmVuZGVyVGFibGUgYWRkcyBpbiBvdmVyZmxvdyBm
cm9tIGl0cyBzZWN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91
dE9ubHlQb3NpdGlvbmVkT2JqZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdHMpOgorICAgICAgICBXaGVuIG9ubHkgcG9zaXRpb25lZCBv
YmplY3RzIGxheSBvdXQsIG92ZXJmbG93IG11c3Qgc3RpbGwgYmUgcmVjb21wdXRlZC4gIFRoZSBy
ZWZhY3RvcmluZyBvZiBvdmVyZmxvdyBjb21wdXRhdGlvbiBpbnRvIGEgc2luZ2xlCisgICAgICAg
IGNhbGxhYmxlIG1ldGhvZDogY29tcHV0ZU92ZXJmbG93LCBtYWtlcyBpdCBwb3NzaWJsZSBmb3Ig
dGhpcyB0byBiZSBkb25lIGVhc2lseS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OnBhaW50KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjphZGRPdmVyaGFuZ2luZ0Zsb2F0cyk6CisgICAgICAgIFRoZSBwcm9wYWdh
dGlvbiBvZiBmbG9hdCBvdmVyZmxvdyBoYXMgY2hhbmdlZCBzdWJzdGFudGlhbGx5LiAgVGhlIGJh
c2ljIHJ1bGVzIGFyZToKKyAgICAgICAgICAgICgxKSBUaGUgZmxvYXQgbXVzdCBiZSBpbiBvdXIg
ZmxvYXRpbmcgb2JqZWN0cyBsaXN0IHRvIGNvbnRyaWJ1dGUgdG8gb3ZlcmZsb3cuCisgICAgICAg
ICAgICAoMikgVGhlIGZsb2F0IG11c3QgYmUgYSBkZXNjZW5kYW50IHRvIGNvbnRyaWJ1dGUgdG8g
b3ZlcmZsb3cuCisgICAgICAgICAgICAoMykgVGhlIGJsb2NrIG11c3QgaGF2ZSB0aGUgb3V0ZXJt
b3N0IGxpc3QgdGhhdCBjb250YWlucyB0aGUgZmxvYXQsIG9yIGl0IGhhcyBhIHNlbGYtcGFpbnRp
bmcgbGF5ZXIgYW5kCisgICAgICAgICAgICAgICAgc28gdGhlIGZsb2F0IG5lZWRzIHRvIGJlIGlu
Y2x1ZGVkIGluIGl0cyBvdmVyZmxvdy4KKwkJCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6bm9kZUF0UG9pbnQpOgorICAgICAgICB2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dENvbHVtbnMpOgorICAgICAgICBSZW1vdmUgY29s
dW1uIG92ZXJmbG93IGNvbXB1dGF0aW9uIGZyb20gbGF5b3V0Q29sdW1ucyBhbmQgbW92ZSBpdCB0
byBjb21wdXRlT3ZlcmZsb3cuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjphZGp1
c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpzY3JvbGxiYXJzQ2hhbmdlZCk6CisgICAgICAgIEFkZGVkIGEgbmV3IHZp
cnR1YWwgbWV0aG9kIHVzZWQgYnkgdGFibGUgY2VsbHMgd2hlbiBzY3JvbGxiYXJzIGluIGFuIG92
ZXJmbG93OmF1dG8vc2Nyb2xsIHRhYmxlIGNlbGwgY29tZSBhbmQgZ28uCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6ZGV0ZXJtaW5lU3RhcnRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9jazo6bWF0Y2hlZEVuZExpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmFkZE92ZXJmbG93RnJvbUlubGluZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpiZWZvcmVTaWRlVmlzdWFsT3ZlcmZsb3dGb3JMaW5lKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjphZnRlclNpZGVWaXN1YWxPdmVyZmxvd0ZvckxpbmUpOgorICAgICAg
ICB2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzY3JvbGxXaWR0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OnNjcm9sbEhlaWdodCk6CisgICAgICAgIFBhdGNoZWQgdG8gdXNl
IGxheW91dE92ZXJmbG93IGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHRoZSBvbGQgcmlnaHRtb3N0L2xl
ZnRtb3N0UG9zaXRpb24gZnVuY3Rpb25zLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
OnBhaW50Um9vdEJveERlY29yYXRpb25zKToKKyAgICAgICAgVXNlIGRvY0xlZnQgYW5kIGRvY1Rv
cCBoZXJlLCBzbyB0aGF0IHdyaXRpbmcgbW9kZXMgYXJlIGhhbmRsZWQuCisKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAg
ICB2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjphZGRP
dmVyZmxvd0Zyb21DaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmFkZExheW91
dE92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkVmlzdWFsT3ZlcmZs
b3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpsb2dpY2FsVmlzdWFsT3ZlcmZsb3dS
ZWN0Rm9yUHJvcGFnYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp2aXN1YWxP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
OmxvZ2ljYWxMYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisgICAgICAgIFRoZSBuZXcgb3ZlcmZsb3cgc3lz
dGVtIGZvciBib3hlcy4gIExheW91dCBvdmVyZmxvdyBub3cgY3Jvc3NlcyBzZWxmLXBhaW50aW5n
IGxheWVyIGJvdW5kYXJpZXMgYW5kIGFkanVzdHMgY2hpbGQgYm94ZXMKKyAgICAgICAgZm9yIHRy
YW5zZm9ybXMsIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGFuZCB3cml0aW5nIG1vZGUgZGlmZmVyZW5j
ZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dG9wTGF5b3V0T3ZlcmZsb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpib3R0b21MYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OmxlZnRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OnJpZ2h0TGF5b3V0T3ZlcmZsb3cpOgorICAgICAgICBDaGFuZ2VkIHRoZSBk
ZWZhdWx0IHJlY3RhbmdsZSBmb3IgbGF5b3V0IG92ZXJmbG93IHRvIGJlIHRoZSBjbGllbnQgYm94
IHRvIG1hdGNoIHRoZSBzY3JvbGxhYmxlIGFyZWFzIG9mIG92ZXJmbG93IHJlZ2lvbnMuCisKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y2xpZW50TG9naWNhbEJvdHRvbSk6CisgICAgICAg
IE5ldyBoZWxwZXIgZm9yIG9idGFpbmluZyB0aGUgbG9naWNhbCBib3R0b20gb2YgdGhlIGNsaWVu
dCBib3guCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y2xpZW50Qm94UmVjdCk6Cisg
ICAgICAgIE5ldyBoZWxwZXIgZm9yIG9idGFpbmluZyB0aGUgY2xpZW50TGVmdC9Ub3AvV2lkdGgv
SGVpZ2h0IGJveC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnJlbGF0aXZlUG9zaXRp
b25Mb2dpY2FsT2Zmc2V0KToKKyAgICAgICAgSGVscGVyIGZvciBvYnRhaW5pbmcgdGhlIHJlbGF0
aXZlIHBvc2l0aW9uIG9mZnNldCB0cmFuc3Bvc2VkIGZvciB2ZXJ0aWNhbCB3cml0aW5nIG1vZGVz
LiAgVXNlZCBieSBsaW5lIG92ZXJmbG93LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlv
dXRCbG9jayk6CisgICAgICAgIENoYW5nZWQgZmxleGlibGUgYm94ZXMgdG8ganVzdCBjYWxsIHRo
ZSBiYXNlIGNsYXNzIGNvbXB1dGVPdmVyZmxvdyBtZXRob2QuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQpOgorICAgICAgICB2aXNpYmxlIC0+
IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24pOgorICAgICAgICBDaGFuZ2VkIGxheWVycyB0byBubyBs
b25nZXIgaW5jb3Jwb3JhdGUgcmlnaHQvYm90dG9tIG92ZXJmbG93IGludG8gd2lkdGgvaGVpZ2h0
LiAgVGhpcyBpcyB0aGUgcmVhc29uIG1hbnkgbGF5b3V0CisgICAgICAgIHRlc3RzIGNoYW5nZS4g
IChOb3QgZG9pbmcgdGhpcyBtYWtlcyB0aGUgbGF5b3V0IHRlc3QgY2hhbmdlcyBmYXIgd29yc2Us
IHNpbmNlIG92ZXJmbG93IHByb3BhZ2F0ZXMgYWNyb3NzIHNlbGYtcGFpbnRpbmcKKyAgICAgICAg
bGF5ZXJzIG5vdy4pCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpvdmVyZmxvd1Rv
cCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dCb3R0b20pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om92ZXJmbG93TGVmdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dSaWdodCk6CisgICAgICAgIG92ZXJmbG93VG9wL0Jv
dHRvbS9MZWZ0L1JpZ2h0IHJldHVybiBvdmVyZmxvdyB0aGF0IGFjY291bnRzIGZvciB3cml0aW5n
IG1vZGVzLCBpLmUuLCBwdXJlbHkgcGh5c2ljYWwgb3ZlcmZsb3cgdGhhdCBjYW4gYmUgdXNlZAor
ICAgICAgICB0byBzZXQgdXAgdGhlIHNjcm9sbCBhcmVhLgorCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6Y29tcHV0ZVNjcm9sbERpbWVuc2lvbnMpOgorICAgICAgICBEcmFzdGljYWxs
eSBzaW1wbGlmaWVkIHRoaXMgbWV0aG9kIG5vdyB0aGF0IG92ZXJmbG93VG9wL0JvdHRvbS9MZWZ0
L1JpZ2h0IGp1c3QgZG8gdGhlIHJpZ2h0IHRoaW5nIHJlZ2FyZGluZyB1bnJlYWNoYWJsZSBvdmVy
Zmxvdy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9B
ZnRlckxheW91dCk6CisgICAgICAgIE1ha2Ugc3VyZSB0byBleHBsaWNpdGx5IHNldCB0aGUgdmVy
dGljYWwgc2Nyb2xsYmFyJ3MgcG9zaXRpb24ganVzdCBhcyB3ZSBkaWQgd2l0aCBob3Jpem9udGFs
IHNjcm9sbGJhcnMsIHNvIHRoYXQgY2xhbXBpbmcgdG8gdGhlCisgICAgICAgIGJvdHRvbSB3b3Jr
cy4KKworICAgICAgICAoV2ViQ29yZTo6cGVyZm9ybU92ZXJsYXBUZXN0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6CisgICAgICAgIEZpeCBhIGJ1ZyBpbiBw
ZXJmb3JtT3ZlcmxhcFRlc3RzLiAgSXQgaW5jb3JyZWN0bHkgdXNlZCB0aGUgbGF5ZXIncyBib3Vu
ZHMsIGFuZCBzbyBpdCBkaWRuJ3QgYWNjb3VudCBmb3IgbGVmdC90b3Agb3ZlcmZsb3cgb3V0Cisg
ICAgICAgIG9mIHRoZSBsYXllciAoc2VlIHdoeSBJIGhhdGUgbGF5ZXJzIGV2ZW4gaGF2aW5nIGRp
bWVuc2lvbnM/KS4gIENoYW5nZWQgaXQgdG8gdXNlIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGxh
eWVyIGluc3RlYWQuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0KToK
KyAgICAgICAgRml4IGEgYnVnIGluIGhpdCB0ZXN0aW5nLiAgSXQgaW5jb3JyZWN0bHkgdXNlZCB0
aGUgcm9vdCBsYXllcidzIGJvdW5kcyBhcyB0aGUgbGltaXQgb2YgdGhlIGhpdCB0ZXN0LCBhbmQg
c28gaXQgZGlkbid0IGFjY291bnQKKyAgICAgICAgZm9yIGxlZnQvdG9wIG92ZXJmbG93IGluIGEg
U2Nyb2xsVmlldyAoaGF0ZSBoYXRlIGhhdGUgbGF5ZXJzIGhhdmluZyBkaW1lbnNpb25zKS4gIEkg
Y2hhbmdlZCBpdCB0byB1c2UgdGhlIGhpdCB0ZXN0IHJlY3QgaW5zdGVhZCwKKyAgICAgICAgc28g
dGhhdCB0aGUgZGFtYWdlIHJlY3QgbmV2ZXIgc3RvcHMgdGhlIHBvaW50IGZyb20gYmVpbmcgdGVz
dGVkICh1bmxlc3MgdGhlIGhpdCB0ZXN0IHJlcXVlc3Qgc2F5cyBub3QgdG8gaWdub3JlIGNsaXBw
aW5nKS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmxvY2FsQm91bmRpbmdCb3gp
OgorICAgICAgICB2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5oOgorICAgICAgICBBZGRlZCB0aGUgbmV3IG92ZXJmbG93VG9wL0xlZnQvUmlnaHQv
Qm90dG9tIGFjY2Vzc29ycy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6YW55TGluZUludGVy
c2VjdHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpbmVCb3hMaXN0OjpsaW5lSW50
ZXJzZWN0c0RpcnR5UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaW5lQm94TGlzdDo6
cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGluZUJveExpc3Q6OmhpdFRlc3QpOgor
ICAgICAgICB2aXNpYmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0SXRlbTo6YWRkT3ZlcmZs
b3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OnBvc2l0
aW9uTGlzdE1hcmtlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmg6Cisg
ICAgICAgIFJlbmRlckxpc3RJdGVtIG5vdyBwb3NpdGlvbnMgdGhlIGxpc3QgbWFya2VyIHdoZW4g
Y29tcHV0aW5nIGl0cyBvdmVyZmxvdywgc2luY2UgdGhlIG1hcmtlciBwcm9wYWdhdGVzIG92ZXJm
bG93IGJhY2sgdXAgdG8gdGhlIGxpc3QgaXRlbS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMaXN0TWFya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnBh
aW50KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjpjb21w
dXRlUG9zaXRpb24pOgorICAgICAgICBDaGFuZ2VkIHRvIHVzZSBvdmVyZmxvdyBmdW5jdGlvbnMg
aW5zdGVhZCBvZiByaWdodG1vc3QvbG93ZXN0UG9zaXRpb24uCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTWVkaWEuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYS5oOgor
ICAgICAgICBSZW1vdmVkIHRoZSBsb3dlc3QvdG9wbW9zdC9yaWdodG1vc3QvbGVmdG1vc3RQb3Np
dGlvbiBmdW5jdGlvbnMsIHNpbmNlIGNvbnRyb2wgb3ZlcmZsb3cgaXMgaGFuZGxlZCBwcm9wZXJs
eSBhbHJlYWR5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPdmVyZmxvdzo6UmVuZGVyT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT3ZlcmZsb3c6OnNldExheW91dE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck92ZXJmbG93OjpzZXRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIEFkZCBu
ZXcgc2V0dGVycyBmb3IgbGF5b3V0IGFuZCB2aXN1YWwgb3ZlcmZsb3cgYXMgcmVjdHMuCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUmVwbGFjZWQ6OnNob3VsZFBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJl
cGxhY2VkOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludCk6CisgICAgICAgIHZpc2libGUg
LT4gdmlzdWFsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUnVieVJ1bjo6bGF5b3V0KToKKyAgICAgICAgQ2FsbCBjb21w
dXRlT3ZlcmZsb3cgdG8gcmVjb21wdXRlIG91ciBvdmVyZmxvdyBpbmZvcm1hdGlvbiBhZnRlciB3
ZSBhZGp1c3QgdGhlIHJ1YnkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OmxheW91dCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUYWJsZTo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGFibGU6OnBhaW50KToKKwkqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgor
ICAgICAgICBNb3ZlIHNlY3Rpb24gb3ZlcmZsb3cgcHJvcGFnYXRpb24gaW50byBhZGRPdmVyZmxv
d0Zyb21DaGlsZHJlbiwgYW5kIGNoYW5nZSBSZW5kZXJUYWJsZSB0byBqdXN0IGNhbGwgY29tcHV0
ZU92ZXJmbG93LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JS
ZXBhaW50KToKKyAgICAgICAgdmlzaWJsZSAtPiB2aXN1YWwuCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlQ2VsbDo6c2Nyb2xsYmFyc0NoYW5nZWQpOgorICAgICAgICBBZGRpbmcgdW5y
ZWFjaGFibGUgb3ZlcmZsb3cgc3VwcG9ydCAoc29tZXRoaW5nIHRoYXQgaW4gdGhlIG9sZCBjb2Rl
IG9ubHkgZXhpc3RlZCBmb3IgcG9zaXRpb25lZCBvYmplY3RzIGluIHRoZSByb290IHZpZXcpIGV4
cG9zZWQKKyAgICAgICAgYSBidWcgaW4gdGFibGUgbGF5b3V0LiAgSWYgc2Nyb2xsYmFycyBhcmUg
YWRkZWQgZHVyaW5nIHRoZSBsYXlvdXQgdGhhdCBvY2N1cnMgYWZ0ZXIgaW50cmluc2ljIHBhZGRp
bmcgd2FzIGluY29ycG9yYXRlZCBpbnRvIHRoZQorICAgICAgICBjZWxsLCB0aGVuIHRoZSBjZWxs
IHdvbid0IGxheSBvdXQgcHJvcGVybHkgdGhlIHNlY29uZCB0aW1lIChhZnRlciB0aGUgc2Nyb2xs
YmFycyBoYXZlIGJlZW4gYWRkZWQpLiAgV2UgaGF2ZSB0byBhZGp1c3QgdGhlIGludHJpbnNpYwor
ICAgICAgICBwYWRkaW5nIGFjY291bnRpbmcgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgbmV3IHNj
cm9sbGJhciBzbyB0aGUgc2Vjb25kIGxheW91dCB3aWxsIGdldCB0aGUgcmlnaHQgZGltZW5zaW9u
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6aGFzVmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICB2aXNp
YmxlIC0+IHZpc3VhbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmg6CisgICAgICAgIHZpc2li
bGUgLT4gdmlzdWFsLiAgUmVtb3ZlZCB0aGUgbGVmdG1vc3QvcmlnaHRtb3N0L3RvcG1vc3QvYm90
dG9tbW9zdFBvc2l0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
cmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlTGF5ZXJzKToKKyAgICAgICAg
QWRkZWQgYSBoYWNrIHRvIHJlbmRlciB0cmVlIGR1bXBpbmcgdG8gaW5jbHVkZSByaWdodC9ib3R0
b20gb3ZlcmZsb3cgZm9yIHRoZSByb290IGxheWVyIG9ubHkuICBUaGlzIGtlZXBzIGEgemlsbGlv
biBsYXlvdXQgdGVzdHMKKyAgICAgICAgZnJvbSBmYWlsaW5nLgorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6bGF5b3V0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmRvY1RvcCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3Ojpkb2NCb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmll
dzo6ZG9jTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NSaWdodCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clZpZXc6OmRvY0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3Ojpkb2NXaWR0
aCk6CisgICAgICAgIFJlbmRlclZpZXcgbm93IHVzZXMgZG9jTGVmdC9Ub3AvSGVpZ2h0L1dpZHRo
IGZ1bmN0aW9ucywgd2hpY2ggYXJlIGp1c3Qgb3ZlcmZsb3cgcXVlcmllcyB0aGF0IGFjY291bnQg
Zm9yIHdyaXRpbmcgbW9kZXMuICBUaGVzZSBtZXRob2RzCisgICAgICAgIGFyZSBub3cgdGhlIHBy
ZWZlcnJlZCB3YXkgdG8gcXVlcnkgZm9yIHRoZSBwaHlzaWNhbCBkaW1lbnNpb25zIG9mIGEgZG9j
dW1lbnQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSb290SW5saW5lQm94OjphZGRIaWdobGlnaHRPdmVyZmxvdyk6CisgICAgICAg
IENoYW5nZWQgdG8gY2FsbCBzZXRPdmVyZmxvd0Zyb21Mb2dpY2FsUmVjdHMgaW5zdGVhZCBvZiB0
aGUgYmxvY2svaW5saW5lIHBvc2l0aW9uIGZ1bmN0aW9ucy4KKworICAgICAgICAoV2ViQ29yZTo6
Um9vdElubGluZUJveDo6YWxpZ25Cb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICBSZW1v
dmUgdGhlIGNvbXB1dGF0aW9uIG9mIGJsb2NrIGRpcmVjdGlvbiBvdmVyZmxvdywgc2luY2UgaXQg
bm93IGFsbCBoYXBwZW5zIGF0IG9uY2UgYWZ0ZXIgdGhlIGxpbmUgaXMgYnVpbHQuCisKKyAgICAg
ICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVjdCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgQWRkZWQgYSBuZXcg
aGVscGVyIGZ1bmN0aW9uIGZvciBpbmNvcnBvcmF0aW5nIHRoZSBlbmQgcGFkZGluZyBpbnRvIGEg
bGluZS4gIFRoaXMgZW5kIHBhZGRpbmcgYWxzbyBpbmNsdWRlcyB0aGUgc2luZ2xlIHBpeGVsIGZv
ciBhIGNhcmV0CisgICAgICAgIGluIExUUiBpZiBuZWVkZWQuCisKKyAgICAgICAgKiBjb21wb3Np
dGluZy9jaGVja2VyYm9hcmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNvbXBvc2l0aW5nL2dl
b21ldHJ5L2xpbWl0LWxheWVyLWJvdW5kcy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zl
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mbGV4Ym94LzAwOS5odG1sOgorICAgICAg
ICAqIGZhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNv
bnRlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvY29tcG9zaXRpbmcvZGlyZWN0LWltYWdlLWNvbXBvc2l0aW5nLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jb21wb3NpdGluZy9nZW9tZXRy
eS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9maXhlZC1wb3NpdGlvbi1hbmNlc3Rvci1jbGlwLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvb3ZlcmZsb3cv
c2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zL2xvYWQtdmlkZW8taW4tcmVmbGVjdGlvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlcGFpbnQvY29u
dGVudC1pbnRvLW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
Y29tcG9zaXRpbmcvcmVwYWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MxL2JveF9wcm9wZXJ0aWVzL21hcmdpbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMvbWFyZ2lu
X3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMS9jbGFzc2lm
aWNhdGlvbi93aGl0ZV9zcGFjZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9hdHRhY2htZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9i
YWNrZ3JvdW5kX3JlcGVhdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Nz
czIuMS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwNS1tcmduLTAyLWMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1iLWEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQt
MDAtZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1j
NDE0LWZsdC0wMS1kLWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3My
LjEvdDA5MDUtYzQxNC1mbHQtMDItYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMy1jLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTA0LWMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1kLWctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzU1MjUtZmx0
Y29udC0wMC1kLWctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9jc3MyLjEv
dDA5MDUtYzU1MjUtZmx0d2lkdGgtMDItYy1nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAzLWMtZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAyLWQtZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQt
Zmx0LTAzLWItZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90
MTIwMi1jb3VudGVycy0wOC1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
Y3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA5LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFm
dGVyLXNwYW4td3MtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRp
dGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saW5lLWVuZC13cy0w
MDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5n
L2RlbGV0ZS1saW5lLWVuZC13cy0wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9lZGl0aW5nL3NlbGVjdGlvbi8yNTIyOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL2ZvY3VzX2VkaXRhYmxlX2h0bWwtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxs
LTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0
aW9uL3NlbGVjdC1hbGwtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwNC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQt
MDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rp
b24vdW5yZW5kZXJlZC0wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9l
ZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJlZC0w
MDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRz
L3JlcGVhdC9uZWdhdGl2ZS1vZmZzZXQtcmVwZWF0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2JhY2tncm91bmRTaXplMTUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljLzAxMC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMvZmllbGRz
ZXQtc3RyZXRjaC10by1sZWdlbmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrL2Zsb2F0LzAwOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svZmxvYXQvMDEzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDI5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDM1LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9hdm9pZGFuY2UtcGVyY2VudC13aWR0
aC1zdHJpY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L2Zsb2F0L2NsYW1wZWQtcmlnaHQtZmxvYXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LWluLWZsb2F0LXBhaW50aW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9uZXN0ZWQtY2xl
YXJhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9m
bG9hdC9yZWxhdGl2ZS1wYWludGVkLXR3aWNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDYyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFw
c2UvMDYzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9t
YXJnaW4tY29sbGFwc2UvMTA0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMDQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBz
ZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wNDctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA0OS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDUx
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlv
bmluZy9hdXRvLWhlaWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXBsYWNlZC1pbnNpZGUt
Zml4ZWQtdG9wLWJvdHRvbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvYmxvY2tmbG93L2Jsb2NrLWxldmVsLWltYWdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMtY2xpcHBpbmctdmVydGlj
YWwtbHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxv
dy9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ibG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1ybC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Zsb2F0cy1pbi1ibG9jay1s
YXlvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJv
cGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1jb2xvci8wMDIteGh0
bWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFn
YXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDIteGh0bWwt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRp
b24vb3ZlcmZsb3cvMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS14aHRtbC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUtZGVj
bGFyYXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2JvZHkt
cHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS14aHRtbC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJh
ZGl1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRv
dy9iYXNpYy1zaGFkb3dzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9ib3gtc2l6aW5nL2JveC1zaXppbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2NsaXAvMDA4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9jbGlwLzAwOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
Y2xpcC8wMTAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2NsaXAv
MDExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY29tcGFjdC8wMDEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0
aW9uLW9uLWJhY2tncm91bmQtaW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2Nzcy9uZWdhdGl2ZS1sZWFkaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9jc3MvcGVyY2VudGFnZS1ub24taW50ZWdlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3dvcmQtc3BhY2UtZXh0cmEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2RvbS9jbG9uZS1ub2RlLWR5bmFt
aWMtc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2R5bmFt
aWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ZsZXhib3gvMDA5LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mbGV4Ym94LzAxNi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC9mbGV4LWhhbmctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Jhc2ljLXRleHRhcmVhcy1x
dWlya3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Zp
bGUtaW5wdXQtZGlyZWN0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9mb3Jtcy9mbG9hdGluZy10ZXh0ZmllbGQtcmVsYXlvdXQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJm
cmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZnJhbWUtc2Nyb2xsaW5n
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZnJh
bWVzL2lmcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaW5saW5lLW9iamVjdC1pbnNpZGUtZnJhbWVzZXQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2dyYWRpZW50cy9iYWNrZ3Jv
dW5kLWNsaXBwZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9naWYtbGFyZ2UtY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWxhbmRzY2FwZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lLWJsb2NrL2lubGluZS1ibG9jay12
ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
aW5saW5lL2xvbmctd3JhcHBlZC1saW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktc3VibGF5ZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLXZlcnRpY2FsLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy12ZXJ0aWNhbC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvbGktYnItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZl
LWNvbnN0cmFpbnRzLTAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wMy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZl
LWNvbnN0cmFpbnRzLTA1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZl
LWNvbnN0cmFpbnRzLTA4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDEtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFic29sdXRl
LTAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13
aWR0aC1hYnNvbHV0ZS0wMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LW11bHRpY29sLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1jb21wbGV4
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9h
dC1wYWdpbmF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvbGF5ZXJzLWluLW11bHRpY29sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC9wYWdpbmF0ZS1ibG9jay1yZXBsYWNlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13aXRoLWNv
bnN0cmFpbmVkLWhlaWdodC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvbXVsdGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3RhYmxlLXZlcnRpY2FsLWFs
aWduLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy8w
MDYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L2Zs
b2F0LWluLXJlbHBvc2l0aW9uZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC1leHBl
Y3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZs
b3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvc2Nyb2xs
UmV2ZWFsQnV0dG9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9y
ZWZsZWN0aW9ucy9yZWZsZWN0aW9uLWRpcmVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tzdW06
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy1o
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1z
aGFkb3ctdi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWlu
dC9jb250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3JlcGFpbnQvZHluYW1pYy10YWJsZS12ZXJ0aWNhbC1hbGlnbm1lbnQtY2hhbmdl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0
LW92ZXJmbG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBh
aW50L2Zsb2F0LW92ZXJmbG93LXJpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9vdmVyZmxvdy1zY3JvbGwtYm9keS1h
cHBlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQv
c3VidHJlZS1yb290LWNsaXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3JlcGFpbnQvdHJhbnNmb3JtLWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFpbmVyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3RyYW5zZm9y
bS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJlcGxhY2VkLXNoYWRvd3MtZXhwZWN0ZWQucG5n
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGxhY2VkLzAwNC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDM0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy8wMDQtdmVy
dGljYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2Nv
bHNwYW5NaW5XaWR0aC12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgtY29sc3Bhbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZml4ZWQtd2l0aC1hdXRvLXdpdGgt
Y29sc3Bhbi12ZXJ0aWNhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvdGFibGUvZnJhbWUtYW5kLXJ1bGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC90YWJsZS9oZWlnaHQtcGVyY2VudC10ZXN0LXZlcnRpY2FsLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS93aWRlLWNvbHNwYW4tZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29sdW1uLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvdGhhaS1saW5lLWJyZWFrcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9sYXJnZS10ZXh0LWNvbXBvc2VkLWNoYXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvbGV0dGVyLXNwYWNpbmctbmVnYXRpdmUtb3BhY2l0
eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LWxl
dHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90
ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL21vLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9vdmVyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9wcmludGluZy9yZXR1cm4tZnJv
bS1wcmludGluZy1tb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2N1c3RvbS9hbHRnbHlwaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vZ2V0c2NyZWVuY3RtLWluLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3Njcm9sbGluZy1lbWJlZGRlZC1z
dmctZmlsZS1pbWFnZS1yZXBhaW50LXByb2JsZW0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlzdC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9vdmVyZmxvdy9vdmVyZmxv
dy1vbi1vdXRlcm1vc3Qtc3ZnLWVsZW1lbnQtaW4teGh0bWwtZGVmYXVsdHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4dC9mb3JlaWduT2JqZWN0LXRleHQtY2xp
cHBpbmctYnVnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQv
a2VybmluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211
bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy90
cmFuc2Zvcm1zL2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0
dGVybi1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL3N2Zy96b29tL3RleHQvem9vbS1oaXhpZS1taXhlZC0wMDktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEyMDM2NC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3Mv
YnVnMTMxMDIwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvYnVncy9idWcxOTY4NzAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzIzMTUxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcyOTMxNC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDMwMzktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzQz
ODU0LTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YS9idWdzL2J1ZzQ1MDU1LTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzYyNS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNzIzNTktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzgzNzg2LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9i
dWc5MjE0My1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3pp
bGxhL2J1Z3MvYnVnOTYzMzQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9jb3JlL25lc3RlZDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4vYmFja2dyX2luZGV4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGFibGVfYWxp
Z25fbGVmdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3pp
bGxhL21hcnZpbi94X3RhYmxlX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGRfbm93cmFwLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93
cmFwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFf
ZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcyMjA2NTMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzI0
NzktNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVn
ODUwMTYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2ZpeGVkLWJnLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
bWFydmluL3RhYmxlX292ZXJmbG93X2NhcHRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfY2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZs
b3dfY2FwdGlvbl9sZWZ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2NhcHRp
b25fcmlnaHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl90b3At
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBl
Y3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJl
cy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
bWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd190Ym9keS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19oaWRkZW5fdHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfc3R5bGVfcmVmbG93X2NlbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfc3R5bGVfcmVmbG93X2NlbGxfc2libGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292
ZXJmbG93X3N0eWxlX3JlZmxvd19yb3dfc2libGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfc3R5bGVfcmVmbG93X3RhYmxlX2NhcHRpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Rib2R5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3Rh
YmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keV9zaWJsaW5nLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X3RkX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3Rh
YmxlX292ZXJmbG93X3RkX3ZhbGlnbl9ib3R0b20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfdGRfdmFsaWduX21pZGRsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd190ZF92YWxpZ25fdG9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
dHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctMi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8z
ZC1wb2ludC1tYXBwaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctb3JpZ2lucy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGlu
Zy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy9zdmctdnMtY3NzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdmcvY3VzdG9tL3RleHQtem9vbS1leHBlY3RlZC50eHQ6CisKIDIwMTAtMTItMDUgIFJvYiBC
dWlzICA8cndsYnVpc0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBa
aW1tZXJtYW5uLgpJbmRleDogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvY2hlY2tlcmJvYXJkLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9jaGVja2Vy
Ym9hcmQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL2NvbXBv
c2l0aW5nL2NoZWNrZXJib2FyZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDIwNTV4MjA2MwogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDU1eDIwNjMKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDIwNjMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDIwNjMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMDQ3CiAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDIwNDd4MjA0NwpJbmRleDogTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvbGltaXQtbGF5ZXItYm91bmRzLXRyYW5zZm9y
bWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9n
ZW9tZXRyeS9saW1pdC1sYXllci1ib3VuZHMtdHJhbnNmb3JtZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2xpbWl0LWxh
eWVyLWJvdW5kcy10cmFuc2Zvcm1lZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
OSArMSw5IEBACiBUZXh0IGhlcmUKIChHcmFwaGljc0xheWVyCi0gIChib3VuZHMgMTMyOS4wMCA1
ODUuMDApCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3Jh
cGhpY3NMYXllcgotICAgICAgKGJvdW5kcyAxMzI5LjAwIDU4NS4wMCkKKyAgICAgIChib3VuZHMg
ODAwLjAwIDYwMC4wMCkKICAgICAgIChjaGlsZHJlbiAzCiAgICAgICAgIChHcmFwaGljc0xheWVy
CiAgICAgICAgICAgKHBvc2l0aW9uIDEyOS4wMCAyOS4wMCkKSW5kZXg6IExheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1lLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQt
cGFyZW50LWlmcmFtZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDExICszLDEwIEBACiAgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgKHBvc2l0aW9u
IC0xMi4wMCAwLjAwKQotICAgICAgKGJvdW5kcyA4MTIuMDAgNjAwLjAwKQorICAgICAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQogICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKLSAgICAgICAgICAocG9zaXRpb24gMC4wMCAtMTIuMDApCisgICAgICAgICAgKHBvc2l0aW9u
IC0xMi4wMCAtMTIuMDApCiAgICAgICAgICAgKGJvdW5kcyAzNzAuMDAgMjIwLjAwKQogICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKICAgICAgICAgICAoY2hpbGRyZW4gMQpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9zaXplL2NvbnRhaW4tYW5kLWNvdmVyLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL3NpemUvY29udGFp
bi1hbmQtY292ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvYmFja2dyb3VuZHMvc2l6ZS9jb250YWluLWFuZC1jb3Zlci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDU5OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUg
ODAweDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDIsMikgc2l6ZSAz
OTZ4MTQ2IFtiZ2NvbG9yPSNBREQ4RTZdIFtib3JkZXI6ICgzcHggc29saWQgIzAwMDAwMCldCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvMDA5Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9mbGV4Ym94LzAwOS5odG1sCShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZmxleGJveC8wMDkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDgg
QEAgZGl2LmJveCB7CiAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICBkaXNwbGF5OiBib3g7CiAg
IG92ZXJmbG93OmF1dG87CisgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CisgIC1tb3ot
Ym94LW9yaWVudDogdmVydGljYWw7CiAgIGJvcmRlcjogMnB4IHNvbGlkIG9saXZlOwogfQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNhbC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZl
cnRpY2FsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L292
ZXJmbG93LXJ0bC12ZXJ0aWNhbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv
L0VOIiAKKyJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPGh0bWwgc3R5
bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLWxyIj4KKzxoZWFkPgorPHRpdGxlPm92
ZXJmbG93OmF1dG8gd2l0aCBkaXJlY3Rpb246cnRsPC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+CitkaXYudGVzdCB7IGJhY2tncm91bmQ6IHllbGxvdzsgd2lkdGg6IDZleDsgaGVpZ2h0
OiAxMDBweDsgb3ZlcmZsb3c6IGF1dG87CisgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29s
aWQgcmVkOyBib3JkZXItYm90dG9tOiA1cHggc29saWQgZ3JlZW47IG1hcmdpbjogNHB4OyB9Citk
aXYucnRsIHsgZGlyZWN0aW9uOiBydGw7IGJvcmRlci1ib3R0b206IDEwcHggc29saWQgcmVkOyBi
b3JkZXItdG9wOiA1cHggc29saWQgZ3JlZW47IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPgorVGhpcyBpcyBhIHRlc3QgY2FzZSBmb3IgPGk+aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD01ODI2IEJsb2NrcyB3aXRoIGRpcmVjdGlvbjpydGwgYW5k
IG92ZXJmbG93OmF1dG8gb3Igc2Nyb2xsIGhhdmUgaW5jb3JyZWN0IHNjcm9sbGJhcnM8L2k+Lgor
PC9wPgorVGhlIHJpZ2h0IGNvbHVtbiBzaG91bGQgYmUgYSBtaXJyb3ItaW1hZ2Ugb2YgdGhlIGxl
ZnQgY29sdW1uIGluIHRlcm1zIG9mCis8dWw+CisgICAgPGxpPnRoZSBwcmVzZW5jZSBvZiBhIHNj
cm9sbGJhcjwvbGk+CisgICAgPGxpPnRoZSBpbml0aWFsIHBvc2l0aW9uIG9mIHRoZSBzY3JvbGwg
dGh1bWI8L2xpPgorICAgIDxsaT53aGljaCBsZXR0ZXJzIGFyZSB2aXNpYmxlIGluaXRpYWxseSBh
bmQgd2hlbiB5b3Ugc2Nyb2xsPC9saT4KKzwvdWw+Cis8dGFibGU+Cis8dHI+Cis8dGQ+Cis8ZGl2
IGNsYXNzPSJ0ZXN0Ij4KK2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Cis8L2Rpdj4KKworPGRp
diBjbGFzcz0idGVzdCI+Cis8ZGl2IHN0eWxlPSJkaXJlY3Rpb246cnRsOyBiYWNrZ3JvdW5kOmxp
Z2h0Z3JheTsiPmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9kaXY+Cis8L2Rpdj4KKworPGRp
diBjbGFzcz0idGVzdCI+Cis8ZGl2IHN0eWxlPSJkaXJlY3Rpb246bHRyOyBiYWNrZ3JvdW5kOmxp
Z2h0Z3JheTsiPmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9kaXY+Cis8L2Rpdj4KKzwvdGQ+
Cis8dGQ+Cis8ZGl2IGNsYXNzPSJ0ZXN0IHJ0bCI+Cit6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNi
YQorPC9kaXY+CisKKzxkaXYgY2xhc3M9InRlc3QgcnRsIj4KKzxkaXYgc3R5bGU9ImRpcmVjdGlv
bjpsdHI7IGJhY2tncm91bmQ6bGlnaHRncmF5OyI+enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmE8
L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ0ZXN0IHJ0bCI+Cis8ZGl2IHN0eWxlPSJkaXJl
Y3Rpb246cnRsOyBiYWNrZ3JvdW5kOmxpZ2h0Z3JheTsiPnp5eHd2dXRzcnFwb25tbGtqaWhnZmVk
Y2JhPC9kaXY+Cis8L2Rpdj4KKzwvdGQ+Cis8L3RyPgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBl
ZC1vdmVyZmxvd2VkLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRl
bnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDExICs3LDkgQEAgUEFTUyBnRm9jdXNlZERvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuZ2V0QQogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
Z2V0QXR0cmlidXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgotUEFTUyBnRm9jdXNlZERvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgogUEFTUyBnRm9jdXNl
ZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIzIgogUEFTUyBn
Rm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICIyIgog
UEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlz
ICIyIgotUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJp
ZCIpIGlzICIyIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmli
dXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1lbnQuZ2V0
QXR0cmlidXRlKCJpZCIpIGlzICIxIgogUEFTUyBnRm9jdXNlZERvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuZ2V0QXR0cmlidXRlKCJpZCIpIGlzICJzdGFydCIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtY2xpcHBlZC1vdmVyZmxvd2VkLWNvbnRlbnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWNs
aXBwZWQtb3ZlcmZsb3dlZC1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1jbGlwcGVkLW92ZXJmbG93ZWQtY29u
dGVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMSArMzcsOSBAQAogICAgICAgWyJEb3du
IiwgIjEiXSwKICAgICAgIFsiRG93biIsICIyIl0sCiAgICAgICBbIkRvd24iLCAiMiJdLAotICAg
ICAgWyJEb3duIiwgIjIiXSwKICAgICAgIFsiRG93biIsICIzIl0sCiAgICAgICBbIlVwIiwgIjIi
XSwKICAgICAgIFsiVXAiLCAiMiJdLAotICAgICAgWyJVcCIsICIyIl0sCiAgICAgICBbIlVwIiwg
IjEiXSwKICAgICAgIFsiVXAiLCAiMSJdLAogICAgICAgWyJVcCIsICJzdGFydCJdLApAQCAtODIs
NyArODAsNyBAQAogICAgICAgPGRpdj48L2Rpdj4KICAgICAgIDxpbWcgc3JjPSJyZXNvdXJjZXMv
Z3JlZW4ucG5nIiB3aWR0aD0yMDBweCBoZWlnaHQ9MjAwcHg+CiAgICAgICA8ZGl2PjwvZGl2Pgot
ICAgICAgPGEgaWQ9IjIiIGhyZWY9ImEiPjxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4ucG5nIiB3
aWR0aD0zMHB4IGhlaWdodD0zMHB4PjwvYT4uPC9wPgorICAgICAgPGEgaWQ9IjIiIGhyZWY9ImEi
PjxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4ucG5nIiB3aWR0aD0zMHB4IGhlaWdodD0zMHB4Pjwv
YT4uCiAgICAgPC9kaXY+CiAgICAgPGEgaWQ9IjMiIGhyZWY9ImEiPjxpbWcgc3JjPSJyZXNvdXJj
ZXMvZ3JlZW4ucG5nIiB3aWR0aD0zMHB4IGhlaWdodD0zMHB4PjwvYT4KICAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGlu
Zy9kaXJlY3QtaW1hZ2UtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9kaXJlY3QtaW1hZ2UtY29tcG9zaXRp
bmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9jb21wb3NpdGluZy9kaXJlY3QtaW1hZ2UtY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzQ5
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg3NDkKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE0OQogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTQ5CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMjEp
IHNpemUgNzY5eDExMgogICAgICAgUmVuZGVyQmxvY2sge0gxfSBhdCAoMCwwKSBzaXplIDc2OXgz
NwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2dlb21ldHJ5L2Zp
eGVkLXBvc2l0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtcG9zaXRpb24tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGlu
Zy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA4eDEwMTYKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDEwMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEwMDB4
MTAwMAogbGF5ZXIgYXQgKDUwLDE2Nikgc2l6ZSA0Mzl4MTgKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9nZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3Np
dGluZy9nZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9nZW9tZXRy
eS92aWRlby1vcGFjaXR5LW92ZXJsYXktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02
LDcgKzYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNjAKICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyOTR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyOTQ6
ICJUaGUgb3JhbmdlIGJhciBzaG91bGQgYmUgaW4gZnJvbnQgb2YgdGhlIHZpZGVvLiIKLWxheWVy
IGF0ICg4LDUwKSBzaXplIDQwMngzMDUKK2xheWVyIGF0ICg4LDUwKSBzaXplIDQwMngzMDIKICAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM0KSBzaXplIDQw
MngzMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMSwxKSBzaXplIDQwMHgzMDQKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0
aW5nL292ZXJmbG93L2ZpeGVkLXBvc2l0aW9uLWFuY2VzdG9yLWNsaXAtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxv
dy9maXhlZC1wb3NpdGlvbi1hbmNlc3Rvci1jbGlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZml4
ZWQtcG9zaXRpb24tYW5jZXN0b3ItY2xpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDh4MTAxNgogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA4eDEwMTYKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDEwMTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEwMDB4
MTAwMAogbGF5ZXIgYXQgKDUwLDE2Nikgc2l6ZSAzMTh4MTgKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jb21wb3NpdGluZy9vdmVyZmxvdy9zY3JvbGwtYW5jZXN0b3ItdXBkYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9z
aXRpbmcvb3ZlcmZsb3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL292ZXJm
bG93L3Njcm9sbC1hbmNlc3Rvci11cGRhdGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC05LDcgKzksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyVmlkZW8g
e1ZJREVPfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKIGxheWVyIGF0ICg1MCw1MCkgc2l6ZSAxMDB4
MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNTAsNTApIHNpemUgMTAw
eDEwMCBbYmdjb2xvcj0jRkYwMDAwXQotbGF5ZXIgYXQgKDUwLDUwKSBzaXplIDIwMngyNzIKK2xh
eWVyIGF0ICg1MCw1MCkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoNTAsNTApIHNpemUgMjAweDIwMAogICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwy
MTgpIHNpemUgMjAweDU0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
OTF4NTQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZWZsZWN0
aW9ucy9sb2FkLXZpZGVvLWluLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZWZsZWN0aW9ucy9sb2FkLXZp
ZGVvLWluLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZWZsZWN0aW9ucy9sb2FkLXZpZGVvLWlu
LXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHgzNTAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0
OTN4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0OTM6ICJZb3Ugc2hvdWxk
IHNlZSBhIHJlZmxlY3RlZCB2aWRlbyBiZWxvdywgcmF0aGVyIHRoYW4gdGhlIHJlZCB2aWRlbyBi
YWNrZ3JvdW5kLiIKLWxheWVyIGF0ICg4LDUwKSBzaXplIDM1MngyOTIKK2xheWVyIGF0ICg4LDUw
KSBzaXplIDMwMHgyOTIKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNpemUgMzAweDI5
MgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDgs
NTApIHNpemUgMzUyeDI4OApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0
aW5nL3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcmVwYWludC9jb250ZW50
LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9yZXBhaW50L2NvbnRlbnQtaW50by1vdmVyZmxv
dy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDYgQEAgbGF5ZXIgYXQg
KDI4LDMyOCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBh
dCAoMCwzMDgpIHNpemUgMTAweDEwMAogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsODApIHNpemUgMTAweDIwCi1sYXllciBhdCAoMjgsMzI4KSBzaXplIDEwMHg4MAorbGF5ZXIg
YXQgKDI4LDMyOCkgc2l6ZSAxMDB4MAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MAogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4ODAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jb21wb3NpdGluZy9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL3JlcGFp
bnQvb3ZlcmZsb3ctaW50by1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvcmVwYWludC9vdmVyZmxvdy1p
bnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDE3ICs1LDE3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDQ2MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDIwKSBzaXplIDc4NHg0MjAKIGxheWVyIGF0ICgyOCwyMCkgc2l6ZSAxMjB4NDIwCiAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyMCwwKSBzaXplIDEyMHg0MjAKLWxheWVyIGF0ICgyOCwyOCkgc2l6
ZSAxMDN4MTA2CitsYXllciBhdCAoMjgsMjgpIHNpemUgNTZ4MTA2CiAgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCw4KSBzaXplIDU2eDEwNiBbYm9yZGVyOiAoM3B4IHNvbGlk
ICMwMDgwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgNTB4NTAKICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDUwCi1sYXllciBhdCAoMjgs
MTc4KSBzaXplIDEwNngxMDMKK2xheWVyIGF0ICgyOCwxNzgpIHNpemUgMTA2eDU2CiAgIFJlbmRl
ckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxNTgpIHNpemUgMTA2eDU2IFtib3JkZXI6
ICgzcHggc29saWQgIzAwODAwMCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6
ZSA1MHg1MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA1MHgxMDAKIGxh
eWVyIGF0ICgyOCwzMjgpIHNpemUgMTAweDgwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwzMDgpIHNpemUgMTAweDgwCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSAxMDB4MCBbYmdjb2xvcj0jMDA4MDAwXQotbGF5ZXIgYXQgKDI4LDMyOCkgc2l6ZSAx
MDB4ODAKK2xheWVyIGF0ICgyOCwzMjgpIHNpemUgMTAweDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0
aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDAKICAgICBSZW5kZXJCbG9j
ayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDgwCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvY3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW4tZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2JveF9wcm9wZXJ0aWVz
L21hcmdpbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMvbWFyZ2luLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg3eDI2MjgKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgNzg3
eDI2MjgKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDI2MjgKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgNzg1eDI2MjgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc2OXgyNjEyIFtiZ2NvbG9yPSNDQ0NDQ0NdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2Jv
eF9wcm9wZXJ0aWVzL21hcmdpbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvYm94X3Byb3BlcnRpZXMvbWFyZ2luX3JpZ2h0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y3NzMS9ib3hfcHJvcGVydGllcy9tYXJnaW5fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODd4MTAwNQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODd4MTAw
NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAwNQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA3ODV4MTAwNQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NzY5eDk4OSBbYmdjb2xvcj0jQ0NDQ0NDXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzY5eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9jbGFzc2lm
aWNhdGlvbi93aGl0ZV9zcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczEvY2xhc3NpZmljYXRpb24vd2hpdGVfc3BhY2UtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2Ns
YXNzaWZpY2F0aW9uL3doaXRlX3NwYWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTIxeDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MjF4NTg1CitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OSBbYmdj
b2xvcj0jQ0NDQ0NDXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMS9jb2xvcl9hbmRfYmFja2dyb3Vu
ZC9iYWNrZ3JvdW5kX2F0dGFjaG1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2JhY2tncm91bmRf
YXR0YWNobWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2NzczEvY29sb3JfYW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9hdHRhY2ht
ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgODgweDExOTMKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODgweDExOTMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEx
OTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDExOTMKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgxMTc3IFtiZ2NvbG9yPSNDQ0NDQ0NdCiAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jc3MxL2NvbG9yX2FuZF9iYWNrZ3JvdW5kL2JhY2tncm91bmRfcmVw
ZWF0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
Y3NzMS9jb2xvcl9hbmRfYmFja2dyb3VuZC9iYWNrZ3JvdW5kX3JlcGVhdC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczEvY29sb3Jf
YW5kX2JhY2tncm91bmQvYmFja2dyb3VuZF9yZXBlYXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4ODh4MTgzOAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4ODh4MTgz
OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA3ODV4MTgzOAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NzY5eDE4MjIgW2JnY29sb3I9I0NDQ0NDQ10KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgw
My1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90
MDgwMy1jNTUwMi1tcmduLXItMDItYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMng1ODUKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODAyeDY2CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2NgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwyNCkgc2l6ZSA3ODR4MTgKICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc5NHgxOCBbY29sb3I9IzAwMDA4MF0KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDMtYzU1MDUtbXJnbi0wMi1jLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4x
L3QwODAzLWM1NTA1LW1yZ24tMDItYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDgwMy1jNTUwNS1tcmduLTAyLWMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDJ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBh
dCAoMCwwKSBzaXplIDgwMngzNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzIKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDMyCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsLTIpIHNpemUgNzg0eDM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKC0xMCwwKSBz
aXplIDgwNHgzNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1iLWEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4t
Yi0wMi1iLWEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9jc3MyLjEvdDA4MDQtYzU1MDgtaXBhZG4tYi0wMi1iLWEtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHgxMjIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDExMAogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTEwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
MTYpIHNpemUgNzg0eDg2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQt
MDAtZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMC1kLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAwLWQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHgxNzAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzNAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTM0CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDEwMgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMS1kLWctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDEt
ZC1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAxLWQtZy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDE2
MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTMwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgxMzAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3
ODR4OTgKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9
IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQx
NC1mbHQtMDItYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMi1jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0
LTAyLWMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNjQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDY4
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2OAogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgzNgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDApIHNpemUgNzg0eDM2IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wMy1jLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0LTAz
LWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDMtYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDI2NAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDY4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDM2
CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYgW2NvbG9yPSMwMDAw
ODBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM0MTQtZmx0
LTA0LWMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtMDQtYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNDE0LWZsdC0wNC1j
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQ0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2OAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MzYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgzNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1kLWctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQt
d3JhcC0wMS1kLWctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzQxNC1mbHQtd3JhcC0wMS1kLWctZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHgxNjMKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDE1NgogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTU2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsMTYpIHNpemUgNzg0eDEyNAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
Nzg0eDE4IFtjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Nz
czIuMS90MDkwNS1jNTUyNS1mbHRjb250LTAwLWQtZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHRjb250LTAw
LWQtZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHRjb250LTAwLWQtZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
ODAweDI2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4OAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA1
ODh4MjUyIFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xvcj0jMDAwMDgwXQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHR3aWR0aC0wMi1jLWctZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5
MDUtYzU1MjUtZmx0d2lkdGgtMDItYy1nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAy
LWMtZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDU0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxOAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEv
dDA5MDUtYzU1MjUtZmx0d2lkdGgtMDMtYy1nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRoLTAzLWMt
Zy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2NzczIuMS90MDkwNS1jNTUyNS1mbHR3aWR0aC0wMy1jLWctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg0NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDM0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MTgKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA4LWItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEv
dDEyMDItY291bnRlcnMtMDgtYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MTIwMi1jb3VudGVycy0wOC1iLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUg
OTU0eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA5NTR4OTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDk0CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg5NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDE2KSBzaXplIDc4NHg3MAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0
eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY3NzMi4xL3QxMjAyLWNvdW50ZXJz
LTA5LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9jc3MyLjEvdDEyMDItY291bnRlcnMtMDktYi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MTIwMi1jb3VudGVycy0wOS1i
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgw
LDApIHNpemUgMTA0N3g1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxh
eWVyIGF0ICgwLDApIHNpemUgMTA0N3g5NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4OTQKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDk0CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDcwCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5
MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jc3MyLjEv
dDA5MDUwMS1jNDE0LWZsdC0wMi1kLWctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMTgKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDE1NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MTU0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDEyMgogICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDAwMDgwXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAz
LWItZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2NzczIuMS90MDkwNTAxLWM0MTQtZmx0LTAzLWItZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2NzczIuMS90MDkwNTAxLWM0MTQtZmx0
LTAzLWItZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDIzNworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
MTU1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNTUKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTIzCiAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzcgW2NvbG9yPSMwMDAwODBdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDEt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcv
ZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MTEsNyArMTEsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHggc29s
aWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxl
dGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1z
cGFuLXdzLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBFRElUSU5HIERFTEVH
QVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUg
ODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBz
aXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItc3Bhbi13cy0w
MDMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1zcGFuLXdzLTAwMy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvZGVsZXRp
bmcvZGVsZXRlLWFmdGVyLXNwYW4td3MtMDAzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTEsNyArMTEsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHgg
c29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9k
ZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1l
bmQtd3MtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAxLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCBFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIGxheWVyIGF0ICgwLDApIHNpemUgODIw
eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2NCwwKSBzaXpl
IDc0OHgyNDQgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtbGluZS1lbmQtd3MtMDAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9kZWxldGluZy9kZWxl
dGUtbGluZS1lbmQtd3MtMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyAr
NjYsNyBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24K
IGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgyNDQgW2JvcmRlcjogKDUwcHggc29saWQgI0ZG
MDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
MjUyMjgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9lZGl0aW5nL3NlbGVjdGlvbi8yNTIyOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uLzI1MjI4LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKLWxheWVyIGF0ICgwLDApIHNp
emUgMjAwMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgMTEwMHg1ODUKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMjAwMHg1ODUKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNzk4LDApIHNpemUgMzAyeDI3MiBbYm9yZGVyOiAo
MXB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRp
bmcvc2VsZWN0aW9uL2ZvY3VzX2VkaXRhYmxlX2h0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9mb2N1c19lZGl0
YWJsZV9odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZm9jdXNfZWRpdGFibGVfaHRtbC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRCZWdpbkVkaXRpbmcKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAyMDA4eDIwODgKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgMjAwOHgyMDg4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgy
MDg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDg4CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjA3MgogICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4NTQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3Nl
bGVjdC1hbGwtMDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDEtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIGxheWVyIGF0ICgw
LDApIHNpemUgODIweDkwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4OTAwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5MDAKICAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDkwMAogICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDY0KSBzaXplIDc2OXg3NzIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICg2NCwwKSBzaXplIDc0OHg3NzIgW2JvcmRlcjogKDUwcHggc29saWQgI0ZGMDAwMCldCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0w
MDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2VsZWN0aW9uL3NlbGVj
dC1hbGwtMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAgRURJ
VElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRETwogRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZp
Y2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg5MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIweDkwMAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4OTAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg5
MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6ZSA3Njl4NzcyCiAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4NzcyIFtib3JkZXI6ICg1MHB4IHNv
bGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2Vs
ZWN0aW9uL3NlbGVjdC1hbGwtMDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0wMDMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTUsNyArNSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE8K
IEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4MTA0NAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MTJ4MTA0NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTA0NAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTA0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg2NCw2
NCkgc2l6ZSA3NDh4OTE2IFtib3JkZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQogICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDc0LDc0KSBzaXplIDYwMHg3NjgKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3QtYWxsLTAwNC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NlbGVjdC1hbGwtMDA0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0LWFsbC0w
MDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQCBFRElUSU5HIERF
TEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
IGxheWVyIGF0ICgwLDApIHNpemUgODEyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MTJ4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg2NCw2NCkgc2l6ZSA3NDh4NDU3IFtib3JkZXI6ICg1MHB4
IHNvbGlkICNGRjAwMDApXQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDc0LDc0KSBzaXpl
IDYwMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
dW5yZW5kZXJlZC0wMDEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2Vs
ZWN0aW9uL3VucmVuZGVyZWQtMDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3
ICszLDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZEJlZ2luRWRpdGluZwogRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6ZSA3ODR4
NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4MTk2IFtib3Jk
ZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJl
ZC0wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTQsNyArNCw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDAp
IHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwMy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3VucmVuZGVyZWQtMDAzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJlZC0w
MDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
IGxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MjB4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDY0KSBzaXplIDc4NHg0NTcKICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICg2NCwwKSBzaXplIDc0OHgxOTYgW2JvcmRlcjogKDUwcHggc29saWQgI0ZG
MDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
dW5yZW5kZXJlZC0wMDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwNC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc2Vs
ZWN0aW9uL3VucmVuZGVyZWQtMDA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSw3
ICs1LDcgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdAogRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCiBsYXllciBhdCAoMCwwKSBzaXplIDgyMHg1ODUKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODIweDU4NQor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw2NCkgc2l6ZSA3ODR4
NDU3CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNjQsMCkgc2l6ZSA3NDh4MTk2IFtib3Jk
ZXI6ICg1MHB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc2VsZWN0aW9uL3VucmVuZGVyZWQtMDA1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vdW5yZW5kZXJl
ZC0wMDUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi91bnJlbmRlcmVkLTAwNS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3QKIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MjB4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDgyMHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsNjQpIHNpemUgNzg0eDQ1NwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDY0LDAp
IHNpemUgNzQ4eDE5NiBbYm9yZGVyOiAoNTBweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9uZWdhdGl2ZS1vZmZz
ZXQtcmVwZWF0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvbmVnYXRpdmUtb2Zmc2V0LXJlcGVhdC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmFja2dyb3VuZHMvcmVwZWF0L25lZ2F0aXZlLW9mZnNldC1yZXBlYXQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg1MjQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ4NAogICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDg0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
MTYpIHNpemUgNzg0eDQ1MgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0
eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9iYWNrZ3JvdW5kcy9zaXpl
L2JhY2tncm91bmRTaXplMTUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2JhY2tncm91bmRzL3NpemUvYmFja2dyb3VuZFNpemUxNS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmFja2dyb3VuZHMvc2l6ZS9iYWNrZ3JvdW5kU2l6ZTE1LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDk3MAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4
OTcwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5NzAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDk3MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NzY5eDk1NAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9iYXNpYy8wMTAtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L2Jhc2ljLzAxMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svYmFzaWMvMDEwLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjI2
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDEzNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDExOAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Jhc2ljL2ZpZWxkc2V0
LXN0cmV0Y2gtdG8tbGVnZW5kLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9iYXNpYy9maWVsZHNldC1zdHJldGNoLXRvLWxlZ2Vu
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svYmFzaWMvZmllbGRzZXQtc3RyZXRjaC10by1sZWdlbmQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDg1OQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAg
ICAgIFJlbmRlckZpZWxkU2V0IHtGSUVMRFNFVH0gYXQgKDIsODEyKSBzaXplIDEyOHgyOSBbYm9y
ZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgICAgUmVuZGVyQmxvY2sge0xFR0VORH0g
YXQgKDE0LDApIHNpemUgMTU2eDEyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCi1sYXll
ciBhdCAoOCw1ODEpIHNpemUgMTg2eDQwCitsYXllciBhdCAoOCw1ODEpIHNpemUgMTAweDQwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw1NzMpIHNpemUg
MTAweDQwCiAgICAgUmVuZGVyRmllbGRTZXQge0ZJRUxEU0VUfSBhdCAoMiwwKSBzaXplIDE4NHgy
OSBbYm9yZGVyOiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgIFJlbmRlckJsb2NrIHtMRUdF
TkR9IGF0ICgxNCwwKSBzaXplIDE1NngxMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYpXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDA4LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9j
ay9mbG9hdC8wMDgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAwOC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYw
OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2
OXgzMDAKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA3
Njl4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9ibG9jay9mbG9hdC8wMTMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAxMy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQv
MDEzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDh4NTg1CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4MAotbGF5ZXIgYXQgKDgsNjQpIHNpemUgODAweDExNQorbGF5ZXIgYXQg
KDgsNjQpIHNpemUgODAweDEwOAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDgsNjQpIHNpemUgODAweDEwOCBbYmdjb2xvcj0jMDAwMEZGXQogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgzOCw4KSBzaXplIDcyM3g1NyBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4
IHNvbGlkICM4ODg4NzgpIG5vbmVdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxODJ4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zs
b2F0LzAxOS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYmxvY2svZmxvYXQvMDE5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMTktZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAy
MDA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAyMDA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgNzg0eDE1NApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxv
YXQvMDIxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ibG9jay9mbG9hdC8wMjEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyMS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE1
MTh4MzE2NgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxNTE4eDMxNjYKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDMxNjYKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDMxNjYKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc2OXgzMTQyCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwwKSBzaXplIDc2OXgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2svZmxvYXQvMDI5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMjktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAyOS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDE2NgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTQKICAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU0CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4MzgKICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJ
Vn0gYXQgKDUzMiwwKSBzaXplIDI1MngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svZmxvYXQvMDMxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzEtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgz
MzIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDMwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MzAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4Mjg0CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4NTAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0LzAzMy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxv
YXQvMDMzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjAwOAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjAwOAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1
ODQKIGxheWVyIGF0ICg0NzcsOCkgc2l6ZSAzMDB4MjAwMApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvMDM1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC8wMzUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrL2Zsb2F0LzAzNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg4MjgKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDgyOAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQKICAgICAgIFJlbmRlckJs
b2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA2NzN4ODIwIFtib3JkZXI6ICgxMHB4
IHNvbGlkICMwMDAwRkYpXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxv
Y2svZmxvYXQvYXZvaWRhbmNlLXBlcmNlbnQtd2lkdGgtc3RyaWN0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9hdm9p
ZGFuY2UtcGVyY2VudC13aWR0aC1zdHJpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2F2b2lkYW5jZS1w
ZXJjZW50LXdpZHRoLXN0cmljdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgxMng1ODUKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODEyeDEzOAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4MTM4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgx
MzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMjIKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgODAweDUwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9jbGFtcGVkLXJpZ2h0LWZsb2F0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9m
bG9hdC9jbGFtcGVkLXJpZ2h0LWZsb2F0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9mbG9hdC9jbGFtcGVkLXJpZ2h0
LWZsb2F0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTA4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5n
KSB7RElWfSBhdCAoLTQyMTYsMCkgc2l6ZSA1MDAweDEwMCBbYmdjb2xvcj0jNjZFRUFBXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvZmxvYXQtaW4tZmxv
YXQtcGFpbnRpbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L2Zsb2F0LWluLWZsb2F0LXBhaW50aW5nLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9mbG9hdC9mbG9hdC1pbi1mbG9hdC1wYWludGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEyLDcgKzEyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTE1OiAiaXNzdWVzIChmbGlja3IuY29t
KSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTUsMTgpIHNpemUgNTk3eDE4CiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDExNSwxOCkgd2lkdGggNTk3OiAiLCBvciByYXRoZXIsIGEg
cmVsYXRlZCBwYWludGluZyBpc3N1ZS4gVGhlIHdvcmQgXCJQQVNTXCIgc2hvdWxkIGFwcGVhciBi
ZWxvdyBpbiB0cmFuc2x1Y2VudCBibHVlLiIKLWxheWVyIGF0ICg4LDQ0KSBzaXplIDc4NHgxNjIK
K2xheWVyIGF0ICg4LDQ0KSBzaXplIDc4NHgxMjUKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MzYpIHNpemUgNzg0eDEyNQogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAs
MCkgc2l6ZSAxMDR4MTI1CiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDEw
MHgxMDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L25l
c3RlZC1jbGVhcmFuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Jsb2NrL2Zsb2F0L25lc3RlZC1jbGVhcmFuY2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L2Zsb2F0L25lc3RlZC1jbGVhcmFuY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTUwNAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTUwNAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4MTQ0NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA3ODV4MTQ0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDE0MjgK
ICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSA2NHg2OApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvcmVsYXRpdmUt
cGFpbnRlZC10d2ljZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2svZmxvYXQvcmVsYXRpdmUtcGFpbnRlZC10d2ljZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YmxvY2svZmxvYXQvcmVsYXRpdmUtcGFpbnRlZC10d2ljZS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDIwMTYKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXgyMDAwCiAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OXgxNTAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDE1MCkgc2l6ZSA3Njl4MAotbGF5ZXIgYXQgKDgsNTgpIHNpemUgNzY5eDEwMAorbGF5ZXIg
YXQgKDgsNTgpIHNpemUgNzY5eDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgwLDApIHNpemUgNzY5eDAKICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtE
SVZ9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDAwMDAwN0ZdCiBjYXJldDogcG9z
aXRpb24gMCBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMSB7RElW
fSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJn
aW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9t
YXJnaW4tY29sbGFwc2UvMDA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTMwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTgK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4MTE0CiAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xs
YXBzZS8wNjItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjItZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDExIEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDExMCBsYXllclR5cGU6IGJhY2tncm91bmQgb25seQorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NDYgbGF5ZXJUeXBlOiBiYWNrZ3JvdW5kIG9ubHkKIGxheWVyIGF0ICgxMCw0Nikgc2l6
ZSAzMjB4NjQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJOiAtMSB7RElWfSBhdCAoMTAs
NDYpIHNpemUgMzIweDY0IFtjb2xvcj0jRkZGRjAwXSBbYmdjb2xvcj0jRkYwMDAwXQogICAgIFJl
bmRlclRleHQgekk6IC0xIHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNngxOAogICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMzY6ICJGQUlMIgotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTEw
IGxheWVyVHlwZTogZm9yZWdyb3VuZCBvbmx5CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg0NiBs
YXllclR5cGU6IGZvcmVncm91bmQgb25seQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NDYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMTAsNDYpIHNpemUgNzgweDAK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDApIHNpemUgNzc2eDAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2Nr
L21hcmdpbi1jb2xsYXBzZS8wNjMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wNjMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDExICsxLDExIEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDc3IGxheWVyVHlwZTogYmFja2dyb3VuZCBvbmx5CitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg0OSBsYXllclR5cGU6IGJhY2tncm91bmQgb25seQogbGF5ZXIgYXQg
KDEwLDEzKSBzaXplIDMyMHg2NAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IC0xIHtE
SVZ9IGF0ICgxMCwxMykgc2l6ZSAzMjB4NjQgW2NvbG9yPSNGRkZGMDBdIFtiZ2NvbG9yPSNGRjAw
MDBdCiAgICAgUmVuZGVyVGV4dCB6STogLTEgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM2eDE4CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNjogIkZBSUwiCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg3NyBsYXllclR5cGU6IGZvcmVncm91bmQgb25seQorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NDkgbGF5ZXJUeXBlOiBmb3JlZ3JvdW5kIG9ubHkKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDQ5CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDEwLDIpIHNp
emUgNzgweDEKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDApIHNpemUgNzc2eDEKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8x
MDQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8xMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBz
ZS8xMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA5NzZ4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
Ci1sYXllciBhdCAoMCwwKSBzaXplIDk3Nng1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4
NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDc4NHgxMDggW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9i
bG9jay1pbnNpZGUtaW5saW5lLzAwNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lk
ZS1pbmxpbmUvMDA0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlu
bGluZS8wMDQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDU4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1OAogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc4NHgxMTQKICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1pbmxpbmUvMDA1LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9t
YXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRlLWlubGluZS8wMDUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL21hcmdp
bi1jb2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDgzCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjU5LDApIHdpZHRoIDQ5OiAidGVzdCAwMDYiCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzA4LDApIHNpemUgNHgxOAogICAgICAgICAgIHRleHQg
cnVuIGF0ICgzMDgsMCkgd2lkdGggNDogIi4iCi1sYXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDMy
NworbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngyNzcKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzZ4Mjc3IFtiZ2NvbG9yPSMwMDAwRkZd
CiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzNngwCiAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMHgwCkBAIC02Miw3ICs2Miw3IEBAIGxh
eWVyIGF0ICgxMSwxMDMpIHNpemUgMzZ4MzI3CiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMzI3KSBzaXplIDM2eDAKICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSAweDAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5
ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngxMDkKK2xheWVyIGF0ICgxMSwxMDMpIHNpemUgMzZ4NTkK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUg
MzZ4NTkgW2JnY29sb3I9I0ZGMDAwMF0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwwKSBzaXplIDM2eDAKICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAw
eDAKQEAgLTc0LDcgKzc0LDcgQEAgbGF5ZXIgYXQgKDExLDEwMykgc2l6ZSAzNngxMDkKICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMDkpIHNpemUgMzZ4MAogICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTEsMTAzKSBzaXplIDM2eDEwOQorbGF5
ZXIgYXQgKDExLDEwMykgc2l6ZSAzNng1OQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAzNng1OSBbYmdjb2xvcj0jRkYwMDAwXQogICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMzZ4MAogICAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MApAQCAtODUsNyArODUsNyBAQCBsYXllciBhdCAo
MTEsMTAzKSBzaXplIDM2eDU5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwwKSBzaXplIDM2eDU5IFtiZ2NvbG9yPSNGRkZGMDBdCiAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzZ4NTkKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDM2OiAiQSIKLWxheWVyIGF0ICgxMSwyMTIpIHNpemUgMzZ4MTA5CitsYXllciBhdCAoMTEs
MjEyKSBzaXplIDM2eDU5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMCwwKSBzaXplIDM2eDU5IFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAzNngwCiAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9jay9wb3NpdGlvbmluZy8wMDItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzAwMi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2sv
cG9zaXRpb25pbmcvMDAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM0CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDEpIHNpemUgNTI4eDE2CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3
aWR0aCA1Mjg6ICJBaGVtX2ZvbnRfcmVxdWlyZWRfZm9yX3RoaXNfdGVzdC4iCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsMjYpIHNpemUg
NjAweDIwMAorbGF5ZXIgYXQgKDgsMjYpIHNpemUgMzAweDEwMAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTgpIHNpemUgMzAweDEwMCBbYmdjb2xvcj0j
RkYwMDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNjAweDIwMCBbY29s
b3I9IzAwODAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMwMHgx
MDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5n
LzA0Ny1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDQ3LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wNDct
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIGxheWVyIGF0ICg4
LDgpIHNpemUgNTEyeDgzOQogICAgICAgICB0ZXh0IHJ1biBhdCAoMzIwLDMxKSB3aWR0aCAxOTI6
ICIgKGhpdCBpdCBhIGZldyB0aW1lcyBvbiIKICAgICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdp
ZHRoIDUwMTogInRoaXMgcGFnZSkuIFRoaXMgaXMgYSBjcmlwcGxpbmcgZmxhdyBmb3IgcGVvcGxl
IHdobyBuZWVkIgogICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4OSkgd2lkdGggMzcwOiAidG8gZW5s
YXJnZSB0aGUgZm9udHMgdG8gcmVhZCBjb21mb3J0YWJseS4iCi1sYXllciBhdCAoNTQ2LDE3OSkg
c2l6ZSAyMDB4NDkKK2xheWVyIGF0ICg1NDYsMTc5KSBzaXplIDIwMHg0OAogICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge1NQQU59IGF0ICg1MzgsMTcxKSBzaXplIDIwMHg0OAogICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwtMSkgc2l6ZSAxOTl4NTAKICAgICAgIHRleHQgcnVuIGF0ICgw
LC0xKSB3aWR0aCAxOTk6ICJceHsyMTkwfSB0aGlzIHNob3VsZCBiZSB0byB0aGUgcmlnaHQgb2Yi
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy8w
NDktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA0OS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDQ5LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAotbGF5ZXIgYXQgKDEwLDEwKSBzaXplIDE2MHgxNjAKK2xheWVyIGF0
ICgxMCwxMCkgc2l6ZSAxMjB4MTIwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBh
dCAoMTAsMTApIHNpemUgMTIweDEyMCBbYmdjb2xvcj0jRkYwMDAwXSBbYm9yZGVyOiAoMTBweCBz
b2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMTApIHNpemUgMTUw
eDE1MCBbYmdjb2xvcj0jMDA4MDAwXQogbGF5ZXIgYXQgKDIwMCwxMCkgc2l6ZSAxMjB4MTIwIGNs
aXAgYXQgKDIxMCwyMCkgc2l6ZSAxMDB4MTAwIHNjcm9sbFdpZHRoIDE1MCBzY3JvbGxIZWlnaHQg
MTUwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmlu
Zy8wNTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzA1MS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvMDUx
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBAQCBsYXllciBhdCAo
MzQsMjI2NSkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogLTMw
IHtQfSBhdCAoMTAsMjEwKSBzaXplIDIwMHgyMDAgW2NvbG9yPSNGRkZGRkZdIFtiZ2NvbG9yPSM2
NjAwOTldCiAgICAgUmVuZGVyVGV4dCB6STogLTMwIHsjdGV4dH0gYXQgKDcxLDQyKSBzaXplIDU3
eDk3CiAgICAgICB0ZXh0IHJ1biBhdCAoNzEsNDIpIHdpZHRoIDU3OiAiNyIKLWxheWVyIGF0ICg4
NCw4NDMpIHNpemUgNTE5eDIwMAorbGF5ZXIgYXQgKDg0LDg0Mykgc2l6ZSAyMDB4MjAwCiAgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogLTMge1B9IGF0ICg2MCw2MCkgc2l6ZSAyMDB4MjAw
IFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xvcj0jOTkwMDY2XQogICAgIFJlbmRlclRleHQgekk6IC0z
IHsjdGV4dH0gYXQgKDUwLDQyKSBzaXplIDQ2OXg5NwogICAgICAgdGV4dCBydW4gYXQgKDUwLDQy
KSB3aWR0aCA0Njk6ICIgOCBoaWRlIG1lIgpAQCAtOTksNyArOTksNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDc4NXg1MjY5IGxheWVyVHlwZTogCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzQ5OiAiVXNpbmcgYXNzdW1lZCBkZWZhdWx0IHZhbHVlIG9mIHotaW5kZXggKG1heSBu
b3QgcGFzcyk6IgogbGF5ZXIgYXQgKDI0LDE0Nykgc2l6ZSA2MjB4NjIwCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMTYsMTI2KSBzaXplIDYyMHg2MjAgW2Jv
cmRlcjogKDEwcHggc29saWQgIzAwMDAwMCldCi1sYXllciBhdCAoODQsMjA3KSBzaXplIDUxOXgy
MDAKK2xheWVyIGF0ICg4NCwyMDcpIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge1B9IGF0ICg2MCw2MCkgc2l6ZSAyMDB4MjAwIFtjb2xvcj0jRkZGRkZGXSBbYmdjb2xv
cj0jOTkwMDY2XQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTAsNDIpIHNpemUgNDY5eDk3
CiAgICAgICB0ZXh0IHJ1biBhdCAoNTAsNDIpIHdpZHRoIDQ2OTogIiA4IGhpZGUgbWUiCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9hdXRvLWhl
aWdodC13aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9hdXRvLWhlaWdodC13
aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9hdXRvLWhlaWdodC13
aXRoLXRvcC1hbmQtYm90dG9tLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNjM0OiAiVGhlIHJlZCBib3ggc2hvdWxkIGJlIGVudGlyZWx5IGluc2lkZSB0
aGUgYmxhY2sgYm94IHdpdGggdGhlIHRleHQgY29udGVudCBzcGlsbGluZyBvdXQgb2YgYm90aCBv
ZiB0aGVtLiIKIGxheWVyIGF0ICg4LDQyKSBzaXplIDQwNHgxMDQKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM0KSBzaXplIDQwNHgxMDQgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgxMCw2NCkgc2l6ZSA0MDB4MTQ2CitsYXll
ciBhdCAoMTAsNjQpIHNpemUgNDAweDYwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMiwyMikgc2l6ZSA0MDB4NjAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAzOTZ4MTQ0CiAgICAgICB0ZXh0IHJ1
biBhdCAoMiwyKSB3aWR0aCAzOTY6ICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYmxvY2svcG9zaXRpb25pbmcvcmVwbGFjZWQtaW5zaWRlLWZpeGVkLXRvcC1i
b3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL3JlcGxhY2VkLWluc2lkZS1maXhlZC10b3AtYm90dG9t
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ibG9jay9wb3NpdGlvbmluZy9yZXBsYWNlZC1pbnNpZGUtZml4ZWQtdG9wLWJvdHRv
bS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwwKSBzaXplIDgwMHgw
CiBsYXllciBhdCAoNTAsMTAwKSBzaXplIDcwMHg0MDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICg1MCwxMDApIHNpemUgNzAweDQwMCBbYm9yZGVyOiAoMXB4IHNvbGlkICM4
MDgwODApXQotbGF5ZXIgYXQgKDUxLDE0MCkgc2l6ZSA1NjB4MzIzCitsYXllciBhdCAoNTEsMTQw
KSBzaXplIDU2MHgzMjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxLDQw
KSBzaXplIDU2MHgzMjAgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICBSZW5kZXJJ
bWFnZSB7SU1HfSBhdCAoMSwxKSBzaXplIDM5MngzMTgKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrZmxvdy9ibG9jay1sZXZlbC1pbWFnZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ibG9jay1sZXZlbC1pbWFnZXMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrZmxvdy9ibG9jay1sZXZlbC1pbWFnZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgz
MTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgw
CiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyLDIpIHNpemUgMjY0eDMw
NCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMtY2xpcHBpbmctdmVydGljYWwtbHIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Jsb2NrZmxvdy9ib3JkZXItcmFkaXVzLWNsaXBwaW5nLXZlcnRpY2FsLWxyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9j
a2Zsb3cvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MjEK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDYyMQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDcyN3g1ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTQ0eDYw
MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JveC1zaGFk
b3ctdmVydGljYWwtbHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Jsb2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9i
bG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1sci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1
ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTQ0eDYwMApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2JveC1zaGFkb3ctdmVydGlj
YWwtcmwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Jsb2NrZmxvdy9ib3gtc2hhZG93LXZlcnRpY2FsLXJsLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cv
Ym94LXNoYWRvdy12ZXJ0aWNhbC1ybC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDgKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwOAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTQ0eDYwMApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2Zsb2F0cy1pbi1ibG9jay1sYXlvdXQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Js
b2NrZmxvdy9mbG9hdHMtaW4tYmxvY2stbGF5b3V0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ibG9ja2Zsb3cvZmxvYXRzLWlu
LWJsb2NrLWxheW91dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgMzA4eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSAxMTZ4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDExNng2MDAKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEwMHg1ODQKICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDU4NCBbYmdjb2xvcj0jRkZGRjAwXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5k
LWNvbG9yLzAwMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWNvbG9yLzAwMi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Ym9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWNvbG9yLzAwMi1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDM0CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4MjQgW2JnY29sb3I9IzAwRkYwMF0KICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCwxNikgc2l6ZSA3ODR4MCBbYmdjb2xvcj0jRkYwMDAwXQogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1sLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5
LXByb3BhZ2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1sLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3Bh
Z2F0aW9uL2JhY2tncm91bmQtY29sb3IvMDAyLXhodG1sLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDI0CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCww
KSBzaXplIDgwMHgyNCBbYmdjb2xvcj0jMDBGRjAwXQogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0
ICg4LDE2KSBzaXplIDc4NHgwIFtiZ2NvbG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJCbG9jayB7
cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRp
b24vYmFja2dyb3VuZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vYmFja2dyb3Vu
ZC1pbWFnZS8wMDItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MjQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDI0CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDAKICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYm9keS1wcm9wYWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9w
YWdhdGlvbi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlv
bi9iYWNrZ3JvdW5kLWltYWdlLzAwMi14aHRtbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDM0CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHgyNAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6
ZSA4MDB4MjQKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MAogICAg
ICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1w
cm9wYWdhdGlvbi9vdmVyZmxvdy8wMDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cv
MDAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgNzg1eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjMzCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNzgK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDE3OAogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTYyeDE2MiBbY29sb3I9IzAwMDA4MF0gW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMDgwKV0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMSwxNykgc2l6
ZSAxNjB4NzIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFn
YXRpb24vb3ZlcmZsb3cvMDAxLXhodG1sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwMS14
aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDEteGh0bWwtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODV4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCww
KSBzaXplIDc4NXgyMzMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE3OAogICBSZW5kZXJCbG9j
ayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4MTc4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQg
KDgsOCkgc2l6ZSAxNjJ4MTYyIFtjb2xvcj0jMDAwMDgwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDAwODApXQogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgxLDE3KSBzaXplIDE2MHg3MgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxv
dy8wMDUtZGVjbGFyYXRpdmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWRlY2xhcmF0
aXZlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9uL292ZXJmbG93LzAwNS1kZWNsYXJhdGl2ZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDc4NXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0
ICgwLDApIHNpemUgNzg1eDQ0OQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MzQwCiAgIFJlbmRl
ckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXgzNDAKICAgICBSZW5kZXJCb2R5IHtib2R5
fSBhdCAoOCwxNzApIHNpemUgMTYyeDE2MiBbY29sb3I9IzAwMDA4MF0gW2JvcmRlcjogKDFweCBz
b2xpZCAjMDAwMDgwKV0KICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMSwxNykgc2l6ZSAxNjB4
MTI2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXByb3BhZ2F0aW9u
L292ZXJmbG93LzAwNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVyZmxvdy8wMDUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvZHkt
cHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NDQ5CitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXgzNDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDM0MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE3MCkgc2l6ZSAxNjJ4MTYyIFtj
b2xvcj0jMDAwMDgwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwODApXQogICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgxLDE3KSBzaXplIDE2MHgxMjYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L2JvZHktcHJvcGFnYXRpb24vb3ZlcmZsb3cvMDA1LXhodG1sLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib2R5LXBy
b3BhZ2F0aW9uL292ZXJmbG93LzAwNS14aHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9keS1wcm9wYWdhdGlvbi9vdmVy
Zmxvdy8wMDUteGh0bWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NDkKK2xheWVyIGF0ICgwLDApIHNp
emUgNzg1eDM0MAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4MzQwCiAg
ICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTcwKSBzaXplIDE2MngxNjIgW2NvbG9yPSMwMDAw
ODBdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDA4MCldCiAgICAgICBSZW5kZXJCbG9jayB7cH0g
YXQgKDEsMTcpIHNpemUgMTYweDEyNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJhZGl1cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJh
ZGl1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvYm9yZGVycy9maWVsZHNldEJvcmRlclJhZGl1cy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlckZpZWxkU2V0IHtGSUVMRFNFVH0gYXQgKDIsMzQ3KSBzaXplIDEyOHgzOSBbYm9yZGVy
OiAoMnB4IGdyb292ZSAjQzBDMEMwKV0KICAgICAgICAgICBSZW5kZXJCbG9jayB7TEVHRU5EfSBh
dCAoMTQsMCkgc2l6ZSAxNTZ4MTIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0KLWxheWVy
IGF0ICg0NTgsMTA2KSBzaXplIDE4Nng0MAorbGF5ZXIgYXQgKDQ1OCwxMDYpIHNpemUgMTAweDQw
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw5OCkgc2l6
ZSAxMDB4NDAKICAgICBSZW5kZXJGaWVsZFNldCB7RklFTERTRVR9IGF0ICgyLDApIHNpemUgMTg0
eDM5IFtib3JkZXI6ICgycHggZ3Jvb3ZlICNDMEMwQzApXQogICAgICAgUmVuZGVyQmxvY2sge0xF
R0VORH0gYXQgKDE0LDApIHNpemUgMTU2eDEyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDBGRild
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3gtc2hhZG93L2Jhc2ljLXNo
YWRvd3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2JveC1zaGFkb3cvYmFzaWMtc2hhZG93cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm94LXNoYWRvdy9iYXNpYy1z
aGFkb3dzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgNzg1eDY3MQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYw
MAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjcxCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2
NTgKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDY1OAogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDYzNAogICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MTUwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9ib3gtc2l6aW5nL2JveC1zaXppbmctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JveC1zaXppbmcvYm94LXNpemluZy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvYm94LXNpemluZy9ib3gtc2l6aW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNzUsNyArNzUsNyBAQCBsYXllciBhdCAoNDMsNDEzKSBzaXplIDIweDIwCiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNDMsNDEzKSBzaXplIDIweDIwIFtjb2xvcj0jRkZG
RkZGXSBbYmdjb2xvcj0jRkZBNTAwXSBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwMDApXQogbGF5
ZXIgYXQgKDczLDQxMykgc2l6ZSAyMHgyMAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDczLDQxMykgc2l6ZSAyMHgyMCBbY29sb3I9I0ZGRkZGRl0gW2JnY29sb3I9I0ZGQTUw
MF0gW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgxMDMsNDEzKSBzaXpl
IDIweDYwCitsYXllciBhdCAoMTAzLDQxMykgc2l6ZSAyMHgyMAogICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDEwMyw0MTMpIHNpemUgMjB4MjAgW2NvbG9yPSNGRkZGRkZdIFti
Z2NvbG9yPSNGRkE1MDBdIFtib3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVy
QlIge0JSfSBhdCAoNiw2KSBzaXplIDB4MTgKICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg2LDI0KSBz
aXplIDB4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDA4LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9j
bGlwLzAwOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
Myw3ICsxMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDcwCiAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0ICg4LDYyKSBzaXplIDEwMHgxMDAK
ICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDYyKSBzaXplIDEwMHgxMDAK
LWxheWVyIGF0ICgxMDAsMTAwKSBzaXplIDIwMHgyMDAKK2xheWVyIGF0ICgxMDAsMTAwKSBzaXpl
IDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxMDAsMTAwKSBz
aXplIDEwMHgxMDAKIGxheWVyIGF0ICgyMDAsMjAwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMDktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDA5LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9jbGlwLzAwOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw2IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDEsMCkgd2lk
dGggMjM5OiAiVGhpcyB0ZXN0IGlzIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSBjbGlwIgogICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTkyOiAiaXMgYXBwbHlpbmcgdG8gYWxsIGRlc2Nl
bmRhbnRzLiAiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxh
eWVyIGF0ICg4LDQ0KSBzaXplIDIwMHgyMDAgYmFja2dyb3VuZENsaXAgYXQgKDgsNDQpIHNpemUg
MTAweDEwMCBjbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgb3V0bGluZUNsaXAgYXQgKDgsNDQp
IHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsNDQpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNDQpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4
MDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMDAsMTAwKSBzaXplIDEwMHgxMDAgW2Jn
Y29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAv
MDEwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9jbGlwLzAxMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC05LDYgKzksNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MgogICAgICAgICB0ZXh0
IHJ1biBhdCAoNTQxLDApIHdpZHRoIDIzOTogIlRoaXMgdGVzdCBpcyBjaGVja2luZyB0byBtYWtl
IHN1cmUgY2xpcCIKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDE5MjogImlzIGFw
cGx5aW5nIHRvIGFsbCBkZXNjZW5kYW50cy4gIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw0NCkgc2l6ZSAyMDB4MjAwIGJhY2tncm91bmRD
bGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgY2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIG91
dGxpbmVDbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICg4LDQ0KSBzaXplIDEw
MHgxMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDQ0KSBzaXplIDEw
MHgxMDAgW2JnY29sb3I9IzAwODAwMF0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAwLDEw
MCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jbGlwLzAxMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDExLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDYgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTIKICAgICAgICAgdGV4dCBydW4gYXQgKDU0MSwwKSB3aWR0aCAyMzk6ICJUaGlzIHRlc3Qg
aXMgY2hlY2tpbmcgdG8gbWFrZSBzdXJlIGNsaXAiCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4
KSB3aWR0aCAxOTI6ICJpcyBhcHBseWluZyB0byBhbGwgZGVzY2VuZGFudHMuICIKICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsNDQpIHNpemUg
MjAweDQwMCBiYWNrZ3JvdW5kQ2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIGNsaXAgYXQgKDgs
NDQpIHNpemUgMTAweDEwMCBvdXRsaW5lQ2xpcCBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwCitsYXll
ciBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoOCw0NCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCiAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDEwMCwxMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY2xpcC8wMTItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NsaXAvMDEyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9jbGlwLzAxMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw2IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDEsMCkgd2lk
dGggMjM5OiAiVGhpcyB0ZXN0IGlzIGNoZWNraW5nIHRvIG1ha2Ugc3VyZSBjbGlwIgogICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTkyOiAiaXMgYXBwbHlpbmcgdG8gYWxsIGRlc2Nl
bmRhbnRzLiAiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxh
eWVyIGF0ICg4LDQ0KSBzaXplIDIwMHg0MDAgYmFja2dyb3VuZENsaXAgYXQgKDgsNDQpIHNpemUg
MTAweDEwMCBjbGlwIGF0ICg4LDQ0KSBzaXplIDEwMHgxMDAgb3V0bGluZUNsaXAgYXQgKDgsNDQp
IHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDgsNDQpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsNDQpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4
MDAwXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMDAsMTAwKSBzaXplIDEwMHgxMDAgW2Jn
Y29sb3I9I0ZGMDAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2NvbXBh
Y3QvMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jb21wYWN0LzAwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY29tcGFjdC8wMDEtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgw
MHg3NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NzYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDc2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUg
Nzg0eDUyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9uLW9uLWJh
Y2tncm91bmQtaW1hZ2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9uLW9uLWJhY2tncm91bmQtaW1hZ2Ut
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2Nzcy9jb2xvci1jb3JyZWN0aW9uLW9uLWJhY2tncm91bmQtaW1hZ2UtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODV4ODYwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDc4NXg4NjAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3Njl4NTc2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3
Njl4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9uZWdhdGl2ZS1s
ZWFkaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jc3MvbmVnYXRpdmUtbGVhZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL25lZ2F0aXZlLWxlYWRpbmct
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXll
ciBhdCAoMCwwKSBzaXplIDgwMHgyMDUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDE5OAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTk4CiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE3NAogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3Mv
cGVyY2VudGFnZS1ub24taW50ZWdlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3BlcmNlbnRhZ2Utbm9uLWludGVnZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2Nzcy9wZXJjZW50YWdlLW5vbi1pbnRlZ2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAxM3g1ODUKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTAxM3g1ODUKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5
CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9
IzAwRkYwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy93b3JkLXNw
YWNlLWV4dHJhLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9jc3Mvd29yZC1zcGFjZS1leHRyYS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3dvcmQtc3BhY2UtZXh0
cmEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAyMDI2eDIzOTMKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgMjAyNngyMzkzCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgy
MzkzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMzkzCiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MjM3NwogICAgICAgUmVuZGVyQmxvY2sg
e0gyfSBhdCAoMCwwKSBzaXplIDc2OXgyOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvZG9tL2Nsb25lLW5vZGUtZHluYW1pYy1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL2Nsb25lLW5vZGUtZHluYW1p
Yy1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvZG9tL2Nsb25lLW5vZGUtZHluYW1pYy1zdHlsZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgzOHg1
ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNp
emUgODM4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtIMX0gYXQgKDAsMCkgc2l6ZSA3ODR4
MzcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJl
c2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRl
c3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2R5bmFtaWMvd2luZG93LXJlc2l6ZS1zY3JvbGxiYXJzLXRlc3QtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDc2OHg1OTIKK2xheWVyIGF0ICgwLDApIHNpemUgNzY4eDU2OAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3Njh4NTY4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3NTJ4NTg0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA0ODR4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2V2ZW50cy9mb2N1
c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2V2
ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xOSw4ICsxOSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU4MCwxOCkgd2lkdGggMzc6ICJDcmFzaCIKICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJGcmFt
ZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUg
OHg4CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDh4OAorICAg
ICAgICBsYXllciBhdCAoMCwwKSBzaXplIDB4OAogICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDB4OAogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZsZXhib3gv
MDA5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mbGV4Ym94LzAwOS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC8wMDktZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMSw0ICsxMSw0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNDksMTgpIHdpZHRoIDMyNjogIklmIHlvdSBkbyBub3Qgc2Vl
IGEgc2Nyb2xsYmFyLCB0aGVuIHRoZSB0ZXN0IGhhcyBmYWlsZWQuIgogbGF5ZXIgYXQgKDgsNjAp
IHNpemUgMTA0eDEwNCBjbGlwIGF0ICgxMCw2Mikgc2l6ZSA4NXgxMDAgc2Nyb2xsSGVpZ2h0IDEw
MDAKICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDAsNTIpIHNpemUgMTA0eDEwNCBbYmdj
b2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IHNvbGlkICM4MDgwMDApXQotICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMHgxMDAwCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDIsMikgc2l6ZSA4NXgxMDAwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
bGV4Ym94LzAxNi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZmxleGJveC8wMTYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZsZXhib3gvMDE2LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODEyeDU4
NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MTJ4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDU4NSBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgICAgUmVuZGVyRmxleGlibGVCb3gg
e0RJVn0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9mbGV4Ym94L2ZsZXgtaGFuZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZmxleGJveC9mbGV4LWhhbmctZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZsZXhi
b3gvZmxleC1oYW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgNzg4eDU4NwogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODh4NTg3CitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg1ODcKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDU4NwogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgNzg1eDU4NwogICAgICAgUmVuZGVyRmxl
eGlibGVCb3gge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODd4NTg3IFtib3JkZXI6ICgxcHggc29saWQg
IzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNp
Yy10ZXh0YXJlYXMtcXVpcmtzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNpYy10ZXh0YXJlYXMtcXVpcmtzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9iYXNpYy10ZXh0YXJlYXMtcXVpcmtzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwNTAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwNTAKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA3ODV4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4NTg0
CiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgMzUyeDgx
NyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZm9ybXMvZmlsZS1pbnB1dC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2ZpbGUtaW5wdXQt
ZGlyZWN0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9maWxlLWlucHV0LWRpcmVjdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEwODN4
NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDEwODN4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDEwNzV4MTA4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9mbG9h
dGluZy10ZXh0ZmllbGQtcmVsYXlvdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Zsb2F0aW5nLXRleHRmaWVsZC1yZWxheW91
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvZm9ybXMvZmxvYXRpbmctdGV4dGZpZWxkLXJlbGF5b3V0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTcsNyArMTcsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1OSwxOCkgc2l6ZSA0eDE4CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDU5LDE4KSB3aWR0aCA0OiAiLiIKICAgICAgIFJlbmRlckJsb2Nr
IHtIUn0gYXQgKDAsNTIpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0K
LWxheWVyIGF0ICg4LDcwKSBzaXplIDc4NHgyMQorbGF5ZXIgYXQgKDgsNzApIHNpemUgNzg0eDAK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDYyKSBzaXpl
IDc4NHgwCiAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMCwyKSBzaXplIDM5Mngx
OSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogbGF5ZXIg
YXQgKDExLDc1KSBzaXplIDM4NngxMwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvZm9ybXMvdGV4dGZpZWxkLW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Zvcm1zL3RleHRmaWVsZC1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTYsNiArNiw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVy
VGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwwKSBzaXplIDEyNXgxMCBbYmdjb2xvcj0jRkZGRkZG
XSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLWxheWVyIGF0ICgxMywxMSkgc2l6ZSAxMTl4NAorbGF5ZXIgYXQgKDEzLDExKSBzaXpl
IDExOXg0IHNjcm9sbEhlaWdodCAxMwogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXpl
IDExOXg0CiBjYXJldDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHtESVZ9IG9mIGNoaWxkIDEge0lO
UFVUfSBvZiBib2R5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMv
ZnJhbWUtc2Nyb2xsaW5nLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZyYW1lLXNjcm9sbGluZy1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ZyYW1lcy9mcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgMTk1eDE0NQogICAgICAg
ICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgMTgweDEzMAotICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAg
ICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAgICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSAxNjR4NDcwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwwKSBzaXplIDE2NHg1NApAQCAtMTgsNyArMTgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDIwMSwwKSBzaXplIDE5NXgx
NDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDE4MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY0eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4NTQKQEAgLTMwLDcgKzMwLDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg0MDIsMCkg
c2l6ZSAxOTV4MTQ1CiAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAg
ICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODB4MTMwCi0gICAgICAgIGxheWVyIGF0ICgw
LDApIHNpemUgNDA4eDQ4NgorICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAg
ICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODB4NDg2CiAgICAgICAg
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2NHg0NzAKICAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY0eDU0CkBAIC00Miw3ICs0Miw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBh
dCAoNjAzLDApIHNpemUgMTk3eDE0NQogICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0
ODYKICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTgyeDEzMAotICAgICAgICBs
YXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
ODJ4NDg2CiAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTgyeDQ4
NgogICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjZ4NDcwCiAg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2Nng1NApAQCAtNTQs
NyArNTQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckZyYW1l
IHtGUkFNRX0gYXQgKDAsMTUxKSBzaXplIDE5NXgxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MHgxMzAK
LSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgw
LDApIHNpemUgMTgweDQ4NgogICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDE4MHg0ODYKICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
MTY0eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4
NTQKQEAgLTY2LDcgKzY2LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBS
ZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgyMDEsMTUxKSBzaXplIDE5NXgxNDUKICAgICAgICAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDE5NXgxNDUKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAg
IGxheWVyIGF0ICgwLDApIHNpemUgMTk1eDQ4NgogICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDE5NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgMTc5eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MCkgc2l6ZSAxNzl4NTQKQEAgLTc4LDcgKzc4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg0MDIsMTUxKSBzaXplIDE5NXgxNDUK
ICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDE4MHgxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4
NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgweDQ4NgogICAgICAgICAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4MHg0ODYKICAgICAgICAgICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY0eDQ3MAogICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjR4NTQKQEAgLTkwLDcgKzkwLDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICg2MDMsMTUxKSBz
aXplIDE5N3gxNDUKICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAg
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4MngxMzAKLSAgICAgICAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0MDh4NDg2CisgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTgyeDQ4NgogICAg
ICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4Mng0ODYKICAgICAgICAg
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY2eDQ3MAogICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjZ4NTQKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9pZnJhbWUtc2Nyb2xsaW5nLWF0dHJpYnV0ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJh
bWVzL2lmcmFtZS1zY3JvbGxpbmctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaWZyYW1lLXNjcm9s
bGluZy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0
IHtJRlJBTUV9IGF0ICgwLDApIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAw
MDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBhdCAoMCww
KSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAg
ICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAgICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkBAIC0zNSw3ICsz
NSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAgICBSZW5kZXJQYXJ0T2Jq
ZWN0IHtJRlJBTUV9IGF0ICgyMDgsMCkgc2l6ZSAyMDR4MjA0IFtib3JkZXI6ICgycHggaW5zZXQg
IzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CiAgICAgICAg
ICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMTg1eDE4NQotICAgICAgICAgIGxheWVyIGF0
ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMTg1eDQ4
NgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMTg1eDQ4Ngog
ICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDE2OXg0NzAKICAg
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxNjl4NTQKQEAgLTQ5
LDcgKzQ5LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJlbmRlclBh
cnRPYmplY3Qge0lGUkFNRX0gYXQgKDQxNiwwKSBzaXplIDIwNHgyMDQgW2JvcmRlcjogKDJweCBp
bnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKICAg
ICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODV4MTg1Ci0gICAgICAgICAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
ODV4NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSAxODV4
NDg2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMTY5eDQ3
MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDE2OXg1NApA
QCAtNjMsNyArNjMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2OTIKICAgICAgICAgUmVu
ZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoMCwyMDgpIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAo
MnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4
NgogICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAg
ICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBz
aXplIDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDE4NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAx
Njl4NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5
eDU0CkBAIC03Nyw3ICs3Nyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY5MgogICAgICAg
ICBSZW5kZXJQYXJ0T2JqZWN0IHtJRlJBTUV9IGF0ICgyMDgsMjA4KSBzaXplIDIwNHgyMDQgW2Jv
cmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KICAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXpl
IDQwOHg0ODYKICAgICAgICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAxODV4MTg1Ci0g
ICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0MDh4NDg2CisgICAgICAgICAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxODV4NDg2CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSAxODV4NDg2CiAgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgMTY5eDQ3MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDE2OXg1NApAQCAtOTEsNyArOTEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2OTIK
ICAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoNDE2LDIwOCkgc2l6ZSAyMDR4
MjA0IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA0MDh4NDg2CiAgICAgICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMjAw
eDIwMAotICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgorICAgICAgICAgIGxh
eWVyIGF0ICgwLDApIHNpemUgMjAweDQ4NgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgMjAweDQ4NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDE4NHg0NzAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSAxODR4NTQKQEAgLTEwNSw3ICsxMDUsNyBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXg2OTIKICAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7SUZSQU1FfSBhdCAoMCw0MTYpIHNp
emUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAgICAgIGxheWVy
IGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0ODYKKyAgICAg
ICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkBAIC0xMTksNyArMTE5LDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NjkyCiAgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge0lGUkFNRX0gYXQgKDIw
OCw0MTYpIHNpemUgMjA0eDIwNCBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQogICAgICAg
ICAgIGxheWVyIGF0ICgwLDApIHNpemUgNDA4eDQ4NgogICAgICAgICAgICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDE4NXgxODUKLSAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDQwOHg0
ODYKKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDE4NXg0ODYKICAgICAgICAgICAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSAxNjl4NDcwCiAgICAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgMTY5eDU0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mcmFtZXMvaW5saW5lLW9iamVjdC1pbnNpZGUtZnJhbWVzZXQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1l
cy9pbmxpbmUtb2JqZWN0LWluc2lkZS1mcmFtZXNldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2lubGluZS1vYmpl
Y3QtaW5zaWRlLWZyYW1lc2V0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgNzkzeDYzNAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3OTN4NjM0CitsYXllciBhdCAoMCww
KSBzaXplIDc4NXg2MzQKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDYz
NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDYxOAogICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2
YW5jZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4NjZ4NjA3CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAo
MCwwKSBzaXplIDg2Nng2MDcKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYwNwogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjA3CiAgICAgUmVuZGVyRnJhbWVTZXQge0ZS
QU1FU0VUfSBhdCAoMCwwKSBzaXplIDg2Nng2MDcKICAgICAgIFJlbmRlckZyYW1lU2V0IHtGUkFN
RVNFVH0gYXQgKDAsMCkgc2l6ZSA4NjZ4MjA3CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTIwMHg4MDAKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTIwMHg4MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDgwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA3ODV4ODAwCiAgICAgUmVuZGVyRnJhbWVTZXQge0ZSQU1FU0VUfSBhdCAoMCwwKSBz
aXplIDEyMDB4ODAwCiAgICAgICBSZW5kZXJGcmFtZSB7RlJBTUV9IGF0ICgwLDApIHNpemUgNjAw
eDIwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc2ltcGxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXNpbXBsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSAxMDAweDYwMAogICAg
ICAgUmVuZGVyRnJhbWUge0ZSQU1FfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLXN1YmZyYW1lLXJlc2l6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDY1MAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDAweDY1MAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4NjUwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDc4NXg2NTAKICAgICBSZW5kZXJGcmFtZVNldCB7RlJBTUVTRVR9IGF0ICgwLDApIHNpemUgMTAw
MHg2NTAKICAgICAgIFJlbmRlckZyYW1lIHtGUkFNRX0gYXQgKDAsMCkgc2l6ZSAzMDB4NjUwCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTAweDYzMAogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MDB4NjMwCitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXg2MzAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
Nzg1eDYzMAogICAgIFJlbmRlckZyYW1lU2V0IHtGUkFNRVNFVH0gYXQgKDAsMCkgc2l6ZSA5MDB4
NjMwCiAgICAgICBSZW5kZXJGcmFtZVNldCB7RlJBTUVTRVR9IGF0ICgwLDApIHNpemUgOTAweDE1
MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZ3JhZGllbnRzL2JhY2tncm91
bmQtY2xpcHBlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZ3JhZGllbnRzL2JhY2tncm91bmQtY2xpcHBlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZ3JhZGllbnRz
L2JhY2tncm91bmQtY2xpcHBlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDg0Mng1ODUKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODQyeDU4NQorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgtNTAsMjYwKSBzaXplIDIxMHgyMTAgW2JvcmRlcjogKDVweCBk
YXNoZWQgIzAwMDBGRildCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFn
ZXMvZ2lmLWxhcmdlLWNoZWNrZXJib2FyZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2dpZi1sYXJnZS1jaGVja2VyYm9hcmQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2ltYWdlcy9naWYtbGFyZ2UtY2hlY2tlcmJvYXJkLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTU5OXgyMDkwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE1
OTl4MjA5MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MjA5MAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA3ODV4MjA5MAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzY5eDIwNzQKICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMTU5
MXgyMDc0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvcGRmLWFz
LWltYWdlLWxhbmRzY2FwZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1sYW5kc2NhcGUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9wZGYtYXMtaW1hZ2UtbGFuZHNjYXBlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODUweDY1MwogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NTB4NjUzCitsYXll
ciBhdCAoMCwwKSBzaXplIDc4NXg2NTMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgNzg1eDY1MwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzY5eDYyOQog
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MTgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUtYmxvY2st
dmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUtYmxvY2stdmVydGljYWwtYWxpZ24t
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2lubGluZS1ibG9jay9pbmxpbmUtYmxvY2stdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
MDI0eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxMDI0eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgNzg0eDU2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbmxpbmUvbG9u
Zy13cmFwcGVkLWxpbmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2lubGluZS9sb25nLXdyYXBwZWQtbGluZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW5saW5lL2xv
bmctd3JhcHBlZC1saW5lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYg
QEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTk4M3g1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTk4M3g1ODUKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTk3NXgxOApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xheWVycy9sYXllci12
aXNpYmlsaXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTE5MSw3ICsxOTEsNyBAQCBsYXllciBhdCAoMTAsMzIyKSBzaXplIDEz
MHgzNgogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTYgZ3JlZW4gYm94IHdp
dGgiCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNjE6ICJ3b3JkIG9rOiAiCiAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTAsMzU4KSBz
aXplIDEzMHg1MAorbGF5ZXIgYXQgKDEwLDM1OCkgc2l6ZSAxMzB4MzQKICAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNv
bGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDQ4
IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQpAQCAtMjA2
LDcgKzIwNiw3IEBAIGxheWVyIGF0ICgxNDQsMzIyKSBzaXplIDEzMHgzNgogICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTcgZ3JlZW4gYm94IHdpdGgiCiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggNjE6ICJ3b3JkIG9rOiAiCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMTQ0LDM1OCkgc2l6ZSAxMzB4NTAKK2xheWVy
IGF0ICgxNDQsMzU4KSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2JvcmRlcjogKDJweCBz
b2xpZCAjRkYwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIy
eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCkBAIC0yMjEsNyArMjIxLDcgQEAgbGF5
ZXIgYXQgKDI3OCwzMjIpIHNpemUgMTMweDM2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxMTU6ICIxOCBncmVlbiBib3ggd2l0aCIKICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0
aCA2MTogIndvcmQgb2s6ICIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKLWxheWVyIGF0ICgyNzgsMzU4KSBzaXplIDEzMHg1MAorbGF5ZXIgYXQgKDI3OCwzNTgpIHNp
emUgMTMweDM0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6
ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwyKSBzaXplIDEyNng0OCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQog
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJw
eCBzb2xpZCAjRkYwMDAwKV0KQEAgLTIzNiw3ICsyMzYsNyBAQCBsYXllciBhdCAoNDEyLDMyMikg
c2l6ZSAxMzB4MzYKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTogIjE5IGdyZWVu
IGJveCB3aXRoIgogICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDYxOiAid29yZCBvazog
IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDQx
MiwzNTgpIHNpemUgMTMweDU0CitsYXllciBhdCAoNDEyLDM1OCkgc2l6ZSAxMzB4MzQKICAgUmVu
ZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVy
OiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNp
emUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDAp
XQpAQCAtMjUxLDcgKzI1MSw3IEBAIGxheWVyIGF0ICg1NDYsMzIyKSBzaXplIDEzMHgxOAogICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkxeDE4CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA5MTogIjIwIGdyZWVuIGJveDogIgogICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDU0NiwzNDApIHNpemUgMTMweDUwCitsYXll
ciBhdCAoNTQ2LDM0MCkgc2l6ZSAxMzB4MzQKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDE4KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQog
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDQ4IFtib3JkZXI6ICgycHgg
c29saWQgIzAwODAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEy
MngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQpAQCAtMjY2LDcgKzI2Niw3IEBAIGxh
eWVyIGF0ICgxMCw0MjYpIHNpemUgMTMweDM2CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxMjQ6ICIyMSB0d28gZ3JlZW4gYm94ZXMiCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggOTM6ICJ3aXRoIHdvcmQgb2s6ICIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLWxheWVyIGF0ICgxMCw0NjIpIHNpemUgMTMweDU0CitsYXllciBhdCAoMTAsNDYy
KSBzaXplIDEzMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYp
IHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAw
KV0KICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6
ICgycHggc29saWQgIzAwODAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1zdWJsYXllci1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxp
dHktc3VibGF5ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LXN1YmxheWVyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBsYXllciBhdCAoMCwxNzAp
IHNpemUgODAweDM0CiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMTApIHNpemUgNzk2eDIy
IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDIsMikgc2l6ZSAxNngxOAogICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjog
Im9rIgotbGF5ZXIgYXQgKDAsMjQyKSBzaXplIDgwMHg1MAorbGF5ZXIgYXQgKDAsMjQyKSBzaXpl
IDgwMHgzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjQyKSBzaXpl
IDgwMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgyLDIpIHNpemUgNzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCiAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDc5MngxOApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDEtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3Rz
LzAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwOXg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODA5eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjEKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgNzg0eDEwNiBbYm9yZGVyOiAoM3B4IHNvbGlkICNGRkE1MDApXQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvMDAxLXZlcnRpY2FsLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0
cy8wMDEtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMS12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MjAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDYyMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDc4NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc2MXg1ODQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTA2eDU4
NCBbYm9yZGVyOiAoM3B4IHNvbGlkICNGRkE1MDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvbGlzdHMvMDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAwMy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDM1MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzM0CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzMzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCwxNikgc2l6ZSA3ODR4MzAyCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9
IGF0ICgwLDApIHNpemUgNDcweDMzNApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvbGlzdHMvMDAzLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0cy8wMDMtdmVydGljYWwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzLzAw
My12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNDI2eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAz
MzR4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDMzNHg2MDAKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoMTYsOCkgc2l6ZSAzMDJ4NTg0CiAgICAgICBSZW5kZXJCbG9j
ayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgNDEweDM1MApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvbGlzdHMvbGktYnItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2xpc3RzL2xpLWJyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9saXN0
cy9saS1ici1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDE1MTh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDE1MTh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2MQogICAgICAgUmVuZGVyQmxvY2sg
e09MfSBhdCAoMCwwKSBzaXplIDc4NHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZl
LWNvbnN0cmFpbnRzLTAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wMi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVy
IGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTAzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxh
dGl2ZS1jb25zdHJhaW50cy0wMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMt
MDMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1s
YXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEt
cmVsYXRpdmUtY29uc3RyYWludHMtMDQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFp
bnRzLTA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVy
IGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlh
L21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25z
dHJhaW50cy0wNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA2LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
ZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wNi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUt
Y29uc3RyYWludHMtMDYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5Njh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0w
Ny1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0
aXZlLWNvbnN0cmFpbnRzLTA3LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsx
LDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4
NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtcmVsYXRpdmUtY29uc3RyYWlu
dHMtMDgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0cmFpbnRzLTA4LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS1y
ZWxhdGl2ZS1jb25zdHJhaW50cy0wOC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2NDIKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY0MgorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1NzYKICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2OXgxOCBbY29sb3I9IzAwODAwMF0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXJlbGF0aXZlLWNvbnN0
cmFpbnRzLTA5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tZWRpYS9tcS1yZWxhdGl2ZS1jb25zdHJhaW50cy0wOS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEv
bXEtcmVsYXRpdmUtY29uc3RyYWludHMtMDktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5Njh4NTg1CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDk2OHg1ODUKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDgwMDBd
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNv
bHV0ZS0wMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDEtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlhL21xLXdpZHRo
LWFic29sdXRlLTAxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAwXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L21lZGlh
L21xLXdpZHRoLWFic29sdXRlLTAyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNvbHV0ZS0wMi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVy
IGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDc4NHgxOCBbY29sb3I9IzAwODAwMF0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTAzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRpYS9tcS13aWR0aC1hYnNv
bHV0ZS0wMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXpl
IDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgg
W2NvbG9yPSMwMDgwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tZWRp
YS9tcS13aWR0aC1hYnNvbHV0ZS0wNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbWVkaWEvbXEtd2lkdGgtYWJzb2x1dGUtMDQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L21lZGlhL21xLXdpZHRoLWFic29sdXRlLTA0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQog
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDE4IFtjb2xvcj0jMDA4MDAw
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtbXVs
dGljb2wtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L211bHRpY29sL2Zsb2F0LW11bHRpY29sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9mbG9hdC1tdWx0
aWNvbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsOCArMSw4IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDE2MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
Ci1sYXllciBhdCAoMCwwKSBzaXplIDE2MDh4NTQ1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
NDUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU0NQotbGF5ZXIgYXQg
KDgsMTkpIHNpemUgMTYwMHg1MTAKK2xheWVyIGF0ICg4LDE5KSBzaXplIDc4NHg1MTAKICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTkpIHNpemUgNzg0eDUxMAogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgNzg0eDI4IFtiZ2NvbG9yPSMwMEZGRkZdCiAgICAgICBSZW5kZXJC
bG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg0LDQpIHNpemUgMzkyeDQ2MiBbYmdjb2xvcj0jRkZG
RjAwXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQt
cGFnaW5hdGUtY29tcGxleC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5hdGUtY29tcGxleC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
bXVsdGljb2wvZmxvYXQtcGFnaW5hdGUtY29tcGxleC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsOSArMSw5IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDExNjR4MTY4MAogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMTY0eDE2
ODAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE2ODAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDE2ODAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc2OXgxNjY0Ci1sYXllciBhdCAoOCw4KSBzaXplIDExNTZ4NDA0CitsYXllciBhdCAoOCw4KSBz
aXplIDc2OXg0MDQKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3Njl4NDA0IFti
b3JkZXI6ICgycHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDIsMikgc2l6ZSAzNzR4MjUyCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxMTB4MTgKQEAgLTEzMCw3ICsxMzAsNyBAQCBsYXllciBhdCAoOCw4KSBzaXplIDExNTZ4
NDA0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTg2KSBzaXplIDExMHgxOAogICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1ODYpIHdpZHRoIDExMDogIlRoaXMgaXMgc29tZSB0ZXh0LiIK
ICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDExMCw2MDApIHNpemUgMHgwCi1sYXllciBhdCAoOCw0
MjgpIHNpemUgMTE1Nng0MDQKK2xheWVyIGF0ICg4LDQyOCkgc2l6ZSA3Njl4NDA0CiAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDQyMCkgc2l6ZSA3Njl4NDA0IFtib3JkZXI6ICgycHggc29saWQg
IzAwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIsMikgc2l6ZSAzNzR4
MjUyCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTB4MTgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL2Zsb2F0LXBhZ2luYXRlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9t
dWx0aWNvbC9mbG9hdC1wYWdpbmF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvZmxvYXQtcGFnaW5hdGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDkgKzEsOSBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxMTg4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMTg4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKLWxheWVyIGF0ICg4LDgpIHNpemUgMTE4MHg0MDQK
K2xheWVyIGF0ICg4LDgpIHNpemUgNzg0eDQwNAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDc4NHg0MDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxMTB4MTgKICAgICAgIHRleHQgcnVuIGF0ICgyLDIp
IHdpZHRoIDExMDogIlRoaXMgaXMgc29tZSB0ZXh0LiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L211bHRpY29sL2xheWVycy1pbi1tdWx0aWNvbC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvbGF5ZXJz
LWluLW11bHRpY29sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9sYXllcnMtaW4tbXVsdGljb2wtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
Mjg3eDY3MgogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxMjg3eDY3MgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjcyCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2NzIKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc2OXg2NTYKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDApIHNpemUgNzY5eDE4CkBAIC05LDcgKzksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDEyODd4
NjcyCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzMjgpIHNpemUgNzY5eDE4
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg5eDE4CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODk6ICJSVEwgVmVyc2lvbjoiCi1sYXllciBhdCAo
OCwyNikgc2l6ZSAxMjc5eDMxMAorbGF5ZXIgYXQgKDgsMjYpIHNpemUgNzY5eDMxMAogICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwxOCkgc2l6ZSA3Njl4MzEwIFtib3JkZXI6ICg1cHggc29saWQg
IzgwMDAwMCldCiAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDUsNSkgc2l6ZSAyNDJ4
MjM0CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDZ4MTgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3BhZ2luYXRlLWJsb2NrLXJl
cGxhY2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9tdWx0aWNvbC9wYWdpbmF0ZS1ibG9jay1yZXBsYWNlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wv
cGFnaW5hdGUtYmxvY2stcmVwbGFjZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDkgKzEsOSBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTg2eDU4NQogICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTg2eDU4NQorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKLWxh
eWVyIGF0ICg4LDgpIHNpemUgMTU3OHg0MDQKK2xheWVyIGF0ICg4LDgpIHNpemUgNzg0eDQwNAog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHg0MDQgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiwyKSBzaXpl
IDM4MngxODAKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExMHgxOApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13
aXRoLWNvbnN0cmFpbmVkLWhlaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13aXRoLWNvbnN0cmFp
bmVkLWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvcG9zaXRpb25lZC13aXRoLWNvbnN0cmFpbmVkLWhl
aWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgMTA5MHg1ODUKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5Ci1sYXllciBhdCAoOCw4KSBzaXplIDEwODJ4MzAwCits
YXllciBhdCAoOCw4KSBzaXplIDEwNngzMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICg4LDgpIHNpemUgMTA2eDMwMCBbYmdjb2xvcj0jMDBGRjAwXQogICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwNngxOAogICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTA2OiAiVGhpcyBpcyBzb21lIHRleHQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9tdWx0aWNvbC90YWJsZS12ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVsdGljb2wvdGFibGUt
dmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3RhYmxlLXZlcnRpY2FsLWFsaWduLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMSwxMSBAQAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSAxNTYweDEwMTAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVy
IGF0ICgwLDApIHNpemUgMTU2MHgxMDEwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMDEwCiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxMDEwCiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4OTk0CiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0
ICgwLDM1OCkgc2l6ZSA3Njl4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAg
UmVuZGVyQmxvY2sge0hSfSBhdCAoMCw2NzYpIHNpemUgNzY5eDIgW2JvcmRlcjogKDFweCBpbnNl
dCAjMDAwMDAwKV0KLWxheWVyIGF0ICg4LDgpIHNpemUgMTU1MngzNTAKK2xheWVyIGF0ICg4LDgp
IHNpemUgNzY5eDM1MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc2OXgzNTAK
ICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMzc2eDExNzkgW2JvcmRlcjog
KDFweCBvdXRzZXQgIzgwODA4MCldCiAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBh
dCAoMSwxKSBzaXplIDM3NHgxMTc3CkBAIC0xMzYsNyArMTM2LDcgQEAgbGF5ZXIgYXQgKDgsOCkg
c2l6ZSAxNTUyeDM1MAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExLDEx
KSBzaXplIDE0NXgxNDgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMTEpIHdpZHRo
IDE0NTogIk90aGVyIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSw4NSkgd2lkdGgg
MTA4OiAiY2VsbC4iCi1sYXllciBhdCAoOCwzNzYpIHNpemUgMTU1MngzMDAKK2xheWVyIGF0ICg4
LDM3Nikgc2l6ZSA3Njl4MzAwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM2OCkgc2l6ZSA3
Njl4MzAwCiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDM3NngxMTI5IFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQogICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtU
Qk9EWX0gYXQgKDEsMSkgc2l6ZSAzNzR4MTEyNwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGxheWVyIGF0
ICg4LDM3Nikgc2l6ZSAxNTUyeDMwMAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDExLDExKSBzaXplIDE0NXgxODUKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEs
MTEpIHdpZHRoIDE0NTogIk90aGVyIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwx
MjIpIHdpZHRoIDEwODogImNlbGwuIgotbGF5ZXIgYXQgKDgsNzAyKSBzaXplIDE1NTJ4MzAwCits
YXllciBhdCAoOCw3MDIpIHNpemUgNzY5eDMwMAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw2
OTQpIHNpemUgNzY5eDMwMAogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAz
NzZ4MTEyOSBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KICAgICAgIFJlbmRlclRhYmxl
U2VjdGlvbiB7VEJPRFl9IGF0ICgxLDEpIHNpemUgMzc0eDExMjcKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L211bHRpY29sL3NwYW4vYW5vbnltb3VzLXN0eWxlLWluaGVyaXRh
bmNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9tdWx0aWNvbC9zcGFuL2Fub255bW91cy1zdHlsZS1pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvbXVs
dGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NDN4NTg1CiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDg0
M3g1MTMKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDUxMwogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4NTEzCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTcpIHNp
emUgNzg0eDQ3OQogbGF5ZXIgYXQgKDgsMTcpIHNpemUgODM1eDQ3OQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvMDA2LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy8wMDYtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292
ZXJmbG93LzAwNi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBs
YXllciBhdCAoMCwwKSBzaXplIDc4NXg5OTAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDk5MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3
ODV4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg1ODUKICAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwwKSBzaXplIDc4NXg1ODUKICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyMHgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvb3ZlcmZsb3cvZmxvYXQtaW4tcmVscG9zaXRpb25lZC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvZmxvYXQt
aW4tcmVscG9zaXRpb25lZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvZmxvYXQtaW4tcmVscG9zaXRpb25lZC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMCBAQCBsYXllciBhdCAo
MTgsMzAwKSBzaXplIDEwMngxMDIgY2xpcCBhdCAoCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgx
MCwyOTIpIHNpemUgMTAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIg
YXQgKDE4LDQxMikgc2l6ZSAxMDJ4MTAyIGNsaXAgYXQgKDE5LDQxMykgc2l6ZSA4NXgxMDAgc2Ny
b2xsSGVpZ2h0IDEyNQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsNDA0KSBzaXplIDEwMngx
MDIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICg2OSw3Nykgc2l6ZSA3
NXg3NSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTksNzcpIHNpemUgMTAweDg1IGNsaXAgYXQgKDE5LDc3
KSBzaXplIDEwMHg4NSBvdXRsaW5lQ2xpcCBhdCAoMTksNzcpIHNpemUgMTAweDg1CitsYXllciBh
dCAoNjksNzcpIHNpemUgMjV4MjUKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHtESVZ9IGF0ICgxLDEpIHNpemUgMjV4MjUgW2JnY29sb3I9IzAwMDAwMF0KICAgICBSZW5kZXJC
bG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNpemUgNzV4NzUgW2JnY29sb3I9IzAwMDBG
RjdGXQotbGF5ZXIgYXQgKDE5LDIzOSkgc2l6ZSA3NXg3NSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTks
MTg5KSBzaXplIDg1eDEwMCBjbGlwIGF0ICgxOSwxODkpIHNpemUgODV4MTAwIG91dGxpbmVDbGlw
IGF0ICgxOSwxODkpIHNpemUgODV4MTAwCitsYXllciBhdCAoMTksMjM5KSBzaXplIDI1eDI1CiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMSwxKSBzaXplIDI1
eDI1IFtiZ2NvbG9yPSMwMDAwMDBdCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBh
dCAoMCwwKSBzaXplIDc1eDc1IFtiZ2NvbG9yPSMwMDAwRkY3Rl0KIGxheWVyIGF0ICg2OSwzMDEp
IHNpemUgMjV4MjUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93
L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L292ZXJmbG93L292ZXJmbG93LWF1dG8tdGFibGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3NjE4eDU4NQogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3NjE4eDE2MAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTYwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxNjAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4
MTM2CiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4NTQKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L292ZXJmbG93L292ZXJmbG93LXJ0bC12ZXJ0aWNh
bC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9v
dmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEgQEAKKzlhMjI0YTQ4ZmRjMGE3OGYyYmRkNDAwZmI1YzE3NzgxClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZs
b3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvb3ZlcmZsb3cvb3ZlcmZsb3ctcnRsLXZlcnRpY2FsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw2MyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDMxM3g2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMzEzeDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgMjk3eDU4NAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDE2KSBzaXplIDM2eDU1MgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxOHgxMzUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMzU6ICJUaGlz
IGlzIGEgdGVzdCBjYXNlIGZvciAiCisgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkg
c2l6ZSAzNng1MjkKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTM1KSBzaXpl
IDM2eDUyOQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTM1KSB3aWR0aCAzOTQ6ICJodHRw
Oi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTU4MjYgQmxvY2tzIgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDApIHdpZHRoIDQ0NTogIndpdGggZGlyZWN0aW9u
OnJ0bCBhbmQgb3ZlcmZsb3c6YXV0byBvciBzY3JvbGwgaGF2ZSBpbmNvcnJlY3Qgc2Nyb2xsYmFy
cyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxOCw0NDUpIHNpemUgMTh4NAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxOCw0NDUpIHdpZHRoIDQ6ICIuIgorICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDM2LDApIHNpemUgMTh4NTg0CisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4eDQ1NworICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDQ1NzogIlRoZSByaWdodCBjb2x1bW4gc2hvdWxkIGJlIGEgbWlycm9yLWltYWdlIG9m
IHRoZSBsZWZ0IGNvbHVtbiBpbiB0ZXJtcyBvZiIKKyAgICAgIFJlbmRlckJsb2NrIHtVTH0gYXQg
KDcwLDApIHNpemUgNTR4NTg0CisgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQgKDAsNDAp
IHNpemUgMTh4NTQ0CisgICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoMCwtMTcpIHNpemUg
MTh4NzogYnVsbGV0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MTh4MTY0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNjQ6ICJ0aGUgcHJl
c2VuY2Ugb2YgYSBzY3JvbGxiYXIiCisgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQgKDE4
LDQwKSBzaXplIDE4eDU0NAorICAgICAgICAgIFJlbmRlckxpc3RNYXJrZXIgYXQgKDAsLTE3KSBz
aXplIDE4eDc6IGJ1bGxldAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDE4eDIzNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjM0OiAidGhl
IGluaXRpYWwgcG9zaXRpb24gb2YgdGhlIHNjcm9sbCB0aHVtYiIKKyAgICAgICAgUmVuZGVyTGlz
dEl0ZW0ge0xJfSBhdCAoMzYsNDApIHNpemUgMTh4NTQ0CisgICAgICAgICAgUmVuZGVyTGlzdE1h
cmtlciBhdCAoMCwtMTcpIHNpemUgMTh4NzogYnVsbGV0CisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTh4MzMxCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAzMzE6ICJ3aGljaCBsZXR0ZXJzIGFyZSB2aXNpYmxlIGluaXRpYWxseSBhbmQgd2hl
biB5b3Ugc2Nyb2xsIgorICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMTQwLDApIHNpemUg
MTU3eDI1NgorICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXpl
IDE1N3gyNTYKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgMTUz
eDI1NgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMikgc2l6ZSAxNTN4
MTI1IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgyLDEyOSkgc2l6ZSAxNTN4MTI1IFtyPTAgYz0xIHJzPTEgY3M9MV0KK2xheWVyIGF0ICgx
NTUsMTUpIHNpemUgNDV4MTE1IGNsaXAgYXQgKDE1NSwyNSkgc2l6ZSAzMHgxMDAgc2Nyb2xsSGVp
Z2h0IDE4OAorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNSw1KSBzaXplIDQ1eDExNSBbYmdjb2xv
cj0jRkZGRjAwXSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBub25lICg1cHggc29saWQg
IzAwODAwMCkgbm9uZV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTApIHNpemUgMTh4
MTg4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxMCkgd2lkdGggMTg4OiAiYWJjZGVmZ2hpamtsbW5v
cHFyc3R1dnd4eXoiCitsYXllciBhdCAoMjA0LDE1KSBzaXplIDQ1eDExNSBjbGlwIGF0ICgyMDQs
MjUpIHNpemUgNDV4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1NCw1KSBzaXplIDQ1eDEx
NSBbYmdjb2xvcj0jRkZGRjAwXSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBub25lICg1
cHggc29saWQgIzAwODAwMCkgbm9uZV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMCkg
c2l6ZSAxOHgxMDAgW2JnY29sb3I9I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwtODgpIHNpemUgMTh4MTg4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLC04OCkgd2lkdGgg
MTg4OiAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiCitsYXllciBhdCAoMjUzLDE1KSBzaXpl
IDQ1eDExNSBjbGlwIGF0ICgyNTMsMjUpIHNpemUgMzB4MTAwIHNjcm9sbEhlaWdodCAxODgKKyAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwMyw1KSBzaXplIDQ1eDExNSBbYmdjb2xvcj0jRkZGRjAw
XSBbYm9yZGVyOiAoMTBweCBzb2xpZCAjRkYwMDAwKSBub25lICg1cHggc29saWQgIzAwODAwMCkg
bm9uZV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMCkgc2l6ZSAxOHgxMDAgW2JnY29s
b3I9I0QzRDNEM10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE4eDE4
OAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxODg6ICJhYmNkZWZnaGlqa2xtbm9w
cXJzdHV2d3h5eiIKK2xheWVyIGF0ICgxNTUsMTQyKSBzaXplIDQ1eDExNSBjbGlwIGF0ICgxNTUs
MTQ3KSBzaXplIDMweDEwMCBzY3JvbGxZIDg4IHNjcm9sbEhlaWdodCAxODgKKyAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDUsNSkgc2l6ZSA0NXgxMTUgW2JnY29sb3I9I0ZGRkYwMF0gW2JvcmRlcjog
KDVweCBzb2xpZCAjMDA4MDAwKSBub25lICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmVdCisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLC04Mykgc2l6ZSAxOHgxODgKKyAgICAgIHRleHQgcnVu
IGF0ICgwLC04Mykgd2lkdGggMTg4OiAienl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmEiCitsYXll
ciBhdCAoMjA0LDE0Mikgc2l6ZSA0NXgxMTUgY2xpcCBhdCAoMjA0LDE0Nykgc2l6ZSA0NXgxMDAK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDU0LDUpIHNpemUgNDV4MTE1IFtiZ2NvbG9yPSNGRkZG
MDBdIFtib3JkZXI6ICg1cHggc29saWQgIzAwODAwMCkgbm9uZSAoMTBweCBzb2xpZCAjRkYwMDAw
KSBub25lXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUpIHNpemUgMTh4MTAwIFtiZ2Nv
bG9yPSNEM0QzRDNdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOHgx
ODgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTg4OiAienl4d3Z1dHNycXBvbm1s
a2ppaGdmZWRjYmEiCitsYXllciBhdCAoMjUzLDE0Mikgc2l6ZSA0NXgxMTUgY2xpcCBhdCAoMjUz
LDE0Nykgc2l6ZSAzMHgxMDAgc2Nyb2xsWSA4OCBzY3JvbGxIZWlnaHQgMTg4CisgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgxMDMsNSkgc2l6ZSA0NXgxMTUgW2JnY29sb3I9I0ZGRkYwMF0gW2JvcmRl
cjogKDVweCBzb2xpZCAjMDA4MDAwKSBub25lICgxMHB4IHNvbGlkICNGRjAwMDApIG5vbmVdCisg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNSkgc2l6ZSAxOHgxMDAgW2JnY29sb3I9I0QzRDNE
M10KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtODgpIHNpemUgMTh4MTg4CisgICAg
ICAgIHRleHQgcnVuIGF0ICgwLC04OCkgd2lkdGggMTg4OiAienl4d3Z1dHNycXBvbm1sa2ppaGdm
ZWRjYmEiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9zY3Jv
bGxSZXZlYWxCdXR0b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L292ZXJmbG93L3Njcm9sbFJldmVhbEJ1dHRvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZs
b3cvc2Nyb2xsUmV2ZWFsQnV0dG9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIs
NyArMTIsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxMTg4CiAgICAgICAgIFJlbmRlclBh
cnRPYmplY3Qge0lGUkFNRX0gYXQgKDAsMCkgc2l6ZSAzMDR4MTU0IFtib3JkZXI6ICgycHggaW5z
ZXQgIzAwMDAwMCldCiAgICAgICAgICAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDh4MzE2CiAgICAg
ICAgICAgICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgMjg1eDEzNQotICAgICAgICAgIGxheWVy
IGF0ICgwLDApIHNpemUgMzA4eDMxNgorICAgICAgICAgIGxheWVyIGF0ICgwLDApIHNpemUgMjg1
eDMxNgogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgMjg1eDMx
NgogICAgICAgICAgICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDI2OXgzMDAK
ICAgICAgICAgICBsYXllciBhdCAoOCw4KSBzaXplIDMwMHgzMDAgY2xpcCBhdCAoOCw4KSBzaXpl
IDI4NXgzMDAgc2Nyb2xsWSA1NDMgc2Nyb2xsSGVpZ2h0IDEyNjgKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3JlZmxlY3Rpb25zL3JlZmxlY3Rpb24tZGlyZWN0aW9uLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZWZs
ZWN0aW9ucy9yZWZsZWN0aW9uLWRpcmVjdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlv
bi1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMzU3eDYxMwogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
Nzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMzU3eDYxMworbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4NjEzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2MTMKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1OTcKICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDEpIHNpemUgNjcxeDU5MgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93
LWgtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgtZXhwZWN0ZWQuY2hlY2tzdW0JKHdv
cmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTQyMTZhYTRiNDllNzVjNjZiMGFjZjU1ZGI2MDg1MDJj
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNzZjNmUwNDFjODQ5ZTNhNzQ2YmFiZjU4NmI5
MjRmOGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2JveC1zaGFkb3ctaC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LWgt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy1oLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTE0CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAg
UmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDEyMXg1MDYKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvYm94LXNoYWRvdy12LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBh
aW50L2JveC1zaGFkb3ctdi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9ib3gtc2hhZG93LXYtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg1MTQKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDgKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHgwCiAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDApIHNp
emUgMTIxeDUwNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9j
b250ZW50LWludG8tb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvY29udGVudC1pbnRvLW92ZXJmbG93LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9yZXBhaW50L2NvbnRlbnQtaW50by1vdmVyZmxvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTE1LDYgKzE1LDYgQEAgbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHgxMDAKICAgUmVu
ZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDMwOCkgc2l6ZSAxMDB4MTAwCiAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBd
CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4MCkgc2l6ZSAxMDB4MjAKLWxheWVyIGF0
ICg4LDMwOCkgc2l6ZSAxMDB4ODAKK2xheWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4MAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MAog
ICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4ODAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZHluYW1pYy10YWJsZS12
ZXJ0aWNhbC1hbGlnbm1lbnQtY2hhbmdlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2R5bmFtaWMtdGFibGUtdmVydGljYWwt
YWxpZ25tZW50LWNoYW5nZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9keW5hbWljLXRhYmxlLXZlcnRpY2FsLWFs
aWdubWVudC1jaGFuZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBA
QAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHgxODIKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDE4MgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTgyCiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDE1OAogICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9yZXBhaW50L2Zsb2F0LW92ZXJmbG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMTIwLDIwICsxMjAsMjAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg4CiAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAxNjogIngiCiAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDU5LDQyNikgc2l6ZSA0
MHgxOAorbGF5ZXIgYXQgKDU5LDQyNikgc2l6ZSA0MHgxMAogICBSZW5kZXJCbG9jayAoZmxvYXRp
bmcpIHtESVZ9IGF0ICgtOCwwKSBzaXplIDQweDEwIFtiZ2NvbG9yPSNBREQ4RTZdCiAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE2eDE2IFtjb2xvcj0jMDAwMEZGXQogICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTZ4MTYKICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggMTY6ICJ4IgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAotbGF5ZXIgYXQgKDY3LDQ2NSkgc2l6ZSA1MHgxOAorbGF5ZXIgYXQgKDY3LDQ2
NSkgc2l6ZSA1MHgxMAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNiw2KSBzaXplIDUweDEwIFti
Z2NvbG9yPSNGRkMwQ0JdCiAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoLTgs
MCkgc2l6ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQogICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDE2eDE2IFtjb2xvcj0jMDAwMEZGXQogICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNngxNgogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEp
IHdpZHRoIDE2OiAieCIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDYxLDQ5OCkgc2l6ZSA2MngyNAorbGF5ZXIgYXQgKDYxLDQ5OCkgc2l6ZSA2
MngyMgogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNTEsNykgc2l6ZSA2MngyMiBbYm9yZGVyOiAo
MXB4IHNvbGlkICM4MDAwODApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg2LDYpIHNpemUg
NTB4MTAgW2JnY29sb3I9I0ZGQzBDQl0KICAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJ
Vn0gYXQgKC04LDApIHNpemUgNDB4MTAgW2JnY29sb3I9I0FERDhFNl0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctcmlnaHQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFp
bnQvZmxvYXQtb3ZlcmZsb3ctcmlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3ctcmln
aHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsMjAgKzEyMCwyMCBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg1ODgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
NCwxKSB3aWR0aCAxNjogIngiCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAotbGF5ZXIgYXQgKDcwMSw0MjYpIHNpemUgNDB4MTgKK2xheWVyIGF0ICg3MDEsNDI2KSBz
aXplIDQweDEwCiAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDE4LDApIHNpemUg
NDB4MTAgW2JnY29sb3I9I0FERDhFNl0KICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgMTZ4MTYgW2NvbG9yPSMwMDAwRkZdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDI0LDEpIHNpemUgMTZ4MTYKICAgICAgICAgdGV4dCBydW4gYXQgKDI0LDEpIHdpZHRoIDE2OiAi
eCIKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICg2
ODMsNDY1KSBzaXplIDU4eDE4CitsYXllciBhdCAoNjgzLDQ2NSkgc2l6ZSA1MHgxMAogICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoNiw2KSBzaXplIDUweDEwIFtiZ2NvbG9yPSNGRkMwQ0JdCiAgICAg
UmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTgsMCkgc2l6ZSA0MHgxMCBbYmdjb2xv
cj0jQUREOEU2XQogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDE2eDE2
IFtjb2xvcj0jMDAwMEZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0LDEpIHNp
emUgMTZ4MTYKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMSkgd2lkdGggMTY6ICJ4IgogICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoNjc3LDQ5
OCkgc2l6ZSA2NHgyNAorbGF5ZXIgYXQgKDY3Nyw0OTgpIHNpemUgNjJ4MjIKICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDY2Nyw3KSBzaXplIDYyeDIyIFtib3JkZXI6ICgxcHggc29saWQgIzgwMDA4
MCldCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDYsNikgc2l6ZSA1MHgxMCBbYmdjb2xvcj0j
RkZDMENCXQogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTgsMCkgc2l6
ZSA0MHgxMCBbYmdjb2xvcj0jQUREOEU2XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvcmVwYWludC9vdmVyZmxvdy1pbnRvLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZsb3ctaW50
by1jb250ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LWludG8tY29udGVudC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsMTcgKzMsMTcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4MAotbGF5ZXIgYXQgKDgsOCkgc2l6ZSAxMDN4MTA2CitsYXllciBhdCAoOCw4KSBzaXplIDU2
eDEwNgogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsOCkgc2l6ZSA1Nngx
MDYgW2JvcmRlcjogKDNweCBzb2xpZCAjMDA4MDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMywzKSBzaXplIDUweDUwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDEwMHg1MAotbGF5ZXIgYXQgKDgsMTU4KSBzaXplIDEwNngxMDMKK2xheWVyIGF0ICg4LDE1OCkg
c2l6ZSAxMDZ4NTYKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDE1OCkg
c2l6ZSAxMDZ4NTYgW2JvcmRlcjogKDNweCBzb2xpZCAjMDA4MDAwKV0KICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMywzKSBzaXplIDUweDUwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDUweDEwMAogbGF5ZXIgYXQgKDgsMzA4KSBzaXplIDEwMHg4MAogICBSZW5kZXJC
bG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMzA4KSBzaXplIDEwMHg4MAogICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTAweDAgW2JnY29sb3I9IzAwODAwMF0KLWxheWVy
IGF0ICg4LDMwOCkgc2l6ZSAxMDB4ODAKK2xheWVyIGF0ICg4LDMwOCkgc2l6ZSAxMDB4MAogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4
MAogICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4ODAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvb3ZlcmZsb3ctc2Ny
b2xsLWJvZHktYXBwZWFyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L292ZXJmbG93LXNjcm9sbC1ib2R5LWFwcGVhci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvcmVwYWludC9vdmVyZmxvdy1zY3JvbGwtYm9keS1hcHBlYXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAyMDA4eDIwOTIK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUg
MjAwOHgyMDkyCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgyMDkyCiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDc4NXgyMDkyCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
MTYpIHNpemUgNzY5eDIwNjgKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2
OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9zdWJ0cmVl
LXJvb3QtY2xpcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvcmVwYWludC9zdWJ0cmVlLXJvb3QtY2xpcC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC9zdWJ0
cmVlLXJvb3QtY2xpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDEwOAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4OAogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDAKIGxheWVyIGF0ICg4LDgpIHNpemUg
MTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFu
c2Zvcm0tYWJzb2x1dGUtaW4tcG9zaXRpb25lZC1jb250YWluZXItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3Jt
LWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFpbmVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3RyYW5zZm9y
bS1hYnNvbHV0ZS1pbi1wb3NpdGlvbmVkLWNvbnRhaW5lci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDMw
OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mjk2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgyOTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3
ODR4MjcyCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJlcGxhY2Vk
LXNoYWRvd3MtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFuc2Zvcm0tcmVwbGFjZWQtc2hhZG93cy1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1yZXBsYWNlZC1zaGFkb3dzLWV4cGVjdGVkLmNoZWNrc3Vt
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi01NTU4OTljOTVkYzkzZTFmOWU0M2ZkMzg0ZTBj
N2M0ZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzJhMzdiNjVjMjMwYmNiNzFiYjFlY2Zi
NGM4ODQ5NDJkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvcmVwbGFjZWQvMDA0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBsYWNlZC8wMDQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3JlcGxh
Y2VkLzAwNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjgyCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCww
KSBzaXplIDYwMHgxMDAKICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXpl
IDMwMHgxMDAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
LWxheWVyIGF0ICg4LDE2Nikgc2l6ZSA2MDB4MTAwCitsYXllciBhdCAoOCwxNjYpIHNpemUgMzAw
eDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTUw
KSBzaXplIDMwMHgxMDAKICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA2MDB4MTAw
CiAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDMwMHgxMDAKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlLzAzNC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDM0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
YWJsZS8wMzQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAxMDY0eDEyNzYKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgMTA2NHgxMjc2CitsYXllciBhdCAoMCwwKSBzaXpl
IDc4NXgxMjc2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxMjc2CiAg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4MTI2MAogICAgICAgUmVuZGVy
VGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEwNTZ4MTI2MApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvY29sc3Bhbk1pbldpZHRoLXZlcnRpY2FsLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9j
b2xzcGFuTWluV2lkdGgtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2NvbHNwYW5NaW5XaWR0aC12ZXJ0
aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIwLDUgKzIwLDUgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgyLDYpIHNpemUgMTR4MTMxIFtiZ2NvbG9yPSNGRkZGMDBdIFtyPTAgYz0xIHJz
PTEgY3M9MV0KICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9
IGF0ICgzLDMpIHNpemUgOHgxMjUgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNl
dCAjMDAwMDAwKV0KICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgzLDIzKSBzaXplIDJ4MTE5CitsYXllciBhdCAoMywy
Mykgc2l6ZSAyeDExOSBzY3JvbGxYIDEzIHNjcm9sbFdpZHRoIDE1CiAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgzLDMpIHNpemUgMngxMTkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgt
YXV0by13aXRoLWNvbHNwYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNw
YW4tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci1sYXllciBhdCAoMCwwKSBzaXplIDQ0NXgzODUKK2xheWVy
IGF0ICgwLDApIHNpemUgNDAweDM4NQogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMCkgc2l6ZSA0MDB4Mzg1CiAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCw1KSBz
aXplIDQ0NXg1MAogICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6
ZSA0NDV4NTAKQEAgLTgyLDcgKzgyLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NDV4Mzg1CiAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI4MCwyNCkgc2l6ZSA1MHgyIFtiZ2Nv
bG9yPSNGRjAwMDBdIFtyPTAgYz01IHJzPTEgY3M9MV0KICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoMzM1LDI0KSBzaXplIDUweDIgW2JnY29sb3I9I0ZGMDAwMF0gW3I9MCBjPTYg
cnM9MSBjcz0xXQogICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzOTAsMjQpIHNp
emUgNTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9NyBycz0xIGNzPTFdCi1sYXllciBhdCAo
MCwwKSBzaXplIDQ0NXgzODUKK2xheWVyIGF0ICgwLDApIHNpemUgNDMweDM4NQogICBSZW5kZXJC
bG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA0MzB4Mzg1CiAgICAgUmVuZGVy
VGFibGUge1RBQkxFfSBhdCAoMCw1KSBzaXplIDQ0NXg1MAogICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA0NDV4NTAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVydGljYWwt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RhYmxlL2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVydGljYWwtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxl
L2ZpeGVkLXdpdGgtYXV0by13aXRoLWNvbHNwYW4tdmVydGljYWwtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0
Ci1sYXllciBhdCAoMCwwKSBzaXplIDM4NXg0NDUKK2xheWVyIGF0ICgwLDApIHNpemUgMzg1eDAK
ICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMzg1eDAKICAg
ICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICg1LDApIHNpemUgNTB4NDQ1CiAgICAgICBSZW5kZXJU
YWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDUweDQ0NQpAQCAtODIsNyArODIsNyBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDM4NXg0NDUKICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMCwzMDQpIHNpemUgNTB4MiBbYmdjb2xvcj0jRkYwMDAwXSBbcj0wIGM9NSBycz0x
IGNzPTFdCiAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMzU5KSBzaXplIDUw
eDIgW2JnY29sb3I9I0ZGMDAwMF0gW3I9MCBjPTYgcnM9MSBjcz0xXQogICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgwLDQxNCkgc2l6ZSA1MHgyIFtiZ2NvbG9yPSNGRjAwMDBdIFty
PTAgYz03IHJzPTEgY3M9MV0KLWxheWVyIGF0ICgwLDApIHNpemUgMzg1eDQ0NQorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAzODV4MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAs
MCkgc2l6ZSAzODV4MAogICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDUsMCkgc2l6ZSA1MHg0
NDUKICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNTB4NDQ1
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9mcmFtZS1hbmQtcnVs
ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RhYmxlL2ZyYW1lLWFuZC1ydWxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvZnJhbWUtYW5kLXJ1bGVzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjIwOCw3ICsyMjA4LDcgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NzYwOAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDE4NCwwKSBzaXplIDkyeDIxIFtib3JkZXI6ICgxcHggc29saWQgIzgwODA4MCldIFtyPTAgYz0y
IHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNp
emUgODl4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCA4OTogIlJv
dyA1LCBDZWxsIDMiCi1sYXllciBhdCAoMzkzLDI0KSBzaXplIDM5MngxNTUKK2xheWVyIGF0ICgz
OTMsMjQpIHNpemUgMzkyeDE1MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge1RBQkxFfSBh
dCAoMzkzLDI0KSBzaXplIDM5MngxNTAKICAgICBSZW5kZXJUYWJsZSBhdCAoMCwwKSBzaXplIDM2
MXgxNTUKICAgICAgIFJlbmRlckJsb2NrIHtDQVBUSU9OfSBhdCAoMCwwKSBzaXplIDM2MXgxOApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvaGVpZ2h0LXBlcmNlbnQt
dGVzdC12ZXJ0aWNhbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGFibGUvaGVpZ2h0LXBlcmNlbnQtdGVzdC12ZXJ0aWNhbC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGFibGUvaGVpZ2h0LXBlcmNlbnQtdGVzdC12ZXJ0aWNhbC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEyODJ4NjAxCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEyODJ4
NjAxCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDEKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDYwMQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
NzY5eDU4NQogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMjc0eDU4NQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvd2lkZS1jb2xzcGFuLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
YWJsZS93aWRlLWNvbHNwYW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29sc3Bhbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE2MTR4
NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDE2MTR4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDE2MDZ4MTEwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS93aWRl
LWNvbHVtbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGFibGUvd2lkZS1jb2x1bW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL3dpZGUtY29sdW1uLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgMTYxNHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0
ICgwLDApIHNpemUgMTYxNHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgMTYwNng1NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFi
bGUvYm9yZGVyLWNvbGxhcHNpbmcvMDA0LXZlcnRpY2FsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2lu
Zy8wMDQtdmVydGljYWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nLzAwNC12ZXJ0aWNh
bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAo
MCwwKSBzaXplIDE0NDR4OTE0CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1s
YXllciBhdCAoMCwwKSBzaXplIDE0NDR4OTE0CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg5MTQK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDkxNAogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDIxKSBzaXplIDc2OXg4ODUKICAgICAgIFJlbmRlckJsb2NrIHtIMX0g
YXQgKDAsMCkgc2l6ZSA3Njl4MzcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RleHQvbGFyZ2UtdGV4dC1jb21wb3NlZC1jaGFyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xhcmdlLXRleHQtY29tcG9zZWQt
Y2hhci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9sYXJnZS10ZXh0LWNvbXBvc2VkLWNoYXItZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDY0eDc5
NTcKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKLWxheWVyIGF0ICgwLDApIHNp
emUgMTA2NHg3OTU3CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3OTU3CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg3OTU3CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3Njl4NzkzNgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MCkgc2l6ZSA3Njl4MTgKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
bGV0dGVyLXNwYWNpbmctbmVnYXRpdmUtb3BhY2l0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9sZXR0ZXItc3BhY2luZy1uZWdh
dGl2ZS1vcGFjaXR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2xldHRlci1zcGFjaW5nLW5lZ2F0aXZlLW9wYWNpdHkt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0Ci1sYXllciBhdCAoOCw4KSBzaXplIDMxMngxNjMKK2xheWVyIGF0
ICg4LDgpIHNpemUgMjczeDE2MwogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDgsOCkgc2l6ZSAyNzN4MTYzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMjcxeDE2MQogICAgICAgdGV4dCBydW4gYXQg
KDEsMSkgd2lkdGggMjcxOiAiVGVzdGluZyB0aGUgYnVnIgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC90ZXh0LWxldHRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RleHQtbGV0dGVy
LXNwYWNpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3RleHQvdGV4dC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE2MzAyM3gx
NzI4CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBz
aXplIDE2MzAyM3gxNzI4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNzI4CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgxNzI4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsMTYpIHNpemUgNzY5eDE2OTYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDc2OXg5MCBbYmdjb2xvcj0jRkZGRkZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RoYWktbGluZS1icmVha3MtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC90aGFpLWxpbmUtYnJlYWtzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGhhaS1s
aW5lLWJyZWFrcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCA3NjA6ICJUaGUgb3JpZ2luYWwgc291cmNlIG9mIHRoaXMgdGV4dCB3YXMgSUNVLCBhbmQg
dGhlIHRlc3QgcHJvZ3JhbSBzYWlkIFwiYnkgaXQncyB2ZXJ5IG5hdHVyZSwgVGhhaSB3b3JkIGJy
ZWFraW5nIGlzIG5vdCBleGFjdFwiLCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lk
dGggNzU5OiAic28gdGhlIGNvbHVtbnMgZG9uJ3QgbWF0Y2ggZXhhY3RseS4gSW4gYSBmdXR1cmUg
dmVyc2lvbiB3ZSBtaWdodCBkZWNpZGUgdG8gdHdlYWsgdGhlIHJpZ2h0IGNvbHVtbiB0byBtYXRj
aCBvdXIgZXhwZWN0ZWQiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDU5OiAi
YmVoYXZpb3IuIgotbGF5ZXIgYXQgKDIzNSw5Nikgc2l6ZSA4M3gyMjgyNAorbGF5ZXIgYXQgKDIz
NSw5Nikgc2l6ZSAxeDIyODI0CiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAo
MjM1LDk2KSBzaXplIDF4MjI4MjQKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA4M3gyMjgyNAogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjA6ICJceHtFMUF9XHh7
RTE3fSIKQEAgLTEyODAsNyArMTI4MCw3IEBAIGxheWVyIGF0ICgyMzUsOTYpIHNpemUgODN4MjI4
MjQKICAgICAgIHRleHQgcnVuIGF0ICgwLDIyNzcwKSB3aWR0aCAzNDogIlx4e0UwNH1ceHtFMjN9
XHh7RTMyfVx4e0UwN30iCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMjc4OCkgd2lkdGggMjg6ICJc
eHtFMkJ9XHh7RTI3fVx4e0UzNX1ceHtFMTR9IgogICAgICAgdGV4dCBydW4gYXQgKDAsMjI4MDYp
IHdpZHRoIDI3OiAiXHh7RTJCfVx4e0UyN31ceHtFMzd9XHh7RTJEfSIKLWxheWVyIGF0ICg0NzEs
OTYpIHNpemUgNzJ4MjQwMzAKK2xheWVyIGF0ICg0NzEsOTYpIHNpemUgMXgyNDAzMAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDQ3MSw5Nikgc2l6ZSAxeDI0MDMwCiAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzJ4MjQwMzAKICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDIwOiAiXHh7RTFBfVx4e0UxN30iCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDEyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTU2CitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg3NgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NzYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1MgogICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL2ZlbmNlZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVz
ZW50YXRpb24vZmVuY2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC02MCwxOSArNjAsMTkgQEAgbGF5ZXIgYXQgKDE3MCw3Mikgc2l6
ZSA1eDcgc2Nyb2xsSGVpZ2h0IAogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJc
eHsyMzlGfSIKIGxheWVyIGF0ICgxNzAsNzkpIHNpemUgNXgxMSBzY3JvbGxIZWlnaHQgMTQKICAg
UmVuZGVyQmxvY2sge21mZW5jZWR9IGF0ICgwLDQ3KSBzaXplIDV4MTEKLWxheWVyIGF0ICgxMCwz
Mykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMCwzMikgc2l6ZSA1eDEwIGNsaXAgYXQg
KDEwLDMyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEwLDMyKSBzaXplIDV4MTAKK2xheWVy
IGF0ICgxMCwzMykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMCwzMikgc2l6ZSA1eDEw
IGNsaXAgYXQgKDEwLDMyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEwLDMyKSBzaXplIDV4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttZmVuY2VkfSBhdCAoMCww
KSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttZmVuY2VkfSBhdCAoMCwtMykgc2l6ZSA1eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUJ9IgotbGF5ZXIgYXQg
KDEwLDc2KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEwLDc5KSBzaXplIDV4MTEgY2xp
cCBhdCAoMTAsNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAsNzkpIHNpemUgNXgxMQor
bGF5ZXIgYXQgKDEwLDc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEwLDc5KSBzaXpl
IDV4MTEgY2xpcCBhdCAoMTAsNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAsNzkpIHNp
emUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21mZW5jZWR9IGF0
ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21mZW5jZWR9IGF0ICgwLC0zKSBzaXpl
IDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RH0iCi1sYXll
ciBhdCAoMTcwLDMzKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE3MCwzMikgc2l6ZSA1
eDEwIGNsaXAgYXQgKDE3MCwzMikgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNzAsMzIpIHNp
emUgNXgxMAorbGF5ZXIgYXQgKDE3MCwzMykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgx
NzAsMzIpIHNpemUgNXgxMCBjbGlwIGF0ICgxNzAsMzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBh
dCAoMTcwLDMyKSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHttZmVuY2VkfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttZmVuY2VkfSBh
dCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4
ezIzOUV9IgotbGF5ZXIgYXQgKDE3MCw3Nikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgx
NzAsNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNzAsNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBh
dCAoMTcwLDc5KSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNzAsNzYpIHNpemUgNXgxMSBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMTcwLDc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTcwLDc5KSBzaXplIDV4MTEg
b3V0bGluZUNsaXAgYXQgKDE3MCw3OSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bWZlbmNlZH0gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4
dCB7bWZlbmNlZH0gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDU6ICJceHsyM0EwfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRo
bWwvcHJlc2VudGF0aW9uL21vLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRp
b24vbW8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNzEsNTkgKzI3MSw1OSBAQCBs
YXllciBhdCAoMTY1LDIxNSkgc2l6ZSA3eDYgc2Nyb2xsSGVpZ2h0CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUF9IgogbGF5ZXIgYXQgKDE2NSwyMjEpIHNpemUgN3gx
MSBzY3JvbGxIZWlnaHQgMTQKICAgUmVuZGVyQmxvY2sge21vfSBhdCAoMCw1Mikgc2l6ZSA3eDEx
Ci1sYXllciBhdCAoNjksMTcwKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDY5LDE2OSkg
c2l6ZSA4eDEwIGNsaXAgYXQgKDY5LDE2OSkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICg2OSwx
NjkpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDY5LDE3MCkgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlw
IGF0ICg2OSwxNjkpIHNpemUgOHgxMCBjbGlwIGF0ICg2OSwxNjkpIHNpemUgOHgxMCBvdXRsaW5l
Q2xpcCBhdCAoNjksMTY5KSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgw
LC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNE
MH0iCi1sYXllciBhdCAoNjksMjE4KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDY5LDIy
MSkgc2l6ZSA4eDExIGNsaXAgYXQgKDY5LDIyMSkgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICg2
OSwyMjEpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDY5LDIxOCkgc2l6ZSA4eDExIGJhY2tncm91bmRD
bGlwIGF0ICg2OSwyMjEpIHNpemUgOHgxMSBjbGlwIGF0ICg2OSwyMjEpIHNpemUgOHgxMSBvdXRs
aW5lQ2xpcCBhdCAoNjksMjIxKSBzaXplIDh4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7
MjNEMH0iCi1sYXllciBhdCAoNzgsMTcwKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICg3
OCwxNjkpIHNpemUgMTB4MTAgY2xpcCBhdCAoNzgsMTY5KSBzaXplIDEweDEwIG91dGxpbmVDbGlw
IGF0ICg3OCwxNjkpIHNpemUgMTB4MTAKK2xheWVyIGF0ICg3OCwxNzApIHNpemUgMTB4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDc4LDE2OSkgc2l6ZSAxMHgxMCBjbGlwIGF0ICg3OCwxNjkpIHNpemUg
MTB4MTAgb3V0bGluZUNsaXAgYXQgKDc4LDE2OSkgc2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggMTA6ICJceHsyMzIwfSIKLWxheWVyIGF0ICg3OCwyMTgpIHNpemUgMTB4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDc4LDIyMSkgc2l6ZSAxMHgxMSBjbGlwIGF0ICg3OCwyMjEpIHNpemUgMTB4
MTEgb3V0bGluZUNsaXAgYXQgKDc4LDIyMSkgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDc4LDIxOCkg
c2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEweDExIGNsaXAgYXQg
KDc4LDIyMSkgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoNzgsMjIxKSBzaXplIDEweDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDg5LDE3MCkgc2l6
ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwxNjkpIHNpemUgN3gxMCBjbGlwIGF0ICg4OSwx
NjkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTY5KSBzaXplIDd4MTAKK2xheWVyIGF0
ICg4OSwxNzApIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMTY5KSBzaXplIDd4MTAg
Y2xpcCBhdCAoODksMTY5KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDg5LDE2OSkgc2l6ZSA3
eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTd9IgotbGF5ZXIgYXQgKDg5LDE5NCkg
c2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwxOTUpIHNpemUgN3gxMCBjbGlwIGF0ICg4
OSwxOTUpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoODksMTk1KSBzaXplIDd4MTAKK2xheWVy
IGF0ICg4OSwxOTQpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMTk1KSBzaXplIDd4
MTAgY2xpcCBhdCAoODksMTk1KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDg5LDE5NSkgc2l6
ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDAp
IHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTh9IgotbGF5ZXIgYXQgKDg5LDIx
OCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg4OSwyMjEpIHNpemUgN3gxMSBjbGlwIGF0
ICg4OSwyMjEpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoODksMjIxKSBzaXplIDd4MTEKK2xh
eWVyIGF0ICg4OSwyMTgpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoODksMjIxKSBzaXpl
IDd4MTEgY2xpcCBhdCAoODksMjIxKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDg5LDIyMSkg
c2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTl9IgotbGF5ZXIgYXQgKDk3
LDE3MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICg5NywxNjkpIHNpemUgNXgxMCBjbGlw
IGF0ICg5NywxNjkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoOTcsMTY5KSBzaXplIDV4MTAK
K2xheWVyIGF0ICg5NywxNzApIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTcsMTY5KSBz
aXplIDV4MTAgY2xpcCBhdCAoOTcsMTY5KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDk3LDE2
OSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTF9IgotbGF5ZXIgYXQg
KDk3LDIxOCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICg5NywyMjEpIHNpemUgNXgxMSBj
bGlwIGF0ICg5NywyMjEpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoOTcsMjIxKSBzaXplIDV4
MTEKK2xheWVyIGF0ICg5NywyMTgpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoOTcsMjIx
KSBzaXplIDV4MTEgY2xpcCBhdCAoOTcsMjIxKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDk3
LDIyMSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIg
YXQgKDE1OSwxNzApIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTU5LDE2OSkgc2l6ZSA1
eDEwIGNsaXAgYXQgKDE1OSwxNjkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTU5LDE2OSkg
c2l6ZSA1eDEwCitsYXllciBhdCAoMTU5LDE3MCkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0
ICgxNTksMTY5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU5LDE2OSkgc2l6ZSA1eDEwIG91dGxpbmVD
bGlwIGF0ICgxNTksMTY5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgw
LC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNB
NH0iCi1sYXllciBhdCAoMTU5LDIxOCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTks
MjIxKSBzaXplIDV4MTEgY2xpcCBhdCAoMTU5LDIyMSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0
ICgxNTksMjIxKSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNTksMjE4KSBzaXplIDV4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDE1OSwyMjEpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTksMjIxKSBzaXplIDV4
MTEgb3V0bGluZUNsaXAgYXQgKDE1OSwyMjEpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDU6ICJceHsyM0E2fSIKLWxheWVyIGF0ICgxNjUsMTcwKSBzaXplIDd4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDE2NSwxNjkpIHNpemUgN3gxMCBjbGlwIGF0ICgxNjUsMTY5KSBzaXplIDd4MTAgb3V0
bGluZUNsaXAgYXQgKDE2NSwxNjkpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDE2NSwxNzApIHNpemUg
N3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDE2NSwx
NjkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTY1LDE2OSkgc2l6ZSA3eDEwCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggNzogIlx4ezIzQUJ9IgotbGF5ZXIgYXQgKDE2NSwxOTQpIHNpemUgN3gxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDE2NSwxOTUpIHNp
emUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwCitsYXllciBhdCAoMTY1
LDE5NCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4MTAgY2xp
cCBhdCAoMTY1LDE5NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxNjUsMTk1KSBzaXplIDd4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6
ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQ30iCi1sYXllciBhdCAoMTY1LDIxOCkg
c2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4MTEgY2xpcCBhdCAo
MTY1LDIyMSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4MTEKK2xh
eWVyIGF0ICgxNjUsMjE4KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NSwyMjEpIHNp
emUgN3gxMSBjbGlwIGF0ICgxNjUsMjIxKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDE2NSwy
MjEpIHNpemUgN3gxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBh
dCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gx
NwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FEfSIKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL292ZXItZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2Vu
dGF0aW9uL292ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL292ZXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC04OSwxMSArODksMTEgQEAgbGF5ZXIgYXQgKDQ1LDI1OCkgc2l6ZSAxMHg4
IHNjcm9sbEhlaWdodAogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEwOiAiXHh7MjNB
RX0iCiBsYXllciBhdCAoNDUsMjY2KSBzaXplIDEweDExIHNjcm9sbEhlaWdodCAxNAogICBSZW5k
ZXJCbG9jayB7bW99IGF0ICgwLDM4KSBzaXplIDEweDExCi1sYXllciBhdCAoNDUsMjI5KSBzaXpl
IDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAgY2xpcCBhdCAoNDUs
MjI4KSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAKK2xheWVy
IGF0ICg0NSwyMjkpIHNpemUgMTB4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ1LDIyOCkgc2l6ZSAx
MHgxMCBjbGlwIGF0ICg0NSwyMjgpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDQ1LDIyOCkg
c2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAo
MCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDEweDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6ICJceHsyMzIwfSIKLWxheWVyIGF0
ICg0NSwyNjMpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDQ1LDI2Nikgc2l6ZSAxMHgx
MSBjbGlwIGF0ICg0NSwyNjYpIHNpemUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDQ1LDI2Nikgc2l6
ZSAxMHgxMQorbGF5ZXIgYXQgKDQ1LDI2Mykgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAo
NDUsMjY2KSBzaXplIDEweDExIGNsaXAgYXQgKDQ1LDI2Nikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xp
cCBhdCAoNDUsMjY2KSBzaXplIDEweDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAs
LTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIz
MjF9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24v
cm93LWFsaWdubWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVz
ZW50YXRpb24vcm93LWFsaWdubWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQx
NCw1MSArNDE0LDUxIEBAIGxheWVyIGF0ICgxMjAsNTA5KSBzaXplIDV4OCBzY3JvbGxIZWlnaHQK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNX0iCiBsYXllciBhdCAo
MTIwLDUxNykgc2l6ZSA1eDExIHNjcm9sbEhlaWdodCAxNAogICBSZW5kZXJCbG9jayB7bW99IGF0
ICgwLDU4KSBzaXplIDV4MTEKLWxheWVyIGF0ICgzNiwzMDIpIHNpemUgNXgxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAoMzYsMzAxKSBzaXplIDV4MTAgb3V0
bGluZUNsaXAgYXQgKDM2LDMwMSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMzYsMzAyKSBzaXplIDV4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDM2LDMwMSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDM2LDMwMSkg
c2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgzNiwzMDEpIHNpemUgNXgxMAogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgzNiwzMjgpIHNpemUgNXgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMzYsMzMxKSBzaXplIDV4MTEgY2xpcCBhdCAoMzYsMzMxKSBzaXplIDV4MTEg
b3V0bGluZUNsaXAgYXQgKDM2LDMzMSkgc2l6ZSA1eDExCitsYXllciBhdCAoMzYsMzI4KSBzaXpl
IDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDM2LDMzMSkgc2l6ZSA1eDExIGNsaXAgYXQgKDM2LDMz
MSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgzNiwzMzEpIHNpemUgNXgxMQogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICg5MCwzMDIpIHNpemUgNXgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoOTAsMzAxKSBzaXplIDV4MTAgY2xpcCBhdCAoOTAsMzAxKSBzaXplIDV4
MTAgb3V0bGluZUNsaXAgYXQgKDkwLDMwMSkgc2l6ZSA1eDEwCitsYXllciBhdCAoOTAsMzAyKSBz
aXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDkwLDMwMSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDkw
LDMwMSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICg5MCwzMDEpIHNpemUgNXgxMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICg5MCwzMjgpIHNpemUgNXgxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoOTAsMzMxKSBzaXplIDV4MTEgY2xpcCBhdCAoOTAsMzMxKSBzaXpl
IDV4MTEgb3V0bGluZUNsaXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExCitsYXllciBhdCAoOTAsMzI4
KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDkwLDMzMSkgc2l6ZSA1eDExIGNsaXAgYXQg
KDkwLDMzMSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICg5MCwzMzEpIHNpemUgNXgxMQogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKLWxheWVyIGF0ICg0MywzNTkpIHNpemUgNXgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsMzU4KSBzaXplIDV4MTAgY2xpcCBhdCAoNDMsMzU4KSBz
aXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEwCitsYXllciBhdCAoNDMs
MzU5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQzLDM1OCkgc2l6ZSA1eDEwIGNsaXAg
YXQgKDQzLDM1OCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICg0MywzNTgpIHNpemUgNXgxMAog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICg0Myw0MjkpIHNpemUg
NXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDMsNDMyKSBzaXplIDV4MTEgY2xpcCBhdCAoNDMsNDMy
KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDQzLDQzMikgc2l6ZSA1eDExCitsYXllciBhdCAo
NDMsNDI5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDQzLDQzMikgc2l6ZSA1eDExIGNs
aXAgYXQgKDQzLDQzMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICg0Myw0MzIpIHNpemUgNXgx
MQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXpl
IDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4
dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICgxMTYsMzU5KSBz
aXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgxMCBjbGlwIGF0ICgx
MTYsMzU4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgxMAorbGF5
ZXIgYXQgKDExNiwzNTkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTE2LDM1OCkgc2l6
ZSA1eDEwIGNsaXAgYXQgKDExNiwzNTgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTE2LDM1
OCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3
CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5ZXIgYXQg
KDExNiw0MjkpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTE2LDQzMikgc2l6ZSA1eDEx
IGNsaXAgYXQgKDExNiw0MzIpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTE2LDQzMikgc2l6
ZSA1eDExCitsYXllciBhdCAoMTE2LDQyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgx
MTYsNDMyKSBzaXplIDV4MTEgY2xpcCBhdCAoMTE2LDQzMikgc2l6ZSA1eDExIG91dGxpbmVDbGlw
IGF0ICgxMTYsNDMyKSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0z
KSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMH0i
Ci1sYXllciBhdCAoMzYsNDYwKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM2LDQ1OSkg
c2l6ZSA1eDEwIGNsaXAgYXQgKDM2LDQ1OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgzNiw0
NTkpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDM2LDQ2MCkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlw
IGF0ICgzNiw0NTkpIHNpemUgNXgxMCBjbGlwIGF0ICgzNiw0NTkpIHNpemUgNXgxMCBvdXRsaW5l
Q2xpcCBhdCAoMzYsNDU5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgw
LC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNB
MX0iCi1sYXllciBhdCAoMzYsNTE0KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM2LDUx
Nykgc2l6ZSA1eDExIGNsaXAgYXQgKDM2LDUxNykgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgz
Niw1MTcpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDM2LDUxNCkgc2l6ZSA1eDExIGJhY2tncm91bmRD
bGlwIGF0ICgzNiw1MTcpIHNpemUgNXgxMSBjbGlwIGF0ICgzNiw1MTcpIHNpemUgNXgxMSBvdXRs
aW5lQ2xpcCBhdCAoMzYsNTE3KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7
MjNBM30iCi1sYXllciBhdCAoMTIwLDQ2MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgx
MjAsNDU5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTIwLDQ1OSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlw
IGF0ICgxMjAsNDU5KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMjAsNDYwKSBzaXplIDV4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDEyMCw0NTkpIHNpemUgNXgxMCBjbGlwIGF0ICgxMjAsNDU5KSBzaXpl
IDV4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCw0NTkpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJU
ZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDU6ICJceHsyM0E0fSIKLWxheWVyIGF0ICgxMjAsNTE0KSBzaXplIDV4MTQgYmFja2dyb3Vu
ZENsaXAgYXQgKDEyMCw1MTcpIHNpemUgNXgxMSBjbGlwIGF0ICgxMjAsNTE3KSBzaXplIDV4MTEg
b3V0bGluZUNsaXAgYXQgKDEyMCw1MTcpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEyMCw1MTQpIHNp
emUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDExIGNsaXAgYXQgKDEy
MCw1MTcpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTIwLDUxNykgc2l6ZSA1eDExCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTZ9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL21hdGhtbC9wcmVzZW50YXRpb24vcm93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwv
cHJlc2VudGF0aW9uL3Jvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEyMTgsMzM5
ICsxMjE4LDMzOSBAQCBsYXllciBhdCAoMTU3LDU3OSkgc2l6ZSA1eDggc2Nyb2xsSGVpZ2h0CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUZ9IgogbGF5ZXIgYXQgKDE1
Nyw1ODcpIHNpemUgNXgxMSBzY3JvbGxIZWlnaHQgMTQKICAgUmVuZGVyQmxvY2sge21vfSBhdCAo
MCwzOCkgc2l6ZSA1eDExCi1sYXllciBhdCAoNDksOTUpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoNDksOTQpIHNpemUgN3g5IGNsaXAgYXQgKDQ5LDk0KSBzaXplIDd4OSBvdXRsaW5lQ2xp
cCBhdCAoNDksOTQpIHNpemUgN3g5CitsYXllciBhdCAoNDksOTUpIHNpemUgN3gxMSBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5IGNsaXAgYXQgKDQ5LDk0KSBzaXplIDd4OSBvdXRs
aW5lQ2xpcCBhdCAoNDksOTQpIHNpemUgN3g5CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIz
QTd9IgotbGF5ZXIgYXQgKDQ5LDEwMikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwx
MDMpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwxMDMpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAo
NDksMTAzKSBzaXplIDd4MTAKK2xheWVyIGF0ICg0OSwxMDIpIHNpemUgN3gxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoNDksMTAzKSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTAzKSBzaXplIDd4MTAgb3V0
bGluZUNsaXAgYXQgKDQ5LDEwMykgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4
ezIzQTh9IgotbGF5ZXIgYXQgKDQ5LDExMCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0
OSwxMTMpIHNpemUgN3gxMSBjbGlwIGF0ICg0OSwxMTMpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBh
dCAoNDksMTEzKSBzaXplIDd4MTEKK2xheWVyIGF0ICg0OSwxMTApIHNpemUgN3gxMSBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoNDksMTEzKSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMTEzKSBzaXplIDd4MTEg
b3V0bGluZUNsaXAgYXQgKDQ5LDExMykgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzog
Ilx4ezIzQTl9IgotbGF5ZXIgYXQgKDg4LDk1KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDg4LDk0KSBzaXplIDd4OSBjbGlwIGF0ICg4OCw5NCkgc2l6ZSA3eDkgb3V0bGluZUNsaXAgYXQg
KDg4LDk0KSBzaXplIDd4OQorbGF5ZXIgYXQgKDg4LDk1KSBzaXplIDd4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDg4LDk0KSBzaXplIDd4OSBjbGlwIGF0ICg4OCw5NCkgc2l6ZSA3eDkgb3V0bGluZUNs
aXAgYXQgKDg4LDk0KSBzaXplIDd4OQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMp
IHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FCfSIK
LWxheWVyIGF0ICg4OCwxMDIpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoODgsMTAzKSBz
aXplIDd4MTAgY2xpcCBhdCAoODgsMTAzKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDg4LDEw
Mykgc2l6ZSA3eDEwCitsYXllciBhdCAoODgsMTAyKSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDg4LDEwMykgc2l6ZSA3eDEwIGNsaXAgYXQgKDg4LDEwMykgc2l6ZSA3eDEwIG91dGxpbmVD
bGlwIGF0ICg4OCwxMDMpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAs
LTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FD
fSIKLWxheWVyIGF0ICg4OCwxMTApIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoODgsMTEz
KSBzaXplIDd4MTEgY2xpcCBhdCAoODgsMTEzKSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDg4
LDExMykgc2l6ZSA3eDExCitsYXllciBhdCAoODgsMTEwKSBzaXplIDd4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDg4LDExMykgc2l6ZSA3eDExIGNsaXAgYXQgKDg4LDExMykgc2l6ZSA3eDExIG91dGxp
bmVDbGlwIGF0ICg4OCwxMTMpIHNpemUgN3gxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsy
M0FEfSIKLWxheWVyIGF0ICgxMDIsOTUpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTAy
LDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTAyLDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQg
KDEwMiw5NCkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTAyLDk1KSBzaXplIDV4MTEgYmFja2dyb3Vu
ZENsaXAgYXQgKDEwMiw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEwMiw5NCkgc2l6ZSA1eDEwIG91
dGxpbmVDbGlwIGF0ICgxMDIsOTQpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJc
eHsyM0ExfSIKLWxheWVyIGF0ICgxMDIsMTA5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDEwMiwxMTIpIHNpemUgNXgxMSBjbGlwIGF0ICgxMDIsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNs
aXAgYXQgKDEwMiwxMTIpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEwMiwxMDkpIHNpemUgNXgxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTAyLDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDEwMiwxMTIpIHNp
emUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTAyLDExMikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRl
clRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIgYXQgKDEzOSw5NSkgc2l6ZSA1eDE0IGJhY2tncm91
bmRDbGlwIGF0ICgxMzksOTQpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzksOTQpIHNpemUgNXgxMCBv
dXRsaW5lQ2xpcCBhdCAoMTM5LDk0KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMzksOTUpIHNpemUg
NXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM5LDk0KSBzaXplIDV4MTAgY2xpcCBhdCAoMTM5LDk0
KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEzOSw5NCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwt
Mykgd2lkdGggNTogIlx4ezIzQTR9IgotbGF5ZXIgYXQgKDEzOSwxMDkpIHNpemUgNXgxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMTM5LDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDEzOSwxMTIpIHNpemUg
NXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTM5LDExMikgc2l6ZSA1eDExCitsYXllciBhdCAoMTM5LDEw
OSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMzksMTEyKSBzaXplIDV4MTEgY2xpcCBh
dCAoMTM5LDExMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMzksMTEyKSBzaXplIDV4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNn0iCi1sYXllciBhdCAoMTUxLDk1KSBzaXpl
IDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1MSw5NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE1MSw5
NCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTEsOTQpIHNpemUgNXgxMAorbGF5ZXIgYXQg
KDE1MSw5NSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNTEsOTQpIHNpemUgNXgxMCBj
bGlwIGF0ICgxNTEsOTQpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTUxLDk0KSBzaXplIDV4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6
ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBhdCAoMTUxLDEwOSkg
c2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4MTEgY2xpcCBhdCAo
MTUxLDExMikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4MTEKK2xh
eWVyIGF0ICgxNTEsMTA5KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE1MSwxMTIpIHNp
emUgNXgxMSBjbGlwIGF0ICgxNTEsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE1MSwx
MTIpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBh
dCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgx
NwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0
ICgxODgsOTUpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg4LDk0KSBzaXplIDV4MTAg
Y2xpcCBhdCAoMTg4LDk0KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE4OCw5NCkgc2l6ZSA1
eDEwCitsYXllciBhdCAoMTg4LDk1KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE4OCw5
NCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE4OCw5NCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgx
ODgsOTQpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21v
fSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUg
NXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVy
IGF0ICgxODgsMTA5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE4OCwxMTIpIHNpemUg
NXgxMSBjbGlwIGF0ICgxODgsMTEyKSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE4OCwxMTIp
IHNpemUgNXgxMQorbGF5ZXIgYXQgKDE4OCwxMDkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMTg4LDExMikgc2l6ZSA1eDExIGNsaXAgYXQgKDE4OCwxMTIpIHNpemUgNXgxMSBvdXRsaW5l
Q2xpcCBhdCAoMTg4LDExMikgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIz
QTB9IgotbGF5ZXIgYXQgKDIwMCw5NSkgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyMDAs
OTQpIHNpemUgOHgxMCBjbGlwIGF0ICgyMDAsOTQpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAo
MjAwLDk0KSBzaXplIDh4MTAKK2xheWVyIGF0ICgyMDAsOTUpIHNpemUgOHgxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMjAwLDk0KSBzaXplIDh4MTAgY2xpcCBhdCAoMjAwLDk0KSBzaXplIDh4MTAgb3V0
bGluZUNsaXAgYXQgKDIwMCw5NCkgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4
ezIzRDB9IgotbGF5ZXIgYXQgKDIwMCwxMDkpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MjAwLDExMikgc2l6ZSA4eDExIGNsaXAgYXQgKDIwMCwxMTIpIHNpemUgOHgxMSBvdXRsaW5lQ2xp
cCBhdCAoMjAwLDExMikgc2l6ZSA4eDExCitsYXllciBhdCAoMjAwLDEwOSkgc2l6ZSA4eDExIGJh
Y2tncm91bmRDbGlwIGF0ICgyMDAsMTEyKSBzaXplIDh4MTEgY2xpcCBhdCAoMjAwLDExMikgc2l6
ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyMDAsMTEyKSBzaXplIDh4MTEKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3
aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjQwLDk1KSBzaXplIDh4MTQgYmFja2dyb3Vu
ZENsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI0MCw5NCkgc2l6ZSA4eDEwIG91
dGxpbmVDbGlwIGF0ICgyNDAsOTQpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDI0MCw5NSkgc2l6ZSA4
eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNDAsOTQpIHNpemUgOHgxMCBjbGlwIGF0ICgyNDAsOTQp
IHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjQwLDk0KSBzaXplIDh4MTAKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVu
ZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0z
KSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjQwLDEwOSkgc2l6ZSA4eDE0IGJhY2tn
cm91bmRDbGlwIGF0ICgyNDAsMTEyKSBzaXplIDh4MTEgY2xpcCBhdCAoMjQwLDExMikgc2l6ZSA4
eDExIG91dGxpbmVDbGlwIGF0ICgyNDAsMTEyKSBzaXplIDh4MTEKK2xheWVyIGF0ICgyNDAsMTA5
KSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI0MCwxMTIpIHNpemUgOHgxMSBjbGlwIGF0
ICgyNDAsMTEyKSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDI0MCwxMTIpIHNpemUgOHgxMQog
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBy
dW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyNTUsOTUpIHNpemUg
MTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMCBjbGlwIGF0ICgyNTUs
OTQpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMAorbGF5ZXIg
YXQgKDI1NSw5NSkgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjU1LDk0KSBzaXplIDEw
eDEwIGNsaXAgYXQgKDI1NSw5NCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjU1LDk0KSBz
aXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcK
ICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjB9IgotbGF5ZXIgYXQg
KDI1NSwxMDkpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI1NSwxMTIpIHNpemUgMTB4
MTEgY2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjU1LDExMikg
c2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDI1NSwxMDkpIHNpemUgMTB4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDI1NSwxMTIpIHNpemUgMTB4MTEgY2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMSBvdXRs
aW5lQ2xpcCBhdCAoMjU1LDExMikgc2l6ZSAxMHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6
ICJceHsyMzIxfSIKLWxheWVyIGF0ICg0OSwxNTIpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBh
dCAoNDksMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTUxKSBzaXplIDd4MTAgb3V0bGluZUNs
aXAgYXQgKDQ5LDE1MSkgc2l6ZSA3eDEwCitsYXllciBhdCAoNDksMTUyKSBzaXplIDd4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDQ5LDE1MSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5LDE1MSkgc2l6ZSA3
eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwxNTEpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDc6ICJceHsyM0E3fSIKLWxheWVyIGF0ICg0OSwxNjQpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoNDksMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAoNDksMTY1KSBzaXplIDd4MTAgb3V0bGlu
ZUNsaXAgYXQgKDQ5LDE2NSkgc2l6ZSA3eDEwCitsYXllciBhdCAoNDksMTY0KSBzaXplIDd4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDQ5LDE2NSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDQ5LDE2NSkgc2l6
ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg0OSwxNjUpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJU
ZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDc6ICJceHsyM0E4fSIKLWxheWVyIGF0ICg0OSwxNzYpIHNpemUgN3gxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoNDksMTc5KSBzaXplIDd4MTEgY2xpcCBhdCAoNDksMTc5KSBzaXplIDd4MTEgb3V0
bGluZUNsaXAgYXQgKDQ5LDE3OSkgc2l6ZSA3eDExCitsYXllciBhdCAoNDksMTc2KSBzaXplIDd4
MTEgYmFja2dyb3VuZENsaXAgYXQgKDQ5LDE3OSkgc2l6ZSA3eDExIGNsaXAgYXQgKDQ5LDE3OSkg
c2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg0OSwxNzkpIHNpemUgN3gxMQogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDc6ICJceHsyM0E5fSIKLWxheWVyIGF0ICg5NiwxNTIpIHNpemUgN3gxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoOTYsMTUxKSBzaXplIDd4MTAgY2xpcCBhdCAoOTYsMTUxKSBzaXplIDd4MTAg
b3V0bGluZUNsaXAgYXQgKDk2LDE1MSkgc2l6ZSA3eDEwCitsYXllciBhdCAoOTYsMTUyKSBzaXpl
IDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE1MSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDk2LDE1
MSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg5NiwxNTEpIHNpemUgN3gxMAogICBSZW5kZXJC
bG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBS
ZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDc6ICJceHsyM0FCfSIKLWxheWVyIGF0ICg5NiwxNjQpIHNpemUgN3gxNCBiYWNr
Z3JvdW5kQ2xpcCBhdCAoOTYsMTY1KSBzaXplIDd4MTAgY2xpcCBhdCAoOTYsMTY1KSBzaXplIDd4
MTAgb3V0bGluZUNsaXAgYXQgKDk2LDE2NSkgc2l6ZSA3eDEwCitsYXllciBhdCAoOTYsMTY0KSBz
aXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE2NSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDk2
LDE2NSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg5NiwxNjUpIHNpemUgN3gxMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDc6ICJceHsyM0FDfSIKLWxheWVyIGF0ICg5NiwxNzYpIHNpemUgN3gxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoOTYsMTc5KSBzaXplIDd4MTEgY2xpcCBhdCAoOTYsMTc5KSBzaXpl
IDd4MTEgb3V0bGluZUNsaXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExCitsYXllciBhdCAoOTYsMTc2
KSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDk2LDE3OSkgc2l6ZSA3eDExIGNsaXAgYXQg
KDk2LDE3OSkgc2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg5NiwxNzkpIHNpemUgN3gxMQogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FEfSIKLWxheWVyIGF0ICgxMTAsMTUyKSBzaXplIDV4
MTQgYmFja2dyb3VuZENsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMCBjbGlwIGF0ICgxMTAsMTUx
KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMAorbGF5ZXIgYXQg
KDExMCwxNTIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEwLDE1MSkgc2l6ZSA1eDEw
IGNsaXAgYXQgKDExMCwxNTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTEwLDE1MSkgc2l6
ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDAp
IHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTF9IgotbGF5ZXIgYXQgKDExMCwx
NzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDExIGNsaXAg
YXQgKDExMCwxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDEx
CitsYXllciBhdCAoMTEwLDE3Nikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMTAsMTc5
KSBzaXplIDV4MTEgY2xpcCBhdCAoMTEwLDE3OSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgx
MTAsMTc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtt
b30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXpl
IDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBM30iCi1sYXll
ciBhdCAoMTU1LDE1Mikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxNTUsMTUxKSBzaXpl
IDV4MTAgY2xpcCBhdCAoMTU1LDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNTUsMTUx
KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxNTUsMTUyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDE1NSwxNTEpIHNpemUgNXgxMCBjbGlwIGF0ICgxNTUsMTUxKSBzaXplIDV4MTAgb3V0bGlu
ZUNsaXAgYXQgKDE1NSwxNTEpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsy
M0E0fSIKLWxheWVyIGF0ICgxNTUsMTc2KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE1
NSwxNzkpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTUsMTc5KSBzaXplIDV4MTEgb3V0bGluZUNsaXAg
YXQgKDE1NSwxNzkpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE1NSwxNzYpIHNpemUgNXgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMTU1LDE3OSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE1NSwxNzkpIHNpemUg
NXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTU1LDE3OSkgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggNTogIlx4ezIzQTZ9IgotbGF5ZXIgYXQgKDE2NywxNTIpIHNpemUgNXgxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMTY3LDE1MSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE2NywxNTEpIHNpemUgNXgxMCBv
dXRsaW5lQ2xpcCBhdCAoMTY3LDE1MSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTY3LDE1Mikgc2l6
ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAgY2xpcCBhdCAoMTY3
LDE1MSkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxNjcsMTUxKSBzaXplIDV4MTAKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5Qn0iCi1sYXllciBhdCAoMTY3LDE3Nikgc2l6ZSA1eDE0
IGJhY2tncm91bmRDbGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMTY3LDE3OSkg
c2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEKK2xheWVyIGF0ICgx
NjcsMTc2KSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE2NywxNzkpIHNpemUgNXgxMSBj
bGlwIGF0ICgxNjcsMTc5KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE2NywxNzkpIHNpemUg
NXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBz
aXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAg
dGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlEfSIKLWxheWVyIGF0ICgyMTIsMTUy
KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIxMiwxNTEpIHNpemUgNXgxMCBjbGlwIGF0
ICgyMTIsMTUxKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDIxMiwxNTEpIHNpemUgNXgxMAor
bGF5ZXIgYXQgKDIxMiwxNTIpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjEyLDE1MSkg
c2l6ZSA1eDEwIGNsaXAgYXQgKDIxMiwxNTEpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjEy
LDE1MSkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99
IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1
eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUV9IgotbGF5ZXIg
YXQgKDIxMiwxNzYpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjEyLDE3OSkgc2l6ZSA1
eDExIGNsaXAgYXQgKDIxMiwxNzkpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMjEyLDE3OSkg
c2l6ZSA1eDExCitsYXllciBhdCAoMjEyLDE3Nikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0
ICgyMTIsMTc5KSBzaXplIDV4MTEgY2xpcCBhdCAoMjEyLDE3OSkgc2l6ZSA1eDExIG91dGxpbmVD
bGlwIGF0ICgyMTIsMTc5KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgw
LC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNB
MH0iCi1sYXllciBhdCAoMjI0LDE1Mikgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyMjQs
MTUxKSBzaXplIDh4MTAgY2xpcCBhdCAoMjI0LDE1MSkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0
ICgyMjQsMTUxKSBzaXplIDh4MTAKK2xheWVyIGF0ICgyMjQsMTUyKSBzaXplIDh4MTEgYmFja2dy
b3VuZENsaXAgYXQgKDIyNCwxNTEpIHNpemUgOHgxMCBjbGlwIGF0ICgyMjQsMTUxKSBzaXplIDh4
MTAgb3V0bGluZUNsaXAgYXQgKDIyNCwxNTEpIHNpemUgOHgxMAogICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0
IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRo
IDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgyMjQsMTc2KSBzaXplIDh4MTQgYmFja2dyb3VuZENs
aXAgYXQgKDIyNCwxNzkpIHNpemUgOHgxMSBjbGlwIGF0ICgyMjQsMTc5KSBzaXplIDh4MTEgb3V0
bGluZUNsaXAgYXQgKDIyNCwxNzkpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDIyNCwxNzYpIHNpemUg
OHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExIGNsaXAgYXQgKDIyNCwx
NzkpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMjI0LDE3OSkgc2l6ZSA4eDExCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAg
IFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDI3MiwxNTIpIHNpemUgOHgxNCBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI3MiwxNTEpIHNp
emUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwCitsYXllciBhdCAoMjcy
LDE1Mikgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4MTAgY2xp
cCBhdCAoMjcyLDE1MSkgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgyNzIsMTUxKSBzaXplIDh4
MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6
ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRl
eHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMjcyLDE3Nikg
c2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4MTEgY2xpcCBhdCAo
MjcyLDE3OSkgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4MTEKK2xh
eWVyIGF0ICgyNzIsMTc2KSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI3MiwxNzkpIHNp
emUgOHgxMSBjbGlwIGF0ICgyNzIsMTc5KSBzaXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDI3Miwx
NzkpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBh
dCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgx
NwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0
ICgyODcsMTUyKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICgyODcsMTUxKSBzaXplIDEw
eDEwIGNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAgb3V0bGluZUNsaXAgYXQgKDI4NywxNTEp
IHNpemUgMTB4MTAKK2xheWVyIGF0ICgyODcsMTUyKSBzaXplIDEweDExIGJhY2tncm91bmRDbGlw
IGF0ICgyODcsMTUxKSBzaXplIDEweDEwIGNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAgb3V0
bGluZUNsaXAgYXQgKDI4NywxNTEpIHNpemUgMTB4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAxMHgxMQogICAgIFJlbmRlclRleHQge21v
fSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDEw
OiAiXHh7MjMyMH0iCi1sYXllciBhdCAoMjg3LDE3Nikgc2l6ZSAxMHgxNCBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjg3LDE3OSkgc2l6ZSAxMHgxMSBjbGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExIG91
dGxpbmVDbGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExCitsYXllciBhdCAoMjg3LDE3Nikgc2l6
ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjg3LDE3OSkgc2l6ZSAxMHgxMSBjbGlwIGF0ICgy
ODcsMTc5KSBzaXplIDEweDExIG91dGxpbmVDbGlwIGF0ICgyODcsMTc5KSBzaXplIDEweDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgMTB4
MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjF9IgotbGF5ZXIgYXQgKDQ5LDIyOSkgc2l6
ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyMjgpIHNpemUgN3gxMCBjbGlwIGF0ICg0OSwy
MjgpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjI4KSBzaXplIDd4MTAKK2xheWVyIGF0
ICg0OSwyMjkpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjI4KSBzaXplIDd4MTAg
Y2xpcCBhdCAoNDksMjI4KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDIyOCkgc2l6ZSA3
eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTd9IgotbGF5ZXIgYXQgKDQ5LDI1MCkg
c2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNTEpIHNpemUgN3gxMCBjbGlwIGF0ICg0
OSwyNTEpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNDksMjUxKSBzaXplIDd4MTAKK2xheWVy
IGF0ICg0OSwyNTApIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjUxKSBzaXplIDd4
MTAgY2xpcCBhdCAoNDksMjUxKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDQ5LDI1MSkgc2l6
ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDAp
IHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTh9IgotbGF5ZXIgYXQgKDQ5LDI3
Mikgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICg0OSwyNzUpIHNpemUgN3gxMSBjbGlwIGF0
ICg0OSwyNzUpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoNDksMjc1KSBzaXplIDd4MTEKK2xh
eWVyIGF0ICg0OSwyNzIpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoNDksMjc1KSBzaXpl
IDd4MTEgY2xpcCBhdCAoNDksMjc1KSBzaXplIDd4MTEgb3V0bGluZUNsaXAgYXQgKDQ5LDI3NSkg
c2l6ZSA3eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgw
LDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQTl9IgotbGF5ZXIgYXQgKDEx
MiwyMjkpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3eDEwIGNs
aXAgYXQgKDExMiwyMjgpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3
eDEwCitsYXllciBhdCAoMTEyLDIyOSkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMTIs
MjI4KSBzaXplIDd4MTAgY2xpcCBhdCAoMTEyLDIyOCkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0
ICgxMTIsMjI4KSBzaXplIDd4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQp
IHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBz
aXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBQn0iCi1s
YXllciBhdCAoMTEyLDI1MCkgc2l6ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMTIsMjUxKSBz
aXplIDd4MTAgY2xpcCBhdCAoMTEyLDI1MSkgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxMTIs
MjUxKSBzaXplIDd4MTAKK2xheWVyIGF0ICgxMTIsMjUwKSBzaXplIDd4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDExMiwyNTEpIHNpemUgN3gxMCBjbGlwIGF0ICgxMTIsMjUxKSBzaXplIDd4MTAgb3V0
bGluZUNsaXAgYXQgKDExMiwyNTEpIHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUg
cG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30g
YXQgKDAsLTMpIHNpemUgN3gxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJc
eHsyM0FDfSIKLWxheWVyIGF0ICgxMTIsMjcyKSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQg
KDExMiwyNzUpIHNpemUgN3gxMSBjbGlwIGF0ICgxMTIsMjc1KSBzaXplIDd4MTEgb3V0bGluZUNs
aXAgYXQgKDExMiwyNzUpIHNpemUgN3gxMQorbGF5ZXIgYXQgKDExMiwyNzIpIHNpemUgN3gxMSBi
YWNrZ3JvdW5kQ2xpcCBhdCAoMTEyLDI3NSkgc2l6ZSA3eDExIGNsaXAgYXQgKDExMiwyNzUpIHNp
emUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoMTEyLDI3NSkgc2l6ZSA3eDExCiAgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRl
clRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggNzogIlx4ezIzQUR9IgotbGF5ZXIgYXQgKDEyNiwyMjkpIHNpemUgNXgxNCBiYWNrZ3Jv
dW5kQ2xpcCBhdCAoMTI2LDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDEyNiwyMjgpIHNpemUgNXgx
MCBvdXRsaW5lQ2xpcCBhdCAoMTI2LDIyOCkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTI2LDIyOSkg
c2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4MTAgY2xpcCBhdCAo
MTI2LDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxMjYsMjI4KSBzaXplIDV4MTAKICAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDEx
CiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBMX0iCi1sYXllciBhdCAoMTI2LDI3Mikgc2l6ZSA1
eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEgY2xpcCBhdCAoMTI2LDI3
NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEKK2xheWVyIGF0
ICgxMjYsMjcyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyNiwyNzUpIHNpemUgNXgx
MSBjbGlwIGF0ICgxMjYsMjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDEyNiwyNzUpIHNp
emUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCww
KSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAg
ICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EzfSIKLWxheWVyIGF0ICgxODcs
MjI5KSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDE4NywyMjgpIHNpemUgNXgxMCBjbGlw
IGF0ICgxODcsMjI4KSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDE4NywyMjgpIHNpemUgNXgx
MAorbGF5ZXIgYXQgKDE4NywyMjkpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg3LDIy
OCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE4NywyMjgpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAo
MTg3LDIyOCkgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6
ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTR9IgotbGF5
ZXIgYXQgKDE4NywyNzIpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTg3LDI3NSkgc2l6
ZSA1eDExIGNsaXAgYXQgKDE4NywyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTg3LDI3
NSkgc2l6ZSA1eDExCitsYXllciBhdCAoMTg3LDI3Mikgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlw
IGF0ICgxODcsMjc1KSBzaXplIDV4MTEgY2xpcCBhdCAoMTg3LDI3NSkgc2l6ZSA1eDExIG91dGxp
bmVDbGlwIGF0ICgxODcsMjc1KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0
ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7
MjNBNn0iCi1sYXllciBhdCAoMTk5LDIyOSkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgx
OTksMjI4KSBzaXplIDV4MTAgY2xpcCBhdCAoMTk5LDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlw
IGF0ICgxOTksMjI4KSBzaXplIDV4MTAKK2xheWVyIGF0ICgxOTksMjI5KSBzaXplIDV4MTEgYmFj
a2dyb3VuZENsaXAgYXQgKDE5OSwyMjgpIHNpemUgNXgxMCBjbGlwIGF0ICgxOTksMjI4KSBzaXpl
IDV4MTAgb3V0bGluZUNsaXAgYXQgKDE5OSwyMjgpIHNpemUgNXgxMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJU
ZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdp
ZHRoIDU6ICJceHsyMzlCfSIKLWxheWVyIGF0ICgxOTksMjcyKSBzaXplIDV4MTQgYmFja2dyb3Vu
ZENsaXAgYXQgKDE5OSwyNzUpIHNpemUgNXgxMSBjbGlwIGF0ICgxOTksMjc1KSBzaXplIDV4MTEg
b3V0bGluZUNsaXAgYXQgKDE5OSwyNzUpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDE5OSwyNzIpIHNp
emUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDExIGNsaXAgYXQgKDE5
OSwyNzUpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTk5LDI3NSkgc2l6ZSA1eDExCiAgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQog
ICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBh
dCAoMCwtMykgd2lkdGggNTogIlx4ezIzOUR9IgotbGF5ZXIgYXQgKDI2MCwyMjkpIHNpemUgNXgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwIGNsaXAgYXQgKDI2MCwyMjgp
IHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwCitsYXllciBhdCAo
MjYwLDIyOSkgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgyNjAsMjI4KSBzaXplIDV4MTAg
Y2xpcCBhdCAoMjYwLDIyOCkgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgyNjAsMjI4KSBzaXpl
IDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkg
c2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAg
IHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjM5RX0iCi1sYXllciBhdCAoMjYwLDI3
Mikgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyNjAsMjc1KSBzaXplIDV4MTEgY2xpcCBh
dCAoMjYwLDI3NSkgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyNjAsMjc1KSBzaXplIDV4MTEK
K2xheWVyIGF0ICgyNjAsMjcyKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI2MCwyNzUp
IHNpemUgNXgxMSBjbGlwIGF0ICgyNjAsMjc1KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDI2
MCwyNzUpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21v
fSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUg
NXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKLWxheWVy
IGF0ICgyNzIsMjI5KSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDI3MiwyMjgpIHNpemUg
OHgxMCBjbGlwIGF0ICgyNzIsMjI4KSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDI3MiwyMjgp
IHNpemUgOHgxMAorbGF5ZXIgYXQgKDI3MiwyMjkpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBh
dCAoMjcyLDIyOCkgc2l6ZSA4eDEwIGNsaXAgYXQgKDI3MiwyMjgpIHNpemUgOHgxMCBvdXRsaW5l
Q2xpcCBhdCAoMjcyLDIyOCkgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIz
RDB9IgotbGF5ZXIgYXQgKDI3MiwyNzIpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjcy
LDI3NSkgc2l6ZSA4eDExIGNsaXAgYXQgKDI3MiwyNzUpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBh
dCAoMjcyLDI3NSkgc2l6ZSA4eDExCitsYXllciBhdCAoMjcyLDI3Mikgc2l6ZSA4eDExIGJhY2tn
cm91bmRDbGlwIGF0ICgyNzIsMjc1KSBzaXplIDh4MTEgY2xpcCBhdCAoMjcyLDI3NSkgc2l6ZSA4
eDExIG91dGxpbmVDbGlwIGF0ICgyNzIsMjc1KSBzaXplIDh4MTEKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4
dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0
aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzM2LDIyOSkgc2l6ZSA4eDE0IGJhY2tncm91bmRD
bGlwIGF0ICgzMzYsMjI4KSBzaXplIDh4MTAgY2xpcCBhdCAoMzM2LDIyOCkgc2l6ZSA4eDEwIG91
dGxpbmVDbGlwIGF0ICgzMzYsMjI4KSBzaXplIDh4MTAKK2xheWVyIGF0ICgzMzYsMjI5KSBzaXpl
IDh4MTEgYmFja2dyb3VuZENsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMCBjbGlwIGF0ICgzMzYs
MjI4KSBzaXplIDh4MTAgb3V0bGluZUNsaXAgYXQgKDMzNiwyMjgpIHNpemUgOHgxMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDg6ICJceHsyM0QwfSIKLWxheWVyIGF0ICgzMzYsMjcyKSBzaXplIDh4MTQg
YmFja2dyb3VuZENsaXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMSBjbGlwIGF0ICgzMzYsMjc1KSBz
aXplIDh4MTEgb3V0bGluZUNsaXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMQorbGF5ZXIgYXQgKDMz
NiwyNzIpIHNpemUgOHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4eDExIGNs
aXAgYXQgKDMzNiwyNzUpIHNpemUgOHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzM2LDI3NSkgc2l6ZSA4
eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNp
emUgOHgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0
ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDM1MSwyMjkp
IHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM1MSwyMjgpIHNpemUgMTB4MTAgY2xpcCBh
dCAoMzUxLDIyOCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgx
MAorbGF5ZXIgYXQgKDM1MSwyMjkpIHNpemUgMTB4MTEgYmFja2dyb3VuZENsaXAgYXQgKDM1MSwy
MjgpIHNpemUgMTB4MTAgY2xpcCBhdCAoMzUxLDIyOCkgc2l6ZSAxMHgxMCBvdXRsaW5lQ2xpcCBh
dCAoMzUxLDIyOCkgc2l6ZSAxMHgxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0z
KSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMTA6ICJceHsyMzIw
fSIKLWxheWVyIGF0ICgzNTEsMjcyKSBzaXplIDEweDE0IGJhY2tncm91bmRDbGlwIGF0ICgzNTEs
Mjc1KSBzaXplIDEweDExIGNsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEgb3V0bGluZUNsaXAg
YXQgKDM1MSwyNzUpIHNpemUgMTB4MTEKK2xheWVyIGF0ICgzNTEsMjcyKSBzaXplIDEweDExIGJh
Y2tncm91bmRDbGlwIGF0ICgzNTEsMjc1KSBzaXplIDEweDExIGNsaXAgYXQgKDM1MSwyNzUpIHNp
emUgMTB4MTEgb3V0bGluZUNsaXAgYXQgKDM1MSwyNzUpIHNpemUgMTB4MTEKICAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSAxMHgxMQogICAgIFJl
bmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSAxMHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAs
LTMpIHdpZHRoIDEwOiAiXHh7MjMyMX0iCi1sYXllciBhdCAoNTcsMzczKSBzaXplIDd4MTQgYmFj
a2dyb3VuZENsaXAgYXQgKDU3LDM3Mikgc2l6ZSA3eDEwIGNsaXAgYXQgKDU3LDM3Mikgc2l6ZSA3
eDEwIG91dGxpbmVDbGlwIGF0ICg1NywzNzIpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDU3LDM3Mykg
c2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1NywzNzIpIHNpemUgN3gxMCBjbGlwIGF0ICg1
NywzNzIpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNTcsMzcyKSBzaXplIDd4MTAKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBN30iCi1sYXllciBhdCAoNTcsNDM4KSBzaXplIDd4MTQg
YmFja2dyb3VuZENsaXAgYXQgKDU3LDQzOSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDU3LDQzOSkgc2l6
ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMAorbGF5ZXIgYXQgKDU3LDQz
OCkgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1Nyw0MzkpIHNpemUgN3gxMCBjbGlwIGF0
ICg1Nyw0MzkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBhdCAoNTcsNDM5KSBzaXplIDd4MTAKICAg
UmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDEx
CiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVu
IGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOH0iCi1sYXllciBhdCAoNTcsNTAzKSBzaXplIDd4
MTQgYmFja2dyb3VuZENsaXAgYXQgKDU3LDUwNikgc2l6ZSA3eDExIGNsaXAgYXQgKDU3LDUwNikg
c2l6ZSA3eDExIG91dGxpbmVDbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gxMQorbGF5ZXIgYXQgKDU3
LDUwMykgc2l6ZSA3eDExIGJhY2tncm91bmRDbGlwIGF0ICg1Nyw1MDYpIHNpemUgN3gxMSBjbGlw
IGF0ICg1Nyw1MDYpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoNTcsNTA2KSBzaXplIDd4MTEK
ICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3
eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQg
cnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAiXHh7MjNBOX0iCi1sYXllciBhdCAoMTIwLDM3Mykgc2l6
ZSA3eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAgY2xpcCBhdCAoMTIw
LDM3Mikgc2l6ZSA3eDEwIG91dGxpbmVDbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAKK2xheWVy
IGF0ICgxMjAsMzczKSBzaXplIDd4MTEgYmFja2dyb3VuZENsaXAgYXQgKDEyMCwzNzIpIHNpemUg
N3gxMCBjbGlwIGF0ICgxMjAsMzcyKSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCwzNzIp
IHNpemUgN3gxMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAo
MCwwKSBzaXplIDd4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgN3gxNwog
ICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDc6ICJceHsyM0FCfSIKLWxheWVyIGF0ICgx
MjAsNDM4KSBzaXplIDd4MTQgYmFja2dyb3VuZENsaXAgYXQgKDEyMCw0MzkpIHNpemUgN3gxMCBj
bGlwIGF0ICgxMjAsNDM5KSBzaXplIDd4MTAgb3V0bGluZUNsaXAgYXQgKDEyMCw0MzkpIHNpemUg
N3gxMAorbGF5ZXIgYXQgKDEyMCw0MzgpIHNpemUgN3gxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIw
LDQzOSkgc2l6ZSA3eDEwIGNsaXAgYXQgKDEyMCw0MzkpIHNpemUgN3gxMCBvdXRsaW5lQ2xpcCBh
dCAoMTIwLDQzOSkgc2l6ZSA3eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVk
KSB7bW99IGF0ICgwLDApIHNpemUgN3gxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykg
c2l6ZSA3eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNzogIlx4ezIzQUN9Igot
bGF5ZXIgYXQgKDEyMCw1MDMpIHNpemUgN3gxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTIwLDUwNikg
c2l6ZSA3eDExIGNsaXAgYXQgKDEyMCw1MDYpIHNpemUgN3gxMSBvdXRsaW5lQ2xpcCBhdCAoMTIw
LDUwNikgc2l6ZSA3eDExCitsYXllciBhdCAoMTIwLDUwMykgc2l6ZSA3eDExIGJhY2tncm91bmRD
bGlwIGF0ICgxMjAsNTA2KSBzaXplIDd4MTEgY2xpcCBhdCAoMTIwLDUwNikgc2l6ZSA3eDExIG91
dGxpbmVDbGlwIGF0ICgxMjAsNTA2KSBzaXplIDd4MTEKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA3eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDd4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA3OiAi
XHh7MjNBRH0iCi1sYXllciBhdCAoMTM0LDM3Mykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0
ICgxMzQsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMTM0LDM3Mikgc2l6ZSA1eDEwIG91dGxpbmVD
bGlwIGF0ICgxMzQsMzcyKSBzaXplIDV4MTAKK2xheWVyIGF0ICgxMzQsMzczKSBzaXplIDV4MTEg
YmFja2dyb3VuZENsaXAgYXQgKDEzNCwzNzIpIHNpemUgNXgxMCBjbGlwIGF0ICgxMzQsMzcyKSBz
aXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDEzNCwzNzIpIHNpemUgNXgxMAogICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5k
ZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMp
IHdpZHRoIDU6ICJceHsyM0ExfSIKLWxheWVyIGF0ICgxMzQsNTAzKSBzaXplIDV4MTQgYmFja2dy
b3VuZENsaXAgYXQgKDEzNCw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgxMzQsNTA2KSBzaXplIDV4
MTEgb3V0bGluZUNsaXAgYXQgKDEzNCw1MDYpIHNpemUgNXgxMQorbGF5ZXIgYXQgKDEzNCw1MDMp
IHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQg
KDEzNCw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMTM0LDUwNikgc2l6ZSA1eDExCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgx
MQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTN9IgotbGF5ZXIgYXQgKDE5NSwzNzMpIHNpemUg
NXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQgKDE5NSwz
NzIpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwCitsYXllciBh
dCAoMTk1LDM3Mykgc2l6ZSA1eDExIGJhY2tncm91bmRDbGlwIGF0ICgxOTUsMzcyKSBzaXplIDV4
MTAgY2xpcCBhdCAoMTk1LDM3Mikgc2l6ZSA1eDEwIG91dGxpbmVDbGlwIGF0ICgxOTUsMzcyKSBz
aXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAs
MCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAg
ICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAiXHh7MjNBNH0iCi1sYXllciBhdCAoMTk1
LDUwMykgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4MTEgY2xp
cCBhdCAoMTk1LDUwNikgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4
MTEKK2xheWVyIGF0ICgxOTUsNTAzKSBzaXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE5NSw1
MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgxOTUsNTA2KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQg
KDE5NSw1MDYpIHNpemUgNXgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNp
emUgNXgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyM0E2fSIKLWxh
eWVyIGF0ICgyMDcsMzczKSBzaXplIDV4MTQgYmFja2dyb3VuZENsaXAgYXQgKDIwNywzNzIpIHNp
emUgNXgxMCBjbGlwIGF0ICgyMDcsMzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDIwNywz
NzIpIHNpemUgNXgxMAorbGF5ZXIgYXQgKDIwNywzNzMpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xp
cCBhdCAoMjA3LDM3Mikgc2l6ZSA1eDEwIGNsaXAgYXQgKDIwNywzNzIpIHNpemUgNXgxMCBvdXRs
aW5lQ2xpcCBhdCAoMjA3LDM3Mikgc2l6ZSA1eDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBh
dCAoMCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4
ezIzOUJ9IgotbGF5ZXIgYXQgKDIwNyw1MDMpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
MjA3LDUwNikgc2l6ZSA1eDExIGNsaXAgYXQgKDIwNyw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xp
cCBhdCAoMjA3LDUwNikgc2l6ZSA1eDExCitsYXllciBhdCAoMjA3LDUwMykgc2l6ZSA1eDExIGJh
Y2tncm91bmRDbGlwIGF0ICgyMDcsNTA2KSBzaXplIDV4MTEgY2xpcCBhdCAoMjA3LDUwNikgc2l6
ZSA1eDExIG91dGxpbmVDbGlwIGF0ICgyMDcsNTA2KSBzaXplIDV4MTEKICAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVy
VGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3
aWR0aCA1OiAiXHh7MjM5RH0iCi1sYXllciBhdCAoMjY4LDM3Mykgc2l6ZSA1eDE0IGJhY2tncm91
bmRDbGlwIGF0ICgyNjgsMzcyKSBzaXplIDV4MTAgY2xpcCBhdCAoMjY4LDM3Mikgc2l6ZSA1eDEw
IG91dGxpbmVDbGlwIGF0ICgyNjgsMzcyKSBzaXplIDV4MTAKK2xheWVyIGF0ICgyNjgsMzczKSBz
aXplIDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgxMCBjbGlwIGF0ICgy
NjgsMzcyKSBzaXplIDV4MTAgb3V0bGluZUNsaXAgYXQgKDI2OCwzNzIpIHNpemUgNXgxMAogICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEK
ICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDU6ICJceHsyMzlFfSIKLWxheWVyIGF0ICgyNjgsNTAzKSBzaXplIDV4
MTQgYmFja2dyb3VuZENsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMSBjbGlwIGF0ICgyNjgsNTA2
KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMQorbGF5ZXIgYXQg
KDI2OCw1MDMpIHNpemUgNXgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjY4LDUwNikgc2l6ZSA1eDEx
IGNsaXAgYXQgKDI2OCw1MDYpIHNpemUgNXgxMSBvdXRsaW5lQ2xpcCBhdCAoMjY4LDUwNikgc2l6
ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDAp
IHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAoMCwtMykgc2l6ZSA1eDE3CiAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIzQTB9IgotbGF5ZXIgYXQgKDI4MCwz
NzMpIHNpemUgOHgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEwIGNsaXAg
YXQgKDI4MCwzNzIpIHNpemUgOHgxMCBvdXRsaW5lQ2xpcCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEw
CitsYXllciBhdCAoMjgwLDM3Mykgc2l6ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgyODAsMzcy
KSBzaXplIDh4MTAgY2xpcCBhdCAoMjgwLDM3Mikgc2l6ZSA4eDEwIG91dGxpbmVDbGlwIGF0ICgy
ODAsMzcyKSBzaXplIDh4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtt
b30gYXQgKDAsMCkgc2l6ZSA4eDExCiAgICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXpl
IDh4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXll
ciBhdCAoMjgwLDUwMykgc2l6ZSA4eDE0IGJhY2tncm91bmRDbGlwIGF0ICgyODAsNTA2KSBzaXpl
IDh4MTEgY2xpcCBhdCAoMjgwLDUwNikgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgyODAsNTA2
KSBzaXplIDh4MTEKK2xheWVyIGF0ICgyODAsNTAzKSBzaXplIDh4MTEgYmFja2dyb3VuZENsaXAg
YXQgKDI4MCw1MDYpIHNpemUgOHgxMSBjbGlwIGF0ICgyODAsNTA2KSBzaXplIDh4MTEgb3V0bGlu
ZUNsaXAgYXQgKDI4MCw1MDYpIHNpemUgOHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDh4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQg
KDAsLTMpIHNpemUgOHgxNwogICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDg6ICJceHsy
M0QwfSIKLWxheWVyIGF0ICgzNDQsMzczKSBzaXplIDh4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM0
NCwzNzIpIHNpemUgOHgxMCBjbGlwIGF0ICgzNDQsMzcyKSBzaXplIDh4MTAgb3V0bGluZUNsaXAg
YXQgKDM0NCwzNzIpIHNpemUgOHgxMAorbGF5ZXIgYXQgKDM0NCwzNzMpIHNpemUgOHgxMSBiYWNr
Z3JvdW5kQ2xpcCBhdCAoMzQ0LDM3Mikgc2l6ZSA4eDEwIGNsaXAgYXQgKDM0NCwzNzIpIHNpemUg
OHgxMCBvdXRsaW5lQ2xpcCBhdCAoMzQ0LDM3Mikgc2l6ZSA4eDEwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgOHgxMQogICAgIFJlbmRlclRl
eHQge21vfSBhdCAoMCwtMykgc2l6ZSA4eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggODogIlx4ezIzRDB9IgotbGF5ZXIgYXQgKDM0NCw1MDMpIHNpemUgOHgxNCBiYWNrZ3JvdW5k
Q2xpcCBhdCAoMzQ0LDUwNikgc2l6ZSA4eDExIGNsaXAgYXQgKDM0NCw1MDYpIHNpemUgOHgxMSBv
dXRsaW5lQ2xpcCBhdCAoMzQ0LDUwNikgc2l6ZSA4eDExCitsYXllciBhdCAoMzQ0LDUwMykgc2l6
ZSA4eDExIGJhY2tncm91bmRDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEgY2xpcCBhdCAoMzQ0
LDUwNikgc2l6ZSA4eDExIG91dGxpbmVDbGlwIGF0ICgzNDQsNTA2KSBzaXplIDh4MTEKICAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA4eDExCiAg
ICAgUmVuZGVyVGV4dCB7bW99IGF0ICgwLC0zKSBzaXplIDh4MTcKICAgICAgIHRleHQgcnVuIGF0
ICgwLC0zKSB3aWR0aCA4OiAiXHh7MjNEMH0iCi1sYXllciBhdCAoMzU5LDM3Mykgc2l6ZSAxMHgx
NCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzU5LDM3Mikgc2l6ZSAxMHgxMCBjbGlwIGF0ICgzNTksMzcy
KSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgzNTksMzcyKSBzaXplIDEweDEwCitsYXllciBh
dCAoMzU5LDM3Mykgc2l6ZSAxMHgxMSBiYWNrZ3JvdW5kQ2xpcCBhdCAoMzU5LDM3Mikgc2l6ZSAx
MHgxMCBjbGlwIGF0ICgzNTksMzcyKSBzaXplIDEweDEwIG91dGxpbmVDbGlwIGF0ICgzNTksMzcy
KSBzaXplIDEweDEwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7bW99IGF0
ICgwLDApIHNpemUgMTB4MTEKICAgICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgMTB4
MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAxMDogIlx4ezIzMjB9IgotbGF5ZXIg
YXQgKDM1OSw1MDMpIHNpemUgMTB4MTQgYmFja2dyb3VuZENsaXAgYXQgKDM1OSw1MDYpIHNpemUg
MTB4MTEgY2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMSBvdXRsaW5lQ2xpcCBhdCAoMzU5LDUw
Nikgc2l6ZSAxMHgxMQorbGF5ZXIgYXQgKDM1OSw1MDMpIHNpemUgMTB4MTEgYmFja2dyb3VuZENs
aXAgYXQgKDM1OSw1MDYpIHNpemUgMTB4MTEgY2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMSBv
dXRsaW5lQ2xpcCBhdCAoMzU5LDUwNikgc2l6ZSAxMHgxMQogICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDEweDExCiAgICAgUmVuZGVyVGV4dCB7
bW99IGF0ICgwLC0zKSBzaXplIDEweDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGgg
MTA6ICJceHsyMzIxfSIKLWxheWVyIGF0ICg5LDU1MCkgc2l6ZSA1eDE0IGJhY2tncm91bmRDbGlw
IGF0ICg5LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAgb3V0bGluZUNs
aXAgYXQgKDksNTQ5KSBzaXplIDV4MTAKK2xheWVyIGF0ICg5LDU1MCkgc2l6ZSA1eDExIGJhY2tn
cm91bmRDbGlwIGF0ICg5LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAg
b3V0bGluZUNsaXAgYXQgKDksNTQ5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZl
IHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4dCB7bW99
IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCA1OiAi
XHh7MjM5Qn0iCi1sYXllciBhdCAoOSw1ODQpIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAo
OSw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExIG91dGxpbmVDbGlwIGF0
ICg5LDU4Nykgc2l6ZSA1eDExCitsYXllciBhdCAoOSw1ODQpIHNpemUgNXgxMSBiYWNrZ3JvdW5k
Q2xpcCBhdCAoOSw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExIG91dGxp
bmVDbGlwIGF0ICg5LDU4Nykgc2l6ZSA1eDExCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3Np
dGlvbmVkKSB7bW99IGF0ICgwLDApIHNpemUgNXgxMQogICAgIFJlbmRlclRleHQge21vfSBhdCAo
MCwtMykgc2l6ZSA1eDE3CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggNTogIlx4ezIz
OUR9IgotbGF5ZXIgYXQgKDE1Nyw1NTApIHNpemUgNXgxNCBiYWNrZ3JvdW5kQ2xpcCBhdCAoMTU3
LDU0OSkgc2l6ZSA1eDEwIGNsaXAgYXQgKDE1Nyw1NDkpIHNpemUgNXgxMCBvdXRsaW5lQ2xpcCBh
dCAoMTU3LDU0OSkgc2l6ZSA1eDEwCitsYXllciBhdCAoMTU3LDU1MCkgc2l6ZSA1eDExIGJhY2tn
cm91bmRDbGlwIGF0ICgxNTcsNTQ5KSBzaXplIDV4MTAgY2xpcCBhdCAoMTU3LDU0OSkgc2l6ZSA1
eDEwIG91dGxpbmVDbGlwIGF0ICgxNTcsNTQ5KSBzaXplIDV4MTAKICAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHttb30gYXQgKDAsMCkgc2l6ZSA1eDExCiAgICAgUmVuZGVyVGV4
dCB7bW99IGF0ICgwLC0zKSBzaXplIDV4MTcKICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0
aCA1OiAiXHh7MjM5RX0iCi1sYXllciBhdCAoMTU3LDU4NCkgc2l6ZSA1eDE0IGJhY2tncm91bmRD
bGlwIGF0ICgxNTcsNTg3KSBzaXplIDV4MTEgY2xpcCBhdCAoMTU3LDU4Nykgc2l6ZSA1eDExIG91
dGxpbmVDbGlwIGF0ICgxNTcsNTg3KSBzaXplIDV4MTEKK2xheWVyIGF0ICgxNTcsNTg0KSBzaXpl
IDV4MTEgYmFja2dyb3VuZENsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMSBjbGlwIGF0ICgxNTcs
NTg3KSBzaXplIDV4MTEgb3V0bGluZUNsaXAgYXQgKDE1Nyw1ODcpIHNpemUgNXgxMQogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge21vfSBhdCAoMCwwKSBzaXplIDV4MTEKICAg
ICBSZW5kZXJUZXh0IHttb30gYXQgKDAsLTMpIHNpemUgNXgxNwogICAgICAgdGV4dCBydW4gYXQg
KDAsLTMpIHdpZHRoIDU6ICJceHsyM0EwfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9wcmludGluZy9yZXR1cm4tZnJvbS1wcmludGluZy1tb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvcHJpbnRpbmcvcmV0dXJuLWZyb20tcHJp
bnRpbmctbW9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3ByaW50aW5nL3JldHVybi1mcm9tLXByaW50aW5nLW1vZGUtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAx
NjU2eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxNjU2eDQ4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg0OAogICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCwxNikgc2l6ZSA3ODR4MTYKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4
NHgxNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vYWx0Z2x5cGgt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL2FsdGdseXBoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9hbHRnbHlwaC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgODA4
eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtodG1sfSBh
dCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6
ZSA3ODR4NTY1CiAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2dldHNjcmVlbmN0bS1pbi1t
aXhlZC1jb250ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4tbWl4ZWQtY29udGVudC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vZ2V0c2NyZWVuY3RtLWluLW1peGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMyw3ICsxMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUyCiAgICAg
ICBSZW5kZXJCUiB7YnJ9IGF0ICg1MDcsMCkgc2l6ZSAweDE4CiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMTgpIHNpemUgMzE1eDE4CiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAzMTU6ICJJZiB0aGUgdGVzdCBwYXNzZXMgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0
YW5nbGUuIgotbGF5ZXIgYXQgKDMwLDEwMCkgc2l6ZSA0MDB4MjA0CitsYXllciBhdCAoMzAsMTAw
KSBzaXplIDQwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtkaXZ9IGF0ICgzMCwx
MDApIHNpemUgNDAweDIwMAogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDMwLDEwMCkgc2l6
ZSA0MDB4MjAwCiAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzAsMTAwKSBzaXplIDQw
MHgyMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbeD0wLjAwXSBbeT0w
LjAwXSBbd2lkdGg9MjAwLjAwXSBbaGVpZ2h0PTEwMC4wMF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvY3VzdG9tL3BhdGgtYmFkLWRhdGEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4Nzc4CiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg3NzgKK2xheWVy
IGF0ICgwLDApIHNpemUgNzg1eDc3OAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6
ZSA3ODV4Nzc4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzY5eDc1NAog
ICAgICAgUmVuZGVyQmxvY2sge3BhcnNlcmVycm9yfSBhdCAoMTYsMCkgc2l6ZSA3Mzd4MTM0IFti
Z2NvbG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQtc3ZnLWZp
bGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQtc3ZnLWZp
bGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zY3JvbGxpbmctZW1iZWRkZWQt
c3ZnLWZpbGUtaW1hZ2UtcmVwYWludC1wcm9ibGVtLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgMTAyNngxMDE0CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEwMjZ4MTAx
NAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTAxNAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA3ODV4MTAxNAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXpl
IDc2OXg5OTQKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxNiwwKSBzaXplIDczN3g2MApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0
bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4taHRt
bC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAgbGF5ZXIgYXQg
KDE3MywzMikgc2l6ZSA0NTN4NDUzCiAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA0NTN4MAogICAg
ICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDE3Myw0
Nykgc2l6ZSA0NTN4MTg5CitsYXllciBhdCAoMTczLDQ3KSBzaXplIDQ1M3gxODgKICAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtIMX0gYXQgKDAsMTUpIHNpemUgNDUzeDE4OCBbY29sb3I9I0RE
OTk1NV0KICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzQweDE5MAogICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MywtMSkgc2l6ZSAzNDB4MTkwCkBAIC04MCw3ICs4
MCw3IEBAIGxheWVyIGF0ICgxNzMsMzUxKSBzaXplIDQ1M3gxMzQKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTEsOTgpIHdpZHRoIDQzMTogIkxlYXJuIHRvIHVzZSB0aGUgKHlldCB0byBiZSkgdGlt
ZS1ob25vcmVkIHRlY2huaXF1ZXMgaW4gbmV3IgogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwx
MTIpIHdpZHRoIDM1MDogImFuZCBpbnZpZ29yYXRpbmcgZmFzaGlvbi4gQmVjb21lIG9uZSB3aXRo
IHRoZSB3ZWIuIgogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5
ZXIgYXQgKDMyMiwyMzYpIHNpemUgMzA0eDgyCitsYXllciBhdCAoMzIyLDIzNikgc2l6ZSAzMDR4
ODAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtIM30gYXQgKDE0OSwtMTE1KSBzaXplIDMw
NHg4MCBbY29sb3I9I0NDQ0M3N10gW2JnY29sb3I9Izg4ODgxMV0gW2JvcmRlcjogKDNweCBzb2xp
ZCAjODg4ODExKSBub25lICgzcHggc29saWQgIzg4ODgxMSldCiAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDI3N3g4MwogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0
NCwtMSkgc2l6ZSAyNzd4ODMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL3RleHQteHktdXBkYXRlcy1TVkdMaXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS90ZXh0LXh5LXVwZGF0ZXMtU1ZHTGlz
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vdGV4dC14eS11cGRhdGVzLVNWR0xpc3QtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NjIwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgw
OHg2MjAKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDYyMAogICBSZW5kZXJCbG9jayB7aHRtbH0g
YXQgKDAsMCkgc2l6ZSA3ODV4NjIwCiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6
ZSA3Njl4NjA0CiAgICAgICBSZW5kZXJTVkdSb290IHtzdmc6c3ZnfSBhdCAoMjA4LDE0KSBzaXpl
IDE2NngxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9vdmVyZmxvdy9vdmVy
Zmxvdy1vbi1vdXRlcm1vc3Qtc3ZnLWVsZW1lbnQtaW4teGh0bWwtZGVmYXVsdHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvb3ZlcmZsb3cv
b3ZlcmZsb3ctb24tb3V0ZXJtb3N0LXN2Zy1lbGVtZW50LWluLXhodG1sLWRlZmF1bHRzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L292ZXJmbG93L292ZXJmbG93LW9uLW91dGVybW9zdC1zdmctZWxlbWVudC1pbi14aHRtbC1kZWZh
dWx0cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDQKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjA0
CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDc4NXg2MDQKICAgICBSZW5kZXJJ
bmxpbmUge2JvZHl9IGF0ICgwLDApIHNpemUgODAweDE4CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
dGV4dC9mb3JlaWduT2JqZWN0LXRleHQtY2xpcHBpbmctYnVnLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQvZm9yZWlnbk9iamVjdC10
ZXh0LWNsaXBwaW5nLWJ1Zy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlwcGluZy1i
dWctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDI5MgogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyNHgxMwogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDI0OiAiVEVTVCIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci1sYXllciBhdCAoMTgsMTgyKSBzaXplIDM5MHgxMTUKK2xheWVyIGF0ICgxOCwxODIpIHNpemUg
MzkweDExMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge2Rpdn0gYXQgKDAs
MTYyKSBzaXplIDM5MHgxMTAgW2NvbG9yPSMwMDAwODBdIFtiZ2NvbG9yPSNEM0QzRDNdCiAgICAg
UmVuZGVyQmxvY2sge2Rpdn0gYXQgKDAsMCkgc2l6ZSAzOTB4MTE1CiAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzl4MTE1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL3RleHQva2VybmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L2tlcm5pbmctZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC9rZXJuaW5nLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDAp
IHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVu
ZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge2Jv
ZHl9IGF0ICg4LDE2KSBzaXplIDc4NHg0MTUKICAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCww
KSBzaXplIDc4NHgzNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211
bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy90ZXh0L211bHRpY2hhci1nbHlwaC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L211bHRpY2hhci1n
bHlwaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwOHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
LWxheWVyIGF0ICgwLDApIHNpemUgODA4eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1
CiAgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJC
b2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4NTY1CiAgICAgICBSZW5kZXJCbG9jayB7cH0g
YXQgKDAsMCkgc2l6ZSA3ODR4MzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
dHJhbnNmb3Jtcy9hbmltYXRlZC1wYXRoLWluc2lkZS10cmFuc2Zvcm1lZC1odG1sLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RyYW5zZm9y
bXMvYW5pbWF0ZWQtcGF0aC1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90cmFuc2Zvcm1z
L2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MzYKICAg
ICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NzN4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA1NzM6ICJDU1MgVHJhbnNmb3JtZWQgSFRNTCBkaXYgd2l0aCBTVkcgaW5zaWRl
IGl0LiBBbmltYXRlZCBTVkcgc2hvdWxkIHJlcGFpbnQgY29ycmVjdGx5LiIKLWxheWVyIGF0ICg1
OCw4NCkgc2l6ZSA0MDJ4NDA1CitsYXllciBhdCAoNTgsODQpIHNpemUgNDAyeDQwMgogICBSZW5k
ZXJCbG9jayB7ZGl2fSBhdCAoNTAsNjgpIHNpemUgNDAyeDQwMiBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDE0OCwxNDQpIHNpemUgMzU4
eDQxOQogICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDM1NSwxODcpIHNpemUgMTE1eDEx
NSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkMwQ0JdIFtzdHJva2Ugd2lkdGg9NS4w
MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFt4PTMwMC4wMF0gW3k9
MC4wMF0gW3dpZHRoPTEwMC4wMF0gW2hlaWdodD0xMDAuMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4taW5zaWRlLXRyYW5z
Zm9ybWVkLWh0bWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi1pbnNpZGUtdHJhbnNmb3Jt
ZWQtaHRtbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy90cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLWluc2lkZS10cmFuc2Zv
cm1lZC1odG1sLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTM2CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDU1MHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMxODog
IkNTUyBUcmFuc2Zvcm1lZCBIVE1MIGRpdiB3aXRoIFNWRyBpbnNpZGUgaXQuICIKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzE4LDApIHdpZHRoIDIzMjogIm9iamVjdEJvdW5kaW5nQm94IHBhdHRl
cm5zIG9uIHRleHQuIgotbGF5ZXIgYXQgKDU4LDg0KSBzaXplIDQwMng0MDUKK2xheWVyIGF0ICg1
OCw4NCkgc2l6ZSA0MDJ4NDAyCiAgIFJlbmRlckJsb2NrIHtkaXZ9IGF0ICg1MCw2OCkgc2l6ZSA0
MDJ4NDAyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyU1ZHUm9vdCB7
c3ZnfSBhdCAoNDksMTA1KSBzaXplIDQ4MHg0MjAKICAgICAgIFJlbmRlclNWR1Jlc291cmNlUGF0
dGVybiB7cGF0dGVybn0gW2lkPSJwYXQxIl0gW3BhdHRlcm5Vbml0cz1vYmplY3RCb3VuZGluZ0Jv
eF0gW3BhdHRlcm5Db250ZW50VW5pdHM9dXNlclNwYWNlT25Vc2VdCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL3pvb20vdGV4dC96b29tLWhpeGllLW1peGVkLTAwOS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy96b29tL3Rl
eHQvem9vbS1oaXhpZS1taXhlZC0wMDktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvem9vbS90ZXh0L3pvb20taGl4aWUtbWl4ZWQt
MDA5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQ4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMTIK
ICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDMxMgogICAgIFJlbmRlckJv
ZHkge2JvZHl9IGF0ICg4LDEwKSBzaXplIDc4NHgyOTIKICAgICAgIFJlbmRlckJsb2NrIHtwfSBh
dCAoMCwwKSBzaXplIDc4NHgyNiBbY29sb3I9IzAwMDA4MF0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzYyNS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVn
NjI1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc2MjUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDEyeDU4NQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDEyeDU4
NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMCkgc2l6ZSAxMDA0eDQgW2JvcmRl
cjogKDJweCBzb2xpZCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYS9idWdzL2J1ZzU3OTctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4NjZ4OTkwCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA3ODV4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDg2Nng5OTAKK2xheWVyIGF0
ICgwLDApIHNpemUgNzg1eDk5MAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3
ODV4OTkwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3Njl4OTc0CiAgICAg
ICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNzY5eDI4IFtib3JkZXI6ICgxcHgg
b3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhL2J1Z3MvYnVnMjMxNTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzIzMTUxLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvYnVncy9idWcyMzE1MS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiAr
MSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDEyNjR4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDEyNjR4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAg
UmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEyNTZ4MzQgW2JnY29sb3I9I0ZGRkZG
Rl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1
ZzI5MzE0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvYnVncy9idWcyOTMxNC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcz
MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVn
MjkzMTQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAxMDA5eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4
NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA5eDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlclRhYmxlIHtU
QUJMRX0gYXQgKDAsMCkgc2l6ZSAxMDAxeDIyNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDMwMzktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzQzMDM5
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0MzAzOS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE2NDY4eDU4NQogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNjQ2OHg1
ODUKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTY5CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTY0NjB4MTA4
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0
Mzg1NC0xLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0Mzg1NC0xLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9i
dWc0Mzg1NC0xLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgOTQyeDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5NDJ4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDU4NSBbY29sb3I9I0ZGRkYwMF0gW2Jn
Y29sb3I9IzAwMDAwMF0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNDAsNDApIHNpemUgNzIw
eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9i
dWc0NTA1NS0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc0NTA1NS0yLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVn
cy9idWc0NTA1NS0yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM2CitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg4CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MCBbYmdjb2xvcj0jRkZGRkZGXQogICAg
ICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDg2eDEyMwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNzIzNTktZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxs
YS9idWdzL2J1ZzcyMzU5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc3MjM1OS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYyCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRlckJsb2NrIHto
dG1sfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MAogICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7ZmxvYXR9IGF0ICgwLDAp
IHNpemUgMTU3eDU0IFtiZ2NvbG9yPSNGRjAwMDBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc4Mzc4Ni1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnODM3
ODYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzgzNzg2LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMyw3ICszLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHgxMzYKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDEzNgogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgwLDApIHNpemUgODAweDEzNgotbGF5
ZXIgYXQgKDAsMCkgc2l6ZSAyNjZ4MTM2IGNsaXAgYXQgKDMsMykgc2l6ZSAyNjB4MTMwIHNjcm9s
bFdpZHRoIDMyNCBzY3JvbGxIZWlnaHQgMTQ0CitsYXllciBhdCAoMCwwKSBzaXplIDI2NngxMzYg
Y2xpcCBhdCAoMywzKSBzaXplIDI2MHgxMzAgc2Nyb2xsSGVpZ2h0IDE0NAogICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwwKSBzaXplIDI2NngxMzYgW2JvcmRlcjogKDNweCBzb2xpZCAjMDA4MDAw
KV0KICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgxNiwzKSBzaXplIDY0eDE0MwogICAgICAg
UmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSA2NHgxNDMKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyMTQzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvYnVncy9idWc5MjE0My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTIxNDMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSAyNDEweDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAyNDEweDU4NQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDApIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVz
L21vemlsbGEvYnVncy9idWc5NjMzNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTYzMzQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYS9idWdzL2J1Zzk2MzM0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTk5eDU4NQogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5OTl4NTg1CitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAg
UmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDk5MXgxNDcgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDAwMEZGKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9idWdzL2J1ZzEyMDM2NC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTIwMzY0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvYnVncy9idWcxMjAzNjQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYg
KzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgxMwogICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTgxMworbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4
NXg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg1ODQKICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxeDE4CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9i
dWdzL2J1ZzEzMTAyMC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODA4
eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUKICAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXpl
IDgwMHg1NjkgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxOTY4NzAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9i
dWdzL2J1ZzE5Njg3MC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTk2ODcwLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4OTIKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDQ3CiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg0NwogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDMxCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTMw
eDMxCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvY29yZS9u
ZXN0ZWQxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvY29yZS9uZXN0ZWQxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvY29yZS9uZXN0
ZWQxLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0
ICgwLDApIHNpemUgODA4eDU4NQogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQot
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDU4NQogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU2OQogICAgICAgUmVuZGVyVGFibGUge1RBQkxF
fSBhdCAoMCwwKSBzaXplIDE5M3gzNCBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4vYmFja2dy
X2luZGV4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGEvbWFydmluL2JhY2tncl9pbmRleC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL21h
cnZpbi9iYWNrZ3JfaW5kZXgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4Mjd4MTc0NAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4Mjd4MTc0NAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4MTc0NAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4
MTc0NAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE3KSBzaXplIDc2OXgxNzE0IFtjb2xv
cj0jMDBGRjAwXSBbYmdjb2xvcj0jMzMzMzMzXQogICAgICAgUmVuZGVyQmxvY2sge0gxfSBhdCAo
MCwwKSBzaXplIDc2OXgzMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9t
b3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX2xlZnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90YWJs
ZV9hbGlnbl9sZWZ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGFibGVfYWxpZ25fbGVmdC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVy
IGF0ICgwLDApIHNpemUgODAweDM2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4CiAgIFJlbmRl
ckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0g
YXQgKDgsOCkgc2l6ZSA3ODR4MAogICAgICAgUmVuZGVyVGFibGUge3RhYmxlfSBhdCAoMCwwKSBz
aXplIDI4OHgyOCBbYm9yZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90YWJsZV9hbGlnbl9yaWdo
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL21hcnZpbi94X3RhYmxlX2FsaWduX3JpZ2h0LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
bWFydmluL3hfdGFibGVfYWxpZ25fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNgorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4OAogICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4
MDB4OAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDgpIHNpemUgNzg0eDAKICAgICAgIFJl
bmRlclRhYmxlIHt0YWJsZX0gYXQgKDQ4NywwKSBzaXplIDI5N3gyOCBbYm9yZGVyOiAoMXB4IG91
dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9tYXJ2aW4veF90ZF9ub3dyYXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90ZF9ub3dyYXAtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYS9tYXJ2aW4veF90ZF9ub3dyYXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5MDh4NTg1CiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDkwOHg2OAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjgKICAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDAp
IHNpemUgODAweDY4CiAgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTIK
ICAgICAgIFJlbmRlclRhYmxlIHt0YWJsZX0gYXQgKDAsMCkgc2l6ZSA5MDB4NTIgW2JvcmRlcjog
KDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93cmFwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93
cmFwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGEvbWFydmluL3hfdGhfbm93cmFwLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgOTMyeDU4NQog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA5
MzJ4NjgKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDY4CiAgIFJlbmRlckJsb2NrIHtodG1sfSBh
dCAoMCwwKSBzaXplIDgwMHg2OAogICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDgpIHNpemUg
Nzg0eDUyCiAgICAgICBSZW5kZXJUYWJsZSB7dGFibGV9IGF0ICgwLDApIHNpemUgOTI0eDUyIFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMjQ3OS01LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcyNDc5LTUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzI0NzktNS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMSw0IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgxNDE1CitsYXllciBh
dCAoMCwwKSBzaXplIDc4NXgxNDA3CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAw
CiBsYXllciBhdCAoOCw4KSBzaXplIDc2OXgxMzk5CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
OCw4KSBzaXplIDc2OXgxMzk5IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgxNnB4IHNvbGlk
ICMwMEZGMDApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L2J1Z3MvYnVnNjc5MTUtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDk0OHg1ODUKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTQ4eDU4NQorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NTg1CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg1ODUK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NjkKICAgICAgIFJlbmRl
clRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA5NDB4MjggW2JvcmRlcjogKDFweCBvdXRzZXQg
IzgwODA4MCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFf
ZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWc4NTAxNi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1
cmVzL2J1Z3MvYnVnODUwMTYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdz
L2J1Zzg1MDE2LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxh
eWVyIGF0ICgwLDApIHNpemUgOTgyeDMwNDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg1ODUKLWxheWVyIGF0ICgwLDApIHNpemUgOTgyeDMwNDAKK2xheWVyIGF0ICgwLDApIHNpemUg
Nzg1eDMwNDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDMwNDAKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMzIsMzIpIHNpemUgNzIxeDI5NzYKICAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgzMiwwKSBzaXplIDY1N3g2NjggW2JvcmRlcjogKDFweCBzb2xpZCAj
MDA4MDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzIyMDY1My1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1
cmVzL2J1Z3MvYnVnMjIwNjUzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVn
cy9idWcyMjA2NTMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDh4NTg1CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NTg1Ci1sYXllciBhdCAoMCwwKSBzaXplIDgwOHg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDU4NQogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTg1CiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTY5CiAgICAgICBSZW5kZXJUYWJs
ZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgODAweDM2IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgw
ODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi9iYWNrZ3JfZml4ZWQtYmctZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vYmFja2dyX2ZpeGVkLWJnLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMz
MzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvbWFydmluL2JhY2tncl9maXhlZC1iZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDE1NDR4MTY3MwogICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDU4NQotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxNTQ0eDE2
NzMKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDE2NzMKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgNzg1eDE2NzMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNykgc2l6
ZSA3Njl4MTY0MyBbY29sb3I9IzAwRkYwMF0gW2JnY29sb3I9IzMzMzMzM10KICAgICAgIFJlbmRl
ckJsb2NrIHtIMX0gYXQgKDAsMCkgc2l6ZSA3Njl4MzAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfY2FwdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd19jYXB0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmlu
L3RhYmxlX292ZXJmbG93X2NhcHRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MTEKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTIyCiAgICAg
ICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9yZGVyOiAoMXB4
IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMv
bW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl9i
b3R0b20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3df
Y2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4v
dGFibGVfb3ZlcmZsb3dfY2FwdGlvbl9ib3R0b20tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MjEKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTIy
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2Fw
dGlvbl9sZWZ0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJm
bG93X2NhcHRpb25fbGVmdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19jYXB0aW9uX2xlZnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MTEKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTIy
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfY2Fw
dGlvbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd19jYXB0aW9uX3JpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X2NhcHRpb25fcmlnaHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MTEK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
MTIyCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9y
ZGVyOiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3df
Y2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfY2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2
aW4vdGFibGVfb3ZlcmZsb3dfY2FwdGlvbl90b3AtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MTEKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDEzOAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTM4CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTIy
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEyMiBbYm9yZGVy
OiAoMXB4IG91dHNldCAjODA4MDgwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90
YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGly
dHlfcmVmbG93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJm
bG93X2RpcnR5X3JlZmxvdy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsNiBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMDgKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDExNgogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTE2CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTAw
CiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMjAweDEwMCBbYmdjb2xv
cj0jMDAwMEZGXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfcm93
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5
X3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFi
bGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3Jvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2MTIKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDYxMgorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NDE2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDc4NXg0MTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg0MDAK
ICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMjl4NDAwIFtib3JkZXI6
ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19kaXJ0
eV9yZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfZGlydHlfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X2RpcnR5X3JlZmxvd190YWJsZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDU3OAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzU2CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNTYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgzNDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6
ZSAyMDB4MzQwIFtiZ2NvbG9yPSMwMDAwRkZdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93
X2RpcnR5X3JlZmxvd190Ym9keS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd19kaXJ0eV9yZWZsb3dfdGJvZHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3Rl
ZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfZGlydHlfcmVmbG93X3Rib2R5LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgNzg1eDcyOAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1eDYwMAotbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA3ODV4NzI4CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg1MzIKICAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDUzMgogICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzY5eDUxNgogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCww
KSBzaXplIDIyOXg1MTYgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFy
dmluL3RhYmxlX292ZXJmbG93X2hpZGRlbl90ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd19oaWRkZW5fdHItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3Rl
ZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfaGlkZGVuX3RyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NTE2CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzOAogICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzgKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHgyMgogICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDIyeDIy
IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd19zdHlsZV9yZWZsb3dfY2VsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDU0OQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzk3CiAgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzOTcKICAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHgzODEKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAs
MCkgc2l6ZSAyMDB4MzgxIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21h
cnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfY2VsbF9zaWJsaW5nLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFf
ZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19jZWxs
X3NpYmxpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfc3R5bGVfcmVmbG93X2NlbGxfc2libGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDU5
NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MzcwIFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19zdHlsZV9yZWZsb3dfcm93LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3Rh
YmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd19yb3ctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMz
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9m
YWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Jvdy1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDU5NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6
ZSAyMDB4MzcwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfcm93X3NpYmxpbmctZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3Rl
ZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Jvd19zaWJsaW5n
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93
X3N0eWxlX3JlZmxvd19yb3dfc2libGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2ODUKICAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDY4NQorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA3ODV4NDc0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDc4NXg0NzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg0NTgKICAg
ICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4NDU4IFtib3JkZXI6ICgx
cHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9y
ZWZsb3dfdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3Zl
cmZsb3dfc3R5bGVfcmVmbG93X3RhYmxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVy
ZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190YWJsZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgODAweDQwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTYzCiAgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxNjMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHgxNDcKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAy
MDB4MTQ3IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJs
ZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGVfY2FwdGlvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVk
X2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGFibGVfY2FwdGlv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxv
d19zdHlsZV9yZWZsb3dfdGFibGVfY2FwdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQ0NQorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjM0CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHgyMzQKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMTgK
ICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MjE4IFtib3JkZXI6
ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHls
ZV9yZWZsb3dfdGJvZHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVf
b3ZlcmZsb3dfc3R5bGVfcmVmbG93X3Rib2R5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3N0eWxlX3JlZmxvd190Ym9keS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDAp
IHNpemUgODAweDU5NworbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg2CiAgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzODYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHgzNzAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6
ZSAyMDB4MzcwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90
YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJvZHlfc2libGluZy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd19zdHlsZV9yZWZsb3dfdGJvZHlfc2li
bGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd19zdHlsZV9yZWZsb3dfdGJvZHlfc2libGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3MjQKICAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcyNAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NTEzCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXg1MTMKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc2OXg0
OTcKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4NDk3IFtib3Jk
ZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190
ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9v
dmVyZmxvd190ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF9hbGlnbl9yaWdodC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDQ2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTEw
IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi90YWJsZV9vdmVy
Zmxvd190ZF92YWxpZ25fYm90dG9tLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmlu
L3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9ib3R0b20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3Rl
ZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX2JvdHRvbS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgw
LDApIHNpemUgODAweDUwNAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI2CiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkg
c2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25fbWlkZGxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl9taWRkbGUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFsaWduX21p
ZGRsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
LWxheWVyIGF0ICgwLDApIHNpemUgODAweDQ2MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTI2
CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJM
RX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL21hcnZpbi90YWJsZV9vdmVyZmxvd190ZF92YWxpZ25fdG9wLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhw
ZWN0ZWRfZmFpbHVyZXMvbWFydmluL3RhYmxlX292ZXJmbG93X3RkX3ZhbGlnbl90b3AtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJs
ZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vdGFibGVfb3ZlcmZsb3dfdGRfdmFs
aWduX3RvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDQxNgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
MTI2CiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgxMjYKICAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgxMTAKICAgICAgIFJlbmRlclRhYmxlIHtU
QUJMRX0gYXQgKDAsMCkgc2l6ZSAyMDB4MTEwIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODAp
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvc3ZnLXZzLWNzcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5z
Zm9ybXMvc3ZnLXZzLWNzcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDczMzM0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvc3ZnLXZzLWNzcy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTc4
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE2eDI4CiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTY6ICJDU1NNYXRyaXgiCiAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgyOCw4NCkgc2l6
ZSAyMDF4MjA1CitsYXllciBhdCAoMjgsODQpIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge2Rpdn0gYXQgKDEwLDY2KSBzaXplIDIwMHgyMDAgW2JnY29s
b3I9I0MwQzBDMF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICgyOSwxMDgpIHNpemUgMTk2eDE3NAogICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjksMTA4KSBzaXplIDE5NngxNzQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oNzUuMDAsMjUuMDApfV0KQEAgLTQ2LDcgKzQ2LDcgQEAgbGF5ZXIg
YXQgKDMwLDM1Mikgc2l6ZSA2MHg2MAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge2Rpdn0g
YXQgKDEsMSkgc2l6ZSA2MHg2MCBbYm9yZGVyOiAoMXB4IGRvdHRlZCAjMDAwMDAwKV0KIGxheWVy
IGF0ICgzMSwzNTMpIHNpemUgNjB4NjAKICAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtkaXZ9
IGF0ICgxLDEpIHNpemUgNjB4NjAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0KLWxheWVy
IGF0ICgyNzIsODQpIHNpemUgMjAxeDIwNQorbGF5ZXIgYXQgKDI3Miw4NCkgc2l6ZSAyMDB4MjAw
CiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMTAsNjYpIHNp
emUgMjAweDIwMCBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDAp
XQogICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDI3MywxMDgpIHNpemUgMTYyeDE3NAogICAg
ICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDI3MywxMDcpIHNpemUgMTYzeDE3NiBbdHJhbnNm
b3JtPXttPSgoMS40MSwxLjQxKSgtMS40MSwxLjQxKSkgdD0oNzUuMDAsMjUuMDApfV0gW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMEZGXX1dIFt4PTAuMDBdIFt5PTAuMDBdIFt3aWR0
aD02MC4wMF0gW2hlaWdodD02MC4wMF0KQEAgLTU1LDcgKzU1LDcgQEAgbGF5ZXIgYXQgKDI3Miwz
NTApIHNpemUgMjAweDIwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge2Rp
dn0gYXQgKDEwLDMzMikgc2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6ICgx
cHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjczLDM1MSkgc2l6ZSA2MHg2MAogICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge2Rpdn0gYXQgKDEsMSkgc2l6ZSA2MHg2MCBbYm9yZGVyOiAo
MXB4IHNvbGlkICMwMDAwRkYpXQotbGF5ZXIgYXQgKDUxNiw4NCkgc2l6ZSAyMDF4MjA1CitsYXll
ciBhdCAoNTE2LDg0KSBzaXplIDIwMHgyMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHtkaXZ9IGF0ICgxMCw2Nikgc2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNDMEMwQzBdIFti
b3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
NTE3LDEwOCkgc2l6ZSAxNjJ4MTc0CiAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNTE3
LDEwNykgc2l6ZSAxNjN4MTc2IFt0cmFuc2Zvcm09e209KCgxLjQxLDEuNDEpKC0xLjQxLDEuNDEp
KSB0PSg3NS4wMCwyNS4wMCl9XSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwRkZd
fV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTYwLjAwXSBbaGVpZ2h0PTYwLjAwXQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1w
b2ludC1tYXBwaW5nLTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy0y
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctMi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgbGF5ZXIgYXQgKDM1MSw4NSkg
c2l6ZSA5MHg5MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMSkgc2l6ZSA5MHg5MCBbYmdj
b2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDUz
NCw0Mikgc2l6ZSAxNDB4MTQwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAx
NDB4MTQwIFtiZ2NvbG9yPSNERERERERdIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCi1s
YXllciBhdCAoNTU1LDYzKSBzaXplIDEyMXgxMjEKK2xheWVyIGF0ICg1NTUsNjMpIHNpemUgMTAw
eDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIx
KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAw
MDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdj
b2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDU5
Nyw4NSkgc2l6ZSA5MHg5MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9y
bXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBw
aW5nLzNkLXBvaW50LW1hcHBpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9p
bnQtbWFwcGluZy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAg
bGF5ZXIgYXQgKDYzLDYzKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNBQUFBQUFd
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBzaXplIDE0
MHgxNDAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAgW2JnY29s
b3I9I0RERERERF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgzMDks
NjMpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEw
MCBbYmdjb2xvcj0jQUFBQUFBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwRkZd
IFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNDIsMjg4KSBzaXplIDE0
MHgxNDAKQEAgLTcxLDcgKzcxLDcgQEAgbGF5ZXIgYXQgKDg0LDMzMCkgc2l6ZSAxMDB4MTAwCiAg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUg
MTAweDEwMCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQog
bGF5ZXIgYXQgKDI4OCwyODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQotbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDMw
OSwzMDkpIHNpemUgMTAweDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFBQV0gW2JvcmRlcjog
KDFweCBzb2xpZCAjMDAwMDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNp
emUgMTAweDEwMCBbYmdjb2xvcj0jQzBENjlFXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDAp
XQogbGF5ZXIgYXQgKDM1MSwzNTEpIHNpemUgMTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3RyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLW9y
aWdpbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy90cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1vcmlnaW5zLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctb3JpZ2lucy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgbGF5ZXIgYXQgKDYzLDYz
KSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNBQUFBQUFdIFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBzaXplIDE0MHgxNDAKICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAgW2JnY29sb3I9I0RERERERF0gW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgzMDksNjMpIHNpemUgMTIxeDEy
MQorbGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQUFB
QUFBXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6ICgxcHgg
c29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNDIsMjg4KSBzaXplIDE0MHgxNDAKQEAgLTcxLDcg
KzcxLDcgQEAgbGF5ZXIgYXQgKDg0LDMzMCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChy
ZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xv
cj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDI4OCwy
ODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTQw
eDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotbGF5
ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTIxeDEyMQorbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTAw
eDEwMAogICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIx
KSBzaXplIDEwMHgxMDAgW2JnY29sb3I9I0FBQUFBQV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAw
MDAwKV0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdj
b2xvcj0jQzBENjlFXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDM1
MSwzNTEpIHNpemUgMTAweDEwMApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5z
Zm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jt
cy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1hcHBpbmctcHJlc2VydmUtM2QtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MzMzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zv
cm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy1wcmVzZXJ2ZS0zZC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAgbGF5ZXIgYXQgKDYzLDYzKSBz
aXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgyMSwyMSkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSM4MUFBOEFdIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwMDAwMCldCiBsYXllciBhdCAoMjg4LDQyKSBzaXplIDE0MHgxNDAKICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDE0MHgxNDAgW2JnY29sb3I9I0RERERERF0gW2JvcmRl
cjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVyIGF0ICgzMDksNjMpIHNpemUgMTExeDExMQor
bGF5ZXIgYXQgKDMwOSw2Mykgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMjEsMjEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jODFBQThB
XSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgyMSwyMSkgc2l6ZSA5MHg5MCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQogbGF5ZXIgYXQgKDUzNCw0Mikgc2l6ZSAxNDB4MTQwCkBAIC0xMTcsNyArMTE3
LDcgQEAgbGF5ZXIgYXQgKDI4OCwyODgpIHNpemUgMTQweDE0MAogICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMjEsMjEpIHNpemUgMTQweDE0MCBbYmdjb2xvcj0jREREREREXSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDAwMDApXQogbGF5ZXIgYXQgKDMwOSwzMDkpIHNpemUgMTAweDEwMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgx
MDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLWxheWVy
IGF0ICgzNTAsMzUwKSBzaXplIDExMXgxMTEKK2xheWVyIGF0ICgzNTAsMzUwKSBzaXplIDEwMHgx
MDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg0MSw0MSkg
c2l6ZSAxMDB4MTAwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCldCiAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIxLDIxKSBzaXplIDkweDkwIFtiZ2NvbG9yPSMwMDAwRkZdIFtib3JkZXI6
ICgxcHggc29saWQgIzAwMDAwMCldCiBsYXllciBhdCAoNTM0LDI4OCkgc2l6ZSAxNDB4MTQwCkBA
IC0xMjYsNiArMTI2LDYgQEAgbGF5ZXIgYXQgKDU1NSwzMDkpIHNpemUgMTAweDEwMAogICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIxLDIxKSBzaXplIDEwMHgx
MDAgW2JnY29sb3I9IzgxQUE4QV0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KIGxheWVy
IGF0ICg1OTYsMzUwKSBzaXplIDEwMHgxMDAKICAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICg0MSw0MSkgc2l6ZSAxMDB4MTAwIFtib3JkZXI6ICgxcHggc29saWQg
IzAwMDAwMCldCi1sYXllciBhdCAoNjM3LDM5MSkgc2l6ZSAxMTF4MTExCitsYXllciBhdCAoNjM3
LDM5MSkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoNDEsNDEpIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jQUE3OTk0XSBbYm9yZGVyOiAo
MXB4IHNvbGlkICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMSwyMSkgc2l6
ZSA5MHg5MCBbYmdjb2xvcj0jMDAwMEZGXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LXpvb20tZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC16b29tLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzMzMzQpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtem9vbS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDgKICAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCw4KSBzaXplIDc4NHgwCiBsYXll
ciBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwCiAgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7ZGl2
fSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCi1sYXllciBhdCAoMCwz
MCkgc2l6ZSAyMDB4MjA1CitsYXllciBhdCAoMCwzMCkgc2l6ZSAyMDB4MjAwCiAgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7ZGl2fSBhdCAoMCwzMCkgc2l6ZSAyMDB4MjAwCiAgICAgUmVuZGVy
U1ZHUm9vdCB7c3ZnfSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwCiAgICAgICBSZW5kZXJTVkdQYXRo
IHtyZWN0fSBhdCAoMCwzMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MC4wMF0gW3dpZHRoPTUwLjAwXSBbaGVpZ2h0PTUwLjAw
XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvb3ZlcmZsb3cvb3ZlcmZsb3ct
cnRsLXZlcnRpY2FsLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1ydGwtdmVydGljYWwtZXhwZWN0ZWQucG5nCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgpp
VkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEw
TWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9S
Rmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktO
NnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVK
cQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAx
QTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVB
MUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFH
Y1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FW
dHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFI
QlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNH
UEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4
UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhS
NWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMz
NTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlL
VEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2
VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUz
SHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1O
T1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2
ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFW
UjRBZXlkQ2R4VjQvYkhWNE1pVkhKTmlSdVpHc3doM01nc2N6SmxUTGpYdjNETnJqR1pMbTZHTWtV
eTNwdjVHaEpGRVRLSApGSmxEcHN4RWlxTC8rajZ2NTIyZi9lNXp6dDduN0RPNWEzMCs1ejNuN09I
WnovN3Q4MzQrNi9lczlWdXIwUUkxTVRNRURBRkR3QkF3CkJBd0JROEFRTUFRTUFVT2dEQWcwTHNN
MTdCS0dnQ0ZnQ0JnQ2hvQWhZQWdZQW9hQUlXQUlPQVNNZ05nUHdSQXdCQXdCUThBUU1BUU0KQVVQ
QUVEQUV5b2FBRVpDeVFXMFhNZ1FNQVVQQUVEQUVEQUZEd0JBd0JBd0JJeUQyR3pBRURBRkR3QkF3
QkF3QlE4QVFNQVFNZ2JJaApZQVNrYkZEYmhRd0JROEFRTUFRTUFVUEFFREFFREFGRHdBaUkvUVlN
QVVQQUVEQUVEQUZEd0JBd0JBd0JRNkJzQ0JnQktSdlVkaUZECndCQXdCQXdCUThBUU1BUU1BVVBB
RVBoREU1QWZmdmhCVGp6eFJObGhoeDFrMkxCaDlyUU5BVVBBRURBRURBRkR3QkF3QkF3QlE2REMK
Q1B5aENjaVNTeTRwZ3djUGRnUmt5cFFwRlliYUxtOElHQUtHZ0NGZ0NCZ0Nob0FoWUFnWUFqVlBR
RjUvL2ZXOFQzR1BQZmJJZTR3ZApZQWdZQW9hQUlXQUlHQUtHZ0NGZ0NCZ0NwVWVnNWduSVpaZGRK
ck5temNxSlZNdVdMYVZSbzBZNWo3R2Rob0FoWUFnWUFvYUFJV0FJCkdBS0dnQ0ZRZWdScW5vQ01H
REZDV3JkdUxZc3V1bWpXVjd0MjdVcVBwRjNCRURBRURBRkR3QkF3QkF3QlE4QVFNQVR5SXRBMDd4
RlYKZmtDclZxMWt5eTIzbERadDJtU2Q2ZHk1YzdQdXN4MkdnQ0ZnQ0JnQ2hvQWhZQWdZQW9hQUlW
QStCR3FlZ0p4MTFsbHkvUEhINTBUcwppeSsra0VHREJ1VTh4bllhQW9hQUlXQUlHQUtHZ0NGZ0NC
Z0Noa0RwRWFoNUFuTDQ0WWZuUldubXpKbDVqN0VEeW9CQUxlcHdGaXpJCkJNYnVJUk9QY24wTFA0
ZHlYZGV1WXdnWUFvYUFJV0FJR0FLcEkxRHpHaEFFNXJuc3ZmZmVrOU5QUDEwV21BT1RDeWJiWndn
WUFvYUEKSVdBSUdBS0dnQ0ZnQ0pRRmdacVBnT1JDaVVhRVk4ZU9sVjY5ZWttWExsMXlIV3I3REFG
RHdCQXdCQXdCUThBUU1BUU1BVU9nREFqVQpmQVRrbm52dXlRb1RqUWo3OSsvdkNNZzMzM3lUOVRq
YllRZ1lBb2FBSVdBSUdBS0dnQ0ZnQ0JnQzVVR2drYVltaFpMY3kzUGh0SzdTCnRHbFRXV1dWVldT
eHhSYkxPdVRYWDM4dFBYdjJsT3V2dno3ck1iYWpEQWlZZnFJTUlFZGNJdnd2L2tkNERoRzNhWnNN
QVVQQUVEQUUKREFGRG9EWVFxUGtVckRYWFhGTjIzSEZIYWRHaVJUM2k2RDRnSmgwN2RxemY5cWMv
L2FuK3MzMHdCQXdCUThBUU1BUU1BVVBBRURBRQpESUhLSUZEekVaREpreWZMZXV1dDF3QzkzcjE3
eTUxMzNpbE5talJwc004MlZBaUJQOExLdTkxRFpYNDg0U2hPWldaaFZ6VUVEQUZECndCQXdCQXlC
RkJDb2VRMUl0Z3d5SWlEUFB2dHNDaERaRUlhQUlXQUlHQUtHZ0NGZ0NCZ0Nob0Foa0JZQ05SOEI2
ZFNwayt5d3d3NzEKR2hBSXlidnZ2aXYzM1hlZnZQVFNTN0xPT3V1a2haV05VeXdDRmowb0ZzSEN6
ZzlIRC80SXo2RXdKT3dzUThBUU1BUU1BVVBBRUtnQwpCRkxWZ0ZEMmxvN2pVNmRPZFpXbmpqenl5
TVMzT0hIaVJQbkxYLzRTKzd4MzNubEhmdnZ0dDNvQ3dva3JyYlNTM0hqampVWStZcU5vCkJ4b0No
b0FoWUFnWUFvYUFJV0FJR0FMbFFTQlZBa0xaMjhHREI4dWxsMTRxVTZaTXlYb0hSQ20rKys0Nytm
SEhIK1g3NzcrWHI3NzYKU2o3OTlGTjU0NDAzNUs2NzduTHZqV0t1MHY3M3YvK1ZYWGZkTmV1MWJF
Y1ZJUkNxdC9iVFR5SVBQeXl5L3ZvaXE2NWFOOCtmZnhacAozanpkT2Q5MzM3MHliOTQ4YWRPbWpj
eVpNOGQ5NXZlMTZLS0xTck5teldTUlJSWng3LzR6dXFGZmYvM1ZIYnRSYUNxdktia08ydHByCnJ4
MzhXdjk1alRYV2tGdHZ2VFdqT0VMOVR2M1FwVXYwZWNGalN2VTVmQTlnQXZGZmE2MjFISG5udXIv
ODhvdkRKTmNja3Q1RG1zOGgKMTd4c255RmdDQmdDaG9BaFlBaFVOd0tKQ2NqcnI3OHVuVHQzem5s
WGUreXhoeU1pMlE3NldiM01nUU1IeXRWWFgrMmlGMHN2dmJRcwp2L3p5MHFGREI5bC8vLzFsL3Z6
NXppbk1kbjV3TytRRHN2UHZmLzliUHY3NFkybmZ2cjBjZlBEQnpwa0tIbWVmcXcrQnpUY1gwUm9D
CjZxVFhFWkhOTmhOWlpoblI1eWR5NVpYcHpSYzkwSi8vL0dkWHJybHg0OGJPdVliOC9xUU1pTzhR
aitiS2Vuam41UW5JN05tejgwNkMKOUQ4YVhYckNESm5odDl5MmJkdWFLWUJ3MEVFSHlWdHZ2ZVVJ
MlRYWFhPT0tPblR2M2wxMjIyMDNPZjMwMC9OaUVQZUFVajZIdUhPdwo0d3dCUThBUU1BUU1BVU9n
OGdna0ppQ1hYWGFaaTNDMGJOa3k2K3paNXgyeXFJTlllUjQ2ZEtnY2V1aWg4c0FERDBpL2Z2M3FW
MTZqCmpzKzFiZGl3WWE3WklNUmoyMjIzZGNKem5LbGRkdG5GalovclhOdFhPUVIwMFYyMU9pSlBQ
Q0ZLR2tWT08wMDA5VTdrcWFkRUprd1EKK2V3emtSVldTR2QrRUFxSVJwQnNMTEhFRWk3NkJoR0JO
TEFQQjVrWHgvUDc1VDJmUVVBMmgwbUY3TEhISHBPdHQ5NDZ0TFg2dnM2ZApPMWRtekpqaFVoWlhY
SEZGR1RKa2lHeXd3UVp5eXkyM3lJc3Z2aWhmZnZtbGtrSmxoU2xZS1o5REN0T3pJUXdCUThBUU1B
UU1BVU9nClRBZ2tKaUFqUm95UUcyNjRJVzk2eG1HSEhaYjNGdGJYM0J0SzZONTIyMjB1RWtMMEEw
Y3dycEVtY3V5eHgwcmZ2bjNsMm11dmRZNGsKR2hTaUsyd2pPbUw5UCtLaVdkN2o2QnU1OTk2aXpy
dW9veTl5eGhraTQ4YUpiTCs5NkRNVGVmSkprWDMzVFdkT0VBeFBLaUFXbmh5egp6YWRmRVFIaDVj
a0lLVmg4ejJmODFpajNESEh4UnJyWGE2KzlKdVBIajVmRkYxL2NiNjdLZHhZRElGSDhMNExIWC8v
NlYzbnV1ZWRrCk13MUh0VzdkMmhWeW9NOU9HbGJLNTVERy9Hd01ROEFRTUFRTUFVUEFFQ2dQQWd1
OXBwalhhOVdxbFd5NTVaWXVuejdiS2F5cTVyTXYKdnZoQ1Y3ay9rNWt6WjdxY2ZOS29pR1pjZGRW
VnN1NjY2K1k3M2UzLzZLT1BYRG9ObWhPY202QjE3ZHJWcFdiVndpcDBjTjcvUzUvMwoya3RFczM5
YzVJUDdWaG1DVEpzbTh0QkRJaGRja0M0U3Zsd3o3eFF0b0dEQ3JGbXpISEhndTM5eFZVOVE0c3dB
Qng3dFU1QTQ4OXZ1CjFxMmJmUDc1NTZwdCtWM2NFbWV3Q2gyejNYYmJ5YW1ubnVvaUgwemg1WmRm
RnBwNVBxWGhxR09PT1NiVldaWHFPYVE2U1J2TUVEQUUKREFGRHdCQXdCRXFLUUdJQ2N0WlpaOG54
eHgrZmMxSTRZRVFpc2hrRWhieDVxbVdSSzcvY2NzdTV2UGtOTjl4UUhubmtFYUcwYnBoUQpSSTFG
WGo4UkRqUWwzb2lLb0FlNTRvb3IzT3F0MzI3djFZV0FCZ2xjQkVRem9lVHBweGZPVFRtbDI2NzhN
VFhENmZXT0w3OFZpQUVFCkJLSkJsSU9JQmI4YkRDS1JoSUJjZnZubERhcXRFVDA1Ly96em5lWWt0
WnNvMFVEYyt3a25uT0RFOHErODhrcjlWVmdZMkY3RFVWMjYKZEtuZlZ1eUhVajZIWXVkbTV4c0No
b0FoWUFnWUFvWkErUkJJVEVBT1Avend2TFBEZWNsbHJCcVRuZ0pKMkhQUFBaMzRQTmZ4MmZhUgo5
bkxkZGRlNTE1bG5udWtPKythYmIzUlYvU0JONlRsRHlQT3ZoTjErKyszeTVwdHZ5cHBycmlsOSt2
UXBlQXJWTms3Qk54SnhJZ0VyCmZmU3FOU0RpRUhGQWlwczhxWUI4VEo4K1hZWHZrd1dTN0N1eDhY
dWtFTUpxcTYwbW0yeXlpU1BFcENONTBwSnJLbEZwV3B6NzdiZmYKT29KZDdYMW9JUHBvcHk3UWtG
TVM0cFVMazJ6N1N2a2NzbDNUdGhzQ2hvQWhZQWdZQW9aQTlTR1FlaU5DVWpmUVpkQ0xneXBYK1F6
OQpCNkwxblhmZTJSMGFwL3huZU16MzMzL2ZpV1UzM25oamw3K09BN2pSUmh1RkR5dkxkNm9ISWQ1
bFpabTBIbnFha01xUzFLcHRuS1R6Cmp6NCtrMmtRQlVFNmtZdUFLRTl3RVJJTm1CVnNqejc2aUl1
VVVlNTUzT012eTdOdk5wTHBzOXZJVjAyV2w4WXRHc3Z5emI2VVpSdDkKSk8wYWZ5UmRPcXpnSEhL
aWNCQVFpRW5RMEhZRWJhZWRkbkxQT0VoRXFNYUdDQjBDMmJGangrRGg5WitUbHJDdFA3R2dENW4x
ajhQMwp3RzhWTXArTGdIejk5ZGRDaEFTeTRpM3BQYVQ1SFB3YzdOMFFNQVFNQVVQQUVEQUVhZytC
eEJHUVhMZElXc3ZZc1dOZGVsWGMxQTBpCkJOTTA4Zi9DQ3k5MGZVRklhY0haQ1RwMHVhN0p2bFZX
V2FVKzNZWGMrMG9aRGlmOUZJSUdHWUZrSlltRVZOczR3ZnRKODdObUtjbjEKMStjZVVkdkZPREY2
TVFRRUlrSGExWU5qM3BBeEw3V1M5K2EyRlduVlhKb3VzYWdzdm1SVG1kOWlhZm0yZVNmNVpkWTBt
VGQ5c3N6VAo1aVNzMXJlblBGY2VJOXIzNnF1dlptaEFJQzFFRkxLUmp6eERsbjMzOE9IRDVaNTc3
c2w1WGY2M0VhTUhDVWpPRXlKMmx2STVSRnpPCk5oa0Nob0FoWUFnWUFvWkFsU0tRbUlEZ3FQVHUz
VHZ5ZGhEajl1L2YzNldmUFAvODg1SEhSRzFrdFpuWHUxcVhsZks1U2NoSDFIaVYKMmtiYUZZNHJr
UTl2ckM1VEZqaUpWZHM0U2VhZTVGanRJZW5LNzJyQXF0NElGcW1FUWtYYzladTA0TUhDejRWK2Vt
WHlCL0xvOHkzawp2VmxhVXZaUFd0MUt5Y2VpaXplVHhWbzAwMHBWK2xxMGlUUnIzVlcrL3J5SnZQ
L1pzeTZLUmVOQ05FcTU3RXB0V0VMRnFGcTJjVnArCjdJZ2pqc2dnVVFqUjBiSUVDMEpRZ0tKWUs5
VnpLSFplZHI0aFlBZ1lBb2FBSVdBSWxBK0J4QVJrWDYyTlNzUmhNZXFvWmpFaUdEMTcKOW5RcnBs
a09jVlYyU0pVS3JqS1RnOCtyVm8xTzB1VFVCMFh4a0JHMko3RnFHeWZKM09NZWkwem9nQU5FQ1d2
bUdYLzdtMmovREpHagpqcW9yejV1NXQ3QnZwUFc5OUtySTJ4OHZLWTJXVVpGNWMrM3pzUWdOQ0p2
cTczaFJXVUpKeUdJdG1zdGl6VFVOcVZWMytXcnFEUG5rCmswL2NLOSt6ZzN6UVMrUmhqWnA4K09H
SHN1eXl5d3BWcFZaSXE0bEpZYmNjK3l6UzBraC8zRysvL1RMTzJXZWZmVngvSGlKMy9KK20KWWFW
OERtbk16OFl3QkF3QlE4QVFNQVFNZ2ZJZ2tKaUFJS3dtRmFNRjdhdC9OM1FmNUpBSFUwNXk5ZC80
L3Z2dm5VQ2JGVmJLbE9LdwpVWEdIa3JtalJvMXlJbkkvZGkyOTQ4U3hJdjYwbG5VaUVnSVpvUnh3
MkxuTGQwL1ZOazYrK1JheW4xNGZtaGtWYVpydDQvcUFiTFZWCjVPN0VHNm02OXZyMFJhVDVuNWFR
emJkYlNSb3YxVXkrK0dHQi9LRE5FRnUzYWlHdFdpNG1MWmRZVEgvVGkwdlR4ci9KZDkrdUx6OTkK
TlZvb2FKRFAzbmpqRFJmMXc1RW5jc2VMMzhERkYxOHNQWHIweUhkNnhmZlQ2eU9iMko1TzhTKzk5
SktnclVyRFN2a2MwcGlmaldFSQpHQUtHZ0NGZ0NCZ0M1VUVnTVFINXozLys0NW9IaHFkSFd0YkpK
NThjYTdXVVZBNGF1QjE4OE1HdUdoYXJ4elF1cEM4RDNaaXBZb1hoCnlOTWdMVWgyd3RjZE9YS2sw
TUF3YkRmZmZMTWNjc2doNGMwbC80NEd4RmV2WXZVOEtmbndFNnkyY2Z5ODBucEhmRTRVUkg5TzJn
aFAKWkttbFJLdEdpZWhqVTZjM3ZTN296SmNvMUVkZkx5TGRkbHhPdHR5b2pjeHIzRVMrbWYyYlBQ
UE9YR25aWWhGWmFra2xJYTFiYWlxVwp5Q0s2Mk4rOHcwYnkwNHk3WENHQlhQZUw0MDcvakQzMjJF
TzIyR0lMVjdJVzBrbjBCQUpDSVlScWIwVEl3Z0hrNmNFSEgzUWQzU2tJCjhjNDc3OGo5OTk4dnI3
LytlcXFOUEV2MUhISTlJOXRuQ0JnQ2hvQWhZQWdZQXRXSFFHSUNrbTIxRkVmbTJXZWZkUldCNHR6
bUthZWMKNGdoR3YzNzlYS29IMFJET0h6Tm1qT3ZKUUJvWEZhVG92TTR4Mll6T3pUUXc1UHJlS0xH
S0UwaTZHQ1ZXeTIyRmtvN3dQS3R0blBEOAppdjErN3JtaTR2eTZab1JrOU9tQ3V4SlkwUjRhb21s
cnhZNis4SHgrczdNYkxTWWQxMml0cVZhTGlBWTVaTWtGaldYUjVxcjkwTlNyCkpYanA5WmZVcXMz
S0g2UjU0ei9KaDcvM0JWazRTc05QTTJiTWNPU2piOSsrR1RzaDBRY2VlS0FRSFNFQ1Z1MTI5TkZI
dThVRHlCVC8KTDBRcWlPRFJoREROUm9xbGVnN1ZqcS9OenhBd0JBd0JROEFRTUFReUVWam90V2R1
ei9ydEFFM2MzMEdYckwwR0JLY0M4Zmg5OTkwbgpwNTkrZXRiendqc2VlT0FCbDRibHQ1Tm5EdUdn
aWhWa2doeDZIRHljdVZ6R2lpMlJCajhmamlWeVFxTkRjdkpKR1RPclRnUzBab0d1CnZJdFFyMEEx
ejVxK0pLSlZqR1gxMWRPZHI5TXdLTEZZVWl0ZU5XdmFTQmJNRjlWN05KSVd6WldFTE5KSUZtM1dS
TjlWbDY1WmhVMTEKRGhBVWZ0YzQ0Ym1NL1IwNmRJZzhoSDRqdGZMYkkwcHoxVlZYeVpRcFV4eHBJ
b3BEVTFBYWZhWnBwWG9PYWM3UnhqSUVEQUZEd0JBdwpCQXlCMGlPUW1JQ1Fua0VxUmREaHArZkhq
VGZlMktBamRMYnBFOTFnaFppb0IxcVJiYmJaeHVsQTBJS1F1ako0OEdCSFFoZzNuMUcyCkY4RnMw
SmpmWG52dGxib0RGYnlHZlU0SGdiZmZGbm4wVWRHSVZSM3hVRDVaR211cW9SVWxERGpCVFJiOEpz
MmtzYWdXWFFrSnBFUS8KS3dIUk4xbGNJeUdOZjZFM1NXYlBrcWhKOGZzY09uU28rMytnNFNENkQ1
eDRJbm1qUjQ5MmVxYW84NnB4MndjZmZPRG1UZlJ3NVpWWApMbDNxV0FtZVF6WGlhWE15QkF3QlE4
QVFNQVFNZ2V3SUpDWWcvOVhhcWJ2dXVtdjJFV1Bzb1U4Q1hkQVJzOU5EZ1RLZ0VJOUREejNVCkVR
K2lHdWVjYzA2TWthUUIrZUNreno3N3pPV3dFd21CM0poVkp3SWFORk9OakdqVk1GRzloS2oyUUxR
ZmpNaS8veTFhbENEbE9XdWsKUXpUNm9VV1NwVmtUU2lWcnVwVkdQcHJwOWtXYU5GSVNvbVRrZHhM
U3JGa2RBY2tYQVdHRy8vZC8veWVrTUJHdDQzaklMNy9mZi8zcgpYeGtrUGVXN1NYVzQ4ZVBIeTBr
bm5lUTBMNTA3ZDNhUlExSWY2YzJUZW9uaEVqMkhWQUd4d1F3QlE4QVFNQVFNQVVPZ3BBZ2tKaURM
CkxiZGM1SVRJZHc5V3dZbzhLTENSdmdPVEprMXlmVC9vL1lGOSt1bW56cUdqc3psaWQ5Szk4dGtM
TDd6UW9Fb1A2VnQwWVVjWWJGYWQKQ0dpR2s2aDhSNFhQSWpmZEpPS0RYVnFId0czZlpCUHRGVmg4
MjRtRk42OGxka1dKUmlNbEgwMlVmRFRWTXJ5TGFRaGtjWDJSanFYVgplR1V4SlNCTHFCRGQvMVBF
aVlLZ2tTRDk4SWtubmhDaUNQeC80TFNITzZndm5FaDFmU0xWYk5DZ1FhN1l3L2txdmxsKytlWGRC
Q2t0CmZQYlpaOHZhYTYrdHFXdWFLNWVXbGVnNXBEVTlHOGNRTUFRTUFVUEFFREFFU28rQTk3VmlY
K25ZWTQ5MWpRaURLVmcwMjZPS3pxUGsKMHFoUlFRZjlCU0xXYkhhVU5ucWdxeko5UHlnRml0SDBi
ZSs5OTNicFdkbk9DMi9QTlorLzBWUkNMYzU4d3VQYTk5SWlvSmsrOHVXWApva1J4SWZuZ2lxUmdh
VUJCbEZkcVdsNjZjNkRDbFdaZnlRSnBKTC8rdGtEbXovOU41aXNSMG84YUYyRzc2RGFSZVpxQ2hV
VVJFSDVMClJBQ0QwUkUwRStFTzRRODk5SkRzdE5OT2RRTlY4Vi9TSWIvOTlsczU0NHd6NnNrSDAx
MWlpU1hjQXNCVUxVMldkaFFramVkUXhaRGEKMUF3QlE4QVFNQVFNQVVNZ0R3S0pDUWo1N2VTNUJ3
bUl2d2JPQ2l1bXZFK2JOaTBuQWZudXUrOTBwZnV2cnRjQ2dsZFNwWERpMEc0RQpqZU04UVFsdTk1
L1Rtbzhmejk3TGd3Q0JORFRPcEVJRmpRakkyTEdpVG41d2EwcWZmNFY2S09uUVR1c0xGalNSWHlF
ZytnWFNNWCtlCnlDLzZ2aWdzaEZjVysvenp6OTN2ZEpsbHRLTjZGcU1SSmRFOEluQTQ4dFZzYUxD
SUdCSUpDUm9SRUZJWWUvVG9FZHljenVjVW5rTTYKRTdGUkRBRkR3QkF3QkF3QlE2QVNDQ1FtSUpk
ZGRwbjgvZTkvajF3ZDlqZkFhbW8rKzdjbStwTXYvK1NUVDdwYzgyZWVlVWFHRHgvdQp1a3BURFF0
Q3Nybm01NUJpZGNJSkoyUWRMcTM1WkwyQTdTZ1pBdlFBMGRvRnF2OVplQWw5OUk2VWFGWlE2Z2JS
VUltNWhqYnFPTVp2CmpSckxmQ0loU29LVWt6amVvY0U4K2RrZGwvM3lYYnAwMFpTeHVnSUp6MnNK
TDZwZEJVbnlSeDk5NUtKNVJCZXFuWUJ3bHhkZGRKSGMKZSsrOUdmOW45T2poLzNQQWdBSFpnU2h3
VDFyUG9jREwyMm1HZ0NGZ0NCZ0Nob0FoVUdFRUVoRVFISkl0dDl6U05TZ2pWOXgzTy85UwpjMmx5
clFobnUwZlNXRmhoNVVYelBwdzZTb0lpaWtXWWZ0NTU1N2xtYm1FQ1FvU0Z5QWNSbFA3OSsrY2tR
OW11YmRzcmp3RDZEODNBCjA5S3ZvdnFodXZtbzlsa2IrcEgrbFA3OEZpejRWZE90ZnBOZldlMy9y
WkZHUHVhcms3MmdMdlZLaWNjOFpTSHppTWprdUhhN2R1M2MKNzQ3WjBTbWNTQ0RwaEdIak4wdEtZ
UzBZelQ3NTM2TjBzTy83UVJFSTBpT2owdENLdmFjMG5rT3hjN0R6RFFGRHdCQXdCQXdCUTZCeQpD
T2h5Y0h5RE1LRFJlUHp4eDUxalFwb0pxNytkT25WSzNIVWM0ZTdMMnZ3QlVvUFJkSTljZEZhTmNk
N29qczUzSWh4QisvNzc3eDBwCnVmUE9PK1dmLy95bjBORHdYRHJhcVYxNTVaVk9URXRqT0VpS1dm
VWpvSTlZN3JwTE5LcFdwd2VCa05DVXNCVFdpRWlIY284RkN4ckoKejc4MlZoMklmdGNYT2hEM1dR
bUlmdFR5ME5tdkh0UjFrR3JsZWx0RUhFNGx0cGRvNlY0ak5rdHozOFpxN2h1VnIveGlRS21hZUti
eApIR29FVnB1bUlXQUlHQUtHZ0NGZ0NFUWdrQ2dDZ2g3ajVKTlBkaXZBNUl5VEpzVUtLVldyV0Qz
RjRVTFBrYzhnRnBBRUhMZ1dMVnJJClZsdHQ1Y1lpdWtKRXc1Zk9SZHk3M25yclpReEh5aFlpNEx2
VWE2VW55UnByck9HNnBTTjRaeHNPSXR1T1BQSklvZGxocGFzUkljeW4KTWhKOUlvcXh0TWFoWEN6
T0ptbEVsYmFSSTBXSmE1M3dlNVZWUkpSVHFoaGE1TGJiUkp0ZGxtQjJTallXYU1TRE5LdmZmdnRW
NW1udQoxUzhhOXBpdjRvOWZGelN0MTRMOC9Mc0lQZDhNbGxwcUtYbmxsVmZrN3J2dmRrSnRJaDZR
Y2dveVFJQ2JVYyszQm95ZUpUUVJwUzhQCmpUL3BoRTZaYkVwamt3YVp1cVg4SEZLZm53MW9DQmdD
aG9BaFlBZ1lBaVZGSUJFQmdSRDRNcDAzM0hDRGk0UTg4c2dqTHM4ZHg0dVUKbGppRzQ4WktLNEp6
b2lCanhveHhEZy9rZzFRUUhLRnNLOHN6Wjg2c0p6azRTaGpsZXQvV2puYWtiaEdOd2RDUmtLYmxT
L3k2alNYOApjOXBwcHdtVmp5QnBRWnM5ZTdhcm1IVFBQZmU0T1FYM1JYMU9hNXp3MkRqSzExeHpq
ZmJZK0xkemtNUDd5LzJkS0lOeVJDMVVVRmYxCnFuMzd1aG04K2Fab1dWalJaeXlhNHBmdXJMUUls
dnhDQ0VSSk0wTDBYNTBrdlluTVc5Qll0MnY2bGY1OGZ5RXFRaGdrcGwxd3dRVkMKSlRaSzJhSUQ0
ZmszMWVhR1JBbzMyR0NEbUtOVTdqRCsxMGkzNG45by8vMzNkd1NFMmJDZ3dPK0YveWYrWDlPMFVq
eUhOT2RuWXhrQwpob0FoWUFnWUFvWkFhUkZJUkVEUVo1Q21RWW9HRFFscHdrYjNjbnAyREJ3NDBL
Vk54WjB1SlhJblRweW9EZWUyZDY5TEw3MVVxRENFCkU1ZU5mREEyMFpKYmI3M1ZYZWFISDM1d3g5
S0JldWVkZDY3UHVZZVlJS3J0MWF0WDNPa1VkZHhYWDMzbENCVU42VmhCSmpya3F3cmgKK09QQVBm
WFVVNjVDV0tzY3pTM1NHc2ZmREJxRk8rNjRRNFlOR3lZdnZ2aWlXODFHWEZ3TlJ1cVZ5aW5ra2tz
eVo3UFdXcUw5SjBTMApKb0hzdGx2bXZtSy8vYVo1VnVRYy9venVRMGtHSkdTZXE0SkZCS1NaRTZL
elRRTWlzUTBkRktRT2ZPbUZneFlLOHB0cTc0ellzMGwrCklORXdJblEwSWd3YVdoQVdCQ1pQbnV6
KzU0TDdpdjFjaXVkUTdKenNmRVBBRURBRURBRkR3QkFvSHdLSkNBalR1dnp5eXgwQjZkbXoKcDlO
dHNHM2ZmZmVOMVRTUVk3MlJ1dFc5ZTNmLzFiMW5hM0lZUEFoaExFUUZJNVhMQytFMzBjNTFwQldS
MG9VamlMYkVhME9DNTVmaQpNM09naS91UUlVTWFEQTg1VzB1OTZqaXBhV21OUTJyYlAvN3hEMjN3
ZDVPUXg4L2NidE84Smk4d3h1bXN0QkhkMElyTmtmYnFxNkp6CnJkdEZwSVR2YVFRVEZxaUdTUnBy
MTNNZGVyNTJSYWNmUlZOdFRyaEkwOGF5aUFyUG0yb2p3dWE2OHpkdFNwakVYdFVKUWtDSWZxQ1QK
aWhzSlRIS05VaDBMT1NabE1jcmVldXN0SlluS0V0V0lsUERkUnhpampvKzdyVlRQSWU3MTdUaER3
QkF3QkF3QlE4QVFxQ3dDaVFrSQphVmdISFhSUXhxeEpPU21ua1ZaRkpBYk5SKy9ldmQybHliY243
NTdvREkwUkViRkg5U29wMVR6SmxZY1FoZE5WU01YeEVSMzJVN1oxCnh4MTN6RHFOTk1ZaElvUUdC
cUpCeElWSWxTOGJTN2Z1TDdRTDRNWWJiNXgxRHVYWU1XZU9DQzk2OVFYOVgxS3cwRzVyUnBCR0Zr
VEoKcGdqNmtEUUlTSlBGdE91NXNnNnFYWkZsMWJMRkl0SlN0N1Z1MFZSYUt1bG9wZUwzRmtwQW1t
a2FWbHk3OXRwclhmRURqc2RaSi9wRwo2dExnd1lObDAwMDNqVHRNeFk1anZyejRqZnlaeGl5L0c3
b3VldmtRV1VUVFFuRUk3aThOQWxLSzUrRG5iZStHZ0NGZ0NCZ0Nob0FoClVQMElsSmM1cElRSEJP
VGRkOTkxVVJlRTY5NXd2QTlCMWF6V3BrMGJ2N2tzNzVRRXBpcFhMdEtERTBma0tCY0JTV3NjcXBP
TjBKcTIKOUtRWU9uU29rSzVHTk9TV1cyNXhvdW15Z0pMaklsUzZVamkwRUVGZDN3OE9KUzJLbDFh
RjFWTFBkWitKZ0dqbVgvR21hVmZ6ZjFtZwoxYTYwREs4U0RKZCtwYmxXODMvVmlsaGFlL2VYMzFR
SG9xbFhpK2krWDNST2NZeG1mVmRySy9mRER6L2M2U2Q4S1dxY2Q5TGVhTXBaCjdYMUErRTBRdVlH
MCs0cDBQbjJ3bzlaR2Z1Kzk5MXc2SVJHUVhML3RPSGk1WTByd0hHSmYydzQwQkF3QlE4QVFNQVFN
Z2FwQW9DWUoKQ01pUmlzVUxjYmVQZ2dRUjNYUFBQZXUveG9rODFCOWM0QWNjZm9nRktXRGVjTjZJ
RHVISWVmTXBZLzU3K0QydGNSZ1hweEloUHRYSgpKa3lZNEtJZXJHaFhpOUhqVHJQM05FSlVoaGtw
c1ZpZzVJTytINUFQbWcvTzFUOC96L3RGWC9PVUNEV1hPVnJUb0pIK1IzZ05TTDRlCkdLUmJVV1dO
eHB4QlcwVkROaEJKSW5LMUVBWHAwNmVQKyszNlNGM3dYbEwvWElMbmtQb2NiVUJEd0JBd0JBd0JR
OEFRS0NrQ0ZTTWcKVk0rNlVkdGdzMEs4ZzlaY3BTSldJWWIrQkljdjErcHNuTWhESWRjT25vUFdJ
MXd5bVAyUUkwb1h4M1h1MGhnSERRaFZtWWlBWUtUTQowU09GOUJsV3N1bFJVUTJtUlpka3lwUzZW
S3VQUHhhaEVoWWFlWVRvcVp1R1Z1YitwS1YzbFh6TVV5SXlUNk1kUDgzNVJlWXN2cWcyCkZKd3J6
UmR0TGswMEpVd0RJVEx2SjlXREtIR0VZSVNOZENSZldRMnlpZmJvbDE5K2FWQnlsd2hka0l5R3g2
bW03NUJTOUIzY0cvb3EKQ2lsUTZ0cHJobEtkYTByUElkVTUyV0NHZ0NGZ0NCZ0Nob0FoVUZZRUVo
T1FGMTU0SVZJL2dQQTd1TktmNnk1SUIwSWJnZDZCc3JvSQpwSys3N2pwSFNIQitrbGlhRVlNazF3
MGY2OU5Xd3R0eFpJbENVQmtwanFVeGprOUZnNGlRWG9PRDZYUDNJVUplV0J4blBxVThSck9VCnRO
SlNIZkhZZGx0Um5FUWRZVkVIWDFRNG45NlZJUkpMTkowbmI3N3puYlJic1lYTTBjakhUOW9MWk03
UDgyVDI3TGtxUUc4c2padjgKcE5HUkZ0b1hSR1RXWjE4N1FvdmVLV3lVbTRiUXJiNzY2bTRYNUFQ
OWhQL09SalFWVkQraldXWXRHSlhTemp2dlBFYzh1blhyNWlwZgprVVpHZW1PYWxlVFNmQTYxZ0t2
TjBSQXdCQXdCUThBUU1BU2lFVWhNUU9oNXdLcCtNT0pBcWcrcnB6VEx3KzYvLzM3NThNTVB0Y2VE
Ck5ubUlNQnk3YmRYakpIMEt3MGxtaFo2VjVjY2VlNnlCa0R0aWlQcE5hVVFNNmdjcjRnTjlGSWpr
ZUZ3Z0VxeUMwL0dkSm05eExhMXgKSUdhWGFJMWJuR0hFK29jZGRwaDA3dHpadlZxMmJGbngxQ0Qx
MjdWL2htaERTaEhWY1F1K1B2MC90SnF6MjZZTDhLbjFBU0dWYXVXbApmcFpubi81Q0ZtdmRYQnEx
V2xTK25EVmZaczMrUlN0aE5YS1BScVVnTWxmRElzMS9hQ28vdnYreXJLbmxvUDJ6REQrN2I3NzV4
bFZhCkMyNm5FbGJRaUg1QXJvUEM3dUQrYXZuTS8rNUZGMTBrZSt5eGg1eDExbG42SEJaeHVoWks4
UEs3N2RHalI4eG1GVTBBQUNBQVNVUkIKVktML3gxejNsZlp6eUhVdDIyY0lHQUtHZ0NGZ0NCZ0Mx
WXRBWWdMQ2F2NFV6WnVKY3M3SWVVZDR5enNWZExJUkVJU3ZySzdpb05IWQprTjRmWjJnTGJBVGFO
RVc3N0xMTFlpT1dSc1FnOXNWeUhFaFhka1M4UVZ5b1BFV2FXWkl1NkdtTjQ2Y0sxcXpZOCtLNVVK
M0pDL1g5Ck1aVjRWMjI4cGk2SmFQc1hSejZDYytqYXRTNDFhK3V0ZzFzTC8wd1VhdjBPSXRPbXpw
S0hIdnhRbVkzcWRKWnNKcTFhTnBNbW1tWEYKYitnWERYMjBXSFNPTk5iL2lFVm1UcEcySGRzS1JD
MXM2STRnMi9uMEllSHpxdlU3LzRPUUVQcUFoQ00rRUZZYWZKSm1sb2FsK1J6UwptSStOWVFnWUFv
YUFJV0FJR0FLVlFTQXhBWUVjSUxyTjVZQkJKbklaT2dSU3JVNDk5VlRuR0cvOXU2ZEpyd3hTdkhD
SXdzNVF0dkhTCmloaGtHei91ZGhvemtqZGZyS1UxVHRROElJYzMzM3l6Q3E1amxubUtHaVNsYlZS
OHBSZEljQ29RRWtydlhuRkZYU25lbEM3bHRCdzkKTmxoVXBrejlYcVorcWVLUE9Tb0VhYTZWcjdU
OStaeTU4MFRiZ0tCUWwxL24veXlMZnZ1NnJOM21aOVdqck9sS0dJZm40SCtyZnZ2bwowYU5kaXB2
Lzd0K0pBdTYrKys3K2E5VytyN0RDQ2k3Q1FTcVpOLzcvUm8wYUpTTkhqa3cxall3VXJMU2VnNSty
dlJzQ2hvQWhZQWdZCkFvWkE3U0dRaUlDd3drL2s0bld0a1Vya3dsZDArdkxMTDEwSDZMaTNUOG9W
bmRCWkViM3BwcHVjcG9SY2M4VGs2RU9DNUNOSzRCdTgKVHRvUmcrRFlTVDVEUG9nTTBSWDdZMVZV
dDIvZlhnWFZCN3NtaEpVWUoxdDFNT2FDUmdRclIzVXdkNkdJUC9yb1ZmZFQ5enJ6ekxvRApOTE5K
Q2Fsb05FeTBPRUhFU1FWdXd2RmRxVzBMNmJPekNqekcvU2hUdjlHTGE4clhYSzIrMWF6SkFta2l2
eW4vbUM5dGZuNUh1aXoxCnVYUmJiMDMzL09LVTBFWHNqOVlqV0dTQUZDMTZyVkFWeldOZDROUkxm
aHIvZ3dNMTcrM3V1KzkydldPNElQMWpUanZ0TkZmSkswMGgKZlNtZlE4bUJzZ3NZQW9hQUlXQUlH
QUtHUUdvSU5OTDBFKzI4RU45SVFTRUNzcitXTUdJbGZhdXR0aEljcnAyMG94eXI2M0dOMUNSSwo1
YzZZTWNNMUZhUXExbE5QUGVVY09jWkVUOUZEODgrZmVlWVo1d2hsRzVlVjJqUWlEOW5Hajd1ZHZn
L2t6VU04MExkQWpPaEZncTZGClR1UnhMYTF4Y0N6alZnZTcvdnJyNDA2dnlPTWFOVGhmdGM2aS9G
VkpxTWh6ejlXVjVOMW9vd2FIRmJWaDdOZ3g5YVQyazVselpNenoKczJTU3BvQjlQSytWTkc3UldG
WmVZcGFzc2RRUDBtM2xCYkwrV2l2THlpdXY3TklDSWNLVTJRM2FhNis5RnZ6cWZ2K1FjbExkdkNG
QQpwN3Q0djM3OTNEUHcyNFB2WGJxc0hmeGE0cytaLytMaGUrRGlrR1lJS1ZFeTlDd1FxaTVkdXVT
Y1Y5SjdTUE01NUp5WTdUUUVEQUZECndCQXdCQXlCcWtZZ0VRRWhjc0ZxTHowTzRDM2JiTE9OVUJW
bzBxUkpNbjM2ZEpjNlJScFZYSHZ4eFJkbG80QzNpV0I2NHNTSlRzdysKYnR3NFY0MkhqdDNvVHBJ
YWd2amxsbHN1a2Y0aTZUWDg4VVJwMEF0QXl1aU1qZVBLeWpncnkzMzc5blc2Q3g4dDh1ZEV2YWMx
RG1PVAp2eCszTDhrUlJ4d1JOWjBTYk1za0lOb1VYdlVGRFMvRDltV1dFUzBEMjNCZklWdHdmSWxF
Tkd2V3pEMGJVZ0RCR2dJOWYvNThGNGtqCjJzRXpwSk05cS82czFuTmN1TE45MkhrZk0yYU13ems0
THlLRnh4OS92Qk4zWjR1QUpIWGVnK01uLzV5YmdCQzVpOUlwc1ozN1I4c1UKWlVudkljM25FRFVm
MjJZSUdBS0dnQ0ZnQ0JnQ3RZRkFvaFFzSEd0U3I3QWJicmhCSG4vOGNTRnlnZk1HRWNHWmkyczA2
Zk9kby8wNQpyQ0lUUGVDRjBiOERUVWd1STFYa29ZY2VjcFcwZ3NmTm5qM2JPWkdrSXNVdGdSczhQ
OGxudW8zajBGNnFpdXBnK2hoamRGVkZOWTVjCldEc1FOWDVhNHpEMmYxTHFTeEkxejdTMnFlNVpC
ZkdxQjE4eWMwUWV1V2JqcWJaQ3RJcVVxTjRvYzM4aDM5QXNzYW9QSWVBWlFVYjQKVHFTSTczNGIz
ekhJaCs4TW51dDZVVjN0U1Vta21odVJFTXJhVnJ0UkxRMjlTampkQ3JLRlZtdUxMYmFRdG0zYjV0
Ujl4YjNIVWoySAp1TmUzNHd3QlE4QVFNQVFNQVVPZzhnZ2tJaUNMTDc2NFM1ZTYvZmJiQmJFMC9R
KzIyMjQ3NSt5eTJ2L3d3dy9IdXFQdnYvOWVLQk9MCmswZXpNOGJZZnZ2dG5aTk9TaFVWbXpEU1g2
aU1sYzIrK3VvcnVmRENDK1hvbzQ5MmpoSlJHWjlSaHZQSDZpMXBYYVNWdEdyVkt0c3cKUlcrbjFD
b1JqcUM0RzBLQ0h1UUtWVlRUaVR5T3BUVU8xL0k0aEsrTGc1MmtMMG40L0RTLzY2UFI1eU5LRkRO
SEpTbFF1WUZHRVVUNwpsNGhHM1VUN2JHUWVVK2czSWh1UURZaUlKeU9lZ09BYys4Z0h2ODE4QmtH
QlNHTThmeDh0Z2RoY2RkVlZraVFhbU85YXBkei84c3N2CkM2OXdZUWwrUTl6THhSZGZMQjA2ZEhC
bG5kTXFLNXptY3lnbE5qYTJJV0FJR0FLR2dDRmdDS1NQUUNJQ3d1VXZ2L3h5Z1lCQURQYmIKYno4
M0k3cVJVNDBxcmtFR0lDeUl0TWVQSCsrSUMzMHFFTCt5NHVvSnlOTlBQeTNycjc5K2c1VlpmeDJj
UHZRVlE0WU04WnZxMzRrQQpyS1V0dGN2aEJPTFUwMGlSMTVtL0s2clJ4WEFmVkFTTEkyWm00bW1O
dzFqVlVoMk11V1N6RTArczYvMmhHVThaZHUrOW9qb00wV2NuCldwU0EzNXdvcmhtSEZQMEZaOXNU
RHB4aC96M0p3SnhIcWVrRER6elFWY0pDZUk3dUE0TGR2WHQzOTBveVhxV09wU3p6Z0FFRE1rcEkK
TXhmU0lLbVNSVG9mRWNWYmI3MjFYcWllMWx3OTdtQlo2SE5JYXk0MmppRmdDQmdDaG9BaFlBaVVC
NEhFQklUVllrOFEvQlI5Mm9yLwpIdWY5bEZOT0VRZ0dEaHN2VnB4Wm1TZW5udWdCNlZla1RvMFlN
Y0x0enpibVAvLzVUeWVlOWF2UC9qZzZyYk42V3k2amtkdTY2NjdyClVzYlFyZURVY1Y5QmpVdWN1
YVExVHJWVUI4dDF6M1JCRDVNUGp0ZWZtSXVBOFBuSEgwVzFRSHlxUG9Ndzg0ejVyUkV0Z0VUalVJ
OGQKTzFaSXA2TmFITTU3dFJzTENjSCtOWDYrL0svNy82R2ZmdnBKM256elRiL0wzZzBCUThBUU1B
UU1BVVBBRUNnWWdjUUVwT0FyaFU0YwpPblNvUzd2eW0zRjBJQndiYkxDQnk4OW41WlVLV1VSRWN0
bXl5eTRidVpzYy8zSWJWYWQ0WWNYay9xY3hUaW43aVJTRHEvWkNWS0lwCldzaEFuTTRqYWl3dEhG
WnY2RVRhdGF2L1dsVWZJTjYrdU1DOUdyYWhxQUpGQ05CU29BT0prOFpWcVJ1aXdTRFZyaUJQN2JJ
QVRIVXYKYitoRXZQN0xiN04zUThBUU1BUU1BVVBBRURBRUNrR2dZZ1RrdnZ2dUU2SWdWS3BDLzhG
cjg4MDNkdzNRampycUtIY3YyYXJ2RkhLagovMnZuZ0d1VXZmSEdHOUt4WThlb1hTWGZwcGxKR2hF
U0pab1VHQkR0bFNGYXFyZ3V2ZXJLSzBXalhhSlJKSkVUVGhEVjdkUk5SMnNkCktDRXQrZFFLdWdC
RWd5Z2UyaWZTbGZiWlp4L1piTFBOWEtkME5DRER0RFJ6TlJxOWRvaDZRUGFwYkVlNklHbVJSeDU1
cEdzK0NIbEYKbzBVVWozTEMyTG5ubnV1ME05VjRQelluUThBUU1BUU1BVVBBRUtndEJCS1Y0VTM3
MW1iT25Pa0U3TU9IRDNjcExCOTg4SUhUUWVBZwprUTl1VmpnQ09NSzllL2ZPU0syaHcvV0REejdv
eWh3ek10MjZQL3p3UTZkaktQeEs4YzhjTmFxUjNIS0x5RjEzaWZaSkVYVnU2MGdICktWWnMwMVl5
YnRzREQ0andDclhnaUgraDBKR1VmNlhDR2k4S0tmQk95aEVpZEYrYWwyaUcxeU1RdVFBclhxMWJ0
ODRZTFZ5R2wyTkkKRzhTb2lFWGFraS90bTNGaTZFdlNFcmFoMHhOK1ZWVi93SzVVdHZlQUFrelZO
cDQvdldvb0cvM1dXMis1OURHcVhpRTJwOG9keDRZeAo4RU1sdlljMG40T2ZnNzBiQW9hQUlXQUlH
QUtHUU8waGtEZ0NRaTQ0Szc2SXc2bGdoVkg5Q1djdXFaSFNjWUl1ZDlQWWtISzVrQTVXCll0R0E0
Q1RHTmRKSjZFL3l5U2VmYUxXazFaMEFPMXNFSU82WXRYNGNlaHJLLzBibDlrL1ZQQ2dxZy9FK2Jk
cTBzaEVRNVp0T1dBNjIKMnZMRkdiVUw5UEZwTVlLNmlsZHNKRUpDbWxZd0ZhdnU2T3I3QytFSU44
S0V6TkJBa3lwdVJCS3F6YWdlMTRueVltcStjaHNrQkRLQwo1b3FLVnhnUkV0SzBncWxZYm9mOU1R
UU1BVVBBRURBRURBRkRvQWdFRW9jWlNKUGFhNis5bkFQNzVKTlB1dFZlK25uNHRLbEM1b0xEClJp
VXRSTnowRlVsQ1Bramxvb2thMWFjb2QwdFBFSnhyeGltbDBmVTlUcCtJMjI2N0xkRTBzdlU5SVhV
cWlWMTIyV1ZhUWVvSHAwVkEKanhCOGdROUdoYTZSSTBjbUdiYW9ZN1hCdmN5WlV6Y0UxYTJvRVFC
dnBkK0h0cGx3QmpHaENwWldVSzRKb3dJYmtTYWZSdWpmU1MrawpZU2ZsYmF2TktKTGdpUWNMQ2hC
L0lrRkVQbnh2SHZaVG9ZN21qR2FHZ0NGZ0NCZ0Nob0FoWUFpa2lVQ2lDTWdjOVI3ZmZmZGRlZUtK
Cko2UjkrL1pDRTBDRTQvVGFtREJoZ256MjJXZXViR2VoRXlTVmhaUVBLbHV4c3B6UHFEeUVrd2Nw
dXVtbW0rbzdObE9kaU8yYmFKdnQKVXZYLytQampqOTMxRU10bk16cTdzNnE4czNyWWNSMjVZNDg5
TnBYVXFmNWFZb3BLV05VVUdWcHROWkhQUDY5RDY5dHY2WjFSOTVsdQo2RjI2MUZYRWdtZHBldzNW
SEdSRHRYcTJmNnMzY2YzMTE3dUlHOFVRK0QzeXdxZ1l4VE9IRkJPVld6TGNiYkdDdDdHeTFqaW15
aHhHCnlXQmZRUTRpVHhVMkZnQ21UNS91N3FXWWhZVUszcUpkMmhBd0JBd0JROEFRTUFTcUdJRkVC
SVIwSHFybTRQQlR0WW9WZE1TM3JQcFMKRFlpSUNKR01PRWFlUFZFS3lwWFNNd0ZoOUJGSEhPR2FF
c1loSDF5RHZndXM3Rjk5OWRYMTVJUHRPSDQwSnlTYVFKUERVaGtsZG4yNgpDcDJ2aWVDUWR1T05K
blhrMG4rdVhuZGNBcEpXNmhTUklJVEdyR1F6VDhnSVRSdHBqc2p6cXBTUlZxVlZhcDNtUXdNSHpo
Q1pVeDFMCjI4dW83a0kweFU4MGRheFNNNHgvWFJ6M1hyMTZ5VC8rOFk4R0o2RzFvWnBadFpiaEph
MEtBVDMvZzl0dXU2MmJQLzkzVlBNaXhSSWQKQ3dzTFNhS1JEVUN3RFlhQUlXQUlHQUtHZ0NGZ0NF
UWdrSWlBY0Q3cFYvUUJJZktCVFp3NDBla0ljSGd2dU9BQ3R5M09INGdCNTFKSgppRlhZdi8zdGIw
NFVtNlJDRXpvUEhQeHdLaFFSRUhveGhIUHo0OHdyN2pIb1gwNC8vWFIzT0UzYUVEZWZjODQ1RFU2
bk1oTFJvcmhHCjZoU2FHQVRSMlF6aWw4c3FHUm5LTlMvMlFVQTBpS1pSQTFGdHdjS2pTY1hTb2t2
T3FJeFZLOGF6NHZjYmpyU2hrYUs2VkxVYUJJUXkKMTBUbmdyMXFTTVhhZmZmZDNiVEQ5MVN0OTJM
ek1nUU1BVVBBRURBRURJSGFRaUFSQWFIaUR4RVFPbnV6ZXVxTktBYmJ1M2J0NmpmbApmT2Q0WHFR
blFTS0lmSkMrdFpPV1FTS2lnaVlrcnRIeC9NWWJiNVNMTDc2NC9oVElFYVNFeWo2bHNqNTkrdFFQ
VFdwYXRqbmo1QkVaCjJtYWJiZXFQei9VQmZVWVUrYUJpbFhjTWM1M1B2a3BIaHZMTmoxUXNYbHAz
UU5QTkdoNjk1NTRMdDVHcTlmenpWSmhhdUsyYVBoRloKNGpkSWFtTFFpSHFSbmxYTlJpb1dyMGNm
ZlRReVV1Z2pJOXdESkl1aUJYN2hvWnJ2eStabUNCZ0Nob0FoWUFnWUF0V05RSHhQWCsrRApGSTA5
MVR1OFJXdXBSam5KY1crVk5DVWNjcStmb044SERkeHdzaUVTYUV2aUd1bGdxNmszRyt4dlFTV2ZM
aW9xS0dhT2NhL1BjYVNmClFjZ29KMHg2RTFFWnlCWHBUcytyOTV5a1FoZ1JKb2hjTUEyTnFtQTB1
VU4zRWtkTFVNbklVQkxjeU5hamIyT3VkQ3VrQ2oxN1ZpY0IKZ1pDZmVPS0pzdDU2NjdsVXJQRHZy
YTFYMWljQnBRTEhjZzgwL015VmJrVy9FTWlIRVpBS1BDQzdwQ0ZnQ0JnQ2hvQWg4QWRESUJFQgo0
ZDV2b0ROY2tVYmFGU2xNT05hKytnN2pJaHd2Wk5VWWJRcjU2aEFQSEtsdy80c2lweHZyZEVnWmVn
RHVBVUpDcVZOSUJLbGxTWncyCnNLSHZRckFQeXFlZmZ1cnk5Q0VnY1ZQVUtoVVppZ1hXN3dkUm9a
YklodDV5dmFsc1JxTkpvdmRadjZsZXJMNXdTM1Y4UXNjRUlTUnQKTGtnWXEyTjI4V2RCaWlDLzBT
QUJJVUtKenN1WDJtWTBMMWFQUDdJZGFRZ1lBb2FBSVdBSUdBS0dRRU1FS3RhSUVOMEVsYlBJUVNk
ZAppblFQSWlHa2V0Q0pPZWlBTjV6MndpMnZ2UEtLRzRNVUxvZ0lUaFRFaHZLM3BkU0FMSnhCNWlj
cWhGRjZsZWhPVDEyNlQ1cEhUOFNFCjZsMUJ3OUVkTUdDQVhIUE5OWW1pT3FRQm9VUHdwSVVvQ3BH
aHFONGd3ZXVWN25PbXJvVUdoQm84YUdDa1pXbGJGMWVtdDhIT0FqYWsKMlFBdjNJandra3N1Y1pv
b3FtQUZqU2FiVkpyS0prSlAyc1F2T0hieXo1bU5DTVAzUU1XdXRkWmFxOEd3VkdUai9pQWlVWmIw
SHRKOApEbEh6c1cyR2dDRmdDQmdDaG9BaFVCc0lKTzREa3RadElkcUdmR0NRRGZwNVVFWHEwRU1Q
alUwK0VGc2ppT2NjQk8ya2llQnc0MkFSClVhRVBScm5NOTlOQTNIdmNjY2U1Q2xTUUQvcUZKTEhn
S3JRL0R3ZVFpRXEySGlIK3VPQTdqUjFKeGZMa2czMklqWVBrZ3pLeXZvdDMKOE54eWZmNjlZbTJE
eXhFQm9SRmh0UnNwV1BUUk9QTElJMTB6eDJPT09hYit2VisvZnZXOU5xcjlQbnpwNFBBODBUWFJp
TkRNRURBRQpEQUZEd0JBd0JBeUJOQkZJbklLVjFzV0plaURPZnU2NTV4enhRQk55L1BISEp4b2U0
Vy9mdm4xZEhuN3dSRkpLcUU1RWRJVG1hdVV3ClVxK0dEUnVXSVVaSERFNTNka29UUnhHTHFIbWhB
ZGxSODVLQ1JJR2VEQkEwWDNVcjZyendOcTVKR2RqZ09PRmpXS0VuU3NQMUttRlUKd3RwaGg0VWFF
QWdKV202OVZiM1hTc3dvMlRWSnUwTHIwMGJMZHBGS0dEUTZqZGRLeWhKTkU5RlMrZDhvaElUaUNa
U1dwa0NFbVNGZwpDQmdDaG9BaFlBZ1lBbWtpa0JvQm9aSU9LKzQwTTR0aisrKy92MnVTUitvS3FV
SUllUkZ0WjB0WmlScVR5RW0yNDBrcmlUdVhxTEdUCmJxUFBCMmtzUVljZllUcTZFSnpVTlJFOHhE
Qnk3K2tGRWt4N0FWYzBKcFIyald0Y0QyS0Jwc1FiZlVsWTFRNUdSZENyVk1xMGdKUnIKT2hnVW9X
c1dubFkxRTMxMjZjNEtwNW9YeERmODh2dTRvdi9zajgwM0M0Z25uY1ZyMlNBYjNHK3dXTUx5eXkr
dnpTRFBqZjI3alh2LwpIdC93TStDNzM4ZFkvalB2N0RNekJBd0JROEFRTUFRTWdUOE9Bb2tKQ0JX
cTZQbEJ1bFBRMEhSQUNFajl5U2U2WnVVZHA0Y0lBUTd3Cmp6LytLTGZlZXF0THB4bzllblI5ZGF6
ZytGR2ZhUUpJVHd3MEV0MjZkWFBPUHhFVnlCQXBVWkNRY3RubGwxOHU5UHdJR280VEVRMnEKWXNX
MVVhTkdSWlpFalh1K1B3NFJPcVF1YkFqMFR6NzU1QXlDRXo2bVhOOVY2cU02blhKZExkT3BEVHU0
UEN0SW4zZUVtUlhINUxOcwo1SU5VUUpwa3hpV2UrYTVUeXYzOGRudjA2RkhLUzJTTUhjUSsrQm5z
QzMwT0dSZXdMNGFBSVdBSUdBS0dnQ0ZRMVFna0lpRG9FT2ltClRaZHhxazE1NTRFN0pOMkpsQk9x
VWRITElwZjRtc3BCcEFqNTFYZjZpdnpmLy8yZkU0MWZjY1VWaVJvYURodzRVSGJiYlRmWDZSc0gK
RWpMQ1BPNjQ0NDZNMWY5U1A0VXcrZUI2Q09NcExVd2tKRzRma0d5NEJjc014N21YYk00ekVSQWlM
UGxJWXB4ckZIdU1CbllpN1kwMwpNcXRnUlI2VWNLUEhnM2Z2NlBKYjhaOTU5OFpudjg5dmkvdE9B
UVNhWVBJN0pvSlFDMFpaN0NnajlTOVlCU3ZxbUtUYnl2VWNrczdMCmpqY0VEQUZEd0JBd0JBeUI4
aUdRaUlCQUdCQjhEeGt5cE1FTVdYRW5CV25ERFRkc3NDKzhnWHg1OHVkeDhvS3BSdTNhdFhNcFZU
Z3AKNFo0SzRUSDhkNjZKNlB6QkJ4K1V0OTkrMnhHakhWUllFSzVLNUk4djVmdVVLVk5jR2hubGN0
R2hISGpnZ1c1ZVNYUW9WQjRLbHhGRwo3TXo5RWRuQklEV2tkU0Y2em1ZSHFNQUNISHhLR0ppaW1V
bXFKY2syZmhyYjlWWmRJOEpnQ3BiZXF0NnI2TDNXWFVGdlZlOVY5RjZMCnV5S2tBZ3c4c2VEZHY0
amM4WHZ6enJFL0praEs4bDJkVXNsM2F1a3VLcmdSMGF1RnlJZS9wNHN1dXNoVm9mTWFFTGJQbno5
ZnFPaEcKYnhzTVBRajN5Rys2R0N2MWN5aG1ibmF1SVdBSUdBS0dnQ0ZnQ0pRSGdVUUVoQ245ODUv
L2RCV25IbmpnQWRjWUQwZjc0SU1QZHAzUQpnMlFpMy9TcFhrVVozbUJrQUVkbzFxeForVTdOMkU5
bEtOSmdhSkNZelhBc09TNWMzamJiOFlWc1I0RGV2MzkvUnp3b0tVeVU0YTIzCjNwSmRkdGtsVVk4
SXpvUEllT0lRbkF1ZHFJa3U4VDV0MnJTY0JJUU8zVGg3d1hFb2MwelgrSEpxWTRMekQzL1dXOVY3
WFNoQ0QrN1gKVzlSN0ZiMVgwWHN0am9CQUtIeDZGWmp3SFFlYmJaQTdUM1k5RVdFZjIzbmxzMmVl
ZWNhVmZNWlpKOVh1c01NT2N4M3JpZktSZ2xVTApScVVyeUh0UUErTG56ZlkxMWxqRFJSalJFQlZq
cFh3T3hjekx6alVFREFGRHdCQXdCQXlCOGlLUW1JQ3d3cHZOMFNZNkV0ZHcwSUxrCmcvTndtcmZl
ZXV0Nmh6RE9XTXlsVDU4K09aMzhEejc0d0RtVHBTSWdwTjBRdWVpckZibm82RTUwWjlDZ1FVSjZH
TnZvUitMVHpmTGQKRTAzdHFPRGxuZUtvNDlHOTVET2VVeVg2b09TYUYyU0NxTWY0OFhWSDZhM3F2
WXJlYS9hell0eHE5cE4vM3dNQmhWUjQ4dUhmMlFiTwpQdnJoTWNkUmprTkFlTzVFMzNEU0lkU1VY
eWJGelJ0QzdtbzA1Z3ZacDNFbmhpYUl5SWEvLzZnNTAxQ3pXQ3ZWY3loMlhuYStJV0FJCkdBS0dn
Q0ZnQ0pRWGdZWGVVb3pycHVsbzMzMzMzUzVOaFJWOWIzUkJ4eWxNWWkrOTlKSkFNUEoxb2s0N2x6
MDRSeXBYZ2MybGwxN2EKWUI1ZHUzWjFFUTJJVlJ5RFVFVTVna21yakZVYitlRGVJUjZiYnJvUUJi
MVZ2ZGVGMy8wbjdVV3BHaUwvcmZoM1R6QTg0ZkNSRHI4ZAp4eGhTd2p2YklCODh6M3hHS2lGVnNB
NC8vSENuODBFZlJVbGVORWtRVGpSQWxFS3VOcVBaSlQxM3ZPMjMzMzZSdnpuNjZMQlFrSlo1CnZO
TitEbW5OejhZeEJBd0JROEFRTUFRTWdmSWdrSWlBcE9Wb1V3V0xGVmRXbW5IVWlJUnN0OTEyN25Y
eHhSZkw0TUdETTFhU2MwRngKOWRWWE93RjdybU5LdlkvVUcrN2o1NTkvcnI4VURpeGxoUkVqUTVM
aTJ0bG5uMTEwbGJHNDF5cjNjUjA3aXFZbGlhYlppZmFjcUx0NgoyTThIUW0zNEx2LzRSOTErZWts
cXJ6OHQ4Vno0YklsSzBEQVF3d21Hckhvbm1HMlFENzU3RXNLeisxNVpFSVVXNGhpRXBudjM3dTVG
ClNlbDc3NzNYUFVQNnRsUWpBWUdNVTZVTHJZcFB1d3FubTRFQmhSd2dWeGhWN3ViTW1STTdraGVG
VzZtZlE5UTFiWnNoWUFnWUFvYUEKSVdBSVZCOENpUWhJV280MlZYZHd6T2xUUWY3NXVISGpCT0pC
Q2hkT0NqMDF6am5ubkZob2tYTWZaUWhtV1lHT0k0cVBPai9KTnVaOAozWFhYdWRlWlo1N3BUc1hC
SXkySGRDbXFmTVd4dEtxTXhibFdKWTVSYVl5bTc0bHFoaWh4bTMwR3lnL1U4UlYxZHV1MEg2UnVU
WnFVCi9maDhlM2crT00rZWRJVDFJSHduK3NFTEVvbGpqaUE3VzBXeVhOZWpad3VkMGFtS0ZpNVZu
ZXU4Y3U2alpQVjU1NTBubE5UT1plQkcKUVFTcXlxSDlJa1VTVWxLb2xmTTVGRHBITzg4UU1BUU1B
VVBBRURBRVNvOUFJM1c2Y3JpQ0RTZEFGU1ZFME43UnBud3VBbXdjN2FSbApSeWVwVjBtS2tqZElB
K05CUUNBblZITEtaK00xcjJmbzBLSHkrdXV2Wnh4S0pTcUlUVG5MemI3Ly92dE9lSXdvbm40a09M
WWJiYlJSCnhyenlmWUZRK2R6ODRMRkpxb3dGejZ1dXozWDVWdXJmQzZWMnRhcHpWZ00yQ0FnVnNM
NzlWclNuU2RaRDgrNFlOKzVSUjJ5cEhFYjAKZythTWl5Kyt1TnZHZC80RldQSG5OWGZ1WFBmY0lL
NGMwN3AxNjR6eDBYekVNY2d2UkdiMTFWZVBQTHhMbDRXcGg1RUhwTG94ODEvYwozd05SSVVydGZn
dkFXYXhMbHk2T2dQQy9TWUVJcXM1NVMzb1BhVDRIUHdkN053UU1BVVBBRURBRURJSGFReUJSQklU
YjIyT1BQVnorCnVLOCtkY2doaDBpL2Z2MFNPOXBVMUFrTHM5dTJiZXVxYWNVdDlZbkRTRCtSelRi
YnpFVlBTSVVKV3Z2MjdZTmZTL2FaMUIycVVtRmUKYThJcWN5RlZrUGJlZTIvbkVMTHFIRFFjUVY1
eHpUK2ZYTWZqZUplNk9salU5UWtJUVRCVUJxU05HcU9PV0xnTkVrSUVwQmdDd24yaQp6VUN6QVZF
bHZRcHk0ZE9QdUJxUkR4eHl5amZUY1o1MzBvNlNHdjFhaUJKUU52bXFxNjVLZW5wWmo0ZUk4WnQ2
NUpGSFpQdnR0ODk1CmJZZ1lFWkFnQWNsNVFzVE9jajZIaU12YkprUEFFREFFREFGRHdCQ29FZ1FT
RVpDMEhHMGNRUG9rb0FIQllVZi9nUU9FVUJzbkphNXgKUG1reUNOcHhMaXRsRUIrSUdkV3I5dDkv
ZjljdllhdXR0bko1OWp2dHRKUGNmUFBOc2FkRzZsa2FmVUNxb1RwWXZwdW1hSnBtNG1uRQpJZnVS
bjN3aStyc1FMV2VjL1poOGUzZyt2RHFxQ0FWUk5TU0IxWHgraDZSbTRZaERVQ2lJZ0RnYmNrSzZW
bHhqakRGanhyZytJRVFYCklEQUkwV3ZGaUY2T0hEblNZWlJ0emw5ODhZVXJZNzNsbGx0bU95VHY5
bEkvaDd3VHNBTU1BVVBBRURBRURBRkRvQ29RU0VSQTBuSzAKSVEyVXFLVi9DQ2xVRHovOHNPdWZn
Rk9JOEJmdEJFWUhjWnc1SE1Rb284Y0Z6anJhQ2FJblFTTUZDMEZ3T1RRZzVQcFR5cFNLU0JBbwpS
UFdJblVuSklzVUZFWHJjZWFUVkI2UWFxb01GbjBmVVo0VGxGR05TcUxSSm9tajZrK2lLZk9hUkZF
bUxxUVhQUERId0RlTE1DdzBDClVURTBPVVEzSUsxb1BYZ1BmZzZjbXZNakVUaktKdE1Za3ZONzll
cmx0RXowVzhGSXdhb0ZRNVBGZ2dDLzJSa3pacmhvVURoMWpGNGcKeFRiM0xOVnpxQVdNYlk2R2dD
RmdDQmdDaG9BaHNCQ0JSQVFrVFVmN2xGTk9jUVNEOUMxZVJETnd2bGxKeHJHalVoYjZEZlFRN0k4
eQpLdmRRS2hTOWlFOTk4c2VSYWtQVHZYSVlPZ0xmOCtHR0cyNlF4eDkvM0tXMTRPaVNPNTlrTlQy
dFBpRFZVQjBzSC9hMzNscFhsbGRiCmxtaVVTTlFKRmpuK2VOR0dmdm5PVExZZng1b1g1cDhWNU1B
M3ZRenVUekl5cEFPeE9XU0daMDA2b1A4ZGZLS2hHd29SQk10TUp4bTcKbk1jaU1GOVBjOXpRVEVH
bTJpdEpZM0VnVE9xTG5WTVE1elNmUTdIenN2TU5BVVBBRURBRURBRkRvTHdJSkNJZzNtbGdpc1U2
Mm94QgpDc3paWjUvdDlDT1FDQWlIRjQydnNNSUtialUyVnlsVTVrTmVPaXV6d1h4K3h0NWdndzFr
bVdXVzRXUEpqWlNkc1dQSHl1MjMzeTQwCkFFUklUMW9ad25FaVBVUjQ0aHFOQ3htRHlJOG5WZWdU
d3ZlWGJ6ekU3SFJVcHhRdzBTRHZWQmFUdzUvdm1rbjM2MlBUNW4waVYxNHAKY3Y3NWRVMEtOWkRr
bWhVaTUxbDU1YVFqWmovZUV4RGVpZVJSNklEUHdmSzgvcGdrYVlDVTJTVnRidWJNbVE1cnhvT1lq
Qm8xeXZXRgp5VDZqNnRsREJJVEdoTGZkZHBzY2M4d3hMZ0o1eVNXWHVIZXc0bjh4TGZNWXAvMGMw
cHFmaldNSUdBS0dnQ0ZnQ0JnQ3BVY2djUldzCkFRTUdPSkUwVGpLUkNWYmFnNDUyT0hVajJ5MlFJ
Ly9XVzIrNU5CV2lCSFFwdjFXWHhPT2U3OGNsMm9EZW90SkdOQVlDZ3RIWURYSkUKNUlPMG55UUc4
Wmc4ZWJKTE80TzRJTEJIbjhDSzlKVjQ2akdOeW1UQmp2VVFOY2JaUmNVVVNUcld4N3hjek1QcW9o
RCtZT1Z0b2xsMApjdGRkb3Mrd2JpdDlQNUFaRUJFSjlLajBweFQwVHZVbG5HaktTUE5jY0g1NStV
Z2JoSUdYVDhlaWVoblBqc2hHbkNwWVBIdFNDZSs4CjgwNTU4Y1VYWGRTRGE2RUw0bmNkWlVrclNF
V05FWC9iZ294RGZSVXN2NUZLYlJCY0dtbFN3UTNqM2lIRDV5c3pKUDBxeXBMZVE1clAKSVdvK3Rz
MFFNQVFNQVVQQUVEQUVhZ09CekxKUk1lWjgrZVdYUzgrZVBXWDQ4T0V5Wk1nUWR3YXBKKzlxRW45
YzhrRFp6eDEyMk1FUgpFRkpWS0k5SzVBUEJkdExLVWVoQW9tekNoQWxSbTB1MkRjY1dBVE1saXFr
TVJvOEZNRWxpaUprNTU0a25ubkJDYVhxTHNBTDkxRk5QCk9Xd3A3UnJIY0t5UFBmWlk1MEJDOGhp
blI0OGVjczg5OTdpeDBjeFVnOUh0WExQdTZza0hjNkx4aTd1blhnQUFJQUJKUkVGVTlsbG4KcFRz
N0locWsrUEVlakc3Z2RFTVl2UG45L3QxdnovWU96dndQYktzTlRraGo2dFNwazFDbUdrRTNmVFln
SWJWZ3BJK3hpT0RKQjNNbQpxa2Mva3pRTlhFdnhITktjbzQxbENCZ0Nob0FoWUFnWUFxVkhJTm55
dk00SFI5dUx4UDMwV09WLzlORkh0VnYxY3JMT091djR6Vm5mCkVaVnpyTGVWTmRlRzd1ZVVvR1hG
RlpJVDF4Q2hJL29PUmhwSWc2RzhMS3YrckdhWHc4SVJCL1FzT1A5SklnNlFLVERZZlBQTjNieXAK
VGtSZVBoWENLRm44NUpOUE9wMUJ2dnRKcTJOOXZ1c1V1MThiaFN1eGFqaUtjaVhYL2J6aG51SzMr
QlFnUm5yNzdiZTE2L28xTGxXdgpjK2ZPanV6NTZFand1R3hYSldwQ0pBOGlnaFpwaXkyMmtBNGRP
cmpEK2QxNVBVaTI4NnRsTzhVVG9zZ1NrUkg2b3BUQ2d2Z1creHhLCk1UOGIweEF3QkF3QlE4QVFN
QVJLaDBEaUNBZ3Ird2hXMjdkdm4vR2kvQ3k2aDRrVEorYWRMU3ZQTDcvOHNvUlRRVWhYSVFXSmFq
bHgKalJWVlZ2U0puUGdYRGcxYUJ5SXI1YkEwSXc1N2FXTU1DQjZwYlk4OTlwamNkTk5OanBDUk51
V2QyM3ozaERNSllVRTc0bzA1b2dlaApBMzF3cGR2dnI4UTd2VUNpak41L3ZxaVpMcHJMODg5SEha
VnNXekR5NGMrOC92cnIzVWR3OFN2emJJZzYxcDhUZmtjRGN0SkpKOG5wCnlxYW91bmFXaG04b3Uw
d0ZOMUxwYXNHeTlaZEJKK01yWDRFSm1xSmlMUXJiTko1RHNmT3k4dzBCUThBUU1BUU1BVU9nZkFn
a2lvRGcKNkY5NDRZVnk5TkZIdTNLNU9CUGVvWGpsbFZkY3gyVFNoYWo4UTZuZFhFYlpXbGFNRVo4
am1LWU1LQVpwZ0lDUWVoVEgwRjJRWGhRMApIRy9FN1Y3RUhkeFhpczlwUlJ6UUVoQUJJU1VHQjlZ
YjQ3TTkyRFhlNzR0Nkp4cEUyaFV2MzdHZWlrd1FHNklxakY4TjFyKy9TSjgrClJOV3l6K2FERDBR
VUZ0VlNaRDhtM3g1K1MrSGZFNW9OaUNyMmdWNkU2QktwaFZod2RkNXRpUEVIVXIzcnJydTZGK05D
SEhmZmZmY1kKWjFiK0VOTEZ1UGRnRkRFOEsxL05MVTZFTTN5dS8xNk81K0N2WmUrR2dDRmdDQmdD
aG9BaFVMMElKQ0lncktxekV1KzFIOEhiSW9lYwpxRVBjZmhlSWU2a2NkY1FSUjdqemFCQ0hDQmo5
UkM1SEtIaE5QaE9KQ1J2T0lEMDQ2RTVPWG42cExWL0VnWjRjY1l6MHRqMzMzRk51CnVlV1dncHpn
NERYUzZsZ2ZIRFB0ejhBQ3djaEZRTGltOXFvc3lvSkVtWUZJMGFQaWt5ZlBiSVBJZHUvZTNmMEcr
VjZNSWRxKzRJSUwKWEdwV01lT1U2MXorVDlCaTVmdS9hOWV1WFZGVEt2ZHpLR3F5ZHJJaFlBZ1lB
b2FBSVdBSWxBeUJSQVNFV1NDMlJVUysxRkpMWlV5SwpGZnFrZWdzcUV6MzQ0SU91VWQra1NaTmM1
R1RUVFRmTkdEZmZGMHJlSG5qZ2dmVVJGNXhMdEJkM2FXbWxRWU1HNVRzOWxmMXBSaHk0Cm4zeUdJ
NGZHSlZ1RkpYOCs2VUc4c0c3ZHVybjNKRm9kZDBJSi8yaVdtWllzTHVFRkFrTUhveHIwdXFEUFRO
RG9DM0xISFhlNHltSEIKN2ZrKzh4eWlVdHA4bC9WYTBJRVFGYU9RUkRtc1ZNK2hISE8zYXhnQ2hv
QWhZQWdZQW9aQU9nZ2tMc09iem1YRjlSc2cvWXIwcVdDbgpjd2hFOEh1KzYrSFFRSHlDNUlkOGZy
UXE5R2NvcHhGMVFZZUNRL3JjYzgrNU9TSGtUV0trV2ZYUnZDU2lJZG1NbENIU3RkQnpaRFB1Ci82
R0hIaEthUndhTjhxcWt3bEFSeS9kY0NlNHY3ZWRHR2NOcnRwNUdIVEkydVM4VU1BdGwxVFU4S01F
V3lyOVM5QUF5QnE3OFpuaFIKYXBmblJjU003YndUaFFPZnVHVjQrZjJTbHVnSkh0UGlONHdXQkhG
M1dpVnNFOXh1eEtHNXkvQVNvWXVLWEZJaExOZnZ0NUF5dkdrOQpoNGlidEUyR2dDRmdDQmdDaG9B
aFVDTUlKSTZBcEhWZk9INDQydWcxU0gzeFpJUVN0TWZURGp1bW9mWEEyUTQ2N09oSTZNbFFUa05E
CmdLWWxISEZndFQySkZnQm5FSUlSdkorbys4aWxiMGxUcXhOMTdiUzJhYnNVcldBbW12cXpjRVQx
M1RXNkkxckJUSlRBTGR4ZXJaK3UKdmZaYXB4OTU1cGxuWFBTRTRncjhKaW1aREFHcEJVTkVUelF0
bUlKRlNXaUtSSXdlUFRxRDNOZkMvZGdjRFFGRHdCQXdCQXdCUTZDNgpFUWk0ZnVXZEtEbjRrQS82
SmxDQzkrNjc3NVpUVHoxVlZscHBwVVFFaEg0WFlXY2RUUVpDWUZiL3c0M2tTbldYa0F5aUY4RzVV
SG1LClZXUTZrYU54aVdOVXY0cVRocFZyckRTMU9ybXVVK3crRFZScEJiTk1vcUZTQk5VRVVZeWdl
TzFIc2ZPTGN6N0ZFM2p4bkhmZWVXZFgKa2UyQUF3NXdXcDVzUFdyaWpGdk9ZeWo2d1A5S1VLai94
UmRmT0RLTitKei9TVE5Ed0JBd0JBd0JROEFRTUFUU1FxQWdBb0p6VDRRQgo0U3JOQjNHNGduMDk0
azZPbEJkeXp5azlTLzQ5amc0T0R5bFV3WlNxWE9OZGRkVlZjdUtKSjlhdjNxS1BJQlVLWWtQM2NL
SXI1VERTCnhpQTdRU2VPZTZGSkhRU2tZOGVPc2FaQlJiQTBMSnRXQisxT2NJNXBYS3ZRTVdnY0gw
NjFvbkt3QmhDS0ZwNFhPcWVrNTAyZlBsMWUKZmZWVlI2TFJlK3luWVIzMEgvUUlDVVlVa281Ynp1
UC85YTkvTlVpMWdqeERobzE4bFBOSjJMVU1BVVBBRURBRURJSC9EUVFTRXhBYwplNXdzb2hma2g5
UHNqeHg0ZWluUU1DK3UwYW04VFpzMlRuZ08yYUNQQ0pxRkZWZGNNVGI1NEZyMFgrQVZOcnFTYjdE
QkJ1SE5KZnYrCjMvLyt0NEVvSENJMVlNQUFWK1VyN29WeFhOTXdtamxXbndZazg4N2F0OC84empm
bHBFb2dSU3VZaVZZd2E3aS8yclpRdFF3OUNlbFcKaHg5K3VJdUF6Wmd4UTQ0NzdqaFhzS0VRWWw3
dWUyenJtNjRFTHN6dkVPTDgzbnZ2eGU0L0V6amRQaG9DaG9BaFlBZ1lBb2FBSVpBVgpnVVFFaE9n
Q2poYWR1bS9TUGdkK2RYVFdyRmx1TzNuaytmcC9NQk42VXRBekFhRXZQU20yMm1vcjE4MGNRb1Bq
aGc0a3J1Mnp6ejdTCnIxKy8rbFY5VXFEb3JFNGFWdHdvU3R4cjVUb084WExZdUQ1NmpEZ1ZxOExu
RnZPOVZqUWdWTURTQW1iNm02bTdXL1FmV3NCTUs1aUoKVmpBckJvSE1jMGtuUW54UDVTczZleVBn
aHh5U2V1U2pGVGpjaXkrK3VQdjk4dTU3cGVSTDRTUHFRVmxxMzhlR0svUDd1K2lpaTRvdQpwWng1
RjZYN2R1NjU1OG91dSt4U255YUkvZ01kMGlPUFBPSUlkRnBYTHVWelNHdU9ObzRoWUFnWUFvYUFJ
V0FJbEI2QlJGV3c2UFNNCncvWG1tMjltT0Z4TWs4WjVWUCtoRzNvY3UrYWFhMXpxRmVrck9EcTg2
TFNNdUpveXVuSEpBOVdjZXZmdTNlQ1NTY1hmRFFaSXVJRlUKTklUMHdieC8wbk9JR0tFUG9NTjdP
WTFVcmhFalJqUzRaTkorTFEwR0tHcERvNHl6TlhDZ3p6bFRBNEl1UkdzS2FBV3pqRU9MK2xMSwpL
bGhUcDA1MVVieWtFMHhhUVNycCtKbkg1NjZDUmVOUTB2S0NxWG1RTTNyMEhIWFVVWmxEQmI0bHZZ
YzBuME5nR3ZiUkVEQUVEQUZECndCQXdCR29NZ1VRUkVOSkppQ3pnbkFTTkNBaE5CWWxxeExVamp6
eFNKbWdhRmhvSlhoZGZmTEhyTDhMS2Mxenl3YlZJZXhrMmJGalIKNHUrNDg4NTJITjNLbjMzMjJZ
eTVneGROQlhPUmo1dHZ2dGwxS0E4NmYxSFhRTFJQMWJDNGhnWms0c1NKOHNBREQ3aFVtdmJ0Mnp0
TgpUQ0g5V3VKZU0rbHhhRDBnR3hxMHFqZkU1MlV1WUZaLzdUZ2ZpSmc4L1BERExnMlI0M0hlb3d5
ZEZHVFVSd21qanFtV2JSUTlnR3dFCkN5aWdYK0ovMnN3UU1BUU1BVVBBRURBRURJRzBFVWhFUUxn
NEsrZzMzbmlqSXd4K012U1RnSlFrYWZ4SDNqeXBWMEVMTnpjTTdzdjIKT1MzeGQ3Yng0MjRmTldw
VTdPaFBjRXp5N0hGU2FjcVl6VWdib3JRd1ZaWmF0bXlaN2JDTTdXaFMrdmZ2THhBUENCN2tpTWdT
cVRaMApzNjhHMHdKbUdlU0RPU20vMVFwbW9sV1pSRVg5MVRETHpEbU1HVE5HemovL2ZFZTJTZFVL
RzJsZUkwZU9sRnR2dmRXOXd2dXI4ZnRCCkJ4MlVRVDZZSTdvUTByQllYSWo3bTZ2R2U3TTVHUUtH
Z0NGZ0NCZ0Noa0QxSVpDWWdLRC9XRzIxMWVTTk45Nm9yK3hFcWsrWExsMWkKNTd4RFZrNDU1UlFu
UE04VkhZZ0RWMXJpN3pqWHluVU1xV2VGVmdkRCs5S2hRd2MzL0dPUFBTWUk2SmRlZXVuNnl5RUVK
dkpFQ2x3YwpaNUFLUnBRbjd0dTNyOUNuZ3BWdHlPSEFnUVBkTmlKVmxPcXR0R2tCTTYxZ3RyQVBp
RXFNbkFCZHM5WTBXaFBkcExEU2M0WTBEeDgrCjNGVzVDczZGQ05oTnFvc2k1WTZTeXp6RFdySGJ0
UndadnhVZmVVVHJSWVU3Zm91NzdiWmJaSlBDV3JrM202Y2hZQWdZQW9hQUlXQUkKVkI4Q2lRa0lP
ZzlTZTRMRVlaMTExbkZkcE9QZUhqMEgwSUFnMWcyT3cvbEpTdkJ5ZkxXSXZ3dXREb2JteFZmeFFp
ak5xbnBVQjNmRQo5a1F6NGhqT01DVGswa3N2YmJDeVRhOFN0RFpiYjcxMW5LRktlZ3pGeXlJS21L
bnpMbHJCcktTWExuandaWmRkMWowZkNQU21tMjdxCm5na2xwTkV3OFh4b2l1a0xMUEMvVWdzMmRP
aFE0UlUydXJqSExSOGRQdGUrR3dLR2dDRmdDQmdDaG9BaGtBMkJ4QVNFQ01qa3laT0YKMUNkeTRU
ZmJiRE5aWnBsbG5MN2d5aXV2ekhhZGpPMlUzeVZWaFQ0Z1FhT2ZCeEVOVnZ4SjBZcGo5QkRKSnY3
MmpuMmNjWW81cHBqcQpZRUZkQjlXSHN2V09vTFFyM2RhM29YVjRIaU5hUW9TRFVzbmVJQ1NVU3I3
aWlpdUVidXZWWU1xcHRJS1pxUGk1Ympab1FaU1R1alNzCkprM1NueUhQQ1VOUGM1ZVcydUk3R0hr
QjlrNDc3ZVRTMXZKZG1kODg1SU8wTnFJSFZHMDcrdWlqblI3Si8yNnBxc1gvU0MzWURqdnMKSUwx
Njlhci9ueU5pUnJFSjByQjhWQ1ROKzBqck9hUTVKeHZMRURBRURBRkR3QkF3Qk1xSFFDSUNnb1A4
N3J2dk9vZkxyL2FpLzNqcQpxYWVjb1B5enp6N0xxV1VJM2xhWWZMQ1BWWG1jTnUvRUJZL1A5cmxR
OFhlMjhRclpUbm5STDcvOHNrSGpOdEtsY0V3cHd4dW5PaGlrCmdXcGlwUGpRVXdVaWdmWUQ0dkQ4
ODg4M0lHelo1Z3FKdWU2NjY5enJ6RFBQZElkUitwaGMvelBPT0tPK3hHeTI4OHUxSFFLaXZtOEQK
dS85K0VXMHNuNnA1cDVkQjZWcFBlaEhsaXIxUi9JQ21tSEYvZXh3SEVlR0ZNSDMwNk5FQzFrUzBJ
REtNeC84TDVMemFEUUxDd2tMWQp3Q2p0U0ZuYXp5RThaL3R1Q0JnQ2hvQWhZQWdZQXRXUFFLSXl2
TndPUFRkd2tGa1pwUnd2Sy9NNHkrU01rNXFGRXhmSEJnOGU3TTRqCmZTdG9wSzBrV1RsKzlORkhZ
em4zd1d1VTRqT0VqSWhRTUdVRkFTLzNTVW9PT284NGhzNkQxV2hXMXlFa09NbXNTSU03MWI2U0dC
M2gKSVVZYmI3eXhQUGZjYys2WnhaMUhrdXZFUHpZenFxVk4yVVV6d3ZUK0ZvNmdnUm90V3l4YXVV
dFVTN0Z3ZXpHZnhvOGZKNlJPOFl5SQpURUFlY0s2SjJDSHdKd0pDZjV1ZVBYczZrc2R2bXg0MXBN
U0YrNEM4OXRwck9hZUNEb2pLWXhCSkduUUcrNE1FVDB4YXdqWjRidkxQCnVjdndRcUk2ZCs2Y0VY
MmpWd3IzT243OGVKY1dHSFhOcFBlUTVuT0ltbzl0TXdRTUFVUEFFREFFRElIYVFPRDM1SmY0a3lY
bGlaWDAKcTYrKzJqbHhONm53bHE3YlZGYnlRdW80bzZHWlFQOUJta2RmRmNCU09ZalYvaHR1dUNI
TzZmWEh4SWtzMUI5Y3dnKytPbGp3RWtTSApTQ2xEZHhIWEtOMzd6RFBQdUlnU2VnTFNoU0FSU2Nr
SGVLNnl5aXFPZkhEdGJ0MjZPUkpFMmQ5cU1US1VxSFFGMGZBdnNzYTBhSmNqCklHbk5rNklINGRM
UnBMS2hjY0FnSmx0c3NVVjk5Q080U3A5MERveEpLdUZWcXJBdnBLcGIwdXVsY1R3NktvVHo2SS84
aTVROWZqTVEKNHJTc25NOGhyVG5iT0lhQUlXQUlHQUtHZ0NHUVBnS0pVckJZRmFXUEJPa2xyUEI2
SXcySzdVa2NiYUlsTTJmT2RHVjlpYWl3NGsvWgpUOUtIS0IrYnJ5K0d2M2ExdktkUkhjemZDNUVU
U3VZU1ZjSkk4WW5UWWQ2Znp6c3IrcENXb0thRVZESEdKRW9WSmQ0UG5sK096OHJOClpKTk5NcTlF
SThJQkEwVFdXaXR6ZTdIZm9sS3I2Q0Z6ekRISGFEZjJBMTEweUIvajMrTmNNNnJoSllRUkVsTXJC
SVFGaEhBa2ttSVEKbEJ1R3hLWnBVZGltOFJ6U25LT05aUWdZQW9hQUlXQUlHQUtsUlNBUkFTRVZh
TTg5OTNUTjlhSWNpYVJUUmVoNndna255Ti8vL25laApvem1rQTBlYjFkZHFjSkNUM2crcnhlZzE2
TzNCcXZyQldrczIyQms5em5pdnZQS0s2L2VCbm9aendRRnRBWkdRSkkwZTBaK3NwVjU4CjhQcVFS
dEs3aURSbFN3MktNOGUwanRGYmEyQ2EvYVJwWjZLNm1ZYmtwTUhCQld5QUdQamZMdEVLbXZEeHpq
Wlc2Tm52WDNHR1IxT0QKL3VQc3M4OTIwVHpPZ1REU1dKTklpSSt5eEJtclVzZEU2YkZJUS92MjIy
K0ZUdTloY3BMR1BOTitEbW5NeWNZd0JBd0JROEFRTUFRTQpnZklna0lpQTRLQWRmL3p4TGplY3hu
bStsd1FydnNXSWJWbWxaMVdlL0huRTAyaEthczJJTmhUYitBK25qUFEyMHRrUU1xUFhRTE5BClpP
aTQ0NDZUSGoxNnVGU1pPTml3cWszcDNxRHgvRWloUTl4ZURhWlQwUXBtb2lScDRXeW1UeGZ0cFJG
ZG5uZmhVWVYvOHVTREVjQjcKd3cwM2RPOCtQY2lURDk3WmxzL1FqYUNEMm1PUFBkd3oybSsvL1Z5
ZkhJaDZyUmkvTGRJRmcwUUVFbzFPaGtoYUtTenQ1MUNLT2RxWQpob0FoWUFnWUFvYUFJVkFhQkJK
cFFJaFFrR28xWWNJRXQyTDg2YWVmdXBYMFRwMDZ5U0dISEZMMERPa3lqVENZVks4NGhvT0lVSlpY
CnNLSVJoS2ljUnNUR04vNGpkUW9TQlZrZ3FrT0oxdURjY3MyTENtUG9ZVWg5SWFVTDhvRVJUU0ZL
UkhRa3JvWEpCK2NSVlNGbEtKZysKRjNlOFVoeW5tWHVhZWllSzBjSVhJdlJiYmhIVkI2VjNSZEtK
Z3NUQ2o4enZMQnZ4OE52OXNkbmVxWHBGMU91SUk0NXdVUS9JSXhHbQpZT1FwMjduVnNwMVV5RmRm
ZlZVbVRacFUvd0tiQ3k2NElLT29Rckh6TGVWektIWnVkcjRoWUFnWUFvYUFJV0FJbEErQlJCRVFH
Z2llCmZQTEpibFVVaHc0aEx5dVpWRnVhcmt2WDlKZGdSVG1PM1gzMzNZNjhyTDMyMnZXSDQ4VFJh
WnBVcnpnR0lXTGxHZWQ4Ly8zM0Z3Z1IKNTFOeWxnaEN1UVRYYVRYKzQzNm9SaFJsVkJ5TG13cUQ4
enh0MmpRM0RHbHVQbEpGcE9uQkJ4OTBndXVvYTVSNzI2aFJvaFhNU245VgpmcXRCODlHTkgzNzRv
VDc2UWRVcjhPR2Q5Q013eEdIT1ovNDhmcnVRVGxLeWV2ZnU3UWprQU1Rc05XQ1FmaXBobGRwSytS
eEtQWGNiCjN4QXdCQXdCUThBUU1BVFNReUFSQWZFTnlyZzgxYW9lZi94eDF3RWFVVHJPUDg1WUhL
TUpJY0pmSER5Y1k0Z00xYXg0alJneHdwV3UKRFlxbnM0MlpKaUhLZG8wNDI5TnEvRWNWTVJ4WWNL
RUNFYXZvbE0rbDFEQlZyU0FoY1N3Zk1TTnRxQm9NOHFGNmUyM21KNXArSjdMaQppcUxPZTEwendq
VG5CNTQrb2tHMGl0ZVBQLzRvbEh3R0swZzA3L3grZWNkUjVoeGUrWXkwUVcrcnI3NjZLNnJBLzhZ
MTExeWpZdnJhCklDQ1FEL0NnakRUUkcwb1c4NzlJbW1XYVZzcm5rT1k4YlN4RHdCQXdCQXdCUThB
UUtDMENpUWdJSlRySGpoM3J1ajlUWGhZQkw0NEsKSldnSERoem9ISmc0MDExNjZhVmRSMjQ2bUpQ
Nk1XN2N1UHIwRllnSEF1cHp6amtuNzFCcEVhSzhGOHB6QUhOT3EvRWZPTzYyMjI3eQp6anZ2dUpW
NG5EYXFLZDF4eHgyeCs2TlVDekhMQTV1bWxJa0s3a2tOcTlPQklFcW5iNkxxN1ZWd24rL3MrUHNo
RnFTM0VSbWpPU0RwClJaQU9CUDZrdWZFNzR0MS9KZ0lDN2h4TG1laGNoc2o4RnMwWlE5eFBLVnQr
QytnbWlNVHhPNjhGZStPTk41eCtpVlJCZENDOGlJb2cKcE8raFVaMjBySlRQSWEwNTJqaUdnQ0Zn
Q0JnQ2hvQWhVSG9FRWpjaXhIbTduU1ZyTlFTM09HODRGbkVpRnVIYkllYzhXTHFYS0FxawpCZ0lD
T1RuZ2dBUENwelQ0emlvejFYb2dSRFRyb3o5SmtCQ3hLbDB1UzZ2eEh5djBwRXF4dXI2aWhnWG9W
TTJxZEZ5amdSNE41Q0F5ClJKUW9jL3JJSTQ4NHNvak9odWUxeXk2N3hCMHV0ZU1hRFdxVTJsamxH
bWpCd016MExidUhjaUdmZVozd2M4amNhOThNQVVQQUVEQUUKREFGRG9KWVFTRXhBdUxrcFU2WTBL
RGRMeWRja1Jtb1JwSVZtaEt3NGUwUFFTM3BXWEV1VEVNVzlacW1PeTZiZEtLVEtXRFVSTTQrWApP
ZThlaWZLK2g1MzNQOEp6S0MrQ2RqVkR3QkF3QkF3QlE4QVFTQk9CeEFRa1hHNldWS0UyYmRxNEZY
VXFBTVV4VWozUVRiQVMzMExiCllaUG1RU3JYdHRvQ085dzNZZTdjdVRsN2dsQnBDdEZ2TGlOQzh2
enp6N3VvU3E3anFtSGZhcXV0VmkrcS8xbmJnaGNxcXE5R1l2WkgKY0h6dEhpcnpYeEltVVpXWmhW
M1ZFREFFREFGRHdCQXdCTkpBSUJFQklUV0k5Q2dxVGwxNzdiVXUvV3JRb0VGTy8wSDUyTUdEQjlk
WApYTW8zdVNGRGhyaCtGM1JBSjEySTErVEprMTNLRVVTRVYvZnUzVjBxRW1sWjJZd29DdDJhYzVV
OVJmU084UHI2NjYvUE5reFZiRWU3CmNlZWRkMlpVR1NNdGpWUTFxb3hCS3VKV0dhdUtHd3BOd3B6
M0VDQmwraHAyM3Y4SXo2Rk0wTmxsREFGRHdCQXdCQXdCUTZBRUNDUVMKb2FkVmJwYjdnRlNnUzBD
TGdNWUJReVJNWlMzSUNNUUdEUVQ3Y2hFUU9ucWpGeUdTNHUyOTk5NXo2VjBkTzNiMG0ySVRvL29U
S3ZDaApXa1QxRmJoMXU2UWhZQWdZQW9hQUlXQUlHQUtHd1A4SUFva2lJS1JNVVJWbzZ0U3BzdHh5
eXptSVRqLzlkTmVzN054enozVjlRQ2pKCm01WkJlRjUrK1dYWmZmZmRzdzVKMUdTOTlkWnJzSisw
TEtJSlFYMUpnNE5TM2pCTGE4b2kwUGZpY2Vhdzhzb3JKN3BLTldvM0V0MkEKSFd3SUdBS0dnQ0Zn
Q0JnQ2hvQWhZQWprUUNBUkFXR2MrKzY3enhHUU02bVhxa1owQWwwSS9Tc2dJZVUydW9NalpBL2J2
dnZ1SzBjZgpmYlQ4NVM5L0NlOHF5WGZtc2JQV2xLWGJPT2xnbEhnbFplMDJyU203YTRLYXN0V28z
U2dKWURhb0lXQUlHQUtHZ0NGZ0NCZ0Noc0QvCkpBS0pDUWdvcFZWdU5nM0VPM1hxNU5LMHZBYUVK
bkwwZklBbzBaazlidmZ3WXViQ05lbm9UcVNHRHV3YmJiU1I2eW54d1FjZnlISEgKSGVmNlJOQWpJ
bzY5OE1JTHN2SEdHemM0bEY0TndaU3lCZ2VFTnRCa2o4WnlrTE5WVjEzVjdVWFVUbzhITTBQQUVE
QUVEQUZEd0JBdwpCQXdCUTZCU0NCUkVRQ28xMmFqcm9wdWdnN2duSUJ5ejBrb3J5VDc3N0pPb25H
L1UySEczVVFucy92dnZseE5QUExIQktSTW1USERkCnRiZllZb3NHKzZJMjBKV2ExSzNnL1JBVm9T
OElIZEV4cmtYSDZtT09PU1pxQ0xjTjRrRjZHdG9ZaUFqalVxM3M0SU1QZGszbXNwNW8KT3d3QlE4
QVFNQVFNQVVQQUVEQUVESUVTSXBCSWhKN21QSjU0NGdsWGxZcFVwZTIzMzE3MjNudnZnb2FuQVdH
U0ZLZUNMcExucE1hTgpHMHZuenAwamozcnp6VGNUUldHb0NrYWZsU0FCOFFPanZTSFN3dnUwYWRP
eUVoQTZlQk1GQXVQMjdkdkxhYWVkNWxMUm5ucnFLWUVRCmtTYTJ3Z29yK0dIdDNSQXdCQXdCUThB
UU1BUU1BVVBBRUNnYkFoV0pnUHp3d3cvT01TWlZDV0U3YVVlVWw3M3BwcHRjZjVDa2Q1K0cKK0R2
cE5jUEg5K25UeDNWdTc5YXRteU1QTkZva1lqRnk1RWlCaEFTcmRJWFBEWDYvL1BMTFhSK1FSbzJL
NnhwT1Yvamh3NGM3RVQ3WApuekZqaGlONm4zenlpVXljT0ZIUXlKZ1pBb2FBSVdBSUdBS0dnQ0Zn
Q0JnQzVVYWdJZ1NFeG9CME94ODllclM3WHdnRWZVWG9nbzdUCnZ1eXl5OGJHSVMzeGQrd0xaamtR
SjMrMzNYWVQwckdvdlBYcnI3L0tVa3N0SlhmY2NZZHJzcGpsdEFhYkVhNDNhOWFzd1had29mSlkK
WEUzTFF3ODk1UEQwSW54SUI5b1N0bDl3d1FYU3RXdlhCdGV3RFlhQUlXQUlHQUtHZ0NGZ0NCZ0No
a0NwRVVoTVFPZ292c2ttbXpTWQpGOXVYV1dhWmVzRnpnd05DR3k2NTVCSkhRbnc1WDNhVFdqUml4
QWdoQ2hESDBoUi94N2xldm1NZ0QyZzFmQmxlZXBna0lWT01UN29VCkpJR21oRUdiUFh1MjA1TFEr
ZDJUaXVEKzRHYzBJNjFidHhaS0lwUGk1bzJTd0tTNjVkS08rR1B0M1JBd0JBd0JROEFRTUFRTUFV
UEEKRUNnRkFva0pDR0xxUXc0NVJNSlZuVWlqb2lNNXBXai8vT2MvUzc0VW9sZGZmVlZ3cHVsUXZ1
bW1tOWJmMjNYWFhlYzZwQ011ejJkcAppci96WFN2Zi9qU0kyVmRmZmVVSUMrV0RWMXh4UllGZzhj
S0k5QkJSQWR2Ky9mdExxMWF0Y2s3cG9JTU9jdFczOGoySG5JUFlUa1BBCkVEQUVEQUZEd0JBd0JB
d0JReUJsQkJLTDBCRXk4MEo0SFRRY1pWS1Bqai8rZUtFMExrMEFWMTk5OWVBaDlaOUp3U0lkQ1Az
SCtlZWYKTDl0dXU2M1RUNnkyMm1xdUczb2M4c0ZnYVlxLzZ5ZFg0SWVUVGpxcGFHTDJwei85eVpH
dklVT0dOSmpGZi83ekgxbHJyYldjVnFiQgp6b2dOMjIyM1hjUldrWnR2dnRuTk0zS25iVFFFREFG
RHdCQXdCQXdCUThBUU1BUktqRURpQ0FpTzlxQkJneHFJcXUrOTkxN1g5UnN4Ck9TSnowcWg4czhL
b2U3am1tbXVjWnVMMTExOTNsWmtlZSt3eDE3Y0Q4a0w1MkxncjkybUp2NlBtbUdTYm4yODJZc2Iy
Zk1TTTY0MFoKTThhbHVCSHRDQm9Sb3k1ZHVzVHU3RTc2MVFZYmJDQk5teTdrbUY5ODhZVWdRcWNL
VmpBMUszZ2QrMndJR0FLR2dDRmdDQmdDaG9BaApZQWlVRW9HRjNtbk1xNUQrRTFYUmlhZ0ZFUkRz
eHg5L2RDUWkxNUIwVUNldGlCSzh2RENJQzZWajBUQkVDYkdqeGhzNGNHQlc4WGZVClBLUEdTR01i
UFVEU0lHYm5uSE5PS24xQVdyWnM2U0ltd1hLK1R6Lzl0UFRxMWN2MUVGbHp6VFhUdUcwYnd4QXdC
QXdCUThBUU1BUU0KQVVQQUVFaUVRR0lDZ3M0anF1enRMcnZzVW45aG9pVHQycldyL3g3MUFTSDBq
anZ1S0RqQ25paWdLOWw2NjYxamt3L0dKUzNwdGRkZQpLMXI4SFRYSEpOdlNJbVpwOUFGaDNrU2dh
TVlZdE45KyswMzIybXV2Z2tvZEI4Y3A5SE9qUWNXVkZpNzB1c1djdDJCZ25RYkhqMkgzCjRKRW83
M3Y0T1pUMzZuWTFROEFRTUFRTUFVUEFFRWdUZ2NRcFdISEszbVlySlJ1Y09LbFRWSHY2K2VlZnBY
djM3bzZNOU9qUncwVkEKMEpFVWE1OSsrcWxMTlNJbHJGcU0wc05MTDcyMFJHazgvQnpUNmdQaXh3
dStrMzVGSmF4SEhubEV0dGxtbStDdXNudzI1NzBzTURlNApTTmg1L3lNOGh3WTNhUnNNQVVQQUVE
QUVEQUZEb0dZUVNFUkEwaTU3Qy9tNDc3NzdaUERnd1U2cjhOSkxMOGxLSzYwazc3MzNYbXdBCng0
OGZMME9IRGhXMEpFSDcrT09QWmR5NGNYbEwxZ2JQS2ZYbk9NU01ZK2JPblN1MzMzNTdmVG5mM3Ix
N08rS1FkSDUwVktlM0NsaTAKMTQ3b0VLQVBQL3pRaWY3akN2MlRYalBYOFg4RXg5ZnVJZGNUTHQy
K01Ja3EzWlZzWkVQQUVEQUVEQUZEd0JBb05RS0pDRWlweXQ3Uwp0SStHZlpBUEloZWtDWGs5U1M0
QWNOYmJ0bTBybTIyMm1STnVod1hnbEtMTmx3cVdhL3hLN0lzVFlZb3pyMkhEaHJseXZSQVBxb3p4
CjdOcTBhU09reWgxNjZLRnhoa2o5R0hQZVU0YzAxb0JoNS8yUDhCeGkzYmdkWkFnWUFvYUFJV0FJ
R0FKVmlVQWlEVWlhWlc4blRKamcKSE9LMTExN2JrWTM5OTkvZnBXVFIveUlPK1FCTmlBdjlNTzYr
Kys1RXVwR3FmQkk2S1NKTWtDWUl3azQ3N1NRYmJiU1J1NjhQUHZoQQpqanZ1T0NGRkxkeC9KZXBl
SUdiSEhudXM5TzNiMTNXWUo5cUJRQjdCUHR0MjNYVlhvZVN2bVNGZ0NCZ0Nob0FoWUFnWUFvYUFJ
VkJ1CkJCSVJrQTRkT3NnWlo1emhIUDl1M2JvSkZaYWVlKzQ1ZWZUUlIyWGt5Skh5NXB0dnhwci9O
OTk4NDV4ZytvQlFMbmFycmJaeW1nUWMKYmh4dEttSEZNYTVQZWhJTi9JaUVCSTIwbzg4Ly96eDIz
NHpndVlWOC91bW5uK1RoaHgrVzlkZGZ2NzRiUENsbXpaczNqejNjdSsrKwo2d2dDRmJXQ1JoVGo3
My8vdTZzYVJpUElmUGJSUng4SkpPVFNTeStWY0twVjE2NWRoZFFzeFA3bHRnVURNNi9JejJXMzNV
U2pNNktrCkUwSXAybXhSTkJvbWtxV05TZVlBTWIvZGQ5KzlycklhRWFBNWMrYTR6NVJOcGhReDFk
YnpmSldwQUFBZ0FFbEVRVlRBaUhmL0dRSU0KdWVYWXNFM3RQVFZqMC8zMzN5Kzc3NzU3eHJZdnYv
elM0Yi9zc3NzMndOOGYyS1hMMnY1ajJkL0Q5ekI5K25TaCtlV01HVE5jYngySwpGVkJGN1YvLytw
ZUxMbWFiWU5KN1NQTTVaSnVUYlRjRURBRkR3QkF3QkF5QjZrY2dFUUhoZHRJb2U0c2plUEhGRjd0
VUsvcGJJSXFtCkx3aWxlVmRkZFZYbi9NV0pnbEN1bDlLOVZOUGl2S0NoQ2JueHhodURtMHI2ZWZQ
Tk4zZWxoNm5vQlJFaExXeVpaWmFSZ3c4K1dLNjgKOHNwWTEwNHJ3a1MzZENJY0VDQnZFQkwwSUZk
Y2NZWHJ0K0szVi9KZEM1aHBCVFBSQ21haWVoZlI3dThpTyt3ZzJnMCszVm5SQ3dWTQpxT0FHeG1C
QnFXaElJOThoSGhCRlQwSThBWms5ZTNiZWlVRElSNDhlTFdlZmZYWTlDZjcrKysvZDd4c2l1Y1lh
YStRZG85SUg4TCtECkZndmlUN1J0dWVXV2M3OWZDaWFrYWFWOERtbk8wOFl5QkF3QlE4QVFNQVFN
Z2RJaWtKaUFwRlgyOXNnamo1UUptb2FGUG9FWGhJUU8KNlVSRTRwQVBZR0hsR20wREs4M2hTQU5O
K0NBQTVUQld5b2xlNE1BUnJUanR0Tk9jK0oyTzhkd2pqZjlXV0dHRnZGTkpLOEtFbzNmZApkZGU1
bDI4R1NkU0o5QzRjWmpDdUJudnlTUkVDT252dW1Ua2JEU3BvVkNGeld6SGYrRDFCTklKa0F3d2dD
aEFSZmtmc0F6ZGVIRStFCkpNN3ZzR2ZQbmk1eXNNY2VlN2pvM1g3NzdTZXJyYmFhM2xQb3BvcTVn
UktmTzJuU0pDRXl4djloMEdnT21tYWtySlRQSVRodisyd0kKR0FLR2dDRmdDQmdDMVkxQUloRTZ0
MEtxRlhxTnNOMTg4ODF5eUNHSGhEZG4vVTdVZ3dnRmp1QU91dXlOOEx3UWUvenh4MTBLVnlIbgpw
bmxPdjM3OVpQanc0YzVwSlJXTmRCWWFMRkw2ZHVMRWliTHZ2dnZHdWh6bjdxWjVTUkFySERaU2dl
aUtqa2gvdTRSNVNlKy8vNzZRCkRyVHh4aHU3VkRuR0k4MnRjdFlvNDlLa1c2bmZxd1JnNFdZTlRz
aUxMNHBXN2hMVnV5emNYc3luY2VNZWxlV1hYOTVGUVloeVFDN1EKMnhBOUl3b0NlZlV2VDBiQW5R
aEk2OWF0TXk1Tno1bWdJZlkvL1BERDNXLzU2cXV2bG5YWFhkZnBiWWdrUURxelJVQ1NwaThGcjVu
OApjMll2ay9BOUVLM3IzTG16STE5K2JLS0xIRWVWdWNVWFg5eHZ6bmhQZWc5cFBvZU1pZGdYUThB
UU1BUU1BVVBBRUtncEJCSkhRUDc2CjE3OEtUaGNyeGQ2KytPSUw1MmpqWkpOWG44OXcvUGJlZTI4
aGJXbm16Smx5MjIyM3VkVjZDQWtpOUNTV3pUa0tqb0d6K2NJTEw3aEsKV2NIdGFYNkdRQkZoK010
Zi91S0doWFJNbXpiTkNlc3Z1T0NDMkpkS0s4TEVCVWs1NG9XaDJhazIwMncxZGZCRm93OExaNlpG
MEhRbAp2bzZBZE95NGNIdXhuL2dOWUx5amNTRHlRVU5OQ0lmZjdvK0JvTVExZEV6OEx4eHh4QkhT
bzBjUEYyRkNsOFJ2ZThDQUFYR0hxZWh4Ci9NOHVxV3lQS0pBMy9xZjV6YUNqQ3FjMyttTUtlZmNZ
cC8wY0NwbUxuV01JR0FLR2dDRmdDQmdDbFVGZ0lZdUllWDNFcVRqSkNNQzkKUGYzMDA5S3JWeS9Y
WTRMTzV2a01wNDkwajN2dXVjY2QrdDEzM3ptZEJDVmlTZnRneFQrdTBZR2Nwb2Jla1l3Nmo5Vm9W
blEzMldTVApxTjFGYjJOc0NCWFJITER3aGhpYzdhUzN4TFVuTlM4Sm9YazRoU2RLN0J4M3pHbzk3
ci8vRlgwbW1iTkRpSTdmamo0a0xjUFo5WTR2Cno0cWlCVVEzdk9nOHVEL3BOZDlHdlBLN3JiNzY2
dktmLy94SGJyamhCcWRwcWhVQ1F2UExkZFpaeDkrR2V5Y0NkUDc1NTljVDJJeWQKQlg0SjRwejJj
eWh3U25hYUlXQUlHQUtHZ0NGZ0NGUUFnY1FFQkdkbG4zMzJ5WmdxSzhwRUFCRDZ4akZXWExmY2Nr
c1gvU0ExaGpRWAp0QW5rMDU5enpqbHkyV1dYeFJuR0hVUHpRZ2hHTGdMQ2dXbXU0b1lueDdVaERM
ZmNjb3RMN3dudlQvS2Rpa29RbHVEOUlKcCtVZk9TCnFPekZTdlVmeGFLQ1pab2xwZ1JCTkdMVmtK
d1VldDllLzBHMEFnemZlT01ORi8xQXU4T0x3Z0VVUnVEM1N3cFZuS2lhbndzcFZqeDMKQ0RqUGht
Z0lVVUlxdTZVdDR2YlhUUHM5cko5aWZOTDEwR1JOblRxMUFUa3A5UHFsZkE2Rnpzbk9Nd1FNQVVQ
QUVEQUVESUh5STVDWQpnSVRKQjFOR1pNMEtQYXYvMjJ5elRkNjdZSFdWVkt0VFR6M1ZwUzE1b2V1
R0cyN29VcVZZSFEwNjRMa0dKTytlNmxtVk5sYTkwekNjCllRaFpNQjJHNW94RWpIQ2VPNmFabDVU
R2hJc1lBOW1QRmpEVGFOckNRYlFpckZaa0Vqbjk5SVhiaXYwRVFlWUY4YUE2R2tRRWtoRWsKYzFR
TXc5a201UWlkRE1RNHloQ3VVK1VNc1RsMjFGRkhSUjNtSWk1RVdTQTIxVzZVdmlaMU1FaEUrSzBS
allSTXBXVnBQb2UwNW1UagpHQUtHZ0NGZ0NCZ0Noa0Q1RVVoTVFLS21pTmoyUWEybEdxZEhCZWVU
Y3ZXM3YvM05yUmJmZE5OTlRpVE5Dako2QmZRaFFmTEI2aitwCk10bnNzTU1PYy8xSDdyenpUdm42
NjYrRkZEQlNzcEtrY1dVYk84bjI0SnlUbkJjKzlyK2FseFJPRllPd2tjNUQ2bHV4aGlnZHdoaE8K
dVNsMjNFTE8xd3cxZWZiWnVoNGcvbnl0QUtzUkJkRitLbjVMOGU5b09xZ0M5dUdISHpyaUFjbURn
QkN0NExtUkdzVHZqTmZjdVhOZAp2eFhJY0ZRa1pNeVlNUzQxaVdhT1VmdjVEVktvNGRaYmIzV3Y0
bWRmK2hIUVlWRU9PMGg2aWQ2Z1hVcVQ4S2I1SEVxUGlsM0JFREFFCkRBRkR3QkF3QkVxRlFDb0VC
TWVGOUttNGhuTkRrelBTbHFnV05YYnNXTmNMaExLMXBIN3dUbVVzUkwzUFBQTk16bFZZdXFCVGZZ
dFYKYlFnTVJJUjBMb1R0akZGckZpWGlCeE4wQzhVSTZWbmhCeHZLOHFZVnJTa1cyMUdqMG0wNG1H
MCsvRDRoWFJBR2REb1FFRTgrZUFkZgpyMDhBSndUcXBQVkZPZCtrVmxIdExFeUswZnRBcHVtblFX
U0ZWSzVhTWZyVVVBbXIxSmJtY3lqMVhHMThROEFRTUFRTUFVUEFFQ2dkCkFxa1FrRUttZCtpaGh6
cGRBK2t1YTYrOXR0QzBqZFZucWtmUldaMktXSFQvcG9Sc3RqUVFJZ1AwRXpubW1HTmNKK2YyMm9N
RG81VHQKb0VHRFhCZDBHdkxWa3FHbG9iRmlVT1JQcDJvYzI5TUx5RXRpMVorcVpTTkdqSEM2aDJw
eWpMUEpXU1pNRUNXZjZUMDF5Q2w0K2xLNwpYbnhPOUlNWGpqRWtoQlFoam9PZ2tHckZLNXhDUmM4
WmRFcW5uSEtLYkxycHBzSnZqaExKbEpYbU16MWdpSTV3VFVyODFvSkZSWEtZCk43cWpOTXMycC9r
Y2FnRlhtNk1oWUFnWUFvYUFJV0FJUkNPUXVBOUk5RENsMlVvNkM2disyYUlyUkFWSSs2TGNiZGpl
ZXVzdDRVVlAKalZJYmpxdWZBOW9CVDNwSWQwcmFESkVJU0pjdVhaeEQ3T2ROWjJvMEIxSDlWL3d4
NFhkSUhDdmJwTVpSblFrU1I2UUlmUW5SZ0hidAoyb1ZQS2NQM3pQSzJWRnhHTXFSQmlIckRaMGVB
cm0xUUZJUDZ6VVY5ZU9paDBhNDRBQVFFd2hFa0lzRklDRkVRMG9UUUlKR09oWVdyCnV2a2VHaHo3
ck9hUFVjbU5CcFNrRk5JUEpHNEozeTVkMWk3cW5wS2RuTHNQQ0JvczB2N0F3aHZpZk82Vkx1K1Fz
eWhMZWc5cFBvZW8KK2RnMlE4QVFNQVFNQVVQQUVLZ05CQlo2SERIbmkrZ1dRWFFQWGFJT04ybUxP
VVRzdzBqVnlrWStHQVJIbitoSmxKSFQ3aXRmRVNuaApPOTNSUzJHc29OTUptNGdOSkFIUk9LazY2
QTUyMm1rbm9VbGpYQnVsZVVsSkd3Nkd4eWFOQ09JMlpjb1VPZmJZWStXaWl5N0tjQzRyClF6N0Nz
eFJ0c2xoWDhTcm8zMnJmUmxlQ1Z3TTMrdndhbmxQSUZzZ0N6OGlUalhBRUJGTENQazhlK013TElw
TE5PSmEwSlY1RVNuRFUKU1cvak44Y3pKOVVMSno0cEFjMTJ2Vkp1aDBDanl3SWpiL1FCSWFXUjMv
SktLNjNrTnhmMVhvcm5VTlNFN0dSRHdCQXdCQXdCUThBUQpxQWdDaVFrSWpncXI2VGpYQ0hXcGVn
VWh3UkVMNmhjNHJ0UUV4WmRSeGVFTGRwd21CWXZ5dkFjY2NJRDgrOS8vZHBXTmNLWktSVUM0CjE1
TlBQdG5oZ3BNRkpqaW9kQ0luZllxNWdGVWNLNVo4Y0ExVytFblhvc29ZK2hxSUVZNHdFUkFpTk9o
dXdpdjdjZWFXOWpHMzM5NHcKMVVxNWs1eDlkbnJrZ3puekxDQVVQdFhLdjN1aTRRa0kyem1XVkNI
ZWVjV3hWcTFhMVVlbjZBdkNiNDZLY0JkZWVHRk5FQkQwV09GVQpLeUpBVkpoTGkzeVU0em5FZVZa
MmpDRmdDQmdDaG9BaFlBaFVIb0hFQkFUbmloVlRHdWJoWUNFU1I1U0xjSmRTbmpqZmRJRm1CZjZF
CkUwNG82UjJTcjArYUZpdit6QW1EQVBCYVg4c29VWEtWejBSQXN1VzVwekZCSEZoZnRoV0I5K09Q
UCs0MEFheUNzNEtNUTFzSnc2RW0KZ3NUckV3MHRNRGZFK2FSbVZRTUJhZCsrSVNyS25aUzRpYWEw
aVhUcTFIQi9JVnRJSVlKTWdFZVFmTERka3c5UFVQejRjY21IUDk2LwpRNFRSTXhFSlk4eGFzTFp0
MnphWUpsRWlTdkcrOTk1NzBxRkRod2I3QzlsUXp1ZFF5UHpzSEVQQUVEQUVEQUZEd0JBb0R3SUZl
VWc0CmNUMDBCWXZYN2JxTXpTb3BEdjc0OGVObDNMaHhjdDU1NTdrVjFWd0VoQlhXaHg1NlNDWlBu
dXlPUlhpZExkYzhGeFNVcDkxMzMzMEwKT2pmWHVFbjJjZTlFR3NDQ01ycjBKU0dTUVZmc2dRTUh1
cjRSU2NZcnhiSDBYU0ZGQ05FKzJwbHFNTnEzSEhpZ2lBWVFuS0gvVU5tTwozSFdYYUJHQmRHZkli
eFpTd1cvTWt4QStCMTlzeHpnTzR1cS81NW9KUkp0Q0NXSGpOMEdFcmhiczNIUFBsVjEyMmFXK0x3
cnova0NyCmdDR3NUN3ViZTZtZVF5M2diSE0wQkF3QlE4QVFNQVFNZ1RvRUVvdlFxY2EwOHNvcnkz
cnJyVmZ2b0NGMEpocmhteENTTzAvMGdXT3kKR2VKd1JPSkVUb2dTSUlLbGR3S0M2Vm8wN2hrQ2dp
RVlaMldkeUVlbFZzR3pPY1kwNDRzcUwxc2V6RE5UbXNod1VnN2dYdjc2NkVLMAprSlJXbXZKYmlu
OGZPM1pNdmZDY0NsZWtDdnFxV0Y0UHduT0NqQkJKZzN6dzdJaXNoYnVaZXhHNm54VWtuRWhndDI3
ZC9DWlgvZXFzCnM4NXlLWG5CMU1ENkEvUkRVZ0YzOE56a24zT0wwTkZSUVF5Q2hBc2NqamppaUt5
TkZwbEQwbnRJOHpra3g4RE9NQVFNQVVQQUVEQUUKRElGcVFTQlJCT1RiYjcrVnZuMzdPc2NNUnc2
aE5hUmp5eTIzbFA3OSs5Y1RFSnp2WE9TRGNlalI4Y0FERHpnYzBDUU1IVHJVaVhkSgo2YW9GNFc3
NEFYTFBrQ2g2YlZBV0dDS0ZCb1VLVmtsdDFxeFpqc3lnSnlCeTBidDNiMGY2a295RCtKenpjTFM5
UVpJZ2kxVEl3dWhlClQ1bGU1bHNKTy92c09yS2gwTlViNG5PRnNDUkdaQ1BxRlhTKytlelQrVGcy
bjExNzdiVXVIWkhmTGY4REw3LzhzbXBZem5hVnhyS1YKajg0M1pybjNFN0dEYlBBYjlzYWlBRkc5
VWxqVU0yQmJNYytoRlBPME1RMEJROEFRTUFRTUFVT2dOQWdrSWlCMEYyZTFsMTRWT0ZwMApoYjdp
aWl1YzQwVWFGbG9MVnBIekdlUWw2SmdUVVJrOGVMRHN2ZmZlcnN2MDVaZGZubStJcXR0UFpJaklC
NnZtQ0hyZjBUcXlZSVZtClp2dnR0NDg5MzFkZWVVVjIzbmxuNThCQ0hsaXRKM1VLN1FiOUplSWFK
V0twZ2hVa0lQN2NxVk9udXVwaHZGTSt1RklFUkRtU09yMSsKVm5YdmYvNnppUEl1cmNva1dzUWdj
MTh4Mzd6VDY1M2M0THZmNTkrSmdIaUhPTjgxMGRMd29tY0d6NDMwTm9nblRUYWpzTTgzWGlYMgpI
M1RRUVJua2d6bWdDeUVOQ3pMY3NtWEwxS2JsTVE3aTd6LzdmZjQ5eVhOSWJZSTJrQ0ZnQ0JnQ2hv
QWhZQWlVSElHNnBQY0VsNkhmCkFXazhPTldYWG5xcGMyQm56cHpwSE80NDVJTkxVYVVKQWhOT1p5
R0NnSGpjcjBBbm1GWkZEOFZSWXJVYjhUM1JITktmME1LOCsrNjcKVHZoTm1kWTR4amc0Z3pScHBD
RWoxYldvTmdaT0NNaC8rT0dIT01PNFl5Njc3REozUEwxSXdpOWZ1cGlPOFNOSGpvdzladG9IWG5X
VgphTDhOMGVkZDl5TDlTaUhUcG9zaXlvMXF3cWh5ZHUrOTk3cHl4MVI5bzB3MURqV3BYWlZLdjBz
S0hLbURSTWY0ditQRlFnSy80OGNlCmU4ejlYeWNkejQ0M0JBd0JROEFRTUFRTUFVTWdGd0tKQ1Fp
TjE4TGxkWWxteENVZmZqS1VyYVZTRU85b1FieVJFcFEyQWFHbkFVNWkKcVl6eGNmTERaVXRaT1Q3
NjZLTWRJWWx6YlFnTEtXN25uMysrSXpNNHNWajc5dTFkS1YyaUkzRU0vRWlMUTRjVEZKd3p4Mm95
R3JzcgpGM1VhRUFKbkZJMUNBa1NEd2hLMWJFbjk5b2wwMEJuOVFGWFQ0OGlUeXJUUFB2dkljY2Nk
NS9xRHBIN0JFZ3hJK2lNbHF0ZGRkMTMzCkluMlNhQTVkM3l1bkZ5ckJqZHFRaG9BaFlBZ1lBb2FB
SVZBVkNDUkt3YUxrTFk0V0s2UTBBVVQvUWJVblhoZGZmTEZMbzRxNzZndUoKSWNjY2gyMnR0ZFp5
RlhoSU42SlhSZHd4UUpCOCsrdXZ2ejRubUVRU3FKVFZxMWV2bk1jVnVoTUM5bWZOSFFvVEo5Slh1
TWU0cVZPcwpuSGZ1M0RseUd2UTJXV2VkZFNMM2hUY3lEdWxzYVRSR0RJK2Q1bmYxMDZWZlA5R0lR
ZDJvcEdOcE5wNWltU2xNVC9PYWFZOUYrZVVoClE0WmtsRFVtcFpEbWo2UVMxWUtoeCtKL3c4OFhM
UWozUlJwVzBvV0ZXcmhmbTZNaFlBZ1lBb2FBSVdBSVZCYUJSQVNFaWtCb1BpaVoKUzJkeDBvd2dI
cVFNUVJwWThXYzFPSzZ0c01JS1RoUk5vNzVKa3lZNVhjS21tMjRhOTNSM0hHVnZUOU95U1VGSDZh
bW5ubklrS1ZpWgpxRTJiTm9uR1RYb3dKWGR2dlBGR2g0Yy9sNzRva0pKQk1XdkswbStCdENnSUhu
TkhRL0RjYzg4NTBUaXBVcENRT0pabVk4UTQxeXYwCkdNMDIwMklFdWMvV3JEU05JSWtLL0hNZlY2
bTlOUEdMNnFteTJtcXJWV3BLaWE4TFFTWjlNSmVSSG9obUtDNEp6aldXN1RNRURBRkQKd0JBd0JB
eUIvMjBFRWhFUW9DSmlBVm1nYndBdmpJbzVWTktoOHplT09DTGNKRWFYY044cEhPRjBYQ2NIN1Fu
WG92cFEwTkNwYkwzMQoxaTRmUDBoTWdzZWsvUmtIRHFjeldPWjJ4SWdSV3FxMFMvM0tjcHhyMGpl
RUVzV0kySms3WkFUeC94MTMzQ0dJOStPWVg4SG0yR3BxCmpCaWV1d2F2WE4rUHNCQTllSnpxb0ZX
ZlVMMEV4T3RwZ25QbTgyZWZmZVpLVE5kQ1dXbFNCL25melJWNTlBMDE0LzV2aHZHdzc0YUEKSVdB
SUdBS0dnQ0ZnQ0hnRUVoT1F1KysrdThHS0w2a2E1TUtUUGxXSVVUbnFvNDgrRWpRT2wxeHlpVnYx
anpNT2FXQ3N6RVlaZ20yNgp0Vk1xdUJ4R2hBSk5TN0M2RjlXd2JyNzU1a1M0a0k2RzZKeHl1YjRN
THlreTVPUEh0VnBvak1pOWFPQkxLeTAxcklRVnZzOVZWdzF2CnFkN3ZFRkRJSXMvdktsVDJOV0JV
UXZ2a2swOXlFaEJ1bzEyN2RqVndOelpGUThBUU1BUU1BVVBBRUtoMkJCSVJrRndhRU1nRDBZaGMK
cTZnZURMcWdJM0psMVpWMEljWmx0WjhVSkFTd0VCSXFaZVV6cmtVVWhLZ0xUanFSQXRKRWNQcEo2
eUxGcTF4R0ZheGh3NFpsM0QvaQpkQnc3OUNmb1crTFk4ODgvNy9xSlFPaUN4bmI2bzZ3YTB4dW5s
REdpNko0OWU3cnl3SXpGUEpKR3A0SnpTUHV6THJ4cjVDenRVY3MvCkhwM0RLVWxORHhqSUk1WGNp
R0xWaXBIMngyL0R6QkF3QkF3QlE4QVFNQVFNZ1hJZ2tKZUFRQkI4MWF1ME5DQlVkNkxTRTBKZEd1
YXgKdWsrbHB6aWtJd3pLdWVlZUszMzY5SEhsYTlGTS9QVFRUNDdNTUQ3UmhISVoraGV1Rit6OThQ
VFRUenR4TDVXOW9uUUNVWE03NmFTVApYTVJreVNXWHpOaE5hZDlWVmxuRkVUY0U3MTR3bkhGUTRB
dUVrSksrUVlPd0JWUEVndnNxOFRsT240L1pzMFVlZjF3MDNhOFNNOHg5ClRZZzA1WTVwNk1odkdp
RTNtaWg2NG1BLy92aGo3Z0dxWkcrY1BoLzhYOUhyaE9wcVpvYUFJV0FJR0FLR2dDRmdDQlNEUUNO
TllZck8KWWZwOTFOR2pSN3RtWkRRZjlKMlMwWUIwN2RxMS9ycGVBNElqZzBBOTdpbzd2UWFJVmtC
Q3dnNTMvZUF4UHhBaG9MY0lKS1o3OSs2dQpFM25NVTFNNWpOVnZ5cThHRFFFNnVKR2VGVGNDNG9r
RmxheUN4bU1pU3NUMlRwMDZ1ZFgyWFBxQ3pUYmJyQW83b1dkV2hZSmpVVzZYCkVyelpUQU5JcXVj
UnVlYWFiRWZrM3o1MjdCaUhQOCtBOURUZUlZcjhWaUFPL0s0aFoyRFBDOTBOZlRGNGVmTHRyeEx1
WFVNVWorSUQKU3l5eGhCeDg4TUd1ZWhUSEV2bWloMHMyalVpWExtdjdJY3Z3bnZrdkhyNkhqVGZl
MlAybXdyKzU0TVNJNXRHbmg2YVkzcExlUTVyUAp3Yy9CM2cwQlE4QVFNQVFNQVVPZzloRElHd0ho
bHRBMmtHS0VZMC9wWFFUZU9OZmVZVUVEc3Z2dXUydEoxWDZKRUtCYzZTbW5uQ0szCjNIS0xXelZl
VVJ0QURCOCtYRWdmOG81NG5BRVJydE9mNU9PUFAzYVJGSnp2Y2x1WWZIQjloTWlzamhNSkFiYzRk
dUtKSjdxcVdXSEIKT1gxTXdBdXhQdm9XTUFvNmcrR3gvNSs5TTRHM3FleisrQ0laRWtMenFIODBp
QWJOS21sUTBxQlNHbFNrVVdoK0tjMUYwNnRlYWFTQgpFTktrUkVraVNXbEFnK1pCUXBQZUJwS0sr
ai9mNTc3N3R1KzVaOWo3M25QdVBmZmUzL3A4emozbjdQSFozMzN1NS9Pc3ZkWnZyWXJRCkNkMVZM
M1o5Sjh6ZDY0SUdoQ3RYbWhQdEY3MlNsbTZlVGwrUWZEV2lVbFIrSXhXUXJ2ZEVDbkJxSmt5WTRC
dDE1dXU0dytNaXNrbUUKanY4NUhncVFBcG5vM0c2OTlkYXhkRWpoNCt1ekNJaUFDSWlBQ0lpQUNJ
UUpaSFJBY0RJby8wb2FFUk5wU3NwZWR0bGx2dVF1QW04bQoxbTNidGkzUzhDNThna3lmbWF5ZGNj
WVp2bGtmbmRYNUhzZjVRSGRCRmF3bUxvWHJvSU1PTWliZU5EYWtRaGZsZ2N2UzZQdUI3aUlRCmo1
T1NneGk1VFpzMmtZZkJ0U1E2SCt6TVUvcWdvaGVwUGZQbXpVdDdURktENkFPU2ppVzUvK1ZwSTBl
YVVYWFpWVkoya1RCemsyQ3oKaXk0cTZBTlNudU9LZTI0aUpkd1B4TnlrS1JIMWlIUFA0NTR2Mjl2
ZmVPT05YbnRGV1cwY1p2NlhpT2J3WUVFbUFpSWdBaUlnQWlJZwpBdGtta0RFRmE5V3FWWVhDYWpw
MWsxcEN5Z2E5TnA1OTlsa3ZBS2ZETnVsWFAvLzhjK1R4a2VieS9QUFArK3BYUkZaSzBuR1pISHpP
ClM0Um15SkFoZnBLT2cwUXAyMjdkdXZuR2lGVEtLZ3REYzRHd25xZ0g2VDJrK1RDK01XUEdSRzVF
R0hXY05JUGtxVFVOOEZJWjU4YVoKUzJlazFRUTZsWFRiWlc5ZHRTS0grdXd6c3p2dkxIZzV5WTVM
eFRQcjA2ZmczZm05dmlsaGtSMUsrQ1dicVQvaDlDVVkzK055dytoRgpnOUZQQTZlVFlncjh2dm0v
b0tGZk1vdWJ2cFRzR05HWHBVL0JvZ0lkYVlMOFZzODc3enl2SGFJYUhSb2lIa0NrS3VZUTl4cXll
UitpClg3dTJGQUVSRUFFUkVBRVJ5RGNDR1NNZzRhcFdpR3RmZlBGRkwwUTkrT0NEamRkVlYxMWxR
NGNPOVJXYXdzNUtwZ3VsZS9yTW1UUDkKMDM0Y0YzcDNFQUZKOXZRLzFiR1lPREVKWkw5QW54SnNp
MGFGMUN6U3hYSnQ2RE9ZckJGeDZkQ2hnMUYrbDhuL0FsZGo5c0lMTC9RUgpvbm9Kb3ZMU2pJbmVI
cG1jaXh0dXVLSGNPOFJudWtZYXV6dGZ6VG1pNXNvbEYyenRhZ3E0MzFkQlJDVFQvdVc5bm50QXRT
dCtnNlRGCkVmWEErY0NJVnFWeVBzcDczSW5ucCtJYWVoaitqM200Z1BYdTNkczc4UlJ6U09XQUpC
NUgzMFZBQkVSQUJFUkFCRVFnQ29HTURrajQKSUV4U2VBSThmZnAwUDZsbUhhVnYrN2pIMWt4NHc4
NUtlTC9FenpnT3ZFanJvbThHelEySkhEQjVKdzBrNm5Hb0JrV0VnNXoxd0pnTQprb3RQeDNaSzha
YUZFUmtpNG9KK0kyeWtzcEFHUlhRa215azVtWndQeHBBdkhlTERQQkkvTjJoZzl0Skw1dlFHLzZ6
QlQzTStiWVV4Ck5DQlVMdU0zU0VRUGh4d25oS2FVQ040cEs1M3Zob0IrK1BEaHh2OVRZSXo5bkhQ
T0NiN3FYUVJFUUFSRVFBUkVRQVN5UnNBbHVzUXoKbm9oU3RRcW5nYXBUd2ROZmVuR1FkaExGU0I5
Q084S1RWVkk4aUt3Z0l1ZXBLMlZNb3hxT0NrOXRlUVZHNVNHaUVZakNtVmlWaFhFTgoyMisvZmRK
VG9aK0o2bEFsUFVBSkZvWTd4Qk5aQ2w0NFp0OSsrNjN2RUk5anhDdXhWRzhKVGhkNUY5ZWl4ZDMz
ZnphLy9QS2l6a2V3CnhrbUtYSXBaOEsxaXZPT2NrNEtGSUgwdkoyeWhlbHpZTWM2bnEwQ2pkUHJw
cHhjT2lRSVRZZWNqV0VFa0w3RUtXTEJPN3lJZ0FpSWcKQWlJZ0FpSlFVZ0t4SFJCU2lVakRRZ2hO
UlNaU3BobzFhdVFGcTRGSU90TmcySWVHZWpndkdORUIwb282ZGVvVXU5TE9VVWNkWldnaQo2Sk9C
MFkyZHovUUhLU3ZqaVRlVnZCQ2NMMTI2MUg1MXpTdW1UcDFxbDE1NnFZOE1aZU1wK0pRcFUzeEtX
WlJyaXRJaFBzcHhzcjJOClErSkY1OEZ4ZS9ZTVBoVjlyK2FrSXJuV1A1TTJ4NHRxYnJ5QzcwVkhV
ckp2Vkl3aUlraER3bncwU2xidlNQbXgveGw5ZEpJWkJRem8KMFpOTEM3am40ajdrY3R3NnRnaUln
QWlJZ0FpSVFNa0p4RXJCQ2s2RHc0Rmd0VisvZnI3cUZOL3B1QjNIZXJyWko1TnFoTnR0M1NQdgov
djM3ZTBFMGVoREsrUkpWaUdxa3dmREM5dHh6ejZpN1pYVTdoTy9vQVQ3NTVCT2YvMDgwaVBTMFJ4
NTVKSmF1QmFhVEprM3lIZUxECkE4U3BnUW1Sb24zMjJTZThxdGhuSWk3NTBpRStQTGp0dGpNbnpE
YlhWOGFjU0QrODVwL1BaTlBSODhQNWJ0NmN0TUtWdGpXWHF2ZlAKTnFYNXhFU1hxbFZNcmdQTkV2
b2hYcVMyWlN0YVJTUU9FWHJVQnBTbHVhYTQrK0w4TXo0ZUloQzVTV1k4SE9DM1M0VTZqTjhmSGQr
egpWZFNock81RHNtdlRNaEVRQVJFUUFSRVFnZklsa0xFS1Zsa05qeEsyOTk5L3Y4K2ZwNmRJUlRR
bWJVUkJnaks4aHh4eVNLd255RVJQCmVPSk1LaG85VVlLbnc3QkFSNEpEUTZvTXBYb2JJS0JJWTRp
aWViS05NeFB1RUU5a2lETEs1V0dyVjFkell6Zlg2OFhjdGFVZWdmTUYKYk1rU2M1TmRjOEorTTFL
M1hPL0xFaHZWbDVobzQyRGdhT0FjY3E5SWtRcWNFTkwxcUtnR1l5SjBPSHVCRXhrK2NiZ0tWbmg1
OEpuagpUcDQ4Mld1UVlFM3p2bVFXdDRKVXNtTkVYMVlVOXR0dnYrMGQvc2NlZXl6dElYREdpSGJD
aEpMTk9OYzRKWUhGdllaczNvZGdESG9YCkFSRVFBUkVRQVJHb2VBUmlPU0E4dGFSeElHVnZTNXRl
TW5EZ1FGOUZhd2RLSVlXTVJtNXhLbUdGZGkzWGo2UjlCUldFVWcwRWg0THQKVWsxSzJZL2MvQWNl
ZUtEWUlkRFliTHZ0dGo3dHJkaktOQXZLdTBOODBhRzUzQ3BuN3NHN2ZmQ0J1WFMxb212RDM1ejh3
RHNncms2QgovZmlqT1RGM2VHMjh6MHg4Z3lwcGk3Lyt6WjZiOVpPOStXVjFXL1JuZmZ1clRqWGJ0
UDR5MjY3eE1tdmR4SFZtMzI1ejMvQVI3UVA3Cm9GY0tXeW9IWkluem1NYU5HK2ZGLzBRV2lIeWds
VXAxcitOTzNzTmppUCs1cUFNU1hBUC9hNTkvL3JuajZ3Q25zQmF1TXlRT0NOZkgKUXdKK2c0SEZ2
WVpzM29kZ0RIb1hBUkVRQVJFUUFSR29lQVJpcFdEOTlOTlB2dThCSGJrVEhSQ2VGa2ZWZ0lCcC9Q
angzcG1oQ2xaUQowbmZ2dmZmMkhhUjc5ZXBWNFVnU2xTRGlFRXgwazEzQUFsZVdsL1NmVkpOUzlv
RUJFMEltZldFNzdyampDdm15SHNlaWZmdjI0VTJLCmZBNGNJczZWNm54UkhLSWlCODNTRjJvRDRH
QWcyL2xmMWRjaVI4WTVDZHEzVUpncFZKeXB5SFpSdndUcFBuUGUvdG5HUExmQzN2M2UKUlk4YXV0
U2pCcldzVHQyYTluUE5SdmIycW1xMjVJUFBiT0YzOCszQVZzdThBMEZxWVNhYk5XdVdUMGQ4eVpY
eklqcUZBMGtFcjU3VApTcEdDbGMrR280K0Q4YTRMTWRFOE1kRndUb0xmSVUwSlM5dVlNSmYzSVhI
cytpNENJaUFDSWlBQ0lwQy9CR0k1SUV6SWZ2amhoMko1CjQ1U2ZwZXpyWjY2elhMck8yMkVNOUFB
SmRBcjN1WndjT3BnelFTZnRnOGw4VkEwSVQzRnBpSWhEUkc0N1JtcE5xdHoyOEJpeStabVMKdjR3
L25RUEMrWUl4cGpvM0ZZbm9URTNhVkNyakhxQzVTZWVBWk1zaFNqV0diQ3luOGFDck8rQjdnUVRI
Yy82WlMyTXpwdzhxV09JYQpjN3R5emVZYTVBVmJ4SDluNHJ0NHlRb2JNd25ubzc3emJ0WnlEa2h0
Vzd0K1RXdFFyNmJWYzA1STNkcHJXTTBhTzlvSC8zM1A2czc3CnFEQmxLOTNaU0xjaW1rREtIZFhF
NlBrUzFwQlVsRDRnTjk5OHN4MTAwRUcrZWVzK3hxZ0FBQ0FBU1VSQlZHWnd2YVNtNFZUeHY0bVIK
aWtVVWhJSVBKYlZjM1llU2prZjdpWUFJaUlBSWlJQUlsQStCV0E0SWs1SmtFM3VhL2ZFME5aUHpR
ZjhRUk9KMENjZVlvRjE4OGNXKwpIQ3ppYXB3T3RBMU03SUp0TW1FaFlqQnYzangvZmh5UjFxMWIr
NmFJcDU1NnF1dXlmV2VtM2JPMi91Njc3N1llUFhxVStuaWs3dUJZCmhOUFFjT3lZMklhN3hXY1NB
MmZMSVNyMUJhVTVnUE01WFdXdm9nNUlzRG02RHg3SzgvNysrNlYzUUthL3V0emVYVnpIcXExYjA2
clYKWDlQcXJGM0QxcWxYeXhxdFU5dnFyMTNMOGE1dGRkYXNidFViNzJXZmZyakl0bkRPSk5HNWRJ
YW1CSWNSb1RZZDVXKzY2U1pmRVk1aQpCTndmZXRzRXhSSFNIYWU4MTZFSndZbEs5ci9OY3FwNm9m
L2dkMWdhd3dISnhYMG96WmkwcndpSWdBaUlnQWlJUU5rVGlPV0E4TFNYCjNoSDBPK0JKYVBDRWx3
YUN2TkxabTA1RlRNTzIwYU5IdThaem9jNXpiaWNtMThjZmY3eWZCTkhUZzVTc0tFWlZIcG9BOHFT
MlNaTW0KdmlvWEZhSmVmdmxsdzlsaEFsaFdYWndUdFN6SnhoOGw1UW10UjdLeXZaUW9wdUZqMURT
M2JEbEV5YTRqVzh2Kzh4OXp2eWR6am12cQpJenJ0YzZrTngzbnVKMmExR3ExdGV4KzBxZFZ1VU5P
K1gvNjNMVi9wc3JEcTEzWGk4N3BXYjIwWEJWbXJudFdvdHRwKytMbWxlOW8vCjNXc2VvcHdjeDNu
ZmZmZjFML3FzUFBua2sxNzhmN2xyZEZJUkhCQitWL3cvcDN1QVFDK1owbHF1NzBOcHg2ZjlSVUFF
UkVBRVJFQUUKeW9aQUxBZUVpVEdsY3lkTW1PQ2Y5ak9oN3RLbGl5OC9tK3pwYWZnU3FETEVoQ3pS
K1Fodjg5eHp6L21vQlNsSW1WS1oySTgwSmJRUgpSRUdZbUZPcGgwN3FPREE4Z1o0eFk0WjNiTUxu
eU5WbkhMTnNhRUJnbXN4dzBraFR5MVNDTjlnWExjSTdMcnhBODhGRml4WjVCNDJvClVGaEVIR3hi
WHU4dUFKYlcrV0JjNktPZDNNVkZoVW8rU3BndS9HRk4yN1BkK3JiZnpnM3Q3K3ByMkkrLy9XMnZm
cnJTMXE1REdsWWQKMTNDdnJxM2xzdDVxcmxuRDF0aHFGL3ZwcGZHKzdHemNzeEkxb1lNNGpURFJU
RlVFNDM4bG5mUEJOVkFlRzYxSTFOOWZzdXN1eS91UQo3UHhhSmdJaUlBSWlJQUlpa0I4RVlqa2dE
Sm0wRTU3RzgrSnBMMC9zS1RkTEovQnUzYm81Y2JGVEZ5Y3hKcjVQdVlSK3R1VkZxaFFPClRUalZp
dTdxUkN5aU9CL0JLWTQ5OWxpZmZ4OU1qTkNXdk85eWRpZy9Tek80c3JKc3BUemgwTUVuMElBd2FT
UEtnMmdmQnk2cTBkZ1IKSFFpUklmTDdjVjQrK3Vnak8vend3MTFwMjlPaUhpYW4yeUVudVBMSzVD
bFl3WW1kM01YcFhVcm5nSkQ2cy95djJyWmQwd1pXdCs2YQp0bXExV1gyclptdlZYTk01SGVnL2Fw
bVRnYmdvQ0w5djk2clcyQmE0NkJvRkEwcHFQTzBuUWxjUmpJYVpkOXh4UjVIL3hjUng0MHp4ClB4
YjhueVd1ai9LOVBPNURsSEZwR3hFUUFSRVFBUkVRZ2JJbEVNc0JZVklWRnRueXRQZWlpeTd5cnps
ejV0anc0Y01OUVRxVFhKNjIKSitiUVU4S1g1U05IanZUTkJwbFlrN3BFK2RyZ3hVU2VxRVlVWTRM
SXRrUlh5TUVQN0t1dnZ2TExkOTExMTJCUnp0K3psZkpFcmowVAp0Y0FCWWVDYmJiYVpEUnMyekxP
S2NpRm9hQ2dCaTBNNFpNZ1E3OUJkZSsyMVJyTkVscEZDbDBsREV1VThwZDNHeVYxOFpNUEpod29O
Cm1ZRUw5amk5UytHaXdvcFkveXdwd2FjYTFheWUwMzdVV3FPYWN6MmMwK1AwSG5WcXJ1SGYxNnJs
UHRjeWN6SVFxK1dpSU5XZDM4RnYKbmZ1UXlWNTc3VFh2aFBOYkRodk9PWDF0S29MaHBPSlloQjhH
OEQ5RVZERmNOQ0dvaUZXcWE4clJmU2pWbUxTekNJaUFDSWlBQ0loQQptUktJNVlDazBvQXc0bGF0
V3ZrWGsxK2E4ZkhFL2FpamppcDJNVVE0eURubk5YLytmTzg0ekhLbFRJbFdNUGxtRXJSNDhXTGZh
eVJUCmQzVWlKY2NjYzR5TkdERWlZd3BKc1lGa2VRRXBUNW5zdSsrKzg5ZDc5TkZIcDl5VWFtSTRD
S1V4Sm8vY2g5dHV1NjFZTkFtbmpOUXMKQ2dlVXQ3bmdXZEwrSGxUR2NqOFBOd0hPNGdocnVaKzZj
ejVxMUZqRFZ0dmZUdXRSelVVNzNLdldHcmFtVzE3VHJhN2xvaDkxNnpvSApaRlhCZVZPbHd3V2p3
Z0hHNFNhU3h6MU5UR01xYmRuYTREeTVmcWNLVnJMVVBKelk3dDI3UjlZZFJScG5EdTVEcFBOcUl4
RVFBUkVRCkFSRVFnYndoRU1zQmlhSUJJVVVMcHlDS2tiYkZpMHBDR0ozQWUvYnM2Wi80WDNmZGRm
WWZwMUptUWs2RUk1V1JhcFFQaGdPVjZZazMKYVN5STdkTTVJRGdmcGRWdTBJK0NDQWZsaUFQRElV
RVBRcW9OVWFaOHNCUnlGeDhCb1VLV2V5aWZQVnZUeFQycXUraEh0Yjl0VGZmKwpsNVBhckZtanV2
dnNVcTdjVTNtY2p6V2R3K00rZW1ja3lvbnBmVU8vRDM2bmNkSUdveHk3TExkSjVXZ1I3YVJDRmc4
WHNtWTV1QTlaCkc1c09KQUlpSUFJaUlBSWlVQ1lFWWprZ2pLaWtHcERFcXlGMWhRa08vVHVDeWs1
TW1wczJiV29EQmd6d216TVJ2L2ZlZS8xVDVzVDkKZysvNU12SERVZXJYcjEvaHRUQStxbkV4U2FY
MGNHQ1ptdHR4dmFYVmJzQ1ZhbUs4cmtSazRleS8vLzJ2MThvZzFFL24wQVhqTEl0MwpKM2R4ZXBk
L05DQTRKR1F5T2JtTDA3dGtmd1RWWEVvVjU4RDVXTzJ5cTFiOXVkcnBRZjZ5UDFmOTdiNDdwNFJU
dW5WL2s2TVZ3WWpXCm9hK2hNZVQ2NjY5ZlpBOTYzTkN2QlFjNzM0M1VTQW81QkNsWVhpeStjS0h2
L1lFdUs5dVc3ZnVRN2ZIcGVDSWdBaUlnQWlJZ0Fya2wKRU5zQkNROG5yZ1lrMkpkSXg0RUhIdWp6
N09sMzBiWnRXMnZYcnAyZnpGMTExVlhCWnJiUVRZS1dMVnRXK0QxZlB6RFpSRHlPNHhBMgpTcGVT
NmtSbjk4REpDcTlQL0p4TjdRYnBienZ1dUtQck52NjYxOWQwN2RyVnA5T2tLaEtRT0pheStPNHk3
cHpPNGg4SGhITTZ1WXZUCnU1alR1K1JnQks1Y3JzdThjdmZDQlVPY3cwRTZWZzJmbGxYTjFsalRM
WE9uck9iV3NVMFVJd1dMUnBoVXZkcDAwMDJMN0lJbXBILy8KL2tXVzVlc1gvczl3T3NLVjdDaXhm
ZjMxMS91TzhGa2ZkNWJ2UTliSHB3T0tnQWlJZ0FpSWdBamtsRUJzQitTUlJ4NHh0QXlVdXFWcApY
bUJSTlNCc1Q2U0RsQ1dxTWFFVm1UcDFxajN3d0FQV3UzZHYyMlNUVGJ3andwTmxKczhWb1pJUTE1
TXFqUVVIaW5MQSsrKy9mNEFxCjVYdTJ0UnYwb09DRmhhTXdLUWRReGl0YzBNanBYY3J1cEM2NDRh
TWZmN3NRQ0hxTk5WeSsxWnJPRzFuRGVSN1YzVXJuaS9qMHJ4ck8KR1lsaVJOKytkRzNhaVdvUkdR
eGI4K2JOTFN1aTdmQkJjL1I1MEtCQi9pRkFqZzVmN0xEWnZnL0ZUcUFGSWlBQ0lpQUNJaUFDZVUw
ZwpsZ05DVlNCNmRQQ2tudXBYQ01xSlhPQ01FTkZnSWg1b1FFajVTV2QwRFgvKytlZDl4U3pLem1M
c00yM2FOTytRVUxXSkxzekJ1bFRICklwVXIyZVI2K3ZUcFpUYXBJdVdKS0VoUWtwaUpKejBUSG5y
b0lhKzNpTm9Nc2FKb04xTGRpeWpMNld5T3ZnUFpUMWs2SDR3TmpjZmYKTHVMaTNBK1hjdlczaThE
OVpTNzd5anNscEY4eE1YYkZyK3pQUDlnNm1xRmZvb0piUlRQK3Q5QjNVRVd1cll0QWxxWGw0ajZV
NWZoMQpMaEVRQVJFUUFSRVFnZElSaU9XQWtLcEJaU1hTaW9pQ0lMcm02U2tOQk9rNmpwNERoNFNu
L1RnR2xIMU5aNVE2dmVhYWEzenZrUGF1CjB4eFBrb01lSSt4SFJJRHl2dW1NN1hGK2NBSUNJeTJH
NkFsVnRhS2tQZ1g3bGVhZGRCVWFFWjV5eWltK2hDNWo0TnpvV1pKVkdFcDIKcm9xaTNVZzI5aWpM
WEM4N2Q2OEx4T1gwOTNBL0lYZlBDM3FCM0htbnVTaVl1YlF4czRzdk5tdlpNc29SWTI2ekd0ZkRP
UjJybmJQeAp0NnVHaFFQaXZ1QjBySEtsZC85dzc3WHhRbmhGdEZUT0I1WGRHamR1WENSS0dQR1FP
ZCtNcU53Sko1emd4ZVVVUnNEeGI5Q2dnVThsCkd6MTZ0Qy84UUhTVHRMMnR0OTQ2KytQSndYM0kv
aUIxUkJFUUFSRVFBUkVRZ1Z3UitHZldIdUVNUEtGLzhza252UU9DNkJiUk5XbFUKVEZyMjIyOC8v
N1NmVHVRNEprUkQwamtnTkJDa01kN3k1Y3VOYU1jZWUremgrNE9FTzZYVC80SlhPa1BramFZazdH
aFF4cGRKUCtreAo0VDRHNlk1VDJuVlVRNkw4OEd6WHRodW5pWHo2ZmZmZE4yM245MlRuckFqYWpX
VGpqckxNWmFMNXFNZWpqNXB6RHMxTmJndWNqdlBPCk0yTlpodzRGeTV5a3dwNSsydHdFUHNwUm8y
K0RvK0dWSGk3VkNoL2pyMnJWYlJXUkVCZitjRDZKWDBidndkLzlkbXliMlc2Ly9YYWYKWXBlb1ZT
SjFzSHIxNnI1Q1ZsYXJTR1VlVXNZdHFJSkcxSU9IQ2Z5UDBMZUgvMEdpbTVNblQ3WTJiZG9ZLyt0
VW9ydlRlWWJyckxOTwp4bVBHMlNBWDl5SE8rYld0Q0lpQUNJaUFDSWhBK1JLSTVZQ1FOMDlsbjhj
ZWU4eHdJRERTaTBoRElSSkN4U1dFMTZScTBZMDhsVkUxCmlOU3FwNWxsT2lPeU1uandZRGNCN1dB
OE9WNXZ2ZlZTN1ZwcytkaXhZLzFrS3J5QzhyTkVWc3JLK2VEY1JEeWVmZlpaSHdVaXZRd0wKbDhI
MUN5TCt5WVoySXhDZko1N3lndzgrY0UzK1FsMytFamZJNFhlWHBXYTc3Rkp3Z3BVckM5NnBoT1d5
Z1Z6YW5abVRUWGlqL0M1cApXbTVlbkZYNysrL1ZMdDNxTDF2dFMyRlZjNUVQbWczK1haQjY1UndQ
VnhUTC9pUVh5emtvVVl6Zk1jNDJCUWh3eU5FQkJWcWdEei84CjBPclhyKytkY3B4cUhOUjhNUngy
TkNwWThCdkZDY0VaUVl1MTFWWmIrWFU0VHFScDhYQWhtNWJ0KzVETnNlbFlJaUFDSWlBQ0lpQUMK
dVNjUXl3RmhPRVExbUpCTW1UTEZLT2xLaElMVUljVHBRUmxhbnZ5MmFORWk1ZWlwZkJYdWtyNzU1
cHZid0lFRGZUNDZLVXM0TTFHdApTWk1teFRZbCt2REZGMTk0SnlpWWFCWGJLTXNMS0dNNmI5NDg0
OXB3UkZxM2J1MGRLVHEvOHhTNXJJMG1jcVNuaFR1cVU3V0pLQTMzCkRudnFxYWY4cFBNOFFoQmxZ
T2p3UjQ0c09CSEZ6YWhHNVc2VkhYYVkyY1liRnl6SE1YRkJOdGNySmZzRHFrYWt3NFUrL25aMWRu
OWYKWGQyWDR2WGxlTjB5M2wwd3pUc2p2RWN4dEQ3MGRMbjAwa3VMYlE1bkhNbDhMTU5MMnRpRUNS
UDhtSEdjK1g5RnUwWGtJM0QrY1V3bwpEa0Y2WTdZdDIvY2gyK1BUOFVSQUJFUkFCRVJBQkhKTElM
WURRdVVmeE9PVWxzVnh3QUVnS29JUVBKd0dsVzdZT0Fpa0taRW1GWFpVClNNUGl5VEVSRkNaRlVZ
eG93OGtubit4ejJObWVDUldwWFkrNm5CN1NTc3JDU0xlaDdPcExMNzNrZWVDSTdlTWU0OU1IQkRF
OCtwaW8KUXZSc2paZnFZdlJSQ1RzZ3diRVJ5TGQwSWd2ZWlWU1ZsUVBpV3J6WXQ5OFdqTUlGRDF5
YVhzRm5kOXZkNzhDYzgyYm1BalMrTksrVAoxR1RmbkpOQkJTelNyUDc2YTdYci8vR1gvVUV2RUNm
K1dQMTNqVUl0eU84UlJlajhUbWtjT1hmdVhIL2ZnNnBYYUNxSThFWDlEV2YvClF0TWZrZjliL21l
eG41MHdKeGozRHE3Mk1TbUE5QVA1L1BQUGZUU0gvL09zVzVidlE5Ykhwd09LZ0FpSWdBaUlnQWpr
bEVCc0I0VFIKME1odStQRGhmdUxLSkpzSUNBTHNPTmFuVHgvL3hCWHgrZW1ubjE0bzFpVU5KSTRE
Z2dDZUovcGg1d2RkeU9XdWsxMjRUSENjc2NYZApsa2srMVlTSWdqQU9Ja05vWWFnT2hoYUdNcngw
UUM5TG96djMrZWVmNzh2TnBqb3Y0eXhySTYzS3lReTg1c01GYUx5NWgrL09HVEp6CjJYVGVPWEFC
Sk9jNFpYOWtMdUJpZnhBQ3FlYlNyMXlVWTdXWHBLOWhmLzVkM1MxMzUzYmFqei8rRnlYaDdFRTZW
YXFSNEdEUXR3WUgKbUdnSGhSbTZkKy91Si9Yb2Z5ZzFuYTlHRlBPVlYxN3hEeE1vZVkzeGNBR05G
eEU4MHRQNDN3NmFFMmJ6T3JKOUg3STVOaDFMQkVSQQpCRVJBQkVRZzl3UmlPeUJ2dnZtbUh4VVZy
NExlSHl4Z3doTEhFTFlpZUtYVE1wRVFjdVNaN0ZCNUoxelJLdE14MFhvUWNRaDNSTWVKCkdUZHVY
S1pkczdvZVRRd1ZzSWg4WURObnp2VFJoVW1USmtXZWlJYTFNelNDdzNuQnZ2LysrOExVR0w4Z3do
OGlIR2gyRW8yMHE0NGQKT3lZdUxyUHZPQ0IwTzBmN0VaWVdrSXJsYnIwM0ttTmwzWmI5YnVZY25W
cHJPbWZET1JtMW5kTlJwMllOcTFYakw2dGJxN3F0NWRiVgpkUkdZdGR3NGF2d3ZCU3VUQS9MTEw3
OTRod1BuazIxeHBHSE83NW9LYnZQbno4L0xGQ3pZNG9DZ3ZUck01YitGbTFPU2loWDhQcWlNCmxY
WEx3WDNJK2hoMVFCRVFBUkVRQVJFUWdad1NpT1dBVUYySy9IRlNxSmlvOEpTM3JhdW13L3YwNmRP
dGI5KytzUVpMV2hLNThsVGwKd2JGaDByelhYbnZGT2daYWg3RHp3YzVVOEtIUEFTVkdzMTNCSjlu
ZzBGWXdDU1V5eEZQbHdKaUVzbnpYWFhjTkZxVjk1NGs2S1RCRQpMazQ2NlNSYnNtU0pMMmxNU2c4
Q2ZmcUtSRFVjSXM0YlprUC9samZlZU1NV0xWcFVycUpvVXJGNHVZSmhydnBaOFN0eXZTaGRDcEM1
CklnTEYxNVY0aVd2NHNjcWxWdEgvNHkvbks2OXlVYkkvWE1oamxTdkg2OTlYMXlnUW9idDFLOTEy
T0JRNGhPa01Semx3RW9rY3dIYkkKa0NGZUI0VFRTQ1F1bjQxVUxGNms2cEYrbFdnSTYva05aNnBF
bDdoZjJ1ODV1QTlwejZlVklpQUNJaUFDSWlBQ2VVY2dsZ05DbDNMUwpUWVlPSGVyN2JDQlNIVDkr
dkk5QU1QbU82NEFFTkhaeHBaRjRZVVFPZ2loQ3NEN2QrMTEzM1dXWFhISkpZZFNFaVNNQ2RNYUZB
QnpuCktOZkdKUCtZWTQ2eEVTTkdKSTA2UkQwL0RoT3BhVlFWNHpvUUFQTkVuZXNoSng5SExlQ1U2
WmlJNFhHK3dqb0VIQnJTYlhCQXlxc1MKVm5qYy8vcFhRZFFqc1VDVWErSGlVcG9LeE9uT2wzUU13
bnVWOExPcnJmdTMwM3o4N1ZLd3FIUkZ1dFh2YnRuSzMvNnczMnIvYWJWLwpxMkUxWFBURFpXWFpI
eTVZQXY5TUJtTWNUbEtXU0xucjNMbXpMejZBVTgzdjh0NTc3ODEwaUx4WWYrdXR0L3FvQjljVHR2
ZmVlOC80Cm4wZWN2ckdyRXBBc29oYmVQdExuSE55SFNPZlZSaUlnQWlJZ0FpSWdBbmxESUpZRHdx
aHZ1ZVVXWHpJWGNTb1RFNFRlOVBJZ1g1eEkKUVBpSmU2cXJaSExIWkp2OUVNRlNGcFRKTVNWaUVZ
L3pIbld5ZzlhRFY2THQ2RHJhbFdYL0JSb3dKak9pRnFTVlJUSFlrWHFGUGZqZwpnNzRyUElKL25E
djR4RWx6ZStLSkozeHZsZkI1ZVNMZnMyZlB5STBSdy92bTRyUDd5YmpmamV2TWtWQnZnTGsvRmJJ
dXVxaWdOQy9aCmRLNlNiWW5OUnlMKy9OdFdydmpMblBiY2NYVGljL2UrM0lVNjZ2eTUybXI5OXJ2
VmNLS1RhaXZRaFJRNElQeitNa1ZBR0JCT056b2sKSEYzMFRCanZsTFd0S0VaQkNGNkovM1A4bjZK
cDRuK2Uwcnc0S2tRWFMycTV2QThsSFpQMkV3RVJFQUVSRUFFUktIc0NzUjBRK2t1ZwovMkJpVFlv
UCtlTk1rQTg5OU5ESW82ZkVKK1Y4Nzc3N2JqL0pvMk0wRTI4bU9hUWVNZEdPNHNod1FwNDZJL3dO
bnZTekgya2xUSlRDCnd2VElneXZoaHVlZWU2N3ZDUkhXcnlCS0ptME5BWG9VTVcvZHVuVzlmb0Rl
SmpnUVZQakNzWG40NFljOUw1NjBSN1ZrNTRNSHpoNzMKa0lwajVXMHVjT1VjMklMcVYrR3hVSWJY
M1VMZk00Unl2VlJsZGkxbVNteE1yT3RXVzJrZmZ2eWpiYnBwSFZ2dTBvQitjNVd3VnF4YwpiY3VX
dVk3MTFhdFp0VFdXdTkvaTJqNzlhcGtyMVVXS1lSVERRYVFTVnRqNERaUzMxaVk4bmt5ZmNaQnhU
Qk1ycGhIVklVMlNVc0svCi92cXJieFI2RGwwaVMyaTV2QThsSEpKMkV3RVJFQUVSRUFFUktBY0Nz
UndRSnRSVXUrTEpNSk5aSEE5U2d0QmhrQzRVT0FHWnJvUEoKTVkwSDZhSk9NMEljaUpMbW1TUDhw
dVJwb3BWMXd6MmF6aUdtRDAvaVNNK2hUd1NpK0tnVnVlaUJnZ09DUTNmQ0NTZjR5OEtCb2RsZApI
RU1Ed3BQNDhIaEk0eUkxTFZuRUtNNnhzN1d0ODlsODZkM0U0emtmMGtkQVdPNkNaSzYvU3VJVzhi
N3p1OXhzbzcvczFkZVhXcDMxClhLU2pRVzM3L3BkVlBtSzM2ZzhuU2wrNWhxMTA0blFYODdCVksy
dllzaS9uMlNZdUhTbUtFMHdFa0lJSFlXY1h6UTcvSy9CSEw1WHYKeHU4cy9Ec0p4c3YxQjlkRmVX
dEtaSmZHY25rZlNqTXU3U3NDSWlBQ0lpQUNJbEMyQkdJNUlJaFNiN3JwSnE5M1lETENFMUplVExU
bwo1MEhYNURoR0pHV25uWGF5TVdQR2VLZUc2RWRVSnlZNEQ2Vk82ZnNSbmtDVlI4TTlIQWVpTVdI
RFVjTVJpSk8yd3FTUDZBU1RXdnB6CjBFVWI1eVBjdURGOGpsU2ZFUS9UQ3lTWVFMSWR4MENuQXZk
OE1IUWVUdjlzbzBhWjA2V1lOV2xpVHJkVHRBTTZPcEZOTnkzZGFIRjQKdDIvMmczMzQycTgyYVlv
NzBicDFySGE5bXRhd2ZrMm5BM0ZOQ2QxL1FYVnpHcEUvVjVyelIrejN4Vy9aV3V1c1pZMGlsT01p
YWtVSgozbkRFaWI0Z09PU2t6YkV1MzIxVEI1ai9JYlFyMzdyb0Q3b1BvanJoRHVpa1h3WHBnU1c5
bmx6ZWg1S09TZnVKZ0FpSWdBaUlnQWlVClBZRnFMczg3czlvMllWeXZ2ZmFhYnp3WUxPYUo3MnhY
MGloT0doWlBpR25ROTgwMzMvZ1hsWGc0QnVKZDlCdFJ6YWQxdUVsZzJBRUoKOW4zeHhSZDlaYTMr
L2Z2N2tyaWpSNDhPVnBYSk8rbFhwSU9ScGhPMW96UVJDcDVJazZaR2VodVJGZGlNY3JOMCtvcEVO
WHFqcE5LbApSRDFHOXJlclZ1U1FhTFNKZ3VCNDBJcmlrMC9NVGZvTEhCQVhIUFBtQ25lNWRLZ2l1
OFgrOHZ6emsrMnR1Vi9ZOEluVjdPTmZuY2FtClVSMnJzVTR0YStBY2tBYk9FYWxYZHcxWGhuY05x
MW5EUlVHK24yc2JMNXRsdSsrd3RZK3NFZFVLRzhMc3NLSC93QUVQRzQ3blJVN0EKY3ZQTk42ZU1n
TFJvMFRLOFM0NC9GLzBYVDd5R1J4NTV4UGdmd2ZHZ29TZ1JPMHJ3NG9BUXdjT1M2YnZpWGtNMjcw
T09nZW53SWlBQwpJaUFDSWlBQ09TU1FJUDlOZmlaS2pESVpHVDU4dU4rQVNVclllRkljeC9sWXVY
S2xuOWdnM0tYa0xJSnJLak9SenNWa25jbE9WS1BoCjNqSW5GS0RzYWVLTHNyNFlEZmZLMnZuZ3ZF
R1pZY1Q2VVF4ZmtBcFlORFNrUndOYURTSk1kRm1IRVlMOXFKYXFod09wYWZsZ09CWXUKYzgrNmRU
UDM5TjFjWlRXenRtM05Ibi9jWEVkNWMxcVZnbEdXMXZrSXJuWG5IYmV3ZHJ1dXNLMGFmR1BtS2wr
dFd2R0hyZkN2MzIzNQpyNy9iTWo1LzlZYlYvL0ZOYTdMaE9vWE9YN0IvcXZkRTU0UHQrQjNpL0JJ
SnlYZmpmdzFIaWZMUEV5Wk1NUHJxNFBnUzBhTTA5byswCnJIY1dKUjB0eXJYbTZqNUVPYmUyRVFF
UkVBRVJFQUVSeUE4Q0x2a2t2ZEU3Z3NnRW9taUV0Ynd6dWVXSi9ydXVmVFhWci9iZmYvOVkKWlYx
SnhhQ0U3eDEzM09IVHVSQ2ZsOVJ3ZmhLcjkzQ3NPTlduU25ydVRQdVJUaGJITVNNcXhPUVZjWDVZ
RTBNVXBIZnYzdDRoaVJyVgpRSmZUeWJVYUQwZUd5aU0xTFJVamx5Rm1PQ0czM2Nia3R1aFd0RTBo
TmV1QUE0b3VMK2szZmgra24zVThkQTJyVzJldXZmclJML2I1CmluVnQ2WXIxYmNYZjFhemVpcVZX
M3hiYXh0VVcydlpiYmVSTEZSUDVpQm9jSlBVUXZRK1YzWWg0Y2MrSjVFVXRtVnpTNjhyR2ZrUWcK
K1YzOHkrVzZKVG9aaU0vcHA1T3RnZ1c1dmcvWjRLRmppSUFJaUlBSWlJQUk1SjVBUmdlRXAvQlV2
cUZTRldKeE5BMms5MUQxQ2JFMAo0bFRTVGVqK0hNNFp6elIwbkJBbVBlZy8wSlBRa1JuRDRZbGFn
WWp0czFGOWl1UGtnekZKUmkrU1dQNlZqdHZ3VGF5MmxHN002RDlJCjNRbzdJTUgyT0k1RWgzaC8v
LzMzdmRZa1dGZFc3MVJ6cGRHN3l6UXJOQndTOUNET0wzVTlUd29YbC9vRGppQ1ZxZEMrNER4djVW
VHQKMzMyM3lEa003L2xTMFB3VytYMDNiZHJXVDdhNUQyaG5mdnZ0dDR6bnB2SGduWGZlNmJkRFMw
RjA3NTU3N3JHQkF3Y1dtOUJuUEZnNQpiRUNVcm1IRGh2Ny9Mamc5RGduUkVLS0dhSkd5WmJtOEQ5
a2FvNDRqQWlJZ0FpSWdBaUtRZXdJWkhaRHdSSXpKMWJScDAvd1RlbEtFClNPZkJXWmcxYTFac0J5
UzROS3BxTVFsRzNFNWZFRkkvZnZqaGg1UzU4OEYrd1h1MnFrOEZ4eXZ2ZDBydURoczJ6UGRlQ01a
Q1kwYWMKRWlvdVJUVlMwMGh2U3hZZENvNUJhbHA1bWZNSGZOb1ZxVmRCaVYwbkpUSlgxTXlsekpt
cnNKYTlrY0dPYUFZVnFhaEdSb05HMHZaZwp3ekordzd6cXVZNklPR3g4WnA5MDdCZ2R2MWVpVldl
Y2NZWXZINzNlZXV2NVFkTTRraWFFT0hsVWlzdG53ekdqSlBaamp6M21IelF3ClZoemVmdjM2K1hU
QXhPYUVwYm1XWE4ySDBveEorNHFBQ0lpQUNJaUFDSlE5Z1l3aWRDWWpWTUJoa25MNzdiZjcxeWRP
TFR4OStuVDcKdi8vN1A5KzdnMkV6Z2VuWXNXT3BudnFpZGFCUFJhTEdKQjBXbnRDbXFqN0ZFMXll
YmxjMG94SVJ3djZnVy9rYmI3emhxNHdsaTJhawp1clpVa1NTaVZ6emgzMkdISFZMdG1zUGwxWW9k
MjgzVlhkcVoyZTY3bTduYUJpN3lZRTZEVUd5elVpMTQ0WVdDYTI3U3BJbi9mZUtNCjRJRHcyMllD
amhNU2Z1RjAwNHVHM2hjNEsyRUxDN2lKL3RGd0VMMUhvbjMyMldlK0ZPOWVlKzJWdU1wL2p5dmdU
bnFReUF2VGk5QTUKREJvczlCNDRUYVNVd1lES2R1a3M3alZrOHo2a0c1ZldpWUFJaUlBSWlJQUk1
RGVCakJFUUlneE0zTkFrSUlLbVV6bTU0Z2pJbXpadAo2Z1dyZkg3SktZZEp6eXFOY1R4ZWNTelIr
V0JmcW11aFZ5RXZQMnIxcVRqbnpPVzJPRTJVSThaSkNBeFJjRnhOeXpYWFhHT1RKazN5CnVvVGdP
THd6cVNZVjVuR245aWF5VXQ1R0NwWXJKT1dhTFpxTFRwanJNNU9iRVFYUkRONjVmbEt4ZU1lSjRE
MTRjZlowMmc5SzFRWmQKem9rT29JOUk1dXpoVEdjemVwQWJLdjhjbFd1WU9YT21UWnc0MGYrL3g5
RXUvWE9VekoreWRSOHluMGxiaUlBSWlJQUlpSUFJNUN1QgpqQkdRWU9BSWJIa3FTcHBLWUR5Wkp6
TEMwMTQwSExlaEtJNWdwR0wwN2R2WFQ3UkwyNU1pbUxDSFQ4dngwWmVRMXBVb3JBMXZsNCtmClNk
bHAxYXFWZnpJZmpBOXhPaVY5Y2F5aVJIU0lJdEd6QmVFNnBWV1pVQWVUYWlvemtmT1AxZ1Q5VEtw
cVdjRzVzL3RlTkFKQ1ZXVFgKaE50Rkc4ejF5M0RGcVp6a0FvZkV5WUpjQ2R6c25aa243MmdkdUda
K0QweUNlVEhwSnQwdlNNR0NMWi9UUlVEb3pVTGhCZnF6WURqbAovRzhFMzFsR3FpS2NpYzRSV1Vs
bWNhTUh5WTRSZlZuNkNBaE9CODBwVjY5ZTdYOHZqQjhkeUMyMzNPSXJzcVU2VDl4cnlPWjlTRFVt
CkxSY0JFUkFCRVJBQkVjaC9BaGtqSU1FbEpLYWlzSnduOHp4bHAzSVRndWVveG9RTm9TNFZneElk
RUNaQlRBQ2pHbVZyeWJjbmxTYXcKWU1JK1lNQ0FDdWVBWkVQVHNxNVRkOU5sbnBTNVJFTmpRb1du
OHE3UTVHNnoweHlZRThDYmM1UUtlb0V3VnBwdEkzVnhGWm05U0QxeAovQ1g1anZQRjd5cHd4SUtu
OERnSE9OR1VQY2FDOWNGN3FuT1JIcGRZemppeENTZlJEeXBNeFdsQ21lcDh1VndPbCt1dXU4NDN1
eVR5CmhzT0tmZjc1NS81L3RIbno1dDVoemNZWXNuMGZzakVtSFVNRVJFQUVSRUFFUktEc0Nmd3ph
NDl3Ym5MbVNlM2h5V2g0d28vNE5rNnEKRTZWemt3bk5MN25rRWwvbWw0aEtNRW5NTkt4c1ROZ3pu
YU1zMTJlcm8vcHh4eDNuYy9xSmRvU052UDVNdWYzaDdYUDFtZllTZERoMwo4cUlpUnQ4Lzl4Tnpo
UTNNamp5eXlLcXNmQW4vcmlneGl5UE03NWVTczZSaHNUNTRKVHNoS1lLa1lZV1BrMnk3aXJLTS8y
blMvWWdZCmhnMTlGeEd5ZWE1aUdHVzJzMjFoZmlXNUQ5a2VqNDRuQWlJZ0FpSWdBaUpRZGdSaU9T
Q2ttMUJkaVVrdDZUMUVSVWgzdXRLVk1TSjEKaFhTc3FKWXNOZVVBMS9pQko4Zmh5VW1tNDJWcndw
N3BQR1cxUGx1YUZwNXE1M01mRUVydy9xOVBaREcwVGdQdENod1VMQ1pTd25lWApsVllxNCtsN290
MS8vLzErRVYzbTZRUWViQk84SjI3UGQ4VHJyTS8wR3lVeTJLRkRoMlNIeUt0bC9DOXZ2ZlhXU2Nm
MGtlc1FTV2xoCmpFZ0ozNG1JbE1hU3NTM0pmU2pOR0xTdkNJaUFDSWlBQ0loQStSS0lkUG5TOVFB
QUlBQkpSRUZVNVlCY2YvMzF2bkVnSlRxWk5CRDEKNElud0thNTI2cEh1Y1hVY0J3VFJPc2NnNy83
Z2d3ODJudGd6WVlzN2FjdldoTDE4YjBQUnMvTlVtaDRyUEJrbUplYm9vNC8yVDkyagpkbFRuYVBu
ZUJ3UzlCeS9tNk9INUx5bFk5QURwMHFXZ0o0Z3JDT2IxSWFWeFFNSUM4NEEwalREaGl5MVlzTUJt
ekpoUjJEUXluWE5CCmhiS0REanJJUjAyQ1l5VysvKzZFTEV1V0xESHVWNzZYNFVYdndhdEhqeDVG
MHNVb0pVeDViTFJkUkh5SVdPS01sTVlCeWVaOVNHU3UKN3lJZ0FpSWdBaUlnQWhXSFFHUUhoTDRm
VkZEaWFURWFqYlBQUHR0WHhBcnkzTk5OMmhKeDhCVDVtR09POFJvU3lwMmVmdnJwdnAvQwo4T0hE
aTB5Q0V2ZEw5VDBiRS9aVXh5N3I1WWlYbWZRaE9LZnNMZzRhRVNZYU5zWVIxT2Q3SHhCM2FXNVNX
eUE2ZDBFMGJ3UXBlTGwrCmdUWi9mc0ZuSWlCMTY1YnVMdkRVUGZ6a25jcFg4QXd2dytHam1sc1Vr
VDhwYkVHbit0bXpaeGYyRmdsRytaVnI4Nzd4eGh2N1NYdSsKT3lCY0w1b3NST2RFTTdHQUMyV2dT
WWZrT3hHUU9HV2dBeGJoZDQ0VEhKdmxwYjBQNFdQcnN3aUlnQWlJZ0FpSVFNVWhFTmtCNGNrdgpn
bStja0dBaVF0U0NKOGVVNW8xak9CMzArcUQ2RG9ZRFFVZHBvaWowcWFDQ1UxVEwxb1E5NnZseXVS
MlRNNkpKQ01pSkJDSHlKN1dOCkovUVhYbmlodFczYnRrZ1ZzblJqNmRhdG05ZlRJUElubngvanlY
eXkxTGQweDhubHVwNDl6WTQvdnFEM1J5N1B3N0hERGpJbG1ubWkKSHphYUNqN3l5Q05lOXhCZW52
aVpLQUQvQnhnVGFQNFhldlhxbGJpWlhYenh4ZDRKS2JZaUR4ZlFETFI5Ky9heGlqK1U5REt5ZFI5
Swplbjd0SndJaUlBSWlJQUlpVVA0RUlqc2d1KzY2cTAvVDRPbjhFVWNjVVRoeTBrd1FzWkxTRXRY
SU8wZnZnVlBEdmdqSkVjRXlDYnJoCmhodDhOL1FveDhybWhEM0srWEs5RGIwamNCd1E0NGV0U1pN
bXZxczV6bGJVTkN5RXd3aUkwZFE4Kyt5ejFycDFhNTgyZE9xcHA5cWQKZDk0WlBueTVmWFpGbDF3
YWxMbHl0ZWJLREpzclpWdVFlaFZxZ1pMVnNRV1RYeWJjVkh6Q0VhYUNHMDRaMFNYZWcyMVNuVGlj
SW9oRApsNnBpR3hHc3Qxd3VXWnltbXFuT21ldmwvRS9qNUU2ZVBOazNUNlE2SGN1b3BwWUxDeGlY
NWo3a1lsdzZwZ2lJZ0FpSWdBaUlRTmtRCnFCNzFORXdhS0hkTERqaVRsYkJ0NHpySThWUTVqcEZI
ZjlkZGQzbXRRckFmWFpnNVB1a2dVU3lZc0ZOdWwxS3FSQXV3OElROXluSHkKWlJ0eTVLbkdsTXcr
ZE9LSWNPV3haTnNFeTM1ejRncllvTE9oWE96UW9VTjloYWVnZndXVDQzeXc4ZVBOZFdRM2wySldv
UHR3dW0wdgpUSC8rK1h3WVhlWXg0RWpqRkQ3MjJHTmU4OEVlYUQvZy9lNjc3eGIrSGpNZnFYeTM0
T0VCS1pFNHB2TmQ3aHUvRTc3UG9oU1pUQVJFClFBUkVRQVJFUUFTeVRDQnlCSVR6VWdVTFo0Tjhj
Tko2MnJWcjV3WGtSRE1tVEpqZzA0ZWlqTzlIVjROMTk5MTM5MCtnY1I1d1JybzQKMVRHQ2Rub3NS
TlU2Wkpxdzc4RHN0Z0xaVmx0dFpWZGNjWVhueTVOejBudGVlKzAxbjVaR3cwV2NrQ2pHZnFUSDRa
VHhoSjVqdnZEQwpDLzVlOFZTYnRMbmp5WDBxUjNQWlppNlZ5ZHdZelp6MHgya3FDZ2Jqc3ZIOGN0
ZGczRFZKTE1jQlJqdzFFYnNMTHJqQTlTNjUxbGVGClEwK0Jvd2gvR2tybXV4RkZaT3lrNnZHL3VP
R0dHL29oazVKR3lXMGVDb1NiaitiNzlXaDhJaUFDSWlBQ0lpQUMrVThnbGdOQzEyd3EKWFpIR3cx
TlRVbnNRa0tQaG9Gb1QrZ1hzbFZkZThSTWEwbitTR1UrT0taK0w1b01ucnRPblQvY2lkRkpXaUlE
UUpUMUkwMGkyZjdBcwpXeFAyNEhqNThBNWZ1SHp5eVNmZWVjRFpneGY2aEZROGs0MzcyR09QOWZk
am4zMzI4YXRuenB6cHF4cFJIcFpKYzNtYmErN3UwcC9NCjNmZC9uQS9HNUxMeGZHUEMxMTgzNStD
Vzl5Z3pueCtIanNJTU5EUWsya1JQRVpoWGxFazdXaGdlQ09Da0JzNEhWNDE0bm9jQ1JISkkKMzVP
SmdBaUlnQWlJZ0FpSVFMWUl4SEpBT0NuT0FRNUc5KzdkL1lzSk1pVmZuM3Z1T2Z2amp6Kzh1SmNK
MkFNUFBPRFhweG9vWlQ5SgpYNkVFTHkrTTZsaWtEWkdDRmFSVHBkby9XSjZ0Q1h0d3ZQSitwMHY1
ZSsrOTUwdWZCbVY0RHpua2tGakNmUGp4Qko1SkpQY3FNS296CnNSdzlUM2tiT284dHRqQlhlYW5v
U0lpQU9DbUMweGtWWFo3UDM0Z1drSmI0SFY2Vk03NVhGQWNFQjJxampUWXFVcDBxdUFaK094USsK
a0ltQUNJaUFDSWlBQ0loQU5nbFVjeWtZTGhrbXVwRVNSSW9KS1J1cEJMaE1kSW1Ja0NLVnl0NTg4
MDIvS3ZFNENJT2phaDJDWStQNAowS3VncEJQMjREajU4UDY2ZS9SUGVsbzY0NWF4M1I3a0thVXdv
bEVqUm95SUZFbEtjWWdjTEs1VzVKajRSa2lIYnJubG44Vmt6ZUdVCnVBZnZidXovTEMvTnA5R2pI
M2FsZk91NmxLNEd2dWNGRGhxT00yVm5TU3ZFMmVVVmJNTjdVRDZYdE1DdzRSeUdqYWdISGNPWExs
M3EKUmV3STJUbitMZTZpMGszZVc3Um9HVDVNamo4WC9SZFB2QVllQkx6NDRvdStjbGN3RURRZzhI
bnl5U2RUL29iaVhrTTI3ME13VHIyTApnQWlJZ0FpSWdBaFVQQUt4SEJBbVdWdTR4OVk0Q2FRRE1j
RkNCNEtHSTdHYk1zM05VdlZVV094S0h0RkhnY2thRXovNkwzQXMzcWU3CmRDeWlMRkVOYlFRVmpS
THRvWWNlc3E1ZHV5WXV6dnZ2UkNlb0RwUk9COFBUZGlhNWQ5eHhSOHJyUVVDODExNTdwWnc4c21N
VVJ5YmwKQ1VxMG9yaEhRYU5CSi9zeDEzTENtOHRrTXRkbXcrbGZTblNDcER1OThNSVVYMjF0eXky
MzlGeEo3K09WckFvV3Yxa2NaOVpSY25xZApkZFlwY3N6dzVCMStOSW1rNGhqVnllZ1B3bjNqOTQw
RFFxb2J6a3d5aXp0NVQzYU02TXZTT3lBY2gvOXRVaW1Ea3MxY0o4NVhxdjloCjlvbDdEZG04RDV4
ZkpnSWlJQUlpSUFJaVVERUp4SEpBdU1UYmI3L2Q5NmtnN1FvZENDL0t2Ukx4d0JIaGhTTkJSSUkw
cTFTR2pvUnEKUVR6SkQ0N0RaNTQ4STBTUGFteVAyRGNjTlNFVmhra2cxWjdTVGFDaW5xTXN0Mk5p
M0xoeDQ3UU9DT05ob2hoT3Iwb2NZN1ljbWNUagpsdTU3Y1FjazAvSElhaUpTNHViNUpiWnNUbnpE
RHNpWFgzNXAwNlpOODZXVEV3ZUhKb1I3bVNyZExlN2tQZkg0OGI1bmRrQXlIUSt0CkNKRVMvcjhE
aTNzTjJid1B3UmowTGdJaUlBSWlJQUlpVVBFSXhOYUE0RlE4Nytxa0huNzQ0WVkyQWNOaFlDS0dJ
MEZGSFZLaFdKZk8KQWVFSjhlREJnMzBUTjU0ZXN4KzU4NVFBNWVsK3VnaEFHRE05Uk5CTkJNMFJX
Y2ZFbkNmVFRCQ3AybFdSN0c2bnlrN0hMZXExSU9nbgpVcEtKWS9ERU8rcHhzN25kTmRlWTNYOS8r
aU82b2xLK1dXRnBISkQwWnlqNVdpSWxGRUpJWnA5Ly9ubUYrZTN4bTN2ODhjZVRYVWJoCk12Ulo5
T2tKT3lDRksvVkJCRVJBQkVSQUJFUkFCR0lRaU8yQXpKa3p4MWZMSVljKzBJQTBhdFRJT25YcTVG
K2NHdzBJMjZVem9oM28KUDBpVjRpa3hYYitKWmh4NjZLSHBkaXUyam1wYW5UdDNMcktjM0hXcVFK
RXVWdEVzU3VuZ0tLbFQyWEprY3NudmlTZk0rdlVyMmduZAorWjlPbjJHdWdkOC9aM1kvcjd3MDBn
aHhvdm05Y2Q5SUtYem5uWGQ4VVlhSkV5ZjYwdFI1T2ZDRVFWR2krY3d6enl5aTJlTC9sLy94CkhY
ZmNzWEJyTkRReUVSQUJFUkFCRVJBQkVTZ3RnVmdPQ0huaUJ4NTRZRVlOQ0JNenlwR21NbEtrMERr
d2NjT0p3ZkhZWlpkZGZEOEYKanA5T3ZKNTR6RVRuZy9Xa1h0RVlrVWdJeDZ0SWR2NzU1MGZXZ0tR
VG9XZkxrY2tWdTIrK0tlaDY3dlRiUmV6c3M4MWNXeGtYR1N2cQptQlRaS0krK0VLM3EzYnUzTFZ5
NDBQOXUrVTBUbGZ2M3YvOWRKQ3FYUjBNdU1oVCtwK2w2ZnNJSkp4Ulp6djhWbGU3NFB3MGVOQlRa
ClFGOUVRQVJFUUFSRVFBUkVvSVFFWWprZ2xPeEVXSHZhYWFmNXA3eWtYRkZ1bHdsWUhBM0krdXV2
YnpmZGRKUHZ0a3h6UFo3QThpTEYKQXlIdjIyKy9YYUxMZWZUUlIvMWtpcktpYUZCSTdhcG9scTNV
cVd3NU1ybmk1MzVLVGdTZi9PZ3UyOGMxU3pRbjdrNit2cVJMaVJ4aApZOGFNTVg0cmZQLzk5OSs5
NDREVDI2RkRCMS9SS3M3eFNXRWI3MXE2VXo2YWxMY05YSDFoK21hZzQ2a0loc2crNEpJNDNoVXJW
aGkvCngweFYyUkwzeS9ROU9GODI3ME9tYzJxOUNJaUFDSWlBQ0loQS9oQ0k1WUF3N0d4cFFIQmFL
T2xMaElMWGpUZmU2TFVrczJmUExqR2QKaXk2NnlFLytjSWJpcG5LVitLUlozakZicVZQWmNtU3lm
SG1GaDNPVm5JMG95TU1QbTlNTG1XdTJXRkI2MTJYa3VVbXZ1ZDRVaFp0bQo1VU13NmVWZ0hUdDI5
R1ZuZWZvZkdGRTR1c01qSEk5amxKTW1oVEJSRzBGWjJ3TUk1ZVM1VWJ3QkRqanNlN3UyOUVSdmFJ
SkpCSkVtCm9UeDB5S2JsNmo1a2M0dzZsZ2lJZ0FpSWdBaUlRRzRKeEhaQXFINUZWMjRtS0RRUXBM
RmRTVFFnanozMldER1JMc2Vockc5Vk5qckwKWjhPeTVjaGtZeXlwam5IOTllWlNmTXgxYkM4b3Ur
c2V1THQwSDdNQkE4d1ZGa2kxVi96bE9CVmh4NElTMHFRVzNYbm5uWVVISXdVSgpKeVE4UVM1Y21l
YkRlZWVkWjl0dnYzMlJLbXdVVWFCYUZoSENWR1Y0MHh5eXpGZnhNS0JQbno1MjJXV1grYXB4bE5B
bUlzUzFaYk5JClFTN3ZRNWxEMHdsRlFBUkVRQVJFUUFSS1RDQ1dBMElsSEJxVUlSaW5Ud0tUWlNh
Nnc0Y1BMeUw0UmdQQ0s1VlIwdlBrazAvMklsZWUKc0JJQndmSGdSWFdzZ1FNSEZwblFwVHBPWlZ3
ZXRRTjg0clZUaVd6czJMR0ZLVVNwSEpsM1hZYy9KdUNwcWpjbEhqZVgzK3ZWTS9mawozWXlnRnpV
TG5JYmJsWEEyYTlZc3UyZEZsOEVyYlB6bXFPYUdhTHhKa3lZK1hTOXdVdUk0SVpSNXJ1Y3VKS3hi
UXVPMHAxUFJmK3VhCm5HUnpBaDhlZnpZLzR5VGRkZGRkbmdXTkZhbWNoaVlyMjBVY2Nua2Zzc2xE
eHhJQkVSQUJFUkFCRWNndGdWZ09DRTRIRXlzcS9HQTAKTGhzeVpJZ2RlZVNSTm1YS0ZFUGJFY1hJ
ajZlSkhwb1A5QjdvUDNBODBKYVFFa0lheUhYWFhSZmxVRVcyb1pJUFQ3R3JvaEdWNnVXVQoyM1JB
WjBLYzZNZ3dLWVk1VmNQUzlROHBTM1pFUEo1OTFsdzFORkw3Q3M3c0pCazVzY0M1Q0IvOGpEUE84
RS81Y1lZUldnZmJCTy9oCmJWTjlobWVpNEovcVVRTmNHSWZHaHhYQmZ2dnRONXM1YzZZdlowMGFH
dmJISDMva1pPakoyR2JqUHVSa3NEcW9DSWlBQ0lpQUNJaEEKVGdoVWozUFVoaTVSbjd4Mm51eGlP
QXIvK3RlL2JOU29VVjZjSHVkWU9Bc2NoMzRpVE9MSU4xKzBhSkhYYm56eHhSZE9HL0J3cE1OUgp6
amV3cTY2NnlvSlNvVHpKclVxR3JnSHRDNlZndy9iWlo1LzVxQWhQcysrNzd6N3ZRSWJYbCtkbkp6
bHc1WkxOV3JZc0VKMDcvOVpWClR5dW9nSldyY1lXakcxdHZ2YlhYTlBIT3hKZ245S3dQWGxIR2tN
aWJmWEJtZnZ6eFJ5UGFWQkVNcHhYOUZORk5OQzA4YUtDWktFNVUKcml6Yjl5Rlg0OVJ4UlVBRVJF
QUVSRUFFc2s4Z1ZnU0UweU8ySlYwRGtmZGVlKzNsUjlUU3pTQ2JOMjhlcTRFZ1QxaHhPQkMva3RK
RgpOR1RqalRmMm1oS2VTRWUxQ3k2NHdQY2ZDVGNpSkFlZjR4S1Z3ZENyMEpTUW5QYUthbHdMRlpZ
U243WUgxd003S3BKMTZkTEZwN0xSCmdKSDB1RUJyUS9TRGlTWnNmdjMxMTJDM2NudDNEOTN0MDAv
TlZZOHlsd0pWMEE5a24zM01OYUkwbXo2ZFVzclpGNkp6c2VFbjhFeUMKU1RYaVBVZ1BDcHlQWUJu
N3BMTUxMN3pROW5FRER6c2kvSzRSb1o5MTFsbnBkczJMZGVnOUtDRThiTmd3NzhEZWZ2dnQxcXBW
S3hzeApZb1RSemYzNzc3OVBXMUs3cEJlUjdmdFEwbkZvUHhFUUFSRVFBUkVRZ2JJbkVNc0I0YWt1
SlRsNVFzclRVWndSSnJ4Tm16YjFGYXd5CmRkME9YeDZOQWovNjZDUGYvWnd1NlBTMEdEbHlwTmVH
aExmTDlCbFJQSG44WVFjazJJY24wRGhIdkwvLy92c1Z3Z0hwNXpyelRabzAKeVg2aUJYakljQnJR
R2RDeG1nbHZNcU1vQURvYW5CV2NSSnl3L3YzNzI2V1hYbG80OFdhaW5BOXBhblhxbUhNMnpWVmVL
aENlWDNHRgp1VlE4YzRVTnpGVmVLb2lJL0M4YktObWx4bHBHU2xUWXNRZ212emhqcVJ5UFlIbW1F
MzNqU25tUlJoaldnSkJpU0xucTdiYmJMdFB1CjViNGVEY3Nocmd3WlRVR0ozT0EwVVoyT1VzS1U2
S1dhR2c4SHNtRzV2QS9aR0orT0lRSWlJQUlpSUFJaVVEWUVZamtncEdDUkxvWG0KZzVTcDZlNVJO
VS9abWFRUUFlbmJ0Mi9oUkRmZDhIRmttUFE4L2ZUVGZqT2V3TkpSbWo0TXMyYk5pdlhFOVQvLytZ
L1I4eUtZVkNZNwo3eFhNYml1QVVRNlYvaWhCWDVWZzBzelE1ODZkNjByVk5uUVJncGU5VXhXa21p
VmVGaHh3UkhnaFRCODllclJ2S01kaytLU1RUdkpwCmN6Z3o5RW9wYnlQOWlncFlnVC9sWkFqT1VU
VG5nSm1id0dkdmRIQU1XeERkb0toQzhCbW5HdjBSNzB6RWNVQ1lNR2N5S21reFdhL0kKaHROS0JT
d2lIeGhkMEVuZDQ3ZVd6YWhoTHU5RFJlYXZzWXVBQ0lpQUNJaEFWU01ReXdFQkRuMUFtQXdIazF5
V01aR2pFUnRQbEJQRgp6NnhQTktvd2tVNFUyT2FiYis0clgxSFNsOGdLVGs1VUk0VW1tZk9CYzlT
MmJkdW9oOG1MN2FnSWhoQ2ZOSmhFUXhPenJhdE55L1ZHCk5jb2FJMHpIaUFMQmRmTGt5VjVmVTk0
T2lQdXArQWdJTlFOY3cvcEMrK3FyZ3VXdXRVYldERWNpaUdpUStzZHIrZkxsUnFNOUloZjgKZm5q
SCtlQ2RpVEw3UkhGQVVwWFpKWDJKMU1KOE4vNW5MNzc0WWw4WmpmL3J3SWpzOEQ5T1k5QnNXUzd2
UTdiR3FPT0lnQWlJZ0FpSQpnQWprbmtCc0I0UWhrYTRSTnFvdUlTYVBhcVFCOFpTVkNYVjRna01h
RnAzUm1TeUdVMXJTSFpmK0RaUlU1ZWwxWUV3c0VhZlRVSTJuCjJSWEphQVpIaElob1I5aHd6b0py
WVQwTkcrT2t4cENLUm5sam9pdHhVdVhDWThqbVoxZnAxWW1leldrTjBHVms4OGpGajRWajhha1QK
bkJBUm91SVRrMjZjRHRLUGNKamh3WHZ3R2M1TWx0a1diVTA2UXdQQzd6YjgrMk0vK29CUUxTNjRa
K21PVVo3cnVIWlNLVWtaUytiSQpaM05zdWJ3UDJSeW5qaVVDSWlBQ0lpQUNJcEJiQXRYYzA5Nmkr
U2taemtkMUtYb2JoRVczR1haSnVocU5RNXMyYmZ3a21wNFZpS1l4Cnl1K2lnd2hQNkpJZTRIOExO
OXh3UTU4NkVwN29MVjY4MkZoT2VreEY2TU1Rdmo2dW0vS3R5VFF0d1hiMFVhRUl3UDMzM3g4c3Fo
anYKdWZZMGNrRWg4ZDlEMTVBTHlwbVBtWGdmTXUraExVUkFCRVJBQkVSQUJQS1V3RDloZ3dnRHBD
SU9YWjhSTnVNa2xNWVF1SklPUkRsZQpJaUZFVVhnaTNiVnIxOGpPQitlbitWN2JoRlNyMzEwemlX
dXV1YWJDT1I5Y0Q0NFlrUTNTMUFJakh4L0hKQ3hxSmwxTEpnSWlJQUlpCklBSWlJQUlpSUFJVmpV
RHNDTWhERHoza1U1NDIzWFRUckYwckluYjZENUFtUkduZk9La2dDeFlzc0NiVWNVMHdVclBvQzRJ
NHZpTFoKdkhuemJLZWRkaW8yNUU2ZE90bTRjZVB5UHFXbjJNRERDeFE5Q05Nb3U4K0owWVBLY0Iv
S2pwN09KQUlpSUFJaUlBSWlrR1VDc1IwUQpCTHlVaVdXaUhQVHZDS2MvWlhsOEdROUhLaEo5UTRL
cVVPZy9LTzlMQklUU3UwRnFWOFlENWNrR0NJRVROVFlNalE3VjZEZFNsZUROCmsrR25IMFpsbVBq
cUd0TGY0MXl0VFhTaWNuVWVIVmNFUkVBRVJFQUVSQ0RuQkdJN0lKVGdEZnAzTEZteXBMQi9SN05t
elhJKzJHUW4KSUZxQ0F4UjJnaEFRa3lLR25xU2lHUkViU2hRSEdoQWtPZ2lveDQ4Zjc4c2RwMnBF
bUhpZE9HTFBQdnVzZDJZQ0hReXBhYVhWN2lTZQpKOVozVGQ1ajRjcmF4b21UOThwd0g3SUdSd2NT
QVJFUUFSRVFBUkVvYXdMVjQ1d3c2TitCQTRMUW0rN2lQSkduZndmNmtQSXdJaDFVCkhXSnlIYnpR
VEtBcHFZaEc1UzRjaCtEMTNIUFArZXVpVTNWVTU0UHJwcG9XelI1SmE1c3hZNFl2TWJ2ZWV1c1Zs
dVd0aUd3MFpoRVEKQVJFUUFSRVFBUkVRZ1lwUElKWUlQWnY5TzdLRjdvSUxMaWhXVm5hTExiYXdq
ei8rMkhjVFIreGVrZXlKSjU2d0k0NDRvbFJEeGlFagpha0p2bGlaT0gwTTBDRWVSeG5MMFIvbjY2
Ni96b2hGaHFTNVNPNHVBQ0lpQUNJaUFDSWlBQ0ZSSUFyRWlJRUgvRG5vY2hJMCtDT2dXCjZOOFIx
ZENTa0ZaRUJJTitDVkdhdmlVNzlsMTMzZVVieXdXTjVqaE9rTEpFODcyS1pxbWNEOUxkRU90SE1k
SzM2QnRDRklRbWozU0MKZitHRkYyekhIWGYwVVJFaUlqSVJFQUVSRUFFUkVBRVJFQUVSS0E4Q3NU
VWcyZXJma1MwdFNhcUtXVXkyWDNFdHRsTjFxaTRQMkZITwpPWFhxVkJzOGVMRE5ueisveU9hTEZp
M3lUa1JVRVRxRkFrYU5HbFVvV3A4NWM2YnR2dnZ1dm9BQVRlZDJ6V2FyOFNJalRmT2xNbWdQCmRB
MXBibkFPVnlYcVdISjRLaDFhQkVSQUJFUkFCRVFndHdReXBtRGhjSVRUbUxMUnZ5UFFrano5OU5Q
KzZoWXVYT2duM1doSlpzMmEKWldnVm9scm56cDJ0ZS9mdWhaM1Q2ZXpNVTMvU3NNTEM5S2pISzgv
dGlBcFI3YXAxNjlaMjJtbW5GVjVUTUNiU3FhSVluYjZKZ0t5OQo5dHJlQ1F2MitlcXJyL3p5Y25F
K2drSG9YUVJFUUFSRVFBUkVRQVJFb0VvVHlCZ0JJVDNxbDE5KzhhazdUTzdEVnRMK0hZakZKMHlZ
CjRJOFpQdDdzMmJOdHpKZ3hObWpRb1BEaXRKOUp0M3I3N2JmenE5cFQyaEduWG9sMm8wV0xGa2Ez
K1pvMWE2YmVNTUthVTA0NXhVYU0KR0JHcnAwcUV3Mm9URVJBQkVSQUJFUkFCRVJBQkVTZ1ZnVWdh
a0pOT09za2FOV3JrcTEzZGV1dXRScThLTkJlNzdMS0xuWDMyMmY2SgpQVTVGVk11bWxvUW4vWlds
MmhQYURSb09MbDI2dEJoS1VyQ2lha0RZbVFoS01udnFxYWVTTGRZeUVSQUJFUkFCRVJBQkVSQUJF
U2dUCkFobFRzS3BYcjI0ZmZ2aWhMN21McHVMYWE2KzF5eTY3ek9yWHIyLzc3NysvNzRyZXRtMWJJ
NTJxVDU4K2tRZk50bTNhdExIMjdkdmIKNmFlZlh0Z3drTksrT0RlY041TlZ0bXBQcEU0dFc3Yk1N
d2w2ZHdRTTBJUlFpamVxNGNpUWFoV09XcEhpOWNZYmJ4ak9URVV0VXh6MQorcldkQ0lpQUNJaUFD
SWlBQ0loQWZoTElPTXR2MTY2ZGR3NE9QdmhnSTYySDFLbWZmLzdaUm84ZWJadHV1cWxkZGRWVnR0
MTIyOW1BCkFRTmlYV0dnSmFGYitiYmJidXNkbXZYWFg5OVB3R3ZVeU9nWCtYTlZ0bXBQT0F2MEFZ
RURVYUx3cTFXclZyRzBNWlJNaGpHT1J2QWkKU25YUVFRZDVCeVRXemRMR0lpQUNJaUFDSWlBQ0lp
QUNJcEFsQWhrMUlPSHpNSUY5NktHSDdLeXp6aXBjaktCODZOQ2hmbko4NnFtbgpXbFRub2ZBQTdr
Tkp0U1FjSXkrclBZVXZMdWJuYWRPbStjaFN6TjJLYlk2ZWh2TElZYU5FY2MrZVBlMmVlKzZSTmlR
TVJwOUZRQVJFClFBUkVRQVJFUUFUS2pFQzBVTVAvaHNNVGVYcUEwTXlPdEN1c1ljT0dQdldLMHE1
eG5JK0JBd2NhVVJXNmU2TWw0WVd0V0xIQ2VIb2YKeFNwanRTZWlPc2tzekR6WitzUmx0V3ZYVGx6
a3E0S2hMM245OWRlTE9TZkZOdFlDRVJBQkVSQUJFUkFCRVJBQkVjZ0JnVmdSRU02UApSbUhmZmZl
MTNYYmJ6WHIwNk9Hck5xMWN1ZEwyM0hOUG8vRmYxTkszOUxONDlkVlhiWU1OTnZDT0NNNElqZk5J
OGVyVnExZmtTNjFzCjFaNDIyV1FUcjZzSk8zTTRaVGdOcEdkRjVkdXNXVE92SlFrN05KOS8vcmx2
L29nT2hNYVJNaEVRQVJFUUFSRVFBUkVRQVJFb2F3S3gKSFJBRytOLy8vdGVuOG93ZE83WndRa3hF
aEc3YmNleWJiNzZ4aHg5KzJPNjc3ejc3MnpVYVc3QmdnWStpNE9Ta0U2SGo2T0M4a0FwRwpGSVRK
ZXFxR2hISEdrdy9iYnJqaGhvYmVJK3hvTEY2ODJGaCs1NTEzV3FJNFBkV1lpWUJRMGpkOEhKeTlF
MDQ0d2FocUpoTUJFUkFCCkVSQUJFUkFCRVJDQjhpQlFJZ2NrR0dqZ0NGQ2k5OUJERHkxeDEvRlZx
MWJaNDQ4LzdwMk9CZzBhK09wWXlWS0lPQzhDZUNiU1JGQU8KUFBCQSsrNjc3M3lKNEN1dnZOSlAw
Qjk0NEFHakMvckZGMTlzTFZ1MkRJWmFZZDZUcFZxaHZibm1tbXZzeGh0dmpId2RVNlpNTVFvSQp5
RVJBQkVSQUJFUkFCRVJBQkVRZ253akVka0FRTWovLy9QTkdWMjFTc2FpQWxTMzcrT09QdmFBZGZV
Z3FJMFdMQm51UFB2cW9UMG5hCmV1dXREYWRqM3J4NWZobmQxRmxHV1dCZWpSczNUbldvdkZ4T0ZD
aFp4M01pRjFRY2E5NjhlZVJ4VXo1NTNMaHg5c01QUC9oS1ppZWUKZUtMWDdFUStnRFlVQVJFUUFS
RVFBUkVRQVJFUWdTd1RpTzJBSEhEQUFUWno1a3d2RkNjYVFTUEMyMjY3TGJKd1BOMzRCdzhlN0FY
dApwR0NGKzFlRTl5RmRpd24xcFpkZTZqVW5pTmpSb0Z4OTlkVkdGYTVnZ2s3UEVpcDBIWDc0NGVI
ZDgvNHprYVNUVHo3WmlBUmg2RDgrCit1Z2pId0doWlBFMjIyd1Q2Um9vazl5MWExY2p1clRsbGxz
YVBWT0lwTkJwL3BCRERvbDBERzBrQWlJZ0FpSWdBaUlnQWlJZ0F0a20KRUtzS0ZsRVBYalFMSkEz
cXpEUFB0SysvL3RwM1NFZi9FUlpPbDJTZ0hJKzBvVlRPQjhlaytlSElrU1A5NFhGVTBEaFFuZXV3
d3c2egpqVGZlMkMvSElYbnl5U2Z0NktPUDl0OHIwcC9ubm52T1NKOEthemVJT2wxKytlV1JuUSsy
UCtlY2MreTg4ODZ6M3IxN0YwWlVpSWpRClNKS0tZK3V1dTI1RndxS3hpb0FJaUlBSWlJQUlpSUFJ
VkJJQ0dSc1JocStUZENaMEZ4dHR0SkhYYTJ5MjJXWmV1OEVrOTVaYmJnbHYKV3FMUFZHektsTkxW
dEdsVCsvYmJiLzN4aVhBRUUybDZYdXkrKys2MjAwNDcrZWpCN2JmZjdzWGNKUnBJT2U2RTFpT0lW
aEN4NFBYWgpaNS9GNmx3T0Y1cEUzbnJycllYT0I1ZEV3MGVPUDJ2V3JISzhRcDFhQkVSQUJFUkFC
RVJBQkVTZ0toT0k1WURRbjRNcVRILzg4WWRuCjFxWk5HM3Z3d1FldFU2ZE92bnQzV1lFa3JXcnk1
TWxlODhHNXNabzFhL3FVckFzdnZORHV1dXN1Ty9MSUl5MWNncmFzeGxiYTgxeHcKd1FYRklrQmJi
TEdGb1kvNTZhZWZJaDBlcHl5VkFQL3R0OTh1akJRUktaa3paMDZrWTJvakVSQUJFUkFCRVJBQkVS
QUJFY2dHZ2RnYQprRjkvL2RXbzFFVEswMTkvL1dVSEhYU1FFUWxCRC9MRUUwK2tMWitialFFSHgv
ajAwMC90aXkrK3NQMzIyODg3SDhIeTRKMnhISFBNCk1jSFhDdk5PUThkTExybWtNSjJOOHNSYzUx
NTc3ZVg1SXZ6UFpFUlFqai8rZUsvL1FKQWZHQ2xZZEozdjBxV0xYMFFrQ1gwSTU1U0oKZ0FpSWdB
aUlnQWlJZ0FpSVFGa1FpTzJBSkE3cWwxOStzZnZ2djkrMjJtb3I2OWl4WStMcXBOL3BJNEkrZ1Nm
NzU1NTdydEY4cnpUMgp6anZ2MktoUm8yelJva1UrNVFneE91bEdGZEZTOVRPaHREREMrcnAxNjBh
NkxKbzZrcjRWcEtqaHlQRENnczlFUUxodjNEK1pDSWlBCkNJaUFDSWlBQ0lpQUNKUUZnZGdPQ0k1
RCsvYnRqY2FEcEdRRlJyV204UGRnZWJKM1VvbDY5dXhwNkRTQ0NUS0NjaHJ1eFhVYzdyMzMKWHUv
RVVMcVdhQXpkd3VsTFFwcldhYWVkbHV6MGViMk15RVgzN3QwTEkwa0k4amZmZkhQdnJJV0Y2Wmt1
Z2lwWUhDdk9QcG1PcWZVaQpJQUlpSUFJaUlBSWlJQUlpVUZvQ3NSMFFla2xNbWpUSlAxMG5IU2h3
Umw1NjZTVzc2S0tMSW8wSFBRT2xkRWtyNG1rOEhiNnA4a1JYCmMwckg0bFJFTWJRbzlldlg5NTI5
aHd3WjRyVVRWSG1pSkcrM2J0Mk1maUtCZ3hQbGVQbXdEVTVZcG9nUXpSZUpobFRFS2wvNXdGaGoK
RUFFUkVBRVJFQUVSRUFFUktEOENzVVRvREpNK0VreUFIM3JvSVMrS2Z1eXh4N3dqZ2ZBN3FxRkx3
TW00Kys2N2ZkZHpoTmM5ZXZUdwpmVHRJTmNJUmlXS1VCTVlKb1E5Sll1bmVYWGZkMVVqTnFtaEdu
eE1xV0tWN1VRamdtV2VlcVdpWHB2R0tnQWlJZ0FpSWdBaUlnQWlJCmdNWHFBeEx3b3U4RzZUM0hI
bnVzUGZMSUkxNkV2bVRKRWtQKzVoTGlBQUFnQUVsRVFWUlRFRFhsNTZ5enp2SlJENDVGV1ZqSzZH
STgKMmNjWmlXSm9TSWh3b0hVSURJY0VQY2dkZDl6aEJkZkI4b3J5am5pK1g3OStSVGkrL1BMTG51
MmVlKzVaZUJta21jbEVRQVJFUUFSRQpRQVJFUUFSRW9LSVJpSjJDUlFVc0pyK1VlUTBFMDZSa2tR
cTF6ejc3bFBqNjBaQU1HRERBZC8wZU8zWnNZUldvVEFjY1AzNjhMNzk3CjVaVlgrazF4WG9pdVhI
SEZGWGI5OWRkbjJqMnYxbi96elRjK3N0UzNiOTlpNDZJRGZXS0R3bUliYVlFSWlJQUlpSUFJaUlB
SWlJQUkKNURtQldBNEkxYXVJT3F4YXRjcldYbnR0MzVXY3hvUzc3YmFiMFg4REhVaFVvNFR2akJr
ejdMWFhYalBTcmpnT3ZUeEtZcFNwL2Y3Nwo3MzBqUW81SEZJWXhWVFNESzdxVlN5Kzl0TmpRdVI2
YVBkSUp2alMyY09GQ28zSlppeFl0U25NWTdTc0NJaUFDSWlBQ0lpQUNJaUFDCkpTSVFTd05DNUlO
Sk1KTll0Q0JVbnJybm5uc012UVhpYVZLd290cEpKNTFrUE5VZk5HaVFkZWpRd2FkZ3paOC9QK3J1
UmJhamx3VmQKMERIU2xDcWk4OEhZYTlTb1lVUkJIbjc0WVZ1NmRLbm5PVy9lUE8vYzBiK0REdlFs
dGJsejV4cHBiMVFaUThNakV3RVJFQUVSRUFFUgpFQUVSRUlIeUlCQXJBc0lBcVZwRkdsYjRTZnlQ
UC83b0l5S0pRdkJVRjBRRnJDT09PTUtlZnZwcHIrRll2bnk1alJ3NTBoQmdUNXc0CnNWUVQ3VlRu
ckNqTEtVY2NWQnFqa3p1cGFVUjBTQ2U3N0xMTFlsMEcrNkxSSVNYdGpUZmVNSHFEYkwvOTl0YTVj
MmZ2L01VNm1EWVcKQVJFUUFSRVFBUkVRQVJFUWdTd1FpTzJBUFAvODh6WnMyRER2Y0J4eXlDRmVp
QjUzSEFqRmlaeWNmLzc1UlhhbGtTQ1ZzZFNaMjJ6Mgo3TmsyWjg0Y1E2UlB1ZU5telpvVllaWHVD
Nko4MHJpR0R4OXV0V3ZYOXYxUXpqampES042RmtZS0Zwb2RtUWlJZ0FpSWdBaUlnQWlJCmdBaVVO
WUZZVmJCNE9uL2NjY2Y1Sitta0NwR0dOWFRvVU8rUVpPcGRFYjR3dEI1RVN4S3JabEY2bGlmMFJG
a0NnWHQ0djZyMG1hcGcKUVdXd3VOZU4wM0xPT2VkNFI2TkJnd2ErcXRobW0yM21EN05nd1FLZmdo
V2tyTVU5dHJZWEFSRVFBUkVRQVJFUUFSRVFnZElRaUJVQgpXYmx5cFhYcDBzVWVmL3h4ZjA0Nm10
TkVrTzh2dnZpaU5XellNUEpZY0daZWYvMTFMejRQZHJyNTVwdjlwTGwvLy82eEhCQ2U2Rk01Cml3
YUhPRUtkT25YeTNjT0Q0MWJsZDNxbERCNDgyT0JOTkdURWlCRkc3eGIwTnpJUkVBRVJFQUVSRUFF
UkVBRVJLR3NDc1VUb1RHRDMKMjI4L0w1Um1vT3VzczQ0dmQzdi8vZmZiZGRkZEYydnM5ZXJWSytK
OHNQTW5uM3ppSXlCeG9oK0lxeEZXbjMzMjJUNTlDNjFFOCtiTgpiY0tFQ2JIR1V4azNwcUhqcTYr
KzZ2dWhFS21pUXRoaGh4MVdHUzlWMXlRQ0lpQUNJaUFDSWlBQ0lsQkJDTVJ5UUVpWklzS0FHSnFJ
ClIyQzc3TEtMMGQwOGFnZHo5cVBjYkdLbmNoeVpvNDQ2S2poc3huZFN0VTQ1NVJTdmNaZzVjNmJ2
ekU2cDRQZmVlODhlZlBCQi85US8KNDBFcTRRWm9RR2htU0VwYjc5NjlyVldyVnA0SkRnaTZFTzZW
VEFSRVFBUkVRQVJFUUFSRVFBVEtnMENzRkN5cVYyMnp6VGErWE95MwozMzdyUzk4ZWZmVFJSaG5j
TDcvODB2cjA2Vk40RFFqTjAvWDFvR2toVCtjMzJHQURPL2pnZy8yTEtrMUVMbnIxNmxWNG5IUWZp
Smc4CjlkUlRkc2tsbHhUYmpFcGQxYXRYdHpadDJoUmJWeFVXZlBUUlIxNmZRNXJjeVNlZlhLUnFX
Vlc0ZmwyakNJaUFDSWlBQ0lpQUNJaEEKZmhLSTVZQndDVlRBT3VhWVkzd3ZrTW1USnh0VnNWNSsr
V1ZmS3BiU3ZGVEdhdHUycmMyYU5jdjNuVWgzMlVIUEM4cnZFczFBSUUwdgpEUFFLT0ErWjdMUFBQ
dk82ajBNUFBiVFlwcFNlM1dHSEhheDE2OWJGMWxXbEJlaDJIbjMwVVY4NkdZRS9MeXBnN2JYWFhs
VUpnNjVWCkJFUkFCRVJBQkVSQUJFUWdUd2pFZGtBWU56MGx3czMrbU9TU0FqVmx5aFI3NFlVWGpP
WjVWRmtpd2hIRjZBQ09rQjJuZzZwTlJDM1EKbTBReGVtWWdqS2NCSVgwelNETmlIS05IajdZUFAv
elExbHByclNpSHFSTGJ2UHZ1dXo3MXJXdlhyaEtoVjRrN3Jvc1VBUkVRQVJFUQpBUkVRZ2Z3akVO
c0JlZW1sbHd5dEJnNENxVk9VNVUwMFVyV29jSlVzTXBHNGJmZzdWYXdRUzZNUGlXbzRHVWNlZWFR
WHNOT3dENTBLCjFiaG93TmV1WGJ1b2g2bFMyNkVSb1ZTdlRBUkVRQVJFUUFSRVFBUkVRQVRLbWtB
c0I0VFVxQ1pObXZqb0IxRUxuQXdFNkFpYnQ5aGkKaTFLUG5YS3g2RWc0VDlTdTZwd1V2Y2t6enp4
VFdJYVhOTEQxMTErLzFPT3B5QWNnb2tRNTRuUkdCM3NhSHJadjN6N2RabG9uQWlJZwpBaUlnQWlJ
Z0FpSWdBbGtqRU1zQlljS0tvSG5peElsK0FQVGZHREpraUkwYU5jcW5QY1daOU9NMFRKbzB5YWRy
a2M3RkpKaGw2RUMyCjIyNjd5QmZJQkRwWnd6NldyN2ZlZW9YZHZ5TWZzSkpzaUphRzRnQ2twYVV5
SWxWRXFZaG95VVJBQkVSQUJFUkFCRVJBQkVTZ0xBakUKY2tBWTBLMjMzdXFkRUtwWEJZYTI0SUVI
SHJCQmd3WUZpeksra3paRnBhYmx5NWZia2lWTHZCTXhjdVJJYTlhc1djWjl3eHVnRjBIVApRRitS
c0JHZFlRSk8zd3VpTTNGNmk0U1BVMUUvSXpiSHFRdHJZQkR0NDVpRUhieDExMTNYemp6enpJcDZt
UnEzQ0lpQUNJaUFDSWlBCkNJaEFCU01RMndGNSsrMjN2V0NjSitmaFNrcG9OMDQ3N2JSSXFWTkVV
aENKOSt6WjArTmF1SENoNzlaTlNWMnFaeEc1aUdxQlk1RlkKTll1cVdtaENXRTVqd25IanhzVjJi
cUtPSVIrM294REFUanZ0Vkd4b3BHWEJBall5RVJBQkVSQUJFUkFCRVJBQkVTaHJBcGxyM1laRwpo
T05BZGFzQkF3WVlmVHpRV293WU1jSTdEVFFBaktyYjRLbDhPSUt5K2VhYmUrRTVxVndjTzQ3UkEr
VFhYMy8xNG5NRTZNRUxEUVFWCnNSQmN6NWd4dzhhT0hSdm5zQlYrV3h5d1pFWUVKR3Axc21UN2E1
a0lpSUFJaUlBSWlJQUlpSUFJbElaQWpUZzdVMTJLTkN2U3ArYlAKbis5N1M5eDk5OTMyMWx0ditT
aEQzNzU5STZVNlVZRnB6cHc1dHUyMjIxcUxGaTBLaDRDV2c2cFdmLzMxVjZRK0lPeDQ3cm5uRmtr
egpDZzZHTXhRODVTZk5pNGhBVlRKS0UrTWdCaG9RSEpKUFAvM1V4bzhmYjVkZmZubFZRcUZyRlFF
UkVBRVJFQUVSRUFFUnlDTUNzVk93CkdQdmN1WE50NTUxM0xyd01xbFpSbnBleXZPbTZueGZ1NEQ3
UW9SdjlCanFGMDA4LzNYZFlaLzExMTExbi9mcjE4MXFGOFBhbCtZeHcKdm5IanhuYjc3YmVYNWpB
VmFsOGNzSzIyMnFyUUFXSHdtMjIybVhYdTNObHJlQ3JVeFdpd0lpQUNJaUFDSWlBQ0lpQUNsWVpB
YkFlRQpIaDA0R25RWkQ5dUtGU3VTUmlMQzJ5UisvdnJycjcwQW1xcGFpTWpwTFlLZy9OLy8vbmZp
cHFYNlRuV3RxSTVScVU2VVJ6dFBtRERCCmpqamlpRHdha1lZaUFpSWdBaUlnQWlJZ0FpSWdBbWF4
SFJDMEgyZ0kwSERnaVBEYWUrKzlqUWx2cjE2OVNzU1VGSzQzMzN6VFdyWnMKNllYdGdiQzhSQWZU
VG9VRTNubm5IVjhpZWRHaVJiNS95Nm1ubnVyVDNnbzMwQWNSRUFFUkVBRVJFQUVSRUFFUktHTUNz
UjBReHZmTgpOOS9Zd3c4L2JQZmRkNStoTGFCM0IrSm1VckVTcTFHbHVoNEU0dXhES2xlZzFVaTFy
WmJISjNEdnZmZDZmUXlOSXc4NjZDRGZLYjVSCm8wWjIrT0dIKzJwbDhZK29QVVJBQkVSQUJFUkFC
RVJBQkVTZzlBUks1SUFFcDZVYk90V21jRG9hTkdqZ05SMmtVV1d5cFV1WCt0NGMKN0U5RnJMWnQy
MXE3ZHUzOFJIbnJyYmN1c3Z2S2xTdDlhbGFSaFJHK1RKa3l4VWRwRWxQRkl1eGE0VGNoNWF4Ky9m
cDIwa2tuK1VhUgo2RUd1dmZaYXUvcnFxNjFidDI2KzRoajlQMlFpSUFJaUlBSWlJQUlpSUFJaVVO
WUVZcFhoVFJ3Y0VZempqei9lZHR4eFIzdisrZWNqCk93cE1mbSs0NFFiNy92dnZmWGxjbWcvU3lK
QUdlWlRrN2Q2OXUrOFQ4dFZYWDltd1ljTVNUMXZrTzRKMStsM3dwRC84WXZLTlV6TnoKNXN3aTIx
ZUZMM0REQ2JudHR0dUtsVWJlZGRkZGpkUXNtUWlJZ0FpSWdBaUlnQWlJZ0FpVUI0RlNSVUNDQVE4
ZVBOajY5T25qVTdDaQo5Z0poZ296VFFrcFFZUFFTbVRadG1rMmRPdFcvUHY3NFkxOUs5cm5ubmdz
MktmSk9KR1g5OWRlMzNyMTcyeWFiYk9MVHdZTCtGMVRxCm9td3dYZEFwMVV1RXBxb1lrYVdOTjk3
WTZGQWY5RnVoOUM0TzN2WFhYKy9MSnErOTl0cFZCWWV1VXdSRVFBUkVRQVJFUUFSRUlJOEkKeE9v
RGttcmNaNTU1cHFFdmlPcDhjQno2Z0d5NDRZYStjV0NnQWVFWWRPcm1oZkVrbisxU0daRVV1cThu
SzYrTFJvVStJN3Zzc2t1cQozU3Z0Y2lKVGRLYm5kZVdWVi9ycnhMazc1WlJUN0lvcnJqQTVINVgy
MXV2Q1JFQUVSRUFFUkVBRVJDRHZDY1NLZ0JCZG9IOEhqZjErCi92bG5Jd0t4Wk1rUysrQ0REK3pS
UngvMTcxRXFXR1ZUQS9MZ2d3L2EwVWNmN2FNZFlkcEVXSEJzZU5IQmZmYnMyYjduU0hpYnl2NzUK
aXkrKzhHbHVkSzlIOUErTDNYYmJyYkpmdHE1UEJFUkFCRVJBQkVSQUJFUWdqd25FY2tBUWhKTnFS
ZmR6dXBYVDNJOG9CZzN2V3JWcQpaWmRkZGxua0tBaFJDNklYbFBRTlVxN29WazRxRlZXYmVPMjc3
NzcyekRQUFdJOGVQVklpNUduL2xsdHVXYVRoWHVMR1AvendneDE2CjZLRjIvLzMzSjY2cXROOW56
SmpoaXdJa1h1QlRUejFsSFR0MlRGeXM3eUlnQWlJZ0FpSWdBaUlnQWlKUUpnUmlPU0RCaU5CWFBQ
MzAKMDE0c1RuZnRrbGcyTkNDY2QvdnR0L2VSRGFwcEJmYlpaNS81RXI5b0hnSWpYWXRVc2FwaTZG
OFFuSWZUNG1EK3hodHZHSDFCYVB3bwpFd0VSRUFFUkVBRVJFQUVSRUlHeUpsQWlCNFJCa280MVpz
d1lId21oNGxUVS9oOXhMakRRZ0tSN1lrL1VoQ3BZaVlhT1pOeTRjVlcyCnh3aVJwTmF0V3hlNUw2
VExJZHJ2MzcrL0Y2UW5NdE4zRVJBQkVSQUJFUkFCRVJBQkVjZzFnZGdpOU8rKys4NisvdnByMzR6
d3p6Ly8KOUNWZGFYcDMxMTEzK1hLODJSd3cwWlZNRVphZzZsWGllVW5OSXIyTHp1MVYwWjU0NGdu
Ylk0ODlpbHo2NnRXcnJXZlBudXFHWG9TSwp2b2lBQ0lpQUNJaUFDSWlBQ0pRbGdWZ09DQm9RQk4r
VWQ2WE1LeVZlMFlCUWFZcVN1czJiTnkrUzhsTVdGOUtsU3hkZnFyZE9uVHIrCmREZ2tuMzc2cVkw
ZlA5NG9QVnRWTFZsRFNFVG9GQUI0L2ZYWGl6a25WWldUcmxzRVJFQUVSRUFFUkVBRVJLQnNDY1JP
d2NJSnVlT08KTyt5WVk0N3g0dk95SFc3eHM2RnhRQVFmT0NCc1FkU2tjK2ZPZHZMSkp4ZmZvWW9z
b2JsaisvYnRpM0Q1L1BQUHZXT0dEbVRublhldQpJaVIwbVNJZ0FpSWdBaUlnQWlJZ0F2bEVJTFlE
RWd3ZS9VZjkrdlh0c01NTzg0c1FPTmVzV1ROWW5mRzlWNjlldnRKVjI3WnRiWjExCjFzbTRmYW9O
Smt5WVlFY2NjVVNxMVZWMk9SR1FGaTFhRk5IQUVMRTY0WVFURE0yT1RBUkVRQVJFUUFSRVFBUkVR
QVRLZzBDSkhSQUcKKy83NzcvdHFXUFFGR1RSb2tGSHV0bGF0V3BHdWcrZ0VhVnMweUNPRjY4QURE
L1FPQ2NMcGNQb1FmVWN5T1NqdnZQT09qUm8xeWxkMwphdEtraVoxNjZxbFZYdWN3WmNvVWE5ZXVY
YVI3b1kxRVFBUkVRQVJFUUFSRVFBUkVvS3dJbE1vQkNRYUo1Z0p0d1o1Nzdoa3NpdlJPCkx4SDZW
ZHgwMDAxR2F0ZjgrZk45azBPRTR6Z2tlKys5dDljclhIenh4U21QaHdEKzNIUFBOUndQZW9kODhz
a252aXY3NFljZjd2dU0KcE54UkswUkFCRVJBQkVSQUJFUkFCRVJBQk1xY1FHd0hoQjRiaUptWjhH
ZlR4bzRkNjdVYmRldlc5WTBKWDNqaEJYdjU1WmQ5NSs1cAowNllsUFJWcFg2U0JrVkkwWk1nUUw0
Qy85dHByN2VxcnI3WnUzYnJad0lFRGpmNGZNaEVRQVJFUUFSRVFBUkVRQVJFUWdmd2dVRDNPCk1I
NysrV2ZiWnB0dGZPZHhoTi9ubkhPT1VlNlZOS21SSTBmR09aUVhROCtaTThmM0VXRkh0QWsvL3Zp
alQrTWk0dkhzczgvNjcvLzUKejM5U0hwYytJVGdodDkxMlc3SHFXelRoSXpWTEpnSWlJQUlpSUFJ
aUlBSWlJQUlpa0Q4RVlrZEFyci8rZXEreG1EcDFxbmNTaUZUOAo4c3N2UnVPN2hRc1graXQ3NVpW
WGZKV2xjSGZ5OENYamFHeTU1WmIyKysrL0c5dnN2Ly8rUHVWcXYvMzI4K2xVMDZkUEQyK2U4dk9x
ClZhdDhPV0RLQWlPd3hpaTlTd2QweHZuV1cyL1oybXV2blhKL3JSQUJFUkFCRVJBQkVSQUJFUkFC
RVNoYkFyRWlJQXl0YjkrK1JqblgKN3QyNzI2T1BQdXExSHkrOTlKSjNTb2hHMEtRUURRY3BWYW1z
WWNPR1h2ZEJCSU5xV3B0dnZya3Y3YnY5OXR2N1k5TXdMNHJSYkhEbwowS0grRld5UHFQMlVVMDd4
Wlhpcmt2UEJkZDk5OTkwQmhwVHZPR3VrMGNsRVFBUkVRQVJFUUFSRVFBUkVvRHdJeEk2QW5IZmVl
YjYvCkJPVnp3eEdPRlN0V0ZIN0hzU0FpVXIxNmF2K0dob0V6Wjg2MGZmZmR0L0M2di8zMlcxL3hL
bW9scldESEw3NzR3cjcvL252YmZmZmQKN2JYWFh2TWFsZDEyMnkxWVhTWGU3N25uSHQvbG5EUzVl
dlhxRmJ0bU90alR2NFZxWlVTb2R0aGhoMkxiYUlFSWlJQUlpSUFJaUlBSQppSUFJNUpwQWJBZmt4
Qk5QdEVtVEp2bjBLWndIbXQzaGpCQUZ1ZWlpaXlLUGwrM3Z2LzkrWDNMMzRJTVB0dU9PT3k3eXZ0
cXdPSUVsClM1YjQ3dVpFTjhMOVdQaCs2NjIzMnJCaHc2eEJnd2JXc21WTC8xME9TSEdHV2lJQ0lp
QUNJaUFDSWlBQ0lwQjdBckVkRUlhRWRtUDgKK1BHK3loUnBVR2d0NkQ0ZU5iVm4yYkpsdm9vV1VR
cDBISysvL3JydkJUSjgrSERiWW9zdGNuL1ZsZlFNOUZXNTc3NzdmUDhQaWdXUQprdlhZWTQvNXdn
RTRoNlNtL2Zubm4vYnJyNzhXYW1ZcUtRcGRsZ2lJZ0FpSWdBaUlnQWlJUUo0U0tKRURFbHdMV28x
SEhubkVPeDg4CmdULzIyR09MZE40T3RrdDhSNFJPSThLSkV5ZjZWWWpZS2FOTE0wRWE2SzIvL3Zx
SnUraDdSQUtrdHNHUTZOSXp6enhqVjE1NXBWMTYKNmFWV3JWcTFpRWZRWmlJZ0FpSWdBaUlnQWlJ
Z0FpS1FPd0t4SFJBcVZEVnExTWluOGdTVFdsS3k2TWVCK0R5cWtSYUVFeEpVcjJJLwpCTklQUFBD
QTF5bEVQWTYyUzAwQVlmcm8wYU45aElyS1lQUkw0VDRSQWRsb280MVM3NmcxSWlBQ0lpQUNJaUFD
SWlBQ0lwQWpBcWxWCjRrbE95SVQyaUNPTzhGb0RvaFNkTzNmMmtZc05OOXpRbDc5TnNrdktSWFF0
dit1dXUrelZWMTh0M0FaOVF2UG16WDJhVU9IQ0RCOUkKMzhwa1JBVm16NTZkYWJOS3R4NUhzVmV2
WGw3L2NlaWhoM3JIanU3eUNQWmxJaUFDSWlBQ0lpQUNJaUFDSWxBZUJHSkhRS2kyUktyVgoyMisv
YldnT2VOSHc3Ly8rNy8vc280OCtpcHlDaGRPQy9nUERHZW5TcFlzMWJkclVac3lZNFZPR29zS2c0
U0RDK0RYWFhEUGxMZ3NXCkxQQk9EVldncXJwOStlV1hudFhHRzI5YzFWSG8ra1ZBQkVSQUJFUkFC
RVJBQk1xQlFHd0hoR2dDYVZnMER3d01UUWM5TjlJNUFjRzIKd1R1T3pKRkhIbW56NTgvM3gzdnh4
UmQ5cWhBUmtIbno1a1hXTEpBRzFyaHg0NHpueGtHaS9HeFZNclExOUdQNStPT1BmVm5rVHAwNgor
WjRyVlltQnJsVUVSRUFFUkVBRVJFQUVSQ0MvQ01SMlFMSTUvTGx6NS9xTzZjRXhxWTVGZVY3Szhv
Wkx5UWJyazczanlQVG8wU1BaCnFpcTlETGFISFhhWWJ3eFpwMDRkWCs2WVJwRTBmaVNOVGlZQ0lp
QUNJaUFDSWlBQ0lpQUM1VUVndGdQeXdRY2YrSFNydU0wQ28xNGMKNlZ4eGVsUXdxZjd3d3c5OUJh
MUZpeGI1OHI2bm5ucXFiYnZ0dGxGUFdlbTJJMHFGbnFaang0N1dvVU1Ibzl3eERoMnBhQmRlZUtH
TgpHREVpYWJQQ1NnZENGeVFDSWlBQ0lpQUNJaUFDSXBCM0JOYTR4bG5VVVNGZTNuTExMWTBuNnVF
TzVsSDNUN1VkZlVXWUhFK2RPdFg2CjlldG5aNXh4UnFwTml5Mm43d1ZQOUNrRGpOT0JOZ1ZoTzUz
WmQ5NTU1MkxiVjRVRm4zNzZxYjlIbE9EZGZQUE5DM1U1NjZ5empxRzkKb2VPOCtxMVVoVitDcmxF
RVJFQUVSRUFFUkVBRThvOUFyQ3BZNjYyM25xK29SSVNoTkViVW9sMjdkbDUwdnU2NjYvcjBJSnlI
SzY2NAp3aytNY1VpaUdNZTU0SUlMckZ1M2JsNEFQM1RvVU4rVi9mSEhIL2VwWEV1WExvMXltRXEz
VGZYcTFXMzc3YmRQZWwxRWkyZ2VLUk1CCkVSQUJFUkFCRVJBQkVSQ0I4aUFRZXlaS3hTbjZmdERv
anRTZTl1M2JGejVoajNvQnBBTU5HRERBYnI3NVp1OUFVTkszU1pNbUZqZXQKNjZ1dnZqS2NrTnR1
dTYyWUNKM3FXS1J6SFhEQUFWR0hWV20yMjJxcnJid3pSNlBJUGZmYzAwZERYbnZ0TmQrZ2tMNGdP
Q0V5RVJBQgpFUkFCRVJBQkVSQUJFU2dQQXJFMUlGU3VvdHp1OHVYTGZkclRIbnZzWVNOSGpyUm16
WnJGSHYvQ2hRdnRvWWNlOGs1SXZYcjFZdTlQCkdWL0t5ZExBTUdob2VQbmxseHROOTY2Ly9ucGZW
WXZxWEZYUmNESzRWNTk4OG9sM0VIRkdHalpzNkR2WEUzMlNpWUFJaUlBSWlJQUkKaUlBSWlFQjVF
SWlWZ2tXNTNVTU9PY1E3SUlzWEx6WjZTdEQ5SEtGelNacmJvVS9vMjdldm54UlBuanpaM252dlBU
di8vUE1ORVhVVQpJNVdJdEN0ZWdkRXM4WlJUVHZGTkVxdXE4d0VMVXRyZ1NUcGEvLzc5dmZBY3Aw
VE9SL0JMMGJzSWlJQUlpSUFJaUlBSWlFQjVFSWdWCkFVR2JNV0hDQk4rSU1EeFl1b3hUM25YUW9F
SGh4YkUrMDlIODNudnY5ZFdhZUk5algzenhoWGVBZHQ5OWR5UFZhSTAxMXZEcFlYR08KVVZXMlJh
ei85ZGRmMnk2NzdGSlZMbG5YS1FJaUlBSWlJQUlpSUFJaWtFY0VZbWxBMEdqTW1UUEhQMTF2MGFK
RjRXV1Foc1hUOWIvKworc3NRUUVjeFVvTG9vbzZPZzRwYU9BKzg0aHJPRCtlbk9oZUc1Z0ZqT2FK
NUdoQldSYU9pMk9EQmczMmp4L0QxVTZyNGhSZGVDQy9TClp4RVFBUkVRQVJFUUFSRVFBUkVvTXdL
eEhCQkcxYWRQSDJ2VHBvMFhuNTkrK3VtMnpUYmIrTUdTamhYSEFTRVZhT2JNbWJiV1dtdloKenov
L2JHZWZmYllYay9NOWp2M3JYLyt5cmwyN0Z1dHJRVVFGcDRSbWZKU2NwV042VlRHRStjY2ZmN3kx
YnQzYVRqdnR0R0pPSVlKLwptUWlJZ0FpSWdBaUlnQWlJZ0FpVUI0RllLVmpCQUVuaE9mUE1NMjNp
eElsKzRsKzdkbTN2QlB6NzMvOE9Oa243VHRTRDZsUXpac3p3CjRuR09SY2xjSEJHZXpzY3BFeHM0
Rm9tUkYzUWtwR0t4dkhuejVqWnUzTGdTQ2VYVFhraWVydnp0dDkrTUNCVk5JNk4ybE0vVFM5R3cK
UkVBRVJFQUVSRUFFUkVBRUtobUJhUGxTQ1JlOTBVWWIyVFBQUEdOdnZ2bW00WFNNSHovZWJybmxs
b1N0VW45dDNMaXhIWGpnZ2NaeApjQkEyMjJ3ekw1YnUzYnQzck9Od2hrc3V1Y1IrL2ZWWEk2VXIv
RUo4alI0RTNRcU96dGl4WTFNUHFKS3RvVkZrcDA2ZHZGT1hlR21rCllMMzExbHVKaS9WZEJFUkFC
RVJBQkVSQUJFUkFCTXFFUU93VXJJRURCOXJCQng5c08reXdneGN5QjJKbU9vOUhUWjlpTzdRWnBB
cngKaEo2VXJnY2ZmTkRPT3VzczMxOGt6cFdmZSs2NVNjKzc1cHByRnZZbm9XVHd2SG56NGh5MlFt
Lzc1NTkvMnJKbHkzeWFYS0lHWnY3OAorYjZaWklXK1FBMWVCRVJBQkVSQUJFUkFCRVNnd2hLSUhR
RWgyckh6emp2Ny9odDBJS2V4SGZvUEhJZzQxck5uVDk4WWozM2F0bTNyCkl4Um9PWWlzb0NXSmFv
SDRQSEY3QlBOQldoWTZrVTAzM1RSeGswcjdIZWVML2g4MGVJUkQrTldxVlNzdnpxKzBGNjhMRXdF
UkVBRVIKRUFFUkVBRVJ5R3NDSmRLQWZQUE5OL2J3d3cvYmZmZmQ1M3QyTEZpd3dPczJlT29lVFBy
alh2VXZ2L3ppb3g5MDhlN1lzV1BrM2Z2MQo2K2M3cy8vMDAwOUY5aUV0aTdHUWlrVjFyYXFtaFpn
MmJacnR2Ly8rUlpqb2l3aUlnQWlJZ0FpSWdBaUlnQWlVTjRFU09TREJvT2xFCnpnU2ZpWDZEQmcx
OEtoV0M5TEl5aE9zODVVYzdzc2ttbTNobktHaGlPSGZ1WE4vNW13cFlwR2t4UHBrSWlJQUlpSUFJ
aUlBSWlJQUkKaUVENUVpaVZBeElNL2VPUFAvYmR5TkdIbExWUkN2aUJCeDRvZGxvaU5IUUREelFx
eFRiUUFoRVFBUkVRQVJFUUFSRVFBUkVRZ1RJbgprQlVIaElaMzlBY2hCUXY5UVZuYWQ5OTk1OC9a
c0dIRElxZEY0RTRaWGw0eUVSQUJFUkFCRVJBQkVSQUJFUkNCL0NBUVNZVCs1Sk5QCjJuNzc3V2ZE
aHc5UE9tcjZlSkR5Vk5iT0I0TWhCU3ZSK1dBNW1nODVINUNRaVlBSWlJQUlpSUFJaUlBSWlFRCtF
TWpvZ0JCSm1EMTcKdGozeHhCTytPaFh2VTZkTzlWZnc3cnZ2MnQxMzMyMkkwTGZiYnJ0WVYvWFpa
NS81L1dMdHBJMGpFYUNLMkh2dnZlZGY2R1FDKy83Nwo3NE9QZWhjQkVSQUJFUkFCRVJBQkVSQ0Jj
aUdRTVFWcjVzeVp2b1J0a3laTi9BQ1BQZlpZWHo0WFlUZk4vZWovUVFmenlaTW4reWhKCmxLdGdl
NW9SMGppUVBoWHQyclh6dlVYb2pqNWh3Z1E3NVpSVG9oeEcyNlFoMExScFV6di8vUFB0cEpOTzhz
MFlxWWoxMy8vKzF6cDAKNkdBUFBmUlFtajIxU2dSRVFBUkVRQVJFUUFSRVFBUnlSeUJqSTBMU21I
Nzc3VGMvZ3BVclZ4cmxYWWw2TEZ5NDBENzQ0QU9mNmpScgoxcXhZRGdnVnFhNisrbW83OWRSVGZU
VGwyV2VmTmNUa2xPS2xtbFhnZ0x6eXlpdSs1MGltQm9lSTRNZU5HMmVMRnkrMlpzMmFXWmN1ClhX
eUREVGJJSGJVOFB6SWxpZEhrME5pUnFtQjBuYTlXclpwOThjVVg5dm5ubi90TzZCTG41L2xOMVBC
RVFBUkVRQVJFUUFSRW9KSVMKeUppQ3RmMzIyL3RJQjJrOTk5eHpqOVdyVjg4NmQrNXN1KzY2cTUv
d1U0SjNuMzMyc1IxMzNOSG93QjNWK3ZidDZ5ZkQzYnQzdDBjZgpmZFJJRlhycHBaZThVMExhMTlk
ZmYrMlBTNVFsbmRFWWthN3NWMTU1cFo5WVQ1bzB5VnEyYkduUFAvOTh1dDBxOVRxME9CdHV1S0cv
ClJocEU0alRlY2NjZHR2YmFhOXVTSlVzODIwb05RQmNuQWlJZ0FpSWdBaUlnQWlLUXR3UXlSa0Rx
MTY5dnBGOXR0dGxtUHRVS1o0RUoKN3I3NzdtdWsrZXkyMjI3K004NEQ2VmxSN1pKTExySDI3ZHY3
RkM0aUhFUmFjR1RvMUkyQWZLT05OdkpSRmlJaXFZeW4renpsMzN2dgp2YjFBbmpGaVJGSll2c2Nl
ZTFUSi9oOTE2OWIxRVNtY056UTdQWHIwOEdsdWxDWW04a1RFU1NZQ0lpQUNJaUFDSWlBQ0lpQUM1
VUVnCm93WWtHQlJwUFRnSlJFQUNlK09OTi95RUZrSDVZWWNkWnJmZGRsdXdLdVA3aVNlZTZEdVkv
Lzc3Nzk2QndSbHAyN2F0ajRKY2RORkYKR2ZkbmcyKy8vZFkvNmYvd3d3OXRtMjIyS2JJUDZWdm9V
OUNYVkVVakdoVkVqMDQ0NFFUdk5OSTRza2FOakQ1blZjU2xheFlCRVJBQgpFUkFCRVJBQkVTZ2pB
cEVkRU1hVGFnSkxkYVYzM25uSGF3M2lqQnZuZ3hRcUdoZ3lNWDdycmJkOHBBV0hKcW9SbmVHSmZy
Z0tGeEVRCmpubkVFVWY0Q0UzVVkxVzI3YVNOcVd4M1ZOY2pBaUlnQWlJZ0FpSWdBaFdmUUN3SFpO
NjhlYjZ5RWhQN2swOCt1VkJuVUZvTVZNTjYKNUpGSHZQT0JSb0ZVcnFnOVBJaDBQUFhVVTNiTExi
Y1VEZ05OQ0pvVnlnUWp2cTZLaG1OSDVBTW5qelE1VXVsd0VrZU5HdVVyamxWRgpKcnBtRVJBQkVS
QUJFUkFCRVJDQjhpY1F5d0ZodUFqRUtaWExSQllOQmhXbmpqenlTS3RWcTFhc3E1aytmYm8xYXRU
SUM4WURKd0VCCk9STmx0Q0J4akZRc1Nzd0dVUkJTdzFxMGFHRjE2dFNKYzVoS3N5MzNoU3BnaVBH
SHUrYVJpZHFZSVVPR1ZFbHRUS1c1d2JvUUVSQUIKRVJBQkVSQUJFYWpBQkdJN0lPRnJaZUtQc1Bu
cHA1ODJxbVYxNjlZdFVzb1R6c0lXVzJ6aFU3cW96RVNQQ2tyRjhxVCt3Z3N2OURxUQo4SGt5ZlNi
bENyMERLVWVJMWp0MTZtU2JiNzU1cHQwcTdYcHBZeXJ0cmRXRmlZQUlpSUFJaUlBSWlFQ0ZKMUFx
QnlSODlYUG16UEZQCjI5OSsrMjA3L1BERGZUbmRkTDA0S09sTHFoWGJVNW5ncjJZQUFDQUFTVVJC
VkRLWEZ5bENOQ2I4NktPUElxZGd6WjA3MXd2Z0tkdEwKeEtOMjdkbytTak5tekJpdkFRbVBzU3A5
bGphbUt0MXRYYXNJaUlBSWlJQUlpSUFJVkJ3Q3NSd1FJaGZublhlZWoxN1FDVDFaaVZ4Uwp0SjU1
NWhtalA4aFJSeDJWa2dScFFxUmhFZjBJN01jZmYvUzlLaWp6RzhVNEJtbEdIVHQyOUIyK2lhQlF3
bmZCZ2dVK2tqSml4SWdpClZidWlITE95YkNOdFRHVzVrN29PRVJBQkVSQUJFUkFCRWFoY0JHSTVJ
SlRpN2RtenA5MSsrKzIyN3JycmVoTExsaTN6RFFtMzNYYmIKV0dRUWljK1lNY05lZSswMTM4U1FG
Q3ljaHpqMnlTZWZlQUU2UFVVU0RlY0dKNmhObXphSnE2ck1kMmxqcXN5dDFvV0tnQWlJZ0FpSQpn
QWlJUUlVaGtMRVRldmhLdnZ2dU8rdlZxNWQzUG9nKzBGMmJLTWpPTys5czU1eHpUbmpUako5UE91
a2tPK0NBQTJ6UW9FRStla0hUCndQbno1MmZjTDd3QkRnYmFrMlJHYjVDcTNQTmk5T2pSWG9nZUNQ
TmhSSVJvM0xoeHlYQnBtUWlJZ0FpSWdBaUlnQWlJZ0FpVUNZRlkKRVJCRzFMVnJWOTloSEkzRnJG
bXpqT2pEdGRkZWE4T0dEYk16empqRE43ekxOUElmZnZqQjZ6TVFyeE5KV2I1OHVZMGNPZEx1dSs4
Kwptemh4b3UrQ251a1l3WG9hR2xLSmE4ODk5L1FhRUNJcVU2Wk1NU2JnT0NGMFdhK0tocmlmcnZK
aEp3d0hjdkhpeFlaZUJxMk1UQVJFClFBUkVRQVJFUUFSRVFBVEtta0RzdHRobm5YV1dYWDc1NWI3
c0xnNElrUXNNelVHUEhqMGlqWjl1NnNjZmYzeGhHaGVUWmZhbHZ3aFIKbFJ0dXVDSFNjZGpvNnF1
djltV0FTY2VpZHdnOVJSbzJiT2o3aWxSVjV3TXVsRE1tTFM1Y2lwaDdkUFRSUjl1WFgzNVpySE04
KzhoRQpRQVJFUUFSRVFBUkVRQVJFSU5jRVlqc2dlKys5dDZHdkNHekZpaFUyWU1BQVc3bHlaY3BP
NmNHMndUdGFENFRtT0F2aGhvT2JicnFwClQ2a2l2U3ZvRFJMc2srcWRTZlo3NzczbmhlOUJHZDVE
RGpuRTFsOS8vVlM3VklubHBMWjE3dHk1eUxXaXU2SHlHQ1dRWlNJZ0FpSWcKQWlJZ0FpSWdBaUpR
SGdSaXAyQ2hBVG5vb0lPc2JkdTJ0czQ2NjVSNHpJalhYMy85ZGQvL0l6akl6VGZmYlBUMDZOKy9m
MlFIaEdQcwp2dnZ1d1NHU3Z1UFFzRjBRclVtNlVSVllTUG9WL1ZFb2VZem9YeVlDSWlBQ0lpQUNJ
aUFDSWlBQ1pVMGdkZ1NFU2xpa1lWR1NkNWRkCmR2RVRXUnlTMXExYkY5RVZzRjA2QjRVMHJNUkpN
R2xVQ05PalJqK0FSVGxnZENEcFN2ZFNsdmZQUC8rc2NnNUlZb05HMHE4b2tWeVYKSzRPVjlUK1l6
aWNDSWlBQ0lpQUNJaUFDSWxDVVFPd0lDTHNISlhSdnV1a21uM3BGOVNxRTVQdnNzNDkzS2tqVEl1
Snc4Y1VYRnoxYgo2QnY5UWlaTm1tVHo1czN6MVpuYXQyOWZKQjBydEduYWp6Z3JqUnMzVHV1QWNB
QWFIS0tCcUNxbUJvMVY1VTdyT2tWQUJFUkFCRVJBCkJFU2dZaEVva1FNU3ZzU3hZOGZhWnB0dFpu
WHIxcldwVTZmYUN5KzhZQysvL0xKM0txWk5teGJldE1qbkk0ODgwbmM4eDNGWnNtU0oKajA1UUNh
dFpzMlpGdHN2MGhZN3FVY1h2bVk1VldkYXJRV05sdVpPNkRoRVFBUkVRQVJFUUFSR29mQVJpT3lE
ang0LzNPb0tkZHRySgpOL29EQ1drOVZGc0tVcXBJZHlJcXdqYkpqSTdubE1tbHFTRzJjT0ZDR3p4
NHNHOHFTR1d0OWRaYkw5bHVTWmNSU1VuV3dCQ25obkt6CnBJbFZOVk9EeHFwMngzVzlJaUFDSWlB
Q0lpQUNJbEJ4Q01ScVJJamowSzFiTnlQRkNpZUJpa3BFSUVodnV2NzY2d3V2R2oxR0t1ZUQKalNp
UHU4RUdHeFJ1anpCNjRNQ0JObXJVS0Y5UnEzQkZoQTlFV3pwMjdHaE5tell0OG1KTXYvMzJXNFFq
Vkw1TjFLQ3g4dDFUWFpFSQppSUFJaUlBSWlJQUlWQllDc1VUbzlOZEE5NEhqTVdmT0hIdnV1ZWQ4
M3c2RTRLUmhKWmJWVFFXcFZxMWFmbjlLNkxabzBhSndNNnBVCjBUd1FqUW1UNkV4RzlJTitJZ2pn
VHp2dHRHTDdOR25TSk5NaEt1WDZyYmJheXE2NDRncC9QMUkxYUt5VUY2NkxFZ0VSRUFFUkVBRVIK
RUFFUnlIc0NzVk93MEJmTW5EblQ5dDEzMzhLTCsvYmJiMzNGS3h5THFFYVZMS294SVQ0Ly9mVFRD
eHZqWFhmZGRkYXZYNzhpSGJ4VApIWk1JQnc3TUJ4OThrRFFOSzlWK1ZXRTVqaHc2bTJRTkd0dTFh
MWNWRU9nYVJVQUVSRUFFUkVBRVJFQUU4cEJBNWpCRHdxRFJkL3p3Cnd3OTJ6VFhYMk1TSkUvMVRk
dEtwNGpnZkhKSVN2Wk1uVDdiMzMzL2ZkK3ltY3pmTkEra1BVcU5HdE1BTXVwTk9uVHJaMHFWTEUw
WnAKdG1qUkludnJyYmVLTGE4cUM0SUdqWTgvL3JqdnF6Sml4QWdmWFpMelVWVitBYnBPRVJBQkVS
QUJFUkFCRWNoUEFyRWpJTm1xWGhYRwpnYVB3NXB0dldzdVdMVzJ2dmZhSzNBY0VaK2k4ODg3ejVY
WFJmSVFORWZ5d1ljTjhhZUR3OHFyeVdRMGFxOHFkMW5XS2dBaUlnQWlJCmdBaUlRTVVpRUMzVThM
OXJRb1IreUNHSDJOTlBQKzJYQk5Xck9uVG9ZSEdyVnlFNlAvamdnMjJISFhid2xhcUNhbFVyVnF6
d0l2VW8KR0JHN2sySkU1Q1F4QXRPcVZhdFkxYlNpbks4aWJhTUdqUlhwYm1tc0lpQUNJaUFDSWlB
Q0lsQjFDTVNLZ1B6KysrODJZY0lFTDBJUApJNW85ZTdhTkdUUEdCZzBhRkY2YzlqTk5DMTk5OVZW
ZkRRdEhoQmZWdFRoK3IxNjkwdTRiWGttdmtmMzMzeis4U0o4ZEFUVm8xTTlBCkJFUkFCRVJBQkVS
QUJFUWdId25FaW9Ca3Ezb1ZJQkN5Zi9QTk4vYnd3dy9iZmZmZDU1MlJCUXNXZVAwSFQrK2pWTUhp
T09oQWt0bjAKNmRPdGJkdTJ5VlpWaVdWMzMzMjNHalJXaVR1dGl4UUJFUkFCRVJBQkVSQ0Jpa1Vn
VmdTRVM4dEc5YXBFUkt0V3JUTEUwamdkRFJvMAo4Tld4YXRldW5iaFowdStiYkxLSmI0QVlGcTZU
eG9VR0lxZ0FsWFRIU3I3d2xWZGU4UkdsZEpkSlJUTTRVZjVZSmdJaUlBSWlJQUlpCklBSWlJQUps
UVNCV0JJUUJCZFdyemp6elRGKzlxbDY5ZW9hejBMVnIxOGpWcXhJdkRPZUJmaDRmZi95eERSMDYx
S2RqSlc2VDZqdTkKUjZpQ3RjWWFheFJ1c25qeFlqKzJMNy84MGpkSkxGeFJoVDZjZi83NWR1S0pK
eG82bVZSR3hBa2h2eHlRVklTMFhBUkVRQVJFUUFSRQpRQVJFSU5zRVlrZEF3Z01vYWZXcThESENu
d2NQSG14OSt2VHhwWGpUVFp6RCt5Ukx0VUtyUXBuZ0cyKzhNYnhwbGZyOC8rM2RlNXhOCjlmNzQ4
YmZyb0hFZnhuV1VETVljdVNXVVcrUE9SS0dJaGppWm9qbWhyNVNTb3BBVG1pS2NLSlg3S0JISmpL
bHhOeHJYS0xma2JqSU0KeWJna2w5OTVmODV2NzdQM3pKNlp2Y1psOXBuOStqd2UwMTU3N2JYV1h1
dTUvL0h1ODNtLzMrU0FlTlhQemNNaWdBQUNDQ0NBQUFMLwpNd0kzRllBNFBxWG1kR2hpdWJ2RHNR
cVc3Unh0TEtoTkJiV0NsYnREL3krK3E0N24zYnQzbHhFalJraU5HalhjdlZTT09tN3ExS25rCmdP
U29YNVNIUVFBQkJCQkFBQUVFY29hQXBRQkVjd1kwQnlRbEpVWE9uVHRubGo2ZE9ISENCQTBMRnk0
MHIvcC8zdDBadDZvS1ZydDIKN2VTcHA1NHl1U1A2dlpyL3NYZnZYak1Eb2swT3ExV3I1czd0NUxo
anJseTVRbmY0SFBlcjhrQUlJSUFBQWdnZ2dNRC92b0NsQU9UeQo1Y3RtaVpSV1dMcCsvYnFVTEZs
U3lwUXBJL2ZlZTYrWnRSZzJiRmlHT1FlcHVSeXJZR2x3WTZ1Q3BkM1EzYTJDcFFHUDVuODQ1b0Jv
ClhzaXJyNzRxbzBhTlN2MlZ2RWNBQVFRUVFBQUJCQkJBQUlGc0ZMQVVnTmp1Yzl1MmJhWVpZZCsr
ZmFWaXhZcTIzVmwrdlprcVdDTkgKampUQmhtUE9pQ2FmUjBWRnlVc3Z2WlRsZStKRUJCQkFBQUVF
RUVBQUFRUVF1UFVDV1FwQTlEWjB4a0tiRCtwTVNJOGVQZHllc2NqbwpFV3hWc0RRL3hOMmhTOEcw
ZEcvcW9WVzYzbjMzWFZPMUsvVm52RWNBQVFRUVFBQUJCQkJBQUlIc0VjaHQ5V3VUa3BKa3g0NGRF
aE1UClkwcTQ2bXhJMDZaTnpUNnIxMHA5L0lvVksyVHk1TW5tdXFrL1MrLzloeDkrS0pydm9JR1Ev
dW55cTE5KytVVVdMMTRzTzNmdVRPODAKOWlPQUFBSUlJSUFBQWdnZ2dFQTJDRmlhQWRFY2tCWXRX
cGgvMkpjclYwNzgvZjFORG9qbWdWU29VRUVHRFJya2RnNklCZ29heEJ3OQplbFNhTkdraVFVRkJv
bFd3TkE5RXQ5MGQ2U1c5MTZwVlM3UVozMTEzM2VYdXBUZ09BUVFRUUFBQkJCQkFBQUVFYnJPQXBR
QkU3MFdECmtFbVRKa25uenAxTjhubFc3eThrSkVTMGRHK2hRb1ZNUmExbm4zMVdKazZjYU41YnVh
WTJNTlJjRkZ2U3V1YUNCQVFFU0tWS2xad1MKMDYxY2syTVJRQUFCQkJCQUFBRUVFRURnOWdoWURr
QnN0Nkg1SDBXS0ZKRU9IVHFZWFZiS3Z1cXNod1lnYTlhc01iTW9tcStoM2N3MQpueU0yTnRaU1Iv
VXZ2L3hTdW5UcFlyc3QrK3VTSlV1a1U2ZE85dmRzSUlBQUFnZ2dnQUFDQ0NDQVFQWUxaRGtBMFZ2
WFBodGZmLzIxCjZRc1NHUmtweWNuSjR1UGprK2xUYWErT0YxOThVYVpObTJhTzFhN2x3NGNQRncw
YXRJZUhsdEIxZHhRdlhsenV2LzkrcDZWZkdnd2wKSkNUSXNXUEhwSERod3U1ZWl1TVFRQUFCQkJC
QUFBRUVFRURnTmd2a3ZabnJhNWR4L2RPazc5RFFVTGVDRC8wK1hYWlZ1WEpsa3p5ZQpQMzkrazhU
K3lTZWZTSGg0dU15WU1jUFNMZW0xaWhVclpsK0NwU2RyYzhTV0xWdWFBTVJLUG9tbEwrWmdCQkJB
QUFFRUVFQUFBUVFRCnNDemc5Z3hJZ3dZTlpOT21UWmEvSUwwVExseTRJS3RXclRKTHVMUjZsUVlN
MmxORWwyRXRXclRJS2FCSTd4cTZYKzlKNzgxeGFJTDcKODg4L0wxT25UcFgwa3RRZGoyY2JBUVFR
UUFBQkJCQkFBQUVFN295QTVUSzh0K3EydERxVkxYOUVFOGkxYks1V3J1clRwNC9id1lmZQpTNEVD
QmRMY2tuWkYxNXlTSDM3NEljMW43RUFBQVFRUVFBQUJCQkJBQUlIc0U4aTJHUkNkOWRBazlQajRl
Qk40YUhsZlhZNWxkUVFHCkJrcmJ0bTJsWU1HQzlsTi8vZlZYRTlCb0hraWRPblhzKzlsQUFBRUVF
RUFBQVFRUVFBQ0I3Qlc0cVJ5UW03bDE3WjRlRlJVbHBVdVgKbHBNblQwcnQyclZsOXV6WkVod2Ni
T215V2xGcjQ4YU5UaVYzdFQvSjU1OS9UdkJoU1pLREVVQUFBUVFRUUFBQkJCQzQvUUxaRW9Cbwp0
YXdqUjQ2SWRsWDM4L016VmJSbXpab2xZV0ZoOHMwMzMwalpzbVhkZnZLbFM1ZEtxMWF0M0Q2ZUF4
RkFBQUVFRUVBQUFRUVFRQ0Q3CkJMSWxCMFJMNDJvRFFRMCtkUGo2K2tyLy92MU5TVjl0Y21obEVI
eFkwZUpZQkJCQUFBRUVFRUFBQVFTeVZ5QmJBaEROOWRDTzVWcXQKeW5GVXFGREJMTUc2Y2VPRzQy
NjJFVUFBQVFRUVFBQUJCQkJBSUljSVpFc0FvbmE2M0VyTDhEcU9jZVBHbWVhR2p2dllSZ0FCQkJC
QQpBQUVFRUVBQWdad2o0SFlBWXVzQnNtREJBdEZsVXRxeC9HYUdMc1BTeWxlT1kvLysvV1lHaE40
ZGppcHNJNEFBQWdnZ2dBQUNDQ0NRCmN3VGNMc09yajZ5bGMrdldyV3M2bUd1d29Nbmltb1BSdW5W
ckUwelljanIwMkRObnpraUpFaVYwMCtYNDRvc3ZwRnExYWxLelprMm4KejY5ZXZTcDU4N3FmRzYr
OVBoNTQ0QUduYStpYjNidDNDMTNRMDdDd0F3RUVFRUFBQVFRUVFBQ0JiQld3RklBY09uUkl0TWRH
U0VpSQpxV0ExWThZTWlZeU1OUGtjaVltSnB1eXRCaVFQUC95dzZlL3h4aHR2dUh3NHJZSlZ2bng1
a3dPaVFZdk9oT2g1K3ZmUGYvNVR4bzhmCjczWVE4dUNERDBxWExsMmMrb0Q4OWRkZnNtelpNbG01
Y3FYNS9pVkxsc2podzRmbGhSZGVjSGsvN0VRQUFRUVFRQUFCQkJCQUFJRTcKSTJBcEFOSGtjQTA0
Qmc4ZWJMODdEVHptenAwcnpabzFreTFidGtoc2JLekV4Y1daQ2xkNzl1eXhINWQ2WS9yMDZhYUI0
STRkTzh3NQpHaXpvcklYT2Zyenl5aXN5YXRTbzFLZTRmSy9MdGJTcnVtTWpRdHVCMzMvL3ZabGhl
ZnZ0dDAxdWlkNG5Bd0VFRUVBQUFRUVFRQUFCCkJMSlB3RklBb3JjNWZQaHcwelN3YTlldTlycytm
LzY4Q1V4ZWYvMTFzMCtYYXYzODg4L3l0Ny85elg2TXE0M05temZML2ZmZmIvL28KeElrVHBoeHZr
U0pGVEhEU3MyZFArMmZwYldoQU5IRGdRQ0Z2SkQwaDlpT0FBQUlJSUlBQUFnZ2c0RGtDbGdNUVhk
NmtzeDJhdTZIQgpTTVdLRmVYU3BVdFN2MzU5MGRtTVBIbnkzTlRUYVRmMHA1NTZ5dTFyZlBmZGQy
bVMyZlZrWFhiVnFWTW50Ni9EZ1FnZ2dBQUNDQ0NBCkFBSUlJSEQ3QlN3SElIcExLU2twRWhFUkla
OTk5cG5jZmZmZG9qa2REUnMybEppWW1OdC94Nm0rb1hqeDRtWVdSZnVLMk1hVksxY2sKSVNGQmpo
MDdKbHB0aTRFQUFnZ2dnQUFDQ0NDQUFBS2VJWkNsQU1SMjYxdTNicFcxYTllYXZJMG5uM3d5dzZw
WHRuTnU5YXNtczJzaQpldTdjLzYwb3JFdTVTcGN1TFpyN1FTV3NXeTNPOVJCQUFBRUVFRUFBQVFR
UXlMcUE1UUJFOHpaMDFLbFR4Mm01bGRYeXVWbS9aZWN6CnRUOUpnd1lObkhacWgvWG5uMzllcGs2
ZFNtNklrd3h2RUVBQUFRUVFRQUFCQkJESVhvSC9UaHU0Y1IvSGp4ODNQVGVhTkdsaVpqdEMKUTBO
TnlWd05BaVpNbU9ER0ZmNXppUFlJMFR5UDExNTdUZlNhTnpNS0ZDaVE1blROUXpsOStyUm9qeEFH
QWdnZ2dBQUNDQ0NBQUFJSQplSTZBNVJtUVhyMTZ5VWNmZldUK2NhOEo0UHFuLzlEMzlmVTF6UWZk
ZWJUZmYvL2R6RkM4Ly83N3BseXZucU9WdERRWXFWNjl1anVYCnNCOFRHQmhvS21ZNWx1SFZYaVdM
Rnk4MmVTQTZVOE5BQUFFRUVFQUFBUVFRUUFBQnp4Q3dISUQ4OXR0djh2bm5uNXNrOUVLRkNwbW4K
MEtSMHpRVnAyYktsYVVxWTJhUHQyN2ZQSks0M2F0Ukl0TGZJNU1tVHpXeUlWdGpxM2J1M1RKczJM
Yk5MMkQvWEdSQXQ5K3RZZmN2ZgozMSs2ZCs4dVBYcjBzQi9IQmdJSUlJQUFBZ2dnZ0FBQ0NHUy9n
T1VBNU91dnZ6Wk4vMzc1NVJkVGZVckw3MlpsYUtDaHVSdno1czJUCkRSczJ5SkFoUTJUa3lKRXlj
K1pNZWVhWlo5d0taUFI3dFlHaGRsQm5JSUFBQWdnZ2dBQUNDQ0NBZ09jTFdBcEFrcEtTNUo1Nzdo
RnQKTktnekRycnNxbDY5ZWpKbzBDRFRpOE94RWxWbWo3NSsvWG96NjZHZHowZVBIbTFQSk5mY0VP
MEZ3a0FBQVFRUVFBQUJCQkJBQUlHYwpKMkFwQU5ISG56UnBrblR1M0ZuMjdOa2pzYkd4NWsvTDhl
b3lLRzFFbU5WeDhlSkZFNGpzM2J0WDVzK2ZiMHI3WnZWYW5JY0FBZ2dnCmdBQUNDQ0NBQUFLZUtX
QTVBTkhIaUkrUE40MEhiWStrVmEyMEVsYTdkdTFzdXpKOTFWbVVOV3ZXbUd2VnFsWEx6S0RrejU4
LzAvTTQKQUFFRUVFQUFBUVFRUUFBQkJQNTNCZHdLUUw3NjZpdUpqSXlVUG4zNnlOTlBQMzFMbmxh
VHhLT2lva3pEd0pNblQwcnQyclhOMHF2Zwo0T0JiY24wdWdnQUNDQ0NBQUFJSUlJQUFBcDRua0dr
ZmtDdFhycGpaalVXTEZwbmNEMzNWMHJzNmR1N2NLVk9tVEpIZHUzZGJlckxrCjVHUTVjdVNJYUU2
SlZ0WFNFcnpoNGVFU0ZoWW1pWW1KbHE2VjNzR2FuUDdqanorbTl6SDdFVUFBQVFRUVFBQUJCQkJB
SUJzRU1wMEIKV2JkdW5WU29VRUh1dnZ0dWMzdGR1M1kxbGFjR0RCaGdjalUwZCtQY3VYTVNIUjB0
elpvMWMrc1JOS2pSTHVVREJ3NTBPdjdZc1dNbQpvQmt6Wm96VC9vemV2UHJxcTdKOCtYTFIzaUtP
NDhLRkM2Sko4VjkrK2FVMGJ0elk4U08yRVVBQUFRUVFRQUFCQkJCQUlKc0U4bWIyCnZWcnQ2dEts
Uythd3k1Y3ZTMXhjbkFrU2RBWkRaejQwYjBQTDZGb0pRUFNjZlBueXliVnIxNXo2ZDJpZ28wdXd0
RGRJcmx5NU1yczEKMCszOG5YZmVrWC84NHg5U3ZueDVjNTZlcTJQYnRtMVN2SGh4MDUra1pzMmFV
clJvMFV5dnh3RUlJSUFBQWdnZ2dBQUNDQ0J3ZXdVeQpEVUEwSUpnd1lZSzg4Y1liWnRhaWNPSEM4
c1FUVDhpcVZhdE01L0o3NzczWHpERG9VaXB0SktpQmhUdERsMXZwTlZxMGFHRS9mTnk0CmNmTEhI
My9ZMzJlMjRlZm5aL0pTdEtONjZqRm56aHpUVlYzTEJETVFRQUFCQkJCQUFBRUVFRURBTXdReURV
Q0tGQ2xpbGw5VnJGalIKTExWYXVIQ2hDVEthTkdraVZhcFVFVzFFcU51clY2OFdYWjdsN3RCQXhq
SDQwUFAyNzk4dklTRWhiczErMkw1bjdOaXhvc3ZFdEVHaQpMdUhTcFdLOWV2V1N4eDkvM0dsMnhY
WThyd2dnZ0FBQ0NDQ0FBQUlJSUpCOUFwbm1nTmh1VFhNc2REbVdCZzYya1pDUVlHWkdEaHc0CklC
MDZkSkNKRXlmYVBzcjBkZno0OGRLNmRXdTU3Nzc3bkk3Vm5KSkNoUW81N2N2b3piUnAwMFR6VVRU
d2FObXlwUWxpU3BRb0lhR2gKb1daMkpLTnorUXdCQkJCQUFBRUVFRUFBQVFUdXJFQ21WYkJzdDFP
c1dER240RVAzNit5SEpvRHJESVFHSUZiRzRzV0xwVTZkT2xLdQpYRGxUMm5mdTNMbHkrUEJoK2VT
VFQ5eStqQ2F6YXhmMnAvOWRHbGdiR0g3MDBVZlN2SGx6azNpdU16S25UNTkyKzFvY2lBQUNDQ0NB
CkFBSUlJSUFBQXJkZndPMFprTnR4SzVvM29ya2EwNmRQTndua2h3NGRNaDNRdFN5dlZyREtiT2pN
UzJCZ29HZ2pSQTJRZEl3Y09kTE0KeWt5ZVBGbHExS2hobG5SbGRoMCtSd0FCQkJCQUFBRUVFRUFB
Z1RzallEa0EwY3BYbFN0WEZoOGZuMXQyaDFldlhqV3pGaHAwYUxXcQpwazJiU29FQ0JUSzl2cDZu
TXlqYWo4VGYzOThjLzlwcnIwbFFVSkM4OWRaYnNtWExGdkgxOWMzME9oeUFBQUlJSUlBQUFnZ2dn
QUFDCmQwWWc4MmtHaC9zNGRlcVVLWk9yVmJGdTVjaWJONjkwNjlaTmF0V3FKVEV4TVc0Rkgvcjll
cDR1dTlJLzI5RFpFSzJ3cFpXNkNENXMKS3J3aWdBQUNDQ0NBQUFJSUlPQVpBcFpuUUQ3NzdETlR2
VXA3ZHR6cThjRUhIOGpRb1VOTlozUjN5L25xUFJ3OGVGQTBPSHJnZ1FjawpQajdlSk10cmZnb0RB
UVFRUUFBQkJCQkFBQUVFUEV2QWNnQnkvZnAxV2JObWpmbUh2czVZYUNsZGJTeG9kV2dDdVNhd2I5
KyszU1N6CnQyM2JWblNmNW9Ib0VpcDNoeWF2OStqUkk4M2hHaWoxN3QwN3pYNTJJSUFBQWdnZ2dB
QUNDQ0NBUVBZSldBNUF1bmZ2TGxGUlVWSzYKZEdrNWVmS2sxSzVkVzJiUG5tMldabGw1akk0ZE81
cktWU2twS1hMaXhBbHAwS0NCekpvMXl5U1ZXN21PTHJPcVc3ZXVXWTVsT3k4cApLY2swU1V4TVRI
UjdPWmZ0WEY0UlFBQUJCQkJBQUFFRUVFRGc5Z2xZeWdGSlRrNldJMGVPaVA0RFh5dFlhYldxOFBC
d2szT2gvOWgzCmQ1dzllMWJhdEdsakFwRGp4NCtiOHJ1Tkd6ZVc5dTNibTZWVTdsNUhqOU5HaWRX
clY1ZWFOV3ZhL3pTQi9iSEhIalBYdFhJdGprVUEKQVFRUVFBQUJCQkJBQUlIYksyQnBCa1NYU0Uy
ZE9sVUdEaHpvZEZmYWdYektsQ2t5WnN3WXAvM3B2Zm56eno5bDZkS2xhVHFuYjlxMApTZWJObXll
UmtaSHBuWnBtdjg3R2FNSzU0OUJsWXRxVlhaZG51Vk5OeS9GY3RoRkFBQUVFRUVBQUFRUVFRT0Qy
Q1ZpYUFkRmNEMDBPCnYzYnRtdE1kYVVKNmNIQ3c2ZVhoOUVFNmI3U0U3OWF0VzJYWHJsMU9SK2d5
TEcxT3FBR0V1eU4xOEtIbjZXek1raVZMWlAzNjllNWUKaHVNUVFBQUJCQkJBQUFFRUVFRGdEZ2hZ
Q2tEMGZyVEU3YXBWcTV4dWJkeTRjZkx6eno4NzdjdnNqVmE3MHVSeGZkVXU1cmFoM2RDdApCQ0Jh
OVNyMUtGdTJySm1OMFg0aURBUVFRQUFCQkJCQUFBRUVFUEFjZ2J4V2I2Vnc0Y0ttOHBYamVmdjM3
emNkeDNQbHl1VzRPOE50CjdWd2VIUjB0L2ZyMU16a2NlbDFkTHFXVnE3Uy9oN3VqUzVjdTVuNGN6
N2w0OGFMODhNTVBNbVRJRUhjdnczRUlJSUFBQWdnZ2dBQUMKQ0NCd0J3VGN5Z0g1NnF1dlRGNUdu
ejU5NU9tbm43N2x0NlVkeXpkdjNteVN5QnMxYWlSV0Fwa3laY3FZS2xoNTh1U3gzNWNtdHV2Kwp5
Wk1ubTY3dDlnL1lRQUFCQkJCQUFBRUVFRUFBZ1d3VnlIU3FRUlBQTlRsODBhSkZKcTlDWDRzV0xX
cG1IWGJ1M0NscjE2NlZoeDkrCjJGTHZEbjFpWFRxbHN4YWE4MUd2WGozemx4V0orZlBuUy9QbXpa
MU8xU1QzTjk5OGsrRERTWVUzQ0NDQUFBSUlJSUFBQWdoa3YwQ20KTXlEcjFxMFRUVEsvKys2N3pk
MXFkYW1WSzFmS2dBRURSUC94cjh1ZHpwMDdaNVpUTld2V3pLMG5PbjM2dEZTcVZFbXVYcjBxaFFv
VgpNZ0ZFcTFhdHBHWExsbEsxYWxXbmExeStmRG5EU2xiYXVOQjJiNDRuYXIrU0VTTkdTSTBhTlJ4
M3M0MEFBZ2dnZ0FBQ0NDQ0FBQUxaCktKQnBFcm91YmJwMDZaSzVSUTBHNHVMaVRNbGQ3Yit4ZS9k
dVUzRXFOalpXOU0vZDRlZm5aNUxFVDUwNlpZS1l3TUJBK2Zqamo4MHMKU2tCQWdQVHQyOWVVMEQx
NjlLak1uRGt6dzh2Mjc5OWY1c3laSTh1V0xUTi9XcGIzcmJmZWtvVUxGNHJqc3F3TUw4S0hDQ0NB
QUFJSQpJSUFBQWdnZ2NFY0VNcDBCK2VPUFAyVENoQW55eGh0dnlQdnZ2Mi8rTk9sY0syRlZybHha
N3IzM1huT2pYM3p4aFhUcTFNbVU2WFhuCnpuVnBWMHhNaklTR2h0b1BQM1BtakFsd3Z2dnVPOUcv
ZmZ2Mm1ZYUZLMWFzc0IrVGVrUHpSVFRRY0F3MnRFendxNisrS3FOR2pVcDkKT084UlFBQUJCQkJB
QUFFRUVFQWdHd1V5elFIUm1RNWQ0bFN4WWtXejFFcG5GclFYU0pNbVRhUktsU3BTdjM1OXM3MTY5
ZW8walFVegplaTd0QTZLSjRob3MySUtIRWlWS2lGYTEwajhkT2dPaXgyVTBOTmREZ3cyOUo5dlFV
cjQ2RThKQUFBRUVFRUFBQVFRUVFBQUJ6eExJCmRBYkVkcnUvLy82N0NSUzBYSzV0SkNRa21KbVJB
d2NPU0ljT0hXVGl4SW0yanpKOHZaVTVJSnAvb2tueHFZZVc5MzMzM1hkRnkvMHkKRUVBQUFRUVFR
QUFCQkJCQXdETUVNczBCc2QybS9rUGVNZmpRL1RyN3NYejVjdEZFZFExQTNCMjNNZ2Zrd3c4L0ZG
M09wYzBMOVU5bgpWSDc1NVJkWnZIaXhhSlV1QmdJSUlJQUFBZ2dnZ0FBQ0NIaU9nTnN6SUxaYjF0
a09YVEtseTdKdVp0ektIQkJYOTFHclZpMVp2MzY5CjNIWFhYYTQrWmg4Q0NDQ0FBQUlJSUlBQUFn
aGtnNENsQUVTWE81VXNXZExNTW1nQ3VwYk9iZDI2dGVtQ3ZuVHBVZ2tMQzNQN0VSWXMKV0NCSlNV
bm0vR3JWcXJrOHo1WURvc250NlkxdTNicVpxbG01Yy85bk1rZHpRYlNTbHBiNXRlV1dwSGN1K3hG
QUFBRUVFRUFBQVFRUQpRT0RPQ2xnS1FQVFd0TVJ0cjE2OVRKV3FiNy85MXBUZjFVcFo1Y3VYbHlO
SGpwaTcxNWtIYlRDb1BUNWNEVjBxVmJkdVhiTjBTaXRxCmxTMWIxaDdNdEdqUlFuU0psbTFvWlN4
TlRuYzE5RHBhRnRqZjM5OGt0TnZPMC9LK3BVcVZjblVLK3hCQUFBRUVFRUFBQVFRUVFDQWIKQlN3
SElMcDBTZ01NN1g2dVEzTXVObTdjS0ZvcVZ4di9KU2NuUzdseTVVeGZEKzNuNFdwbzg4QmZmLzNW
ekp6b0xNaU1HVE1rTWpMUwpWTEpLVEV3MHdZdk9ydWgzYU1kMExRR2MzdEJLWEFNSERwUWVQWHFJ
ZGtEWGN6Um9hZCsrdlh6MjJXZnBuY1orQkJCQUFBRUVFRUFBCkFRUVF5QVlCeXdHSU8vZW9TNmQw
UnNTMkxDcjFPVGR1M0RBQngrREJnKzBmYWVBeGQrNWMwVzdxVzdac01UTXJPcnVoc3hwNzl1eXgK
SCtlNG9aVzV0Tnh1ZUhpNDZEVjE5dVRFaVJPeWVmTm1FK0Q4OWRkZlVxOWVQY2RUMkVZQUFRUVFR
QUFCQkJCQUFJRnNGSEM3Q3BidApIclZCNE1XTEYyMXZYYjVxejVEMGdnODlRWnNINmt5Sk5pKzBE
VjJHcFlHRUx1dDY5dGxuVFNkem5SMXhQTVoyck8xVjh6MjBsNGlPClR6NzV4Q3pIbWpScGt2ajYr
cHBBUklNYUJnSUlJSUFBQWdnZ2dBQUNDSGlPZ0tVWmtPUEhqMHVGQ2hWazFxeFowckZqUnhPSTJB
SUEKMnlQcExJWUdFN1lsV3JiOXFWOTFka0puTzJyV3JDbkRodzgzalE0dlhicGtTdnZ1MkxIRDdR
VHk1NTkvWHM2ZVBTdUxGaTB5eWVoVApwa3lST1hQbW1HVmJHc3dFQmdhbS9tcmVJNEFBQWdnZ2dB
QUNDQ0NBUURZSldBcEE5QjYxK2VCOTk5MG5QajQrc21IREJsbTVjcVgwCjd0M2JYcGIzbFZkZUVW
MGFwVGtaVFpzMlVHTnI0d0FBR2tGSlJFRlV6ZkN4VWxKU0pDSWl3dVJxYUZsZm5SVnAyTENoeE1U
RVpIaWUKNDRjYXlNeWZQOS9zNnQ2OXU4a2p1WHIxcXVUTm0ybVRkOGZMc0kwQUFnZ2dnQUFDQ0ND
QUFBSjNRTUJ5QUpMNm52UWYrMW9WS3pRMAoxQVFkdHM5MVJxSno1ODYydHhtK2J0MjZWZGF1WFd1
Q2hpZWZmRExkcWxjWlhvUVBFVUFBQVFRUVFBQUJCQkJBd09NRmJqb0EwU2U4CmNPR0NtZTBJQ2dx
U2Z2MzZtU3BVbWhTZVVRQ3lldlZxVS8ycVFJRUNwaGZJNDQ4Lzd2RlkzQ0FDQ0NDQUFBSUlJSUFB
QWdqY25JRGwKSkhSWFg2ZmR4bU5qWTAwdVJ0dTJiZVh6eno4M2ZUMWNIYXY3enA4L2I0SVQ3ZGR4
OE9CQitmdmYvMjV5Umc0ZlBwemVLZXhIQUFFRQpFRUFBQVFRUVFBQ0JIQ0J3UzJaQUhCMjBMMGht
SGNnMWFmeXBwNTZTYjc3NXhweXFqUXovOWE5L3llelpzMDFPU2VuU3BSMHZ5VFlDCkNDQ0FBQUlJ
SUlBQUFnamtFQUhMQWNpQkF3ZE1nS0ZKNHpjekpreVlZSUlRN1dKdUd6dDM3alFORExVcG9aV2hB
WXdtb3UvYnQ4LzAKSCtuU3BZc0VCQVJZdVFUSElvQUFBZ2dnZ0FBQ0NDQ0F3QjBRc0JTQW5EdDNU
a3FXTEdtNm4xZXVYTmtzczJyZHVyWHBhTDUwNlZJSgpDd3R6KzVhMTFPNlhYMzRwN2RxMWswYU5H
dG5QKytpamo2UlBuejZtbXBWOVp3WWIyN1p0a3c0ZE9vajIvQ2hZc0tCb1RvbDJhNTgzCmI1NDg4
c2dqR1p6SlJ3Z2dnQUFDQ0NDQUFBSUlJSENuQlN3RklIcHpiNzMxbHFsNnBRMEp0YytHNW43b0RJ
UjJQajl5NUlpNS8vWHIKMTB1ZE9uV2tVS0ZDTHA5SGwyQnAveEN0b0tXalpjdVcwck5uVDZsU3BZ
cXNXYk5HdEpTdk8wTVQzYldQU0tkT25hUjkrL2FtaDBqKwovUG5sMEtGRG9sM1dOUmVsY09IQzds
eUtZeEJBQUFFRUVFQUFBUVFRUU9BT0NGZ09RSFIyUVFNTVc2TkJ6Zm5ZdUhHanJGaXhRa2FNCkdH
RjZlWlFyVjg0c3BlcmJ0Mis2anpCMTZsVFR6UENubjM2U1ZhdFd5ZmZmZnk5YnRteVJHalZxeVBi
dDIwMjM5SFJQL3Y4ZjdOKy8KWDVZc1dTSkRoZ3hKYzZoZVU3dXhaOWFMSk0ySjdFQUFBUVFRUUFB
QkJCQkFBSUhiSm1BNUFORW1nVE5uemhSZlgxOXAwNmFOZE8zYQpOYzNOSFQxNjFNeUlhQUNRMGRE
bFV6cFRZaHRhSFV2TDgrcXlMcDNKeUd4b1Bvcm1mZWd5cnRSajJyUnBwbUhpZ3c4K21Qb2ozaU9B
CkFBSUlJSUFBQWdnZ2dFQTJDVmdLUURSQXFGQ2hnanowMEVOeTZkSWwweFZkLzRHdkFZa3V3Ykl5
eG84ZmJ3SU43YXJ1T0M1ZXZKanUKMGkzSDQyemIycmhRbDI5cEIzWE5BWW1QanplVnRPYk9uU3Q3
OXV5eGRDM2JOWGxGQUFFRUVFQUFBUVFRUUFDQjJ5TmdLUUM1ZlBteQorY2UrSm8vcitQMzMzMlh5
NU1rbW1WeVhVQlV2WHR6dHUyemN1TEZadXFWVnNIVEdRLzgwc05GazlvaUlDTGV2bzBGR3g0NGRS
WmRqCmFmbGZYUkttOTdGZ3dZSU1lNUc0L1FVY2lBQUNDQ0NBQUFJSUlJQUFBcmRNd0ZJQW90LzZ3
UWNmeUJOUFBHR1N5RzEzb2JrYjJzUGoKdmZmZXMrMXk2L1czMzM2VE9YUG15UFRwMDBVVHlqVjVQ
Ry9ldktaUllXYkx0eHkvUVBOU2xpMWJaaS9EcTB2RDZDWGlLTVEyQWdnZwpnQUFDQ0NDQUFBS2VJ
V0FwQU5IWmhjV0xGNXQvN0d2SjNaQ1FFUHRUYUZMNU04ODg0M2I1WFB1Si85N1FhbGc2cTZKQlI5
R2lSVTNpCnVKYlRkV2RzMnJSSkdqUm9rT1pRM1YrcVZDblJjc0VNQkJCQUFBRUVFRUFBQVFRUThB
d0JTd0ZJY25LeVZLdFd6Y3hTbkR4NVVoNTQKNEFGNTdMSEg1SjU3N3BIRGh3L0wwS0ZEN1UrbHN4
THVKSkxiVC9qM2hpYVVheDhRelE5eGQyaVZxOTY5ZTZjcHQvdkREeitZKzlJZQpJWlVxVlhLcnFw
YTczOGx4Q0NDQUFBSUlJSUFBQWdnZ2tEVUJTd0dJZm9VbW5IZnUzTm4wL0lpT2poYXRpclYyN1Zx
VGY2R2xlWFg1ClUvUG16V1hEaGcwU0hoNXU2YTUwZVpjR01acnNuaTlmUHJmT3paVXJsemt1OVpJ
dFhkS2xPU0c2WDB2N1JrVkZTV0Jnb0Z2WDVDQUUKRUVBQUFRUVFRQUFCQkJDNFBRS1dBeEM5allT
RUJOUDB6M1pMbXB5K2J0MDZVMzFLR3hOcUh3K2RIZEgrSUs3R21UTm41SVVYWGpBegpFd01HRExC
WDBOTEtXcG9IRWhRVTVPbzBsL3RlZXVrbEdUbHlaSnBxVjE5OTlaVUVCQVJJdlhyMVRFQVRHUmtw
cjcvK3VzdHJzQk1CCkJCQkFBQUVFRUVBQUFRVHVqRURlckh4Ti9mcjFUZEs0YmZaQjh6VzBtN24r
NmRDbFdyb0VLcjJoc3hJNlE2SGR5djM4L014aE91dHgKL1BoeFM4R0hucWdCakt1TzZ6cURvak1n
T2xKU1VreFFaTjd3SHdRUVFBQUJCQkJBQUFFRUVNZzJnWXc3QmFaeld6cFRVYlZxVmZ1bgpjWEZ4
cHZ5dGJVZkpraVZkTmdlMGZaNlVsR1JLN1dyd29ZSElwRW1UekN5SU5pVjg3cm5uYkllNTlhcjVK
NjVHYUdpbzFLNWQyM3lrCnN5VGF2NFNCQUFJSUlJQUFBZ2dnZ0FBQzJTdVFwU1ZZR29Cb2RhbkV4
RVJ6OXhvRWJOMjYxVklmRUUwYzErcFY4K2JOTS9raVE0WU0KTVV1cE5NY2txOVcwMHFQTVNrSjhl
dGRpUHdJSUlJQUFBZ2dnZ0FBQ0NHUmRJRXN6SUZuL3V2K2VxUW5xbWhqdTQrTmpBcEJ4NDhhSgpM
dVZhdjM2OTJ3bm8vNzFheGx0V3EzRmxmRFUrUlFBQkJCQkFBQUVFRUVBQWdhd0taQ2tISkt0ZjVu
aWVkajFmdFdxVmZkZkZpeGRsCjlPalJvZ250MmhkRUd4SXlFRUFBQVFRUVFBQUJCQkJBSUdjSmVN
eS84aldSWEFNUUJnSUlJSUFBQWdnZ2dBQUNDT1JjZ1d4YmdyVjcKOTI3NTg4OC9jNjRzVDRZQUFn
Z2dnQUFDQ0NDQUFBSnBCTElsQURsMTZwUUVCd2ZMaEFrVDB0d1FPeEJBQUFFRUVFQUFBUVFRUUNE
bgpDbVRMRXF4U3BVckpwNTkrS2lFaElUbFhsaWREQUFFRUVFQUFBUVFRUUFDQk5BSlpDa0FLRml3
b3VvVEtOaG8zYm14dittZmJsOWxyCnIxNjlNanVFenhGQUFBRUVFRUFBQVFRUVFDQ0hDV1NwRDBn
T00rQnhFRUFBQVFRUVFBQUJCQkJBNEE0SldNNEJHVHQyckt4YnQrNE8KM1I1Zmd3QUNDQ0NBQUFJ
SUlJQUFBamxKd05JTWlDYVArL3Y3eTA4Ly9TUkJRVUU1eVlGblFRQUJCQkJBQUFFRUVFQUFnVHNn
WUdrRwp4TmZYVjBKRFExMEdIN3QyN1pLSEgzNVlZbUppN3NCdDh4VUlJSUFBQWdnZ2dBQUNDQ0R3
dnloZ0tRRFI1UFAwWmo1V3Jsd3BPM2Z1CmxNVEVSQWtMQzVQWTJOai9SUS91R1FFRUVFQUFBUVFR
UUFBQkJHNmpnS1VBUk85REsxNHRXTERBNlpaT25qd3BIM3p3Z1R6MzNIUFMKdTNkdnFWNjl1a3lm
UHQzcEdONGdnQUFDQ0NDQUFBSUlJSUFBQXBiTDhEN3l5Q1B5OXR0dnk2T1BQaW9OR3phVTVPUmtX
Ymh3b1p3KwpmVm9pSWlJUVJRQUJCQkJBQUFFRUVFQUFBUVRTRmJBOEE2SlhHajU4dUF3Yk5reVNr
cEpNUDVCT25Uckpqei8rS0dYS2xFbjNpL2dBCkFRUVFRQUFCQkJCQUFBRUVFTEE4QTJJamE5Q2dn
ZWlmcTZIN3IxMjc1dW9qOWlHQUFBSUlJSUFBQWdnZ2dJQVhDMWdxdzJ0ejJyQmgKZzJ6Y3VGSHEx
cTFyS2wvWjl2T0tBQUlJSUlBQUFnZ2dnQUFDQ0dRa1lIa0psaWFnYXluZVRaczJTYytlUFdYUW9F
RVpYWi9QRUVBQQpBUVFRUUFBQkJCQkFBQUc3Z09VQTVOZGZmeldsZHFPaW91VG8wYU5Tcmx3NWlZ
K1BGMjFTT0hqd1lHblJvb1ZNbVRMRi9nVnNJSUFBCkFnZ2dnQUFDQ0NDQUFBSTJBVXNCU0VwS2ls
U3NXRkY4Zkh6TStYbnk1SkdYWG5wSjVzMmJKN1ZyMXhZTlNvS0RnMlhKa2lXeVlzVUsKMjNmd2ln
QUNDQ0NBQUFJSUlJQUFBZ2dZQVVzQmlEWWkzTGR2bnhQZFR6LzlKSFBtekJGL2YzL1pzV09INlFj
U0hSMXRxbU01SGNnYgpCQkJBQUFFRUVFQUFBUVFROEhvQlN3R0l6bmo4OGNjZk1tYk1HTm03ZDY5
OCt1bW4wclJwVXpQcm9mMUIvUHo4N0tCNkxBTUJCQkJBCkFBRUVFRUFBQVFRUWNCU3dGSURvaVcr
KythWWtKQ1JJVUZDUVNVRHYwYU9IckZ5NTBnUWhZV0Zoc216Wk10TWpwSGp4NG83Znd6WUMKQ0ND
QUFBSUlJSUFBQWdnZ0lGa3F3NnR1T2hPaVM3THk1Y3RuWjlTWkVhMlMxYXhaTTVrd1lZTFRaL2FE
MkVBQUFRUVFRQUFCQkJCQQpBQUd2RmJBY2dMend3Z3NTR1JrcHVYTmJuanp4V21RZUhBRUVFRUFB
QVFRUVFBQUJCUDRqWURtS21EUnBrb1NIaDh2VnExZGRHbXBGCkxDM0p5MEFBQVFRUVFBQUJCQkJB
QUFFRVVndFlEa0QwQW0zYXRKSC8rNy8vazh1WEw2ZStubWd5ZXVmT25lWGt5Wk5wUG1NSEFnZ2cK
Z0FBQ0NDQ0FBQUlJZUxkQWxnS1FnSUFBRTRCRVJFVEl1WFBubkFSOWZYMmxWYXRXOHZiYmJ6dnQ1
dzBDQ0NDQUFBSUlJSUFBQWdnZwprS1VBNU1hTkc2SkJ5SWdSSTZSbno1NmkzZEVkaDNaSTM3cDFx
K011dGhGQUFBRUVFRUFBQVFRUVFBQUJ5V3ZWSUgvKy9LTE5CeHMyCmJHaUNrQmt6WmtpM2J0MGtK
Q1RFTE0xYXZYcTE2WXpldFd0WHE1Zm1lQVFRUUFBQkJCQkFBQUVFRU1qaEFwWm5RSTRmUHk3WHIx
ODMKWlhqVnBreVpNdkxOTjkrWXhvUmFmdmUxMTE0enpRbkhqaDJidytsNFBBUVFRQUFCQkJCQUFB
RUVFTEFxWUxrTWIwWmZvTDFCTGx5NApJR1hMbHMzb01ENURBQUVFRUVBQUFRUVFRQUFCTHhYSVVn
Q2lKWGpYcmwxck9xSlhxMVpON3IvL2ZpbGZ2cnlYRXZMWUNDQ0FBQUlJCklJQUFBZ2dnNEs2QTVS
eVF1WFBueXNTSkU2VllzV0p5OE9CQk9YVG9rR2hTK2pQUFBDTzY3S3BreVpMdWZqZkhJWUFBQWdn
Z2dBQUMKQ0NDQWdKY0pXTW9CMFVCRHExc2xKQ1JJYkd5c0hEaHdRTTZlUFN0RGh3NlZtVE5uaXM2
RzdOcTF5OHNJZVZ3RUVFQUFBUVFRUUFBQgpCQkJ3VjhEU0RFaEtTb29FQmdaS3JseTU3TmN2VXFT
SXZQUE9PNUtjbkN5WExsMlNSeDk5MUFRb3hZc1h0eC9EQmdJSUlJQUFBZ2dnCmdBQUNDQ0NnQXBa
bVFBb1hMaXh4Y1hHU2xKU1VSaTkzN3R6eTdydnZTcjkrL2FSNzkrNm1VbGFhZzlpQkFBSUlJSUFB
QWdnZ2dBQUMKWGkxZ2FRWkVwWjU0NGdtcFhidTJkTzdjV1ZxMGFDSDE2dFVUN2YyeGUvZHVVLzNx
NVpkZmxsT25Uc21XTFZ1a2Z2MzZYbzNMd3lPQQpBQUlJSUlBQUFnZ2dnSUN6UUphcVlNMlpNMGRl
ZlBGRisweElnUUlGWk1HQ0JkS3hZMGR6ZFYyS3RYRGhRdW5WcTVmenQvRU9BUVFRClFBQUJCQkJB
QUFFRXZGb2dTd0dJaW1tL2o4MmJOOHVaTTJmTVRFZUZDaFdjSUwvOTlsdHAxNjZkMHo3ZUlJQUFB
Z2dnZ0FBQ0NDQ0EKZ0hjTFpEa0F5WXhObDJHVktsVXFzOFA0SEFFRUVFQUFBUVFRUUFBQkJMeEk0
TFlGSUY1a3lLTWlnQUFDQ0NDQUFBSUlJSUNBbXdLVwpxbUM1ZVUwT1F3QUJCQkJBQUFFRUVFQUFB
UVJjQ2xnT1FDNWV2T2p5UXV4RUFBRUVFRUFBQVFRUVFBQUJCRElUc0J5QWpCbzFTclFqCk9nTUJC
QkJBQUFFRUVFQUFBUVFRc0NwZ09RZEV1NkFIQlFWSmFHaW90R25UUmhvM2JpdytQajVXdjVmakVV
QUFBUVFRUUFBQkJCQkEKd0FzRkxNK0E1TTJiVis2NjZ5NTU3NzMzcEdYTGxsS2lSQW5wMEtHRHZQ
LysrN0pueng0NzRaSWxTK3piYkNDQUFBSUlJSUFBQWdnZwpnQUFDS21DNUUzcEVSSVFKUHM2ZE95
ZmZmLys5UkVkSFMxUlVsQ3hmdnR5SUJnUUVpUFlFMFk3cERBUVFRQUFCQkJCQUFBRUVFRURBClVj
RHlETWpWcTFmTitVV0xGcFhISG50TXBrMmJKbUZoWVdiMkl6SXlVb0tEZzJYYnRtMk8zOEUyQWdn
Z2dBQUNDQ0NBQUFJSUlHQUUKTEFjZ2UvZnVOVjNRSGYzV3JGa2pWYXRXbFlFREI1cVprQjkvL0pG
RWRVY2d0aEZBQUFFRUVFQUFBUVFRUU1BSVdBNUFxbFdySmc4OQo5SkJNbmp4Wk5OQjQ4ODAzNWVE
Qmc3Smp4dzQ3YVVwS2l2ajYrdHJmczRFQUFnZ2dnQUFDQ0NDQUFBSUlxSURsS2xqSGpoMlRoZzBi
Cnl2SGp4NDFnZ1FJRlpNV0tGZEszYjE4Wk5teVkrUG41aVM3RkdqbHlwRFJyMWd4bEJCQkFBQUVF
RUVBQUFRUVFRTUF1WURrSlhSUE0KTjIzYUpETm56cFNDQlF0Szc5NjlUZENobGJENjlldG5MbHkv
Zm4wVHBOaS9oUTBFRUVBQUFRUVFRQUFCQkJCQTROOENsbWRBMGxQVAo1b1NyVnEyUzgrZlBTMGhJ
Q0V1dzBvTmlQd0lJSUlBQUFnZ2dnQUFDWGl4Z09RQ0pqNDhYN1FWU3AwNGR5Wk1uanhmVDhlZ0lJ
SUFBCkFnZ2dnQUFDQ0NCZ1ZjQlNBSEw2OUdtcFZLbVNhQ25lUW9VS1NmUG16YVZWcTFhbUlhRld3
WEljbHk5ZkZzMFBZU0NBQUFJSUlJQUEKQWdnZ2dBQUNOZ0ZMVmJBMHdYek1tREZ5NnRRcG1UOS92
Z1FHQnNySEgzOHNRVUZCb2cwSU5SRjk3dHk1Y3ZUb1VaTWpZdnNTWGhGQQpBQUVFRUVBQUFRUVFR
QUFCRmJBMEE2SW5YTGx5UldKaVlpUTBORlRmbW5IbXpCbUppNHVUNzc3N3p2enQyN2RQMnJScFk2
cGoyWTdoCkZRRUVFRUFBQVFRUVFBQUJCQkRJVWdDeWZQbHkyYjU5dTJpMXE3WnQyNmJKQmRFWmtL
MWJ0MHFuVHAwUVJnQUJCQkJBQUFFRUVFQUEKQVFUc0FwWURrSTRkTzRwMlE5ZG1neWRPbkpBR0RS
cklyRm16ekhJcysxWFpRQUFCQkJCQUFBRUVFRUFBQVFSY0NGaktBVGw3OXF4WgpXcVVCaURZaVBI
ejRzRFJ1M0ZqYXQyOXY4a0pjWEo5ZENDQ0FBQUlJSUlBQUFnZ2dnSUJkd0ZJQW9wV3YvUDM5N1Nk
cjR2bjQ4ZU5sCjl1elpNbnIwYVB0K05oQkFBQUVFRUVBQUFRUVFRQUFCVndLV0FoQWZIeCtUMjdG
cjF5Nm5hK2t5TE8wTGN2MzZkYWY5dkVFQUFRUVEKUUFBQkJCQkFBQUVFSEFVc0JTQjY0dENoUTZW
SGp4N21WWmRpMllZdXh5SUFzV253aWdBQ0NDQ0FBQUlJSUlBQUFxNEVMQWNneFlvVgprK2pvYVBu
NTU1K2xldlhxVXFSSUVTbGR1clNjUDMvZWRFaDM5U1hzUXdBQkJCQkFBQUVFRUVBQUFRUlV3SElW
TEVlMkxWdTJ5T2JOCm02Vm16WnJTcUZFanlaVXJsK1BIYkNPQUFBSUlJSUFBQWdnZ2dBQUNUZ0tX
QXhCZFpyVm16UnFKajQrWFdyVnFTWXNXTFNSLy92eE8KRitVTkFnZ2dnQUFDQ0NDQUFBSUlJT0JL
d0hJQTByMTdkNG1LaWpMTHJrNmVQQ20xYTljMlZiQ0NnNE5kWFo5OUNDQ0FBQUlJSUlBQQpBZ2dn
Z0lCZHdGSU9TSEp5c2h3NWNrU1NrcExrdDk5K00za2Y0ZUhoRWhZV0pvbUppZmFMc29FQUFnZ2dn
QUFDQ0NDQUFBSUl1Qkt3CkZJQVVMbHhZdW5YckpuNStmdVphdnI2KzByOS9mL242NjY5bDBxUkpy
cTdQUGdRUVFBQUJCQkJBQUFFRUVFREFMbUFwQU5GY2ozejUKOHNtMWE5ZnNGOUNOQ2hVcWlDN0J1
bkhqaHROKzNpQ0FBQUlJSUlBQUFnZ2dnQUFDamdLV0FoQTlVWmRiclZxMXl2RWFNbTdjT0ZPVwox
MmtuYnhCQUFBRUVFRUFBQVFRUVFBQ0JWQUtXQXhCZGhxV1ZyeHpIL3YzN3pRd0laWGdkVmRoR0FB
RUVFRUFBQVFRUVFBQ0IxQUtXCnEyQnBGL1NXTFZ1YUlLUlNwVXFwcjhkN0JCQkFBQUVFRUVBQUFR
UVFRQ0JkQWNzeklPWEtsWk1wVTZaSTVjcVZKVEF3VUo1NzdqbjUKNG9zdlJDdGtPWTVUcDA0NXZt
VWJBUVFRUUFBQkJCQkFBQUVFRU1oNkozUU5PTHAyN1dxV1hzWEd4b291dzlLZUlMbzg2NkdISGpJ
NQpJY09HRFlNWUFRUVFRQUFCQkJCQUFBRUVFTEFMV0o0QjBVcFhPdVB4eUNPUG1HN285OTEzbit6
WnMwY09IVG9rRVJFUmN1ellNZEhlCklOSFIwZll2WVFNQkJCQkFBQUVFRUVBQUFRUVFVQUZMT1NC
WHJsd3grUjg2MjZIQnhyUFBQaXM3ZHV5UXk1Y3Z5ejMzM0NNMWF0UXcKcWhxazZERlZxMVpGR1FF
RUVFQUFBUVFRUUFBQkJCQ3dDMWdLUU02ZlB5K3RXcldTdUxnNEtWaXdvUDBpbWhPeWVQRmlpWW1K
c2U5agpBd0VFRUVBQUFRUVFRQUFCQkJCSUxXQnBDWmFXNFAzNDQ0OWwrL2J0VHRjWk1HQ0FWS2xT
eFdrZmJ4QkFBQUVFRUVBQUFRUVFRQUNCCjFBSjVVKy9JNlAyWk0yZGs3Tml4b3VWM0F3SUNwSHo1
OHZiRFgzNzVaZnMyR3dnZ2dBQUNDQ0NBQUFJSUlJQ0FLd0ZMQVVqdTNMbEYKOHpzR0R4NHNmbjUr
NW5xNkxPdjQ4ZU5TdlhwMVY5ZG5Id0lJSUlBQUFnZ2dnQUFDQ0NCZ0Y3QzBCQ3NwS2Nra24ydndv
WUhJcEVtVAp6Q3hJblRwMVREOFErMVhaUUFBQkJCQkFBQUVFRUVBQUFRUmNDRmdLUUxTcTFiUnAw
MHdqd3FaTm04cWdRWU9rZi8vK2N2YnNXYWxWCnE1Yjg5ZGRmTHI2Q1hRZ2dnQUFDQ0NDQUFBSUlJ
SURBZndRc0JTQjZpdmI0aUlxS0VoOGZIOW13WVlPTUd6ZE9DaFFvSU92WHI1ZDgKK2ZMaGlnQUND
Q0NBQUFJSUlJQUFBZ2lrSzJDcERLK3JxMXk4ZUZGR2p4NHRlL2Z1bGZuejUwdmV2SmJTU2x4ZGtu
MElJSUFBQWdnZwpnQUFDQ0NDUVF3VnVPZ0RKb1M0OEZnSUlJSUFBQWdnZ2dBQUNDTndHQWN0THNH
N0RQWEJKQkJCQUFBRUVFRUFBQVFRUThCSUJBaEF2CithRjVUQVFRUUFBQkJCQkFBQUVFUEVHQUFN
UVRmZ1h1QVFFRUVFQUFBUVFRUUFBQkx4RWdBUEdTSDVySFJBQUJCQkJBQUFFRUVFREEKRXdRSVFE
emhWK0FlRUVBQUFRUVFRQUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFRUVBQUFRUThRWUFBeEJO
K0JlNEJBUVFRUUFBQgpCQkJBQUFFdkVTQUE4WklmbXNkRUFBRUVFRUFBQVFRUVFNQVRCQWhBUE9G
WDRCNFFRQUFCQkJCQUFBRUVFUEFTQVFJUUwvbWhlVXdFCkVFQUFBUVFRUUFBQkJEeEJnQURFRTM0
RjdnRUJCQkJBQUFFRUVFQUFBUzhSSUFEeGtoK2F4MFFBQVFRUVFBQUJCQkJBd0JNRUNFQTgKNFZm
Z0hoQkFBQUVFRUVBQUFRUVE4QklCQWhBdithRjVUQVFRUUFBQkJCQkFBQUVFUEVHQUFNUVRmZ1h1
QVFFRUVFQUFBUVFRUUFBQgpMeEVnQVBHU0g1ckhSQUFCQkJCQUFBRUVFRURBRXdRSVFEemhWK0Fl
RUVBQUFRUVFRQUFCQkJEd0VnRUNFQy81b1hsTUJCQkFBQUVFCkVFQUFBUVE4UVlBQXhCTitCZTRC
QVFRUVFBQUJCQkJBQUFFdkVTQUE4WklmbXNkRUFBRUVFRUFBQVFRUVFNQVRCQWhBUE9GWDRCNFEK
UUFBQkJCQkFBQUVFRVBBU0FRSVFML21oZVV3RUVFQUFBUVFRUUFBQkJEeEJnQURFRTM0RjdnRUJC
QkJBQUFFRUVFQUFBUzhSSUFEeApraCtheDBRQUFRUVFRQUFCQkJCQXdCTUVDRUE4NFZmZ0hoQkFB
QUVFRUVBQUFRUVE4QklCQWhBdithRjVUQVFRUUFBQkJCQkFBQUVFClBFR0FBTVFUZmdYdUFRRUVF
RUFBQVFRUVFBQUJMeEVnQVBHU0g1ckhSQUFCQkJCQUFBRUVFRURBRXdRSVFEemhWK0FlRUVBQUFR
UVEKUUFBQkJCRHdFZ0VDRUMvNW9YbE1CQkJBQUFFRUVFQUFBUVE4UVlBQXhCTitCZTRCQVFRUVFB
QUJCQkJBQUFFdkVTQUE4WklmbXNkRQpBQUVFRUVBQUFRUVFRTUFUQkFoQVBPRlg0QjRRUUFBQkJC
QkFBQUVFRVBBU0FRSVFML21oZVV3RUVFQUFBUVFRUUFBQkJEeEJnQURFCkUzNEY3Z0VCQkJCQUFB
RUVFRUFBQVM4UklBRHhraCtheDBRQUFRUVFRQUFCQkJCQXdCTUVDRUE4NFZmZ0hoQkFBQUVFRUVB
QUFRUVEKOEJJQkFoQXYrYUY1VEFRUVFBQUJCQkJBQUFFRVBFR0FBTVFUZmdYdUFRRUVFRUFBQVFR
UVFBQUJMeEVnQVBHU0g1ckhSQUFCQkJCQQpBQUVFRUVEQUV3UUlRRHpoVitBZUVFQUFBUVFRUUFB
QkJCRHdFZ0VDRUMvNW9YbE1CQkJBQUFFRUVFQUFBUVE4UVlBQXhCTitCZTRCCkFRUVFRQUFCQkJC
QUFBRXZFU0FBOFpJZm1zZEVBQUVFRUVBQUFRUVFRTUFUQkFoQVBPRlg0QjRRUUFBQkJCQkFBQUVF
RVBBU0FRSVEKTC9taGVVd0VFRUFBQVFRUVFBQUJCRHhCNFA4QkdEUzdPd2E0Qk9ZQUFBQUFTVVZP
Uks1Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2Jv
eC1zaGFkb3ctaC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhK
dlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6
Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dL
aEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0ln
QWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVh
MlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUv
VGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllP
a0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAK
K0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0x
eE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hO
TEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFy
OGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VY
cTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6
czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRv
cm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQ
VlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtG
bHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMw
NVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBw
bGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUz
ZEI1QmNXWFV3NER2U1NDdU5wRVVTUVdSWVlNdkVBcFlsbS8yaFRBNkdJbTloVTRCTk1CaWJaTE5R
SnBZQnJ3R1QKVEN3YkV3cE1jaEVNYXlqeWttRlpjR0V5bU1KRUVTUjVSOUpvbGZydjg4UWQ5NDVH
VWsvc2UyOS9yNnJWNllWenYvUFUvYzdjZDE5UAo5UHBUTWhFZ1FJQUFBUUlFQ0JBZ1FHQVZCTmFz
d2pac2dnQUJBZ1FJRUNCQWdBQUJBcDJBQXNTT1FJQUFBUUlFQ0JBZ1FJREFxZ2tvClFGYU4yb1lJ
RUNCQWdBQUJBZ1FJRUZDQTJBY0lFQ0JBZ0FBQkFnUUlFRmcxQVFYSXFsSGJFQUVDQkFnUUlFQ0FB
QUVDQ2hEN0FBRUMKQkFnUUlFQ0FBQUVDcXlhZ0FGazFhaHNpUUlBQUFRSUVDQkFnUUVBQlloOGdR
SUFBQVFJRUNCQWdRR0RWQkJRZ3EwWnRRd1FJRUNCQQpnQUFCQWdRSUtFRHNBd1FJRUNCQWdBQUJB
Z1FJckpxQUFtVFZxRzJJQUFFQ0JBZ1FJRUNBQUFFRmlIMkFBQUVDQkFnUUlFQ0FBSUZWCkU1aGN6
SlltSmlZV3M5aXFMZFByOVZadFd6WkVnQUFCQW9zVDhGMnlPTGZhbHNyZnlZUDM4WGp3K1NqYmxQ
ZkR1TSszaUdmdzlWSEcKWjlzRVdoUllWQUhTSW9RMkVTQkFnQUFCQXNzcmtJdU1vMGVQcG53N2N1
UklpbHM4SHl4RWxuZkx3Njh0RngxcjFxeEphOWV1N1c3eApPTjhpeGx5TURMOVdjeElnY0RJQkJj
akpkTHhIZ0FBQkFnUUlMRWtnQ28wb09BNGZQcHdPSGp3NGU0dm5nNFhJa2pheXlJV2pzTWlGCngr
VGtaRnEvZnYzc0xaN0hGTytiQ0JCWVhnRUZ5UEo2V2hzQkFnUUlFQ0R3TzRIb1BZZ0NKSXFOQXdj
T3BQMzc5NmQ5Ky9aMXQzaCsKNk5DaDJTSmtGR2k1K0ZpM2JsM2FzR0ZEMnJScFUzZWJtcHJxbnVm
ZUVUMGdvOGlPYmJZc29BQnBPYnZhUm9BQUFRSUVSaWlRQzVEbworWWppWTgrZVBXblhybDNkL2ZU
MGRGZVVSQkVTUmNvb3BpaEFjdkd4WmN1V3RIWHIxclI5Ky9ZdWxGeWM2QUVaUldac3MzV0JpZjZI
Cnc0SkhiTS8zbDRCZTcrbUZXLzFkNGZHMUZONTVoVGZHdnJCNkNiSXZySjUxNlZzcWUxK1ltRGov
T01CRmZEMGV0NDV4ZnlHZmRyVjMKNzk2MGUvZnV0SFBuem5UT09SY1V6WExoaGZkTU8zYnNTTnUy
YlV1Yk4yL3VUc25LcDJNVkhiamdDRlFrNE1UR2lwSWxWQUlFQ0JBZwpVSk5BRkhFeHppTjZRT0xV
cStnQktYMktHQ1BXaURsaVY0aVduakh4MVNpZ0FLa3hhMkltUUlBQUFRSVZDTVRCKytBWWtPZ0pL
WDJLCkdHTjhTdlRlUk93S2tOSXpKcjRhQlJRZ05XWk56QVFJRUNCQW9CS0IzQXNTWXoxbVptYUtq
enBpeklQakZSL0ZwMHVBbFFvb1FDcE4KbkxBSkVDQkFnRUFOQXJrWEpGK0t0L1NZUzdnOGNPbEc0
aU93VkFFRnlGSUZ4M3o1d1VzVTVzZGpUcUw1RlFua2ZYYnd2cUx3aFVxZwplSUhjZ3pCWWhKUWU5
TnpmSnNsdEtEMXU4UkdvU1VBQlVsTzJ4RXFBQUFFQ0JBZ1FJRUNnY2dFRlNPVUpGRDRCQWdRSUVD
QkFnQUNCCm1nUVVJRFZsUzZ3RUNCQWdRSUFBQVFJRUtoZFFnRlNlUU9FVElFQ0FBQUVDQkFnUXFF
bEFBVkpUdHNSS2dBQUJBZ1FJRUNCQW9ISUIKQlVqbENSUStBUUlFQ0JBZ1FJQUFnWm9FRkNBMVpV
dXNCQWdRSUVDQUFBRUNCQ29YVUlCVW5rRGhFeUJBZ0FBQkFnUUlFS2hKUUFGUwpVN2JFU29BQUFR
SUVDQkFnUUtCeUFRVkk1UWtVUGdFQ0JBZ1FJRUNBQUlHYUJCUWdOV1ZMckFRSUVDQkFnQUFCQWdR
cUYxQ0FWSjVBCjRSTWdRSUFBQVFJRUNCQ29TVUFCVWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGU09V
SkZENEJBZ1FJRUNCQWdBQ0JtZ1FVSURWbFM2d0UKQ0JBZ1FJQUFBUUlFS2hkUWdGU2VRT0VUSUVD
QUFBRUNCQWdRcUVsQUFWSlR0c1JLZ0FBQkFnUUlFQ0JBb0hJQkJVamxDUlErQVFJRQpDQkFnUUlB
QWdab0VGQ0ExWlV1c0JBZ1FJRUNBQUFFQ0JDb1hVSUJVbmtEaEV5QkFnQUFCQWdRSUVLaEpRQUZT
VTdiRVNvQUFBUUlFCkNCQWdRS0J5QVFWSTVRa1VQZ0VDQkFnUUlFQ0FBSUdhQkJRZ05XVkxyQVFJ
RUNCQWdBQUJBZ1FxRjFDQVZKNUE0Uk1nUUlBQUFRSUUKQ0JDb1NVQUJVbE8yeEVxQUFBRUNCQWdR
SUVDZ2NnRUZTT1VKRkQ0QkFnUUlFQ0JBZ0FDQm1nUVVJRFZsUzZ3RUNCQWdRSUFBQVFJRQpLaGRR
Z0ZTZVFPRVRJRUNBQUFFQ0JBZ1FxRWxBQVZKVHRzUktnQUFCQWdRSUVDQkFvSEtCUlJVZ3ZWNHZ6
YjFWN2lCOEFnUUlFQmhqCmdibmZhZkhjdEhTQmlZbUpiaVZ4djJiTm1yUjI3ZHFscjNTRjF4QXhS
cXlEc2Evd0pxMmV3TmdKTEtvQUdUc2xEU1pBZ0FBQkFnUVcKSlRCWWZFeE9UaTVxSGF1NVVNUTR0
d2haemUzYkZvRnhFRkNBakVPV3RaRUFBUUlFQ0l4SUlBcVFPS0JmdDI1ZDJyaHg0NGlpR0g2egpF
V1BFR2pIblhwRGhselluQVFMRENDaEFobEV5RHdFQ0JBZ1FJTEJnZ2R6N0ViMEtHelpzU0pzM2Ix
N3dPbFo3Z1lneFlvMllCMC9GCld1MDRiSTlBeXdJS2tKYXpxMjBFQ0JBZ1FHQ0VBcm4zWS8zNjlX
blRwazFwNjlhdEk0eG11RTFIakJGcnhLd1haRGd6Y3hGWXFNQkUKZjZDZGtYWUxWVFAvckVEcDNk
TjI3OWxVRmZQQVBsTk1LZ1JDWU1VRmpodzVrZzRmUHB4bVptYlMzcjE3MDU0OWU5S3VYYnU2Kytu
cAo2WFRnd0lGMDZOQ2hkUFRvMFJXUFpiNE5SQTlIbkc0VlBSNWJ0bXpwQ3FUdDI3ZDM5OUVURXFk
ajVURWg4eTN2TlFJRUZpZFEvbWl3CnhiWExVZ1FJRUNCQWdNQ0lCZklwV05HYk1EVTExVVVUQi94
eGNKK0xqeWhTUmxtQTVQRXBVWVJFejBmY0l0YUkyU2xZSTk2QmJMNVoKQVFWSXM2blZNQUlFQ0JB
Z01GcUJYSURrTVNCeFFKOVB4NHFla1Z4OGpLcTNPc2NYUlVqRUdMSGxtekVnbzkxM2JMMXRBUVZJ
Mi9uVgpPZ0lFQ0JBZ01GS0JLRHBpaW9QOU9OQ1BBL3pCd21OVXhVZEdpYmdHQzVHSU1XTE90enlm
ZXdJRWxrL0FHSkRsc3h6TE5jV0hkc25UCnFML1lTcllaVld6Mm1WSEoyeTZCMFFqa3orSEIrM2c4
K0h3MGtSM2JhdjVNaXZ0OGkzY0dYeDlsZkxaTm9FVUJCVWlMV2RVbUFnUUkKRUNCQWdBQUJBb1VL
dUF4dm9Za1JGZ0VDQkFnUUlFQ0FBSUVXQlJRZ0xXWlZtd2dRSUVDQUFBRUNCQWdVS3FBQUtUUXh3
aUpBZ0FBQgpBZ1FJRUNEUW9vQUNwTVdzYWhNQkFnUUlFQ0JBZ0FDQlFnVVVJSVVtUmxnRUNCQWdR
SUFBQVFJRVdoUlFnTFNZVlcwaVFJQUFBUUlFCkNCQWdVS2lBQXFUUXhBaUxBQUVDQkFnUUlFQ0FR
SXNDQ3BBV3M2cE5CQWdRSUVDQUFBRUNCQW9WVUlBVW1oaGhFU0JBZ0FBQkFnUUkKRUdoUllISXhq
WnFZbUZqTVlxdTJUSy9YVzdWdDJSQUJBZ1FJTEU3QWQ4bmkzR3BiS244bkQ5N0g0OEhubzJ4VDNn
L2pQdDhpbnNIWApSeG1mYlJOb1VXQlJCVWlMRU5wRWdBQUJBZ1FJTEs5QUxqS09IajJhOHUzSWtT
TXBidkY4c0JCWjNpMFB2N1pjZEt4WnN5YXRYYnUyCnU4WGpmSXNZY3pFeS9Gck5TWURBeVFRVUlD
ZlQ4UjRCQWdRSUVDQ3dKSUVvTktMZ09IejRjRHA0OE9Ec0xaNFBGaUpMMnNnaUY0N0MKSWhjZWs1
T1RhZjM2OWJPM2VCNVR2RzhpUUdCNUJSUWd5K3RwYlFRSUVDQkFnTUR2QktMM0lBcVFLRFlPSERp
UTl1L2ZuL2J0MjlmZAo0dm1oUTRkbWk1QlJvT1hpWTkyNmRXbkRoZzFwMDZaTjNXMXFhcXA3bm50
SDlJQ01JanUyMmJLQUFxVGw3R29iQVFJRUNCQVlvVUF1ClFLTG5JNHFQUFh2MnBGMjdkblgzMDlQ
VFhWRVNSVWdVS2FPWW9nREp4Y2VXTFZ2UzFxMWIwL2J0Mjd0UWNuR2lCMlFVbWJITjFnVW0KK2g4
T0N4NnhQZDlmQW5xOXB4ZHU5WGVGeDlkU2VPY1YzaGo3d3VvbHlMNndldGFsYjZuc2ZXRmk0dnpq
QUJmeDlYamNPc2I5aFh6YQoxZDY5ZTlQdTNidlR6cDA3MHpublhGQTB5NFVYM2pQdDJMRWpiZHUy
TFczZXZMazdKU3VmamxWMDRJSWpVSkdBRXhzclNwWlFDUkFnClFJQkFUUUpSeE1VNGorZ0JpVk92
b2dlazlDbGlqRmdqNW9oZElWcDZ4c1JYbzRBQ3BNYXNpWmtBQVFJRUNGUWdFQWZ2ZzJOQW9pZWsK
OUNsaWpQRXAwWHNUc1N0QVNzK1krR29VVUlEVW1EVXhFeUJBZ0FDQlNnUnlMMGlNOVppWm1Tays2
b2d4RDQ1WGZCU2ZMZ0ZXS3FBQQpxVFJ4d2laQWdBQUJBalVJNUY2UWZDbmUwbU11NGZMQXBSdUpq
OEJTQlJRZ1N4VWM4K1VITDFHWUg0ODVpZVpYSkpEMzJjSDdpc0lYCktvSGlCWElQd21BUlVuclFj
MytiSkxlaDlMakZSNkFtQVFWSVRka1NLd0VDQkFnUUlFQ0FBSUhLQlJRZ2xTZFErQVFJRUNCQWdB
QUIKQWdScUVsQ0ExSlF0c1JJZ1FJQUFBUUlFQ0JDb1hFQUJVbmtDaFUrQUFBRUNCQWdRSUVDZ0pn
RUZTRTNaRWlzQkFnUUlFQ0JBZ0FDQgp5Z1VVSUpVblVQZ0VDQkFnUUlBQUFRSUVhaEpRZ05TVUxi
RVNJRUNBQUFFQ0JBZ1FxRnhBQVZKNUFvVlBnQUFCQWdRSUVDQkFvQ1lCCkJVaE4yUklyQVFJRUNC
QWdRSUFBZ2NvRkZDQ1ZKMUQ0QkFnUUlFQ0FBQUVDQkdvU1VJRFVsQzJ4RWlCQWdBQUJBZ1FJRUto
Y1FBRlMKZVFLRlQ0QUFBUUlFQ0JBZ1FLQW1BUVZJVGRrU0t3RUNCQWdRSUVDQUFJSEtCUlFnbFNk
UStBUUlFQ0JBZ0FBQkFnUnFFbENBMUpRdApzUklnUUlBQUFRSUVDQkNvWEVBQlVua0NoVStBQUFF
Q0JBZ1FJRUNnSmdFRlNFM1pFaXNCQWdRSUVDQkFnQUNCeWdVVUlKVW5VUGdFCkNCQWdRSUFBQVFJ
RWFoSlFnTlNVTGJFU0lFQ0FBQUVDQkFnUXFGeEFBVko1QW9WUGdBQUJBZ1FJRUNCQW9DWUJCVWhO
MlJJckFRSUUKQ0JBZ1FJQUFnY29GRkNDVkoxRDRCQWdRSUVDQUFBRUNCR29TVUlEVWxDMnhFaUJB
Z0FBQkFnUUlFS2hjUUFGU2VRS0ZUNEFBQVFJRQpDQkFnUUtBbUFRVklUZGtTS3dFQ0JBZ1FJRUNB
QUlIS0JSUWdsU2RRK0FRSUVDQkFnQUFCQWdScUVsQ0ExSlF0c1JJZ1FJQUFBUUlFCkNCQ29YRUFC
VW5rQ2hVK0FBQUVDQkFnUUlFQ2dKZ0VGU0UzWkVpc0JBZ1FJRUNCQWdBQ0J5Z1VXVllEMGVyMDA5
MWE1Zy9BSkVDQkEKWUl3RjVuNm54WFBUMGdVbUppYTZsY1Q5bWpWcjB0cTFhNWUrMGhWZVE4UVlz
UTdHdnNLYnRIb0NZeWV3cUFKazdKUTBtQUFCQWdRSQpFRmlVd0dEeE1UazV1YWgxck9aQ0VlUGNJ
bVExdDI5YkJNWkJRQUV5RGxuV1JnSUVDQkFnTUNLQktFRGlnSDdkdW5WcDQ4YU5JNHBpCitNMUdq
QkZyeEp4N1FZWmYycHdFQ0F3am9BQVpSc2s4QkFnUUlFQ0F3SUlGY3U5SDlDcHMyTEFoYmQ2OGVj
SHJXTzBGSXNhSU5XSWUKUEJWcnRlT3dQUUl0Q3loQVdzNnV0aEVnUUlBQWdSRUs1TjZQOWV2WHAw
MmJOcVd0VzdlT01KcmhOaDB4UnF3UnMxNlE0Y3pNUldDaApBaFA5Z1haRzJpMVV6Znl6QXFWM1Q5
dTlaMU5WekFQN1RER3BFQWlCRlJjNGN1UklPbno0Y0pxWm1VbDc5KzVOZS9ic1NidDI3ZXJ1CnA2
ZW4wNEVEQjlLaFE0ZlMwYU5IVnp5VytUWVFQUnh4dWxYMGVHelpzcVVya0xadjM5N2RSMDlJbkk2
Vng0VE10N3pYQ0JCWW5FRDUKbzhFVzF5NUxFU0JBZ0FBQkFpTVd5S2RnUlcvQzFOUlVGMDBjOE1m
QmZTNCtva2daWlFHU3g2ZEVFUkk5SDNHTFdDTm1wMkNOZUFleQorV1lGRkNETnBsYkRDQkFnUUlE
QWFBVnlBWkxIZ01RQmZUNGRLM3BHY3ZFeHF0N3FIRjhVSVJGanhKWnZ4b0NNZHQreDliWUZGQ0J0
CjUxZnJDQkFnUUlEQVNBV2k2SWdwRHZialFEOE84QWNMajFFVkh4a2w0aG9zUkNMR2lEbmY4bnp1
Q1JCWVBnRmpRSmJQY2l6WEZCL2EKSlUrai9tSXIyV1pVc2RsblJpVnZ1d1JHSTVBL2h3ZnY0L0hn
ODlGRWRteXIrVE1wN3ZNdDNobDhmWlR4MlRhQkZnVVVJQzFtVlpzSQpFQ0JBZ0FBQkFnUUlGQ3Jn
TXJ5RkprWllCQWdRSUVDQUFBRUNCRm9VVUlDMG1GVnRJa0NBQUFFQ0JBZ1FJRkNvZ0FLazBNUUlp
d0FCCkFnUUlFQ0JBZ0VDTEFncVFGck9xVFFRSUVDQkFnQUFCQWdRS0ZWQ0FGSm9ZWVJFZ1FJQUFB
UUlFQ0JCb1VVQUIwbUpXdFlrQUFRSUUKQ0JBZ1FJQkFvUUlLa0VJVEl5d0NCQWdRSUVDQUFBRUNM
UW9vUUZyTXFqWVJJRUNBQUFFQ0JBZ1FLRlJBQVZKb1lvUkZnQUFCQWdRSQpFQ0JBb0VXQnljVTBh
bUppNHJqRmVyM2VjYTk1Z1FBQkFnUUkxQ0RnZTYyR0xJbVJBSUZXQlBTQXRKSko3U0JBZ0FBQkFn
UUlFQ0JRCmdZQUNwSUlrQ1pFQUFRSUVDQkFnUUlCQUt3SUtrRll5cVIwRUNCQWdRSUFBQVFJRUto
QlFnRlNRSkNFU0lFQ0FBQUVDQkFnUWFFVmcKb2o5NDNPanhWcktwSFFRSUVDQkFnQUFCQWdRS0Y5
QURVbmlDaEVlQUFBRUNCQWdRSUVDZ0pRRUZTRXZaMUJZQ0JBZ1FJRUNBQUFFQwpoUXNvUUFwUGtQ
QUlFQ0JBZ0FBQkFnUUl0Q1NnQUdrcG05cENnQUFCQWdRSUVDQkFvSEFCQlVqaENSSWVBUUlFQ0JB
Z1FJQUFnWllFCkZDQXRaVk5iQ0JBZ1FJQUFBUUlFQ0JRdW9BQXBQRUhDSTBDQUFBRUNCQWdRSU5D
U2dBS2twV3hxQ3dFQ0JBZ1FJRUNBQUlIQ0JSUWcKaFNkSWVBUUlFQ0JBZ0FBQkFnUmFFbENBdEpS
TmJTRkFnQUFCQWdRSUVDQlF1SUFDcFBBRUNZOEFBUUlFQ0JBZ1FJQkFTd0lLa0pheQpxUzBFQ0JB
Z1FJQUFBUUlFQ2hkUWdCU2VJT0VSSUVDQUFBRUNCQWdRYUVsQUFkSlNOcldGQUFFQ0JBZ1FJRUNB
UU9FQ0NwRENFeVE4CkFnUUlFQ0JBZ0FBQkFpMEpLRUJheXFhMkVDQkFnQUFCQWdRSUVDaGNRQUZT
ZUlLRVI0QUFBUUlFQ0JBZ1FLQWxBUVZJUzluVUZnSUUKQ0JBZ1FJQUFBUUtGQ3loQUNrK1E4QWdR
SUVDQUFBRUNCQWkwSktBQWFTbWIya0tBQUFFQ0JBZ1FJRUNnY0FFRlNPRUpFaDRCQWdRSQpFQ0JB
Z0FDQmxnUVVJQzFsVTFzSUVDQkFnQUFCQWdRSUZDNmdBQ2s4UWNJalFJQUFBUUlFQ0JBZzBKS0FB
cVNsYkdvTEFRSUVDQkFnClFJQUFnY0lGRkNDRkowaDRCQWdRSUVDQUFBRUNCRm9TVUlDMGxFMXRJ
VUNBQUFFQ0JBZ1FJRkM0Z0FLazhBUUpqd0FCQWdRSUVDQkEKZ0VCTEFncVFscktwTFFRSUVDQkFn
QUFCQWdRS0YxQ0FGSjRnNFJFZ1FJQUFBUUlFQ0JCb1NVQUIwbEkydFlVQUFRSUVDQkFnUUlCQQo0
UUlLa01JVEpEd0NCQWdRSUVDQUFBRUNMUWtvUUZyS3ByWVFJRUNBQUFFQ0JBZ1FLRnhBQVZKNGdv
UkhnQUFCQWdRSUVDQkFvQ1VCCkJVaEwyZFFXQWdRSUVDQkFnQUFCQW9VTEtFQUtUNUR3Q0JBZ1FJ
QUFBUUlFQ0xRa29BQnBLWnZhUW9BQUFRSUVDQkFnUUtCd0FRVkkKNFFrU0hnRUNCQWdRSUVDQUFJ
R1dCQlFnTFdWVFd3Z1FJRUNBQUFFQ0JBZ1VMcUFBS1R4QndpTkFnQUFCQWdRSUVDRFFrc0JrUzQz
UgpsdFVYbUppWU9HNmp2Vjd2dU5lOFFLQkVBZnR2aVZrUkV3RUNCQWkwTHFBSHBQVU1heDhCQWdR
SUVDQkFnQUNCZ2dRVUlBVWxReWdFCkNCQWdRSUFBQVFJRVdoZFFnTFNlWWUwalFJQUFBUUlFQ0JB
Z1VKQ0FBcVNnWkFpRkFBRUNCQWdRSUVDQVFPc0NFLzBCdzBZTXQ1NWwKN1NOQWdBQUJBZ1FJRUNC
UWlJQWVrRUlTSVF3Q0JBZ1FJRUNBQUFFQzR5Q2dBQm1ITEdzakFRSUVDQkFnUUlBQWdVSUVGQ0NG
SkVJWQpCQWdRSUVDQUFBRUNCTVpCUUFFeURsbldSZ0lFQ0JBZ1FJQUFBUUtGQ0NoQUNrbUVNQWdR
SUVDQUFBRUNCQWlNZzRBQ1pCeXlySTBFCkNCQWdRSUFBQVFJRUNoRlFnQlNTQ0dFUUlFQ0FBQUVD
QkFnUUdBY0JCY2c0WkZrYkNSQWdRSUFBQVFJRUNCUWlvQUFwSkJIQ0lFQ0EKQUFFQ0JBZ1FJREFP
QXBPTGFlVFpaNSs5bU1WV2JabUxMcnBvMWJabFF3UUlFQ0N3T0FIZkpZdHpxMjJwWHEvWGhUeDRu
eC9IRzRPUApSOUcyaVltSjJjM0c0L3g4N3Yzc1RCNFFJTEJrZ1VVVklFdmVxaFVRSUVDQUFBRUN6
UXZrNHVMbzBhTmRvUkgzY1R0eTVFajNQTjdQCjg0d0tJeGNkY2I5MjdkcTBaczJhN2hiUDQzSEVs
NHVSVWNWb3V3UmFFMUNBdEpaUjdTRkFnQUFCQWdVSkRCWWRodzRkU3ZrV1JVaCsKYjFSRlNDNHlv
dENJNG1QZHVuV3p0M2dlVTd4bklrQmdlUVVVSU12cmFXMEVDQkFnUUlEQTd3UnlEMGNVRzVkZWVt
azZjT0JBbXBtWgo2ZTdqK2VIRGgyZUxrRkdnNWQ2T3ljbkpkTnBwcDZVTkd6YWtqUnMzZHZmeFBB
b1VQU0NqeUl4dHRpNmdBR2s5dzlwSGdBQUJBZ1JHCkpCQUg3OUhMRWIwZVVYeE1UMCtuU3k2NXBM
dmZ2MzkvVjVSRUVUTEtIcEJjZkV4TlRhVXRXN2FrMDA4L3ZkUEt4WW5UcjBhMDg5aHMKMHdMTFZv
QmNkTkVqQ29MNngzbGkrZk41WHZQU3lnak01Nzh5VzFyY1d1MExpM05iekZMMmhjV290Ym5NOGZ0
Q1NkOGJaNS85cGpiWgpSOXlxd1FJa2VqNmkrRGpyck0rUE9LcVRiLzdpaTIrWG9pakpwMk01QmV2
a1h0NGxzQmdCSnpZdVJzMHlCQWdRSUVDQXdGQUNjZnJWCllBL0lVQXVOY0tib3BZbmVtb2c1WWpj
UklMRDhBZ3FRNVRlMVJnSUVDQkFnUUtBdkVEMGdjY3RqUUtJWHBQUXBZb3p4S1JGempyLzAKbU1W
SG9EWUJCVWh0R1JNdkFRSUVDQkNvU0NDZmhoVmpQYUpub2ZRcFlzeUQ0eU4yRXdFQ3l5K2dBRmwr
VTJza1FJQUFBUUlFZmllUQpDNUQ4K3grbHcwVFB4Nmd2RDF5NmtmZ0lMRlZnMlFhaEx6VVF5OWNw
TU44dkdaYzBzTFJPVlZHdmxzRDgrKzlGcTdWNTJ5SFF2RUR1ClFSZ3NRa3B2OU56aUk3ZWg5TGpG
UjZBbUFUMGdOV1ZMckFRSUVDQkFnQUFCQWdRcUYxQ0FWSjVBNFJNZ1FJQUFBUUlFQ0JDb1NVQUIK
VWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGU09VSkZENEJBZ1FJRUNCQWdBQ0JtZ1FVSURWbFM2d0VD
QkFnUUlBQUFRSUVLaGRRZ0ZTZQpRT0VUSUVDQUFBRUNCQWdRcUVsQUFWSlR0c1JLZ0FBQkFnUUlF
Q0JBb0hJQkJVamxDUlErQVFJRUNCQWdRSUFBZ1pvRUZDQTFaVXVzCkJBZ1FJRUNBQUFFQ0JDb1hV
SUJVbmtEaEV5QkFnQUFCQWdRSUVLaEpRQUZTVTdiRVNvQUFBUUlFQ0JBZ1FLQnlBUVZJNVFrVVBn
RUMKQkFnUUlFQ0FBSUdhQkJRZ05XVkxyQVFJRUNCQWdBQUJBZ1FxRjFDQVZKNUE0Uk1nUUlBQUFR
SUVDQkNvU1VBQlVsTzJ4RXFBQUFFQwpCQWdRSUVDZ2NnRUZTT1VKRkQ0QkFnUUlFQ0JBZ0FDQm1n
UVVJRFZsUzZ3RUNCQWdRSUFBQVFJRUtoZFFnRlNlUU9FVElFQ0FBQUVDCkJBZ1FxRWxBQVZKVHRz
UktnQUFCQWdRSUVDQkFvSElCQlVqbENSUStBUUlFQ0JBZ1FJQUFnWm9FRkNBMVpVdXNCQWdRSUVD
QUFBRUMKQkNvWFVJQlVua0RoRXlCQWdBQUJBZ1FJRUtoSlFBRlNVN2JFU29BQUFRSUVDQkFnUUtC
eUFRVkk1UWtVUGdFQ0JBZ1FJRUNBQUlHYQpCQlFnTldWTHJBUUlFQ0JBZ0FBQkFnUXFGMUNBVko1
QTRSTWdRSUFBQVFJRUNCQ29TVUFCVWxPMnhFcUFBQUVDQkFnUUlFQ2djZ0VGClNPVUpGRDRCQWdR
SUVDQkFnQUNCbWdRVUlEVmxTNndFQ0JBZ1FJQUFBUUlFS2hlWVhFejhGMTEwMFR5TC9lTThyM21K
QUFFQ0JBaVUKTHpELzkxcjVjWmNlNGNURVJCZGkzSzlaczZhN2xSNXpqbk13OXRKakZoK0IyZ1Qw
Z05TV01mRVNJRUNBQUlHS0JBYUxqN1ZyMXhZZgplY1E0dHdncFBtZ0JFcWhNUUFGU1djS0VTNEFB
QVFJRWFoTElCY2prNUdUYXNHRkQ4YUZIakJGckZDRzVGNlQ0b0FWSW9ESUJCVWhsCkNSTXVBUUlF
Q0JDb1JTQU80T01XdlFxbm5YWmEycmh4WS9HaFI0d1JhOFNjNHk4K2FBRVNxRXhBQVZKWndvUkxn
QUFCQWdScUVvZ0QKK1hYcjFuVzlIMXUyYkNrKzlJZ3hla0VpNW9qZFJJREE4Z3RNOVByVDhxL1dH
c2RGNE95enp5NjZxUWFXbHBjZSsweDVPUkVSZ1pVUwpPSExrU0lyYnBaZGVtdmJ2MzUrbXA2ZlRK
WmRjMHQzSDgzajk4T0hEYVZTSEl0SERFYWRiUlkvSDFOUlVpdUxqOU5OUDcrN2plZTRKClVZaXMx
QjVpdmVNcXNLaXJZSTBybG5ZVElFQ0FBQUVDd3d2RUFYNk1wY2c5SUxGa0hQREh3WDB1UG80ZVBa
cmlOb29wRHpiUFJVajAKZk1RcFdMa0h4RGlRVVdURk5zZEJRQUV5RGxuV1JnSUVDQkFnTUFLQlBJ
WWllaENpTnlFWEkzR1FIejBqdWZnWVpROUlMa0x5cVdKUgpMT1hUcjNMOEk2Q3pTUUpOQ3loQW1r
NnZ4aEVnUUlBQWdkRUt4QUYrVElPOUlWRjhSTkdSYjZPTU1CY1pjUjlGU0M1SWNyeWpqTTIyCkNi
UXFvQUJwTmJQYVJZQUFBUUlFUml3UUIvRlJaTVJCL2VCOW5QS1VwM2g5bEZQRW1LZDRuSi9QdmMv
enVDZEFZT2tDaXhxRW52OVQKTG4zeks3T0dVWCtZclV5cnJKVUFBUUp0Q2ZndWFTdWZKMnBOL2s0
ZXZJL0hnODlQdE94cXZKNzN3N2pQdDlqdTRPdXJFWWR0RUJnbgpnZi83RThRNHRWcGJDUkFnUUlB
QWdSVVh5RVZHSHVzUjkvbktXUEY0c0JCWjhXQk9zSUZjZEVRdlRaeUNOWGdhVnU2NXljWElDVmJo
ClpRSUVGaWlnQUZrZ21Oa0pFQ0JBZ0FDQjRRVnkwUkdYMnoxNDhPRHNMWjduZ2VpNVVCbCtyY3N6
WnhRV3VmQ0kwOExXcjE4L2U4dW4KaWNYN0pnSUVsbGRBQWJLOG50WkdnQUFCQWdRSS9FNGdDb3Nv
UUtMWU9IRGdRUGRiSVB2MjdVdHhpK2VIRGgyYUxVSkdnWmFMajN5Wgo0RTJiTnFXNHhXV0M0MUs4
dVhkRUQ4Z29zbU9iTFFzb1FGck9ycllSSUVDQUFJRVJDdVFDSkhvKzRvY0g5K3paazNidDJ0WGR4
NDhTCjVpSWtpcFJSVEZHQTVPSWpmb1J3NjlhdGFmdjI3VjBvdVRqUkF6S0t6TmhtNndMTE5naTkx
M3Q2NFZaL1YzaDhMWVYzWHVHTnNTK3MKWG9Mc0M2dG5YZnFXeXQ0WEppYk9QdzV3VktjRkhSZEl4
Uy9rMDY3Mjd0MmJkdS9lblhidTNKbk9PZWVDb2x0MDRZWDNURHQyN0VqYgp0bTFMbXpkdjdrN0p5
cWRqRlIyNDRBaFVKT0RFeG9xU0pWUUNCQWdRSUZDVFFCUnhNYzRqZWtEaXRLdm9BU2w5aWhnajFv
ZzUvMTVKCjZUR0xqMEJ0QWdxUTJqSW1YZ0lFQ0JBZ1VJbEFQZ1VyandHSm5wRFNwNGd4VGcyTG1Q
T1Z1a3FQV1h3RWFoTlFnTlNXTWZFU0lFQ0EKQUlHS0JISXZTQXc0bjVtWktUN3lpREVQam5jYVh2
SHBFbUNsQWdxUVNoTW5iQUlFQ0JBZ1VJTkE3Z1dKMDVtaVY2SDBLV0ljOWVXQgpTemNTSDRHbENp
aEFsaW80NXNzUFhxSXdQeDV6RXMydlNDRHZzNFAzRllVdlZBTEZDK1FlaE1FaXBQU2c1eFlmdVEy
bHh5MCtBalVKCktFQnF5cFpZQ1JBZ1FJQUFBUUlFQ0ZRdW9BQ3BQSUhDSjBDQUFBRUNCQWdRSUZD
VGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbEFncVEKeWhNb2ZBSUVDQkFnUUlBQUFRSTFDU2hBYXNx
V1dBa1FJRUNBQUFFQ0JBaFVMcUFBcVR5QndpZEFnQUFCQWdRSUVDQlFrNEFDcEtacwppWlVBQVFJ
RUNCQWdRSUJBNVFJS2tNb1RLSHdDQkFnUUlFQ0FBQUVDTlFrb1FHcktsbGdKRUNCQWdBQUJBZ1FJ
VkM2Z0FLazhnY0luClFJQUFBUUlFQ0JBZ1VKT0FBcVNtYkltVkFBRUNCQWdRSUVDQVFPVUNDcERL
RXloOEFnUUlFQ0JBZ0FBQkFqVUpLRUJxeXBaWUNSQWcKUUlBQUFRSUVDRlF1b0FDcFBJSENKMENB
QUFFQ0JBZ1FJRkNUZ0FLa3BteUpsUUFCQWdRSUVDQkFnRURsQWdxUXloTW9mQUlFQ0JBZwpRSUFB
QVFJMUNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxxQUFxVHlCd2lkQWdBQUJBZ1FJRUNCUWs0QUNw
S1pzaVpVQUFRSUVDQkFnClFJQkE1UUlLa01vVEtId0NCQWdRSUVDQUFBRUNOUWtvUUdyS2xsZ0pF
Q0JBZ0FBQkFnUUlWQzZnQUtrOGdjSW5RSUFBQVFJRUNCQWcKVUpPQUFxU21iSW1WQUFFQ0JBZ1FJ
RUNBUU9VQ0NwREtFeWg4QWdRSUVDQkFnQUFCQWpVSktFQnF5cFpZQ1JBZ1FJQUFBUUlFQ0ZRdQpv
QUNwUElIQ0owQ0FBQUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdFRGxBZ3FReWhNb2ZB
SUVDUERlUS84QUFDQUFTVVJCClZCQWdRSUFBQVFJMUNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxy
Q29BcVRYNjZXNXQ4b2RoRStBQUFFQ1l5d3c5enN0bnB1V0xqQXgKTWRHdEpPN1hyRm1UMXE1ZHUv
U1ZydkFhSXNhSWRURDJGZDZrMVJNWU80RkZGU0JqcDZUQkJBZ1FJRUNBd0tJRUJvdVB5Y25KUmEx
agpOUmVLR09jV0lhdTVmZHNpTUE0Q0NwQnh5TEkyRWlCQWdBQ0JFUWxFQVJJSDlPdldyVXNiTjI0
Y1VSVERielppakZnajV0d0xNdnpTCjVpUkFZQmdCQmNnd1N1WWhRSUFBQVFJRUZpeVFleitpVjJI
RGhnMXA4K2JOQzE3SGFpOFFNVWFzRWZQZ3FWaXJIWWZ0RVdoWlFBSFMKY25hMWpRQUJBZ1FJakZB
ZzkzNnNYNzgrYmRxMEtXM2R1bldFMFF5MzZZZ3hZbzJZOVlJTVoyWXVBZ3NWbU9nUHREUFNicUZx
NXA4VgpLTDE3MnU0OW02cGlIdGhuaWttRlFBaXN1TUNSSTBmUzRjT0gwOHpNVE5xN2QyL2FzMmRQ
MnJWclYzYy9QVDJkRGh3NGtBNGRPcFNPCkhqMjY0ckhNdDRIbzRZalRyYUxIWTh1V0xWMkJ0SDM3
OXU0K2VrTGlkS3c4Sm1TKzViMUdnTURpQk1vZkRiYTRkbG1LQUFFQ0JBZ1EKR0xGQVBnVXJlaE9t
cHFhNmFPS0FQdzd1Yy9FUlJjb29DNUE4UGlXS2tPajVpRnZFR2pFN0JXdkVPNUROTnl1Z0FHazJ0
UnBHZ0FBQgpBZ1JHSzVBTGtEd0dKQTdvOCtsWTBUT1NpNDlSOVZibitLSUlpUmdqdG53ekJtUzAr
NDZ0dHkyZ0FHazd2MXBIZ0FBQkFnUkdLaEJGClIweHhzQjhIK25HQVAxaDRqS3I0eUNnUjEyQWhF
akZHelBtVzUzTlBnTUR5Q1JnRHNueVdZN21tK05BdWVScjFGMXZKTnFPS3pUNHoKS25uYkpUQWFn
Znc1UEhnZmp3ZWZqeWF5WTF2Tm4wbHhuMi94enVEcm80elB0Z20wS0xDb0hwRDhuN0pVa1B5aFZt
cDhMY1hGdXFWcwpyazViN0RPcjQxekRWbnlYMUpBbE1SSWdRR0Q1QlJaVmdDeC9HTlpJZ0FBQkFn
UUl0Q2FRLytBUWc4enpMVTYvcXVrVXJHaEQ2Y1Z5CmEvdU45clF2b0FCcFA4ZGFTSUFBQVFJRVJp
WVFoVWNVSERIby9PREJnN08zR2dhaEIxb2V3ekl5UUJzbTBLQ0FBcVRCcEdvU0FRSUUKQ0JBb1FT
QjZENklBaVdJakxydTdmLy8rdEcvZnZ1NVcrbVY0NDdLODBmT1JieVY0aW9GQUt3SUtrRll5cVIw
RUNCQWdRS0F3Z1Z5QQpSTTlIRkIrMS9CQmhNRWJQUjc0aVZtR3N3aUZRdmNDaXJvSTEzN21RdmQ3
VEM4ZjR1OExqYXltODh3cHZqSDFoOVJKa1gxZzk2OUszClZQYStNREZ4L25HQWVmekNjVzk0WVdp
QmZOcFYvQXI2N3QyNzA4NmRPOU01NTF3dzlQS2ptUEhDQysrWmR1ellrYlp0MjliOVlHSmMKTmpo
K0U4UkVnTUR5Q1J5N09QZnlyYythQ0JBZ1FJQUFBUUtkUUJSeE1mNGpla0RpMUt2b0FTbDlpaGdq
MW9nNVlsZUlscDR4OGRVbwpvQUNwTVd0aUprQ0FBQUVDRlFqa1U3RHlHSkRvQ1NsOWloaGpmRXJF
SE9OWEZDQ2xaMHg4TlFvb1FHck1tcGdKRUNCQWdFQWxBcmtYCjVOQ2hRMmxtWnFiNHFDUEdpRlh2
Ui9HcEVtREZBZ3FRaXBNbmRBSUVDQkFnVUxwQTdnWEpsK0l0UGQ3bytZaFk5WDZVbmlueDFTeWcK
QUtrNWV3WEVuaTlQT0hoZlFGaENJRENVd09CK214OFB0YUNaQ0JBWVNpQ2Z2alJZaEF5MTRBaG5t
bHQ4NURhTU1DU2JKdENjZ0FLawp1WlJxRUFFQ0JBZ1FJRUNBQUlGeUJSUWc1ZVpHWkFRSUVDQkFn
QUFCQWdTYUUxQ0FOSmRTRFNKQWdBQUJBZ1FJRUNCUXJvQUNwTnpjCmlJd0FBUUlFQ0JBZ1FJQkFj
d0lLa09aU3FrRUVDQkFnUUlBQUFRSUV5aFZRZ0pTYkc1RVJJRUNBQUFFQ0JBZ1FhRTVBQWRKY1Nq
V0kKQUFFQ0JBZ1FJRUNBUUxrQ0NwQnljeU15QWdRSUVDQkFnQUFCQXMwSktFQ2FTNmtHRVNCQWdB
QUJBZ1FJRUNoWFFBRlNibTVFUm9BQQpBUUlFQ0JBZ1FLQTVBUVZJY3luVklBSUVDQkFnUUlBQUFR
TGxDaWhBeXMyTnlBZ1FJRUNBQUFFQ0JBZzBKNkFBYVM2bEdrU0FBQUVDCkJBZ1FJRUNnWEFFRlNM
bTVFUmtCQWdRSUVDQkFnQUNCNWdRVUlNMmxWSU1JRUNCQWdBQUJBZ1FJbEN1Z0FDazNOeUlqUUlB
QUFRSUUKQ0JBZzBKeUFBcVM1bEdvUUFRSUVDQkFnUUlBQWdYSUZGQ0RsNWtaa0JBZ1FJRUNBQUFF
Q0JKb1RVSUEwbDFJTklrQ0FBQUVDQkFnUQpJRkN1Z0FLazNOeUlqQUFCQWdRSUVDQkFnRUJ6QWdx
UTVsS3FRUVFJRUNCQWdBQUJBZ1RLRlZDQWxKc2JrUkVnUUlBQUFRSUVDQkJvClRrQUIwbHhLTlln
QUFRSUVDQkFnUUlCQXVRSUtrSEp6SXpJQ0JBZ1FJRUNBQUFFQ3pRa29RSnBMcVFZUklFQ0FBQUVD
QkFnUUtGZEEKQVZKdWJrUkdnQUFCQWdRSUVDQkFvRGtCQlVoektkVWdBZ1FJRUNCQWdBQUJBdVVL
S0VES3pZM0lDQkFnUUlBQUFRSUVDRFFub0FCcApMcVVhUklBQUFRSUVDQkFnUUtCY2dVVVZJTDFl
TDgyOWxkdEVrUkVnUUlBQWdaTUx6UDFPaStlbXBRdE1URXgwSzRuN05XdldwTFZyCjF5NTlwU3U4
aG9neFloMk1mWVUzYWZVRXhrNWdVUVhJMkNscE1BRUNCQWdRSUxBb2djSGlZM0p5Y2xIcldNMkZJ
c2E1UmNocWJ0KzIKQ0l5RGdBSmtITEtzalFRSUVDQkFZRVFDVVlERUFmMjZkZXZTeG8wYlJ4VEY4
SnVOR0NQV2lEbjNnZ3kvdERrSkVCaEdRQUV5akpKNQpDQkFnUUlBQWdRVUw1TjZQNkZYWXNHRkQy
cng1ODRMWHNkb0xSSXdSYThROGVDcldhc2RoZXdSYUZsQ0F0SnhkYlNOQWdBQUJBaU1VCnlMMGY2
OWV2VDVzMmJVcGJ0MjRkWVRURGJUcGlqRmdqWnIwZ3c1bVppOEJDQlNiNkErMk10RnVvbXZsbkJV
cnZuclo3ejZhcW1BZjIKbVdKU0lSQUNLeTV3NU1pUmRQanc0VFF6TTVQMjd0MmI5dXpaazNidDJ0
WGRUMDlQcHdNSERxUkRodzZsbzBlUHJuZ3M4MjBnZWpqaQpkS3ZvOGRpeVpVdFhJRzNmdnIyN2o1
NlFPQjByandtWmIzbXZFU0N3T0lIeVI0TXRybDJXSWtDQUFBRUNCRVlza0UvQml0NkVxYW1wCkxw
bzQ0SStEKzF4OFJKRXl5Z0lrajArSklpUjZQdUlXc1ViTVRzRWE4UTVrODgwS0tFQ2FUYTJHRVNC
QWdBQ0IwUXJrQWlTUEFZa0QKK253NlZ2U001T0pqVkwzVk9iNG9RaUxHaUMzZmpBRVo3YjVqNjIw
TEtFRGF6cS9XRVNCQWdBQ0JrUXBFMFJGVEhPekhnWDRjNEE4VwpIcU1xUGpKS3hEVllpRVNNRVhP
KzVmbmNFeUN3ZkFMR2dDeWY1Vml1S1Q2MFM1NUcvY1ZXc3Myb1lyUFBqRXJlZGdtTVJpQi9EZy9l
CngrUEI1Nk9KN05oVzgyZFMzT2RidkRQNCtpampzMjBDTFFvb1FGck1xallSSUVDQUFBRUNCQWdR
S0ZUQVpYZ0xUWXl3Q0JBZ1FJQUEKQVFJRUNMUW9vQUJwTWF2YVJJQUFBUUlFQ0JBZ1FLQlFBUVZJ
b1lrUkZnRUNCQWdRSUVDQUFJRVdCUlFnTFdaVm13Z1FJRUNBQUFFQwpCQWdVS3FBQUtUUXh3aUpB
Z0FBQkFnUUlFQ0RRb29BQ3BNV3NhaE1CQWdRSUVDQkFnQUNCUWdVVUlJVW1SbGdFQ0JBZ1FJQUFB
UUlFCldoUlFnTFNZVlcwaVFJQUFBUUlFQ0JBZ1VLaUFBcVRReEFpTEFBRUNCQWdRSUVDQVFJc0Nr
NHRwMU1URXhHSVdXN1ZsZXIzZXFtM0wKaGdnUUlFQmdjUUsrU3hiblZ0dFMrVHQ1OEQ0ZUR6NGZa
WnZ5ZmhqMytSYnhETDQreXZoc20wQ0xBb3NxUUZxRTBDWUNCQWdRSUVCZwplUVZ5a1hIMDZOR1Vi
MGVPSEVseGkrZURoY2p5Ym5uNHRlV2lZODJhTldudDJyWGRMUjduVzhTWWk1SGgxMnBPQWdST0px
QUFPWm1PCjl3Z1FJRUNBQUlFbENVU2hFUVhINGNPSDA4R0RCMmR2OFh5d0VGblNSaGE1Y0JRV3Vm
Q1luSnhNNjlldm43M0Y4NWppZlJNQkFzc3IKb0FCWlhrOXJJMENBQUFFQ0JING5FTDBIVVlCRXNY
SGd3SUcwZi8vK3RHL2Z2dTRXenc4ZE9qUmJoSXdDTFJjZjY5YXRTeHMyYkVpYgpObTNxYmxOVFU5
M3ozRHVpQjJRVTJiSE5sZ1VVSUMxblY5c0lFQ0JBZ01BSUJYSUJFajBmVVh6czJiTW43ZHExcTd1
Zm5wN3VpcElvClFxSklHY1VVQlVndVByWnMyWksyYnQyYXRtL2Yzb1dTaXhNOUlLUElqRzIyTGpE
Ui8zQlk4SWp0K2Y0UzBPczl2WENydnlzOHZwYkMKTzYvd3h0Z1hWaTlCOW9YVnN5NTlTMlh2Q3hN
VDV4OEh1SWl2eCtQV01lNHY1Tk91OXU3ZG0zYnYzcDEyN3R5Wnpqbm5ncUpaTHJ6dwpubW5Iamgx
cDI3WnRhZlBtemQwcFdmbDByS0lERnh5QmlnU2MyRmhSc29SS2dBQUJBZ1JxRW9naUxzWjVSQTlJ
bkhvVlBTQ2xUeEZqCnhCb3hSK3dLMGRJekpyNGFCUlFnTldaTnpBUUlFQ0JBb0FLQk9IZ2ZIQU1T
UFNHbFR4RmpqRStKM3B1SVhRRlNlc2JFVjZPQUFxVEcKckltWkFBRUNCQWhVSXBCN1FXS3N4OHpN
VFBGUlI0eDVjTHppby9oMENiQlNBUVZJcFlrVE5nRUNCQWdRcUVFZzk0TGtTL0dXSG5NSgpsd2N1
M1VoOEJKWXFvQUJacXVDWUx6OTRpY0w4ZU14Sk5MOGlnYnpQRHQ1WEZMNVFDUlF2a0hzUUJvdVEw
b09lKzlza3VRMmx4eTArCkFqVUpLRUJxeXBaWUNSQWdRSUFBQVFJRUNGUXVvQUNwUElIQ0owQ0FB
QUVDQkFnUUlGQ1RnQUtrcG15SmxRQUJBZ1FJRUNCQWdFRGwKQWdxUXloTW9mQUlFQ0JBZ1FJQUFB
UUkxQ1NoQWFzcVdXQWtRSUVDQUFBRUNCQWhVTHFBQXFUeUJ3aWRBZ0FBQkFnUUlFQ0JRazRBQwpw
S1pzaVpVQUFRSUVDQkFnUUlCQTVRSUtrTW9US0h3Q0JBZ1FJRUNBQUFFQ05Ra29RR3JLbGxnSkVD
QkFnQUFCQWdRSVZDNmdBS2s4CmdjSW5RSUFBQVFJRUNCQWdVSk9BQXFTbWJJbVZBQUVDQkFnUUlF
Q0FRT1VDQ3BES0V5aDhBZ1FJRUNCQWdBQUJBalVKS0VCcXlwWlkKQ1JBZ1FJQUFBUUlFQ0ZRdW9B
Q3BQSUhDSjBDQUFBRUNCQWdRSUZDVGdBS2twbXlKbFFBQkFnUUlFQ0JBZ0VEbEFncVF5aE1vZkFJ
RQpDQkFnUUlBQUFRSTFDU2hBYXNxV1dBa1FJRUNBQUFFQ0JBaFVMcUFBcVR5QndpZEFnQUFCQWdR
SUVDQlFrNEFDcEtac2laVUFBUUlFCkNCQWdRSUJBNVFJS2tNb1RLSHdDQkFnUUlFQ0FBQUVDTlFr
b1FHcktsbGdKRUNCQWdBQUJBZ1FJVkM2Z0FLazhnY0luUUlBQUFRSUUKQ0JBZ1VKT0FBcVNtYklt
VkFBRUNCQWdRSUVDQVFPVUNDcERLRXloOEFnUUlFQ0JBZ0FBQkFqVUpLRUJxeXBaWUNSQWdRSUFB
QVFJRQpDRlF1b0FDcFBJSENKMENBQUFFQ0JBZ1FJRkNUZ0FLa3BteUpsUUFCQWdRSUVDQkFnRURs
QWdxUXloTW9mQUlFQ0JBZ1FJQUFBUUkxCkNTaEFhc3FXV0FrUUlFQ0FBQUVDQkFoVUxyQ29BcVRY
NjZXNXQ4b2RoRStBQUFFQ1l5d3c5enN0bnB1V0xqQXhNZEd0Sk83WHJGbVQKMXE1ZHUvU1ZydkFh
SXNhSWRURDJGZDZrMVJNWU80RkZGU0JqcDZUQkJBZ1FJRUNBd0tJRUJvdVB5Y25KUmExak5SZUtH
T2NXSWF1NQpmZHNpTUE0Q0NwQnh5TEkyRWlCQWdBQ0JFUWxFQVJJSDlPdldyVXNiTjI0Y1VSVERi
elppakZnajV0d0xNdnpTNWlSQVlCZ0JCY2d3ClN1WWhRSUFBQVFJRUZpeVFleitpVjJIRGhnMXA4
K2JOQzE3SGFpOFFNVWFzRWZQZ3FWaXJIWWZ0RVdoWlFBSFNjbmExalFBQkFnUUkKakZBZzkzNnNY
NzgrYmRxMEtXM2R1bldFMFF5MzZZZ3hZbzJZOVlJTVoyWXVBZ3NWbU9nUHREUFNicUZxNXA4VktM
MTcydTQ5bTZwaQpIdGhuaWttRlFBaXN1TUNSSTBmUzRjT0gwOHpNVE5xN2QyL2FzMmRQMnJWclYz
Yy9QVDJkRGh3NGtBNGRPcFNPSGoyNjRySE10NEhvCjRZalRyYUxIWTh1V0xWMkJ0SDM3OXU0K2Vr
TGlkS3c4Sm1TKzViMUdnTURpQk1vZkRiYTRkbG1LQUFFQ0JBZ1FHTEZBUGdVcmVoT20KcHFhNmFP
S0FQdzd1Yy9FUlJjb29DNUE4UGlXS2tPajVpRnZFR2pFN0JXdkVPNUROTnl1Z0FHazJ0UnBHZ0FB
QkFnUkdLNUFMa0R3RwpKQTdvOCtsWTBUT1NpNDlSOVZibitLSUlpUmdqdG53ekJtUzArNDZ0dHky
Z0FHazd2MXBIZ0FBQkFnUkdLaEJGUjB4eHNCOEgrbkdBClAxaDRqS3I0eUNnUjEyQWhFakZHelBt
VzUzTlBnTUR5Q1JnRHNueVdZN21tK05BdWVScjFGMXZKTnFPS3pUNHpLbm5iSlRBYWdmdzUKUEhn
Zmp3ZWZqeWF5WTF2Tm4wbHhuMi94enVEcm80elB0Z20wS0tBQWFUR3Iya1NBQUFFQ0JBZ1FJRUNn
VUFHWDRTMDBNY0lpUUlBQQpBUUlFQ0JBZzBLS0FBcVRGckdvVEFRSUVDQkFnUUlBQWdVSUZGQ0NG
SmtaWUJBZ1FJRUNBQUFFQ0JGb1VVSUMwbUZWdElrQ0FBQUVDCkJBZ1FJRkNvZ0FLazBNUUlpd0FC
QWdRSUVDQkFnRUNMQWdxUUZyT3FUUVFJRUNCQWdBQUJBZ1FLRlZDQUZKb1lZUkVnUUlBQUFRSUUK
Q0JCb1VVQUIwbUpXdFlrQUFRSUVDQkFnUUlCQW9RSUtrRUlUSXl3Q0JBZ1FJRUNBQUFFQ0xRb29R
RnJNcWpZUklFQ0FBQUVDQkFnUQpLRlJBQVZKb1lvUkZnQUFCQWdRSUVDQkFvRVVCQlVpTFdkVW1B
Z1FJRUNCQWdBQUJBb1VLS0VBS1RZeXdDQkFnUUlBQUFRSUVDTFFvCm9BQnBNYXZhUklBQUFRSUVD
QkFnUUtCUUFRVklvWWtSRmdFQ0JBZ1FJRUNBQUlFV0JSUWdMV1pWbXdnUUlFQ0FBQUVDQkFnVUtx
QUEKS1RReHdpSkFnQUFCQWdRSUVDRFFvb0FDcE1Xc2FoTUJBZ1FJRUNCQWdBQ0JRZ1VVSUlVbVJs
Z0VDQkFnUUlBQUFRSUVXaFNZYktGUgpFeE1UUlRhajErc1ZHWmVnQ0JBZ1FPQjRBZDhseDV1MCtF
citiaDY4ajhlRHowZlI3cnoveFgyK1JSeURyNDhpTHRza3NCSUNUUlFnCkt3RmpuUVFJRUNCQWdF
QmJBcm5JT0hyMGFNcTNJMGVPcExqRjg4RkNaTFZibm91T05XdldwTFZyMTNhM2VKeHZFVnN1UmxZ
N050c2oKc053Q0NwRGxGclUrQWdRSUVDQkFvRmlCS0RTaTREaDgrSEE2ZVBEZzdDMmVEeFlpcTlt
QUtDeHk0VEU1T1puV3IxOC9lNHZuTWNYNwpKZ0t0Q0NoQVdzbWtkaEFnUUlBQUFRSW5GWWhlaENo
QW90ZzRjT0JBMnI5L2Y5cTNiMTkzaStlSERoMmFMVUpPdXFKbGZqTVhIK3ZXCnJVc2JObXhJbXpa
dDZtNVRVMVBkODl3N29nZGttZUd0Ym1RQ0NwQ1IwZHN3QVFJRUNCQWdzSm9DdVFDSm5vOG9QdmJz
MlpOMjdkclYKM1U5UFQzZEZTUlFoVWFTczVoUUZTQzQrdG16WmtyWnUzWnEyYjkvZWhaQ0xFejBn
cTVrUjIxcHBnV1lMa1BpUU1SRWdRSUFBZ1dFRgpTdmplOEJmdVliTzF1UGtpeDNHYVZSUWcwZk1S
eGNjNTU1eXp1Sld0OEZJWFhuaGhWNVRrMDdGaVhJaUpRQ3NDVGloc0paUGFRWUFBCkFRSUVDSnhV
WUc0QkVqMGdwVTRSV3hSSlVTeEYwVlJDZ1Z5cWxianFFMmk2QVBudGIzK2J2di85NzFlWGxmaWcr
YzUzdmpOMDNKZGUKZW1uNi9PYy9QL1Q4NHppamZXRWNzejUvbSswTDg3dU00NnYyaGZITGVoekVE
NDRCMmJ0M2I0ZFE0cjRRc2NXNGxCaXZFakhQVjRBNApYaGkvZmJpVkZwK3lBSG5YdTk2VmJuQ0RH
M1NYZnJ2VG5lNlVQdmF4ajFYVDltYy8rOW5wZnZlN1h6WHhScUJmK2NwWDBzMXVkclAwCm1NYzha
cWk0di9TbEw2V3p6ejQ3M2YvKzl4OXEvcVhNWkY5WWl0N0NsN1V2TE54c21DVjhMZ3lqTlB3OFBo
ZUd0MXFPT1gwdUxGMHgKOTRMRVdJK1ptWmx1aFNWK0xrUnNlVkQ4Zk1WSHlmdkMwck5rRGEwTG5M
SUFlZkNESDV3ZS92Q0hkdzdQZU1ZejBwM3ZmT2RxVEo3LwovT2VuOTczdmZkWEVHNEhlOHBhM1RI
ZTg0eDI3OHo2SENmeld0NzUxZXNRakhqSE1yRXVleDc2d1pNSUZyY0Mrc0NDdW9XZjJ1VEEwCjFW
QXorbHdZaW1uWlp2SzVzSFRLM0FzU3ZRZlJ1eEJUaVo4THA3b3NjTW43d3RLelpBMnRDd3cxQ0Qy
dXhoRFQ1UzUzdWFvOExuLzUKeTZlNHpUZkZCOUNKQnZ1ZDdMMzUxclZjcjBVWGExemxJcTc1dlpD
clhjUUF0Uk8xWmJsaXkrc3BmVitZenlIeWFWL0lHVnkrKzlMMwpoUk8xdE1SOTRVVDdiYlRCNThL
Sk1ybjAxMHZjRjA3V0t2dkN5WFNHZXkrK0QyS0srL0NNSWlTbUV2ZUZpQzFpSEl5NUM3Yi9UdzM3
ClFvN1ZQWUg1QklZcVFPWmJjTDdYNG56Rjg4NDdMNTEyMm1ucGh6LzhZYnJtTmErWnpqLy8vTFJ4
NDhaMDhjVVhwOWUvL3ZYcGlsZTgKWXZmODVTOS9lZnJRaHo2VXJuV3RhM1h6ZlBXclgwMngvS3Rm
L2VwMG05dmNKdjNnQno5SWIzakRHN3EvVHNTcFg5RTlHbGVBZU5XcgpYcFUyYjk2Y252ZTg1NlhQ
ZmU1ejZZbFBmT0o4b2FSZi9PSVg2YTF2Zld0NjczdmZtNzd3aFM5MHA0Nzk4ei8vYzdyZTlhN1hk
V20rCjZVMXY2bjdrNTQxdmZPTnNyODQ3My9uTzdvb1lsMXh5U1hyLys5L2ZqYXVJMTU3eWxLZDA3
WXB0dmVNZDcwalBlYzV6VXNUMHV0ZTkKYmtGeFB2T1p6NXczMXJnVTROT2U5clIwNVN0Zk9mMzg1
ejlQMy96bU43dnJmdWVaVCthYTV4bThQOW44OCtYaDE3Lys5ZURpeS9KNApvVEhZRjQ2eDJ4ZVc3
M05odnY5dlBoZUcvM3h1NlhQQnZuRFpqL1dGZmo2M3RDODg5YWxQdlN4Ry81blBoZEYrTGh5WEVD
K01oMEMvCnNqN2w5SnJYdkNiK1pORDc0aGUvZU5KNSs1ZXk2NzNsTFcvcDV1bGZ0YUYzcTF2ZHFu
ZnZlOSs3ZTk0dkFucmJ0bTNyOWNjMzlON3oKbnZmMEh2dll4L2ErL2UxdjkrNXhqM3YwK2dmOHZY
NmwzNzNXTDFCNnUzZnY3dlVMa043TmIzN3ozaGxubk5ITjN6OHc2ejNvUVEvcQo5UXVJM2d0ZitN
TGViMzd6bTE2L0VPajEvM0xZeFJieERkNSs5YXRmOVI3M3VNZjFybkNGSzNUYi85R1BmdFM3MHBX
dTFLM3ZNNS81ClRPL1RuLzUwNzZZM3ZXbnZHdGU0UnZkKy96ekxYbjhzUmZjNC9ubnlrNS9jeFJT
UHIzYTFxL1ZlOElJWHhNTnV1dXRkNzlyRkVrOFcKRW1mL2NuL0hWakRuMzN2ZDYxNjlmbUhUdlJv
T1Y3M3FWWHQzdWN0ZFp1YzZtV3ZNOU1wWHZyTFhMMTZHbW4rK1BNd3VPTVFEKzRKOQpJZThtcGU4
TDgvMS9LL1Z6WWZDekt6LzJ1YkI4M3hIMkJkOFIrWGloWDJ6MFluLzQ3bmUvMi92b1J6L2E2Ly9S
czFmcTUwTEVGakZHCnJCRnpmMEI2cjZiUGhmeGQ0WjdBZkFMUnRYZkthWmdEamYvNGovL285VThi
NmtYaGthZCtEMEZYRlBTdjBOUzlkTnZiM3JaMzdybm4KNXJkN2IzLzcyM3Qzdi92ZGUvMi9mbmUz
NXo3M3VkMzgvZDZIYnA1SFB2S1Jzd1ZNdlBDMnQ3MnQxLytobnRubG8xREpYOVp6NzJPbQorTS9i
NzFhZG5mOFd0N2hGN3kvLzhpOW5uMGNCRk10OTYxdmY2dlgvd3RQcm4vclV4UkV6eEd2OTh5Kzdl
WFBSa3hmc0QyenY5Yzk3CnprOTd3OGI1dGE5OWJYYVovQ0FLZ2lpaW9pMTUrdE0vL2RQWkFtUVkx
OEVDWkpqNTUrWWhiM2VZZS92Q3NRSTRXOWtYVHY2SGljWHMKajh2MXVURGYvN2ZJVzRtZkMzTS92
K0s1ejRYZXNuMUgyQmYrcndCWnpQL0ovSGszekgzcDN4SDlDN2NjVjRDVStya3d0d0NKUDV6Vwo5
TGt3elA1aW52RVZPT1VnOVA0WDRWRFRsNy84NWU3MHF2Z2x6enoxZTBDNmgvMFAvKzQrVHNXS1U3
RHlGS2RHeFhtWCtVZDJibi83CjI2ZCt0Wi82aFVJM1MvOC9XcDYxdTQ5ZkJ4MmNUai85OU1Hbnh6
Mk81UWZYRVk4SGY4am4rdGUvZnVyM3luU25aL1Y3U3JvclNkM24KUHZkSlQzakNFOUsxcjMzdHk4
eDczTW9IWGhqY1JyeDhvampuNjhiKzFLYytsU0tPZkQ1OUxCK25tT1YxRHVNYXkrUnBtUG5uNWlF
dgp1MXozaTRuQnZwQ1NmZUhZSHJoYys4SjgvOTlpQy9GL0svLy95czlMKzF5SXVId3VwTzcwMmVY
NGpyQXZ4QjUxYkZyTTUzTmVkcm51CkZ4T0R6NFdVNG9jSlcvdGNXSzU5eW5ycUUxaTJNU0J4N25y
L3RLaHVIRWNjUU1kMGs1dmNwQnRRSFQra005OFU4OGVBNjJHdnJCVUQKcytjZU9NeTMzb1c4bGdk
OXh6TDl2N3ltL3VsUDZSV3ZlRVUzWnVVakgvbElPbFdSTTkrMkZoTG5UMy82MDg1dDducHlPeGZx
dXRENQo1MjUzT1o0dkpnYjdRa3IyaFdON24zM2gveHptL24vMHVUQlg1TExQRi9MWmU5a2xUL3hz
MU44UkVWbjhuNWc3MlJmbWlsejJlWXY3CndzOSs5clBtOW9YTFpzMnpjUkpZY2c5SS9JZUlnZHhS
bGNjVkcrSzYxSG5xbjFmWkRTS1AzeEdaYitxUDcraDZQT0tIZHZMVTc0enEKL2hLY242L2svZmUr
OTcwVVB6NTAxbGxucFYvKzhwY3A0bjNaeTE2V1B2emhENmR2Zk9NYjNZRHp2UDI0NHNSS1RGSHd4
Ri9uSXBiNQpwb1c2TG5UKytiYTUyTmZzQzR1Vk83YWNmZUdZZzgrRll3NCtGMUt5TDlnWGpnbllG
OExoS2xlNVNqUEhDem12N3NkWFlLZ0NwRDgrCm9ST2FleEFldjhBZFA1alhIeXllK2dQRTA5V3Zm
dld1b01pY0YxMTBVVmVZOU1kNWRDL0ZOYTN6ai83RUN3OTcyTVBTenAwN1UzOUEKZW9wdFJBRVEx
K0krODh3enUvbnpEL0IwVC9yL3hQYWl5SW5YWThyWDcrNmV6UE5QL0NVK3RoZEZUWjZpNE1qVEp6
LzV5WFNITzl3aAp4VzlweE90eHhhdVkrb1BNMDMzdmU5L3VWS2g0SGowNThZTi8vZkV0M1ZXcTRn
cGZnK3NaTnM2NWZySHVoenprSVYwdlVGeFJLMC94CksranhGNjlvNnpDdUVWYzJHV2IrdVhuSTJ4
M20zcjVnWDhqN1Nlbjd3bnovM3lMMkdqNFhJczdvSGZhNXNEemZFZllGM3hINWVLSG0KZmVHQkQz
eGdWWjhMOFRsbUluQkNnVk1OZjNuM3U5L2Q2LzlWdlJ1c0hZTzQrejlLMk9zZk5QZnVkcmU3ZFFP
ODQ2cFYvZi9RM1dyNgpsM2p0M2ZDR04reTkrTVV2N2wxd3dRVzloejcwb2QyVnJ1TE5HRUMrYWRP
bVhyK0M3L1VQOUdjMys5clh2cmJYdjJ4dk43QXExdFcvCmJHNzNYdjk4eis1cVVEdDI3T2oxQzRW
ZVhNVXFycWpWYjBoMzlhczllL2IwL3Zadi83WjdIZ1BDKzZldnpLNHpIc1JBc3hoc0hmUDMKZXpW
Ni9lS2x1OHBWWElYcldjOTZWcTkvR2Q5ZVhNMnEzL1BSTGZkZi8vVmZ2ZXRlOTdxOS9xV0NlekVJ
L3ZHUGYzeXZmMURmdmZmeApqMys4YSt0MXJuT2QzbC85MVY5MVY5ZjZnei80Zzk0blB2R0oza0xq
N0ZZNDU1K3c2WThiNmZWN2lyckI3ZjF4S0wzYjNlNTJuVm5NCmVqTFhhR2ZrSmRvWmcvK2luU2Vi
LzBSNW1CUFN2RTlyMkJmQ1llN052ckN3LzVQekpuL09pelhzQ3pWOUxzemRaK081ejRWak85MjQK
ZlVmTS9TNExCZnZDOHUwTEQzakFBM3J4ZmQ4LzY2QVgzKzF4c1p4U3Z5TmU5S0lYZFRGR3JIRVZy
UGgrcjJWZk9KWXgveEk0c2NCRQp2Tlgvc2x1MktWWVh2K0VSNTEvMkQraUhXbS84QmY4blAvbEo5
NXNnOFZlL2xacmlWMFA3bDdUdGVsbmlyNkNEQStManJ5SVJjNyt3CjZYNkZ2RjhzWFNhTWlERjZK
R0lBZC9RMkRBNjJ2OHlNaTN3UzY0Ni9LTWRnK0RnbGJjT0dEWmRaMDBKZEZ6ci9aVGEyVEU4V0U4
TlMKOTRWOFh2UmdFeUtPdVpOOVlhN0l5ajRmeGI0d2JJdEsyQmRPdE4vNlhEaVd4YVYrTHRTMEw1
d29WdnZDOHV3THNTL0Y5MytjeFJEago3dUo0NVUvKzVFK09ZeS9oY3lIL2RsbWNYUklYWTVpYW11
b3UydFBpdm5CY0FyelF2TUN5SCszSEYyaytoV3BZdmJnSzFyREZ5ckRyClBObDhVVnpNTFRDaStJ
aHA4R3BVZyt1SUdQTzAzTVZIckRldXdoUEZSMHh6aTQ5NGJhR3VDNTAvdHJIYzAySmlzQy9ZRi9K
K2FGK3cKTDlnWHNvQjlJVXNzeCtkQ2ZEZkZkMjU4bDhjZkZVODJqZko0SVdLTEdDUFdpRGxQTFI0
djVMYTVIeCtCb2NhQXRNQVJQUnp4SytNeApmc00wM2dMMmhmSE8vMkRyN1F1REd1UDkyTDR3SHZt
UEEvbjRnMk9jYlJGLzdNdFg3UnhzZlNuN1FzUVdNVWFzRWZOZ0VUSVlyOGNFCmFoUlk5bE93U2tW
NDg1dmYzSFczUm56OXNSeXAvNE9JcFlZcXJpVUl6UGNCUGZjVUxQdkNFb0FiVzdTVWZXR1kvYll4
K3VLYVU4cSsKVUJ4TVl3SEZZUFE0RFd2djNyM2RhYzl4SVp3NE5YdHdLbVZmaU4vOTZJK0Q3WDZ2
TElxUjZQMVp5ZFBVQncwOEpyRFNBbU5UZ0t3MApwUFdYSVREZmdWd0prYzB0Z2txSVNRekhCT3d6
OWdRQzR5TVE0eWZ5bFNDakNJbHhuLzBCM3QzOXphdUFYZ0FBR054SlJFRlU5UFIwCk53WXp4bmxH
TDhocVR0SERFYWRiUlk5SC9KaHhuQTYrZmZ2MjdqNktqemdkSzRxUE9QM0tSS0FGZ1dVZkE5SUNp
allRSUVDQUFBRUMKN1FuRUh4emlZRDk2RTJKUWQweHg0QjhIK1hFQm1DZytva2daUlFHU3g2VkVF
WkxIbnVTQjUwN0JhbTlmSFBjV0tVREdmUS9RZmdJRQpDQkFnTUNZQ3VRREpZMEJ5TVJJSC9ORXpr
b3VQMWU2MXpuRkZFUkt4UllHVWIvRmNBVEltTytnWU5WTUJNa2JKMWxRQ0JBZ1FJRER1CkFuRXdI
MU1jOU1jQmZ4em9EeFllcTExODVIeEVQSU9GU01RV3NlWmJuczg5Z1JZRWpBRnBJWXZhTUNzUUg5
NGxUcVA2UWl2Um9yU1kKN0RPbFpVUThCRlpXSUg4ZUQ5N0g0OEhuS3h2Qi9HdlBuMFZ4bjI4eDUr
RHI4eS9wVlFMMUNTaEE2c3VaaUFrUUlFQ0FBQUVDQkFoVQpLekEydndOU2JZWUVUb0FBQVFJRUNC
QWdRS0FoQVFWSVE4blVGQUlFQ0JBZ1FJQUFBUUtsQ3loQVNzK1ErQWdRSUVDQUFBRUNCQWcwCkpL
QUFhU2labWtLQUFBRUNCQWdRSUVDZ2RBRUZTT2taRWg4QkFnUUlFQ0JBZ0FDQmhnUk8rVHNnK2ZK
dkRiVjUxWnFTTCttM2FodTAKSVFJRUNCQWdRSUFBQVFLRkMrZ0JLVHhCd2lOQWdBQUJBZ1FJRUNE
UWtvQUNwS1ZzYWdzQkFnUUlFQ0JBZ0FDQndnVVVJSVVuU0hnRQpDQkFnUUlBQUFRSUVXaEpRZ0xT
VVRXMGhRSUFBQVFJRUNCQWdVTGpBS1FlaEcwaGRlQWFGUjRBQUFRSUVDQkFnUUtBaUFUMGdGU1ZM
CnFBUUlFQ0JBZ0FBQkFnUnFGMmk2QVBudGIzK2J2di85NzllZUkvRVRJRUNBQUFFQ0JBZ1FhRWJn
bEFYSXU5NzFyblNERzl3Z3hlK0IKM09sT2Qwb2YrOWpIcW1uOHM1Lzk3SFMvKzkydm1uZ0ZTb0FB
QVFJRUNCQWdRS0IxZ1luK0dJL2VxUnI1b2hlOUtEM3ptYzlNSC9uSQpSOUpkNzNyWFU4MWV6UHZS
QTdKcjE2NTA1cGxuRmhPVFFBZ1FJRUNBQUFFQ0JBaU1zOEFwQjZFSHp0YXRXenVqeTEzdWNsVlpY
Zjd5CmwwOXhtMitLdXV0RXYvSitzdmZtVzVmWENCQWdRSUFBQVFJRUNCQVlUdUNVcDJBTnQ1cGpj
KzNkdXpmOStaLy9lWHJxVTUvYW5mcjAKRjMveEYybG1acVo3OCtLTEwwNlBmZXhqMDkvOHpkK2tG
N3pnQmVtS1Y3eGkrdktYdjV4Mjd0eVpudktVcDZULzkvLytYN3JGTFc2Ugp2dmpGTDNiei8rQUhQ
MGgvL2RkLzNiMzM3Ly8rNytubU43OTVPdnZzczlNWHZ2Q0Y5STF2ZkNNOThJRVBURmU1eWxYU0Mx
LzR3bmxECi9NVXZmcEgrL3UvL1B0MzJ0cmZ0M285VHg4NDk5OXowckdjOUs1MTMzbm5kc3RlODVq
VXZjMHJaTzkvNXp2VGExNzYyVys1MnQ3dGQKdDF5OGRyV3JYUzI5NmxXdjZwNi80eDN2U0wvM2U3
K1hIdmU0eDNYUGx4cG50eEwvRUNCQWdBQUJBZ1FJRUJnVGdXVXRRTzUxcjN1bApXOS82MXVtbEwz
MXBldmU3MzUyKzlLVXZwUWMvK01FZDVjR0RCN3ZYUHZTaEQ2WHJYLy82NlFFUGVFQTYvZlRUMHlN
ZitjajB2T2M5CkwzM3lrNTlNdDd6bExkTWYvdUVmcGoxNzluUzlFMUUwdk85OTcwdXg3T2MvLy9s
MG5ldGNKejM4NFE5UEgvemdCOVByWC8vNjJZSm0KOSs3ZHg2VnJjbkl5L2VoSFAwcFJJTVIwdmV0
ZEwzM2lFNTlJYjN2YjI5Szk3MzN2RkdOYnRtL2ZuaDcxcUVkMTd4OCtmRGk5NUNVdgpTWC8yWjMr
V252NzBwNmZiM09ZMjZlalJvK2toRDNsSUY4djA5SFEzMzBNZit0QjA3V3RmdXp1MUsxNklYcFNs
eE5tdDFEOEVDQkFnClFJQUFBUUlFeGtSZzJRcVFEMy80dyttem4vMXNpZ1AwbU5hdFc5Y2QzRWV4
RUwwV2NVQWZoVWNNYUkvaTQzV3ZlMTM2MnRlK2x1SjAKcDg5ODVqTXBsbzhlalYvLyt0ZnB3Z3N2
VE5lOTduWFR6VzUyczNTakc5Mm9tMy9qeG8xZHI4cVBmL3pqOUl4blBLTTd0ZXBKVDNwUwp0M3k4
Tm5lS0hwYWIzT1FtM2Z2eFhoUU4xN2pHTmJvQzUvZC8vL2ZUT2VlY2s2STM0eWMvK1VuNjlyZS8z
UlU5WC8vNjE5TUZGMXpRCnJlclJqMzcwN0xLeDdjSFR0YWFtcG1hZkx6WE91WEY3VG9BQUFRSUVD
QkFnUUtCbGdXVXJRT0owcWpqb2o4SWpUN2U2MWEyNmgxRm8KeEJRSDhqRlBucUl3aVRFYTY5ZXY3
MjYzdi8zdDAwYy8rdEh1Vkt5WVovQ2dQNTV2MmJJbDdtYW42RUdKS1lxVythWllmbkFkOFhqdAoy
cld6czBaQnRHM2J0cTRINHdwWHVFSzYvLzN2bis1em4vdWtKenpoQ1YzQk1qanY3RUx6UEJqY1Jy
eTkwRGpuV2FXWENCQWdRSUFBCkFRSUVDRFFwTU5RZzlHRmF2bi8vL3ZTYjMvd214VGlRelpzM2Q0
dEVEMFNjQ3JWdjM3NTVWeEh6eC90M3Z2T2Q1MzEvN290cjFxdzUKcnFDWU84OUNuOGM2STRhWTN2
NzJ0NmVyWHZXcTZSV3ZlRVdLTVN0eDFhOWM1Q3hrdlNzUjUwSzJiMTRDQkFnUUlFQ0FBQUVDcFFv
cwp1UWZrWnovN1dYcmpHOS9ZblY1MTVNaVI5Sld2ZkdXMnJiLzYxYTlTaksySTA2N21tODQ0NDR5
dXgrUEFnUU96YjhjcFdaLzYxS2RtCm42L2tnKzk5NzNzcEx0VjcxbGxucFYvKzhwY3A0bjNaeTE3
V25RNFdBOTNqRkswOHhYZ1FFd0VDQkFnUUlFQ0FBQUVDU3hNWXFnREoKZzd6bkhvUmZldW1sNlRH
UGVVeDNoYW9IUGVoQjZlcFh2M3BYVU9TUUxycm9vcTR3dWZ2ZDc5NjlGTVZJdmlwV3ZQQ3doejJz
dXdwVwpYQjBydGhFRndQT2YvL3paMyswNGRPaFFpcUltVDdHOWVCNnZ4eFRyaTJsdVhOMkwvWCtp
VnlhMkYwVk5ucUxneUZNTWZML0RIZTdRCkRaeVAxK09LVnpIRmI1M2M5NzczdlV4UFRneW9qOEh3
UC8vNXo5TVBmL2pEcm5ESjYxbHFuSGs5N2drUUlFQ0FBQUVDQkFpMExuREsKVTdEZTg1NzNwTGUr
OWEyZHd4T2YrTVJ1VUhnVUFuR2xxaWd3NG5TakdDd2U0eUErOElFUHBELzZvei9xcmk0Vmc4Zi85
Vi8vTmIzMwp2ZS90VG5HSzA1dSsrdFd2cHU5Ly8vdmRGYWppNmxnM3ZPRU4wMnRlODVvVWc4bGpH
ekVPNHcxdmVFTjMyZHU0SE8vSFAvN3hydUNJCkhwRnI5d2VSLzh1Ly9FdjNQQzdqKytRblB6bjk0
ei8rWXhkWDlNRGMrTVkzN3BiTENZc3hLZi8yYi8vV25mNFZwMVE5L3ZHUDc5NzYKei8vOHp4Uy9r
QjZuWFgzdWM1L3Jyc3lWbDRuMXhRRHpLMS81eXQxdm4rUXJlTVdsaGVOeEhrQWZZMVdpSFZIQXhM
aVdoY1I1dDd2ZApMVy9PUFFFQ0JBZ1FJRUNBQUlHeEV4anFsOUFYb2hLOURYSHAyeWhNNGdwUncw
elJzeEJYbzdyV3RhNDFPeDVqbU9VV09rOWM1amV1CmZoVzlMTkU3TWpnZ1BucFJJdVlvckdJZy9h
Wk5teTZ6K29neGVsK2k0SWdlajhIQjlwZVowUk1DQkFnUUlFQ0FBQUVDQkU0b2NNb2UKa0JNdWVZ
STNvaWZrekRQUFBNRzc4NzhjVjhFYXRsaVpmdzBMZXpXS2k3a0ZSaFFmTWVWZmZaKzd4b2d4VDRx
UExPR2VBQUVDQkFnUQpJRUNBd01JRWhob0RzckJWbGpsMzlIRGs4UnRsUmlncUFnUUlFQ0JBZ0FB
QkF1MExMUHNwV0tXU3Zmbk5iMDQvL2VsUHUvRGlGOVhQClBmZmNVa01WRndFQ0JBZ1FJRUNBQUlG
bUJjYW1BR2syZ3hwR2dBQUJBZ1FJRUNCQW9DS0JzVGtGcTZLY0NKVUFBUUlFQ0JBZ1FJQkEKc3dL
TEtrRGlhbERmK2M1M2hrYUp5L1orL3ZPZkgzcitwY3dZditjUmw4ZzFFU0JBZ0FBQkFnUUlFQ0JR
bnNDQ0M1RDRwZlA0M1kvNApBY0pocHZnQnY3UFBQanZkLy83M0gyYjJKYzhUdi9GeHYvdmRiOG5y
c1FJQ0JBZ1FJRUNBQUFFQ0JKWmZZTUVGU1B5V3hoM3ZlTWVoCmZ3ZmoxcmUrZFhyRUl4NngvSkdm
WUkzeEd4L3ZlOS83WnQrTjNwZjR3Y0JSVDZYRU1Xb0gyeWRBZ0FBQkFnUUlFQmh2Z1FVVklIRXAK
MjVqaVY4VHo3MllNd3hlL29SRy9EN0lTVS96dzRlQjArY3RmZnZaM1NPSUhBLy80ai84NGZlWXpu
eG1jWmQ3SGh3OGZudmYxNVhoeApJWEVzeC9hc2d3QUJBZ1FJRUNCQWdFQ3BBa1A5RUdIOGF2alRu
dmEwZE9Vclg3bjdMWTF2ZnZPYmFjT0dEYk50MnJ0M2J6cnZ2UFBTCmFhZWRsbjc0d3grbWExN3pt
dW44ODgvdmZqVjhkcWFCQnllYi8rS0xMMDZ2Zi8zcnUxOHBqMThkZi9uTFg1NCs5S0VQcFZ2ZDZs
WUQKYTBqcG5lOThaOXExYTFlNjVKSkwwdnZmLy81dWpNa3ZmdkdMOU5hM3ZqVzk5NzN2VFYvNHdo
ZTZaVC93Z1E5MHY4d2VjYjNtTmE4NQo3Z2NJUC83eGo2ZUxMcnFvSzVCaVBiSHRHOS80eHQweWIz
akRHMUlVSm5lNjA1MVNuTnExZHUzYTlLcFh2U3B0M3J3NVBlOTV6MHVmCis5em4waE9mK01UMHpH
YytzNHR0NTg2ZFhidS8rdFd2cG1qanExLzk2blNiMjl6bXVEamlrc0FtQWdRSUVDQkFnQUFCQW1N
cDBPOUIKT09WMHIzdmRxL2VPZDd5am02OC9BTDEzMWF0ZXRYZVh1OXhsZHJsenpqbW45NWEzdktW
N2Z2RGd3VjYvV09qZCs5NzNubjMvbGE5OApaYTlmdk13K1A5bjgvY0todDIzYnRsNS9uRW52UGU5
NVQrK3hqMzFzNzN2Zis5N3NzdkdnMzZQUTY0OHJtWDN0eVU5K2NpL2krdFd2CmZ0VjczT01lMTd2
Q0ZhNHcrOTYxcjMzdDNndGYrTUxaNTRNUCtxZEY5YTUydGF2MVB2R0pUM1F2UC9lNXorMDk0QUVQ
NkI3LzRBYy8KNk4zODVqZnZuWEhHR1YwYy9TS3M5NkFIUGFoM3ZldGRyMXZmYjM3em05NXpudk9j
WHI5bnA5Y3ZoSHI5UXFWM2ozdmNvOWN2aUxwWQpJdTRyWHZHS3ZkMjdkM2ZyTzFrY2d6RjVUSUFB
QVFJRUNCQWdRS0JsZ1ZPZWd2WEZMMzR4WFhEQkJlbHVkN3RiVjZERnFWZjN2T2M5Clo0dTFEMy80
dyttem4vMXNldWhESDlxOXRtN2R1dlNvUnowcWZmQ0RIK3g2SVdabi9OMkRVODBmUFFiWHYvNzEw
dzF1Y0lQVUx3YlMKNjE3M3V0bFRxdks2OXV6Wms3Nys5YTkzY2NWcmozNzBvMU0vU1YydnlVMXVj
cFB1Y1o0MzdrOTArbGZFR29QamIzclRtM2F6eCtsYgozLzcydDd2SDE3M3VkYnZCOWplNjBZMjZP
S0kzSmdhMy8vakhQMDdQZU1ZelVzejdwQ2M5cWR0V3ZQYXVkNzJyZXh5bmUwVWJyM0tWCnE2UmYv
L3JYNmNJTEwreldGLytjS0k3WkdUd2dRSUFBQVFJRUNCQWcwTGpBS1F1UVQzM3FVMTFCc0hYcjFs
bUtPQVVwSDB4LytjdGYKN2c3ODQyQStUL2wwcWE5OTdXdjVwZG43WWVhUGcvMSs3OEhzTW5NZjlI
czR1c0xoUHZlNVQzckNFNTZRK3IwTDNlbFJNVi9FbFdQTAp5ODE5UHZoNnYzY21SVUVUcDR4OSt0
T2ZUdFBUMC9udDQ5YXpaY3VXMmZmaXdlbW5uOTQ5ajBJalR2bUtvaVRHdThUdDlyZS9mZnJvClJ6
K2FibkdMVzh3dWM2STRabWZ3Z0FBQkFnUUlFQ0JBZ0VEakFxY2NBL0xUbi80MDlVODNPbzRoSDB6
SCtKQjRQOFk4UkdFU1UvUkMKeEVEMWZmdjJIYmZjUXVjL2JnVy9lK0h0YjM5NzZwOEtsbDd4aWxl
a0dEZnlrWTk4WkxZZ09ORXk4NzBlWXo2aUIrZU5iM3hqK3FkLworcWNVQmRLSnB1ajl5ZTJPZVFZ
ZmgwRzArYzUzdnZPSkZ2YzZBUUlFQ0JBZ1FJQUFnYkVYT0dVUFNCemt4MS80KytNdzVzV0swNlhp
Cmh3bmo5MEh5MUIrTDBRM2VqdE9vNWs0TG5YL3U4dkg4bDcvOFpZcHR2T3hsTCt0T2QvckdONzZS
K21OVTVwdTFlMjJ3VUJpYzZWdmYKK2xaNi9PTWZuMTd5a3BjTWZWbmh3ZVVISDU5eHhobGRqOGVC
QXdkbVg0N1R3cUlIS1U4bmlpTy83NTRBQVFJRUNCQWdRSUJBNndLbgpMRUFlOHBDSGRIL1pqN0VZ
ZVlwZlFZKy8rRWZoMFIrWW5hNSs5YXQzQjkvNS9iaXFWQlFhZDcvNzNidVgrZ1BUVTF5S05xWmg1
bzhyClQ4M016SFR6ei9kUC9OcDVYQVVycHJ2ZTlhN3B2dmU5NzJ6dlMvU3d4TEp4OEI5VG5Eb1d2
VGd4OVFlRWQvZjVueGp2RVpjV2prSWsKMmhLbllFVUJFY3ZHTFdLTzEvTVV2K1VSejNOYjhxVjdZ
eDBQZTlqRFVsd0Zxei80dk50T0ZFanhteVJubm5sbXQvaGdISGw5N2drUQpJRUNBQUFFQ0JBaU1t
OERhL3BXZm5udXlSbS9mdmozMXIvelVIVXpISlc1alVIVWNjRWRSTVRVMTFZMXhpTXZVdnVoRkwr
b08vUC8zCmYvODN2ZTF0YjB1dmZlMXIwNVd1ZEtYdWxLWVlYeEdYd2QyeFkwZjNxK2h4bXRLSjVv
OVRxK0x5dHpHdyt4clh1RWFLUWVCenAraVIKZWNwVG50SmRDdmhuUC90WmlsdGNKamdLbitnVitl
Ly8vdSt1OERqcnJMTzZ5d2Ivd3ovOFEvcWYvL21mN25LNm16WnRtbDFkakIySgpBZlp4dWR5STc5
eHp6KzFpandJcnhxQzgrTVV2N3BhUFgzS1BxWDgxcmZUZDczNjMrdzJVL2hXeXVtMzFyNkRWV1VR
UkZNWEdTMS82CjBxNXRiM3JUbTdyQjhYazh6RTkrOHBPVTQ0aDVUUVFJRUNCQWdBQUJBZ1RHVVdD
aS81Zit5LzZTM3drVTRpLy8wWU1RQThDamwyRHcKZDBCaWtWaE4vOUsxM2NGNVhFSHFWTk5DNXg5
Y1h4UkFNUjRqQm8vSDRQZkJvbUp3dnZ3NGVtc2k3aE5OMFdNU0E5OWppdDZOd1FIMQpKMXJtUks5
SFlSYkZ4cld1ZGEydTUyaHd2bFBGTVRpdnh3UUlFQ0JBZ0FBQkFnUmFGQmk2QUdteDhkcEVnQUFC
QWdRSUVDQkFnTURxCkNweHlETWpxaG1OckJBZ1FJRUNBQUFFQ0JBaTBMS0FBYVRtNzJrYUFBQUVD
QkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0IKbGdVVUlDMW5WOXNJRUNCQWdBQUJBZ1FJ
RkNhZ0FDa3NJY0loUUlBQUFRSUVDQkFnMExLQUFxVGw3R29iQVFJRUNCQWdRSUFBZ2NJRQpGQ0NG
SlVRNEJBZ1FJRUNBQUFFQ0JGb1dVSUMwbkYxdEkwQ0FBQUVDQkFnUUlGQ1lnQUtrc0lRSWh3QUJB
Z1FJRUNCQWdFRExBZ3FRCmxyT3JiUVFJRUNCQWdBQUJBZ1FLRTFDQUZKWVE0UkFnUUlBQUFRSUVD
QkJvV1VBQjBuSjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVMKSWh3Q0JBZ1FJRUNBQUFFQ0xRc29R
RnJPcnJZUklFQ0FBQUVDQkFnUUtFeEFBVkpZUW9SRGdBQUJBZ1FJRUNCQW9HVUJCVWpMMmRVMgpB
Z1FJRUNCQWdBQUJBb1VKS0VBS1M0aHdDQkFnUUlBQUFRSUVDTFFzb0FCcE9idmFSb0FBQVFJRUNC
QWdRS0F3QVFWSVlRa1JEZ0VDCkJBZ1FJRUNBQUlHV0JSUWdMV2RYMndnUUlFQ0FBQUVDQkFnVUpx
QUFLU3dod2lGQWdBQUJBZ1FJRUNEUXNvQUNwT1hzYWhzQkFnUUkKRUNCQWdBQ0J3Z1FVSUlVbFJE
Z0VDQkFnUUlBQUFRSUVXaFpRZ0xTY1hXMGpRSUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFn
UQpJRUNBUU1zQ0NwQ1dzNnR0QkFnUUlFQ0FBQUVDQkFvVFVJQVVsaERoRUNCQWdBQUJBZ1FJRUdo
WlFBSFNjbmExalFBQkFnUUlFQ0JBCmdFQmhBZ3FRd2hJaUhBSUVDQkFnUUlBQUFRSXRDeWhBV3M2
dXRoRWdRSUFBQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2cKWlFFRlNNdloxVFlDQkFn
UUlFQ0FBQUVDaFFrb1FBcExpSEFJRUNCQWdBQUJBZ1FJdEN5Z0FHazV1OXBHZ0FBQkFnUUlFQ0JB
b0RBQgpCVWhoQ1JFT0FRSUVDQkFnUUlBQWdaWUZGQ0F0WjFmYkNCQWdRSUFBQVFJRUNCUW1vQUFw
TENIQ0lVQ0FBQUVDQkFnUUlOQ3lnQUtrCjVleHFHd0VDQkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJ
RUNCQWdBQUJBZ1JhRmxDQXRKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0UKQ0ljQUFRSUVDQkFn
UUlCQXl3SUtrSmF6cTIwRUNCQWdRSUFBQVFJRUNoTlFnQlNXRU9FUUlFQ0FBQUVDQkFnUWFGbEFB
ZEp5ZHJXTgpBQUVDQkFnUUlFQ0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQWdBQUJBaTBMS0VCYXpxNjJF
U0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBCkFRSUVDQkFnUUtCbEFRVkl5OW5WTmdJRUNCQWdR
SUFBQVFLRkNTaEFDa3VJY0FnUUlFQ0FBQUVDQkFpMExLQUFhVG03MmthQUFBRUMKQkFnUUlFQ2dN
QUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JsZ1VVSUMxblY5c0lFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0lj
SWhRSUFBQVFJRQpDQkFnMExLQUFxVGw3R29iQVFJRUNCQWdRSUFBZ2NJRUZDQ0ZKVVE0QkFnUUlF
Q0FBQUVDQkZvV1VJQzBuRjF0STBDQUFBRUNCQWdRCklGQ1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdF
RExBZ3FRbHJPcmJRUUlFQ0JBZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFBQVFJRUNCQm8KV1VBQjBu
SjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJaHdDQkFnUUlFQ0FBQUVDTFFzb1FGck9ycllSSUVD
QUFBRUNCQWdRS0V4QQpBVkpZUW9SRGdBQUJBZ1FJRUNCQW9HVUJCVWpMMmRVMkFnUUlFQ0JBZ0FB
QkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNMUXNvQUJwCk9idmFSb0FBQVFJRUNCQWdRS0F3QVFW
SVlRa1JEZ0VDQkFnUUlFQ0FBSUdXQlJRZ0xXZFgyd2dRSUVDQUFBRUNCQWdVSnFBQUtTd2gKd2lG
QWdBQUJBZ1FJRUNEUXNvQUNwT1hzYWhzQkFnUUlFQ0JBZ0FDQndnUVVJSVVsUkRnRUNCQWdRSUFB
QVFJRVdoWlFnTFNjWFcwagpRSUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUUlFQ0FRTXND
Q3BDV3M2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBCmdBQUJBZ1FJRUdoWlFBSFNjbmEx
alFBQkFnUUlFQ0JBZ0VCaEFncVF3aElpSEFJRUNCQWdRSUFBQVFJdEN5aEFXczZ1dGhFZ1FJQUEK
QVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2daUUVGU012WjFUWUNCQWdRSUVDQUFBRUNo
UWtvUUFwTGlIQUlFQ0JBZ0FBQgpBZ1FJdEN5Z0FHazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhD
UkVPQVFJRUNCQWdRSUFBZ1pZRkZDQXRaMWZiQ0JBZ1FJQUFBUUlFCkNCUW1vQUFwTENIQ0lVQ0FB
QUVDQkFnUUlOQ3lnQUtrNWV4cUd3RUNCQWdRSUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFn
UmEKRmxDQXRKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0VDSWNBQVFJRUNCQWdRSUJBeXdJS2tK
YXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUQpnQlNXRU9FUUlFQ0FBQUVDQkFnUWFGbEFBZEp5ZHJXTkFB
RUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FBQkFpMExLRUJhCnpxNjJFU0JBZ0FBQkFn
UUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWdRS0JsQVFWSXk5blZOZ0lFQ0JBZ1FJQUFBUUtGQ1No
QUNrdUkKY0FnUUlFQ0FBQUVDQkFpMExLQUFhVG03MmthQUFBRUNCQWdRSUVDZ01BRUZTR0VKRVE0
QkFnUUlFQ0JBZ0FDQmxnVVVJQzFuVjlzSQpFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJ
RUNCQWcwTEtBQXFUbDdHb2JBUUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRCQWdRCklFQ0FBQUVDQkZv
V1VJQzBuRjF0STBDQUFBRUNCQWdRSUZDWXdQOEhsd0JQcVJXOEFCOEFBQUFBU1VWT1JLNUNZSUk9
CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90cmFuc2Zvcm0t
cmVwbGFjZWQtc2hhZG93cy1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoK
aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpR
ME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIv
UkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZL
TjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZF
SnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQ
MUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZF
QTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllx
R2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dB
VnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xx
SEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVD
R1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pM
OFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5Y
UjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUz
MzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1Bp
S1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0
dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRV
M0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3Bt
Tk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVR
dmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVR
VlI0QWUzZDI1WWI1UkVGNExFeGhNTkZDQzhVM2dKZWxQdndSQ1FYNFdBTVRtcXl5dm5kYUlZWmph
enE2ZjFwTGRHdFZrdlYKOVpVdi9pM0o1c1hiLzk1dTNBZ1FJUEFBZ1crLy9mWUJaem1GQUFFQ0JB
Z1FJSEMzd011N24vSU1BUUlFQ0JBZ1FJQUFBUUlFTGlzZwpnRnpXMDdzUklFQ0FBQUVDQkFnUUlI
Q1BnQUJ5RDQ2bkNCQWdRSUFBQVFJRUNCQzRySUFBY2xsUDcwYUFBQUVDQkFnUUlFQ0F3RDBDCkFz
ZzlPSjRpUUlBQUFRSUVDQkFnUU9DeUFnTElaVDI5R3dFQ0JBZ1FJRUNBQUFFQzl3Z0lJUGZnZUlv
QUFRSUVDQkFnUUlBQWdjc0sKdlBEL0Fia3NxSGNqUUlBQUFRSUVDQkFna0N6d1ovL2ZNTitBSlAv
cDBEc0JBZ1FJRUNCQWdBQ0JLd3NJSUZjR1Y0NEFBUUlFQ0JBZwpRSUJBc29BQWtqeDl2Uk1nUUlB
QUFRSUVDQkM0c29BQWNtVnc1UWdRSUVDQUFBRUNCQWdrQ3dnZ3lkUFhPd0VDQkFnUUlFQ0FBSUVy
CkN3Z2dWd1pYamdBQkFnUUlFQ0JBZ0VDeWdBQ1NQSDI5RXlCQWdBQUJBZ1FJRUxpeWdBQnlaWERs
Q0JBZ1FJQUFBUUlFQ0NRTENDREoKMDljN0FRSUVDQkFnUUlBQWdTc0xDQ0JYQmxlT0FBRUNCQWdR
SUVDQVFMS0FBSkk4ZmIwVElFQ0FBQUVDQkFnUXVMS0FBSEpsY09VSQpFQ0JBZ0FBQkFnUUlKQXNJ
SU1uVDF6c0JBZ1FJRUNCQWdBQ0JLd3NJSUZjR1Y0NEFBUUlFQ0JBZ1FJQkFzb0FBa2p4OXZSTWdR
SUFBCkFRSUVDQkM0c29BQWNtVnc1UWdRSUVDQUFBRUNCQWdrQ3dnZ3lkUFhPd0VDQkFnUUlFQ0FB
SUVyQ3dnZ1Z3WlhqZ0FCQWdRSUVDQkEKZ0VDeWdBQ1NQSDI5RXlCQWdBQUJBZ1FJRUxpeXdLc3Ix
N3Y1L3Z2dnIxMVN2WHNFL3Y3M3Y5L3pyS2NJRUNCQWdBQUJBZ1FJWEZiZwo2Z0drTHY4Zi8vakha
YnZ3Ym1jSmZQMzExMmU5em9zSUVDQkFnQUFCQWdRSW5DdmdKMWpueW5rZEFRSUVDQkFnUUlBQUFR
S1BGaEJBCkhrM21CUVFJRUNCQWdBQUJBZ1FJbkNzZ2dKd3I1M1VFQ0JBZ1FJQUFBUUlFQ0R4YVFB
QjVOSmtYRUNCQWdBQUJBZ1FJRUNCd3JzQlYKQThqYnQyL1B2VTZ2KzBBQ1p2S0JZTDB0QVFJRUNC
QWdRSURBU1lFUC9xOWdXZUNlZE4vVndYVkdMMTY4Mk5XMXVSZ0NCQWdRSUVDQQpBSUZqQ1h5d2Iw
QnFVYnN1Ykl0dCsvaFlsTSt6bSsxTVRzM3RlWGJtcWdrUUlFQ0FBQUVDQlBZb2NQRnZRRTR0YUt2
eDdmRTlZaVJlClV3ZU8vdWFqdHoydmZweG9vMmNDQkFnUUlFQ0FBSUhMQzF3MGdQU2l0UzZ6Rjda
OXlkdkhmZHgyVnVEMzMzKy9XVU5HemFrZTk3RisKUEh1VnFoTWdRSUFBQVFJRUNCeEY0S0lCcEZC
cXdicmRkdmpvNTI1UDhKOWRDSFFBNmRCUjIzVk9IVVIyY2JFdWdnQUJBZ1FJRUNCQQo0TmtMWEN5
QXJJdldOWEQwZmkxMDYrNjJMNEUzYjk3Y3ZIejU4dmEraHBDNnlnNGZOY1BlMzlmVnV4b0NCQWdR
SUVDQUFJSG5KbkN4CkFGS05kOWpvYlFXTzJ1L3dJWURzNzQvSGI3Lzk5bTV1RlVRcWFOUjJ2UWtm
cTRaOUFnUUlFQ0JBZ0FDQnB3aGNKSUJVeU9qYkdqNDYKZU5RaXQvWnI2N1l2Z1Y5Ly9mWG1vNDgr
dWcwZHZhMHI3QkRTNGFQbTJ2djc2c0RWRUNCQWdBQUJBZ1FJUENlQml3U1FhcmlEUjIwcgpiUFMy
UWtmOXpLZnVBc2orL21pOGZ2MzZOb0M4ZXZYL1B3b1ZOR3FHRlVKcWpuVVRQdlkzTzFkRWdBQUJB
Z1FJRUhpT0F2OWZkWjU1CjliMUFyWmQzOEtoakZUWTZmTlNuN0JWQWF1dTJMNEZmZnZubDV1T1BQ
MzRYTlBycTZ0dVFEcEcxWDdkNkxJaTBrQzBCQWdRSUVDQkEKZ01BNUFrOE9JRlcwRnFaMTcvMyt1
VldIamdvZTlVbDczZDMySmZEenp6Ky9DNDdybFZYUTZIdlBWdmhZaGV3VElFQ0FBQUVDQkFpYwpJ
L0NrQU5JTDB5cmNJYVRDUndlUS9nYWt3MGQ5MnU2Mkw0RjFKaFV3MXIrSXZnYVFEaDgxNTk3ZlZ5
ZXVoZ0FCQWdRSUVDQkE0RGtJClBDbUFWSU1kUEhxN0RSLzk3VWN0ZEgvNjZhZm5ZQkoxamV0TUtu
eHNBMGovUFpDYWI5MkVqNmcvSHBvbFFJQUFBUUlFQ0Z4YzRNa0IKcEs2b3cwZHQreHVRMnZaUHNP
b2JrQW9nOVhNZkM5aUx6L0JKYjFnejZkQlJmOWVqN3ozSGRiWm05eVJxTHlaQWdBQUJBZ1FJRVBp
dgp3UHYvdzRkSGtQUW40dXRMYXRIYUlhUi9mdFhmZ05SQ3QrNXUreExvdVZSSXJGbjF2MWEyem5K
N3hhZG12ejNIWXdJRUNCQWdRSUFBCkFRS25CTTRPSVAxbTZ5ZmtIVDc2MjQ5YXpLN2ZncXcvOStu
WDI4NEsxRXpXOE5Fek8vVU5pT0F4T3l2VkNSQWdRSUFBQVFKSEVIaFMKQU9ud1VSQzl2dzBoL1Ex
SS9RUnIvUXZQUjhBN1FnODlseldFbkFvZjY0eVAwTGNlQ0JBZ1FJQUFBUUlFWmdTZUZFQzJsOXdo
cEJhdwoyLzhQU0FlUjdXczhuaFhvNExIKy9LcG1WelBzZWM1ZW9lb0VDQkFnUUlBQUFRSkhFcmhJ
QU9tRmFtLzdFL1ExaU5SQzF6Y2crL3VqClV6T3AyWFJnWEdmWDgrenQvcTdlRlJFZ1FJQUFBUUlF
Q0R3M2dZc0VrTFhwV3NEV2JRMGYvZmNLNmxOMnQzMEo5RGNmTmFNMWhOUlYKOWl6M2RjV3VoZ0FC
QWdRSUVDQkE0RGtMbkJWQTZoUHg5ZGFma1BmeFdyajJzVFdJMUFMWGJWOENIVHBxdTUxYlhXblBz
V2ZiVjc5OQozTWR0Q1JBZ1FJQUFBUUlFQ053bmNGWUF1ZThOMXdWcjdkZWlkZzBoOTczV2M5Y1g2
QURTYzlyTzcvcFhwQ0lCQWdRSUVDQkFnTUNSCkJTNGFRTGFmaXErTDJWN2dIaG56T2ZiV2MxbG50
ZmF4bmVuNm5IMENCQWdRSUVDQUFBRUNqeFc0YUFDcDR1dENkcnZ2SjFpUEhjK0gKUDc5bXNwM1Qr
dmpEWDRFS0JBZ1FJRUNBQUFFQ1NRSVhEU0MxY08zYnVvanQvWDdPZGw4Q1BaOTEyMWRZeDl3SUVD
QkFnQUFCQWdRSQpYRXJnWWdIa3JvWHF1cWl0bi91NDdVdWdackxPNk5UVjNUWGJVK2M2Um9BQUFR
SUVDQkFnUU9BK2dZc0ZrUHVLZUk0QUFRSUVDQkFnClFJQUFBUUlsY0xVQTRsUDAvZjZCTTV2OXpz
YVZFU0JBZ0FBQkFnU09KbkNWQU5JTDNONGVEZkU1OTlNejZlMXo3c1cxRXlCQWdBQUIKQWdRSTdG
L2dLZ0ZrL3d5dWtBQUJBZ1FJRUNCQWdBQ0Jhd2hjTFlENGhQMGE0enl2aHRtYzUrWlZCQWdRSUVD
QUFBRUNqeGU0V2dCNQovS1Y1QlFFQ0JBZ1FJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFn
UTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPCk5sSDlFQ0JBZ0FBQkFnUUlFTml4Z0FD
eTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGgKdURR
Q0JBZ1FJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JB
Z0FBQkFrY1RFRUNPTmxIOQpFQ0JBZ0FBQkFnUUlFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpI
RXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDCkJBZ1FJRUNBQUFFQ1J4TVFRSTQy
VWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkEK
Z0FBQkFnUUlFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVD
QkRZc1lBQXN1UGh1RFFDQkFnUQpJRUNBQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FB
TExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCCkFnUUlFTml4Z0FDeTQrRzRO
QUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlF
Q0EKQUFFQ1J4TVFRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFr
Y1RFRUNPTmxIOUVDQkFnQUFCQWdRSQpFTml4Z0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpq
WlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDClJ4TVFRSTQyVWYwUUlF
Q0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdR
SUVOaXgKZ0FDeTQrRzROQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lB
QXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhNUQpRSTQyVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJn
MEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5CjQrRzROQUlFQ0JB
Z1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVD
UnhNUVFJNDIKVWYwUUlFQ0FBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNP
TmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5NCtHNApOQUlFQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFn
UUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRCklFQ0FBQUVD
QkFnUTJMR0FBTExqNGJnMEFnUUlFQ0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhn
QUN5NCtHNE5BSUUKQ0JBZ1FJQUFBUUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1
RFFDQkFnUUlFQ0FBQUVDUnhNUVFJNDJVZjBRSUVDQQpBQUVDQkFnUTJMR0FBTExqNGJnMEFnUUlF
Q0JBZ0FBQkFrY1RFRUNPTmxIOUVDQkFnQUFCQWdRSUVOaXhnQUN5NCtHNE5BSUVDQkFnClFJQUFB
UUpIRXhCQWpqWlIvUkFnUUlBQUFRSUVDQkRZc1lBQXN1UGh1RFFDQkFnUUlFQ0FBQUVDUnhONE5k
SFExMTkvUFZGV1RRSUUKQ0JBZ1FJQUFBUUlFaGdXdUhrQysrKzY3bXg5KytPSDIvczkvL3ZQbVgv
LzYxODIvLy8zdjIvdVBQLzU0OC9yMTY1czNiOTY4dTVmUAoyN2R2YisvRFZyc3UvK0xGaTV1NjEr
M1ZxMWZ2N3A5ODhzbk41NTkvZnZQRkYxL2Mzdi82MTcvZWZQbmxsemQvKzl2ZmJ1OWZmZlhWCnJ2
dHljUVFJRUNCQWdBQUJBc2NTOEJPc1k4MVROd1FJRUNCQWdBQUJBZ1IyTFhEMUFOS2YwajlFNVRI
blB1VDlFczU1ak5sanprMncKMHlNQkFnUUlFQ0JBZ01DSEY3aGFBSG5JWXZjaDUzeDRrbU5WZUlq
cFE4NDVsb3B1Q0JBZ1FJQUFBUUlFcGdTdUZrQWUydUM2R0Y3MwpIL3I2OVBOV3MzVS8zVVgvQkFn
UUlFQ0FBQUVDK3hDNFNnRHBoWEJ2MTliN1dHMTdmMzNlL3RNRVZ0ZFR2bjJzdDArcjV0VUVDQkFn
ClFJQUFBUUlFN2hlNDJyK0N0VjNnMXVQdHZTLzFydVA5dk8wZkJiWm05Ymh2OXoxWDU2em45bXRz
Q1JBZ1FJQUFBUUlFQ0h3SWdhc0YKa0w3NFhneXZqM3YvNWN1WGZ3Z2xGc2V0Yy8rMlhiZmJNdTNi
YXRubjlYTzJCQWdRSUVDQUFBRUNCSzRoY0xFQXNpNXUxd3Z2aFc1dAp0d0dqSC9lMno5ays5djhC
V1VWUDc2L09kem4yOGZYYzFicU9uN3JkZGZ6VXVZNFJJRUNBQUFFQ0JBZ1F1RS9nWWdHa2lxd0wx
WFdSCjIvdDlUaTE2ZStIYit4OTk5Tkh0c2RyKy92dnZON1d0MTlXK0FITGZDUC8zWEJ1M1oyMVgw
ejVlNTYzN1BaTitmVys3WWoxMkkwQ0EKQUFFQ0JBZ1FJSEFwZ1lzR2tMcW9Yc0NlMnZhQ3VKNnIv
ZTI5L2cvZXYvMzIyN3ZBVVF0bEFlUmhvMjd2TXF2OXNpemYzbTZ0NjV3Ngp0NDczYTA5dEgxYmRX
UVFJRUNCQWdBQUJBZ1FlSm5EUkFGSUwyUFcyTG1qN1UvZDFVVnlMNCsyOUFrZS9iZzBqOVMySTI5
MENiVmJiCk50N2E5dU4rdnJZOWwvWDFhNVU2N2thQUFBRUNCQWdRSUVEZ1VnSVhEU0IxVWV0Q3R2
WjdnVnVMM2I3M1F2ampqeisrcWZzbm4zeHkKOCtiTm05dHZPK285K2pVVlJ1cGVOd0hrbHVITy8z
UlFhTHMyTHR1K3QzYy8xL080SzRqMGU5NVoxQk1FQ0JBZ1FJQUFBUUlFSGlsdwpWZ0NwaGVrYUNP
cHgzNnQrTFlMN2NlMnZDOTFlQlBlaStDOS8rY3Nmd2tlRmticFhEVC9CZXRoRVYrL2E3NUJSenA5
Kyt1bE5PZGU5CjNYc082MnkyYzZ2Sy9iNjFYVy9ieCt0ejlna1FJRUNBQUFFQ0JBamNKWEJXQUxu
cnplcDRMV0o3MjR2YlhnejN0eDI5R0s2RmNRV04KK3FsVnY2Yk83V1A5RGNnYWRtNVA5SitUQWhV
S3lyOURYMWxXNENqdnN1NTcrOWR6TlpPZVQ4OXJuZUhKUWc0U0lFQ0FBQUVDQkFnUQpPRlBnSWdG
ay9aUjhYUVQzUXJnV3RyMFE3dTFubjMzMjNqY2ZkVTR2bUxjQnBIb1RRdTZmY0g4anNRMGdGVEE2
Z0h6KytlYzM1VjczCk90YXpxTzBhUHZvOXRuTzkvd284UzRBQUFRSUVDQkFnUU9EUEJTNFNRTHBN
TDFqWDRGR2hvbi91VXd2ZCtoVCsxMTkvZlM5ODFQa2QKUHVxNStrWmsvUWxXdjM5dEJaRlY0LzEv
K3JpZUtjdWFRM2xXcU9odm5jcTlnc2NYWDN6eExvVFVzWnBKejZkZlU2L3I5K2xnODM1Vgpqd2dR
SUVDQUFBRUNCQWljSi9Da0FOS0JvMEpCNzllMkZxOGRLbm9CWEorNHYzNzkralo4Vk1Eb3YxemU1
OVZDdUo1ZnYvMVkveFdzCjg5ckxlbFhQb0FORWJUdllsWDkvKzFFaHBMNE5xUUJTeC92YmtKcFZu
ZC96Ni9lcmJkMzZjWmFxYmdrUUlFQ0FBQUVDQkM0cDhLUUEKVWhmU2k5TGU5dUsxRnJKOTd4QlND
K0QxTDVWMytLam5PNXhVQUtsek9xUlV1UEd0eDhOR3ZzNmdRMGpOb1AzN1c1Q2FRd1dRL2tsVwpm
d3ZTODZwdHo3SGZzN2NQdXhKbkVTQkFnQUFCQWdRSUVEZ3RjSFlBcVFYcE5oalVvcldPMTdZL2Zl
L0ZiLytGOHY3bW84NnJjK3I1CitnUytmbnJWUDcvYWhvOXRuZE90T05vaFlaMUJHN2R6ZnhQUzRh
TkN5ZnBUckFvZkhWNzZmYmF5ZGR5TkFBRUNCQWdRSUVDQXdEa0MKWndlUXRkaDI0ZHVmbnZlbjcv
MVRxZzRmL1h3dGluLzU1WmQzUDcxYWYzNVY1L2EzSHdMSXFuMzMvcWs1ZEJDc1dkUTNIZjJUcS9v
VwpwTVBIWFQvQjZrRFo3M3QzWmM4UUlFQ0FBQUVDQkFnUWVKakFrd05JZnhyZWk5VCs5cU1EUkcw
N2VOUWwxWGw5VGkrSUszajB0eDk5CmZyKytYaU9BbE1LZjM5WlpkTWhyNndwN0hVTGF2WUpIaFpC
dEFLblFzbjRMMHJQdDkvL3pLM0VHQVFJRUNCQWdRSUFBZ2RNQ1R3b2cKdFNEdGNOQ0wxRnJ3MXJG
YXdOYTJGcjE5VGwxQ25kZmZqUFRQcm1wYmdhTi9ldFhoWTMzZHVuKzZsZXlqYXpoWVo5RUJwTFlW
UXZyZQpmKytqdG4ydnVhemhvMTdUNzlXNmE1MCtaa3VBQUFFQ0JBZ1FJRURnb1FKUENpQmRaRjJV
MW40dmV2djUycTdIZXhGY3dhTi9kdFhoCm80SkdCWkM2MVg0SGo5N2VQdUUvZnhEb0dkUzI5enRB
OUR3cVhIVDQ2MjlFZWhaOXZFTkl2N1lLcmUvNWg4SU9FQ0JBZ0FBQkFnUUkKRUhpRXdKTURTQzFP
T3h6VW9yWENReDJyeGU1NnEyTzlFSzdRVVF2ZjdUY2Y5VDYrL1ZqVkhyZGZ4bjJyL1RidmJjMmta
bEQySFVZNgpjTlMyOSt1NTlmWHJlL2ErYmFiQXQ5OSttOW00cmdrUUlFQ0FBSUdMQ1R3NWdQU1Yx
SUsxYnIzWXJTQlJpOTIrMVg1OXk5RUwzOXF2Cm4vNzBOeDlyOE9oQXM5MzJlOW1lRmxoblVHZDBp
T2laZEFEc2JjMmk3MzJzdG4zKyt2clRGUjBsUUlBQUFRSUVDQkFnOERpQml3U1EKV3FoMldLajl1
dFZDdG02OWlPMUFVZ3ZlQ2gxMWZvZVAycS83R2tKdVgrdy9UeEpvK3c0VjliaURSdTNYTE9yeGV1
OXorclY5QWZYWQpqUUFCQWdRSUVDQkFnTUJUQlM0U1FQb2l0b3ZVV3RoV3NPakZiRzE3QVZ4aG8z
N3lzNGFPT3JkdXZlMzM3ZTFkeC92NTFPM1d2UjM2CitOYS81OURITzREMDQrMjIzOCtXQUFFQ0JB
Z1FJRUNBd0ZNRkxoWkFhdEhhQWFIMjY5Ykg2bmp0MTBLM0FrZmRPbmpVZmozZjkzcmMKdDM2L2Zt
ejdNSUgyNzdQcmNkL3JXTStpOW1zbS9WeHYrNXphMXEyT3V4RWdRSUFBQVFJRUNCQzRoTURGQWto
ZnpMcFk3ZUJSeHpwZwo5SDR0Zk92V3gzdi85dUE5L3hGSzNzZFp2ZDkvNXYrUCtwemE5bjQ5MjQ5
NzI2L1lQdTdqdGdRSUVDQkFnQUFCQWdTZUtuRFJBRklMCjF3NEl2WWp0eDNXaDYvUHI4ZDd2N1ZP
Yjh2cjNCY3E5YnIxZDkvdllkbnY3Z3MxcitwZ3RBUUlFQ0JBZ1FJQUFnWE1GTGhwQTZpSjYKSWR0
aG9oL1h0bzZ0MnpxL2o5VysyNGNYNkhsVXBkN3Y3VnI5MUxIMWVmc0VDQkFnUUlBQUFRSUV6aEc0
ZUFEcGkrZ0ZiQWVST3Q3SAphdHZIKzFpL3JyYjkzSHJNL3VNRlR0bjJ1OXoxM0YzSCszVzJCQWdR
SUVDQUFBRUNCSjRpOE1FQ1NGL1V1cUJkZzhWNnZNL3Q3WDNQCjlUbTJseFBnZlRsTDcwU0FBQUVD
QkFnUUlIQy93QWNQSUd2NWRhRzdocEgxSFB2WEVWaG5jWjJLcWhBZ1FJQUFBUUlFQ0JDNHVibHEK
QUZuQkxZQlhEZnNFQ0JBZ1FJQUFBUUlFTWdUKzkyL2hadlNxU3dJRUNCQWdRSUFBQVFJRWhnVUVr
T0VCS0UrQUFBRUNCQWdRSUVBZwpTVUFBU1pxMlhna1FJRUNBQUFFQ0JBZ01Dd2dnd3dOUW5nQUJB
Z1FJRUNCQWdFQ1NnQUNTTkcyOUVpQkFnQUFCQWdRSUVCZ1dFRUNHCkI2QThBUUlFQ0JBZ1FJQUFn
U1FCQVNScDJub2xRSUFBQVFJRUNCQWdNQ3dnZ0F3UFFIa0NCQWdRSUVDQUFBRUNTUUlDU05LMDlV
cUEKQUFFQ0JBZ1FJRUJnV0VBQUdSNkE4Z1FJRUNCQWdBQUJBZ1NTQkFTUXBHbnJsUUFCQWdRSUVD
QkFnTUN3Z0FBeVBBRGxDUkFnUUlBQQpBUUlFQ0NRSkNDQkowOVlyQVFJRUNCQWdRSUFBZ1dFQkFX
UjRBTW9USUVDQUFBRUNCQWdRU0JJUVFKS21yVmNDQkFnUUlFQ0FBQUVDCnd3SUN5UEFBbENkQWdB
QUJBZ1FJRUNDUUpDQ0FKRTFicndRSUVDQkFnQUFCQWdTR0JRU1E0UUVvVDRBQUFRSUVDQkFnUUNC
SlFBQkoKbXJaZUNSQWdRSUFBQVFJRUNBd0xDQ0REQTFDZUFBRUNCQWdRSUVDQVFKS0FBSkkwYmIw
U0lFQ0FBQUVDQkFnUUdCWVFRSVlIb0R3QgpBZ1FJRUNCQWdBQ0JKQUVCSkduYWVpVkFnQUFCQWdR
SUVDQXdMQ0NBREE5QWVRSUVDQkFnUUlBQUFRSkpBZ0pJMHJUMVNvQUFBUUlFCkNCQWdRR0JZUUFB
WkhvRHlCQWdRSUVDQUFBRUNCSklFQkpDa2FldVZBQUVDQkFnUUlFQ0F3TENBQURJOEFPVUpFQ0JB
Z0FBQkFnUUkKSkFrSUlFblQxaXNCQWdRSUVDQkFnQUNCWVFFQlpIZ0F5aE1nUUlBQUFRSUVDQkJJ
RWhCQWtxYXRWd0lFQ0JBZ1FJQUFBUUxEQWdMSQo4QUNVSjBDQUFBRUNCQWdRSUpBa0lJQWtUVnV2
QkFnUUlFQ0FBQUVDQklZRkJKRGhBU2hQZ0FBQkFnUUlFQ0JBSUVsQUFFbWF0bDRKCkVDQkFnQUFC
QWdRSURBc0lJTU1EVUo0QUFRSUVDQkFnUUlCQWtvQUFralJ0dlJJZ1FJQUFBUUlFQ0JBWUZoQkFo
Z2VnUEFFQ0JBZ1EKSUVDQUFJRWtBUUVrYWRwNkpVQ0FBQUVDQkFnUUlEQXNJSUFNRDBCNUFnUUlF
Q0JBZ0FBQkFra0NBa2pTdFBWS2dBQUJBZ1FJRUNCQQpZRmhBQUJrZWdQSUVDQkFnUUlBQUFRSUVr
Z1FFa0tScDY1VUFBUUlFQ0JBZ1FJREFzSUFBTWp3QTVRa1FJRUNBQUFFQ0JBZ2tDUWdnClNkUFdL
d0VDQkFnUUlFQ0FBSUZoQVFGa2VBREtFeUJBZ0FBQkFnUUlFRWdTRUVDU3BxMVhBZ1FJRUNCQWdB
QUJBc01DQXNqd0FKUW4KUUlBQUFRSUVDQkFna0NRZ2dDUk5XNjhFQ0JBZ1FJQUFBUUlFaGdVRWtP
RUJLRStBQUFFQ0JBZ1FJRUFnU1VBQVNacTJYZ2tRSUVDQQpBQUVDQkFnTUN3Z2d3d05RbmdBQkFn
UUlFQ0JBZ0VDU2dBQ1NORzI5RWlCQWdBQUJBZ1FJRUJnV0VFQ0dCNkE4QVFJRUNCQWdRSUFBCmdT
UUJBU1JwMm5vbFFJQUFBUUlFQ0JBZ01Dd2dnQXdQUUhrQ0JBZ1FJRUNBQUFFQ1NRSUNTTkswOVVx
QUFBRUNCQWdRSUVCZ1dFQUEKR1I2QThnUUlFQ0JBZ0FBQkFnU1NCQVNRcEducmxRQUJBZ1FJRUNC
QWdNQ3dnQUF5UEFEbENSQWdRSUFBQVFJRUNDUUpDQ0JKMDlZcgpBUUlFQ0JBZ1FJQUFnV0VCQVdS
NEFNb1RJRUNBQUFFQ0JBZ1FTQklRUUpLbXJWY0NCQWdRSUVDQUFBRUN3d0lDeVBBQWxDZEFnQUFC
CkFnUUlFQ0NRSkNDQUpFMWJyd1FJRUNCQWdBQUJBZ1NHQlFTUTRRRW9UNEFBQVFJRUNCQWdRQ0JK
UUFCSm1yWmVDUkFnUUlBQUFRSUUKQ0F3TENDRERBMUNlQUFFQ0JBZ1FJRUNBUUpLQUFKSTBiYjBT
SUVDQUFBRUNCQWdRR0JZUVFJWUhvRHdCQWdRSUVDQkFnQUNCSkFFQgpKR25hZWlWQWdBQUJBZ1FJ
RUNBd0xDQ0FEQTlBZVFJRUNCQWdRSUFBQVFKSkFnSkkwclQxU29BQUFRSUVDQkFnUUdCWVFBQVpI
b0R5CkJBZ1FJRUNBQUFFQ0JKSUVCSkNrYWV1VkFBRUNCQWdRSUVDQXdMQ0FBREk4QU9VSkVDQkFn
QUFCQWdRSUpBa0lJRW5UMWlzQkFnUUkKRUNCQWdBQ0JZUUVCWkhnQXloTWdRSUFBQVFJRUNCQklF
aEJBa3FhdFZ3SUVDQkFnUUlBQUFRTERBZ0xJOEFDVUowQ0FBQUVDQkFnUQpJSkFrSUlBa1RWdXZC
QWdRSUVDQUFBRUNCSVlGQkpEaEFTaFBnQUFCQWdRSUVDQkFJRWxBQUVtYXRsNEpFQ0JBZ0FBQkFn
UUlEQXNJCklNTURVSjRBQVFJRUNCQWdRSUJBa29BQWtqUnR2UklnUUlBQUFRSUVDQkFZRmhCQWhn
ZWdQQUVDQkFnUUlFQ0FBSUVrQVFFa2FkcDYKSlVDQUFBRUNCQWdRSURBc0lJQU1EMEI1QWdRSUVD
QkFnQUFCQWtrQ0FralN0UFZLZ0FBQkFnUUlFQ0JBWUZoQUFCa2VnUElFQ0JBZwpRSUFBQVFJRWtn
UUVrS1JwNjVVQUFRSUVDQkFnUUlEQXNJQUFNandBNVFrUUlFQ0FBQUVDQkFna0NRZ2dTZFBXS3dF
Q0JBZ1FJRUNBCkFJRmhBUUZrZUFES0V5QkFnQUFCQWdRSUVFZ1NFRUNTcHExWEFnUUlFQ0JBZ0FB
QkFzTUNBc2p3QUpRblFJQUFBUUlFQ0JBZ2tDUWcKZ0NSTlc2OEVDQkFnUUlBQUFRSUVoZ1VFa09F
QktFK0FBQUVDQkFnUUlFQWdTVUFBU1pxMlhna1FJRUNBQUFFQ0JBZ01Dd2dnd3dOUQpuZ0FCQWdR
SUVDQkFnRUNTZ0FDU05HMjlFaUJBZ0FBQkFnUUlFQmdXRUVDR0I2QThBUUlFQ0JBZ1FJQUFnU1FC
QVNScDJub2xRSUFBCkFRSUVDQkFnTUN3Z2dBd1BRSGtDQkFnUUlFQ0FBQUVDU1FJQ1NOSzA5VXFB
QUFFQ0JBZ1FJRUJnV0VBQUdSNkE4Z1FJRUNCQWdBQUIKQWdTU0JBU1FwR25ybFFBQkFnUUlFQ0JB
Z01Dd2dBQXlQQURsQ1JBZ1FJQUFBUUlFQ0NRSkNDQkowOVlyQVFJRUNCQWdRSUFBZ1dFQgpBV1I0
QU1vVElFQ0FBQUVDQkFnUVNCSVFRSkttclZjQ0JBZ1FJRUNBQUFFQ3d3SUN5UEFBbENkQWdBQUJB
Z1FJRUNDUUpDQ0FKRTFiCnJ3UUlFQ0JBZ0FBQkFnU0dCUVNRNFFFb1Q0QUFBUUlFQ0JBZ1FDQkpR
QUJKbXJaZUNSQWdRSUFBQVFJRUNBd0xDQ0REQTFDZUFBRUMKQkFnUUlFQ0FRSktBQUpJMGJiMFNJ
RUNBQUFFQ0JBZ1FHQllRUUlZSG9Ed0JBZ1FJRUNCQWdBQ0JKQUVCSkduYWVpVkFnQUFCQWdRSQpF
Q0F3TENDQURBOUFlUUlFQ0JBZ1FJQUFBUUpKQWdKSTByVDFTb0FBQVFJRUNCQWdRR0JZUUFBWkhv
RHlCQWdRSUVDQUFBRUNCSklFCkJKQ2thZXVWQUFFQ0JBZ1FJRUNBd0xDQUFESThBT1VKRUNCQWdB
QUJBZ1FJSkFrSUlFblQxaXNCQWdRSUVDQkFnQUNCWVFFQlpIZ0EKeWhNZ1FJQUFBUUlFQ0JCSUVo
QkFrcWF0VndJRUNCQWdRSUFBQVFMREFnTEk4QUNVSjBDQUFBRUNCQWdRSUpBa0lJQWtUVnV2QkFn
UQpJRUNBQUFFQ0JJWUZCSkRoQVNoUGdBQUJBZ1FJRUNCQUlFbEFBRW1hdGw0SkVDQkFnQUFCQWdR
SURBc0lJTU1EVUo0QUFRSUVDQkFnClFJQkFrb0FBa2pSdHZSSWdRSUFBQVFJRUNCQVlGaEJBaGdl
Z1BBRUNCQWdRSUVDQUFJRWtBUUVrYWRwNkpVQ0FBQUVDQkFnUUlEQXMKSUlBTUQwQjVBZ1FJRUNC
QWdBQUJBa2tDQWtqU3RQVktnQUFCQWdRSUVDQkFZRmhBQUJrZWdQSUVDQkFnUUlBQUFRSUVrZ1FF
a0tScAo2NVVBQVFJRUNCQWdRSURBc0lBQU1qd0E1UWtRSUVDQUFBRUNCQWdrQ1FnZ1NkUFdLd0VD
QkFnUUlFQ0FBQ2pmN0VNQUFCUVZTVVJCClZJRmhBUUZrZUFES0V5QkFnQUFCQWdRSUVFZ1NFRUNT
cHExWEFnUUlFQ0JBZ0FBQkFzTUNBc2p3QUpRblFJQUFBUUlFQ0JBZ2tDVHcKNHB0dnZubWIxTEJl
Q1JBZ1FJQUFBUUlFQ0JDWUUvQU55Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFnUUlF
Q0JBZ01DYwpnQUF5WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01DY2dn
TXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1Cmhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkFn
QUFCQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWcKUUlBQUFRSUU0
Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVrYnVRYUpr
Q0FBQUVDQkFnUQpJREFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FBQkFn
UUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBCjRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5M
M0tCQWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUIKQWdRSUVD
QkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWdRQ0JPUUFD
Skc3bUdDUkFnUUlBQQpBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDQkFn
UUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpCkJBU1F1SkZybUFBQkFnUUlFQ0JBZ01D
Y2dBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNeloKcTB5
QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUJBZ1FJ
RUlnVEVFRGlScTVoQWdRSQpFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVrTGlS
YTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBCkFJRTRBUUVrYnVRYUprQ0FBQUVD
QkFnUUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0kK
SUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1FJ
RUNBQUFFQ0JPSUVCSkM0a1d1WQpBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNCQWdBQ0JP
QUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFCkNCQWdRQ0JPUUFDSkc3bUdD
UkFnUUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdRSUVDQUFB
RUMKY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FBeVo2
OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdQo1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBQUFFQ0JB
Z1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBCmdBQUJBZ1FJRUlnVEVF
RGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJhNWdBQVFJ
RUNCQWcKUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdRSURB
bklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QQpBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAyS2hN
Z1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLCkJBZ1FJRUNBQUFF
Q0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9BRUJKRzdr
R2laQWdBQUIKQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdRSUFB
QVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUQppQk1RUU9KR3JtRUNCQWdRSUVDQUFBRUNjd0lD
eUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5Clo2OHlBUUlF
Q0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRUNCQWdNQ2NnZ016WnEweUFBQUVDQkFnUUlFQWdU
a0FBaVJ1NWhna1EKSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdURUVEaVJxNWhB
Z1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQQpBUUlFNGdRRWtMaVJhNWdBQVFJRUNCQWdR
SURBbklBQU1tZXZNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFuCklJRE0y
YXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1nUUlBQUFR
SUVDQkNJRXhCQTRrYXUKWVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FBQUVDQk9JRUJK
QzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5yeklCQWdRSQpFQ0JBZ0FDQk9BRUJKRzdrR2laQWdB
QUJBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUVDQkFnUUNCT1FBQ0pHN21HQ1JBZ1FJQUFBUUlFCkNN
d0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5Snk5eWdR
SUVDQkFnQUFCQWdUaUJBU1EKdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVDQkFnUUlB
QWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01DY2dnTXpacTB5QQpBQUVDQkFnUUlFQWdUa0FBaVJ1
NWhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5QkFnQUFCQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JB
CmdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQUFRSUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFB
TW1ldk1nRUNCQWdRSUVDQUFJRTQKQVFFa2J1UWFKa0NBQUFFQ0JBZ1FJREFuSUlETTJhdE1nQUFC
QWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMgpLaE1nUUlBQUFRSUVDQkNJ
RXhCQTRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdMSW5MM0tCQWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlB
QUVDCkJBZ1FJRUNBd0p5QUFESm5yeklCQWdRSUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlF
Q0F3SnlDQXpObXJUSUFBQVFJRUNCQWcKUUNCT1FBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013SkNDQno5
aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQwp5Snk5eWdRSUVDQkFn
QUFCQWdUaUJBU1F1SkZybUFBQkFnUUlFQ0JBZ01DY2dBQXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFT
UnU1Qm9tClFJQUFBUUlFQ0JBZ01DY2dnTXpacTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlF
Q0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUIKQWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFu
TUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQQpuSUFBTW1ldk1n
RUNCQWdRSUVDQUFJRTRBUUVrYnVRYUprQ0FBQUVDQkFnUUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNC
QUlFNUFBSWtiCnVZWUpFQ0JBZ0FBQkFnUUl6QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGth
dVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1EKSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFn
UUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNCQWdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSQpFQ0F3SnlD
QXpObXJUSUFBQVFJRUNCQWdRQ0JPUUFDSkc3bUdDUkFnUUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNB
QUFFQ0JBZ1FpQk1RClFPSkdybUVDQkFnUUlFQ0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1Rp
QkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHkKQVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9t
UUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBQUFFQ0JBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQQpBQUVD
QkFqTUNRZ2djL1lxRXlCQWdBQUJBZ1FJRUlnVEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2
Y29FQ0JBZ1FJQUFBUUlFCjRnUUVrTGlSYTVnQUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJ
RUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdRSURBbklJRE0KMmF0TWdBQUJBZ1FJRUNCQUlFNUFB
SWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAyS2hNZ1FJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRQpD
QkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1FJRUNBQUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdK
eUFBREpucnpJQkFnUUlFQ0JBCmdBQ0JPQUVCSkc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJ
QUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdRSUFBQVFJRUNNd0oKQ0NCejlpb1RJRUNBQUFFQ0JB
Z1FpQk1RUU9KR3JtRUNCQWdRSUVDQUFBRUNjd0lDeUp5OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpG
cgptQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHlBUUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJ
RUNCQWdNQ2NnZ016WnEweUFBQUVDCkJBZ1FJRUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1Fn
Z2MvWXFFeUJBZ0FBQkFnUUlFSWdURUVEaVJxNWhBZ1FJRUNCQWdBQUIKQW5NQ0FzaWN2Y29FQ0JB
Z1FJQUFBUUlFNGdRRWtMaVJhNWdBQVFJRUNCQWdRSURBbklBQU1tZXZNZ0VDQkFnUUlFQ0FBSUU0
QVFFawpidVFhSmtDQUFBRUNCQWdRSURBbklJRE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlK
RUNCQWdBQUJBZ1FJekFrSUlIUDJLaE1nClFJQUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFB
QVFKekFnTEluTDNLQkFnUUlFQ0FBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1EKSUVDQXdKeUFBREpu
cnpJQkFnUUlFQ0JBZ0FDQk9BRUJKRzdrR2laQWdBQUJBZ1FJRUNBd0p5Q0F6Tm1yVElBQUFRSUVD
QkFnUUNCTwpRQUNKRzdtR0NSQWdRSUFBQVFJRUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFR
T0pHcm1FQ0JBZ1FJRUNBQUFFQ2N3SUN5Snk5CnlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJB
Z1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUEKQVFJRUNCQWdN
Q2NnZ016WnEweUFBQUVDQkFnUUlFQWdUa0FBaVJ1NWhna1FJRUNBQUFFQ0JBak1DUWdnYy9ZcUV5
QkFnQUFCQWdRSQpFSWdURUVEaVJxNWhBZ1FJRUNCQWdBQUJBbk1DQXNpY3Zjb0VDQkFnUUlBQUFR
SUU0Z1FFa0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBCk1tZXZNZ0VDQkFnUUlFQ0FBSUU0QVFFa2J1
UWFKa0NBQUFFQ0JBZ1FJREFuSUlETTJhdE1nQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUoKRUNCQWdB
QUJBZ1FJekFrSUlIUDJLaE1nUUlBQUFRSUVDQkNJRXhCQTRrYXVZUUlFQ0JBZ1FJQUFBUUp6QWdM
SW5MM0tCQWdRSUVDQQpBQUVDQk9JRUJKQzRrV3VZQUFFQ0JBZ1FJRUNBd0p5QUFESm5yeklCQWdR
SUVDQkFnQUNCT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3Ckp5Q0F6Tm1yVElBQUFRSUVDQkFnUUNC
T1FBQ0pHN21HQ1JBZ1FJQUFBUUlFQ013SkNDQno5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkcKcm1F
Q0JBZ1FJRUNBQUFFQ2N3SUN5Snk5eWdRSUVDQkFnQUFCQWdUaUJBU1F1SkZybUFBQkFnUUlFQ0JB
Z01DY2dBQXlaNjh5QVFJRQpDQkFnUUlBQWdUZ0JBU1J1NUJvbVFJQUFBUUlFQ0JBZ01DY2dnTXpa
cTB5QUFBRUNCQWdRSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDCkJBak1DUWdnYy9ZcUV5QkFnQUFC
QWdRSUVJZ1RFRURpUnE1aEFnUUlFQ0JBZ0FBQkFuTUNBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUUK
a0xpUmE1Z0FBUUlFQ0JBZ1FJREFuSUFBTW1ldk1nRUNCQWdRSUVDQUFJRTRBUUVrYnVRYUprQ0FB
QUVDQkFnUUlEQW5JSURNMmF0TQpnQUFCQWdRSUVDQkFJRTVBQUlrYnVZWUpFQ0JBZ0FBQkFnUUl6
QWtJSUhQMktoTWdRSUFBQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnClFJQUFBUUp6QWdMSW5MM0tC
QWdRSUVDQUFBRUNCT0lFQkpDNGtXdVlBQUVDQkFnUUlFQ0F3SnlBQURKbnJ6SUJBZ1FJRUNCQWdB
Q0IKT0FFQkpHN2tHaVpBZ0FBQkFnUUlFQ0F3SnlDQXpObXJUSUFBQVFJRUNCQWdRQ0JPUUFDSkc3
bUdDUkFnUUlBQUFRSUVDTXdKQ0NCego5aW9USUVDQUFBRUNCQWdRaUJNUVFPSkdybUVDQkFnUUlF
Q0FBQUVDY3dJQ3lKeTl5Z1FJRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCCkFnUUlFQ0JBZ01DY2dB
QXlaNjh5QVFJRUNCQWdRSUFBZ1RnQkFTUnU1Qm9tUUlBQUFRSUVDQkFnTUNjZ2dNelpxMHlBQUFF
Q0JBZ1EKSUVBZ1RrQUFpUnU1aGdrUUlFQ0FBQUVDQkFqTUNRZ2djL1lxRXlCQWdBQUJBZ1FJRUln
VEVFRGlScTVoQWdRSUVDQkFnQUFCQW5NQwpBc2ljdmNvRUNCQWdRSUFBQVFJRTRnUUVrTGlSYTVn
QUFRSUVDQkFnUUlEQW5JQUFNbWV2TWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhCkprQ0FBQUVDQkFn
UUlEQW5JSURNMmF0TWdBQUJBZ1FJRUNCQUlFNUFBSWtidVlZSkVDQkFnQUFCQWdRSXpBa0lJSFAy
S2hNZ1FJQUEKQVFJRUNCQ0lFeEJBNGthdVlRSUVDQkFnUUlBQUFRSnpBZ0xJbkwzS0JBZ1FJRUNB
QUFFQ0JPSUVCSkM0a1d1WUFBRUNCQWdRSUVDQQp3SnlBQURKbnJ6SUJBZ1FJRUNCQWdBQ0JPQUVC
Skc3a0dpWkFnQUFCQWdRSUVDQXdKeUNBek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKCkc3bUdDUkFn
UUlBQUFRSUVDTXdKQ0NCejlpb1RJRUNBQUFFQ0JBZ1FpQk1RUU9KR3JtRUNCQWdRSUVDQUFBRUNj
d0lDeUp5OXlnUUkKRUNCQWdBQUJBZ1RpQkFTUXVKRnJtQUFCQWdRSUVDQkFnTUNjZ0FBeVo2OHlB
UUlFQ0JBZ1FJQUFnVGdCQVNSdTVCb21RSUFBQVFJRQpDQkFnTUNjZ2dNelpxMHlBQUFFQ0JBZ1FJ
RUFnVGtBQWlSdTVoZ2tRSUVDQUFBRUNCQWpNQ1FnZ2MvWXFFeUJBZ0FBQkFnUUlFSWdUCkVFRGlS
cTVoQWdRSUVDQkFnQUFCQW5NQ0FzaWN2Y29FQ0JBZ1FJQUFBUUlFNGdRRWtMaVJhNWdBQVFJRUNC
QWdRSURBbklBQU1tZXYKTWdFQ0JBZ1FJRUNBQUlFNEFRRWtidVFhSmtDQUFBRUNCQWdRSURBbklJ
RE0yYXRNZ0FBQkFnUUlFQ0JBSUU1QUFJa2J1WVlKRUNCQQpnQUFCQWdRSXpBa0lJSFAyS2hNZ1FJ
QUFBUUlFQ0JDSUV4QkE0a2F1WVFJRUNCQWdRSUFBQVFKekFnTEluTDNLQkFnUUlFQ0FBQUVDCkJP
SUVCSkM0a1d1WUFBRUNCQWdRSUVDQXdKeUFBREpucnpJQkFnUUlFQ0JBZ0FDQk9BRUJKRzdrR2la
QWdBQUJBZ1FJRUNBd0p5Q0EKek5tclRJQUFBUUlFQ0JBZ1FDQk9RQUNKRzdtR0NSQWdRSUFBQVFJ
RUNNd0pDQ0J6OWlvVElFQ0FBQUVDQkFnUWlCTVFRT0pHcm1FQwpCQWdRSUVDQUFBRUNjd0lDeUp5
OXlnUUlFQ0JBZ0FBQkFnVGlCQVNRdUpGcm1BQUJBZ1FJRUNCQWdNQ2NnQUF5WjY4eUFRSUVDQkFn
ClFJQUFnVGlCL3dENERDWWFvVmtTL2dBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>
<flag name="review"
          id="66538"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>