<?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>167453</bug_id>
          
          <creation_ts>2017-01-26 02:16:28 -0800</creation_ts>
          <short_desc>[QuickLook] REGRESSION (WebKit2): Requests are made to invalid x-apple-ql-id: URLs</short_desc>
          <delta_ts>2017-01-26 18:01:42 -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>New Bugs</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=163240</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=135651</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270170</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-26 02:16:28 -0800</bug_when>
    <thetext>[QuickLook] REGRESSION (WebKit2): Requests are made to invalid x-apple-ql-id: URLs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270176</commentid>
    <comment_count>1</comment_count>
      <attachid>299801</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-26 03:05:58 -0800</bug_when>
    <thetext>Created attachment 299801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270237</commentid>
    <comment_count>2</comment_count>
      <attachid>299801</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-01-26 11:02:40 -0800</bug_when>
    <thetext>Comment on attachment 299801
Patch

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

Looks good, but I had one question about the code change in the connection implementation. r=me.

&gt; Source/WebCore/loader/ios/QuickLook.mm:-341
&gt; -    [self _sendDidReceiveResponseIfNecessary];

I think I understand everything about this patch, except for this. Do we no longer emit necessary notifications without this send?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270375</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-26 15:20:26 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 299801 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=299801&amp;action=review
&gt; 
&gt; Looks good, but I had one question about the code change in the connection
&gt; implementation. r=me.
&gt; 
&gt; &gt; Source/WebCore/loader/ios/QuickLook.mm:-341
&gt; &gt; -    [self _sendDidReceiveResponseIfNecessary];
&gt; 
&gt; I think I understand everything about this patch, except for this. Do we no
&gt; longer emit necessary notifications without this send?

I was trying to simplify things by directly calling ResourceLoader::didFail() directly without first calling didReceiveResponse(). In theory this shouldn&apos;t change behavior (in practice we can&apos;t even test this code path since QuickLook is configured to generate HTML error pages for non-password conversion failures).

Doing this isn&apos;t necessary for this patch, though, so you&apos;re right to point it out. I&apos;ll add this call back.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270456</commentid>
    <comment_count>4</comment_count>
      <attachid>299886</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-01-26 17:23:27 -0800</bug_when>
    <thetext>Created attachment 299886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270471</commentid>
    <comment_count>5</comment_count>
      <attachid>299886</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-26 18:01:37 -0800</bug_when>
    <thetext>Comment on attachment 299886
Patch

Clearing flags on attachment: 299886

Committed r211248: &lt;http://trac.webkit.org/changeset/211248&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270472</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-26 18:01:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299801</attachid>
            <date>2017-01-26 03:05:58 -0800</date>
            <delta_ts>2017-01-26 17:23:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167453-20170126030355.patch</filename>
            <type>text/plain</type>
            <size>19871</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk0YmY1Y2RlMWE4MjFi
NTUxZDllZTIyOTk3ZTQ4MGIzYjI5NDRjNC4uZDEyMGUyYzFjNzJlYWMzZWNhYTdiYjlhZTE0MTJh
N2FhODE1ZGEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDE3LTAxLTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUXVpY2tMb29rXSBSRUdSRVNT
SU9OIChXZWJLaXQyKTogUmVxdWVzdHMgYXJlIG1hZGUgdG8gaW52YWxpZCB4LWFwcGxlLXFsLWlk
OiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Njc0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXF1ZXN0cyB0byB4LWFwcGxlLXFsLWlkOiBVUkxzIHNob3VsZCBiZSBmaWx0ZXJlZCBieQorICAg
ICAgICAtW1FMUHJldmlld0NvbnZlcnRlciBzYWZlUmVxdWVzdEZvclJlcXVlc3Q6XS4gVGhpcyBt
ZXRob2QgY2hlY2tzIHRoYXQgdGhlIFVSTCBpcyBvbmUgb2YgdGhlCisgICAgICAgIG9uZXMgZ2Vu
ZXJhdGVkIGZvciB0aGUgY3VycmVudCBwcmV2aWV3LCBhbmQgY2hhbmdlcyBpdCB0byAiYWJvdXQ6
IiBpZiBpdCBpc24ndC4KKworICAgICAgICBXZWJDb3JlOjpzYWZlUUxVUkxGb3JEb2N1bWVudFVS
TEFuZFJlc291cmNlVVJMKCkgd2FzIHJlc3BvbnNpYmxlIGZvciBmaW5kaW5nIHRoZQorICAgICAg
ICBRTFByZXZpZXdDb252ZXJ0ZXIgaW5zdGFuY2UgdG8gdXNlIGJ5IGxvb2tpbmcgaXQgdXAgaW4g
YW4gTlNNdXRhYmxlRGljdGlvbmFyeSB1c2luZyB0aGUKKyAgICAgICAgZG9jdW1lbnQgVVJMIGFz
IGEga2V5LiBJbiBXZWJLaXQxLCB0aGlzIGRpY3Rpb25hcnkgd2FzIHBvcHVsYXRlZCBieSB0aGUK
KyAgICAgICAgUXVpY2tMb29rSGFuZGxlQ2xpZW50IHdoZW4gbmV3IFF1aWNrTG9va0hhbmRsZXMg
d2VyZSBjcmVhdGVkLCBidXQgdGhlIFdlYktpdDIKKyAgICAgICAgUXVpY2tMb29rSGFuZGxlQ2xp
ZW50IG5ldmVyIGRpZCB0aGlzLiBBcyBhIHJlc3VsdCwgcmVxdWVzdHMgdG8gaW52YWxpZCBVUkxz
IHdlcmUgbm90IGJlaW5nCisgICAgICAgIHJld3JpdHRlbi4KKworICAgICAgICBBbiBlYXN5IHdh
eSB0byBsb2FkIGEgUXVpY2tMb29rIGRvY3VtZW50IHdpdGggaW52YWxpZCBVUkxzIGlzIHRvIGNy
ZWF0ZSBhbiBIVE1MIGZpbGUgd2l0aCBhCisgICAgICAgIE1pY3Jvc29mdCBPZmZpY2UgZXh0ZW5z
aW9uIChlLmcuIC54bHMpOyBRdWlja0xvb2ssIGlXb3JrLCBhbmQgT2ZmaWNlIHN1cHBvcnQgb3Bl
bmluZyBIVE1MCisgICAgICAgIGZpbGVzIHdpdGggT2ZmaWNlIGRvY3VtZW50IGV4dGVuc2lvbnMu
IEluIHIyMDcxNTUgd2UgYXBwbGllZCBhIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvCisgICAg
ICAgIFF1aWNrTG9vayBkb2N1bWVudHMgdGhhdCBvbmx5IGFsbG93cyB4LWFwcGxlLXFsLWlkOiBy
ZXNvdXJjZXMgdG8gbG9hZC4gVGhpcyBibG9ja2VkCisgICAgICAgIGNyb3NzLW9yaWdpbiByZXF1
ZXN0cyBmcm9tIGxvYWRpbmcsIGJ1dCBzYW1lLW9yaWdpbiByZXF1ZXN0cyB0byBVUkxzIHRoYXQg
d2VyZW4ndCBnZW5lcmF0ZWQKKyAgICAgICAgYnkgUUxQcmV2aWV3Q29udmVydGVyIHdlcmUgc3Rp
bGwgYWxsb3dlZCB0byBsb2FkLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGJsb2NrcyB0aGVzZSBV
UkxzIGJ5IGNhbGxpbmcgLVtRTFByZXZpZXdDb252ZXJ0ZXIgc2FmZVJlcXVlc3RGb3JSZXF1ZXN0
Ol0gaW4gYQorICAgICAgICB3YXkgdGhhdCB3b3JrcyBmb3IgYm90aCBXZWJLaXQxIGFuZCBXZWJL
aXQyLgorCisgICAgICAgIEFmdGVyIGltcGxlbWVudGluZyBRdWlja0xvb2sgZm9yIFdlYktpdDIs
IHdlIGZvdW5kIGEgYnVnIHdoZW4gbG9hZGluZyBIVE1MLWFzLU9mZmljZQorICAgICAgICBkb2N1
bWVudHMgKHdlYmtpdC5vcmcvYi8xMzU2NTEpIHRoYXQgcHJlc2VudGVkIGFzIGEgbmlsIE1JTUUg
dHlwZSBpbiB0aGUgcHJldmlldworICAgICAgICBOU1VSTFJlc3BvbnNlIHJldHVybmVkIGJ5IFFM
UHJldmlld0NvbnZlcnRlci4gVW5mb3J0dW5hdGVseSByMTcyMTU5IHBhcGVyZWQgb3ZlciB0aGUg
YWN0dWFsCisgICAgICAgIGJ1ZyBieSBmYWlsaW5nIHRvIGxvYWQgcHJldmlld3Mgd2l0aCBuaWwg
TUlNRSB0eXBlcy4KKworICAgICAgICBUaGUgcmVhbCBpc3N1ZSB3YXMgdGhhdCB3ZSB3ZXJlIGFz
a2luZyBmb3IgdGhlIHByZXZpZXcgcmVzcG9uc2UgYmVmb3JlIFF1aWNrTG9vayBoYWQKKyAgICAg
ICAgcmVjZWl2ZWQgZW5vdWdoIGRhdGEgdG8gZGV0ZXJtaW5lIGEgTUlNRSB0eXBlLCBzbyB0aGlz
IGNoYW5nZSBhbHNvIHJlbW92ZXMgdGhlIGJhZCBmaXggZnJvbQorICAgICAgICByMTcyMTU5IGFu
ZCBpbnN0ZWFkIHdhaXRzIHVudGlsIFF1aWNrTG9vayBoYXMgY29udmVydGVkIHRoZSBkb2N1bWVu
dCB0byBhc2sgZm9yIGl0cyBwcmV2aWV3CisgICAgICAgIHJlc3BvbnNlLiBUaGlzIHJlc3RvcmVz
IHRoZSBhYmlsaXR5IHRvIGxvYWQgSFRNTCBmaWxlcyB3aXRoIE9mZmljZSBkb2N1bWVudCBleHRl
bnNpb25zLgorICAgICAgICBUaGVzZSB0d28gZml4ZXMgYXJlIGNvbWJpbmVkIGluIGEgc2luZ2xl
IHBhdGNoIGJlY2F1c2UgSSBkb24ndCBrbm93IGhvdyB0byBjcmVhdGUgYW4gaW52YWxpZAorICAg
ICAgICBRdWlja0xvb2sgVVJMIGZvciB0ZXN0aW5nIHdpdGhvdXQgbG9hZGluZyBhbiBIVE1MLWFz
LU9mZmljZSBkb2N1bWVudC4KKworICAgICAgICBUZXN0OiBxdWlja2xvb2svaW52YWxpZC1xbC1p
ZC11cmwuaHRtbAorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5hbCk6IENh
bGxlZAorICAgICAgICBRdWlja0xvb2tIYW5kbGU6OndpbGxTZW5kUmVxdWVzdCgpIGlmIG1fZG9j
dW1lbnRMb2FkZXIgaGFzIGEgUXVpY2tMb29rSGFuZGxlLgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6
bG9hZCk6IFJlbW92ZWQgdGhlIGNhbGwgdG8KKyAgICAgICAgV2ViQ29yZTo6c2FmZVFMVVJMRm9y
RG9jdW1lbnRVUkxBbmRSZXNvdXJjZVVSTCgpLgorICAgICAgICAqIGxvYWRlci9pb3MvUXVpY2tM
b29rLmg6IFJlbW92ZWQgc2FmZVFMVVJMRm9yRG9jdW1lbnRVUkxBbmRSZXNvdXJjZVVSTCgpIGFu
ZCBkZWNsYXJlZAorICAgICAgICBRdWlja0xvb2tIYW5kbGU6OndpbGxTZW5kUmVxdWVzdCgpLgor
ICAgICAgICAqIGxvYWRlci9pb3MvUXVpY2tMb29rLm1tOiBSZW1vdmVkIF9wcmV2aWV3UmVzcG9u
c2UgYW5kIF9oYXNGYWlsZWQgaXZhcnMgZnJvbQorICAgICAgICBXZWJQcmV2aWV3Q29udmVydGVy
LgorICAgICAgICAoLVtXZWJQcmV2aWV3Q29udmVydGVyIGluaXRXaXRoUmVzb3VyY2VMb2FkZXI6
cmVzb3VyY2VSZXNwb25zZTpxdWlja0xvb2tIYW5kbGU6XSk6IFN0b3BwZWQKKyAgICAgICAgc2V0
dGluZyBfcHJldmlld1Jlc3BvbnNlLgorICAgICAgICAoLVtXZWJQcmV2aWV3Q29udmVydGVyIF9z
ZW5kRGlkUmVjZWl2ZVJlc3BvbnNlSWZOZWNlc3NhcnldKTogT25seSBlbXB0aWVkIF9idWZmZXJl
ZERhdGFBcnJheQorICAgICAgICBpZiB3ZSBoYXZlbid0IGFscmVhZHkgY2FsbGVkIC1fc2VuZERp
ZFJlY2VpdmVSZXNwb25zZUlmTmVjZXNzYXJ5OyByZW1vdmVkIHRoZSBjaGVjayBmb3IgYQorICAg
ICAgICBuaWwgX3ByZXZpZXdSZXNwb25zZSBNSU1FIHR5cGU7IGFjY2Vzc2VkIC1bUUxQcmV2aWV3
Q29udmVydGVyIHByZXZpZXdSZXNwb25zZV0gbm93IHRoYXQgdGhlCisgICAgICAgIGRvY3VtZW50
IGhhcyBiZWVuIGNvbnZlcnRlZCBhbmQgYXNzZXJ0ZWQgaXRzIE1JTUUgdHlwZSBpcyBub24tbmls
LgorICAgICAgICAoLVtXZWJQcmV2aWV3Q29udmVydGVyIGNvbm5lY3Rpb246ZGlkUmVjZWl2ZURh
dGE6bGVuZ3RoUmVjZWl2ZWQ6XSk6IFJlbW92ZWQgX2hhc0ZhaWxlZCBjaGVjay4KKyAgICAgICAg
KC1bV2ViUHJldmlld0NvbnZlcnRlciBjb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZzpdKTogRGl0
dG8uCisgICAgICAgIChpc1F1aWNrTG9va1Bhc3N3b3JkRXJyb3IpOiBNb3ZlZCB0aGUgY2hlY2sg
Zm9yIHBhc3N3b3JkIGZhaWx1cmUgZXJyb3JzIHRvIGhlcmUgZnJvbQorICAgICAgICAtY29ubmVj
dGlvbjpkaWRGYWlsV2l0aEVycm9yOiBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5LgorICAgICAgICAo
LVtXZWJQcmV2aWV3Q29udmVydGVyIGNvbm5lY3Rpb246ZGlkRmFpbFdpdGhFcnJvcjpdKTogUmVt
b3ZlZCBfaGFzRmFpbGVkIGNoZWNrIGFuZCB1c2VkCisgICAgICAgIG1vcmUgZWFybHkgcmV0dXJu
cy4KKyAgICAgICAgKFdlYkNvcmU6OlF1aWNrTG9va0hhbmRsZTo6d2lsbFNlbmRSZXF1ZXN0KTog
RmlsdGVyZWQgdGhlIHJlcXVlc3QgdGhyb3VnaAorICAgICAgICAtW1FMUHJldmlld0NvbnZlcnRl
ciBzYWZlUmVxdWVzdFdpdGhSZXF1ZXN0Ol0gaWYgdGhlIHJlcXVlc3QgVVJMJ3Mgc2NoZW1lIGlz
IHgtYXBwbGUtcWwtaWQ6LgorICAgICAgICAoV2ViQ29yZTo6c2FmZVFMVVJMRm9yRG9jdW1lbnRV
UkxBbmRSZXNvdXJjZVVSTCk6IERlbGV0ZWQuCisKIDIwMTctMDEtMjUgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cm9kdWNlIGFuIGl0ZW0tcHJv
dmlkZXItYmFzZWQgcGFzdGVib2FyZCB3cmFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmNwcAppbmRleCA0YTQ4ODk0MTFkYThkNjQ3NTQ4MTJkM2ViMzgxZjQwNWJhMzI2
MDkwLi4zNDNhNWU0YTA2NjNmNzAzN2IwYTFhM2ZlZGNiYTJmOWNlZDQ5MmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1LDYgKzU1LDEwIEBACiAjaW5j
bHVkZSAiVXNlckNvbnRlbnRDb250cm9sbGVyLmgiCiAjZW5kaWYKIAorI2lmIFVTRShRVUlDS19M
T09LKQorI2luY2x1ZGUgIlF1aWNrTG9vay5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogUmVzb3VyY2VMb2FkZXI6OlJlc291cmNlTG9hZGVyKEZyYW1lJiBmcmFtZSwgUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zIG9wdGlvbnMpCkBAIC0zNzEsNiArMzc1LDExIEBAIHZvaWQgUmVzb3Vy
Y2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgUmVzCiAgICAgZWxzZQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxTZW5kUmVxdWVzdChtX2ZyYW1lLmdldCgpLCBtX2lkZW50aWZpZXIsIG1fZnJhbWUtPmxv
YWRlcigpLmRvY3VtZW50TG9hZGVyKCksIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOwogCisj
aWYgVVNFKFFVSUNLX0xPT0spCisgICAgaWYgKGF1dG8gcXVpY2tMb29rSGFuZGxlID0gbV9kb2N1
bWVudExvYWRlci0+cXVpY2tMb29rSGFuZGxlKCkpCisgICAgICAgIHF1aWNrTG9va0hhbmRsZS0+
d2lsbFNlbmRSZXF1ZXN0KHJlcXVlc3QpOworI2VuZGlmCisKICAgICBib29sIGlzUmVkaXJlY3Qg
PSAhcmVkaXJlY3RSZXNwb25zZS5pc051bGwoKTsKICAgICBpZiAoaXNSZWRpcmVjdCkKICAgICAg
ICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmNyb3NzT3JpZ2luUmVk
aXJlY3RSZWNlaXZlZCh0aGlzLCByZXF1ZXN0LnVybCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY0NzUwMzBlMzdmNGI4NDI5ZDMw
YjNlOTkzMzI3OGY3MjZkODMwYmEuLjQwNTE5NDU1MTg0Yjc3OWQ0OTI4ODhmZjE2ODU1YTMyMWRi
MWY1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmNwcApAQCAtMjE0LDE2ICsyMTQsNiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpsb2FkKENhY2hl
ZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKIAogICAgIG1fbG9hZGluZyA9
IHRydWU7CiAKLSNpZiBVU0UoUVVJQ0tfTE9PSykKLSAgICBpZiAoIW1fcmVzb3VyY2VSZXF1ZXN0
LmlzTnVsbCgpICYmIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLnByb3RvY29sSXMoUUxQcmV2aWV3
UHJvdG9jb2woKSkpIHsKLSAgICAgICAgLy8gV2hlbiBRdWlja0xvb2sgaXMgaW52b2tlZCB0byBj
b252ZXJ0IGEgZG9jdW1lbnQsIGl0IHJldHVybnMgYSB1bmlxdWUgVVJMIGluIHRoZQotICAgICAg
ICAvLyBOU1VSTFJlcG9uc2UgZm9yIHRoZSBtYWluIGRvY3VtZW50LiBUbyBtYWtlIHNhZmVRTFVS
TEZvckRvY3VtZW50VVJMQW5kUmVzb3VyY2VVUkwoKQotICAgICAgICAvLyB3b3JrLCB3ZSBuZWVk
IHRvIHVzZSB0aGUgUUwgVVJMIG5vdCB0aGUgb3JpZ2luYWwgVVJMLgotICAgICAgICBjb25zdCBV
UkwmIGRvY3VtZW50VVJMID0gZnJhbWVMb2FkZXIuZG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9uc2Uo
KS51cmwoKTsKLSAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0VVJMKHNhZmVRTFVSTEZvckRv
Y3VtZW50VVJMQW5kUmVzb3VyY2VVUkwoZG9jdW1lbnRVUkwsIHVybCgpKSk7Ci0gICAgfQotI2Vu
ZGlmCi0KICAgICBpZiAoaXNDYWNoZVZhbGlkYXRvcigpKSB7CiAgICAgICAgIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZVRvUmV2YWxpZGF0ZSA9IG1fcmVzb3VyY2VUb1JldmFsaWRhdGU7CiAgICAg
ICAgIEFTU0VSVChyZXNvdXJjZVRvUmV2YWxpZGF0ZS0+Y2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9RdWlja0xvb2suaAppbmRleCBjYjNkNWRkMDA3YjYzNWFh
YmFhMDVhOGNlODE1OWM4NjE3NDJhMTQ1Li4yMDk2Y2FiNTM3ZTVkN2M0ZDI3NzBjMmJmZjY3MGRl
ZGFmYTliODc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9v
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pb3MvUXVpY2tMb29rLmgKQEAgLTQ2LDYg
KzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBRdWlja0xvb2tIYW5kbGVDbGll
bnQ7CiBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBVUkw7CkBAIC02
Myw4ICs2NCw2IEBAIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlUUxQcmV2aWV3Q29udmVydGVy
Rm9yVVJMKE5TVVJMICopOwogCiBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0
PiByZWdpc3RlclFMUHJldmlld0NvbnZlcnRlcklmTmVlZGVkKE5TVVJMICosIE5TU3RyaW5nICpt
aW1lVHlwZSwgTlNEYXRhICopOwogCi1jb25zdCBVUkwgc2FmZVFMVVJMRm9yRG9jdW1lbnRVUkxB
bmRSZXNvdXJjZVVSTChjb25zdCBVUkwmIGRvY3VtZW50VVJMLCBjb25zdCBTdHJpbmcmIHJlc291
cmNlVVJMKTsKLQogV0VCQ09SRV9FWFBPUlQgY29uc3QgY2hhciogUUxQcmV2aWV3UHJvdG9jb2wo
KTsKIAogV0VCQ09SRV9FWFBPUlQgTlNTdHJpbmcgKmNyZWF0ZVRlbXBvcmFyeUZpbGVGb3JRdWlj
a0xvb2soTlNTdHJpbmcgKmZpbGVOYW1lKTsKQEAgLTc2LDYgKzc1LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UXVpY2tMb29rSGFuZGxlPiBjcmVhdGUoUmVzb3VyY2VM
b2FkZXImLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgflF1aWNrTG9va0hhbmRsZSgp
OwogCisgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgYm9v
bCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpOwogICAg
IGJvb2wgZGlkUmVjZWl2ZUJ1ZmZlcihjb25zdCBTaGFyZWRCdWZmZXImKTsKICAgICBib29sIGRp
ZEZpbmlzaExvYWRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pb3Mv
UXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9RdWlja0xvb2subW0KaW5k
ZXggYWFhNWRmMmE4MGM2ZTliMjZmYTljNGM5ZWYzYjRhMjM1ZjhkMzZlZC4uODE3MmFlOWFhZGVh
YjM2MmNhZGM0MjQwMzgxNWY2MTljMGY1MmJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2lvcy9RdWlja0xvb2subW0KKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9R
dWlja0xvb2subW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIlF1aWNrTG9va0hhbmRsZUNs
aWVudC5oIgogI2ltcG9ydCAiUmVzb3VyY2VFcnJvci5oIgogI2ltcG9ydCAiUmVzb3VyY2VMb2Fk
ZXIuaCIKKyNpbXBvcnQgIlJlc291cmNlUmVxdWVzdC5oIgogI2ltcG9ydCAiU2hhcmVkQnVmZmVy
LmgiCiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTE0NywyMyArMTQ4LDYgQEAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gV2ViQ29yZTo6
cmVnaXN0ZXJRTFByZXZpZXdDb252ZXJ0ZXJJZk5lZWRlZChOU1VSTCAqdXJsLAogICAgIHJldHVy
biBuaWw7CiB9CiAKLWNvbnN0IFVSTCBXZWJDb3JlOjpzYWZlUUxVUkxGb3JEb2N1bWVudFVSTEFu
ZFJlc291cmNlVVJMKGNvbnN0IFVSTCYgZG9jdW1lbnRVUkwsIGNvbnN0IFN0cmluZyYgcmVzb3Vy
Y2VVUkwpCi17Ci0gICAgaWQgY29udmVydGVyID0gbmlsOwotICAgIE5TVVJMICpuc0RvY3VtZW50
VVJMID0gZG9jdW1lbnRVUkw7Ci0gICAgewotICAgICAgICBMb2NrSG9sZGVyIGxvY2socWxQcmV2
aWV3Q29udmVydGVyRGljdGlvbmFyeU11dGV4KCkpOwotICAgICAgICBjb252ZXJ0ZXIgPSBbUUxQ
cmV2aWV3Q29udmVydGVyRGljdGlvbmFyeSgpIG9iamVjdEZvcktleTpuc0RvY3VtZW50VVJMXTsK
LSAgICB9Ci0KLSAgICBpZiAoIWNvbnZlcnRlcikKLSAgICAgICAgcmV0dXJuIFVSTChQYXJzZWRV
UkxTdHJpbmcsIHJlc291cmNlVVJMKTsKLQotICAgIFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IHJl
cXVlc3QgPSBhZG9wdE5TKFtbTlNVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDpbTlNVUkwg
VVJMV2l0aFN0cmluZzpyZXNvdXJjZVVSTF1dKTsKLSAgICBOU1VSTFJlcXVlc3QgKnNhZmVSZXF1
ZXN0ID0gW2NvbnZlcnRlciBzYWZlUmVxdWVzdEZvclJlcXVlc3Q6cmVxdWVzdC5nZXQoKV07Ci0g
ICAgcmV0dXJuIFtzYWZlUmVxdWVzdCBVUkxdOwotfQotCiBzdGF0aWMgVmVjdG9yPGNoYXI+IGNy
ZWF0ZVFMUHJldmlld1Byb3RvY29sKCkKIHsKICAgICBWZWN0b3I8Y2hhcj4gcHJldmlld1Byb3Rv
Y29sOwpAQCAtMjAzLDEwICsxODcsOCBAQCBAaW50ZXJmYWNlIFdlYlByZXZpZXdDb252ZXJ0ZXIg
OiBOU09iamVjdCB7CiAgICAgUmVmUHRyPFF1aWNrTG9va0hhbmRsZUNsaWVudD4gX2NsaWVudDsK
ICAgICBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gX29yaWdpbmFsUmVzcG9uc2U7CiAgICAgUmV0
YWluUHRyPFFMUHJldmlld0NvbnZlcnRlcj4gX3BsYXRmb3JtQ29udmVydGVyOwotICAgIFJldGFp
blB0cjxOU1VSTFJlc3BvbnNlPiBfcHJldmlld1Jlc3BvbnNlOwogICAgIFJldGFpblB0cjxOU011
dGFibGVBcnJheT4gX2J1ZmZlcmVkRGF0YUFycmF5OwogICAgIEJPT0wgX2hhc1NlbnREaWRSZWNl
aXZlUmVzcG9uc2U7Ci0gICAgQk9PTCBfaGFzRmFpbGVkOwogfQogCiAtIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooUmVzb3VyY2VMb2FkZXImKXJlc291cmNlTG9hZGVyIHJl
c291cmNlUmVzcG9uc2U6KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKXJlc291cmNlUmVzcG9uc2Ug
cXVpY2tMb29rSGFuZGxlOihRdWlja0xvb2tIYW5kbGUmKXF1aWNrTG9va0hhbmRsZTsKQEAgLTIz
Miw3ICsyMTQsNiBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjooUmVz
b3VyY2VMb2FkZXImKXJlc291cmNlTG9hZGVyIHJlc291cmNlUgogICAgIF9jbGllbnQgPSAmdGVz
dGluZ09yRW1wdHlDbGllbnQoKTsKICAgICBfb3JpZ2luYWxSZXNwb25zZSA9IHJlc291cmNlUmVz
cG9uc2UubnNVUkxSZXNwb25zZSgpOwogICAgIF9wbGF0Zm9ybUNvbnZlcnRlciA9IGFkb3B0TlMo
W2FsbG9jUUxQcmV2aWV3Q29udmVydGVySW5zdGFuY2UoKSBpbml0V2l0aENvbm5lY3Rpb246bmls
IGRlbGVnYXRlOnNlbGYgcmVzcG9uc2U6X29yaWdpbmFsUmVzcG9uc2UuZ2V0KCkgb3B0aW9uczpu
aWxdKTsKLSAgICBfcHJldmlld1Jlc3BvbnNlID0gW19wbGF0Zm9ybUNvbnZlcnRlciBwcmV2aWV3
UmVzcG9uc2VdOwogICAgIF9idWZmZXJlZERhdGFBcnJheSA9IGFkb3B0TlMoW1tOU011dGFibGVB
cnJheSBhbGxvY10gaW5pdF0pOwogCiAgICAgTE9HKE5ldHdvcmssICJXZWJQcmV2aWV3Q29udmVy
dGVyIGNyZWF0ZWQgd2l0aCBwcmV2aWV3IGZpbGUgbmFtZSBcIiVzXCIuIiwgW19wbGF0Zm9ybUNv
bnZlcnRlciBwcmV2aWV3RmlsZU5hbWVdKTsKQEAgLTI3NCwyMSArMjU1LDE0IEBAIC0gKFFMUHJl
dmlld0NvbnZlcnRlciAqKXBsYXRmb3JtQ29udmVydGVyCiAKIC0gKHZvaWQpX3NlbmREaWRSZWNl
aXZlUmVzcG9uc2VJZk5lY2Vzc2FyeQogewotICAgIFtfYnVmZmVyZWREYXRhQXJyYXkgcmVtb3Zl
QWxsT2JqZWN0c107Ci0KLSAgICBpZiAoX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2UgfHwgX2hh
c0ZhaWxlZCkKKyAgICBpZiAoX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2UpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIC8vIFF1aWNrTG9vayBtaWdodCBmYWlsIHRvIGNvbnZlcnQgYSBkb2N1bWVu
dCB3aXRob3V0IGNhbGxpbmcgY29ubmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOiAoc2VlIDxyZGFy
Oi8vcHJvYmxlbS8xNzkyNzk3Mj4pLgotICAgIC8vIEEgbmlsIE1JTUUgdHlwZSBpcyBhbiBpbmRp
Y2F0aW9uIG9mIHN1Y2ggYSBmYWlsdXJlLCBzbyBzdG9wIGxvYWRpbmcgdGhlIHJlc291cmNlIGFu
ZCBpZ25vcmUgc3Vic2VxdWVudCBkZWxlZ2F0ZSBtZXNzYWdlcy4KLSAgICBpZiAoIVtfcHJldmll
d1Jlc3BvbnNlIE1JTUVUeXBlXSkgewotICAgICAgICBfaGFzRmFpbGVkID0gWUVTOwotICAgICAg
ICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoX3Jlc291cmNlTG9hZGVyLT5jYW5ub3RTaG93VVJM
RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgW19idWZmZXJlZERhdGFBcnJh
eSByZW1vdmVBbGxPYmplY3RzXTsKIAotICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UgeyBf
cHJldmlld1Jlc3BvbnNlLmdldCgpIH07CisgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSB7
IFtfcGxhdGZvcm1Db252ZXJ0ZXIgcHJldmlld1Jlc3BvbnNlXSB9OwogICAgIHJlc3BvbnNlLnNl
dElzUXVpY2tMb29rKHRydWUpOworICAgIEFTU0VSVChyZXNwb25zZS5taW1lVHlwZSgpLmxlbmd0
aCgpKTsKIAogICAgIF9oYXNTZW50RGlkUmVjZWl2ZVJlc3BvbnNlID0gWUVTOwogICAgIF9yZXNv
dXJjZUxvYWRlci0+ZGlkUmVjZWl2ZVJlc3BvbnNlKHJlc3BvbnNlKTsKQEAgLTI5OCw4ICsyNzIs
NiBAQCAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlk
UmVjZWl2ZURhdGE6KE5TRGF0YSAqKWRhdGEgbAogewogICAgIEFTU0VSVF9VTlVTRUQoY29ubmVj
dGlvbiwgIWNvbm5lY3Rpb24pOwogICAgIFtzZWxmIF9zZW5kRGlkUmVjZWl2ZVJlc3BvbnNlSWZO
ZWNlc3NhcnldOwotICAgIGlmIChfaGFzRmFpbGVkKQotICAgICAgICByZXR1cm47CiAKICAgICAv
LyBRdWlja0xvb2sgY29kZSBzZW5kcyB1cyBhIG5pbCBkYXRhIGF0IHRpbWVzLiBUaGUgY2hlY2sg
YmVsb3cgaXMgdGhlIHNhbWUgYXMgdGhlIG9uZSBpbgogICAgIC8vIFJlc291cmNlSGFuZGxlTWFj
LmNwcCBhZGRlZCBmb3IgYSBkaWZmZXJlbnQgYnVnLgpAQCAtMzEwLDM3ICsyODIsMzYgQEAgLSAo
dm9pZCljb25uZWN0aW9uOihOU1VSTENvbm5lY3Rpb24gKiljb25uZWN0aW9uIGRpZFJlY2VpdmVE
YXRhOihOU0RhdGEgKilkYXRhIGwKIC0gKHZvaWQpY29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6
KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24KIHsKICAgICBBU1NFUlRfVU5VU0VEKGNvbm5l
Y3Rpb24sICFjb25uZWN0aW9uKTsKLSAgICBpZiAoX2hhc0ZhaWxlZCkKLSAgICAgICAgcmV0dXJu
OwotCiAgICAgQVNTRVJUKF9oYXNTZW50RGlkUmVjZWl2ZVJlc3BvbnNlKTsKICAgICBfcmVzb3Vy
Y2VMb2FkZXItPmRpZEZpbmlzaExvYWRpbmcoMCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBp
c1F1aWNrTG9va1Bhc3N3b3JkRXJyb3IoTlNFcnJvciAqZXJyb3IpCit7CisgICAgcmV0dXJuIGVy
cm9yLmNvZGUgPT0ga1FMUmV0dXJuUGFzc3dvcmRQcm90ZWN0ZWQgJiYgW2Vycm9yLmRvbWFpbiBp
c0VxdWFsVG9TdHJpbmc6QCJRdWlja0xvb2tFcnJvckRvbWFpbiJdOworfQorCiAtICh2b2lkKWNv
bm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5lY3Rpb24gZGlkRmFpbFdpdGhFcnJvcjoo
TlNFcnJvciAqKWVycm9yCiB7CiAgICAgQVNTRVJUX1VOVVNFRChjb25uZWN0aW9uLCAhY29ubmVj
dGlvbik7CiAKLSAgICBpZiAoZXJyb3IuY29kZSA9PSBrUUxSZXR1cm5QYXNzd29yZFByb3RlY3Rl
ZCAmJiBbZXJyb3IuZG9tYWluIGlzRXF1YWxUb1N0cmluZzpAIlF1aWNrTG9va0Vycm9yRG9tYWlu
Il0pIHsKLSAgICAgICAgaWYgKCFfY2xpZW50LT5zdXBwb3J0c1Bhc3N3b3JkRW50cnkoKSkgewot
ICAgICAgICAgICAgX3Jlc291cmNlTG9hZGVyLT5kaWRGYWlsKF9yZXNvdXJjZUxvYWRlci0+Y2Fu
bm90U2hvd1VSTEVycm9yKCkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgX2NsaWVudC0+ZGlkUmVxdWVzdFBhc3N3b3JkKFtyZXRhaW5lZFNlbGYgPSByZXRhaW5Q
dHIoc2VsZildIChjb25zdCBTdHJpbmcmIHBhc3N3b3JkKSB7Ci0gICAgICAgICAgICBOU0RpY3Rp
b25hcnkgKnBhc3N3b3JkT3B0aW9uID0gQHsgKE5TU3RyaW5nICopa1FMUHJldmlld09wdGlvblBh
c3N3b3JkS2V5IDogcGFzc3dvcmQgfTsKLSAgICAgICAgICAgIGF1dG8gY29udmVydGVyV2l0aFBh
c3N3b3JkID0gYWRvcHROUyhbYWxsb2NRTFByZXZpZXdDb252ZXJ0ZXJJbnN0YW5jZSgpIGluaXRX
aXRoQ29ubmVjdGlvbjpuaWwgZGVsZWdhdGU6cmV0YWluZWRTZWxmLmdldCgpIHJlc3BvbnNlOnJl
dGFpbmVkU2VsZi0+X29yaWdpbmFsUmVzcG9uc2UuZ2V0KCkgb3B0aW9uczpwYXNzd29yZE9wdGlv
bl0pOwotICAgICAgICAgICAgW2NvbnZlcnRlcldpdGhQYXNzd29yZCBhcHBlbmREYXRhQXJyYXk6
cmV0YWluZWRTZWxmLT5fYnVmZmVyZWREYXRhQXJyYXkuZ2V0KCldOwotICAgICAgICAgICAgW2Nv
bnZlcnRlcldpdGhQYXNzd29yZCBmaW5pc2hlZEFwcGVuZGluZ0RhdGFdOwotICAgICAgICAgICAg
cmV0YWluZWRTZWxmLT5fcHJldmlld1Jlc3BvbnNlID0gW2NvbnZlcnRlcldpdGhQYXNzd29yZCBw
cmV2aWV3UmVzcG9uc2VdOwotICAgICAgICAgICAgcmV0YWluZWRTZWxmLT5fcGxhdGZvcm1Db252
ZXJ0ZXIgPSBXVEZNb3ZlKGNvbnZlcnRlcldpdGhQYXNzd29yZCk7Ci0gICAgICAgIH0pOworICAg
IGlmICghaXNRdWlja0xvb2tQYXNzd29yZEVycm9yKGVycm9yKSkgeworICAgICAgICBfcmVzb3Vy
Y2VMb2FkZXItPmRpZEZhaWwoZXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
W3NlbGYgX3NlbmREaWRSZWNlaXZlUmVzcG9uc2VJZk5lY2Vzc2FyeV07Ci0gICAgaWYgKCFfaGFz
RmFpbGVkKQotICAgICAgICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoZXJyb3IpOworICAgIGlm
ICghX2NsaWVudC0+c3VwcG9ydHNQYXNzd29yZEVudHJ5KCkpIHsKKyAgICAgICAgX3Jlc291cmNl
TG9hZGVyLT5kaWRGYWlsKF9yZXNvdXJjZUxvYWRlci0+Y2Fubm90U2hvd1VSTEVycm9yKCkpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgX2NsaWVudC0+ZGlkUmVxdWVzdFBhc3N3b3Jk
KFtyZXRhaW5lZFNlbGYgPSByZXRhaW5QdHIoc2VsZildIChjb25zdCBTdHJpbmcmIHBhc3N3b3Jk
KSB7CisgICAgICAgIE5TRGljdGlvbmFyeSAqcGFzc3dvcmRPcHRpb24gPSBAeyAoTlNTdHJpbmcg
KilrUUxQcmV2aWV3T3B0aW9uUGFzc3dvcmRLZXkgOiBwYXNzd29yZCB9OworICAgICAgICBhdXRv
IGNvbnZlcnRlcldpdGhQYXNzd29yZCA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3Q29udmVydGVy
SW5zdGFuY2UoKSBpbml0V2l0aENvbm5lY3Rpb246bmlsIGRlbGVnYXRlOnJldGFpbmVkU2VsZi5n
ZXQoKSByZXNwb25zZTpyZXRhaW5lZFNlbGYtPl9vcmlnaW5hbFJlc3BvbnNlLmdldCgpIG9wdGlv
bnM6cGFzc3dvcmRPcHRpb25dKTsKKyAgICAgICAgW2NvbnZlcnRlcldpdGhQYXNzd29yZCBhcHBl
bmREYXRhQXJyYXk6cmV0YWluZWRTZWxmLT5fYnVmZmVyZWREYXRhQXJyYXkuZ2V0KCldOworICAg
ICAgICBbY29udmVydGVyV2l0aFBhc3N3b3JkIGZpbmlzaGVkQXBwZW5kaW5nRGF0YV07CisgICAg
ICAgIHJldGFpbmVkU2VsZi0+X3BsYXRmb3JtQ29udmVydGVyID0gV1RGTW92ZShjb252ZXJ0ZXJX
aXRoUGFzc3dvcmQpOworICAgIH0pOwogfQogCiBAZW5kCkBAIC0zODcsNiArMzU4LDEyIEBAIHN0
ZDo6dW5pcXVlX3B0cjxRdWlja0xvb2tIYW5kbGU+IFF1aWNrTG9va0hhbmRsZTo6Y3JlYXRlKFJl
c291cmNlTG9hZGVyJiBsb2FkZXIsCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UXVpY2tM
b29rSGFuZGxlPihsb2FkZXIsIHJlc3BvbnNlKTsKIH0KIAordm9pZCBRdWlja0xvb2tIYW5kbGU6
OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgaWYgKHJl
cXVlc3QudXJsKCkucHJvdG9jb2xJcyhRTFByZXZpZXdQcm90b2NvbCgpKSkKKyAgICAgICAgcmVx
dWVzdCA9IFtbbV9jb252ZXJ0ZXIgcGxhdGZvcm1Db252ZXJ0ZXJdIHNhZmVSZXF1ZXN0Rm9yUmVx
dWVzdDpyZXF1ZXN0Lm5zVVJMUmVxdWVzdChEb05vdFVwZGF0ZUhUVFBCb2R5KV07Cit9CisKIGJv
b2wgUXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCB1bnNp
Z25lZCBsZW5ndGgpCiB7CiAgICAgaWYgKG1fZmluaXNoZWRMb2FkaW5nRGF0YUludG9Db252ZXJ0
ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggM2M4Yjc3NGExYjQ5ODM2NmFhM2UzYWJlYzdmMjQzYjU4NWM2NDc3Mi4uMzM4
NzUyYTcxYzhmZDBjMjk4YzM2MTUxMGZjNGNjYzk1Yjg3YjgzYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE3LTAxLTI2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbUXVpY2tMb29rXSBSRUdSRVNTSU9OIChXZWJLaXQyKTogUmVxdWVzdHMgYXJlIG1hZGUgdG8g
aW52YWxpZCB4LWFwcGxlLXFsLWlkOiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHF1aWNrbG9vay9pbnZhbGlkLXFsLWlkLXVybC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHF1aWNrbG9vay9pbnZhbGlkLXFsLWlkLXVybC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBxdWlja2xvb2svbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcXVpY2tsb29rL25pbC1yZXNwb25zZS1taW1l
LXR5cGUuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdWlja2xvb2svcmVzb3VyY2VzL2ludmFs
aWQtcWwtaWQtdXJsLnhsczogQWRkZWQuCisgICAgICAgICogcXVpY2tsb29rL3Jlc291cmNlcy9u
aWwtcmVzcG9uc2UtbWltZS10eXBlLnhsczogUmVtb3ZlZC4KKwogMjAxNy0wMS0yNSAgWW9hdiBX
ZWlzcyAgPHlvYXZAeW9hdi53cz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDMxMTApOiBMYXlv
dXRUZXN0IGh0dHAvdGVzdHMvcHJlbG9hZC9zaW5nbGVfZG93bmxvYWRfcHJlbG9hZF9ydW5uZXIu
aHRtbCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9xdWlja2xvb2svaW52YWxp
ZC1xbC1pZC11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2ludmFsaWQt
cWwtaWQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWUyYTQzZWVjNGQ3ODJhZGExNmVm
N2NkNzdmZWQ4MTQyNjZkNTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcXVpY2ts
b29rL2ludmFsaWQtcWwtaWQtdXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK3Jlc291
cmNlcy9pbnZhbGlkLXFsLWlkLXVybC54bHMgLSBkaWRGaW5pc2hMb2FkaW5nCit4LWFwcGxlLXFs
LWlkOi8vbm9uZXhpc3RlbnQuanBnIC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNl
IGFib3V0OiwgaHR0cCBzdGF0dXMgY29kZSAwPgoreC1hcHBsZS1xbC1pZDovL25vbmV4aXN0ZW50
LmpwZyAtIGRpZEZpbmlzaExvYWRpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcXVpY2ts
b29rL2ludmFsaWQtcWwtaWQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9xdWlja2xvb2svaW52YWxp
ZC1xbC1pZC11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWQ5MzdiZDE1OTkyNTA5YjBhMTBmYTFkMDQw
YWFlZGE5NTk1NTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2lu
dmFsaWQtcWwtaWQtdXJsLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK2lmcmFtZSB7CisgICAgd2lkdGg6IDEw
MHZ3OworICAgIGhlaWdodDogMTAwdmg7Cit9Cis8L3N0eWxlPgorPGlmcmFtZSBzcmM9InJlc291
cmNlcy9pbnZhbGlkLXFsLWlkLXVybC54bHMiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcXVpY2tsb29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcXVpY2tsb29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjMyZTg1OWYyNDBjZjBlOTljMWI2MzEzNjMz
NTBlZThlYjUzYjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3F1aWNrbG9vay9uaWwtcmVzcG9uc2UtbWltZS10eXBlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotZnJhbWUgIjwhLS1mcmFtZVBhdGgg
Ly88IS0tZnJhbWUwLS0+LS0+IiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1h
aW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1m
cmFtZTAtLT4tLT4iIC0gZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcgotZnJhbWUgIjwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIChFcnJvckNvZGVDYW5ub3RTaG93VVJM
KQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9xdWlja2xvb2svbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS5odG1sIGIvTGF5b3V0VGVz
dHMvcXVpY2tsb29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZThjMDVlYzk3MWJhMjFkYTQ4OTY1N2M1MTMyNmRkZWVhNmI0ZmNhNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9xdWlja2xvb2svbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgfSAgICAgICAgCi08L3Nj
cmlwdD4KLTxzdHlsZT4KLWlmcmFtZSB7Ci0gICAgd2lkdGg6IDEwMHZ3OwotICAgIGhlaWdodDog
MTAwdmg7Ci19Ci08L3N0eWxlPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9uaWwtcmVzcG9uc2Ut
bWltZS10eXBlLnhscyI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9xdWlja2xv
b2svcmVzb3VyY2VzL2ludmFsaWQtcWwtaWQtdXJsLnhscyBiL0xheW91dFRlc3RzL3F1aWNrbG9v
ay9yZXNvdXJjZXMvaW52YWxpZC1xbC1pZC11cmwueGxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxYWVjZWQyZTFh
Y2RjZTkyYWViZWRiNWM5ZDY1NDgyY2ZkMTQ2M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9xdWlja2xvb2svcmVzb3VyY2VzL2ludmFsaWQtcWwtaWQtdXJsLnhscwpAQCAtMCwwICsx
LDExIEBACis8aHRtbD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsKKzwvc2NyaXB0Pgor
PGJvZHk+CitXZSBzaG91bGQgbm90IGF0dGVtcHQgdG8gbG9hZCB0aGUgaW1hZ2UgVVJMIGJlbG93
OgorPGJyPgorPGltZyBzcmM9IngtYXBwbGUtcWwtaWQ6Ly9ub25leGlzdGVudC5qcGciPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcXVpY2tsb29rL3Jlc291cmNl
cy9uaWwtcmVzcG9uc2UtbWltZS10eXBlLnhscyBiL0xheW91dFRlc3RzL3F1aWNrbG9vay9yZXNv
dXJjZXMvbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS54bHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQzNGVjNjYyNzZhZjJmYTQxMDhmYTM1NjEwMmI0MDdiOWIzMzEzOWEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcXVpY2ts
b29rL3Jlc291cmNlcy9uaWwtcmVzcG9uc2UtbWltZS10eXBlLnhscworKysgL2Rldi9udWxsCkBA
IC0xLDcgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4KLVRoZSBpbWFnZSBiZWxvdyBzaG91bGQgbm90
IGJlIGRpc3BsYXllZDoKLTxicj4KLTxpbWcgc3JjPSJodHRwOi8vd3d3LmRuc3VwZGF0ZS5vcmcv
RE5TVXBkYXRlMi5qcGciPgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299886</attachid>
            <date>2017-01-26 17:23:27 -0800</date>
            <delta_ts>2017-01-26 18:01:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167453-20170126172124.patch</filename>
            <type>text/plain</type>
            <size>19976</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwNzNlYTNmZGIwY2Rh
ZGZmMzg3YzRkMmZhMDFhYzg5YWRhYjAyNi4uYWNhYTM1NWNmNjUxNmZhYjU0YjcyY2Y0YjliYjhh
M2UzNmM0ZmQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDE3LTAxLTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUXVpY2tMb29rXSBSRUdSRVNT
SU9OIChXZWJLaXQyKTogUmVxdWVzdHMgYXJlIG1hZGUgdG8gaW52YWxpZCB4LWFwcGxlLXFsLWlk
OiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Njc0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIFJl
cXVlc3RzIHRvIHgtYXBwbGUtcWwtaWQ6IFVSTHMgc2hvdWxkIGJlIGZpbHRlcmVkIGJ5CisgICAg
ICAgIC1bUUxQcmV2aWV3Q29udmVydGVyIHNhZmVSZXF1ZXN0Rm9yUmVxdWVzdDpdLiBUaGlzIG1l
dGhvZCBjaGVja3MgdGhhdCB0aGUgVVJMIGlzIG9uZSBvZiB0aGUKKyAgICAgICAgb25lcyBnZW5l
cmF0ZWQgZm9yIHRoZSBjdXJyZW50IHByZXZpZXcsIGFuZCBjaGFuZ2VzIGl0IHRvICJhYm91dDoi
IGlmIGl0IGlzbid0LgorCisgICAgICAgIFdlYkNvcmU6OnNhZmVRTFVSTEZvckRvY3VtZW50VVJM
QW5kUmVzb3VyY2VVUkwoKSB3YXMgcmVzcG9uc2libGUgZm9yIGZpbmRpbmcgdGhlCisgICAgICAg
IFFMUHJldmlld0NvbnZlcnRlciBpbnN0YW5jZSB0byB1c2UgYnkgbG9va2luZyBpdCB1cCBpbiBh
biBOU011dGFibGVEaWN0aW9uYXJ5IHVzaW5nIHRoZQorICAgICAgICBkb2N1bWVudCBVUkwgYXMg
YSBrZXkuIEluIFdlYktpdDEsIHRoaXMgZGljdGlvbmFyeSB3YXMgcG9wdWxhdGVkIGJ5IHRoZQor
ICAgICAgICBRdWlja0xvb2tIYW5kbGVDbGllbnQgd2hlbiBuZXcgUXVpY2tMb29rSGFuZGxlcyB3
ZXJlIGNyZWF0ZWQsIGJ1dCB0aGUgV2ViS2l0MgorICAgICAgICBRdWlja0xvb2tIYW5kbGVDbGll
bnQgbmV2ZXIgZGlkIHRoaXMuIEFzIGEgcmVzdWx0LCByZXF1ZXN0cyB0byBpbnZhbGlkIFVSTHMg
d2VyZSBub3QgYmVpbmcKKyAgICAgICAgcmV3cml0dGVuLgorCisgICAgICAgIEFuIGVhc3kgd2F5
IHRvIGxvYWQgYSBRdWlja0xvb2sgZG9jdW1lbnQgd2l0aCBpbnZhbGlkIFVSTHMgaXMgdG8gY3Jl
YXRlIGFuIEhUTUwgZmlsZSB3aXRoIGEKKyAgICAgICAgTWljcm9zb2Z0IE9mZmljZSBleHRlbnNp
b24gKGUuZy4gLnhscyk7IFF1aWNrTG9vaywgaVdvcmssIGFuZCBPZmZpY2Ugc3VwcG9ydCBvcGVu
aW5nIEhUTUwKKyAgICAgICAgZmlsZXMgd2l0aCBPZmZpY2UgZG9jdW1lbnQgZXh0ZW5zaW9ucy4g
SW4gcjIwNzE1NSB3ZSBhcHBsaWVkIGEgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdG8KKyAgICAg
ICAgUXVpY2tMb29rIGRvY3VtZW50cyB0aGF0IG9ubHkgYWxsb3dzIHgtYXBwbGUtcWwtaWQ6IHJl
c291cmNlcyB0byBsb2FkLiBUaGlzIGJsb2NrZWQKKyAgICAgICAgY3Jvc3Mtb3JpZ2luIHJlcXVl
c3RzIGZyb20gbG9hZGluZywgYnV0IHNhbWUtb3JpZ2luIHJlcXVlc3RzIHRvIFVSTHMgdGhhdCB3
ZXJlbid0IGdlbmVyYXRlZAorICAgICAgICBieSBRTFByZXZpZXdDb252ZXJ0ZXIgd2VyZSBzdGls
bCBhbGxvd2VkIHRvIGxvYWQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYmxvY2tzIHRoZXNlIFVS
THMgYnkgY2FsbGluZyAtW1FMUHJldmlld0NvbnZlcnRlciBzYWZlUmVxdWVzdEZvclJlcXVlc3Q6
XSBpbiBhCisgICAgICAgIHdheSB0aGF0IHdvcmtzIGZvciBib3RoIFdlYktpdDEgYW5kIFdlYktp
dDIuCisKKyAgICAgICAgQWZ0ZXIgaW1wbGVtZW50aW5nIFF1aWNrTG9vayBmb3IgV2ViS2l0Miwg
d2UgZm91bmQgYSBidWcgd2hlbiBsb2FkaW5nIEhUTUwtYXMtT2ZmaWNlCisgICAgICAgIGRvY3Vt
ZW50cyAod2Via2l0Lm9yZy9iLzEzNTY1MSkgdGhhdCBwcmVzZW50ZWQgYXMgYSBuaWwgTUlNRSB0
eXBlIGluIHRoZSBwcmV2aWV3CisgICAgICAgIE5TVVJMUmVzcG9uc2UgcmV0dXJuZWQgYnkgUUxQ
cmV2aWV3Q29udmVydGVyLiBVbmZvcnR1bmF0ZWx5IHIxNzIxNTkgcGFwZXJlZCBvdmVyIHRoZSBh
Y3R1YWwKKyAgICAgICAgYnVnIGJ5IGZhaWxpbmcgdG8gbG9hZCBwcmV2aWV3cyB3aXRoIG5pbCBN
SU1FIHR5cGVzLgorCisgICAgICAgIFRoZSByZWFsIGlzc3VlIHdhcyB0aGF0IHdlIHdlcmUgYXNr
aW5nIGZvciB0aGUgcHJldmlldyByZXNwb25zZSBiZWZvcmUgUXVpY2tMb29rIGhhZAorICAgICAg
ICByZWNlaXZlZCBlbm91Z2ggZGF0YSB0byBkZXRlcm1pbmUgYSBNSU1FIHR5cGUsIHNvIHRoaXMg
Y2hhbmdlIGFsc28gcmVtb3ZlcyB0aGUgYmFkIGZpeCBmcm9tCisgICAgICAgIHIxNzIxNTkgYW5k
IGluc3RlYWQgd2FpdHMgdW50aWwgUXVpY2tMb29rIGhhcyBjb252ZXJ0ZWQgdGhlIGRvY3VtZW50
IHRvIGFzayBmb3IgaXRzIHByZXZpZXcKKyAgICAgICAgcmVzcG9uc2UuIFRoaXMgcmVzdG9yZXMg
dGhlIGFiaWxpdHkgdG8gbG9hZCBIVE1MIGZpbGVzIHdpdGggT2ZmaWNlIGRvY3VtZW50IGV4dGVu
c2lvbnMuCisgICAgICAgIFRoZXNlIHR3byBmaXhlcyBhcmUgY29tYmluZWQgaW4gYSBzaW5nbGUg
cGF0Y2ggYmVjYXVzZSBJIGRvbid0IGtub3cgaG93IHRvIGNyZWF0ZSBhbiBpbnZhbGlkCisgICAg
ICAgIFF1aWNrTG9vayBVUkwgZm9yIHRlc3Rpbmcgd2l0aG91dCBsb2FkaW5nIGFuIEhUTUwtYXMt
T2ZmaWNlIGRvY3VtZW50LgorCisgICAgICAgIFRlc3Q6IHF1aWNrbG9vay9pbnZhbGlkLXFsLWlk
LXVybC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKTogQ2Fs
bGVkCisgICAgICAgIFF1aWNrTG9va0hhbmRsZTo6d2lsbFNlbmRSZXF1ZXN0KCkgaWYgbV9kb2N1
bWVudExvYWRlciBoYXMgYSBRdWlja0xvb2tIYW5kbGUuCisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjps
b2FkKTogUmVtb3ZlZCB0aGUgY2FsbCB0bworICAgICAgICBXZWJDb3JlOjpzYWZlUUxVUkxGb3JE
b2N1bWVudFVSTEFuZFJlc291cmNlVVJMKCkuCisgICAgICAgICogbG9hZGVyL2lvcy9RdWlja0xv
b2suaDogUmVtb3ZlZCBzYWZlUUxVUkxGb3JEb2N1bWVudFVSTEFuZFJlc291cmNlVVJMKCkgYW5k
IGRlY2xhcmVkCisgICAgICAgIFF1aWNrTG9va0hhbmRsZTo6d2lsbFNlbmRSZXF1ZXN0KCkuCisg
ICAgICAgICogbG9hZGVyL2lvcy9RdWlja0xvb2subW06IFJlbW92ZWQgX3ByZXZpZXdSZXNwb25z
ZSBhbmQgX2hhc0ZhaWxlZCBpdmFycyBmcm9tCisgICAgICAgIFdlYlByZXZpZXdDb252ZXJ0ZXIu
CisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgaW5pdFdpdGhSZXNvdXJjZUxvYWRlcjpy
ZXNvdXJjZVJlc3BvbnNlOnF1aWNrTG9va0hhbmRsZTpdKTogU3RvcHBlZAorICAgICAgICBzZXR0
aW5nIF9wcmV2aWV3UmVzcG9uc2UuCisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgX3Nl
bmREaWRSZWNlaXZlUmVzcG9uc2VJZk5lY2Vzc2FyeV0pOiBPbmx5IGVtcHRpZWQgX2J1ZmZlcmVk
RGF0YUFycmF5CisgICAgICAgIGlmIHdlIGhhdmVuJ3QgYWxyZWFkeSBjYWxsZWQgLV9zZW5kRGlk
UmVjZWl2ZVJlc3BvbnNlSWZOZWNlc3Nhcnk7IHJlbW92ZWQgdGhlIGNoZWNrIGZvciBhCisgICAg
ICAgIG5pbCBfcHJldmlld1Jlc3BvbnNlIE1JTUUgdHlwZTsgYWNjZXNzZWQgLVtRTFByZXZpZXdD
b252ZXJ0ZXIgcHJldmlld1Jlc3BvbnNlXSBub3cgdGhhdCB0aGUKKyAgICAgICAgZG9jdW1lbnQg
aGFzIGJlZW4gY29udmVydGVkIGFuZCBhc3NlcnRlZCBpdHMgTUlNRSB0eXBlIGlzIG5vbi1uaWwu
CisgICAgICAgICgtW1dlYlByZXZpZXdDb252ZXJ0ZXIgY29ubmVjdGlvbjpkaWRSZWNlaXZlRGF0
YTpsZW5ndGhSZWNlaXZlZDpdKTogUmVtb3ZlZCBfaGFzRmFpbGVkIGNoZWNrLgorICAgICAgICAo
LVtXZWJQcmV2aWV3Q29udmVydGVyIGNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOl0pOiBEaXR0
by4KKyAgICAgICAgKGlzUXVpY2tMb29rUGFzc3dvcmRFcnJvcik6IE1vdmVkIHRoZSBjaGVjayBm
b3IgcGFzc3dvcmQgZmFpbHVyZSBlcnJvcnMgdG8gaGVyZSBmcm9tCisgICAgICAgIC1jb25uZWN0
aW9uOmRpZEZhaWxXaXRoRXJyb3I6IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkuCisgICAgICAgICgt
W1dlYlByZXZpZXdDb252ZXJ0ZXIgY29ubmVjdGlvbjpkaWRGYWlsV2l0aEVycm9yOl0pOiBSZW1v
dmVkIF9oYXNGYWlsZWQgY2hlY2sgYW5kIHVzZWQKKyAgICAgICAgbW9yZSBlYXJseSByZXR1cm5z
LgorICAgICAgICAoV2ViQ29yZTo6UXVpY2tMb29rSGFuZGxlOjp3aWxsU2VuZFJlcXVlc3QpOiBG
aWx0ZXJlZCB0aGUgcmVxdWVzdCB0aHJvdWdoCisgICAgICAgIC1bUUxQcmV2aWV3Q29udmVydGVy
IHNhZmVSZXF1ZXN0V2l0aFJlcXVlc3Q6XSBpZiB0aGUgcmVxdWVzdCBVUkwncyBzY2hlbWUgaXMg
eC1hcHBsZS1xbC1pZDouCisgICAgICAgIChXZWJDb3JlOjpzYWZlUUxVUkxGb3JEb2N1bWVudFVS
TEFuZFJlc291cmNlVVJMKTogRGVsZXRlZC4KKwogMjAxNy0wMS0yNiAgRGVhbiBKYWNrc29uICA8
ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgY29udGVudCBpbiBTYWZhcmkgc3RpY2tz
IHRvIEdQVSB0aGF0IGl0IHdhcyBzdGFydGVkIG9uLCBzb21ldGltZXMgY2F1c2luZyBleHRyYSBi
YXR0ZXJ5IGRyYWluIGFuZCBkaWZmaWN1bHR5IGludGVyYWN0aW5nIHdpdGggVUkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDRhNDg4OTQxMWRhOGQ2NDc1NDgx
MmQzZWIzODFmNDA1YmEzMjYwOTAuLjM0M2E1ZTRhMDY2M2Y3MDM3YjBhMWEzZmVkY2JhMmY5Y2Vk
NDkyYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTUs
NiArNTUsMTAgQEAKICNpbmNsdWRlICJVc2VyQ29udGVudENvbnRyb2xsZXIuaCIKICNlbmRpZgog
CisjaWYgVVNFKFFVSUNLX0xPT0spCisjaW5jbHVkZSAiUXVpY2tMb29rLmgiCisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZXNvdXJjZUxvYWRlcjo6UmVzb3VyY2VMb2FkZXIoRnJh
bWUmIGZyYW1lLCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucykKQEAgLTM3MSw2ICszNzUs
MTEgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0SW50ZXJuYWwoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXMKICAgICBlbHNlCiAgICAgICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRSZXF1ZXN0KG1fZnJhbWUuZ2V0KCksIG1faWRlbnRp
ZmllciwgbV9mcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSwgcmVxdWVzdCwgcmVkaXJl
Y3RSZXNwb25zZSk7CiAKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICBpZiAoYXV0byBxdWlja0xv
b2tIYW5kbGUgPSBtX2RvY3VtZW50TG9hZGVyLT5xdWlja0xvb2tIYW5kbGUoKSkKKyAgICAgICAg
cXVpY2tMb29rSGFuZGxlLT53aWxsU2VuZFJlcXVlc3QocmVxdWVzdCk7CisjZW5kaWYKKwogICAg
IGJvb2wgaXNSZWRpcmVjdCA9ICFyZWRpcmVjdFJlc3BvbnNlLmlzTnVsbCgpOwogICAgIGlmIChp
c1JlZGlyZWN0KQogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3ko
KS0+Y3Jvc3NPcmlnaW5SZWRpcmVjdFJlY2VpdmVkKHRoaXMsIHJlcXVlc3QudXJsKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggZjQ3
NTAzMGUzN2Y0Yjg0MjlkMzBiM2U5OTMzMjc4ZjcyNmQ4MzBiYS4uNDA1MTk0NTUxODRiNzc5ZDQ5
Mjg4OGZmMTY4NTVhMzIxZGIxZjU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0yMTQsMTYgKzIxNCw2IEBAIHZvaWQgQ2FjaGVkUmVz
b3VyY2U6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGNhY2hlZFJlc291cmNlTG9hZGVyKQog
CiAgICAgbV9sb2FkaW5nID0gdHJ1ZTsKIAotI2lmIFVTRShRVUlDS19MT09LKQotICAgIGlmICgh
bV9yZXNvdXJjZVJlcXVlc3QuaXNOdWxsKCkgJiYgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCkucHJv
dG9jb2xJcyhRTFByZXZpZXdQcm90b2NvbCgpKSkgewotICAgICAgICAvLyBXaGVuIFF1aWNrTG9v
ayBpcyBpbnZva2VkIHRvIGNvbnZlcnQgYSBkb2N1bWVudCwgaXQgcmV0dXJucyBhIHVuaXF1ZSBV
UkwgaW4gdGhlCi0gICAgICAgIC8vIE5TVVJMUmVwb25zZSBmb3IgdGhlIG1haW4gZG9jdW1lbnQu
IFRvIG1ha2Ugc2FmZVFMVVJMRm9yRG9jdW1lbnRVUkxBbmRSZXNvdXJjZVVSTCgpCi0gICAgICAg
IC8vIHdvcmssIHdlIG5lZWQgdG8gdXNlIHRoZSBRTCBVUkwgbm90IHRoZSBvcmlnaW5hbCBVUkwu
Ci0gICAgICAgIGNvbnN0IFVSTCYgZG9jdW1lbnRVUkwgPSBmcmFtZUxvYWRlci5kb2N1bWVudExv
YWRlcigpLT5yZXNwb25zZSgpLnVybCgpOwotICAgICAgICBtX3Jlc291cmNlUmVxdWVzdC5zZXRV
Ukwoc2FmZVFMVVJMRm9yRG9jdW1lbnRVUkxBbmRSZXNvdXJjZVVSTChkb2N1bWVudFVSTCwgdXJs
KCkpKTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGlmIChpc0NhY2hlVmFsaWRhdG9yKCkpIHsKICAg
ICAgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlVG9SZXZhbGlkYXRlID0gbV9yZXNvdXJjZVRv
UmV2YWxpZGF0ZTsKICAgICAgICAgQVNTRVJUKHJlc291cmNlVG9SZXZhbGlkYXRlLT5jYW5Vc2VD
YWNoZVZhbGlkYXRvcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pb3Mv
UXVpY2tMb29rLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5oCmluZGV4
IDM2MjhjOGRjNmI1NzI2MTcxNWNiYzVlYmUxMjliYjI3NGQxNzNhZmMuLmYyYTg1ODJlMWI3Njc3
MWEyYzNkZWE2ZDYwODVlNmVkNjUzMWJlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pb3MvUXVpY2tMb29rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lvcy9RdWlj
a0xvb2suaApAQCAtNDYsNiArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFF1
aWNrTG9va0hhbmRsZUNsaWVudDsKIGNsYXNzIFJlc291cmNlTG9hZGVyOworY2xhc3MgUmVzb3Vy
Y2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsK
IGNsYXNzIFVSTDsKQEAgLTU5LDggKzYwLDYgQEAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVR
TFByZXZpZXdDb252ZXJ0ZXJGb3JVUkwoTlNVUkwgKik7CiAKIFdFQkNPUkVfRVhQT1JUIFJldGFp
blB0cjxOU1VSTFJlcXVlc3Q+IHJlZ2lzdGVyUUxQcmV2aWV3Q29udmVydGVySWZOZWVkZWQoTlNV
UkwgKiwgTlNTdHJpbmcgKm1pbWVUeXBlLCBOU0RhdGEgKik7CiAKLWNvbnN0IFVSTCBzYWZlUUxV
UkxGb3JEb2N1bWVudFVSTEFuZFJlc291cmNlVVJMKGNvbnN0IFVSTCYgZG9jdW1lbnRVUkwsIGNv
bnN0IFN0cmluZyYgcmVzb3VyY2VVUkwpOwotCiBXRUJDT1JFX0VYUE9SVCBjb25zdCBjaGFyKiBR
TFByZXZpZXdQcm90b2NvbCgpOwogCiBXRUJDT1JFX0VYUE9SVCBOU1N0cmluZyAqY3JlYXRlVGVt
cG9yYXJ5RmlsZUZvclF1aWNrTG9vayhOU1N0cmluZyAqZmlsZU5hbWUpOwpAQCAtNzIsNiArNzEs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxRdWlja0xvb2tIYW5kbGU+
IGNyZWF0ZShSZXNvdXJjZUxvYWRlciYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICB+
UXVpY2tMb29rSGFuZGxlKCk7CiAKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QmKTsKICAgICBib29sIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHVuc2ln
bmVkIGxlbmd0aCk7CiAgICAgYm9vbCBkaWRSZWNlaXZlQnVmZmVyKGNvbnN0IFNoYXJlZEJ1ZmZl
ciYpOwogICAgIGJvb2wgZGlkRmluaXNoTG9hZGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2lvcy9RdWlja0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9z
L1F1aWNrTG9vay5tbQppbmRleCBmZjBlMTc3MzA5MDMwZTgwMDQzMzYzN2FkNDg3N2M3OGJmZDdi
MTlmLi42MjIyMmYwY2E3ZTFhMGIyNWJjMDA4MmRhY2EzNTA5MmFmMGY4ZDc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaW9zL1F1aWNrTG9vay5tbQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAi
UXVpY2tMb29rSGFuZGxlQ2xpZW50LmgiCiAjaW1wb3J0ICJSZXNvdXJjZUVycm9yLmgiCiAjaW1w
b3J0ICJSZXNvdXJjZUxvYWRlci5oIgorI2ltcG9ydCAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW1w
b3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lt
cG9ydCA8d3RmL1ZlY3Rvci5oPgpAQCAtMTI1LDIzICsxMjYsNiBAQCBSZXRhaW5QdHI8TlNVUkxS
ZXF1ZXN0PiBXZWJDb3JlOjpyZWdpc3RlclFMUHJldmlld0NvbnZlcnRlcklmTmVlZGVkKE5TVVJM
ICp1cmwsCiAgICAgcmV0dXJuIG5pbDsKIH0KIAotY29uc3QgVVJMIFdlYkNvcmU6OnNhZmVRTFVS
TEZvckRvY3VtZW50VVJMQW5kUmVzb3VyY2VVUkwoY29uc3QgVVJMJiBkb2N1bWVudFVSTCwgY29u
c3QgU3RyaW5nJiByZXNvdXJjZVVSTCkKLXsKLSAgICBpZCBjb252ZXJ0ZXIgPSBuaWw7Ci0gICAg
TlNVUkwgKm5zRG9jdW1lbnRVUkwgPSBkb2N1bWVudFVSTDsKLSAgICB7Ci0gICAgICAgIExvY2tI
b2xkZXIgbG9jayhxbFByZXZpZXdDb252ZXJ0ZXJEaWN0aW9uYXJ5TXV0ZXgoKSk7Ci0gICAgICAg
IGNvbnZlcnRlciA9IFtRTFByZXZpZXdDb252ZXJ0ZXJEaWN0aW9uYXJ5KCkgb2JqZWN0Rm9yS2V5
Om5zRG9jdW1lbnRVUkxdOwotICAgIH0KLQotICAgIGlmICghY29udmVydGVyKQotICAgICAgICBy
ZXR1cm4gVVJMKFBhcnNlZFVSTFN0cmluZywgcmVzb3VyY2VVUkwpOwotCi0gICAgUmV0YWluUHRy
PE5TVVJMUmVxdWVzdD4gcmVxdWVzdCA9IGFkb3B0TlMoW1tOU1VSTFJlcXVlc3QgYWxsb2NdIGlu
aXRXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOnJlc291cmNlVVJMXV0pOwotICAgIE5TVVJM
UmVxdWVzdCAqc2FmZVJlcXVlc3QgPSBbY29udmVydGVyIHNhZmVSZXF1ZXN0Rm9yUmVxdWVzdDpy
ZXF1ZXN0LmdldCgpXTsKLSAgICByZXR1cm4gW3NhZmVSZXF1ZXN0IFVSTF07Ci19Ci0KIHN0YXRp
YyBWZWN0b3I8Y2hhcj4gY3JlYXRlUUxQcmV2aWV3UHJvdG9jb2woKQogewogICAgIFZlY3Rvcjxj
aGFyPiBwcmV2aWV3UHJvdG9jb2w7CkBAIC0xODEsMTAgKzE2NSw4IEBAIEBpbnRlcmZhY2UgV2Vi
UHJldmlld0NvbnZlcnRlciA6IE5TT2JqZWN0IHsKICAgICBSZWZQdHI8UXVpY2tMb29rSGFuZGxl
Q2xpZW50PiBfY2xpZW50OwogICAgIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBfb3JpZ2luYWxS
ZXNwb25zZTsKICAgICBSZXRhaW5QdHI8UUxQcmV2aWV3Q29udmVydGVyPiBfcGxhdGZvcm1Db252
ZXJ0ZXI7Ci0gICAgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IF9wcmV2aWV3UmVzcG9uc2U7CiAg
ICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiBfYnVmZmVyZWREYXRhQXJyYXk7CiAgICAgQk9P
TCBfaGFzU2VudERpZFJlY2VpdmVSZXNwb25zZTsKLSAgICBCT09MIF9oYXNGYWlsZWQ7CiB9CiAK
IC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlc291cmNlTG9hZGVyOihSZXNvdXJjZUxvYWRlciYp
cmVzb3VyY2VMb2FkZXIgcmVzb3VyY2VSZXNwb25zZTooY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
cmVzb3VyY2VSZXNwb25zZSBxdWlja0xvb2tIYW5kbGU6KFF1aWNrTG9va0hhbmRsZSYpcXVpY2tM
b29rSGFuZGxlOwpAQCAtMjEwLDcgKzE5Miw2IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJl
c291cmNlTG9hZGVyOihSZXNvdXJjZUxvYWRlciYpcmVzb3VyY2VMb2FkZXIgcmVzb3VyY2VSCiAg
ICAgX2NsaWVudCA9ICZ0ZXN0aW5nT3JFbXB0eUNsaWVudCgpOwogICAgIF9vcmlnaW5hbFJlc3Bv
bnNlID0gcmVzb3VyY2VSZXNwb25zZS5uc1VSTFJlc3BvbnNlKCk7CiAgICAgX3BsYXRmb3JtQ29u
dmVydGVyID0gYWRvcHROUyhbYWxsb2NRTFByZXZpZXdDb252ZXJ0ZXJJbnN0YW5jZSgpIGluaXRX
aXRoQ29ubmVjdGlvbjpuaWwgZGVsZWdhdGU6c2VsZiByZXNwb25zZTpfb3JpZ2luYWxSZXNwb25z
ZS5nZXQoKSBvcHRpb25zOm5pbF0pOwotICAgIF9wcmV2aWV3UmVzcG9uc2UgPSBbX3BsYXRmb3Jt
Q29udmVydGVyIHByZXZpZXdSZXNwb25zZV07CiAgICAgX2J1ZmZlcmVkRGF0YUFycmF5ID0gYWRv
cHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAKICAgICBMT0coTmV0d29yaywg
IldlYlByZXZpZXdDb252ZXJ0ZXIgY3JlYXRlZCB3aXRoIHByZXZpZXcgZmlsZSBuYW1lIFwiJXNc
Ii4iLCBbX3BsYXRmb3JtQ29udmVydGVyIHByZXZpZXdGaWxlTmFtZV0pOwpAQCAtMjUyLDIxICsy
MzMsMTQgQEAgLSAoUUxQcmV2aWV3Q29udmVydGVyICopcGxhdGZvcm1Db252ZXJ0ZXIKIAogLSAo
dm9pZClfc2VuZERpZFJlY2VpdmVSZXNwb25zZUlmTmVjZXNzYXJ5CiB7Ci0gICAgW19idWZmZXJl
ZERhdGFBcnJheSByZW1vdmVBbGxPYmplY3RzXTsKLQotICAgIGlmIChfaGFzU2VudERpZFJlY2Vp
dmVSZXNwb25zZSB8fCBfaGFzRmFpbGVkKQorICAgIGlmIChfaGFzU2VudERpZFJlY2VpdmVSZXNw
b25zZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gUXVpY2tMb29rIG1pZ2h0IGZhaWwgdG8g
Y29udmVydCBhIGRvY3VtZW50IHdpdGhvdXQgY2FsbGluZyBjb25uZWN0aW9uOmRpZEZhaWxXaXRo
RXJyb3I6IChzZWUgPHJkYXI6Ly9wcm9ibGVtLzE3OTI3OTcyPikuCi0gICAgLy8gQSBuaWwgTUlN
RSB0eXBlIGlzIGFuIGluZGljYXRpb24gb2Ygc3VjaCBhIGZhaWx1cmUsIHNvIHN0b3AgbG9hZGlu
ZyB0aGUgcmVzb3VyY2UgYW5kIGlnbm9yZSBzdWJzZXF1ZW50IGRlbGVnYXRlIG1lc3NhZ2VzLgot
ICAgIGlmICghW19wcmV2aWV3UmVzcG9uc2UgTUlNRVR5cGVdKSB7Ci0gICAgICAgIF9oYXNGYWls
ZWQgPSBZRVM7Ci0gICAgICAgIF9yZXNvdXJjZUxvYWRlci0+ZGlkRmFpbChfcmVzb3VyY2VMb2Fk
ZXItPmNhbm5vdFNob3dVUkxFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBb
X2J1ZmZlcmVkRGF0YUFycmF5IHJlbW92ZUFsbE9iamVjdHNdOwogCi0gICAgUmVzb3VyY2VSZXNw
b25zZSByZXNwb25zZSB7IF9wcmV2aWV3UmVzcG9uc2UuZ2V0KCkgfTsKKyAgICBSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlIHsgW19wbGF0Zm9ybUNvbnZlcnRlciBwcmV2aWV3UmVzcG9uc2VdIH07
CiAgICAgcmVzcG9uc2Uuc2V0SXNRdWlja0xvb2sodHJ1ZSk7CisgICAgQVNTRVJUKHJlc3BvbnNl
Lm1pbWVUeXBlKCkubGVuZ3RoKCkpOwogCiAgICAgX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9uc2Ug
PSBZRVM7CiAgICAgX3Jlc291cmNlTG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2Up
OwpAQCAtMjc2LDggKzI1MCw2IEBAIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9u
ICopY29ubmVjdGlvbiBkaWRSZWNlaXZlRGF0YTooTlNEYXRhICopZGF0YSBsCiB7CiAgICAgQVNT
RVJUX1VOVVNFRChjb25uZWN0aW9uLCAhY29ubmVjdGlvbik7CiAgICAgW3NlbGYgX3NlbmREaWRS
ZWNlaXZlUmVzcG9uc2VJZk5lY2Vzc2FyeV07Ci0gICAgaWYgKF9oYXNGYWlsZWQpCi0gICAgICAg
IHJldHVybjsKIAogICAgIC8vIFF1aWNrTG9vayBjb2RlIHNlbmRzIHVzIGEgbmlsIGRhdGEgYXQg
dGltZXMuIFRoZSBjaGVjayBiZWxvdyBpcyB0aGUgc2FtZSBhcyB0aGUgb25lIGluCiAgICAgLy8g
UmVzb3VyY2VIYW5kbGVNYWMuY3BwIGFkZGVkIGZvciBhIGRpZmZlcmVudCBidWcuCkBAIC0yODgs
MzcgKzI2MCwzNyBAQCAtICh2b2lkKWNvbm5lY3Rpb246KE5TVVJMQ29ubmVjdGlvbiAqKWNvbm5l
Y3Rpb24gZGlkUmVjZWl2ZURhdGE6KE5TRGF0YSAqKWRhdGEgbAogLSAodm9pZCljb25uZWN0aW9u
RGlkRmluaXNoTG9hZGluZzooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbgogewogICAgIEFT
U0VSVF9VTlVTRUQoY29ubmVjdGlvbiwgIWNvbm5lY3Rpb24pOwotICAgIGlmIChfaGFzRmFpbGVk
KQotICAgICAgICByZXR1cm47Ci0KICAgICBBU1NFUlQoX2hhc1NlbnREaWRSZWNlaXZlUmVzcG9u
c2UpOwogICAgIF9yZXNvdXJjZUxvYWRlci0+ZGlkRmluaXNoTG9hZGluZygwKTsKIH0KIAorc3Rh
dGljIGlubGluZSBib29sIGlzUXVpY2tMb29rUGFzc3dvcmRFcnJvcihOU0Vycm9yICplcnJvcikK
K3sKKyAgICByZXR1cm4gZXJyb3IuY29kZSA9PSBrUUxSZXR1cm5QYXNzd29yZFByb3RlY3RlZCAm
JiBbZXJyb3IuZG9tYWluIGlzRXF1YWxUb1N0cmluZzpAIlF1aWNrTG9va0Vycm9yRG9tYWluIl07
Cit9CisKIC0gKHZvaWQpY29ubmVjdGlvbjooTlNVUkxDb25uZWN0aW9uICopY29ubmVjdGlvbiBk
aWRGYWlsV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKIHsKICAgICBBU1NFUlRfVU5VU0VEKGNv
bm5lY3Rpb24sICFjb25uZWN0aW9uKTsKIAotICAgIGlmIChlcnJvci5jb2RlID09IGtRTFJldHVy
blBhc3N3b3JkUHJvdGVjdGVkICYmIFtlcnJvci5kb21haW4gaXNFcXVhbFRvU3RyaW5nOkAiUXVp
Y2tMb29rRXJyb3JEb21haW4iXSkgewotICAgICAgICBpZiAoIV9jbGllbnQtPnN1cHBvcnRzUGFz
c3dvcmRFbnRyeSgpKSB7Ci0gICAgICAgICAgICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoX3Jl
c291cmNlTG9hZGVyLT5jYW5ub3RTaG93VVJMRXJyb3IoKSk7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLQotICAgICAgICBfY2xpZW50LT5kaWRSZXF1ZXN0UGFzc3dvcmQoW3JldGFp
bmVkU2VsZiA9IHJldGFpblB0cihzZWxmKV0gKGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpIHsKLSAg
ICAgICAgICAgIE5TRGljdGlvbmFyeSAqcGFzc3dvcmRPcHRpb24gPSBAeyAoTlNTdHJpbmcgKilr
UUxQcmV2aWV3T3B0aW9uUGFzc3dvcmRLZXkgOiBwYXNzd29yZCB9OwotICAgICAgICAgICAgYXV0
byBjb252ZXJ0ZXJXaXRoUGFzc3dvcmQgPSBhZG9wdE5TKFthbGxvY1FMUHJldmlld0NvbnZlcnRl
ckluc3RhbmNlKCkgaW5pdFdpdGhDb25uZWN0aW9uOm5pbCBkZWxlZ2F0ZTpyZXRhaW5lZFNlbGYu
Z2V0KCkgcmVzcG9uc2U6cmV0YWluZWRTZWxmLT5fb3JpZ2luYWxSZXNwb25zZS5nZXQoKSBvcHRp
b25zOnBhc3N3b3JkT3B0aW9uXSk7Ci0gICAgICAgICAgICBbY29udmVydGVyV2l0aFBhc3N3b3Jk
IGFwcGVuZERhdGFBcnJheTpyZXRhaW5lZFNlbGYtPl9idWZmZXJlZERhdGFBcnJheS5nZXQoKV07
Ci0gICAgICAgICAgICBbY29udmVydGVyV2l0aFBhc3N3b3JkIGZpbmlzaGVkQXBwZW5kaW5nRGF0
YV07Ci0gICAgICAgICAgICByZXRhaW5lZFNlbGYtPl9wcmV2aWV3UmVzcG9uc2UgPSBbY29udmVy
dGVyV2l0aFBhc3N3b3JkIHByZXZpZXdSZXNwb25zZV07Ci0gICAgICAgICAgICByZXRhaW5lZFNl
bGYtPl9wbGF0Zm9ybUNvbnZlcnRlciA9IFdURk1vdmUoY29udmVydGVyV2l0aFBhc3N3b3JkKTsK
LSAgICAgICAgfSk7CisgICAgaWYgKCFpc1F1aWNrTG9va1Bhc3N3b3JkRXJyb3IoZXJyb3IpKSB7
CisgICAgICAgIFtzZWxmIF9zZW5kRGlkUmVjZWl2ZVJlc3BvbnNlSWZOZWNlc3NhcnldOworICAg
ICAgICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoZXJyb3IpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgW3NlbGYgX3NlbmREaWRSZWNlaXZlUmVzcG9uc2VJZk5lY2Vzc2FyeV07Ci0g
ICAgaWYgKCFfaGFzRmFpbGVkKQotICAgICAgICBfcmVzb3VyY2VMb2FkZXItPmRpZEZhaWwoZXJy
b3IpOworICAgIGlmICghX2NsaWVudC0+c3VwcG9ydHNQYXNzd29yZEVudHJ5KCkpIHsKKyAgICAg
ICAgX3Jlc291cmNlTG9hZGVyLT5kaWRGYWlsKF9yZXNvdXJjZUxvYWRlci0+Y2Fubm90U2hvd1VS
TEVycm9yKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgX2NsaWVudC0+ZGlkUmVx
dWVzdFBhc3N3b3JkKFtyZXRhaW5lZFNlbGYgPSByZXRhaW5QdHIoc2VsZildIChjb25zdCBTdHJp
bmcmIHBhc3N3b3JkKSB7CisgICAgICAgIE5TRGljdGlvbmFyeSAqcGFzc3dvcmRPcHRpb24gPSBA
eyAoTlNTdHJpbmcgKilrUUxQcmV2aWV3T3B0aW9uUGFzc3dvcmRLZXkgOiBwYXNzd29yZCB9Owor
ICAgICAgICBhdXRvIGNvbnZlcnRlcldpdGhQYXNzd29yZCA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2
aWV3Q29udmVydGVySW5zdGFuY2UoKSBpbml0V2l0aENvbm5lY3Rpb246bmlsIGRlbGVnYXRlOnJl
dGFpbmVkU2VsZi5nZXQoKSByZXNwb25zZTpyZXRhaW5lZFNlbGYtPl9vcmlnaW5hbFJlc3BvbnNl
LmdldCgpIG9wdGlvbnM6cGFzc3dvcmRPcHRpb25dKTsKKyAgICAgICAgW2NvbnZlcnRlcldpdGhQ
YXNzd29yZCBhcHBlbmREYXRhQXJyYXk6cmV0YWluZWRTZWxmLT5fYnVmZmVyZWREYXRhQXJyYXku
Z2V0KCldOworICAgICAgICBbY29udmVydGVyV2l0aFBhc3N3b3JkIGZpbmlzaGVkQXBwZW5kaW5n
RGF0YV07CisgICAgICAgIHJldGFpbmVkU2VsZi0+X3BsYXRmb3JtQ29udmVydGVyID0gV1RGTW92
ZShjb252ZXJ0ZXJXaXRoUGFzc3dvcmQpOworICAgIH0pOwogfQogCiBAZW5kCkBAIC0zODksNiAr
MzYxLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxRdWlja0xvb2tIYW5kbGU+IFF1aWNrTG9va0hhbmRs
ZTo6Y3JlYXRlKFJlc291cmNlTG9hZGVyJiBsb2FkZXIsCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91
bmlxdWU8UXVpY2tMb29rSGFuZGxlPihsb2FkZXIsIHJlc3BvbnNlKTsKIH0KIAordm9pZCBRdWlj
a0xvb2tIYW5kbGU6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7
CisgICAgaWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJcyhRTFByZXZpZXdQcm90b2NvbCgpKSkK
KyAgICAgICAgcmVxdWVzdCA9IFtbbV9jb252ZXJ0ZXIgcGxhdGZvcm1Db252ZXJ0ZXJdIHNhZmVS
ZXF1ZXN0Rm9yUmVxdWVzdDpyZXF1ZXN0Lm5zVVJMUmVxdWVzdChEb05vdFVwZGF0ZUhUVFBCb2R5
KV07Cit9CisKIGJvb2wgUXVpY2tMb29rSGFuZGxlOjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFy
KiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgaWYgKG1fZmluaXNoZWRMb2FkaW5nRGF0
YUludG9Db252ZXJ0ZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTdjMGM4OWIwYmE4NzQ1MzQ0N2Y5Y2NiYjM4NGZlYWM4
ODY0MDhhYy4uYmJiNmZjZWJhMDUxODg4YTkwN2I2NjkzMDQ5ZWZlODNhNjMzOTVmYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTAxLTI2ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNv
bT4KKworICAgICAgICBbUXVpY2tMb29rXSBSRUdSRVNTSU9OIChXZWJLaXQyKTogUmVxdWVzdHMg
YXJlIG1hZGUgdG8gaW52YWxpZCB4LWFwcGxlLXFsLWlkOiBVUkxzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0NTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgICogcXVpY2tsb29rL2ludmFsaWQtcWwtaWQt
dXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcXVpY2tsb29rL2ludmFsaWQtcWwt
aWQtdXJsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHF1aWNrbG9vay9uaWwtcmVzcG9uc2UtbWlt
ZS10eXBlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdWlja2xvb2svbmlsLXJl
c3BvbnNlLW1pbWUtdHlwZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHF1aWNrbG9vay9yZXNv
dXJjZXMvaW52YWxpZC1xbC1pZC11cmwueGxzOiBBZGRlZC4KKyAgICAgICAgKiBxdWlja2xvb2sv
cmVzb3VyY2VzL25pbC1yZXNwb25zZS1taW1lLXR5cGUueGxzOiBSZW1vdmVkLgorCiAyMDE3LTAx
LTI2ICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBQb2ludGVy
IGxvY2sgZXZlbnRzIHNob3VsZCBiZSBkZWxpdmVyZWQgZGlyZWN0bHkgdG8gdGhlIHRhcmdldCBl
bGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9xdWlja2xvb2svaW52YWxpZC1xbC1pZC11
cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2ludmFsaWQtcWwtaWQtdXJs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWUyYTQzZWVjNGQ3ODJhZGExNmVmN2NkNzdmZWQ4
MTQyNjZkNTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2ludmFs
aWQtcWwtaWQtdXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK3Jlc291cmNlcy9pbnZh
bGlkLXFsLWlkLXVybC54bHMgLSBkaWRGaW5pc2hMb2FkaW5nCit4LWFwcGxlLXFsLWlkOi8vbm9u
ZXhpc3RlbnQuanBnIC0gZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGFib3V0Oiwg
aHR0cCBzdGF0dXMgY29kZSAwPgoreC1hcHBsZS1xbC1pZDovL25vbmV4aXN0ZW50LmpwZyAtIGRp
ZEZpbmlzaExvYWRpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2ludmFs
aWQtcWwtaWQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9xdWlja2xvb2svaW52YWxpZC1xbC1pZC11
cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jOWQ5MzdiZDE1OTkyNTA5YjBhMTBmYTFkMDQwYWFlZGE5NTk1
NTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcXVpY2tsb29rL2ludmFsaWQtcWwt
aWQtdXJsLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0Pgor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK2lmcmFtZSB7CisgICAgd2lkdGg6IDEwMHZ3OworICAg
IGhlaWdodDogMTAwdmg7Cit9Cis8L3N0eWxlPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9pbnZh
bGlkLXFsLWlkLXVybC54bHMiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcXVp
Y2tsb29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cXVpY2tsb29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjYjMyZTg1OWYyNDBjZjBlOTljMWI2MzEzNjMzNTBlZThlYjUz
YjBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3F1aWNrbG9vay9uaWwtcmVzcG9uc2UtbWltZS10eXBlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotZnJhbWUgIjwhLS1mcmFtZVBhdGggLy88IS0tZnJh
bWUwLS0+LS0+IiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUg
LSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9u
bG9hZEV2ZW50c0ZvckZyYW1lCi1mcmFtZSAiPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4t
LT4iIC0gZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvcgotZnJhbWUgIjwhLS1mcmFtZVBh
dGggLy88IS0tZnJhbWUwLS0+LS0+IiAtIChFcnJvckNvZGVDYW5ub3RTaG93VVJMKQotbWFpbiBm
cmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9x
dWlja2xvb2svbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvcXVpY2ts
b29rL25pbC1yZXNwb25zZS1taW1lLXR5cGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZThjMDVlYzk3MWJhMjFkYTQ4OTY1N2M1MTMyNmRkZWVhNmI0ZmNhNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9xdWlja2xv
b2svbmlsLXJlc3BvbnNlLW1pbWUtdHlwZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgfSAgICAgICAgCi08L3NjcmlwdD4KLTxz
dHlsZT4KLWlmcmFtZSB7Ci0gICAgd2lkdGg6IDEwMHZ3OwotICAgIGhlaWdodDogMTAwdmg7Ci19
Ci08L3N0eWxlPgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9uaWwtcmVzcG9uc2UtbWltZS10eXBl
LnhscyI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9xdWlja2xvb2svcmVzb3Vy
Y2VzL2ludmFsaWQtcWwtaWQtdXJsLnhscyBiL0xheW91dFRlc3RzL3F1aWNrbG9vay9yZXNvdXJj
ZXMvaW52YWxpZC1xbC1pZC11cmwueGxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxYWVjZWQyZTFhY2RjZTkyYWVi
ZWRiNWM5ZDY1NDgyY2ZkMTQ2M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9xdWlj
a2xvb2svcmVzb3VyY2VzL2ludmFsaWQtcWwtaWQtdXJsLnhscwpAQCAtMCwwICsxLDExIEBACis8
aHRtbD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0
UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsKKzwvc2NyaXB0PgorPGJvZHk+CitX
ZSBzaG91bGQgbm90IGF0dGVtcHQgdG8gbG9hZCB0aGUgaW1hZ2UgVVJMIGJlbG93OgorPGJyPgor
PGltZyBzcmM9IngtYXBwbGUtcWwtaWQ6Ly9ub25leGlzdGVudC5qcGciPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcXVpY2tsb29rL3Jlc291cmNlcy9uaWwtcmVz
cG9uc2UtbWltZS10eXBlLnhscyBiL0xheW91dFRlc3RzL3F1aWNrbG9vay9yZXNvdXJjZXMvbmls
LXJlc3BvbnNlLW1pbWUtdHlwZS54bHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQz
NGVjNjYyNzZhZjJmYTQxMDhmYTM1NjEwMmI0MDdiOWIzMzEzOWEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcXVpY2tsb29rL3Jlc291
cmNlcy9uaWwtcmVzcG9uc2UtbWltZS10eXBlLnhscworKysgL2Rldi9udWxsCkBAIC0xLDcgKzAs
MCBAQAotPGh0bWw+Ci08Ym9keT4KLVRoZSBpbWFnZSBiZWxvdyBzaG91bGQgbm90IGJlIGRpc3Bs
YXllZDoKLTxicj4KLTxpbWcgc3JjPSJodHRwOi8vd3d3LmRuc3VwZGF0ZS5vcmcvRE5TVXBkYXRl
Mi5qcGciPgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>