<?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>200669</bug_id>
          
          <creation_ts>2019-08-13 06:48:19 -0700</creation_ts>
          <short_desc>Remove SessionID default constructor</short_desc>
          <delta_ts>2019-08-14 04:06:35 -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>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          <blocked>200670</blocked>
    
    <blocked>200708</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1560767</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-13 06:48:19 -0700</bug_when>
    <thetext>Instead use explicitly emptySessionID, which we can try to remove the use progressively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560768</commentid>
    <comment_count>1</comment_count>
      <attachid>376159</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-13 06:53:01 -0700</bug_when>
    <thetext>Created attachment 376159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560772</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-13 07:17:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/54256381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560851</commentid>
    <comment_count>3</comment_count>
      <attachid>376159</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-08-13 10:56:13 -0700</bug_when>
    <thetext>Comment on attachment 376159
Patch

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

&gt; Source/WebCore/PAL/pal/SessionID.h:-35
&gt; -    SessionID()

Maybe explicitly have = delete.

&gt; Source/WebCore/platform/network/CookieRequestHeaderFieldProxy.h:67
&gt; +        return { };

nullopt

&gt; Source/WebKit/Shared/WebPageCreationParameters.h:100
&gt; +    PAL::SessionID sessionID { PAL::SessionID::emptySessionID() };

I don&apos;t think this should be necessary.  Just go to the places where one of these is created and put the value in the constructor.

&gt; Source/WebKit/UIProcess/API/APIPageConfiguration.cpp:52
&gt; +    : m_sessionID(PAL::SessionID::emptySessionID())

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561108</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 02:34:42 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 376159 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=376159&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/PAL/pal/SessionID.h:-35
&gt; &gt; -    SessionID()
&gt; 
&gt; Maybe explicitly have = delete.

OK

&gt; &gt; Source/WebCore/platform/network/CookieRequestHeaderFieldProxy.h:67
&gt; &gt; +        return { };
&gt; 
&gt; nullopt
&gt; 
&gt; &gt; Source/WebKit/Shared/WebPageCreationParameters.h:100
&gt; &gt; +    PAL::SessionID sessionID { PAL::SessionID::emptySessionID() };
&gt; 
&gt; I don&apos;t think this should be necessary.  Just go to the places where one of
&gt; these is created and put the value in the constructor.

This allows making the patch smaller.
I plan to make a specific patch for this one.

&gt; &gt; Source/WebKit/UIProcess/API/APIPageConfiguration.cpp:52
&gt; &gt; +    : m_sessionID(PAL::SessionID::emptySessionID())
&gt; 
&gt; ditto.

https://bugs.webkit.org/show_bug.cgi?id=200670 removes APIPageConfiguration::m_sessionID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561109</commentid>
    <comment_count>5</comment_count>
      <attachid>376252</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 02:37:02 -0700</bug_when>
    <thetext>Created attachment 376252
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561116</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-08-14 02:48:53 -0700</bug_when>
    <thetext>This patch largely undoes my cleanup in bug #184868, which I think is unfortunate and weird given:

1. you reviewed it
2. You don&apos;t mention undoing it or any reasons in the changelog.

Nothing to stop you from landing. Just wanted to point it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561119</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 02:56:49 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #6)
&gt; This patch largely undoes my cleanup in bug #184868, which I think is
&gt; unfortunate and weird given:
&gt; 
&gt; 1. you reviewed it
&gt; 2. You don&apos;t mention undoing it or any reasons in the changelog.

With this patch, using decoder &gt;&gt; for sessionIDs is now needed.
I updated the decode method to use &gt;&gt; for consistency.

Agreed this is reverting part of bug 184868 patch but this should not change any behaviour.

I believe there is a trend to use &gt;&gt; more and more these days.
It is true we could decide on guidelines for decoders, whether to use &gt;&gt; or decode() by default for instance.
I personally tend to use &gt;&gt; for new decode methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561130</commentid>
    <comment_count>8</comment_count>
      <attachid>376252</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 04:06:33 -0700</bug_when>
    <thetext>Comment on attachment 376252
Patch for landing

Clearing flags on attachment: 376252

Committed r248668: &lt;https://trac.webkit.org/changeset/248668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561131</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 04:06:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376159</attachid>
            <date>2019-08-13 06:53:01 -0700</date>
            <delta_ts>2019-08-14 02:36:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200669-20190813155258.patch</filename>
            <type>text/plain</type>
            <size>22816</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQwMTJhODZlZjZkZTdj
M2E3ZGYzNmY3ZjM2YmEwNzgwMzRmNjM2Ni4uNmQ0OTVlNDc2OTE2MGI4MjYwMTE4N2UxNGE4ZDBk
NWQzMjg0YTRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA4LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU2Vzc2lvbklE
IGRlZmF1bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDY2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZSBTZXNzaW9uSUQgZGVmYXVsdCBjb25zdHJ1Y3RvcgorCisgICAg
ICAgIFVwZGF0ZSBDb29raWVSZXF1ZXN0SGVhZGVyRmlsZWRQcm94eSBkZWNvZGVyIHRvIHVzZSBh
biBPcHRpb25hbDxTZXNzaW9uSUQ+LgorICAgICAgICBVcGRhdGUgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhIGFjY29yZGluZ2x5LgorICAgICAgICBVcGRhdGUgUmVnaXN0cmF0aW9uU3RvcmUvUmVn
aXN0cmF0aW9uRGF0YWJhc2UgdG8gc3RvcmUgYSBtYXAgb2YgY2hhbmdlZCByZWdpc3RyYXRpb24g
YXMgZm9sbG93czoKKyAgICAgICAgLSBUaGUgUmVnaXN0cmF0aW9uU3RvcmUgbWFwIGNvbnRhaW5z
IGFuIE9wdGlvbmFsIHZhbHVlLiBJbiBjYXNlIG9mIHJlbW92aW5nLCB0aGUgbWFwIHdpbGwgY29u
dGFpbiBXVEY6Om51bGxvcHQuCisgICAgICAgIC0gUmVnaXN0cmF0aW9uRGF0YWJhc2UgY29tcHV0
ZXMgdHdvIHZlY3RvcnMgZm9yIHJlbW92ZWQgcmVnaXN0cmF0aW9ucyBhbmQgdXBkYXRlZCByZWdp
c3RyYXRpb25zLgorCisgICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgICogbG9hZGVyL0Nvb2tpZUphci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb29raWVKYXI6OmNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eTo6ZGVj
b2RlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRh
YmFzZTo6cHVzaENoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uRGF0YWJh
c2U6OmRvUHVzaENoYW5nZXMpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVn
aXN0cmF0aW9uRGF0YWJhc2UuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvblN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvblN0b3Jl
OjpwdXNoQ2hhbmdlc1RvRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9u
U3RvcmU6OmNsZWFyQWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvblN0b3JlOjpm
bHVzaENoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uU3RvcmU6OnN0YXJ0
U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25TdG9yZTo6cmVtb3Zl
UmVnaXN0cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJh
dGlvblN0b3JlLmg6CisKIDIwMTktMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1ha2UgcHJpdmF0ZUJyb3dzaW5nU3RhdGVEaWRDaGFuZ2UgdGFrZSBh
biBleHBsaWNpdCBTZXNzaW9uSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGZkNTQwZTEyNDg3YzZj
YTBlYzIyNTExZWMwNjMzNDRmYzA4MzIwMTQuLmQ2NzkzZGEzNmZhNDM5Nzk0YWMwZmM0YTUzMTJl
Y2ZkZDM4MDA3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTA4
LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUg
U2Vzc2lvbklEIGRlZmF1bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDY2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcGFsL1Nlc3Npb25JRC5oOgorCiAyMDE5LTA4LTEzICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBGYWlsIGRlY29kaW5n
IGFuIGludmFsaWQgU2Vzc2lvbklECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdmZWUxN2FkMDNiNGQyZDg0MTc4ZjAy
ZDYzM2Y2MTZlOGI2NWI4YjguLjVhYzI4Y2Q0YjdjNTgyMmFjMzFiNzA1NTc5MjVkODkwOGY0ZWE1
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDgtMTMgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBTZXNzaW9uSUQgZGVmYXVsdCBj
b25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAwNjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIElQQyBkZWNvZGVyIHRvIHVzZSBhbiBPcHRpb25hbDxTZXNzaW9uSUQ+LgorICAg
ICAgICBVcGRhdGUgUGFnZUNvbmZpZ3VyYXRpb24gdG8gdXNlIGVtcHR5U2Vzc2lvbklEIGluc3Rl
YWQgb2YgZGVmYXVsdCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQ
SVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246
OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OnNl
c3Npb25JRCk6IERlbGV0ZWQuCisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpzZXRT
ZXNzaW9uSUQpOiBEZWxldGVkLgorCiAyMDE5LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdlYlNXT3JpZ2luU3RvcmU6Om1fd2ViU1dTZXJ2
ZXJDb25uZWN0aW9ucyBhIFdlYWtIYXNoU2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL1Nlc3Npb25JRC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9uSUQuaApp
bmRleCAyMTI5MDIyM2I4Mzg0Njk1ZGExMjIwNWQ5NWY1YzI5ZTU5NzE2ZDEwLi4zOGQxYTdmYWZj
YWY4N2UxNjIwODY1NTRiMDUxYzdhNDg4ZDBiOTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL1Nlc3Npb25JRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvU2Vzc2lv
bklELmgKQEAgLTMyLDExICszMiw2IEBAIG5hbWVzcGFjZSBQQUwgewogCiBjbGFzcyBTZXNzaW9u
SUQgewogcHVibGljOgotICAgIFNlc3Npb25JRCgpCi0gICAgICAgIDogU2Vzc2lvbklEKGVtcHR5
U2Vzc2lvbklEKCkpCi0gICAgewotICAgIH0KLQogICAgIGVudW0gU2Vzc2lvbkNvbnN0YW50cyA6
IHVpbnQ2NF90IHsKICAgICAgICAgRXBoZW1lcmFsU2Vzc2lvbk1hc2sgICAgPSAweDgwMDAwMDAw
MDAwMDAwMDAsCiAgICAgICAgIERlZmF1bHRTZXNzaW9uSUQgICAgICAgID0gMSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCmluZGV4IDQzYzA5YTRhY2M3YWEyYjBmNGRlMjA4NDk4NWMzZGE3ZmQxMTNm
OTIuLmUyYjE0NGQ1NjdkNzk2NjJlOThmNzRiYzUxZTkyNDExNmNjNmQ1NmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtNTYwLDYgKzU2MCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFt
ZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2ln
CiAgICAgLCBtX2lzU3ludGhlc2l6ZWQoY29uc3RydWN0aW9uRmxhZ3MgJiBTeW50aGVzaXplZCkK
ICAgICAsIG1faXNOb25SZW5kZXJlZFBsYWNlaG9sZGVyKGNvbnN0cnVjdGlvbkZsYWdzICYgTm9u
UmVuZGVyZWRQbGFjZWhvbGRlcikKICAgICAsIG1fb3JpZW50YXRpb25Ob3RpZmllcihjdXJyZW50
T3JpZW50YXRpb24oZnJhbWUpKQorICAgICwgbV9zZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQ6OmVt
cHR5U2Vzc2lvbklEKCkpCiAgICAgLCBtX2lkZW50aWZpZXIoRG9jdW1lbnRJZGVudGlmaWVyOjpn
ZW5lcmF0ZSgpKQogICAgICwgbV91bmRvTWFuYWdlcihVbmRvTWFuYWdlcjo6Y3JlYXRlKCp0aGlz
KSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Nvb2tpZUphci5jcHAKaW5kZXggMzNlMjc4NjM4MzY1Njkw
ZDE2ZDcyYjNkN2I1YmUwYmUyMDg1YjZjOS4uNjk2MzAzMzBiNWQ3OTMwZDdkN2FhZjFkZGI0YTg5
ZGZiNjBkZGRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nvb2tpZUphci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nvb2tpZUphci5jcHAKQEAgLTk0LDE3ICs5
NCwxNCBAQCBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eSBDb29raWVKYXI6OmNvb2tpZVJl
cXVlc3RIZWFkZXJGaWVsZFByb3h5KGNvbnN0IERvYwogewogICAgIFRyYWNlU2NvcGUgc2NvcGUo
RmV0Y2hDb29raWVzU3RhcnQsIEZldGNoQ29va2llc0VuZCk7CiAKLSAgICBDb29raWVSZXF1ZXN0
SGVhZGVyRmllbGRQcm94eSBwcm94eTsKLSAgICBwcm94eS5zZXNzaW9uSUQgPSBkb2N1bWVudC5z
ZXNzaW9uSUQoKTsKLSAgICBwcm94eS5maXJzdFBhcnR5ID0gZG9jdW1lbnQuZmlyc3RQYXJ0eUZv
ckNvb2tpZXMoKTsKLSAgICBwcm94eS5zYW1lU2l0ZUluZm8gPSBzYW1lU2l0ZUluZm8oZG9jdW1l
bnQpOwotICAgIHByb3h5LnVybCA9IHVybDsKLSAgICBwcm94eS5pbmNsdWRlU2VjdXJlQ29va2ll
cyA9IHNob3VsZEluY2x1ZGVTZWN1cmVDb29raWVzKGRvY3VtZW50LCB1cmwpOworICAgIE9wdGlv
bmFsPHVpbnQ2NF90PiBmcmFtZUlEOworICAgIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVyPiBwYWdl
SUQ7CiAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkgewotICAgICAgICBw
cm94eS5mcmFtZUlEID0gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLmZyYW1lSUQoKTsKLSAgICAg
ICAgcHJveHkucGFnZUlEID0gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLnBhZ2VJRCgpOworICAg
ICAgICBmcmFtZUlEID0gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLmZyYW1lSUQoKTsKKyAgICAg
ICAgcGFnZUlEID0gZnJhbWUtPmxvYWRlcigpLmNsaWVudCgpLnBhZ2VJRCgpOwogICAgIH0KLSAg
ICByZXR1cm4gcHJveHk7CisKKyAgICByZXR1cm4geyBkb2N1bWVudC5zZXNzaW9uSUQoKSwgZG9j
dW1lbnQuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKSwgc2FtZVNpdGVJbmZvKGRvY3VtZW50KSwgdXJs
LCBmcmFtZUlELCBwYWdlSUQsIHNob3VsZEluY2x1ZGVTZWN1cmVDb29raWVzKGRvY3VtZW50LCB1
cmwpIH07CiB9CiAKIHZvaWQgQ29va2llSmFyOjpzZXRDb29raWVzKERvY3VtZW50JiBkb2N1bWVu
dCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY29va2llU3RyaW5nKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Db29raWVSZXF1ZXN0SGVhZGVyRmll
bGRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Db29raWVSZXF1ZXN0
SGVhZGVyRmllbGRQcm94eS5oCmluZGV4IGE2ZjgzNjY0Y2IwMTk3MjQ1YWViN2JjOGYwNDA5ZjRl
YmJlYjBlYjIuLmEzMzAxOWY5ZDViMmFlZDI2MDc0NjY5NDAxZmQ3MzIyZjAyZDUxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ29va2llUmVxdWVzdEhlYWRl
ckZpZWxkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tp
ZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5LmgKQEAgLTYxLDI1ICs2MSwzNyBAQCB2b2lkIENvb2tp
ZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QK
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBPcHRpb25hbDxDb29raWVSZXF1ZXN0SGVhZGVyRmll
bGRQcm94eT4gQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHk6OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQogewotICAgIENvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5IHJlc3VsdDsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zZXNzaW9uSUQpKQotICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZpcnN0UGFydHkp
KQorICAgIE9wdGlvbmFsPFBBTDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQ7CisgICAgZGVjb2RlciA+
PiBzZXNzaW9uSUQ7CisgICAgaWYgKCFzZXNzaW9uSUQpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBVUkwgZmlyc3RQYXJ0eTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZpcnN0UGFydHkp
KQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LnNhbWVTaXRlSW5mbykpCisKKyAgICBTYW1lU2l0ZUluZm8gc2FtZVNpdGVJbmZvOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2FtZVNpdGVJbmZvKSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC51cmwpKQorCisgICAg
VVJMIHVybDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybCkpCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuZnJhbWVJRCkpCisK
KyAgICBPcHRpb25hbDx1aW50NjRfdD4gZnJhbWVJRDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGZyYW1lSUQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgT3B0aW9uYWw8
T3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+PiBwYWdlSUQ7CiAgICAgZGVjb2RlciA+PiBwYWdlSUQ7
CiAgICAgaWYgKCFwYWdlSUQpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmVz
dWx0LnBhZ2VJRCA9ICpwYWdlSUQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaW5j
bHVkZVNlY3VyZUNvb2tpZXMpKQorCisgICAgSW5jbHVkZVNlY3VyZUNvb2tpZXMgaW5jbHVkZVNl
Y3VyZUNvb2tpZXM7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbmNsdWRlU2VjdXJlQ29va2ll
cykpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKwor
ICAgIHJldHVybiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eSB7ICpzZXNzaW9uSUQsIFdU
Rk1vdmUoZmlyc3RQYXJ0eSksIFdURk1vdmUoc2FtZVNpdGVJbmZvKSwgV1RGTW92ZSh1cmwpLCBm
cmFtZUlELCAqcGFnZUlELCBpbmNsdWRlU2VjdXJlQ29va2llcyB9OwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggZWQyNWJmZjczYWMz
YTlmMjc0NTU4OTU3YTkyY2E4ZWI0OWZmOWY0Yy4uYzFhZDIxZjhhNmUzMDM4MDdiNjIzY2QwMjcw
ZThiNTkwMzFiYTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTgyLDcgKzE4
Miw3IEBAIHZvaWQgV29ya2VyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlCiB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNo
ZWQoKQogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0g
ICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEID0gY29udGV4dCA/IGNvbnRleHQtPnNlc3Npb25J
RCgpIDogUEFMOjpTZXNzaW9uSUQoKTsKKyAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQgPSBj
b250ZXh0ID8gY29udGV4dC0+c2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZW1wdHlTZXNz
aW9uSUQoKTsKIAogICAgIGlmIChtX3NjcmlwdExvYWRlci0+ZmFpbGVkKCkgfHwgIXNlc3Npb25J
RC5pc1ZhbGlkKCkpCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFi
bGU6OlllcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oCmluZGV4IGJlODY4ZTAxZjYzMGFjODBjMjk4Mzhm
Y2QwMTdhZTFmMWJhYmQ1ODQuLjc4MjUyMTRjNThiNThmMDllMmNlNzg0ZDBmZTc0YjUxOTU5YjYx
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmgKQEAgLTQwLDcgKzQwLDYgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSB7Ci0KICAgICBzdHJ1Y3Qg
SW1wb3J0ZWRTY3JpcHQgewogICAgICAgICBTdHJpbmcgc2NyaXB0OwogICAgICAgICBVUkwgcmVz
cG9uc2VVUkw7CkBAIC0xMzIsOCArMTMxLDkgQEAgT3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRl
eHREYXRhPiBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OmRlY29kZShEZWNvZGVyJiBkZWMKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh3b3JrZXJUeXBlKSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAotICAgIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRDsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHNlc3Npb25JRCkpCisgICAgT3B0aW9uYWw8UEFMOjpTZXNzaW9uSUQ+IHNl
c3Npb25JRDsKKyAgICBkZWNvZGVyID4+IHNlc3Npb25JRDsKKyAgICBpZiAoIXNlc3Npb25JRCkK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIGJvb2wgbG9hZGVkRnJvbURpc2s7
CkBAIC0xNDQsNyArMTQ0LDcgQEAgT3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OmRlY29kZShEZWNvZGVyJiBkZWMKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHNjcmlwdFJlc291cmNlTWFwKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIAotICAgIHJldHVybiB7eyBXVEZNb3ZlKCpqb2JEYXRhSWRlbnRpZmllciksIFdURk1v
dmUoKnJlZ2lzdHJhdGlvbiksIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSwgV1RG
TW92ZShzY3JpcHQpLCBXVEZNb3ZlKGNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUocmVm
ZXJyZXJQb2xpY3kpLCBXVEZNb3ZlKHNjcmlwdFVSTCksIHdvcmtlclR5cGUsIHNlc3Npb25JRCwg
bG9hZGVkRnJvbURpc2ssIFdURk1vdmUoc2NyaXB0UmVzb3VyY2VNYXApIH19OworICAgIHJldHVy
biB7eyBXVEZNb3ZlKCpqb2JEYXRhSWRlbnRpZmllciksIFdURk1vdmUoKnJlZ2lzdHJhdGlvbiks
IFdURk1vdmUoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSwgV1RGTW92ZShzY3JpcHQpLCBXVEZN
b3ZlKGNvbnRlbnRTZWN1cml0eVBvbGljeSksIFdURk1vdmUocmVmZXJyZXJQb2xpY3kpLCBXVEZN
b3ZlKHNjcmlwdFVSTCksIHdvcmtlclR5cGUsICpzZXNzaW9uSUQsIGxvYWRlZEZyb21EaXNrLCBX
VEZNb3ZlKHNjcmlwdFJlc291cmNlTWFwKSB9fTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcAppbmRleCAxYzc4MzEyYzg1NDgyZjk4NjlhNWZj
MGM2ZDJjYzZjNmZkZmMxMGEwLi4xZGQzNDEzNzRjNDQ0NWEzNDk3MzJkNDRmZGVkMTU0Nzc0ODFj
MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvbkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcApAQCAtMjczLDEwICsyNzMsMTkgQEAg
c3RhdGljIE9wdGlvbmFsPFdvcmtlclR5cGU+IHN0cmluZ1RvV29ya2VyVHlwZShjb25zdCBTdHJp
bmcmIHR5cGUpCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotdm9pZCBSZWdpc3RyYXRp
b25EYXRhYmFzZTo6cHVzaENoYW5nZXMoVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4m
JiBkYXRhcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
dm9pZCBSZWdpc3RyYXRpb25EYXRhYmFzZTo6cHVzaENoYW5nZXMoY29uc3QgSGFzaE1hcDxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERh
dGE+PiYgY2hhbmdlZFJlZ2lzdHJhdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBwb3N0VGFza1RvV29ya1F1ZXVlKFt0aGlzLCBkYXRh
cyA9IGNyb3NzVGhyZWFkQ29weShkYXRhcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7Ci0gICAgICAgIGRvUHVzaENoYW5nZXMoV1RG
TW92ZShkYXRhcykpOworICAgIFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IHVwZGF0
ZWRSZWdpc3RyYXRpb25zOworICAgIFZlY3RvcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
PiByZW1vdmVkUmVnaXN0cmF0aW9uczsKKyAgICBmb3IgKGF1dG8mIGtleVZhbHVlIDogY2hhbmdl
ZFJlZ2lzdHJhdGlvbnMpIHsKKyAgICAgICAgaWYgKGtleVZhbHVlLnZhbHVlKQorICAgICAgICAg
ICAgdXBkYXRlZFJlZ2lzdHJhdGlvbnMuYXBwZW5kKGtleVZhbHVlLnZhbHVlLT5pc29sYXRlZENv
cHkoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlbW92ZWRSZWdpc3RyYXRpb25zLmFw
cGVuZChrZXlWYWx1ZS5rZXkuaXNvbGF0ZWRDb3B5KCkpOworICAgIH0KKworICAgIHBvc3RUYXNr
VG9Xb3JrUXVldWUoW3RoaXMsIHVwZGF0ZWRSZWdpc3RyYXRpb25zID0gV1RGTW92ZSh1cGRhdGVk
UmVnaXN0cmF0aW9ucyksIHJlbW92ZWRSZWdpc3RyYXRpb25zID0gV1RGTW92ZShyZW1vdmVkUmVn
aXN0cmF0aW9ucyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKCkgbXV0YWJsZSB7CisgICAgICAgIGRvUHVzaENoYW5nZXModXBkYXRlZFJlZ2lzdHJhdGlv
bnMsIHJlbW92ZWRSZWdpc3RyYXRpb25zKTsKIAogICAgICAgICBpZiAoIWNvbXBsZXRpb25IYW5k
bGVyKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzA1LDcgKzMxNCw3IEBAIHZvaWQgUmVnaXN0
cmF0aW9uRGF0YWJhc2U6OmNsZWFyQWxsKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlCiAgICAgfSk7CiB9CiAKLXZvaWQgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRv
UHVzaENoYW5nZXMoVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJiBkYXRhcykKK3Zv
aWQgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoY29uc3QgVmVjdG9yPFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YT4mIHVwZGF0ZWRSZWdpc3RyYXRpb25zLCBjb25zdCBWZWN0b3I8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleT4mIHJlbW92ZWRSZWdpc3RyYXRpb25zKQogewog
ICAgIGlmICghbV9kYXRhYmFzZSkgewogICAgICAgICBvcGVuU1FMaXRlRGF0YWJhc2UobV9kYXRh
YmFzZUZpbGVQYXRoKTsKQEAgLTMyMiwxOSArMzMxLDE3IEBAIHZvaWQgUmVnaXN0cmF0aW9uRGF0
YWJhc2U6OmRvUHVzaENoYW5nZXMoVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJiBk
YXRhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmb3IgKGF1dG8mIGRhdGEgOiBkYXRh
cykgewotICAgICAgICBpZiAoZGF0YS5yZWdpc3RyYXRpb24uaWRlbnRpZmllciA9PSBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSB7Ci0gICAgICAgICAgICBTUUxpdGVTdGF0
ZW1lbnQgc3FsKCptX2RhdGFiYXNlLCAiREVMRVRFIEZST00gUmVjb3JkcyBXSEVSRSBrZXkgPSA/
Iik7Ci0gICAgICAgICAgICBpZiAoc3FsLnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKLSAgICAgICAg
ICAgICAgICB8fCBzcWwuYmluZFRleHQoMSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvRGF0YWJh
c2VLZXkoKSkgIT0gU1FMSVRFX09LCi0gICAgICAgICAgICAgICAgfHwgc3FsLnN0ZXAoKSAhPSBT
UUxJVEVfRE9ORSkgewotICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFNlcnZpY2VX
b3JrZXIsICJGYWlsZWQgdG8gcmVtb3ZlIHJlZ2lzdHJhdGlvbiBkYXRhIGZyb20gcmVjb3JkcyB0
YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+bGFz
dEVycm9yTXNnKCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgY29udGludWU7CisgICAgZm9yIChhdXRvJiByZWdpc3RyYXRpb24gOiByZW1v
dmVkUmVnaXN0cmF0aW9ucykgeworICAgICAgICBTUUxpdGVTdGF0ZW1lbnQgc3FsKCptX2RhdGFi
YXNlLCAiREVMRVRFIEZST00gUmVjb3JkcyBXSEVSRSBrZXkgPSA/Iik7CisgICAgICAgIGlmIChz
cWwucHJlcGFyZSgpICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwgc3FsLmJpbmRUZXh0KDEs
IHJlZ2lzdHJhdGlvbi50b0RhdGFiYXNlS2V5KCkpICE9IFNRTElURV9PSworICAgICAgICAgICAg
fHwgc3FsLnN0ZXAoKSAhPSBTUUxJVEVfRE9ORSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoU2VydmljZVdvcmtlciwgIkZhaWxlZCB0byByZW1vdmUgcmVnaXN0cmF0aW9uIGRhdGEg
ZnJvbSByZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIG1fZGF0YWJhc2UtPmxhc3RFcnJvcigpLCBt
X2RhdGFiYXNlLT5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KKyAgICB9CiAKKyAgICBmb3IgKGF1dG8mIGRhdGEgOiB1cGRhdGVkUmVnaXN0cmF0aW9ucykg
ewogICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpFbmNvZGVyIGNzcEVuY29kZXI7CiAgICAgICAg
IGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LmVuY29kZShjc3BFbmNvZGVyKTsKIApAQCAtMzYx
LDcgKzM2OCw3IEBAIHZvaWQgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmRvUHVzaENoYW5nZXMoVmVj
dG9yPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJiBkYXRhCiAKICAgICB0cmFuc2FjdGlvbi5j
b21taXQoKTsKIAotICAgIExPRyhTZXJ2aWNlV29ya2VyLCAiUHVzaGVkICV6dSBjaGFuZ2VzIHRv
IFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlIiwgZGF0YXMuc2l6ZSgpKTsKKyAg
ICBMT0coU2VydmljZVdvcmtlciwgIlVwZGF0ZWQgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb24g
ZGF0YWJhc2UgKCV6dSBhZGRlZC91cGRhdGVkIHJlZ2lzdHJhdGlvbnMgYW5kICV6dSByZW1vdmVk
IHJlZ2lzdHJhdGlvbnMiLCB1cGRhdGVkUmVnaXN0cmF0aW9ucy5zaXplKCksIHJlbW92ZWRSZWdp
c3RyYXRpb25zLnNpemUoKSk7CiB9CiAKIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFzZTo6aW1w
b3J0UmVjb3JkcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmgKaW5kZXggZmY1MzY3YjIzMTdiY2Y2
MWIwMTBkM2JlZmQ2MzE4MTYwYTk1OGM3Ny4uODk0YWQ1YzRjMzEwYTJlYjUzNjRiMWNkODY2Y2Uz
MDZlYmJlMmJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuaApAQCAtMjgsNiArMjgsNyBAQAog
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CisjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oIgogI2luY2x1ZGUgPHBh
bC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNTIsOCArNTMsNyBAQCBwdWJsaWM6CiAKICAgICB+
UmVnaXN0cmF0aW9uRGF0YWJhc2UoKTsKIAotCi0gICAgdm9pZCBwdXNoQ2hhbmdlcyhWZWN0b3I8
U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
OworICAgIHZvaWQgcHVzaENoYW5nZXMoY29uc3QgSGFzaE1hcDxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5LCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+PiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBjbGVhckFsbChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogICAgIHZvaWQgY2xvc2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKIApAQCAtNjcsNyArNjcsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBlbnN1cmVWYWxpZFJl
Y29yZHNUYWJsZSgpOwogICAgIFN0cmluZyBpbXBvcnRSZWNvcmRzKCk7CiAgICAgdm9pZCBpbXBv
cnRSZWNvcmRzSWZOZWNlc3NhcnkoKTsKLSAgICB2b2lkIGRvUHVzaENoYW5nZXMoVmVjdG9yPFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJik7CisgICAgdm9pZCBkb1B1c2hDaGFuZ2VzKGNvbnN0
IFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JiwgY29uc3QgVmVjdG9yPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXk+Jik7CiAgICAgdm9pZCBkb0NsZWFyT3JpZ2luKGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJik7CiAKICAgICAvLyBSZXBsaWVzIHRvIHRoZSBtYWluIHRocmVhZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25TdG9yZS5jcHAKaW5kZXggMjgwNTVjNjRiZjJlMzRhZTllZjcwZDQ0ZmFkNDRjMDM1
OWU3MWQ2Ni4uMGJhODg3MTlmMzRmNGFjYWJhMjkxZmQyYTQzYjNlYjQwMTYxNDM4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25T
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25TdG9yZS5jcHAKQEAgLTUwLDIzICs1MCwxOCBAQCB2b2lkIFJlZ2lzdHJhdGlvblN0
b3JlOjpzY2hlZHVsZURhdGFiYXNlUHVzaElmTmVjZXNzYXJ5KCkKICAgICBtX2RhdGFiYXNlUHVz
aFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCi12b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpw
dXNoQ2hhbmdlc1RvRGF0YWJhc2UoV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpwdXNoQ2hhbmdlc1RvRGF0
YWJhc2UoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIGlmIChtX2lzU3VzcGVuZGVkKSB7CiAgICAgICAgIG1fbmVlZHNQdXNoaW5nQ2hhbmdlcyA9
IHRydWU7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBWZWN0b3I8U2VydmljZVdvcmtl
ckNvbnRleHREYXRhPiBjaGFuZ2VzVG9QdXNoOwotICAgIGNoYW5nZXNUb1B1c2gucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLnNpemUoKSk7Ci0gICAgZm9yIChh
dXRvJiB2YWx1ZSA6IG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMudmFsdWVzKCkpCi0gICAgICAgIGNo
YW5nZXNUb1B1c2gudW5jaGVja2VkQXBwZW5kKFdURk1vdmUodmFsdWUpKTsKLQorICAgIG1fZGF0
YWJhc2UtPnB1c2hDaGFuZ2VzKG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKICAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLmNsZWFyKCk7Ci0gICAg
bV9kYXRhYmFzZS0+cHVzaENoYW5nZXMoV1RGTW92ZShjaGFuZ2VzVG9QdXNoKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpjbGVhckFs
bChXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3Zv
aWQgUmVnaXN0cmF0aW9uU3RvcmU6OmNsZWFyQWxsKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX25lZWRzUHVzaGluZ0NoYW5nZXMgPSBmYWxz
ZTsKICAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLmNsZWFyKCk7CkBAIC03NCw3ICs2OSw3IEBA
IHZvaWQgUmVnaXN0cmF0aW9uU3RvcmU6OmNsZWFyQWxsKFdURjo6Q29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kCiAgICAgbV9kYXRhYmFzZS0+Y2xlYXJBbGwoV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpmbHVz
aENoYW5nZXMoV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpmbHVzaENoYW5nZXMoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChtX2RhdGFiYXNlUHVz
aFRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgcHVzaENoYW5nZXNUb0RhdGFiYXNlKFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKQEAgLTg0LDcgKzc5LDcgQEAgdm9pZCBSZWdpc3RyYXRp
b25TdG9yZTo6Zmx1c2hDaGFuZ2VzKFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb24KICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCi12b2lkIFJlZ2lzdHJhdGlv
blN0b3JlOjpzdGFydFN1c3BlbnNpb24oV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpzdGFydFN1c3BlbnNp
b24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IG1faXNTdXNwZW5kZWQgPSB0cnVlOwogICAgIGNsb3NlRGF0YWJhc2UoV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwpAQCAtMTIwLDkgKzExNSw3IEBAIHZvaWQgUmVnaXN0cmF0aW9uU3RvcmU6
OnJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBr
CiAgICAgaWYgKGtleS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSBjb250ZXh0RGF0YTsKLSAgICBjb250ZXh0RGF0YS5yZWdpc3RyYXRp
b24ua2V5ID0ga2V5OwotICAgIG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2V0KGtleSwgV1RGTW92
ZShjb250ZXh0RGF0YSkpOworICAgIG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2V0KGtleSwgV1RG
OjpudWxsb3B0KTsKICAgICBzY2hlZHVsZURhdGFiYXNlUHVzaElmTmVjZXNzYXJ5KCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0
cmF0aW9uU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVn
aXN0cmF0aW9uU3RvcmUuaAppbmRleCA1ZGQ3YjJlZGEyNGRlYTNiZmU3MmMzMjNkMmI0OGExOGQ5
ODY2Zjc2Li43NTQzZWMxM2IzZGNmNzEwOGI0MjExZDY2ZTAxYzg3NzAwN2NlOTc4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0
b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3Ry
YXRpb25TdG9yZS5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFNXU2VydmVyUmVnaXN0cmF0aW9u
OwogY2xhc3MgUmVnaXN0cmF0aW9uU3RvcmUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UmVnaXN0
cmF0aW9uU3RvcmU+IHsKIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4
cGxpY2l0IFJlZ2lzdHJhdGlvblN0b3JlKFNXU2VydmVyJiwgU3RyaW5nJiYgZGF0YWJhc2VEaXJl
Y3RvcnkpOworICAgIFJlZ2lzdHJhdGlvblN0b3JlKFNXU2VydmVyJiwgU3RyaW5nJiYgZGF0YWJh
c2VEaXJlY3RvcnkpOwogICAgIH5SZWdpc3RyYXRpb25TdG9yZSgpOwogCiAgICAgdm9pZCBjbGVh
ckFsbChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAtNjgsMTMgKzY4LDEzIEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlRGF0YWJhc2VQdXNoSWZOZWNlc3Nh
cnkoKTsKLSAgICB2b2lkIHB1c2hDaGFuZ2VzVG9EYXRhYmFzZShXVEY6OkNvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBwdXNoQ2hhbmdlc1RvRGF0YWJhc2UoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHB1c2hDaGFuZ2VzVG9EYXRhYmFzZSgpIHsg
cHVzaENoYW5nZXNUb0RhdGFiYXNlKHsgfSk7IH0KIAogICAgIFNXU2VydmVyJiBtX3NlcnZlcjsK
ICAgICBSZWY8UmVnaXN0cmF0aW9uRGF0YWJhc2U+IG1fZGF0YWJhc2U7CiAKLSAgICBIYXNoTWFw
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXksIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4g
bV91cGRhdGVkUmVnaXN0cmF0aW9uczsKKyAgICBIYXNoTWFwPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25LZXksIE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4+IG1fdXBkYXRlZFJl
Z2lzdHJhdGlvbnM7CiAgICAgVGltZXIgbV9kYXRhYmFzZVB1c2hUaW1lcjsKIAogICAgIGJvb2wg
bV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CmluZGV4IDM1MTRjYzBmMDgzYzdlYWM1ZDFkODYxM2EwZWZhNWU3MmU4ODc3OWQuLjAwYTA3Njhk
YjNjNmZkZjJlNjliYWU3MWI2ZDdlYjIwODMzNmMxMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnMuY3BwCkBAIC05NCw4ICs5NCw5IEBAIHZvaWQgTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIE9wdGlv
bmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKLSAgICBQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShzZXNzaW9uSUQp
KQorICAgIE9wdGlvbmFsPFBBTDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQ7CisgICAgZGVjb2RlciA+
PiBzZXNzaW9uSUQ7CisgICAgaWYgKCFzZXNzaW9uSUQpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAgICAgCiAgICAgT3B0aW9uYWw8U3RyaW5nPiBib3VuZEludGVyZmFjZUlkZW50aWZp
ZXI7CkBAIC0yMzksNyArMjQwLDcgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWMKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIHJldHVybiB7ewotICAgICAgICBzZXNzaW9uSUQK
KyAgICAgICAgKnNlc3Npb25JRAogICAgICAgICAsIFdURk1vdmUoKmJvdW5kSW50ZXJmYWNlSWRl
bnRpZmllcikKICAgICAgICAgLCBXVEZNb3ZlKCphbGxvd3NDZWxsdWxhckFjY2VzcykKICNpZiBQ
TEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuaAppbmRleCAzMmUwNDAzMWU3NTkzOTA2NzExYTlkZTAwMWRjZGYyOTcyMzJm
NzFlLi5hOTUxYzYwZmYyOWI4NDhhMjFiYWFjOGZkOTMwODVhYjU3ZjJiMzZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC05Nyw3
ICs5Nyw3IEBAIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBTdHJpbmcg
dXNlckFnZW50OwogCiAgICAgVmVjdG9yPEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZT4gaXRlbVN0
YXRlczsKLSAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQ7CisgICAgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEIHsgUEFMOjpTZXNzaW9uSUQ6OmVtcHR5U2Vzc2lvbklEKCkgfTsKIAogICAgIFVz
ZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXIgdXNlckNvbnRlbnRDb250cm9sbGVySUQ7CiAg
ICAgdWludDY0X3QgdmlzaXRlZExpbmtUYWJsZUlEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKaW5kZXggMDY1MTIxYzAwYzQ0
Y2I1ZWY0ZmExZjlkMzU1ZWQyOWM1NGYyZjA0OC4uZTQwMTlhYjAxOTRiMTI3ZmNmMjMxNTI3NTg5
OWMzOGM3YzU3ZTY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVBhZ2VDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC00OSw2ICs0OSw3IEBAIFJlZjxQYWdlQ29uZmln
dXJhdGlvbj4gUGFnZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSgpCiB9CiAKIFBhZ2VDb25maWd1cmF0
aW9uOjpQYWdlQ29uZmlndXJhdGlvbigpCisgICAgOiBtX3Nlc3Npb25JRChQQUw6OlNlc3Npb25J
RDo6ZW1wdHlTZXNzaW9uSUQoKSkKIHsKIH0KIApAQCAtMTY0LDcgKzE2NSw3IEBAIHZvaWQgUGFn
ZUNvbmZpZ3VyYXRpb246OnNldFdlYnNpdGVEYXRhU3RvcmUoQVBJOjpXZWJzaXRlRGF0YVN0b3Jl
KiB3ZWJzaXRlRGF0YVN0CiAgICAgaWYgKG1fd2Vic2l0ZURhdGFTdG9yZSkKICAgICAgICAgbV9z
ZXNzaW9uSUQgPSBtX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXNzaW9u
SUQoKTsKICAgICBlbHNlCi0gICAgICAgIG1fc2Vzc2lvbklEID0gUEFMOjpTZXNzaW9uSUQoKTsK
KyAgICAgICAgbV9zZXNzaW9uSUQgPSBQQUw6OlNlc3Npb25JRDo6ZW1wdHlTZXNzaW9uSUQoKTsK
IH0KIAogV2Vic2l0ZVBvbGljaWVzKiBQYWdlQ29uZmlndXJhdGlvbjo6ZGVmYXVsdFdlYnNpdGVQ
b2xpY2llcygpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376252</attachid>
            <date>2019-08-14 02:37:02 -0700</date>
            <delta_ts>2019-08-14 04:06:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200669-20190814113700.patch</filename>
            <type>text/plain</type>
            <size>22811</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQwMTJhODZlZjZkZTdj
M2E3ZGYzNmY3ZjM2YmEwNzgwMzRmNjM2Ni4uMGQ0MWJhNzAwNWFkNDBiMTdhZDVlYjQ1ZGYxZDM5
NDQ3ZDhhMjM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA4LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU2Vzc2lvbklE
IGRlZmF1bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMDY2OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgUmVtb3ZlIFNlc3Npb25JRCBkZWZhdWx0IGNvbnN0cnVjdG9yCisKKyAg
ICAgICAgVXBkYXRlIENvb2tpZVJlcXVlc3RIZWFkZXJGaWxlZFByb3h5IGRlY29kZXIgdG8gdXNl
IGFuIE9wdGlvbmFsPFNlc3Npb25JRD4uCisgICAgICAgIFVwZGF0ZSBTZXJ2aWNlV29ya2VyQ29u
dGV4dERhdGEgYWNjb3JkaW5nbHkuCisgICAgICAgIFVwZGF0ZSBSZWdpc3RyYXRpb25TdG9yZS9S
ZWdpc3RyYXRpb25EYXRhYmFzZSB0byBzdG9yZSBhIG1hcCBvZiBjaGFuZ2VkIHJlZ2lzdHJhdGlv
biBhcyBmb2xsb3dzOgorICAgICAgICAtIFRoZSBSZWdpc3RyYXRpb25TdG9yZSBtYXAgY29udGFp
bnMgYW4gT3B0aW9uYWwgdmFsdWUuIEluIGNhc2Ugb2YgcmVtb3ZpbmcsIHRoZSBtYXAgd2lsbCBj
b250YWluIFdURjo6bnVsbG9wdC4KKyAgICAgICAgLSBSZWdpc3RyYXRpb25EYXRhYmFzZSBjb21w
dXRlcyB0d28gdmVjdG9ycyBmb3IgcmVtb3ZlZCByZWdpc3RyYXRpb25zIGFuZCB1cGRhdGVkIHJl
Z2lzdHJhdGlvbnMuCisKKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvQ29va2llSmFyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvb2tpZUphcjo6Y29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJv
eHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5Ojpk
ZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGV4dERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJD
b250ZXh0RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRh
dGFiYXNlOjpwdXNoQ2hhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRh
YmFzZTo6ZG9QdXNoQ2hhbmdlcyk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9S
ZWdpc3RyYXRpb25EYXRhYmFzZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
UmVnaXN0cmF0aW9uU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uU3Rv
cmU6OnB1c2hDaGFuZ2VzVG9EYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRp
b25TdG9yZTo6Y2xlYXJBbGwpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uU3RvcmU6
OmZsdXNoQ2hhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25TdG9yZTo6c3Rh
cnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvblN0b3JlOjpyZW1v
dmVSZWdpc3RyYXRpb24pOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0
cmF0aW9uU3RvcmUuaDoKKwogMjAxOS0wOC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBwcml2YXRlQnJvd3NpbmdTdGF0ZURpZENoYW5nZSB0YWtl
IGFuIGV4cGxpY2l0IFNlc3Npb25JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggZmQ1NDBlMTI0ODdj
NmNhMGVjMjI1MTFlYzA2MzM0NGZjMDgzMjAxNC4uYmJlNmY3YmFlNTExZTYzNDBlNzNhYWNhYTZk
ODJhMDZmNjcxZThlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTkt
MDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92
ZSBTZXNzaW9uSUQgZGVmYXVsdCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxl
eCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHBhbC9TZXNzaW9uSUQuaDoKKwogMjAxOS0wOC0x
MyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRmFpbCBkZWNv
ZGluZyBhbiBpbnZhbGlkIFNlc3Npb25JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3ZmVlMTdhZDAzYjRkMmQ4NDE3
OGYwMmQ2MzNmNjE2ZThiNjViOGI4Li42YjViOWQxNzI2NjBjNGIyOTdhMDY2YWFjYjI2MmU3ZGI3
MTIyYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA4LTEzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU2Vzc2lvbklEIGRlZmF1
bHQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMDY2OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisK
KyAgICAgICAgVXBkYXRlIElQQyBkZWNvZGVyIHRvIHVzZSBhbiBPcHRpb25hbDxTZXNzaW9uSUQ+
LgorICAgICAgICBVcGRhdGUgUGFnZUNvbmZpZ3VyYXRpb24gdG8gdXNlIGVtcHR5U2Vzc2lvbklE
IGluc3RlYWQgb2YgZGVmYXVsdCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3Vy
YXRpb246OlBhZ2VDb25maWd1cmF0aW9uKToKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRp
b246OnNlc3Npb25JRCk6IERlbGV0ZWQuCisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9u
OjpzZXRTZXNzaW9uSUQpOiBEZWxldGVkLgorCiAyMDE5LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdlYlNXT3JpZ2luU3RvcmU6Om1fd2Vi
U1dTZXJ2ZXJDb25uZWN0aW9ucyBhIFdlYWtIYXNoU2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL1Nlc3Npb25JRC5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9TZXNzaW9u
SUQuaAppbmRleCAyMTI5MDIyM2I4Mzg0Njk1ZGExMjIwNWQ5NWY1YzI5ZTU5NzE2ZDEwLi4wYmRk
ZGU3YjhlMzNiOTY5MDUxNTc5MTMyMmYwOGRlZjYxY2I1OTAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL1Nlc3Npb25JRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
U2Vzc2lvbklELmgKQEAgLTMyLDEwICszMiw3IEBAIG5hbWVzcGFjZSBQQUwgewogCiBjbGFzcyBT
ZXNzaW9uSUQgewogcHVibGljOgotICAgIFNlc3Npb25JRCgpCi0gICAgICAgIDogU2Vzc2lvbklE
KGVtcHR5U2Vzc2lvbklEKCkpCi0gICAgewotICAgIH0KKyAgICBTZXNzaW9uSUQoKSA9IGRlbGV0
ZTsKIAogICAgIGVudW0gU2Vzc2lvbkNvbnN0YW50cyA6IHVpbnQ2NF90IHsKICAgICAgICAgRXBo
ZW1lcmFsU2Vzc2lvbk1hc2sgICAgPSAweDgwMDAwMDAwMDAwMDAwMDAsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCA0M2MwOWE0YWNjN2FhMmIwZjRkZTIwODQ5ODVjM2RhN2ZkMTEzZjkyLi5l
MmIxNDRkNTY3ZDc5NjYyZTk4Zjc0YmM1MWU5MjQxMTZjYzZkNTZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTU2MCw2ICs1NjAsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZy
YW1lLCBjb25zdCBVUkwmIHVybCwgdW5zaWduZWQgZG9jdW1lbnRDbGFzc2VzLCB1bnNpZwogICAg
ICwgbV9pc1N5bnRoZXNpemVkKGNvbnN0cnVjdGlvbkZsYWdzICYgU3ludGhlc2l6ZWQpCiAgICAg
LCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRlcihjb25zdHJ1Y3Rpb25GbGFncyAmIE5vblJlbmRl
cmVkUGxhY2Vob2xkZXIpCiAgICAgLCBtX29yaWVudGF0aW9uTm90aWZpZXIoY3VycmVudE9yaWVu
dGF0aW9uKGZyYW1lKSkKKyAgICAsIG1fc2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEOjplbXB0eVNl
c3Npb25JRCgpKQogICAgICwgbV9pZGVudGlmaWVyKERvY3VtZW50SWRlbnRpZmllcjo6Z2VuZXJh
dGUoKSkKICAgICAsIG1fdW5kb01hbmFnZXIoVW5kb01hbmFnZXI6OmNyZWF0ZSgqdGhpcykpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCmluZGV4IDMzZTI3ODYzODM2NTY5MGQxNmQ3
MmIzZDdiNWJlMGJlMjA4NWI2YzkuLjY5NjMwMzMwYjVkNzkzMGQ3ZDdhYWYxZGRiNGE4OWRmYjYw
ZGRkY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuY3BwCkBAIC05NCwxNyArOTQsMTQg
QEAgQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkgQ29va2llSmFyOjpjb29raWVSZXF1ZXN0
SGVhZGVyRmllbGRQcm94eShjb25zdCBEb2MKIHsKICAgICBUcmFjZVNjb3BlIHNjb3BlKEZldGNo
Q29va2llc1N0YXJ0LCBGZXRjaENvb2tpZXNFbmQpOwogCi0gICAgQ29va2llUmVxdWVzdEhlYWRl
ckZpZWxkUHJveHkgcHJveHk7Ci0gICAgcHJveHkuc2Vzc2lvbklEID0gZG9jdW1lbnQuc2Vzc2lv
bklEKCk7Ci0gICAgcHJveHkuZmlyc3RQYXJ0eSA9IGRvY3VtZW50LmZpcnN0UGFydHlGb3JDb29r
aWVzKCk7Ci0gICAgcHJveHkuc2FtZVNpdGVJbmZvID0gc2FtZVNpdGVJbmZvKGRvY3VtZW50KTsK
LSAgICBwcm94eS51cmwgPSB1cmw7Ci0gICAgcHJveHkuaW5jbHVkZVNlY3VyZUNvb2tpZXMgPSBz
aG91bGRJbmNsdWRlU2VjdXJlQ29va2llcyhkb2N1bWVudCwgdXJsKTsKKyAgICBPcHRpb25hbDx1
aW50NjRfdD4gZnJhbWVJRDsKKyAgICBPcHRpb25hbDxQYWdlSWRlbnRpZmllcj4gcGFnZUlEOwog
ICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50LmZyYW1lKCkpIHsKLSAgICAgICAgcHJveHku
ZnJhbWVJRCA9IGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5mcmFtZUlEKCk7Ci0gICAgICAgIHBy
b3h5LnBhZ2VJRCA9IGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5wYWdlSUQoKTsKKyAgICAgICAg
ZnJhbWVJRCA9IGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5mcmFtZUlEKCk7CisgICAgICAgIHBh
Z2VJRCA9IGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5wYWdlSUQoKTsKICAgICB9Ci0gICAgcmV0
dXJuIHByb3h5OworCisgICAgcmV0dXJuIHsgZG9jdW1lbnQuc2Vzc2lvbklEKCksIGRvY3VtZW50
LmZpcnN0UGFydHlGb3JDb29raWVzKCksIHNhbWVTaXRlSW5mbyhkb2N1bWVudCksIHVybCwgZnJh
bWVJRCwgcGFnZUlELCBzaG91bGRJbmNsdWRlU2VjdXJlQ29va2llcyhkb2N1bWVudCwgdXJsKSB9
OwogfQogCiB2b2lkIENvb2tpZUphcjo6c2V0Q29va2llcyhEb2N1bWVudCYgZG9jdW1lbnQsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ29va2llUmVxdWVzdEhlYWRl
ckZpZWxkUHJveHkuaAppbmRleCBhNmY4MzY2NGNiMDE5NzI0NWFlYjdiYzhmMDQwOWY0ZWJiZWIw
ZWIyLi5hMzMwMTlmOWQ1YjJhZWQyNjA3NDY2OTQwMWZkNzMyMmYwMmQ1MTU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Nvb2tpZVJlcXVlc3RIZWFkZXJGaWVs
ZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Db29raWVSZXF1
ZXN0SGVhZGVyRmllbGRQcm94eS5oCkBAIC02MSwyNSArNjEsMzcgQEAgdm9pZCBDb29raWVSZXF1
ZXN0SGVhZGVyRmllbGRQcm94eTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPgogT3B0aW9uYWw8Q29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJv
eHk+IENvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFByb3h5OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKIHsKLSAgICBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eSByZXN1bHQ7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2Vzc2lvbklEKSkKLSAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5maXJzdFBhcnR5KSkKKyAg
ICBPcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklEOworICAgIGRlY29kZXIgPj4gc2Vz
c2lvbklEOworICAgIGlmICghc2Vzc2lvbklEKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
VVJMIGZpcnN0UGFydHk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmaXJzdFBhcnR5KSkKICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5zYW1lU2l0ZUluZm8pKQorCisgICAgU2FtZVNpdGVJbmZvIHNhbWVTaXRlSW5mbzsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHNhbWVTaXRlSW5mbykpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudXJsKSkKKworICAgIFVSTCB1
cmw7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwpKQogICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmZyYW1lSUQpKQorCisgICAg
T3B0aW9uYWw8dWludDY0X3Q+IGZyYW1lSUQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmcmFt
ZUlEKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgIE9wdGlvbmFsPE9wdGlv
bmFsPFBhZ2VJZGVudGlmaWVyPj4gcGFnZUlEOwogICAgIGRlY29kZXIgPj4gcGFnZUlEOwogICAg
IGlmICghcGFnZUlEKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIHJlc3VsdC5w
YWdlSUQgPSAqcGFnZUlEOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmluY2x1ZGVT
ZWN1cmVDb29raWVzKSkKKworICAgIEluY2x1ZGVTZWN1cmVDb29raWVzIGluY2x1ZGVTZWN1cmVD
b29raWVzOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaW5jbHVkZVNlY3VyZUNvb2tpZXMpKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIHJldHVybiByZXN1bHQ7CisKKyAgICBy
ZXR1cm4gQ29va2llUmVxdWVzdEhlYWRlckZpZWxkUHJveHkgeyAqc2Vzc2lvbklELCBXVEZNb3Zl
KGZpcnN0UGFydHkpLCBXVEZNb3ZlKHNhbWVTaXRlSW5mbyksIFdURk1vdmUodXJsKSwgZnJhbWVJ
RCwgKnBhZ2VJRCwgaW5jbHVkZVNlY3VyZUNvb2tpZXMgfTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGVkMjViZmY3M2FjM2E5ZjI3
NDU1ODk1N2E5MmNhOGViNDlmZjlmNGMuLmMxYWQyMWY4YTZlMzAzODA3YjYyM2NkMDI3MGU4YjU5
MDMxYmEzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTE4Miw3ICsxODIsNyBA
QCB2b2lkIFdvcmtlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZQogdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkK
IHsKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCA9IGNvbnRleHQgPyBjb250ZXh0LT5zZXNzaW9uSUQoKSA6
IFBBTDo6U2Vzc2lvbklEKCk7CisgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEID0gY29udGV4
dCA/IGNvbnRleHQtPnNlc3Npb25JRCgpIDogUEFMOjpTZXNzaW9uSUQ6OmVtcHR5U2Vzc2lvbklE
KCk7CiAKICAgICBpZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpIHx8ICFzZXNzaW9uSUQuaXNW
YWxpZCgpKQogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpZ
ZXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGV4dERhdGEuaAppbmRleCBiZTg2OGUwMWY2MzBhYzgwYzI5ODM4ZmNkMDE3
YWUxZjFiYWJkNTg0Li43ODI1MjE0YzU4YjU4ZjA5ZTJjZTc4NGQwZmU3NGI1MTk1OWI2MTZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRleHREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YS5oCkBAIC00MCw3ICs0MCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgewotCiAgICAgc3RydWN0IEltcG9y
dGVkU2NyaXB0IHsKICAgICAgICAgU3RyaW5nIHNjcmlwdDsKICAgICAgICAgVVJMIHJlc3BvbnNl
VVJMOwpAQCAtMTMyLDggKzEzMSw5IEBAIE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0
YT4gU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjCiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZUVudW0od29ya2VyVHlwZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKLSAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQ7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZShzZXNzaW9uSUQpKQorICAgIE9wdGlvbmFsPFBBTDo6U2Vzc2lvbklEPiBzZXNzaW9u
SUQ7CisgICAgZGVjb2RlciA+PiBzZXNzaW9uSUQ7CisgICAgaWYgKCFzZXNzaW9uSUQpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBib29sIGxvYWRlZEZyb21EaXNrOwpAQCAt
MTQ0LDcgKzE0NCw3IEBAIE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4gU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShzY3JpcHRSZXNvdXJjZU1hcCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAKLSAgICByZXR1cm4ge3sgV1RGTW92ZSgqam9iRGF0YUlkZW50aWZpZXIpLCBXVEZNb3ZlKCpy
ZWdpc3RyYXRpb24pLCBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VySWRlbnRpZmllciksIFdURk1vdmUo
c2NyaXB0KSwgV1RGTW92ZShjb250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKHJlZmVycmVy
UG9saWN5KSwgV1RGTW92ZShzY3JpcHRVUkwpLCB3b3JrZXJUeXBlLCBzZXNzaW9uSUQsIGxvYWRl
ZEZyb21EaXNrLCBXVEZNb3ZlKHNjcmlwdFJlc291cmNlTWFwKSB9fTsKKyAgICByZXR1cm4ge3sg
V1RGTW92ZSgqam9iRGF0YUlkZW50aWZpZXIpLCBXVEZNb3ZlKCpyZWdpc3RyYXRpb24pLCBXVEZN
b3ZlKCpzZXJ2aWNlV29ya2VySWRlbnRpZmllciksIFdURk1vdmUoc2NyaXB0KSwgV1RGTW92ZShj
b250ZW50U2VjdXJpdHlQb2xpY3kpLCBXVEZNb3ZlKHJlZmVycmVyUG9saWN5KSwgV1RGTW92ZShz
Y3JpcHRVUkwpLCB3b3JrZXJUeXBlLCAqc2Vzc2lvbklELCBsb2FkZWRGcm9tRGlzaywgV1RGTW92
ZShzY3JpcHRSZXNvdXJjZU1hcCkgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9S
ZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXggMWM3ODMxMmM4NTQ4MmY5ODY5YTVmYzBjNmQy
Y2M2YzZmZGZjMTBhMC4uMWRkMzQxMzc0YzQ0NDVhMzQ5NzMyZDQ0ZmRlZDE1NDc3NDgxYzBiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3Ry
YXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKQEAgLTI3MywxMCArMjczLDE5IEBAIHN0YXRp
YyBPcHRpb25hbDxXb3JrZXJUeXBlPiBzdHJpbmdUb1dvcmtlclR5cGUoY29uc3QgU3RyaW5nJiB0
eXBlKQogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLXZvaWQgUmVnaXN0cmF0aW9uRGF0
YWJhc2U6OnB1c2hDaGFuZ2VzKFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JiYgZGF0
YXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
UmVnaXN0cmF0aW9uRGF0YWJhc2U6OnB1c2hDaGFuZ2VzKGNvbnN0IEhhc2hNYXA8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSwgT3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPj4m
IGNoYW5nZWRSZWdpc3RyYXRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgcG9zdFRhc2tUb1dvcmtRdWV1ZShbdGhpcywgZGF0YXMgPSBj
cm9zc1RocmVhZENvcHkoZGF0YXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewotICAgICAgICBkb1B1c2hDaGFuZ2VzKFdURk1vdmUo
ZGF0YXMpKTsKKyAgICBWZWN0b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiB1cGRhdGVkUmVn
aXN0cmF0aW9uczsKKyAgICBWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleT4gcmVt
b3ZlZFJlZ2lzdHJhdGlvbnM7CisgICAgZm9yIChhdXRvJiBrZXlWYWx1ZSA6IGNoYW5nZWRSZWdp
c3RyYXRpb25zKSB7CisgICAgICAgIGlmIChrZXlWYWx1ZS52YWx1ZSkKKyAgICAgICAgICAgIHVw
ZGF0ZWRSZWdpc3RyYXRpb25zLmFwcGVuZChrZXlWYWx1ZS52YWx1ZS0+aXNvbGF0ZWRDb3B5KCkp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICByZW1vdmVkUmVnaXN0cmF0aW9ucy5hcHBlbmQo
a2V5VmFsdWUua2V5Lmlzb2xhdGVkQ29weSgpKTsKKyAgICB9CisKKyAgICBwb3N0VGFza1RvV29y
a1F1ZXVlKFt0aGlzLCB1cGRhdGVkUmVnaXN0cmF0aW9ucyA9IFdURk1vdmUodXBkYXRlZFJlZ2lz
dHJhdGlvbnMpLCByZW1vdmVkUmVnaXN0cmF0aW9ucyA9IFdURk1vdmUocmVtb3ZlZFJlZ2lzdHJh
dGlvbnMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgp
IG11dGFibGUgeworICAgICAgICBkb1B1c2hDaGFuZ2VzKHVwZGF0ZWRSZWdpc3RyYXRpb25zLCBy
ZW1vdmVkUmVnaXN0cmF0aW9ucyk7CiAKICAgICAgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikK
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTMwNSw3ICszMTQsNyBAQCB2b2lkIFJlZ2lzdHJhdGlv
bkRhdGFiYXNlOjpjbGVhckFsbChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlv
bkhhbmRsZQogICAgIH0pOwogfQogCi12b2lkIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hD
aGFuZ2VzKFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JiYgZGF0YXMpCit2b2lkIFJl
Z2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hDaGFuZ2VzKGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGE+JiB1cGRhdGVkUmVnaXN0cmF0aW9ucywgY29uc3QgVmVjdG9yPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25LZXk+JiByZW1vdmVkUmVnaXN0cmF0aW9ucykKIHsKICAgICBp
ZiAoIW1fZGF0YWJhc2UpIHsKICAgICAgICAgb3BlblNRTGl0ZURhdGFiYXNlKG1fZGF0YWJhc2VG
aWxlUGF0aCk7CkBAIC0zMjIsMTkgKzMzMSwxNyBAQCB2b2lkIFJlZ2lzdHJhdGlvbkRhdGFiYXNl
Ojpkb1B1c2hDaGFuZ2VzKFZlY3RvcjxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JiYgZGF0YQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZm9yIChhdXRvJiBkYXRhIDogZGF0YXMpIHsK
LSAgICAgICAgaWYgKGRhdGEucmVnaXN0cmF0aW9uLmlkZW50aWZpZXIgPT0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSkgewotICAgICAgICAgICAgU1FMaXRlU3RhdGVtZW50
IHNxbCgqbV9kYXRhYmFzZSwgIkRFTEVURSBGUk9NIFJlY29yZHMgV0hFUkUga2V5ID0gPyIpOwot
ICAgICAgICAgICAgaWYgKHNxbC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCi0gICAgICAgICAgICAg
ICAgfHwgc3FsLmJpbmRUZXh0KDEsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b0RhdGFiYXNlS2V5
KCkpICE9IFNRTElURV9PSwotICAgICAgICAgICAgICAgIHx8IHNxbC5zdGVwKCkgIT0gU1FMSVRF
X0RPTkUpIHsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2Vy
LCAiRmFpbGVkIHRvIHJlbW92ZSByZWdpc3RyYXRpb24gZGF0YSBmcm9tIHJlY29yZHMgdGFibGUg
KCVpKSAtICVzIiwgbV9kYXRhYmFzZS0+bGFzdEVycm9yKCksIG1fZGF0YWJhc2UtPmxhc3RFcnJv
ck1zZygpKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgIGZvciAoYXV0byYgcmVnaXN0cmF0aW9uIDogcmVtb3ZlZFJl
Z2lzdHJhdGlvbnMpIHsKKyAgICAgICAgU1FMaXRlU3RhdGVtZW50IHNxbCgqbV9kYXRhYmFzZSwg
IkRFTEVURSBGUk9NIFJlY29yZHMgV0hFUkUga2V5ID0gPyIpOworICAgICAgICBpZiAoc3FsLnBy
ZXBhcmUoKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kVGV4dCgxLCByZWdp
c3RyYXRpb24udG9EYXRhYmFzZUtleSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNx
bC5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFNlcnZpY2VXb3JrZXIsICJGYWlsZWQgdG8gcmVtb3ZlIHJlZ2lzdHJhdGlvbiBkYXRhIGZyb20g
cmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLT5sYXN0RXJyb3IoKSwgbV9kYXRh
YmFzZS0+bGFzdEVycm9yTXNnKCkpOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Cisg
ICAgfQogCisgICAgZm9yIChhdXRvJiBkYXRhIDogdXBkYXRlZFJlZ2lzdHJhdGlvbnMpIHsKICAg
ICAgICAgV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciBjc3BFbmNvZGVyOwogICAgICAgICBkYXRh
LmNvbnRlbnRTZWN1cml0eVBvbGljeS5lbmNvZGUoY3NwRW5jb2Rlcik7CiAKQEAgLTM2MSw3ICsz
NjgsNyBAQCB2b2lkIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpkb1B1c2hDaGFuZ2VzKFZlY3RvcjxT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+JiYgZGF0YQogCiAgICAgdHJhbnNhY3Rpb24uY29tbWl0
KCk7CiAKLSAgICBMT0coU2VydmljZVdvcmtlciwgIlB1c2hlZCAlenUgY2hhbmdlcyB0byBTZXJ2
aWNlV29ya2VyIHJlZ2lzdHJhdGlvbiBkYXRhYmFzZSIsIGRhdGFzLnNpemUoKSk7CisgICAgTE9H
KFNlcnZpY2VXb3JrZXIsICJVcGRhdGVkIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFi
YXNlICglenUgYWRkZWQvdXBkYXRlZCByZWdpc3RyYXRpb25zIGFuZCAlenUgcmVtb3ZlZCByZWdp
c3RyYXRpb25zIiwgdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2l6ZSgpLCByZW1vdmVkUmVnaXN0cmF0
aW9ucy5zaXplKCkpOwogfQogCiBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmltcG9ydFJl
Y29yZHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9SZWdpc3RyYXRpb25EYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5oCmluZGV4IGZmNTM2N2IyMzE3YmNmNjFiMDEw
ZDNiZWZkNjMxODE2MGE5NThjNzcuLjg5NGFkNWM0YzMxMGEyZWI1MzY0YjFjZDg2NmNlMzA2ZWJi
ZTJiYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
UmVnaXN0cmF0aW9uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaCIKICNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTUyLDggKzUzLDcgQEAgcHVibGljOgogCiAgICAgflJlZ2lz
dHJhdGlvbkRhdGFiYXNlKCk7CiAKLQotICAgIHZvaWQgcHVzaENoYW5nZXMoVmVjdG9yPFNlcnZp
Y2VXb3JrZXJDb250ZXh0RGF0YT4mJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAg
ICB2b2lkIHB1c2hDaGFuZ2VzKGNvbnN0IEhhc2hNYXA8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleSwgT3B0aW9uYWw8U2VydmljZVdvcmtlckNvbnRleHREYXRhPj4mLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgY2xlYXJBbGwoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIGNsb3NlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAK
QEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgZW5zdXJlVmFsaWRSZWNvcmRz
VGFibGUoKTsKICAgICBTdHJpbmcgaW1wb3J0UmVjb3JkcygpOwogICAgIHZvaWQgaW1wb3J0UmVj
b3Jkc0lmTmVjZXNzYXJ5KCk7Ci0gICAgdm9pZCBkb1B1c2hDaGFuZ2VzKFZlY3RvcjxTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGE+JiYpOworICAgIHZvaWQgZG9QdXNoQ2hhbmdlcyhjb25zdCBWZWN0
b3I8U2VydmljZVdvcmtlckNvbnRleHREYXRhPiYsIGNvbnN0IFZlY3RvcjxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uS2V5PiYpOwogICAgIHZvaWQgZG9DbGVhck9yaWdpbihjb25zdCBTZWN1cml0
eU9yaWdpbiYpOwogCiAgICAgLy8gUmVwbGllcyB0byB0aGUgbWFpbiB0aHJlYWQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0
b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uU3RvcmUuY3BwCmluZGV4IDI4MDU1YzY0YmYyZTM0YWU5ZWY3MGQ0NGZhZDQ0YzAzNTllNzFk
NjYuLjBiYTg4NzE5ZjM0ZjRhY2FiYTI5MWZkMmE0M2IzZWI0MDE2MTQzOGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0
aW9uU3RvcmUuY3BwCkBAIC01MCwyMyArNTAsMTggQEAgdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6
c2NoZWR1bGVEYXRhYmFzZVB1c2hJZk5lY2Vzc2FyeSgpCiAgICAgbV9kYXRhYmFzZVB1c2hUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6cHVzaENo
YW5nZXNUb0RhdGFiYXNlKFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6cHVzaENoYW5nZXNUb0RhdGFiYXNl
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBp
ZiAobV9pc1N1c3BlbmRlZCkgewogICAgICAgICBtX25lZWRzUHVzaGluZ0NoYW5nZXMgPSB0cnVl
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgVmVjdG9yPFNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YT4gY2hhbmdlc1RvUHVzaDsKLSAgICBjaGFuZ2VzVG9QdXNoLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkobV91cGRhdGVkUmVnaXN0cmF0aW9ucy5zaXplKCkpOwotICAgIGZvciAoYXV0byYg
dmFsdWUgOiBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLnZhbHVlcygpKQotICAgICAgICBjaGFuZ2Vz
VG9QdXNoLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKHZhbHVlKSk7Ci0KKyAgICBtX2RhdGFiYXNl
LT5wdXNoQ2hhbmdlcyhtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiAgICAgbV91cGRhdGVkUmVnaXN0cmF0aW9ucy5jbGVhcigpOwotICAgIG1fZGF0
YWJhc2UtPnB1c2hDaGFuZ2VzKFdURk1vdmUoY2hhbmdlc1RvUHVzaCksIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6Y2xlYXJBbGwoV1RG
OjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFJl
Z2lzdHJhdGlvblN0b3JlOjpjbGVhckFsbChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgbV9uZWVkc1B1c2hpbmdDaGFuZ2VzID0gZmFsc2U7CiAg
ICAgbV91cGRhdGVkUmVnaXN0cmF0aW9ucy5jbGVhcigpOwpAQCAtNzQsNyArNjksNyBAQCB2b2lk
IFJlZ2lzdHJhdGlvblN0b3JlOjpjbGVhckFsbChXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZAogICAgIG1fZGF0YWJhc2UtPmNsZWFyQWxsKFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6Zmx1c2hDaGFu
Z2VzKFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
dm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6Zmx1c2hDaGFuZ2VzKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9kYXRhYmFzZVB1c2hUaW1l
ci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIHB1c2hDaGFuZ2VzVG9EYXRhYmFzZShXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CkBAIC04NCw3ICs3OSw3IEBAIHZvaWQgUmVnaXN0cmF0aW9uU3Rv
cmU6OmZsdXNoQ2hhbmdlcyhXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9y
ZTo6c3RhcnRTdXNwZW5zaW9uKFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6c3RhcnRTdXNwZW5zaW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtX2lz
U3VzcGVuZGVkID0gdHJ1ZTsKICAgICBjbG9zZURhdGFiYXNlKFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKQEAgLTEyMCw5ICsxMTUsNyBAQCB2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpyZW1v
dmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgawogICAg
IGlmIChrZXkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBTZXJ2aWNlV29ya2Vy
Q29udGV4dERhdGEgY29udGV4dERhdGE7Ci0gICAgY29udGV4dERhdGEucmVnaXN0cmF0aW9uLmtl
eSA9IGtleTsKLSAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLnNldChrZXksIFdURk1vdmUoY29u
dGV4dERhdGEpKTsKKyAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLnNldChrZXksIFdURjo6bnVs
bG9wdCk7CiAgICAgc2NoZWR1bGVEYXRhYmFzZVB1c2hJZk5lY2Vzc2FyeSgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlv
blN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJh
dGlvblN0b3JlLmgKaW5kZXggNWRkN2IyZWRhMjRkZWEzYmZlNzJjMzIzZDJiNDhhMThkOTg2NmY3
Ni4uNzU0M2VjMTNiM2RjZjcxMDhiNDIxMWQ2NmUwMWM4NzcwMDdjZTk3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9u
U3RvcmUuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBTV1NlcnZlclJlZ2lzdHJhdGlvbjsKIGNs
YXNzIFJlZ2lzdHJhdGlvblN0b3JlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFJlZ2lzdHJhdGlv
blN0b3JlPiB7CiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNp
dCBSZWdpc3RyYXRpb25TdG9yZShTV1NlcnZlciYsIFN0cmluZyYmIGRhdGFiYXNlRGlyZWN0b3J5
KTsKKyAgICBSZWdpc3RyYXRpb25TdG9yZShTV1NlcnZlciYsIFN0cmluZyYmIGRhdGFiYXNlRGly
ZWN0b3J5KTsKICAgICB+UmVnaXN0cmF0aW9uU3RvcmUoKTsKIAogICAgIHZvaWQgY2xlYXJBbGwo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTY4LDEzICs2OCwxMyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZURhdGFiYXNlUHVzaElmTmVjZXNzYXJ5KCk7
Ci0gICAgdm9pZCBwdXNoQ2hhbmdlc1RvRGF0YWJhc2UoV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOworICAgIHZvaWQgcHVzaENoYW5nZXNUb0RhdGFiYXNlKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBwdXNoQ2hhbmdlc1RvRGF0YWJhc2UoKSB7IHB1c2hD
aGFuZ2VzVG9EYXRhYmFzZSh7IH0pOyB9CiAKICAgICBTV1NlcnZlciYgbV9zZXJ2ZXI7CiAgICAg
UmVmPFJlZ2lzdHJhdGlvbkRhdGFiYXNlPiBtX2RhdGFiYXNlOwogCi0gICAgSGFzaE1hcDxTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+IG1fdXBk
YXRlZFJlZ2lzdHJhdGlvbnM7CisgICAgSGFzaE1hcDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5LCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE+PiBtX3VwZGF0ZWRSZWdpc3Ry
YXRpb25zOwogICAgIFRpbWVyIG1fZGF0YWJhc2VQdXNoVGltZXI7CiAKICAgICBib29sIG1faXNT
dXNwZW5kZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRl
eCAzNTE0Y2MwZjA4M2M3ZWFjNWQxZDg2MTNhMGVmYTVlNzJlODg3NzlkLi4wMGEwNzY4ZGIzYzZm
ZGYyZTY5YmFlNzFiNmQ3ZWIyMDgzMzZjMTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcApAQCAtOTQsOCArOTQsOSBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogCiBPcHRpb25hbDxO
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc2Vzc2lvbklEKSkKKyAg
ICBPcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklEOworICAgIGRlY29kZXIgPj4gc2Vz
c2lvbklEOworICAgIGlmICghc2Vzc2lvbklEKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogICAgIAogICAgIE9wdGlvbmFsPFN0cmluZz4gYm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOwpA
QCAtMjM5LDcgKzI0MCw3IEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKICAgICByZXR1cm4ge3sKLSAgICAgICAgc2Vzc2lvbklECisgICAg
ICAgICpzZXNzaW9uSUQKICAgICAgICAgLCBXVEZNb3ZlKCpib3VuZEludGVyZmFjZUlkZW50aWZp
ZXIpCiAgICAgICAgICwgV1RGTW92ZSgqYWxsb3dzQ2VsbHVsYXJBY2Nlc3MpCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggMzJlMDQwMzFlNzU5MzkwNjcxMWE5ZGUwMDFkY2RmMjk3MjMyZjcxZS4u
YTk1MWM2MGZmMjliODQ4YTIxYmFhYzhmZDkzMDg1YWI1N2YyYjM2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtOTcsNyArOTcs
NyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU3RyaW5nIHVzZXJB
Z2VudDsKIAogICAgIFZlY3RvcjxCYWNrRm9yd2FyZExpc3RJdGVtU3RhdGU+IGl0ZW1TdGF0ZXM7
Ci0gICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEOworICAgIFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCB7IFBBTDo6U2Vzc2lvbklEOjplbXB0eVNlc3Npb25JRCgpIH07CiAKICAgICBVc2VyQ29u
dGVudENvbnRyb2xsZXJJZGVudGlmaWVyIHVzZXJDb250ZW50Q29udHJvbGxlcklEOwogICAgIHVp
bnQ2NF90IHZpc2l0ZWRMaW5rVGFibGVJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDA2NTEyMWMwMGM0NGNiNWVm
NGZhMWY5ZDM1NWVkMjljNTRmMmYwNDguLmU0MDE5YWIwMTk0YjEyN2ZjZjIzMTUyNzU4OTljMzhj
N2M1N2U2NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdl
Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBh
Z2VDb25maWd1cmF0aW9uLmNwcApAQCAtNDksNiArNDksNyBAQCBSZWY8UGFnZUNvbmZpZ3VyYXRp
b24+IFBhZ2VDb25maWd1cmF0aW9uOjpjcmVhdGUoKQogfQogCiBQYWdlQ29uZmlndXJhdGlvbjo6
UGFnZUNvbmZpZ3VyYXRpb24oKQorICAgIDogbV9zZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQ6OmVt
cHR5U2Vzc2lvbklEKCkpCiB7CiB9CiAKQEAgLTE2NCw3ICsxNjUsNyBAQCB2b2lkIFBhZ2VDb25m
aWd1cmF0aW9uOjpzZXRXZWJzaXRlRGF0YVN0b3JlKEFQSTo6V2Vic2l0ZURhdGFTdG9yZSogd2Vi
c2l0ZURhdGFTdAogICAgIGlmIChtX3dlYnNpdGVEYXRhU3RvcmUpCiAgICAgICAgIG1fc2Vzc2lv
bklEID0gbV93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkuc2Vzc2lvbklEKCk7
CiAgICAgZWxzZQotICAgICAgICBtX3Nlc3Npb25JRCA9IFBBTDo6U2Vzc2lvbklEKCk7CisgICAg
ICAgIG1fc2Vzc2lvbklEID0gUEFMOjpTZXNzaW9uSUQ6OmVtcHR5U2Vzc2lvbklEKCk7CiB9CiAK
IFdlYnNpdGVQb2xpY2llcyogUGFnZUNvbmZpZ3VyYXRpb246OmRlZmF1bHRXZWJzaXRlUG9saWNp
ZXMoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>