<?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>182054</bug_id>
          
          <creation_ts>2018-01-24 09:55:44 -0800</creation_ts>
          <short_desc>ASSERTION FAILED: !m_processes[i] || *m_processes[i] == process in MessagePortChannel::entanglePortWithProcess()</short_desc>
          <delta_ts>2021-09-17 10:31:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</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=182311</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jlewis3</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392609</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-24 09:55:44 -0800</bug_when>
    <thetext>ASSERTION FAILED: !m_processes[i] || *m_processes[i] == process in MessagePortChannel::entanglePortWithProcess():
ERROR: Request to remove client-side ServiceWorkerRegistration from non-existent server-side registration
/Volumes/Data/WebKit/OpenSource/Source/WebCore/workers/service/server/SWServer.cpp(457) : void WebCore::SWServer::removeClientServiceWorkerRegistration(WebCore::SWServer::Connection &amp;, ServiceWorkerRegistrationIdentifier)
ASSERTION FAILED: !m_processes[i] || *m_processes[i] == process
/Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/messageports/MessagePortChannel.cpp(87) : void WebCore::MessagePortChannel::entanglePortWithProcess(const WebCore::MessagePortIdentifier &amp;, ProcessIdentifier)
1   0x10b67001d WTFCrash
2   0x11a67e63c WebCore::MessagePortChannel::entanglePortWithProcess(WebCore::MessagePortIdentifier const&amp;, WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;)
3   0x11a680c93 WebCore::MessagePortChannelRegistry::didEntangleLocalToRemote(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;, WTF::ObjectIdentifier&lt;WebCore::ProcessIdentifierType&gt;)
4   0x10f48c88c WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;)
5   0x10f4bc77d void IPC::callMemberFunctionImpl&lt;WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;), std::__1::tuple&lt;WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier&gt;, 0ul, 1ul&gt;(WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;), std::__1::tuple&lt;WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;)
6   0x10f4bc500 void IPC::callMemberFunction&lt;WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;), std::__1::tuple&lt;WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(std::__1::tuple&lt;WebCore::MessagePortIdentifier, WebCore::MessagePortIdentifier&gt;&amp;&amp;, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;))
7   0x10f4ba2f8 void IPC::handleMessage&lt;Messages::WebProcessProxy::EntangleLocalPortInThisProcessToRemote, WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(WebCore::MessagePortIdentifier const&amp;, WebCore::MessagePortIdentifier const&amp;))
8   0x10f4b8d9a WebKit::WebProcessProxy::didReceiveWebProcessProxyMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
9   0x10f485e49 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
10  0x10f485eb4 non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
11  0x10e8a98d3 IPC::Connection::dispatchMessage(IPC::Decoder&amp;)
12  0x10e89ee38 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)
13  0x10e8a9eda IPC::Connection::dispatchOneMessage()
14  0x10e8c245d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14::operator()()
15  0x10e8c23b9 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14&gt;::call()
16  0x10b68c16b WTF::Function&lt;void ()&gt;::operator()() const
17  0x10b6d112d WTF::RunLoop::performWork()
18  0x10b6d18e4 WTF::RunLoop::performWork(void*)
19  0x7fff3a301721 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
20  0x7fff3a3bb0ac __CFRunLoopDoSource0
21  0x7fff3a2e4260 __CFRunLoopDoSources0
22  0x7fff3a2e36dd __CFRunLoopRun
23  0x7fff3a2e2f43 CFRunLoopRunSpecific
24  0x7fff3c3b4c16 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
25  0x10a0105a4 WTR::TestController::platformRunUntil(bool&amp;, double)
26  0x109feaed9 WTR::TestController::runUntil(bool&amp;, double)
27  0x10a0138ba WTR::TestInvocation::invoke()
28  0x109ff3ded WTR::TestController::runTest(char const*)
29  0x109ff4f74 WTR::TestController::runTestingServerLoop()
30  0x109fe58a6 WTR::TestController::run()
31  0x109fe522a WTR::TestController::TestController(int, char const**)


Seems to have happened during this test for me:
imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392756</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-24 14:21:38 -0800</bug_when>
    <thetext>According flakiness dashboard, imported/w3c/web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https.html is very flaky due to that.
See https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r227533%20(1762)/results.html for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392794</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-24 15:03:20 -0800</bug_when>
    <thetext>Taking a look</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392842</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-01-24 16:44:58 -0800</bug_when>
    <thetext>I absolutely cannot reproduce no matter how I stress test my WKTR.

That said, I can see how this can happen in SW-land where calls to entangle and disentangle are coming in from different processes.

1 - Web process sends a &quot;disentangle&quot; message to the UI process
2 - Web process sends a postMessage to the StorageProcess with the port as a payload.
3 - Storage process forwards that message along to the SW process with the payload.
4 - ServerWorker process gets the message and then sends the UI process the &quot;entangle&quot; message

For some reason the disentangle sent in #1 is slow to go out - and in fact not even received by the UI process for awhile. And then #2, #3, and #4 happen pretty quickly.

In this scenario the #4 entangle is received before the #1 disentangle, triggering the ASSERT

(Note, it also means the disentangle will come in later in a release build and wreck havoc, rendering messages undeliverable)

Bummer.

If we move to a model where the UI process *is* the storage process, this would actually go away.

(That&apos;s obviously not the short term fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393069</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-25 09:17:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/36871207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399921</commentid>
    <comment_count>5</comment_count>
      <attachid>334048</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-16 10:04:18 -0800</bug_when>
    <thetext>Created attachment 334048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399942</commentid>
    <comment_count>6</comment_count>
      <attachid>334048</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 11:05:11 -0800</bug_when>
    <thetext>Comment on attachment 334048
Patch

Clearing flags on attachment: 334048

Committed r228564: &lt;https://trac.webkit.org/changeset/228564&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399943</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 11:05:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400078</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-16 15:35:01 -0800</bug_when>
    <thetext>I have just looked at the flakiness dashboard and so far no crash yet with this fix.

imported/w3c/web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https.html test was the flakiest by far and has done 4 runs without crash and with the fix at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794494</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Hutchison">ehutchison</who>
    <bug_when>2021-09-17 10:31:41 -0700</bug_when>
    <thetext>*** Bug 182341 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334048</attachid>
            <date>2018-02-16 10:04:18 -0800</date>
            <delta_ts>2018-02-16 11:05:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182054-20180216100417.patch</filename>
            <type>text/plain</type>
            <size>13655</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNWZmOTA1YjhkNjQ1Nzg4
Yzk2ZjA1YTViZTY2NDJhMmM2NTliNjIuLjhiNjc2NDU5NDQ0YmM2MGQ5ODRjZGYxYTBlYzZiNDRi
ZDA4YWFiMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDItMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhbV9w
cm9jZXNzZXNbaV0gfHwgKm1fcHJvY2Vzc2VzW2ldID09IHByb2Nlc3MgaW4gTWVzc2FnZVBvcnRD
aGFubmVsOjplbnRhbmdsZVBvcnRXaXRoUHJvY2VzcygpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIwNTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM2ODcxMjA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBpcGUgcG9zdE1lc3NhZ2UgbWVzc2FnZXMgdG8gYW5kIGZyb20gc2VydmljZSB3b3JrZXJz
IHZpYSB0aGUgVUlQcm9jZXNzIGluc3RlYWQgb2YgZ29pbmcKKyAgICAgICAgZGlyZWN0bHkgdG8g
dGhlIFN0b3JhZ2VQcm9jZXNzLiBUaGlzIGlzIHRlbXBvcmFyaWx5IG5lZWRlZCB0byBhdm9pZCBy
YWNlcyBkdWUgdG8gdGhlCisgICAgICAgIE1lc3NhZ2VQb3J0IHJlZ2lzdHJ5IGN1cnJlbnRseSBs
aXZpbmcgaW4gdGhlIFVJUHJvY2VzcyBhbmQgcG9zdE1lc3NhZ2UgbWVzc2FnZXMgcG90ZW50aWFs
bHkKKyAgICAgICAgc2VuZGluZyBNZXNzYWdlUG9ydCBvYmplY3RzLgorCisgICAgICAgIFRoaXMg
Y2hhbmdlIGlzIGNvdmVyZWQgYnkgdGVzdHMgb24gdGhlIGJvdHMgdGhhdCBjdXJyZW50bHkgZmxh
a2lseSBjcmFzaCBpbiBkZWJ1Zy4KKworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U3RvcmFnZVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzczo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3Jh
Z2VQcm9jZXNzLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xp
ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpw
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCk6CisKIDIwMTgtMDItMTYgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0V4dHJhIHpvb20gbW9k
ZV0gQWRkIGJhc2ljIHN1cHBvcnQgZm9yIDxpbnB1dCB0eXBlPSdkYXRlJz4gdXNpbmcgZGF0ZSBw
aWNrZXIgVUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRleCBiZWNkOTBm
ZjQxMTA1ZGUzOWYyYWIzMWQ0ZTQyMjg3MGU5MzExYzc3Li44N2Q1Y2YxMjVjOGE3ZGVhZWFjMzBl
NDg0ZWZiMDc2MDgzZmNkODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5o
CkBAIC02OSw2ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZE5vdEhhbmRsZUZldGNoKHVp
bnQ2NF90IGZldGNoSWRlbnRpZmllcik7CiAKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNl
V29ya2VyQ2xpZW50KFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRl
eHRJZGVudGlmaWVyLCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VTZXJ2aWNlV29ya2VySWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pOworICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdl
YkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSk7CiAKIHByaXZhdGU6CiAgICAgLy8gSW1w
bGVtZW50IFNXU2VydmVyOjpDb25uZWN0aW9uIChNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlBy
b2Nlc3MpCkBAIC04OCw4ICs4OSw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHN0YXJ0RmV0Y2go
dWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkZldGNo
T3B0aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYsIFN0cmluZyYmIHJlZmVycmVyKTsK
IAotICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdv
cmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNv
dXJjZSk7Ci0KICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlv
bk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CiAgICAgdm9pZCBn
ZXRSZWdpc3RyYXRpb25zKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBX
ZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAKaW5kZXggYTZjZTE2NGI1ZjZlNDM2OTdkNWZkMjNmMGYw
MTljOGI3YTE0ODcyMS4uMDI0ZGFjM2MzODE3MWMwMGQxOTVjNzAyMGU1MGE1ODk5NmM0Y2M4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAK
QEAgLTQ4NCw2ICs0ODQsMTIgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzczo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VydmljZVdvcmtlckNsaWVudEkKICAgICAgICAgY29u
bmVjdGlvbi0+cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoZGVzdGluYXRpb25JZGVu
dGlmaWVyLmNvbnRleHRJZGVudGlmaWVyLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VJZGVudGlm
aWVyLCBzb3VyY2VPcmlnaW4pOwogfQogCit2b2lkIFN0b3JhZ2VQcm9jZXNzOjpwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5h
dGlvbiwgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYWdlLCBjb25zdCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UsIFNXU2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCit7CisgICAgaWYgKGF1
dG8qIGNvbm5lY3Rpb24gPSBtX3N3U2VydmVyQ29ubmVjdGlvbnMuZ2V0KGNvbm5lY3Rpb25JZGVu
dGlmaWVyKSkKKyAgICAgICAgY29ubmVjdGlvbi0+cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
ZGVzdGluYXRpb24sIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZSk7Cit9CisKIHZvaWQgU3RvcmFn
ZVByb2Nlc3M6OnJlZ2lzdGVyU1dTZXJ2ZXJDb25uZWN0aW9uKFdlYlNXU2VydmVyQ29ubmVjdGlv
biYgY29ubmVjdGlvbikKIHsKICAgICBBU1NFUlQoIW1fc3dTZXJ2ZXJDb25uZWN0aW9ucy5jb250
YWlucyhjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCmluZGV4IDFlNTE2NWQ5OWVmYmViOTE5YmMxMWJmYzc1
YzFlODY5NTMxZDA3MzEuLmQ0N2UwYWI4YjI0NjQwNjljYWM4MTEzYmNmNjg0ODFhZjU2MzRhZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmgKQEAg
LTEzNyw2ICsxMzcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkTm90SGFuZGxlRmV0Y2goV2Vi
Q29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJZGVudGlm
aWVyKTsKIAogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoY29uc3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGRlc3RpbmF0aW9uSWRlbnRp
ZmllciwgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VP
cmlnaW4pOworICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZp
ZXImIHNvdXJjZSwgV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcik7CisKICAg
ICBXZWJTV09yaWdpblN0b3JlJiBzd09yaWdpblN0b3JlRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCk7CiAgICAgYm9vbCBuZWVkc1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSBjb25zdDsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVBy
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNTdjOGQyYWNhNjgyYmFjMTFkZDBmNTgwNjg3ODgzZTJm
MTNmMWMxMC4uMTc3YTk2YjkxZGQwYTljYTEwNmNjYTEzMTFiM2VkMDc1NjZiZDgwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1l
c3NhZ2VzLmluCkBAIC00Myw1ICs0Myw3IEBAIG1lc3NhZ2VzIC0+IFN0b3JhZ2VQcm9jZXNzIExl
Z2FjeVJlY2VpdmVyIHsKICAgICBEaWRSZWNlaXZlRmV0Y2hGb3JtRGF0YShXZWJDb3JlOjpTV1Nl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50
NjRfdCBmZXRjaElkZW50aWZpZXIsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgZGF0YSkKICAgICBE
aWRGaW5pc2hGZXRjaChXZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZpZXIpCiAgICAgUG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJDbGllbnRJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6
Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIFN0cmluZyBzb3VyY2VPcmlnaW4pCisKKyAgICBQ
b3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBkZXN0aW5hdGlvbiwgc3RydWN0IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzIG1l
c3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXIgc291cmNlLCBX
ZWJDb3JlOjpTV1NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVy
KQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggNjNjNzUwODQ1MzNjYmEzZTBlZGQxOGViZmI2OTY0MmIyMjA5MjdjZC4uNmVlNjc5NWIx
MTNkNGJiNDc4NTcwNWQzYjEzOTE3ZDUyMzE3YzZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTg0Miw2ICsxODQyLDE4IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NBc3NlcnRpb25zKCkKICNlbmRpZgogfQogCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGRl
c3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4pCit7CisgICAg
c2VuZFRvU3RvcmFnZVByb2Nlc3NSZWxhdW5jaGluZ0lmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoZGVzdGluYXRpb24s
IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZSwgc291cmNlT3JpZ2luKSk7Cit9CisKK3ZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGRlc3RpbmF0aW9uLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIGNv
bnN0IFNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSwgU1dTZXJ2ZXJDb25u
ZWN0aW9uSWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcikKK3sKKyAgICBzZW5kVG9TdG9y
YWdlUHJvY2Vzc1JlbGF1bmNoaW5nSWZOZWNlc3NhcnkoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNz
OjpQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihkZXN0aW5hdGlvbiwgV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlLCBjb25uZWN0aW9uSWRlbnRpZmllcikpOworfQorI2VuZGlmCisKIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnJlaW5zdGF0ZU5ldHdvcmtQcm9jZXNzQXNzZXJ0aW9uU3RhdGUoTmV0d29y
a1Byb2Nlc3NQcm94eSYgbmV3TmV0d29ya1Byb2Nlc3NQcm94eSkKIHsKICNpZiBQTEFURk9STShJ
T1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA1NDViNjJj
Y2QzNGIwOGNjZWUzMjNiZWIyYTQ2MWNlMDAyYzVhYjY3Li44YzhiMjU4YWRiNTMxMWVmYzBjMjBk
OGJjYTc3MzQ2ZGY1YjUyY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKQEAgLTQyNSw2ICs0MjUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RvcmFnZUFj
Y2Vzc0FQSUVuYWJsZWQoYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKKyAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBkZXN0aW5hdGlvbklkZW50aWZpZXIs
IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlT3JpZ2lu
KTsKKyAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uLCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBz
b3VyY2UsIFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIpOworI2VuZGlmCisK
ICAgICBzdGF0aWMgdWludDY0X3QgcmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0aW9uTGlzdGVuZXIo
RnVuY3Rpb248dm9pZChXZWJQcm9jZXNzUG9vbCYpPiYmKTsKICAgICBzdGF0aWMgdm9pZCB1bnJl
Z2lzdGVyUHJvY2Vzc1Bvb2xDcmVhdGlvbkxpc3RlbmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3NhZ2Vz
LmluCmluZGV4IDYwYWE4ZTIyNDFmZmFlZWEyYTI0ZmQyODU4NTM2NzA3YWY4N2UyMWUuLjRkNTEw
ZTc2Y2EwOGJjZjVmZmFhYzI1N2JlMTI3YzY4NjcyMWZhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLm1lc3NhZ2VzLmluCkBAIC0zNiw0ICszNiw5
IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQb29sIHsKICAgICB2b2lkIFBsdWdJbkRpZFJlY2Vp
dmVVc2VySW50ZXJhY3Rpb24odWludDMyX3QgaGFzaCwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KQogCiAgICAgUmVwb3J0V2ViQ29udGVudENQVVRpbWUoU2Vjb25kcyBjcHVUaW1lLCB1aW50NjRf
dCBhY3Rpdml0eVN0YXRlKQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIFBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpN
ZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyBtZXNzYWdlLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBTdHJpbmcgc291cmNlT3JpZ2luKQorICAgIFBvc3RN
ZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRl
c3RpbmF0aW9uLCBzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMgbWVzc2Fn
ZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlck9yQ2xpZW50SWRlbnRpZmllciBzb3VyY2UsIFdlYkNv
cmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCisj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGEyZjMwNWEzNzllMmRjMGIwYzNiOTFl
NGQ5ZmI0ZTUwMmQwZjgxM2IuLjM5NzQ4ZGY0ZTM4OTlhMjMxZjQ0YTgxYjExNzBkZDdmNWNkMWE5
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJDbGllbnRGZXRjaC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VUb1dlYlByb2Nlc3ND
b25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
KyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2xNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIldlYlNXT3JpZ2luVGFibGUuaCIKICNpbmNsdWRlICJXZWJTV1NlcnZl
ckNvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KQEAg
LTg1LDcgKzg3LDkgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2aWNlV29ya2UKIAogdm9pZCBXZWJTV0NsaWVu
dENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBt
ZXNzYWdlLCBjb25zdCBTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2VJZGVu
dGlmaWVyKQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoZGVzdGluYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKG1l
c3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVyKSApOworICAgIC8vIEZJWE1FOiBUZW1wb3JhcmlseSBw
aXBlIHRoZSBTVyBwb3N0TWVzc2FnZSBtZXNzYWdlcyB2aWEgdGhlIFVJUHJvY2VzcyBzaW5jZSB0
aGlzIGlzIHdoZXJlIHRoZSBNZXNzYWdlUG9ydCByZWdpc3RyeSBsaXZlcworICAgIC8vIGFuZCB0
aGlzIGF2b2lkcyByYWNlcy4KKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUG9vbDo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoZGVzdGluYXRp
b25JZGVudGlmaWVyLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVyLCBzZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllcigpKSwgMCk7CiB9CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmIGRhdGEsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBjb250
cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDBkNzE3MGVlMDUxMDk1ZGE1ZDhmYTQ3OGM4NDZjYmRhMmJiMzdjMWMu
LjNhMjE3ZDU3Yzk1M2E0YWM2ZDEyOTU5N2NjYjVjM2U2YzhhODljZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJQ
cmVmZXJlbmNlc0tleXMuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlNlcnZpY2VXb3JrZXJGZXRjaFRhc2tDbGllbnQuaCIKICNpbmNsdWRlICJXZWJT
b2NrZXRQcm92aWRlci5oIgpAQCAtMjE5LDcgKzIyMCw5IEBAIHZvaWQgV2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OnN5bmNUZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIKIAogdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGRl
c3RpbmF0aW9uSWRlbnRpZmllciwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYWdlLCBT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZU9yaWdpbikKIHsKLSAgICBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQo
ZGVzdGluYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VJZGVudGlmaWVy
LCBzb3VyY2VPcmlnaW4pLCAwKTsKKyAgICAvLyBGSVhNRTogVGVtcG9yYXJpbHkgcGlwZSB0aGUg
U1cgcG9zdE1lc3NhZ2UgbWVzc2FnZXMgdmlhIHRoZSBVSVByb2Nlc3Mgc2luY2UgdGhpcyBpcyB3
aGVyZSB0aGUgTWVzc2FnZVBvcnQgcmVnaXN0cnkgbGl2ZXMKKyAgICAvLyBhbmQgdGhpcyBhdm9p
ZHMgcmFjZXMuCisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Bvb2w6OlBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRpZmllciwgc291cmNlT3Jp
Z2luKSwgMCk7CiB9CiAKIHZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmRpZEZp
bmlzaEluc3RhbGwoc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI+
IGpvYkRhdGFJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgYm9vbCB3YXNTdWNjZXNzZnVsKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>