<?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>41171</bug_id>
          
          <creation_ts>2010-06-24 11:29:20 -0700</creation_ts>
          <short_desc>JSC bindings for Image Resizer API</short_desc>
          <delta_ts>2011-02-09 16:51:55 -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>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39905</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sterling Swigart">sswigart</reporter>
          <assigned_to name="Mike Lawther">mikelawther</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>242603</commentid>
    <comment_count>0</comment_count>
      <attachid>59681</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-24 11:29:20 -0700</bug_when>
    <thetext>Created attachment 59681
JSC bindings and first wave of tests

The patch adds JSC bindings to expose a barebones image resizing API of the form seen in bug 39905. This also adds a few tests, which are marked as -disabled for now so that they don&apos;t run.

This patch is expected to fail for now because it relies on 41116 to disable the ENABLE keyword and 41119 to correctly generate the callback implementations if it is built. 41116 and 41119 are in the commit-queue at the time of creating this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242623</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-24 12:36:59 -0700</bug_when>
    <thetext>Attachment 59681 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3316681</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242744</commentid>
    <comment_count>2</comment_count>
      <attachid>59681</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-06-24 17:08:23 -0700</bug_when>
    <thetext>Comment on attachment 59681
JSC bindings and first wave of tests

WebCore/ChangeLog:23
 +          (WebCore::AsyncImageResizer::start): Client of this class no longer does any refcounting
Please add &quot;.&quot;

WebCore/ChangeLog:29
 +          (WebCore::AsyncImageResizer::CallbackInfo::CallbackInfo): Now only stores necesseties.
Typo: necessities

WebCore/ChangeLog:16
 +          * WebCore.xcodeproj/project.pbxproj: Ditto.
What about the andriod build file?

WebCore/WebCore.vcproj/WebCore.vcproj:40199
 +  
There appear to be some extra changes here -- some blank lines added?



WebCore/bindings/js/JSHTMLImageElementCustom.cpp:119
 +          resizeOptions-&gt;setAspectRatioOption(preserveAspectRatio.toBoolean(exec));
s/AspectRatioOption/PreserveAspectRatio/

WebCore/bindings/js/JSHTMLImageElementCustom.cpp:156
 +      HTMLImageElement* imp = static_cast&lt;HTMLImageElement*&gt;(impl());
Please avoid abbreviations in WebKit. Why not imageElement instead of imp?

WebCore/bindings/js/JSHTMLImageElementCustom.cpp:138
 +      ExceptionCode ec = 0;
Move this to right before it is used.

WebCore/html/AsyncImageResizer.cpp:49
 +       new AsyncImageResizer(scriptExecutionContext, cachedImage, outputType, successCallback, errorCallback, resizeOptions);
extra space here (at the beginning of the line).



WebCore/html/AsyncImageResizer.cpp:61
 +      m_callbackInfo = new CallbackInfo(this);
Doesn&apos;t CallbackInfo and AsyncImageResizer leak if AsyncImageResizer::notifiyFinished never gets called?

WebCore/html/AsyncImageResizer.cpp:78
 +  void AsyncImageResizer::resizeComplete(RefPtr&lt;Blob&gt; blob)
Why not just pass a Blob* here (instead of a RefPtr&lt;Blob&gt;?

WebCore/html/HTMLImageElement.cpp:472
 +      // The taintsCanvas method also allows data URLs.
Ok, but ideally this answers a question that the code reader has. It would be nice if this comment was a bit more explicit about what question it is answering.

WebCore/html/HTMLImageElement.h:96
 +  
I&apos;d remove the blank lines in this one instance (for the if/endif).


WebCore/html/ResizeOptions.cpp:47
 +  PassRefPtr&lt;ResizeOptions&gt; ResizeOptions::create() { return adoptRef(new ResizeOptions()); }
Please make this multi-line.

WebCore/html/ResizeOptions.h:57
 +      void setWidth(int width);
No need to say &quot;width&quot; here as it is apparent due to the function name.

WebCore/html/ResizeOptions.h:60
 +      void setHeight(int height);
Ditto for &quot;height&quot;.

WebCore/html/ResizeOptions.cpp:50
 +      : m_width()
Init to a valid value or omit this. (I&apos;d suggest a valid value.)

LayoutTests/http/tests/misc/image-webkitGetImage-remote-origin.html-disabled:28
 +  &lt;img id=&quot;testImage&quot; src=&quot;http://localhost:8000/../../fast/dom/HTMLImageElement/resources/blue_rect.jpg&quot; /&gt;
This line looks suspect to me because the http server shouldn&apos;t allow files outside of the directory it is serving. (i.e. this &quot;http://localhost:8000/../..&quot; shouldn&apos;t work).

Please add an image in the http/tests/misc/resources directory.

LayoutTests/fast/dom/HTMLImageElement/webkitGetImage/script-tests/test-callbacks.js:16
 +  // Only the error callback will currently never be called in this patch, so test that it works for now
Please finish with a &quot;.&quot;.

LayoutTests/fast/dom/HTMLImageElement/webkitGetImage/script-tests/argument-types.js:4
 +    try {
Formatting for tests isn&apos;t as strict but it would be nice to be consistent within this file. You use 4 spaces elsewhere.

LayoutTests/fast/dom/HTMLImageElement/webkitGetImage/script-tests/image-has-no-source.js:10
 +  		i.webkitGetImage(&quot;image/jpeg&quot;, emptyFunction);
TABs in the js file. (Not strictly enforced to not have these but it is nice to avoid.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242804</commentid>
    <comment_count>3</comment_count>
      <attachid>59724</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-24 21:02:18 -0700</bug_when>
    <thetext>Created attachment 59724
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242808</commentid>
    <comment_count>4</comment_count>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-24 21:10:59 -0700</bug_when>
    <thetext>Fixed. Notes:

&gt; 
&gt; WebCore/bindings/js/JSHTMLImageElementCustom.cpp:119
&gt;  +          resizeOptions-&gt;setAspectRatioOption(preserveAspectRatio.toBoolean(exec));
&gt; s/AspectRatioOption/PreserveAspectRatio/
&gt; 

Like we spoke about, I retained the current naming.

&gt; 
&gt; 
&gt; WebCore/html/AsyncImageResizer.cpp:61
&gt;  +      m_callbackInfo = new CallbackInfo(this);
&gt; Doesn&apos;t CallbackInfo and AsyncImageResizer leak if AsyncImageResizer::notifiyFinished never gets called?
&gt; 

I now inherit from ActiveDOMObject. I made the object unsuspendable; is this okay? I couldn&apos;t determine from the code what exactly needed to be done (and why, mostly) to suspend AsyncImageResizer.

&gt; WebCore/WebCore.vcproj/WebCore.vcproj:40199
&gt;  +  
&gt; There appear to be some extra changes here -- some blank lines added?
&gt; 

For some reason the git diff command puts random newlines in the vcproj diff. They&apos;re not actually in my branch&apos;s vcproj file. Anyway, I deleted them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242810</commentid>
    <comment_count>5</comment_count>
      <attachid>59727</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-24 21:14:48 -0700</bug_when>
    <thetext>Created attachment 59727
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242811</commentid>
    <comment_count>6</comment_count>
      <attachid>59728</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-24 21:17:21 -0700</bug_when>
    <thetext>Created attachment 59728
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242828</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-24 22:18:28 -0700</bug_when>
    <thetext>Attachment 59728 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3319688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243053</commentid>
    <comment_count>8</comment_count>
      <attachid>59728</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-06-25 09:52:41 -0700</bug_when>
    <thetext>Comment on attachment 59728
JSC bindings

Just some minor clean-up needed mostly around the lifetime/callbacks in AsyncImageResizer as discussed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243070</commentid>
    <comment_count>9</comment_count>
      <attachid>59779</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-25 10:36:40 -0700</bug_when>
    <thetext>Created attachment 59779
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243093</commentid>
    <comment_count>10</comment_count>
      <attachid>59782</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-25 11:28:18 -0700</bug_when>
    <thetext>Created attachment 59782
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243190</commentid>
    <comment_count>11</comment_count>
      <attachid>59782</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-06-25 13:59:19 -0700</bug_when>
    <thetext>Comment on attachment 59782
JSC bindings

One more change that I can do on landing. 

I think I must have miscommunicated about what would be ideal here.

WebCore/html/AsyncImageResizer.cpp:73
 +          m_callbackInfo = 0;
I think this leaks the pointer that was in m_callbackInfo. The logic should be reversed in this area.

And the final if should be
if (m_callbackInfo) {
    resizeError();
    delete m_callbackInfo;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243217</commentid>
    <comment_count>12</comment_count>
      <attachid>59802</attachid>
    <who name="Sterling Swigart">sswigart</who>
    <bug_when>2010-06-25 15:07:14 -0700</bug_when>
    <thetext>Created attachment 59802
JSC bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243223</commentid>
    <comment_count>13</comment_count>
      <attachid>59802</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-06-25 15:14:53 -0700</bug_when>
    <thetext>Comment on attachment 59802
JSC bindings

Looks good. I&apos;ll land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244180</commentid>
    <comment_count>14</comment_count>
      <attachid>59782</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-29 03:17:54 -0700</bug_when>
    <thetext>Comment on attachment 59782
JSC bindings

Cleared David Levin&apos;s review+ from obsolete attachment 59782 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273554</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-02 13:56:38 -0700</bug_when>
    <thetext>Was this landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273560</commentid>
    <comment_count>16</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-02 13:59:11 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Was this landed?

No, I need to do that. Sterling&apos;s internship ended, so I need to take over finishing this completely, but I&apos;m currently working on another item in Chrome, so I haven&apos;t been in a rush to land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337937</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-21 01:37:31 -0800</bug_when>
    <thetext>Can we just cq+ it? :)  It&apos;s been a few months. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338025</commentid>
    <comment_count>18</comment_count>
      <attachid>59802</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-21 06:15:45 -0800</bug_when>
    <thetext>Comment on attachment 59802
JSC bindings

This work has been taken over by someone else. I expect that they will take up this patch as part of that work, so r- for now (until they get to it, bring it up to date, etc.).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338026</commentid>
    <comment_count>19</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-21 06:17:43 -0800</bug_when>
    <thetext>As a small note, I think there was a small issue in the final patch (perhaps related to comment 11), so even if the same patch comes up, lifetimes, etc. need to be checked carefully.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59681</attachid>
            <date>2010-06-24 11:29:20 -0700</date>
            <delta_ts>2010-06-24 21:02:18 -0700</delta_ts>
            <desc>JSC bindings and first wave of tests</desc>
            <filename>image-resize-patch-2</filename>
            <type>text/plain</type>
            <size>95591</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi5lZDMyZTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorCiAyMDEwLTA2LTIzICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4
ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3Vt
ZW50LXR5cGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li40ZDdlYTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMDYgQEAKK1Rlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVudHMg
dG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJS
OiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKG51bGwpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBE
T00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB1bmRl
ZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG51bGwpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIHt9KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciLCBlbXB0eUZ1bmN0
aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvYm1wIiwgZW1wdHlGdW5jdGlvbikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9S
VEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCA0MikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4K
K1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgSW5maW5pdHkpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgInN0cmluZyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQ
RV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVu
Y3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCA0MikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIC1JbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgInN0cmluZyIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogd2lkdGgg
Z2V0dGVyIGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB0cnVlKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIC1JbmZpbml0eSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIp
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om51bGx9KSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTp7fX0pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6ZW1wdHlGdW5j
dGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnRydWV9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTo0Mn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OkluZmluaXR5fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6LUluZmluaXR5fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6InN0cmluZyJ9KSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVkfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOm51bGx9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7d2lkdGg6e319KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0
VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHt3aWR0aDplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7
d2lkdGg6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6SW5maW5pdHl9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6LUluZmluaXR5fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2hlaWdodDp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7aGVpZ2h0Om51bGx9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0Ont9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogdmFsdWVPZiB0aHJldyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hl
aWdodDo0Mn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Oi1JbmZpbml0eX0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6InN0cmluZyJ9KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp1bmRlZmluZWR9KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpudWxsfSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6e319KSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2Nv
bXByZXNzaW9uTGV2ZWw6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtjb21wcmVzc2lvbkxldmVsOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e2NvbXByZXNzaW9uTGV2ZWw6LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwge2NvbXByZXNzaW9uTGV2ZWw6InN0cmluZyJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86e319KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOmVtcHR5
RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RS
YXRpbzp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1h
Z2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0
UmF0aW86NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RS
YXRpbzpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFz
cGVjdFJhdGlvOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVz
ZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e29yaWVudGF0aW9uOnVuZGVmaW5lZH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtv
cmllbnRhdGlvbjpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0
aW9uOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9uOm9iamVj
dFRocm93aW5nRXhjZXB0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVu
dGF0aW9uOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3Jp
ZW50YXRpb246dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlv
bjo0Mn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjpJbmZpbml0
eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFn
ZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjotSW5maW5pdHl9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVzLmh0bWwtZGlzYWJsZWQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2Fy
Z3VtZW50LXR5cGVzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYzU5NmI1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMuaHRtbC1kaXNhYmxl
ZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdl
dEltYWdlL2ltYWdlLWhhcy1uby1zb3VyY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjhmNjhmNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1uby1z
b3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgYW4gaW1hZ2Ug
d2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEV4Y2VwdGlvbiB3YXMgY29y
cmVjdGx5IHRocm93bjogRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDEx
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1uby1zb3VyY2Uu
aHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjhmMWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9pbWFnZS1oYXMtbm8tc291cmNlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODFkMTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxs
YmFjay1hZnRlci11bmxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK21haW4gZnJh
bWUgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCitFbnN1cmVzIHRoYXQgdGhlIGNhbGxiYWNr
cyB3aWxsIG5vdCBleGVjdXRlIGFmdGVyIG9udW5sb2FkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBObyBjYWxsYmFja3MgY2FsbGVkIGFmdGVyIHVubG9hZAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8t
Y2FsbGJhY2stYWZ0ZXItdW5sb2FkLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9h
ZC5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMGFh
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVk
CkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Vi
a2l0R2V0SW1hZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdl
RWxlbWVudC93ZWJraXRHZXRJbWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU4MmM2OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK1RoaXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlk
ZGVuIHdpdGggYW5vdGhlciBtZXRob2QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIDQyIGlzIG5vbi16ZXJvLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRt
bC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTZmOWM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9vdmVy
cmlkZS1vay13ZWJraXRHZXRJbWFnZS5odG1sLWRpc2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdl
RWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRl
c3RzL1RFTVBMQVRFLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNk
ZTNjNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1l
bnQtdHlwZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUzNjc5MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
d2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCkBAIC0wLDAgKzEs
MTQ2IEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGFjY2VwdGFibGUgdHlwZXMgZm9yIGFyZ3Vt
ZW50cyB0byB0aGUgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgbWV0aG9kLiIpOworCitmdW5jdGlvbiBz
aG91bGROb3RUaHJvdyhleHByZXNzaW9uKSB7CisgIHRyeSB7CisgICAgZXZhbChleHByZXNzaW9u
KTsKKyAgICB0ZXN0UGFzc2VkKGV4cHJlc3Npb24gKyAiIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LiIpOworICB9IGNhdGNoKGUpIHsKKyAgICB0ZXN0RmFpbGVkKGV4cHJlc3Npb24gKyAiIHNob3Vs
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gIiArIGUpOworICB9Cit9CisK
K2Z1bmN0aW9uIHRlc3QoZXhwcmVzc2lvbiwgZXhwcmVzc2lvblNob3VsZFRocm93LCBleHBlY3Rl
ZEV4Y2VwdGlvbikgeworICAgIGlmIChleHByZXNzaW9uU2hvdWxkVGhyb3cpIHsKKyAgICAgICAg
aWYgKGV4cGVjdGVkRXhjZXB0aW9uKQorICAgICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lv
biwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICInICsgZXhwZWN0ZWRFeGNlcHRpb24gKyAnIjsgfSko
KTsnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2hvdWxkVGhyb3coZXhwcmVzc2lvbiwg
JyhmdW5jdGlvbigpIHsgcmV0dXJuICJFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTciOyB9KSgpOycpOworICAgIH0gZWxzZSB7CisgICAgICAgIHNob3VsZE5vdFRocm93
KGV4cHJlc3Npb24pOworICAgIH0KK30KKwordmFyIGVtcHR5RnVuY3Rpb24gPSBmdW5jdGlvbigp
IHt9OworCitmdW5jdGlvbiBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpIHt9OworT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsKKyAgICB0aHJv
dyBuZXcgRXJyb3IoJ3ZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit9CitPYmplY3RUaHJvd2lu
Z0V4Y2VwdGlvbi5wcm90b3R5cGUuX19kZWZpbmVHZXR0ZXJfXygid2lkdGgiLCBmdW5jdGlvbigp
IHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3dpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK30pOwor
dmFyIG9iamVjdFRocm93aW5nRXhjZXB0aW9uID0gbmV3IE9iamVjdFRocm93aW5nRXhjZXB0aW9u
KCk7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9ICIuLi9yZXNvdXJjZXMvYmx1ZV9y
ZWN0LmpwZyI7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoKScsIHRydWUpOworCit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1h
Z2UobnVsbCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciKScs
IHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgdW5kZWZpbmVkKScsIHRydWUpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgbnVsbCknLCB0cnVlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIHt9KScsIHRydWUpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uKScsIGZh
bHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciLCBlbXB0eUZ1bmN0aW9u
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVu
Y3Rpb24pJywgdHJ1ZSwgJ0Vycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
Jyk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB0cnVlKScsIHRydWUpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgNDIpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBJbmZpbml0eSknLCB0cnVlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIC1JbmZpbml0eSknLCB0cnVlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKScsIHRydWUpOworCit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgbnVsbCknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgZW1wdHlG
dW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB0cnVlKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBJbmZpbml0eSknLCB0cnVlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIC1JbmZpbml0eSkn
LCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sICJzdHJpbmciKScsIHRydWUpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IG51bGwpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5n
RXhjZXB0aW9uKScsIHRydWUsICdFcnJvcjogd2lkdGggZ2V0dGVyIGV4Y2VwdGlvbicpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIDQy
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgSW5maW5pdHkpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCAic3RyaW5nIiknLCBmYWxzZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1h
Z2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6
dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om51bGx9KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6ZW1wdHlGdW5jdGlvbn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTp0cnVlfSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1t
eVByb3BlcnR5OkluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eToic3RyaW5nIn0pJywgZmFsc2Up
OworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHt3aWR0aDp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOm51bGx9
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgdHJ1ZSwgJ0Vycm9yOiB2YWx1ZU9mIHRocmV3IGV4Y2Vw
dGlvbicpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lk
dGg6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDotSW5maW5pdHl9KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge3dpZHRoOiJzdHJpbmcifSknLCBmYWxzZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDp1bmRl
ZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6e319KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
bn0pJywgdHJ1ZSwgJ0Vycm9yOiB2YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbicpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDp0cnVlfSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpJbmZpbml0eX0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OiJzdHJpbmcifSknLCBmYWxzZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZp
bmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm51bGx9KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6e319KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9u
TGV2ZWw6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVPZiB0
aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6ZW1wdHlGdW5jdGlvbn0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtjb21wcmVzc2lvbkxldmVsOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVs
OkluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7
cHJlc2VydmVBc3BlY3RSYXRpbzpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVj
dFJhdGlvOnt9fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOm9iamVjdFRo
cm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFn
ZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOmVt
cHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzo0Mn0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpJbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2Vy
dmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1h
Z2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0
UmF0aW86InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtv
cmllbnRhdGlvbjp7fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9uOmVtcHR5RnVuY3Rpb259
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29y
aWVudGF0aW9uOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjpJbmZpbml0eX0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtv
cmllbnRhdGlvbjoic3RyaW5nIn0pJywgZmFsc2UpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IGZhbHNlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9pbWFnZS1oYXMtbm8tc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNv
dXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWQ5NTc3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcwpAQCAtMCwwICsx
LDIwIEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhbiBpbWFnZSB3aXRoIG5vIHNvdXJjZSB3
aWxsIHRocm93IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbi4iKTsKKwordmFyIGkgPSBu
ZXcgSW1hZ2UoKTsKK2kuc3JjID0gbnVsbDsKKwordmFyIGVtcHR5RnVuY3Rpb24gPSBmdW5jdGlv
bigpIHt9OworCitkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworCXRyeSB7CisJ
CWkud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciLCBlbXB0eUZ1bmN0aW9uKTsKKwkJdGVzdEZh
aWxlZCgiU2hvdWxkIGhhdmUgdGhyb3duIGV4Y2VwdGlvbi4gTm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24uLi4iKTsKKwkJZmluaXNoSlNUZXN0KCk7CisJfSBjYXRjaChlKSB7CisJCXRlc3RQYXNzZWQo
IkV4Y2VwdGlvbiB3YXMgY29ycmVjdGx5IHRocm93bjogIiArIGUpOworCQlmaW5pc2hKU1Rlc3Qo
KTsKKwl9Cit9OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Vi
a2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTg2ZGYyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9z
Y3JpcHQtdGVzdHMvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLmpzCkBAIC0wLDAgKzEsMjUgQEAK
K2Rlc2NyaXB0aW9uKCJFbnN1cmVzIHRoYXQgdGhlIGNhbGxiYWNrcyB3aWxsIG5vdCBleGVjdXRl
IGFmdGVyIG9udW5sb2FkLiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4v
cmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCitkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0
aW9uKCkgeworICAgIHdpbmRvdy5zZXRUaW1lb3V0KCd0ZXN0UGFzc2VkKCJObyBjYWxsYmFja3Mg
Y2FsbGVkIGFmdGVyIHVubG9hZCIpOyBmaW5pc2hKU1Rlc3QoKTsnLCAxMDApOworfQorCitkb2N1
bWVudC5ib2R5Lm9udW5sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgaS53ZWJraXRHZXRJbWFnZSgK
KyAgICAgICAgImltYWdlL3BuZyIsCisgICAgICAgIGZ1bmN0aW9uKGJsb2IpIHsKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIlVuZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2Ugc3VjY2VzcyBjYWxsYmFj
ay4iKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LAorICAgICAgICBm
dW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiVW5leHBlY3RlZCB3ZWJr
aXRHZXRJbWFnZSBlcnJvciBjYWxsYmFjazogIiArIGVycm9yKTsKKyAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICB9CisgICAgKTsKK30KKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL292ZXJyaWRl
LW9rLXdlYmtpdEdldEltYWdlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjU1ZWZmOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9vdmVycmlkZS1vay13ZWJraXRH
ZXRJbWFnZS5qcwpAQCAtMCwwICsxLDEyIEBACitkZXNjcmlwdGlvbigiVGhpcyBlbnN1cmVzIHRo
YXQgd2Via2l0R2V0SW1hZ2UgbWF5IGJlIG92ZXJyaWRkZW4gd2l0aCBhbm90aGVyIG1ldGhvZC4i
KTsKKwordmFyIGkgPSBuZXcgSW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3Jl
Y3QuanBnIjsKKworaS53ZWJraXRHZXRJbWFnZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gNDI7IH0K
K3ZhciByZXN1bHQgPSBpLndlYmtpdEdldEltYWdlKCk7CisKK3Nob3VsZEJlTm9uWmVybyhyZXN1
bHQpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IGZhbHNlOword2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2Ny
aXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmE2NjRmM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNr
cy5qcwpAQCAtMCwwICsxLDIwIEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgY2FsbGJh
Y2tzIHdvcmsgY29ycmVjdGx5LiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAi
Li4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit2YXIgc3VjY2Vzc0NhbGxiYWNrID0gZnVu
Y3Rpb24oYmxvYikgeworICAgIHRlc3RGYWlsZWQoIlN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGluY29y
cmVjdGx5IGNhbGxlZCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIGVycm9yQ2Fs
bGJhY2sgPSBmdW5jdGlvbihlcnJvcikgeworICAgIHRlc3RQYXNzZWQoIkVycm9yIGNhbGxiYWNr
IHdhcyBjb3JyZWN0bHkgY2FsbGVkIHdpdGggb3V0cHV0OiAiICsgZXJyb3IpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfTsKKworLy8gT25seSB0aGUgZXJyb3IgY2FsbGJhY2sgd2lsbCBjdXJyZW50
bHkgbmV2ZXIgYmUgY2FsbGVkIGluIHRoaXMgcGF0Y2gsIHNvIHRlc3QgdGhhdCBpdCB3b3JrcyBm
b3Igbm93CitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrLCBl
cnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1h
Z2UvdGVzdC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjhjMDE4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHRoZSBjYWxsYmFja3Mgd29yayBjb3Jy
ZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEVycm9yIGNhbGxi
YWNrIHdhcyBjb3JyZWN0bHkgY2FsbGVkIHdpdGggb3V0cHV0OiBVbmV4cGVjdGVkIGVycm9yIHdo
aWxlIHJlc2l6aW5nIGltYWdlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdl
RWxlbWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNh
bGxiYWNrcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmMyNjUwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdp
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ4ZWY4
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13
ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1Rlc3RzIHRoYXQgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBp
bWFnZSBvZiByZW1vdGUgb3JpZ2luLgorCisKK1BBU1M6IFRocmV3IGV4Y2VwdGlvbjogRXJyb3I6
IFNFQ1VSSVRZX0VSUjogRE9NIEV4Y2VwdGlvbiAxOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1s
LWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldElt
YWdlLXJlbW90ZS1vcmlnaW4uaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yZTFjNTU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4uaHRtbC1kaXNhYmxl
ZApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxv
Zyhtc2cpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKK30KKwordmFyIGVtcHR5Q2Fs
bGJhY2sgPSBmdW5jdGlvbigpIHsgfTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHRyeSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0SW1hZ2UiKS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlDYWxsYmFjayk7CisgICAgICAgIGxvZygiRkFJTDogRGlkIG5vdCB0aHJvdyBleGNlcHRpb24i
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGxvZyAoIlBBU1M6IFRocmV3IGV4Y2VwdGlv
bjogIiArIGUpOworICAgIH0KKworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IEltYWdlLndl
YmtpdEdldEltYWdlIGNhbm5vdCBiZSBjYWxsZWQgb24gYW4gaW1hZ2Ugb2YgcmVtb3RlIG9yaWdp
bi48L3A+Cis8aW1nIGlkPSJ0ZXN0SW1hZ2UiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwLy4u
Ly4uL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciIC8+
Cis8cHJlIGlkPSJsb2ciPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTQ1Y2U3
Ny4uMTM4OTYwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMsNiArMjYzLDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbAogICAgIGh0bWwvSFRNTFZpZGVvRWxl
bWVudC5pZGwKICAgICBodG1sL0ltYWdlRGF0YS5pZGwKKyAgICBodG1sL0ltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaWRsCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
CiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbAogICAgIGh0bWwvVGV4dE1ldHJpY3MuaWRsCiAgICAg
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMGE4NWU0Li4xMWVlMDlmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisy
MDEwLTA2LTIxICBTdGVybGluZyBTd2lnYXJ0ICA8c3N3aWdhcnRAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEV4cG9z
ZWQgdGhlIGltYWdlIHJlc2l6aW5nIEFQSSB0byBKU0MsIGJ1dCBpdCBpcyBmdW5jdGlvbmFsbHkg
aW5jb21wbGV0ZSBhdCB0aGlzIHN0YWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTQKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRl
ZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBE
aXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
cHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvanMvSlNI
VE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVSZXNp
emVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0
R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KTogQ2xpZW50IG9mIHRoaXMgY2xh
c3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNvdW50aW5nCisgICAgICAgIChXZWJDb3JlOjpBc3lu
Y0ltYWdlUmVzaXplcjo6QXN5bmNJbWFnZVJlc2l6ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpub3RpZnlGaW5pc2hlZCk6IFJlZmFjdG9yZWQuCisgICAg
ICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6cmVzaXplQ29tcGxldGUpOiBBZGRlZCBj
YWxsYmFjay4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVFcnJv
cik6IERpdHRvLgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86OkNhbGxiYWNrSW5mbyk6
IE5vdyBvbmx5IHN0b3JlcyBuZWNlc3NldGllcy4KKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0
SW1hZ2UpOiBJbXBsZW1lbnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAgICAgICAgKiBodG1sL0hU
TUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5JbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazo6fklt
YWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9JbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclRo
cmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KTog
UmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVhZDo6SW1hZ2VS
ZXNpemVyVGhyZWFkKTogIFJlZmFjdG9yZWQuCisgICAgICAgICogaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuaDogUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc2l6ZU9wdGlvbnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9w
dGlvbnM6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEhlaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWlnaHQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKiBodG1sL1Jlc2l6
ZU9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjopOgor
CiAyMDEwLTA2LTIzICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDkwNGVhNTUu
LmYwNmQ0ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDggQEAKICNpbmNsdWRlICJK
U0lEQlJlcXVlc3QuY3BwIgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2ZW50LmNwcCIKICNpbmNs
dWRlICJKU0ltYWdlRGF0YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAiCiAj
aW5jbHVkZSAiSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNpbmNsdWRlICJKU0phdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAiCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjI0
LDYgKzIyNCw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVlc3QgXAogICAgIElEQlN1
Y2Nlc3NFdmVudCBcCiAgICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2sgXAorICAgIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAogICAgIEluZGV4ZWREYXRh
YmFzZVJlcXVlc3QgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVjdG9yQmFj
a2VuZCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQppbmRleCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTI3Niw2ICsyNzYs
OCBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50Lmlk
bCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwv
SW1hZ2VEYXRhLmlkbCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAJ
V2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBcCkBAIC00NTYsNiArNDU4
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZy
YW1lRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRnJhbWVT
ZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVF
bGVtZW50Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1l
bnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEN1
c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9t
LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAg
XApAQCAtMTI3MiwxMyArMTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
aHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEu
Y3BwIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2suaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAgXAogCVdl
YkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05v
ZGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAotCVdlYkNvcmUv
aHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5j
cHAgXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKwlXZWJDb3JlL2h0
bWwvTWVkaWFFcnJvci5oIFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAgXAorCVdl
YkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3Bw
IFwKIAlXZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUvaHRtbC9UZXh0TWV0cmlj
cy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggNjMyMTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2ICsxODgsOCBAQAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTFZpZGVvRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmlkbCcs
CisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsJywKKyAg
ICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAg
ICAgICdodG1sL01lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL1RleHRNZXRyaWNz
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcsCkBAIC01NzMsNiArNTc1
LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVtZW50Q3Vz
dG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3Vz
dG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1lbnRDdXN0
b20uY3BwJywKQEAgLTE2NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmll
d1NvdXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4uZWFmMTlmOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00
MjQsNiArNDI0LDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1l
bnQuaWRsIFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0ltYWdl
RGF0YS5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgXAorICAg
IGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9NZWRpYUVy
cm9yLmlkbCBcCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAgIGh0bWwvVGltZVJhbmdl
cy5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KaW5kZXggOTg2ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiArMzE1LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmlu
ZGluZ3MvanMvSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pz
L0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTElu
cHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1l
bnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1
c3RvbS5jcHAgXApAQCAtNzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvSW1h
Z2VSZXNpemVyVGhyZWFkLmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAgXAogICAg
IGh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMu
Y3BwIFwKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5j
cHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApAQCAtMTQ0Miw5ICsxNDQ0
LDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwKICAgICBo
dG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFnZURhdGEuaCBcCisg
ICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAgIGh0bWwvSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmggXAog
ICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5l
ci5oIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuaCBc
CiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZhMWMuLjhjNTkwMGMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3MTMsNiArMzc3MTMsMTQg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCkBAIC0zNzc0MSw2ICszNzc0OSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxS
ZXNpemVPcHRpb25zLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtNDAxODAsNyArNDAxOTYsOSBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCQk8
L0ZpbGU+DQogCQkJCTxGaWxlDQorCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNc
SlNIVE1MRW1iZWRFbGVtZW50Q3VzdG9tLmNwcCINCisKIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtNDA0NDAsNiArNDA0NTgs
NTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8Rmls
ZQ0KKworCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTSFRNTEltYWdlRWxlbWVu
dEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJ
CQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAwZDA5NDc4Li45NmJjNTkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzUyNCw2ICszNTI0LDE1IEBACiAJCUIwMTQ5RTdFMTFBNEIyMTUw
MDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1h
Z2VSZXNpemVyLmggKi87IH07CiAJCUIwMTQ5RTdGMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAg
Ki87IH07CiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdD
MTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLzsgfTsKKwkJQjA0RTZC
RjIxMUM2RjBFOTAwMjE0MjgzIC8qIFJlc2l6ZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBS
ZXNpemVPcHRpb25zLmggKi87IH07CisJCUIwNEU2QkY1MTFDN0YwNzkwMDIxNDI4MyAvKiBJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlCMDRFNkJGNjExQzdGMDdFMDAyMTQyODMgLyogSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjAxNEEwNEExMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCMDRGNTlG
RjExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwNEY1OUZEMTFDNkFGRDYw
MDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwICovOyB9OworCQlCMEE3MTUx
QjExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTUxQTExQ0MyNEVFMDAzQzMzNzMgLyog
UmVzaXplT3B0aW9ucy5jcHAgKi87IH07CisJCUIwQTcxNUI3MTFEMDQzMUUwMDNDMzM3MyAvKiBK
U0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1QjMxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CisJCUIwQTcxNUI4MTFEMDQzMUUwMDNDMzM3
MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0lt
YWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjBBNzE1QjkxMUQwNDMxRTAwM0Mz
MzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi87IH07CisJCUIwQTcxNUJBMTFE
MDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1QjYxMUQwNDMxRTAw
M0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CiAJCUIyMDEx
MTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAv
KiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3NzQwNTAwREIwRTY4IC8q
IEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi87IH07
CiAJCUIyMTEyN0E2MEIzMTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5cGVXcmFwcGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjExMjdBNTBCMzE4
Njc3MDAwOUJFNTMgLyogSlNTVkdQT0RUeXBlV3JhcHBlci5oICovOyB9OwpAQCAtODg4Myw2ICs4
ODkyLDE3IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXpl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0ltYWdlUmVzaXplci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0Ig
LyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRBMDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjA0RTZCRjExMUM2RjBF
OTAwMjE0MjgzIC8qIFJlc2l6ZU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVzaXplT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMDRG
NTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTEltYWdlRWxlbWVudEN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNTFBMTFDQzI0RUUwMDND
MzM3MyAvKiBSZXNpemVPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlc2l6ZU9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MEE3MTU3OTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNTdBMTFEMDFCMjEwMDNDMzM3MyAvKiBJ
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IElt
YWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIwQTcxNUIzMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1
QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1QjUxMUQwNDMxRTAwM0MzMzcz
IC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1QjYxMUQwNDMxRTAwM0MzMzczIC8qIEpT
SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4
IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
U1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIxMTI3QTUwQjMx
ODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTU1ZHUE9EVHlwZVdyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEzNzUyLDE2ICsxMzc3MiwyMiBAQAogCQkJCUE3Nzk3OTEzMEQ2QjlEMEMw
MDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovLAogCQkJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFC
OSAvKiBJbWFnZURhdGEuaCAqLywKIAkJCQlBNzc5NzkxNTBENkI5RDBDMDAzODUxQjkgLyogSW1h
Z2VEYXRhLmlkbCAqLywKKwkJCQlCMDE0QTA0QTExQUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNp
emVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNTc5MTFEMDFCMjEwMDNDMzM3MyAvKiBJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCAqLywKKwkJCQlCMDE0QTA0QzExQUIxRUEwMDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8sCisJCQkJQjBBNzE1N0Ex
MUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8sCiAJ
CQkJQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8s
CiAJCQkJQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICov
LAogCQkJCUE0NTZGQTI0MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgKi8s
CiAJCQkJQTQ1NkZBMjUxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggKi8sCiAJ
CQkJRjUyM0QyNTAwMkRFNDM5NjAxODYzNUNBIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRlci5jcHAg
Ki8sCiAJCQkJRjUyM0QyNTEwMkRFNDM5NjAxODYzNUNBIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRl
ci5oICovLAotCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi8s
Ci0JCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaWRsICovLAogCQkJ
CUU0RDRBQkUwMEQ3NTQyRjAwMEY5Njg2OSAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgKi8s
CiAJCQkJRTRENEFCRTEwRDc1NDJGMTAwRjk2ODY5IC8qIExlZ2FjeVByZWxvYWRTY2FubmVyLmgg
Ki8sCisJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaCAqLywKKwkJ
CQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5pZGwgKi8sCisJCQkJQjBB
NzE1MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwICovLAorCQkJCUIwNEU2
QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8sCiAJCQkJQTVBRkIzNEQx
MTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi8sCiAJCQkJQTVBRkIzNEUxMTUxNTFB
NzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovLAogCQkJCUJDRUY0NUU4MEU2ODc3NjcwMDFDMTI4
NyAvKiBUZXh0TWV0cmljcy5oICovLApAQCAtMTQwMDMsNiArMTQwMjksMTAgQEAKIAkJCQlFNDQ2
MTQwRjBDRDY4MjY5MDBGQURBNzUgLyogSlNIVE1MVmlkZW9FbGVtZW50LmggKi8sCiAJCQkJQTc3
OTc5MjQwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5Nzky
NTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCAqLywKKwkJCQlCMEE3MTVCMzExRDA0
MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQlC
MEE3MTVCNDExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgg
Ki8sCisJCQkJQjBBNzE1QjUxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrLmNwcCAqLywKKwkJCQlCMEE3MTVCNjExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLywKIAkJCQk0OUVFQ0VGODEwNTA3MEM0MDAwOTlG
QUIgLyogSlNJbnQxNkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGOTEwNTA3MEM0MDAwOTlGQUIg
LyogSlNJbnQxNkFycmF5LmggKi8sCiAJCQkJNDlFRUNFRjYxMDUwNzBDNDAwMDk5RkFCIC8qIEpT
SW50MzJBcnJheS5jcHAgKi8sCkBAIC0xNTU3Myw2ICsxNTYwMyw3IEBACiAJCQkJQkMyRUQ3QTQw
QzZDMEYzNjAwOTIwQkZGIC8qIEpTSFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJ
QkNENDFBQkEwQzA2MERFODAwQzBFNDQ2IC8qIEpTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5j
cHAgKi8sCiAJCQkJQkMyRUQ2NEYwQzZCQzQ4QzAwOTIwQkZGIC8qIEpTSFRNTElGcmFtZUVsZW1l
bnRDdXN0b20uY3BwICovLAorCQkJCUIwNEY1OUZEMTFDNkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJ
bWFnZUVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDQzQzODc3MEU4ODZDQzcwMDUzM0RENSAv
KiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDMzA1Q0EzMEMwNzgxQkIw
MENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQk0NDhBRDI3
QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwICov
LApAQCAtMTgxOTIsNiArMTgyMjMsOCBAQAogCQkJCTFBODIwRDkyMEExM0VCQTYwMEFGODQzQyAv
KiBJbWFnZURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODk1ODI1NjBFODU3QTdFMDBG
ODJDODMgLyogSW1hZ2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDN0Y0NEE4MEI5RTMy
NEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMDRFNkJG
NjExQzdGMDdFMDAyMTQyODMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQjA0RTZCRjUxMUM3RjA3OTAwMjE0MjgzIC8qIEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdC
IC8qIEltYWdlUmVzaXplclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3NTM1NzEwQjA1
MzgxNDAwMkNFNjRGIC8qIEltYWdlU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjM0ODA5
NDBFRUY1MEQ0MDBBQzFCNDEgLyogSW1hZ2VTb3VyY2VDRy5oIGluIEhlYWRlcnMgKi8sCkBAIC0x
ODQyNSw2ICsxODQ1OCw4IEBACiAJCQkJQzU2QzkxQTcxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURC
U3VjY2Vzc0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzZDNDlGNDBEN0RCQTA1MDBGRkE1
NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkyOTBE
NkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCUIwQTcx
NUI4MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAorCQkJCUIwQTcxNUJBMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVGNEY0MTExMTkzMDZDMDAw
RkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0EwRTc2REIxMEJGMDU5ODAwQTAyNzZFIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0MUYwNjBDRTBGNUVFQjJCMDBBMDdFQUMgLyogSlNJbnNwZWN0b3JCYWNr
ZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTE4OTU5LDYgKzE4OTk0LDcgQEAKIAkJCQlBODlDQ0M1
MzBGNDRFOTgxMDBCNURBMTAgLyogUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzMzA5RTBBMDk5RTY0OTIwMDU2RTU4MSAvKiBSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMkYwOTc5QzNCRDAwNDY3NzQxIC8q
IFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUIwNEU2QkYyMTFDNkYwRTkwMDIxNDI4MyAv
KiBSZXNpemVPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRGNzE0MjBENUE2RjQ0MDAw
MThENjkgLyogUmVzb3VyY2VFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM0RjcxM0MwRDVB
NkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGUuaCBpbiBIZWFkZXJzICov
LApAQCAtMjA3NDIsNiArMjA3NzgsNyBAQAogCQkJCUJDNDkxOEM4MEJGRUEwNTAwMDlENjMxNiAv
KiBKU0hUTUxJRnJhbWVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMkVENjUwMEM2
QkM0OEMwMDkyMEJGRiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBRTJBQTk3MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjA0RjU5RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRN
TEltYWdlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBFN0U5ODBBMUE4
M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDQzQzODc4MEU4ODZDQzcwMDUzM0RENSAvKiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBOTkwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTElz
SW5kZXhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjA4MDAsNiArMjA4MzcsOCBAQAog
CQkJCUJDNkM0OUYzMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29uc3RydWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTc3OTc5MjgwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRh
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDAzMThFMEU5MzU0MDMwMEUyNEFDRCAvKiBKU0lt
YWdlRGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3MTVCNzExRDA0MzFFMDAz
QzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNUY0RjQxMDExOTMwNkMwMDBGREZBREQgLyog
SlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBMEU3NkRB
MTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QTBFNzZENTEwQkYwNTA3MDBBMDI3NkUgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTM0Niw2ICsyMTM4NSw3IEBACiAJCQkJQTg5
Q0NDNTIwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0aFNwYW5Db21tYW5kLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzMzA5RTA5MDk5RTY0OTIwMDU2RTU4MSAvKiBSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyRTA5NzlDM0JEMDA0
Njc3NDEgLyogUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3MTUxQjExQ0MyNEVF
MDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzRGNzEz
RTBENUE2RjI4MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTE0Qzc2NTAwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNlRXJyb3JNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQk1MTRDNzY3ODBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5k
bGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElt
YWdlRWxlbWVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZmMzYzY4OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW1h
Z2VFbGVtZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyNpbmNsdWRlICJKU0hUTUxJbWFnZUVsZW1lbnQu
aCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQu
aCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJK
U0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMu
aCIKKworI2luY2x1ZGUgPHJ1bnRpbWUvSlNGdW5jdGlvbi5oPgorI2luY2x1ZGUgPHJ1bnRpbWUv
SlNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2soRXhlY1N0
YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQoreworICAgIGlmICghdmFsdWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246OmluZm8pKSB7CisgICAg
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KKworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7
CisgICAgcmV0dXJuIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUob2JqZWN0
LCBnbG9iYWxPYmplY3QpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrPiBjcmVhdGVJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKEV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAg
ICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBh
bmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghdmFsdWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246
OmluZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VS
Uik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBh
c09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjazo6
Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8UmVz
aXplT3B0aW9ucz4gY3JlYXRlUmVzaXplT3B0aW9ucyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUg
dmFsdWUpCit7CisgICAgUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMgPSBSZXNp
emVPcHRpb25zOjpjcmVhdGUoKTsKKworICAgIC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5j
ZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBudWxsIGlzIGFsbG93ZWQuCisgICAgaWYgKHZh
bHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgLy8gVXNlIGRlZmF1bHQgb3B0aW9u
cy4KKyAgICAgICAgcmV0dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgpOworICAgIH0KKyAgICBK
U09iamVjdCogb2JqZWN0ID0gdmFsdWUudG9PYmplY3QoZXhlYyk7CisKKyAgICBKU1ZhbHVlIHdp
ZHRoID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAid2lkdGgiKSk7CisgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIXdp
ZHRoLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+c2V0V2lkdGgod2lk
dGgudG9JbnQzMihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgaGVpZ2h0ID0gb2JqZWN0
LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiaGVpZ2h0IikpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFoZWlnaHQuaXNVbmRl
ZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRIZWlnaHQoaGVpZ2h0LnRvSW50
MzIoZXhlYykpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU1ZhbHVlIGNvbXByZXNzaW9uTGV2ZWwgPSBvYmpl
Y3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjb21wcmVzc2lvbkxldmVsIikpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFj
b21wcmVzc2lvbkxldmVsLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+
c2V0Q29tcHJlc3Npb25MZXZlbChjb21wcmVzc2lvbkxldmVsLnRvTnVtYmVyKGV4ZWMpKTsKKyAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorCisgICAgSlNWYWx1ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvID0gb2JqZWN0LT5nZXQoZXhl
YywgSWRlbnRpZmllcihleGVjLCAicHJlc2VydmVBc3BlY3RSYXRpbyIpKTsKKyAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghcHJlc2VydmVB
c3BlY3RSYXRpby5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldEFz
cGVjdFJhdGlvT3B0aW9uKHByZXNlcnZlQXNwZWN0UmF0aW8udG9Cb29sZWFuKGV4ZWMpKTsKKyAg
ICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorCisgICAgSlNWYWx1ZSBvcmllbnRhdGlvbiA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50
aWZpZXIoZXhlYywgIm9yaWVudGF0aW9uIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24o
KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFvcmllbnRhdGlvbi5pc1VuZGVmaW5lZCgp
KSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldE9yaWVudGF0aW9uT3B0aW9uKHVzdHJpbmdU
b1N0cmluZyhvcmllbnRhdGlvbi50b1N0cmluZyhleGVjKSkpOworICAgICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1
cm4gcmVzaXplT3B0aW9ucy5yZWxlYXNlKCk7Cit9CisKK0pTVmFsdWUgSlNIVE1MSW1hZ2VFbGVt
ZW50Ojp3ZWJraXRHZXRJbWFnZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgRXhjZXB0aW9uQ29k
ZSBlYyA9IDA7CisKKyAgICBjb25zdCBTdHJpbmcmIG1pbWVUeXBlID0gdXN0cmluZ1RvU3RyaW5n
KGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKTsKKworICAgIFJlZlB0cjxJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IGNyZWF0ZUltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjayhleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAg
IEFTU0VSVChzdWNjZXNzQ2FsbGJhY2spOworCisgICAgUmVmUHRyPEltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNr
KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8UmVzaXpl
T3B0aW9ucz4gcmVzaXplT3B0aW9ucyA9IGNyZWF0ZVJlc2l6ZU9wdGlvbnMoZXhlYywgZXhlYy0+
YXJndW1lbnQoMykpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKHJlc2l6ZU9wdGlvbnMpOworCisgICAgSFRN
TEltYWdlRWxlbWVudCogaW1wID0gc3RhdGljX2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KGltcGwo
KSk7CisgICAgaW1wLT53ZWJraXRHZXRJbWFnZShtaW1lVHlwZSwgc3VjY2Vzc0NhbGxiYWNrLnJl
bGVhc2UoKSwgZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgp
LCBlYyk7CisgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKKyAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KElNQUdFX1JFU0laRVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6
ZXIuY3BwIGIvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcAppbmRleCA0YmI3NGM5
Li45ZjhhNTY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3Bw
CisrKyBiL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAKQEAgLTM0LDI4ICszNCwz
MiBAQAogI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCiAKICNpbmNsdWRlICJDYWNoZWRJ
bWFnZS5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRl
ICJJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKICNpbmNsdWRlICJJbWFnZVJlc2l6ZXJU
aHJlYWQuaCIKKyNpbmNsdWRlICJSZXNpemVPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyLmgiCisKICNpbmNsdWRlIDx1dGlsaXR5PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBh
c3NSZWZQdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IEFzeW5jSW1hZ2VSZXNpemVyOjpjcmVhdGUoQ2Fj
aGVkSW1hZ2UqIGNhY2hlZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVz
aXJlZEJvdW5kcywgU2NyaXB0VmFsdWUgc3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1ZSBlcnJv
ckNhbGxiYWNrLCBmbG9hdCBxdWFsaXR5LCBBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09w
dGlvbiwgT3JpZW50YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRpb24pCit2b2lkIEFzeW5jSW1h
Z2VSZXNpemVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwg
UGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywg
UGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNz
UmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBc3luY0ltYWdlUmVzaXplcihjYWNoZWRJbWFnZSwgb3V0cHV0VHlwZSwgZGVzaXJl
ZEJvdW5kcywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBxdWFsaXR5LCBhc3BlY3RS
YXRpb09wdGlvbiwgb3JpZW50YXRpb25PcHRpb24pKTsKKyAgICAgbmV3IEFzeW5jSW1hZ2VSZXNp
emVyKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHJlc2l6ZU9wdGlvbnMpOwogfQogCi1Bc3luY0lt
YWdlUmVzaXplcjo6QXN5bmNJbWFnZVJlc2l6ZXIoQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlLCBP
dXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgU2NyaXB0VmFsdWUg
c3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1ZSBlcnJvckNhbGxiYWNrLCBmbG9hdCBxdWFsaXR5
LCBBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24g
b3JpZW50YXRpb25PcHRpb24pCitBc3luY0ltYWdlUmVzaXplcjo6QXN5bmNJbWFnZVJlc2l6ZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQ2FjaGVkSW1h
Z2UqIGNhY2hlZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1dFR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VS
ZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVPcHRp
b25zPiByZXNpemVPcHRpb25zKQogICAgIDogbV9jYWNoZWRJbWFnZShjYWNoZWRJbWFnZSkKKyAg
ICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAg
ICwgbV9vdXRwdXRUeXBlKG91dHB1dFR5cGUpCiAgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNj
ZXNzQ2FsbGJhY2spCiAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykKLSAgICAs
IG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQotICAgICwgbV9kZXNpcmVkQm91bmRzKGRlc2lyZWRC
b3VuZHMpCi0gICAgLCBtX3F1YWxpdHkocXVhbGl0eSkKLSAgICAsIG1fYXNwZWN0UmF0aW9PcHRp
b24oYXNwZWN0UmF0aW9PcHRpb24pCi0gICAgLCBtX29yaWVudGF0aW9uT3B0aW9uKG9yaWVudGF0
aW9uT3B0aW9uKQorICAgICwgbV9yZXNpemVPcHRpb25zKHJlc2l6ZU9wdGlvbnMpCiB7Ci0gICAg
QVNTRVJUKG1fc3VjY2Vzc0NhbGxiYWNrLmlzT2JqZWN0KCkpOworICAgIC8vIG1fY2FsbGJhY2sg
Y29udHJvbHMgdGhlIGxpZmV0aW1lIG9mIEFzeW5jSW1hZ2VSZXNpemVyLgorICAgIG1fY2FsbGJh
Y2tJbmZvID0gbmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKKyAgICBBU1NFUlQobV9zdWNjZXNzQ2Fs
bGJhY2suZ2V0KCkpOwogICAgIG1fY2FjaGVkSW1hZ2UtPmFkZENsaWVudCh0aGlzKTsKIH0KIApA
QCAtNjcsMTEgKzcxLDIxIEBAIHZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6Om5vdGlmeUZpbmlzaGVk
KENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSkKIHsKICAgICBSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBpbWFnZURhdGEgPSBjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLT5jb3B5KCk7CiAgICAgY2Fj
aGVkUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICBDYWxsYmFja0luZm8qIGNhbGxi
YWNrSW5mbyA9IG5ldyBDYWxsYmFja0luZm8odGhpcyk7Ci0gICAgaWYgKCFJbWFnZVJlc2l6ZXJU
aHJlYWQ6OnN0YXJ0KGltYWdlRGF0YSwgY2FsbGJhY2tJbmZvLCBtX291dHB1dFR5cGUsIG1fZGVz
aXJlZEJvdW5kcywgbV9xdWFsaXR5LCBtX2FzcGVjdFJhdGlvT3B0aW9uLCBtX29yaWVudGF0aW9u
T3B0aW9uKSkKKyAgICBpZiAoIUltYWdlUmVzaXplclRocmVhZDo6c3RhcnQoaW1hZ2VEYXRhLCBt
X2NhbGxiYWNrSW5mbywgbV9vdXRwdXRUeXBlLCBJbnRTaXplKG1fcmVzaXplT3B0aW9ucy0+d2lk
dGgoKSwgbV9yZXNpemVPcHRpb25zLT5oZWlnaHQoKSksIG1fcmVzaXplT3B0aW9ucy0+Y29tcHJl
c3Npb25MZXZlbCgpLCBtX3Jlc2l6ZU9wdGlvbnMtPmFzcGVjdFJhdGlvT3B0aW9uKCksIG1fcmVz
aXplT3B0aW9ucy0+b3JpZW50YXRpb25PcHRpb24oKSkpCiAgICAgICAgIHJlc2l6ZUVycm9yKCk7
CiB9CiAKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUNvbXBsZXRlKFJlZlB0cjxCbG9i
PiBibG9iKQoreworICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIGJsb2IuZ2V0KCkpOworfQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVy
OjpyZXNpemVFcnJvcigpCit7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjay5nZXQoKSkKKyAgICAg
ICAgbV9lcnJvckNhbGxiYWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
ICJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIHJlc2l6aW5nIGltYWdlIik7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmggYi9XZWJDb3JlL2h0bWwvQXN5
bmNJbWFnZVJlc2l6ZXIuaAppbmRleCBhZGQwNzBhLi43OTI2YWNjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvQXN5bmNJbWFn
ZVJlc2l6ZXIuaApAQCAtMzYsMTIgKzM2LDE1IEBACiAjaW5jbHVkZSAiQmxvYi5oIgogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1
ZGUgIlNjcmlwdFZhbHVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVk
SW1hZ2U7CitjbGFzcyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrOworY2xhc3MgSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3MgSW1hZ2VSZXNpemVyVGhyZWFkOworY2xhc3MgUmVz
aXplT3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEFzeW5jSW1h
Z2VSZXNpemVyIHdhaXRzIGZvciB0aGUgQ2FjaGVkSW1hZ2UgdGhhdCBpcyBwYXNzZWQgaW4gdG8g
bG9hZCBjb21wbGV0ZWx5LAogLy8gdGhlbiBzdGFydHMgYW4gSW1hZ2VSZXNpemVyVGhyZWFkIHRv
IHJlc2l6ZSB0aGUgaW1hZ2UuIE9uY2UgY3JlYXRlZCwgSW1hZ2VSZXNpemVyVGhyZWFkCkBAIC00
OSw1NiArNTIsNDIgQEAgY2xhc3MgSW1hZ2VSZXNpemVyVGhyZWFkOwogLy8gb2NjdXIsIGJvdGgg
b2JqZWN0cyBhcmUgZGVzdHJveWVkLiBJZiB0aGUgZG9jdW1lbnQgaXMgZGVzdHJveWVkIGR1cmlu
ZyByZXNpemluZywKIC8vIEFzeW5jSW1hZ2VSZXNpemVyIHdpbGwgcmVjZWl2ZSBhIG5vdGlmaWNh
dGlvbiBhbmQgc3Vic2VxdWVudGx5IGJsb2NrIHRoZSBjYWxsYmFja3MgZnJvbQogLy8gb2NjdXJy
aW5nLgotY2xhc3MgQXN5bmNJbWFnZVJlc2l6ZXIgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQsIHB1YmxpYyBSZWZDb3VudGVkPEFzeW5jSW1hZ2VSZXNpemVyPiB7CitjbGFzcyBBc3luY0lt
YWdlUmVzaXplciA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwdWJsaWM6CiAgICAg
c3RydWN0IENhbGxiYWNrSW5mbyB7Ci0gICAgICAgIENhbGxiYWNrSW5mbyhQYXNzUmVmUHRyPEFz
eW5jSW1hZ2VSZXNpemVyPiBhc3luY0ltYWdlUmVzaXplcikKKyAgICAgICAgQ2FsbGJhY2tJbmZv
KFBhc3NPd25QdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAg
ICAgICAgOiBhc3luY0ltYWdlUmVzaXplcihhc3luY0ltYWdlUmVzaXplcikKICAgICAgICAgICAg
ICwgYmxvYigwKQogICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8QXN5bmNJ
bWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOworICAgICAgICBPd25QdHI8QXN5bmNJbWFn
ZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOwogICAgICAgICBSZWZQdHI8QmxvYj4gYmxvYjsK
ICAgICB9OwotICAgIAorCiAgICAgZW51bSBPdXRwdXRUeXBlIHsKICAgICAgICAgSlBFRywKICAg
ICAgICAgUE5HCiAgICAgfTsKIAotICAgIGVudW0gQXNwZWN0UmF0aW9PcHRpb24gewotICAgICAg
ICBQcmVzZXJ2ZUFzcGVjdFJhdGlvLAotICAgICAgICBJZ25vcmVBc3BlY3RSYXRpbwotICAgIH07
Ci0KLSAgICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKLSAgICAgICAgQ29ycmVjdE9yaWVudGF0
aW9uLAotICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxBc3luY0ltYWdlUmVzaXplcj4gY3JlYXRlKENhY2hlZEltYWdlKiwgT3V0cHV0VHlw
ZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRWYWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNj
cmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9u
LCBPcmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2s+LCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+KTsKICAgICB+QXN5bmNJbWFnZVJlc2l6ZXIo
KTsKIAotICAgIC8vIEZJWE1FOiBJbnNlcnQgb3ZlcnJpZGUgZnVuY3Rpb24gZm9yIG5vdGlmaWNh
dGlvbiBvZiBkb2N1bWVudCBkZXN0cnVjdGlvbiAoY2hhbmdlIG1fY2FsbGJhY2tzT2spLgotCi0g
ICAgdm9pZCByZXNpemVDb21wbGV0ZShSZWZQdHI8QmxvYj4pIHsgLyogRklYTUU6IE5vdCB5ZXQg
aW1wbGVtZW50ZWQuICovIH0KLSAgICB2b2lkIHJlc2l6ZUVycm9yKCkgeyAvKiBGSVhNRTogTm90
IHlldCBpbXBsZW1lbnRlZC4gKi8gfQorICAgIHZvaWQgcmVzaXplQ29tcGxldGUoUmVmUHRyPEJs
b2I+KTsKKyAgICB2b2lkIHJlc2l6ZUVycm9yKCk7CiAKIHByaXZhdGU6Ci0gICAgQXN5bmNJbWFn
ZVJlc2l6ZXIoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMs
IFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywg
ZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uKTsKKyAg
ICBBc3luY0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQ2FjaGVkSW1hZ2Uq
LCBPdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBh
c3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UmVzaXplT3B0
aW9ucz4pOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSop
OwogCiAgICAgQ2FjaGVkSW1hZ2UqIG1fY2FjaGVkSW1hZ2U7Ci0gICAgU2NyaXB0VmFsdWUgbV9z
dWNjZXNzQ2FsbGJhY2s7Ci0gICAgU2NyaXB0VmFsdWUgbV9lcnJvckNhbGxiYWNrOwotICAgIAot
ICAgIC8vIFBhcmFtZXRlcnMgdG8gcGFzcyBpbnRvIEltYWdlUmVzaXplclRocmVhZC4KKyAgICBD
YWxsYmFja0luZm8qIG1fY2FsbGJhY2tJbmZvOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwogICAgIE91dHB1dFR5cGUgbV9vdXRwdXRUeXBl
OwotICAgIEludFNpemUgbV9kZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAg
ICBBc3BlY3RSYXRpb09wdGlvbiBtX2FzcGVjdFJhdGlvT3B0aW9uOwotICAgIE9yaWVudGF0aW9u
T3B0aW9uIG1fb3JpZW50YXRpb25PcHRpb247CisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjaz4gbV9zdWNjZXNzQ2FsbGJhY2s7CisgICAgUmVmUHRyPEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2s+IG1fZXJyb3JDYWxsYmFjazsKKyAgICBSZWZQdHI8UmVzaXplT3B0aW9ucz4g
bV9yZXNpemVPcHRpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwCmluZGV4IDVkNTkyM2QuLjk4MjhiNzkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAKQEAgLTI4LDEzICsyOCwyMiBAQAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFt
ZXMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
ICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIklt
YWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2suaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlJlc2l6ZU9w
dGlvbnMuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAKKyNpZiBFTkFCTEUo
SU1BR0VfUkVTSVpFUikKKyNpbmNsdWRlICJBc3luY0ltYWdlUmVzaXplci5oIgorI2VuZGlmCisK
IHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1MSw0ICs0
NjAsMzQgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVu
dCgpCiAgICAgSFRNTEVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiB9CiAK
KyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJr
aXRHZXRJbWFnZShTdHJpbmcgbWltZVR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVP
cHRpb25zLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXNyYygpLmlzVmFsaWQoKSkg
eworICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLy8gVGhlIHRhaW50c0NhbnZhcyBtZXRob2QgYWxzbyBhbGxvd3MgZGF0YSBVUkxz
LgorICAgIGlmIChkb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50YWludHNDYW52YXMoc3Jj
KCkpKSB7CisgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlwZTsKKyAgICBp
ZiAobWltZVR5cGUgPT0gImltYWdlL2pwZWciKQorICAgICAgICBvdXRwdXRUeXBlID0gQXN5bmNJ
bWFnZVJlc2l6ZXI6OkpQRUc7CisgICAgZWxzZSBpZiAobWltZVR5cGUgPT0gImltYWdlL3BuZyIp
CisgICAgICAgIG91dHB1dFR5cGUgPSBBc3luY0ltYWdlUmVzaXplcjo6UE5HOworICAgIGVsc2Ug
eworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgQXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgbV9pbWFnZUxvYWRlci5pbWFnZSgpLCBvdXRwdXRUeXBlLCBzdWNjZXNzQ2FsbGJhY2ssIGVy
cm9yQ2FsbGJhY2ssIHJlc2l6ZU9wdGlvbnMpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdF
X1JFU0laRVIpCisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmggYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmluZGV4IDYyZDMxNWMuLjQxMWJi
YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAtMzEsNiArMzEsOSBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRm9ybUVsZW1lbnQ7CitjbGFzcyBJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2s7CitjbGFzcyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrOworY2xhc3Mg
UmVzaXplT3B0aW9uczsKIAogY2xhc3MgSFRNTEltYWdlRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxl
bWVudCB7CiAgICAgZnJpZW5kIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsKQEAgLTg5LDYgKzkyLDEy
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGF2ZUZpcmVkTG9hZEV2ZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbWFnZUxvYWRlci5oYXZlRmlyZWRMb2FkRXZlbnQoKTsgfQogCisjaWYgRU5BQkxFKElN
QUdFX1JFU0laRVIpCisKKyAgICB2b2lkIHdlYmtpdEdldEltYWdlKFN0cmluZyBtaW1lVHlwZSwg
UGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+LCBFeGNlcHRp
b25Db2RlJik7CisKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbCBiL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAppbmRleCAwZmM3MjcxLi5hZTNjNWU0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuaWRsCkBAIC00OCw2ICs0OCwxNCBAQCBtb2R1bGUgaHRtbCB7CiAg
ICAgICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBhbHREaXNwbGF5U3RyaW5nOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7CisjZWxzZQorCisjaWYgZGVmaW5lZChFTkFCTEVfSU1B
R0VfUkVTSVpFUikgJiYgRU5BQkxFX0lNQUdFX1JFU0laRVIKKyAgICAgICAgLy8gRnVuY3Rpb25z
CisgICAgICAgIFtDdXN0b21dIHZvaWQgd2Via2l0R2V0SW1hZ2UoaW4gRE9NU3RyaW5nIG1pbWVU
eXBlLCBpbiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBbT3B0
aW9uYWxdIGluIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgW09wdGlv
bmFsXSBpbiBSZXNpemVPcHRpb25zIG9wdGlvbnMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyNlbmRpZgorCiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42
NmZmZjg2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2suaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrX2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUo
SU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmlu
ZzsKKworY2xhc3MgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVk
PEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5JbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmKSA9IDA7Cit9OworCit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2VuZGlmIC8vIEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaWRsIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmY2NiZjgKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwKQEAg
LTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBD
b25kaXRpb25hbD1JTUFHRV9SRVNJWkVSLAorICAgICAgICBDYWxsYmFjaworICAgIF0gSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9N
U3RyaW5nIGVycm9yKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdl
UmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NDAwZjMK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNr
X2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShJ
TUFHRV9SRVNJWkVSKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBCbG9iOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
K2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrIDogcHVi
bGljIFJlZkNvdW50ZWQ8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVh
bCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBCbG9iKikgPSAwOwor
fTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNlbmRpZiAvLyBJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBm
ZDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJm
YWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU1BR0VfUkVTSVpFUiwKKyAgICAgICAgQ2FsbGJh
Y2sKKyAgICBdIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4g
aGFuZGxlRXZlbnQoaW4gQmxvYiBibG9iKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVy
VGhyZWFkLmNwcAppbmRleCAxYmFlNmEwLi42N2FmYzc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVy
VGhyZWFkLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCiAj
aW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUg
PHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzUxLDcgQEAgc3RhdGlj
IHZvaWQgcmV0dXJuQmxvYk9yRXJyb3Iodm9pZCogY2FsbGJhY2tJbmZvcm1hdGlvbikKICAgICBk
ZWxldGUgY2FsbGJhY2tJbmZvOwogfQogCi1ib29sIEltYWdlUmVzaXplclRocmVhZDo6c3RhcnQo
UGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkNh
bGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBv
dXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1h
Z2VSZXNpemVyOjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJbWFn
ZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQorYm9vbCBJbWFn
ZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEs
IEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNrSW5mbywgQXN5bmNJbWFn
ZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBk
b3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0
aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0
aW9uKQogewogICAgIEltYWdlUmVzaXplclRocmVhZCogaW1hZ2VSZXNpemVyVGhyZWFkID0gbmV3
IEltYWdlUmVzaXplclRocmVhZChjYWxsYmFja0luZm8sIG91dHB1dFR5cGUsIGRlc2lyZWRCb3Vu
ZHMsIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRhdGlvbk9wdGlvbik7CiAKQEAg
LTYyLDcgKzYzLDcgQEAgYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8
U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXMKICAgICByZXR1cm4gaW1hZ2VS
ZXNpemVyVGhyZWFkLT5tX3RocmVhZElEOwogfQogCi1JbWFnZVJlc2l6ZXJUaHJlYWQ6OkltYWdl
UmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0lu
Zm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVz
aXJlZEJvdW5kcywgZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJhdGlv
T3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBBc3luY0ltYWdlUmVzaXplcjo6T3JpZW50YXRpb25P
cHRpb24gb3JpZW50YXRpb25PcHRpb24pCitJbWFnZVJlc2l6ZXJUaHJlYWQ6OkltYWdlUmVzaXpl
clRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0luZm8sIEFz
eW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJv
dW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIGFz
cGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRh
dGlvbk9wdGlvbikKICAgICA6IG1fdGhyZWFkSUQoMCkKICAgICAsIG1fY2FsbGJhY2tJbmZvKGNh
bGxiYWNrSW5mbykKICAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVz
aXplclRocmVhZC5oCmluZGV4IGFlNWFkZTUuLjE1YmQzYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVy
VGhyZWFkLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKIAog
I2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2lu
Y2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miwx
MSArNDQsMTEgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCiBjbGFzcyBJbWFnZVJlc2l6ZXJUaHJl
YWQgewogcHVibGljOgotICAgIHN0YXRpYyBib29sIHN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3luY0lt
YWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFs
aXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1hZ2VSZXNp
emVyOjpPcmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIGJvb2wgc3RhcnQoUGFzc1JlZlB0
cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5m
byosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMs
IGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVzaXpl
T3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24pOwogICAgIH5JbWFnZVJlc2l6ZXJUaHJlYWQoKTsK
IAogcHJpdmF0ZToKLSAgICBJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNh
bGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2ly
ZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRpb09w
dGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBJbWFnZVJl
c2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VS
ZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBxdWFsaXR5
LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3JpZW50
YXRpb25PcHRpb24pOwogICAgIHN0YXRpYyB2b2lkKiBpbWFnZVJlc2l6ZXJUaHJlYWRTdGFydCh2
b2lkKik7CiAgICAgdm9pZCogaW1hZ2VSZXNpemVyVGhyZWFkKCk7CiAKQEAgLTU4LDkgKzYwLDkg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Qml0bWFwSW1hZ2U+IG1faW1hZ2U7CiAgICAgQXN5bmNJ
bWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwogICAgIEludFNpemUgbV9kZXNp
cmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3luY0ltYWdlUmVzaXplcjo6
QXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsKLSAgICBBc3luY0ltYWdlUmVz
aXplcjo6T3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKKyAgICBkb3VibGUg
bV9xdWFsaXR5OworICAgIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0
UmF0aW9PcHRpb247CisgICAgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24gbV9vcmll
bnRhdGlvbk9wdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcCBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRp
b25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWI1ZjFkCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuY3BwCkBAIC0wLDAgKzEs
MTEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorI2lu
Y2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSW5jbHVzaXZlIGxpbWl0czsKK3N0YXRpYyBjb25z
dCBpbnQgZGltZW5zaW9uc0xvd2VyTGltaXQgPSAxOworc3RhdGljIGNvbnN0IGludCBkaW1lbnNp
b25zVXBwZXJMaW1pdCA9IDMyNzY3Oworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVzc2lvbkxv
d2VyTGltaXQgPSAwLjA7CitzdGF0aWMgY29uc3QgZG91YmxlIGNvbXByZXNzaW9uVXBwZXJMaW1p
dCA9IDEuMDsKKworc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0Q29tcHJlc3Npb24gPSAwLjg1
OworCitQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IFJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBSZXNpemVPcHRpb25zKCkpOyB9CisKK1Jlc2l6ZU9wdGlvbnM6
OlJlc2l6ZU9wdGlvbnMoKQorICAgIDogbV93aWR0aCgpCisgICAgLCBtX2hlaWdodCgpCisgICAg
LCBtX2NvbXByZXNzaW9uTGV2ZWwoKQorICAgICwgbV9hc3BlY3RSYXRpb09wdGlvbihJZ25vcmVB
c3BlY3RSYXRpbykKKyAgICAsIG1fb3JpZW50YXRpb25PcHRpb24oSWdub3JlT3JpZW50YXRpb24p
Cit7Cit9CisKK3ZvaWQgUmVzaXplT3B0aW9uczo6c2V0V2lkdGgoaW50IHdpZHRoKQoreworICAg
IG1fd2lkdGggPSB3aWR0aCA+PSBkaW1lbnNpb25zTG93ZXJMaW1pdCAmJiB3aWR0aCA8PSBkaW1l
bnNpb25zVXBwZXJMaW1pdCA/IHdpZHRoIDogMDsKK30KKworaW50IFJlc2l6ZU9wdGlvbnM6Ondp
ZHRoKCkKK3sKKyAgICByZXR1cm4gbV93aWR0aDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpz
ZXRIZWlnaHQoaW50IGhlaWdodCkKK3sKKyAgICBtX2hlaWdodCA9IGhlaWdodCA+PSBkaW1lbnNp
b25zTG93ZXJMaW1pdCAmJiBoZWlnaHQgPD0gZGltZW5zaW9uc1VwcGVyTGltaXQgPyBoZWlnaHQg
OiAwOworfQorCitpbnQgUmVzaXplT3B0aW9uczo6aGVpZ2h0KCkKK3sKKyAgICByZXR1cm4gbV9o
ZWlnaHQ7Cit9CisKK3ZvaWQgUmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbChkb3Vi
bGUgY29tcHJlc3Npb25MZXZlbCkKK3sKKyAgICBtX2NvbXByZXNzaW9uTGV2ZWwgPSBjb21wcmVz
c2lvbkxldmVsID49IGNvbXByZXNzaW9uTG93ZXJMaW1pdCAmJiBjb21wcmVzc2lvbkxldmVsIDw9
IGNvbXByZXNzaW9uVXBwZXJMaW1pdCA/IGNvbXByZXNzaW9uTGV2ZWwgOiBkZWZhdWx0Q29tcHJl
c3Npb247Cit9CisKK2RvdWJsZSBSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKCkKK3sK
KyAgICByZXR1cm4gbV9jb21wcmVzc2lvbkxldmVsOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6
OnNldEFzcGVjdFJhdGlvT3B0aW9uKGJvb2wgcHJlc2VydmVBc3BlY3RSYXRpbykKK3sKKyAgICBt
X2FzcGVjdFJhdGlvT3B0aW9uID0gcHJlc2VydmVBc3BlY3RSYXRpbyA/IFByZXNlcnZlQXNwZWN0
UmF0aW8gOiBJZ25vcmVBc3BlY3RSYXRpbzsKK30KKworUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0
aW9PcHRpb24gUmVzaXplT3B0aW9uczo6YXNwZWN0UmF0aW9PcHRpb24oKQoreworICAgIHJldHVy
biBtX2FzcGVjdFJhdGlvT3B0aW9uOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldE9yaWVu
dGF0aW9uT3B0aW9uKFN0cmluZyBvcmllbnRhdGlvbk9wdGlvbikKK3sKKyAgICBtX29yaWVudGF0
aW9uT3B0aW9uID0gb3JpZW50YXRpb25PcHRpb24gPT0gImF1dG8iID8gQ29ycmVjdE9yaWVudGF0
aW9uIDogSWdub3JlT3JpZW50YXRpb247Cit9CisKK1Jlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9u
T3B0aW9uIFJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKCkKK3sKKyAgICByZXR1cm4g
bV9vcmllbnRhdGlvbk9wdGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVz
aXplT3B0aW9ucy5oIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODdiMWQxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZXNpemVPcHRp
b25zX2gKKyNkZWZpbmUgUmVzaXplT3B0aW9uc19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpF
UikKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIFJl
c2l6ZU9wdGlvbnMgOiBwdWJsaWMgUmVmQ291bnRlZDxSZXNpemVPcHRpb25zPiB7CitwdWJsaWM6
CisgICAgZW51bSBBc3BlY3RSYXRpb09wdGlvbiB7CisgICAgICAgIFByZXNlcnZlQXNwZWN0UmF0
aW8sCisgICAgICAgIElnbm9yZUFzcGVjdFJhdGlvCisgICAgfTsKKworICAgIGVudW0gT3JpZW50
YXRpb25PcHRpb24geworICAgICAgICBDb3JyZWN0T3JpZW50YXRpb24sCisgICAgICAgIElnbm9y
ZU9yaWVudGF0aW9uCisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlv
bnM+IGNyZWF0ZSgpOworCisgICAgdm9pZCBzZXRXaWR0aChpbnQgd2lkdGgpOworICAgIGludCB3
aWR0aCgpOworCisgICAgdm9pZCBzZXRIZWlnaHQoaW50IGhlaWdodCk7CisgICAgaW50IGhlaWdo
dCgpOworCisgICAgdm9pZCBzZXRDb21wcmVzc2lvbkxldmVsKGRvdWJsZSBjb21wcmVzc2lvbkxl
dmVsKTsKKyAgICBkb3VibGUgY29tcHJlc3Npb25MZXZlbCgpOworCisgICAgdm9pZCBzZXRBc3Bl
Y3RSYXRpb09wdGlvbihib29sIHByZXNlcnZlQXNwZWN0UmF0aW8pOworICAgIEFzcGVjdFJhdGlv
T3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uKCk7CisKKyAgICB2b2lkIHNldE9yaWVudGF0aW9uT3B0
aW9uKFN0cmluZyBvcmllbnRhdGlvbk9wdGlvbik7CisgICAgT3JpZW50YXRpb25PcHRpb24gb3Jp
ZW50YXRpb25PcHRpb24oKTsKKworcHJpdmF0ZToKKyAgICBSZXNpemVPcHRpb25zKCk7CisKKyAg
ICAvLyBJZiBtX3dpZHRoIG9yIG1faGVpZ2h0ID09IDAsIHRoYXQgZGltZW5zaW9uIHdpbGwgbm90
IGNoYW5nZSBleHBsaWNpdGx5IGR1cmluZyByZXNpemluZy4KKyAgICBpbnQgbV93aWR0aDsKKyAg
ICBpbnQgbV9oZWlnaHQ7CisgICAgZG91YmxlIG1fY29tcHJlc3Npb25MZXZlbDsKKyAgICBBc3Bl
Y3RSYXRpb09wdGlvbiBtX2FzcGVjdFJhdGlvT3B0aW9uOworICAgIE9yaWVudGF0aW9uT3B0aW9u
IG1fb3JpZW50YXRpb25PcHRpb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2VuZGlmIC8vIFJlc2l6ZU9wdGlvbnNf
aAo=
</data>
<flag name="review"
          id="46674"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59724</attachid>
            <date>2010-06-24 21:02:18 -0700</date>
            <delta_ts>2010-06-24 21:14:48 -0700</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>100177</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjU1MzY3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICB0cnkgeworICAgIGV2
YWwoZXhwcmVzc2lvbik7CisgICAgdGVzdFBhc3NlZChleHByZXNzaW9uICsgIiBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4iKTsKKyAgfSBjYXRjaChlKSB7CisgICAgdGVzdEZhaWxlZChleHByZXNz
aW9uICsgIiBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9uICIgKyBl
KTsKKyAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24sIGV4cHJlc3Npb25TaG91bGRU
aHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhwcmVzc2lvblNob3VsZFRocm93
KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiJyArIGV4cGVjdGVkRXhjZXB0
aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNob3VsZFRocm93
KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBz
aG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisKK3ZhciBlbXB0eUZ1bmN0aW9u
ID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24oKSB7
fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52YWx1ZU9mID0gZnVuY3Rpb24o
KSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbicpOworfQor
T2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oIndpZHRo
IiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3aWR0aCBnZXR0ZXIgZXhjZXB0
aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiA9IG5ldyBPYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4vcmVz
b3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCknLCB0cnVl
KTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIp
JywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIHVuZGVmaW5l
ZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG51bGwpJywg
dHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSknLCB0cnVlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9iamVjdFRocm93aW5nRXhjZXB0
aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwg
ZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9i
bXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERP
TSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgdHJ1
ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIDQyKScsIHRy
dWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgSW5maW5pdHkpJywgdHJ1
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpJywgdHJ1
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAic3RyaW5nIiknLCB0cnVl
KTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQyKScsIHRydWUpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgSW5maW5pdHkpJywg
dHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB1bmRlZmluZWQpJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBv
YmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6IHdpZHRoIGdldHRlciBleGNl
cHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHRydWUpJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
LUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywgZmFsc2UpOworCit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtk
dW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpu
dWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJv
cGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTo0Mn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6InN0cmlu
ZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOjQyfSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6LUluZmlu
aXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pJywgZmFsc2UpOworCit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6bnVsbH0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6b2JqZWN0VGhy
b3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24n
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6
dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1w
dHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5maW5pdHl9KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lv
bkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpudWxs
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCB0cnVlLCAnRXJy
b3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVt
cHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dHJ1ZX0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZl
bDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6InN0cmluZyJ9
KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp1bmRlZmluZWR9KScsIGZh
bHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7
cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RS
YXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVB
c3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVj
dFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86NDJ9KScs
IGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7CisKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0
aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Om9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjpl
bXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp0cnVlfSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9uOi1JbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZhbHNlKTsKKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvY29tcHJlc3Npb24tbGV2ZWwtdGVzdC5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3Rz
L2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYTg5NGFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2NvbXByZXNzaW9uLWxl
dmVsLXRlc3QuanMKQEAgLTAsMCArMSwzMSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdmFy
eWluZyB0aGUgY29tcHJlc3Npb24gbGV2ZWwgYWZmZWN0cyB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJu
ZWQgYmxvYiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4vLi4vcmVzb3Vy
Y2VzL21vemlsbGEuZ2lmIjsKKwordmFyIHNpemVGcm9tTG93Q29tcHJlc3Npb247Cit2YXIgc2l6
ZUZyb21IaWdoQ29tcHJlc3Npb247CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2tMb3cgPSBmdW5jdGlv
bihibG9iKSB7CisgICAgc2l6ZUZyb21Mb3dDb21wcmVzc2lvbiA9IGJsb2Iuc2l6ZTsKKyAgICBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrSGlnaCwgZXJyb3JD
YWxsYmFjaywgeyBjb21wcmVzc2lvbkxldmVsIDogMC45OSB9KTsKK307CisKK3ZhciBzdWNjZXNz
Q2FsbGJhY2tIaWdoID0gZnVuY3Rpb24oYmxvYikgeworICAgIHNpemVGcm9tSGlnaENvbXByZXNz
aW9uID0gYmxvYi5zaXplOworICAgIGlmIChzaXplRnJvbUhpZ2hDb21wcmVzc2lvbiA+IHNpemVG
cm9tTG93Q29tcHJlc3Npb24pCisgICAgICAgIHRlc3RQYXNzZWQoIkNvbXByZXNzaW9uIGxldmVs
IG9mIDAuMSB5aWVsZHMgYSBzbWFsbGVyIGZpbGUgdGhhbiBjb21wcmVzc2lvbiBsZXZlbCBvZiAw
LjkiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIkNvbXByZXNzaW9uIGxldmVsIG9m
IDAuMSB5aWVsZHMgYSBmaWxlIG9mIHNpemUgIiArIHNpemVGcm9tTG93Q29tcHJlc3Npb24gKyAi
IHdoaWxzdCBhIGNvbXByZXNzaW9uIGxldmVsIG9mIDAuOSB5aWVsZHMgYSBmaWxlIG9mIHNpemUg
IiArIHNpemVGcm9tSGlnaENvbXByZXNzaW9uKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0RmFpbGVkKCJF
cnJvciBjYWxsYmFjayBjYWxsZWQgd2l0aCBlcnJvcjogIiArIGVycm9yKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK307CisKK2kud2Via2l0R2V0SW1hZ2UoImltYWdlL2pwZWciLCBzdWNjZXNzQ2Fs
bGJhY2tMb3csIGVycm9yQ2FsbGJhY2ssIHsgY29tcHJlc3Npb25MZXZlbCA6IDAuMDEgfSk7CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYWFkOTU3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1u
by1zb3VyY2UuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYW4g
aW1hZ2Ugd2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZBTElEX1NUQVRFX0VSUiBleGNl
cHRpb24uIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9IG51bGw7CisKK3ZhciBl
bXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZG9jdW1lbnQuYm9keS5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKKwl0cnkgeworCQlpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgZW1w
dHlGdW5jdGlvbik7CisJCXRlc3RGYWlsZWQoIlNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24u
IE5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duLi4uIik7CisJCWZpbmlzaEpTVGVzdCgpOworCX0gY2F0
Y2goZSkgeworCQl0ZXN0UGFzc2VkKCJFeGNlcHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246ICIg
KyBlKTsKKwkJZmluaXNoSlNUZXN0KCk7CisJfQorfTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE4
NmRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9h
ZC5qcwpAQCAtMCwwICsxLDI1IEBACitkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHRoZSBjYWxs
YmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4iKTsKKwordmFyIGkgPSBuZXcg
SW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dCgndGVz
dFBhc3NlZCgiTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1bmxvYWQiKTsgZmluaXNoSlNUZXN0
KCk7JywgMTAwKTsKK30KKworZG9jdW1lbnQuYm9keS5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGkud2Via2l0R2V0SW1hZ2UoCisgICAgICAgICJpbWFnZS9wbmciLAorICAgICAgICBmdW5j
dGlvbihibG9iKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdl
dEltYWdlIHN1Y2Nlc3MgY2FsbGJhY2suIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlVuZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2UgZXJyb3IgY2FsbGJhY2s6ICIgKyBlcnJv
cik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICk7Cit9CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2Uu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdl
L3NjcmlwdC10ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWVmZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMKQEAgLTAsMCArMSwxMiBAQAorZGVzY3Jp
cHRpb24oIlRoaXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlkZGVu
IHdpdGggYW5vdGhlciBtZXRob2QuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9
ICIuLi9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2kud2Via2l0R2V0SW1hZ2UgPSBmdW5j
dGlvbigpIHsgcmV0dXJuIDQyOyB9Cit2YXIgcmVzdWx0ID0gaS53ZWJraXRHZXRJbWFnZSgpOwor
CitzaG91bGRCZU5vblplcm8ocmVzdWx0KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxz
ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvdGVzdC1jYWxsYmFja3MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjY0ZjNjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3Jp
cHQtdGVzdHMvdGVzdC1jYWxsYmFja3MuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgdGhlIGNhbGxiYWNrcyB3b3JrIGNvcnJlY3RseS4iKTsKKwordmFyIGkgPSBu
ZXcgSW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFy
IHN1Y2Nlc3NDYWxsYmFjayA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICB0ZXN0RmFpbGVkKCJTdWNj
ZXNzIGNhbGxiYWNrIHdhcyBpbmNvcnJlY3RseSBjYWxsZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKK3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0
UGFzc2VkKCJFcnJvciBjYWxsYmFjayB3YXMgY29ycmVjdGx5IGNhbGxlZCB3aXRoIG91dHB1dDog
IiArIGVycm9yKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKy8vIE9ubHkgdGhlIGVycm9y
IGNhbGxiYWNrIHdpbGwgY3VycmVudGx5IG5ldmVyIGJlIGNhbGxlZCBpbiB0aGlzIHBhdGNoLCBz
byB0ZXN0IHRoYXQgaXQgd29ya3MgZm9yIG5vdworaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvanBl
ZyIsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9z
Y3JpcHQtdGVzdHMvdGVzdC1vdXRwdXQtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10
eXBlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTFjOTAwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvdGVzdC1vdXRwdXQtdHlwZXMuanMKQEAgLTAsMCArMSwz
MSBAQAorLy8gRklYTUU6IFBORyBhbmQgSlBFRyBhcmUgbm90IGltcGxlbWVudGVkIG9uIGV2ZXJ5
IHBsYXRmb3JtLgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIGRpZmZlcmVudCBvdXRwdXQg
dHlwZSBwYXJhbWV0ZXJzIHdvcmsiKTsKKwordmFyIGkgPSBuZXcgSW1hZ2UoKTsKK2kuc3JjID0g
Ii4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFyIHN1Y2Nlc3NDYWxsYmFja1BuZyA9
IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICBpZiAoYmxvYi50eXBlID09ICJpbWFnZS9wbmciKQorICAg
ICAgICB0ZXN0UGFzc2VkKCJQTkcgaW1hZ2UgcmV0dXJuZWQiKTsKKyAgICBlbHNlCisgICAgICAg
IHRlc3RGYWlsZWQoIlBORyBpbWFnZSBub3QgcmV0dXJuZWQuIEluc3RlYWQsIE1JTUUgdHlwZSBp
czogIiArIGJsb2IudHlwZSk7CisgICAgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvanBlZyIsIHN1
Y2Nlc3NDYWxsYmFja0pwZWcsIGVycm9yQ2FsbGJhY2spOworfTsKKwordmFyIHN1Y2Nlc3NDYWxs
YmFja0pwZWcgPSBmdW5jdGlvbihibG9iKSB7CisgICAgaWYgKGJsb2IudHlwZSA9PSAiaW1hZ2Uv
anBlZyIpCisgICAgICAgIHRlc3RQYXNzZWQoIkpQRUcgaW1hZ2UgcmV0dXJuZWQiKTsKKyAgICBl
bHNlCisgICAgICAgIHRlc3RGYWlsZWQoIkpQRUcgaW1hZ2Ugbm90IHJldHVybmVkLiBJbnN0ZWFk
LCBNSU1FIHR5cGUgaXM6ICIgKyBibG9iLnR5cGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsK
KwordmFyIGVycm9yQ2FsbGJhY2sgPSBmdW5jdGlvbihlcnJvcikgeworICAgIHRlc3RGYWlsZWQo
IkVycm9yIGNhbGxiYWNrIGNhbGxlZCB3aXRoIGVycm9yOiAiICsgZXJyb3IpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfTsKKworaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgc3VjY2Vzc0Nh
bGxiYWNrUG5nLCBlcnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
Oword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJh
Y2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
d2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMDE4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJh
Y2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHRoZSBjYWxsYmFj
a3Mgd29yayBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IEVycm9yIGNhbGxiYWNrIHdhcyBjb3JyZWN0bHkgY2FsbGVkIHdpdGggb3V0cHV0OiBVbmV4cGVj
dGVkIGVycm9yIHdoaWxlIHJlc2l6aW5nIGltYWdlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRp
c2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmMyNjUwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwt
ZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2Ut
cmVtb3RlLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYzQ4ZWY4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1Rlc3RzIHRoYXQgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNh
bGxlZCBvbiBhbiBpbWFnZSBvZiByZW1vdGUgb3JpZ2luLgorCisKK1BBU1M6IFRocmV3IGV4Y2Vw
dGlvbjogRXJyb3I6IFNFQ1VSSVRZX0VSUjogRE9NIEV4Y2VwdGlvbiAxOAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3Rl
LW9yaWdpbi5odG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2ltYWdl
LXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4uaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmY1ZWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4u
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
K2Z1bmN0aW9uIGxvZyhtc2cpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIp
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKK30KKwor
dmFyIGVtcHR5Q2FsbGJhY2sgPSBmdW5jdGlvbigpIHsgfTsKKword2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgIHRyeSB7CisgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SW1hZ2UiKS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgZW1wdHlDYWxsYmFjayk7CisgICAgICAgIGxvZygiRkFJTDogRGlkIG5vdCB0aHJv
dyBleGNlcHRpb24iKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGxvZyAoIlBBU1M6IFRo
cmV3IGV4Y2VwdGlvbjogIiArIGUpOworICAgIH0KKworICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0
aGF0IEltYWdlLndlYmtpdEdldEltYWdlIGNhbm5vdCBiZSBjYWxsZWQgb24gYW4gaW1hZ2Ugb2Yg
cmVtb3RlIG9yaWdpbi48L3A+Cis8aW1nIGlkPSJ0ZXN0SW1hZ2UiIHNyYz0iaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciIC8+Cis8cHJlIGlkPSJsb2ci
PjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjU5NWRhY2IKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcgZGlmZmVyCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggMWJhOTlh
MC4uMTQ5MTg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUv
QW5kcm9pZC5tawpAQCAtMjczLDYgKzI3Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FM
X1NSQ19GSUxFUykgXAogCWh0bWwvSW1hZ2VEYXRhLmNwcCBcCiAJaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwIFwKIAlodG1sL0xlZ2FjeVByZWxvYWRTY2FubmVyLmNwcCBcCisJaHRtbC9SZXNp
emVPcHRpb25zLmNwcCBcCiAJaHRtbC9UaW1lUmFuZ2VzLmNwcCBcCiAJaHRtbC9WYWxpZGl0eVN0
YXRlLmNwcCBcCiAJXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTQ1Y2U3Ny4uMTM4OTYwOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMs
NiArMjYzLDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwKICAgICBodG1sL0ltYWdlRGF0
YS5pZGwKKyAgICBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCisgICAgaHRtbC9J
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbAog
ICAgIGh0bWwvVGV4dE1ldHJpY3MuaWRsCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmlkbApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMGE4
NWU0Li44MmVlMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEwLTA2LTIxICBTdGVybGluZyBTd2lnYXJ0
ICA8c3N3aWdhcnRAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIEV4cG9zZWQgdGhlIGltYWdlIHJlc2l6aW5nIEFQSSB0
byBKU0MsIGJ1dCBpdCBpcyBmdW5jdGlvbmFsbHkgaW5jb21wbGV0ZSBhdCB0aGlzIHN0YWdlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTQKKwor
ICAgICAgICAqIEFuZHJvaWQubWs6IEFkZGVkIFJlc2l6ZU9wdGlvbnMuY3BwLgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OiBBZGRlZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRv
LgorICAgICAgICAqIFdlYkNvcmUucHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRN
TEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFn
ZVJlc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0
KTogQ2xpZW50IG9mIHRoaXMgY2xhc3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNvdW50aW5nLgor
ICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VSZXNpemVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNo
ZWQpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnJl
c2l6ZUNvbXBsZXRlKTogQWRkZWQgY2FsbGJhY2suCisgICAgICAgIChXZWJDb3JlOjpBc3luY0lt
YWdlUmVzaXplcjo6cmVzaXplRXJyb3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5j
SW1hZ2VSZXNpemVyOjpjYW5TdXNwZW5kKTogRG9lcyBub3Qgc3VzcGVuZC4KKyAgICAgICAgKFdl
YkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpzdG9wKTogTm93IGlzIGxpbmtlZCB0byBkb2N1bWVu
dCdzIGRlc3RydWN0aW9uLgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86OkNhbGxiYWNr
SW5mbyk6IE5vdyBvbmx5IHN0b3JlcyBuZWNlc3NpdGllcy4KKyAgICAgICAgKiBodG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6d2Vi
a2l0R2V0SW1hZ2UpOiBJbXBsZW1lbnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAgICAgICAgKiBo
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5JbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
azo6fkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVz
aXplclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0
YXJ0KTogUmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVhZDo6
SW1hZ2VSZXNpemVyVGhyZWFkKTogIFJlZmFjdG9yZWQuCisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJUaHJlYWQuaDogUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c2l6ZU9wdGlvbnM6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNl
dEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKiBodG1s
L1Jlc2l6ZU9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25z
OjopOgorCiAyMDEwLTA2LTIzICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDkw
NGVhNTUuLmYwNmQ0ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDggQEAKICNpbmNs
dWRlICJKU0lEQlJlcXVlc3QuY3BwIgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2ZW50LmNwcCIK
ICNpbmNsdWRlICJKU0ltYWdlRGF0YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAiCiAjaW5jbHVkZSAiSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNpbmNsdWRlICJK
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAi
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMjI0LDYgKzIyNCw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVlc3QgXAogICAg
IElEQlN1Y2Nlc3NFdmVudCBcCiAgICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2sgXAorICAgIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAogICAgIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3QgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVj
dG9yQmFja2VuZCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTI3Niw2
ICsyNzYsOCBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKIAlXZWJDb3Jl
L2h0bWwvSW1hZ2VEYXRhLmlkbCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2suaWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlk
bCBcCiAJV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBcCkBAIC00NTYs
NiArNDU4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
RnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJ
RnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFn
ZUVsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxl
bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50
Q3VzdG9tLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgXApAQCAtMTI3MiwxMyArMTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFn
ZURhdGEuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAg
XAogCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29yZS9odG1sL0xh
YmVsc05vZGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAotCVdl
YkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nh
bm5lci5jcHAgXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKwlXZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5oIFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAg
XAorCVdlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFu
Z2UuY3BwIFwKIAlXZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUvaHRtbC9UZXh0
TWV0cmljcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggNjMyMTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2ICsxODgsOCBA
QAogICAgICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRh
LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
JywKKyAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL1RleHRN
ZXRyaWNzLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcsCkBAIC01NzMs
NiArNTc1LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1l
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVt
ZW50Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1l
bnRDdXN0b20uY3BwJywKQEAgLTE2NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAgICAnaHRtbC9I
VE1MVmlld1NvdXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyVGhy
ZWFkLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4uZWFmMTlmOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJp
CkBAIC00MjQsNiArNDI0LDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxVTGlz
dEVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKICAgICBodG1s
L0ltYWdlRGF0YS5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwg
XAorICAgIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9N
ZWRpYUVycm9yLmlkbCBcCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAgIGh0bWwvVGlt
ZVJhbmdlcy5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggOTg2ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiArMzE1LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAorICAgIGJpbmRp
bmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pT
SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVj
dEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAgXApAQCAtNzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0
bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAg
XAogICAgIGh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1sL1Jlc2l6ZU9w
dGlvbnMuY3BwIFwKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApAQCAtMTQ0Miw5
ICsxNDQ0LDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwK
ICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFnZURhdGEu
aCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAgIGh0bWwvSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFk
LmggXAogICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2Fk
U2Nhbm5lci5oIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRtbC9TdGVwUmFu
Z2UuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZhMWMuLjhjNTkw
MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3MTMsNiArMzc3
MTMsMTQgQEAKIAkJCQk+CgogCQkJPC9GaWxlPgoKIAkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwv
RmlsZT4KCisJCQk8RmlsZQoKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8RmlsZQoKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCIKCiAJCQkJPgoK
IAkJCTwvRmlsZT4KCkBAIC0zNzc0MSw2ICszNzc0OSwxNCBAQAogCQkJCT4KCiAJCQk8L0ZpbGU+
CgogCQkJPEZpbGUKCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuY3Bw
IgoKKwkJCQk+CgorCQkJPC9GaWxlPgoKKwkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxSZXNpemVPcHRpb25zLmgiCgorCQkJCT4KCisJCQk8L0ZpbGU+CgorCQkJPEZpbGUKCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiCgogCQkJCT4KCiAJCQk8L0Zp
bGU+CgpAQCAtNDA0NDAsNiArNDA0NTgsNTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
CiAJCQkJPC9GaWxlPgoKIAkJCQk8RmlsZQoKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIgoKKwkJCQkJPgoKKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Cgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgoKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgoKKwkJCQkJCT4KCisJCQkJCQk8VG9vbAoKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgoKKwkJCQkJCS8+CgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgoKKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWdf
SW50ZXJuYWx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJ
PgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJ
Lz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKCisJCQkJCQk+CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKCisJCQkJCQkvPgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgoKKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiCgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJ
CQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCTwvRmlsZT4KCisJCQkJPEZpbGUKCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNw
cCIKCiAJCQkJCT4KCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGQwOTQ3OC4uOTZiYzU5MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1MjQsNiArMzUyNCwxNSBA
QAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIy
MTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRC
MjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0Ig
LyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhy
ZWFkLmggKi87IH07CisJCUIwNEU2QkYyMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDRFNkJG
MTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oICovOyB9OworCQlCMDRFNkJGNTEx
QzdGMDc5MDAyMTQyODMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0QTA0QzExQUIxRUEwMDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0Mjgz
IC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQjA0RjU5RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxl
bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9t
LmNwcCAqLzsgfTsKKwkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1
MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwICovOyB9OworCQlCMEE3MTVC
NzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUIzMTFEMDQz
MUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQlC
MEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTVCNDEx
RDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IH07CisJ
CUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3
MTVCNTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3Bw
ICovOyB9OworCQlCMEE3MTVCQTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIwQTcxNUI2MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAx
MTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDEx
MTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlCMjExMjdBNjBCMzE4Njc3MDAwOUJFNTMgLyogSlNT
VkdQT0RUeXBlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjIxMTI3QTUwQjMxODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIu
aCAqLzsgfTsKQEAgLTg4ODMsNiArODg5MiwxNyBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXN5bmNJbWFnZVJlc2l6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAx
NDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1h
Z2VSZXNpemVyVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdl
UmVzaXplclRocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMDE0QTA0QTEx
QUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc2l6ZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjA0RjU5RkQxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdl
RWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMEE3MTUxQTExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVPcHRpb25zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1NzkxMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTU3
QTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIwQTcxNUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIw
QTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUI2
MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMTEyN0E1MEIzMTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5cGVXcmFwcGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1BPRFR5cGVXcmFwcGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzc1MiwxNiArMTM3NzIsMjIgQEAK
IAkJCQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlB
Nzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUw
RDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQjAxNEEwNEExMUFCMUVB
MDAwMTk2QTdCIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMEE3MTU3
OTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgKi8sCisJ
CQkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oICovLAorCQkJCUIwQTcxNTdBMTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaWRsICovLAogCQkJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJUaHJlYWQuY3BwICovLAogCQkJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuaCAqLywKIAkJCQlBNDU2RkEyNDExQUQ0QTgzMDAyMEI0MjAgLyog
TGFiZWxzTm9kZUxpc3QuY3BwICovLAogCQkJCUE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBM
YWJlbHNOb2RlTGlzdC5oICovLAogCQkJCUY1MjNEMjUwMDJERTQzOTYwMTg2MzVDQSAvKiBMZWdh
Y3lIVE1MVHJlZUJ1aWxkZXIuY3BwICovLAogCQkJCUY1MjNEMjUxMDJERTQzOTYwMTg2MzVDQSAv
KiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCAqLywKLQkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURB
NzUgLyogTWVkaWFFcnJvci5oICovLAotCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogTGVnYWN5
UHJlbG9hZFNjYW5uZXIuY3BwICovLAogCQkJCUU0RDRBQkUxMEQ3NTQyRjEwMEY5Njg2OSAvKiBM
ZWdhY3lQcmVsb2FkU2Nhbm5lci5oICovLAorCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAv
KiBNZWRpYUVycm9yLmggKi8sCisJCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlh
RXJyb3IuaWRsICovLAorCQkJCUIwQTcxNTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRp
b25zLmNwcCAqLywKKwkJCQlCMDRFNkJGMTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9u
cy5oICovLAogCQkJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICov
LAogCQkJCUE1QUZCMzRFMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCAqLywKIAkJCQlC
Q0VGNDVFODBFNjg3NzY3MDAxQzEyODcgLyogVGV4dE1ldHJpY3MuaCAqLywKQEAgLTE0MDAzLDYg
KzE0MDI5LDEwIEBACiAJCQkJRTQ0NjE0MEYwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTSFRNTFZpZGVv
RWxlbWVudC5oICovLAogCQkJCUE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0
YS5jcHAgKi8sCiAJCQkJQTc3OTc5MjUwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmgg
Ki8sCisJCQkJQjBBNzE1QjMxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjYxMUQw
NDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJ
NDlFRUNFRjgxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlF
RUNFRjkxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVDRUY2
MTA1MDcwQzQwMDA5OUZBQiAvKiBKU0ludDMyQXJyYXkuY3BwICovLApAQCAtMTU1NzMsNiArMTU2
MDMsNyBAQAogCQkJCUJDMkVEN0E0MEM2QzBGMzYwMDkyMEJGRiAvKiBKU0hUTUxGcmFtZUVsZW1l
bnRDdXN0b20uY3BwICovLAogCQkJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDMkVENjRGMEM2QkM0OEMwMDkyMEJG
RiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJCQlCMDRGNTlGRDExQzZB
RkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0M0
Mzg3NzBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywK
IAkJCQlCQzMwNUNBMzBDMDc4MUJCMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnND
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKQEAgLTE4MTkyLDYgKzE4MjIzLDggQEAKIAkJCQkxQTgy
MEQ5MjBBMTNFQkE2MDBBRjg0M0MgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzdGNDRBODBCOUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0MjgzIC8qIEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIwNEU2QkY1MTFDN0YwNzkwMDIxNDI4
MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUIw
MTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTcxMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEIzNDgwOTQwRUVGNTBENDAwQUMxQjQxIC8qIEltYWdlU291cmNlQ0cu
aCBpbiBIZWFkZXJzICovLApAQCAtMTg0MjUsNiArMTg0NTgsOCBAQAogCQkJCUM1NkM5MUE3MTE5
RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM2QzQ5RjQwRDdEQkEwNTAwRkZBNTU4IC8qIEpTSW1hZ2VDb25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTc3OTc5MjkwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMEE3MTVCQTExRDA0MzFFMDAz
QzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1RjRGNDExMTE5MzA2QzAwMEZERkFERCAvKiBKU0luZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NkRCMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVj
dGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMDYwQ0UwRjVFRUIyQjAwQTA3
RUFDIC8qIEpTSW5zcGVjdG9yQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODk1OSw2ICsx
ODk5NCw3IEBACiAJCQkJQTg5Q0NDNTMwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0
aFNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwQTA5OUU2NDkyMDA1NkU1
ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2
QzJGMDk3OUMzQkQwMDQ2Nzc0MSAvKiBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMDRF
NkJGMjExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM0RjcxNDIwRDVBNkY0NDAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzNEY3MTNDMEQ1QTZGMTkwMDAxOEQ2OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNl
SGFuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNzQyLDYgKzIwNzc4LDcgQEAKIAkJCQlCQzQ5
MThDODBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MSUZyYW1lRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzJFRDY1MDBDNkJDNDhDMDA5MjBCRkYgLyogSlNIVE1MSUZyYW1lRWxlbWVu
dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUE5NzBBMUNERDJEMDBCNDJCMjUg
LyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIwNEY1OUZGMTFD
NkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgwRTdFOTgwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0Mzg3ODBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk5MEExQ0RE
MkQwMEI0MkIyNSAvKiBKU0hUTUxJc0luZGV4RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTIwODAwLDYgKzIwODM3LDggQEAKIAkJCQlCQzZDNDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJ
bWFnZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Nzk3OTI4MEQ2QjlFNjQw
MDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0QwMzE4RTBF
OTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQjBBNzE1QjcxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3MTVCOTExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0
MTAxMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QTBFNzZEQTEwQkYwNTk4MDBBMDI3NkUgLyogSlNJbmplY3RlZFNjcmlw
dEhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc2RDUxMEJGMDUwNzAwQTAyNzZFIC8q
IEpTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjEzNDYs
NiArMjEzODUsNyBAQAogCQkJCUE4OUNDQzUyMEY0NEU5ODEwMEI1REExMCAvKiBSZXBsYWNlTm9k
ZVdpdGhTcGFuQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwOTA5OUU2NDky
MDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCMTZDMkUwOTc5QzNCRDAwNDY3NzQxIC8qIFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTM0RjcxM0UwRDVBNkYyODAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjUwMENFOTIzNEUwMDdFRjNDRCAvKiBS
ZXNvdXJjZUVycm9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzgwQ0U5MjNBMTAw
N0VGM0NEIC8qIFJlc291cmNlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MmRiNmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxNjMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisjaW5jbHVk
ZSAiSlNIVE1MSW1hZ2VFbGVtZW50LmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrLmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKKyNp
bmNsdWRlICJSZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBQ
YXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVlLmluaGVyaXRzKCZKU0Z1
bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNN
QVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2Jq
ZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NS
ZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCit7CisgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVu
ZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAodmFsdWUu
aXNVbmRlZmluZWRPck51bGwoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIXZhbHVl
LmluaGVyaXRzKCZKU0Z1bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9iamVjdCk7Cit9CisK
K3N0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZVJlc2l6ZU9wdGlvbnMoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gUmVzaXplT3B0aW9uczo6Y3JlYXRlKCk7CisKKyAgICAvLyBBcmd1
bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBp
cyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAg
IC8vIFVzZSBkZWZhdWx0IG9wdGlvbnMuCisgICAgICAgIHJldHVybiByZXNpemVPcHRpb25zLnJl
bGVhc2UoKTsKKyAgICB9CisgICAgSlNPYmplY3QqIG9iamVjdCA9IHZhbHVlLnRvT2JqZWN0KGV4
ZWMpOworCisgICAgSlNWYWx1ZSB3aWR0aCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIo
ZXhlYywgIndpZHRoIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCF3aWR0aC5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6
ZU9wdGlvbnMtPnNldFdpZHRoKHdpZHRoLnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBK
U1ZhbHVlIGhlaWdodCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImhlaWdo
dCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOwor
ICAgIGlmICghaGVpZ2h0LmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+
c2V0SGVpZ2h0KGhlaWdodC50b0ludDMyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBj
b21wcmVzc2lvbkxldmVsID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY29t
cHJlc3Npb25MZXZlbCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiAwOworICAgIGlmICghY29tcHJlc3Npb25MZXZlbC5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldENvbXByZXNzaW9uTGV2ZWwoY29tcHJlc3Npb25MZXZl
bC50b051bWJlcihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgcHJlc2VydmVBc3BlY3RS
YXRpbyA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgInByZXNlcnZlQXNwZWN0
UmF0aW8iKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoIXByZXNlcnZlQXNwZWN0UmF0aW8uaXNVbmRlZmluZWQoKSkgeworICAgICAg
ICByZXNpemVPcHRpb25zLT5zZXRBc3BlY3RSYXRpb09wdGlvbihwcmVzZXJ2ZUFzcGVjdFJhdGlv
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgb3JpZW50YXRpb24gPSBv
YmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJvcmllbnRhdGlvbiIpKTsKKyAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghb3Jp
ZW50YXRpb24uaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRPcmll
bnRhdGlvbk9wdGlvbih1c3RyaW5nVG9TdHJpbmcob3JpZW50YXRpb24udG9TdHJpbmcoZXhlYykp
KTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgpOworfQorCitK
U1ZhbHVlIEpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGNvbnN0IFN0cmluZyYgbWltZVR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+
YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworCisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSkpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgQVNTRVJU
KHN1Y2Nlc3NDYWxsYmFjayk7CisKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjayA9IGNyZWF0ZUltYWdlUmVzaXplckVycm9yQ2FsbGJhY2soZXhlYywg
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpLCBleGVjLT5hcmd1bWVudCgyKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gY3JlYXRlUmVzaXplT3B0aW9ucyhleGVjLCBleGVjLT5hcmd1bWVu
dCgzKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICBBU1NFUlQocmVzaXplT3B0aW9ucyk7CisKKyAgICBIVE1MSW1hZ2VF
bGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4oaW1w
bCgpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBpbWFnZUVsZW1lbnQtPndlYmtp
dEdldEltYWdlKG1pbWVUeXBlLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxi
YWNrLnJlbGVhc2UoKSwgcmVzaXplT3B0aW9ucy5yZWxlYXNlKCksIGVjKTsKKyAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAgYi9XZWJDb3JlL2h0
bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwCmluZGV4IDRiYjc0YzkuLjlkMGY3YjggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0FzeW5jSW1hZ2VSZXNpemVyLmNwcApAQCAtMzQsMjggKzM0LDMzIEBACiAjaW5jbHVkZSAiQXN5
bmNJbWFnZVJlc2l6ZXIuaCIKIAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCisjaW5jbHVkZSAi
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oIgogI2luY2x1ZGUgIkltYWdlUmVzaXplclRocmVhZC5oIgorI2luY2x1ZGUg
IlJlc2l6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUg
PHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxBc3luY0ltYWdl
UmVzaXplcj4gQXN5bmNJbWFnZVJlc2l6ZXI6OmNyZWF0ZShDYWNoZWRJbWFnZSogY2FjaGVkSW1h
Z2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRW
YWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1
YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBPcmllbnRhdGlvbk9w
dGlvbiBvcmllbnRhdGlvbk9wdGlvbikKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9u
cz4gcmVzaXplT3B0aW9ucykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFzeW5jSW1hZ2VS
ZXNpemVyKGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBkZXNpcmVkQm91bmRzLCBzdWNjZXNzQ2Fs
bGJhY2ssIGVycm9yQ2FsbGJhY2ssIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRh
dGlvbk9wdGlvbikpOworICAgIG5ldyBBc3luY0ltYWdlUmVzaXplcihzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBjYWNoZWRJbWFnZSwgb3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrLCByZXNpemVPcHRpb25zKTsKIH0KIAotQXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1h
Z2VSZXNpemVyKENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2Ny
aXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24g
YXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQot
ICAgIDogbV9jYWNoZWRJbWFnZShjYWNoZWRJbWFnZSkKK0FzeW5jSW1hZ2VSZXNpemVyOjpBc3lu
Y0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVm
UHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMpCisgICAgOiBBY3RpdmVET01PYmplY3Qo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdGhpcykKKyAgICAsIG1fY2FjaGVkSW1hZ2UoY2FjaGVk
SW1hZ2UpCisgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKKyAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQogICAgICwgbV9zdWNjZXNzQ2Fs
bGJhY2soc3VjY2Vzc0NhbGxiYWNrKQogICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2spCi0gICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkKLSAgICAsIG1fZGVzaXJlZEJvdW5k
cyhkZXNpcmVkQm91bmRzKQotICAgICwgbV9xdWFsaXR5KHF1YWxpdHkpCi0gICAgLCBtX2FzcGVj
dFJhdGlvT3B0aW9uKGFzcGVjdFJhdGlvT3B0aW9uKQotICAgICwgbV9vcmllbnRhdGlvbk9wdGlv
bihvcmllbnRhdGlvbk9wdGlvbikKKyAgICAsIG1fcmVzaXplT3B0aW9ucyhyZXNpemVPcHRpb25z
KQogewotICAgIEFTU0VSVChtX3N1Y2Nlc3NDYWxsYmFjay5pc09iamVjdCgpKTsKKyAgICAvLyBt
X2NhbGxiYWNrIGNvbnRyb2xzIHRoZSBsaWZldGltZSBvZiBBc3luY0ltYWdlUmVzaXplci4KKyAg
ICBtX2NhbGxiYWNrSW5mbyA9IG5ldyBDYWxsYmFja0luZm8odGhpcyk7CisgICAgQVNTRVJUKG1f
c3VjY2Vzc0NhbGxiYWNrLmdldCgpKTsKICAgICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhp
cyk7CiB9CiAKQEAgLTY1LDExICs3MCwzNSBAQCBBc3luY0ltYWdlUmVzaXplcjo6fkFzeW5jSW1h
Z2VSZXNpemVyKCkKIAogdm9pZCBBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKQogewotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IGltYWdlRGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNvcHkoKTsKLSAgICBjYWNoZWRS
ZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOwotICAgIENhbGxiYWNrSW5mbyogY2FsbGJhY2tJ
bmZvID0gbmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKLSAgICBpZiAoIUltYWdlUmVzaXplclRocmVh
ZDo6c3RhcnQoaW1hZ2VEYXRhLCBjYWxsYmFja0luZm8sIG1fb3V0cHV0VHlwZSwgbV9kZXNpcmVk
Qm91bmRzLCBtX3F1YWxpdHksIG1fYXNwZWN0UmF0aW9PcHRpb24sIG1fb3JpZW50YXRpb25PcHRp
b24pKQotICAgICAgICByZXNpemVFcnJvcigpOworICAgIGlmIChjYWNoZWRSZXNvdXJjZS0+ZXJy
b3JPY2N1cnJlZCgpKQorICAgICAgICBkZWxldGUgbV9jYWxsYmFja0luZm87CisgICAgZWxzZSBp
ZiAoIWNhY2hlZFJlc291cmNlLT5kYXRhKCktPmlzRW1wdHkoKSkgeworICAgICAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEgPSBjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLT5jb3B5KCk7
CisgICAgICAgIGNhY2hlZFJlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7CisgICAgICAgIGlm
ICghSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChpbWFnZURhdGEsIG1fY2FsbGJhY2tJbmZvLCBt
X291dHB1dFR5cGUsIEludFNpemUobV9yZXNpemVPcHRpb25zLT53aWR0aCgpLCBtX3Jlc2l6ZU9w
dGlvbnMtPmhlaWdodCgpKSwgbV9yZXNpemVPcHRpb25zLT5jb21wcmVzc2lvbkxldmVsKCksIG1f
cmVzaXplT3B0aW9ucy0+YXNwZWN0UmF0aW9PcHRpb24oKSwgbV9yZXNpemVPcHRpb25zLT5vcmll
bnRhdGlvbk9wdGlvbigpKSkKKyAgICAgICAgICAgIHJlc2l6ZUVycm9yKCk7CisgICAgfQorfQor
Cit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVDb21wbGV0ZShCbG9iKiBibG9iKQorewor
ICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIGJsb2IpOworfQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVFcnJvcigpCit7
CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjay5nZXQoKSkKKyAgICAgICAgbV9lcnJvckNhbGxiYWNr
LT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICJVbmV4cGVjdGVkIGVycm9y
IHdoaWxlIHJlc2l6aW5nIGltYWdlIik7Cit9CisKK2Jvb2wgQXN5bmNJbWFnZVJlc2l6ZXI6OmNh
blN1c3BlbmQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBc3luY0ltYWdlUmVz
aXplcjo6c3RvcCgpCit7CisgICAgZGVsZXRlIG1fY2FsbGJhY2tJbmZvOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6
ZXIuaCBiL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCmluZGV4IGFkZDA3MGEuLmY2
NzMwNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCisrKyBi
L1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCkBAIC0zMywxNSArMzMsMTkgQEAKIAog
I2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiQmxvYi5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkSW1hZ2U7CitjbGFzcyBJbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrOworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3MgSW1h
Z2VSZXNpemVyVGhyZWFkOworY2xhc3MgUmVzaXplT3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAKIC8vIEFzeW5jSW1hZ2VSZXNpemVyIHdhaXRzIGZvciB0aGUgQ2FjaGVk
SW1hZ2UgdGhhdCBpcyBwYXNzZWQgaW4gdG8gbG9hZCBjb21wbGV0ZWx5LAogLy8gdGhlbiBzdGFy
dHMgYW4gSW1hZ2VSZXNpemVyVGhyZWFkIHRvIHJlc2l6ZSB0aGUgaW1hZ2UuIE9uY2UgY3JlYXRl
ZCwgSW1hZ2VSZXNpemVyVGhyZWFkCkBAIC00OSw1NiArNTMsNDUgQEAgY2xhc3MgSW1hZ2VSZXNp
emVyVGhyZWFkOwogLy8gb2NjdXIsIGJvdGggb2JqZWN0cyBhcmUgZGVzdHJveWVkLiBJZiB0aGUg
ZG9jdW1lbnQgaXMgZGVzdHJveWVkIGR1cmluZyByZXNpemluZywKIC8vIEFzeW5jSW1hZ2VSZXNp
emVyIHdpbGwgcmVjZWl2ZSBhIG5vdGlmaWNhdGlvbiBhbmQgc3Vic2VxdWVudGx5IGJsb2NrIHRo
ZSBjYWxsYmFja3MgZnJvbQogLy8gb2NjdXJyaW5nLgotY2xhc3MgQXN5bmNJbWFnZVJlc2l6ZXIg
OiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHB1YmxpYyBSZWZDb3VudGVkPEFzeW5jSW1h
Z2VSZXNpemVyPiB7CitjbGFzcyBBc3luY0ltYWdlUmVzaXplciA6IHB1YmxpYyBDYWNoZWRSZXNv
dXJjZUNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RydWN0
IENhbGxiYWNrSW5mbyB7Ci0gICAgICAgIENhbGxiYWNrSW5mbyhQYXNzUmVmUHRyPEFzeW5jSW1h
Z2VSZXNpemVyPiBhc3luY0ltYWdlUmVzaXplcikKKyAgICAgICAgQ2FsbGJhY2tJbmZvKFBhc3NP
d25QdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAgICAg
OiBhc3luY0ltYWdlUmVzaXplcihhc3luY0ltYWdlUmVzaXplcikKICAgICAgICAgICAgICwgYmxv
YigwKQogICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8QXN5bmNJbWFnZVJl
c2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOworICAgICAgICBPd25QdHI8QXN5bmNJbWFnZVJlc2l6
ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOwogICAgICAgICBSZWZQdHI8QmxvYj4gYmxvYjsKICAgICB9
OwotICAgIAorCiAgICAgZW51bSBPdXRwdXRUeXBlIHsKICAgICAgICAgSlBFRywKICAgICAgICAg
UE5HCiAgICAgfTsKIAotICAgIGVudW0gQXNwZWN0UmF0aW9PcHRpb24gewotICAgICAgICBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLAotICAgICAgICBJZ25vcmVBc3BlY3RSYXRpbwotICAgIH07Ci0KLSAg
ICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKLSAgICAgICAgQ29ycmVjdE9yaWVudGF0aW9uLAot
ICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxBc3luY0ltYWdlUmVzaXplcj4gY3JlYXRlKENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwgSW50
U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRWYWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlwdFZh
bHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uLCBPcmll
bnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+LCBQ
YXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+KTsKICAgICB+QXN5bmNJbWFnZVJlc2l6ZXIoKTsKIAot
ICAgIC8vIEZJWE1FOiBJbnNlcnQgb3ZlcnJpZGUgZnVuY3Rpb24gZm9yIG5vdGlmaWNhdGlvbiBv
ZiBkb2N1bWVudCBkZXN0cnVjdGlvbiAoY2hhbmdlIG1fY2FsbGJhY2tzT2spLgotCi0gICAgdm9p
ZCByZXNpemVDb21wbGV0ZShSZWZQdHI8QmxvYj4pIHsgLyogRklYTUU6IE5vdCB5ZXQgaW1wbGVt
ZW50ZWQuICovIH0KLSAgICB2b2lkIHJlc2l6ZUVycm9yKCkgeyAvKiBGSVhNRTogTm90IHlldCBp
bXBsZW1lbnRlZC4gKi8gfQorICAgIHZvaWQgcmVzaXplQ29tcGxldGUoQmxvYiopOworICAgIHZv
aWQgcmVzaXplRXJyb3IoKTsKKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBzdG9wKCk7CiAKIHByaXZhdGU6Ci0gICAgQXN5bmNJbWFnZVJlc2l6
ZXIoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlw
dFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQg
cXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBBc3lu
Y0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQ2FjaGVkSW1hZ2UqLCBPdXRw
dXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQ
dHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4p
OwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOwogCiAg
ICAgQ2FjaGVkSW1hZ2UqIG1fY2FjaGVkSW1hZ2U7Ci0gICAgU2NyaXB0VmFsdWUgbV9zdWNjZXNz
Q2FsbGJhY2s7Ci0gICAgU2NyaXB0VmFsdWUgbV9lcnJvckNhbGxiYWNrOwotICAgIAotICAgIC8v
IFBhcmFtZXRlcnMgdG8gcGFzcyBpbnRvIEltYWdlUmVzaXplclRocmVhZC4KKyAgICBDYWxsYmFj
a0luZm8qIG1fY2FsbGJhY2tJbmZvOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKKwogICAgIE91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwotICAg
IEludFNpemUgbV9kZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3Bl
Y3RSYXRpb09wdGlvbiBtX2FzcGVjdFJhdGlvT3B0aW9uOwotICAgIE9yaWVudGF0aW9uT3B0aW9u
IG1fb3JpZW50YXRpb25PcHRpb247CisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjaz4gbV9zdWNjZXNzQ2FsbGJhY2s7CisgICAgUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2s+IG1fZXJyb3JDYWxsYmFjazsKKyAgICBSZWZQdHI8UmVzaXplT3B0aW9ucz4gbV9yZXNp
emVPcHRpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwCmluZGV4IDVkNTkyM2QuLjlhOGY0YjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKQEAgLTI4LDEzICsyOCwyMiBAQAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIK
ICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNs
dWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIkltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMu
aCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAKKyNpZiBFTkFCTEUoSU1BR0Vf
UkVTSVpFUikKKyNpbmNsdWRlICJBc3luY0ltYWdlUmVzaXplci5oIgorI2VuZGlmCisKIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1MSw0ICs0NjAsMzUg
QEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpCiAg
ICAgSFRNTEVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiB9CiAKKyNpZiBF
TkFCTEUoSU1BR0VfUkVTSVpFUikKKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRHZXRJ
bWFnZShTdHJpbmcgbWltZVR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVPcHRpb25z
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXNyYygpLmlzVmFsaWQoKSkgeworICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgLy8gVGhpcyBjaGVja3MgdGhhdCB0aGUgc3JjIGlzIG5vbi1yZW1vdGUuIFRoZSB0YWludHND
YW52YXMgbWV0aG9kIGlzIHVzZWQgYmVjYXVzZQorICAgIC8vIGRhdGEgVVJMcyBhcmUgdHJlYXRl
ZCBhcyByZW1vdGUsIGFuZCB3ZSB3YW50IHRvIGFsbG93IHRoZW0uCisgICAgaWYgKGRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCktPnRhaW50c0NhbnZhcyhzcmMoKSkpIHsKKyAgICAgICAgZWMg
PSBTRUNVUklUWV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0ltYWdl
UmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlOworICAgIGlmIChtaW1lVHlwZSA9PSAiaW1h
Z2UvanBlZyIpCisgICAgICAgIG91dHB1dFR5cGUgPSBBc3luY0ltYWdlUmVzaXplcjo6SlBFRzsK
KyAgICBlbHNlIGlmIChtaW1lVHlwZSA9PSAiaW1hZ2UvcG5nIikKKyAgICAgICAgb3V0cHV0VHlw
ZSA9IEFzeW5jSW1hZ2VSZXNpemVyOjpQTkc7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0gTk9U
X1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0ltYWdl
UmVzaXplcjo6c3RhcnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX2ltYWdlTG9hZGVyLmlt
YWdlKCksIG91dHB1dFR5cGUsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgcmVzaXpl
T3B0aW9ucyk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggNjJkMzE1Yy4uMjU2YjhjNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5oCkBAIC0zMSw2ICszMSw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEhUTUxGb3JtRWxlbWVudDsKK2NsYXNzIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazsKK2Ns
YXNzIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s7CitjbGFzcyBSZXNpemVPcHRpb25zOwogCiBj
bGFzcyBIVE1MSW1hZ2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKICAgICBmcmllbmQg
Y2xhc3MgSFRNTEZvcm1FbGVtZW50OwpAQCAtODksNiArOTIsMTAgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBoYXZlRmlyZWRMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlTG9hZGVyLmhh
dmVGaXJlZExvYWRFdmVudCgpOyB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyAgICB2
b2lkIHdlYmtpdEdldEltYWdlKFN0cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6
ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+LCBFeGNlcHRpb25Db2RlJik7CisjZW5kaWYKKwog
cHJvdGVjdGVkOgogICAgIEhUTUxJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDApOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5p
ZGwKaW5kZXggMGZjNzI3MS4uYWUzYzVlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbApA
QCAtNDgsNiArNDgsMTQgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAvLyBPYmplY3RpdmUtQyBl
eHRlbnNpb246CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWx0RGlzcGxh
eVN0cmluZzsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdlVVJM
OworI2Vsc2UKKworI2lmIGRlZmluZWQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICYmIEVOQUJMRV9J
TUFHRV9SRVNJWkVSCisgICAgICAgIC8vIEZ1bmN0aW9ucworICAgICAgICBbQ3VzdG9tXSB2b2lk
IHdlYmtpdEdldEltYWdlKGluIERPTVN0cmluZyBtaW1lVHlwZSwgaW4gSW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIFtPcHRpb25hbF0gaW4gUmVzaXplT3B0aW9ucyBv
cHRpb25zKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisjZW5kaWYKKwogI2Vu
ZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2suaCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZmZmY4NgotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgKQEAgLTAsMCArMSw1
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFja19oCisjZGVmaW5lIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaygp
IHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgY29uc3QgU3RyaW5nJikgPSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdF
X1JFU0laRVIpCisKKyNlbmRpZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCBiL1dlYkNv
cmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mZmNjYmY4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1s
L0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3Rv
cmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU1BR0VfUkVTSVpF
UiwKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgewor
ICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBlcnJvcik7CisgICAgfTsK
K30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2su
aCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDQwMGYzCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0wLDAgKzEsNTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFja19oCisjZGVmaW5lIEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxv
YjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTdHJpbmc7CisKK2NsYXNz
IEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfkltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopID0gMDsKK307CisKK30KKworI2VuZGlmIC8vIEVO
QUJMRShJTUFHRV9SRVNJWkVSKQorCisjZW5kaWYgLy8gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
a19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNr
LmlkbCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZmQ4N2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMCwwICsx
LDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPUlNQUdFX1JFU0laRVIsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIEJsb2IgYmxv
Yik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJl
YWQuY3BwIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKaW5kZXggMWJhZTZh
MC4uNGU5NzA0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCisKICNpbmNsdWRlIDx1dGlsaXR5PgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00NiwxMSArNDcsMTEgQEAgc3RhdGljIHZvaWQgcmV0dXJuQmxvYk9yRXJy
b3Iodm9pZCogY2FsbGJhY2tJbmZvcm1hdGlvbikKICAgICBpZiAoIWNhbGxiYWNrSW5mby0+Ymxv
YikKICAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXplRXJyb3Io
KTsKICAgICBlbHNlCi0gICAgICAgIGNhbGxiYWNrSW5mby0+YXN5bmNJbWFnZVJlc2l6ZXItPnJl
c2l6ZUNvbXBsZXRlKGNhbGxiYWNrSW5mby0+YmxvYik7CisgICAgICAgIGNhbGxiYWNrSW5mby0+
YXN5bmNJbWFnZVJlc2l6ZXItPnJlc2l6ZUNvbXBsZXRlKGNhbGxiYWNrSW5mby0+YmxvYi5nZXQo
KSk7CiAgICAgZGVsZXRlIGNhbGxiYWNrSW5mbzsKIH0KIAotYm9vbCBJbWFnZVJlc2l6ZXJUaHJl
YWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VS
ZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNrSW5mbywgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91
dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFsaXR5
LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24s
IEFzeW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbikK
K2Jvb2wgSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
aW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0luZm8s
IEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVzaXJl
ZEJvdW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9u
IGFzcGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBvcmll
bnRhdGlvbk9wdGlvbikKIHsKICAgICBJbWFnZVJlc2l6ZXJUaHJlYWQqIGltYWdlUmVzaXplclRo
cmVhZCA9IG5ldyBJbWFnZVJlc2l6ZXJUaHJlYWQoY2FsbGJhY2tJbmZvLCBvdXRwdXRUeXBlLCBk
ZXNpcmVkQm91bmRzLCBxdWFsaXR5LCBhc3BlY3RSYXRpb09wdGlvbiwgb3JpZW50YXRpb25PcHRp
b24pOwogCkBAIC02Miw3ICs2Myw3IEBAIGJvb2wgSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChQ
YXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzCiAgICAgcmV0
dXJuIGltYWdlUmVzaXplclRocmVhZC0+bV90aHJlYWRJRDsKIH0KIAotSW1hZ2VSZXNpemVyVGhy
ZWFkOjpJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyog
Y2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJ
bnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpB
c3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9y
aWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQorSW1hZ2VSZXNpemVyVGhyZWFkOjpJ
bWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyogY2FsbGJh
Y2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXpl
IGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRp
b09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRp
b24gb3JpZW50YXRpb25PcHRpb24pCiAgICAgOiBtX3RocmVhZElEKDApCiAgICAgLCBtX2NhbGxi
YWNrSW5mbyhjYWxsYmFja0luZm8pCiAgICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBiL1dlYkNvcmUvaHRt
bC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAppbmRleCBhZTVhZGU1Li4xNWJkM2JkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9odG1sL0lt
YWdlUmVzaXplclRocmVhZC5oCkBAIC0zNCw2ICszNCw4IEBACiAjaWYgRU5BQkxFKElNQUdFX1JF
U0laRVIpCiAKICNpbmNsdWRlICJBc3luY0ltYWdlUmVzaXplci5oIgorI2luY2x1ZGUgIkludFNp
emUuaCIKKyNpbmNsdWRlICJSZXNpemVPcHRpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNDIsMTEgKzQ0LDExIEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAogY2xhc3MgSW1hZ2VS
ZXNpemVyVGhyZWFkIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBzdGFydChQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZv
KiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywg
ZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJhdGlvT3B0aW9uLCBBc3lu
Y0ltYWdlUmVzaXplcjo6T3JpZW50YXRpb25PcHRpb24pOworICAgIHN0YXRpYyBib29sIHN0YXJ0
KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpD
YWxsYmFja0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNp
cmVkQm91bmRzLCBkb3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRp
b24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uKTsKICAgICB+SW1hZ2VSZXNpemVy
VGhyZWFkKCk7CiAKIHByaXZhdGU6Ci0gICAgSW1hZ2VSZXNpemVyVGhyZWFkKEFzeW5jSW1hZ2VS
ZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50
U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNw
ZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7Cisg
ICAgSW1hZ2VSZXNpemVyVGhyZWFkKEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBB
c3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBkb3Vi
bGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlv
bnM6Ok9yaWVudGF0aW9uT3B0aW9uKTsKICAgICBzdGF0aWMgdm9pZCogaW1hZ2VSZXNpemVyVGhy
ZWFkU3RhcnQodm9pZCopOwogICAgIHZvaWQqIGltYWdlUmVzaXplclRocmVhZCgpOwogCkBAIC01
OCw5ICs2MCw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEJpdG1hcEltYWdlPiBtX2ltYWdlOwog
ICAgIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG1fb3V0cHV0VHlwZTsKICAgICBJbnRT
aXplIG1fZGVzaXJlZEJvdW5kczsKLSAgICBmbG9hdCBtX3F1YWxpdHk7Ci0gICAgQXN5bmNJbWFn
ZVJlc2l6ZXI6OkFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAgQXN5
bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG1fb3JpZW50YXRpb25PcHRpb247Cisg
ICAgZG91YmxlIG1fcXVhbGl0eTsKKyAgICBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlv
biBtX2FzcGVjdFJhdGlvT3B0aW9uOworICAgIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0
aW9uIG1fb3JpZW50YXRpb25PcHRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAgYi9XZWJDb3JlL2h0bWwv
UmVzaXplT3B0aW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEy
OTBmMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcApA
QCAtMCwwICsxLDExMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU1BR0VfUkVT
SVpFUikKKyNpbmNsdWRlICJSZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEluY2x1c2l2ZSBsaW1pdHM7Citz
dGF0aWMgY29uc3QgaW50IGRpbWVuc2lvbnNMb3dlckxpbWl0ID0gMTsKK3N0YXRpYyBjb25zdCBp
bnQgZGltZW5zaW9uc1VwcGVyTGltaXQgPSAzMjc2NzsKK3N0YXRpYyBjb25zdCBkb3VibGUgY29t
cHJlc3Npb25Mb3dlckxpbWl0ID0gMC4wOworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVzc2lv
blVwcGVyTGltaXQgPSAxLjA7CisKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdENvbXByZXNz
aW9uID0gMC44NTsKKworUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiBSZXNpemVPcHRpb25zOjpj
cmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVzaXplT3B0aW9ucygpKTsKK30K
KworUmVzaXplT3B0aW9uczo6UmVzaXplT3B0aW9ucygpCisgICAgOiBtX3dpZHRoKDApCisgICAg
LCBtX2hlaWdodCgwKQorICAgICwgbV9jb21wcmVzc2lvbkxldmVsKGRlZmF1bHRDb21wcmVzc2lv
bikKKyAgICAsIG1fYXNwZWN0UmF0aW9PcHRpb24oSWdub3JlQXNwZWN0UmF0aW8pCisgICAgLCBt
X29yaWVudGF0aW9uT3B0aW9uKElnbm9yZU9yaWVudGF0aW9uKQoreworfQorCit2b2lkIFJlc2l6
ZU9wdGlvbnM6OnNldFdpZHRoKGludCB3aWR0aCkKK3sKKyAgICBtX3dpZHRoID0gd2lkdGggPj0g
ZGltZW5zaW9uc0xvd2VyTGltaXQgJiYgd2lkdGggPD0gZGltZW5zaW9uc1VwcGVyTGltaXQgPyB3
aWR0aCA6IDA7Cit9CisKK2ludCBSZXNpemVPcHRpb25zOjp3aWR0aCgpCit7CisgICAgcmV0dXJu
IG1fd2lkdGg7Cit9CisKK3ZvaWQgUmVzaXplT3B0aW9uczo6c2V0SGVpZ2h0KGludCBoZWlnaHQp
Cit7CisgICAgbV9oZWlnaHQgPSBoZWlnaHQgPj0gZGltZW5zaW9uc0xvd2VyTGltaXQgJiYgaGVp
Z2h0IDw9IGRpbWVuc2lvbnNVcHBlckxpbWl0ID8gaGVpZ2h0IDogMDsKK30KKworaW50IFJlc2l6
ZU9wdGlvbnM6OmhlaWdodCgpCit7CisgICAgcmV0dXJuIG1faGVpZ2h0OworfQorCit2b2lkIFJl
c2l6ZU9wdGlvbnM6OnNldENvbXByZXNzaW9uTGV2ZWwoZG91YmxlIGNvbXByZXNzaW9uTGV2ZWwp
Cit7CisgICAgbV9jb21wcmVzc2lvbkxldmVsID0gY29tcHJlc3Npb25MZXZlbCA+PSBjb21wcmVz
c2lvbkxvd2VyTGltaXQgJiYgY29tcHJlc3Npb25MZXZlbCA8PSBjb21wcmVzc2lvblVwcGVyTGlt
aXQgPyBjb21wcmVzc2lvbkxldmVsIDogZGVmYXVsdENvbXByZXNzaW9uOworfQorCitkb3VibGUg
UmVzaXplT3B0aW9uczo6Y29tcHJlc3Npb25MZXZlbCgpCit7CisgICAgcmV0dXJuIG1fY29tcHJl
c3Npb25MZXZlbDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRBc3BlY3RSYXRpb09wdGlv
bihib29sIHByZXNlcnZlQXNwZWN0UmF0aW8pCit7CisgICAgbV9hc3BlY3RSYXRpb09wdGlvbiA9
IHByZXNlcnZlQXNwZWN0UmF0aW8gPyBQcmVzZXJ2ZUFzcGVjdFJhdGlvIDogSWdub3JlQXNwZWN0
UmF0aW87Cit9CisKK1Jlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIFJlc2l6ZU9wdGlv
bnM6OmFzcGVjdFJhdGlvT3B0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9hc3BlY3RSYXRpb09wdGlv
bjsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJpbmcg
b3JpZW50YXRpb25PcHRpb24pCit7CisgICAgbV9vcmllbnRhdGlvbk9wdGlvbiA9IG9yaWVudGF0
aW9uT3B0aW9uID09ICJhdXRvIiA/IENvcnJlY3RPcmllbnRhdGlvbiA6IElnbm9yZU9yaWVudGF0
aW9uOworfQorCitSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBSZXNpemVPcHRpb25z
OjpvcmllbnRhdGlvbk9wdGlvbigpCit7CisgICAgcmV0dXJuIG1fb3JpZW50YXRpb25PcHRpb247
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9S
RVNJWkVSKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaCBiL1dlYkNv
cmUvaHRtbC9SZXNpemVPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNzMyNzE5ZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25z
LmgKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVzaXplT3B0aW9uc19oCisjZGVmaW5lIFJlc2l6
ZU9wdGlvbnNfaAorCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgU3RyaW5nOworCitjbGFzcyBSZXNpemVPcHRpb25zIDogcHVibGlj
IFJlZkNvdW50ZWQ8UmVzaXplT3B0aW9ucz4geworcHVibGljOgorICAgIGVudW0gQXNwZWN0UmF0
aW9PcHRpb24geworICAgICAgICBQcmVzZXJ2ZUFzcGVjdFJhdGlvLAorICAgICAgICBJZ25vcmVB
c3BlY3RSYXRpbworICAgIH07CisKKyAgICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKKyAgICAg
ICAgQ29ycmVjdE9yaWVudGF0aW9uLAorICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgorICAgIH07
CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiBjcmVhdGUoKTsKKworICAg
IHZvaWQgc2V0V2lkdGgoaW50KTsKKyAgICBpbnQgd2lkdGgoKTsKKworICAgIHZvaWQgc2V0SGVp
Z2h0KGludCk7CisgICAgaW50IGhlaWdodCgpOworCisgICAgdm9pZCBzZXRDb21wcmVzc2lvbkxl
dmVsKGRvdWJsZSk7CisgICAgZG91YmxlIGNvbXByZXNzaW9uTGV2ZWwoKTsKKworICAgIHZvaWQg
c2V0QXNwZWN0UmF0aW9PcHRpb24oYm9vbCk7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0
UmF0aW9PcHRpb24oKTsKKworICAgIHZvaWQgc2V0T3JpZW50YXRpb25PcHRpb24oU3RyaW5nKTsK
KyAgICBPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbigpOworCitwcml2YXRlOgor
ICAgIFJlc2l6ZU9wdGlvbnMoKTsKKworICAgIC8vIElmIG1fd2lkdGggb3IgbV9oZWlnaHQgPT0g
MCwgdGhhdCBkaW1lbnNpb24gd2lsbCBub3QgY2hhbmdlIGV4cGxpY2l0bHkgZHVyaW5nIHJlc2l6
aW5nLgorICAgIGludCBtX3dpZHRoOworICAgIGludCBtX2hlaWdodDsKKyAgICBkb3VibGUgbV9j
b21wcmVzc2lvbkxldmVsOworICAgIEFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRp
b247CisgICAgT3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQor
CisjZW5kaWYgLy8gUmVzaXplT3B0aW9uc19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59727</attachid>
            <date>2010-06-24 21:14:48 -0700</date>
            <delta_ts>2010-06-24 21:17:21 -0700</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>100239</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzMmE5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICAgIHRyeSB7CisgICAg
ICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhw
cmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAi
JyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisK
K3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52
YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3
IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVm
aW5lR2V0dGVyX18oIndpZHRoIiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3
aWR0aCBnZXR0ZXIgZXhjZXB0aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgp
OworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQp
JywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIpJywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9ibXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIDQyKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQy
KScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6
IHdpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHRydWUpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgLUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywg
ZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7ZHVtbXlQcm9wZXJ0eTpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9w
ZXJ0eTo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1
bW15UHJvcGVydHk6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7
fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRy
dWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7d2lkdGg6LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0p
JywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBm
YWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDot
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0
aW9ufSknLCB0cnVlLCAnRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRp
bzp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZl
QXNwZWN0UmF0aW86NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5m
aW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7
CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge29yaWVudGF0aW9uOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRh
dGlvbjp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7b3JpZW50YXRpb246SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZh
bHNlKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvY29tcHJlc3Npb24tbGV2ZWwt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvc2NyaXB0LXRlc3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5NGFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRl
c3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKQEAgLTAsMCArMSwzMSBAQAorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgdmFyeWluZyB0aGUgY29tcHJlc3Npb24gbGV2ZWwgYWZmZWN0cyB0aGUg
c2l6ZSBvZiB0aGUgcmV0dXJuZWQgYmxvYiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5z
cmMgPSAiLi4vLi4vcmVzb3VyY2VzL21vemlsbGEuZ2lmIjsKKwordmFyIHNpemVGcm9tTG93Q29t
cHJlc3Npb247Cit2YXIgc2l6ZUZyb21IaWdoQ29tcHJlc3Npb247CisKK3ZhciBzdWNjZXNzQ2Fs
bGJhY2tMb3cgPSBmdW5jdGlvbihibG9iKSB7CisgICAgc2l6ZUZyb21Mb3dDb21wcmVzc2lvbiA9
IGJsb2Iuc2l6ZTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0Nh
bGxiYWNrSGlnaCwgZXJyb3JDYWxsYmFjaywgeyBjb21wcmVzc2lvbkxldmVsIDogMC45OSB9KTsK
K307CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2tIaWdoID0gZnVuY3Rpb24oYmxvYikgeworICAgIHNp
emVGcm9tSGlnaENvbXByZXNzaW9uID0gYmxvYi5zaXplOworICAgIGlmIChzaXplRnJvbUhpZ2hD
b21wcmVzc2lvbiA+IHNpemVGcm9tTG93Q29tcHJlc3Npb24pCisgICAgICAgIHRlc3RQYXNzZWQo
IkNvbXByZXNzaW9uIGxldmVsIG9mIDAuMSB5aWVsZHMgYSBzbWFsbGVyIGZpbGUgdGhhbiBjb21w
cmVzc2lvbiBsZXZlbCBvZiAwLjkiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIkNv
bXByZXNzaW9uIGxldmVsIG9mIDAuMSB5aWVsZHMgYSBmaWxlIG9mIHNpemUgIiArIHNpemVGcm9t
TG93Q29tcHJlc3Npb24gKyAiIHdoaWxzdCBhIGNvbXByZXNzaW9uIGxldmVsIG9mIDAuOSB5aWVs
ZHMgYSBmaWxlIG9mIHNpemUgIiArIHNpemVGcm9tSGlnaENvbXByZXNzaW9uKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKK3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsK
KyAgICB0ZXN0RmFpbGVkKCJFcnJvciBjYWxsYmFjayBjYWxsZWQgd2l0aCBlcnJvcjogIiArIGVy
cm9yKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L2pwZWciLCBzdWNjZXNzQ2FsbGJhY2tMb3csIGVycm9yQ2FsbGJhY2ssIHsgY29tcHJlc3Npb25M
ZXZlbCA6IDAuMDEgfSk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFz
LW5vLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Vi
a2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI4MjEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgYW4gaW1hZ2Ugd2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZB
TElEX1NUQVRFX0VSUiBleGNlcHRpb24uIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNy
YyA9IG51bGw7CisKK3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0cnkgeworICAgICAgICBpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbik7CisgICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24uIE5vIGV4Y2VwdGlvbiB3YXMgdGhyb3du
Li4uIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
ICB0ZXN0UGFzc2VkKCJFeGNlcHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246ICIgKyBlKTsKKyAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE4
NmRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9h
ZC5qcwpAQCAtMCwwICsxLDI1IEBACitkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHRoZSBjYWxs
YmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4iKTsKKwordmFyIGkgPSBuZXcg
SW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dCgndGVz
dFBhc3NlZCgiTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1bmxvYWQiKTsgZmluaXNoSlNUZXN0
KCk7JywgMTAwKTsKK30KKworZG9jdW1lbnQuYm9keS5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGkud2Via2l0R2V0SW1hZ2UoCisgICAgICAgICJpbWFnZS9wbmciLAorICAgICAgICBmdW5j
dGlvbihibG9iKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdl
dEltYWdlIHN1Y2Nlc3MgY2FsbGJhY2suIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlVuZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2UgZXJyb3IgY2FsbGJhY2s6ICIgKyBlcnJv
cik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICk7Cit9CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2Uu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdl
L3NjcmlwdC10ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWVmZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMKQEAgLTAsMCArMSwxMiBAQAorZGVzY3Jp
cHRpb24oIlRoaXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlkZGVu
IHdpdGggYW5vdGhlciBtZXRob2QuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9
ICIuLi9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2kud2Via2l0R2V0SW1hZ2UgPSBmdW5j
dGlvbigpIHsgcmV0dXJuIDQyOyB9Cit2YXIgcmVzdWx0ID0gaS53ZWJraXRHZXRJbWFnZSgpOwor
CitzaG91bGRCZU5vblplcm8ocmVzdWx0KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxz
ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvdGVzdC1jYWxsYmFja3MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjQ4MzcyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3Jp
cHQtdGVzdHMvdGVzdC1jYWxsYmFja3MuanMKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgdGhlIGNhbGxiYWNrcyB3b3JrIGNvcnJlY3RseS4iKTsKKwordmFyIGkgPSBu
ZXcgSW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFy
IHN1Y2Nlc3NDYWxsYmFjayA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICB0ZXN0RmFpbGVkKCJTdWNj
ZXNzIGNhbGxiYWNrIHdhcyBpbmNvcnJlY3RseSBjYWxsZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKK3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0
UGFzc2VkKCJFcnJvciBjYWxsYmFjayB3YXMgY29ycmVjdGx5IGNhbGxlZCB3aXRoIG91dHB1dDog
IiArIGVycm9yKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKy8vIE9ubHkgdGhlIGVycm9y
IGNhbGxiYWNrIHdpbGwgY3VycmVudGx5IG5ldmVyIGJlIGNhbGxlZCBpbiB0aGlzIHBhdGNoLCBz
byB0ZXN0CisvLyB0aGF0IGl0IHdvcmtzIGZvciBub3cuCitpLndlYmtpdEdldEltYWdlKCJpbWFn
ZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3Qtb3V0
cHV0LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMWM5MDAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50
L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcwpAQCAtMCww
ICsxLDMxIEBACisvLyBGSVhNRTogUE5HIGFuZCBKUEVHIGFyZSBub3QgaW1wbGVtZW50ZWQgb24g
ZXZlcnkgcGxhdGZvcm0uCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZGlmZmVyZW50IG91
dHB1dCB0eXBlIHBhcmFtZXRlcnMgd29yayIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5z
cmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit2YXIgc3VjY2Vzc0NhbGxiYWNr
UG5nID0gZnVuY3Rpb24oYmxvYikgeworICAgIGlmIChibG9iLnR5cGUgPT0gImltYWdlL3BuZyIp
CisgICAgICAgIHRlc3RQYXNzZWQoIlBORyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UKKyAg
ICAgICAgdGVzdEZhaWxlZCgiUE5HIGltYWdlIG5vdCByZXR1cm5lZC4gSW5zdGVhZCwgTUlNRSB0
eXBlIGlzOiAiICsgYmxvYi50eXBlKTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
Iiwgc3VjY2Vzc0NhbGxiYWNrSnBlZywgZXJyb3JDYWxsYmFjayk7Cit9OworCit2YXIgc3VjY2Vz
c0NhbGxiYWNrSnBlZyA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICBpZiAoYmxvYi50eXBlID09ICJp
bWFnZS9qcGVnIikKKyAgICAgICAgdGVzdFBhc3NlZCgiSlBFRyBpbWFnZSByZXR1cm5lZCIpOwor
ICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZCgiSlBFRyBpbWFnZSBub3QgcmV0dXJuZWQuIElu
c3RlYWQsIE1JTUUgdHlwZSBpczogIiArIGJsb2IudHlwZSk7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9OworCit2YXIgZXJyb3JDYWxsYmFjayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdEZh
aWxlZCgiRXJyb3IgY2FsbGJhY2sgY2FsbGVkIHdpdGggZXJyb3I6ICIgKyBlcnJvcik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9OworCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBzdWNj
ZXNzQ2FsbGJhY2tQbmcsIGVycm9yQ2FsbGJhY2spOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMwMTgzMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgdGhlIGNh
bGxiYWNrcyB3b3JrIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgRXJyb3IgY2FsbGJhY2sgd2FzIGNvcnJlY3RseSBjYWxsZWQgd2l0aCBvdXRwdXQ6IFVu
ZXhwZWN0ZWQgZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0
bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYzI2NTAyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jNDhlZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBJbWFnZS53ZWJraXRHZXRJbWFnZSBjYW5ub3Qg
YmUgY2FsbGVkIG9uIGFuIGltYWdlIG9mIHJlbW90ZSBvcmlnaW4uCisKKworUEFTUzogVGhyZXcg
ZXhjZXB0aW9uOiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1y
ZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
aW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1sLWRpc2FibGVkCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyZjVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9y
aWdpbi5odG1sLWRpc2FibGVkCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bG9nIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgIlxuIikpOwor
fQorCit2YXIgZW1wdHlDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB9OworCit3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgdHJ5IHsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJbWFnZSIpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUNhbGxiYWNrKTsKKyAgICAgICAgbG9nKCJGQUlMOiBEaWQgbm90
IHRocm93IGV4Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nICgiUEFT
UzogVGhyZXcgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfQorCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRl
c3RzIHRoYXQgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpbWFn
ZSBvZiByZW1vdGUgb3JpZ2luLjwvcD4KKzxpbWcgaWQ9InRlc3RJbWFnZSIgc3JjPSJodHRwOi8v
bG9jYWxob3N0OjgwMDAvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyIgLz4KKzxwcmUgaWQ9
ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNTk1ZGFjYgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyBkaWZmZXIKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRleCAx
YmE5OWEwLi4xNDkxODk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQubWsKKysrIGIvV2Vi
Q29yZS9BbmRyb2lkLm1rCkBAIC0yNzMsNiArMjczLDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQo
TE9DQUxfU1JDX0ZJTEVTKSBcCiAJaHRtbC9JbWFnZURhdGEuY3BwIFwKIAlodG1sL0ltYWdlUmVz
aXplclRocmVhZC5jcHAgXAogCWh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKwlodG1s
L1Jlc2l6ZU9wdGlvbnMuY3BwIFwKIAlodG1sL1RpbWVSYW5nZXMuY3BwIFwKIAlodG1sL1ZhbGlk
aXR5U3RhdGUuY3BwIFwKIAlcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNDVjZTc3Li4xMzg5NjA4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTI2Myw2ICsyNjMsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL0hUTUxVTGlz
dEVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbAogICAgIGh0bWwvSW1h
Z2VEYXRhLmlkbAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwKKyAgICBo
dG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBodG1sL01lZGlhRXJyb3Iu
aWRsCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwKICAgICBodG1sL1ZhbGlkaXR5U3RhdGUuaWRs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDAwYTg1ZTQuLjgyZWUwODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTAtMDYtMjEgIFN0ZXJsaW5nIFN3
aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUgaW1hZ2UgcmVzaXppbmcg
QVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBsZXRlIGF0IHRoaXMgc3Rh
Z2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDg1
NAorCisgICAgICAgICogQW5kcm9pZC5tazogQWRkZWQgUmVzaXplT3B0aW9ucy5jcHAuCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkIGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLmNwcDogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogRGl0dG8uCisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcmk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
cHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajogRGl0
dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4K
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc2l6ZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6
SlNIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRHZXRJbWFnZSk6CisgICAgICAgICogaHRtbC9Bc3lu
Y0ltYWdlUmVzaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6
c3RhcnQpOiBDbGllbnQgb2YgdGhpcyBjbGFzcyBubyBsb25nZXIgZG9lcyBhbnkgcmVmY291bnRp
bmcuCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6QXN5bmNJbWFnZVJlc2l6
ZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpub3RpZnlG
aW5pc2hlZCk6IFJlZmFjdG9yZWQuCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXpl
cjo6cmVzaXplQ29tcGxldGUpOiBBZGRlZCBjYWxsYmFjay4KKyAgICAgICAgKFdlYkNvcmU6OkFz
eW5jSW1hZ2VSZXNpemVyOjpyZXNpemVFcnJvcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
QXN5bmNJbWFnZVJlc2l6ZXI6OmNhblN1c3BlbmQpOiBEb2VzIG5vdCBzdXNwZW5kLgorICAgICAg
ICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0b3ApOiBOb3cgaXMgbGlua2VkIHRvIGRv
Y3VtZW50J3MgZGVzdHJ1Y3Rpb24uCisgICAgICAgICogaHRtbC9Bc3luY0ltYWdlUmVzaXplci5o
OgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbzo6Q2Fs
bGJhY2tJbmZvKTogTm93IG9ubHkgc3RvcmVzIG5lY2Vzc2l0aWVzLgorICAgICAgICAqIGh0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50
Ojp3ZWJraXRHZXRJbWFnZSk6IEltcGxlbWVudGF0aW9uIG9mIEpTIGZ1bmN0aW9uLgorICAgICAg
ICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjazo6fkltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2spOgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrOjp+SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0lt
YWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSW1h
Z2VSZXNpemVyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVh
ZDo6c3RhcnQpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VSZXNpemVyVGhy
ZWFkOjpJbWFnZVJlc2l6ZXJUaHJlYWQpOiAgUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL0lt
YWdlUmVzaXplclRocmVhZC5oOiBSZWZhY3RvcmVkLgorICAgICAgICAqIGh0bWwvUmVzaXplT3B0
aW9ucy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OlJlc2l6ZU9wdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0V2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzaXplT3B0aW9uczo6d2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9u
czo6c2V0SGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmhlaWdodCk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpzZXRDb21wcmVzc2lvbkxldmVsKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNvbXByZXNzaW9uTGV2ZWwpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0QXNwZWN0UmF0aW9PcHRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6YXNwZWN0UmF0aW9PcHRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0T3JpZW50YXRpb25PcHRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6b3JpZW50YXRpb25PcHRpb24pOgorICAgICAgICAq
IGh0bWwvUmVzaXplT3B0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9w
dGlvbnM6Oik6CisKIDIwMTAtMDYtMjMgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAw
Lm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5k
ZXggOTA0ZWE1NS4uZjA2ZDRlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTE4MSw2ICsxODEsOCBAQAog
I2luY2x1ZGUgIkpTSURCUmVxdWVzdC5jcHAiCiAjaW5jbHVkZSAiSlNJREJTdWNjZXNzRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suY3BwIgorI2luY2x1ZGUgIkpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmNwcCIKICNpbmNsdWRlICJKU0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwIgogI2luY2x1
ZGUgIkpTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAiCiAjaW5jbHVkZSAiSlNLZXlib2FyZEV2ZW50
LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiZjA5YTIyLi4zOWY2YTQ2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yMjQsNiArMjI0LDggQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSURCUmVxdWVzdCBc
CiAgICAgSURCU3VjY2Vzc0V2ZW50IFwKICAgICBJbWFnZURhdGEgXAorICAgIEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjayBcCisgICAgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayBcCiAgICAg
SW5kZXhlZERhdGFiYXNlUmVxdWVzdCBcCiAgICAgSW5qZWN0ZWRTY3JpcHRIb3N0IFwKICAgICBJ
bnNwZWN0b3JCYWNrZW5kIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGU0OGIwMzcuLjYxNzdmZDggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
Mjc2LDYgKzI3Niw4IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxVTGlz
dEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwgXAogCVdl
YkNvcmUvaHRtbC9JbWFnZURhdGEuaWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjay5pZGwgXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2suaWRsIFwKIAlXZWJDb3JlL2h0bWwvVGV4dE1ldHJpY3MuaWRsIFwKIAlXZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5pZGwgXAogCVdlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJhY2suaWRsIFwKQEAg
LTQ1Niw2ICs0NTgsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTElGcmFtZUVsZW1lbnRDdXN0b20uY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRN
TEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbnB1dEVs
ZW1lbnRDdXN0b20uaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPYmplY3RFbGVtZW50
Q3VzdG9tLmNwcCBcCkBAIC0xMjcyLDEzICsxMjc1LDE3IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAJV2ViQ29yZS9odG1s
L0ltYWdlRGF0YS5jcHAgXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuaCBcCisJV2ViQ29yZS9o
dG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjay5oIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFk
LmNwcCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oIFwKIAlXZWJDb3JlL2h0
bWwvTGFiZWxzTm9kZUxpc3QuY3BwIFwKIAlXZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaCBc
Ci0JV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaCBcCiAJV2ViQ29yZS9odG1sL0xlZ2FjeVByZWxv
YWRTY2FubmVyLmNwcCBcCiAJV2ViQ29yZS9odG1sL0xlZ2FjeVByZWxvYWRTY2FubmVyLmggXAor
CVdlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAorCVdlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25z
LmNwcCBcCisJV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAJV2ViQ29yZS9odG1sL1N0
ZXBSYW5nZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBcCiAJV2ViQ29yZS9odG1s
L1RleHRNZXRyaWNzLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MzIxNDg1Li5hNzU5ZDIyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTg4LDYgKzE4
OCw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbCcsCiAgICAgICAg
ICAgICAnaHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFn
ZURhdGEuaWRsJywKKyAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvTWVkaWFFcnJvci5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
VGV4dE1ldHJpY3MuaWRsJywKICAgICAgICAgICAgICdodG1sL1RpbWVSYW5nZXMuaWRsJywKQEAg
LTU3Myw2ICs1NzUsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1lRWxl
bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0
RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTElGcmFt
ZUVsZW1lbnRDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJbWFn
ZUVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJbnB1
dEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJbnB1
dEVsZW1lbnRDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0
RWxlbWVudEN1c3RvbS5jcHAnLApAQCAtMTY2Miw2ICsxNjY1LDggQEAKICAgICAgICAgICAgICdo
dG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZURh
dGEuY3BwJywKICAgICAgICAgICAgICdodG1sL0ltYWdlRGF0YS5oJywKKyAgICAgICAgICAgICdo
dG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAnaHRtbC9JbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6
ZXJUaHJlYWQuY3BwJywKICAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplclRocmVhZC5oJywK
ICAgICAgICAgICAgICdodG1sL0xhYmVsc05vZGVMaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA2NmU3N2NhLi5lYWYx
OWY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKQEAgLTQyNCw2ICs0MjQsOCBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRN
TFVMaXN0RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwgXAogICAg
IGh0bWwvSW1hZ2VEYXRhLmlkbCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNr
LmlkbCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsIFwKICAgICBo
dG1sL01lZGlhRXJyb3IuaWRsIFwKICAgICBodG1sL1RleHRNZXRyaWNzLmlkbCBcCiAgICAgaHRt
bC9UaW1lUmFuZ2VzLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwppbmRleCA5ODZmN2EzLi4zYzE5YTdkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTMxNSw2ICszMTUs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRDdXN0
b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3Bw
IFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCisgICAg
YmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3Mv
anMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1M
T2JqZWN0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnND
b2xsZWN0aW9uQ3VzdG9tLmNwcCBcCkBAIC03MDUsNiArNzA2LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIFwKICAgICBodG1sL0xhYmVsc05vZGVMaXN0
LmNwcCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgXAorICAgIGh0bWwvUmVz
aXplT3B0aW9ucy5jcHAgXAogICAgIGh0bWwvU3RlcFJhbmdlLmNwcCBcCiAgICAgaHRtbC9WYWxp
ZGl0eVN0YXRlLmNwcCBcCiAgICAgaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcCBcCkBAIC0x
NDQyLDkgKzE0NDQsMTIgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmggXAogICAgIGh0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIFwKICAgICBodG1sL0ltYWdl
RGF0YS5oIFwKKyAgICBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBcCisgICAgaHRt
bC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBcCiAgICAgaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuaCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5oIFwKICAgICBodG1sL0xlZ2FjeVBy
ZWxvYWRTY2FubmVyLmggXAorICAgIGh0bWwvUmVzaXplT3B0aW9ucy5oIFwKICAgICBodG1sL1N0
ZXBSYW5nZS5oIFwKICAgICBodG1sL1RpbWVSYW5nZXMuaCBcCiAgICAgaHRtbC9WYWxpZGl0eVN0
YXRlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYjQwZmExYy4u
OGM1OTAwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zNzcxMyw2
ICszNzcxMywxNCBAQAogCQkJCT4KCiAJCQk8L0ZpbGU+CgogCQkJPEZpbGUKCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwIgoKKwkJCQk+Cgor
CQkJPC9GaWxlPgoKKwkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3BwIgoKKwkJCQk+CgorCQkJPC9GaWxlPgoKKwkJCTxGaWxl
CgogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIgoKIAkJ
CQk+CgogCQkJPC9GaWxlPgoKQEAgLTM3NzQxLDYgKzM3NzQ5LDE0IEBACiAJCQkJPgoKIAkJCTwv
RmlsZT4KCiAJCQk8RmlsZQoKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcUmVzaXplT3B0aW9u
cy5jcHAiCgorCQkJCT4KCisJCQk8L0ZpbGU+CgorCQkJPEZpbGUKCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuaCIKCisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8Rmls
ZQoKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcU3RlcFJhbmdlLmNwcCIKCiAJCQkJPgoKIAkJ
CTwvRmlsZT4KCkBAIC00MDQ0MCw2ICs0MDQ1OCw1OSBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgoKIAkJCQk8L0ZpbGU+CgogCQkJCTxGaWxlCgorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJp
bmRpbmdzXGpzXEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAiCgorCQkJCQk+CgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKCisJCQkJCQk+CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKCisJCQkJCQkvPgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIi
CgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29s
CgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJE
ZWJ1Z19JbnRlcm5hbHxXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKCisJ
CQkJCQk+CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKCisJ
CQkJCQkvPgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgoKKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIgoKKwkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgoKKwkJCQkJCT4KCisJCQkJCQk8VG9vbAoKKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgoKKwkJCQkJCS8+CgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgoKKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiIK
CisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKCisJCQkJCQk+CgorCQkJCQkJPFRvb2wK
CisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKCisJCQkJCQkvPgoKKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKKwkJCQkJCU5hbWU9IkRl
YnVnX0FsbHxXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKCisJCQkJCQk+
CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKCisJCQkJCQkv
PgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJPC9GaWxlPgoKKwkJCQk8RmlsZQoK
IAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0hUTUxJbnB1dEVsZW1lbnRDdXN0
b20uY3BwIgoKIAkJCQkJPgoKIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwZDA5NDc4Li45NmJjNTkxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzUyNCw2ICszNTI0
LDE1IEBACiAJCUIwMTQ5RTdFMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0Ex
MUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi87IH07CiAJCUIwMTQ5RTdG
MTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdC
IC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi87IH07CiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5
NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6
ZXJUaHJlYWQuaCAqLzsgfTsKKwkJQjA0RTZCRjIxMUM2RjBFOTAwMjE0MjgzIC8qIFJlc2l6ZU9w
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIw
NEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi87IH07CisJCUIwNEU2
QkY1MTFDN0YwNzkwMDIxNDI4MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRDMTFBQjFF
QTAwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCMDRFNkJGNjExQzdGMDdFMDAy
MTQyODMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNEEwNEExMUFCMUVBMDAwMTk2QTdCIC8qIElt
YWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlCMDRGNTlGRjExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1h
Z2VFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIwNEY1OUZEMTFDNkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRD
dXN0b20uY3BwICovOyB9OworCQlCMEE3MTUxQjExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0
aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MEE3MTUxQTExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi87IH07CisJCUIw
QTcxNUI3MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1QjMx
MUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHAgKi87IH07
CisJCUIwQTcxNUI4MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcx
NUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLzsg
fTsKKwkJQjBBNzE1QjkxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5jcHAgKi87IH07CisJCUIwQTcxNUJBMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjBBNzE1QjYxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrLmggKi87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJ
QjIwMTExMDgwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2
OCAvKiBKU1NWR0FFbGVtZW50LmggKi87IH07CiAJCUIyMTEyN0E2MEIzMTg2NzcwMDA5QkU1MyAv
KiBKU1NWR1BPRFR5cGVXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMjExMjdBNTBCMzE4Njc3MDAwOUJFNTMgLyogSlNTVkdQT0RUeXBlV3Jh
cHBlci5oICovOyB9OwpAQCAtODg4Myw2ICs4ODkyLDE3IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUw
MDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBc3luY0ltYWdlUmVzaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAv
KiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW1hZ2VSZXNpemVyVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRB
MDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8q
IEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjA0RTZCRjExMUM2RjBFOTAwMjE0MjgzIC8qIFJlc2l6ZU9wdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzaXplT3B0aW9ucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1M
SW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIwQTcxNTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRpb25zLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc2l6ZU9wdGlvbnMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTU3OTExRDAxQjIxMDAzQzMzNzMgLyogSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIw
QTcxNTdBMTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUIzMTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjBBNzE1QjUxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBB
NzE1QjYxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUw
MERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1NWR0FFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjIxMTI3QTUwQjMxODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdy
YXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHUE9EVHlwZVdy
YXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzUyLDE2ICsxMzc3Miwy
MiBAQAogCQkJCUE3Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovLAog
CQkJCUE3Nzk3OTE0MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLywKIAkJCQlBNzc5
NzkxNTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmlkbCAqLywKKwkJCQlCMDE0QTA0QTEx
QUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIw
QTcxNTc5MTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCAq
LywKKwkJCQlCMDE0QTA0QzExQUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmggKi8sCisJCQkJQjBBNzE1N0ExMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8sCiAJCQkJQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8q
IEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8sCiAJCQkJQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdC
IC8qIEltYWdlUmVzaXplclRocmVhZC5oICovLAogCQkJCUE0NTZGQTI0MTFBRDRBODMwMDIwQjQy
MCAvKiBMYWJlbHNOb2RlTGlzdC5jcHAgKi8sCiAJCQkJQTQ1NkZBMjUxMUFENEE4MzAwMjBCNDIw
IC8qIExhYmVsc05vZGVMaXN0LmggKi8sCiAJCQkJRjUyM0QyNTAwMkRFNDM5NjAxODYzNUNBIC8q
IExlZ2FjeUhUTUxUcmVlQnVpbGRlci5jcHAgKi8sCiAJCQkJRjUyM0QyNTEwMkRFNDM5NjAxODYz
NUNBIC8qIExlZ2FjeUhUTUxUcmVlQnVpbGRlci5oICovLAotCQkJCUU0NDYxMzlCMENENjMzMTAw
MEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi8sCi0JCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1
IC8qIE1lZGlhRXJyb3IuaWRsICovLAogCQkJCUU0RDRBQkUwMEQ3NTQyRjAwMEY5Njg2OSAvKiBM
ZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgKi8sCiAJCQkJRTRENEFCRTEwRDc1NDJGMTAwRjk2ODY5
IC8qIExlZ2FjeVByZWxvYWRTY2FubmVyLmggKi8sCisJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFE
QTc1IC8qIE1lZGlhRXJyb3IuaCAqLywKKwkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyog
TWVkaWFFcnJvci5pZGwgKi8sCisJCQkJQjBBNzE1MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6
ZU9wdGlvbnMuY3BwICovLAorCQkJCUIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVP
cHRpb25zLmggKi8sCiAJCQkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5j
cHAgKi8sCiAJCQkJQTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovLAog
CQkJCUJDRUY0NUU4MEU2ODc3NjcwMDFDMTI4NyAvKiBUZXh0TWV0cmljcy5oICovLApAQCAtMTQw
MDMsNiArMTQwMjksMTAgQEAKIAkJCQlFNDQ2MTQwRjBDRDY4MjY5MDBGQURBNzUgLyogSlNIVE1M
VmlkZW9FbGVtZW50LmggKi8sCiAJCQkJQTc3OTc5MjQwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1h
Z2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5NzkyNTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURh
dGEuaCAqLywKKwkJCQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQlCMEE3MTVCNDExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjBBNzE1QjUxMUQwNDMxRTAwM0Mz
MzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLywKKwkJCQlCMEE3MTVC
NjExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLywK
IAkJCQk0OUVFQ0VGODEwNTA3MEM0MDAwOTlGQUIgLyogSlNJbnQxNkFycmF5LmNwcCAqLywKIAkJ
CQk0OUVFQ0VGOTEwNTA3MEM0MDAwOTlGQUIgLyogSlNJbnQxNkFycmF5LmggKi8sCiAJCQkJNDlF
RUNFRjYxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MzJBcnJheS5jcHAgKi8sCkBAIC0xNTU3Myw2
ICsxNTYwMyw3IEBACiAJCQkJQkMyRUQ3QTQwQzZDMEYzNjAwOTIwQkZGIC8qIEpTSFRNTEZyYW1l
RWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkNENDFBQkEwQzA2MERFODAwQzBFNDQ2IC8qIEpT
SFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyRUQ2NEYwQzZCQzQ4QzAw
OTIwQkZGIC8qIEpTSFRNTElGcmFtZUVsZW1lbnRDdXN0b20uY3BwICovLAorCQkJCUIwNEY1OUZE
MTFDNkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJ
CUJDQzQzODc3MEU4ODZDQzcwMDUzM0RENSAvKiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3Bw
ICovLAogCQkJCUJDMzA1Q0EzMEMwNzgxQkIwMENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50
Q3VzdG9tLmNwcCAqLywKIAkJCQk0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0
aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwICovLApAQCAtMTgxOTIsNiArMTgyMjMsOCBAQAogCQkJ
CTFBODIwRDkyMEExM0VCQTYwMEFGODQzQyAvKiBJbWFnZURvY3VtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkwODk1ODI1NjBFODU3QTdFMDBGODJDODMgLyogSW1hZ2VMb2FkZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCMDRFNkJGNjExQzdGMDdFMDAyMTQyODMgLyogSW1hZ2VSZXNp
emVyRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjA0RTZCRjUxMUM3RjA3OTAw
MjE0MjgzIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjI3NTM1NzEwQjA1MzgxNDAwMkNFNjRGIC8qIEltYWdlU291cmNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0QjM0ODA5NDBFRUY1MEQ0MDBBQzFCNDEgLyogSW1hZ2VTb3Vy
Y2VDRy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODQyNSw2ICsxODQ1OCw4IEBACiAJCQkJQzU2Qzkx
QTcxMTlEOTE4NzAwREU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzZDNDlGNDBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEu
aCBpbiBIZWFkZXJzICovLAorCQkJCUIwQTcxNUI4MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIwQTcxNUJBMTFEMDQz
MUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQzVGNEY0MTExMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVx
dWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0EwRTc2REIxMEJGMDU5ODAwQTAyNzZFIC8qIEpT
SW5qZWN0ZWRTY3JpcHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUYwNjBDRTBGNUVFQjJC
MDBBMDdFQUMgLyogSlNJbnNwZWN0b3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTE4OTU5
LDYgKzE4OTk0LDcgQEAKIAkJCQlBODlDQ0M1MzBGNDRFOTgxMDBCNURBMTAgLyogUmVwbGFjZU5v
ZGVXaXRoU3BhbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTBBMDk5RTY0OTIw
MDU2RTU4MSAvKiBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNCMTZDMkYwOTc5QzNCRDAwNDY3NzQxIC8qIFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUIwNEU2QkYyMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzRGNzE0MjBENUE2RjQ0MDAwMThENjkgLyogUmVzb3VyY2VFcnJvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JC
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVz
b3VyY2VIYW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjA3NDIsNiArMjA3NzgsNyBAQAogCQkJ
CUJDNDkxOEM4MEJGRUEwNTAwMDlENjMxNiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDMkVENjUwMEM2QkM0OEMwMDkyMEJGRiAvKiBKU0hUTUxJRnJhbWVF
bGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk3MEExQ0REMkQwMEI0
MkIyNSAvKiBKU0hUTUxJbWFnZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjA0RjU5
RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBODBFN0U5ODBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzODc4MEU4ODZDQzcwMDUzM0RENSAvKiBK
U0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBOTkw
QTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTElzSW5kZXhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMjA4MDAsNiArMjA4MzcsOCBAQAogCQkJCUJDNkM0OUYzMEQ3REJBMDUwMEZGQTU1OCAv
KiBKU0ltYWdlQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc3OTc5MjgwRDZC
OUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDAz
MThFMEU5MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlCMEE3MTVCNzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlD
NUY0RjQxMDExOTMwNkMwMDBGREZBREQgLyogSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdBMEU3NkRBMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVjdGVk
U2NyaXB0SG9zdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTBFNzZENTEwQkYwNTA3MDBBMDI3
NkUgLyogSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
MTM0Niw2ICsyMTM4NSw3IEBACiAJCQkJQTg5Q0NDNTIwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxh
Y2VOb2RlV2l0aFNwYW5Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTA5MDk5
RTY0OTIwMDU2RTU4MSAvKiBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0IxNkMyRTA5NzlDM0JEMDA0Njc3NDEgLyogUmVxdWVzdC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlCMEE3MTUxQjExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5MzRGNzEzRTBENUE2RjI4MDAwMThENjkgLyogUmVzb3VyY2VF
cnJvckJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NTAwQ0U5MjM0RTAwN0VGM0NE
IC8qIFJlc291cmNlRXJyb3JNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTRDNzY3ODBDRTky
M0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYyZGI2YwotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcApAQCAtMCwwICsx
LDE2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyNp
bmNsdWRlICJKU0hUTUxJbWFnZUVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgor
I2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5o
IgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgPHJ1bnRpbWUvSlNGdW5j
dGlvbi5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvR2V0
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Rh
dGljIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaW5oZXJpdHMo
JkpTRnVuY3Rpb246OmluZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBF
X01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpTSW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBnbG9iYWxPYmplY3QpOworfQorCitzdGF0aWMg
UGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBjcmVhdGVJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVu
Y2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2
YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICgh
dmFsdWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246OmluZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2Vw
dGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpT
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsK
K30KKworc3RhdGljIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4gY3JlYXRlUmVzaXplT3B0aW9u
cyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgUmVmUHRyPFJlc2l6ZU9w
dGlvbnM+IHJlc2l6ZU9wdGlvbnMgPSBSZXNpemVPcHRpb25zOjpjcmVhdGUoKTsKKworICAgIC8v
IEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBu
dWxsIGlzIGFsbG93ZWQuCisgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAg
ICAgICAgLy8gVXNlIGRlZmF1bHQgb3B0aW9ucy4KKyAgICAgICAgcmV0dXJuIHJlc2l6ZU9wdGlv
bnMucmVsZWFzZSgpOworICAgIH0KKyAgICBKU09iamVjdCogb2JqZWN0ID0gdmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisKKyAgICBKU1ZhbHVlIHdpZHRoID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRp
ZmllcihleGVjLCAid2lkdGgiKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICBpZiAoIXdpZHRoLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAg
cmVzaXplT3B0aW9ucy0+c2V0V2lkdGgod2lkdGgudG9JbnQzMihleGVjKSk7CisgICAgICAgIGlm
IChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIEpTVmFsdWUgaGVpZ2h0ID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAi
aGVpZ2h0IikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgaWYgKCFoZWlnaHQuaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRp
b25zLT5zZXRIZWlnaHQoaGVpZ2h0LnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU1Zh
bHVlIGNvbXByZXNzaW9uTGV2ZWwgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMs
ICJjb21wcmVzc2lvbkxldmVsIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFjb21wcmVzc2lvbkxldmVsLmlzVW5kZWZpbmVkKCkp
IHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+c2V0Q29tcHJlc3Npb25MZXZlbChjb21wcmVzc2lv
bkxldmVsLnRvTnVtYmVyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBwcmVzZXJ2ZUFz
cGVjdFJhdGlvID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAicHJlc2VydmVB
c3BlY3RSYXRpbyIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiAwOworICAgIGlmICghcHJlc2VydmVBc3BlY3RSYXRpby5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldEFzcGVjdFJhdGlvT3B0aW9uKHByZXNlcnZlQXNwZWN0
UmF0aW8udG9Cb29sZWFuKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBvcmllbnRhdGlv
biA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgIm9yaWVudGF0aW9uIikpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYg
KCFvcmllbnRhdGlvbi5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNl
dE9yaWVudGF0aW9uT3B0aW9uKHVzdHJpbmdUb1N0cmluZyhvcmllbnRhdGlvbi50b1N0cmluZyhl
eGVjKSkpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzaXplT3B0aW9ucy5yZWxlYXNlKCk7Cit9
CisKK0pTVmFsdWUgSlNIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRHZXRJbWFnZShFeGVjU3RhdGUq
IGV4ZWMpCit7CisgICAgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSA9IHVzdHJpbmdUb1N0cmluZyhl
eGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisKKyAgICBSZWZQdHI8SW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2soZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSk7CisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBB
U1NFUlQoc3VjY2Vzc0NhbGxiYWNrKTsKKworICAgIFJlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayhl
eGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPFJlc2l6ZU9w
dGlvbnM+IHJlc2l6ZU9wdGlvbnMgPSBjcmVhdGVSZXNpemVPcHRpb25zKGV4ZWMsIGV4ZWMtPmFy
Z3VtZW50KDMpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOworICAgIEFTU0VSVChyZXNpemVPcHRpb25zKTsKKworICAgIEhUTUxJ
bWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQq
PihpbXBsKCkpOworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGltYWdlRWxlbWVudC0+
d2Via2l0R2V0SW1hZ2UobWltZVR5cGUsIHN1Y2Nlc3NDYWxsYmFjay5yZWxlYXNlKCksIGVycm9y
Q2FsbGJhY2sucmVsZWFzZSgpLCByZXNpemVPcHRpb25zLnJlbGVhc2UoKSwgZWMpOworICAgIHNl
dERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVS
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcCBiL1dlYkNv
cmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAKaW5kZXggNGJiNzRjOS4uOWQwZjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwCkBAIC0zNCwyOCArMzQsMzMgQEAKICNpbmNsdWRl
ICJBc3luY0ltYWdlUmVzaXplci5oIgogCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKKyNpbmNs
dWRlICJJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSW1hZ2VSZXNpemVyVGhyZWFkLmgiCisjaW5j
bHVkZSAiUmVzaXplT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorCiAjaW5j
bHVkZSA8dXRpbGl0eT4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPEFzeW5j
SW1hZ2VSZXNpemVyPiBBc3luY0ltYWdlUmVzaXplcjo6Y3JlYXRlKENhY2hlZEltYWdlKiBjYWNo
ZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNj
cmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxv
YXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0
aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQordm9pZCBBc3luY0ltYWdlUmVzaXplcjo6c3Rh
cnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQ2FjaGVk
SW1hZ2UqIGNhY2hlZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1dFR5cGUsIFBhc3NSZWZQdHI8SW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVP
cHRpb25zPiByZXNpemVPcHRpb25zKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXN5bmNJ
bWFnZVJlc2l6ZXIoY2FjaGVkSW1hZ2UsIG91dHB1dFR5cGUsIGRlc2lyZWRCb3VuZHMsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgcXVhbGl0eSwgYXNwZWN0UmF0aW9PcHRpb24sIG9y
aWVudGF0aW9uT3B0aW9uKSk7CisgICAgbmV3IEFzeW5jSW1hZ2VSZXNpemVyKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBzdWNjZXNzQ2FsbGJhY2ssIGVy
cm9yQ2FsbGJhY2ssIHJlc2l6ZU9wdGlvbnMpOwogfQogCi1Bc3luY0ltYWdlUmVzaXplcjo6QXN5
bmNJbWFnZVJlc2l6ZXIoQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1
dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgU2NyaXB0VmFsdWUgc3VjY2Vzc0NhbGxiYWNr
LCBTY3JpcHRWYWx1ZSBlcnJvckNhbGxiYWNrLCBmbG9hdCBxdWFsaXR5LCBBc3BlY3RSYXRpb09w
dGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRp
b24pCi0gICAgOiBtX2NhY2hlZEltYWdlKGNhY2hlZEltYWdlKQorQXN5bmNJbWFnZVJlc2l6ZXI6
OkFzeW5jSW1hZ2VSZXNpemVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBl
LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNr
LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8UmVzaXplT3B0aW9ucz4gcmVzaXplT3B0aW9ucykKKyAgICA6IEFjdGl2ZURPTU9i
amVjdChzY3JpcHRFeGVjdXRpb25Db250ZXh0LCB0aGlzKQorICAgICwgbV9jYWNoZWRJbWFnZShj
YWNoZWRJbWFnZSkKKyAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KQorICAgICwgbV9vdXRwdXRUeXBlKG91dHB1dFR5cGUpCiAgICAgLCBtX3N1Y2Nl
c3NDYWxsYmFjayhzdWNjZXNzQ2FsbGJhY2spCiAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JD
YWxsYmFjaykKLSAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQotICAgICwgbV9kZXNpcmVk
Qm91bmRzKGRlc2lyZWRCb3VuZHMpCi0gICAgLCBtX3F1YWxpdHkocXVhbGl0eSkKLSAgICAsIG1f
YXNwZWN0UmF0aW9PcHRpb24oYXNwZWN0UmF0aW9PcHRpb24pCi0gICAgLCBtX29yaWVudGF0aW9u
T3B0aW9uKG9yaWVudGF0aW9uT3B0aW9uKQorICAgICwgbV9yZXNpemVPcHRpb25zKHJlc2l6ZU9w
dGlvbnMpCiB7Ci0gICAgQVNTRVJUKG1fc3VjY2Vzc0NhbGxiYWNrLmlzT2JqZWN0KCkpOworICAg
IC8vIG1fY2FsbGJhY2sgY29udHJvbHMgdGhlIGxpZmV0aW1lIG9mIEFzeW5jSW1hZ2VSZXNpemVy
LgorICAgIG1fY2FsbGJhY2tJbmZvID0gbmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKKyAgICBBU1NF
UlQobV9zdWNjZXNzQ2FsbGJhY2suZ2V0KCkpOwogICAgIG1fY2FjaGVkSW1hZ2UtPmFkZENsaWVu
dCh0aGlzKTsKIH0KIApAQCAtNjUsMTEgKzcwLDM1IEBAIEFzeW5jSW1hZ2VSZXNpemVyOjp+QXN5
bmNJbWFnZVJlc2l6ZXIoKQogCiB2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpub3RpZnlGaW5pc2hl
ZChDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCiB7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gaW1hZ2VEYXRhID0gY2FjaGVkUmVzb3VyY2UtPmRhdGEoKS0+Y29weSgpOwotICAgIGNh
Y2hlZFJlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7Ci0gICAgQ2FsbGJhY2tJbmZvKiBjYWxs
YmFja0luZm8gPSBuZXcgQ2FsbGJhY2tJbmZvKHRoaXMpOwotICAgIGlmICghSW1hZ2VSZXNpemVy
VGhyZWFkOjpzdGFydChpbWFnZURhdGEsIGNhbGxiYWNrSW5mbywgbV9vdXRwdXRUeXBlLCBtX2Rl
c2lyZWRCb3VuZHMsIG1fcXVhbGl0eSwgbV9hc3BlY3RSYXRpb09wdGlvbiwgbV9vcmllbnRhdGlv
bk9wdGlvbikpCi0gICAgICAgIHJlc2l6ZUVycm9yKCk7CisgICAgaWYgKGNhY2hlZFJlc291cmNl
LT5lcnJvck9jY3VycmVkKCkpCisgICAgICAgIGRlbGV0ZSBtX2NhbGxiYWNrSW5mbzsKKyAgICBl
bHNlIGlmICghY2FjaGVkUmVzb3VyY2UtPmRhdGEoKS0+aXNFbXB0eSgpKSB7CisgICAgICAgIFJl
ZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNv
cHkoKTsKKyAgICAgICAgY2FjaGVkUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKKyAgICAg
ICAgaWYgKCFJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KGltYWdlRGF0YSwgbV9jYWxsYmFja0lu
Zm8sIG1fb3V0cHV0VHlwZSwgSW50U2l6ZShtX3Jlc2l6ZU9wdGlvbnMtPndpZHRoKCksIG1fcmVz
aXplT3B0aW9ucy0+aGVpZ2h0KCkpLCBtX3Jlc2l6ZU9wdGlvbnMtPmNvbXByZXNzaW9uTGV2ZWwo
KSwgbV9yZXNpemVPcHRpb25zLT5hc3BlY3RSYXRpb09wdGlvbigpLCBtX3Jlc2l6ZU9wdGlvbnMt
Pm9yaWVudGF0aW9uT3B0aW9uKCkpKQorICAgICAgICAgICAgcmVzaXplRXJyb3IoKTsKKyAgICB9
Cit9CisKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUNvbXBsZXRlKEJsb2IqIGJsb2Ip
Cit7CisgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgYmxvYik7Cit9CisKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUVycm9y
KCkKK3sKKyAgICBpZiAobV9lcnJvckNhbGxiYWNrLmdldCgpKQorICAgICAgICBtX2Vycm9yQ2Fs
bGJhY2stPmhhbmRsZUV2ZW50KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgIlVuZXhwZWN0ZWQg
ZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UiKTsKK30KKworYm9vbCBBc3luY0ltYWdlUmVzaXpl
cjo6Y2FuU3VzcGVuZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFzeW5jSW1h
Z2VSZXNpemVyOjpzdG9wKCkKK3sKKyAgICBkZWxldGUgbV9jYWxsYmFja0luZm87CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdl
UmVzaXplci5oIGIvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKaW5kZXggYWRkMDcw
YS4uZjY3MzA3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgK
KysrIGIvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKQEAgLTMzLDE1ICszMywxOSBA
QAogCiAjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCiAKKyNpbmNsdWRlICJBY3RpdmVET01PYmpl
Y3QuaCIKICNpbmNsdWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRJbWFnZTsKK2NsYXNzIEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2s7CitjbGFzcyBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s7CiBjbGFz
cyBJbWFnZVJlc2l6ZXJUaHJlYWQ7CitjbGFzcyBSZXNpemVPcHRpb25zOworY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gQXN5bmNJbWFnZVJlc2l6ZXIgd2FpdHMgZm9yIHRoZSBD
YWNoZWRJbWFnZSB0aGF0IGlzIHBhc3NlZCBpbiB0byBsb2FkIGNvbXBsZXRlbHksCiAvLyB0aGVu
IHN0YXJ0cyBhbiBJbWFnZVJlc2l6ZXJUaHJlYWQgdG8gcmVzaXplIHRoZSBpbWFnZS4gT25jZSBj
cmVhdGVkLCBJbWFnZVJlc2l6ZXJUaHJlYWQKQEAgLTQ5LDU2ICs1Myw0NSBAQCBjbGFzcyBJbWFn
ZVJlc2l6ZXJUaHJlYWQ7CiAvLyBvY2N1ciwgYm90aCBvYmplY3RzIGFyZSBkZXN0cm95ZWQuIElm
IHRoZSBkb2N1bWVudCBpcyBkZXN0cm95ZWQgZHVyaW5nIHJlc2l6aW5nLAogLy8gQXN5bmNJbWFn
ZVJlc2l6ZXIgd2lsbCByZWNlaXZlIGEgbm90aWZpY2F0aW9uIGFuZCBzdWJzZXF1ZW50bHkgYmxv
Y2sgdGhlIGNhbGxiYWNrcyBmcm9tCiAvLyBvY2N1cnJpbmcuCi1jbGFzcyBBc3luY0ltYWdlUmVz
aXplciA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8QXN5
bmNJbWFnZVJlc2l6ZXI+IHsKK2NsYXNzIEFzeW5jSW1hZ2VSZXNpemVyIDogcHVibGljIENhY2hl
ZFJlc291cmNlQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBz
dHJ1Y3QgQ2FsbGJhY2tJbmZvIHsKLSAgICAgICAgQ2FsbGJhY2tJbmZvKFBhc3NSZWZQdHI8QXN5
bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQorICAgICAgICBDYWxsYmFja0luZm8o
UGFzc093blB0cjxBc3luY0ltYWdlUmVzaXplcj4gYXN5bmNJbWFnZVJlc2l6ZXIpCiAgICAgICAg
ICAgICA6IGFzeW5jSW1hZ2VSZXNpemVyKGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAgICAg
LCBibG9iKDApCiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIFJlZlB0cjxBc3luY0lt
YWdlUmVzaXplcj4gYXN5bmNJbWFnZVJlc2l6ZXI7CisgICAgICAgIE93blB0cjxBc3luY0ltYWdl
UmVzaXplcj4gYXN5bmNJbWFnZVJlc2l6ZXI7CiAgICAgICAgIFJlZlB0cjxCbG9iPiBibG9iOwog
ICAgIH07Ci0gICAgCisKICAgICBlbnVtIE91dHB1dFR5cGUgewogICAgICAgICBKUEVHLAogICAg
ICAgICBQTkcKICAgICB9OwogCi0gICAgZW51bSBBc3BlY3RSYXRpb09wdGlvbiB7Ci0gICAgICAg
IFByZXNlcnZlQXNwZWN0UmF0aW8sCi0gICAgICAgIElnbm9yZUFzcGVjdFJhdGlvCi0gICAgfTsK
LQotICAgIGVudW0gT3JpZW50YXRpb25PcHRpb24gewotICAgICAgICBDb3JyZWN0T3JpZW50YXRp
b24sCi0gICAgICAgIElnbm9yZU9yaWVudGF0aW9uCi0gICAgfTsKLQotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEFzeW5jSW1hZ2VSZXNpemVyPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2Ny
aXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24s
IE9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4sIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4pOwogICAgIH5Bc3luY0ltYWdlUmVzaXplcigp
OwogCi0gICAgLy8gRklYTUU6IEluc2VydCBvdmVycmlkZSBmdW5jdGlvbiBmb3Igbm90aWZpY2F0
aW9uIG9mIGRvY3VtZW50IGRlc3RydWN0aW9uIChjaGFuZ2UgbV9jYWxsYmFja3NPaykuCi0KLSAg
ICB2b2lkIHJlc2l6ZUNvbXBsZXRlKFJlZlB0cjxCbG9iPikgeyAvKiBGSVhNRTogTm90IHlldCBp
bXBsZW1lbnRlZC4gKi8gfQotICAgIHZvaWQgcmVzaXplRXJyb3IoKSB7IC8qIEZJWE1FOiBOb3Qg
eWV0IGltcGxlbWVudGVkLiAqLyB9CisgICAgdm9pZCByZXNpemVDb21wbGV0ZShCbG9iKik7Cisg
ICAgdm9pZCByZXNpemVFcnJvcigpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5k
KCk7CisgICAgdmlydHVhbCB2b2lkIHN0b3AoKTsKIAogcHJpdmF0ZToKLSAgICBBc3luY0ltYWdl
UmVzaXplcihDYWNoZWRJbWFnZSosIE91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywg
U2NyaXB0VmFsdWUgc3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1ZSBlcnJvckNhbGxiYWNrLCBm
bG9hdCBxdWFsaXR5LCBBc3BlY3RSYXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24pOworICAg
IEFzeW5jSW1hZ2VSZXNpemVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWNoZWRJbWFnZSos
IE91dHB1dFR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiwgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxSZXNpemVPcHRp
b25zPik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7
CiAKICAgICBDYWNoZWRJbWFnZSogbV9jYWNoZWRJbWFnZTsKLSAgICBTY3JpcHRWYWx1ZSBtX3N1
Y2Nlc3NDYWxsYmFjazsKLSAgICBTY3JpcHRWYWx1ZSBtX2Vycm9yQ2FsbGJhY2s7Ci0gICAgCi0g
ICAgLy8gUGFyYW1ldGVycyB0byBwYXNzIGludG8gSW1hZ2VSZXNpemVyVGhyZWFkLgorICAgIENh
bGxiYWNrSW5mbyogbV9jYWxsYmFja0luZm87CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCiAgICAgT3V0cHV0VHlwZSBtX291dHB1dFR5cGU7
Ci0gICAgSW50U2l6ZSBtX2Rlc2lyZWRCb3VuZHM7Ci0gICAgZmxvYXQgbV9xdWFsaXR5OwotICAg
IEFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAgT3JpZW50YXRpb25P
cHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrPiBtX3N1Y2Nlc3NDYWxsYmFjazsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNrOworICAgIFJlZlB0cjxSZXNpemVPcHRpb25zPiBt
X3Jlc2l6ZU9wdGlvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKaW5kZXggNWQ1OTIzZC4uOWE4ZjRiMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VF
bGVtZW50LmNwcApAQCAtMjgsMTMgKzI4LDIyIEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1l
cy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgog
I2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjay5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVzaXplT3B0
aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKIAorI2lmIEVOQUJMRShJ
TUFHRV9SRVNJWkVSKQorI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjZW5kaWYKKwog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUxLDQgKzQ2
MCwzNSBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50
KCkKICAgICBIVE1MRWxlbWVudDo6d2lsbE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsKIH0KIAor
I2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndlYmtp
dEdldEltYWdlKFN0cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9w
dGlvbnMsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghc3JjKCkuaXNWYWxpZCgpKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICAvLyBUaGlzIGNoZWNrcyB0aGF0IHRoZSBzcmMgaXMgbm9uLXJlbW90ZS4gVGhlIHRh
aW50c0NhbnZhcyBtZXRob2QgaXMgdXNlZCBiZWNhdXNlCisgICAgLy8gZGF0YSBVUkxzIGFyZSB0
cmVhdGVkIGFzIHJlbW90ZSwgYW5kIHdlIHdhbnQgdG8gYWxsb3cgdGhlbS4KKyAgICBpZiAoZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dGFpbnRzQ2FudmFzKHNyYygpKSkgeworICAgICAg
ICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5j
SW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGU7CisgICAgaWYgKG1pbWVUeXBlID09
ICJpbWFnZS9qcGVnIikKKyAgICAgICAgb3V0cHV0VHlwZSA9IEFzeW5jSW1hZ2VSZXNpemVyOjpK
UEVHOworICAgIGVsc2UgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9wbmciKQorICAgICAgICBvdXRw
dXRUeXBlID0gQXN5bmNJbWFnZVJlc2l6ZXI6OlBORzsKKyAgICBlbHNlIHsKKyAgICAgICAgZWMg
PSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5j
SW1hZ2VSZXNpemVyOjpzdGFydChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1faW1hZ2VMb2Fk
ZXIuaW1hZ2UoKSwgb3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBy
ZXNpemVPcHRpb25zKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCiB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCA2MmQzMTVjLi4yNTZiOGM0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSFRNTEZvcm1FbGVtZW50OworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNr
OworY2xhc3MgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjazsKK2NsYXNzIFJlc2l6ZU9wdGlvbnM7
CiAKIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogICAgIGZy
aWVuZCBjbGFzcyBIVE1MRm9ybUVsZW1lbnQ7CkBAIC04OSw2ICs5MiwxMCBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGhhdmVGaXJlZExvYWRFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VMb2Fk
ZXIuaGF2ZUZpcmVkTG9hZEV2ZW50KCk7IH0KIAorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQor
ICAgIHZvaWQgd2Via2l0R2V0SW1hZ2UoU3RyaW5nIG1pbWVUeXBlLCBQYXNzUmVmUHRyPEltYWdl
UmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjaz4sIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyNlbmRp
ZgorCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmlkbAppbmRleCAwZmM3MjcxLi5hZTNjNWU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
aWRsCkBAIC00OCw2ICs0OCwxNCBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIC8vIE9iamVjdGl2
ZS1DIGV4dGVuc2lvbjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhbHRE
aXNwbGF5U3RyaW5nOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1h
Z2VVUkw7CisjZWxzZQorCisjaWYgZGVmaW5lZChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJiYgRU5B
QkxFX0lNQUdFX1JFU0laRVIKKyAgICAgICAgLy8gRnVuY3Rpb25zCisgICAgICAgIFtDdXN0b21d
IHZvaWQgd2Via2l0R2V0SW1hZ2UoaW4gRE9NU3RyaW5nIG1pbWVUeXBlLCBpbiBJbWFnZVJlc2l6
ZXJTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBbT3B0aW9uYWxdIGluIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBSZXNpemVPcHRp
b25zIG9wdGlvbnMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgor
CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVy
RXJyb3JDYWxsYmFjay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmZmZjg2Ci0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaApAQCAtMCww
ICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5JbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBjb25zdCBTdHJpbmcmKSA9IDA7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
SU1BR0VfUkVTSVpFUikKKworI2VuZGlmIC8vIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2tfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsIGIv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmY2NiZjgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1JTUFHRV9S
RVNJWkVSLAorICAgICAgICBDYWxsYmFjaworICAgIF0gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
ayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIGVycm9yKTsKKyAg
ICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NDAwZjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgSW1hZ2VS
ZXNpemVyU3VjY2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBCbG9iOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKwor
Y2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8SW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VS
ZXNpemVyU3VjY2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBCbG9iKikgPSAwOworfTsKKworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNlbmRpZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2suaWRsIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmZDg3ZgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0w
LDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29u
ZGl0aW9uYWw9SU1BR0VfUkVTSVpFUiwKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gQmxv
YiBibG9iKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXpl
clRocmVhZC5jcHAgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAppbmRleCAx
YmFlNmEwLi40ZTk3MDQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhy
ZWFkLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcApAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUgPHV0aWxpdHk+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ2LDExICs0NywxMSBAQCBzdGF0aWMgdm9pZCByZXR1cm5CbG9i
T3JFcnJvcih2b2lkKiBjYWxsYmFja0luZm9ybWF0aW9uKQogICAgIGlmICghY2FsbGJhY2tJbmZv
LT5ibG9iKQogICAgICAgICBjYWxsYmFja0luZm8tPmFzeW5jSW1hZ2VSZXNpemVyLT5yZXNpemVF
cnJvcigpOwogICAgIGVsc2UKLSAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0ltYWdlUmVzaXpl
ci0+cmVzaXplQ29tcGxldGUoY2FsbGJhY2tJbmZvLT5ibG9iKTsKKyAgICAgICAgY2FsbGJhY2tJ
bmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXplQ29tcGxldGUoY2FsbGJhY2tJbmZvLT5ibG9i
LmdldCgpKTsKICAgICBkZWxldGUgY2FsbGJhY2tJbmZvOwogfQogCi1ib29sIEltYWdlUmVzaXpl
clRocmVhZDo6c3RhcnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJ
bWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXpl
cjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1
YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09w
dGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0
aW9uKQorYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNr
SW5mbywgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBk
ZXNpcmVkQm91bmRzLCBkb3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9P
cHRpb24gYXNwZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9u
IG9yaWVudGF0aW9uT3B0aW9uKQogewogICAgIEltYWdlUmVzaXplclRocmVhZCogaW1hZ2VSZXNp
emVyVGhyZWFkID0gbmV3IEltYWdlUmVzaXplclRocmVhZChjYWxsYmFja0luZm8sIG91dHB1dFR5
cGUsIGRlc2lyZWRCb3VuZHMsIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRhdGlv
bk9wdGlvbik7CiAKQEAgLTYyLDcgKzYzLDcgQEAgYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0
YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXMKICAg
ICByZXR1cm4gaW1hZ2VSZXNpemVyVGhyZWFkLT5tX3RocmVhZElEOwogfQogCi1JbWFnZVJlc2l6
ZXJUaHJlYWQ6OkltYWdlUmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJ
bmZvKiBjYWxsYmFja0luZm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5
cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6
ZXI6OkFzcGVjdFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBBc3luY0ltYWdlUmVzaXpl
cjo6T3JpZW50YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRpb24pCitJbWFnZVJlc2l6ZXJUaHJl
YWQ6OkltYWdlUmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBj
YWxsYmFja0luZm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIElu
dFNpemUgZGVzaXJlZEJvdW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVj
dFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlv
bk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbikKICAgICA6IG1fdGhyZWFkSUQoMCkKICAgICAsIG1f
Y2FsbGJhY2tJbmZvKGNhbGxiYWNrSW5mbykKICAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBl
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oIGIvV2ViQ29y
ZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oCmluZGV4IGFlNWFkZTUuLjE1YmQzYmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAorKysgYi9XZWJDb3JlL2h0
bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpZiBFTkFCTEUoSU1B
R0VfUkVTSVpFUikKIAogI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjaW5jbHVkZSAi
SW50U2l6ZS5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MiwxMSArNDQsMTEgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCiBjbGFzcyBJ
bWFnZVJlc2l6ZXJUaHJlYWQgewogcHVibGljOgotICAgIHN0YXRpYyBib29sIHN0YXJ0KFBhc3NS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFj
a0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91
bmRzLCBmbG9hdCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24s
IEFzeW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIGJvb2wg
c3RhcnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6
ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXpl
IGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRp
b09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24pOwogICAgIH5JbWFnZVJl
c2l6ZXJUaHJlYWQoKTsKIAogcHJpdmF0ZToKLSAgICBJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJ
bWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVy
OjpBc3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9u
KTsKKyAgICBJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5m
byosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMs
IGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVzaXpl
T3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24pOwogICAgIHN0YXRpYyB2b2lkKiBpbWFnZVJlc2l6
ZXJUaHJlYWRTdGFydCh2b2lkKik7CiAgICAgdm9pZCogaW1hZ2VSZXNpemVyVGhyZWFkKCk7CiAK
QEAgLTU4LDkgKzYwLDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Qml0bWFwSW1hZ2U+IG1faW1h
Z2U7CiAgICAgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwogICAg
IEludFNpemUgbV9kZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3lu
Y0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsKLSAg
ICBBc3luY0ltYWdlUmVzaXplcjo6T3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlv
bjsKKyAgICBkb3VibGUgbV9xdWFsaXR5OworICAgIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlv
T3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247CisgICAgUmVzaXplT3B0aW9uczo6T3JpZW50YXRp
b25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcCBiL1dlYkNvcmUv
aHRtbC9SZXNpemVPcHRpb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44YTI5MGYwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMu
Y3BwCkBAIC0wLDAgKzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShJTUFH
RV9SRVNJWkVSKQorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSW5jbHVzaXZlIGxpbWl0
czsKK3N0YXRpYyBjb25zdCBpbnQgZGltZW5zaW9uc0xvd2VyTGltaXQgPSAxOworc3RhdGljIGNv
bnN0IGludCBkaW1lbnNpb25zVXBwZXJMaW1pdCA9IDMyNzY3Oworc3RhdGljIGNvbnN0IGRvdWJs
ZSBjb21wcmVzc2lvbkxvd2VyTGltaXQgPSAwLjA7CitzdGF0aWMgY29uc3QgZG91YmxlIGNvbXBy
ZXNzaW9uVXBwZXJMaW1pdCA9IDEuMDsKKworc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0Q29t
cHJlc3Npb24gPSAwLjg1OworCitQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IFJlc2l6ZU9wdGlv
bnM6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZXNpemVPcHRpb25zKCkp
OworfQorCitSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKCkKKyAgICA6IG1fd2lkdGgoMCkK
KyAgICAsIG1faGVpZ2h0KDApCisgICAgLCBtX2NvbXByZXNzaW9uTGV2ZWwoZGVmYXVsdENvbXBy
ZXNzaW9uKQorICAgICwgbV9hc3BlY3RSYXRpb09wdGlvbihJZ25vcmVBc3BlY3RSYXRpbykKKyAg
ICAsIG1fb3JpZW50YXRpb25PcHRpb24oSWdub3JlT3JpZW50YXRpb24pCit7Cit9CisKK3ZvaWQg
UmVzaXplT3B0aW9uczo6c2V0V2lkdGgoaW50IHdpZHRoKQoreworICAgIG1fd2lkdGggPSB3aWR0
aCA+PSBkaW1lbnNpb25zTG93ZXJMaW1pdCAmJiB3aWR0aCA8PSBkaW1lbnNpb25zVXBwZXJMaW1p
dCA/IHdpZHRoIDogMDsKK30KKworaW50IFJlc2l6ZU9wdGlvbnM6OndpZHRoKCkKK3sKKyAgICBy
ZXR1cm4gbV93aWR0aDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRIZWlnaHQoaW50IGhl
aWdodCkKK3sKKyAgICBtX2hlaWdodCA9IGhlaWdodCA+PSBkaW1lbnNpb25zTG93ZXJMaW1pdCAm
JiBoZWlnaHQgPD0gZGltZW5zaW9uc1VwcGVyTGltaXQgPyBoZWlnaHQgOiAwOworfQorCitpbnQg
UmVzaXplT3B0aW9uczo6aGVpZ2h0KCkKK3sKKyAgICByZXR1cm4gbV9oZWlnaHQ7Cit9CisKK3Zv
aWQgUmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbChkb3VibGUgY29tcHJlc3Npb25M
ZXZlbCkKK3sKKyAgICBtX2NvbXByZXNzaW9uTGV2ZWwgPSBjb21wcmVzc2lvbkxldmVsID49IGNv
bXByZXNzaW9uTG93ZXJMaW1pdCAmJiBjb21wcmVzc2lvbkxldmVsIDw9IGNvbXByZXNzaW9uVXBw
ZXJMaW1pdCA/IGNvbXByZXNzaW9uTGV2ZWwgOiBkZWZhdWx0Q29tcHJlc3Npb247Cit9CisKK2Rv
dWJsZSBSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKCkKK3sKKyAgICByZXR1cm4gbV9j
b21wcmVzc2lvbkxldmVsOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlv
T3B0aW9uKGJvb2wgcHJlc2VydmVBc3BlY3RSYXRpbykKK3sKKyAgICBtX2FzcGVjdFJhdGlvT3B0
aW9uID0gcHJlc2VydmVBc3BlY3RSYXRpbyA/IFByZXNlcnZlQXNwZWN0UmF0aW8gOiBJZ25vcmVB
c3BlY3RSYXRpbzsKK30KKworUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gUmVzaXpl
T3B0aW9uczo6YXNwZWN0UmF0aW9PcHRpb24oKQoreworICAgIHJldHVybiBtX2FzcGVjdFJhdGlv
T3B0aW9uOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKFN0
cmluZyBvcmllbnRhdGlvbk9wdGlvbikKK3sKKyAgICBtX29yaWVudGF0aW9uT3B0aW9uID0gb3Jp
ZW50YXRpb25PcHRpb24gPT0gImF1dG8iID8gQ29ycmVjdE9yaWVudGF0aW9uIDogSWdub3JlT3Jp
ZW50YXRpb247Cit9CisKK1Jlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIFJlc2l6ZU9w
dGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9vcmllbnRhdGlvbk9w
dGlvbjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElN
QUdFX1JFU0laRVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5oIGIv
V2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi43MzI3MTllCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9w
dGlvbnMuaApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZXNpemVPcHRpb25zX2gKKyNkZWZpbmUg
UmVzaXplT3B0aW9uc19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIFJlc2l6ZU9wdGlvbnMgOiBw
dWJsaWMgUmVmQ291bnRlZDxSZXNpemVPcHRpb25zPiB7CitwdWJsaWM6CisgICAgZW51bSBBc3Bl
Y3RSYXRpb09wdGlvbiB7CisgICAgICAgIFByZXNlcnZlQXNwZWN0UmF0aW8sCisgICAgICAgIEln
bm9yZUFzcGVjdFJhdGlvCisgICAgfTsKKworICAgIGVudW0gT3JpZW50YXRpb25PcHRpb24gewor
ICAgICAgICBDb3JyZWN0T3JpZW50YXRpb24sCisgICAgICAgIElnbm9yZU9yaWVudGF0aW9uCisg
ICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZSgpOwor
CisgICAgdm9pZCBzZXRXaWR0aChpbnQpOworICAgIGludCB3aWR0aCgpOworCisgICAgdm9pZCBz
ZXRIZWlnaHQoaW50KTsKKyAgICBpbnQgaGVpZ2h0KCk7CisKKyAgICB2b2lkIHNldENvbXByZXNz
aW9uTGV2ZWwoZG91YmxlKTsKKyAgICBkb3VibGUgY29tcHJlc3Npb25MZXZlbCgpOworCisgICAg
dm9pZCBzZXRBc3BlY3RSYXRpb09wdGlvbihib29sKTsKKyAgICBBc3BlY3RSYXRpb09wdGlvbiBh
c3BlY3RSYXRpb09wdGlvbigpOworCisgICAgdm9pZCBzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJp
bmcpOworICAgIE9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKCk7CisKK3ByaXZh
dGU6CisgICAgUmVzaXplT3B0aW9ucygpOworCisgICAgLy8gSWYgbV93aWR0aCBvciBtX2hlaWdo
dCA9PSAwLCB0aGF0IGRpbWVuc2lvbiB3aWxsIG5vdCBjaGFuZ2UgZXhwbGljaXRseSBkdXJpbmcg
cmVzaXppbmcuCisgICAgaW50IG1fd2lkdGg7CisgICAgaW50IG1faGVpZ2h0OworICAgIGRvdWJs
ZSBtX2NvbXByZXNzaW9uTGV2ZWw7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRp
b09wdGlvbjsKKyAgICBPcmllbnRhdGlvbk9wdGlvbiBtX29yaWVudGF0aW9uT3B0aW9uOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0la
RVIpCisKKyNlbmRpZiAvLyBSZXNpemVPcHRpb25zX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59728</attachid>
            <date>2010-06-24 21:17:21 -0700</date>
            <delta_ts>2010-06-25 10:36:40 -0700</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>100683</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzMmE5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICAgIHRyeSB7CisgICAg
ICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhw
cmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAi
JyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisK
K3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52
YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3
IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVm
aW5lR2V0dGVyX18oIndpZHRoIiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3
aWR0aCBnZXR0ZXIgZXhjZXB0aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgp
OworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQp
JywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIpJywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9ibXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIDQyKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQy
KScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6
IHdpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHRydWUpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgLUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywg
ZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7ZHVtbXlQcm9wZXJ0eTpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9w
ZXJ0eTo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1
bW15UHJvcGVydHk6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7
fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRy
dWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7d2lkdGg6LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0p
JywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBm
YWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDot
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0
aW9ufSknLCB0cnVlLCAnRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRp
bzp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZl
QXNwZWN0UmF0aW86NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5m
aW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7
CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge29yaWVudGF0aW9uOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRh
dGlvbjp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7b3JpZW50YXRpb246SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZh
bHNlKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvY29tcHJlc3Npb24tbGV2ZWwt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvc2NyaXB0LXRlc3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5NGFjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRl
c3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKQEAgLTAsMCArMSwzMSBAQAorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgdmFyeWluZyB0aGUgY29tcHJlc3Npb24gbGV2ZWwgYWZmZWN0cyB0aGUg
c2l6ZSBvZiB0aGUgcmV0dXJuZWQgYmxvYiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5z
cmMgPSAiLi4vLi4vcmVzb3VyY2VzL21vemlsbGEuZ2lmIjsKKwordmFyIHNpemVGcm9tTG93Q29t
cHJlc3Npb247Cit2YXIgc2l6ZUZyb21IaWdoQ29tcHJlc3Npb247CisKK3ZhciBzdWNjZXNzQ2Fs
bGJhY2tMb3cgPSBmdW5jdGlvbihibG9iKSB7CisgICAgc2l6ZUZyb21Mb3dDb21wcmVzc2lvbiA9
IGJsb2Iuc2l6ZTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0Nh
bGxiYWNrSGlnaCwgZXJyb3JDYWxsYmFjaywgeyBjb21wcmVzc2lvbkxldmVsIDogMC45OSB9KTsK
K307CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2tIaWdoID0gZnVuY3Rpb24oYmxvYikgeworICAgIHNp
emVGcm9tSGlnaENvbXByZXNzaW9uID0gYmxvYi5zaXplOworICAgIGlmIChzaXplRnJvbUhpZ2hD
b21wcmVzc2lvbiA+IHNpemVGcm9tTG93Q29tcHJlc3Npb24pCisgICAgICAgIHRlc3RQYXNzZWQo
IkNvbXByZXNzaW9uIGxldmVsIG9mIDAuMSB5aWVsZHMgYSBzbWFsbGVyIGZpbGUgdGhhbiBjb21w
cmVzc2lvbiBsZXZlbCBvZiAwLjkiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIkNv
bXByZXNzaW9uIGxldmVsIG9mIDAuMSB5aWVsZHMgYSBmaWxlIG9mIHNpemUgIiArIHNpemVGcm9t
TG93Q29tcHJlc3Npb24gKyAiIHdoaWxzdCBhIGNvbXByZXNzaW9uIGxldmVsIG9mIDAuOSB5aWVs
ZHMgYSBmaWxlIG9mIHNpemUgIiArIHNpemVGcm9tSGlnaENvbXByZXNzaW9uKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKK3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsK
KyAgICB0ZXN0RmFpbGVkKCJFcnJvciBjYWxsYmFjayBjYWxsZWQgd2l0aCBlcnJvcjogIiArIGVy
cm9yKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L2pwZWciLCBzdWNjZXNzQ2FsbGJhY2tMb3csIGVycm9yQ2FsbGJhY2ssIHsgY29tcHJlc3Npb25M
ZXZlbCA6IDAuMDEgfSk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFz
LW5vLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Vi
a2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI4MjEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgYW4gaW1hZ2Ugd2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZB
TElEX1NUQVRFX0VSUiBleGNlcHRpb24uIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNy
YyA9IG51bGw7CisKK3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0cnkgeworICAgICAgICBpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbik7CisgICAgICAgIHRlc3RGYWls
ZWQoIlNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24uIE5vIGV4Y2VwdGlvbiB3YXMgdGhyb3du
Li4uIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
ICB0ZXN0UGFzc2VkKCJFeGNlcHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246ICIgKyBlKTsKKyAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE4
NmRmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9h
ZC5qcwpAQCAtMCwwICsxLDI1IEBACitkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHRoZSBjYWxs
YmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4iKTsKKwordmFyIGkgPSBuZXcg
SW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKworZG9jdW1l
bnQuYm9keS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dCgndGVz
dFBhc3NlZCgiTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1bmxvYWQiKTsgZmluaXNoSlNUZXN0
KCk7JywgMTAwKTsKK30KKworZG9jdW1lbnQuYm9keS5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGkud2Via2l0R2V0SW1hZ2UoCisgICAgICAgICJpbWFnZS9wbmciLAorICAgICAgICBmdW5j
dGlvbihibG9iKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdl
dEltYWdlIHN1Y2Nlc3MgY2FsbGJhY2suIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlVuZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2UgZXJyb3IgY2FsbGJhY2s6ICIgKyBlcnJv
cik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICk7Cit9CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2Uu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdl
L3NjcmlwdC10ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWVmZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMKQEAgLTAsMCArMSwxMiBAQAorZGVzY3Jp
cHRpb24oIlRoaXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlkZGVu
IHdpdGggYW5vdGhlciBtZXRob2QuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9
ICIuLi9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2kud2Via2l0R2V0SW1hZ2UgPSBmdW5j
dGlvbigpIHsgcmV0dXJuIDQyOyB9Cit2YXIgcmVzdWx0ID0gaS53ZWJraXRHZXRJbWFnZSgpOwor
CitzaG91bGRCZU5vblplcm8ocmVzdWx0KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxz
ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvdGVzdC1jYWxsYmFja3MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjQ4MzcyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3Jp
cHQtdGVzdHMvdGVzdC1jYWxsYmFja3MuanMKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgdGhlIGNhbGxiYWNrcyB3b3JrIGNvcnJlY3RseS4iKTsKKwordmFyIGkgPSBu
ZXcgSW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFy
IHN1Y2Nlc3NDYWxsYmFjayA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICB0ZXN0RmFpbGVkKCJTdWNj
ZXNzIGNhbGxiYWNrIHdhcyBpbmNvcnJlY3RseSBjYWxsZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKK3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0
UGFzc2VkKCJFcnJvciBjYWxsYmFjayB3YXMgY29ycmVjdGx5IGNhbGxlZCB3aXRoIG91dHB1dDog
IiArIGVycm9yKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKy8vIE9ubHkgdGhlIGVycm9y
IGNhbGxiYWNrIHdpbGwgY3VycmVudGx5IG5ldmVyIGJlIGNhbGxlZCBpbiB0aGlzIHBhdGNoLCBz
byB0ZXN0CisvLyB0aGF0IGl0IHdvcmtzIGZvciBub3cuCitpLndlYmtpdEdldEltYWdlKCJpbWFn
ZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3Qtb3V0
cHV0LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMWM5MDAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50
L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcwpAQCAtMCww
ICsxLDMxIEBACisvLyBGSVhNRTogUE5HIGFuZCBKUEVHIGFyZSBub3QgaW1wbGVtZW50ZWQgb24g
ZXZlcnkgcGxhdGZvcm0uCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZGlmZmVyZW50IG91
dHB1dCB0eXBlIHBhcmFtZXRlcnMgd29yayIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5z
cmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit2YXIgc3VjY2Vzc0NhbGxiYWNr
UG5nID0gZnVuY3Rpb24oYmxvYikgeworICAgIGlmIChibG9iLnR5cGUgPT0gImltYWdlL3BuZyIp
CisgICAgICAgIHRlc3RQYXNzZWQoIlBORyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UKKyAg
ICAgICAgdGVzdEZhaWxlZCgiUE5HIGltYWdlIG5vdCByZXR1cm5lZC4gSW5zdGVhZCwgTUlNRSB0
eXBlIGlzOiAiICsgYmxvYi50eXBlKTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
Iiwgc3VjY2Vzc0NhbGxiYWNrSnBlZywgZXJyb3JDYWxsYmFjayk7Cit9OworCit2YXIgc3VjY2Vz
c0NhbGxiYWNrSnBlZyA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICBpZiAoYmxvYi50eXBlID09ICJp
bWFnZS9qcGVnIikKKyAgICAgICAgdGVzdFBhc3NlZCgiSlBFRyBpbWFnZSByZXR1cm5lZCIpOwor
ICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZCgiSlBFRyBpbWFnZSBub3QgcmV0dXJuZWQuIElu
c3RlYWQsIE1JTUUgdHlwZSBpczogIiArIGJsb2IudHlwZSk7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9OworCit2YXIgZXJyb3JDYWxsYmFjayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdEZh
aWxlZCgiRXJyb3IgY2FsbGJhY2sgY2FsbGVkIHdpdGggZXJyb3I6ICIgKyBlcnJvcik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9OworCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBzdWNj
ZXNzQ2FsbGJhY2tQbmcsIGVycm9yQ2FsbGJhY2spOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMwMTgzMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgdGhlIGNh
bGxiYWNrcyB3b3JrIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgRXJyb3IgY2FsbGJhY2sgd2FzIGNvcnJlY3RseSBjYWxsZWQgd2l0aCBvdXRwdXQ6IFVu
ZXhwZWN0ZWQgZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0
bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYzI2NTAyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jNDhlZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorVGVzdHMgdGhhdCBJbWFnZS53ZWJraXRHZXRJbWFnZSBjYW5ub3Qg
YmUgY2FsbGVkIG9uIGFuIGltYWdlIG9mIHJlbW90ZSBvcmlnaW4uCisKKworUEFTUzogVGhyZXcg
ZXhjZXB0aW9uOiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1y
ZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
aW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1sLWRpc2FibGVkCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyZjVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9y
aWdpbi5odG1sLWRpc2FibGVkCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bG9nIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgIlxuIikpOwor
fQorCit2YXIgZW1wdHlDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB9OworCit3aW5kb3cub25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgdHJ5IHsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJbWFnZSIpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUNhbGxiYWNrKTsKKyAgICAgICAgbG9nKCJGQUlMOiBEaWQgbm90
IHRocm93IGV4Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nICgiUEFT
UzogVGhyZXcgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfQorCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRl
c3RzIHRoYXQgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpbWFn
ZSBvZiByZW1vdGUgb3JpZ2luLjwvcD4KKzxpbWcgaWQ9InRlc3RJbWFnZSIgc3JjPSJodHRwOi8v
bG9jYWxob3N0OjgwMDAvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyIgLz4KKzxwcmUgaWQ9
ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTk1ZGFjYmEz
MGFkNDRkZTg2ZTc3OGExMTAwYjZkOTRhZmJiMjFkNApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
MzM4CnpjbWEpJEtNS043NDJRcUc9VE00QjxLfTVaa2I7VnIoQzZnZjxscnVqb35lVV9OQVM8JDBt
TGlCU0NDcmsocTlOOQp6VSZ0QDlpI15EdWA2TmRpZ2MjVHA5ZERRRzlZVGleVmxSNTV1dng0S01J
PlQoX0RGbFZ1WTlHP3gpWGBobkFNPGQKeVZGajhuVkNGP31EcWg3LSU7Uko2JEdYejtSMkBLKVco
QC1STjk7enxPWjR7MmttSkdWcE1RTkNvbjdCamxwYjBECgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5k
ZXggMWJhOTlhMC4uMTQ5MTg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBi
L1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMjczLDYgKzI3Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6
PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwvSW1hZ2VEYXRhLmNwcCBcCiAJaHRtbC9JbWFn
ZVJlc2l6ZXJUaHJlYWQuY3BwIFwKIAlodG1sL0xlZ2FjeVByZWxvYWRTY2FubmVyLmNwcCBcCisJ
aHRtbC9SZXNpemVPcHRpb25zLmNwcCBcCiAJaHRtbC9UaW1lUmFuZ2VzLmNwcCBcCiAJaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcCBcCiAJXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTQ1Y2U3Ny4uMTM4OTYwOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0yNjMsNiArMjYzLDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9IVE1M
VUxpc3RFbGVtZW50LmlkbAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwKICAgICBodG1s
L0ltYWdlRGF0YS5pZGwKKyAgICBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCisg
ICAgaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCiAgICAgaHRtbC9NZWRpYUVy
cm9yLmlkbAogICAgIGh0bWwvVGV4dE1ldHJpY3MuaWRsCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRl
LmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAwMGE4NWU0Li44MmVlMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEwLTA2LTIxICBTdGVybGlu
ZyBTd2lnYXJ0ICA8c3N3aWdhcnRAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEV4cG9zZWQgdGhlIGltYWdlIHJlc2l6
aW5nIEFQSSB0byBKU0MsIGJ1dCBpdCBpcyBmdW5jdGlvbmFsbHkgaW5jb21wbGV0ZSBhdCB0aGlz
IHN0YWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDA4NTQKKworICAgICAgICAqIEFuZHJvaWQubWs6IEFkZGVkIFJlc2l6ZU9wdGlvbnMuY3BwLgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJD
b3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0
dG8uCisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwv
QXN5bmNJbWFnZVJlc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6
ZXI6OnN0YXJ0KTogQ2xpZW50IG9mIHRoaXMgY2xhc3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNv
dW50aW5nLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VS
ZXNpemVyKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6bm90
aWZ5RmluaXNoZWQpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJl
c2l6ZXI6OnJlc2l6ZUNvbXBsZXRlKTogQWRkZWQgY2FsbGJhY2suCisgICAgICAgIChXZWJDb3Jl
OjpBc3luY0ltYWdlUmVzaXplcjo6cmVzaXplRXJyb3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpjYW5TdXNwZW5kKTogRG9lcyBub3Qgc3VzcGVuZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpzdG9wKTogTm93IGlzIGxpbmtlZCB0
byBkb2N1bWVudCdzIGRlc3RydWN0aW9uLgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86
OkNhbGxiYWNrSW5mbyk6IE5vdyBvbmx5IHN0b3JlcyBuZWNlc3NpdGllcy4KKyAgICAgICAgKiBo
dG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxl
bWVudDo6d2Via2l0R2V0SW1hZ2UpOiBJbXBsZW1lbnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAg
ICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFn
ZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjazo6fkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogaHRt
bC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1s
L0ltYWdlUmVzaXplclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJU
aHJlYWQ6OnN0YXJ0KTogUmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXpl
clRocmVhZDo6SW1hZ2VSZXNpemVyVGhyZWFkKTogIFJlZmFjdG9yZWQuCisgICAgICAgICogaHRt
bC9JbWFnZVJlc2l6ZXJUaHJlYWQuaDogUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6
ZU9wdGlvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9w
dGlvbnM6OnNldEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWln
aHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZl
bCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAg
ICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNp
emVPcHRpb25zOjopOgorCiAyMDEwLTA2LTIzICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFu
eTEwMC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CmluZGV4IDkwNGVhNTUuLmYwNmQ0ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDgg
QEAKICNpbmNsdWRlICJKU0lEQlJlcXVlc3QuY3BwIgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2
ZW50LmNwcCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNp
bmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRF
dmVudC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMjI0LDYgKzIyNCw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVl
c3QgXAogICAgIElEQlN1Y2Nlc3NFdmVudCBcCiAgICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2sgXAorICAgIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAog
ICAgIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAg
ICAgSW5zcGVjdG9yQmFja2VuZCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
IGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
QEAgLTI3Niw2ICsyNzYsOCBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1M
VUxpc3RFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwK
IAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmlkbCBcCiAJV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBc
CkBAIC00NTYsNiArNDU4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRN
TElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxl
bWVudEN1c3RvbS5jcHAgXApAQCAtMTI3MiwxMyArMTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUv
aHRtbC9JbWFnZURhdGEuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNv
cmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRo
cmVhZC5jcHAgXAogCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29y
ZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0
LmggXAotCVdlYkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQ
cmVsb2FkU2Nhbm5lci5jcHAgXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5o
IFwKKwlXZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5oIFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0
aW9ucy5jcHAgXAorCVdlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuY3BwIFwKIAlXZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUv
aHRtbC9UZXh0TWV0cmljcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjMyMTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2
ICsxODgsOCBAQAogICAgICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
SW1hZ2VEYXRhLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2suaWRsJywKKyAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aWRsJywKICAgICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdo
dG1sL1RleHRNZXRyaWNzLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcs
CkBAIC01NzMsNiArNTc1LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFt
ZUVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFt
ZVNldEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJ
RnJhbWVFbGVtZW50Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1M
SW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9i
amVjdEVsZW1lbnRDdXN0b20uY3BwJywKQEAgLTE2NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAg
ICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1h
Z2VEYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAg
ICAnaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwv
SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VS
ZXNpemVyVGhyZWFkLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQu
aCcsCiAgICAgICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4u
ZWFmMTlmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUucHJpCkBAIC00MjQsNiArNDI0LDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1s
L0hUTUxVTGlzdEVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwK
ICAgICBodG1sL0ltYWdlRGF0YS5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjay5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAg
ICAgaHRtbC9NZWRpYUVycm9yLmlkbCBcCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAg
IGh0bWwvVGltZVJhbmdlcy5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTg2ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiAr
MzE1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50
Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9t
LmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAor
ICAgIGJpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pT
SFRNTE9iamVjdEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRp
b25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgXApAQCAtNzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2Rl
TGlzdC5jcHAgXAogICAgIGh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1s
L1Jlc2l6ZU9wdGlvbnMuY3BwIFwKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwv
VmFsaWRpdHlTdGF0ZS5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApA
QCAtMTQ0Miw5ICsxNDQ0LDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxl
bWVudC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9J
bWFnZURhdGEuaCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAg
IGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNp
emVyVGhyZWFkLmggXAogICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdh
Y3lQcmVsb2FkU2Nhbm5lci5oIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRt
bC9TdGVwUmFuZ2UuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRp
dHlTdGF0ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZh
MWMuLjhjNTkwMGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3
MTMsNiArMzc3MTMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCIN
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zNzc0MSw2ICszNzc0OSwxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9w
dGlvbnMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caHRtbFxSZXNpemVPcHRpb25zLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQpAQCAtNDAxODAsNyArNDAxOTYsOSBAQAogCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCiAJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cYmluZGluZ3NcanNcSlNIVE1MRW1iZWRFbGVtZW50Q3VzdG9tLmNwcCINCisKIAkJCQkJPg0K
IAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAt
NDA0NDAsNiArNDA0NTgsNTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsZQ0KKworCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpT
SFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5h
bHxXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJ
CQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRv
b2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwIg0KIAkJ
CQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwZDA5NDc4Li45NmJjNTkxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzUyNCw2ICszNTI0LDE1IEBACiAJCUIw
MTQ5RTdFMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0ExMUE0QjIxNTAwMTk2
QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi87IH07CiAJCUIwMTQ5RTdGMTFBNEIyMTUwMDE5
NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVz
aXplclRocmVhZC5jcHAgKi87IH07CiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAq
LzsgfTsKKwkJQjA0RTZCRjIxMUM2RjBFOTAwMjE0MjgzIC8qIFJlc2l6ZU9wdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwNEU2QkYxMTFDNkYw
RTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi87IH07CisJCUIwNEU2QkY1MTFDN0YwNzkw
MDIxNDI4MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAv
KiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCMDRFNkJGNjExQzdGMDdFMDAyMTQyODMgLyogSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjAxNEEwNEExMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlCMDRGNTlGRjExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIw
NEY1OUZEMTFDNkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwICov
OyB9OworCQlCMEE3MTUxQjExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTUxQTExQ0My
NEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi87IH07CisJCUIwQTcxNUI3MTFEMDQz
MUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1QjMxMUQwNDMxRTAwM0Mz
MzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CisJCUIwQTcxNUI4
MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUI0MTFEMDQzMUUw
MDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjBBNzE1
QjkxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUI1MTFE
MDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi87IH07
CisJCUIwQTcxNUJBMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBB
NzE1QjYxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgg
Ki87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFC
Nzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3
NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FF
bGVtZW50LmggKi87IH07CiAJCUIyMTEyN0E2MEIzMTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5
cGVXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMjExMjdBNTBCMzE4Njc3MDAwOUJFNTMgLyogSlNTVkdQT0RUeXBlV3JhcHBlci5oICovOyB9
OwpAQCAtODg4Myw2ICs4ODkyLDE3IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBB
c3luY0ltYWdlUmVzaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3lu
Y0ltYWdlUmVzaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QjEx
QTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6
ZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVy
VGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRBMDRBMTFBQjFFQTAw
MDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjA0RTZCRjExMUM2RjBFOTAwMjE0MjgzIC8qIFJlc2l6ZU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzaXplT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTElt
YWdlRWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcx
NTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc2l6ZU9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMEE3MTU3OTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNTdBMTFEMDFC
MjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUIzMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1QjUx
MUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1QjYxMUQwNDMx
RTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBK
U1NWR0FFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1NWR0FFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDYw
QUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjIxMTI3QTUwQjMxODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHUE9EVHlwZVdyYXBwZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzUyLDE2ICsxMzc3MiwyMiBAQAogCQkJCUE3
Nzk3OTEzMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuY3BwICovLAogCQkJCUE3Nzk3OTE0
MEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCAqLywKIAkJCQlBNzc5NzkxNTBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmlkbCAqLywKKwkJCQlCMDE0QTA0QTExQUIxRUEwMDAxOTZB
N0IgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNTc5MTFEMDFC
MjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCAqLywKKwkJCQlCMDE0
QTA0QzExQUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8s
CisJCQkJQjBBNzE1N0ExMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5pZGwgKi8sCiAJCQkJQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXpl
clRocmVhZC5jcHAgKi8sCiAJCQkJQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVz
aXplclRocmVhZC5oICovLAogCQkJCUE0NTZGQTI0MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNO
b2RlTGlzdC5jcHAgKi8sCiAJCQkJQTQ1NkZBMjUxMUFENEE4MzAwMjBCNDIwIC8qIExhYmVsc05v
ZGVMaXN0LmggKi8sCiAJCQkJRjUyM0QyNTAwMkRFNDM5NjAxODYzNUNBIC8qIExlZ2FjeUhUTUxU
cmVlQnVpbGRlci5jcHAgKi8sCiAJCQkJRjUyM0QyNTEwMkRFNDM5NjAxODYzNUNBIC8qIExlZ2Fj
eUhUTUxUcmVlQnVpbGRlci5oICovLAotCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmggKi8sCi0JCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJy
b3IuaWRsICovLAogCQkJCUU0RDRBQkUwMEQ3NTQyRjAwMEY5Njg2OSAvKiBMZWdhY3lQcmVsb2Fk
U2Nhbm5lci5jcHAgKi8sCiAJCQkJRTRENEFCRTEwRDc1NDJGMTAwRjk2ODY5IC8qIExlZ2FjeVBy
ZWxvYWRTY2FubmVyLmggKi8sCisJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlh
RXJyb3IuaCAqLywKKwkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5p
ZGwgKi8sCisJCQkJQjBBNzE1MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3Bw
ICovLAorCQkJCUIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8s
CiAJCQkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi8sCiAJCQkJ
QTVBRkIzNEUxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5oICovLAogCQkJCUJDRUY0NUU4
MEU2ODc3NjcwMDFDMTI4NyAvKiBUZXh0TWV0cmljcy5oICovLApAQCAtMTQwMDMsNiArMTQwMjks
MTAgQEAKIAkJCQlFNDQ2MTQwRjBDRDY4MjY5MDBGQURBNzUgLyogSlNIVE1MVmlkZW9FbGVtZW50
LmggKi8sCiAJCQkJQTc3OTc5MjQwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmNwcCAq
LywKIAkJCQlBNzc5NzkyNTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCAqLywKKwkJ
CQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNr
LmNwcCAqLywKKwkJCQlCMEE3MTVCNDExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjBBNzE1QjUxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLywKKwkJCQlCMEE3MTVCNjExRDA0MzFFMDAz
QzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLywKIAkJCQk0OUVFQ0VG
ODEwNTA3MEM0MDAwOTlGQUIgLyogSlNJbnQxNkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGOTEw
NTA3MEM0MDAwOTlGQUIgLyogSlNJbnQxNkFycmF5LmggKi8sCiAJCQkJNDlFRUNFRjYxMDUwNzBD
NDAwMDk5RkFCIC8qIEpTSW50MzJBcnJheS5jcHAgKi8sCkBAIC0xNTU3Myw2ICsxNTYwMyw3IEBA
CiAJCQkJQkMyRUQ3QTQwQzZDMEYzNjAwOTIwQkZGIC8qIEpTSFRNTEZyYW1lRWxlbWVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJQkNENDFBQkEwQzA2MERFODAwQzBFNDQ2IC8qIEpTSFRNTEZyYW1lU2V0
RWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyRUQ2NEYwQzZCQzQ4QzAwOTIwQkZGIC8qIEpT
SFRNTElGcmFtZUVsZW1lbnRDdXN0b20uY3BwICovLAorCQkJCUIwNEY1OUZEMTFDNkFGRDYwMDBC
NUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDQzQzODc3MEU4
ODZDQzcwMDUzM0RENSAvKiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJD
MzA1Q0EzMEMwNzgxQkIwMENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmNwcCAq
LywKIAkJCQk0NDhBRDI3QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rp
b25DdXN0b20uY3BwICovLApAQCAtMTgxOTIsNiArMTgyMjMsOCBAQAogCQkJCTFBODIwRDkyMEEx
M0VCQTYwMEFGODQzQyAvKiBJbWFnZURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODk1
ODI1NjBFODU3QTdFMDBGODJDODMgLyogSW1hZ2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQlCMDRFNkJGNjExQzdGMDdFMDAyMTQyODMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjA0RTZCRjUxMUM3RjA3OTAwMjE0MjgzIC8qIElt
YWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjAxNDlFODAx
MUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjI3NTM1NzEwQjA1MzgxNDAwMkNFNjRGIC8qIEltYWdlU291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0QjM0ODA5NDBFRUY1MEQ0MDBBQzFCNDEgLyogSW1hZ2VTb3VyY2VDRy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0xODQyNSw2ICsxODQ1OCw4IEBACiAJCQkJQzU2QzkxQTcxMTlEOTE4NzAw
REU0Q0Q5IC8qIEpTSURCU3VjY2Vzc0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzZDNDlG
NDBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNzc5NzkyOTBENkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUIwQTcxNUI4MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIwQTcxNUJBMTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVG
NEY0MTExMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0EwRTc2REIxMEJGMDU5ODAwQTAyNzZFIC8qIEpTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUYwNjBDRTBGNUVFQjJCMDBBMDdFQUMgLyog
SlNJbnNwZWN0b3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTE4OTU5LDYgKzE4OTk0LDcg
QEAKIAkJCQlBODlDQ0M1MzBGNDRFOTgxMDBCNURBMTAgLyogUmVwbGFjZU5vZGVXaXRoU3BhbkNv
bW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTBBMDk5RTY0OTIwMDU2RTU4MSAvKiBS
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMkYwOTc5
QzNCRDAwNDY3NzQxIC8qIFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUIwNEU2QkYyMTFD
NkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzRG
NzE0MjBENUE2RjQ0MDAwMThENjkgLyogUmVzb3VyY2VFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MTRDNzY3OTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGUu
aCBpbiBIZWFkZXJzICovLApAQCAtMjA3NDIsNiArMjA3NzgsNyBAQAogCQkJCUJDNDkxOEM4MEJG
RUEwNTAwMDlENjMxNiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMkVENjUwMEM2QkM0OEMwMDkyMEJGRiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk3MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hU
TUxJbWFnZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjA0RjU5RkYxMUM2QUZENjAw
MEI1QUMwIC8qIEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODBFN0U5ODBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDQzQzODc4MEU4ODZDQzcwMDUzM0RENSAvKiBKU0hUTUxJbnB1dEVs
ZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMkFBOTkwQTFDREQyRDAwQjQy
QjI1IC8qIEpTSFRNTElzSW5kZXhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjA4MDAs
NiArMjA4MzcsOCBAQAogCQkJCUJDNkM0OUYzMEQ3REJBMDUwMEZGQTU1OCAvKiBKU0ltYWdlQ29u
c3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc3OTc5MjgwRDZCOUU2NDAwMzg1MUI5
IC8qIEpTSW1hZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDAzMThFMEU5MzU0MDMw
MEUyNEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3
MTVCNzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNUY0RjQxMDExOTMw
NkMwMDBGREZBREQgLyogSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdBMEU3NkRBMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTBFNzZENTEwQkYwNTA3MDBBMDI3NkUgLyogSlNJbmpl
Y3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMTM0Niw2ICsyMTM4
NSw3IEBACiAJCQkJQTg5Q0NDNTIwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0aFNw
YW5Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTA5MDk5RTY0OTIwMDU2RTU4
MSAvKiBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Ix
NkMyRTA5NzlDM0JEMDA0Njc3NDEgLyogUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlC
MEE3MTUxQjExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5MzRGNzEzRTBENUE2RjI4MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NTAwQ0U5MjM0RTAwN0VGM0NEIC8qIFJlc291cmNl
RXJyb3JNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTRDNzY3ODBDRTkyM0ExMDA3RUYzQ0Qg
LyogUmVzb3VyY2VIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uODYyZGI2YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDE2MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyNpbmNsdWRlICJKU0hU
TUxJbWFnZUVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkhU
TUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIgorI2luY2x1ZGUg
IlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgPHJ1bnRpbWUvSlNGdW5jdGlvbi5oPgorI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIFBhc3NSZWZQ
dHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGlmICghdmFsdWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246
OmluZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VS
Uik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBh
c09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNr
OjpjcmVhdGUob2JqZWN0LCBnbG9iYWxPYmplY3QpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBjcmVhdGVJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNr
KEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSB2YWx1ZSkKK3sKKyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVk
IGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghdmFsdWUuaW5oZXJp
dHMoJkpTRnVuY3Rpb246OmluZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBU
WVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpTSW1hZ2VSZXNpemVy
RXJyb3JDYWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGlj
IFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4gY3JlYXRlUmVzaXplT3B0aW9ucyhFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6
ZU9wdGlvbnMgPSBSZXNpemVPcHRpb25zOjpjcmVhdGUoKTsKKworICAgIC8vIEFyZ3VtZW50IGlz
IG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBudWxsIGlzIGFsbG93
ZWQuCisgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpIHsKKyAgICAgICAgLy8gVXNl
IGRlZmF1bHQgb3B0aW9ucy4KKyAgICAgICAgcmV0dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgp
OworICAgIH0KKyAgICBKU09iamVjdCogb2JqZWN0ID0gdmFsdWUudG9PYmplY3QoZXhlYyk7CisK
KyAgICBKU1ZhbHVlIHdpZHRoID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAi
d2lkdGgiKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoIXdpZHRoLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9u
cy0+c2V0V2lkdGgod2lkdGgudG9JbnQzMihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUg
aGVpZ2h0ID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiaGVpZ2h0IikpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYg
KCFoZWlnaHQuaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRIZWln
aHQoaGVpZ2h0LnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU1ZhbHVlIGNvbXByZXNz
aW9uTGV2ZWwgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJjb21wcmVzc2lv
bkxldmVsIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgaWYgKCFjb21wcmVzc2lvbkxldmVsLmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAg
cmVzaXplT3B0aW9ucy0+c2V0Q29tcHJlc3Npb25MZXZlbChjb21wcmVzc2lvbkxldmVsLnRvTnVt
YmVyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvID0g
b2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAicHJlc2VydmVBc3BlY3RSYXRpbyIp
KTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAg
IGlmICghcHJlc2VydmVBc3BlY3RSYXRpby5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6
ZU9wdGlvbnMtPnNldEFzcGVjdFJhdGlvT3B0aW9uKHByZXNlcnZlQXNwZWN0UmF0aW8udG9Cb29s
ZWFuKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBvcmllbnRhdGlvbiA9IG9iamVjdC0+
Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgIm9yaWVudGF0aW9uIikpOworICAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFvcmllbnRhdGlv
bi5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldE9yaWVudGF0aW9u
T3B0aW9uKHVzdHJpbmdUb1N0cmluZyhvcmllbnRhdGlvbi50b1N0cmluZyhleGVjKSkpOworICAg
ICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisKKyAgICByZXR1cm4gcmVzaXplT3B0aW9ucy5yZWxlYXNlKCk7Cit9CisKK0pTVmFsdWUg
SlNIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRHZXRJbWFnZShFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVu
dCgwKS50b1N0cmluZyhleGVjKSk7CisKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2soZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBBU1NFUlQoc3VjY2Vz
c0NhbGxiYWNrKTsKKworICAgIFJlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayhleGVjLCBzdGF0aWNf
Y2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4
ZWMtPmFyZ3VtZW50KDIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6
ZU9wdGlvbnMgPSBjcmVhdGVSZXNpemVPcHRpb25zKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDMpKTsK
KyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOworICAgIEFTU0VSVChyZXNpemVPcHRpb25zKTsKKworICAgIEhUTUxJbWFnZUVsZW1lbnQq
IGltYWdlRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihpbXBsKCkpOwor
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGltYWdlRWxlbWVudC0+d2Via2l0R2V0SW1h
Z2UobWltZVR5cGUsIHN1Y2Nlc3NDYWxsYmFjay5yZWxlYXNlKCksIGVycm9yQ2FsbGJhY2sucmVs
ZWFzZSgpLCByZXNpemVPcHRpb25zLnJlbGVhc2UoKSwgZWMpOworICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBlYyk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9Bc3lu
Y0ltYWdlUmVzaXplci5jcHAKaW5kZXggNGJiNzRjOS4uOWQwZjdiOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvQXN5bmNJ
bWFnZVJlc2l6ZXIuY3BwCkBAIC0zNCwyOCArMzQsMzMgQEAKICNpbmNsdWRlICJBc3luY0ltYWdl
UmVzaXplci5oIgogCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKKyNpbmNsdWRlICJJbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmgiCiAjaW5jbHVkZSAiSW1hZ2VSZXNpemVyVGhyZWFkLmgiCisjaW5jbHVkZSAiUmVzaXpl
T3B0aW9ucy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorCiAjaW5jbHVkZSA8dXRpbGl0
eT4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPEFzeW5jSW1hZ2VSZXNpemVy
PiBBc3luY0ltYWdlUmVzaXplcjo6Y3JlYXRlKENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0
cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1
Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwg
QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uIG9y
aWVudGF0aW9uT3B0aW9uKQordm9pZCBBc3luY0ltYWdlUmVzaXplcjo6c3RhcnQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQ2FjaGVkSW1hZ2UqIGNhY2hl
ZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1dFR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiByZXNp
emVPcHRpb25zKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXN5bmNJbWFnZVJlc2l6ZXIo
Y2FjaGVkSW1hZ2UsIG91dHB1dFR5cGUsIGRlc2lyZWRCb3VuZHMsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjaywgcXVhbGl0eSwgYXNwZWN0UmF0aW9PcHRpb24sIG9yaWVudGF0aW9uT3B0
aW9uKSk7CisgICAgbmV3IEFzeW5jSW1hZ2VSZXNpemVyKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQs
IGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ss
IHJlc2l6ZU9wdGlvbnMpOwogfQogCi1Bc3luY0ltYWdlUmVzaXplcjo6QXN5bmNJbWFnZVJlc2l6
ZXIoQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlLCBPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNp
emUgZGVzaXJlZEJvdW5kcywgU2NyaXB0VmFsdWUgc3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1
ZSBlcnJvckNhbGxiYWNrLCBmbG9hdCBxdWFsaXR5LCBBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RS
YXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRpb24pCi0gICAgOiBt
X2NhY2hlZEltYWdlKGNhY2hlZEltYWdlKQorQXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VS
ZXNpemVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENh
Y2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBQYXNzUmVmUHRy
PEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRy
PEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UmVz
aXplT3B0aW9ucz4gcmVzaXplT3B0aW9ucykKKyAgICA6IEFjdGl2ZURPTU9iamVjdChzY3JpcHRF
eGVjdXRpb25Db250ZXh0LCB0aGlzKQorICAgICwgbV9jYWNoZWRJbWFnZShjYWNoZWRJbWFnZSkK
KyAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KQor
ICAgICwgbV9vdXRwdXRUeXBlKG91dHB1dFR5cGUpCiAgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhz
dWNjZXNzQ2FsbGJhY2spCiAgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykKLSAg
ICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQotICAgICwgbV9kZXNpcmVkQm91bmRzKGRlc2ly
ZWRCb3VuZHMpCi0gICAgLCBtX3F1YWxpdHkocXVhbGl0eSkKLSAgICAsIG1fYXNwZWN0UmF0aW9P
cHRpb24oYXNwZWN0UmF0aW9PcHRpb24pCi0gICAgLCBtX29yaWVudGF0aW9uT3B0aW9uKG9yaWVu
dGF0aW9uT3B0aW9uKQorICAgICwgbV9yZXNpemVPcHRpb25zKHJlc2l6ZU9wdGlvbnMpCiB7Ci0g
ICAgQVNTRVJUKG1fc3VjY2Vzc0NhbGxiYWNrLmlzT2JqZWN0KCkpOworICAgIC8vIG1fY2FsbGJh
Y2sgY29udHJvbHMgdGhlIGxpZmV0aW1lIG9mIEFzeW5jSW1hZ2VSZXNpemVyLgorICAgIG1fY2Fs
bGJhY2tJbmZvID0gbmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKKyAgICBBU1NFUlQobV9zdWNjZXNz
Q2FsbGJhY2suZ2V0KCkpOwogICAgIG1fY2FjaGVkSW1hZ2UtPmFkZENsaWVudCh0aGlzKTsKIH0K
IApAQCAtNjUsMTEgKzcwLDM1IEBAIEFzeW5jSW1hZ2VSZXNpemVyOjp+QXN5bmNJbWFnZVJlc2l6
ZXIoKQogCiB2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNv
dXJjZSogY2FjaGVkUmVzb3VyY2UpCiB7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gaW1hZ2VE
YXRhID0gY2FjaGVkUmVzb3VyY2UtPmRhdGEoKS0+Y29weSgpOwotICAgIGNhY2hlZFJlc291cmNl
LT5yZW1vdmVDbGllbnQodGhpcyk7Ci0gICAgQ2FsbGJhY2tJbmZvKiBjYWxsYmFja0luZm8gPSBu
ZXcgQ2FsbGJhY2tJbmZvKHRoaXMpOwotICAgIGlmICghSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFy
dChpbWFnZURhdGEsIGNhbGxiYWNrSW5mbywgbV9vdXRwdXRUeXBlLCBtX2Rlc2lyZWRCb3VuZHMs
IG1fcXVhbGl0eSwgbV9hc3BlY3RSYXRpb09wdGlvbiwgbV9vcmllbnRhdGlvbk9wdGlvbikpCi0g
ICAgICAgIHJlc2l6ZUVycm9yKCk7CisgICAgaWYgKGNhY2hlZFJlc291cmNlLT5lcnJvck9jY3Vy
cmVkKCkpCisgICAgICAgIGRlbGV0ZSBtX2NhbGxiYWNrSW5mbzsKKyAgICBlbHNlIGlmICghY2Fj
aGVkUmVzb3VyY2UtPmRhdGEoKS0+aXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGltYWdlRGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNvcHkoKTsKKyAgICAg
ICAgY2FjaGVkUmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKKyAgICAgICAgaWYgKCFJbWFn
ZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KGltYWdlRGF0YSwgbV9jYWxsYmFja0luZm8sIG1fb3V0cHV0
VHlwZSwgSW50U2l6ZShtX3Jlc2l6ZU9wdGlvbnMtPndpZHRoKCksIG1fcmVzaXplT3B0aW9ucy0+
aGVpZ2h0KCkpLCBtX3Jlc2l6ZU9wdGlvbnMtPmNvbXByZXNzaW9uTGV2ZWwoKSwgbV9yZXNpemVP
cHRpb25zLT5hc3BlY3RSYXRpb09wdGlvbigpLCBtX3Jlc2l6ZU9wdGlvbnMtPm9yaWVudGF0aW9u
T3B0aW9uKCkpKQorICAgICAgICAgICAgcmVzaXplRXJyb3IoKTsKKyAgICB9Cit9CisKK3ZvaWQg
QXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUNvbXBsZXRlKEJsb2IqIGJsb2IpCit7CisgICAgbV9z
dWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgYmxv
Yik7Cit9CisKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUVycm9yKCkKK3sKKyAgICBp
ZiAobV9lcnJvckNhbGxiYWNrLmdldCgpKQorICAgICAgICBtX2Vycm9yQ2FsbGJhY2stPmhhbmRs
ZUV2ZW50KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgIlVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUg
cmVzaXppbmcgaW1hZ2UiKTsKK30KKworYm9vbCBBc3luY0ltYWdlUmVzaXplcjo6Y2FuU3VzcGVu
ZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpz
dG9wKCkKK3sKKyAgICBkZWxldGUgbV9jYWxsYmFja0luZm87CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oIGIv
V2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKaW5kZXggYWRkMDcwYS4uZjY3MzA3NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKQEAgLTMzLDE1ICszMywxOSBAQAogCiAjaWYgRU5B
QkxFKElNQUdFX1JFU0laRVIpCiAKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNs
dWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKICNpbmNsdWRl
ICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDYWNoZWRJbWFnZTsKK2NsYXNzIEltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2s7CitjbGFzcyBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s7CiBjbGFzcyBJbWFnZVJlc2l6
ZXJUaHJlYWQ7CitjbGFzcyBSZXNpemVPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAogLy8gQXN5bmNJbWFnZVJlc2l6ZXIgd2FpdHMgZm9yIHRoZSBDYWNoZWRJbWFnZSB0
aGF0IGlzIHBhc3NlZCBpbiB0byBsb2FkIGNvbXBsZXRlbHksCiAvLyB0aGVuIHN0YXJ0cyBhbiBJ
bWFnZVJlc2l6ZXJUaHJlYWQgdG8gcmVzaXplIHRoZSBpbWFnZS4gT25jZSBjcmVhdGVkLCBJbWFn
ZVJlc2l6ZXJUaHJlYWQKQEAgLTQ5LDU2ICs1Myw0NSBAQCBjbGFzcyBJbWFnZVJlc2l6ZXJUaHJl
YWQ7CiAvLyBvY2N1ciwgYm90aCBvYmplY3RzIGFyZSBkZXN0cm95ZWQuIElmIHRoZSBkb2N1bWVu
dCBpcyBkZXN0cm95ZWQgZHVyaW5nIHJlc2l6aW5nLAogLy8gQXN5bmNJbWFnZVJlc2l6ZXIgd2ls
bCByZWNlaXZlIGEgbm90aWZpY2F0aW9uIGFuZCBzdWJzZXF1ZW50bHkgYmxvY2sgdGhlIGNhbGxi
YWNrcyBmcm9tCiAvLyBvY2N1cnJpbmcuCi1jbGFzcyBBc3luY0ltYWdlUmVzaXplciA6IHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8QXN5bmNJbWFnZVJlc2l6
ZXI+IHsKK2NsYXNzIEFzeW5jSW1hZ2VSZXNpemVyIDogcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgQ2FsbGJh
Y2tJbmZvIHsKLSAgICAgICAgQ2FsbGJhY2tJbmZvKFBhc3NSZWZQdHI8QXN5bmNJbWFnZVJlc2l6
ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQorICAgICAgICBDYWxsYmFja0luZm8oUGFzc093blB0cjxB
c3luY0ltYWdlUmVzaXplcj4gYXN5bmNJbWFnZVJlc2l6ZXIpCiAgICAgICAgICAgICA6IGFzeW5j
SW1hZ2VSZXNpemVyKGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAgICAgLCBibG9iKDApCiAg
ICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIFJlZlB0cjxBc3luY0ltYWdlUmVzaXplcj4g
YXN5bmNJbWFnZVJlc2l6ZXI7CisgICAgICAgIE93blB0cjxBc3luY0ltYWdlUmVzaXplcj4gYXN5
bmNJbWFnZVJlc2l6ZXI7CiAgICAgICAgIFJlZlB0cjxCbG9iPiBibG9iOwogICAgIH07Ci0gICAg
CisKICAgICBlbnVtIE91dHB1dFR5cGUgewogICAgICAgICBKUEVHLAogICAgICAgICBQTkcKICAg
ICB9OwogCi0gICAgZW51bSBBc3BlY3RSYXRpb09wdGlvbiB7Ci0gICAgICAgIFByZXNlcnZlQXNw
ZWN0UmF0aW8sCi0gICAgICAgIElnbm9yZUFzcGVjdFJhdGlvCi0gICAgfTsKLQotICAgIGVudW0g
T3JpZW50YXRpb25PcHRpb24gewotICAgICAgICBDb3JyZWN0T3JpZW50YXRpb24sCi0gICAgICAg
IElnbm9yZU9yaWVudGF0aW9uCi0gICAgfTsKLQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFzeW5j
SW1hZ2VSZXNpemVyPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBJbnRTaXplIGRl
c2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJy
b3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9u
T3B0aW9uKTsKKyAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Q2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NSZWZQ
dHI8UmVzaXplT3B0aW9ucz4pOwogICAgIH5Bc3luY0ltYWdlUmVzaXplcigpOwogCi0gICAgLy8g
RklYTUU6IEluc2VydCBvdmVycmlkZSBmdW5jdGlvbiBmb3Igbm90aWZpY2F0aW9uIG9mIGRvY3Vt
ZW50IGRlc3RydWN0aW9uIChjaGFuZ2UgbV9jYWxsYmFja3NPaykuCi0KLSAgICB2b2lkIHJlc2l6
ZUNvbXBsZXRlKFJlZlB0cjxCbG9iPikgeyAvKiBGSVhNRTogTm90IHlldCBpbXBsZW1lbnRlZC4g
Ki8gfQotICAgIHZvaWQgcmVzaXplRXJyb3IoKSB7IC8qIEZJWE1FOiBOb3QgeWV0IGltcGxlbWVu
dGVkLiAqLyB9CisgICAgdm9pZCByZXNpemVDb21wbGV0ZShCbG9iKik7CisgICAgdm9pZCByZXNp
emVFcnJvcigpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kKCk7CisgICAgdmly
dHVhbCB2b2lkIHN0b3AoKTsKIAogcHJpdmF0ZToKLSAgICBBc3luY0ltYWdlUmVzaXplcihDYWNo
ZWRJbWFnZSosIE91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgU2NyaXB0VmFsdWUg
c3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1ZSBlcnJvckNhbGxiYWNrLCBmbG9hdCBxdWFsaXR5
LCBBc3BlY3RSYXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24pOworICAgIEFzeW5jSW1hZ2VS
ZXNpemVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWNoZWRJbWFnZSosIE91dHB1dFR5cGUs
IFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxJbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPik7CiAgICAg
dmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7CiAKICAgICBDYWNo
ZWRJbWFnZSogbV9jYWNoZWRJbWFnZTsKLSAgICBTY3JpcHRWYWx1ZSBtX3N1Y2Nlc3NDYWxsYmFj
azsKLSAgICBTY3JpcHRWYWx1ZSBtX2Vycm9yQ2FsbGJhY2s7Ci0gICAgCi0gICAgLy8gUGFyYW1l
dGVycyB0byBwYXNzIGludG8gSW1hZ2VSZXNpemVyVGhyZWFkLgorICAgIENhbGxiYWNrSW5mbyog
bV9jYWxsYmFja0luZm87CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRFeGVj
dXRpb25Db250ZXh0OworCiAgICAgT3V0cHV0VHlwZSBtX291dHB1dFR5cGU7Ci0gICAgSW50U2l6
ZSBtX2Rlc2lyZWRCb3VuZHM7Ci0gICAgZmxvYXQgbV9xdWFsaXR5OwotICAgIEFzcGVjdFJhdGlv
T3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAgT3JpZW50YXRpb25PcHRpb24gbV9vcmll
bnRhdGlvbk9wdGlvbjsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBt
X3N1Y2Nlc3NDYWxsYmFjazsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4g
bV9lcnJvckNhbGxiYWNrOworICAgIFJlZlB0cjxSZXNpemVPcHRpb25zPiBtX3Jlc2l6ZU9wdGlv
bnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHAKaW5kZXggNWQ1OTIzZC4uOWE4ZjRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApA
QCAtMjgsMTMgKzI4LDIyIEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkhU
TUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiSW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIgog
I2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVzaXplT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKIAorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVS
KQorI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUxLDQgKzQ2MCwzNSBAQCB2b2lk
IEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCkKICAgICBIVE1M
RWxlbWVudDo6d2lsbE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsKIH0KIAorI2lmIEVOQUJMRShJ
TUFHRV9SRVNJWkVSKQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndlYmtpdEdldEltYWdlKFN0
cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrLCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmICghc3JjKCkuaXNWYWxpZCgpKSB7CisgICAgICAgIGVj
ID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBU
aGlzIGNoZWNrcyB0aGF0IHRoZSBzcmMgaXMgbm9uLXJlbW90ZS4gVGhlIHRhaW50c0NhbnZhcyBt
ZXRob2QgaXMgdXNlZCBiZWNhdXNlCisgICAgLy8gZGF0YSBVUkxzIGFyZSB0cmVhdGVkIGFzIHJl
bW90ZSwgYW5kIHdlIHdhbnQgdG8gYWxsb3cgdGhlbS4KKyAgICBpZiAoZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+dGFpbnRzQ2FudmFzKHNyYygpKSkgeworICAgICAgICBlYyA9IFNFQ1VS
SVRZX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5jSW1hZ2VSZXNpemVy
OjpPdXRwdXRUeXBlIG91dHB1dFR5cGU7CisgICAgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9qcGVn
IikKKyAgICAgICAgb3V0cHV0VHlwZSA9IEFzeW5jSW1hZ2VSZXNpemVyOjpKUEVHOworICAgIGVs
c2UgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9wbmciKQorICAgICAgICBvdXRwdXRUeXBlID0gQXN5
bmNJbWFnZVJlc2l6ZXI6OlBORzsKKyAgICBlbHNlIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9S
VEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5jSW1hZ2VSZXNpemVy
OjpzdGFydChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1faW1hZ2VMb2FkZXIuaW1hZ2UoKSwg
b3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCByZXNpemVPcHRpb25z
KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuaAppbmRleCA2MmQzMTVjLi4yNTZiOGM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTMxLDYgKzMxLDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZv
cm1FbGVtZW50OworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOworY2xhc3MgSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjazsKK2NsYXNzIFJlc2l6ZU9wdGlvbnM7CiAKIGNsYXNzIEhU
TUxJbWFnZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogICAgIGZyaWVuZCBjbGFzcyBI
VE1MRm9ybUVsZW1lbnQ7CkBAIC04OSw2ICs5MiwxMCBAQCBwdWJsaWM6CiAKICAgICBib29sIGhh
dmVGaXJlZExvYWRFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VMb2FkZXIuaGF2ZUZpcmVk
TG9hZEV2ZW50KCk7IH0KIAorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorICAgIHZvaWQgd2Vi
a2l0R2V0SW1hZ2UoU3RyaW5nIG1pbWVUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NS
ZWZQdHI8UmVzaXplT3B0aW9ucz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyNlbmRpZgorCiBwcm90ZWN0
ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
LCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAppbmRl
eCAwZmM3MjcxLi5hZTNjNWU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCkBAIC00OCw2
ICs0OCwxNCBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lv
bjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhbHREaXNwbGF5U3RyaW5n
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7CisjZWxz
ZQorCisjaWYgZGVmaW5lZChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJiYgRU5BQkxFX0lNQUdFX1JF
U0laRVIKKyAgICAgICAgLy8gRnVuY3Rpb25zCisgICAgICAgIFtDdXN0b21dIHZvaWQgd2Via2l0
R2V0SW1hZ2UoaW4gRE9NU3RyaW5nIG1pbWVUeXBlLCBpbiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBbT3B0aW9uYWxdIGluIEltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2sgZXJyb3JDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBSZXNpemVPcHRpb25zIG9wdGlvbnMp
CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgorCiAjZW5kaWYKICAg
ICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
ay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmZmZjg2Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaApAQCAtMCwwICsxLDUzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKCkgeyB9Cisg
ICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBTdHJpbmcmKSA9IDA7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpF
UikKKworI2VuZGlmIC8vIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsIGIvV2ViQ29yZS9odG1s
L0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmZmY2NiZjgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsK
KyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1JTUFHRV9SRVNJWkVSLAorICAg
ICAgICBDYWxsYmFjaworICAgIF0gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayB7CisgICAgICAg
IGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIGVycm9yKTsKKyAgICB9OworfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGIvV2Vi
Q29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjY0NDAwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0
bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCbG9iOworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1hZ2VS
ZXNpemVyU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8SW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBCbG9iKikgPSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElN
QUdFX1JFU0laRVIpCisKKyNlbmRpZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsIGIv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmZDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitt
b2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU1B
R0VfUkVTSVpFUiwKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIEltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gQmxvYiBibG9iKTsKKyAg
ICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAg
Yi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAppbmRleCAxYmFlNmEwLi40ZTk3
MDQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcApAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUgPHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQ2LDExICs0NywxMSBAQCBzdGF0aWMgdm9pZCByZXR1cm5CbG9iT3JFcnJvcih2b2lk
KiBjYWxsYmFja0luZm9ybWF0aW9uKQogICAgIGlmICghY2FsbGJhY2tJbmZvLT5ibG9iKQogICAg
ICAgICBjYWxsYmFja0luZm8tPmFzeW5jSW1hZ2VSZXNpemVyLT5yZXNpemVFcnJvcigpOwogICAg
IGVsc2UKLSAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXplQ29t
cGxldGUoY2FsbGJhY2tJbmZvLT5ibG9iKTsKKyAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0lt
YWdlUmVzaXplci0+cmVzaXplQ29tcGxldGUoY2FsbGJhY2tJbmZvLT5ibG9iLmdldCgpKTsKICAg
ICBkZWxldGUgY2FsbGJhY2tJbmZvOwogfQogCi1ib29sIEltYWdlUmVzaXplclRocmVhZDo6c3Rh
cnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6ZXI6
OkNhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlw
ZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5j
SW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJ
bWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQorYm9vbCBJ
bWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURh
dGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNrSW5mbywgQXN5bmNJ
bWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRz
LCBkb3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0
UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9u
T3B0aW9uKQogewogICAgIEltYWdlUmVzaXplclRocmVhZCogaW1hZ2VSZXNpemVyVGhyZWFkID0g
bmV3IEltYWdlUmVzaXplclRocmVhZChjYWxsYmFja0luZm8sIG91dHB1dFR5cGUsIGRlc2lyZWRC
b3VuZHMsIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRhdGlvbk9wdGlvbik7CiAK
QEAgLTYyLDcgKzYzLDcgQEAgYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXMKICAgICByZXR1cm4gaW1h
Z2VSZXNpemVyVGhyZWFkLT5tX3RocmVhZElEOwogfQogCi1JbWFnZVJlc2l6ZXJUaHJlYWQ6Oklt
YWdlUmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFj
a0luZm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUg
ZGVzaXJlZEJvdW5kcywgZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJh
dGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBBc3luY0ltYWdlUmVzaXplcjo6T3JpZW50YXRp
b25PcHRpb24gb3JpZW50YXRpb25PcHRpb24pCitJbWFnZVJlc2l6ZXJUaHJlYWQ6OkltYWdlUmVz
aXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0luZm8s
IEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVzaXJl
ZEJvdW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9u
IGFzcGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBvcmll
bnRhdGlvbk9wdGlvbikKICAgICA6IG1fdGhyZWFkSUQoMCkKICAgICAsIG1fY2FsbGJhY2tJbmZv
KGNhbGxiYWNrSW5mbykKICAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oIGIvV2ViQ29yZS9odG1sL0ltYWdl
UmVzaXplclRocmVhZC5oCmluZGV4IGFlNWFkZTUuLjE1YmQzYmQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNp
emVyVGhyZWFkLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikK
IAogI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5oIgor
I2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
MiwxMSArNDQsMTEgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCiBjbGFzcyBJbWFnZVJlc2l6ZXJU
aHJlYWQgewogcHVibGljOgotICAgIHN0YXRpYyBib29sIHN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVk
QnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3lu
Y0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBx
dWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1hZ2VS
ZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIGJvb2wgc3RhcnQoUGFzc1Jl
ZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNr
SW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3Vu
ZHMsIGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVz
aXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24pOwogICAgIH5JbWFnZVJlc2l6ZXJUaHJlYWQo
KTsKIAogcHJpdmF0ZToKLSAgICBJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6
OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRl
c2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRp
b09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBJbWFn
ZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1h
Z2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBxdWFs
aXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3Jp
ZW50YXRpb25PcHRpb24pOwogICAgIHN0YXRpYyB2b2lkKiBpbWFnZVJlc2l6ZXJUaHJlYWRTdGFy
dCh2b2lkKik7CiAgICAgdm9pZCogaW1hZ2VSZXNpemVyVGhyZWFkKCk7CiAKQEAgLTU4LDkgKzYw
LDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Qml0bWFwSW1hZ2U+IG1faW1hZ2U7CiAgICAgQXN5
bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwogICAgIEludFNpemUgbV9k
ZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3luY0ltYWdlUmVzaXpl
cjo6QXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsKLSAgICBBc3luY0ltYWdl
UmVzaXplcjo6T3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKKyAgICBkb3Vi
bGUgbV9xdWFsaXR5OworICAgIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIG1fYXNw
ZWN0UmF0aW9PcHRpb247CisgICAgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24gbV9v
cmllbnRhdGlvbk9wdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcCBiL1dlYkNvcmUvaHRtbC9SZXNpemVP
cHRpb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTI5MGYwCi0t
LSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuY3BwCkBAIC0wLDAg
KzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQor
I2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSW5jbHVzaXZlIGxpbWl0czsKK3N0YXRpYyBj
b25zdCBpbnQgZGltZW5zaW9uc0xvd2VyTGltaXQgPSAxOworc3RhdGljIGNvbnN0IGludCBkaW1l
bnNpb25zVXBwZXJMaW1pdCA9IDMyNzY3Oworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVzc2lv
bkxvd2VyTGltaXQgPSAwLjA7CitzdGF0aWMgY29uc3QgZG91YmxlIGNvbXByZXNzaW9uVXBwZXJM
aW1pdCA9IDEuMDsKKworc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0Q29tcHJlc3Npb24gPSAw
Ljg1OworCitQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IFJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSgp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZXNpemVPcHRpb25zKCkpOworfQorCitSZXNp
emVPcHRpb25zOjpSZXNpemVPcHRpb25zKCkKKyAgICA6IG1fd2lkdGgoMCkKKyAgICAsIG1faGVp
Z2h0KDApCisgICAgLCBtX2NvbXByZXNzaW9uTGV2ZWwoZGVmYXVsdENvbXByZXNzaW9uKQorICAg
ICwgbV9hc3BlY3RSYXRpb09wdGlvbihJZ25vcmVBc3BlY3RSYXRpbykKKyAgICAsIG1fb3JpZW50
YXRpb25PcHRpb24oSWdub3JlT3JpZW50YXRpb24pCit7Cit9CisKK3ZvaWQgUmVzaXplT3B0aW9u
czo6c2V0V2lkdGgoaW50IHdpZHRoKQoreworICAgIG1fd2lkdGggPSB3aWR0aCA+PSBkaW1lbnNp
b25zTG93ZXJMaW1pdCAmJiB3aWR0aCA8PSBkaW1lbnNpb25zVXBwZXJMaW1pdCA/IHdpZHRoIDog
MDsKK30KKworaW50IFJlc2l6ZU9wdGlvbnM6OndpZHRoKCkKK3sKKyAgICByZXR1cm4gbV93aWR0
aDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRIZWlnaHQoaW50IGhlaWdodCkKK3sKKyAg
ICBtX2hlaWdodCA9IGhlaWdodCA+PSBkaW1lbnNpb25zTG93ZXJMaW1pdCAmJiBoZWlnaHQgPD0g
ZGltZW5zaW9uc1VwcGVyTGltaXQgPyBoZWlnaHQgOiAwOworfQorCitpbnQgUmVzaXplT3B0aW9u
czo6aGVpZ2h0KCkKK3sKKyAgICByZXR1cm4gbV9oZWlnaHQ7Cit9CisKK3ZvaWQgUmVzaXplT3B0
aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbChkb3VibGUgY29tcHJlc3Npb25MZXZlbCkKK3sKKyAg
ICBtX2NvbXByZXNzaW9uTGV2ZWwgPSBjb21wcmVzc2lvbkxldmVsID49IGNvbXByZXNzaW9uTG93
ZXJMaW1pdCAmJiBjb21wcmVzc2lvbkxldmVsIDw9IGNvbXByZXNzaW9uVXBwZXJMaW1pdCA/IGNv
bXByZXNzaW9uTGV2ZWwgOiBkZWZhdWx0Q29tcHJlc3Npb247Cit9CisKK2RvdWJsZSBSZXNpemVP
cHRpb25zOjpjb21wcmVzc2lvbkxldmVsKCkKK3sKKyAgICByZXR1cm4gbV9jb21wcmVzc2lvbkxl
dmVsOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKGJvb2wg
cHJlc2VydmVBc3BlY3RSYXRpbykKK3sKKyAgICBtX2FzcGVjdFJhdGlvT3B0aW9uID0gcHJlc2Vy
dmVBc3BlY3RSYXRpbyA/IFByZXNlcnZlQXNwZWN0UmF0aW8gOiBJZ25vcmVBc3BlY3RSYXRpbzsK
K30KKworUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gUmVzaXplT3B0aW9uczo6YXNw
ZWN0UmF0aW9PcHRpb24oKQoreworICAgIHJldHVybiBtX2FzcGVjdFJhdGlvT3B0aW9uOworfQor
Cit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKFN0cmluZyBvcmllbnRh
dGlvbk9wdGlvbikKK3sKKyAgICBtX29yaWVudGF0aW9uT3B0aW9uID0gb3JpZW50YXRpb25PcHRp
b24gPT0gImF1dG8iID8gQ29ycmVjdE9yaWVudGF0aW9uIDogSWdub3JlT3JpZW50YXRpb247Cit9
CisKK1Jlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIFJlc2l6ZU9wdGlvbnM6Om9yaWVu
dGF0aW9uT3B0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9vcmllbnRhdGlvbk9wdGlvbjsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5oIGIvV2ViQ29yZS9odG1s
L1Jlc2l6ZU9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzI3
MTllCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaApAQCAt
MCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBSZXNpemVPcHRpb25zX2gKKyNkZWZpbmUgUmVzaXplT3B0aW9u
c19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIFJlc2l6ZU9wdGlvbnMgOiBwdWJsaWMgUmVmQ291
bnRlZDxSZXNpemVPcHRpb25zPiB7CitwdWJsaWM6CisgICAgZW51bSBBc3BlY3RSYXRpb09wdGlv
biB7CisgICAgICAgIFByZXNlcnZlQXNwZWN0UmF0aW8sCisgICAgICAgIElnbm9yZUFzcGVjdFJh
dGlvCisgICAgfTsKKworICAgIGVudW0gT3JpZW50YXRpb25PcHRpb24geworICAgICAgICBDb3Jy
ZWN0T3JpZW50YXRpb24sCisgICAgICAgIElnbm9yZU9yaWVudGF0aW9uCisgICAgfTsKKworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZSgpOworCisgICAgdm9pZCBz
ZXRXaWR0aChpbnQpOworICAgIGludCB3aWR0aCgpOworCisgICAgdm9pZCBzZXRIZWlnaHQoaW50
KTsKKyAgICBpbnQgaGVpZ2h0KCk7CisKKyAgICB2b2lkIHNldENvbXByZXNzaW9uTGV2ZWwoZG91
YmxlKTsKKyAgICBkb3VibGUgY29tcHJlc3Npb25MZXZlbCgpOworCisgICAgdm9pZCBzZXRBc3Bl
Y3RSYXRpb09wdGlvbihib29sKTsKKyAgICBBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09w
dGlvbigpOworCisgICAgdm9pZCBzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJpbmcpOworICAgIE9y
aWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKCk7CisKK3ByaXZhdGU6CisgICAgUmVz
aXplT3B0aW9ucygpOworCisgICAgLy8gSWYgbV93aWR0aCBvciBtX2hlaWdodCA9PSAwLCB0aGF0
IGRpbWVuc2lvbiB3aWxsIG5vdCBjaGFuZ2UgZXhwbGljaXRseSBkdXJpbmcgcmVzaXppbmcuCisg
ICAgaW50IG1fd2lkdGg7CisgICAgaW50IG1faGVpZ2h0OworICAgIGRvdWJsZSBtX2NvbXByZXNz
aW9uTGV2ZWw7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsKKyAg
ICBPcmllbnRhdGlvbk9wdGlvbiBtX29yaWVudGF0aW9uT3B0aW9uOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNlbmRp
ZiAvLyBSZXNpemVPcHRpb25zX2gK
</data>
<flag name="review"
          id="46772"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59779</attachid>
            <date>2010-06-25 10:36:40 -0700</date>
            <delta_ts>2010-06-25 11:28:18 -0700</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>100387</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzMmE5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICAgIHRyeSB7CisgICAg
ICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhw
cmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAi
JyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisK
K3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52
YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3
IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVm
aW5lR2V0dGVyX18oIndpZHRoIiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3
aWR0aCBnZXR0ZXIgZXhjZXB0aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgp
OworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQp
JywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIpJywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9ibXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIDQyKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQy
KScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6
IHdpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHRydWUpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgLUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywg
ZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7ZHVtbXlQcm9wZXJ0eTpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9w
ZXJ0eTo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1
bW15UHJvcGVydHk6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7
fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRy
dWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7d2lkdGg6LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0p
JywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBm
YWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDot
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0
aW9ufSknLCB0cnVlLCAnRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRp
bzp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZl
QXNwZWN0UmF0aW86NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5m
aW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7
CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge29yaWVudGF0aW9uOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRh
dGlvbjp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7b3JpZW50YXRpb246SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZh
bHNlKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvY29tcHJlc3Npb24tbGV2ZWwt
dGVzdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvc2NyaXB0LXRlc3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI3OWM5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRl
c3RzL2NvbXByZXNzaW9uLWxldmVsLXRlc3QuanMKQEAgLTAsMCArMSwzMCBAQAorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgdmFyeWluZyB0aGUgY29tcHJlc3Npb24gbGV2ZWwgYWZmZWN0cyB0aGUg
c2l6ZSBvZiB0aGUgcmV0dXJuZWQgYmxvYiIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5z
cmMgPSAiLi4vLi4vcmVzb3VyY2VzL21vemlsbGEuZ2lmIjsKKwordmFyIHNpemVGcm9tTG93Q29t
cHJlc3Npb247CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2tMb3cgPSBmdW5jdGlvbihibG9iKSB7Cisg
ICAgc2l6ZUZyb21Mb3dDb21wcmVzc2lvbiA9IGJsb2Iuc2l6ZTsKKyAgICBpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrSGlnaCwgZXJyb3JDYWxsYmFjaywgeyBj
b21wcmVzc2lvbkxldmVsIDogMC45OSB9KTsKK307CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2tIaWdo
ID0gZnVuY3Rpb24oYmxvYikgeworICAgIHZhciBzaXplRnJvbUhpZ2hDb21wcmVzc2lvbiA9IGJs
b2Iuc2l6ZTsKKyAgICBpZiAoc2l6ZUZyb21IaWdoQ29tcHJlc3Npb24gPiBzaXplRnJvbUxvd0Nv
bXByZXNzaW9uKQorICAgICAgICB0ZXN0UGFzc2VkKCJDb21wcmVzc2lvbiBsZXZlbCBvZiAwLjEg
eWllbGRzIGEgc21hbGxlciBmaWxlIHRoYW4gY29tcHJlc3Npb24gbGV2ZWwgb2YgMC45Iik7Cisg
ICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJDb21wcmVzc2lvbiBsZXZlbCBvZiAwLjEgeWll
bGRzIGEgZmlsZSBvZiBzaXplICIgKyBzaXplRnJvbUxvd0NvbXByZXNzaW9uICsgIiB3aGlsc3Qg
YSBjb21wcmVzc2lvbiBsZXZlbCBvZiAwLjkgeWllbGRzIGEgZmlsZSBvZiBzaXplICIgKyBzaXpl
RnJvbUhpZ2hDb21wcmVzc2lvbik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgZXJy
b3JDYWxsYmFjayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdEZhaWxlZCgiRXJyb3IgY2Fs
bGJhY2sgY2FsbGVkIHdpdGggZXJyb3I6ICIgKyBlcnJvcik7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9OworCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vzc0NhbGxiYWNrTG93
LCBlcnJvckNhbGxiYWNrLCB7IGNvbXByZXNzaW9uTGV2ZWwgOiAwLjAxIH0pOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9p
bWFnZS1oYXMtbm8tc291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjliODIxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9pbWFnZS1oYXMtbm8tc291cmNl
LmpzCkBAIC0wLDAgKzEsMjAgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGFuIGltYWdlIHdp
dGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLiIp
OworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSBudWxsOworCit2YXIgZW1wdHlGdW5j
dGlvbiA9IGZ1bmN0aW9uKCkge307CisKK2RvY3VtZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgdHJ5IHsKKyAgICAgICAgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvanBlZyIsIGVt
cHR5RnVuY3Rpb24pOworICAgICAgICB0ZXN0RmFpbGVkKCJTaG91bGQgaGF2ZSB0aHJvd24gZXhj
ZXB0aW9uLiBObyBleGNlcHRpb24gd2FzIHRocm93bi4uLiIpOworICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiRXhjZXB0aW9uIHdh
cyBjb3JyZWN0bHkgdGhyb3duOiAiICsgZSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
IH0KK307CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvbm8tY2FsbGJhY2stYWZ0ZXIt
dW5sb2FkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhODZkZjIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuanMKQEAgLTAsMCArMSwyNSBAQAorZGVz
Y3JpcHRpb24oIkVuc3VyZXMgdGhhdCB0aGUgY2FsbGJhY2tzIHdpbGwgbm90IGV4ZWN1dGUgYWZ0
ZXIgb251bmxvYWQuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9ICIuLi9yZXNv
dXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2RvY3VtZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgd2luZG93LnNldFRpbWVvdXQoJ3Rlc3RQYXNzZWQoIk5vIGNhbGxiYWNrcyBjYWxs
ZWQgYWZ0ZXIgdW5sb2FkIik7IGZpbmlzaEpTVGVzdCgpOycsIDEwMCk7Cit9CisKK2RvY3VtZW50
LmJvZHkub251bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBpLndlYmtpdEdldEltYWdlKAorICAg
ICAgICAiaW1hZ2UvcG5nIiwKKyAgICAgICAgZnVuY3Rpb24oYmxvYikgeworICAgICAgICAgICAg
dGVzdEZhaWxlZCgiVW5leHBlY3RlZCB3ZWJraXRHZXRJbWFnZSBzdWNjZXNzIGNhbGxiYWNrLiIp
OworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sCisgICAgICAgIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdl
dEltYWdlIGVycm9yIGNhbGxiYWNrOiAiICsgZXJyb3IpOworICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgIH0KKyAgICApOworfQorCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRl
c3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2st
d2Via2l0R2V0SW1hZ2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVl
ZmY5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldElt
YWdlLmpzCkBAIC0wLDAgKzEsMTIgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIGVuc3VyZXMgdGhhdCB3
ZWJraXRHZXRJbWFnZSBtYXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLiIpOwor
Cit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5q
cGciOworCitpLndlYmtpdEdldEltYWdlID0gZnVuY3Rpb24oKSB7IHJldHVybiA0MjsgfQordmFy
IHJlc3VsdCA9IGkud2Via2l0R2V0SW1hZ2UoKTsKKworc2hvdWxkQmVOb25aZXJvKHJlc3VsdCk7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gZmFsc2U7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQt
dGVzdHMvdGVzdC1jYWxsYmFja3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGY0ODM3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpz
CkBAIC0wLDAgKzEsMjEgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBjYWxsYmFja3Mg
d29yayBjb3JyZWN0bHkuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9ICIuLi9y
ZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK3ZhciBzdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlv
bihibG9iKSB7CisgICAgdGVzdEZhaWxlZCgiU3VjY2VzcyBjYWxsYmFjayB3YXMgaW5jb3JyZWN0
bHkgY2FsbGVkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgZXJyb3JDYWxsYmFj
ayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdFBhc3NlZCgiRXJyb3IgY2FsbGJhY2sgd2Fz
IGNvcnJlY3RseSBjYWxsZWQgd2l0aCBvdXRwdXQ6ICIgKyBlcnJvcik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9OworCisvLyBPbmx5IHRoZSBlcnJvciBjYWxsYmFjayB3aWxsIGN1cnJlbnRseSBu
ZXZlciBiZSBjYWxsZWQgaW4gdGhpcyBwYXRjaCwgc28gdGVzdAorLy8gdGhhdCBpdCB3b3JrcyBm
b3Igbm93LgoraS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvanBlZyIsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjayk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvdGVzdC1vdXRw
dXQtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTFjOTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVz
dHMvdGVzdC1vdXRwdXQtdHlwZXMuanMKQEAgLTAsMCArMSwzMSBAQAorLy8gRklYTUU6IFBORyBh
bmQgSlBFRyBhcmUgbm90IGltcGxlbWVudGVkIG9uIGV2ZXJ5IHBsYXRmb3JtLgorZGVzY3JpcHRp
b24oIlRlc3RzIHRoYXQgdGhlIGRpZmZlcmVudCBvdXRwdXQgdHlwZSBwYXJhbWV0ZXJzIHdvcmsi
KTsKKwordmFyIGkgPSBuZXcgSW1hZ2UoKTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3Jl
Y3QuanBnIjsKKwordmFyIHN1Y2Nlc3NDYWxsYmFja1BuZyA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAg
ICBpZiAoYmxvYi50eXBlID09ICJpbWFnZS9wbmciKQorICAgICAgICB0ZXN0UGFzc2VkKCJQTkcg
aW1hZ2UgcmV0dXJuZWQiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlBORyBpbWFn
ZSBub3QgcmV0dXJuZWQuIEluc3RlYWQsIE1JTUUgdHlwZSBpczogIiArIGJsb2IudHlwZSk7Cisg
ICAgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvanBlZyIsIHN1Y2Nlc3NDYWxsYmFja0pwZWcsIGVy
cm9yQ2FsbGJhY2spOworfTsKKwordmFyIHN1Y2Nlc3NDYWxsYmFja0pwZWcgPSBmdW5jdGlvbihi
bG9iKSB7CisgICAgaWYgKGJsb2IudHlwZSA9PSAiaW1hZ2UvanBlZyIpCisgICAgICAgIHRlc3RQ
YXNzZWQoIkpQRUcgaW1hZ2UgcmV0dXJuZWQiKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWls
ZWQoIkpQRUcgaW1hZ2Ugbm90IHJldHVybmVkLiBJbnN0ZWFkLCBNSU1FIHR5cGUgaXM6ICIgKyBi
bG9iLnR5cGUpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIGVycm9yQ2FsbGJhY2sg
PSBmdW5jdGlvbihlcnJvcikgeworICAgIHRlc3RGYWlsZWQoIkVycm9yIGNhbGxiYWNrIGNhbGxl
ZCB3aXRoIGVycm9yOiAiICsgZXJyb3IpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgc3VjY2Vzc0NhbGxiYWNrUG5nLCBlcnJvckNhbGxi
YWNrKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjhjMDE4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHRoZSBjYWxsYmFja3Mgd29yayBjb3JyZWN0bHkuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEVycm9yIGNhbGxiYWNrIHdhcyBj
b3JyZWN0bHkgY2FsbGVkIHdpdGggb3V0cHV0OiBVbmV4cGVjdGVkIGVycm9yIHdoaWxlIHJlc2l6
aW5nIGltYWdlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5o
dG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNjUwMmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50
L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Ut
d2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ4ZWY4OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3RzIHRo
YXQgSW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpbWFnZSBvZiBy
ZW1vdGUgb3JpZ2luLgorCisKK1BBU1M6IFRocmV3IGV4Y2VwdGlvbjogRXJyb3I6IFNFQ1VSSVRZ
X0VSUjogRE9NIEV4Y2VwdGlvbiAxOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1sLWRpc2FibGVk
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90
ZS1vcmlnaW4uaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5iMmY1ZWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4uaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvZyhtc2cpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKK30KKwordmFyIGVtcHR5Q2FsbGJhY2sgPSBm
dW5jdGlvbigpIHsgfTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKworICAgIHRyeSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0SW1hZ2UiKS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlDYWxsYmFj
ayk7CisgICAgICAgIGxvZygiRkFJTDogRGlkIG5vdCB0aHJvdyBleGNlcHRpb24iKTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIGxvZyAoIlBBU1M6IFRocmV3IGV4Y2VwdGlvbjogIiArIGUp
OworICAgIH0KKworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IEltYWdlLndlYmtpdEdldElt
YWdlIGNhbm5vdCBiZSBjYWxsZWQgb24gYW4gaW1hZ2Ugb2YgcmVtb3RlIG9yaWdpbi48L3A+Cis8
aW1nIGlkPSJ0ZXN0SW1hZ2UiIHNyYz0iaHR0cDovL2xvY2FsaG9zdDo4MDAwL21pc2MvcmVzb3Vy
Y2VzL2JsdWVfcmVjdC5qcGciIC8+Cis8cHJlIGlkPSJsb2ciPjwvcHJlPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9i
bHVlX3JlY3QuanBnIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9ibHVl
X3JlY3QuanBnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NWRhY2IKQmlu
YXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVz
b3VyY2VzL2JsdWVfcmVjdC5qcGcgZGlmZmVyCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQu
bWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggMWJhOTlhMC4uMTQ5MTg5NiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5tawpAQCAtMjczLDYg
KzI3Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWh0bWwv
SW1hZ2VEYXRhLmNwcCBcCiAJaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIFwKIAlodG1sL0xl
Z2FjeVByZWxvYWRTY2FubmVyLmNwcCBcCisJaHRtbC9SZXNpemVPcHRpb25zLmNwcCBcCiAJaHRt
bC9UaW1lUmFuZ2VzLmNwcCBcCiAJaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBcCiAJXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggYTQ1Y2U3Ny4uMTM4OTYwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMsNiArMjYzLDggQEAgU0VUKFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbAogICAgIGh0bWwvSFRN
TFZpZGVvRWxlbWVudC5pZGwKICAgICBodG1sL0ltYWdlRGF0YS5pZGwKKyAgICBodG1sL0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2suaWRsCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2suaWRsCiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbAogICAgIGh0bWwvVGV4dE1ldHJpY3Mu
aWRsCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmlkbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMGE4NWU0Li44MmVlMDg3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDY1IEBACisyMDEwLTA2LTIxICBTdGVybGluZyBTd2lnYXJ0ICA8c3N3aWdhcnRAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIEV4cG9zZWQgdGhlIGltYWdlIHJlc2l6aW5nIEFQSSB0byBKU0MsIGJ1dCBpdCBpcyBmdW5j
dGlvbmFsbHkgaW5jb21wbGV0ZSBhdCB0aGlzIHN0YWdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTQKKworICAgICAgICAqIEFuZHJvaWQubWs6
IEFkZGVkIFJlc2l6ZU9wdGlvbnMuY3BwLgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRl
ZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBE
aXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
cHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogRGl0dG8uCisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogYmluZGluZ3MvanMvSlNI
VE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVSZXNp
emVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0
R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KTogQ2xpZW50IG9mIHRoaXMgY2xh
c3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNvdW50aW5nLgorICAgICAgICAoV2ViQ29yZTo6QXN5
bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VSZXNpemVyKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNoZWQpOiBSZWZhY3RvcmVkLgorICAg
ICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6ZUNvbXBsZXRlKTogQWRkZWQg
Y2FsbGJhY2suCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6cmVzaXplRXJy
b3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpjYW5TdXNw
ZW5kKTogRG9lcyBub3Qgc3VzcGVuZC4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNp
emVyOjpzdG9wKTogTm93IGlzIGxpbmtlZCB0byBkb2N1bWVudCdzIGRlc3RydWN0aW9uLgorICAg
ICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5j
SW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86OkNhbGxiYWNrSW5mbyk6IE5vdyBvbmx5IHN0b3Jl
cyBuZWNlc3NpdGllcy4KKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UpOiBJbXBsZW1l
bnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKToKKyAg
ICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazo6fkltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2su
aWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KTogUmVmYWN0b3JlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVhZDo6SW1hZ2VSZXNpemVyVGhyZWFkKTog
IFJlZmFjdG9yZWQuCisgICAgICAgICogaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaDogUmVmYWN0
b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNp
emVPcHRpb25zOjpSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlv
bnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OndpZHRoKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEhlaWdodCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzaXpl
T3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVP
cHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlv
bnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlv
bnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6
OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6
Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjopOgorCiAyMDEwLTA2LTIzICBL
d2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBi
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDkwNGVhNTUuLmYwNmQ0ZWIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDggQEAKICNpbmNsdWRlICJKU0lEQlJlcXVlc3QuY3Bw
IgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU0ltYWdlRGF0
YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCIKKyNpbmNs
dWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNJbmRl
eGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNpbmNsdWRlICJKU0phdmFTY3JpcHRDYWxsRnJhbWUu
Y3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
YmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjI0LDYgKzIyNCw4IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVlc3QgXAogICAgIElEQlN1Y2Nlc3NFdmVudCBcCiAg
ICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2sgXAorICAgIElt
YWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAogICAgIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QgXAog
ICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVjdG9yQmFja2VuZCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisr
KyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTI3Niw2ICsyNzYsOCBAQCBJRExfQklORElO
R1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbCBc
CisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsIFwKKwlXZWJDb3Jl
L2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAJV2ViQ29yZS9odG1sL1Rl
eHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaWRsIFwKIAlXZWJD
b3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBcCkBAIC00NTYsNiArNDU4LDcgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1lRWxlbWVudEN1c3Rv
bS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9t
LmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNw
cCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAgXApAQCAtMTI3MiwxMyAr
MTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVmlld1Nv
dXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFnZURhdGEuY3BwIFwKIAlXZWJDb3Jl
L2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBcCiAJ
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAgXAogCVdlYkNvcmUvaHRtbC9JbWFn
ZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmNwcCBcCiAJ
V2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAotCVdlYkNvcmUvaHRtbC9NZWRpYUVycm9y
LmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5jcHAgXAogCVdlYkNvcmUv
aHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKwlXZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5o
IFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAgXAorCVdlYkNvcmUvaHRtbC9SZXNp
emVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwIFwKIAlXZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUvaHRtbC9UZXh0TWV0cmljcy5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjMy
MTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2ICsxODgsOCBAQAogICAgICAgICAgICAgJ2h0bWwv
SFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmlkbCcsCisgICAgICAgICAgICAn
aHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsJywKKyAgICAgICAgICAgICdodG1s
L0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdodG1sL01lZGlh
RXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL1RleHRNZXRyaWNzLmlkbCcsCiAgICAgICAg
ICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcsCkBAIC01NzMsNiArNTc1LDcgQEAKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCcsCisgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmgnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1lbnRDdXN0b20uY3BwJywKQEAgLTE2
NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50
LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgn
LAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCcsCiAgICAgICAgICAgICAnaHRtbC9MYWJlbHNO
b2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUv
V2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4uZWFmMTlmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC00MjQsNiArNDI0LDggQEAg
SURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxVTGlzdEVsZW1lbnQuaWRsIFwKICAgICBo
dG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0ltYWdlRGF0YS5pZGwgXAorICAg
IGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbCBcCiAgICAg
aHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAgIGh0bWwvVGltZVJhbmdlcy5pZGwgXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTg2
ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiArMzE1LDcgQEAgU09VUkNFUyArPSBcCiAgICAgYmlu
ZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMv
SlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1M
SUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxl
bWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEN1c3Rv
bS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1lbnRDdXN0b20uY3BwIFwK
ICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAgXApAQCAt
NzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFk
LmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAgXAogICAgIGh0bWwvTGVnYWN5UHJl
bG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuY3BwIFwKICAgICBodG1s
L1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgXAogICAgIGluc3Bl
Y3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApAQCAtMTQ0Miw5ICsxNDQ0LDEyIEBAIEhFQURFUlMg
Kz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxWaWV3U291
cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFnZURhdGEuaCBcCisgICAgaHRtbC9JbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmggXAogICAgIGh0bWwvTGFiZWxz
Tm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKyAgICBodG1s
L1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRtbC9TdGVwUmFuZ2UuaCBcCiAgICAgaHRtbC9UaW1l
UmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZhMWMuLjhjNTkwMGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3MTMsNiArMzc3MTMsMTQgQEAKIAkJCQk+CgogCQkJ
PC9GaWxlPgoKIAkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8RmlsZQoKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmNwcCIK
CisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8RmlsZQoKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0
bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCIKCiAJCQkJPgoKIAkJCTwvRmlsZT4KCkBAIC0zNzc0
MSw2ICszNzc0OSwxNCBAQAogCQkJCT4KCiAJCQk8L0ZpbGU+CgogCQkJPEZpbGUKCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuY3BwIgoKKwkJCQk+CgorCQkJPC9GaWxl
PgoKKwkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxSZXNpemVPcHRpb25zLmgi
CgorCQkJCT4KCisJCQk8L0ZpbGU+CgorCQkJPEZpbGUKCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXFN0ZXBSYW5nZS5jcHAiCgogCQkJCT4KCiAJCQk8L0ZpbGU+CgpAQCAtNDA0NDAsNiArNDA0
NTgsNTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCiAJCQkJPC9GaWxlPgoKIAkJCQk8
RmlsZQoKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0hUTUxJbWFnZUVsZW1l
bnRDdXN0b20uY3BwIgoKKwkJCQkJPgoKKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCgorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJ
CQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJ
CQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgoKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgoKKwkJCQkJCT4KCisJCQkJCQk8VG9vbAoKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgoKKwkJCQkJCS8+CgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgoKKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiCgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKCisJCQkJCQk+Cgor
CQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKCisJCQkJCQkvPgoK
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKKwkJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCgorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CgorCQkJCTwvRmlsZT4KCisJCQkJPEZpbGUKCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmlu
ZGluZ3NcanNcSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCIKCiAJCQkJCT4KCiAJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMGQwOTQ3OC4uOTZiYzU5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTM1MjQsNiArMzUyNCwxNSBAQAogCQlCMDE0OUU3RTExQTRCMjE1
MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0lt
YWdlUmVzaXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VS
ZXNpemVyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3Bw
ICovOyB9OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFk
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3
QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi87IH07CisJCUIwNEU2
QkYyMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDRFNkJGMTExQzZGMEU5MDAyMTQyODMgLyog
UmVzaXplT3B0aW9ucy5oICovOyB9OworCQlCMDRFNkJGNTExQzdGMDc5MDAyMTQyODMgLyogSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMDE0QTA0QzExQUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0MjgzIC8qIEltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIwMTRBMDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjA0RjU5
RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDRGNTlGRDExQzZBRkQ2
MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJQjBBNzE1
MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1MUExMUNDMjRFRTAwM0MzMzczIC8q
IFJlc2l6ZU9wdGlvbnMuY3BwICovOyB9OworCQlCMEE3MTVCNzExRDA0MzFFMDAzQzMzNzMgLyog
SlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUIzMTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQlCMEE3MTVCODExRDA0MzFFMDAzQzMz
NzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTVCNDExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IH07CisJCUIwQTcxNUI5MTFEMDQzMUUwMDND
MzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTVCNTExRDA0MzFFMDAzQzMzNzMg
LyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3BwICovOyB9OworCQlCMEE3MTVCQTEx
RDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUI2MTFEMDQzMUUw
MDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovOyB9OwogCQlCMjAx
MTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjgg
LyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDExMTA4MEFCNzc0MDUwMERCMEU2OCAv
KiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovOyB9
OwogCQlCMjExMjdBNjBCMzE4Njc3MDAwOUJFNTMgLyogSlNTVkdQT0RUeXBlV3JhcHBlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIxMTI3QTUwQjMx
ODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIuaCAqLzsgfTsKQEAgLTg4ODMsNiAr
ODg5MiwxNyBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNJbWFnZVJlc2l6ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0IxMUE0QjIxNTAwMTk2QTdC
IC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMDE0QTA0QTExQUIxRUEwMDAxOTZBN0IgLyogSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwNEU2QkYxMTFDNkYw
RTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlc2l6ZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjA0
RjU5RkQxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0
b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTUxQTExQ0MyNEVFMDAz
QzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZXNpemVPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjBBNzE1NzkxMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTU3QTExRDAxQjIxMDAzQzMzNzMgLyog
SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJ
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxi
YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VSZXNp
emVyRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcx
NUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3
MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUI2MTFEMDQzMUUwMDNDMzM3MyAvKiBK
U0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2
OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMTEyN0E1MEIz
MTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5cGVXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1NWR1BPRFR5cGVXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMzc1MiwxNiArMTM3NzIsMjIgQEAKIAkJCQlBNzc5NzkxMzBENkI5RDBD
MDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlBNzc5NzkxNDBENkI5RDBDMDAzODUx
QjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUwRDZCOUQwQzAwMzg1MUI5IC8qIElt
YWdlRGF0YS5pZGwgKi8sCisJCQkJQjAxNEEwNEExMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMEE3MTU3OTExRDAxQjIxMDAzQzMzNzMgLyog
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgKi8sCisJCQkJQjAxNEEwNEMxMUFCMUVBMDAw
MTk2QTdCIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNTdB
MTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsICovLAog
CQkJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwICov
LAogCQkJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAq
LywKIAkJCQlBNDU2RkEyNDExQUQ0QTgzMDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuY3BwICov
LAogCQkJCUE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBMYWJlbHNOb2RlTGlzdC5oICovLAog
CQkJCUY1MjNEMjUwMDJERTQzOTYwMTg2MzVDQSAvKiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuY3Bw
ICovLAogCQkJCUY1MjNEMjUxMDJERTQzOTYwMTg2MzVDQSAvKiBMZWdhY3lIVE1MVHJlZUJ1aWxk
ZXIuaCAqLywKLQkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFFcnJvci5oICov
LAotCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmlkbCAqLywKIAkJ
CQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwICov
LAogCQkJCUU0RDRBQkUxMEQ3NTQyRjEwMEY5Njg2OSAvKiBMZWdhY3lQcmVsb2FkU2Nhbm5lci5o
ICovLAorCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi8sCisJ
CQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaWRsICovLAorCQkJCUIw
QTcxNTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRpb25zLmNwcCAqLywKKwkJCQlCMDRF
NkJGMTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oICovLAogCQkJCUE1QUZCMzRE
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovLAogCQkJCUE1QUZCMzRFMTE1MTUx
QTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCAqLywKIAkJCQlCQ0VGNDVFODBFNjg3NzY3MDAxQzEy
ODcgLyogVGV4dE1ldHJpY3MuaCAqLywKQEAgLTE0MDAzLDYgKzE0MDI5LDEwIEBACiAJCQkJRTQ0
NjE0MEYwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTSFRNTFZpZGVvRWxlbWVudC5oICovLAogCQkJCUE3
Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgKi8sCiAJCQkJQTc3OTc5
MjUwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggKi8sCisJCQkJQjBBNzE1QjMxMUQw
NDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHAgKi8sCisJCQkJ
QjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5o
ICovLAorCQkJCUIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjYxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJNDlFRUNFRjgxMDUwNzBDNDAwMDk5
RkFCIC8qIEpTSW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRjkxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTSW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVDRUY2MTA1MDcwQzQwMDA5OUZBQiAvKiBK
U0ludDMyQXJyYXkuY3BwICovLApAQCAtMTU1NzMsNiArMTU2MDMsNyBAQAogCQkJCUJDMkVEN0E0
MEM2QzBGMzYwMDkyMEJGRiAvKiBKU0hUTUxGcmFtZUVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJ
CUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20u
Y3BwICovLAogCQkJCUJDMkVENjRGMEM2QkM0OEMwMDkyMEJGRiAvKiBKU0hUTUxJRnJhbWVFbGVt
ZW50Q3VzdG9tLmNwcCAqLywKKwkJCQlCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1M
SW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0M0Mzg3NzBFODg2Q0M3MDA1MzNERDUg
LyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzMwNUNBMzBDMDc4MUJC
MDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJNDQ4QUQy
N0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCAq
LywKQEAgLTE4MTkyLDYgKzE4MjIzLDggQEAKIAkJCQkxQTgyMEQ5MjBBMTNFQkE2MDBBRjg0M0Mg
LyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg5NTgyNTYwRTg1N0E3RTAw
RjgyQzgzIC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdGNDRBODBCOUUz
MjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjA0RTZC
RjYxMUM3RjA3RTAwMjE0MjgzIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIwNEU2QkY1MTFDN0YwNzkwMDIxNDI4MyAvKiBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3
QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTcxMEIw
NTM4MTQwMDJDRTY0RiAvKiBJbWFnZVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEIzNDgw
OTQwRUVGNTBENDAwQUMxQjQxIC8qIEltYWdlU291cmNlQ0cuaCBpbiBIZWFkZXJzICovLApAQCAt
MTg0MjUsNiArMTg0NTgsOCBAQAogCQkJCUM1NkM5MUE3MTE5RDkxODcwMERFNENEOSAvKiBKU0lE
QlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2QzQ5RjQwRDdEQkEwNTAwRkZB
NTU4IC8qIEpTSW1hZ2VDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc3OTc5Mjkw
RDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMEE3
MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMEE3MTVCQTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6
ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RjRGNDExMTE5MzA2QzAw
MEZERkFERCAvKiBKU0luZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdBMEU3NkRCMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVjdGVkU2NyaXB0SG9zdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDFGMDYwQ0UwRjVFRUIyQjAwQTA3RUFDIC8qIEpTSW5zcGVjdG9yQmFj
a2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODk1OSw2ICsxODk5NCw3IEBACiAJCQkJQTg5Q0ND
NTMwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0aFNwYW5Db21tYW5kLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk5MzMwOUUwQTA5OUU2NDkyMDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzJGMDk3OUMzQkQwMDQ2Nzc0MSAv
KiBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMDRFNkJGMjExQzZGMEU5MDAyMTQyODMg
LyogUmVzaXplT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM0RjcxNDIwRDVBNkY0NDAw
MDE4RDY5IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNEY3MTNDMEQ1
QTZGMTkwMDAxOEQ2OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE0Qzc2NzkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlSGFuZGxlLmggaW4gSGVhZGVycyAq
LywKQEAgLTIwNzQyLDYgKzIwNzc4LDcgQEAKIAkJCQlCQzQ5MThDODBCRkVBMDUwMDA5RDYzMTYg
LyogSlNIVE1MSUZyYW1lRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzJFRDY1MDBD
NkJDNDhDMDA5MjBCRkYgLyogSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQUUyQUE5NzBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIwNEY1OUZGMTFDNkFGRDYwMDBCNUFDMCAvKiBKU0hU
TUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTdFOTgwQTFB
ODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0M0Mzg3ODBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk5MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hUTUxJ
c0luZGV4RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTIwODAwLDYgKzIwODM3LDggQEAK
IAkJCQlCQzZDNDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE3Nzk3OTI4MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0QwMzE4RTBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJ
bWFnZURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjBBNzE1QjcxMUQwNDMxRTAw
M0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlCMEE3MTVCOTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0MTAxMTkzMDZDMDAwRkRGQUREIC8q
IEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTBFNzZE
QTEwQkYwNTk4MDBBMDI3NkUgLyogSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0EwRTc2RDUxMEJGMDUwNzAwQTAyNzZFIC8qIEpTSW5qZWN0ZWRTY3JpcHRIb3N0
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjEzNDYsNiArMjEzODUsNyBAQAogCQkJCUE4
OUNDQzUyMEY0NEU5ODEwMEI1REExMCAvKiBSZXBsYWNlTm9kZVdpdGhTcGFuQ29tbWFuZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwOTA5OUU2NDkyMDA1NkU1ODEgLyogUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMkUwOTc5QzNCRDAw
NDY3NzQxIC8qIFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjBBNzE1MUIxMUNDMjRF
RTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM0Rjcx
M0UwRDVBNkYyODAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxNEM3NjUwMENFOTIzNEUwMDdFRjNDRCAvKiBSZXNvdXJjZUVycm9yTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzgwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlSGFu
ZGxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJ
bWFnZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
Ljg2MmRiNmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElt
YWdlRWxlbWVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisjaW5jbHVkZSAiSlNIVE1MSW1hZ2VFbGVtZW50
LmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50
LmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAi
SlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJSZXNpemVPcHRpb25z
LmgiCisKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDxydW50aW1l
L0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlND
OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBQYXNzUmVmUHRyPEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrKEV4ZWNT
dGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1
ZSkKK3sKKyAgICBpZiAoIXZhbHVlLmluaGVyaXRzKCZKU0Z1bmN0aW9uOjppbmZvKSkgeworICAg
ICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUp
OworICAgIHJldHVybiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazo6Y3JlYXRlKG9iamVj
dCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayhFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7Cisg
ICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwg
YW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAodmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIXZhbHVlLmluaGVyaXRzKCZKU0Z1bmN0aW9u
OjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9F
UlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0g
YXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6
OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9iamVjdCk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPFJl
c2l6ZU9wdGlvbnM+IGNyZWF0ZVJlc2l6ZU9wdGlvbnMoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlKQoreworICAgIFJlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVPcHRpb25zID0gUmVz
aXplT3B0aW9uczo6Y3JlYXRlKCk7CisKKyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVu
Y2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2
YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAgIC8vIFVzZSBkZWZhdWx0IG9wdGlv
bnMuCisgICAgICAgIHJldHVybiByZXNpemVPcHRpb25zLnJlbGVhc2UoKTsKKyAgICB9CisgICAg
SlNPYmplY3QqIG9iamVjdCA9IHZhbHVlLnRvT2JqZWN0KGV4ZWMpOworCisgICAgSlNWYWx1ZSB3
aWR0aCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgIndpZHRoIikpOworICAg
IGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCF3
aWR0aC5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldFdpZHRoKHdp
ZHRoLnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU1ZhbHVlIGhlaWdodCA9IG9iamVj
dC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImhlaWdodCIpKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghaGVpZ2h0LmlzVW5k
ZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+c2V0SGVpZ2h0KGhlaWdodC50b0lu
dDMyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBjb21wcmVzc2lvbkxldmVsID0gb2Jq
ZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY29tcHJlc3Npb25MZXZlbCIpKTsKKyAg
ICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICgh
Y29tcHJlc3Npb25MZXZlbC5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6ZU9wdGlvbnMt
PnNldENvbXByZXNzaW9uTGV2ZWwoY29tcHJlc3Npb25MZXZlbC50b051bWJlcihleGVjKSk7Cisg
ICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKworICAgIEpTVmFsdWUgcHJlc2VydmVBc3BlY3RSYXRpbyA9IG9iamVjdC0+Z2V0KGV4
ZWMsIElkZW50aWZpZXIoZXhlYywgInByZXNlcnZlQXNwZWN0UmF0aW8iKSk7CisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIXByZXNlcnZl
QXNwZWN0UmF0aW8uaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRB
c3BlY3RSYXRpb09wdGlvbihwcmVzZXJ2ZUFzcGVjdFJhdGlvLnRvQm9vbGVhbihleGVjKSk7Cisg
ICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKworICAgIEpTVmFsdWUgb3JpZW50YXRpb24gPSBvYmplY3QtPmdldChleGVjLCBJZGVu
dGlmaWVyKGV4ZWMsICJvcmllbnRhdGlvbiIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghb3JpZW50YXRpb24uaXNVbmRlZmluZWQo
KSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRPcmllbnRhdGlvbk9wdGlvbih1c3RyaW5n
VG9TdHJpbmcob3JpZW50YXRpb24udG9TdHJpbmcoZXhlYykpKTsKKyAgICAgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0
dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgpOworfQorCitKU1ZhbHVlIEpTSFRNTEltYWdlRWxl
bWVudDo6d2Via2l0R2V0SW1hZ2UoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYykpOworCisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vz
c0NhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrKGV4ZWMsIHN0YXRp
Y19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwg
ZXhlYy0+YXJndW1lbnQoMSkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgQVNTRVJUKHN1Y2Nlc3NDYWxsYmFjayk7CisK
KyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IGNy
ZWF0ZUltYWdlUmVzaXplckVycm9yQ2FsbGJhY2soZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgy
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKKworICAgIFJlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVPcHRpb25zID0gY3Jl
YXRlUmVzaXplT3B0aW9ucyhleGVjLCBleGVjLT5hcmd1bWVudCgzKSk7CisgICAgaWYgKGV4ZWMt
PmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKyAgICBBU1NF
UlQocmVzaXplT3B0aW9ucyk7CisKKyAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4oaW1wbCgpKTsKKyAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKKyAgICBpbWFnZUVsZW1lbnQtPndlYmtpdEdldEltYWdlKG1pbWVUeXBlLCBz
dWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgcmVzaXpl
T3B0aW9ucy5yZWxlYXNlKCksIGVjKTsKKyAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwor
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9Bc3luY0ltYWdlUmVzaXplci5jcHAgYi9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIu
Y3BwCmluZGV4IDRiYjc0YzkuLjZlMTFlM2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Bc3lu
Y0ltYWdlUmVzaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNw
cApAQCAtMzQsMjggKzM0LDMyIEBACiAjaW5jbHVkZSAiQXN5bmNJbWFnZVJlc2l6ZXIuaCIKIAog
I2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCisjaW5jbHVkZSAiSW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIgogI2luY2x1
ZGUgIkltYWdlUmVzaXplclRocmVhZC5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUgPHV0aWxpdHk+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxBc3luY0ltYWdlUmVzaXplcj4gQXN5bmNJbWFnZVJl
c2l6ZXI6OmNyZWF0ZShDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0
VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRWYWx1ZSBzdWNjZXNzQ2FsbGJhY2ss
IFNjcmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1YWxpdHksIEFzcGVjdFJhdGlvT3B0
aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlv
bikKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0
VHlwZSBvdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4g
c3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4gcmVzaXplT3B0aW9ucykKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFzeW5jSW1hZ2VSZXNpemVyKGNhY2hlZEltYWdlLCBv
dXRwdXRUeXBlLCBkZXNpcmVkQm91bmRzLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ss
IHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRhdGlvbk9wdGlvbikpOworICAgIG5l
dyBBc3luY0ltYWdlUmVzaXplcihzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjYWNoZWRJbWFnZSwg
b3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCByZXNpemVPcHRpb25z
KTsKIH0KIAotQXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VSZXNpemVyKENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3Vu
ZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFj
aywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24sIE9y
aWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQotICAgIDogbV9jYWNoZWRJbWFnZShj
YWNoZWRJbWFnZSkKK0FzeW5jSW1hZ2VSZXNpemVyOjpBc3luY0ltYWdlUmVzaXplcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBDYWNoZWRJbWFnZSogY2Fj
aGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJl
c2l6ZU9wdGlvbnMpCisgICAgOiBBY3RpdmVET01PYmplY3Qoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgdGhpcykKKyAgICAsIG1fY2FjaGVkSW1hZ2UoY2FjaGVkSW1hZ2UpCisgICAgLCBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAsIG1fb3V0cHV0
VHlwZShvdXRwdXRUeXBlKQogICAgICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNr
KQogICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spCi0gICAgLCBtX291dHB1dFR5
cGUob3V0cHV0VHlwZSkKLSAgICAsIG1fZGVzaXJlZEJvdW5kcyhkZXNpcmVkQm91bmRzKQotICAg
ICwgbV9xdWFsaXR5KHF1YWxpdHkpCi0gICAgLCBtX2FzcGVjdFJhdGlvT3B0aW9uKGFzcGVjdFJh
dGlvT3B0aW9uKQotICAgICwgbV9vcmllbnRhdGlvbk9wdGlvbihvcmllbnRhdGlvbk9wdGlvbikK
KyAgICAsIG1fcmVzaXplT3B0aW9ucyhyZXNpemVPcHRpb25zKQogewotICAgIEFTU0VSVChtX3N1
Y2Nlc3NDYWxsYmFjay5pc09iamVjdCgpKTsKKyAgICBtX2NhbGxiYWNrSW5mbyA9IG5ldyBDYWxs
YmFja0luZm8odGhpcyk7CisgICAgQVNTRVJUKG1fc3VjY2Vzc0NhbGxiYWNrLmdldCgpKTsKICAg
ICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhpcyk7CiB9CiAKQEAgLTY1LDExICs2OSw0NCBA
QCBBc3luY0ltYWdlUmVzaXplcjo6fkFzeW5jSW1hZ2VSZXNpemVyKCkKIAogdm9pZCBBc3luY0lt
YWdlUmVzaXplcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNl
KQogewotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSA9IGNhY2hlZFJlc291cmNl
LT5kYXRhKCktPmNvcHkoKTsKLSAgICBjYWNoZWRSZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KHRoaXMp
OwotICAgIENhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvID0gbmV3IENhbGxiYWNrSW5mbyh0aGlz
KTsKLSAgICBpZiAoIUltYWdlUmVzaXplclRocmVhZDo6c3RhcnQoaW1hZ2VEYXRhLCBjYWxsYmFj
a0luZm8sIG1fb3V0cHV0VHlwZSwgbV9kZXNpcmVkQm91bmRzLCBtX3F1YWxpdHksIG1fYXNwZWN0
UmF0aW9PcHRpb24sIG1fb3JpZW50YXRpb25PcHRpb24pKQorICAgIGlmIChjYWNoZWRSZXNvdXJj
ZS0+ZXJyb3JPY2N1cnJlZCgpKQorICAgICAgICBtX2NhbGxiYWNrSW5mbyA9IDA7CisgICAgZWxz
ZSBpZiAoIWNhY2hlZFJlc291cmNlLT5kYXRhKCktPmlzRW1wdHkoKSkgeworICAgICAgICBSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEgPSBjYWNoZWRSZXNvdXJjZS0+ZGF0YSgpLT5jb3B5
KCk7CisgICAgICAgIGNhY2hlZFJlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7CisgICAgICAg
IAorICAgICAgICAvLyBJZiBzdGFydCBzdWNjZWVkcywgSW1hZ2VSZXNpemVyVGhyZWFkIG5vdyBv
d25zIG1fY2FsbGJhY2tJbmZvLCBhbmQgbV9jYWxsYmFja0luZm8KKyAgICAgICAgLy8gbm93IG93
bnMgdGhpcyBjbGFzcy4KKyAgICAgICAgaWYgKCFJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KGlt
YWdlRGF0YSwgbV9jYWxsYmFja0luZm8sIG1fb3V0cHV0VHlwZSwgSW50U2l6ZShtX3Jlc2l6ZU9w
dGlvbnMtPndpZHRoKCksIG1fcmVzaXplT3B0aW9ucy0+aGVpZ2h0KCkpLCBtX3Jlc2l6ZU9wdGlv
bnMtPmNvbXByZXNzaW9uTGV2ZWwoKSwgbV9yZXNpemVPcHRpb25zLT5hc3BlY3RSYXRpb09wdGlv
bigpLCBtX3Jlc2l6ZU9wdGlvbnMtPm9yaWVudGF0aW9uT3B0aW9uKCkpKQorICAgICAgICAgICAg
bV9jYWxsYmFja0luZm8gPSAwOworICAgIH0KKyAgICAKKyAgICAvLyBFcnJvci0tZGVzdHJveSB0
aGlzIGNsYXNzLgorICAgIGlmICghbV9jYWxsYmFja0luZm8pIHsKICAgICAgICAgcmVzaXplRXJy
b3IoKTsKKyAgICAgICAgZGVsZXRlIHRoaXM7CisgICAgfQorfQorCit2b2lkIEFzeW5jSW1hZ2VS
ZXNpemVyOjpyZXNpemVDb21wbGV0ZShCbG9iKiBibG9iKQoreworICAgIG1fc3VjY2Vzc0NhbGxi
YWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGJsb2IpOworfQorCit2
b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVFcnJvcigpCit7CisgICAgaWYgKG1fZXJyb3JD
YWxsYmFjay5nZXQoKSkKKyAgICAgICAgbV9lcnJvckNhbGxiYWNrLT5oYW5kbGVFdmVudChtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsICJVbmV4cGVjdGVkIGVycm9yIHdoaWxlIHJlc2l6aW5nIGlt
YWdlIik7Cit9CisKK2Jvb2wgQXN5bmNJbWFnZVJlc2l6ZXI6OmNhblN1c3BlbmQoKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBc3luY0ltYWdlUmVzaXplcjo6c3RvcCgpCit7Cisg
ICAgZGVsZXRlIG1fY2FsbGJhY2tJbmZvOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaCBiL1dlYkNvcmUvaHRt
bC9Bc3luY0ltYWdlUmVzaXplci5oCmluZGV4IGFkZDA3MGEuLmY2NzMwNzQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9Bc3lu
Y0ltYWdlUmVzaXplci5oCkBAIC0zMywxNSArMzMsMTkgQEAKIAogI2lmIEVOQUJMRShJTUFHRV9S
RVNJWkVSKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQmxvYi5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5o
IgotI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQ2FjaGVkSW1hZ2U7CitjbGFzcyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrOworY2xhc3Mg
SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3MgSW1hZ2VSZXNpemVyVGhyZWFkOwor
Y2xhc3MgUmVzaXplT3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8v
IEFzeW5jSW1hZ2VSZXNpemVyIHdhaXRzIGZvciB0aGUgQ2FjaGVkSW1hZ2UgdGhhdCBpcyBwYXNz
ZWQgaW4gdG8gbG9hZCBjb21wbGV0ZWx5LAogLy8gdGhlbiBzdGFydHMgYW4gSW1hZ2VSZXNpemVy
VGhyZWFkIHRvIHJlc2l6ZSB0aGUgaW1hZ2UuIE9uY2UgY3JlYXRlZCwgSW1hZ2VSZXNpemVyVGhy
ZWFkCkBAIC00OSw1NiArNTMsNDUgQEAgY2xhc3MgSW1hZ2VSZXNpemVyVGhyZWFkOwogLy8gb2Nj
dXIsIGJvdGggb2JqZWN0cyBhcmUgZGVzdHJveWVkLiBJZiB0aGUgZG9jdW1lbnQgaXMgZGVzdHJv
eWVkIGR1cmluZyByZXNpemluZywKIC8vIEFzeW5jSW1hZ2VSZXNpemVyIHdpbGwgcmVjZWl2ZSBh
IG5vdGlmaWNhdGlvbiBhbmQgc3Vic2VxdWVudGx5IGJsb2NrIHRoZSBjYWxsYmFja3MgZnJvbQog
Ly8gb2NjdXJyaW5nLgotY2xhc3MgQXN5bmNJbWFnZVJlc2l6ZXIgOiBwdWJsaWMgQ2FjaGVkUmVz
b3VyY2VDbGllbnQsIHB1YmxpYyBSZWZDb3VudGVkPEFzeW5jSW1hZ2VSZXNpemVyPiB7CitjbGFz
cyBBc3luY0ltYWdlUmVzaXplciA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RydWN0IENhbGxiYWNrSW5mbyB7Ci0g
ICAgICAgIENhbGxiYWNrSW5mbyhQYXNzUmVmUHRyPEFzeW5jSW1hZ2VSZXNpemVyPiBhc3luY0lt
YWdlUmVzaXplcikKKyAgICAgICAgQ2FsbGJhY2tJbmZvKFBhc3NPd25QdHI8QXN5bmNJbWFnZVJl
c2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAgICAgOiBhc3luY0ltYWdlUmVzaXpl
cihhc3luY0ltYWdlUmVzaXplcikKICAgICAgICAgICAgICwgYmxvYigwKQogICAgICAgICB7CiAg
ICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VS
ZXNpemVyOworICAgICAgICBPd25QdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNp
emVyOwogICAgICAgICBSZWZQdHI8QmxvYj4gYmxvYjsKICAgICB9OwotICAgIAorCiAgICAgZW51
bSBPdXRwdXRUeXBlIHsKICAgICAgICAgSlBFRywKICAgICAgICAgUE5HCiAgICAgfTsKIAotICAg
IGVudW0gQXNwZWN0UmF0aW9PcHRpb24gewotICAgICAgICBQcmVzZXJ2ZUFzcGVjdFJhdGlvLAot
ICAgICAgICBJZ25vcmVBc3BlY3RSYXRpbwotICAgIH07Ci0KLSAgICBlbnVtIE9yaWVudGF0aW9u
T3B0aW9uIHsKLSAgICAgICAgQ29ycmVjdE9yaWVudGF0aW9uLAotICAgICAgICBJZ25vcmVPcmll
bnRhdGlvbgotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBc3luY0ltYWdlUmVzaXpl
cj4gY3JlYXRlKENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRz
LCBTY3JpcHRWYWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ss
IGZsb2F0IHF1YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uLCBPcmllbnRhdGlvbk9wdGlvbik7Cisg
ICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIENhY2hlZEltYWdl
KiwgT3V0cHV0VHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQ
YXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJlc2l6ZU9w
dGlvbnM+KTsKICAgICB+QXN5bmNJbWFnZVJlc2l6ZXIoKTsKIAotICAgIC8vIEZJWE1FOiBJbnNl
cnQgb3ZlcnJpZGUgZnVuY3Rpb24gZm9yIG5vdGlmaWNhdGlvbiBvZiBkb2N1bWVudCBkZXN0cnVj
dGlvbiAoY2hhbmdlIG1fY2FsbGJhY2tzT2spLgotCi0gICAgdm9pZCByZXNpemVDb21wbGV0ZShS
ZWZQdHI8QmxvYj4pIHsgLyogRklYTUU6IE5vdCB5ZXQgaW1wbGVtZW50ZWQuICovIH0KLSAgICB2
b2lkIHJlc2l6ZUVycm9yKCkgeyAvKiBGSVhNRTogTm90IHlldCBpbXBsZW1lbnRlZC4gKi8gfQor
ICAgIHZvaWQgcmVzaXplQ29tcGxldGUoQmxvYiopOworICAgIHZvaWQgcmVzaXplRXJyb3IoKTsK
KyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCBz
dG9wKCk7CiAKIHByaXZhdGU6Ci0gICAgQXN5bmNJbWFnZVJlc2l6ZXIoQ2FjaGVkSW1hZ2UqLCBP
dXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxs
YmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0
aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBBc3luY0ltYWdlUmVzaXplcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBQYXNzUmVmUHRy
PEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9ucz4pOwogICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOwogCiAgICAgQ2FjaGVkSW1hZ2UqIG1f
Y2FjaGVkSW1hZ2U7Ci0gICAgU2NyaXB0VmFsdWUgbV9zdWNjZXNzQ2FsbGJhY2s7Ci0gICAgU2Ny
aXB0VmFsdWUgbV9lcnJvckNhbGxiYWNrOwotICAgIAotICAgIC8vIFBhcmFtZXRlcnMgdG8gcGFz
cyBpbnRvIEltYWdlUmVzaXplclRocmVhZC4KKyAgICBDYWxsYmFja0luZm8qIG1fY2FsbGJhY2tJ
bmZvOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKKwogICAgIE91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwotICAgIEludFNpemUgbV9kZXNpcmVk
Qm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3BlY3RSYXRpb09wdGlvbiBtX2Fz
cGVjdFJhdGlvT3B0aW9uOwotICAgIE9yaWVudGF0aW9uT3B0aW9uIG1fb3JpZW50YXRpb25PcHRp
b247CisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gbV9zdWNjZXNzQ2Fs
bGJhY2s7CisgICAgUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+IG1fZXJyb3JDYWxs
YmFjazsKKyAgICBSZWZQdHI8UmVzaXplT3B0aW9ucz4gbV9yZXNpemVPcHRpb25zOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDVk
NTkyM2QuLjlhOGY0YjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTI4LDEzICsy
OCwyMiBAQAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NWYWx1
ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
KyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2su
aCIKKyNpbmNsdWRlICJJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKICNpbmNsdWRlICJS
ZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJTY3Jp
cHRFdmVudExpc3RlbmVyLmgiCiAKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyNpbmNsdWRl
ICJBc3luY0ltYWdlUmVzaXplci5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1MSw0ICs0NjAsMzUgQEAgdm9pZCBIVE1MSW1hZ2VF
bGVtZW50Ojp3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpCiAgICAgSFRNTEVsZW1lbnQ6Ondp
bGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpF
UikKKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRHZXRJbWFnZShTdHJpbmcgbWltZVR5
cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2ssIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywg
UGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVPcHRpb25zLCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIXNyYygpLmlzVmFsaWQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gVGhpcyBjaGVja3Mg
dGhhdCB0aGUgc3JjIGlzIG5vbi1yZW1vdGUuIFRoZSB0YWludHNDYW52YXMgbWV0aG9kIGlzIHVz
ZWQgYmVjYXVzZQorICAgIC8vIGRhdGEgVVJMcyBhcmUgdHJlYXRlZCBhcyByZW1vdGUsIGFuZCB3
ZSB3YW50IHRvIGFsbG93IHRoZW0uCisgICAgaWYgKGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPnRhaW50c0NhbnZhcyhzcmMoKSkpIHsKKyAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlw
ZSBvdXRwdXRUeXBlOworICAgIGlmIChtaW1lVHlwZSA9PSAiaW1hZ2UvanBlZyIpCisgICAgICAg
IG91dHB1dFR5cGUgPSBBc3luY0ltYWdlUmVzaXplcjo6SlBFRzsKKyAgICBlbHNlIGlmIChtaW1l
VHlwZSA9PSAiaW1hZ2UvcG5nIikKKyAgICAgICAgb3V0cHV0VHlwZSA9IEFzeW5jSW1hZ2VSZXNp
emVyOjpQTkc7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0ltYWdlUmVzaXplcjo6c3RhcnQoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX2ltYWdlTG9hZGVyLmltYWdlKCksIG91dHB1dFR5cGUs
IHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgcmVzaXplT3B0aW9ucyk7Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgK
aW5kZXggNjJkMzE1Yy4uMjU2YjhjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0zMSw2
ICszMSw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsK
K2NsYXNzIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazsKK2NsYXNzIEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2s7CitjbGFzcyBSZXNpemVPcHRpb25zOwogCiBjbGFzcyBIVE1MSW1hZ2VFbGVt
ZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKICAgICBmcmllbmQgY2xhc3MgSFRNTEZvcm1FbGVt
ZW50OwpAQCAtODksNiArOTIsMTAgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXZlRmlyZWRMb2Fk
RXZlbnQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlTG9hZGVyLmhhdmVGaXJlZExvYWRFdmVudCgp
OyB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyAgICB2b2lkIHdlYmtpdEdldEltYWdl
KFN0cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJlc2l6
ZU9wdGlvbnM+LCBFeGNlcHRpb25Db2RlJik7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIEhU
TUxJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1F
bGVtZW50KiA9IDApOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKaW5kZXggMGZjNzI3MS4u
YWUzYzVlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCisr
KyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbApAQCAtNDgsNiArNDgsMTQgQEAg
bW9kdWxlIGh0bWwgewogICAgICAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWx0RGlzcGxheVN0cmluZzsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdlVVJMOworI2Vsc2UKKworI2lmIGRl
ZmluZWQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICYmIEVOQUJMRV9JTUFHRV9SRVNJWkVSCisgICAg
ICAgIC8vIEZ1bmN0aW9ucworICAgICAgICBbQ3VzdG9tXSB2b2lkIHdlYmtpdEdldEltYWdlKGlu
IERPTVN0cmluZyBtaW1lVHlwZSwgaW4gSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nl
c3NDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrIGVycm9y
Q2FsbGJhY2ssIFtPcHRpb25hbF0gaW4gUmVzaXplT3B0aW9ucyBvcHRpb25zKQorICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisjZW5kaWYKKwogI2VuZGlmCiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBiL1dlYkNv
cmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNjZmZmY4NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFja19oCisjZGVmaW5lIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2tf
aAorCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgOiBw
dWJsaWMgUmVmQ291bnRlZDxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJikg
PSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNlbmRp
ZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m
ZmNjYmY4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJm
YWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU1BR0VfUkVTSVpFUiwKKyAgICAgICAgQ2FsbGJh
Y2sKKyAgICBdIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhh
bmRsZUV2ZW50KGluIERPTVN0cmluZyBlcnJvcik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBiL1dlYkNvcmUvaHRtbC9J
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42NDQwMGYzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEltYWdlUmVzaXpl
clN1Y2Nlc3NDYWxsYmFja19oCisjZGVmaW5lIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFja19o
CisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxvYjsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
az4geworcHVibGljOgorICAgIHZpcnR1YWwgfkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaygp
IHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgQmxvYiopID0gMDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVS
KQorCisjZW5kaWYgLy8gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFja19oCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1dlYkNvcmUvaHRt
bC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjIwZmQ4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3Jh
Z2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUlNQUdFX1JFU0laRVIs
CisgICAgICAgIENhbGxiYWNrCisgICAgXSBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2sgewor
ICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIEJsb2IgYmxvYik7CisgICAgfTsKK30KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS9o
dG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKaW5kZXggMWJhZTZhMC4uNGU5NzA0NiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJC
aXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCisKICNpbmNsdWRlIDx1dGlsaXR5PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Niwx
MSArNDcsMTEgQEAgc3RhdGljIHZvaWQgcmV0dXJuQmxvYk9yRXJyb3Iodm9pZCogY2FsbGJhY2tJ
bmZvcm1hdGlvbikKICAgICBpZiAoIWNhbGxiYWNrSW5mby0+YmxvYikKICAgICAgICAgY2FsbGJh
Y2tJbmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXplRXJyb3IoKTsKICAgICBlbHNlCi0gICAg
ICAgIGNhbGxiYWNrSW5mby0+YXN5bmNJbWFnZVJlc2l6ZXItPnJlc2l6ZUNvbXBsZXRlKGNhbGxi
YWNrSW5mby0+YmxvYik7CisgICAgICAgIGNhbGxiYWNrSW5mby0+YXN5bmNJbWFnZVJlc2l6ZXIt
PnJlc2l6ZUNvbXBsZXRlKGNhbGxiYWNrSW5mby0+YmxvYi5nZXQoKSk7CiAgICAgZGVsZXRlIGNh
bGxiYWNrSW5mbzsKIH0KIAotYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0lu
Zm8qIGNhbGxiYWNrSW5mbywgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlw
ZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXpl
cjo6QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1hZ2VSZXNpemVy
OjpPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbikKK2Jvb2wgSW1hZ2VSZXNpemVy
VGhyZWFkOjpzdGFydChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0lt
YWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0luZm8sIEFzeW5jSW1hZ2VSZXNpemVy
OjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgZG91YmxlIHF1
YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9u
LCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbikKIHsK
ICAgICBJbWFnZVJlc2l6ZXJUaHJlYWQqIGltYWdlUmVzaXplclRocmVhZCA9IG5ldyBJbWFnZVJl
c2l6ZXJUaHJlYWQoY2FsbGJhY2tJbmZvLCBvdXRwdXRUeXBlLCBkZXNpcmVkQm91bmRzLCBxdWFs
aXR5LCBhc3BlY3RSYXRpb09wdGlvbiwgb3JpZW50YXRpb25PcHRpb24pOwogCkBAIC02Miw3ICs2
Myw3IEBAIGJvb2wgSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChQYXNzUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzCiAgICAgcmV0dXJuIGltYWdlUmVzaXplclRo
cmVhZC0+bV90aHJlYWRJRDsKIH0KIAotSW1hZ2VSZXNpemVyVGhyZWFkOjpJbWFnZVJlc2l6ZXJU
aHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3lu
Y0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3Vu
ZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRpb09wdGlvbiBh
c3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG9y
aWVudGF0aW9uT3B0aW9uKQorSW1hZ2VSZXNpemVyVGhyZWFkOjpJbWFnZVJlc2l6ZXJUaHJlYWQo
QXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdl
UmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGRv
dWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRp
b09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRp
b24pCiAgICAgOiBtX3RocmVhZElEKDApCiAgICAgLCBtX2NhbGxiYWNrSW5mbyhjYWxsYmFja0lu
Zm8pCiAgICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJl
YWQuaAppbmRleCBhZTVhZGU1Li4xNWJkM2JkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW1h
Z2VSZXNpemVyVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5o
CkBAIC0zNCw2ICszNCw4IEBACiAjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCiAKICNpbmNsdWRl
ICJBc3luY0ltYWdlUmVzaXplci5oIgorI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJS
ZXNpemVPcHRpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsMTEgKzQ0LDEx
IEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAogY2xhc3MgSW1hZ2VSZXNpemVyVGhyZWFkIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBzdGFydChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gaW1h
Z2VEYXRhLCBBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiwgQXN5bmNJbWFnZVJlc2l6
ZXI6Ok91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgZmxvYXQgcXVhbGl0eSwgQXN5
bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJhdGlvT3B0aW9uLCBBc3luY0ltYWdlUmVzaXplcjo6T3Jp
ZW50YXRpb25PcHRpb24pOworICAgIHN0YXRpYyBib29sIHN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVk
QnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3lu
Y0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBkb3VibGUg
cXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6
Ok9yaWVudGF0aW9uT3B0aW9uKTsKICAgICB+SW1hZ2VSZXNpemVyVGhyZWFkKCk7CiAKIHByaXZh
dGU6Ci0gICAgSW1hZ2VSZXNpemVyVGhyZWFkKEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0lu
Zm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRz
LCBmbG9hdCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24sIEFz
eW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7CisgICAgSW1hZ2VSZXNpemVyVGhy
ZWFkKEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6
T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBkb3VibGUgcXVhbGl0eSwgUmVzaXpl
T3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0
aW9uKTsKICAgICBzdGF0aWMgdm9pZCogaW1hZ2VSZXNpemVyVGhyZWFkU3RhcnQodm9pZCopOwog
ICAgIHZvaWQqIGltYWdlUmVzaXplclRocmVhZCgpOwogCkBAIC01OCw5ICs2MCw5IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPEJpdG1hcEltYWdlPiBtX2ltYWdlOwogICAgIEFzeW5jSW1hZ2VSZXNp
emVyOjpPdXRwdXRUeXBlIG1fb3V0cHV0VHlwZTsKICAgICBJbnRTaXplIG1fZGVzaXJlZEJvdW5k
czsKLSAgICBmbG9hdCBtX3F1YWxpdHk7Ci0gICAgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJh
dGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9y
aWVudGF0aW9uT3B0aW9uIG1fb3JpZW50YXRpb25PcHRpb247CisgICAgZG91YmxlIG1fcXVhbGl0
eTsKKyAgICBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiBtX2FzcGVjdFJhdGlvT3B0
aW9uOworICAgIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIG1fb3JpZW50YXRpb25P
cHRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvUmVzaXplT3B0aW9ucy5jcHAgYi9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEyOTBmMAotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcApAQCAtMCwwICsxLDExMyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyNpbmNsdWRlICJS
ZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKKy8vIEluY2x1c2l2ZSBsaW1pdHM7CitzdGF0aWMgY29uc3QgaW50IGRp
bWVuc2lvbnNMb3dlckxpbWl0ID0gMTsKK3N0YXRpYyBjb25zdCBpbnQgZGltZW5zaW9uc1VwcGVy
TGltaXQgPSAzMjc2NzsKK3N0YXRpYyBjb25zdCBkb3VibGUgY29tcHJlc3Npb25Mb3dlckxpbWl0
ID0gMC4wOworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVzc2lvblVwcGVyTGltaXQgPSAxLjA7
CisKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdENvbXByZXNzaW9uID0gMC44NTsKKworUGFz
c1JlZlB0cjxSZXNpemVPcHRpb25zPiBSZXNpemVPcHRpb25zOjpjcmVhdGUoKQoreworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgUmVzaXplT3B0aW9ucygpKTsKK30KKworUmVzaXplT3B0aW9uczo6
UmVzaXplT3B0aW9ucygpCisgICAgOiBtX3dpZHRoKDApCisgICAgLCBtX2hlaWdodCgwKQorICAg
ICwgbV9jb21wcmVzc2lvbkxldmVsKGRlZmF1bHRDb21wcmVzc2lvbikKKyAgICAsIG1fYXNwZWN0
UmF0aW9PcHRpb24oSWdub3JlQXNwZWN0UmF0aW8pCisgICAgLCBtX29yaWVudGF0aW9uT3B0aW9u
KElnbm9yZU9yaWVudGF0aW9uKQoreworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldFdpZHRo
KGludCB3aWR0aCkKK3sKKyAgICBtX3dpZHRoID0gd2lkdGggPj0gZGltZW5zaW9uc0xvd2VyTGlt
aXQgJiYgd2lkdGggPD0gZGltZW5zaW9uc1VwcGVyTGltaXQgPyB3aWR0aCA6IDA7Cit9CisKK2lu
dCBSZXNpemVPcHRpb25zOjp3aWR0aCgpCit7CisgICAgcmV0dXJuIG1fd2lkdGg7Cit9CisKK3Zv
aWQgUmVzaXplT3B0aW9uczo6c2V0SGVpZ2h0KGludCBoZWlnaHQpCit7CisgICAgbV9oZWlnaHQg
PSBoZWlnaHQgPj0gZGltZW5zaW9uc0xvd2VyTGltaXQgJiYgaGVpZ2h0IDw9IGRpbWVuc2lvbnNV
cHBlckxpbWl0ID8gaGVpZ2h0IDogMDsKK30KKworaW50IFJlc2l6ZU9wdGlvbnM6OmhlaWdodCgp
Cit7CisgICAgcmV0dXJuIG1faGVpZ2h0OworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldENv
bXByZXNzaW9uTGV2ZWwoZG91YmxlIGNvbXByZXNzaW9uTGV2ZWwpCit7CisgICAgbV9jb21wcmVz
c2lvbkxldmVsID0gY29tcHJlc3Npb25MZXZlbCA+PSBjb21wcmVzc2lvbkxvd2VyTGltaXQgJiYg
Y29tcHJlc3Npb25MZXZlbCA8PSBjb21wcmVzc2lvblVwcGVyTGltaXQgPyBjb21wcmVzc2lvbkxl
dmVsIDogZGVmYXVsdENvbXByZXNzaW9uOworfQorCitkb3VibGUgUmVzaXplT3B0aW9uczo6Y29t
cHJlc3Npb25MZXZlbCgpCit7CisgICAgcmV0dXJuIG1fY29tcHJlc3Npb25MZXZlbDsKK30KKwor
dm9pZCBSZXNpemVPcHRpb25zOjpzZXRBc3BlY3RSYXRpb09wdGlvbihib29sIHByZXNlcnZlQXNw
ZWN0UmF0aW8pCit7CisgICAgbV9hc3BlY3RSYXRpb09wdGlvbiA9IHByZXNlcnZlQXNwZWN0UmF0
aW8gPyBQcmVzZXJ2ZUFzcGVjdFJhdGlvIDogSWdub3JlQXNwZWN0UmF0aW87Cit9CisKK1Jlc2l6
ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIFJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0
aW9uKCkKK3sKKyAgICByZXR1cm4gbV9hc3BlY3RSYXRpb09wdGlvbjsKK30KKwordm9pZCBSZXNp
emVPcHRpb25zOjpzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJpbmcgb3JpZW50YXRpb25PcHRpb24p
Cit7CisgICAgbV9vcmllbnRhdGlvbk9wdGlvbiA9IG9yaWVudGF0aW9uT3B0aW9uID09ICJhdXRv
IiA/IENvcnJlY3RPcmllbnRhdGlvbiA6IElnbm9yZU9yaWVudGF0aW9uOworfQorCitSZXNpemVP
cHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBSZXNpemVPcHRpb25zOjpvcmllbnRhdGlvbk9wdGlv
bigpCit7CisgICAgcmV0dXJuIG1fb3JpZW50YXRpb25PcHRpb247Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaCBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRp
b25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMyNzE5ZQotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmgKQEAgLTAsMCArMSw4NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgUmVzaXplT3B0aW9uc19oCisjZGVmaW5lIFJlc2l6ZU9wdGlvbnNfaAorCisjaWYg
RU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
U3RyaW5nOworCitjbGFzcyBSZXNpemVPcHRpb25zIDogcHVibGljIFJlZkNvdW50ZWQ8UmVzaXpl
T3B0aW9ucz4geworcHVibGljOgorICAgIGVudW0gQXNwZWN0UmF0aW9PcHRpb24geworICAgICAg
ICBQcmVzZXJ2ZUFzcGVjdFJhdGlvLAorICAgICAgICBJZ25vcmVBc3BlY3RSYXRpbworICAgIH07
CisKKyAgICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKKyAgICAgICAgQ29ycmVjdE9yaWVudGF0
aW9uLAorICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgorICAgIH07CisKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxSZXNpemVPcHRpb25zPiBjcmVhdGUoKTsKKworICAgIHZvaWQgc2V0V2lkdGgoaW50
KTsKKyAgICBpbnQgd2lkdGgoKTsKKworICAgIHZvaWQgc2V0SGVpZ2h0KGludCk7CisgICAgaW50
IGhlaWdodCgpOworCisgICAgdm9pZCBzZXRDb21wcmVzc2lvbkxldmVsKGRvdWJsZSk7CisgICAg
ZG91YmxlIGNvbXByZXNzaW9uTGV2ZWwoKTsKKworICAgIHZvaWQgc2V0QXNwZWN0UmF0aW9PcHRp
b24oYm9vbCk7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRpb24oKTsKKwor
ICAgIHZvaWQgc2V0T3JpZW50YXRpb25PcHRpb24oU3RyaW5nKTsKKyAgICBPcmllbnRhdGlvbk9w
dGlvbiBvcmllbnRhdGlvbk9wdGlvbigpOworCitwcml2YXRlOgorICAgIFJlc2l6ZU9wdGlvbnMo
KTsKKworICAgIC8vIElmIG1fd2lkdGggb3IgbV9oZWlnaHQgPT0gMCwgdGhhdCBkaW1lbnNpb24g
d2lsbCBub3QgY2hhbmdlIGV4cGxpY2l0bHkgZHVyaW5nIHJlc2l6aW5nLgorICAgIGludCBtX3dp
ZHRoOworICAgIGludCBtX2hlaWdodDsKKyAgICBkb3VibGUgbV9jb21wcmVzc2lvbkxldmVsOwor
ICAgIEFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247CisgICAgT3JpZW50YXRp
b25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCisjZW5kaWYgLy8gUmVzaXpl
T3B0aW9uc19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59782</attachid>
            <date>2010-06-25 11:28:18 -0700</date>
            <delta_ts>2010-06-29 03:17:54 -0700</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>99097</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzMmE5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICAgIHRyeSB7CisgICAg
ICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhw
cmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAi
JyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisK
K3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52
YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3
IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVm
aW5lR2V0dGVyX18oIndpZHRoIiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3
aWR0aCBnZXR0ZXIgZXhjZXB0aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgp
OworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQp
JywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIpJywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9ibXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIDQyKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQy
KScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6
IHdpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHRydWUpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgLUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywg
ZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7ZHVtbXlQcm9wZXJ0eTpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9w
ZXJ0eTo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1
bW15UHJvcGVydHk6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7
fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRy
dWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7d2lkdGg6LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0p
JywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBm
YWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDot
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0
aW9ufSknLCB0cnVlLCAnRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRp
bzp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZl
QXNwZWN0UmF0aW86NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5m
aW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7
CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge29yaWVudGF0aW9uOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRh
dGlvbjp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7b3JpZW50YXRpb246SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZh
bHNlKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJj
ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1h
Z2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOWI4MjEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgYW4gaW1hZ2Ugd2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZBTElEX1NUQVRF
X0VSUiBleGNlcHRpb24uIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9IG51bGw7
CisKK3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZG9jdW1lbnQuYm9keS5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0cnkgeworICAgICAgICBpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbik7CisgICAgICAgIHRlc3RGYWlsZWQoIlNob3Vs
ZCBoYXZlIHRocm93biBleGNlcHRpb24uIE5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duLi4uIik7Cisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJFeGNlcHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246ICIgKyBlKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorfTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9u
by1jYWxsYmFjay1hZnRlci11bmxvYWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11
bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE4NmRmMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Vi
a2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5qcwpAQCAt
MCwwICsxLDI1IEBACitkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHRoZSBjYWxsYmFja3Mgd2ls
bCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4iKTsKKwordmFyIGkgPSBuZXcgSW1hZ2UoKTsK
K2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKworZG9jdW1lbnQuYm9keS5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dCgndGVzdFBhc3NlZCgi
Tm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1bmxvYWQiKTsgZmluaXNoSlNUZXN0KCk7JywgMTAw
KTsKK30KKworZG9jdW1lbnQuYm9keS5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGkud2Vi
a2l0R2V0SW1hZ2UoCisgICAgICAgICJpbWFnZS9wbmciLAorICAgICAgICBmdW5jdGlvbihibG9i
KSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdldEltYWdlIHN1
Y2Nlc3MgY2FsbGJhY2suIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
fSwKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVu
ZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2UgZXJyb3IgY2FsbGJhY2s6ICIgKyBlcnJvcik7CisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICk7Cit9CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10
ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41NWVmZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJp
ZGUtb2std2Via2l0R2V0SW1hZ2UuanMKQEAgLTAsMCArMSwxMiBAQAorZGVzY3JpcHRpb24oIlRo
aXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlkZGVuIHdpdGggYW5v
dGhlciBtZXRob2QuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9ICIuLi9yZXNv
dXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2kud2Via2l0R2V0SW1hZ2UgPSBmdW5jdGlvbigpIHsg
cmV0dXJuIDQyOyB9Cit2YXIgcmVzdWx0ID0gaS53ZWJraXRHZXRJbWFnZSgpOworCitzaG91bGRC
ZU5vblplcm8ocmVzdWx0KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRv
dy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvdGVzdC1j
YWxsYmFja3MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kZjQ4MzcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMv
dGVzdC1jYWxsYmFja3MuanMKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgdGhlIGNhbGxiYWNrcyB3b3JrIGNvcnJlY3RseS4iKTsKKwordmFyIGkgPSBuZXcgSW1hZ2Uo
KTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFyIHN1Y2Nlc3ND
YWxsYmFjayA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICB0ZXN0RmFpbGVkKCJTdWNjZXNzIGNhbGxi
YWNrIHdhcyBpbmNvcnJlY3RseSBjYWxsZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0UGFzc2VkKCJF
cnJvciBjYWxsYmFjayB3YXMgY29ycmVjdGx5IGNhbGxlZCB3aXRoIG91dHB1dDogIiArIGVycm9y
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKy8vIE9ubHkgdGhlIGVycm9yIGNhbGxiYWNr
IHdpbGwgY3VycmVudGx5IG5ldmVyIGJlIGNhbGxlZCBpbiB0aGlzIHBhdGNoLCBzbyB0ZXN0Cisv
LyB0aGF0IGl0IHdvcmtzIGZvciBub3cuCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3Qtb3V0cHV0LXR5cGVz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMWM5MDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdl
dEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcwpAQCAtMCwwICsxLDMxIEBA
CisvLyBGSVhNRTogUE5HIGFuZCBKUEVHIGFyZSBub3QgaW1wbGVtZW50ZWQgb24gZXZlcnkgcGxh
dGZvcm0uCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZGlmZmVyZW50IG91dHB1dCB0eXBl
IHBhcmFtZXRlcnMgd29yayIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4v
cmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit2YXIgc3VjY2Vzc0NhbGxiYWNrUG5nID0gZnVu
Y3Rpb24oYmxvYikgeworICAgIGlmIChibG9iLnR5cGUgPT0gImltYWdlL3BuZyIpCisgICAgICAg
IHRlc3RQYXNzZWQoIlBORyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZCgiUE5HIGltYWdlIG5vdCByZXR1cm5lZC4gSW5zdGVhZCwgTUlNRSB0eXBlIGlzOiAi
ICsgYmxvYi50eXBlKTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vz
c0NhbGxiYWNrSnBlZywgZXJyb3JDYWxsYmFjayk7Cit9OworCit2YXIgc3VjY2Vzc0NhbGxiYWNr
SnBlZyA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICBpZiAoYmxvYi50eXBlID09ICJpbWFnZS9qcGVn
IikKKyAgICAgICAgdGVzdFBhc3NlZCgiSlBFRyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UK
KyAgICAgICAgdGVzdEZhaWxlZCgiSlBFRyBpbWFnZSBub3QgcmV0dXJuZWQuIEluc3RlYWQsIE1J
TUUgdHlwZSBpczogIiArIGJsb2IudHlwZSk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2
YXIgZXJyb3JDYWxsYmFjayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdEZhaWxlZCgiRXJy
b3IgY2FsbGJhY2sgY2FsbGVkIHdpdGggZXJyb3I6ICIgKyBlcnJvcik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9OworCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBzdWNjZXNzQ2FsbGJh
Y2tQbmcsIGVycm9yQ2FsbGJhY2spOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3
aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOGMwMTgzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgdGhlIGNhbGxiYWNrcyB3
b3JrIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRXJy
b3IgY2FsbGJhY2sgd2FzIGNvcnJlY3RseSBjYWxsZWQgd2l0aCBvdXRwdXQ6IFVuZXhwZWN0ZWQg
ZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJs
ZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdl
L3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzI2NTAyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3MuaHRtbC1kaXNh
YmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1v
dGUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jNDhlZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGVzdHMgdGhhdCBJbWFnZS53ZWJraXRHZXRJbWFnZSBjYW5ub3QgYmUgY2FsbGVk
IG9uIGFuIGltYWdlIG9mIHJlbW90ZSBvcmlnaW4uCisKKworUEFTUzogVGhyZXcgZXhjZXB0aW9u
OiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3Jp
Z2luLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Vi
a2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmIyZjVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1s
LWRpc2FibGVkCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgIlxuIikpOworfQorCit2YXIg
ZW1wdHlDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB9OworCit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJbWFnZSIpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUNhbGxiYWNrKTsKKyAgICAgICAgbG9nKCJGQUlMOiBEaWQgbm90IHRocm93IGV4
Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nICgiUEFTUzogVGhyZXcg
ZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfQorCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQg
SW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpbWFnZSBvZiByZW1v
dGUgb3JpZ2luLjwvcD4KKzxpbWcgaWQ9InRlc3RJbWFnZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyIgLz4KKzxwcmUgaWQ9ImxvZyI+PC9w
cmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTk1ZGFjYmEzMGFkNDRkZTg2
ZTc3OGExMTAwYjZkOTRhZmJiMjFkNApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzM4CnpjbWEp
JEtNS043NDJRcUc9VE00QjxLfTVaa2I7VnIoQzZnZjxscnVqb35lVV9OQVM8JDBtTGlCU0NDcmso
cTlOOQp6VSZ0QDlpI15EdWA2TmRpZ2MjVHA5ZERRRzlZVGleVmxSNTV1dng0S01JPlQoX0RGbFZ1
WTlHP3gpWGBobkFNPGQKeVZGajhuVkNGP31EcWg3LSU7Uko2JEdYejtSMkBLKVcoQC1STjk7enxP
WjR7MmttSkdWcE1RTkNvbjdCamxwYjBECgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggMWJhOTlh
MC4uMTQ5MTg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUv
QW5kcm9pZC5tawpAQCAtMjczLDYgKzI3Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FM
X1NSQ19GSUxFUykgXAogCWh0bWwvSW1hZ2VEYXRhLmNwcCBcCiAJaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwIFwKIAlodG1sL0xlZ2FjeVByZWxvYWRTY2FubmVyLmNwcCBcCisJaHRtbC9SZXNp
emVPcHRpb25zLmNwcCBcCiAJaHRtbC9UaW1lUmFuZ2VzLmNwcCBcCiAJaHRtbC9WYWxpZGl0eVN0
YXRlLmNwcCBcCiAJXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTQ1Y2U3Ny4uMTM4OTYwOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMs
NiArMjYzLDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwKICAgICBodG1sL0ltYWdlRGF0
YS5pZGwKKyAgICBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCisgICAgaHRtbC9J
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbAog
ICAgIGh0bWwvVGV4dE1ldHJpY3MuaWRsCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmlkbApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMGE4
NWU0Li44MmVlMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEwLTA2LTIxICBTdGVybGluZyBTd2lnYXJ0
ICA8c3N3aWdhcnRAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIEV4cG9zZWQgdGhlIGltYWdlIHJlc2l6aW5nIEFQSSB0
byBKU0MsIGJ1dCBpdCBpcyBmdW5jdGlvbmFsbHkgaW5jb21wbGV0ZSBhdCB0aGlzIHN0YWdlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTQKKwor
ICAgICAgICAqIEFuZHJvaWQubWs6IEFkZGVkIFJlc2l6ZU9wdGlvbnMuY3BwLgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OiBBZGRlZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRv
LgorICAgICAgICAqIFdlYkNvcmUucHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRN
TEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFn
ZVJlc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0
KTogQ2xpZW50IG9mIHRoaXMgY2xhc3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNvdW50aW5nLgor
ICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VSZXNpemVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNo
ZWQpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnJl
c2l6ZUNvbXBsZXRlKTogQWRkZWQgY2FsbGJhY2suCisgICAgICAgIChXZWJDb3JlOjpBc3luY0lt
YWdlUmVzaXplcjo6cmVzaXplRXJyb3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5j
SW1hZ2VSZXNpemVyOjpjYW5TdXNwZW5kKTogRG9lcyBub3Qgc3VzcGVuZC4KKyAgICAgICAgKFdl
YkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpzdG9wKTogTm93IGlzIGxpbmtlZCB0byBkb2N1bWVu
dCdzIGRlc3RydWN0aW9uLgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86OkNhbGxiYWNr
SW5mbyk6IE5vdyBvbmx5IHN0b3JlcyBuZWNlc3NpdGllcy4KKyAgICAgICAgKiBodG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6d2Vi
a2l0R2V0SW1hZ2UpOiBJbXBsZW1lbnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAgICAgICAgKiBo
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5JbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
azo6fkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVz
aXplclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0
YXJ0KTogUmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVhZDo6
SW1hZ2VSZXNpemVyVGhyZWFkKTogIFJlZmFjdG9yZWQuCisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJUaHJlYWQuaDogUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c2l6ZU9wdGlvbnM6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNl
dEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKiBodG1s
L1Jlc2l6ZU9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25z
OjopOgorCiAyMDEwLTA2LTIzICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDkw
NGVhNTUuLmYwNmQ0ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDggQEAKICNpbmNs
dWRlICJKU0lEQlJlcXVlc3QuY3BwIgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2ZW50LmNwcCIK
ICNpbmNsdWRlICJKU0ltYWdlRGF0YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAiCiAjaW5jbHVkZSAiSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNpbmNsdWRlICJK
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAi
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMjI0LDYgKzIyNCw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVlc3QgXAogICAg
IElEQlN1Y2Nlc3NFdmVudCBcCiAgICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2sgXAorICAgIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAogICAgIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3QgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVj
dG9yQmFja2VuZCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTI3Niw2
ICsyNzYsOCBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKIAlXZWJDb3Jl
L2h0bWwvSW1hZ2VEYXRhLmlkbCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2suaWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlk
bCBcCiAJV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBcCkBAIC00NTYs
NiArNDU4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
RnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJ
RnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFn
ZUVsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxl
bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50
Q3VzdG9tLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgXApAQCAtMTI3MiwxMyArMTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFn
ZURhdGEuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAg
XAogCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29yZS9odG1sL0xh
YmVsc05vZGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAotCVdl
YkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nh
bm5lci5jcHAgXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKwlXZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5oIFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAg
XAorCVdlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFu
Z2UuY3BwIFwKIAlXZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUvaHRtbC9UZXh0
TWV0cmljcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggNjMyMTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2ICsxODgsOCBA
QAogICAgICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRh
LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
JywKKyAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL1RleHRN
ZXRyaWNzLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcsCkBAIC01NzMs
NiArNTc1LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1l
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVt
ZW50Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1l
bnRDdXN0b20uY3BwJywKQEAgLTE2NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAgICAnaHRtbC9I
VE1MVmlld1NvdXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyVGhy
ZWFkLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4uZWFmMTlmOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJp
CkBAIC00MjQsNiArNDI0LDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxVTGlz
dEVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKICAgICBodG1s
L0ltYWdlRGF0YS5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwg
XAorICAgIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9N
ZWRpYUVycm9yLmlkbCBcCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAgIGh0bWwvVGlt
ZVJhbmdlcy5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggOTg2ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiArMzE1LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAorICAgIGJpbmRp
bmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pT
SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVj
dEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAgXApAQCAtNzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0
bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAg
XAogICAgIGh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1sL1Jlc2l6ZU9w
dGlvbnMuY3BwIFwKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApAQCAtMTQ0Miw5
ICsxNDQ0LDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwK
ICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFnZURhdGEu
aCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAgIGh0bWwvSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFk
LmggXAogICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2Fk
U2Nhbm5lci5oIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRtbC9TdGVwUmFu
Z2UuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZhMWMuLjhjNTkw
MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3MTMsNiArMzc3
MTMsMTQgQEAKIAkJCQk+CgogCQkJPC9GaWxlPgoKIAkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwv
RmlsZT4KCisJCQk8RmlsZQoKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8RmlsZQoKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCIKCiAJCQkJPgoK
IAkJCTwvRmlsZT4KCkBAIC0zNzc0MSw2ICszNzc0OSwxNCBAQAogCQkJCT4KCiAJCQk8L0ZpbGU+
CgogCQkJPEZpbGUKCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuY3Bw
IgoKKwkJCQk+CgorCQkJPC9GaWxlPgoKKwkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxSZXNpemVPcHRpb25zLmgiCgorCQkJCT4KCisJCQk8L0ZpbGU+CgorCQkJPEZpbGUKCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiCgogCQkJCT4KCiAJCQk8L0Zp
bGU+CgpAQCAtNDA0NDAsNiArNDA0NTgsNTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
CiAJCQkJPC9GaWxlPgoKIAkJCQk8RmlsZQoKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIgoKKwkJCQkJPgoKKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Cgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgoKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgoKKwkJCQkJCT4KCisJCQkJCQk8VG9vbAoKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgoKKwkJCQkJCS8+CgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgoKKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWdf
SW50ZXJuYWx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJ
PgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJ
Lz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKCisJCQkJCQk+CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKCisJCQkJCQkvPgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgoKKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiCgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJ
CQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCTwvRmlsZT4KCisJCQkJPEZpbGUKCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNw
cCIKCiAJCQkJCT4KCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGQwOTQ3OC4uOTZiYzU5MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1MjQsNiArMzUyNCwxNSBA
QAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIy
MTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRC
MjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0Ig
LyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhy
ZWFkLmggKi87IH07CisJCUIwNEU2QkYyMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDRFNkJG
MTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oICovOyB9OworCQlCMDRFNkJGNTEx
QzdGMDc5MDAyMTQyODMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0QTA0QzExQUIxRUEwMDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0Mjgz
IC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQjA0RjU5RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxl
bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9t
LmNwcCAqLzsgfTsKKwkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1
MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwICovOyB9OworCQlCMEE3MTVC
NzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUIzMTFEMDQz
MUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQlC
MEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTVCNDEx
RDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IH07CisJ
CUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3
MTVCNTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3Bw
ICovOyB9OworCQlCMEE3MTVCQTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIwQTcxNUI2MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAx
MTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDEx
MTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlCMjExMjdBNjBCMzE4Njc3MDAwOUJFNTMgLyogSlNT
VkdQT0RUeXBlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjIxMTI3QTUwQjMxODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIu
aCAqLzsgfTsKQEAgLTg4ODMsNiArODg5MiwxNyBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXN5bmNJbWFnZVJlc2l6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAx
NDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1h
Z2VSZXNpemVyVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdl
UmVzaXplclRocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMDE0QTA0QTEx
QUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc2l6ZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjA0RjU5RkQxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdl
RWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMEE3MTUxQTExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVPcHRpb25zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1NzkxMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTU3
QTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIwQTcxNUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIw
QTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUI2
MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMTEyN0E1MEIzMTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5cGVXcmFwcGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1BPRFR5cGVXcmFwcGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzc1MiwxNiArMTM3NzIsMjIgQEAK
IAkJCQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlB
Nzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUw
RDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQjAxNEEwNEExMUFCMUVB
MDAwMTk2QTdCIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMEE3MTU3
OTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgKi8sCisJ
CQkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oICovLAorCQkJCUIwQTcxNTdBMTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaWRsICovLAogCQkJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJUaHJlYWQuY3BwICovLAogCQkJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuaCAqLywKIAkJCQlBNDU2RkEyNDExQUQ0QTgzMDAyMEI0MjAgLyog
TGFiZWxzTm9kZUxpc3QuY3BwICovLAogCQkJCUE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBM
YWJlbHNOb2RlTGlzdC5oICovLAogCQkJCUY1MjNEMjUwMDJERTQzOTYwMTg2MzVDQSAvKiBMZWdh
Y3lIVE1MVHJlZUJ1aWxkZXIuY3BwICovLAogCQkJCUY1MjNEMjUxMDJERTQzOTYwMTg2MzVDQSAv
KiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCAqLywKLQkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURB
NzUgLyogTWVkaWFFcnJvci5oICovLAotCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogTGVnYWN5
UHJlbG9hZFNjYW5uZXIuY3BwICovLAogCQkJCUU0RDRBQkUxMEQ3NTQyRjEwMEY5Njg2OSAvKiBM
ZWdhY3lQcmVsb2FkU2Nhbm5lci5oICovLAorCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAv
KiBNZWRpYUVycm9yLmggKi8sCisJCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlh
RXJyb3IuaWRsICovLAorCQkJCUIwQTcxNTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRp
b25zLmNwcCAqLywKKwkJCQlCMDRFNkJGMTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9u
cy5oICovLAogCQkJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICov
LAogCQkJCUE1QUZCMzRFMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCAqLywKIAkJCQlC
Q0VGNDVFODBFNjg3NzY3MDAxQzEyODcgLyogVGV4dE1ldHJpY3MuaCAqLywKQEAgLTE0MDAzLDYg
KzE0MDI5LDEwIEBACiAJCQkJRTQ0NjE0MEYwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTSFRNTFZpZGVv
RWxlbWVudC5oICovLAogCQkJCUE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0
YS5jcHAgKi8sCiAJCQkJQTc3OTc5MjUwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmgg
Ki8sCisJCQkJQjBBNzE1QjMxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjYxMUQw
NDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJ
NDlFRUNFRjgxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlF
RUNFRjkxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVDRUY2
MTA1MDcwQzQwMDA5OUZBQiAvKiBKU0ludDMyQXJyYXkuY3BwICovLApAQCAtMTU1NzMsNiArMTU2
MDMsNyBAQAogCQkJCUJDMkVEN0E0MEM2QzBGMzYwMDkyMEJGRiAvKiBKU0hUTUxGcmFtZUVsZW1l
bnRDdXN0b20uY3BwICovLAogCQkJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDMkVENjRGMEM2QkM0OEMwMDkyMEJG
RiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJCQlCMDRGNTlGRDExQzZB
RkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0M0
Mzg3NzBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywK
IAkJCQlCQzMwNUNBMzBDMDc4MUJCMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnND
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKQEAgLTE4MTkyLDYgKzE4MjIzLDggQEAKIAkJCQkxQTgy
MEQ5MjBBMTNFQkE2MDBBRjg0M0MgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzdGNDRBODBCOUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0MjgzIC8qIEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIwNEU2QkY1MTFDN0YwNzkwMDIxNDI4
MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUIw
MTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTcxMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEIzNDgwOTQwRUVGNTBENDAwQUMxQjQxIC8qIEltYWdlU291cmNlQ0cu
aCBpbiBIZWFkZXJzICovLApAQCAtMTg0MjUsNiArMTg0NTgsOCBAQAogCQkJCUM1NkM5MUE3MTE5
RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM2QzQ5RjQwRDdEQkEwNTAwRkZBNTU4IC8qIEpTSW1hZ2VDb25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTc3OTc5MjkwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMEE3MTVCQTExRDA0MzFFMDAz
QzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1RjRGNDExMTE5MzA2QzAwMEZERkFERCAvKiBKU0luZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NkRCMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVj
dGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMDYwQ0UwRjVFRUIyQjAwQTA3
RUFDIC8qIEpTSW5zcGVjdG9yQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODk1OSw2ICsx
ODk5NCw3IEBACiAJCQkJQTg5Q0NDNTMwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0
aFNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwQTA5OUU2NDkyMDA1NkU1
ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2
QzJGMDk3OUMzQkQwMDQ2Nzc0MSAvKiBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMDRF
NkJGMjExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM0RjcxNDIwRDVBNkY0NDAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzNEY3MTNDMEQ1QTZGMTkwMDAxOEQ2OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNl
SGFuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNzQyLDYgKzIwNzc4LDcgQEAKIAkJCQlCQzQ5
MThDODBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MSUZyYW1lRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzJFRDY1MDBDNkJDNDhDMDA5MjBCRkYgLyogSlNIVE1MSUZyYW1lRWxlbWVu
dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUE5NzBBMUNERDJEMDBCNDJCMjUg
LyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIwNEY1OUZGMTFD
NkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgwRTdFOTgwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0Mzg3ODBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk5MEExQ0RE
MkQwMEI0MkIyNSAvKiBKU0hUTUxJc0luZGV4RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTIwODAwLDYgKzIwODM3LDggQEAKIAkJCQlCQzZDNDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJ
bWFnZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Nzk3OTI4MEQ2QjlFNjQw
MDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0QwMzE4RTBF
OTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQjBBNzE1QjcxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3MTVCOTExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0
MTAxMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QTBFNzZEQTEwQkYwNTk4MDBBMDI3NkUgLyogSlNJbmplY3RlZFNjcmlw
dEhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc2RDUxMEJGMDUwNzAwQTAyNzZFIC8q
IEpTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjEzNDYs
NiArMjEzODUsNyBAQAogCQkJCUE4OUNDQzUyMEY0NEU5ODEwMEI1REExMCAvKiBSZXBsYWNlTm9k
ZVdpdGhTcGFuQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwOTA5OUU2NDky
MDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCMTZDMkUwOTc5QzNCRDAwNDY3NzQxIC8qIFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTM0RjcxM0UwRDVBNkYyODAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjUwMENFOTIzNEUwMDdFRjNDRCAvKiBS
ZXNvdXJjZUVycm9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzgwQ0U5MjNBMTAw
N0VGM0NEIC8qIFJlc291cmNlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MmRiNmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxNjMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisjaW5jbHVk
ZSAiSlNIVE1MSW1hZ2VFbGVtZW50LmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrLmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKKyNp
bmNsdWRlICJSZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBQ
YXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVlLmluaGVyaXRzKCZKU0Z1
bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNN
QVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2Jq
ZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NS
ZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCit7CisgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVu
ZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAodmFsdWUu
aXNVbmRlZmluZWRPck51bGwoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIXZhbHVl
LmluaGVyaXRzKCZKU0Z1bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9iamVjdCk7Cit9CisK
K3N0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZVJlc2l6ZU9wdGlvbnMoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gUmVzaXplT3B0aW9uczo6Y3JlYXRlKCk7CisKKyAgICAvLyBBcmd1
bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBp
cyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAg
IC8vIFVzZSBkZWZhdWx0IG9wdGlvbnMuCisgICAgICAgIHJldHVybiByZXNpemVPcHRpb25zLnJl
bGVhc2UoKTsKKyAgICB9CisgICAgSlNPYmplY3QqIG9iamVjdCA9IHZhbHVlLnRvT2JqZWN0KGV4
ZWMpOworCisgICAgSlNWYWx1ZSB3aWR0aCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIo
ZXhlYywgIndpZHRoIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCF3aWR0aC5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6
ZU9wdGlvbnMtPnNldFdpZHRoKHdpZHRoLnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBK
U1ZhbHVlIGhlaWdodCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImhlaWdo
dCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOwor
ICAgIGlmICghaGVpZ2h0LmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+
c2V0SGVpZ2h0KGhlaWdodC50b0ludDMyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBj
b21wcmVzc2lvbkxldmVsID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY29t
cHJlc3Npb25MZXZlbCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiAwOworICAgIGlmICghY29tcHJlc3Npb25MZXZlbC5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldENvbXByZXNzaW9uTGV2ZWwoY29tcHJlc3Npb25MZXZl
bC50b051bWJlcihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgcHJlc2VydmVBc3BlY3RS
YXRpbyA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgInByZXNlcnZlQXNwZWN0
UmF0aW8iKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoIXByZXNlcnZlQXNwZWN0UmF0aW8uaXNVbmRlZmluZWQoKSkgeworICAgICAg
ICByZXNpemVPcHRpb25zLT5zZXRBc3BlY3RSYXRpb09wdGlvbihwcmVzZXJ2ZUFzcGVjdFJhdGlv
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgb3JpZW50YXRpb24gPSBv
YmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJvcmllbnRhdGlvbiIpKTsKKyAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghb3Jp
ZW50YXRpb24uaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRPcmll
bnRhdGlvbk9wdGlvbih1c3RyaW5nVG9TdHJpbmcob3JpZW50YXRpb24udG9TdHJpbmcoZXhlYykp
KTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgpOworfQorCitK
U1ZhbHVlIEpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGNvbnN0IFN0cmluZyYgbWltZVR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+
YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworCisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSkpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgQVNTRVJU
KHN1Y2Nlc3NDYWxsYmFjayk7CisKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjayA9IGNyZWF0ZUltYWdlUmVzaXplckVycm9yQ2FsbGJhY2soZXhlYywg
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpLCBleGVjLT5hcmd1bWVudCgyKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gY3JlYXRlUmVzaXplT3B0aW9ucyhleGVjLCBleGVjLT5hcmd1bWVu
dCgzKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICBBU1NFUlQocmVzaXplT3B0aW9ucyk7CisKKyAgICBIVE1MSW1hZ2VF
bGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4oaW1w
bCgpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBpbWFnZUVsZW1lbnQtPndlYmtp
dEdldEltYWdlKG1pbWVUeXBlLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxi
YWNrLnJlbGVhc2UoKSwgcmVzaXplT3B0aW9ucy5yZWxlYXNlKCksIGVjKTsKKyAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAgYi9XZWJDb3JlL2h0
bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwCmluZGV4IDRiYjc0YzkuLjZlMTFlM2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0FzeW5jSW1hZ2VSZXNpemVyLmNwcApAQCAtMzQsMjggKzM0LDMyIEBACiAjaW5jbHVkZSAiQXN5
bmNJbWFnZVJlc2l6ZXIuaCIKIAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCisjaW5jbHVkZSAi
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oIgogI2luY2x1ZGUgIkltYWdlUmVzaXplclRocmVhZC5oIgorI2luY2x1ZGUg
IlJlc2l6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUg
PHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxBc3luY0ltYWdl
UmVzaXplcj4gQXN5bmNJbWFnZVJlc2l6ZXI6OmNyZWF0ZShDYWNoZWRJbWFnZSogY2FjaGVkSW1h
Z2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRW
YWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1
YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBPcmllbnRhdGlvbk9w
dGlvbiBvcmllbnRhdGlvbk9wdGlvbikKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9u
cz4gcmVzaXplT3B0aW9ucykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFzeW5jSW1hZ2VS
ZXNpemVyKGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBkZXNpcmVkQm91bmRzLCBzdWNjZXNzQ2Fs
bGJhY2ssIGVycm9yQ2FsbGJhY2ssIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRh
dGlvbk9wdGlvbikpOworICAgIG5ldyBBc3luY0ltYWdlUmVzaXplcihzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBjYWNoZWRJbWFnZSwgb3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrLCByZXNpemVPcHRpb25zKTsKIH0KIAotQXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1h
Z2VSZXNpemVyKENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2Ny
aXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24g
YXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQot
ICAgIDogbV9jYWNoZWRJbWFnZShjYWNoZWRJbWFnZSkKK0FzeW5jSW1hZ2VSZXNpemVyOjpBc3lu
Y0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVm
UHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMpCisgICAgOiBBY3RpdmVET01PYmplY3Qo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdGhpcykKKyAgICAsIG1fY2FjaGVkSW1hZ2UoY2FjaGVk
SW1hZ2UpCisgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKKyAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQogICAgICwgbV9zdWNjZXNzQ2Fs
bGJhY2soc3VjY2Vzc0NhbGxiYWNrKQogICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2spCi0gICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkKLSAgICAsIG1fZGVzaXJlZEJvdW5k
cyhkZXNpcmVkQm91bmRzKQotICAgICwgbV9xdWFsaXR5KHF1YWxpdHkpCi0gICAgLCBtX2FzcGVj
dFJhdGlvT3B0aW9uKGFzcGVjdFJhdGlvT3B0aW9uKQotICAgICwgbV9vcmllbnRhdGlvbk9wdGlv
bihvcmllbnRhdGlvbk9wdGlvbikKKyAgICAsIG1fcmVzaXplT3B0aW9ucyhyZXNpemVPcHRpb25z
KQogewotICAgIEFTU0VSVChtX3N1Y2Nlc3NDYWxsYmFjay5pc09iamVjdCgpKTsKKyAgICBtX2Nh
bGxiYWNrSW5mbyA9IG5ldyBDYWxsYmFja0luZm8odGhpcyk7CisgICAgQVNTRVJUKG1fc3VjY2Vz
c0NhbGxiYWNrLmdldCgpKTsKICAgICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhpcyk7CiB9
CiAKQEAgLTY1LDExICs2OSw0NCBAQCBBc3luY0ltYWdlUmVzaXplcjo6fkFzeW5jSW1hZ2VSZXNp
emVyKCkKIAogdm9pZCBBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVz
b3VyY2UqIGNhY2hlZFJlc291cmNlKQogewotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdl
RGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNvcHkoKTsKLSAgICBjYWNoZWRSZXNvdXJj
ZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOwotICAgIENhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvID0g
bmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKLSAgICBpZiAoIUltYWdlUmVzaXplclRocmVhZDo6c3Rh
cnQoaW1hZ2VEYXRhLCBjYWxsYmFja0luZm8sIG1fb3V0cHV0VHlwZSwgbV9kZXNpcmVkQm91bmRz
LCBtX3F1YWxpdHksIG1fYXNwZWN0UmF0aW9PcHRpb24sIG1fb3JpZW50YXRpb25PcHRpb24pKQor
ICAgIGlmIChjYWNoZWRSZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpKQorICAgICAgICBtX2NhbGxi
YWNrSW5mbyA9IDA7CisgICAgZWxzZSBpZiAoIWNhY2hlZFJlc291cmNlLT5kYXRhKCktPmlzRW1w
dHkoKSkgeworICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEgPSBjYWNoZWRS
ZXNvdXJjZS0+ZGF0YSgpLT5jb3B5KCk7CisgICAgICAgIGNhY2hlZFJlc291cmNlLT5yZW1vdmVD
bGllbnQodGhpcyk7CisgICAgICAgIAorICAgICAgICAvLyBJZiBzdGFydCBzdWNjZWVkcywgSW1h
Z2VSZXNpemVyVGhyZWFkIG5vdyBvd25zIG1fY2FsbGJhY2tJbmZvLCBhbmQgbV9jYWxsYmFja0lu
Zm8KKyAgICAgICAgLy8gbm93IG93bnMgdGhpcyBjbGFzcy4KKyAgICAgICAgaWYgKCFJbWFnZVJl
c2l6ZXJUaHJlYWQ6OnN0YXJ0KGltYWdlRGF0YSwgbV9jYWxsYmFja0luZm8sIG1fb3V0cHV0VHlw
ZSwgSW50U2l6ZShtX3Jlc2l6ZU9wdGlvbnMtPndpZHRoKCksIG1fcmVzaXplT3B0aW9ucy0+aGVp
Z2h0KCkpLCBtX3Jlc2l6ZU9wdGlvbnMtPmNvbXByZXNzaW9uTGV2ZWwoKSwgbV9yZXNpemVPcHRp
b25zLT5hc3BlY3RSYXRpb09wdGlvbigpLCBtX3Jlc2l6ZU9wdGlvbnMtPm9yaWVudGF0aW9uT3B0
aW9uKCkpKQorICAgICAgICAgICAgbV9jYWxsYmFja0luZm8gPSAwOworICAgIH0KKyAgICAKKyAg
ICAvLyBFcnJvci0tZGVzdHJveSB0aGlzIGNsYXNzLgorICAgIGlmICghbV9jYWxsYmFja0luZm8p
IHsKICAgICAgICAgcmVzaXplRXJyb3IoKTsKKyAgICAgICAgZGVsZXRlIHRoaXM7CisgICAgfQor
fQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVDb21wbGV0ZShCbG9iKiBibG9iKQor
eworICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIGJsb2IpOworfQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpyZXNpemVFcnJvcigp
Cit7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjay5nZXQoKSkKKyAgICAgICAgbV9lcnJvckNhbGxi
YWNrLT5oYW5kbGVFdmVudChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsICJVbmV4cGVjdGVkIGVy
cm9yIHdoaWxlIHJlc2l6aW5nIGltYWdlIik7Cit9CisKK2Jvb2wgQXN5bmNJbWFnZVJlc2l6ZXI6
OmNhblN1c3BlbmQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBc3luY0ltYWdl
UmVzaXplcjo6c3RvcCgpCit7CisgICAgZGVsZXRlIG1fY2FsbGJhY2tJbmZvOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJl
c2l6ZXIuaCBiL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCmluZGV4IGFkZDA3MGEu
LmY2NzMwNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5oCkBAIC0zMywxNSArMzMsMTkgQEAK
IAogI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQogCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCiAjaW5jbHVkZSAiQmxvYi5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkSW1hZ2U7CitjbGFzcyBJbWFnZVJlc2l6ZXJF
cnJvckNhbGxiYWNrOworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3Mg
SW1hZ2VSZXNpemVyVGhyZWFkOworY2xhc3MgUmVzaXplT3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEFzeW5jSW1hZ2VSZXNpemVyIHdhaXRzIGZvciB0aGUgQ2Fj
aGVkSW1hZ2UgdGhhdCBpcyBwYXNzZWQgaW4gdG8gbG9hZCBjb21wbGV0ZWx5LAogLy8gdGhlbiBz
dGFydHMgYW4gSW1hZ2VSZXNpemVyVGhyZWFkIHRvIHJlc2l6ZSB0aGUgaW1hZ2UuIE9uY2UgY3Jl
YXRlZCwgSW1hZ2VSZXNpemVyVGhyZWFkCkBAIC00OSw1NiArNTMsNDUgQEAgY2xhc3MgSW1hZ2VS
ZXNpemVyVGhyZWFkOwogLy8gb2NjdXIsIGJvdGggb2JqZWN0cyBhcmUgZGVzdHJveWVkLiBJZiB0
aGUgZG9jdW1lbnQgaXMgZGVzdHJveWVkIGR1cmluZyByZXNpemluZywKIC8vIEFzeW5jSW1hZ2VS
ZXNpemVyIHdpbGwgcmVjZWl2ZSBhIG5vdGlmaWNhdGlvbiBhbmQgc3Vic2VxdWVudGx5IGJsb2Nr
IHRoZSBjYWxsYmFja3MgZnJvbQogLy8gb2NjdXJyaW5nLgotY2xhc3MgQXN5bmNJbWFnZVJlc2l6
ZXIgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHB1YmxpYyBSZWZDb3VudGVkPEFzeW5j
SW1hZ2VSZXNpemVyPiB7CitjbGFzcyBBc3luY0ltYWdlUmVzaXplciA6IHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3Ry
dWN0IENhbGxiYWNrSW5mbyB7Ci0gICAgICAgIENhbGxiYWNrSW5mbyhQYXNzUmVmUHRyPEFzeW5j
SW1hZ2VSZXNpemVyPiBhc3luY0ltYWdlUmVzaXplcikKKyAgICAgICAgQ2FsbGJhY2tJbmZvKFBh
c3NPd25QdHI8QXN5bmNJbWFnZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAg
ICAgOiBhc3luY0ltYWdlUmVzaXplcihhc3luY0ltYWdlUmVzaXplcikKICAgICAgICAgICAgICwg
YmxvYigwKQogICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8QXN5bmNJbWFn
ZVJlc2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOworICAgICAgICBPd25QdHI8QXN5bmNJbWFnZVJl
c2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyOwogICAgICAgICBSZWZQdHI8QmxvYj4gYmxvYjsKICAg
ICB9OwotICAgIAorCiAgICAgZW51bSBPdXRwdXRUeXBlIHsKICAgICAgICAgSlBFRywKICAgICAg
ICAgUE5HCiAgICAgfTsKIAotICAgIGVudW0gQXNwZWN0UmF0aW9PcHRpb24gewotICAgICAgICBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLAotICAgICAgICBJZ25vcmVBc3BlY3RSYXRpbwotICAgIH07Ci0K
LSAgICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKLSAgICAgICAgQ29ycmVjdE9yaWVudGF0aW9u
LAotICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgotICAgIH07Ci0KLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBc3luY0ltYWdlUmVzaXplcj4gY3JlYXRlKENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwg
SW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRWYWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlw
dFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uLCBP
cmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIENhY2hlZEltYWdlKiwgT3V0cHV0VHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6
ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+KTsKICAgICB+QXN5bmNJbWFnZVJlc2l6ZXIoKTsK
IAotICAgIC8vIEZJWE1FOiBJbnNlcnQgb3ZlcnJpZGUgZnVuY3Rpb24gZm9yIG5vdGlmaWNhdGlv
biBvZiBkb2N1bWVudCBkZXN0cnVjdGlvbiAoY2hhbmdlIG1fY2FsbGJhY2tzT2spLgotCi0gICAg
dm9pZCByZXNpemVDb21wbGV0ZShSZWZQdHI8QmxvYj4pIHsgLyogRklYTUU6IE5vdCB5ZXQgaW1w
bGVtZW50ZWQuICovIH0KLSAgICB2b2lkIHJlc2l6ZUVycm9yKCkgeyAvKiBGSVhNRTogTm90IHll
dCBpbXBsZW1lbnRlZC4gKi8gfQorICAgIHZvaWQgcmVzaXplQ29tcGxldGUoQmxvYiopOworICAg
IHZvaWQgcmVzaXplRXJyb3IoKTsKKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZCgp
OworICAgIHZpcnR1YWwgdm9pZCBzdG9wKCk7CiAKIHByaXZhdGU6Ci0gICAgQXN5bmNJbWFnZVJl
c2l6ZXIoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNj
cmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxv
YXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBB
c3luY0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQ2FjaGVkSW1hZ2UqLCBP
dXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4sIFBhc3NS
ZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9u
cz4pOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOwog
CiAgICAgQ2FjaGVkSW1hZ2UqIG1fY2FjaGVkSW1hZ2U7Ci0gICAgU2NyaXB0VmFsdWUgbV9zdWNj
ZXNzQ2FsbGJhY2s7Ci0gICAgU2NyaXB0VmFsdWUgbV9lcnJvckNhbGxiYWNrOwotICAgIAotICAg
IC8vIFBhcmFtZXRlcnMgdG8gcGFzcyBpbnRvIEltYWdlUmVzaXplclRocmVhZC4KKyAgICBDYWxs
YmFja0luZm8qIG1fY2FsbGJhY2tJbmZvOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwogICAgIE91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwot
ICAgIEludFNpemUgbV9kZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBB
c3BlY3RSYXRpb09wdGlvbiBtX2FzcGVjdFJhdGlvT3B0aW9uOwotICAgIE9yaWVudGF0aW9uT3B0
aW9uIG1fb3JpZW50YXRpb25PcHRpb247CisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjaz4gbV9zdWNjZXNzQ2FsbGJhY2s7CisgICAgUmVmUHRyPEltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2s+IG1fZXJyb3JDYWxsYmFjazsKKyAgICBSZWZQdHI8UmVzaXplT3B0aW9ucz4gbV9y
ZXNpemVPcHRpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCmluZGV4IDVkNTkyM2QuLjlhOGY0YjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKQEAgLTI4LDEzICsyOCwyMiBAQAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNp
bmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIkltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJJbWFnZVJlc2l6ZXJTdWNjZXNzQ2Fs
bGJhY2suaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlv
bnMuaCIKICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCiAKKyNpZiBFTkFCTEUoSU1B
R0VfUkVTSVpFUikKKyNpbmNsdWRlICJBc3luY0ltYWdlUmVzaXplci5oIgorI2VuZGlmCisKIHVz
aW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1MSw0ICs0NjAs
MzUgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgp
CiAgICAgSFRNTEVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CiB9CiAKKyNp
ZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp3ZWJraXRH
ZXRJbWFnZShTdHJpbmcgbWltZVR5cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0Nh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiByZXNpemVPcHRp
b25zLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXNyYygpLmlzVmFsaWQoKSkgewor
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgLy8gVGhpcyBjaGVja3MgdGhhdCB0aGUgc3JjIGlzIG5vbi1yZW1vdGUuIFRoZSB0YWlu
dHNDYW52YXMgbWV0aG9kIGlzIHVzZWQgYmVjYXVzZQorICAgIC8vIGRhdGEgVVJMcyBhcmUgdHJl
YXRlZCBhcyByZW1vdGUsIGFuZCB3ZSB3YW50IHRvIGFsbG93IHRoZW0uCisgICAgaWYgKGRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPnRhaW50c0NhbnZhcyhzcmMoKSkpIHsKKyAgICAgICAg
ZWMgPSBTRUNVUklUWV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0lt
YWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlOworICAgIGlmIChtaW1lVHlwZSA9PSAi
aW1hZ2UvanBlZyIpCisgICAgICAgIG91dHB1dFR5cGUgPSBBc3luY0ltYWdlUmVzaXplcjo6SlBF
RzsKKyAgICBlbHNlIGlmIChtaW1lVHlwZSA9PSAiaW1hZ2UvcG5nIikKKyAgICAgICAgb3V0cHV0
VHlwZSA9IEFzeW5jSW1hZ2VSZXNpemVyOjpQTkc7CisgICAgZWxzZSB7CisgICAgICAgIGVjID0g
Tk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBc3luY0lt
YWdlUmVzaXplcjo6c3RhcnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX2ltYWdlTG9hZGVy
LmltYWdlKCksIG91dHB1dFR5cGUsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgcmVz
aXplT3B0aW9ucyk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKwogfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggNjJkMzE1Yy4uMjU2YjhjNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCkBAIC0zMSw2ICszMSw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEhUTUxGb3JtRWxlbWVudDsKK2NsYXNzIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjazsK
K2NsYXNzIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s7CitjbGFzcyBSZXNpemVPcHRpb25zOwog
CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50IHsKICAgICBmcmll
bmQgY2xhc3MgSFRNTEZvcm1FbGVtZW50OwpAQCAtODksNiArOTIsMTAgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlTG9hZGVy
LmhhdmVGaXJlZExvYWRFdmVudCgpOyB9CiAKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKyAg
ICB2b2lkIHdlYmtpdEdldEltYWdlKFN0cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2s+LCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+LCBFeGNlcHRpb25Db2RlJik7CisjZW5kaWYK
KwogcHJvdGVjdGVkOgogICAgIEhUTUxJbWFnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDApOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5pZGwKaW5kZXggMGZjNzI3MS4uYWUzYzVlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmlk
bApAQCAtNDgsNiArNDgsMTQgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAvLyBPYmplY3RpdmUt
QyBleHRlbnNpb246CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWx0RGlz
cGxheVN0cmluZzsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdl
VVJMOworI2Vsc2UKKworI2lmIGRlZmluZWQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICYmIEVOQUJM
RV9JTUFHRV9SRVNJWkVSCisgICAgICAgIC8vIEZ1bmN0aW9ucworICAgICAgICBbQ3VzdG9tXSB2
b2lkIHdlYmtpdEdldEltYWdlKGluIERPTVN0cmluZyBtaW1lVHlwZSwgaW4gSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2ssIFtPcHRpb25hbF0gaW4gUmVzaXplT3B0aW9u
cyBvcHRpb25zKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisjZW5kaWYKKwog
I2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZmZmY4NgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFja19oCisjZGVmaW5lIEltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
aygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgY29uc3QgU3RyaW5nJikgPSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKElN
QUdFX1JFU0laRVIpCisKKyNlbmRpZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbCBiL1dl
YkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5mZmNjYmY4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9o
dG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
c3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU1BR0VfUkVT
SVpFUiwKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sg
eworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBlcnJvcik7CisgICAg
fTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJh
Y2suaCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDQwMGYzCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFja19oCisjZGVmaW5lIEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
QmxvYjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTdHJpbmc7CisKK2Ns
YXNzIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdl
UmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfkltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQmxvYiopID0gMDsKK307CisKK30KKworI2VuZGlmIC8v
IEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCisjZW5kaWYgLy8gSW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFja19oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxi
YWNrLmlkbCBiL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZmQ4N2YKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMCww
ICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPUlNQUdFX1JFU0laRVIsCisgICAgICAgIENhbGxiYWNrCisgICAgXSBJbWFnZVJlc2l6
ZXJTdWNjZXNzQ2FsbGJhY2sgeworICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIEJsb2Ig
YmxvYik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKaW5kZXggMWJh
ZTZhMC4uNGU5NzA0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVh
ZC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAj
aW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisKICNpbmNsdWRlIDx1dGlsaXR5PgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00NiwxMSArNDcsMTEgQEAgc3RhdGljIHZvaWQgcmV0dXJuQmxvYk9y
RXJyb3Iodm9pZCogY2FsbGJhY2tJbmZvcm1hdGlvbikKICAgICBpZiAoIWNhbGxiYWNrSW5mby0+
YmxvYikKICAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXplRXJy
b3IoKTsKICAgICBlbHNlCi0gICAgICAgIGNhbGxiYWNrSW5mby0+YXN5bmNJbWFnZVJlc2l6ZXIt
PnJlc2l6ZUNvbXBsZXRlKGNhbGxiYWNrSW5mby0+YmxvYik7CisgICAgICAgIGNhbGxiYWNrSW5m
by0+YXN5bmNJbWFnZVJlc2l6ZXItPnJlc2l6ZUNvbXBsZXRlKGNhbGxiYWNrSW5mby0+YmxvYi5n
ZXQoKSk7CiAgICAgZGVsZXRlIGNhbGxiYWNrSW5mbzsKIH0KIAotYm9vbCBJbWFnZVJlc2l6ZXJU
aHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1h
Z2VSZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNrSW5mbywgQXN5bmNJbWFnZVJlc2l6ZXI6
Ok91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFs
aXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24gYXNwZWN0UmF0aW9PcHRp
b24sIEFzeW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlv
bikKK2Jvb2wgSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0lu
Zm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVz
aXJlZEJvdW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0
aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBv
cmllbnRhdGlvbk9wdGlvbikKIHsKICAgICBJbWFnZVJlc2l6ZXJUaHJlYWQqIGltYWdlUmVzaXpl
clRocmVhZCA9IG5ldyBJbWFnZVJlc2l6ZXJUaHJlYWQoY2FsbGJhY2tJbmZvLCBvdXRwdXRUeXBl
LCBkZXNpcmVkQm91bmRzLCBxdWFsaXR5LCBhc3BlY3RSYXRpb09wdGlvbiwgb3JpZW50YXRpb25P
cHRpb24pOwogCkBAIC02Miw3ICs2Myw3IEBAIGJvb2wgSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFy
dChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzCiAgICAg
cmV0dXJuIGltYWdlUmVzaXplclRocmVhZC0+bV90aHJlYWRJRDsKIH0KIAotSW1hZ2VSZXNpemVy
VGhyZWFkOjpJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5m
byogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVy
OjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6
Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQorSW1hZ2VSZXNpemVyVGhyZWFk
OjpJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyogY2Fs
bGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBJbnRT
aXplIGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RS
YXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25P
cHRpb24gb3JpZW50YXRpb25PcHRpb24pCiAgICAgOiBtX3RocmVhZElEKDApCiAgICAgLCBtX2Nh
bGxiYWNrSW5mbyhjYWxsYmFja0luZm8pCiAgICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBiL1dlYkNvcmUv
aHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAppbmRleCBhZTVhZGU1Li4xNWJkM2JkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9odG1s
L0ltYWdlUmVzaXplclRocmVhZC5oCkBAIC0zNCw2ICszNCw4IEBACiAjaWYgRU5BQkxFKElNQUdF
X1JFU0laRVIpCiAKICNpbmNsdWRlICJBc3luY0ltYWdlUmVzaXplci5oIgorI2luY2x1ZGUgIklu
dFNpemUuaCIKKyNpbmNsdWRlICJSZXNpemVPcHRpb25zLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDIsMTEgKzQ0LDExIEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAogY2xhc3MgSW1h
Z2VSZXNpemVyVGhyZWFkIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgYm9vbCBzdGFydChQYXNzUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gaW1hZ2VEYXRhLCBBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJ
bmZvKiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5k
cywgZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVjdFJhdGlvT3B0aW9uLCBB
c3luY0ltYWdlUmVzaXplcjo6T3JpZW50YXRpb25PcHRpb24pOworICAgIHN0YXRpYyBib29sIHN0
YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVy
OjpDYWxsYmFja0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBk
ZXNpcmVkQm91bmRzLCBkb3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9P
cHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uKTsKICAgICB+SW1hZ2VSZXNp
emVyVGhyZWFkKCk7CiAKIHByaXZhdGU6Ci0gICAgSW1hZ2VSZXNpemVyVGhyZWFkKEFzeW5jSW1h
Z2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwg
SW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9hdCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6
QXNwZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1hZ2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7
CisgICAgSW1hZ2VSZXNpemVyVGhyZWFkKEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8q
LCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBk
b3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9w
dGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uKTsKICAgICBzdGF0aWMgdm9pZCogaW1hZ2VSZXNpemVy
VGhyZWFkU3RhcnQodm9pZCopOwogICAgIHZvaWQqIGltYWdlUmVzaXplclRocmVhZCgpOwogCkBA
IC01OCw5ICs2MCw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEJpdG1hcEltYWdlPiBtX2ltYWdl
OwogICAgIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG1fb3V0cHV0VHlwZTsKICAgICBJ
bnRTaXplIG1fZGVzaXJlZEJvdW5kczsKLSAgICBmbG9hdCBtX3F1YWxpdHk7Ci0gICAgQXN5bmNJ
bWFnZVJlc2l6ZXI6OkFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAg
QXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG1fb3JpZW50YXRpb25PcHRpb247
CisgICAgZG91YmxlIG1fcXVhbGl0eTsKKyAgICBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09w
dGlvbiBtX2FzcGVjdFJhdGlvT3B0aW9uOworICAgIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9u
T3B0aW9uIG1fb3JpZW50YXRpb25PcHRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAgYi9XZWJDb3JlL2h0
bWwvUmVzaXplT3B0aW9ucy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OGEyOTBmMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNw
cApAQCAtMCwwICsxLDExMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU1BR0Vf
UkVTSVpFUikKKyNpbmNsdWRlICJSZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEluY2x1c2l2ZSBsaW1pdHM7
CitzdGF0aWMgY29uc3QgaW50IGRpbWVuc2lvbnNMb3dlckxpbWl0ID0gMTsKK3N0YXRpYyBjb25z
dCBpbnQgZGltZW5zaW9uc1VwcGVyTGltaXQgPSAzMjc2NzsKK3N0YXRpYyBjb25zdCBkb3VibGUg
Y29tcHJlc3Npb25Mb3dlckxpbWl0ID0gMC4wOworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVz
c2lvblVwcGVyTGltaXQgPSAxLjA7CisKK3N0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdENvbXBy
ZXNzaW9uID0gMC44NTsKKworUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiBSZXNpemVPcHRpb25z
OjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVzaXplT3B0aW9ucygpKTsK
K30KKworUmVzaXplT3B0aW9uczo6UmVzaXplT3B0aW9ucygpCisgICAgOiBtX3dpZHRoKDApCisg
ICAgLCBtX2hlaWdodCgwKQorICAgICwgbV9jb21wcmVzc2lvbkxldmVsKGRlZmF1bHRDb21wcmVz
c2lvbikKKyAgICAsIG1fYXNwZWN0UmF0aW9PcHRpb24oSWdub3JlQXNwZWN0UmF0aW8pCisgICAg
LCBtX29yaWVudGF0aW9uT3B0aW9uKElnbm9yZU9yaWVudGF0aW9uKQoreworfQorCit2b2lkIFJl
c2l6ZU9wdGlvbnM6OnNldFdpZHRoKGludCB3aWR0aCkKK3sKKyAgICBtX3dpZHRoID0gd2lkdGgg
Pj0gZGltZW5zaW9uc0xvd2VyTGltaXQgJiYgd2lkdGggPD0gZGltZW5zaW9uc1VwcGVyTGltaXQg
PyB3aWR0aCA6IDA7Cit9CisKK2ludCBSZXNpemVPcHRpb25zOjp3aWR0aCgpCit7CisgICAgcmV0
dXJuIG1fd2lkdGg7Cit9CisKK3ZvaWQgUmVzaXplT3B0aW9uczo6c2V0SGVpZ2h0KGludCBoZWln
aHQpCit7CisgICAgbV9oZWlnaHQgPSBoZWlnaHQgPj0gZGltZW5zaW9uc0xvd2VyTGltaXQgJiYg
aGVpZ2h0IDw9IGRpbWVuc2lvbnNVcHBlckxpbWl0ID8gaGVpZ2h0IDogMDsKK30KKworaW50IFJl
c2l6ZU9wdGlvbnM6OmhlaWdodCgpCit7CisgICAgcmV0dXJuIG1faGVpZ2h0OworfQorCit2b2lk
IFJlc2l6ZU9wdGlvbnM6OnNldENvbXByZXNzaW9uTGV2ZWwoZG91YmxlIGNvbXByZXNzaW9uTGV2
ZWwpCit7CisgICAgbV9jb21wcmVzc2lvbkxldmVsID0gY29tcHJlc3Npb25MZXZlbCA+PSBjb21w
cmVzc2lvbkxvd2VyTGltaXQgJiYgY29tcHJlc3Npb25MZXZlbCA8PSBjb21wcmVzc2lvblVwcGVy
TGltaXQgPyBjb21wcmVzc2lvbkxldmVsIDogZGVmYXVsdENvbXByZXNzaW9uOworfQorCitkb3Vi
bGUgUmVzaXplT3B0aW9uczo6Y29tcHJlc3Npb25MZXZlbCgpCit7CisgICAgcmV0dXJuIG1fY29t
cHJlc3Npb25MZXZlbDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRBc3BlY3RSYXRpb09w
dGlvbihib29sIHByZXNlcnZlQXNwZWN0UmF0aW8pCit7CisgICAgbV9hc3BlY3RSYXRpb09wdGlv
biA9IHByZXNlcnZlQXNwZWN0UmF0aW8gPyBQcmVzZXJ2ZUFzcGVjdFJhdGlvIDogSWdub3JlQXNw
ZWN0UmF0aW87Cit9CisKK1Jlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIFJlc2l6ZU9w
dGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9hc3BlY3RSYXRpb09w
dGlvbjsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJp
bmcgb3JpZW50YXRpb25PcHRpb24pCit7CisgICAgbV9vcmllbnRhdGlvbk9wdGlvbiA9IG9yaWVu
dGF0aW9uT3B0aW9uID09ICJhdXRvIiA/IENvcnJlY3RPcmllbnRhdGlvbiA6IElnbm9yZU9yaWVu
dGF0aW9uOworfQorCitSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBSZXNpemVPcHRp
b25zOjpvcmllbnRhdGlvbk9wdGlvbigpCit7CisgICAgcmV0dXJuIG1fb3JpZW50YXRpb25PcHRp
b247Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFH
RV9SRVNJWkVSKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaCBiL1dl
YkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNzMyNzE5ZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRp
b25zLmgKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVzaXplT3B0aW9uc19oCisjZGVmaW5lIFJl
c2l6ZU9wdGlvbnNfaAorCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgU3RyaW5nOworCitjbGFzcyBSZXNpemVPcHRpb25zIDogcHVi
bGljIFJlZkNvdW50ZWQ8UmVzaXplT3B0aW9ucz4geworcHVibGljOgorICAgIGVudW0gQXNwZWN0
UmF0aW9PcHRpb24geworICAgICAgICBQcmVzZXJ2ZUFzcGVjdFJhdGlvLAorICAgICAgICBJZ25v
cmVBc3BlY3RSYXRpbworICAgIH07CisKKyAgICBlbnVtIE9yaWVudGF0aW9uT3B0aW9uIHsKKyAg
ICAgICAgQ29ycmVjdE9yaWVudGF0aW9uLAorICAgICAgICBJZ25vcmVPcmllbnRhdGlvbgorICAg
IH07CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPiBjcmVhdGUoKTsKKwor
ICAgIHZvaWQgc2V0V2lkdGgoaW50KTsKKyAgICBpbnQgd2lkdGgoKTsKKworICAgIHZvaWQgc2V0
SGVpZ2h0KGludCk7CisgICAgaW50IGhlaWdodCgpOworCisgICAgdm9pZCBzZXRDb21wcmVzc2lv
bkxldmVsKGRvdWJsZSk7CisgICAgZG91YmxlIGNvbXByZXNzaW9uTGV2ZWwoKTsKKworICAgIHZv
aWQgc2V0QXNwZWN0UmF0aW9PcHRpb24oYm9vbCk7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gYXNw
ZWN0UmF0aW9PcHRpb24oKTsKKworICAgIHZvaWQgc2V0T3JpZW50YXRpb25PcHRpb24oU3RyaW5n
KTsKKyAgICBPcmllbnRhdGlvbk9wdGlvbiBvcmllbnRhdGlvbk9wdGlvbigpOworCitwcml2YXRl
OgorICAgIFJlc2l6ZU9wdGlvbnMoKTsKKworICAgIC8vIElmIG1fd2lkdGggb3IgbV9oZWlnaHQg
PT0gMCwgdGhhdCBkaW1lbnNpb24gd2lsbCBub3QgY2hhbmdlIGV4cGxpY2l0bHkgZHVyaW5nIHJl
c2l6aW5nLgorICAgIGludCBtX3dpZHRoOworICAgIGludCBtX2hlaWdodDsKKyAgICBkb3VibGUg
bV9jb21wcmVzc2lvbkxldmVsOworICAgIEFzcGVjdFJhdGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9P
cHRpb247CisgICAgT3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVS
KQorCisjZW5kaWYgLy8gUmVzaXplT3B0aW9uc19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59802</attachid>
            <date>2010-06-25 15:07:14 -0700</date>
            <delta_ts>2011-01-21 06:15:45 -0800</delta_ts>
            <desc>JSC bindings</desc>
            <filename>image-resize-patch-2-JSC</filename>
            <type>text/plain</type>
            <size>99261</size>
            <attacher name="Sterling Swigart">sswigart</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOTM5NWRmLi45NTdhNzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTAtMDYt
MjEgIFN0ZXJsaW5nIFN3aWdhcnQgIDxzc3dpZ2FydEBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRXhwb3NlZCB0aGUg
aW1hZ2UgcmVzaXppbmcgQVBJIHRvIEpTQywgYnV0IGl0IGlzIGZ1bmN0aW9uYWxseSBpbmNvbXBs
ZXRlIGF0IHRoaXMgc3RhZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDg1NAorCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93
ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlw
ZXMuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5s
b2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxl
ZDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJ
bWFnZS9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUt
b2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanM6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVu
bG9hZC5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanM6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uv
c2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJ
bWFnZS1yZW1vdGUtb3JpZ2luLmh0bWwtZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZy4KKwog
MjAxMC0wNi0yMyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNGQ3ZWE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvYXJndW1lbnQtdHlwZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA2IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBm
b3IgYXJndW1lbnRzIHRvIHRoZSBJbWFnZS53ZWJraXRHZXRJbWFnZSBtZXRob2QuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBpLndlYmtpdEdldEltYWdlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZShu
dWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0
aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1h
Z2UvcG5nIiwgdW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCB7fSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24p
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVn
IiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0
R2V0SW1hZ2UoImltYWdlL2JtcCIsIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIEluZmluaXR5
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCAtSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsICJzdHJpbmciKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGkud2Vi
a2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5p
dHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
ICJzdHJpbmciKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00g
RXhjZXB0aW9uIDE3LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHdpZHRoIGdldHRlciBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgdHJ1ZSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5l
ZCwgNDIpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5KSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCAtSW5maW5pdHkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsICJzdHJpbmciKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0
eTpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2Uo
ImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVydHk6e319
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3Bl
cnR5OmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQ
cm9wZXJ0eTp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1bW15UHJvcGVy
dHk6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Oi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OiJzdHJp
bmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnVuZGVmaW5lZH0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge3dpZHRoOnt9fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB2
YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6ZW1wdHlGdW5jdGlvbn0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCwge3dpZHRoOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dp
ZHRoOkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOi1JbmZp
bml0eX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0pIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5
RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDpudWxsfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2hlaWdodDp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWln
aHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVl
T2YgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6ZW1wdHlGdW5jdGlvbn0pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0
eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVp
Z2h0OkluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDotSW5m
aW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OiJzdHJpbmcifSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6dW5kZWZpbmVk
fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6bnVsbH0p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9fSkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0
aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDp0cnVlfSkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rp
b24sIHVuZGVmaW5lZCwge2NvbXByZXNzaW9uTGV2ZWw6NDJ9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOi1JbmZpbml0eX0pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOiJzdHJpbmcifSkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86dW5kZWZpbmVkfSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0pIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnt9fSkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86b2JqZWN0VGhyb3dp
bmdFeGNlcHRpb259KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJ
bWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3Bl
Y3RSYXRpbzplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86dHJ1ZX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtw
cmVzZXJ2ZUFzcGVjdFJhdGlvOjQyfSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3By
ZXNlcnZlQXNwZWN0UmF0aW86SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzotSW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzoic3RyaW5nIn0pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjp1bmRlZmluZWR9KSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7b3JpZW50YXRpb246bnVsbH0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjp7fX0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBpLndl
YmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmll
bnRhdGlvbjpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIGkud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnRydWV9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7b3JpZW50YXRpb246NDJ9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246SW5maW5pdHl9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRp
b246LUluZmluaXR5fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGkud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
OiJzdHJpbmcifSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5o
dG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS9hcmd1bWVudC10eXBlcy5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmM1OTZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2FyZ3VtZW50LXR5cGVz
Lmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL2ltYWdlLWhhcy1u
by1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjY4ZjVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9p
bWFnZS1oYXMtbm8tc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGFuIGltYWdlIHdpdGggbm8gc291cmNlIHdpbGwgdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9F
UlIgZXhjZXB0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBFeGNl
cHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246IEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRpc2FibGVkIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9pbWFnZS1o
YXMtbm8tc291cmNlLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZDY4ZjFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvaW1hZ2UtaGFzLW5vLXNvdXJjZS5odG1sLWRp
c2FibGVkCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJjZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFm
dGVyLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxZDEzYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0
SW1hZ2Uvbm8tY2FsbGJhY2stYWZ0ZXItdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorRW5zdXJlcyB0aGF0
IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgTm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1
bmxvYWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5odG1sLWRpc2FibGVkIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFj
ay1hZnRlci11bmxvYWQuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zMTBhYTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9uby1jYWxsYmFjay1hZnRlci11bmxvYWQu
aHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVy
LXVubG9hZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292
ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0
SW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVl
ODJjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIGVuc3VyZXMgdGhhdCB3ZWJraXRHZXRJbWFnZSBt
YXkgYmUgb3ZlcnJpZGRlbiB3aXRoIGFub3RoZXIgbWV0aG9kLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyA0MiBpcyBub24temVyby4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtp
dEdldEltYWdlLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmh0bWwtZGlz
YWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2ZjljNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0
R2V0SW1hZ2Uvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuaHRtbC1kaXNhYmxlZApAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL292ZXJyaWRlLW9rLXdlYmtpdEdldEltYWdlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL1RFTVBMQVRF
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldElt
YWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmUzZGUzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9URU1QTEFURS5o
dG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0
LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmUzMmE5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5q
cwpAQCAtMCwwICsxLDE0NiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gdGhlIEltYWdlLndlYmtpdEdldEltYWdlIG1ldGhvZC4iKTsK
KworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikgeworICAgIHRyeSB7CisgICAg
ICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAgICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3
IGV4Y2VwdGlvbiAiICsgZSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGV4cHJlc3Npb24s
IGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBpZiAoZXhw
cmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBlY3RlZEV4Y2VwdGlvbikKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAi
JyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rpb24oKSB7IHJldHVybiAiRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsgfSkoKTsnKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNzaW9uKTsKKyAgICB9Cit9CisK
K3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZnVuY3Rpb24gT2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52
YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZU9mIHRocmV3
IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLl9fZGVm
aW5lR2V0dGVyX18oIndpZHRoIiwgZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9yKCd3
aWR0aCBnZXR0ZXIgZXhjZXB0aW9uJyk7Cit9KTsKK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCit2YXIgaSA9IG5ldyBJbWFnZSgp
OworaS5zcmMgPSAiLi4vcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSh1bmRlZmluZWQp
JywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIpJywgdHJ1ZSk7CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldElt
YWdlKCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9ibXAiLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsICdFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOScpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIDQyKScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCAic3RyaW5nIiknLCB0cnVlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCBvYmpl
Y3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImlt
YWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
aS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIDQy
KScsIHRydWUpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCdpLndlYmtpdEdl
dEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCAic3RyaW5nIiknLCB0cnVlKTsKKwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCBudWxsKScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge30p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlLCAnRXJyb3I6
IHdpZHRoIGdldHRlciBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHRydWUpJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCA0MiknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIEluZmluaXR5
KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVu
Y3Rpb24sIHVuZGVmaW5lZCwgLUluZmluaXR5KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwgInN0cmluZyIpJywg
ZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7ZHVtbXlQcm9wZXJ0eTpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Ont9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5Om9iamVjdFRocm93aW5nRXhjZXB0aW9u
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtkdW1teVByb3BlcnR5OmVtcHR5RnVuY3Rpb259KScsIGZhbHNl
KTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge2R1bW15UHJvcGVydHk6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRH
ZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9w
ZXJ0eTo0Mn0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwg
ZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTpJbmZpbml0eX0pJywgZmFs
c2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwg
dW5kZWZpbmVkLCB7ZHVtbXlQcm9wZXJ0eTotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2ku
d2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2R1
bW15UHJvcGVydHk6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6dW5kZWZpbmVk
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDp7
fX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlG
dW5jdGlvbiwgdW5kZWZpbmVkLCB7d2lkdGg6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRy
dWUsICdFcnJvcjogdmFsdWVPZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOmVtcHR5
RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3dpZHRoOnRydWV9KScsIGZhbHNlKTsKK3Rlc3Qo
J2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwg
e3dpZHRoOjQyfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDpJbmZpbml0eX0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7d2lkdGg6LUluZmluaXR5fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHt3aWR0aDoic3RyaW5nIn0p
JywgZmFsc2UpOworCit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtoZWlnaHQ6dW5kZWZpbmVkfSknLCBmYWxzZSk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHto
ZWlnaHQ6bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0Ont9fSknLCBmYWxzZSk7Cit0ZXN0
KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQs
IHtoZWlnaHQ6b2JqZWN0VGhyb3dpbmdFeGNlcHRpb259KScsIHRydWUsICdFcnJvcjogdmFsdWVP
ZiB0aHJldyBleGNlcHRpb24nKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDplbXB0eUZ1bmN0aW9ufSknLCBmYWxz
ZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1
bmRlZmluZWQsIHtoZWlnaHQ6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFn
ZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7aGVpZ2h0OjQyfSknLCBm
YWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9u
LCB1bmRlZmluZWQsIHtoZWlnaHQ6SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDot
SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIs
IGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2hlaWdodDoic3RyaW5nIn0pJywgZmFsc2UpOwor
Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRl
ZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53
ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29t
cHJlc3Npb25MZXZlbDpudWxsfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJp
bWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOnt9
fSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1
bmN0aW9uLCB1bmRlZmluZWQsIHtjb21wcmVzc2lvbkxldmVsOm9iamVjdFRocm93aW5nRXhjZXB0
aW9ufSknLCB0cnVlLCAnRXJyb3I6IHZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7Cit0ZXN0KCdp
LndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtj
b21wcmVzc2lvbkxldmVsOmVtcHR5RnVuY3Rpb259KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6dHJ1ZX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2Uv
cG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDo0Mn0pJywg
ZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlv
biwgdW5kZWZpbmVkLCB7Y29tcHJlc3Npb25MZXZlbDpJbmZpbml0eX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7Y29tcHJlc3Npb25MZXZlbDotSW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge2NvbXByZXNz
aW9uTGV2ZWw6InN0cmluZyJ9KScsIGZhbHNlKTsKKwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgi
aW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRp
bzp1bmRlZmluZWR9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3Bu
ZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86bnVsbH0p
JywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5j
dGlvbiwgdW5kZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzp7fX0pJywgZmFsc2UpOwordGVz
dCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVk
LCB7cHJlc2VydmVBc3BlY3RSYXRpbzpvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbn0pJywgZmFsc2Up
OwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5k
ZWZpbmVkLCB7cHJlc2VydmVBc3BlY3RSYXRpbzplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOnRydWV9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0
R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZl
QXNwZWN0UmF0aW86NDJ9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdl
L3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86SW5m
aW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVt
cHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge3ByZXNlcnZlQXNwZWN0UmF0aW86LUluZmluaXR5fSkn
LCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0
aW9uLCB1bmRlZmluZWQsIHtwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJzdHJpbmcifSknLCBmYWxzZSk7
CisKK3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVu
ZGVmaW5lZCwge29yaWVudGF0aW9uOnVuZGVmaW5lZH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJr
aXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50
YXRpb246bnVsbH0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246e319KScsIGZhbHNlKTsK
K3Rlc3QoJ2kud2Via2l0R2V0SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVm
aW5lZCwge29yaWVudGF0aW9uOm9iamVjdFRocm93aW5nRXhjZXB0aW9ufSknLCBmYWxzZSk7Cit0
ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmlu
ZWQsIHtvcmllbnRhdGlvbjplbXB0eUZ1bmN0aW9ufSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtp
dEdldEltYWdlKCJpbWFnZS9wbmciLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRh
dGlvbjp0cnVlfSknLCBmYWxzZSk7Cit0ZXN0KCdpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmci
LCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQsIHtvcmllbnRhdGlvbjo0Mn0pJywgZmFsc2UpOwor
dGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5nIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZp
bmVkLCB7b3JpZW50YXRpb246SW5maW5pdHl9KScsIGZhbHNlKTsKK3Rlc3QoJ2kud2Via2l0R2V0
SW1hZ2UoImltYWdlL3BuZyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCwge29yaWVudGF0aW9u
Oi1JbmZpbml0eX0pJywgZmFsc2UpOwordGVzdCgnaS53ZWJraXRHZXRJbWFnZSgiaW1hZ2UvcG5n
IiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkLCB7b3JpZW50YXRpb246InN0cmluZyJ9KScsIGZh
bHNlKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElt
YWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvaW1hZ2UtaGFzLW5vLXNvdXJj
ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1h
Z2Uvc2NyaXB0LXRlc3RzL2ltYWdlLWhhcy1uby1zb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOWI4MjEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL2lt
YWdlLWhhcy1uby1zb3VyY2UuanMKQEAgLTAsMCArMSwyMCBAQAorZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgYW4gaW1hZ2Ugd2l0aCBubyBzb3VyY2Ugd2lsbCB0aHJvdyBhbiBJTlZBTElEX1NUQVRF
X0VSUiBleGNlcHRpb24uIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9IG51bGw7
CisKK3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKworZG9jdW1lbnQuYm9keS5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0cnkgeworICAgICAgICBpLndlYmtpdEdldEltYWdl
KCJpbWFnZS9qcGVnIiwgZW1wdHlGdW5jdGlvbik7CisgICAgICAgIHRlc3RGYWlsZWQoIlNob3Vs
ZCBoYXZlIHRocm93biBleGNlcHRpb24uIE5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duLi4uIik7Cisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFz
c2VkKCJFeGNlcHRpb24gd2FzIGNvcnJlY3RseSB0aHJvd246ICIgKyBlKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorfTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9u
by1jYWxsYmFjay1hZnRlci11bmxvYWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10ZXN0cy9uby1jYWxsYmFjay1hZnRlci11
bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE4NmRmMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Vi
a2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL25vLWNhbGxiYWNrLWFmdGVyLXVubG9hZC5qcwpAQCAt
MCwwICsxLDI1IEBACitkZXNjcmlwdGlvbigiRW5zdXJlcyB0aGF0IHRoZSBjYWxsYmFja3Mgd2ls
bCBub3QgZXhlY3V0ZSBhZnRlciBvbnVubG9hZC4iKTsKKwordmFyIGkgPSBuZXcgSW1hZ2UoKTsK
K2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKworZG9jdW1lbnQuYm9keS5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dCgndGVzdFBhc3NlZCgi
Tm8gY2FsbGJhY2tzIGNhbGxlZCBhZnRlciB1bmxvYWQiKTsgZmluaXNoSlNUZXN0KCk7JywgMTAw
KTsKK30KKworZG9jdW1lbnQuYm9keS5vbnVubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGkud2Vi
a2l0R2V0SW1hZ2UoCisgICAgICAgICJpbWFnZS9wbmciLAorICAgICAgICBmdW5jdGlvbihibG9i
KSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkIHdlYmtpdEdldEltYWdlIHN1
Y2Nlc3MgY2FsbGJhY2suIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
fSwKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlVu
ZXhwZWN0ZWQgd2Via2l0R2V0SW1hZ2UgZXJyb3IgY2FsbGJhY2s6ICIgKyBlcnJvcik7CisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICk7Cit9CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRH
ZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJpZGUtb2std2Via2l0R2V0SW1hZ2UuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3NjcmlwdC10
ZXN0cy9vdmVycmlkZS1vay13ZWJraXRHZXRJbWFnZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41NWVmZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvb3ZlcnJp
ZGUtb2std2Via2l0R2V0SW1hZ2UuanMKQEAgLTAsMCArMSwxMiBAQAorZGVzY3JpcHRpb24oIlRo
aXMgZW5zdXJlcyB0aGF0IHdlYmtpdEdldEltYWdlIG1heSBiZSBvdmVycmlkZGVuIHdpdGggYW5v
dGhlciBtZXRob2QuIik7CisKK3ZhciBpID0gbmV3IEltYWdlKCk7CitpLnNyYyA9ICIuLi9yZXNv
dXJjZXMvYmx1ZV9yZWN0LmpwZyI7CisKK2kud2Via2l0R2V0SW1hZ2UgPSBmdW5jdGlvbigpIHsg
cmV0dXJuIDQyOyB9Cit2YXIgcmVzdWx0ID0gaS53ZWJraXRHZXRJbWFnZSgpOworCitzaG91bGRC
ZU5vblplcm8ocmVzdWx0KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRv
dy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMvdGVzdC1j
YWxsYmFja3MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtp
dEdldEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LWNhbGxiYWNrcy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kZjQ4MzcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJraXRHZXRJbWFnZS9zY3JpcHQtdGVzdHMv
dGVzdC1jYWxsYmFja3MuanMKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgdGhlIGNhbGxiYWNrcyB3b3JrIGNvcnJlY3RseS4iKTsKKwordmFyIGkgPSBuZXcgSW1hZ2Uo
KTsKK2kuc3JjID0gIi4uL3Jlc291cmNlcy9ibHVlX3JlY3QuanBnIjsKKwordmFyIHN1Y2Nlc3ND
YWxsYmFjayA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICB0ZXN0RmFpbGVkKCJTdWNjZXNzIGNhbGxi
YWNrIHdhcyBpbmNvcnJlY3RseSBjYWxsZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K3ZhciBlcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICB0ZXN0UGFzc2VkKCJF
cnJvciBjYWxsYmFjayB3YXMgY29ycmVjdGx5IGNhbGxlZCB3aXRoIG91dHB1dDogIiArIGVycm9y
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKKy8vIE9ubHkgdGhlIGVycm9yIGNhbGxiYWNr
IHdpbGwgY3VycmVudGx5IG5ldmVyIGJlIGNhbGxlZCBpbiB0aGlzIHBhdGNoLCBzbyB0ZXN0Cisv
LyB0aGF0IGl0IHdvcmtzIGZvciBub3cuCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Njcmlw
dC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2Uvc2NyaXB0LXRlc3RzL3Rlc3Qtb3V0cHV0LXR5cGVz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMWM5MDAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdl
dEltYWdlL3NjcmlwdC10ZXN0cy90ZXN0LW91dHB1dC10eXBlcy5qcwpAQCAtMCwwICsxLDMxIEBA
CisvLyBGSVhNRTogUE5HIGFuZCBKUEVHIGFyZSBub3QgaW1wbGVtZW50ZWQgb24gZXZlcnkgcGxh
dGZvcm0uCitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZGlmZmVyZW50IG91dHB1dCB0eXBl
IHBhcmFtZXRlcnMgd29yayIpOworCit2YXIgaSA9IG5ldyBJbWFnZSgpOworaS5zcmMgPSAiLi4v
cmVzb3VyY2VzL2JsdWVfcmVjdC5qcGciOworCit2YXIgc3VjY2Vzc0NhbGxiYWNrUG5nID0gZnVu
Y3Rpb24oYmxvYikgeworICAgIGlmIChibG9iLnR5cGUgPT0gImltYWdlL3BuZyIpCisgICAgICAg
IHRlc3RQYXNzZWQoIlBORyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UKKyAgICAgICAgdGVz
dEZhaWxlZCgiUE5HIGltYWdlIG5vdCByZXR1cm5lZC4gSW5zdGVhZCwgTUlNRSB0eXBlIGlzOiAi
ICsgYmxvYi50eXBlKTsKKyAgICBpLndlYmtpdEdldEltYWdlKCJpbWFnZS9qcGVnIiwgc3VjY2Vz
c0NhbGxiYWNrSnBlZywgZXJyb3JDYWxsYmFjayk7Cit9OworCit2YXIgc3VjY2Vzc0NhbGxiYWNr
SnBlZyA9IGZ1bmN0aW9uKGJsb2IpIHsKKyAgICBpZiAoYmxvYi50eXBlID09ICJpbWFnZS9qcGVn
IikKKyAgICAgICAgdGVzdFBhc3NlZCgiSlBFRyBpbWFnZSByZXR1cm5lZCIpOworICAgIGVsc2UK
KyAgICAgICAgdGVzdEZhaWxlZCgiSlBFRyBpbWFnZSBub3QgcmV0dXJuZWQuIEluc3RlYWQsIE1J
TUUgdHlwZSBpczogIiArIGJsb2IudHlwZSk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2
YXIgZXJyb3JDYWxsYmFjayA9IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgdGVzdEZhaWxlZCgiRXJy
b3IgY2FsbGJhY2sgY2FsbGVkIHdpdGggZXJyb3I6ICIgKyBlcnJvcik7CisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9OworCitpLndlYmtpdEdldEltYWdlKCJpbWFnZS9wbmciLCBzdWNjZXNzQ2FsbGJh
Y2tQbmcsIGVycm9yQ2FsbGJhY2spOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit3
aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC93ZWJr
aXRHZXRJbWFnZS90ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uOGMwMTgzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgdGhlIGNhbGxiYWNrcyB3
b3JrIGNvcnJlY3RseS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRXJy
b3IgY2FsbGJhY2sgd2FzIGNvcnJlY3RseSBjYWxsZWQgd2l0aCBvdXRwdXQ6IFVuZXhwZWN0ZWQg
ZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdlL3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJs
ZWQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3dlYmtpdEdldEltYWdl
L3Rlc3QtY2FsbGJhY2tzLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzI2NTAyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxJbWFnZUVsZW1lbnQvd2Via2l0R2V0SW1hZ2UvdGVzdC1jYWxsYmFja3MuaHRtbC1kaXNh
YmxlZApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3Rlc3QtY2FsbGJhY2tzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3JpZ2luLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1v
dGUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jNDhlZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNj
L2ltYWdlLXdlYmtpdEdldEltYWdlLXJlbW90ZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorVGVzdHMgdGhhdCBJbWFnZS53ZWJraXRHZXRJbWFnZSBjYW5ub3QgYmUgY2FsbGVk
IG9uIGFuIGltYWdlIG9mIHJlbW90ZSBvcmlnaW4uCisKKworUEFTUzogVGhyZXcgZXhjZXB0aW9u
OiBFcnJvcjogU0VDVVJJVFlfRVJSOiBET00gRXhjZXB0aW9uIDE4CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pbWFnZS13ZWJraXRHZXRJbWFnZS1yZW1vdGUtb3Jp
Z2luLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Vi
a2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmIyZjVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvaW1hZ2Utd2Via2l0R2V0SW1hZ2UtcmVtb3RlLW9yaWdpbi5odG1s
LWRpc2FibGVkCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgIlxuIikpOworfQorCit2YXIg
ZW1wdHlDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB9OworCit3aW5kb3cub25sb2FkID0gZnVuY3Rp
b24oKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJbWFnZSIpLndlYmtpdEdldEltYWdlKCJpbWFnZS9w
bmciLCBlbXB0eUNhbGxiYWNrKTsKKyAgICAgICAgbG9nKCJGQUlMOiBEaWQgbm90IHRocm93IGV4
Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nICgiUEFTUzogVGhyZXcg
ZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfQorCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQg
SW1hZ2Uud2Via2l0R2V0SW1hZ2UgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpbWFnZSBvZiByZW1v
dGUgb3JpZ2luLjwvcD4KKzxpbWcgaWQ9InRlc3RJbWFnZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvbWlzYy9yZXNvdXJjZXMvYmx1ZV9yZWN0LmpwZyIgLz4KKzxwcmUgaWQ9ImxvZyI+PC9w
cmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvcmVzb3VyY2VzL2JsdWVfcmVjdC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTk1ZGFjYmEzMGFkNDRkZTg2
ZTc3OGExMTAwYjZkOTRhZmJiMjFkNApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzM4CnpjbWEp
JEtNS043NDJRcUc9VE00QjxLfTVaa2I7VnIoQzZnZjxscnVqb35lVV9OQVM8JDBtTGlCU0NDcmso
cTlOOQp6VSZ0QDlpI15EdWA2TmRpZ2MjVHA5ZERRRzlZVGleVmxSNTV1dng0S01JPlQoX0RGbFZ1
WTlHP3gpWGBobkFNPGQKeVZGajhuVkNGP31EcWg3LSU7Uko2JEdYejtSMkBLKVcoQC1STjk7enxP
WjR7MmttSkdWcE1RTkNvbjdCamxwYjBECgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0FuZHJvaWQubWsgYi9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggMWJhOTlh
MC4uMTQ5MTg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1dlYkNvcmUv
QW5kcm9pZC5tawpAQCAtMjczLDYgKzI3Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FM
X1NSQ19GSUxFUykgXAogCWh0bWwvSW1hZ2VEYXRhLmNwcCBcCiAJaHRtbC9JbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwIFwKIAlodG1sL0xlZ2FjeVByZWxvYWRTY2FubmVyLmNwcCBcCisJaHRtbC9SZXNp
emVPcHRpb25zLmNwcCBcCiAJaHRtbC9UaW1lUmFuZ2VzLmNwcCBcCiAJaHRtbC9WYWxpZGl0eVN0
YXRlLmNwcCBcCiAJXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTQ1Y2U3Ny4uMTM4OTYwOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMs
NiArMjYzLDggQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwKICAgICBodG1sL0ltYWdlRGF0
YS5pZGwKKyAgICBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCisgICAgaHRtbC9J
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCiAgICAgaHRtbC9NZWRpYUVycm9yLmlkbAog
ICAgIGh0bWwvVGV4dE1ldHJpY3MuaWRsCiAgICAgaHRtbC9WYWxpZGl0eVN0YXRlLmlkbApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMGE4
NWU0Li44MmVlMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEwLTA2LTIxICBTdGVybGluZyBTd2lnYXJ0
ICA8c3N3aWdhcnRAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKyAgICAgICAgCisgICAgICAgIEV4cG9zZWQgdGhlIGltYWdlIHJlc2l6aW5nIEFQSSB0
byBKU0MsIGJ1dCBpdCBpcyBmdW5jdGlvbmFsbHkgaW5jb21wbGV0ZSBhdCB0aGlzIHN0YWdlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4NTQKKwor
ICAgICAgICAqIEFuZHJvaWQubWs6IEFkZGVkIFJlc2l6ZU9wdGlvbnMuY3BwLgorICAgICAgICAq
IENNYWtlTGlzdHMudHh0OiBBZGRlZCBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRv
LgorICAgICAgICAqIFdlYkNvcmUucHJpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6IERpdHRvLgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6Y3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVSZXNpemVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRN
TEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UpOgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFn
ZVJlc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0
KTogQ2xpZW50IG9mIHRoaXMgY2xhc3Mgbm8gbG9uZ2VyIGRvZXMgYW55IHJlZmNvdW50aW5nLgor
ICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1hZ2VSZXNpemVyKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNo
ZWQpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNJbWFnZVJlc2l6ZXI6OnJl
c2l6ZUNvbXBsZXRlKTogQWRkZWQgY2FsbGJhY2suCisgICAgICAgIChXZWJDb3JlOjpBc3luY0lt
YWdlUmVzaXplcjo6cmVzaXplRXJyb3IpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkFzeW5j
SW1hZ2VSZXNpemVyOjpjYW5TdXNwZW5kKTogRG9lcyBub3Qgc3VzcGVuZC4KKyAgICAgICAgKFdl
YkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpzdG9wKTogTm93IGlzIGxpbmtlZCB0byBkb2N1bWVu
dCdzIGRlc3RydWN0aW9uLgorICAgICAgICAqIGh0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm86OkNhbGxiYWNr
SW5mbyk6IE5vdyBvbmx5IHN0b3JlcyBuZWNlc3NpdGllcy4KKyAgICAgICAgKiBodG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6d2Vi
a2l0R2V0SW1hZ2UpOiBJbXBsZW1lbnRhdGlvbiBvZiBKUyBmdW5jdGlvbi4KKyAgICAgICAgKiBo
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s6On5JbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJh
Y2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
azo6fkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ltYWdlUmVz
aXplclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0
YXJ0KTogUmVmYWN0b3JlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUmVzaXplclRocmVhZDo6
SW1hZ2VSZXNpemVyVGhyZWFkKTogIFJlZmFjdG9yZWQuCisgICAgICAgICogaHRtbC9JbWFnZVJl
c2l6ZXJUaHJlYWQuaDogUmVmYWN0b3JlZC4KKyAgICAgICAgKiBodG1sL1Jlc2l6ZU9wdGlvbnMu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
c2l6ZU9wdGlvbnM6OndpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNl
dEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpoZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzaXplT3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc2l6ZU9wdGlvbnM6OmFzcGVjdFJhdGlvT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc2l6ZU9wdGlvbnM6Om9yaWVudGF0aW9uT3B0aW9uKToKKyAgICAgICAgKiBodG1s
L1Jlc2l6ZU9wdGlvbnMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNpemVPcHRpb25z
OjopOgorCiAyMDEwLTA2LTIzICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDkw
NGVhNTUuLmYwNmQ0ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xODEsNiArMTgxLDggQEAKICNpbmNs
dWRlICJKU0lEQlJlcXVlc3QuY3BwIgogI2luY2x1ZGUgIkpTSURCU3VjY2Vzc0V2ZW50LmNwcCIK
ICNpbmNsdWRlICJKU0ltYWdlRGF0YS5jcHAiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJv
ckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAiCiAjaW5jbHVkZSAiSlNJbmRleGVkRGF0YWJhc2VSZXF1ZXN0LmNwcCIKICNpbmNsdWRlICJK
U0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwIgogI2luY2x1ZGUgIkpTS2V5Ym9hcmRFdmVudC5jcHAi
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmYwOWEyMi4uMzlmNmE0NiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMjI0LDYgKzIyNCw4IEBAIERPTV9DTEFTU0VTID0gXAogICAgIElEQlJlcXVlc3QgXAogICAg
IElEQlN1Y2Nlc3NFdmVudCBcCiAgICAgSW1hZ2VEYXRhIFwKKyAgICBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2sgXAorICAgIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2sgXAogICAgIEluZGV4
ZWREYXRhYmFzZVJlcXVlc3QgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVj
dG9yQmFja2VuZCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNDhiMDM3Li42MTc3ZmQ4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTI3Niw2
ICsyNzYsOCBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVt
ZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKIAlXZWJDb3Jl
L2h0bWwvSW1hZ2VEYXRhLmlkbCBcCisJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2suaWRsIFwKKwlXZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlk
bCBcCiAJV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCiAJV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvVm9pZENhbGxiYWNrLmlkbCBcCkBAIC00NTYs
NiArNDU4LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
RnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJ
RnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFn
ZUVsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxl
bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50
Q3VzdG9tLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgXApAQCAtMTI3MiwxMyArMTI3NSwxNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmggXAogCVdlYkNvcmUvaHRtbC9JbWFn
ZURhdGEuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmggXAorCVdlYkNvcmUvaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJT
dWNjZXNzQ2FsbGJhY2suaCBcCiAJV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5jcHAg
XAogCVdlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCBcCiAJV2ViQ29yZS9odG1sL0xh
YmVsc05vZGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0xhYmVsc05vZGVMaXN0LmggXAotCVdl
YkNvcmUvaHRtbC9NZWRpYUVycm9yLmggXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nh
bm5lci5jcHAgXAogCVdlYkNvcmUvaHRtbC9MZWdhY3lQcmVsb2FkU2Nhbm5lci5oIFwKKwlXZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5oIFwKKwlXZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5jcHAg
XAorCVdlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmggXAogCVdlYkNvcmUvaHRtbC9TdGVwUmFu
Z2UuY3BwIFwKIAlXZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggXAogCVdlYkNvcmUvaHRtbC9UZXh0
TWV0cmljcy5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggNjMyMTQ4NS4uYTc1OWQyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE4OCw2ICsxODgsOCBA
QAogICAgICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRh
LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
JywKKyAgICAgICAgICAgICdodG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsJywKICAg
ICAgICAgICAgICdodG1sL01lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL1RleHRN
ZXRyaWNzLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9UaW1lUmFuZ2VzLmlkbCcsCkBAIC01NzMs
NiArNTc1LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1l
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxJRnJhbWVFbGVt
ZW50Q3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW1hZ2VFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1l
bnRDdXN0b20uY3BwJywKQEAgLTE2NjIsNiArMTY2NSw4IEBACiAgICAgICAgICAgICAnaHRtbC9I
VE1MVmlld1NvdXJjZURvY3VtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VEYXRhLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9J
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNp
emVyU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ2h0bWwvSW1hZ2VSZXNpemVyVGhy
ZWFkLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjZlNzdjYS4uZWFmMTlmOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJp
CkBAIC00MjQsNiArNDI0LDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxVTGlz
dEVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIFwKICAgICBodG1s
L0ltYWdlRGF0YS5pZGwgXAorICAgIGh0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwg
XAorICAgIGh0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAgaHRtbC9N
ZWRpYUVycm9yLmlkbCBcCiAgICAgaHRtbC9UZXh0TWV0cmljcy5pZGwgXAogICAgIGh0bWwvVGlt
ZVJhbmdlcy5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggOTg2ZjdhMy4uM2MxOWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTUsNiArMzE1LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MSUZyYW1lRWxlbWVudEN1c3RvbS5jcHAgXAorICAgIGJpbmRp
bmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pT
SFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVj
dEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAgXApAQCAtNzA1LDYgKzcwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0
bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBcCiAgICAgaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAg
XAogICAgIGh0bWwvTGVnYWN5UHJlbG9hZFNjYW5uZXIuY3BwIFwKKyAgICBodG1sL1Jlc2l6ZU9w
dGlvbnMuY3BwIFwKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAgXAogICAgIGh0bWwvVmFsaWRpdHlT
dGF0ZS5jcHAgXAogICAgIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgXApAQCAtMTQ0Miw5
ICsxNDQ0LDEyIEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oIFwK
ICAgICBodG1sL0hUTUxWaWV3U291cmNlRG9jdW1lbnQuaCBcCiAgICAgaHRtbC9JbWFnZURhdGEu
aCBcCisgICAgaHRtbC9JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggXAorICAgIGh0bWwvSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggXAogICAgIGh0bWwvSW1hZ2VSZXNpemVyVGhyZWFk
LmggXAogICAgIGh0bWwvTGFiZWxzTm9kZUxpc3QuaCBcCiAgICAgaHRtbC9MZWdhY3lQcmVsb2Fk
U2Nhbm5lci5oIFwKKyAgICBodG1sL1Jlc2l6ZU9wdGlvbnMuaCBcCiAgICAgaHRtbC9TdGVwUmFu
Z2UuaCBcCiAgICAgaHRtbC9UaW1lUmFuZ2VzLmggXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGI0MGZhMWMuLjhjNTkw
MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzc3MTMsNiArMzc3
MTMsMTQgQEAKIAkJCQk+CgogCQkJPC9GaWxlPgoKIAkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwv
RmlsZT4KCisJCQk8RmlsZQoKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrLmNwcCIKCisJCQkJPgoKKwkJCTwvRmlsZT4KCisJCQk8RmlsZQoKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCIKCiAJCQkJPgoK
IAkJCTwvRmlsZT4KCkBAIC0zNzc0MSw2ICszNzc0OSwxNCBAQAogCQkJCT4KCiAJCQk8L0ZpbGU+
CgogCQkJPEZpbGUKCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFJlc2l6ZU9wdGlvbnMuY3Bw
IgoKKwkJCQk+CgorCQkJPC9GaWxlPgoKKwkJCTxGaWxlCgorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxSZXNpemVPcHRpb25zLmgiCgorCQkJCT4KCisJCQk8L0ZpbGU+CgorCQkJPEZpbGUKCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiCgogCQkJCT4KCiAJCQk8L0Zp
bGU+CgpAQCAtNDA0NDAsNiArNDA0NTgsNTkgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
CiAJCQkJPC9GaWxlPgoKIAkJCQk8RmlsZQoKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIgoKKwkJCQkJPgoKKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Cgor
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgoKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgoKKwkJCQkJCT4KCisJCQkJCQk8VG9vbAoKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgoKKwkJCQkJCS8+CgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgoKKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCgorCQkJCQkJTmFtZT0iRGVidWdf
SW50ZXJuYWx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJ
PgoKKwkJCQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJ
Lz4KCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
CisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiIKCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKCisJCQkJCQk+CgorCQkJCQkJPFRvb2wKCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKCisJCQkJCQkvPgoKKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgoKKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiCgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJCQkJCTxUb29sCgorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KCisJCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCgorCQkJCQkJPgoKKwkJ
CQkJCTxUb29sCgorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCgorCQkJCQkJLz4KCisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CgorCQkJCTwvRmlsZT4KCisJCQkJPEZpbGUKCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNw
cCIKCiAJCQkJCT4KCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGQwOTQ3OC4uOTZiYzU5MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1MjQsNiArMzUyNCwxNSBA
QAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIy
MTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRC
MjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0Ig
LyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhy
ZWFkLmggKi87IH07CisJCUIwNEU2QkYyMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDRFNkJG
MTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oICovOyB9OworCQlCMDRFNkJGNTEx
QzdGMDc5MDAyMTQyODMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0QTA0QzExQUIxRUEwMDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0Mjgz
IC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTRBMDRBMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJQjA0RjU5RkYxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdlRWxl
bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMDRGNTlGRDExQzZBRkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9t
LmNwcCAqLzsgfTsKKwkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjBBNzE1
MUExMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwICovOyB9OworCQlCMEE3MTVC
NzExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwQTcxNUIzMTFEMDQz
MUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQlC
MEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3MTVCNDEx
RDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmggKi87IH07CisJ
CUIwQTcxNUI5MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMEE3
MTVCNTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3Bw
ICovOyB9OworCQlCMEE3MTVCQTExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIwQTcxNUI2MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxs
YmFjay5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAx
MTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi87IH07CiAJCUIyMDEx
MTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlCMjExMjdBNjBCMzE4Njc3MDAwOUJFNTMgLyogSlNT
VkdQT0RUeXBlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjIxMTI3QTUwQjMxODY3NzAwMDlCRTUzIC8qIEpTU1ZHUE9EVHlwZVdyYXBwZXIu
aCAqLzsgfTsKQEAgLTg4ODMsNiArODg5MiwxNyBAQAogCQlCMDE0OUU3QTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXN5bmNJbWFnZVJlc2l6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAx
NDlFN0IxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1h
Z2VSZXNpemVyVGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdl
UmVzaXplclRocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMDE0QTA0QTEx
QUIxRUEwMDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwMTRBMDRDMTFBQjFFQTAwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIwNEU2QkYxMTFDNkYwRTkwMDIxNDI4MyAvKiBSZXNpemVPcHRpb25zLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc2l6ZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjA0RjU5RkQxMUM2QUZENjAwMEI1QUMwIC8qIEpTSFRNTEltYWdl
RWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMEE3MTUxQTExQ0MyNEVFMDAzQzMzNzMgLyogUmVzaXplT3B0aW9ucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVPcHRpb25zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjBBNzE1NzkxMUQwMUIyMTAwM0MzMzczIC8qIEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTU3
QTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMEE3MTVCMzExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIwQTcxNUI0MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXpl
ckVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFn
ZVJlc2l6ZXJFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIw
QTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIwQTcxNUI2
MTFEMDQzMUUwMDNDMzM3MyAvKiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMTEyN0E1MEIzMTg2NzcwMDA5QkU1MyAvKiBKU1NWR1BPRFR5cGVXcmFwcGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR1BPRFR5cGVXcmFwcGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzc1MiwxNiArMTM3NzIsMjIgQEAK
IAkJCQlBNzc5NzkxMzBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmNwcCAqLywKIAkJCQlB
Nzc5NzkxNDBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmggKi8sCiAJCQkJQTc3OTc5MTUw
RDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5pZGwgKi8sCisJCQkJQjAxNEEwNEExMUFCMUVB
MDAwMTk2QTdCIC8qIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMEE3MTU3
OTExRDAxQjIxMDAzQzMzNzMgLyogSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwgKi8sCisJ
CQkJQjAxNEEwNEMxMUFCMUVBMDAwMTk2QTdCIC8qIEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFj
ay5oICovLAorCQkJCUIwQTcxNTdBMTFEMDFCMjEwMDNDMzM3MyAvKiBJbWFnZVJlc2l6ZXJTdWNj
ZXNzQ2FsbGJhY2suaWRsICovLAogCQkJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFn
ZVJlc2l6ZXJUaHJlYWQuY3BwICovLAogCQkJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuaCAqLywKIAkJCQlBNDU2RkEyNDExQUQ0QTgzMDAyMEI0MjAgLyog
TGFiZWxzTm9kZUxpc3QuY3BwICovLAogCQkJCUE0NTZGQTI1MTFBRDRBODMwMDIwQjQyMCAvKiBM
YWJlbHNOb2RlTGlzdC5oICovLAogCQkJCUY1MjNEMjUwMDJERTQzOTYwMTg2MzVDQSAvKiBMZWdh
Y3lIVE1MVHJlZUJ1aWxkZXIuY3BwICovLAogCQkJCUY1MjNEMjUxMDJERTQzOTYwMTg2MzVDQSAv
KiBMZWdhY3lIVE1MVHJlZUJ1aWxkZXIuaCAqLywKLQkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURB
NzUgLyogTWVkaWFFcnJvci5oICovLAotCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmlkbCAqLywKIAkJCQlFNEQ0QUJFMDBENzU0MkYwMDBGOTY4NjkgLyogTGVnYWN5
UHJlbG9hZFNjYW5uZXIuY3BwICovLAogCQkJCUU0RDRBQkUxMEQ3NTQyRjEwMEY5Njg2OSAvKiBM
ZWdhY3lQcmVsb2FkU2Nhbm5lci5oICovLAorCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAv
KiBNZWRpYUVycm9yLmggKi8sCisJCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlh
RXJyb3IuaWRsICovLAorCQkJCUIwQTcxNTFBMTFDQzI0RUUwMDNDMzM3MyAvKiBSZXNpemVPcHRp
b25zLmNwcCAqLywKKwkJCQlCMDRFNkJGMTExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9u
cy5oICovLAogCQkJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICov
LAogCQkJCUE1QUZCMzRFMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCAqLywKIAkJCQlC
Q0VGNDVFODBFNjg3NzY3MDAxQzEyODcgLyogVGV4dE1ldHJpY3MuaCAqLywKQEAgLTE0MDAzLDYg
KzE0MDI5LDEwIEBACiAJCQkJRTQ0NjE0MEYwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTSFRNTFZpZGVv
RWxlbWVudC5oICovLAogCQkJCUE3Nzk3OTI0MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0
YS5jcHAgKi8sCiAJCQkJQTc3OTc5MjUwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmgg
Ki8sCisJCQkJQjBBNzE1QjMxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjQxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VS
ZXNpemVyRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIwQTcxNUI1MTFEMDQzMUUwMDNDMzM3MyAv
KiBKU0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8sCisJCQkJQjBBNzE1QjYxMUQw
NDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJ
NDlFRUNFRjgxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5jcHAgKi8sCiAJCQkJNDlF
RUNFRjkxMDUwNzBDNDAwMDk5RkFCIC8qIEpTSW50MTZBcnJheS5oICovLAogCQkJCTQ5RUVDRUY2
MTA1MDcwQzQwMDA5OUZBQiAvKiBKU0ludDMyQXJyYXkuY3BwICovLApAQCAtMTU1NzMsNiArMTU2
MDMsNyBAQAogCQkJCUJDMkVEN0E0MEM2QzBGMzYwMDkyMEJGRiAvKiBKU0hUTUxGcmFtZUVsZW1l
bnRDdXN0b20uY3BwICovLAogCQkJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDMkVENjRGMEM2QkM0OEMwMDkyMEJG
RiAvKiBKU0hUTUxJRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJCQlCMDRGNTlGRDExQzZB
RkQ2MDAwQjVBQzAgLyogSlNIVE1MSW1hZ2VFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0M0
Mzg3NzBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywK
IAkJCQlCQzMwNUNBMzBDMDc4MUJCMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudEN1c3Rv
bS5jcHAgKi8sCiAJCQkJNDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlvbnND
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKQEAgLTE4MTkyLDYgKzE4MjIzLDggQEAKIAkJCQkxQTgy
MEQ5MjBBMTNFQkE2MDBBRjg0M0MgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgzIC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzdGNDRBODBCOUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjA0RTZCRjYxMUM3RjA3RTAwMjE0MjgzIC8qIEltYWdlUmVzaXplckVy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIwNEU2QkY1MTFDN0YwNzkwMDIxNDI4
MyAvKiBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUIw
MTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyNzUzNTcxMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZVNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEIzNDgwOTQwRUVGNTBENDAwQUMxQjQxIC8qIEltYWdlU291cmNlQ0cu
aCBpbiBIZWFkZXJzICovLApAQCAtMTg0MjUsNiArMTg0NTgsOCBAQAogCQkJCUM1NkM5MUE3MTE5
RDkxODcwMERFNENEOSAvKiBKU0lEQlN1Y2Nlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM2QzQ5RjQwRDdEQkEwNTAwRkZBNTU4IC8qIEpTSW1hZ2VDb25zdHJ1Y3Rvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTc3OTc5MjkwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMEE3MTVCODExRDA0MzFFMDAzQzMzNzMgLyogSlNJbWFnZVJlc2l6
ZXJFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMEE3MTVCQTExRDA0MzFFMDAz
QzMzNzMgLyogSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1RjRGNDExMTE5MzA2QzAwMEZERkFERCAvKiBKU0luZGV4ZWREYXRhYmFzZVJlcXVlc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3NkRCMTBCRjA1OTgwMEEwMjc2RSAvKiBKU0luamVj
dGVkU2NyaXB0SG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGMDYwQ0UwRjVFRUIyQjAwQTA3
RUFDIC8qIEpTSW5zcGVjdG9yQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODk1OSw2ICsx
ODk5NCw3IEBACiAJCQkJQTg5Q0NDNTMwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0
aFNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOUUwQTA5OUU2NDkyMDA1NkU1
ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2
QzJGMDk3OUMzQkQwMDQ2Nzc0MSAvKiBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMDRF
NkJGMjExQzZGMEU5MDAyMTQyODMgLyogUmVzaXplT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTM0RjcxNDIwRDVBNkY0NDAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzNEY3MTNDMEQ1QTZGMTkwMDAxOEQ2OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0Qzc2NzkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNl
SGFuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTIwNzQyLDYgKzIwNzc4LDcgQEAKIAkJCQlCQzQ5
MThDODBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MSUZyYW1lRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzJFRDY1MDBDNkJDNDhDMDA5MjBCRkYgLyogSlNIVE1MSUZyYW1lRWxlbWVu
dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUUyQUE5NzBBMUNERDJEMDBCNDJCMjUg
LyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIwNEY1OUZGMTFD
NkFGRDYwMDBCNUFDMCAvKiBKU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTgwRTdFOTgwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTElucHV0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0Mzg3ODBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQTk5MEExQ0RE
MkQwMEI0MkIyNSAvKiBKU0hUTUxJc0luZGV4RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTIwODAwLDYgKzIwODM3LDggQEAKIAkJCQlCQzZDNDlGMzBEN0RCQTA1MDBGRkE1NTggLyogSlNJ
bWFnZUNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3Nzk3OTI4MEQ2QjlFNjQw
MDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0QwMzE4RTBF
OTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQjBBNzE1QjcxMUQwNDMxRTAwM0MzMzczIC8qIEpTSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMEE3MTVCOTExRDA0MzFFMDAzQzMzNzMgLyogSlNJ
bWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGNEY0
MTAxMTkzMDZDMDAwRkRGQUREIC8qIEpTSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QTBFNzZEQTEwQkYwNTk4MDBBMDI3NkUgLyogSlNJbmplY3RlZFNjcmlw
dEhvc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0EwRTc2RDUxMEJGMDUwNzAwQTAyNzZFIC8q
IEpTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjEzNDYs
NiArMjEzODUsNyBAQAogCQkJCUE4OUNDQzUyMEY0NEU5ODEwMEI1REExMCAvKiBSZXBsYWNlTm9k
ZVdpdGhTcGFuQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwOTA5OUU2NDky
MDA1NkU1ODEgLyogUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNCMTZDMkUwOTc5QzNCRDAwNDY3NzQxIC8qIFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQjBBNzE1MUIxMUNDMjRFRTAwM0MzMzczIC8qIFJlc2l6ZU9wdGlvbnMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTM0RjcxM0UwRDVBNkYyODAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JC
YXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjUwMENFOTIzNEUwMDdFRjNDRCAvKiBS
ZXNvdXJjZUVycm9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzgwQ0U5MjNBMTAw
N0VGM0NEIC8qIFJlc291cmNlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxJbWFnZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MmRiNmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTEltYWdlRWxlbWVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSwxNjMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKElNQUdFX1JFU0laRVIpCisjaW5jbHVk
ZSAiSlNIVE1MSW1hZ2VFbGVtZW50LmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNs
dWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJFcnJvckNh
bGxiYWNrLmgiCisjaW5jbHVkZSAiSlNJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaCIKKyNp
bmNsdWRlICJSZXNpemVPcHRpb25zLmgiCisKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24u
aD4KKyNpbmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBQ
YXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVlLmluaGVyaXRzKCZKU0Z1
bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNN
QVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2Jq
ZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdlUmVzaXplclN1Y2Nlc3ND
YWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NS
ZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4gY3JlYXRlSW1hZ2VSZXNpemVyRXJyb3JD
YWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgdmFsdWUpCit7CisgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVu
ZGVmaW5lZCBpcyBhbGxvd2VkKSwgYW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAodmFsdWUu
aXNVbmRlZmluZWRPck51bGwoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIXZhbHVl
LmluaGVyaXRzKCZKU0Z1bmN0aW9uOjppbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRpb24o
ZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAg
ICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU0ltYWdl
UmVzaXplckVycm9yQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9iamVjdCk7Cit9CisK
K3N0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZVJlc2l6ZU9wdGlvbnMoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gUmVzaXplT3B0aW9uczo6Y3JlYXRlKCk7CisKKyAgICAvLyBBcmd1
bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBhbmQgbnVsbCBp
cyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7CisgICAgICAg
IC8vIFVzZSBkZWZhdWx0IG9wdGlvbnMuCisgICAgICAgIHJldHVybiByZXNpemVPcHRpb25zLnJl
bGVhc2UoKTsKKyAgICB9CisgICAgSlNPYmplY3QqIG9iamVjdCA9IHZhbHVlLnRvT2JqZWN0KGV4
ZWMpOworCisgICAgSlNWYWx1ZSB3aWR0aCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIo
ZXhlYywgIndpZHRoIikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgaWYgKCF3aWR0aC5pc1VuZGVmaW5lZCgpKSB7CisgICAgICAgIHJlc2l6
ZU9wdGlvbnMtPnNldFdpZHRoKHdpZHRoLnRvSW50MzIoZXhlYykpOworICAgICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBK
U1ZhbHVlIGhlaWdodCA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgImhlaWdo
dCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOwor
ICAgIGlmICghaGVpZ2h0LmlzVW5kZWZpbmVkKCkpIHsKKyAgICAgICAgcmVzaXplT3B0aW9ucy0+
c2V0SGVpZ2h0KGhlaWdodC50b0ludDMyKGV4ZWMpKTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4
Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgSlNWYWx1ZSBj
b21wcmVzc2lvbkxldmVsID0gb2JqZWN0LT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCAiY29t
cHJlc3Npb25MZXZlbCIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiAwOworICAgIGlmICghY29tcHJlc3Npb25MZXZlbC5pc1VuZGVmaW5lZCgpKSB7Cisg
ICAgICAgIHJlc2l6ZU9wdGlvbnMtPnNldENvbXByZXNzaW9uTGV2ZWwoY29tcHJlc3Npb25MZXZl
bC50b051bWJlcihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgcHJlc2VydmVBc3BlY3RS
YXRpbyA9IG9iamVjdC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgInByZXNlcnZlQXNwZWN0
UmF0aW8iKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICBpZiAoIXByZXNlcnZlQXNwZWN0UmF0aW8uaXNVbmRlZmluZWQoKSkgeworICAgICAg
ICByZXNpemVPcHRpb25zLT5zZXRBc3BlY3RSYXRpb09wdGlvbihwcmVzZXJ2ZUFzcGVjdFJhdGlv
LnRvQm9vbGVhbihleGVjKSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIEpTVmFsdWUgb3JpZW50YXRpb24gPSBv
YmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJvcmllbnRhdGlvbiIpKTsKKyAgICBp
ZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworICAgIGlmICghb3Jp
ZW50YXRpb24uaXNVbmRlZmluZWQoKSkgeworICAgICAgICByZXNpemVPcHRpb25zLT5zZXRPcmll
bnRhdGlvbk9wdGlvbih1c3RyaW5nVG9TdHJpbmcob3JpZW50YXRpb24udG9TdHJpbmcoZXhlYykp
KTsKKyAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorCisgICAgcmV0dXJuIHJlc2l6ZU9wdGlvbnMucmVsZWFzZSgpOworfQorCitK
U1ZhbHVlIEpTSFRNTEltYWdlRWxlbWVudDo6d2Via2l0R2V0SW1hZ2UoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGNvbnN0IFN0cmluZyYgbWltZVR5cGUgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+
YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworCisgICAgUmVmUHRyPEltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gY3JlYXRlSW1hZ2VSZXNpemVyU3VjY2Vz
c0NhbGxiYWNrKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMSkpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgQVNTRVJU
KHN1Y2Nlc3NDYWxsYmFjayk7CisKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjayA9IGNyZWF0ZUltYWdlUmVzaXplckVycm9yQ2FsbGJhY2soZXhlYywg
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpLCBleGVjLT5hcmd1bWVudCgyKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQor
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxSZXNpemVPcHRpb25z
PiByZXNpemVPcHRpb25zID0gY3JlYXRlUmVzaXplT3B0aW9ucyhleGVjLCBleGVjLT5hcmd1bWVu
dCgzKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKKyAgICBBU1NFUlQocmVzaXplT3B0aW9ucyk7CisKKyAgICBIVE1MSW1hZ2VF
bGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4oaW1w
bCgpKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBpbWFnZUVsZW1lbnQtPndlYmtp
dEdldEltYWdlKG1pbWVUeXBlLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxi
YWNrLnJlbGVhc2UoKSwgcmVzaXplT3B0aW9ucy5yZWxlYXNlKCksIGVjKTsKKyAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgZWMpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVTSVpFUikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAgYi9XZWJDb3JlL2h0
bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwCmluZGV4IDRiYjc0YzkuLjY4YzBkNmEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0FzeW5jSW1hZ2VSZXNpemVyLmNwcApAQCAtMzQsMjggKzM0LDMyIEBACiAjaW5jbHVkZSAiQXN5
bmNJbWFnZVJlc2l6ZXIuaCIKIAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCisjaW5jbHVkZSAi
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjay5oIgogI2luY2x1ZGUgIkltYWdlUmVzaXplclRocmVhZC5oIgorI2luY2x1ZGUg
IlJlc2l6ZU9wdGlvbnMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUg
PHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxBc3luY0ltYWdl
UmVzaXplcj4gQXN5bmNJbWFnZVJlc2l6ZXI6OmNyZWF0ZShDYWNoZWRJbWFnZSogY2FjaGVkSW1h
Z2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBTY3JpcHRW
YWx1ZSBzdWNjZXNzQ2FsbGJhY2ssIFNjcmlwdFZhbHVlIGVycm9yQ2FsbGJhY2ssIGZsb2F0IHF1
YWxpdHksIEFzcGVjdFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBPcmllbnRhdGlvbk9w
dGlvbiBvcmllbnRhdGlvbk9wdGlvbikKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnN0YXJ0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplclN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEltYWdlUmVz
aXplckVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UmVzaXplT3B0aW9u
cz4gcmVzaXplT3B0aW9ucykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEFzeW5jSW1hZ2VS
ZXNpemVyKGNhY2hlZEltYWdlLCBvdXRwdXRUeXBlLCBkZXNpcmVkQm91bmRzLCBzdWNjZXNzQ2Fs
bGJhY2ssIGVycm9yQ2FsbGJhY2ssIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRh
dGlvbk9wdGlvbikpOworICAgIG5ldyBBc3luY0ltYWdlUmVzaXplcihzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBjYWNoZWRJbWFnZSwgb3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNh
bGxiYWNrLCByZXNpemVPcHRpb25zKTsKIH0KIAotQXN5bmNJbWFnZVJlc2l6ZXI6OkFzeW5jSW1h
Z2VSZXNpemVyKENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSwgT3V0cHV0VHlwZSBvdXRwdXRUeXBl
LCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2Ny
aXB0VmFsdWUgZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24g
YXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQot
ICAgIDogbV9jYWNoZWRJbWFnZShjYWNoZWRJbWFnZSkKK0FzeW5jSW1hZ2VSZXNpemVyOjpBc3lu
Y0ltYWdlUmVzaXplcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UsIE91dHB1dFR5cGUgb3V0cHV0VHlwZSwgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVm
UHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMpCisgICAgOiBBY3RpdmVET01PYmplY3Qo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdGhpcykKKyAgICAsIG1fY2FjaGVkSW1hZ2UoY2FjaGVk
SW1hZ2UpCisgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKKyAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQogICAgICwgbV9zdWNjZXNzQ2Fs
bGJhY2soc3VjY2Vzc0NhbGxiYWNrKQogICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2spCi0gICAgLCBtX291dHB1dFR5cGUob3V0cHV0VHlwZSkKLSAgICAsIG1fZGVzaXJlZEJvdW5k
cyhkZXNpcmVkQm91bmRzKQotICAgICwgbV9xdWFsaXR5KHF1YWxpdHkpCi0gICAgLCBtX2FzcGVj
dFJhdGlvT3B0aW9uKGFzcGVjdFJhdGlvT3B0aW9uKQotICAgICwgbV9vcmllbnRhdGlvbk9wdGlv
bihvcmllbnRhdGlvbk9wdGlvbikKKyAgICAsIG1fcmVzaXplT3B0aW9ucyhyZXNpemVPcHRpb25z
KQogewotICAgIEFTU0VSVChtX3N1Y2Nlc3NDYWxsYmFjay5pc09iamVjdCgpKTsKKyAgICBtX2Nh
bGxiYWNrSW5mbyA9IG5ldyBDYWxsYmFja0luZm8odGhpcyk7CisgICAgQVNTRVJUKG1fc3VjY2Vz
c0NhbGxiYWNrLmdldCgpKTsKICAgICBtX2NhY2hlZEltYWdlLT5hZGRDbGllbnQodGhpcyk7CiB9
CiAKQEAgLTY1LDExICs2OSw0OCBAQCBBc3luY0ltYWdlUmVzaXplcjo6fkFzeW5jSW1hZ2VSZXNp
emVyKCkKIAogdm9pZCBBc3luY0ltYWdlUmVzaXplcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVz
b3VyY2UqIGNhY2hlZFJlc291cmNlKQogewotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdl
RGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNvcHkoKTsKLSAgICBjYWNoZWRSZXNvdXJj
ZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOwotICAgIENhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvID0g
bmV3IENhbGxiYWNrSW5mbyh0aGlzKTsKLSAgICBpZiAoIUltYWdlUmVzaXplclRocmVhZDo6c3Rh
cnQoaW1hZ2VEYXRhLCBjYWxsYmFja0luZm8sIG1fb3V0cHV0VHlwZSwgbV9kZXNpcmVkQm91bmRz
LCBtX3F1YWxpdHksIG1fYXNwZWN0UmF0aW9PcHRpb24sIG1fb3JpZW50YXRpb25PcHRpb24pKQor
ICAgIGlmICghY2FjaGVkUmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSAmJiAhY2FjaGVkUmVzb3Vy
Y2UtPmRhdGEoKS0+aXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGlt
YWdlRGF0YSA9IGNhY2hlZFJlc291cmNlLT5kYXRhKCktPmNvcHkoKTsKKyAgICAgICAgY2FjaGVk
UmVzb3VyY2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKKyAgICAgICAgCisgICAgICAgIC8vIElmIHN0
YXJ0IHN1Y2NlZWRzLCBJbWFnZVJlc2l6ZXJUaHJlYWQgbm93IG93bnMgbV9jYWxsYmFja0luZm8s
IGFuZCBtX2NhbGxiYWNrSW5mbworICAgICAgICAvLyBub3cgb3ducyB0aGlzIGNsYXNzLgorICAg
ICAgICBpZiAoSW1hZ2VSZXNpemVyVGhyZWFkOjpzdGFydChpbWFnZURhdGEsIG1fY2FsbGJhY2tJ
bmZvLCBtX291dHB1dFR5cGUsIEludFNpemUobV9yZXNpemVPcHRpb25zLT53aWR0aCgpLCBtX3Jl
c2l6ZU9wdGlvbnMtPmhlaWdodCgpKSwgbV9yZXNpemVPcHRpb25zLT5jb21wcmVzc2lvbkxldmVs
KCksIG1fcmVzaXplT3B0aW9ucy0+YXNwZWN0UmF0aW9PcHRpb24oKSwgbV9yZXNpemVPcHRpb25z
LT5vcmllbnRhdGlvbk9wdGlvbigpKSkKKyAgICAgICAgICAgIG1fY2FsbGJhY2tJbmZvID0gMDsK
KyAgICB9CisgICAgCisgICAgLy8gRXJyb3IgLS0gZGVzdHJveSB0aGlzIGNsYXNzLgorICAgIGlm
IChtX2NhbGxiYWNrSW5mbykgewogICAgICAgICByZXNpemVFcnJvcigpOworICAgICAgICBkZWxl
dGUgbV9jYWxsYmFja0luZm87CisgICAgfQorfQorCit2b2lkIEFzeW5jSW1hZ2VSZXNpemVyOjpy
ZXNpemVDb21wbGV0ZShCbG9iKiBibG9iKQoreworICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjay5n
ZXQoKSkKKyAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwgYmxvYik7Cit9CisKK3ZvaWQgQXN5bmNJbWFnZVJlc2l6ZXI6OnJlc2l6
ZUVycm9yKCkKK3sKKyAgICBpZiAobV9lcnJvckNhbGxiYWNrLmdldCgpKQorICAgICAgICBtX2Vy
cm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgIlVuZXhw
ZWN0ZWQgZXJyb3Igd2hpbGUgcmVzaXppbmcgaW1hZ2UiKTsKK30KKworYm9vbCBBc3luY0ltYWdl
UmVzaXplcjo6Y2FuU3VzcGVuZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFz
eW5jSW1hZ2VSZXNpemVyOjpzdG9wKCkKK3sKKyAgICBpZiAobV9jYWxsYmFja0luZm8pIHsKKyAg
ICAgICAgZGVsZXRlIG1fY2FsbGJhY2tJbmZvOworICAgICAgICByZXR1cm47IC8vIEFzeW5jSW1h
Z2VSZXNpemVyIGhhcyBiZWVuIGRlbGV0ZWQuCisgICAgfQorICAgIG1fc3VjY2Vzc0NhbGxiYWNr
LmNsZWFyKCk7CisgICAgbV9lcnJvckNhbGxiYWNrLmNsZWFyKCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Bc3luY0ltYWdlUmVzaXplci5o
IGIvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKaW5kZXggYWRkMDcwYS4uZjY3MzA3
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmgKQEAgLTMzLDE1ICszMywxOSBAQAogCiAjaWYg
RU5BQkxFKElNQUdFX1JFU0laRVIpCiAKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNp
bmNsdWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKICNpbmNs
dWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDYWNoZWRJbWFnZTsKK2NsYXNzIEltYWdlUmVzaXplckVycm9yQ2Fs
bGJhY2s7CitjbGFzcyBJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s7CiBjbGFzcyBJbWFnZVJl
c2l6ZXJUaHJlYWQ7CitjbGFzcyBSZXNpemVPcHRpb25zOworY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIAogLy8gQXN5bmNJbWFnZVJlc2l6ZXIgd2FpdHMgZm9yIHRoZSBDYWNoZWRJbWFn
ZSB0aGF0IGlzIHBhc3NlZCBpbiB0byBsb2FkIGNvbXBsZXRlbHksCiAvLyB0aGVuIHN0YXJ0cyBh
biBJbWFnZVJlc2l6ZXJUaHJlYWQgdG8gcmVzaXplIHRoZSBpbWFnZS4gT25jZSBjcmVhdGVkLCBJ
bWFnZVJlc2l6ZXJUaHJlYWQKQEAgLTQ5LDU2ICs1Myw0NSBAQCBjbGFzcyBJbWFnZVJlc2l6ZXJU
aHJlYWQ7CiAvLyBvY2N1ciwgYm90aCBvYmplY3RzIGFyZSBkZXN0cm95ZWQuIElmIHRoZSBkb2N1
bWVudCBpcyBkZXN0cm95ZWQgZHVyaW5nIHJlc2l6aW5nLAogLy8gQXN5bmNJbWFnZVJlc2l6ZXIg
d2lsbCByZWNlaXZlIGEgbm90aWZpY2F0aW9uIGFuZCBzdWJzZXF1ZW50bHkgYmxvY2sgdGhlIGNh
bGxiYWNrcyBmcm9tCiAvLyBvY2N1cnJpbmcuCi1jbGFzcyBBc3luY0ltYWdlUmVzaXplciA6IHB1
YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8QXN5bmNJbWFnZVJl
c2l6ZXI+IHsKK2NsYXNzIEFzeW5jSW1hZ2VSZXNpemVyIDogcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgQ2Fs
bGJhY2tJbmZvIHsKLSAgICAgICAgQ2FsbGJhY2tJbmZvKFBhc3NSZWZQdHI8QXN5bmNJbWFnZVJl
c2l6ZXI+IGFzeW5jSW1hZ2VSZXNpemVyKQorICAgICAgICBDYWxsYmFja0luZm8oUGFzc093blB0
cjxBc3luY0ltYWdlUmVzaXplcj4gYXN5bmNJbWFnZVJlc2l6ZXIpCiAgICAgICAgICAgICA6IGFz
eW5jSW1hZ2VSZXNpemVyKGFzeW5jSW1hZ2VSZXNpemVyKQogICAgICAgICAgICAgLCBibG9iKDAp
CiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIFJlZlB0cjxBc3luY0ltYWdlUmVzaXpl
cj4gYXN5bmNJbWFnZVJlc2l6ZXI7CisgICAgICAgIE93blB0cjxBc3luY0ltYWdlUmVzaXplcj4g
YXN5bmNJbWFnZVJlc2l6ZXI7CiAgICAgICAgIFJlZlB0cjxCbG9iPiBibG9iOwogICAgIH07Ci0g
ICAgCisKICAgICBlbnVtIE91dHB1dFR5cGUgewogICAgICAgICBKUEVHLAogICAgICAgICBQTkcK
ICAgICB9OwogCi0gICAgZW51bSBBc3BlY3RSYXRpb09wdGlvbiB7Ci0gICAgICAgIFByZXNlcnZl
QXNwZWN0UmF0aW8sCi0gICAgICAgIElnbm9yZUFzcGVjdFJhdGlvCi0gICAgfTsKLQotICAgIGVu
dW0gT3JpZW50YXRpb25PcHRpb24gewotICAgICAgICBDb3JyZWN0T3JpZW50YXRpb24sCi0gICAg
ICAgIElnbm9yZU9yaWVudGF0aW9uCi0gICAgfTsKLQotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEFz
eW5jSW1hZ2VSZXNpemVyPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBJbnRTaXpl
IGRlc2lyZWRCb3VuZHMsIFNjcmlwdFZhbHVlIHN1Y2Nlc3NDYWxsYmFjaywgU2NyaXB0VmFsdWUg
ZXJyb3JDYWxsYmFjaywgZmxvYXQgcXVhbGl0eSwgQXNwZWN0UmF0aW9PcHRpb24sIE9yaWVudGF0
aW9uT3B0aW9uKTsKKyAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgQ2FjaGVkSW1hZ2UqLCBPdXRwdXRUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBhc3NS
ZWZQdHI8UmVzaXplT3B0aW9ucz4pOwogICAgIH5Bc3luY0ltYWdlUmVzaXplcigpOwogCi0gICAg
Ly8gRklYTUU6IEluc2VydCBvdmVycmlkZSBmdW5jdGlvbiBmb3Igbm90aWZpY2F0aW9uIG9mIGRv
Y3VtZW50IGRlc3RydWN0aW9uIChjaGFuZ2UgbV9jYWxsYmFja3NPaykuCi0KLSAgICB2b2lkIHJl
c2l6ZUNvbXBsZXRlKFJlZlB0cjxCbG9iPikgeyAvKiBGSVhNRTogTm90IHlldCBpbXBsZW1lbnRl
ZC4gKi8gfQotICAgIHZvaWQgcmVzaXplRXJyb3IoKSB7IC8qIEZJWE1FOiBOb3QgeWV0IGltcGxl
bWVudGVkLiAqLyB9CisgICAgdm9pZCByZXNpemVDb21wbGV0ZShCbG9iKik7CisgICAgdm9pZCBy
ZXNpemVFcnJvcigpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kKCk7CisgICAg
dmlydHVhbCB2b2lkIHN0b3AoKTsKIAogcHJpdmF0ZToKLSAgICBBc3luY0ltYWdlUmVzaXplcihD
YWNoZWRJbWFnZSosIE91dHB1dFR5cGUsIEludFNpemUgZGVzaXJlZEJvdW5kcywgU2NyaXB0VmFs
dWUgc3VjY2Vzc0NhbGxiYWNrLCBTY3JpcHRWYWx1ZSBlcnJvckNhbGxiYWNrLCBmbG9hdCBxdWFs
aXR5LCBBc3BlY3RSYXRpb09wdGlvbiwgT3JpZW50YXRpb25PcHRpb24pOworICAgIEFzeW5jSW1h
Z2VSZXNpemVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWNoZWRJbWFnZSosIE91dHB1dFR5
cGUsIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrPiwgUGFzc1JlZlB0cjxJ
bWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiwgUGFzc1JlZlB0cjxSZXNpemVPcHRpb25zPik7CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7CiAKICAgICBD
YWNoZWRJbWFnZSogbV9jYWNoZWRJbWFnZTsKLSAgICBTY3JpcHRWYWx1ZSBtX3N1Y2Nlc3NDYWxs
YmFjazsKLSAgICBTY3JpcHRWYWx1ZSBtX2Vycm9yQ2FsbGJhY2s7Ci0gICAgCi0gICAgLy8gUGFy
YW1ldGVycyB0byBwYXNzIGludG8gSW1hZ2VSZXNpemVyVGhyZWFkLgorICAgIENhbGxiYWNrSW5m
byogbV9jYWxsYmFja0luZm87CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0OworCiAgICAgT3V0cHV0VHlwZSBtX291dHB1dFR5cGU7Ci0gICAgSW50
U2l6ZSBtX2Rlc2lyZWRCb3VuZHM7Ci0gICAgZmxvYXQgbV9xdWFsaXR5OwotICAgIEFzcGVjdFJh
dGlvT3B0aW9uIG1fYXNwZWN0UmF0aW9PcHRpb247Ci0gICAgT3JpZW50YXRpb25PcHRpb24gbV9v
cmllbnRhdGlvbk9wdGlvbjsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNr
PiBtX3N1Y2Nlc3NDYWxsYmFjazsKKyAgICBSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFj
az4gbV9lcnJvckNhbGxiYWNrOworICAgIFJlZlB0cjxSZXNpemVPcHRpb25zPiBtX3Jlc2l6ZU9w
dGlvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKaW5kZXggNWQ1OTIzZC4uOWE4ZjRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNw
cApAQCAtMjgsMTMgKzI4LDIyIEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2lu
Y2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUg
IkhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkltYWdlLmgiCisjaW5jbHVkZSAiSW1hZ2VSZXNpemVy
RXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5o
IgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVzaXplT3B0aW9ucy5oIgog
I2luY2x1ZGUgIlNjcmlwdEV2ZW50TGlzdGVuZXIuaCIKIAorI2lmIEVOQUJMRShJTUFHRV9SRVNJ
WkVSKQorI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUxLDQgKzQ2MCwzNSBAQCB2
b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxNb3ZlVG9OZXdPd25lckRvY3VtZW50KCkKICAgICBI
VE1MRWxlbWVudDo6d2lsbE1vdmVUb05ld093bmVyRG9jdW1lbnQoKTsKIH0KIAorI2lmIEVOQUJM
RShJTUFHRV9SRVNJWkVSKQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OndlYmtpdEdldEltYWdl
KFN0cmluZyBtaW1lVHlwZSwgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IHJlc2l6ZU9wdGlvbnMsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghc3JjKCkuaXNWYWxpZCgpKSB7CisgICAgICAg
IGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBUaGlzIGNoZWNrcyB0aGF0IHRoZSBzcmMgaXMgbm9uLXJlbW90ZS4gVGhlIHRhaW50c0NhbnZh
cyBtZXRob2QgaXMgdXNlZCBiZWNhdXNlCisgICAgLy8gZGF0YSBVUkxzIGFyZSB0cmVhdGVkIGFz
IHJlbW90ZSwgYW5kIHdlIHdhbnQgdG8gYWxsb3cgdGhlbS4KKyAgICBpZiAoZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKS0+dGFpbnRzQ2FudmFzKHNyYygpKSkgeworICAgICAgICBlYyA9IFNF
Q1VSSVRZX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5jSW1hZ2VSZXNp
emVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGU7CisgICAgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9q
cGVnIikKKyAgICAgICAgb3V0cHV0VHlwZSA9IEFzeW5jSW1hZ2VSZXNpemVyOjpKUEVHOworICAg
IGVsc2UgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9wbmciKQorICAgICAgICBvdXRwdXRUeXBlID0g
QXN5bmNJbWFnZVJlc2l6ZXI6OlBORzsKKyAgICBlbHNlIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQ
UE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFzeW5jSW1hZ2VSZXNp
emVyOjpzdGFydChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1faW1hZ2VMb2FkZXIuaW1hZ2Uo
KSwgb3V0cHV0VHlwZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCByZXNpemVPcHRp
b25zKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCiB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaAppbmRleCA2MmQzMTVjLi4yNTZiOGM0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmgKQEAgLTMxLDYgKzMxLDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRN
TEZvcm1FbGVtZW50OworY2xhc3MgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrOworY2xhc3Mg
SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjazsKK2NsYXNzIFJlc2l6ZU9wdGlvbnM7CiAKIGNsYXNz
IEhUTUxJbWFnZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogICAgIGZyaWVuZCBjbGFz
cyBIVE1MRm9ybUVsZW1lbnQ7CkBAIC04OSw2ICs5MiwxMCBAQCBwdWJsaWM6CiAKICAgICBib29s
IGhhdmVGaXJlZExvYWRFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VMb2FkZXIuaGF2ZUZp
cmVkTG9hZEV2ZW50KCk7IH0KIAorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorICAgIHZvaWQg
d2Via2l0R2V0SW1hZ2UoU3RyaW5nIG1pbWVUeXBlLCBQYXNzUmVmUHRyPEltYWdlUmVzaXplclN1
Y2Nlc3NDYWxsYmFjaz4sIFBhc3NSZWZQdHI8SW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjaz4sIFBh
c3NSZWZQdHI8UmVzaXplT3B0aW9ucz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyNlbmRpZgorCiBwcm90
ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQqLCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbApp
bmRleCAwZmM3MjcxLi5hZTNjNWU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCkBAIC00
OCw2ICs0OCwxNCBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVu
c2lvbjoKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhbHREaXNwbGF5U3Ry
aW5nOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7Cisj
ZWxzZQorCisjaWYgZGVmaW5lZChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJiYgRU5BQkxFX0lNQUdF
X1JFU0laRVIKKyAgICAgICAgLy8gRnVuY3Rpb25zCisgICAgICAgIFtDdXN0b21dIHZvaWQgd2Vi
a2l0R2V0SW1hZ2UoaW4gRE9NU3RyaW5nIG1pbWVUeXBlLCBpbiBJbWFnZVJlc2l6ZXJTdWNjZXNz
Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBbT3B0aW9uYWxdIGluIEltYWdlUmVzaXplckVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjaywgW09wdGlvbmFsXSBpbiBSZXNpemVPcHRpb25zIG9wdGlv
bnMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyNlbmRpZgorCiAjZW5kaWYK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyRXJyb3JDYWxs
YmFjay5oIGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmZmZjg2Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVy
RXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1hZ2VSZXNpemVyRXJy
b3JDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2s+
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5JbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrKCkgeyB9
CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBTdHJpbmcmKSA9IDA7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfUkVT
SVpFUikKKworI2VuZGlmIC8vIEltYWdlUmVzaXplckVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsIGIvV2ViQ29yZS9o
dG1sL0ltYWdlUmVzaXplckVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmZmY2NiZjgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvSW1h
Z2VSZXNpemVyRXJyb3JDYWxsYmFjay5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdl
IHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1JTUFHRV9SRVNJWkVSLAor
ICAgICAgICBDYWxsYmFjaworICAgIF0gSW1hZ2VSZXNpemVyRXJyb3JDYWxsYmFjayB7CisgICAg
ICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gRE9NU3RyaW5nIGVycm9yKTsKKyAgICB9OworfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oIGIv
V2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NDAwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2h0bWwvSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgSW1hZ2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgSW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVSKQorCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCbG9iOwor
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFN0cmluZzsKKworY2xhc3MgSW1h
Z2VSZXNpemVyU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8SW1hZ2VSZXNpemVy
U3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VSZXNpemVyU3Vj
Y2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBCbG9iKikgPSAwOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxF
KElNQUdFX1JFU0laRVIpCisKKyNlbmRpZiAvLyBJbWFnZVJlc2l6ZXJFcnJvckNhbGxiYWNrX2gK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRs
IGIvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclN1Y2Nlc3NDYWxsYmFjay5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmZDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cittb2R1bGUgc3RvcmFnZSB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9
SU1BR0VfUkVTSVpFUiwKKyAgICAgICAgQ2FsbGJhY2sKKyAgICBdIEltYWdlUmVzaXplclN1Y2Nl
c3NDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gQmxvYiBibG9iKTsK
KyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5j
cHAgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAppbmRleCAxYmFlNmEwLi40
ZTk3MDQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcAor
KysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VSZXNpemVyVGhyZWFkLmNwcApAQCAtMzYsNiArMzYsNyBA
QAogI2luY2x1ZGUgIkJpdG1hcEltYWdlLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKKwogI2luY2x1ZGUgPHV0aWxpdHk+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ2LDExICs0NywxMSBAQCBzdGF0aWMgdm9pZCByZXR1cm5CbG9iT3JFcnJvcih2
b2lkKiBjYWxsYmFja0luZm9ybWF0aW9uKQogICAgIGlmICghY2FsbGJhY2tJbmZvLT5ibG9iKQog
ICAgICAgICBjYWxsYmFja0luZm8tPmFzeW5jSW1hZ2VSZXNpemVyLT5yZXNpemVFcnJvcigpOwog
ICAgIGVsc2UKLSAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3luY0ltYWdlUmVzaXplci0+cmVzaXpl
Q29tcGxldGUoY2FsbGJhY2tJbmZvLT5ibG9iKTsKKyAgICAgICAgY2FsbGJhY2tJbmZvLT5hc3lu
Y0ltYWdlUmVzaXplci0+cmVzaXplQ29tcGxldGUoY2FsbGJhY2tJbmZvLT5ibG9iLmdldCgpKTsK
ICAgICBkZWxldGUgY2FsbGJhY2tJbmZvOwogfQogCi1ib29sIEltYWdlUmVzaXplclRocmVhZDo6
c3RhcnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6
ZXI6OkNhbGxiYWNrSW5mbyogY2FsbGJhY2tJbmZvLCBBc3luY0ltYWdlUmVzaXplcjo6T3V0cHV0
VHlwZSBvdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFz
eW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRpb09wdGlvbiwgQXN5
bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKQorYm9v
bCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFn
ZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qIGNhbGxiYWNrSW5mbywgQXN5
bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgb3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91
bmRzLCBkb3VibGUgcXVhbGl0eSwgUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gYXNw
ZWN0UmF0aW9PcHRpb24sIFJlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0
aW9uT3B0aW9uKQogewogICAgIEltYWdlUmVzaXplclRocmVhZCogaW1hZ2VSZXNpemVyVGhyZWFk
ID0gbmV3IEltYWdlUmVzaXplclRocmVhZChjYWxsYmFja0luZm8sIG91dHB1dFR5cGUsIGRlc2ly
ZWRCb3VuZHMsIHF1YWxpdHksIGFzcGVjdFJhdGlvT3B0aW9uLCBvcmllbnRhdGlvbk9wdGlvbik7
CiAKQEAgLTYyLDcgKzYzLDcgQEAgYm9vbCBJbWFnZVJlc2l6ZXJUaHJlYWQ6OnN0YXJ0KFBhc3NS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXMKICAgICByZXR1cm4g
aW1hZ2VSZXNpemVyVGhyZWFkLT5tX3RocmVhZElEOwogfQogCi1JbWFnZVJlc2l6ZXJUaHJlYWQ6
OkltYWdlUmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxs
YmFja0luZm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNp
emUgZGVzaXJlZEJvdW5kcywgZmxvYXQgcXVhbGl0eSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkFzcGVj
dFJhdGlvT3B0aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBBc3luY0ltYWdlUmVzaXplcjo6T3JpZW50
YXRpb25PcHRpb24gb3JpZW50YXRpb25PcHRpb24pCitJbWFnZVJlc2l6ZXJUaHJlYWQ6OkltYWdl
UmVzaXplclRocmVhZChBc3luY0ltYWdlUmVzaXplcjo6Q2FsbGJhY2tJbmZvKiBjYWxsYmFja0lu
Zm8sIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlIG91dHB1dFR5cGUsIEludFNpemUgZGVz
aXJlZEJvdW5kcywgZG91YmxlIHF1YWxpdHksIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0
aW9uIGFzcGVjdFJhdGlvT3B0aW9uLCBSZXNpemVPcHRpb25zOjpPcmllbnRhdGlvbk9wdGlvbiBv
cmllbnRhdGlvbk9wdGlvbikKICAgICA6IG1fdGhyZWFkSUQoMCkKICAgICAsIG1fY2FsbGJhY2tJ
bmZvKGNhbGxiYWNrSW5mbykKICAgICAsIG1fb3V0cHV0VHlwZShvdXRwdXRUeXBlKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0ltYWdlUmVzaXplclRocmVhZC5oIGIvV2ViQ29yZS9odG1sL0lt
YWdlUmVzaXplclRocmVhZC5oCmluZGV4IGFlNWFkZTUuLjE1YmQzYmQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9JbWFnZVJlc2l6ZXJUaHJlYWQuaAorKysgYi9XZWJDb3JlL2h0bWwvSW1hZ2VS
ZXNpemVyVGhyZWFkLmgKQEAgLTM0LDYgKzM0LDggQEAKICNpZiBFTkFCTEUoSU1BR0VfUkVTSVpF
UikKIAogI2luY2x1ZGUgIkFzeW5jSW1hZ2VSZXNpemVyLmgiCisjaW5jbHVkZSAiSW50U2l6ZS5o
IgorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00MiwxMSArNDQsMTEgQEAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCiBjbGFzcyBJbWFnZVJlc2l6
ZXJUaHJlYWQgewogcHVibGljOgotICAgIHN0YXRpYyBib29sIHN0YXJ0KFBhc3NSZWZQdHI8U2hh
cmVkQnVmZmVyPiBpbWFnZURhdGEsIEFzeW5jSW1hZ2VSZXNpemVyOjpDYWxsYmFja0luZm8qLCBB
c3luY0ltYWdlUmVzaXplcjo6T3V0cHV0VHlwZSwgSW50U2l6ZSBkZXNpcmVkQm91bmRzLCBmbG9h
dCBxdWFsaXR5LCBBc3luY0ltYWdlUmVzaXplcjo6QXNwZWN0UmF0aW9PcHRpb24sIEFzeW5jSW1h
Z2VSZXNpemVyOjpPcmllbnRhdGlvbk9wdGlvbik7CisgICAgc3RhdGljIGJvb2wgc3RhcnQoUGFz
c1JlZlB0cjxTaGFyZWRCdWZmZXI+IGltYWdlRGF0YSwgQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxi
YWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRC
b3VuZHMsIGRvdWJsZSBxdWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwg
UmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24pOwogICAgIH5JbWFnZVJlc2l6ZXJUaHJl
YWQoKTsKIAogcHJpdmF0ZToKLSAgICBJbWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6
ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5jSW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXpl
IGRlc2lyZWRCb3VuZHMsIGZsb2F0IHF1YWxpdHksIEFzeW5jSW1hZ2VSZXNpemVyOjpBc3BlY3RS
YXRpb09wdGlvbiwgQXN5bmNJbWFnZVJlc2l6ZXI6Ok9yaWVudGF0aW9uT3B0aW9uKTsKKyAgICBJ
bWFnZVJlc2l6ZXJUaHJlYWQoQXN5bmNJbWFnZVJlc2l6ZXI6OkNhbGxiYWNrSW5mbyosIEFzeW5j
SW1hZ2VSZXNpemVyOjpPdXRwdXRUeXBlLCBJbnRTaXplIGRlc2lyZWRCb3VuZHMsIGRvdWJsZSBx
dWFsaXR5LCBSZXNpemVPcHRpb25zOjpBc3BlY3RSYXRpb09wdGlvbiwgUmVzaXplT3B0aW9uczo6
T3JpZW50YXRpb25PcHRpb24pOwogICAgIHN0YXRpYyB2b2lkKiBpbWFnZVJlc2l6ZXJUaHJlYWRT
dGFydCh2b2lkKik7CiAgICAgdm9pZCogaW1hZ2VSZXNpemVyVGhyZWFkKCk7CiAKQEAgLTU4LDkg
KzYwLDkgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Qml0bWFwSW1hZ2U+IG1faW1hZ2U7CiAgICAg
QXN5bmNJbWFnZVJlc2l6ZXI6Ok91dHB1dFR5cGUgbV9vdXRwdXRUeXBlOwogICAgIEludFNpemUg
bV9kZXNpcmVkQm91bmRzOwotICAgIGZsb2F0IG1fcXVhbGl0eTsKLSAgICBBc3luY0ltYWdlUmVz
aXplcjo6QXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsKLSAgICBBc3luY0lt
YWdlUmVzaXplcjo6T3JpZW50YXRpb25PcHRpb24gbV9vcmllbnRhdGlvbk9wdGlvbjsKKyAgICBk
b3VibGUgbV9xdWFsaXR5OworICAgIFJlc2l6ZU9wdGlvbnM6OkFzcGVjdFJhdGlvT3B0aW9uIG1f
YXNwZWN0UmF0aW9PcHRpb247CisgICAgUmVzaXplT3B0aW9uczo6T3JpZW50YXRpb25PcHRpb24g
bV9vcmllbnRhdGlvbk9wdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9SZXNpemVPcHRpb25zLmNwcCBiL1dlYkNvcmUvaHRtbC9SZXNp
emVPcHRpb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTI5MGYw
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuY3BwCkBAIC0w
LDAgKzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShJTUFHRV9SRVNJWkVS
KQorI2luY2x1ZGUgIlJlc2l6ZU9wdGlvbnMuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSW5jbHVzaXZlIGxpbWl0czsKK3N0YXRp
YyBjb25zdCBpbnQgZGltZW5zaW9uc0xvd2VyTGltaXQgPSAxOworc3RhdGljIGNvbnN0IGludCBk
aW1lbnNpb25zVXBwZXJMaW1pdCA9IDMyNzY3Oworc3RhdGljIGNvbnN0IGRvdWJsZSBjb21wcmVz
c2lvbkxvd2VyTGltaXQgPSAwLjA7CitzdGF0aWMgY29uc3QgZG91YmxlIGNvbXByZXNzaW9uVXBw
ZXJMaW1pdCA9IDEuMDsKKworc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0Q29tcHJlc3Npb24g
PSAwLjg1OworCitQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IFJlc2l6ZU9wdGlvbnM6OmNyZWF0
ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZXNpemVPcHRpb25zKCkpOworfQorCitS
ZXNpemVPcHRpb25zOjpSZXNpemVPcHRpb25zKCkKKyAgICA6IG1fd2lkdGgoMCkKKyAgICAsIG1f
aGVpZ2h0KDApCisgICAgLCBtX2NvbXByZXNzaW9uTGV2ZWwoZGVmYXVsdENvbXByZXNzaW9uKQor
ICAgICwgbV9hc3BlY3RSYXRpb09wdGlvbihJZ25vcmVBc3BlY3RSYXRpbykKKyAgICAsIG1fb3Jp
ZW50YXRpb25PcHRpb24oSWdub3JlT3JpZW50YXRpb24pCit7Cit9CisKK3ZvaWQgUmVzaXplT3B0
aW9uczo6c2V0V2lkdGgoaW50IHdpZHRoKQoreworICAgIG1fd2lkdGggPSB3aWR0aCA+PSBkaW1l
bnNpb25zTG93ZXJMaW1pdCAmJiB3aWR0aCA8PSBkaW1lbnNpb25zVXBwZXJMaW1pdCA/IHdpZHRo
IDogMDsKK30KKworaW50IFJlc2l6ZU9wdGlvbnM6OndpZHRoKCkKK3sKKyAgICByZXR1cm4gbV93
aWR0aDsKK30KKwordm9pZCBSZXNpemVPcHRpb25zOjpzZXRIZWlnaHQoaW50IGhlaWdodCkKK3sK
KyAgICBtX2hlaWdodCA9IGhlaWdodCA+PSBkaW1lbnNpb25zTG93ZXJMaW1pdCAmJiBoZWlnaHQg
PD0gZGltZW5zaW9uc1VwcGVyTGltaXQgPyBoZWlnaHQgOiAwOworfQorCitpbnQgUmVzaXplT3B0
aW9uczo6aGVpZ2h0KCkKK3sKKyAgICByZXR1cm4gbV9oZWlnaHQ7Cit9CisKK3ZvaWQgUmVzaXpl
T3B0aW9uczo6c2V0Q29tcHJlc3Npb25MZXZlbChkb3VibGUgY29tcHJlc3Npb25MZXZlbCkKK3sK
KyAgICBtX2NvbXByZXNzaW9uTGV2ZWwgPSBjb21wcmVzc2lvbkxldmVsID49IGNvbXByZXNzaW9u
TG93ZXJMaW1pdCAmJiBjb21wcmVzc2lvbkxldmVsIDw9IGNvbXByZXNzaW9uVXBwZXJMaW1pdCA/
IGNvbXByZXNzaW9uTGV2ZWwgOiBkZWZhdWx0Q29tcHJlc3Npb247Cit9CisKK2RvdWJsZSBSZXNp
emVPcHRpb25zOjpjb21wcmVzc2lvbkxldmVsKCkKK3sKKyAgICByZXR1cm4gbV9jb21wcmVzc2lv
bkxldmVsOworfQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldEFzcGVjdFJhdGlvT3B0aW9uKGJv
b2wgcHJlc2VydmVBc3BlY3RSYXRpbykKK3sKKyAgICBtX2FzcGVjdFJhdGlvT3B0aW9uID0gcHJl
c2VydmVBc3BlY3RSYXRpbyA/IFByZXNlcnZlQXNwZWN0UmF0aW8gOiBJZ25vcmVBc3BlY3RSYXRp
bzsKK30KKworUmVzaXplT3B0aW9uczo6QXNwZWN0UmF0aW9PcHRpb24gUmVzaXplT3B0aW9uczo6
YXNwZWN0UmF0aW9PcHRpb24oKQoreworICAgIHJldHVybiBtX2FzcGVjdFJhdGlvT3B0aW9uOwor
fQorCit2b2lkIFJlc2l6ZU9wdGlvbnM6OnNldE9yaWVudGF0aW9uT3B0aW9uKFN0cmluZyBvcmll
bnRhdGlvbk9wdGlvbikKK3sKKyAgICBtX29yaWVudGF0aW9uT3B0aW9uID0gb3JpZW50YXRpb25P
cHRpb24gPT0gImF1dG8iID8gQ29ycmVjdE9yaWVudGF0aW9uIDogSWdub3JlT3JpZW50YXRpb247
Cit9CisKK1Jlc2l6ZU9wdGlvbnM6Ok9yaWVudGF0aW9uT3B0aW9uIFJlc2l6ZU9wdGlvbnM6Om9y
aWVudGF0aW9uT3B0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9vcmllbnRhdGlvbk9wdGlvbjsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0la
RVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvUmVzaXplT3B0aW9ucy5oIGIvV2ViQ29yZS9o
dG1sL1Jlc2l6ZU9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
MzI3MTllCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL1Jlc2l6ZU9wdGlvbnMuaApA
QCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBSZXNpemVPcHRpb25zX2gKKyNkZWZpbmUgUmVzaXplT3B0
aW9uc19oCisKKyNpZiBFTkFCTEUoSU1BR0VfUkVTSVpFUikKKworI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBTdHJpbmc7CisKK2NsYXNzIFJlc2l6ZU9wdGlvbnMgOiBwdWJsaWMgUmVm
Q291bnRlZDxSZXNpemVPcHRpb25zPiB7CitwdWJsaWM6CisgICAgZW51bSBBc3BlY3RSYXRpb09w
dGlvbiB7CisgICAgICAgIFByZXNlcnZlQXNwZWN0UmF0aW8sCisgICAgICAgIElnbm9yZUFzcGVj
dFJhdGlvCisgICAgfTsKKworICAgIGVudW0gT3JpZW50YXRpb25PcHRpb24geworICAgICAgICBD
b3JyZWN0T3JpZW50YXRpb24sCisgICAgICAgIElnbm9yZU9yaWVudGF0aW9uCisgICAgfTsKKwor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlc2l6ZU9wdGlvbnM+IGNyZWF0ZSgpOworCisgICAgdm9p
ZCBzZXRXaWR0aChpbnQpOworICAgIGludCB3aWR0aCgpOworCisgICAgdm9pZCBzZXRIZWlnaHQo
aW50KTsKKyAgICBpbnQgaGVpZ2h0KCk7CisKKyAgICB2b2lkIHNldENvbXByZXNzaW9uTGV2ZWwo
ZG91YmxlKTsKKyAgICBkb3VibGUgY29tcHJlc3Npb25MZXZlbCgpOworCisgICAgdm9pZCBzZXRB
c3BlY3RSYXRpb09wdGlvbihib29sKTsKKyAgICBBc3BlY3RSYXRpb09wdGlvbiBhc3BlY3RSYXRp
b09wdGlvbigpOworCisgICAgdm9pZCBzZXRPcmllbnRhdGlvbk9wdGlvbihTdHJpbmcpOworICAg
IE9yaWVudGF0aW9uT3B0aW9uIG9yaWVudGF0aW9uT3B0aW9uKCk7CisKK3ByaXZhdGU6CisgICAg
UmVzaXplT3B0aW9ucygpOworCisgICAgLy8gSWYgbV93aWR0aCBvciBtX2hlaWdodCA9PSAwLCB0
aGF0IGRpbWVuc2lvbiB3aWxsIG5vdCBjaGFuZ2UgZXhwbGljaXRseSBkdXJpbmcgcmVzaXppbmcu
CisgICAgaW50IG1fd2lkdGg7CisgICAgaW50IG1faGVpZ2h0OworICAgIGRvdWJsZSBtX2NvbXBy
ZXNzaW9uTGV2ZWw7CisgICAgQXNwZWN0UmF0aW9PcHRpb24gbV9hc3BlY3RSYXRpb09wdGlvbjsK
KyAgICBPcmllbnRhdGlvbk9wdGlvbiBtX29yaWVudGF0aW9uT3B0aW9uOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX1JFU0laRVIpCisKKyNl
bmRpZiAvLyBSZXNpemVPcHRpb25zX2gK
</data>
<flag name="review"
          id="46892"
          type_id="1"
          status="-"
          setter="levin"
    />
    <flag name="commit-queue"
          id="46896"
          type_id="3"
          status="-"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>