<?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>205691</bug_id>
          
          <creation_ts>2020-01-02 13:54:14 -0800</creation_ts>
          <short_desc>Reformat WebProcess logging</short_desc>
          <delta_ts>2020-01-02 19:52:23 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205679</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1602224</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 13:54:14 -0800</bug_when>
    <thetext>Update the format used by WebProcess in its RELEASE_LOG logging. Use the format used by WebPageProxy and NetworkResourceLoader, which is generally of the form:

    &lt;object-address&gt; - [&lt;values that help thread together operations&gt;] &lt;class&gt;::&lt;method&gt;: &lt;message and other useful values&gt;

So, for example:

    0x6f1df7000 - WebProcess::destroyRenderingResources() took 0.02ms

becomes:

    0x6f1df7000 - WebProcess::destroyRenderingResources: took 0.02ms

So there&apos;s not actually much difference in that example line. That&apos;s because the only &quot;values that help thread together operations&quot; is the WebProcess PID, which is automatically logged by the os_log system. But other logging lines show more significant changes. For example, there are some logging lines that didn&apos;t used to log the method name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602225</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-02 13:54:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/58283294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602227</commentid>
    <comment_count>2</comment_count>
      <attachid>386627</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 13:57:35 -0800</bug_when>
    <thetext>Created attachment 386627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602253</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 15:10:57 -0800</bug_when>
    <thetext>Based on comments from Chris, I&apos;m incorporating the following changes:

* Rather than having a separate macro for each channel to which we&apos;re logging, have a single macro that takes a channel as a parameter.

* Log the sessionID as part of the &quot;values that help thread together operations&quot;.

* Hide the logging in private sessions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602258</commentid>
    <comment_count>4</comment_count>
      <attachid>386637</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 15:22:44 -0800</bug_when>
    <thetext>Created attachment 386637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602261</commentid>
    <comment_count>5</comment_count>
      <attachid>386637</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-01-02 15:28:27 -0800</bug_when>
    <thetext>Comment on attachment 386637
Patch

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

&gt; Source/WebKit/WebProcess/WebProcess.cpp:171
&gt; +#define RELEASE_LOG_SESSION_ID (m_sessionID.hasValue() ? m_sessionID-&gt;toUInt64() : 0)

m_sessionID.valueOr(0)

&gt; Source/WebKit/WebProcess/WebProcess.h:489
&gt; +    bool isAlwaysOnLoggingAllowed() { return m_sessionID.hasValue() ? m_sessionID-&gt;isAlwaysOnLoggingAllowed() : true; }

m_sessionID ? m_sessionID-&gt;isAlwaysOnLoggingAllowed() : true;

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:129
&gt; +#define RELEASE_LOG_SESSION_ID (m_sessionID.hasValue() ? m_sessionID-&gt;toUInt64() : 0)

valueOr()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602265</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 15:41:55 -0800</bug_when>
    <thetext>I chatted with Chris, and we realized that the ValueOr approach wouldn&apos;t work (since we need to also call toUInt64(), and we can&apos;t apply that to &quot;0&quot;). So we&apos;ll change those lines, but only to remove &quot;.hasValue()&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602266</commentid>
    <comment_count>7</comment_count>
      <attachid>386638</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 15:43:11 -0800</bug_when>
    <thetext>Created attachment 386638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602268</commentid>
    <comment_count>8</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 15:44:31 -0800</bug_when>
    <thetext>Looks like I need to rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602288</commentid>
    <comment_count>9</comment_count>
      <attachid>386648</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-02 16:52:13 -0800</bug_when>
    <thetext>Created attachment 386648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602320</commentid>
    <comment_count>10</comment_count>
      <attachid>386648</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-02 19:52:21 -0800</bug_when>
    <thetext>Comment on attachment 386648
Patch

Clearing flags on attachment: 386648

Committed r253990: &lt;https://trac.webkit.org/changeset/253990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602321</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-02 19:52:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386627</attachid>
            <date>2020-01-02 13:57:35 -0800</date>
            <delta_ts>2020-01-02 15:22:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205691-20200102135734.patch</filename>
            <type>text/plain</type>
            <size>18977</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkZDEyNmY2ZTlhNWQ3NjAy
MGRhYjFkYTg5ZTM2MmM4YmMxOWZiZGYuLjcxY2JkNTEyMDY5ZGY2M2Q0NzI3Yzk1Y2VjOThhNjhj
YzgyZmMxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjAtMDEtMDIgIEtlaXRoIFJv
bGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZm9ybWF0IFdlYlByb2Nlc3Mg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1NjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODI4MzI5ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIGZvcm1hdCB1c2Vk
IGJ5IFdlYlByb2Nlc3MgaW4gaXRzIFJFTEVBU0VfTE9HIGxvZ2dpbmcuIFVzZQorICAgICAgICB0
aGUgZm9ybWF0IHVzZWQgYnkgV2ViUGFnZVByb3h5IGFuZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIs
IHdoaWNoIGlzCisgICAgICAgIGdlbmVyYWxseSBvZiB0aGUgZm9ybToKKworICAgICAgICAgICAg
PG9iamVjdC1hZGRyZXNzPiAtIFs8dmFsdWVzIHRoYXQgaGVscCB0aHJlYWQgdG9nZXRoZXIgb3Bl
cmF0aW9ucz5dIDxjbGFzcz46OjxtZXRob2Q+OiA8bWVzc2FnZSBhbmQgb3RoZXIgdXNlZnVsIHZh
bHVlcz4KKworICAgICAgICBTbywgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgIDB4NmYxZGY3
MDAwIC0gV2ViUHJvY2Vzczo6ZGVzdHJveVJlbmRlcmluZ1Jlc291cmNlcygpIHRvb2sgMC4wMm1z
CisKKyAgICAgICAgYmVjb21lczoKKworICAgICAgICAgICAgMHg2ZjFkZjcwMDAgLSBXZWJQcm9j
ZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzOiB0b29rIDAuMDJtcworCisgICAgICAgIFNv
IHRoZXJlJ3Mgbm90IGFjdHVhbGx5IG11Y2ggZGlmZmVyZW5jZSBpbiB0aGF0IGV4YW1wbGUgbGlu
ZS4gVGhhdCdzCisgICAgICAgIGJlY2F1c2UgdGhlIG9ubHkgInZhbHVlcyB0aGF0IGhlbHAgdGhy
ZWFkIHRvZ2V0aGVyIG9wZXJhdGlvbnMiIGlzIHRoZQorICAgICAgICBXZWJQcm9jZXNzIFBJRCwg
d2hpY2ggaXMgYXV0b21hdGljYWxseSBsb2dnZWQgYnkgdGhlIG9zX2xvZyBzeXN0ZW0sIHNvCisg
ICAgICAgIHRoZSBhYm92ZSBsaW5lIGlzIHJhdGhlciBwbGFpbiBhbmQgdW5jb21wbGljYXRlZC4g
QnV0IG90aGVyIGxvZ2dpbmcKKyAgICAgICAgbGluZXMgc2hvdyBtb3JlIHNpZ25pZmljYW50IGNo
YW5nZXMuIEZvciBleGFtcGxlLCB0aGVyZSB3ZXJlIHNvbWUKKyAgICAgICAgbG9nZ2luZyBsaW5l
cyB0aGF0IGRpZG4ndCB1c2VkIHRvIGxvZyB0aGUgbWV0aG9kIG5hbWUuIEFuZCB0aGVyZSB3ZXJl
CisgICAgICAgIHNvbWUgb3RoZXIgbG9nZ2luZyBsaW5lcyB0aGF0IHdlcmUgcmVkdW5hbnRseSBs
b2dnaW5nIHRoZSBjdXJyZW50IFBJRC4KKworICAgICAgICBObyBuZXcgdGVzdHMgLSBubyBhZGRl
ZCBvciBjaGFuZ2VkIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJv
Y2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpmcmVlemVBbGxMYXllclRyZWVzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6dW5mcmVlemVBbGxMYXllclRyZWVzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cHJvY2Vzc0RpZFJlc3VtZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OmdyYW50VXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpyZXZva2VVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5z
aW9ucyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1cGRhdGVDUFVNb25pdG9yU3RhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cyk6CisKIDIw
MjAtMDEtMDIgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
Zm9ybWF0IFdlYlByb2Nlc3NDYWNoZSBsb2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKaW5kZXggMTUxMzI3MWFjM2Y5NzUxNTZmOTk0MmRhZmRmMGNjMGE4Y2Q3ZTNk
My4uZTFkNGQ2NWM3ZDQ4OWM0MDk3OTkyNTU4ZmU4NTdkNjBkMDMzNTI5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTY4LDYgKzE2OCwxMCBAQAogI2luY2x1
ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIgogI2VuZGlmCiAKKyNkZWZpbmUgV0VCUFJP
Q0VTU19SRUxFQVNFX0xPRyhmbXQsIC4uLikgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gV2Vi
UHJvY2Vzczo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisjZGVmaW5lIFdFQlBST0NFU1Nf
U1VTUEVOU0lPTl9SRUxFQVNFX0xPRyhmbXQsIC4uLikgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorI2Rl
ZmluZSBXRUJQUk9DRVNTX1dFQlJUQ19SRUxFQVNFX0xPRyhmbXQsIC4uLikgUkVMRUFTRV9MT0co
V2ViUlRDLCAiJXAgLSBXZWJQcm9jZXNzOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKwog
Ly8gVGhpcyBzaG91bGQgYmUgbGVzcyB0aGFuIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1l
VGhyZXNob2xkIGluIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLgogc3RhdGljIGNvbnN0IFNlY29u
ZHMgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgeyAyOSAqIDI0
ICogNjAgKiA2MCB9OwogCkBAIC0zMTQsMTEgKzMxOCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzKQogICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHByb2Nlc3Mgd2Uga2VlcCBhcm91bmQg
Zm9yIHBlcmZvcm1hbmNlLCBraWxsIGl0IG9uIG1lbW9yeSBwcmVzc3VyZSBpbnN0ZWFkIG9mIHRy
eWluZyB0byBmcmVlIHVwIGl0cyBtZW1vcnkuCiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlw
ZSA9PSBQcm9jZXNzVHlwZTo6Q2FjaGVkV2ViQ29udGVudCB8fCBtX3Byb2Nlc3NUeXBlID09IFBy
b2Nlc3NUeXBlOjpQcmV3YXJtZWRXZWJDb250ZW50IHx8IGFyZUFsbFBhZ2VzU3VzcGVuZGVkKCkp
IHsKICAgICAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6Q2Fj
aGVkV2ViQ29udGVudCkKLSAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzcywg
IkNhY2hlZCBXZWJQcm9jZXNzICVpIGlzIGV4aXRpbmcgZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSIs
IGdldHBpZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgV0VCUFJPQ0VTU19SRUxFQVNFX0xPRygi
aW5pdGlhbGl6ZVdlYlByb2Nlc3M6IENhY2hlZCBXZWJQcm9jZXNzIGlzIGV4aXRpbmcgZHVlIHRv
IG1lbW9yeSBwcmVzc3VyZSIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1fcHJvY2Vzc1R5
cGUgPT0gUHJvY2Vzc1R5cGU6OlByZXdhcm1lZFdlYkNvbnRlbnQpCi0gICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJQcmV3YXJtZWQgV2ViUHJvY2VzcyAlaSBpcyBleGl0
aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAgICAgICAg
ICAgIFdFQlBST0NFU1NfUkVMRUFTRV9MT0coImluaXRpYWxpemVXZWJQcm9jZXNzOiBQcmV3YXJt
ZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiKTsKICAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3Ms
ICJTdXNwZW5kZWQgV2ViUHJvY2VzcyAlaSBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1
cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAgICAgICAgICAgIFdFQlBST0NFU1NfUkVMRUFTRV9M
T0coImluaXRpYWxpemVXZWJQcm9jZXNzOiBTdXNwZW5kZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5n
IGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiKTsKICAgICAgICAgICAgICAgICBzdG9wUnVuTG9vcCgp
OwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KQEAgLTQ1MCw3ICs0NTQs
NyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIFdlYlJlc291cmNlTG9hZE9ic2VydmVy
OjpzZXRTaG91bGRMb2dVc2VySW50ZXJhY3Rpb24ocGFyYW1ldGVycy5zaG91bGRMb2dVc2VySW50
ZXJhY3Rpb24pOwogI2VuZGlmCiAKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiJXAgLSBXZWJQ
cm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzczogUHJlc2VudGluZyBwcm9jZXNzID0gJWQiLCB0
aGlzLCBXZWJDb3JlOjpwcmVzZW50aW5nQXBwbGljYXRpb25QSUQoKSk7CisgICAgV0VCUFJPQ0VT
U19SRUxFQVNFX0xPRygiaW5pdGlhbGl6ZVdlYlByb2Nlc3M6IFByZXNlbnRpbmcgcHJvY2VzcyA9
ICVkIiwgV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCkpOwogfQogCiB2b2lkIFdl
YlByb2Nlc3M6OnNldFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3Rv
cmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKQEAgLTE0NDQsNyArMTQ0OCw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJQcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xP
RyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCgp
IGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIHRoaXMsIGlzU3VzcGVuc2lvbkltbWluZW50KTsK
KyAgICBXRUJQUk9DRVNTX1NVU1BFTlNJT05fUkVMRUFTRV9MT0coInByZXBhcmVUb1N1c3BlbmQ6
IGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIGlzU3VzcGVuc2lvbkltbWluZW50KTsKICAgICBT
ZXRGb3JTY29wZTxib29sPiBzdXNwZW5zaW9uU2NvcGUobV9pc1N1c3BlbmRpbmcsIHRydWUpOwog
ICAgIG1fcHJvY2Vzc0lzU3VzcGVuZGVkID0gdHJ1ZTsKIApAQCAtMTQ1Miw3ICsxNDU2LDcgQEAg
dm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5l
bnQsIENvbXBsZXRpb25IYW5kbGVyPHYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmICht
X3Byb2Nlc3NUeXBlID09IFByb2Nlc3NUeXBlOjpQcmV3YXJtZWRXZWJDb250ZW50KSB7Ci0gICAg
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcmVw
YXJlVG9TdXNwZW5kKCkgUHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5kIiwgdGhpcyk7CisgICAg
ICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPRygicHJlcGFyZVRvU3VzcGVuZDog
UHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5kIik7CiAgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcigpOwogICAgIH0KICNlbmRpZgpAQCAtMTQ4MywxOCArMTQ4NywxOCBAQCB2b2lkIFdl
YlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29t
cGxldGlvbkhhbmRsZXI8dgogCiAgICAgbWFya0FsbExheWVyc1ZvbGF0aWxlKFt0aGlzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHN1Y2Nlc3Mp
IG11dGFibGUgewogICAgICAgICBpZiAoc3VjY2VzcykKLSAgICAgICAgICAgIFJFTEVBU0VfTE9H
KFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRp
bGUoKSBTdWNjZXNzZnVseSBtYXJrZWQgYWxsIGxheWVycyBhcyB2b2xhdGlsZSIsIHRoaXMpOwor
ICAgICAgICAgICAgV0VCUFJPQ0VTU19TVVNQRU5TSU9OX1JFTEVBU0VfTE9HKCJtYXJrQWxsTGF5
ZXJzVm9sYXRpbGU6IFN1Y2Nlc3NmdWx5IG1hcmtlZCBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIik7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoKSBGYWlsZWQgdG8gbWFy
ayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIiwgdGhpcyk7CisgICAgICAgICAgICBXRUJQUk9DRVNT
X1NVU1BFTlNJT05fUkVMRUFTRV9MT0coIm1hcmtBbGxMYXllcnNWb2xhdGlsZTogRmFpbGVkIHRv
IG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSIpOwogCi0gICAgICAgIFJFTEVBU0VfTE9HKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgUHJv
Y2VzcyBpcyByZWFkeSB0byBzdXNwZW5kIiwgdGhpcyk7CisgICAgICAgIFdFQlBST0NFU1NfU1VT
UEVOU0lPTl9SRUxFQVNFX0xPRygicHJlcGFyZVRvU3VzcGVuZDogUHJvY2VzcyBpcyByZWFkeSB0
byBzdXNwZW5kIik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CiB9CiAK
IHZvaWQgV2ViUHJvY2Vzczo6bWFya0FsbExheWVyc1ZvbGF0aWxlKFdURjo6RnVuY3Rpb248dm9p
ZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6bWFya0FsbExheWVyc1ZvbGF0aWxlKCkiLCB0
aGlzKTsKKyAgICBXRUJQUk9DRVNTX1NVU1BFTlNJT05fUkVMRUFTRV9MT0coIm1hcmtBbGxMYXll
cnNWb2xhdGlsZToiKTsKICAgICBBU1NFUlQoIW1fcGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxl
Q291bnRlcik7CiAgICAgbV9jb3VudE9mUGFnZXNGYWlsaW5nVG9NYXJrVm9sYXRpbGUgPSAwOwog
CkBAIC0xNTI1LDIxICsxNTI5LDIxIEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2FuY2VsTWFya0FsbExh
eWVyc1ZvbGF0aWxlKCkKIAogdm9pZCBXZWJQcm9jZXNzOjpmcmVlemVBbGxMYXllclRyZWVzKCkK
IHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldlYlByb2Nlc3MgJWkgaXMg
ZnJlZXppbmcgYWxsIGxheWVyIHRyZWVzIiwgZ2V0cGlkKCkpOworICAgIFdFQlBST0NFU1NfU1VT
UEVOU0lPTl9SRUxFQVNFX0xPRygiZnJlZXplQWxsTGF5ZXJUcmVlczogV2ViUHJvY2VzcyBpcyBm
cmVlemluZyBhbGwgbGF5ZXIgdHJlZXMiKTsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VN
YXAudmFsdWVzKCkpCiAgICAgICAgIHBhZ2UtPmZyZWV6ZUxheWVyVHJlZShXZWJQYWdlOjpMYXll
clRyZWVGcmVlemVSZWFzb246OlByb2Nlc3NTdXNwZW5kZWQpOwogfQogCiB2b2lkIFdlYlByb2Nl
c3M6OnVuZnJlZXplQWxsTGF5ZXJUcmVlcygpCiB7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICJXZWJQcm9jZXNzICVpIGlzIHVuZnJlZXppbmcgYWxsIGxheWVyIHRyZWVzIiwg
Z2V0cGlkKCkpOworICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPRygidW5mcmVl
emVBbGxMYXllclRyZWVzOiBXZWJQcm9jZXNzIGlzIHVuZnJlZXppbmcgYWxsIGxheWVyIHRyZWVz
Iik7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQogICAgICAgICBw
YWdlLT51bmZyZWV6ZUxheWVyVHJlZShXZWJQYWdlOjpMYXllclRyZWVGcmVlemVSZWFzb246OlBy
b2Nlc3NTdXNwZW5kZWQpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUo
KQogewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
Ojpwcm9jZXNzRGlkUmVzdW1lKCkiLCB0aGlzKTsKKyAgICBXRUJQUk9DRVNTX1NVU1BFTlNJT05f
UkVMRUFTRV9MT0coInByb2Nlc3NEaWRSZXN1bWU6Iik7CiAKICAgICBtX3Byb2Nlc3NJc1N1c3Bl
bmRlZCA9IGZhbHNlOwogCkBAIC0xODkwLDcgKzE4OTQsNyBAQCB2b2lkIFdlYlByb2Nlc3M6Omdy
YW50VXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMoTWVkaWFEZXZpY2VTYW5kYm94RXh0
ZW5zaQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZXh0ZW5zaW9ucy5zaXplKCk7IGkrKykg
ewogICAgICAgICBjb25zdCBhdXRvJiBleHRlbnNpb24gPSBleHRlbnNpb25zW2ldOwogICAgICAg
ICBleHRlbnNpb24uc2Vjb25kLT5jb25zdW1lKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFdlYlJU
QywgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Z3JhbnRVc2VyTWVkaWFEZXZp
Y2VTYW5kYm94RXh0ZW5zaW9ucyAtIGdyYW50ZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uLmZp
cnN0LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBXRUJQUk9DRVNTX1dFQlJUQ19SRUxFQVNFX0xP
RygiZ3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9uczogZ3JhbnRlZCBleHRlbnNp
b24gJXMiLCBleHRlbnNpb24uZmlyc3QudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIG1fbWVkaWFD
YXB0dXJlU2FuZGJveEV4dGVuc2lvbnMuYWRkKGV4dGVuc2lvbi5maXJzdCwgZXh0ZW5zaW9uLnNl
Y29uZC5jb3B5UmVmKCkpOwogICAgIH0KIH0KQEAgLTE5MjEsNyArMTkyNSw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cmV2b2tlVXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIGV4CiAgICAgICAgIEFTU0VSVChleHRlbnNpb24gfHwgTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXI6Om1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCgp
KTsKICAgICAgICAgaWYgKGV4dGVuc2lvbikgewogICAgICAgICAgICAgZXh0ZW5zaW9uLT5yZXZv
a2UoKTsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFdlYlJUQywgIlVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6cmV2b2tlVXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMg
LSByZXZva2VkIGV4dGVuc2lvbiAlcyIsIGV4dGVuc2lvbklELnV0ZjgoKS5kYXRhKCkpOworICAg
ICAgICAgICAgV0VCUFJPQ0VTU19XRUJSVENfUkVMRUFTRV9MT0coInJldm9rZVVzZXJNZWRpYURl
dmljZVNhbmRib3hFeHRlbnNpb25zOiByZXZva2VkIGV4dGVuc2lvbiAlcyIsIGV4dGVuc2lvbklE
LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggNDNiM2M2OWQ4MTI1
MmMzYjM3OTc3MWM2NDNmNzQ2OTU4MTQ1N2MyNi4uNDZlZWI2ZjJmOTE3YTI5MzMwMDcxZDExYzI3
YjY1ZmUwM2ZiNWVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMjYsNiArMTI2LDEyIEBACiBleHRlcm4gIkMiIHZvaWQg
X0NTQ2hlY2tGaXhEaXNhYmxlKCk7CiAjZW5kaWYKIAorI2RlZmluZSBXRUJQUk9DRVNTX1JFTEVB
U0VfTE9HKGZtdCwgLi4uKSBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiJXAgLSBXZWJQcm9jZXNzOjoi
IGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV0VCUFJPQ0VTU19SRUxFQVNFX0xP
R19FUlJPUihmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIiVwIC0gV2ViUHJv
Y2Vzczo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisKKyNkZWZpbmUgV0VCUFJPQ0VTU19T
VVNQRU5TSU9OX1JFTEVBU0VfTE9HKGZtdCwgLi4uKSBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVu
c2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisjZGVm
aW5lIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPR19FUlJPUihmbXQsIC4uLikgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OiIgZm10
LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCkBAIC0zMTAsNyArMzE2LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRh
dGVQcm9jZXNzTmFtZSgpCiAgICAgICAgIGF1dG8gZXJyb3IgPSBfTFNTZXRBcHBsaWNhdGlvbklu
Zm9ybWF0aW9uSXRlbShrTFNEZWZhdWx0U2Vzc2lvbklELCBfTFNHZXRDdXJyZW50QXBwbGljYXRp
b25BU04oKSwgX2tMU0Rpc3BsYXlOYW1lS2V5LCAoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1l
LCBudWxscHRyKTsKICAgICAgICAgQVNTRVJUKCFlcnJvcik7CiAgICAgICAgIGlmIChlcnJvcikg
ewotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkZhaWxlZCB0byBzZXQg
dGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBlcnJvciBjb2RlOiAl
bGQiLCBzdGF0aWNfY2FzdDxsb25nPihlcnJvcikpOworICAgICAgICAgICAgV0VCUFJPQ0VTU19S
RUxFQVNFX0xPRygiRmFpbGVkIHRvIHNldCB0aGUgZGlzcGxheSBuYW1lIG9mIHRoZSBXZWJDb250
ZW50IHByb2Nlc3MsIGVycm9yIGNvZGU6ICVsZCIsIHN0YXRpY19jYXN0PGxvbmc+KGVycm9yKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICNpZiAhQVNTRVJUX0RJU0FCTEVECkBA
IC0zMjYsNyArMzMyLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZSgpCiB2
b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vzc1Rhc2tTdGF0
ZU9ic2VydmVyOjpUYXNrU3RhdGUgdGFza1N0YXRlKQogewogICAgIC8vIE5PVEU6IFRoaXMgd2ls
bCBiZSBjYWxsZWQgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkLgotICAgIFJFTEVBU0VfTE9HKFBy
b2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKCkgLSB0YXNrU3RhdGUoJWQpIiwgdGhpcywgdGFza1N0YXRlKTsKKyAgICBXRUJQUk9DRVNT
X1NVU1BFTlNJT05fUkVMRUFTRV9MT0coInByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2U6IHRhc2tT
dGF0ZSglZCkiLCB0YXNrU3RhdGUpOwogICAgIGlmICh0YXNrU3RhdGUgIT0gUHJvY2Vzc1Rhc2tT
dGF0ZU9ic2VydmVyOjpSdW5uaW5nKQogICAgICAgICByZXR1cm47CiAKQEAgLTMzNiwyNiArMzQy
LDI2IEBAIHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNz
VGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSB0CiAKICAgICAvLyBXZSB3ZXJlIGF3YWtlbmVk
IGZyb20gc3VzcGVuc2lvbiB1bmV4cGVjdGVkbHkuIE5vdGlmeSB0aGUgV2ViUHJvY2Vzc1Byb3h5
LCBidXQgdGFrZSBhIHByb2Nlc3MgYXNzZXJ0aW9uIG9uIG91ciBwYXJlbnQgUElECiAgICAgLy8g
dG8gZW5zdXJlIHRoYXQgaXQgdG9vIGlzIGF3YWtlbmVkLgotICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgp
IFRha2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBV
SVByb2Nlc3MiLCB0aGlzKTsKKyAgICBXRUJQUk9DRVNTX1NVU1BFTlNJT05fUkVMRUFTRV9MT0co
InByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkOiBUYWtpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQn
IGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIik7CiAgICAgbV9wcm9jZXNzV2FzUmVz
dW1lZFVJQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRpb24gYWxsb2NdIGlu
aXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVByb2Nlc3NJRCgpIGZs
YWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nl
c3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVk
IiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKICAgICAgICAgaWYgKCFhY3F1aXJlZCkK
LSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBX
ZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dl
YlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHByb2Nlc3MiLCB0aGlz
KTsKKyAgICAgICAgICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPR19FUlJPUigi
cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZTogRmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2Fz
IHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHByb2Nlc3MiKTsKICAgICB9XSk7CiAgICAg
bV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uLmdldCgpLmludmFsaWRhdGlvbkhhbmRsZXIg
PSBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQoKSBSZWxlYXNpbmcgJ1dl
YlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIGR1
ZSB0byBpbnZhbGlkYXRpb24iLCB0aGlzKTsKKyAgICAgICAgV0VCUFJPQ0VTU19TVVNQRU5TSU9O
X1JFTEVBU0VfTE9HX0VSUk9SKCJwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZDogUmVsZWFzaW5nICdX
ZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24gb24gYmVoYWxmIG9uIFVJUHJvY2VzcyBk
dWUgdG8gaW52YWxpZGF0aW9uIik7CiAgICAgICAgIHJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFz
c2VydGlvbnMoKTsKICAgICB9OwogICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24g
PSBhZG9wdE5TKFtbQktTUHJvY2Vzc0Fzc2VydGlvbiBhbGxvY10gaW5pdFdpdGhQSUQ6Z2V0cGlk
KCkgZmxhZ3M6QktTUHJvY2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCByZWFzb246QktT
UHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2sgbmFtZTpAIldlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQiIHdpdGhIYW5kbGVyOl4oQk9PTCBhY3F1aXJlZCkgewogICAgICAgICBpZiAoIWFjcXVp
cmVkKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoKSBmYWlsZWQgdG8gdGFr
ZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBXZWJDb250ZW50IHByb2Nl
c3MiLCB0aGlzKTsKKyAgICAgICAgICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xP
R19FUlJPUigicHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZTogRmFpbGVkIHRvIHRha2UgJ1dlYlBy
b2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIik7CiAg
ICAgfV0pOwogICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCkuaW52YWxp
ZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgp
IFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBv
biBXZWJDb250ZW50IHByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOworICAgICAg
ICBXRUJQUk9DRVNTX1NVU1BFTlNJT05fUkVMRUFTRV9MT0dfRVJST1IoInByb2Nlc3NUYXNrU3Rh
dGVDaGFuZ2VkOiBSZWxlYXNpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBv
biBiZWhhbGYgb24gV2ViQ29udGVudCBwcm9jZXNzIGR1ZSB0byBpbnZhbGlkYXRpb24iKTsKICAg
ICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygpOwogICAgIH07CiAKICAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6UHJvY2Vzc1dhc1Jlc3VtZWQoKSwgW3RoaXNdIHsKLSAgICAgICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NU
YXNrU3RhdGVEaWRDaGFuZ2UoKSBQYXJlbnQgcHJvY2VzcyBoYW5kbGVkIFByb2Nlc3NXYXNSZXN1
bWVkIElQQywgcmVsZWFzaW5nIG91ciBhc3NlcnRpb25zIiwgdGhpcyk7CisgICAgICAgIFdFQlBS
T0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPRygicHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZTog
UGFyZW50IHByb2Nlc3MgaGFuZGxlZCBQcm9jZXNzV2FzUmVzdW1lZCBJUEMsIHJlbGVhc2luZyBv
dXIgYXNzZXJ0aW9ucyIpOwogICAgICAgICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRp
b25zKCk7CiAgICAgfSk7CiB9CkBAIC0zNjQsMTIgKzM3MCwxMiBAQCB2b2lkIFdlYlByb2Nlc3M6
OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlvbnMoKQogewogICAgIExvY2tIb2xkZXIg
aG9sZGVyKG1fcHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zTG9jayk7CiAgICAgaWYgKG1fcHJv
Y2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbikgewotICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNz
ZXJ0aW9ucygpIFJlbGVhc2luZyBwYXJlbnQgcHJvY2VzcyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1l
ZCcgYXNzZXJ0aW9uIiwgdGhpcyk7CisgICAgICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxF
QVNFX0xPRygicmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uczogUmVsZWFzaW5nIHBh
cmVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iKTsKICAgICAg
ICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsKICAgICAgICAg
bV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKICAgICB9CiAgICAgaWYg
KG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVz
dW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9jZXNz
IHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKKyAgICAgICAgV0VCUFJPQ0VTU19TVVNQ
RU5TSU9OX1JFTEVBU0VfTE9HKCJyZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zOiBS
ZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3Nl
cnRpb24iKTsKICAgICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gaW52YWxp
ZGF0ZV07CiAgICAgICAgIG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24gPSBudWxscHRy
OwogICAgIH0KQEAgLTY5MSw5ICs2OTcsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZUNQVU1v
bml0b3JTdGF0ZShDUFVNb25pdG9yVXBkYXRlUmVhc29uIHJlYXNvbikKICAgICBpZiAoIW1fY3B1
TW9uaXRvcikgewogICAgICAgICBtX2NwdU1vbml0b3IgPSBtYWtlVW5pcXVlPENQVU1vbml0b3I+
KGNwdU1vbml0b3JpbmdJbnRlcnZhbCwgW3RoaXNdKGRvdWJsZSBjcHVVc2FnZSkgewogICAgICAg
ICAgICAgaWYgKG1fcHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc1R5cGU6OlNlcnZpY2VXb3JrZXIpCi0g
ICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAg
LSBTZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFmJSUgKHdh
cyB1c2luZyAlLjFmJSUpIiwgdGhpcywgbV9jcHVMaW1pdC52YWx1ZSgpICogMTAwLCBjcHVVc2Fn
ZSAqIDEwMCk7CisgICAgICAgICAgICAgICAgV0VCUFJPQ0VTU19TVVNQRU5TSU9OX1JFTEVBU0Vf
TE9HX0VSUk9SKCJ1cGRhdGVDUFVNb25pdG9yU3RhdGU6IFNlcnZpY2Ugd29ya2VyIHByb2Nlc3Mg
ZXhjZWVkZWQgQ1BVIGxpbWl0IG9mICUuMWYlJSAod2FzIHVzaW5nICUuMWYlJSkiLCBtX2NwdUxp
bWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwKTsKICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQZXJmb3JtYW5jZUxvZ2dpbmcsICIlcCAt
IFdlYlByb2Nlc3MgZXhjZWVkZWQgQ1BVIGxpbWl0IG9mICUuMWYlJSAod2FzIHVzaW5nICUuMWYl
JSkgaGFzVmlzaWJsZVBhZ2VzPyAlZCIsIHRoaXMsIG1fY3B1TGltaXQudmFsdWUoKSAqIDEwMCwg
Y3B1VXNhZ2UgKiAxMDAsIGhhc1Zpc2libGVXZWJQYWdlKCkpOworICAgICAgICAgICAgICAgIFdF
QlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPR19FUlJPUigidXBkYXRlQ1BVTW9uaXRvclN0
YXRlOiBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFmJSUgKHdhcyB1c2luZyAl
LjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCBtX2NwdUxpbWl0LnZhbHVlKCkgKiAxMDAsIGNw
dVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFnZSgpKTsKICAgICAgICAgICAgIHBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkRXhj
ZWVkQ1BVTGltaXQoKSwgMCk7CiAgICAgICAgIH0pOwogICAgIH0gZWxzZSBpZiAocmVhc29uID09
IENQVU1vbml0b3JVcGRhdGVSZWFzb246OlZpc2liaWxpdHlIYXNDaGFuZ2VkKSB7CkBAIC03ODks
NyArNzk1LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBNb25vdG9uaWNUaW1lIGVuZFRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKICNlbmRpZgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNw
ZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkgdG9v
ayAlLjJmbXMiLCB0aGlzLCAoZW5kVGltZSAtIHN0YXJ0VGltZSkubWlsbGlzZWNvbmRzKCkpOwor
ICAgIFdFQlBST0NFU1NfU1VTUEVOU0lPTl9SRUxFQVNFX0xPRygiZGVzdHJveVJlbmRlcmluZ1Jl
c291cmNlczogdG9vayAlLjJmbXMiLCAoZW5kVGltZSAtIHN0YXJ0VGltZSkubWlsbGlzZWNvbmRz
KCkpOwogfQogCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgbGl2ZSBzb21ld2hlcmUgZWxzZSwgYW5k
IGl0IHNob3VsZCBoYXZlIHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBsaW5lIGluc3RlYWQgb2YgY2Fs
bGluZyBvdXQgdG8gV0tTSS4KQEAgLTgzMCw5ICs4MzYsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OnVw
ZGF0ZUZyZWV6ZXJTdGF0dXMoKQogICAgIGJvb2wgaXNGcmVlemFibGUgPSBzaG91bGRGcmVlemVP
blN1c3BlbnNpb24oKTsKICAgICBhdXRvIHJlc3VsdCA9IG1lbW9yeXN0YXR1c19jb250cm9sKE1F
TU9SWVNUQVRVU19DTURfU0VUX1BST0NFU1NfSVNfRlJFRVpBQkxFLCBnZXRwaWQoKSwgaXNGcmVl
emFibGUgPyAxIDogMCwgbnVsbHB0ciwgMCk7CiAgICAgaWYgKHJlc3VsdCkKLSAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnVwZGF0
ZUZyZWV6ZXJTdGF0dXMoKSBpc0ZyZWV6YWJsZTogJWQsIGVycm9yOiAlZCIsIHRoaXMsIGlzRnJl
ZXphYmxlLCByZXN1bHQpOworICAgICAgICBXRUJQUk9DRVNTX1NVU1BFTlNJT05fUkVMRUFTRV9M
T0dfRVJST1IoInVwZGF0ZUZyZWV6ZXJTdGF0dXM6IGlzRnJlZXphYmxlOiAlZCwgZXJyb3I6ICVk
IiwgaXNGcmVlemFibGUsIHJlc3VsdCk7CiAgICAgZWxzZQotICAgICAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygp
IGlzRnJlZXphYmxlOiAlZCwgc3VjY2VzcyIsIHRoaXMsIGlzRnJlZXphYmxlKTsKKyAgICAgICAg
V0VCUFJPQ0VTU19TVVNQRU5TSU9OX1JFTEVBU0VfTE9HKCJ1cGRhdGVGcmVlemVyU3RhdHVzOiBp
c0ZyZWV6YWJsZTogJWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7CiB9CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386637</attachid>
            <date>2020-01-02 15:22:44 -0800</date>
            <delta_ts>2020-01-02 15:43:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205691-20200102152243.patch</filename>
            <type>text/plain</type>
            <size>20038</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkZDEyNmY2ZTlhNWQ3NjAy
MGRhYjFkYTg5ZTM2MmM4YmMxOWZiZGYuLmQ3YWNkYjgwZmEwMjNiYTcyYzRhNzE5YjU1MzQzZTc4
ZTg1OTA4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjAtMDEtMDIgIEtlaXRoIFJv
bGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZm9ybWF0IFdlYlByb2Nlc3Mg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1NjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODI4MzI5ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIGZvcm1hdCB1c2Vk
IGJ5IFdlYlByb2Nlc3MgaW4gaXRzIFJFTEVBU0VfTE9HIGxvZ2dpbmcuIFVzZQorICAgICAgICB0
aGUgZm9ybWF0IHVzZWQgYnkgV2ViUGFnZVByb3h5IGFuZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIs
IHdoaWNoIGlzCisgICAgICAgIGdlbmVyYWxseSBvZiB0aGUgZm9ybToKKworICAgICAgICAgICAg
PG9iamVjdC1hZGRyZXNzPiAtIFs8dmFsdWVzIHRoYXQgaGVscCB0aHJlYWQgdG9nZXRoZXIgb3Bl
cmF0aW9ucz5dIDxjbGFzcz46OjxtZXRob2Q+OiA8bWVzc2FnZSBhbmQgb3RoZXIgdXNlZnVsIHZh
bHVlcz4KKworICAgICAgICBTbywgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgIDB4NmYxZGY3
MDAwIC0gV2ViUHJvY2Vzczo6ZGVzdHJveVJlbmRlcmluZ1Jlc291cmNlcygpIHRvb2sgMC4wMm1z
CisKKyAgICAgICAgYmVjb21lczoKKworICAgICAgICAgICAgMHg2ZjFkZjcwMDAgLSBbc2Vzc2lv
bklEPTJdIFdlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJpbmdSZXNvdXJjZXM6IHRvb2sgMC4wMm1z
CisKKyAgICAgICAgV2hpbGUgd2UncmUgYXQgaXQsIGFsc28gY29udmVydCBvdmVyIHRvIHRoZSBS
RUxFQVNFX0xPR19JRl9BTExPV0VECisgICAgICAgIHN0eWxlIG9mIGxvZ2dpbmcgbWFjcm8uIFdl
IGRpZG4ndCB1c2VkIHRvIGJlIGFibGUgdG8gZG8gdGhpcyBzaW5jZSB0aGUKKyAgICAgICAgZGVj
aXNpb24gb24gd2hldGhlciBvciBub3QgdG8gYWxsb3cgbG9nZ2luZyBpcyB0eXBpY2FsbHkgYmFz
ZWQgb24KKyAgICAgICAgU2Vzc2lvbklELCB3aGljaCBkaWRuJ3QgdXNlZCB0byBiZSBhbiBhdHRy
aWJ1dGUgb2YgV2ViUHJvY2Vzcy4gTm93CisgICAgICAgIFdlYlByb2Nlc3NlcyBkbyAob3IgY2Fu
KSBoYXZlIGEgU2Vzc2lvbklELCBzbyB1c2UgdGhhdCB0byBzdXBwb3J0IHRoZQorICAgICAgICBo
aWRpbmcgb2YgbG9nZ2luZyBpbiBwcml2YXRlIHNlc3Npb25zLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIG5vIGFkZGVkIG9yIGNoYW5nZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJlcGFy
ZVRvU3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNW
b2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZyZWV6ZUFsbExheWVyVHJl
ZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1bmZyZWV6ZUFsbExheWVyVHJlZXMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Z3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5z
aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnJldm9rZVVzZXJNZWRpYURldmlj
ZVNhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05h
bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hh
bmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1
bWVkQXNzZXJ0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVwZGF0ZUNQVU1v
bml0b3JTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJp
bmdSZXNvdXJjZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1cGRhdGVGcmVlemVy
U3RhdHVzKToKKwogMjAyMC0wMS0wMiAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVmb3JtYXQgV2ViUHJvY2Vzc0NhY2hlIGxvZ2dpbmcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAxNTEzMjcxYWMzZjk3NTE1NmY5OTQyZGFm
ZGYwY2MwYThjZDdlM2QzLi40N2QyMzI2NGRhYTkwM2UzYTUzMDljNTAwOTMyNTZjOTZlZDViYjYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNjgsNiArMTY4
LDkgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCIKICNlbmRpZgogCisj
ZGVmaW5lIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQgKG1fc2Vzc2lvbklELmhhc1ZhbHVlKCkgPyBt
X3Nlc3Npb25JRC0+dG9VSW50NjQoKSA6IDApCisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpLCBjaGFubmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNz
OjoiIGZtdCwgdGhpcywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKKwog
Ly8gVGhpcyBzaG91bGQgYmUgbGVzcyB0aGFuIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1l
VGhyZXNob2xkIGluIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLgogc3RhdGljIGNvbnN0IFNlY29u
ZHMgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgeyAyOSAqIDI0
ICogNjAgKiA2MCB9OwogCkBAIC0zMTQsMTEgKzMxNywxMSBAQCB2b2lkIFdlYlByb2Nlc3M6Omlu
aXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0
ZXJzKQogICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHByb2Nlc3Mgd2Uga2VlcCBhcm91bmQg
Zm9yIHBlcmZvcm1hbmNlLCBraWxsIGl0IG9uIG1lbW9yeSBwcmVzc3VyZSBpbnN0ZWFkIG9mIHRy
eWluZyB0byBmcmVlIHVwIGl0cyBtZW1vcnkuCiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlw
ZSA9PSBQcm9jZXNzVHlwZTo6Q2FjaGVkV2ViQ29udGVudCB8fCBtX3Byb2Nlc3NUeXBlID09IFBy
b2Nlc3NUeXBlOjpQcmV3YXJtZWRXZWJDb250ZW50IHx8IGFyZUFsbFBhZ2VzU3VzcGVuZGVkKCkp
IHsKICAgICAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6Q2Fj
aGVkV2ViQ29udGVudCkKLSAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzcywg
IkNhY2hlZCBXZWJQcm9jZXNzICVpIGlzIGV4aXRpbmcgZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSIs
IGdldHBpZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQ
cm9jZXNzLCAiaW5pdGlhbGl6ZVdlYlByb2Nlc3M6IENhY2hlZCBXZWJQcm9jZXNzIGlzIGV4aXRp
bmcgZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1f
cHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc1R5cGU6OlByZXdhcm1lZFdlYkNvbnRlbnQpCi0gICAgICAg
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJQcmV3YXJtZWQgV2ViUHJvY2VzcyAl
aSBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAg
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVX
ZWJQcm9jZXNzOiBQcmV3YXJtZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkg
cHJlc3N1cmUiKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HKFByb2Nlc3MsICJTdXNwZW5kZWQgV2ViUHJvY2VzcyAlaSBpcyBleGl0aW5nIGR1
ZSB0byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQcm9jZXNzOiBTdXNw
ZW5kZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiKTsKICAg
ICAgICAgICAgICAgICBzdG9wUnVuTG9vcCgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KQEAgLTQ1MCw3ICs0NTMsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxp
emVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQog
ICAgIFdlYlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTaG91bGRMb2dVc2VySW50ZXJhY3Rpb24o
cGFyYW1ldGVycy5zaG91bGRMb2dVc2VySW50ZXJhY3Rpb24pOwogI2VuZGlmCiAKLSAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzLCAiJXAgLSBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzczog
UHJlc2VudGluZyBwcm9jZXNzID0gJWQiLCB0aGlzLCBXZWJDb3JlOjpwcmVzZW50aW5nQXBwbGlj
YXRpb25QSUQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzLCAiaW5pdGlh
bGl6ZVdlYlByb2Nlc3M6IFByZXNlbnRpbmcgcHJvY2VzcyA9ICVkIiwgV2ViQ29yZTo6cHJlc2Vu
dGluZ0FwcGxpY2F0aW9uUElEKCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnNldFdlYnNpdGVE
YXRhU3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1l
dGVycykKQEAgLTE0NDQsNyArMTQ0Nyw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRBbGxHZW9s
b2NhdGlvblBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5k
KGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwg
IiVwIC0gV2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCgpIGlzU3VzcGVuc2lvbkltbWluZW50
OiAlZCIsIHRoaXMsIGlzU3VzcGVuc2lvbkltbWluZW50KTsKKyAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJlcGFyZVRvU3VzcGVuZDogaXNTdXNwZW5zaW9u
SW1taW5lbnQ6ICVkIiwgaXNTdXNwZW5zaW9uSW1taW5lbnQpOwogICAgIFNldEZvclNjb3BlPGJv
b2w+IHN1c3BlbnNpb25TY29wZShtX2lzU3VzcGVuZGluZywgdHJ1ZSk7CiAgICAgbV9wcm9jZXNz
SXNTdXNwZW5kZWQgPSB0cnVlOwogCkBAIC0xNDUyLDcgKzE0NTUsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlv
bkhhbmRsZXI8dgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgaWYgKG1fcHJvY2Vzc1R5cGUg
PT0gUHJvY2Vzc1R5cGU6OlByZXdhcm1lZFdlYkNvbnRlbnQpIHsKLSAgICAgICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQo
KSBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByZXBhcmVUb1N1c3BlbmQ6IFByb2Nl
c3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIpOwogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRs
ZXIoKTsKICAgICB9CiAjZW5kaWYKQEAgLTE0ODMsMTggKzE0ODYsMTggQEAgdm9pZCBXZWJQcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRp
b25IYW5kbGVyPHYKIAogICAgIG1hcmtBbGxMYXllcnNWb2xhdGlsZShbdGhpcywgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNjZXNzKSBtdXRh
YmxlIHsKICAgICAgICAgaWYgKHN1Y2Nlc3MpCi0gICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9j
ZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6bWFya0FsbExheWVyc1ZvbGF0aWxlKCkg
U3VjY2Vzc2Z1bHkgbWFya2VkIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUiLCB0aGlzKTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJtYXJrQWxs
TGF5ZXJzVm9sYXRpbGU6IFN1Y2Nlc3NmdWx5IG1hcmtlZCBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxl
Iik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoKSBGYWlsZWQgdG8g
bWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIiwgdGhpcyk7CisgICAgICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAibWFya0FsbExheWVyc1ZvbGF0aWxl
OiBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIik7CiAKLSAgICAgICAgUkVM
RUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1
c3BlbmQoKSBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlzKTsKKyAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByZXBhcmVUb1N1c3BlbmQ6
IFByb2Nlc3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgIH0pOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xhdGls
ZShXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6Om1hcmtBbGxM
YXllcnNWb2xhdGlsZSgpIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9j
ZXNzU3VzcGVuc2lvbiwgIm1hcmtBbGxMYXllcnNWb2xhdGlsZToiKTsKICAgICBBU1NFUlQoIW1f
cGFnZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlcik7CiAgICAgbV9jb3VudE9mUGFnZXNG
YWlsaW5nVG9NYXJrVm9sYXRpbGUgPSAwOwogCkBAIC0xNTI1LDIxICsxNTI4LDIxIEBAIHZvaWQg
V2ViUHJvY2Vzczo6Y2FuY2VsTWFya0FsbExheWVyc1ZvbGF0aWxlKCkKIAogdm9pZCBXZWJQcm9j
ZXNzOjpmcmVlemVBbGxMYXllclRyZWVzKCkKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3Vz
cGVuc2lvbiwgIldlYlByb2Nlc3MgJWkgaXMgZnJlZXppbmcgYWxsIGxheWVyIHRyZWVzIiwgZ2V0
cGlkKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJm
cmVlemVBbGxMYXllclRyZWVzOiBXZWJQcm9jZXNzIGlzIGZyZWV6aW5nIGFsbCBsYXllciB0cmVl
cyIpOwogICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKICAgICAgICAg
cGFnZS0+ZnJlZXplTGF5ZXJUcmVlKFdlYlBhZ2U6OkxheWVyVHJlZUZyZWV6ZVJlYXNvbjo6UHJv
Y2Vzc1N1c3BlbmRlZCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6dW5mcmVlemVBbGxMYXllclRy
ZWVzKCkKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldlYlByb2Nlc3Mg
JWkgaXMgdW5mcmVlemluZyBhbGwgbGF5ZXIgdHJlZXMiLCBnZXRwaWQoKSk7CisgICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVuZnJlZXplQWxsTGF5ZXJUcmVl
czogV2ViUHJvY2VzcyBpcyB1bmZyZWV6aW5nIGFsbCBsYXllciB0cmVlcyIpOwogICAgIGZvciAo
YXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKICAgICAgICAgcGFnZS0+dW5mcmVlemVM
YXllclRyZWUoV2ViUGFnZTo6TGF5ZXJUcmVlRnJlZXplUmVhc29uOjpQcm9jZXNzU3VzcGVuZGVk
KTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKCkKIHsKLSAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc0RpZFJl
c3VtZSgpIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVu
c2lvbiwgInByb2Nlc3NEaWRSZXN1bWU6Iik7CiAKICAgICBtX3Byb2Nlc3NJc1N1c3BlbmRlZCA9
IGZhbHNlOwogCkBAIC0xODkwLDcgKzE4OTMsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmdyYW50VXNl
ck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMoTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaQog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZXh0ZW5zaW9ucy5zaXplKCk7IGkrKykgewogICAg
ICAgICBjb25zdCBhdXRvJiBleHRlbnNpb24gPSBleHRlbnNpb25zW2ldOwogICAgICAgICBleHRl
bnNpb24uc2Vjb25kLT5jb25zdW1lKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFdlYlJUQywgIlVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Z3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5k
Ym94RXh0ZW5zaW9ucyAtIGdyYW50ZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uLmZpcnN0LnV0
ZjgoKS5kYXRhKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFdlYlJUQywgImdy
YW50VXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnM6IGdyYW50ZWQgZXh0ZW5zaW9uICVz
IiwgZXh0ZW5zaW9uLmZpcnN0LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBtX21lZGlhQ2FwdHVy
ZVNhbmRib3hFeHRlbnNpb25zLmFkZChleHRlbnNpb24uZmlyc3QsIGV4dGVuc2lvbi5zZWNvbmQu
Y29weVJlZigpKTsKICAgICB9CiB9CkBAIC0xOTIxLDcgKzE5MjQsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBleAogICAgICAgICBBU1NFUlQoZXh0ZW5zaW9uIHx8IE1vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjptb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKSk7CiAg
ICAgICAgIGlmIChleHRlbnNpb24pIHsKICAgICAgICAgICAgIGV4dGVuc2lvbi0+cmV2b2tlKCk7
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMsICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI6OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zIC0gcmV2
b2tlZCBleHRlbnNpb24gJXMiLCBleHRlbnNpb25JRC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoV2ViUlRDLCAicmV2b2tlVXNlck1lZGlhRGV2aWNl
U2FuZGJveEV4dGVuc2lvbnM6IHJldm9rZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uSUQudXRm
OCgpLmRhdGEoKSk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xOTYzLDMgKzE5NjYsNiBAQCBi
b29sIFdlYlByb2Nlc3M6OmFyZUFsbFBhZ2VzVGhyb3R0bGVhYmxlKCkgY29uc3QKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyN1bmRlZiBSRUxFQVNFX0xPR19TRVNTSU9OX0lECisjdW5k
ZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKaW5kZXggYzJjZTg4YmQ2MjZmOGI4YTNjZThhOTAxZTM1ZmZkYmM0YjRjNzI4NS4uNmU5YmQ2
ZDIyYjQwZDIzNTVkNGFjNjIwMjA5YTBkZDkyOTdhYmM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCkBAIC00ODYsNiArNDg2LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNl
bmRNZXNzYWdlVG9XZWJFeHRlbnNpb24oVXNlck1lc3NhZ2UmJik7CiAjZW5kaWYKIAorICAgIGJv
b2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgeyByZXR1cm4gbV9zZXNzaW9uSUQuaGFzVmFs
dWUoKSA/IG1fc2Vzc2lvbklELT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSA6IHRydWU7IH0K
KwogICAgIFJlZlB0cjxXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IG1fd2ViQ29ubmVjdGlvbjsK
IAogICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJQYWdlPj4g
bV9wYWdlTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KaW5kZXggNDNiM2M2OWQ4MTI1MmMzYjM3OTc3MWM2NDNmNzQ2OTU4MTQ1N2My
Ni4uZTBiYmM2ZDA5NTYxYzI2YmY3YTI4MWM0YzYwNmM1MDA2NWE0NDlmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMjYs
NiArMTI2LDEwIEBACiBleHRlcm4gIkMiIHZvaWQgX0NTQ2hlY2tGaXhEaXNhYmxlKCk7CiAjZW5k
aWYKIAorI2RlZmluZSBSRUxFQVNFX0xPR19TRVNTSU9OX0lEIChtX3Nlc3Npb25JRC5oYXNWYWx1
ZSgpID8gbV9zZXNzaW9uSUQtPnRvVUludDY0KCkgOiAwKQorI2RlZmluZSBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Npb25JRD0lIiBQUkl1NjQgIl0gV2Vi
UHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQsICMjX19WQV9BUkdT
X18pCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAu
Li4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFu
bmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoiIGZtdCwgdGhp
cywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKKwogbmFtZXNwYWNlIFdl
YktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMzEwLDcgKzMxNCw3IEBAIHZv
aWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUoKQogICAgICAgICBhdXRvIGVycm9yID0g
X0xTU2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbkl0ZW0oa0xTRGVmYXVsdFNlc3Npb25JRCwgX0xT
R2V0Q3VycmVudEFwcGxpY2F0aW9uQVNOKCksIF9rTFNEaXNwbGF5TmFtZUtleSwgKENGU3RyaW5n
UmVmKWFwcGxpY2F0aW9uTmFtZSwgbnVsbHB0cik7CiAgICAgICAgIEFTU0VSVCghZXJyb3IpOwog
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJGYWlsZWQgdG8gc2V0IHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIFdlYkNvbnRlbnQgcHJv
Y2VzcywgZXJyb3IgY29kZTogJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyb3IpKTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2VzcywgInVwZGF0ZVByb2Nl
c3NOYW1lOiBGYWlsZWQgdG8gc2V0IHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcywgZXJyb3IgY29kZTogJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyb3IpKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogI2lmICFBU1NFUlRfRElTQUJMRUQKQEAgLTMy
Niw3ICszMzAsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1lKCkKIHZvaWQg
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXI6OlRhc2tTdGF0ZSB0YXNrU3RhdGUpCiB7CiAgICAgLy8gTk9URTogVGhpcyB3aWxsIGJl
IGNhbGxlZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2Uo
KSAtIHRhc2tTdGF0ZSglZCkiLCB0aGlzLCB0YXNrU3RhdGUpOworICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlOiB0
YXNrU3RhdGUoJWQpIiwgdGFza1N0YXRlKTsKICAgICBpZiAodGFza1N0YXRlICE9IFByb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZykKICAgICAgICAgcmV0dXJuOwogCkBAIC0zMzYsMjYg
KzM0MCwyNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdAogCiAgICAgLy8gV2Ugd2VyZSBhd2Fr
ZW5lZCBmcm9tIHN1c3BlbnNpb24gdW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQ
cm94eSwgYnV0IHRha2UgYSBwcm9jZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAogICAg
IC8vIHRvIGVuc3VyZSB0aGF0IGl0IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5n
ZWQoKSBUYWtpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYg
b24gVUlQcm9jZXNzIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3VzcGVuc2lvbiwgInByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkOiBUYWtpbmcgJ1dlYlByb2Nlc3Mg
d2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIik7CiAgICAgbV9w
cm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVBy
b2Nlc3NJRCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVh
c29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNz
IHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKICAgICAgICAgaWYg
KCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVk
IHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHBy
b2Nlc3MiLCB0aGlzKTsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
UHJvY2Vzc1N1c3BlbnNpb24sICJwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlOiBGYWlsZWQgdG8g
dGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBwYXJlbnQgcHJvY2Vz
cyIpOwogICAgIH1dKTsKICAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24uZ2V0KCku
aW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hh
bmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJl
aGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOworICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rh
c2tTdGF0ZUNoYW5nZWQ6IFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0
aW9uIG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIpOwogICAgICAg
ICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAgICAgfTsKICAgICBtX3By
b2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoUElEOmdldHBpZCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25Q
cmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hU
YXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNx
dWlyZWQpIHsKICAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0
YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIiwgdGhpcyk7CisgICAgICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZTogRmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIik7CiAgICAgfV0pOwogICAgIG1fcHJvY2Vz
c1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlz
XSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBX
ZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2Vz
cyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBXZWJDb250ZW50IHByb2Nlc3Mg
ZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQ6IFJl
bGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBX
ZWJDb250ZW50IHByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIpOwogICAgICAgICByZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAgICAgfTsKIAogICAgIHBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpQcm9jZXNzV2FzUmVzdW1lZCgpLCBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENo
YW5nZSgpIFBhcmVudCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxl
YXNpbmcgb3VyIGFzc2VydGlvbnMiLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2U6IFBhcmVu
dCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxlYXNpbmcgb3VyIGFz
c2VydGlvbnMiKTsKICAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygp
OwogICAgIH0pOwogfQpAQCAtMzY0LDEyICszNjgsMTIgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZWxl
YXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkKIHsKICAgICBMb2NrSG9sZGVyIGhvbGRl
cihtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwogICAgIGlmIChtX3Byb2Nlc3NX
YXNSZXN1bWVkVUlBc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlv
bnMoKSBSZWxlYXNpbmcgcGFyZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiIsIHRoaXMpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NT
dXNwZW5zaW9uLCAicmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uczogUmVsZWFzaW5n
IHBhcmVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iKTsKICAg
ICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsKICAgICAg
ICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKICAgICB9CiAgICAg
aWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2Fz
UmVzdW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9j
ZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFz
c2VydGlvbnM6IFJlbGVhc2luZyBXZWJDb250ZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQnIGFzc2VydGlvbiIpOwogICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2Vy
dGlvbiBpbnZhbGlkYXRlXTsKICAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlv
biA9IG51bGxwdHI7CiAgICAgfQpAQCAtNjkxLDkgKzY5NSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6
dXBkYXRlQ1BVTW9uaXRvclN0YXRlKENQVU1vbml0b3JVcGRhdGVSZWFzb24gcmVhc29uKQogICAg
IGlmICghbV9jcHVNb25pdG9yKSB7CiAgICAgICAgIG1fY3B1TW9uaXRvciA9IG1ha2VVbmlxdWU8
Q1BVTW9uaXRvcj4oY3B1TW9uaXRvcmluZ0ludGVydmFsLCBbdGhpc10oZG91YmxlIGNwdVVzYWdl
KSB7CiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6U2Vydmlj
ZVdvcmtlcikKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQZXJmb3JtYW5jZUxv
Z2dpbmcsICIlcCAtIFNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgZXhjZWVkZWQgQ1BVIGxpbWl0IG9m
ICUuMWYlJSAod2FzIHVzaW5nICUuMWYlJSkiLCB0aGlzLCBtX2NwdUxpbWl0LnZhbHVlKCkgKiAx
MDAsIGNwdVVzYWdlICogMTAwKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRlOiBTZXJ2
aWNlIHdvcmtlciBwcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFmJSUgKHdhcyB1c2lu
ZyAlLjFmJSUpIiwgbV9jcHVMaW1pdC52YWx1ZSgpICogMTAwLCBjcHVVc2FnZSAqIDEwMCk7CiAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9y
bWFuY2VMb2dnaW5nLCAiJXAgLSBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFm
JSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCB0aGlzLCBtX2NwdUxp
bWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFnZSgpKTsK
KyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNw
ZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRlOiBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBs
aW1pdCBvZiAlLjFmJSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCBt
X2NwdUxpbWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFn
ZSgpKTsKICAgICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkRXhjZWVkQ1BVTGltaXQoKSwgMCk7CiAgICAgICAgIH0p
OwogICAgIH0gZWxzZSBpZiAocmVhc29uID09IENQVU1vbml0b3JVcGRhdGVSZWFzb246OlZpc2li
aWxpdHlIYXNDaGFuZ2VkKSB7CkBAIC03ODksNyArNzkzLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpk
ZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICBNb25vdG9uaWNUaW1lIGVuZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICNlbmRpZgot
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpkZXN0
cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkgdG9vayAlLjJmbXMiLCB0aGlzLCAoZW5kVGltZSAtIHN0
YXJ0VGltZSkubWlsbGlzZWNvbmRzKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJv
Y2Vzc1N1c3BlbnNpb24sICJkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzOiB0b29rICUuMmZtcyIs
IChlbmRUaW1lIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSk7CiB9CiAKIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCBsaXZlIHNvbWV3aGVyZSBlbHNlLCBhbmQgaXQgc2hvdWxkIGhhdmUgdGhlIGlt
cGxlbWVudGF0aW9uIGluIGxpbmUgaW5zdGVhZCBvZiBjYWxsaW5nIG91dCB0byBXS1NJLgpAQCAt
ODMwLDkgKzgzNCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygpCiAg
ICAgYm9vbCBpc0ZyZWV6YWJsZSA9IHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpOwogICAgIGF1
dG8gcmVzdWx0ID0gbWVtb3J5c3RhdHVzX2NvbnRyb2woTUVNT1JZU1RBVFVTX0NNRF9TRVRfUFJP
Q0VTU19JU19GUkVFWkFCTEUsIGdldHBpZCgpLCBpc0ZyZWV6YWJsZSA/IDEgOiAwLCBudWxscHRy
LCAwKTsKICAgICBpZiAocmVzdWx0KQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygpIGlzRnJl
ZXphYmxlOiAlZCwgZXJyb3I6ICVkIiwgdGhpcywgaXNGcmVlemFibGUsIHJlc3VsdCk7CisgICAg
ICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRh
dGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6YWJsZTogJWQsIGVycm9yOiAlZCIsIGlzRnJlZXphYmxl
LCByZXN1bHQpOwogICAgIGVsc2UKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICIlcCAtIFdlYlByb2Nlc3M6OnVwZGF0ZUZyZWV6ZXJTdGF0dXMoKSBpc0ZyZWV6YWJsZTog
JWQsIHN1Y2Nlc3MiLCB0aGlzLCBpc0ZyZWV6YWJsZSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6
YWJsZTogJWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7CiB9CiAjZW5kaWYKIApAQCAtODg4LDMg
Kzg5Miw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4gdHlwZXMpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjdW5kZWYgUkVM
RUFTRV9MT0dfU0VTU0lPTl9JRAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKKyN1bmRl
ZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386638</attachid>
            <date>2020-01-02 15:43:11 -0800</date>
            <delta_ts>2020-01-02 15:44:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205691-20200102154310.patch</filename>
            <type>text/plain</type>
            <size>20095</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkZDEyNmY2ZTlhNWQ3NjAy
MGRhYjFkYTg5ZTM2MmM4YmMxOWZiZGYuLjQ0NmFiNjE4ZDAxODgzODRkZjQxMGE5NDAxNjRlZTky
MTMzOGQ0YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTMgQEAKKzIwMjAtMDEtMDIgIEtlaXRoIFJv
bGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZm9ybWF0IFdlYlByb2Nlc3Mg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1NjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODI4MzI5ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBVcGRhdGUgdGhlIGZvcm1hdCB1c2VkIGJ5
IFdlYlByb2Nlc3MgaW4gaXRzIFJFTEVBU0VfTE9HIGxvZ2dpbmcuIFVzZQorICAgICAgICB0aGUg
Zm9ybWF0IHVzZWQgYnkgV2ViUGFnZVByb3h5IGFuZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIsIHdo
aWNoIGlzCisgICAgICAgIGdlbmVyYWxseSBvZiB0aGUgZm9ybToKKworICAgICAgICAgICAgPG9i
amVjdC1hZGRyZXNzPiAtIFs8dmFsdWVzIHRoYXQgaGVscCB0aHJlYWQgdG9nZXRoZXIgb3BlcmF0
aW9ucz5dIDxjbGFzcz46OjxtZXRob2Q+OiA8bWVzc2FnZSBhbmQgb3RoZXIgdXNlZnVsIHZhbHVl
cz4KKworICAgICAgICBTbywgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgIDB4NmYxZGY3MDAw
IC0gV2ViUHJvY2Vzczo6ZGVzdHJveVJlbmRlcmluZ1Jlc291cmNlcygpIHRvb2sgMC4wMm1zCisK
KyAgICAgICAgYmVjb21lczoKKworICAgICAgICAgICAgMHg2ZjFkZjcwMDAgLSBbc2Vzc2lvbklE
PTJdIFdlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJpbmdSZXNvdXJjZXM6IHRvb2sgMC4wMm1zCisK
KyAgICAgICAgV2hpbGUgd2UncmUgYXQgaXQsIGFsc28gY29udmVydCBvdmVyIHRvIHRoZSBSRUxF
QVNFX0xPR19JRl9BTExPV0VECisgICAgICAgIHN0eWxlIG9mIGxvZ2dpbmcgbWFjcm8uIFdlIGRp
ZG4ndCB1c2VkIHRvIGJlIGFibGUgdG8gZG8gdGhpcyBzaW5jZSB0aGUKKyAgICAgICAgZGVjaXNp
b24gb24gd2hldGhlciBvciBub3QgdG8gYWxsb3cgbG9nZ2luZyBpcyB0eXBpY2FsbHkgYmFzZWQg
b24KKyAgICAgICAgU2Vzc2lvbklELCB3aGljaCBkaWRuJ3QgdXNlZCB0byBiZSBhbiBhdHRyaWJ1
dGUgb2YgV2ViUHJvY2Vzcy4gTm93CisgICAgICAgIFdlYlByb2Nlc3NlcyBkbyAob3IgY2FuKSBo
YXZlIGEgU2Vzc2lvbklELCBzbyB1c2UgdGhhdCB0byBzdXBwb3J0IHRoZQorICAgICAgICBoaWRp
bmcgb2YgbG9nZ2luZyBpbiBwcml2YXRlIHNlc3Npb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAtIG5vIGFkZGVkIG9yIGNoYW5nZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRp
YWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJlcGFyZVRv
U3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xh
dGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZyZWV6ZUFsbExheWVyVHJlZXMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1bmZyZWV6ZUFsbExheWVyVHJlZXMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6Z3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9u
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnJldm9rZVVzZXJNZWRpYURldmljZVNh
bmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnVwZGF0ZUNQVU1vbml0b3JTdGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJpbmdSZXNvdXJjZXMpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjp1cGRhdGVGcmVlemVyU3RhdHVzKToKKwogMjAyMC0wMS0wMiAg
S2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmb3JtYXQgV2Vi
UHJvY2Vzc0NhY2hlIGxvZ2dpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAppbmRleCAxNTEzMjcxYWMzZjk3NTE1NmY5OTQyZGFmZGYwY2MwYThjZDdlM2QzLi4yZGM5NTJm
ZWJjOWNmYjc4YjRmMmY0YmVhMTQ4OWM2ZDBkOTAwZGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNjgsNiArMTY4LDkgQEAKICNpbmNsdWRlICJSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXIuaCIKICNlbmRpZgogCisjZGVmaW5lIFJFTEVBU0VfTE9HX1NFU1NJ
T05fSUQgKG1fc2Vzc2lvbklEID8gbV9zZXNzaW9uSUQtPnRvVUludDY0KCkgOiAwKQorI2RlZmlu
ZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Npb25JRD0l
IiBQUkl1NjQgIl0gV2ViUHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NFU1NJT05f
SUQsICMjX19WQV9BUkdTX18pCisKIC8vIFRoaXMgc2hvdWxkIGJlIGxlc3MgdGhhbiBwbHVnSW5B
dXRvU3RhcnRFeHBpcmF0aW9uVGltZVRocmVzaG9sZCBpbiBQbHVnSW5BdXRvU3RhcnRQcm92aWRl
ci4KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBk
YXRlVGhyZXNob2xkIHsgMjkgKiAyNCAqIDYwICogNjAgfTsKIApAQCAtMzE0LDExICszMTcsMTEg
QEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBw
cm9jZXNzIHdlIGtlZXAgYXJvdW5kIGZvciBwZXJmb3JtYW5jZSwga2lsbCBpdCBvbiBtZW1vcnkg
cHJlc3N1cmUgaW5zdGVhZCBvZiB0cnlpbmcgdG8gZnJlZSB1cCBpdHMgbWVtb3J5LgogICAgICAg
ICAgICAgaWYgKG1fcHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc1R5cGU6OkNhY2hlZFdlYkNvbnRlbnQg
fHwgbV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6UHJld2FybWVkV2ViQ29udGVudCB8fCBh
cmVBbGxQYWdlc1N1c3BlbmRlZCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fcHJvY2Vzc1R5
cGUgPT0gUHJvY2Vzc1R5cGU6OkNhY2hlZFdlYkNvbnRlbnQpCi0gICAgICAgICAgICAgICAgICAg
IFJFTEVBU0VfTE9HKFByb2Nlc3MsICJDYWNoZWQgV2ViUHJvY2VzcyAlaSBpcyBleGl0aW5nIGR1
ZSB0byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQcm9jZXNzOiBDYWNo
ZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiKTsKICAgICAg
ICAgICAgICAgICBlbHNlIGlmIChtX3Byb2Nlc3NUeXBlID09IFByb2Nlc3NUeXBlOjpQcmV3YXJt
ZWRXZWJDb250ZW50KQotICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAi
UHJld2FybWVkIFdlYlByb2Nlc3MgJWkgaXMgZXhpdGluZyBkdWUgdG8gbWVtb3J5IHByZXNzdXJl
IiwgZ2V0cGlkKCkpOworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3MsICJpbml0aWFsaXplV2ViUHJvY2VzczogUHJld2FybWVkIFdlYlByb2Nlc3MgaXMg
ZXhpdGluZyBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIik7CiAgICAgICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiU3VzcGVuZGVkIFdlYlBy
b2Nlc3MgJWkgaXMgZXhpdGluZyBkdWUgdG8gbWVtb3J5IHByZXNzdXJlIiwgZ2V0cGlkKCkpOwor
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3MsICJpbml0
aWFsaXplV2ViUHJvY2VzczogU3VzcGVuZGVkIFdlYlByb2Nlc3MgaXMgZXhpdGluZyBkdWUgdG8g
bWVtb3J5IHByZXNzdXJlIik7CiAgICAgICAgICAgICAgICAgc3RvcFJ1bkxvb3AoKTsKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CkBAIC00NTAsNyArNDUzLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2V0U2hv
dWxkTG9nVXNlckludGVyYWN0aW9uKHBhcmFtZXRlcnMuc2hvdWxkTG9nVXNlckludGVyYWN0aW9u
KTsKICNlbmRpZgogCi0gICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIiVwIC0gV2ViUHJvY2Vzczo6
aW5pdGlhbGl6ZVdlYlByb2Nlc3M6IFByZXNlbnRpbmcgcHJvY2VzcyA9ICVkIiwgdGhpcywgV2Vi
Q29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQcm9jZXNzOiBQcmVzZW50aW5nIHByb2Nlc3Mg
PSAlZCIsIFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpKTsKIH0KIAogdm9pZCBX
ZWJQcm9jZXNzOjpzZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9jZXNzRGF0YVN0
b3JlUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCkBAIC0xNDQ0LDcgKzE0NDcsNyBAQCB2b2lkIFdl
YlByb2Nlc3M6OnJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucygpCiAKIHZvaWQgV2ViUHJv
Y2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50LCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQo
KSBpc1N1c3BlbnNpb25JbW1pbmVudDogJWQiLCB0aGlzLCBpc1N1c3BlbnNpb25JbW1pbmVudCk7
CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByZXBhcmVU
b1N1c3BlbmQ6IGlzU3VzcGVuc2lvbkltbWluZW50OiAlZCIsIGlzU3VzcGVuc2lvbkltbWluZW50
KTsKICAgICBTZXRGb3JTY29wZTxib29sPiBzdXNwZW5zaW9uU2NvcGUobV9pc1N1c3BlbmRpbmcs
IHRydWUpOwogICAgIG1fcHJvY2Vzc0lzU3VzcGVuZGVkID0gdHJ1ZTsKIApAQCAtMTQ1Miw3ICsx
NDU1LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5z
aW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIGlmIChtX3Byb2Nlc3NUeXBlID09IFByb2Nlc3NUeXBlOjpQcmV3YXJtZWRXZWJDb250ZW50
KSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9j
ZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgUHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5kIiwgdGhp
cyk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJw
cmVwYXJlVG9TdXNwZW5kOiBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiKTsKICAgICAgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfQogI2VuZGlmCkBAIC0xNDgzLDE4ICsx
NDg2LDE4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVu
c2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2CiAKICAgICBtYXJrQWxsTGF5ZXJzVm9s
YXRpbGUoW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKGJvb2wgc3VjY2VzcykgbXV0YWJsZSB7CiAgICAgICAgIGlmIChzdWNjZXNzKQotICAgICAg
ICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6Om1h
cmtBbGxMYXllcnNWb2xhdGlsZSgpIFN1Y2Nlc3NmdWx5IG1hcmtlZCBhbGwgbGF5ZXJzIGFzIHZv
bGF0aWxlIiwgdGhpcyk7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nl
c3NTdXNwZW5zaW9uLCAibWFya0FsbExheWVyc1ZvbGF0aWxlOiBTdWNjZXNzZnVseSBtYXJrZWQg
YWxsIGxheWVycyBhcyB2b2xhdGlsZSIpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6bWFya0FsbExheWVy
c1ZvbGF0aWxlKCkgRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSIsIHRoaXMp
OworICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwg
Im1hcmtBbGxMYXllcnNWb2xhdGlsZTogRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xh
dGlsZSIpOwogCi0gICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBX
ZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKCkgUHJvY2VzcyBpcyByZWFkeSB0byBzdXNwZW5k
IiwgdGhpcyk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJwcmVwYXJlVG9TdXNwZW5kOiBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiKTsKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKIH0KIAogdm9pZCBXZWJQcm9jZXNz
OjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAg
LSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoKSIsIHRoaXMpOworICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJtYXJrQWxsTGF5ZXJzVm9sYXRp
bGU6Iik7CiAgICAgQVNTRVJUKCFtX3BhZ2VNYXJraW5nTGF5ZXJzQXNWb2xhdGlsZUNvdW50ZXIp
OwogICAgIG1fY291bnRPZlBhZ2VzRmFpbGluZ1RvTWFya1ZvbGF0aWxlID0gMDsKIApAQCAtMTUy
NSwyMSArMTUyOCwyMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmNhbmNlbE1hcmtBbGxMYXllcnNWb2xh
dGlsZSgpCiAKIHZvaWQgV2ViUHJvY2Vzczo6ZnJlZXplQWxsTGF5ZXJUcmVlcygpCiB7Ci0gICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJXZWJQcm9jZXNzICVpIGlzIGZyZWV6aW5n
IGFsbCBsYXllciB0cmVlcyIsIGdldHBpZCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3NTdXNwZW5zaW9uLCAiZnJlZXplQWxsTGF5ZXJUcmVlczogV2ViUHJvY2VzcyBpcyBm
cmVlemluZyBhbGwgbGF5ZXIgdHJlZXMiKTsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VN
YXAudmFsdWVzKCkpCiAgICAgICAgIHBhZ2UtPmZyZWV6ZUxheWVyVHJlZShXZWJQYWdlOjpMYXll
clRyZWVGcmVlemVSZWFzb246OlByb2Nlc3NTdXNwZW5kZWQpOwogfQogCiB2b2lkIFdlYlByb2Nl
c3M6OnVuZnJlZXplQWxsTGF5ZXJUcmVlcygpCiB7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICJXZWJQcm9jZXNzICVpIGlzIHVuZnJlZXppbmcgYWxsIGxheWVyIHRyZWVzIiwg
Z2V0cGlkKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24s
ICJ1bmZyZWV6ZUFsbExheWVyVHJlZXM6IFdlYlByb2Nlc3MgaXMgdW5mcmVlemluZyBhbGwgbGF5
ZXIgdHJlZXMiKTsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCiAg
ICAgICAgIHBhZ2UtPnVuZnJlZXplTGF5ZXJUcmVlKFdlYlBhZ2U6OkxheWVyVHJlZUZyZWV6ZVJl
YXNvbjo6UHJvY2Vzc1N1c3BlbmRlZCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cHJvY2Vzc0Rp
ZFJlc3VtZSgpCiB7Ci0gICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdl
YlByb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUoKSIsIHRoaXMpOworICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJwcm9jZXNzRGlkUmVzdW1lOiIpOwogCiAgICAg
bV9wcm9jZXNzSXNTdXNwZW5kZWQgPSBmYWxzZTsKIApAQCAtMTg5MCw3ICsxODkzLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzOjpncmFudFVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zKE1lZGlh
RGV2aWNlU2FuZGJveEV4dGVuc2kKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGV4dGVuc2lv
bnMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgY29uc3QgYXV0byYgZXh0ZW5zaW9uID0gZXh0ZW5z
aW9uc1tpXTsKICAgICAgICAgZXh0ZW5zaW9uLnNlY29uZC0+Y29uc3VtZSgpOwotICAgICAgICBS
RUxFQVNFX0xPRyhXZWJSVEMsICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6Omdy
YW50VXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMgLSBncmFudGVkIGV4dGVuc2lvbiAl
cyIsIGV4dGVuc2lvbi5maXJzdC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChXZWJSVEMsICJncmFudFVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25z
OiBncmFudGVkIGV4dGVuc2lvbiAlcyIsIGV4dGVuc2lvbi5maXJzdC51dGY4KCkuZGF0YSgpKTsK
ICAgICAgICAgbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucy5hZGQoZXh0ZW5zaW9uLmZp
cnN0LCBleHRlbnNpb24uc2Vjb25kLmNvcHlSZWYoKSk7CiAgICAgfQogfQpAQCAtMTkyMSw3ICsx
OTI0LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZXZva2VVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0
ZW5zaW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZXgKICAgICAgICAgQVNTRVJUKGV4dGVuc2lv
biB8fCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6bW9ja1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJFbmFibGVkKCkpOwogICAgICAgICBpZiAoZXh0ZW5zaW9uKSB7CiAgICAgICAgICAg
ICBleHRlbnNpb24tPnJldm9rZSgpOwotICAgICAgICAgICAgUkVMRUFTRV9MT0coV2ViUlRDLCAi
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOjpyZXZva2VVc2VyTWVkaWFEZXZpY2VT
YW5kYm94RXh0ZW5zaW9ucyAtIHJldm9rZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uSUQudXRm
OCgpLmRhdGEoKSk7CisgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFdlYlJUQywg
InJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zOiByZXZva2VkIGV4dGVuc2lv
biAlcyIsIGV4dGVuc2lvbklELnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICB9CiAgICAgfQogfQpA
QCAtMTk2MywzICsxOTY2LDYgQEAgYm9vbCBXZWJQcm9jZXNzOjphcmVBbGxQYWdlc1Rocm90dGxl
YWJsZSgpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjdW5kZWYgUkVMRUFT
RV9MT0dfU0VTU0lPTl9JRAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGMyY2U4OGJkNjI2ZjhiOGEzY2U4YTkwMWUz
NWZmZGJjNGI0YzcyODUuLmJiZjFmZjJjNTJmYjY1MmRkOTdlMjczOTRhYTljNDE3ZDA0NDUyMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNDg2LDYgKzQ4Niw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvV2ViRXh0ZW5zaW9uKFVzZXJNZXNzYWdl
JiYpOwogI2VuZGlmCiAKKyAgICBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIHsgcmV0
dXJuIG1fc2Vzc2lvbklEID8gbV9zZXNzaW9uSUQtPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
IDogdHJ1ZTsgfQorCiAgICAgUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gbV93ZWJD
b25uZWN0aW9uOwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgUmVmUHRy
PFdlYlBhZ2U+PiBtX3BhZ2VNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA0M2IzYzY5ZDgxMjUyYzNiMzc5NzcxYzY0M2Y3
NDY5NTgxNDU3YzI2Li5iODY5MDBiNTA3NDgzNGMzMmIzMTBkMTdiNGY4NGRlM2RlYzZhZGRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KQEAgLTEyNiw2ICsxMjYsMTAgQEAKIGV4dGVybiAiQyIgdm9pZCBfQ1NDaGVja0ZpeERpc2Fi
bGUoKTsKICNlbmRpZgogCisjZGVmaW5lIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQgKG1fc2Vzc2lv
bklEID8gbV9zZXNzaW9uSUQtPnRvVUludDY0KCkgOiAwKQorI2RlZmluZSBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3Nlc3Npb25JRD0lIiBQUkl1NjQgIl0gV2Vi
UHJvY2Vzczo6IiBmbXQsIHRoaXMsIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQsICMjX19WQV9BUkdT
X18pCisjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAu
Li4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFu
bmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoiIGZtdCwgdGhp
cywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKKwogbmFtZXNwYWNlIFdl
YktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMzEwLDcgKzMxNCw3IEBAIHZv
aWQgV2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUoKQogICAgICAgICBhdXRvIGVycm9yID0g
X0xTU2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbkl0ZW0oa0xTRGVmYXVsdFNlc3Npb25JRCwgX0xT
R2V0Q3VycmVudEFwcGxpY2F0aW9uQVNOKCksIF9rTFNEaXNwbGF5TmFtZUtleSwgKENGU3RyaW5n
UmVmKWFwcGxpY2F0aW9uTmFtZSwgbnVsbHB0cik7CiAgICAgICAgIEFTU0VSVCghZXJyb3IpOwog
ICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJGYWlsZWQgdG8gc2V0IHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIFdlYkNvbnRlbnQgcHJv
Y2VzcywgZXJyb3IgY29kZTogJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyb3IpKTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2VzcywgInVwZGF0ZVByb2Nl
c3NOYW1lOiBGYWlsZWQgdG8gc2V0IHRoZSBkaXNwbGF5IG5hbWUgb2YgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcywgZXJyb3IgY29kZTogJWxkIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyb3IpKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogI2lmICFBU1NFUlRfRElTQUJMRUQKQEAgLTMy
Niw3ICszMzAsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0ZVByb2Nlc3NOYW1lKCkKIHZvaWQg
V2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2Jz
ZXJ2ZXI6OlRhc2tTdGF0ZSB0YXNrU3RhdGUpCiB7CiAgICAgLy8gTk9URTogVGhpcyB3aWxsIGJl
IGNhbGxlZCBmcm9tIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0gICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2Uo
KSAtIHRhc2tTdGF0ZSglZCkiLCB0aGlzLCB0YXNrU3RhdGUpOworICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlOiB0
YXNrU3RhdGUoJWQpIiwgdGFza1N0YXRlKTsKICAgICBpZiAodGFza1N0YXRlICE9IFByb2Nlc3NU
YXNrU3RhdGVPYnNlcnZlcjo6UnVubmluZykKICAgICAgICAgcmV0dXJuOwogCkBAIC0zMzYsMjYg
KzM0MCwyNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJv
Y2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUgdAogCiAgICAgLy8gV2Ugd2VyZSBhd2Fr
ZW5lZCBmcm9tIHN1c3BlbnNpb24gdW5leHBlY3RlZGx5LiBOb3RpZnkgdGhlIFdlYlByb2Nlc3NQ
cm94eSwgYnV0IHRha2UgYSBwcm9jZXNzIGFzc2VydGlvbiBvbiBvdXIgcGFyZW50IFBJRAogICAg
IC8vIHRvIGVuc3VyZSB0aGF0IGl0IHRvbyBpcyBhd2FrZW5lZC4KLSAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZUNoYW5n
ZWQoKSBUYWtpbmcgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYg
b24gVUlQcm9jZXNzIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3VzcGVuc2lvbiwgInByb2Nlc3NUYXNrU3RhdGVDaGFuZ2VkOiBUYWtpbmcgJ1dlYlByb2Nlc3Mg
d2FzIHJlc3VtZWQnIGFzc2VydGlvbiBvbiBiZWhhbGYgb24gVUlQcm9jZXNzIik7CiAgICAgbV9w
cm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoUElEOnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnJlbW90ZVBy
b2Nlc3NJRCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgcmVh
c29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrIG5hbWU6QCJXZWJQcm9jZXNz
IHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNxdWlyZWQpIHsKICAgICAgICAgaWYg
KCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5z
aW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlKCkgZmFpbGVk
IHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFzc2VydGlvbiBmb3IgcGFyZW50IHBy
b2Nlc3MiLCB0aGlzKTsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
UHJvY2Vzc1N1c3BlbnNpb24sICJwcm9jZXNzVGFza1N0YXRlRGlkQ2hhbmdlOiBGYWlsZWQgdG8g
dGFrZSAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIGZvciBwYXJlbnQgcHJvY2Vz
cyIpOwogICAgIH1dKTsKICAgICBtX3Byb2Nlc3NXYXNSZXN1bWVkVUlBc3NlcnRpb24uZ2V0KCku
aW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlzXSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hh
bmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJl
aGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOworICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rh
c2tTdGF0ZUNoYW5nZWQ6IFJlbGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0
aW9uIG9uIGJlaGFsZiBvbiBVSVByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIpOwogICAgICAg
ICByZWxlYXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAgICAgfTsKICAgICBtX3By
b2Nlc3NXYXNSZXN1bWVkT3duQXNzZXJ0aW9uID0gYWRvcHROUyhbW0JLU1Byb2Nlc3NBc3NlcnRp
b24gYWxsb2NdIGluaXRXaXRoUElEOmdldHBpZCgpIGZsYWdzOkJLU1Byb2Nlc3NBc3NlcnRpb25Q
cmV2ZW50VGFza1N1c3BlbmQgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hU
YXNrIG5hbWU6QCJXZWJQcm9jZXNzIHdhcyByZXN1bWVkIiB3aXRoSGFuZGxlcjpeKEJPT0wgYWNx
dWlyZWQpIHsKICAgICAgICAgaWYgKCFhY3F1aXJlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0
YXRlRGlkQ2hhbmdlKCkgZmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIiwgdGhpcyk7CisgICAgICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZTogRmFpbGVkIHRvIHRha2UgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiBmb3IgV2ViQ29udGVudCBwcm9jZXNzIik7CiAgICAgfV0pOwogICAgIG1fcHJvY2Vz
c1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24uZ2V0KCkuaW52YWxpZGF0aW9uSGFuZGxlciA9IFt0aGlz
XSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBX
ZWJQcm9jZXNzOjpwcm9jZXNzVGFza1N0YXRlQ2hhbmdlZCgpIFJlbGVhc2luZyAnV2ViUHJvY2Vz
cyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBXZWJDb250ZW50IHByb2Nlc3Mg
ZHVlIHRvIGludmFsaWRhdGlvbiIsIHRoaXMpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJvY2Vzc1Rhc2tTdGF0ZUNoYW5nZWQ6IFJl
bGVhc2luZyAnV2ViUHJvY2VzcyB3YXMgcmVzdW1lZCcgYXNzZXJ0aW9uIG9uIGJlaGFsZiBvbiBX
ZWJDb250ZW50IHByb2Nlc3MgZHVlIHRvIGludmFsaWRhdGlvbiIpOwogICAgICAgICByZWxlYXNl
UHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCk7CiAgICAgfTsKIAogICAgIHBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpQcm9jZXNzV2FzUmVzdW1lZCgpLCBbdGhpc10gewotICAgICAgICBSRUxFQVNFX0xPRyhQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc1Rhc2tTdGF0ZURpZENo
YW5nZSgpIFBhcmVudCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxl
YXNpbmcgb3VyIGFzc2VydGlvbnMiLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2U6IFBhcmVu
dCBwcm9jZXNzIGhhbmRsZWQgUHJvY2Vzc1dhc1Jlc3VtZWQgSVBDLCByZWxlYXNpbmcgb3VyIGFz
c2VydGlvbnMiKTsKICAgICAgICAgcmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9ucygp
OwogICAgIH0pOwogfQpAQCAtMzY0LDEyICszNjgsMTIgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZWxl
YXNlUHJvY2Vzc1dhc1Jlc3VtZWRBc3NlcnRpb25zKCkKIHsKICAgICBMb2NrSG9sZGVyIGhvbGRl
cihtX3Byb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uc0xvY2spOwogICAgIGlmIChtX3Byb2Nlc3NX
YXNSZXN1bWVkVUlBc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFzc2VydGlv
bnMoKSBSZWxlYXNpbmcgcGFyZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJlc3VtZWQnIGFz
c2VydGlvbiIsIHRoaXMpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NT
dXNwZW5zaW9uLCAicmVsZWFzZVByb2Nlc3NXYXNSZXN1bWVkQXNzZXJ0aW9uczogUmVsZWFzaW5n
IHBhcmVudCBwcm9jZXNzICdXZWJQcm9jZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iKTsKICAg
ICAgICAgW21fcHJvY2Vzc1dhc1Jlc3VtZWRVSUFzc2VydGlvbiBpbnZhbGlkYXRlXTsKICAgICAg
ICAgbV9wcm9jZXNzV2FzUmVzdW1lZFVJQXNzZXJ0aW9uID0gbnVsbHB0cjsKICAgICB9CiAgICAg
aWYgKG1fcHJvY2Vzc1dhc1Jlc3VtZWRPd25Bc3NlcnRpb24pIHsKLSAgICAgICAgUkVMRUFTRV9M
T0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnJlbGVhc2VQcm9jZXNzV2Fz
UmVzdW1lZEFzc2VydGlvbnMoKSBSZWxlYXNpbmcgV2ViQ29udGVudCBwcm9jZXNzICdXZWJQcm9j
ZXNzIHdhcyByZXN1bWVkJyBhc3NlcnRpb24iLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInJlbGVhc2VQcm9jZXNzV2FzUmVzdW1lZEFz
c2VydGlvbnM6IFJlbGVhc2luZyBXZWJDb250ZW50IHByb2Nlc3MgJ1dlYlByb2Nlc3Mgd2FzIHJl
c3VtZWQnIGFzc2VydGlvbiIpOwogICAgICAgICBbbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2Vy
dGlvbiBpbnZhbGlkYXRlXTsKICAgICAgICAgbV9wcm9jZXNzV2FzUmVzdW1lZE93bkFzc2VydGlv
biA9IG51bGxwdHI7CiAgICAgfQpAQCAtNjkxLDkgKzY5NSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6
dXBkYXRlQ1BVTW9uaXRvclN0YXRlKENQVU1vbml0b3JVcGRhdGVSZWFzb24gcmVhc29uKQogICAg
IGlmICghbV9jcHVNb25pdG9yKSB7CiAgICAgICAgIG1fY3B1TW9uaXRvciA9IG1ha2VVbmlxdWU8
Q1BVTW9uaXRvcj4oY3B1TW9uaXRvcmluZ0ludGVydmFsLCBbdGhpc10oZG91YmxlIGNwdVVzYWdl
KSB7CiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6U2Vydmlj
ZVdvcmtlcikKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQZXJmb3JtYW5jZUxv
Z2dpbmcsICIlcCAtIFNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgZXhjZWVkZWQgQ1BVIGxpbWl0IG9m
ICUuMWYlJSAod2FzIHVzaW5nICUuMWYlJSkiLCB0aGlzLCBtX2NwdUxpbWl0LnZhbHVlKCkgKiAx
MDAsIGNwdVVzYWdlICogMTAwKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRlOiBTZXJ2
aWNlIHdvcmtlciBwcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFmJSUgKHdhcyB1c2lu
ZyAlLjFmJSUpIiwgbV9jcHVMaW1pdC52YWx1ZSgpICogMTAwLCBjcHVVc2FnZSAqIDEwMCk7CiAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9y
bWFuY2VMb2dnaW5nLCAiJXAgLSBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFm
JSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCB0aGlzLCBtX2NwdUxp
bWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFnZSgpKTsK
KyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNw
ZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRlOiBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBs
aW1pdCBvZiAlLjFmJSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCBt
X2NwdUxpbWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFn
ZSgpKTsKICAgICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkRXhjZWVkQ1BVTGltaXQoKSwgMCk7CiAgICAgICAgIH0p
OwogICAgIH0gZWxzZSBpZiAocmVhc29uID09IENQVU1vbml0b3JVcGRhdGVSZWFzb246OlZpc2li
aWxpdHlIYXNDaGFuZ2VkKSB7CkBAIC03ODksNyArNzkzLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpk
ZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICBNb25vdG9uaWNUaW1lIGVuZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICNlbmRpZgot
ICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzOjpkZXN0
cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkgdG9vayAlLjJmbXMiLCB0aGlzLCAoZW5kVGltZSAtIHN0
YXJ0VGltZSkubWlsbGlzZWNvbmRzKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJv
Y2Vzc1N1c3BlbnNpb24sICJkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzOiB0b29rICUuMmZtcyIs
IChlbmRUaW1lIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSk7CiB9CiAKIC8vIEZJWE1FOiBU
aGlzIHNob3VsZCBsaXZlIHNvbWV3aGVyZSBlbHNlLCBhbmQgaXQgc2hvdWxkIGhhdmUgdGhlIGlt
cGxlbWVudGF0aW9uIGluIGxpbmUgaW5zdGVhZCBvZiBjYWxsaW5nIG91dCB0byBXS1NJLgpAQCAt
ODMwLDkgKzgzNCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygpCiAg
ICAgYm9vbCBpc0ZyZWV6YWJsZSA9IHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpOwogICAgIGF1
dG8gcmVzdWx0ID0gbWVtb3J5c3RhdHVzX2NvbnRyb2woTUVNT1JZU1RBVFVTX0NNRF9TRVRfUFJP
Q0VTU19JU19GUkVFWkFCTEUsIGdldHBpZCgpLCBpc0ZyZWV6YWJsZSA/IDEgOiAwLCBudWxscHRy
LCAwKTsKICAgICBpZiAocmVzdWx0KQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygpIGlzRnJl
ZXphYmxlOiAlZCwgZXJyb3I6ICVkIiwgdGhpcywgaXNGcmVlemFibGUsIHJlc3VsdCk7CisgICAg
ICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRh
dGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6YWJsZTogJWQsIGVycm9yOiAlZCIsIGlzRnJlZXphYmxl
LCByZXN1bHQpOwogICAgIGVsc2UKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICIlcCAtIFdlYlByb2Nlc3M6OnVwZGF0ZUZyZWV6ZXJTdGF0dXMoKSBpc0ZyZWV6YWJsZTog
JWQsIHN1Y2Nlc3MiLCB0aGlzLCBpc0ZyZWV6YWJsZSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6
YWJsZTogJWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7CiB9CiAjZW5kaWYKIApAQCAtODg4LDMg
Kzg5Miw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4gdHlwZXMpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjdW5kZWYgUkVM
RUFTRV9MT0dfU0VTU0lPTl9JRAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKKyN1bmRl
ZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386648</attachid>
            <date>2020-01-02 16:52:13 -0800</date>
            <delta_ts>2020-01-02 19:52:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205691-20200102165212.patch</filename>
            <type>text/plain</type>
            <size>15085</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkzNjJlODk5ZDQzMWNhMGNh
ZDE0NjliNTYzOGYxMDQ2YzNiYzA2YjguLjBkYTY3ZjgyY2JkM2U1YjUyM2FiNmJlZTVjNTFhNzIz
NDk3OTI0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjAtMDEtMDIgIEtlaXRoIFJv
bGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZm9ybWF0IFdlYlByb2Nlc3Mg
bG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1NjkxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODI4MzI5ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBVcGRhdGUgdGhlIGZvcm1hdCB1c2VkIGJ5
IFdlYlByb2Nlc3MgaW4gaXRzIFJFTEVBU0VfTE9HIGxvZ2dpbmcuIFVzZQorICAgICAgICB0aGUg
Zm9ybWF0IHVzZWQgYnkgV2ViUGFnZVByb3h5IGFuZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIsIHdo
aWNoIGlzCisgICAgICAgIGdlbmVyYWxseSBvZiB0aGUgZm9ybToKKworICAgICAgICAgICAgPG9i
amVjdC1hZGRyZXNzPiAtIFs8dmFsdWVzIHRoYXQgaGVscCB0aHJlYWQgdG9nZXRoZXIgb3BlcmF0
aW9ucz5dIDxjbGFzcz46OjxtZXRob2Q+OiA8bWVzc2FnZSBhbmQgb3RoZXIgdXNlZnVsIHZhbHVl
cz4KKworICAgICAgICBTbywgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgIDB4NmYxZGY3MDAw
IC0gV2ViUHJvY2Vzczo6ZGVzdHJveVJlbmRlcmluZ1Jlc291cmNlcygpIHRvb2sgMC4wMm1zCisK
KyAgICAgICAgYmVjb21lczoKKworICAgICAgICAgICAgMHg2ZjFkZjcwMDAgLSBbc2Vzc2lvbklE
PTJdIFdlYlByb2Nlc3M6OmRlc3Ryb3lSZW5kZXJpbmdSZXNvdXJjZXM6IHRvb2sgMC4wMm1zCisK
KyAgICAgICAgV2hpbGUgd2UncmUgYXQgaXQsIGFsc28gY29udmVydCBvdmVyIHRvIHRoZSBSRUxF
QVNFX0xPR19JRl9BTExPV0VECisgICAgICAgIHN0eWxlIG9mIGxvZ2dpbmcgbWFjcm8uIFdlIGRp
ZG4ndCB1c2VkIHRvIGJlIGFibGUgdG8gZG8gdGhpcyBzaW5jZSB0aGUKKyAgICAgICAgZGVjaXNp
b24gb24gd2hldGhlciBvciBub3QgdG8gYWxsb3cgbG9nZ2luZyBpcyB0eXBpY2FsbHkgYmFzZWQg
b24KKyAgICAgICAgU2Vzc2lvbklELCB3aGljaCBkaWRuJ3QgdXNlZCB0byBiZSBhbiBhdHRyaWJ1
dGUgb2YgV2ViUHJvY2Vzcy4gTm93CisgICAgICAgIFdlYlByb2Nlc3NlcyBkbyAob3IgY2FuKSBo
YXZlIGEgU2Vzc2lvbklELCBzbyB1c2UgdGhhdCB0byBzdXBwb3J0IHRoZQorICAgICAgICBoaWRp
bmcgb2YgbG9nZ2luZyBpbiBwcml2YXRlIHNlc3Npb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAtIG5vIGFkZGVkIG9yIGNoYW5nZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRp
YWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cHJlcGFyZVRv
U3VzcGVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xh
dGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZyZWV6ZUFsbExheWVyVHJlZXMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp1bmZyZWV6ZUFsbExheWVyVHJlZXMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6Z3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaW9u
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnJldm9rZVVzZXJNZWRpYURldmljZVNh
bmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6dXBkYXRlUHJvY2Vzc05hbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjp1cGRhdGVDUFVNb25pdG9yU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cyk6CisKIDIwMjAtMDEtMDIgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVjdGVk
bHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNzZXJ0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGJiMGRkZDdj
ZmNmYzFlMjg1NDRiNDNiNDU2NmRjZGFlMmUzYjk5YzEuLjFhNmY5M2VmODU3MTM5ODdhN2VhNmNh
MWEzMjUxYTIxYWJkZWM2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKQEAgLTE3Myw2ICsxNzMsOSBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVjcy5oIgogI2Vu
ZGlmCiAKKyNkZWZpbmUgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCAobV9zZXNzaW9uSUQgPyBtX3Nl
c3Npb25JRC0+dG9VSW50NjQoKSA6IDApCisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
Y2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dl
ZCgpLCBjaGFubmVsLCAiJXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoi
IGZtdCwgdGhpcywgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKKwogLy8g
VGhpcyBzaG91bGQgYmUgbGVzcyB0aGFuIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVGhy
ZXNob2xkIGluIFBsdWdJbkF1dG9TdGFydFByb3ZpZGVyLgogc3RhdGljIGNvbnN0IFNlY29uZHMg
cGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgeyAyOSAqIDI0ICog
NjAgKiA2MCB9OwogCkBAIC0zMTcsMTEgKzMyMCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRp
YWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJz
KQogICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHByb2Nlc3Mgd2Uga2VlcCBhcm91bmQgZm9y
IHBlcmZvcm1hbmNlLCBraWxsIGl0IG9uIG1lbW9yeSBwcmVzc3VyZSBpbnN0ZWFkIG9mIHRyeWlu
ZyB0byBmcmVlIHVwIGl0cyBtZW1vcnkuCiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9
PSBQcm9jZXNzVHlwZTo6Q2FjaGVkV2ViQ29udGVudCB8fCBtX3Byb2Nlc3NUeXBlID09IFByb2Nl
c3NUeXBlOjpQcmV3YXJtZWRXZWJDb250ZW50IHx8IGFyZUFsbFBhZ2VzU3VzcGVuZGVkKCkpIHsK
ICAgICAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6Q2FjaGVk
V2ViQ29udGVudCkKLSAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIkNh
Y2hlZCBXZWJQcm9jZXNzICVpIGlzIGV4aXRpbmcgZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSIsIGdl
dHBpZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9j
ZXNzLCAiaW5pdGlhbGl6ZVdlYlByb2Nlc3M6IENhY2hlZCBXZWJQcm9jZXNzIGlzIGV4aXRpbmcg
ZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1fcHJv
Y2Vzc1R5cGUgPT0gUHJvY2Vzc1R5cGU6OlByZXdhcm1lZFdlYkNvbnRlbnQpCi0gICAgICAgICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJQcmV3YXJtZWQgV2ViUHJvY2VzcyAlaSBp
cyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQ
cm9jZXNzOiBQcmV3YXJtZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJl
c3N1cmUiKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3MsICJTdXNwZW5kZWQgV2ViUHJvY2VzcyAlaSBpcyBleGl0aW5nIGR1ZSB0
byBtZW1vcnkgcHJlc3N1cmUiLCBnZXRwaWQoKSk7CisgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgImluaXRpYWxpemVXZWJQcm9jZXNzOiBTdXNwZW5k
ZWQgV2ViUHJvY2VzcyBpcyBleGl0aW5nIGR1ZSB0byBtZW1vcnkgcHJlc3N1cmUiKTsKICAgICAg
ICAgICAgICAgICBzdG9wUnVuTG9vcCgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KQEAgLTQ1Myw3ICs0NTYsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVX
ZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAg
IFdlYlJlc291cmNlTG9hZE9ic2VydmVyOjpzZXRTaG91bGRMb2dVc2VySW50ZXJhY3Rpb24ocGFy
YW1ldGVycy5zaG91bGRMb2dVc2VySW50ZXJhY3Rpb24pOwogI2VuZGlmCiAKLSAgICBSRUxFQVNF
X0xPRyhQcm9jZXNzLCAiJXAgLSBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzczogUHJl
c2VudGluZyBwcm9jZXNzID0gJWQiLCB0aGlzLCBXZWJDb3JlOjpwcmVzZW50aW5nQXBwbGljYXRp
b25QSUQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzLCAiaW5pdGlhbGl6
ZVdlYlByb2Nlc3M6IFByZXNlbnRpbmcgcHJvY2VzcyA9ICVkIiwgV2ViQ29yZTo6cHJlc2VudGlu
Z0FwcGxpY2F0aW9uUElEKCkpOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnNldFdlYnNpdGVEYXRh
U3RvcmVQYXJhbWV0ZXJzKFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cykKQEAgLTE0NTYsNyArMTQ1OSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRBbGxHZW9sb2Nh
dGlvblBlcm1pc3Npb25zKCkKIAogdm9pZCBXZWJQcm9jZXNzOjpwcmVwYXJlVG9TdXNwZW5kKGJv
b2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVw
IC0gV2ViUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZCgpIGlzU3VzcGVuc2lvbkltbWluZW50OiAl
ZCIsIHRoaXMsIGlzU3VzcGVuc2lvbkltbWluZW50KTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAicHJlcGFyZVRvU3VzcGVuZDogaXNTdXNwZW5zaW9uSW1t
aW5lbnQ6ICVkIiwgaXNTdXNwZW5zaW9uSW1taW5lbnQpOwogICAgIFNldEZvclNjb3BlPGJvb2w+
IHN1c3BlbnNpb25TY29wZShtX2lzU3VzcGVuZGluZywgdHJ1ZSk7CiAgICAgbV9wcm9jZXNzSXNT
dXNwZW5kZWQgPSB0cnVlOwogCkBAIC0xNDY0LDcgKzE0NjcsNyBAQCB2b2lkIFdlYlByb2Nlc3M6
OnByZXBhcmVUb1N1c3BlbmQoYm9vbCBpc1N1c3BlbnNpb25JbW1pbmVudCwgQ29tcGxldGlvbkhh
bmRsZXI8dgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgaWYgKG1fcHJvY2Vzc1R5cGUgPT0g
UHJvY2Vzc1R5cGU6OlByZXdhcm1lZFdlYkNvbnRlbnQpIHsKLSAgICAgICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3BlbmQoKSBQ
cm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlzKTsKKyAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByZXBhcmVUb1N1c3BlbmQ6IFByb2Nlc3Mg
aXMgcmVhZHkgdG8gc3VzcGVuZCIpOwogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIo
KTsKICAgICB9CiAjZW5kaWYKQEAgLTE0OTUsMTggKzE0OTgsMTggQEAgdm9pZCBXZWJQcm9jZXNz
OjpwcmVwYXJlVG9TdXNwZW5kKGJvb2wgaXNTdXNwZW5zaW9uSW1taW5lbnQsIENvbXBsZXRpb25I
YW5kbGVyPHYKIAogICAgIG1hcmtBbGxMYXllcnNWb2xhdGlsZShbdGhpcywgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNjZXNzKSBtdXRhYmxl
IHsKICAgICAgICAgaWYgKHN1Y2Nlc3MpCi0gICAgICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6bWFya0FsbExheWVyc1ZvbGF0aWxlKCkgU3Vj
Y2Vzc2Z1bHkgbWFya2VkIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUiLCB0aGlzKTsKKyAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJtYXJrQWxsTGF5
ZXJzVm9sYXRpbGU6IFN1Y2Nlc3NmdWx5IG1hcmtlZCBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIik7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBXZWJQcm9jZXNzOjptYXJrQWxsTGF5ZXJzVm9sYXRpbGUoKSBGYWlsZWQgdG8gbWFy
ayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIiwgdGhpcyk7CisgICAgICAgICAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAibWFya0FsbExheWVyc1ZvbGF0aWxlOiBG
YWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlIik7CiAKLSAgICAgICAgUkVMRUFT
RV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnByZXBhcmVUb1N1c3Bl
bmQoKSBQcm9jZXNzIGlzIHJlYWR5IHRvIHN1c3BlbmQiLCB0aGlzKTsKKyAgICAgICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInByZXBhcmVUb1N1c3BlbmQ6IFBy
b2Nlc3MgaXMgcmVhZHkgdG8gc3VzcGVuZCIpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigp
OwogICAgIH0pOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXllcnNWb2xhdGlsZShX
VEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUkVM
RUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6Om1hcmtBbGxMYXll
cnNWb2xhdGlsZSgpIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3VzcGVuc2lvbiwgIm1hcmtBbGxMYXllcnNWb2xhdGlsZToiKTsKICAgICBBU1NFUlQoIW1fcGFn
ZU1hcmtpbmdMYXllcnNBc1ZvbGF0aWxlQ291bnRlcik7CiAgICAgbV9jb3VudE9mUGFnZXNGYWls
aW5nVG9NYXJrVm9sYXRpbGUgPSAwOwogCkBAIC0xNTM3LDIxICsxNTQwLDIxIEBAIHZvaWQgV2Vi
UHJvY2Vzczo6Y2FuY2VsTWFya0FsbExheWVyc1ZvbGF0aWxlKCkKIAogdm9pZCBXZWJQcm9jZXNz
OjpmcmVlemVBbGxMYXllclRyZWVzKCkKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVu
c2lvbiwgIldlYlByb2Nlc3MgJWkgaXMgZnJlZXppbmcgYWxsIGxheWVyIHRyZWVzIiwgZ2V0cGlk
KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJmcmVl
emVBbGxMYXllclRyZWVzOiBXZWJQcm9jZXNzIGlzIGZyZWV6aW5nIGFsbCBsYXllciB0cmVlcyIp
OwogICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKICAgICAgICAgcGFn
ZS0+ZnJlZXplTGF5ZXJUcmVlKFdlYlBhZ2U6OkxheWVyVHJlZUZyZWV6ZVJlYXNvbjo6UHJvY2Vz
c1N1c3BlbmRlZCk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6dW5mcmVlemVBbGxMYXllclRyZWVz
KCkKIHsKLSAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldlYlByb2Nlc3MgJWkg
aXMgdW5mcmVlemluZyBhbGwgbGF5ZXIgdHJlZXMiLCBnZXRwaWQoKSk7CisgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVuZnJlZXplQWxsTGF5ZXJUcmVlczog
V2ViUHJvY2VzcyBpcyB1bmZyZWV6aW5nIGFsbCBsYXllciB0cmVlcyIpOwogICAgIGZvciAoYXV0
byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKICAgICAgICAgcGFnZS0+dW5mcmVlemVMYXll
clRyZWUoV2ViUGFnZTo6TGF5ZXJUcmVlRnJlZXplUmVhc29uOjpQcm9jZXNzU3VzcGVuZGVkKTsK
IH0KIAogdm9pZCBXZWJQcm9jZXNzOjpwcm9jZXNzRGlkUmVzdW1lKCkKIHsKLSAgICBSRUxFQVNF
X0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6cHJvY2Vzc0RpZFJlc3Vt
ZSgpIiwgdGhpcyk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lv
biwgInByb2Nlc3NEaWRSZXN1bWU6Iik7CiAKICAgICBtX3Byb2Nlc3NJc1N1c3BlbmRlZCA9IGZh
bHNlOwogCkBAIC0xOTAyLDcgKzE5MDUsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmdyYW50VXNlck1l
ZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnMoTWVkaWFEZXZpY2VTYW5kYm94RXh0ZW5zaQogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZXh0ZW5zaW9ucy5zaXplKCk7IGkrKykgewogICAgICAg
ICBjb25zdCBhdXRvJiBleHRlbnNpb24gPSBleHRlbnNpb25zW2ldOwogICAgICAgICBleHRlbnNp
b24uc2Vjb25kLT5jb25zdW1lKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFdlYlJUQywgIlVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjo6Z3JhbnRVc2VyTWVkaWFEZXZpY2VTYW5kYm94
RXh0ZW5zaW9ucyAtIGdyYW50ZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uLmZpcnN0LnV0Zjgo
KS5kYXRhKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFdlYlJUQywgImdyYW50
VXNlck1lZGlhRGV2aWNlU2FuZGJveEV4dGVuc2lvbnM6IGdyYW50ZWQgZXh0ZW5zaW9uICVzIiwg
ZXh0ZW5zaW9uLmZpcnN0LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBtX21lZGlhQ2FwdHVyZVNh
bmRib3hFeHRlbnNpb25zLmFkZChleHRlbnNpb24uZmlyc3QsIGV4dGVuc2lvbi5zZWNvbmQuY29w
eVJlZigpKTsKICAgICB9CiB9CkBAIC0xOTMzLDcgKzE5MzYsNyBAQCB2b2lkIFdlYlByb2Nlc3M6
OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBleAogICAgICAgICBBU1NFUlQoZXh0ZW5zaW9uIHx8IE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjptb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKSk7CiAgICAg
ICAgIGlmIChleHRlbnNpb24pIHsKICAgICAgICAgICAgIGV4dGVuc2lvbi0+cmV2b2tlKCk7Ci0g
ICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMsICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXI6OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zIC0gcmV2b2tl
ZCBleHRlbnNpb24gJXMiLCBleHRlbnNpb25JRC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoV2ViUlRDLCAicmV2b2tlVXNlck1lZGlhRGV2aWNlU2Fu
ZGJveEV4dGVuc2lvbnM6IHJldm9rZWQgZXh0ZW5zaW9uICVzIiwgZXh0ZW5zaW9uSUQudXRmOCgp
LmRhdGEoKSk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xOTc1LDMgKzE5NzgsNiBAQCBib29s
IFdlYlByb2Nlc3M6OmFyZUFsbFBhZ2VzVGhyb3R0bGVhYmxlKCkgY29uc3QKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyN1bmRlZiBSRUxFQVNFX0xPR19TRVNTSU9OX0lECisjdW5kZWYg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggNTE0NzIyNDk3YzI0MWQzMGVlMmNkY2JmNThjZDljZWRmYmY1MDg5Ny4uNTRhYjFkZTZh
ODgyNTU0N2VmYzQzMTI1ODZkODYyZDUwMGFkMTViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCkBAIC00ODEsNiArNDgxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlbmRN
ZXNzYWdlVG9XZWJFeHRlbnNpb24oVXNlck1lc3NhZ2UmJik7CiAjZW5kaWYKIAorICAgIGJvb2wg
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgeyByZXR1cm4gbV9zZXNzaW9uSUQgPyBtX3Nlc3Np
b25JRC0+aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgOiB0cnVlOyB9CisKICAgICBSZWZQdHI8
V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX3dlYkNvbm5lY3Rpb247CiAKICAgICBIYXNoTWFw
PFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBSZWZQdHI8V2ViUGFnZT4+IG1fcGFnZU1hcDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmlu
ZGV4IDk3M2Y1YzQ4NmIxMmIwN2NiYmJhZmQ0M2IxYmMwOWRhODk1OTk3NWUuLmFlM2QyYzdkNDJi
ODYyNGU4NDVkMDBkM2ZkOGViMTQ4YTg4OWFhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTI3LDYgKzEyNywxMCBAQAog
ZXh0ZXJuICJDIiB2b2lkIF9DU0NoZWNrRml4RGlzYWJsZSgpOwogI2VuZGlmCiAKKyNkZWZpbmUg
UkVMRUFTRV9MT0dfU0VTU0lPTl9JRCAobV9zZXNzaW9uSUQgPyBtX3Nlc3Npb25JRC0+dG9VSW50
NjQoKSA6IDApCisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwgZm10LCAu
Li4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBjaGFubmVsLCAi
JXAgLSBbc2Vzc2lvbklEPSUiIFBSSXU2NCAiXSBXZWJQcm9jZXNzOjoiIGZtdCwgdGhpcywgUkVM
RUFTRV9MT0dfU0VTU0lPTl9JRCwgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgUkVMRUFTRV9MT0df
RVJST1JfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYo
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFtzZXNzaW9uSUQ9JSIg
UFJJdTY0ICJdIFdlYlByb2Nlc3M6OiIgZm10LCB0aGlzLCBSRUxFQVNFX0xPR19TRVNTSU9OX0lE
LCAjI19fVkFfQVJHU19fKQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCkBAIC0zMTEsNyArMzE1LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVQcm9j
ZXNzTmFtZSgpCiAgICAgICAgIGF1dG8gZXJyb3IgPSBfTFNTZXRBcHBsaWNhdGlvbkluZm9ybWF0
aW9uSXRlbShrTFNEZWZhdWx0U2Vzc2lvbklELCBfTFNHZXRDdXJyZW50QXBwbGljYXRpb25BU04o
KSwgX2tMU0Rpc3BsYXlOYW1lS2V5LCAoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1lLCBudWxs
cHRyKTsKICAgICAgICAgQVNTRVJUKCFlcnJvcik7CiAgICAgICAgIGlmIChlcnJvcikgewotICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkZhaWxlZCB0byBzZXQgdGhlIGRp
c3BsYXkgbmFtZSBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBlcnJvciBjb2RlOiAlbGQiLCBz
dGF0aWNfY2FzdDxsb25nPihlcnJvcikpOworICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Jf
SUZfQUxMT1dFRChQcm9jZXNzLCAidXBkYXRlUHJvY2Vzc05hbWU6IEZhaWxlZCB0byBzZXQgdGhl
IGRpc3BsYXkgbmFtZSBvZiB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBlcnJvciBjb2RlOiAlbGQi
LCBzdGF0aWNfY2FzdDxsb25nPihlcnJvcikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAjaWYgIUFTU0VSVF9ESVNBQkxFRApAQCAtNjM3LDkgKzY0MSw5IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6dXBkYXRlQ1BVTW9uaXRvclN0YXRlKENQVU1vbml0b3JVcGRhdGVSZWFzb24gcmVhc29u
KQogICAgIGlmICghbV9jcHVNb25pdG9yKSB7CiAgICAgICAgIG1fY3B1TW9uaXRvciA9IG1ha2VV
bmlxdWU8Q1BVTW9uaXRvcj4oY3B1TW9uaXRvcmluZ0ludGVydmFsLCBbdGhpc10oZG91YmxlIGNw
dVVzYWdlKSB7CiAgICAgICAgICAgICBpZiAobV9wcm9jZXNzVHlwZSA9PSBQcm9jZXNzVHlwZTo6
U2VydmljZVdvcmtlcikKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQZXJmb3Jt
YW5jZUxvZ2dpbmcsICIlcCAtIFNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgZXhjZWVkZWQgQ1BVIGxp
bWl0IG9mICUuMWYlJSAod2FzIHVzaW5nICUuMWYlJSkiLCB0aGlzLCBtX2NwdUxpbWl0LnZhbHVl
KCkgKiAxMDAsIGNwdVVzYWdlICogMTAwKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRl
OiBTZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBvZiAlLjFmJSUgKHdh
cyB1c2luZyAlLjFmJSUpIiwgbV9jcHVMaW1pdC52YWx1ZSgpICogMTAwLCBjcHVVc2FnZSAqIDEw
MCk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Io
UGVyZm9ybWFuY2VMb2dnaW5nLCAiJXAgLSBXZWJQcm9jZXNzIGV4Y2VlZGVkIENQVSBsaW1pdCBv
ZiAlLjFmJSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8gJWQiLCB0aGlzLCBt
X2NwdUxpbWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxlV2ViUGFn
ZSgpKTsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nl
c3NTdXNwZW5zaW9uLCAidXBkYXRlQ1BVTW9uaXRvclN0YXRlOiBXZWJQcm9jZXNzIGV4Y2VlZGVk
IENQVSBsaW1pdCBvZiAlLjFmJSUgKHdhcyB1c2luZyAlLjFmJSUpIGhhc1Zpc2libGVQYWdlcz8g
JWQiLCBtX2NwdUxpbWl0LnZhbHVlKCkgKiAxMDAsIGNwdVVzYWdlICogMTAwLCBoYXNWaXNpYmxl
V2ViUGFnZSgpKTsKICAgICAgICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkRXhjZWVkQ1BVTGltaXQoKSwgMCk7CiAgICAg
ICAgIH0pOwogICAgIH0gZWxzZSBpZiAocmVhc29uID09IENQVU1vbml0b3JVcGRhdGVSZWFzb246
OlZpc2liaWxpdHlIYXNDaGFuZ2VkKSB7CkBAIC03MzUsNyArNzM5LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKICAgICBNb25vdG9uaWNUaW1lIGVuZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICNl
bmRpZgotICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNz
OjpkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzKCkgdG9vayAlLjJmbXMiLCB0aGlzLCAoZW5kVGlt
ZSAtIHN0YXJ0VGltZSkubWlsbGlzZWNvbmRzKCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoUHJvY2Vzc1N1c3BlbnNpb24sICJkZXN0cm95UmVuZGVyaW5nUmVzb3VyY2VzOiB0b29rICUu
MmZtcyIsIChlbmRUaW1lIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSk7CiB9CiAKIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBsaXZlIHNvbWV3aGVyZSBlbHNlLCBhbmQgaXQgc2hvdWxkIGhhdmUg
dGhlIGltcGxlbWVudGF0aW9uIGluIGxpbmUgaW5zdGVhZCBvZiBjYWxsaW5nIG91dCB0byBXS1NJ
LgpAQCAtNzc2LDkgKzc4MCw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1
cygpCiAgICAgYm9vbCBpc0ZyZWV6YWJsZSA9IHNob3VsZEZyZWV6ZU9uU3VzcGVuc2lvbigpOwog
ICAgIGF1dG8gcmVzdWx0ID0gbWVtb3J5c3RhdHVzX2NvbnRyb2woTUVNT1JZU1RBVFVTX0NNRF9T
RVRfUFJPQ0VTU19JU19GUkVFWkFCTEUsIGdldHBpZCgpLCBpc0ZyZWV6YWJsZSA/IDEgOiAwLCBu
dWxscHRyLCAwKTsKICAgICBpZiAocmVzdWx0KQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzczo6dXBkYXRlRnJlZXplclN0YXR1cygp
IGlzRnJlZXphYmxlOiAlZCwgZXJyb3I6ICVkIiwgdGhpcywgaXNGcmVlemFibGUsIHJlc3VsdCk7
CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24s
ICJ1cGRhdGVGcmVlemVyU3RhdHVzOiBpc0ZyZWV6YWJsZTogJWQsIGVycm9yOiAlZCIsIGlzRnJl
ZXphYmxlLCByZXN1bHQpOwogICAgIGVsc2UKLSAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3M6OnVwZGF0ZUZyZWV6ZXJTdGF0dXMoKSBpc0ZyZWV6
YWJsZTogJWQsIHN1Y2Nlc3MiLCB0aGlzLCBpc0ZyZWV6YWJsZSk7CisgICAgICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVGcmVlemVyU3RhdHVzOiBp
c0ZyZWV6YWJsZTogJWQsIHN1Y2Nlc3MiLCBpc0ZyZWV6YWJsZSk7CiB9CiAjZW5kaWYKIApAQCAt
ODM0LDMgKzgzOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4gdHlwZXMpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjdW5k
ZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRAorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQK
KyN1bmRlZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECg==
</data>

          </attachment>
      

    </bug>

</bugzilla>