<?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>201682</bug_id>
          
          <creation_ts>2019-09-11 02:51:30 -0700</creation_ts>
          <short_desc>Use typed identifiers for IDB connection identifiers</short_desc>
          <delta_ts>2019-09-12 01:48:20 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1569883</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-11 02:51:30 -0700</bug_when>
    <thetext>Use typed identifiers for IDB connection identifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569884</commentid>
    <comment_count>1</comment_count>
      <attachid>378550</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-11 02:54:02 -0700</bug_when>
    <thetext>Created attachment 378550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1569928</commentid>
    <comment_count>2</comment_count>
      <attachid>378550</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-11 08:22:02 -0700</bug_when>
    <thetext>Comment on attachment 378550
Patch

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

r=me with comments.

&gt; Source/WebCore/Modules/indexeddb/shared/IDBRequestData.cpp:114
&gt; +    ASSERT(m_serverConnectionIdentifier.toUInt64());

This change should not be needed.

&gt; Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.cpp:92
&gt; +    return IDBResourceIdentifier(IDBConnectionIdentifier { WTF::HashTableDeletedValue}, std::numeric_limits&lt;uint64_t&gt;::max());

Missing space before }

&gt; Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h:46
&gt; +using IDBConnectionIdentifier = ObjectIdentifier&lt;IDBConnectionIdentifierType&gt;;

Why isn&apos;t this simply using IDBConnectionIdentifier = ProcessIdentifier; ?

&gt; Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp:97
&gt; +    return makeObjectIdentifier&lt;IDBConnectionIdentifierType&gt;(1);

Could this be a valid ProcessIdentifier instead (e.g. the current process&apos; identifier?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570187</commentid>
    <comment_count>3</comment_count>
      <attachid>378630</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-12 00:39:35 -0700</bug_when>
    <thetext>Created attachment 378630
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570208</commentid>
    <comment_count>4</comment_count>
      <attachid>378630</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-12 01:47:38 -0700</bug_when>
    <thetext>Comment on attachment 378630
Patch for landing

Clearing flags on attachment: 378630

Committed r249803: &lt;https://trac.webkit.org/changeset/249803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570209</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-12 01:47:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570210</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-12 01:48:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/55294547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570211</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-12 01:48:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55294548&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378550</attachid>
            <date>2019-09-11 02:54:02 -0700</date>
            <delta_ts>2019-09-12 00:39:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201682-20190911115400.patch</filename>
            <type>text/plain</type>
            <size>25892</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI4MjdmYjlmMTRkOGZi
NWZmNWMxZjNjZTcyZDBlYTQ4NzUxMDAyNS4uZjBhYTA0NWFhOTEzYTQ0YjQ0ZDBmNTIzNzkzMTEw
ZWYyOWFiMGY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTA5LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgdHlwZWQgaWRlbnRp
ZmllcnMgZm9yIElEQiBjb25uZWN0aW9uIGlkZW50aWZpZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE2ODIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaWdyYXRlIGZyb20gdWludDY0X3QgdG8gYSB0
eXBlZCBpZGVudGlmaWVyIGZvciBJREIgY29ubmVjdGlvbiBpZGVudGlmaWVycy4KKyAgICAgICAg
VGhlIGlkZW50aWZpZXIgaXMgcmV1c2luZyB0aGUgcHJvY2VzcyBpZGVudGlmaWVyIHR5cGUuCisg
ICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5OjpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBjb25z
dCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1Nl
cnZlcjo6aWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oOgorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9D
bGllbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlv
blRvQ2xpZW50RGVsZWdhdGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpn
ZXRBbGxEYXRhYmFzZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2Vy
dmVyOjpwZXJmb3JtR2V0QWxsRGF0YWJhc2VOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OklEQlNlcnZlcjo6ZGlkR2V0QWxsRGF0YWJhc2VOYW1lcyk6CisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJS
ZXF1ZXN0RGF0YTo6c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjpJREJSZXNvdXJjZUlkZW50aWZpZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjplbXB0eVZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcjo6aXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVy
Ojpsb2dnaW5nU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCUmVzb3VyY2VJZGVudGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXNvdXJj
ZUlkZW50aWZpZXI6Omhhc2ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJ
ZGVudGlmaWVyOjpjb25uZWN0aW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXVEY6OmNy
b3NzVGhyZWFkQ29weSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJv
Y2Vzc0lEQlNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6
OmlkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuaDoKKwogMjAxOS0wOS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRGlzYWJsZSBEVExTMS4wCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE5ZjAz
ZTE3M2ZhNGI2OWY1MmFiNjNkYTgxNzZhNjI0MWY5Y2NhOTQuLjcyZjRlNjgxYTU0M2JhZDcyOTk4
ZTAyYmE5MWZjMDFmZDMwOTcwMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDkt
MTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFVzZSB0eXBl
ZCBpZGVudGlmaWVycyBmb3IgSURCIGNvbm5lY3Rpb24gaWRlbnRpZmllcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTY4MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBubyBsb25nZXIgbmVl
ZGVkIGNvbnZlcnNpb24gZnJvbSBwcm9jZXNzIGlkZW50aWZpZXIgdG8gaWRiIGNvbm5lY3Rpb24g
aWRlbnRpZmllci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJD
b25uZWN0aW9uVG9DbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyOjppZGVudGlmaWVyIGNvbnN0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmg6CisK
IDIwMTktMDktMTAgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXVtXUEVdIEZpeGVzIGZvciBub24tdW5pZmllZCBidWlsZHMgYWZ0ZXIg
cjI0OTAyMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCmluZGV4IDU4OGMwNzdkMDVkZjA2NGJhMWJk
NGQyM2M0M2U0MjE4OTRjMzRhYjkuLjkxZjkzYzQ2NzA1YmQ2ZjQ5NjUxNjU0NDc5YjY1NDg5ZWZh
MGQzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKQEAgLTExMSw3ICsxMTEsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGNvbXBsZXRlT3BlcmF0aW9uKGNvbnN0IElEQlJlc3VsdERhdGEmKTsK
IAotICAgIHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsgfQorICAgIElEQkNvbm5lY3Rpb25JZGVu
dGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2
ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsgfQogCiAgICAgdm9pZCByZWYoKTsKICAgICB2b2lkIGRl
cmVmKCk7CkBAIC0xNTMsNyArMTUzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRsZU1haW5U
aHJlYWRUYXNrcygpOwogCiAgICAgSURCQ29ubmVjdGlvblRvU2VydmVyJiBtX2Nvbm5lY3Rpb25U
b1NlcnZlcjsKLSAgICB1aW50NjRfdCBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOworICAg
IElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIG1fc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI7CiAK
ICAgICBIYXNoTWFwPHVpbnQ2NF90LCBJREJEYXRhYmFzZSo+IG1fZGF0YWJhc2VDb25uZWN0aW9u
TWFwOwogICAgIExvY2sgbV9kYXRhYmFzZUNvbm5lY3Rpb25NYXBMb2NrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblRvU2VydmVyLmNwcAppbmRleCAzNzcxMWRjMTAzZGI2YzlhOWI4MTNkYmM5ZGY3OTli
N2UyNmE2ZDY2Li5mYzBkOWIwNTQ0ZTgwNzM3YjBlNmQyYTYxMzc2ZDE2YzhkOTY3OTZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAtNTQsNyArNTQsNyBAQCBJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcihJREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZSYgZGVsZQogewogfQogCi11aW50NjRfdCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmlkZW50aWZpZXIoKSBjb25zdAorSURCQ29ubmVjdGlvbklkZW50aWZpZXIgSURCQ29ubmVjdGlv
blRvU2VydmVyOjppZGVudGlmaWVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9kZWxlZ2F0ZS0+
aWRlbnRpZmllcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCmluZGV4IDljYjE0
MGQ3OGIyNTNhZWYzZjExMDQxZDQ4ZjBhYWNiNTdlNzI5MDcuLjQyNWU0NWFmN2Q5MmEwZDk4OGZl
ZDY1YzkzYzkwOTNkYmI0Y2VjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKQEAg
LTU1LDcgKzU1LDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPElEQkNvbm5lY3Rpb25Ub1NlcnZlcj4KIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgUmVmPElEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gY3JlYXRlKElEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlJik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRf
dCBpZGVudGlmaWVyKCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgSURCQ29ubmVjdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogCiAgICAgSURCQ29ubmVjdGlvblByb3h5JiBw
cm94eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCmlu
ZGV4IDI4NjJjYmQxZGQwODcwODZjY2EyNDI0YzZiNzg0NmZhNGZjM2NhNzkuLmRjOGE5OWJmNzUy
ZTE3YTVmYjdkMzFiM2ZmNDMzMWM2Yjk4MTc0MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0
aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkKIAorI2luY2x1ZGUgIklEQlJlc291cmNlSWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
QEAgLTM3LDcgKzM4LDYgQEAgY2xhc3MgSURCSW5kZXhJbmZvOwogY2xhc3MgSURCS2V5RGF0YTsK
IGNsYXNzIElEQk9iamVjdFN0b3JlSW5mbzsKIGNsYXNzIElEQlJlcXVlc3REYXRhOwotY2xhc3Mg
SURCUmVzb3VyY2VJZGVudGlmaWVyOwogY2xhc3MgSURCVHJhbnNhY3Rpb25JbmZvOwogY2xhc3Mg
SURCVmFsdWU7CiAKQEAgLTU4LDcgKzU4LDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVy
RGVsZWdhdGUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8SURCQ29ubmVjdGlvblRvU2VydmUKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSgpID0gZGVm
YXVsdDsKIAotICAgIHZpcnR1YWwgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRhJikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBvcGVuRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEm
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFib3J0VHJhbnNhY3Rpb24oY29uc3QgSURCUmVzb3Vy
Y2VJZGVudGlmaWVyJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAppbmRl
eCA2YmUzNDMwYmZlOTRlNjA4NjFjNzYxNWUzMDgxOTI3OTE0MTI0MjNjLi43MzQzNGMzNjFkZDI4
YzBjY2E4MDNhZmE5MTljMjQ4ZWI5ZGUwOTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xp
ZW50LmNwcApAQCAtNDMsNyArNDMsNyBAQCBJREJDb25uZWN0aW9uVG9DbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub0NsaWVudChJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSYgZGVsZQogewogfQog
Ci11aW50NjRfdCBJREJDb25uZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIoKSBjb25zdAorSURC
Q29ubmVjdGlvbklkZW50aWZpZXIgSURCQ29ubmVjdGlvblRvQ2xpZW50OjppZGVudGlmaWVyKCkg
Y29uc3QKIHsKICAgICBBU1NFUlQobV9kZWxlZ2F0ZSk7CiAgICAgcmV0dXJuIG1fZGVsZWdhdGUt
PmlkZW50aWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuaAppbmRleCBmMTBkNmY2
MzIwOWE0Yzk5YjlmYjcyN2M1NWNkYTg5ODljYjA1YTExLi5mNzYwZGZmMDIxZDMxOWQxMGQzNzdl
MjA3OGVhZWQyOWRjMzdlOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC00
Nyw4ICs0Nyw3IEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Ub0NsaWVudCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gewogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBSZWY8SURCQ29ubmVjdGlvblRvQ2xpZW50PiBjcmVhdGUoSURCQ29ubmVjdGlvblRv
Q2xpZW50RGVsZWdhdGUmKTsKIAotICAgIC8vIEZJWE1FOiBVc2UgYSB0eXBlZCBpZGVudGlmaWVy
LgotICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdDsKKyAgICBJREJDb25uZWN0aW9uSWRl
bnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Q7CiAKICAgICB2b2lkIGRpZERlbGV0ZURhdGFiYXNl
KGNvbnN0IElEQlJlc3VsdERhdGEmKTsKICAgICB2b2lkIGRpZE9wZW5EYXRhYmFzZShjb25zdCBJ
REJSZXN1bHREYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0
ZS5oCmluZGV4IGZkZjY2NDA3ZmUzNThlZDkzN2JiZWRjYjY5YjI1MjgwNjNmNWFmNDEuLjgzYzZm
Y2EyZTZhYTkwNTBhYmYzMGY4NzFmYzdhMzczYzFhYTdlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnREZWxl
Z2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJD
b25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKIAorI2luY2x1ZGUgIklEQlJlc291cmNlSWRlbnRpZmllci5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM0LDcgKzM1LDYgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCRXJyb3I7Ci1jbGFzcyBJREJSZXNvdXJjZUlkZW50aWZp
ZXI7CiBjbGFzcyBJREJSZXN1bHREYXRhOwogCiBuYW1lc3BhY2UgSURCU2VydmVyIHsKQEAgLTQ1
LDcgKzQ1LDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUgOiBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8SURCQ29ubmVjdGlvblRvQ2xpZW4KIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5JREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSgpID0gZGVmYXVsdDsKICAgICAKLSAgICB2
aXJ0dWFsIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBJREJD
b25uZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB2b2lkIGRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRpZE9wZW5EYXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJikgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNl
cnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2Vy
dmVyLmNwcAppbmRleCBlOGZmMjMxMmM5NDczMjA2Y2U5MmVlYzk2ZDgyZTdhNmU0ODE1Nzk1Li5i
NTllZDdmMjI0NDcwNDE0N2ZkMTkwYTFkMTdmYTg5NGQzOWZjYjBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAt
NDYwLDEyICs0NjAsMTIgQEAgdm9pZCBJREJTZXJ2ZXI6OmNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2
ZXIodWludDY0X3QgZGF0YWJhc2VDb25uZWN0aW9uSWRlbnRpZmllcikKICAgICAgICAgZGF0YWJh
c2VDb25uZWN0aW9uLT5jb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKCk7CiB9CiAKLXZvaWQgSURC
U2VydmVyOjpnZXRBbGxEYXRhYmFzZU5hbWVzKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVu
dGlmaWVyLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFja0lEKQor
dm9pZCBJREJTZXJ2ZXI6OmdldEFsbERhdGFiYXNlTmFtZXMoSURCQ29ubmVjdGlvbklkZW50aWZp
ZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYg
bWFpbkZyYW1lT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4s
IHVpbnQ2NF90IGNhbGxiYWNrSUQpCiB7CiAgICAgcG9zdERhdGFiYXNlVGFzayhjcmVhdGVDcm9z
c1RocmVhZFRhc2soKnRoaXMsICZJREJTZXJ2ZXI6OnBlcmZvcm1HZXRBbGxEYXRhYmFzZU5hbWVz
LCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgbWFpbkZyYW1lT3JpZ2luLCBvcGVuaW5nT3Jp
Z2luLCBjYWxsYmFja0lEKSk7CiB9CiAKLXZvaWQgSURCU2VydmVyOjpwZXJmb3JtR2V0QWxsRGF0
YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgU2Vj
dXJpdHlPcmlnaW5EYXRhJiBtYWluRnJhbWVPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3BlbmluZ09yaWdpbiwgdWludDY0X3QgY2FsbGJhY2tJRCkKK3ZvaWQgSURCU2VydmVyOjpw
ZXJmb3JtR2V0QWxsRGF0YWJhc2VOYW1lcyhJREJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBtYWluRnJhbWVP
cmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3BlbmluZ09yaWdpbiwgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKIHsKICAgICBhdXRvIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCA9IHRoaXMtPmRh
dGFiYXNlRGlyZWN0b3J5UGF0aElzb2xhdGVkQ29weSgpOwogICAgIFN0cmluZyBvbGREaXJlY3Rv
cnkgPSBJREJEYXRhYmFzZUlkZW50aWZpZXI6OmRhdGFiYXNlRGlyZWN0b3J5UmVsYXRpdmVUb1Jv
b3QobWFpbkZyYW1lT3JpZ2luLCBvcGVuaW5nT3JpZ2luLCBkYXRhYmFzZURpcmVjdG9yeVBhdGgs
ICJ2MCIpOwpAQCAtNDg3LDcgKzQ4Nyw3IEBAIHZvaWQgSURCU2VydmVyOjpwZXJmb3JtR2V0QWxs
RGF0YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwKICAgICBw
b3N0RGF0YWJhc2VUYXNrUmVwbHkoY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmSURCU2Vy
dmVyOjpkaWRHZXRBbGxEYXRhYmFzZU5hbWVzLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwg
Y2FsbGJhY2tJRCwgZGF0YWJhc2VzKSk7CiB9CiAKLXZvaWQgSURCU2VydmVyOjpkaWRHZXRBbGxE
YXRhYmFzZU5hbWVzKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRf
dCBjYWxsYmFja0lELCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZGF0YWJhc2VOYW1lcykKK3ZvaWQg
SURCU2VydmVyOjpkaWRHZXRBbGxEYXRhYmFzZU5hbWVzKElEQkNvbm5lY3Rpb25JZGVudGlmaWVy
IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBjYWxsYmFja0lELCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgZGF0YWJhc2VOYW1lcykKIHsKICAgICBhdXRvIGNvbm5lY3Rpb24gPSBt
X2Nvbm5lY3Rpb25NYXAuZ2V0KHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKTsKICAgICBpZiAo
IWNvbm5lY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCU2VydmVyLmgKaW5kZXggY2Q2YmFiY2ExZThiYjMyZTk3MGEyMjU0OTdjYTA0MGJj
ZDYyZWRiZS4uMTllNjk2MmVkMTlhYmE1NDAzMmNhMDQ0NzI0ZWQxMTE1MzU0YTVhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
aApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBvcGVu
REJSZXF1ZXN0Q2FuY2VsbGVkKGNvbnN0IElEQlJlcXVlc3REYXRhJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBjb25maXJtRGlkQ2xvc2VGcm9tU2VydmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29u
bmVjdGlvbklkZW50aWZpZXIpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnZXRBbGxEYXRh
YmFzZU5hbWVzKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGdldEFsbERhdGFiYXNlTmFtZXMoSURCQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgbWFpbkZyYW1l
T3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90
IGNhbGxiYWNrSUQpOwogCiAgICAgdm9pZCBwb3N0RGF0YWJhc2VUYXNrKENyb3NzVGhyZWFkVGFz
ayYmKTsKICAgICB2b2lkIHBvc3REYXRhYmFzZVRhc2tSZXBseShDcm9zc1RocmVhZFRhc2smJik7
CkBAIC0xMzMsOCArMTMzLDggQEAgcHJpdmF0ZToKICAgICAKICAgICBTdHJpbmcgZGF0YWJhc2VE
aXJlY3RvcnlQYXRoSXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZURpcmVj
dG9yeVBhdGguaXNvbGF0ZWRDb3B5KCk7IH0KIAotICAgIHZvaWQgcGVyZm9ybUdldEFsbERhdGFi
YXNlTmFtZXModWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luRGF0YSYgbWFpbkZyYW1lT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwotICAgIHZvaWQgZGlkR2V0QWxs
RGF0YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3QgY2FsbGJhY2tJRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRhdGFiYXNlTmFtZXMpOworICAg
IHZvaWQgcGVyZm9ybUdldEFsbERhdGFiYXNlTmFtZXMoSURCQ29ubmVjdGlvbklkZW50aWZpZXIg
c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgbWFp
bkZyYW1lT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVp
bnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZGlkR2V0QWxsRGF0YWJhc2VOYW1lcyhJREJD
b25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qg
Y2FsbGJhY2tJRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRhdGFiYXNlTmFtZXMpOwogCiAgICAg
dm9pZCBwZXJmb3JtQ2xvc2VBbmREZWxldGVEYXRhYmFzZXNNb2RpZmllZFNpbmNlKFdhbGxUaW1l
LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIHBlcmZvcm1DbG9zZUFuZERlbGV0ZURh
dGFiYXNlc0Zvck9yaWdpbnMoY29uc3QgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4mLCB1aW50
NjRfdCBjYWxsYmFja0lEKTsKQEAgLTE4NSw3ICsxODUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZmluaXNoQ29tcHV0aW5nU3BhY2VVc2VkRm9yT3JpZ2luKGNvbnN0IENsaWVudE9yaWdpbiYsIHVp
bnQ2NF90IHNwYWNlVXNlZCk7CiAKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKLSAg
ICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8SURCQ29ubmVjdGlvblRvQ2xpZW50Pj4gbV9jb25u
ZWN0aW9uTWFwOworICAgIEhhc2hNYXA8SURCQ29ubmVjdGlvbklkZW50aWZpZXIsIFJlZlB0cjxJ
REJDb25uZWN0aW9uVG9DbGllbnQ+PiBtX2Nvbm5lY3Rpb25NYXA7CiAgICAgSGFzaE1hcDxJREJE
YXRhYmFzZUlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxVbmlxdWVJREJEYXRhYmFzZT4+IG1f
dW5pcXVlSURCRGF0YWJhc2VNYXA7CiAKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBVbmlxdWVJREJE
YXRhYmFzZUNvbm5lY3Rpb24qPiBtX2RhdGFiYXNlQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRh
LmNwcAppbmRleCAyMTY0MTZhZmExMWNmMjU1ZDM2ZGVmYjNlZmYzNmVmYWYxOTU3MTAzLi5lNWQ2
ZmYyYTY0NDlhYzBiNjdjNWRhMWNlZjRlNzg3ZTc5MDRmNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5j
cHAKQEAgLTEwOSw5ICsxMDksOSBAQCB2b2lkIElEQlJlcXVlc3REYXRhOjppc29sYXRlZENvcHko
Y29uc3QgSURCUmVxdWVzdERhdGEmIHNvdXJjZSwgSURCUmVxdWVzdERhdGEmCiAgICAgICAgIGRl
c3RpbmF0aW9uLm1fY3Vyc29ySWRlbnRpZmllciA9IG1ha2VVbmlxdWU8SURCUmVzb3VyY2VJZGVu
dGlmaWVyPigqc291cmNlLm1fY3Vyc29ySWRlbnRpZmllcik7CiB9CiAKLXVpbnQ2NF90IElEQlJl
cXVlc3REYXRhOjpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0CitJREJDb25uZWN0
aW9uSWRlbnRpZmllciBJREJSZXF1ZXN0RGF0YTo6c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIo
KSBjb25zdAogewotICAgIEFTU0VSVChtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKTsKKyAg
ICBBU1NFUlQobV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICBy
ZXR1cm4gbV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaApp
bmRleCA0MDhiNGU0NjI4NzMzN2I5YWMzNDRhZmJmNDY5MTU4NjhlODBmMzVkLi41M2I3YjYyZDMx
NGMwYmE2NTZlNWIyYmM1OTYwODhkNGU0ZjE1ZmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaApAQCAtNTcs
NyArNTcsNyBAQCBwdWJsaWM6CiAgICAgSURCUmVxdWVzdERhdGEoY29uc3QgSURCUmVxdWVzdERh
dGEmLCBJc29sYXRlZENvcHlUYWcpOwogICAgIElEQlJlcXVlc3REYXRhIGlzb2xhdGVkQ29weSgp
IGNvbnN0OwogCi0gICAgdWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25z
dDsKKyAgICBJREJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
cigpIGNvbnN0OwogICAgIElEQlJlc291cmNlSWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllcigp
IGNvbnN0OwogICAgIElEQlJlc291cmNlSWRlbnRpZmllciB0cmFuc2FjdGlvbklkZW50aWZpZXIo
KSBjb25zdDsKICAgICB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIoKSBjb25zdDsKQEAg
LTgxLDcgKzgxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBpc29sYXRl
ZENvcHkoY29uc3QgSURCUmVxdWVzdERhdGEmIHNvdXJjZSwgSURCUmVxdWVzdERhdGEmIGRlc3Rp
bmF0aW9uKTsKIAotICAgIHVpbnQ2NF90IG1fc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgeyAw
IH07CisgICAgSURCQ29ubmVjdGlvbklkZW50aWZpZXIgbV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRp
ZmllcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCUmVzb3VyY2VJZGVudGlmaWVyPiBtX3JlcXVl
c3RJZGVudGlmaWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJSZXNvdXJjZUlkZW50aWZpZXI+
IG1fdHJhbnNhY3Rpb25JZGVudGlmaWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJSZXNvdXJj
ZUlkZW50aWZpZXI+IG1fY3Vyc29ySWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRp
Zmllci5jcHAKaW5kZXggNjE2ZDU0ZmFkZjFlZGY2NDljMmM1NjJlNmI1YzU4NTMxNGJmMDRmNi4u
NGRjZjNlZDRlYWYwOTZiM2RiODQ3OTA3MGQ2MTZiOWI0NDg5NTY4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRpZmll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJl
c291cmNlSWRlbnRpZmllci5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgSURCUmVzb3VyY2VJZGVudGlm
aWVyOjpJREJSZXNvdXJjZUlkZW50aWZpZXIoKQogewogfQogCi1JREJSZXNvdXJjZUlkZW50aWZp
ZXI6OklEQlJlc291cmNlSWRlbnRpZmllcih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllciwg
dWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyKQorSURCUmVzb3VyY2VJZGVudGlmaWVyOjpJREJS
ZXNvdXJjZUlkZW50aWZpZXIoSURCQ29ubmVjdGlvbklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50
aWZpZXIsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcikKICAgICA6IG1faWRiQ29ubmVjdGlv
bklkZW50aWZpZXIoY29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgLCBtX3Jlc291cmNlTnVtYmVy
KHJlc291cmNlSWRlbnRpZmllcikKIHsKQEAgLTg0LDI1ICs4NCwyNCBAQCBJREJSZXNvdXJjZUlk
ZW50aWZpZXIgSURCUmVzb3VyY2VJZGVudGlmaWVyOjppc29sYXRlZENvcHkoKSBjb25zdAogCiBJ
REJSZXNvdXJjZUlkZW50aWZpZXIgSURCUmVzb3VyY2VJZGVudGlmaWVyOjplbXB0eVZhbHVlKCkK
IHsKLSAgICByZXR1cm4gSURCUmVzb3VyY2VJZGVudGlmaWVyKDAsIDApOworICAgIHJldHVybiBJ
REJSZXNvdXJjZUlkZW50aWZpZXIoeyB9LCAwKTsKIH0KIAogSURCUmVzb3VyY2VJZGVudGlmaWVy
IElEQlJlc291cmNlSWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKCkKIHsKLSAgICByZXR1cm4gSURC
UmVzb3VyY2VJZGVudGlmaWVyKHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKSwg
c3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKTsKKyAgICByZXR1cm4gSURCUmVz
b3VyY2VJZGVudGlmaWVyKElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIHsgV1RGOjpIYXNoVGFibGVE
ZWxldGVkVmFsdWV9LCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOwogfQog
CiBib29sIElEQlJlc291cmNlSWRlbnRpZmllcjo6aXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBj
b25zdAogewotICAgIHJldHVybiBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyID09IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKQotICAgICAgICAmJiBtX3Jlc291cmNlTnVtYmVy
ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsKKyAgICByZXR1cm4gbV9p
ZGJDb25uZWN0aW9uSWRlbnRpZmllci5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpICYmIG1fcmVz
b3VyY2VOdW1iZXIgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOwogfQog
CiAjaWYgIUxPR19ESVNBQkxFRAogCiBTdHJpbmcgSURCUmVzb3VyY2VJZGVudGlmaWVyOjpsb2dn
aW5nU3RyaW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbWFrZVN0cmluZygnPCcsIG1faWRiQ29u
bmVjdGlvbklkZW50aWZpZXIsICIsICIsIG1fcmVzb3VyY2VOdW1iZXIsICc+Jyk7CisgICAgcmV0
dXJuIG1ha2VTdHJpbmcoJzwnLCBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCks
ICIsICIsIG1fcmVzb3VyY2VOdW1iZXIsICc+Jyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRp
Zmllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291
cmNlSWRlbnRpZmllci5oCmluZGV4IGQwZGZmYTAwNTAzZmIwMzc4ZDdlNzRmNTVjYWU1NzVhYzEx
MjU5ZmQuLjliYzJkMjVjMzNkMjc4NmM3NTE1ZThmZWQwMTIzYmI0NmRiOWRhZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlk
ZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzb3VyY2VJZGVudGlmaWVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiUHJvY2Vzc0lkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQx
LDYgKzQyLDkgQEAgbmFtZXNwYWNlIElEQlNlcnZlciB7CiBjbGFzcyBJREJDb25uZWN0aW9uVG9D
bGllbnQ7CiB9CiAKK3VzaW5nIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyVHlwZSA9IFByb2Nlc3NJ
ZGVudGlmaWVyVHlwZTsKK3VzaW5nIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyID0gT2JqZWN0SWRl
bnRpZmllcjxJREJDb25uZWN0aW9uSWRlbnRpZmllclR5cGU+OworCiBjbGFzcyBJREJSZXNvdXJj
ZUlkZW50aWZpZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAt
NTksNyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBoYXNoKCkgY29uc3QKICAgICB7
Ci0gICAgICAgIHVpbnQ2NF90IGhhc2hDb2Rlc1syXSA9IHsgbV9pZGJDb25uZWN0aW9uSWRlbnRp
ZmllciwgbV9yZXNvdXJjZU51bWJlciB9OworICAgICAgICB1aW50NjRfdCBoYXNoQ29kZXNbMl0g
PSB7IG1faWRiQ29ubmVjdGlvbklkZW50aWZpZXIudG9VSW50NjQoKSwgbV9yZXNvdXJjZU51bWJl
ciB9OwogICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNo
Q29kZXMpPihoYXNoQ29kZXMpOwogICAgIH0KICAgICAKQEAgLTY5LDcgKzczLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgJiYgbV9yZXNvdXJjZU51bWJlciA9PSBvdGhlci5tX3Jlc291cmNlTnVt
YmVyOwogICAgIH0KICAgICAKLSAgICB1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllcigpIGNv
bnN0IHsgcmV0dXJuIG1faWRiQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KKyAgICBJREJDb25uZWN0
aW9uSWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRi
Q29ubmVjdGlvbklkZW50aWZpZXI7IH0KIAogICAgIElEQlJlc291cmNlSWRlbnRpZmllciBpc29s
YXRlZENvcHkoKSBjb25zdDsKIApAQCAtODMsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImKTsKIAogcHJpdmF0ZToKLSAgICBJREJSZXNvdXJjZUlkZW50aWZpZXIodWlu
dDY0X3QgY29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcik7
Ci0gICAgdWludDY0X3QgbV9pZGJDb25uZWN0aW9uSWRlbnRpZmllciB7IDAgfTsKKyAgICBJREJS
ZXNvdXJjZUlkZW50aWZpZXIoSURCQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IHJlc291
cmNlSWRlbnRpZmllcik7CisgICAgSURCQ29ubmVjdGlvbklkZW50aWZpZXIgbV9pZGJDb25uZWN0
aW9uSWRlbnRpZmllcjsKICAgICB1aW50NjRfdCBtX3Jlc291cmNlTnVtYmVyIHsgMCB9OwogfTsK
IApAQCAtMTQ2LDYgKzE1MCwxMSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJD
b3JlOjpJREJSZXNvdXJjZUlkZW50aWZpZXI+IHsKICAgICB0eXBlZGVmIFdlYkNvcmU6OklEQlJl
c291cmNlSWRlbnRpZmllckhhc2ggSGFzaDsKIH07CiAKK2lubGluZSBXZWJDb3JlOjpJREJDb25u
ZWN0aW9uSWRlbnRpZmllciBjcm9zc1RocmVhZENvcHkoV2ViQ29yZTo6SURCQ29ubmVjdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gaWRlbnRpZmllcjsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV1RGCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nl
c3NJREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKaW5kZXggYzk2ODk0NDRmZDIyNDAyY2VkMjExM2IzYmZh
MGI5YTUyNmM2NzNhYy4uZTU2ODE0MTI3ZjFhZTZjMzljOTg2MmNiNjZhZmRjY2Q1ZmE4NjAzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJv
Y2Vzc0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAKQEAgLTkwLDExICs5MCwxMSBAQCBJblByb2Nl
c3NJREJTZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZlcihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IGNvbnN0IFN0cmluZyYgZAogICAgIG1fY29ubmVjdGlvblRvQ2xpZW50ID0gSURCU2VydmVyOjpJ
REJDb25uZWN0aW9uVG9DbGllbnQ6OmNyZWF0ZSgqdGhpcyk7CiB9CiAKLXVpbnQ2NF90IEluUHJv
Y2Vzc0lEQlNlcnZlcjo6aWRlbnRpZmllcigpIGNvbnN0CitJREJDb25uZWN0aW9uSWRlbnRpZmll
ciBJblByb2Nlc3NJREJTZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25zdAogewogICAgIC8vIEFuIGlu
c3RhbmNlIG9mIEluUHJvY2Vzc0lEQlNlcnZlciBhbHdheXMgaGFzIGEgMToxIHJlbGF0aW9uc2hp
cCB3aXRoIGl0cyBpbnN0YW5jZSBvZiBJREJTZXJ2ZXIuCiAgICAgLy8gVGhlcmVmb3JlIHRoZSBj
b25uZWN0aW9uIGlkZW50aWZpZXIgYmV0d2VlbiB0aGUgdHdvIGNhbiBhbHdheXMgYmUgIjEiLgot
ICAgIHJldHVybiAxOworICAgIHJldHVybiBtYWtlT2JqZWN0SWRlbnRpZmllcjxJREJDb25uZWN0
aW9uSWRlbnRpZmllclR5cGU+KDEpOwogfQogCiBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1Nl
cnZlciYgSW5Qcm9jZXNzSURCU2VydmVyOjpjb25uZWN0aW9uVG9TZXJ2ZXIoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vz
c0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lu
UHJvY2Vzc0lEQlNlcnZlci5oCmluZGV4IDI2YWJlNjRjNmZhMmRiYTE3NmQ5NWZjYWUwNjVlZTE4
ZDNjODZkYTAuLjBmZjk3NTQ2NGQ5OWRlZjAyZjRiNWRlN2E3MTk2OGJiZmJiMjliYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJ
REJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SW5Qcm9jZXNzSURCU2VydmVyLmgKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogICAgIHZvaWQg
Z2V0QWxsRGF0YWJhc2VOYW1lcyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9y
aWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBj
YWxsYmFja0lEKSBmaW5hbDsKIAogICAgIC8vIElEQkNvbm5lY3Rpb25Ub0NsaWVudAotICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKKyAgICBJREJDb25uZWN0aW9uSWRl
bnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBkaWREZWxldGVEYXRh
YmFzZShjb25zdCBJREJSZXN1bHREYXRhJikgZmluYWw7CiAgICAgdm9pZCBkaWRPcGVuRGF0YWJh
c2UoY29uc3QgSURCUmVzdWx0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgZGlkQWJvcnRUcmFuc2Fj
dGlvbihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwg
Y29uc3QgSURCRXJyb3ImKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgK
aW5kZXggODlmZmQwODYyOWQ2OTJiYTgzZDE3NzEyZmQ2ZTI1NzVjZmQ3MjY0OS4uMjIyYzkzZmNk
MGE0MjBkMDAxYzgxN2IzMmExNzc4YTRjMjdiOTlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvQ2xpZW50LmgKQEAgLTU2LDEyICs1NiwxMiBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzczsKIAog
Y2xhc3MgV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OklE
QlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUsIHB1YmxpYyBJUEM6Ok1lc3Nh
Z2VTZW5kZXIsIHB1YmxpYyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50PiBjcmVhdGUo
TmV0d29ya1Byb2Nlc3MmLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciwgUEFMOjpTZXNzaW9uSUQpOworICAgIHN0YXRpYyBSZWY8V2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50PiBjcmVhdGUoTmV0d29ya1Byb2Nlc3MmLCBJUEM6OkNvbm5lY3Rpb24mLCBXZWJDb3Jl
OjpJREJDb25uZWN0aW9uSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQpOwogCiAgICAgdmlydHVh
bCB+V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50KCk7CiAKICAgICBXZWJDb3JlOjpJREJTZXJ2ZXI6
OklEQkNvbm5lY3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvblRvQ2xpZW50KCk7Ci0gICAgdWludDY0
X3QgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllci50b1VJbnQ2
NCgpOyB9CisgICAgV2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiAgICAgdm9pZCByZWYoKSBv
dmVycmlkZSB7IFJlZkNvdW50ZWQ8V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Pjo6cmVmKCk7IH0K
ICAgICB2b2lkIGRlcmVmKCkgb3ZlcnJpZGUgeyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25U
b0NsaWVudD46OmRlcmVmKCk7IH0KQEAgLTEzOCw3ICsxMzgsNyBAQCBwcml2YXRlOgogICAgIFJl
ZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBSZWY8TmV0d29ya1Byb2Nlc3M+
IG1fbmV0d29ya1Byb2Nlc3M7CiAKLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX2lk
ZW50aWZpZXI7CisgICAgV2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIgbV9pZGVudGlm
aWVyOwogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIFJlZlB0cjxXZWJDb3Jl
OjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gbV9jb25uZWN0aW9uVG9DbGllbnQ7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5k
ZXggY2UxYzkzZWI0ZTdmOTJlZWQ0Y2FkNTIxNmExNDU4ZDk0NjRkODMzNi4uNmMyZjEzZDA2NjA1
NTc2YjNhYThiNTQ5M2FlZjk3NTMxOGZjZDM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC02OSw5ICs2OSw5IEBAIFdlYklEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6fldlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcigpCiB7CiB9CiAKLXVpbnQ2NF90
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6aWRlbnRpZmllcigpIGNvbnN0CitJREJDb25uZWN0
aW9uSWRlbnRpZmllciBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25z
dAogewotICAgIHJldHVybiBQcm9jZXNzOjppZGVudGlmaWVyKCkudG9VSW50NjQoKTsKKyAgICBy
ZXR1cm4gUHJvY2Vzczo6aWRlbnRpZmllcigpOwogfQogCiBJUEM6OkNvbm5lY3Rpb24qIFdlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlcjo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2Vi
SURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJh
c2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCBlNGU5NGVhMTlh
MmExOWEyODI1M2Q3MzEyMDczNzg1OTczYTQxNzc4Li5jZDlhOTg3MjQ0MGRiYTZhYzY2YjFhZmZm
ZDM0N2JjNWYyN2Q2ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRGF0
YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2ViSURCQ29u
bmVjdGlvblRvU2VydmVyKCk7CiAKICAgICBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Ub1NlcnZlciYgY29yZUNvbm5lY3Rpb25Ub1NlcnZlcigpOwotICAgIHVpbnQ2NF90IGlkZW50
aWZpZXIoKSBjb25zdCBmaW5hbDsKKyAgICBXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmll
ciBpZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIHZvaWQgY29ubmVjdGlvblRv
U2VydmVyTG9zdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378630</attachid>
            <date>2019-09-12 00:39:35 -0700</date>
            <delta_ts>2019-09-12 01:47:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-201682-20190912093932.patch</filename>
            <type>text/plain</type>
            <size>25953</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAwZWNkNTQzODBmYTA2
MDVlOTg0NGM5YjI4NjBhOWMyZjE2ZDk0YS4uYTNmZDU4OGIzNzIxYjViYTMzMTI2NjA1ZGM5NjRh
N2NlNjQ5OWQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTA5LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgdHlwZWQgaWRlbnRp
ZmllcnMgZm9yIElEQiBjb25uZWN0aW9uIGlkZW50aWZpZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE2ODIKKworICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBEdW1lei4KKworICAgICAgICBNaWdyYXRlIGZyb20gdWludDY0X3QgdG8gYSB0eXBl
ZCBpZGVudGlmaWVyIGZvciBJREIgY29ubmVjdGlvbiBpZGVudGlmaWVycy4KKyAgICAgICAgVGhl
IGlkZW50aWZpZXIgaXMgcmV1c2luZyB0aGUgcHJvY2VzcyBpZGVudGlmaWVyIHR5cGUuCisgICAg
ICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5OjpzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBjb25zdCk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
cjo6aWRlbnRpZmllciBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oOgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGll
bnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRv
Q2xpZW50RGVsZWdhdGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURC
U2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpnZXRB
bGxEYXRhYmFzZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVy
OjpwZXJmb3JtR2V0QWxsRGF0YWJhc2VOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2
ZXI6OklEQlNlcnZlcjo6ZGlkR2V0QWxsRGF0YWJhc2VOYW1lcyk6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0RGF0YTo6c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oOgorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjpJREJSZXNvdXJjZUlkZW50aWZpZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjplbXB0eVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcjo6aXNIYXNoVGFibGVEZWxldGVk
VmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVyOjps
b2dnaW5nU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzb3VyY2VJZGVudGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXNvdXJjZUlk
ZW50aWZpZXI6Omhhc2ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVu
dGlmaWVyOjpjb25uZWN0aW9uSWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXVEY6OmNyb3Nz
VGhyZWFkQ29weSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vz
c0lEQlNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6Omlk
ZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblBy
b2Nlc3NJREJTZXJ2ZXIuaDoKKwogMjAxOS0wOS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdlYlByb2Nlc3MgcHJvY2Vzc0lkZW50aWZpZXIgdG8g
aWRlbnRpZnkgU2VydmljZSBXb3JrZXIgY29ubmVjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjgyZTFiNWEy
MzNiYTRiNTM4NDYxYWUyNzFhMzZlYTk2MzliZWViYi4uZTg2MjgwYWY5YWU5MWEwM2E4YjVmODgx
M2Q1YTRjMTk4MmEwNDM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0wOS0xMiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHR5cGVkIGlk
ZW50aWZpZXJzIGZvciBJREIgY29ubmVjdGlvbiBpZGVudGlmaWVycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNjgyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgY29u
dmVyc2lvbiBmcm9tIHByb2Nlc3MgaWRlbnRpZmllciB0byBpZGIgY29ubmVjdGlvbiBpZGVudGlm
aWVyLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9X
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OmlkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
RGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaDoKKwogMjAxOS0w
OS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdl
YlByb2Nlc3MgcHJvY2Vzc0lkZW50aWZpZXIgdG8gaWRlbnRpZnkgU2VydmljZSBXb3JrZXIgY29u
bmVjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJDb25uZWN0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaAppbmRleCA1ODhjMDc3ZDA1ZGYwNjRiYTFi
ZDRkMjNjNDNlNDIxODk0YzM0YWI5Li45MWY5M2M0NjcwNWJkNmY0OTY1MTY1NDQ3OWI2NTQ4OWVm
YTBkMzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCkBAIC0xMTEsNyArMTExLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjb21wbGV0ZU9wZXJhdGlvbihjb25zdCBJREJSZXN1bHREYXRhJik7
CiAKLSAgICB1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KKyAgICBJREJDb25uZWN0aW9uSWRl
bnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KIAogICAgIHZvaWQgcmVmKCk7CiAgICAgdm9pZCBk
ZXJlZigpOwpAQCAtMTUzLDcgKzE1Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVNYWlu
VGhyZWFkVGFza3MoKTsKIAogICAgIElEQkNvbm5lY3Rpb25Ub1NlcnZlciYgbV9jb25uZWN0aW9u
VG9TZXJ2ZXI7Ci0gICAgdWludDY0X3QgbV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcjsKKyAg
ICBJREJDb25uZWN0aW9uSWRlbnRpZmllciBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOwog
CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgSURCRGF0YWJhc2UqPiBtX2RhdGFiYXNlQ29ubmVjdGlv
bk1hcDsKICAgICBMb2NrIG1fZGF0YWJhc2VDb25uZWN0aW9uTWFwTG9jazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNv
bm5lY3Rpb25Ub1NlcnZlci5jcHAKaW5kZXggMzc3MTFkYzEwM2RiNmM5YTliODEzZGJjOWRmNzk5
YjdlMjZhNmQ2Ni4uZmMwZDliMDU0NGU4MDczN2IwZTZkMmE2MTM3NmQxNmM4ZDk2Nzk2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Ub1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgSURCQ29u
bmVjdGlvblRvU2VydmVyOjpJREJDb25uZWN0aW9uVG9TZXJ2ZXIoSURCQ29ubmVjdGlvblRvU2Vy
dmVyRGVsZWdhdGUmIGRlbGUKIHsKIH0KIAotdWludDY0X3QgSURCQ29ubmVjdGlvblRvU2VydmVy
OjppZGVudGlmaWVyKCkgY29uc3QKK0lEQkNvbm5lY3Rpb25JZGVudGlmaWVyIElEQkNvbm5lY3Rp
b25Ub1NlcnZlcjo6aWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZGVsZWdhdGUt
PmlkZW50aWZpZXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaAppbmRleCA5Y2Ix
NDBkNzhiMjUzYWVmM2YxMTA0MWQ0OGYwYWFjYjU3ZTcyOTA3Li40MjVlNDVhZjdkOTJhMGQ5ODhm
ZWQ2NWM5M2M5MDkzZGJiNGNlYzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCkBA
IC01NSw3ICs1NSw3IEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlciA6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxJREJDb25uZWN0aW9uVG9TZXJ2ZXI+CiBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IGNyZWF0ZShJREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdWludDY0
X3QgaWRlbnRpZmllcigpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIElEQkNvbm5lY3Rpb25J
ZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdDsKIAogICAgIElEQkNvbm5lY3Rpb25Qcm94eSYg
cHJveHkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaApp
bmRleCAyODYyY2JkMWRkMDg3MDg2Y2NhMjQyNGM2Yjc4NDZmYTRmYzNjYTc5Li5kYzhhOTliZjc1
MmUxN2E1ZmI3ZDMxYjNmZjQzMzFjNmI5ODE3NDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyRGVsZWdhdGUuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJJREJSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CkBAIC0zNyw3ICszOCw2IEBAIGNsYXNzIElEQkluZGV4SW5mbzsKIGNsYXNzIElEQktleURhdGE7
CiBjbGFzcyBJREJPYmplY3RTdG9yZUluZm87CiBjbGFzcyBJREJSZXF1ZXN0RGF0YTsKLWNsYXNz
IElEQlJlc291cmNlSWRlbnRpZmllcjsKIGNsYXNzIElEQlRyYW5zYWN0aW9uSW5mbzsKIGNsYXNz
IElEQlZhbHVlOwogCkBAIC01OCw3ICs1OCw3IEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZl
ckRlbGVnYXRlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPElEQkNvbm5lY3Rpb25Ub1NlcnZlCiBw
dWJsaWM6CiAgICAgdmlydHVhbCB+SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUoKSA9IGRl
ZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBJREJDb25uZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkRhdGFiYXNlKGNvbnN0IElEQlJlcXVlc3REYXRh
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhYm9ydFRyYW5zYWN0aW9uKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKaW5k
ZXggNmJlMzQzMGJmZTk0ZTYwODYxYzc2MTVlMzA4MTkyNzkxNDEyNDIzYy4uNzM0MzRjMzYxZGQy
OGMwY2NhODAzYWZhOTE5YzI0OGViOWRlMDk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgSURCQ29ubmVjdGlvblRvQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9DbGllbnQoSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmIGRlbGUKIHsKIH0K
IAotdWludDY0X3QgSURCQ29ubmVjdGlvblRvQ2xpZW50OjppZGVudGlmaWVyKCkgY29uc3QKK0lE
QkNvbm5lY3Rpb25JZGVudGlmaWVyIElEQkNvbm5lY3Rpb25Ub0NsaWVudDo6aWRlbnRpZmllcigp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fZGVsZWdhdGUpOwogICAgIHJldHVybiBtX2RlbGVnYXRl
LT5pZGVudGlmaWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKaW5kZXggZjEwZDZm
NjMyMDlhNGM5OWI5ZmI3MjdjNTVjZGE4OTg5Y2IwNWExMS4uZjc2MGRmZjAyMWQzMTlkMTBkMzc3
ZTIwNzhlYWVkMjlkYzM3ZTk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuaApAQCAt
NDcsOCArNDcsNyBAQCBjbGFzcyBJREJDb25uZWN0aW9uVG9DbGllbnQgOiBwdWJsaWMgUmVmQ291
bnRlZDxJREJDb25uZWN0aW9uVG9DbGllbnQ+IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmVmPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gY3JlYXRlKElEQkNvbm5lY3Rpb25U
b0NsaWVudERlbGVnYXRlJik7CiAKLSAgICAvLyBGSVhNRTogVXNlIGEgdHlwZWQgaWRlbnRpZmll
ci4KLSAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3Q7CisgICAgSURCQ29ubmVjdGlvbklk
ZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogCiAgICAgdm9pZCBkaWREZWxldGVEYXRhYmFz
ZShjb25zdCBJREJSZXN1bHREYXRhJik7CiAgICAgdm9pZCBkaWRPcGVuRGF0YWJhc2UoY29uc3Qg
SURCUmVzdWx0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdh
dGUuaAppbmRleCBmZGY2NjQwN2ZlMzU4ZWQ5MzdiYmVkY2I2OWIyNTI4MDYzZjVhZjQxLi44M2M2
ZmNhMmU2YWE5MDUwYWJmMzBmODcxZmM3YTM3M2MxYWE3ZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50RGVs
ZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURC
Q29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJJREJSZXNvdXJjZUlkZW50aWZpZXIu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNCw3ICszNSw2IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIElEQkVycm9yOwotY2xhc3MgSURCUmVzb3VyY2VJZGVudGlm
aWVyOwogY2xhc3MgSURCUmVzdWx0RGF0YTsKIAogbmFtZXNwYWNlIElEQlNlcnZlciB7CkBAIC00
NSw3ICs0NSw3IEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlIDogcHVibGlj
IENhbk1ha2VXZWFrUHRyPElEQkNvbm5lY3Rpb25Ub0NsaWVuCiBwdWJsaWM6CiAgICAgdmlydHVh
bCB+SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUoKSA9IGRlZmF1bHQ7CiAgICAgCi0gICAg
dmlydHVhbCB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgSURC
Q29ubmVjdGlvbklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1
YWwgdm9pZCBkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRPcGVuRGF0YWJhc2UoY29uc3QgSURCUmVzdWx0RGF0YSYpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJT
ZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNl
cnZlci5jcHAKaW5kZXggZThmZjIzMTJjOTQ3MzIwNmNlOTJlZWM5NmQ4MmU3YTZlNDgxNTc5NS4u
YjU5ZWQ3ZjIyNDQ3MDQxNDdmZDE5MGExZDE3ZmE4OTRkMzlmY2IwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKQEAg
LTQ2MCwxMiArNDYwLDEyIEBAIHZvaWQgSURCU2VydmVyOjpjb25maXJtRGlkQ2xvc2VGcm9tU2Vy
dmVyKHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAgICAgIGRhdGFi
YXNlQ29ubmVjdGlvbi0+Y29uZmlybURpZENsb3NlRnJvbVNlcnZlcigpOwogfQogCi12b2lkIElE
QlNlcnZlcjo6Z2V0QWxsRGF0YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRl
bnRpZmllciwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBtYWluRnJhbWVPcmlnaW4sIGNvbnN0
IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3BlbmluZ09yaWdpbiwgdWludDY0X3QgY2FsbGJhY2tJRCkK
K3ZvaWQgSURCU2VydmVyOjpnZXRBbGxEYXRhYmFzZU5hbWVzKElEQkNvbm5lY3Rpb25JZGVudGlm
aWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEm
IG1haW5GcmFtZU9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2lu
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIHBvc3REYXRhYmFzZVRhc2soY3JlYXRlQ3Jv
c3NUaHJlYWRUYXNrKCp0aGlzLCAmSURCU2VydmVyOjpwZXJmb3JtR2V0QWxsRGF0YWJhc2VOYW1l
cywgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIG1haW5GcmFtZU9yaWdpbiwgb3BlbmluZ09y
aWdpbiwgY2FsbGJhY2tJRCkpOwogfQogCi12b2lkIElEQlNlcnZlcjo6cGVyZm9ybUdldEFsbERh
dGFiYXNlTmFtZXModWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYgbWFpbkZyYW1lT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRh
dGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90IGNhbGxiYWNrSUQpCit2b2lkIElEQlNlcnZlcjo6
cGVyZm9ybUdldEFsbERhdGFiYXNlTmFtZXMoSURCQ29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVy
Q29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgbWFpbkZyYW1l
T3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9wZW5pbmdPcmlnaW4sIHVpbnQ2NF90
IGNhbGxiYWNrSUQpCiB7CiAgICAgYXV0byBkYXRhYmFzZURpcmVjdG9yeVBhdGggPSB0aGlzLT5k
YXRhYmFzZURpcmVjdG9yeVBhdGhJc29sYXRlZENvcHkoKTsKICAgICBTdHJpbmcgb2xkRGlyZWN0
b3J5ID0gSURCRGF0YWJhc2VJZGVudGlmaWVyOjpkYXRhYmFzZURpcmVjdG9yeVJlbGF0aXZlVG9S
b290KG1haW5GcmFtZU9yaWdpbiwgb3BlbmluZ09yaWdpbiwgZGF0YWJhc2VEaXJlY3RvcnlQYXRo
LCAidjAiKTsKQEAgLTQ4Nyw3ICs0ODcsNyBAQCB2b2lkIElEQlNlcnZlcjo6cGVyZm9ybUdldEFs
bERhdGFiYXNlTmFtZXModWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsCiAgICAg
cG9zdERhdGFiYXNlVGFza1JlcGx5KGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJklEQlNl
cnZlcjo6ZGlkR2V0QWxsRGF0YWJhc2VOYW1lcywgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIs
IGNhbGxiYWNrSUQsIGRhdGFiYXNlcykpOwogfQogCi12b2lkIElEQlNlcnZlcjo6ZGlkR2V0QWxs
RGF0YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3QgY2FsbGJhY2tJRCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRhdGFiYXNlTmFtZXMpCit2b2lk
IElEQlNlcnZlcjo6ZGlkR2V0QWxsRGF0YWJhc2VOYW1lcyhJREJDb25uZWN0aW9uSWRlbnRpZmll
ciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgY2FsbGJhY2tJRCwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGRhdGFiYXNlTmFtZXMpCiB7CiAgICAgYXV0byBjb25uZWN0aW9uID0g
bV9jb25uZWN0aW9uTWFwLmdldChzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcik7CiAgICAgaWYg
KCFjb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5oCmluZGV4IGNkNmJhYmNhMWU4YmIzMmU5NzBhMjI1NDk3Y2EwNDBi
Y2Q2MmVkYmUuLjE5ZTY5NjJlZDE5YWJhNTQwMzJjYTA0NDcyNGVkMTExNTM1NGE1YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VydmVy
LmgKQEAgLTk2LDcgKzk2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgb3Bl
bkRCUmVxdWVzdENhbmNlbGxlZChjb25zdCBJREJSZXF1ZXN0RGF0YSYpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgY29uZmlybURpZENsb3NlRnJvbVNlcnZlcih1aW50NjRfdCBkYXRhYmFzZUNv
bm5lY3Rpb25JZGVudGlmaWVyKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0QWxsRGF0
YWJhc2VOYW1lcyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgY29uc3QgU2Vj
dXJpdHlPcmlnaW5EYXRhJiBtYWluRnJhbWVPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3BlbmluZ09yaWdpbiwgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBnZXRBbGxEYXRhYmFzZU5hbWVzKElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZl
ckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG1haW5GcmFt
ZU9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1aW50NjRf
dCBjYWxsYmFja0lEKTsKIAogICAgIHZvaWQgcG9zdERhdGFiYXNlVGFzayhDcm9zc1RocmVhZFRh
c2smJik7CiAgICAgdm9pZCBwb3N0RGF0YWJhc2VUYXNrUmVwbHkoQ3Jvc3NUaHJlYWRUYXNrJiYp
OwpAQCAtMTMzLDggKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgU3RyaW5nIGRhdGFiYXNl
RGlyZWN0b3J5UGF0aElzb2xhdGVkQ29weSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VEaXJl
Y3RvcnlQYXRoLmlzb2xhdGVkQ29weSgpOyB9CiAKLSAgICB2b2lkIHBlcmZvcm1HZXRBbGxEYXRh
YmFzZU5hbWVzKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBTZWN1
cml0eU9yaWdpbkRhdGEmIG1haW5GcmFtZU9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiBvcGVuaW5nT3JpZ2luLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKLSAgICB2b2lkIGRpZEdldEFs
bERhdGFiYXNlTmFtZXModWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2
NF90IGNhbGxiYWNrSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkYXRhYmFzZU5hbWVzKTsKKyAg
ICB2b2lkIHBlcmZvcm1HZXRBbGxEYXRhYmFzZU5hbWVzKElEQkNvbm5lY3Rpb25JZGVudGlmaWVy
IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG1h
aW5GcmFtZU9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcGVuaW5nT3JpZ2luLCB1
aW50NjRfdCBjYWxsYmFja0lEKTsKKyAgICB2b2lkIGRpZEdldEFsbERhdGFiYXNlTmFtZXMoSURC
Q29ubmVjdGlvbklkZW50aWZpZXIgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90
IGNhbGxiYWNrSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkYXRhYmFzZU5hbWVzKTsKIAogICAg
IHZvaWQgcGVyZm9ybUNsb3NlQW5kRGVsZXRlRGF0YWJhc2VzTW9kaWZpZWRTaW5jZShXYWxsVGlt
ZSwgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBwZXJmb3JtQ2xvc2VBbmREZWxldGVE
YXRhYmFzZXNGb3JPcmlnaW5zKGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+JiwgdWlu
dDY0X3QgY2FsbGJhY2tJRCk7CkBAIC0xODUsNyArMTg1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGZpbmlzaENvbXB1dGluZ1NwYWNlVXNlZEZvck9yaWdpbihjb25zdCBDbGllbnRPcmlnaW4mLCB1
aW50NjRfdCBzcGFjZVVzZWQpOwogCiAgICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7Ci0g
ICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4+IG1fY29u
bmVjdGlvbk1hcDsKKyAgICBIYXNoTWFwPElEQkNvbm5lY3Rpb25JZGVudGlmaWVyLCBSZWZQdHI8
SURCQ29ubmVjdGlvblRvQ2xpZW50Pj4gbV9jb25uZWN0aW9uTWFwOwogICAgIEhhc2hNYXA8SURC
RGF0YWJhc2VJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8VW5pcXVlSURCRGF0YWJhc2U+PiBt
X3VuaXF1ZUlEQkRhdGFiYXNlTWFwOwogCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgVW5pcXVlSURC
RGF0YWJhc2VDb25uZWN0aW9uKj4gbV9kYXRhYmFzZUNvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0
YS5jcHAKaW5kZXggMjE2NDE2YWZhMTFjZjI1NWQzNmRlZmIzZWZmMzZlZmFmMTk1NzEwMy4uMjY2
ODgzNzRjNjIzOTcwMzVmMjdiZGJhMzNhZGU0MjcwZDU5MTZiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEu
Y3BwCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBJREJSZXF1ZXN0RGF0YTo6aXNvbGF0ZWRDb3B5
KGNvbnN0IElEQlJlcXVlc3REYXRhJiBzb3VyY2UsIElEQlJlcXVlc3REYXRhJgogICAgICAgICBk
ZXN0aW5hdGlvbi5tX2N1cnNvcklkZW50aWZpZXIgPSBtYWtlVW5pcXVlPElEQlJlc291cmNlSWRl
bnRpZmllcj4oKnNvdXJjZS5tX2N1cnNvcklkZW50aWZpZXIpOwogfQogCi11aW50NjRfdCBJREJS
ZXF1ZXN0RGF0YTo6c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25zdAorSURCQ29ubmVj
dGlvbklkZW50aWZpZXIgSURCUmVxdWVzdERhdGE6OnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVy
KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcik7CiAg
ICAgcmV0dXJuIG1fc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oCmlu
ZGV4IDQwOGI0ZTQ2Mjg3MzM3YjlhYzM0NGFmYmY0NjkxNTg2OGU4MGYzNWQuLjUzYjdiNjJkMzE0
YzBiYTY1NmU1YjJiYzU5NjA4OGQ0ZTRmMTVmZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5oCkBAIC01Nyw3
ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBJREJSZXF1ZXN0RGF0YShjb25zdCBJREJSZXF1ZXN0RGF0
YSYsIElzb2xhdGVkQ29weVRhZyk7CiAgICAgSURCUmVxdWVzdERhdGEgaXNvbGF0ZWRDb3B5KCkg
Y29uc3Q7CiAKLSAgICB1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0
OworICAgIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVy
KCkgY29uc3Q7CiAgICAgSURCUmVzb3VyY2VJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyKCkg
Y29uc3Q7CiAgICAgSURCUmVzb3VyY2VJZGVudGlmaWVyIHRyYW5zYWN0aW9uSWRlbnRpZmllcigp
IGNvbnN0OwogICAgIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllcigpIGNvbnN0OwpAQCAt
ODEsNyArODEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGlzb2xhdGVk
Q29weShjb25zdCBJREJSZXF1ZXN0RGF0YSYgc291cmNlLCBJREJSZXF1ZXN0RGF0YSYgZGVzdGlu
YXRpb24pOwogCi0gICAgdWludDY0X3QgbV9zZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciB7IDAg
fTsKKyAgICBJREJDb25uZWN0aW9uSWRlbnRpZmllciBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJSZXNvdXJjZUlkZW50aWZpZXI+IG1fcmVxdWVz
dElkZW50aWZpZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQlJlc291cmNlSWRlbnRpZmllcj4g
bV90cmFuc2FjdGlvbklkZW50aWZpZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQlJlc291cmNl
SWRlbnRpZmllcj4gbV9jdXJzb3JJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRpZmllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlm
aWVyLmNwcAppbmRleCA2MTZkNTRmYWRmMWVkZjY0OWMyYzU2MmU2YjVjNTg1MzE0YmYwNGY2Li45
ZGFiODcwNGE2NzdjZjgyYzU1YTY4NGM3MWU3YTcwZjJkMzdiMGY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3VyY2VJZGVudGlmaWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
b3VyY2VJZGVudGlmaWVyLmNwcApAQCAtNTMsNyArNTMsNyBAQCBJREJSZXNvdXJjZUlkZW50aWZp
ZXI6OklEQlJlc291cmNlSWRlbnRpZmllcigpCiB7CiB9CiAKLUlEQlJlc291cmNlSWRlbnRpZmll
cjo6SURCUmVzb3VyY2VJZGVudGlmaWVyKHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyLCB1
aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIpCitJREJSZXNvdXJjZUlkZW50aWZpZXI6OklEQlJl
c291cmNlSWRlbnRpZmllcihJREJDb25uZWN0aW9uSWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRp
ZmllciwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyKQogICAgIDogbV9pZGJDb25uZWN0aW9u
SWRlbnRpZmllcihjb25uZWN0aW9uSWRlbnRpZmllcikKICAgICAsIG1fcmVzb3VyY2VOdW1iZXIo
cmVzb3VyY2VJZGVudGlmaWVyKQogewpAQCAtODQsMjUgKzg0LDI0IEBAIElEQlJlc291cmNlSWRl
bnRpZmllciBJREJSZXNvdXJjZUlkZW50aWZpZXI6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAKIElE
QlJlc291cmNlSWRlbnRpZmllciBJREJSZXNvdXJjZUlkZW50aWZpZXI6OmVtcHR5VmFsdWUoKQog
ewotICAgIHJldHVybiBJREJSZXNvdXJjZUlkZW50aWZpZXIoMCwgMCk7CisgICAgcmV0dXJuIElE
QlJlc291cmNlSWRlbnRpZmllcih7IH0sIDApOwogfQogCiBJREJSZXNvdXJjZUlkZW50aWZpZXIg
SURCUmVzb3VyY2VJZGVudGlmaWVyOjpkZWxldGVkVmFsdWUoKQogewotICAgIHJldHVybiBJREJS
ZXNvdXJjZUlkZW50aWZpZXIoc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpLCBz
dGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOworICAgIHJldHVybiBJREJSZXNv
dXJjZUlkZW50aWZpZXIoSURCQ29ubmVjdGlvbklkZW50aWZpZXIgeyBXVEY6Okhhc2hUYWJsZURl
bGV0ZWRWYWx1ZSB9LCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOwogfQog
CiBib29sIElEQlJlc291cmNlSWRlbnRpZmllcjo6aXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBj
b25zdAogewotICAgIHJldHVybiBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyID09IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKQotICAgICAgICAmJiBtX3Jlc291cmNlTnVtYmVy
ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKTsKKyAgICByZXR1cm4gbV9p
ZGJDb25uZWN0aW9uSWRlbnRpZmllci5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpICYmIG1fcmVz
b3VyY2VOdW1iZXIgPT0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpOwogfQog
CiAjaWYgIUxPR19ESVNBQkxFRAogCiBTdHJpbmcgSURCUmVzb3VyY2VJZGVudGlmaWVyOjpsb2dn
aW5nU3RyaW5nKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbWFrZVN0cmluZygnPCcsIG1faWRiQ29u
bmVjdGlvbklkZW50aWZpZXIsICIsICIsIG1fcmVzb3VyY2VOdW1iZXIsICc+Jyk7CisgICAgcmV0
dXJuIG1ha2VTdHJpbmcoJzwnLCBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyLnRvVUludDY0KCks
ICIsICIsIG1fcmVzb3VyY2VOdW1iZXIsICc+Jyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291cmNlSWRlbnRp
Zmllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc291
cmNlSWRlbnRpZmllci5oCmluZGV4IGQwZGZmYTAwNTAzZmIwMzc4ZDdlNzRmNTVjYWU1NzVhYzEx
MjU5ZmQuLjU4NGE0MzQyMTFhZWZlZWQ4MDM3ZTE3YzVmZGQzNGNjZTU2MjNjMzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXNvdXJjZUlk
ZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzb3VyY2VJZGVudGlmaWVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiUHJvY2Vzc0lkZW50aWZpZXIuaCIKICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQx
LDYgKzQyLDggQEAgbmFtZXNwYWNlIElEQlNlcnZlciB7CiBjbGFzcyBJREJDb25uZWN0aW9uVG9D
bGllbnQ7CiB9CiAKK3VzaW5nIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyID0gUHJvY2Vzc0lkZW50
aWZpZXI7CisKIGNsYXNzIElEQlJlc291cmNlSWRlbnRpZmllciB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC01OSw3ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIHVu
c2lnbmVkIGhhc2goKSBjb25zdAogICAgIHsKLSAgICAgICAgdWludDY0X3QgaGFzaENvZGVzWzJd
ID0geyBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyLCBtX3Jlc291cmNlTnVtYmVyIH07CisgICAg
ICAgIHVpbnQ2NF90IGhhc2hDb2Rlc1syXSA9IHsgbV9pZGJDb25uZWN0aW9uSWRlbnRpZmllci50
b1VJbnQ2NCgpLCBtX3Jlc291cmNlTnVtYmVyIH07CiAgICAgICAgIHJldHVybiBTdHJpbmdIYXNo
ZXI6Omhhc2hNZW1vcnk8c2l6ZW9mKGhhc2hDb2Rlcyk+KGhhc2hDb2Rlcyk7CiAgICAgfQogICAg
IApAQCAtNjksNyArNzIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAmJiBtX3Jlc291cmNlTnVt
YmVyID09IG90aGVyLm1fcmVzb3VyY2VOdW1iZXI7CiAgICAgfQogICAgIAotICAgIHVpbnQ2NF90
IGNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGJDb25uZWN0aW9uSWRl
bnRpZmllcjsgfQorICAgIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGJDb25uZWN0aW9uSWRlbnRpZmllcjsgfQogCiAgICAg
SURCUmVzb3VyY2VJZGVudGlmaWVyIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCkBAIC04Myw4ICs4
Niw4IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIElEQlJlc291cmNlSWRlbnRpZmllciYpOwogCiBwcml2YXRlOgotICAg
IElEQlJlc291cmNlSWRlbnRpZmllcih1aW50NjRfdCBjb25uZWN0aW9uSWRlbnRpZmllciwgdWlu
dDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyKTsKLSAgICB1aW50NjRfdCBtX2lkYkNvbm5lY3Rpb25J
ZGVudGlmaWVyIHsgMCB9OworICAgIElEQlJlc291cmNlSWRlbnRpZmllcihJREJDb25uZWN0aW9u
SWRlbnRpZmllciwgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyKTsKKyAgICBJREJDb25uZWN0
aW9uSWRlbnRpZmllciBtX2lkYkNvbm5lY3Rpb25JZGVudGlmaWVyOwogICAgIHVpbnQ2NF90IG1f
cmVzb3VyY2VOdW1iZXIgeyAwIH07CiB9OwogCkBAIC0xNDYsNiArMTQ5LDExIEBAIHRlbXBsYXRl
PD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklEQlJlc291cmNlSWRlbnRpZmllcj4gewog
ICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCUmVzb3VyY2VJZGVudGlmaWVySGFzaCBIYXNoOwogfTsK
IAoraW5saW5lIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIGNyb3NzVGhyZWFkQ29w
eShXZWJDb3JlOjpJREJDb25uZWN0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJl
dHVybiBpZGVudGlmaWVyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAppbmRleCBj
OTY4OTQ0NGZkMjI0MDJjZWQyMTEzYjNiZmEwYjlhNTI2YzY3M2FjLi5jM2NmOTUyNGE3NGIzNjk1
NzI5NGYxZGE3NmZhYmNlZmU3NmZmOWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApA
QCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIklEQlJlc3VsdERhdGEuaCIKICNpbmNsdWRlICJJ
REJWYWx1ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJQcm9jZXNzSWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KIApAQCAtOTAsMTEgKzkxLDExIEBAIEluUHJvY2Vzc0lEQlNlcnZlcjo6SW5Qcm9jZXNz
SURCU2VydmVyKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBkCiAgICAg
bV9jb25uZWN0aW9uVG9DbGllbnQgPSBJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6
Y3JlYXRlKCp0aGlzKTsKIH0KIAotdWludDY0X3QgSW5Qcm9jZXNzSURCU2VydmVyOjppZGVudGlm
aWVyKCkgY29uc3QKK0lEQkNvbm5lY3Rpb25JZGVudGlmaWVyIEluUHJvY2Vzc0lEQlNlcnZlcjo6
aWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgLy8gQW4gaW5zdGFuY2Ugb2YgSW5Qcm9jZXNzSURC
U2VydmVyIGFsd2F5cyBoYXMgYSAxOjEgcmVsYXRpb25zaGlwIHdpdGggaXRzIGluc3RhbmNlIG9m
IElEQlNlcnZlci4KICAgICAvLyBUaGVyZWZvcmUgdGhlIGNvbm5lY3Rpb24gaWRlbnRpZmllciBi
ZXR3ZWVuIHRoZSB0d28gY2FuIGFsd2F5cyBiZSAiMSIuCi0gICAgcmV0dXJuIDE7CisgICAgcmV0
dXJuIFByb2Nlc3M6OmlkZW50aWZpZXIoKTsKIH0KIAogSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
VG9TZXJ2ZXImIEluUHJvY2Vzc0lEQlNlcnZlcjo6Y29ubmVjdGlvblRvU2VydmVyKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblBy
b2Nlc3NJREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JblByb2Nlc3NJREJTZXJ2ZXIuaAppbmRleCAyNmFiZTY0YzZmYTJkYmExNzZkOTVmY2FlMDY1
ZWUxOGQzYzg2ZGEwLi4wZmY5NzU0NjRkOTlkZWYwMmY0YjVkZTdhNzE5NjhiYmZiYjI5YmMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9j
ZXNzSURCU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCkBAIC05NSw3ICs5NSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGdldEFsbERhdGFiYXNlTmFtZXMoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBtYWluRnJh
bWVPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgb3BlbmluZ09yaWdpbiwgdWludDY0
X3QgY2FsbGJhY2tJRCkgZmluYWw7CiAKICAgICAvLyBJREJDb25uZWN0aW9uVG9DbGllbnQKLSAg
ICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgSURCQ29ubmVjdGlv
bklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgZGlkRGVsZXRl
RGF0YWJhc2UoY29uc3QgSURCUmVzdWx0RGF0YSYpIGZpbmFsOwogICAgIHZvaWQgZGlkT3BlbkRh
dGFiYXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSBmaW5hbDsKICAgICB2b2lkIGRpZEFib3J0VHJh
bnNhY3Rpb24oY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZp
ZXIsIGNvbnN0IElEQkVycm9yJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9DbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dC5oCmluZGV4IDg5ZmZkMDg2MjlkNjkyYmE4M2QxNzcxMmZkNmUyNTc1Y2ZkNzI2NDkuLjIyMmM5
M2ZjZDBhNDIwZDAwMWM4MTdiMzJhMTc3OGE0YzI3Yjk5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5oCkBAIC01NiwxMiArNTYsMTIgQEAgY2xhc3MgTmV0d29ya1Byb2Nlc3M7
CiAKIGNsYXNzIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCBmaW5hbCA6IHB1YmxpYyBXZWJDb3Jl
OjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBwdWJsaWMgSVBDOjpN
ZXNzYWdlU2VuZGVyLCBwdWJsaWMgUmVmQ291bnRlZDxXZWJJREJDb25uZWN0aW9uVG9DbGllbnQ+
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gY3Jl
YXRlKE5ldHdvcmtQcm9jZXNzJiwgSVBDOjpDb25uZWN0aW9uJiwgV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEKTsKKyAgICBzdGF0aWMgUmVmPFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudD4gY3JlYXRlKE5ldHdvcmtQcm9jZXNzJiwgSVBDOjpDb25uZWN0aW9uJiwgV2Vi
Q29yZTo6SURCQ29ubmVjdGlvbklkZW50aWZpZXIsIFBBTDo6U2Vzc2lvbklEKTsKIAogICAgIHZp
cnR1YWwgfldlYklEQkNvbm5lY3Rpb25Ub0NsaWVudCgpOwogCiAgICAgV2ViQ29yZTo6SURCU2Vy
dmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmIGNvbm5lY3Rpb25Ub0NsaWVudCgpOwotICAgIHVp
bnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXIudG9V
SW50NjQoKTsgfQorICAgIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogICAgIHZvaWQgcmVm
KCkgb3ZlcnJpZGUgeyBSZWZDb3VudGVkPFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudD46OnJlZigp
OyB9CiAgICAgdm9pZCBkZXJlZigpIG92ZXJyaWRlIHsgUmVmQ291bnRlZDxXZWJJREJDb25uZWN0
aW9uVG9DbGllbnQ+OjpkZXJlZigpOyB9CkBAIC0xMzgsNyArMTM4LDcgQEAgcHJpdmF0ZToKICAg
ICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmPE5ldHdvcmtQcm9j
ZXNzPiBtX25ldHdvcmtQcm9jZXNzOwogCi0gICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIg
bV9pZGVudGlmaWVyOworICAgIFdlYkNvcmU6OklEQkNvbm5lY3Rpb25JZGVudGlmaWVyIG1faWRl
bnRpZmllcjsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBSZWZQdHI8V2Vi
Q29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQ+IG1fY29ubmVjdGlvblRvQ2xp
ZW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMv
SW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3Bw
CmluZGV4IGNlMWM5M2ViNGU3ZjkyZWVkNGNhZDUyMTZhMTQ1OGQ5NDY0ZDgzMzYuLjZjMmYxM2Qw
NjYwNTU3NmIzYWE4YjU0OTNhZWY5NzUzMThmY2QzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIv
V2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcApAQCAtNjksOSArNjksOSBAQCBXZWJJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6On5XZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIoKQogewogfQogCi11aW50
NjRfdCBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25zdAorSURCQ29u
bmVjdGlvbklkZW50aWZpZXIgV2ViSURCQ29ubmVjdGlvblRvU2VydmVyOjppZGVudGlmaWVyKCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gUHJvY2Vzczo6aWRlbnRpZmllcigpLnRvVUludDY0KCk7Cisg
ICAgcmV0dXJuIFByb2Nlc3M6OmlkZW50aWZpZXIoKTsKIH0KIAogSVBDOjpDb25uZWN0aW9uKiBX
ZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERC
L1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Rh
dGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKaW5kZXggZTRlOTRl
YTE5YTJhMTlhMjgyNTNkNzMxMjA3Mzc4NTk3M2E0MTc3OC4uY2Q5YTk4NzI0NDBkYmE2YWM2NmIx
YWZmZmQzNDdiYzVmMjdkNmY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlcigpOwogCiAgICAgV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIGNvcmVDb25uZWN0aW9uVG9TZXJ2ZXIoKTsKLSAgICB1aW50NjRfdCBp
ZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CisgICAgV2ViQ29yZTo6SURCQ29ubmVjdGlvbklkZW50
aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lkIGNvbm5lY3Rp
b25Ub1NlcnZlckxvc3QoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>