<?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>234314</bug_id>
          
          <creation_ts>2021-12-14 14:02:49 -0800</creation_ts>
          <short_desc>http/tests/security/basic-auth-subresource.html and some other http auth tests are flaky</short_desc>
          <delta_ts>2022-01-11 09:22:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234368</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=234455</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=232809</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1824112</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-14 14:02:49 -0800</bug_when>
    <thetext>http/tests/security/basic-auth-subresource.html and some other http auth tests are flaky:

--- /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release-iphonesimulator/layout-test-results/http/tests/security/basic-auth-subresource-expected.txt
+++ /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release-iphonesimulator/layout-test-results/http/tests/security/basic-auth-subresource-actual.txt
@@ -5,9 +5,11 @@
 127.0.0.1:8000 - didReceiveAuthenticationChallenge - ProtectionSpaceAuthenticationSchemeHTTPBasic - Responding with testUser:testPassword
 CONSOLE MESSAGE: Blocked https://127.0.0.1:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
 CONSOLE MESSAGE: Blocked https://localhost:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
+127.0.0.1:8000 - didReceiveAuthenticationChallenge - ProtectionSpaceAuthenticationSchemeHTTPBasic - Responding with testUser:testPassword
 CONSOLE MESSAGE: Blocked https://127.0.0.1:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
 CONSOLE MESSAGE: Blocked https://localhost:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
 CONSOLE MESSAGE: Blocked http://localhost:8000/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
+127.0.0.1:8000 - didReceiveAuthenticationChallenge - ProtectionSpaceAuthenticationSchemeHTTPBasic - Responding with testUser:testPassword
 CONSOLE MESSAGE: Blocked https://127.0.0.1:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
 CONSOLE MESSAGE: Blocked https://localhost:8443/security/resources/subresource2/protected-image.py from asking for credentials because it is a cross-origin request.
 Tests whether credentials are requested for protected subresources. Credentials should be requested if and only if the origin of the subresource matches the origin of the top-most frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824113</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-14 14:03:00 -0800</bug_when>
    <thetext>&lt;rdar://85150486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824125</commentid>
    <comment_count>2</comment_count>
      <attachid>447160</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-14 14:20:34 -0800</bug_when>
    <thetext>Created attachment 447160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824131</commentid>
    <comment_count>3</comment_count>
      <attachid>447163</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-14 14:28:05 -0800</bug_when>
    <thetext>Created attachment 447163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824149</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-14 15:25:38 -0800</bug_when>
    <thetext>Impacted tests:
http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html
http/tests/security/basic-auth-subresource.html
http/tests/security/credentials-from-different-domains.html
http/tests/security/credentials-main-resource.html
http/tests/security/sync-xhr-partition.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824201</commentid>
    <comment_count>5</comment_count>
      <attachid>447163</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-14 18:08:04 -0800</bug_when>
    <thetext>Comment on attachment 447163
Patch

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

&gt; Source/WebCore/platform/network/ProtectionSpaceHash.h:43
&gt; +        WTF::add(hasher, protectionSpace.host());
&gt; +        WTF::add(hasher, protectionSpace.port());
&gt; +        WTF::add(hasher, protectionSpace.serverType());
&gt; +        WTF::add(hasher, protectionSpace.authenticationScheme());
&gt; +        if (!protectionSpace.isProxy())
&gt; +            WTF::add(hasher, protectionSpace.realm());

Should not need the WTF:: prefixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824350</commentid>
    <comment_count>6</comment_count>
      <attachid>447232</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-15 08:02:56 -0800</bug_when>
    <thetext>Created attachment 447232
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824380</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-15 09:11:57 -0800</bug_when>
    <thetext>Committed r287077 (245272@main): &lt;https://commits.webkit.org/245272@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447232.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824537</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-15 13:54:51 -0800</bug_when>
    <thetext>Follow-up build fix: &lt;https://commits.webkit.org/r287107&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447160</attachid>
            <date>2021-12-14 14:20:34 -0800</date>
            <delta_ts>2021-12-14 14:28:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234314-20211214142033.patch</filename>
            <type>text/plain</type>
            <size>9722</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkYTljY2E0M2QyZWU0
Yzg0ZTdhYzM0YzRkZjRkYjVjMDYxNDNmOC4uY2M3YTQ2Yzk0YzJmMWI0ZGZlOTIyY2I5OGYxYmQ2
NWE1MWM5MzljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEyLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0
eS9iYXNpYy1hdXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRl
c3RzIGFyZSBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM0MzE0CisgICAgICAgIDxyZGFyOi8vODUxNTA0ODY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9iYXNp
Yy1hdXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRlc3RzIGFy
ZSBmbGFreS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIEkgd2lsbCBiZSBhYmxlIHRvIHVuc2tp
cCB0aG9zZSBsYXlvdXQgdGVzdHMgaW4gaW50ZXJuYWwgb25jZSB0aGlzIGxhbmRzLgorCisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OlByb3RlY3Rpb25TcGFjZUJhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OnNlcnZlclR5cGUg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6
cmVhbG0gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNl
QmFzZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UHJvdGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQcm90
ZWN0aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rp
b25TcGFjZUJhc2U6OnNlcnZlclR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVj
dGlvblNwYWNlQmFzZTo6cmVhbG0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlQmFzZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOgorICAgICAgICBDbGVhbiB1
cCAvIG1vZGVybmlzZSB0aGUgUHJvdGVjdGlvblNwYWNlQmFzZSBjbGFzcy4KKworICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvdGVjdGlvblNwYWNlSGFzaDo6aGFzaCk6CisgICAgICAgIC0gVXNlIEhhc2hlciBpbiBQ
cm90ZWN0aW9uU3BhY2VIYXNoOjpoYXNoKCkgYXMgaXQgaXMgbGVzcyBlcnJvci1wcm9uZS4gSSBi
ZWxpZXZlIHRoZQorICAgICAgICAgIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIHdhcyB3cm9uZyBi
ZWNhdXNlIGl0IHdhcyBjYWxsaW5nCisgICAgICAgICAgYFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9y
eShoYXNoQ29kZXMsIGNvZGVDb3VudClgIGluc3RlYWQgb2YKKyAgICAgICAgICBgU3RyaW5nSGFz
aGVyOjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50ICogc2l6ZW9mKHVuc2lnbmVkKSlg
LgorICAgICAgICAgIFRoaXMgY291bGQgaGF2ZSByZXN1bHRlZCBpbiBpbmVmZmljaWVuY2llcyBJ
IGJlbGlldmUgc2luY2Ugd2Ugd2VyZSBub3QgaGFzaGluZyB0aGUKKyAgICAgICAgICB3aG9sZSBh
cnJheSBtZW1vcnkuCisgICAgICAgIC0gRml4IFByb3RlY3Rpb25TcGFjZTxQcm90ZWN0aW9uU3Bh
Y2U+IHNvIHRoYXQgZW1wdHlWYWx1ZUlzWmVybyBpcyBmYWxzZSBpbnN0ZWFkIG9mCisgICAgICAg
ICAgdHJ1ZS4gVGhpcyB3YXMgYSBidWcgc2luY2UgdGhlIFByb3RlY3Rpb25TcGFjZUJhc2UgY29u
c3RydWN0b3IgaW5pdGlhbGl6ZXMgZGF0YQorICAgICAgICAgIG1lbWJlcnMgdG8gbm9uLXplcm8g
dmFsdWVzLgorCiAyMDIxLTEyLTEzICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIFNoYXJlZEJ1ZmZlckJ1aWxkZXIgY2xhc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUJhc2UuY3BwCmlu
ZGV4IDgyN2Q2YmZlYjQ4MjRkMDM5MDg5NTg0YTI1ODY1MjczMzZlN2MxODEuLjc5NzVmOWFjZDc1
MjI4MTM0MzIzOTdiMTY4M2Q4NzA1NDUzM2JlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcApAQCAtMzMsNDUg
KzMzLDE3IEBACiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBOZWVkIHRvIGVu
Zm9yY2UgZW1wdHksIG5vbi1udWxsIHN0cmluZ3MgZHVlIHRvIHRoZSBwaWNraW5lc3Mgb2YgdGhl
IFN0cmluZyA9PSBTdHJpbmcgb3BlcmF0b3IKLS8vIGNvbWJpbmVkIHdpdGggdGhlIHNlbWFudGlj
cyBvZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29uc3RydWN0b3IKLVByb3RlY3Rpb25TcGFjZUJh
c2U6OlByb3RlY3Rpb25TcGFjZUJhc2UoKQotICAgIDogbV9ob3N0KGVtcHR5U3RyaW5nKCkpCi0g
ICAgLCBtX3BvcnQoMCkKLSAgICAsIG1fc2VydmVyVHlwZShQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJI
VFRQKQotICAgICwgbV9yZWFsbShlbXB0eVN0cmluZygpKQotICAgICwgbV9hdXRoZW50aWNhdGlv
blNjaGVtZShQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZURlZmF1bHQpCi0gICAg
LCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKGZhbHNlKQotewotfQogIAogLy8gTmVlZCB0byBl
bmZvcmNlIGVtcHR5LCBub24tbnVsbCBzdHJpbmdzIGR1ZSB0byB0aGUgcGlja2luZXNzIG9mIHRo
ZSBTdHJpbmcgPT0gU3RyaW5nIG9wZXJhdG9yCiAvLyBjb21iaW5lZCB3aXRoIHRoZSBzZW1hbnRp
Y3Mgb2YgdGhlIFN0cmluZyhOU1N0cmluZyopIGNvbnN0cnVjdG9yCiBQcm90ZWN0aW9uU3BhY2VC
YXNlOjpQcm90ZWN0aW9uU3BhY2VCYXNlKGNvbnN0IFN0cmluZyYgaG9zdCwgaW50IHBvcnQsIFBy
b3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgc2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwg
UHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUp
CiAgICAgOiBtX2hvc3QoaG9zdC5sZW5ndGgoKSA/IGhvc3QgOiBlbXB0eVN0cmluZygpKQorICAg
ICwgbV9yZWFsbShyZWFsbS5sZW5ndGgoKSA/IHJlYWxtIDogZW1wdHlTdHJpbmcoKSkKICAgICAs
IG1fcG9ydChwb3J0KQogICAgICwgbV9zZXJ2ZXJUeXBlKHNlcnZlclR5cGUpCi0gICAgLCBtX3Jl
YWxtKHJlYWxtLmxlbmd0aCgpID8gcmVhbG0gOiBlbXB0eVN0cmluZygpKQogICAgICwgbV9hdXRo
ZW50aWNhdGlvblNjaGVtZShhdXRoZW50aWNhdGlvblNjaGVtZSkKLSAgICAsIG1faXNIYXNoVGFi
bGVEZWxldGVkVmFsdWUoZmFsc2UpCiB7ICAgIAogfQotICAgIAotY29uc3QgU3RyaW5nJiBQcm90
ZWN0aW9uU3BhY2VCYXNlOjpob3N0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ob3N0OyAKLX0K
LQotaW50IFByb3RlY3Rpb25TcGFjZUJhc2U6OnBvcnQoKSBjb25zdAotewotICAgIHJldHVybiBt
X3BvcnQ7IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIFByb3RlY3Rpb25TcGFjZUJh
c2U6OnNlcnZlclR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3NlcnZlclR5cGU7Ci19CiAK
IGJvb2wgUHJvdGVjdGlvblNwYWNlQmFzZTo6aXNQcm94eSgpIGNvbnN0CiB7CkBAIC04MSwxNiAr
NTMsNiBAQCBib29sIFByb3RlY3Rpb25TcGFjZUJhc2U6OmlzUHJveHkoKSBjb25zdAogICAgICAg
ICAgICAgbV9zZXJ2ZXJUeXBlID09IFByb3RlY3Rpb25TcGFjZVByb3h5U09DS1MpOwogfQogCi1j
b25zdCBTdHJpbmcmIFByb3RlY3Rpb25TcGFjZUJhc2U6OnJlYWxtKCkgY29uc3QKLXsgCi0gICAg
cmV0dXJuIG1fcmVhbG07IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVt
ZSBQcm90ZWN0aW9uU3BhY2VCYXNlOjphdXRoZW50aWNhdGlvblNjaGVtZSgpIGNvbnN0Ci17IAot
ICAgIHJldHVybiBtX2F1dGhlbnRpY2F0aW9uU2NoZW1lOyAKLX0KLQogYm9vbCBQcm90ZWN0aW9u
U3BhY2VCYXNlOjpyZWNlaXZlc0NyZWRlbnRpYWxTZWN1cmVseSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIChtX3NlcnZlclR5cGUgPT0gUHJvdGVjdGlvblNwYWNlU2VydmVySFRUUFMgfHwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNl
LmgKaW5kZXggOTA3N2ExNzE5ZTAxZTgzNGRjMGFhMGQ2OGIxMTlkMzk0YmY0YTZlZi4uNDI3YmE3
YjM5Y2Q1ZDA2ZTc3Zjc5NDNjZTEwNWU4MjFiYTRmOTRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKQEAgLTY0LDEy
ICs2NCwxMiBAQCBjbGFzcyBQcm90ZWN0aW9uU3BhY2VCYXNlIHsKIHB1YmxpYzoKICAgICBib29s
IGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhc2hUYWJsZURl
bGV0ZWRWYWx1ZTsgfQogICAgIAotICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFN0cmluZyYgaG9z
dCgpIGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIGludCBwb3J0KCkgY29uc3Q7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2ZXJUeXBlKCkgY29uc3Q7
CisgICAgY29uc3QgU3RyaW5nJiBob3N0KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0OyB9CisgICAg
aW50IHBvcnQoKSBjb25zdCB7IHJldHVybiBtX3BvcnQ7IH0KKyAgICBQcm90ZWN0aW9uU3BhY2VT
ZXJ2ZXJUeXBlIHNlcnZlclR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NlcnZlclR5cGU7IH0KICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUHJveHkoKSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9S
VCBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgUHJvdGVj
dGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUoKSBjb25z
dDsKKyAgICBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFsbTsgfQor
ICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIGF1dGhlbnRpY2F0aW9uU2No
ZW1lKCkgY29uc3QgeyByZXR1cm4gbV9hdXRoZW50aWNhdGlvblNjaGVtZTsgfQogICAgIAogICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVjZWl2ZXNDcmVkZW50aWFsU2VjdXJlbHkoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUGFzc3dvcmRCYXNlZCgpIGNvbnN0OwpAQCAtNzks
NyArNzksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgY29tcGFy
ZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKIAogcHJv
dGVjdGVkOgotICAgIFdFQkNPUkVfRVhQT1JUIFByb3RlY3Rpb25TcGFjZUJhc2UoKTsKKyAgICBQ
cm90ZWN0aW9uU3BhY2VCYXNlKCkgPSBkZWZhdWx0OwogICAgIFdFQkNPUkVfRVhQT1JUIFByb3Rl
Y3Rpb25TcGFjZUJhc2UoY29uc3QgU3RyaW5nJiBob3N0LCBpbnQgcG9ydCwgUHJvdGVjdGlvblNw
YWNlU2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgUHJvdGVjdGlvblNwYWNlQXV0aGVu
dGljYXRpb25TY2hlbWUpOwogCiAgICAgLy8gSGFzaCB0YWJsZSBkZWxldGVkIHZhbHVlcywgd2hp
Y2ggYXJlIG9ubHkgY29uc3RydWN0ZWQgYW5kIG5ldmVyIGNvcGllZCBvciBkZXN0cm95ZWQuCkBA
IC04OCwxMiArODgsMTUgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29t
cGFyZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKSB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIG1faG9zdDsKLSAgICBpbnQgbV9w
b3J0OwotICAgIFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgbV9zZXJ2ZXJUeXBlOwotICAgIFN0
cmluZyBtX3JlYWxtOwotICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIG1f
YXV0aGVudGljYXRpb25TY2hlbWU7Ci0gICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVl
OworICAgIC8vIE5lZWQgdG8gZW5mb3JjZSBlbXB0eSwgbm9uLW51bGwgc3RyaW5ncyBkdWUgdG8g
dGhlIHBpY2tpbmVzcyBvZiB0aGUgU3RyaW5nID09IFN0cmluZyBvcGVyYXRvcgorICAgIC8vIGNv
bWJpbmVkIHdpdGggdGhlIHNlbWFudGljcyBvZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29uc3Ry
dWN0b3IKKyAgICBTdHJpbmcgbV9ob3N0IHsgZW1wdHlTdHJpbmcoKSB9OworICAgIFN0cmluZyBt
X3JlYWxtIHsgZW1wdHlTdHJpbmcoKSB9OworCisgICAgaW50IG1fcG9ydCB7IDAgfTsKKyAgICBQ
cm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIG1fc2VydmVyVHlwZSB7IFByb3RlY3Rpb25TcGFjZVNl
cnZlckhUVFAgfTsKKyAgICBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZSBtX2F1
dGhlbnRpY2F0aW9uU2NoZW1lIHsgUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVE
ZWZhdWx0IH07CisgICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlIHsgZmFsc2UgfTsK
IH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBhLCBj
b25zdCBQcm90ZWN0aW9uU3BhY2UmIGIpIHsgcmV0dXJuIFByb3RlY3Rpb25TcGFjZUJhc2U6OmNv
bXBhcmUoYSwgYik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Qcm90ZWN0aW9uU3BhY2VIYXNoLmgKaW5kZXggZDU5YzJmMTkzZmFkMTY5ZTk4NDI4ZTcyOTA0
NmUxOTVmZGQ4YzE0OC4uOTY5ZTA2OGY5MmE1ZGZkNDliMDNjMWQwYmViMjFjNTIyZDAxYzVkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3Bh
Y2VIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9u
U3BhY2VIYXNoLmgKQEAgLTI4LDM2ICsyOCwzNCBAQAogCiAjaW5jbHVkZSAiUHJvdGVjdGlvblNw
YWNlLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaGVy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFByb3RlY3Rpb25TcGFjZUhhc2gg
ewogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVj
dGlvblNwYWNlKQogICAgIHsgCi0gICAgICAgIHVuc2lnbmVkIGhhc2hDb2Rlc1s1XSA9IHsKLSAg
ICAgICAgICAgIHByb3RlY3Rpb25TcGFjZS5ob3N0KCkuaW1wbCgpID8gcHJvdGVjdGlvblNwYWNl
Lmhvc3QoKS5pbXBsKCktPmhhc2goKSA6IDAsIAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpLAotICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgp
KSwKLSAgICAgICAgICAgIHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmltcGwoKSA/IHByb3RlY3Rp
b25TcGFjZS5yZWFsbSgpLmltcGwoKS0+aGFzaCgpIDogMAotICAgICAgICB9OwotCi0gICAgICAg
IHVuc2lnbmVkIGNvZGVDb3VudCA9IHNpemVvZihoYXNoQ29kZXMpOwotICAgICAgICAvLyBJZ25v
cmUgcmVhbG0gZm9yIHByb3hpZXMuCi0gICAgICAgIGlmIChwcm90ZWN0aW9uU3BhY2UuaXNQcm94
eSgpKQotICAgICAgICAgICAgY29kZUNvdW50IC09IHNpemVvZihoYXNoQ29kZXNbMF0pOwotICAg
ICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50
KTsKKyAgICAgICAgSGFzaGVyIGhhc2hlcjsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90
ZWN0aW9uU3BhY2UuaG9zdCgpKTsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9u
U3BhY2UucG9ydCgpKTsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2Uu
c2VydmVyVHlwZSgpKTsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2Uu
YXV0aGVudGljYXRpb25TY2hlbWUoKSk7CisgICAgICAgIGlmICghcHJvdGVjdGlvblNwYWNlLmlz
UHJveHkoKSkKKyAgICAgICAgICAgIFdURjo6YWRkKGhhc2hlciwgcHJvdGVjdGlvblNwYWNlLnJl
YWxtKCkpOworICAgICAgICByZXR1cm4gaGFzaGVyLmhhc2goKTsKICAgICB9CiAgICAgCiAgICAg
c3RhdGljIGJvb2wgZXF1YWwoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBhLCBjb25zdCBQcm90ZWN0
aW9uU3BhY2UmIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQotICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFsc2U7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFsc2U7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0ZTw+IHN0cnVj
dCBIYXNoVHJhaXRzPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hhc2hU
cmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBI
YXNoVHJhaXRzPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFp
dHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29s
IGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKK307CiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0
SGFzaDxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IDogV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNl
SGFzaCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447163</attachid>
            <date>2021-12-14 14:28:05 -0800</date>
            <delta_ts>2021-12-15 08:02:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234314-20211214142804.patch</filename>
            <type>text/plain</type>
            <size>10485</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkYTljY2E0M2QyZWU0
Yzg0ZTdhYzM0YzRkZjRkYjVjMDYxNDNmOC4uY2M3YTQ2Yzk0YzJmMWI0ZGZlOTIyY2I5OGYxYmQ2
NWE1MWM5MzljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEyLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0
eS9iYXNpYy1hdXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRl
c3RzIGFyZSBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM0MzE0CisgICAgICAgIDxyZGFyOi8vODUxNTA0ODY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9iYXNp
Yy1hdXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRlc3RzIGFy
ZSBmbGFreS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIEkgd2lsbCBiZSBhYmxlIHRvIHVuc2tp
cCB0aG9zZSBsYXlvdXQgdGVzdHMgaW4gaW50ZXJuYWwgb25jZSB0aGlzIGxhbmRzLgorCisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OlByb3RlY3Rpb25TcGFjZUJhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OnNlcnZlclR5cGUg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6
cmVhbG0gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNl
QmFzZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UHJvdGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQcm90
ZWN0aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rp
b25TcGFjZUJhc2U6OnNlcnZlclR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVj
dGlvblNwYWNlQmFzZTo6cmVhbG0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlQmFzZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOgorICAgICAgICBDbGVhbiB1
cCAvIG1vZGVybmlzZSB0aGUgUHJvdGVjdGlvblNwYWNlQmFzZSBjbGFzcy4KKworICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvdGVjdGlvblNwYWNlSGFzaDo6aGFzaCk6CisgICAgICAgIC0gVXNlIEhhc2hlciBpbiBQ
cm90ZWN0aW9uU3BhY2VIYXNoOjpoYXNoKCkgYXMgaXQgaXMgbGVzcyBlcnJvci1wcm9uZS4gSSBi
ZWxpZXZlIHRoZQorICAgICAgICAgIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIHdhcyB3cm9uZyBi
ZWNhdXNlIGl0IHdhcyBjYWxsaW5nCisgICAgICAgICAgYFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9y
eShoYXNoQ29kZXMsIGNvZGVDb3VudClgIGluc3RlYWQgb2YKKyAgICAgICAgICBgU3RyaW5nSGFz
aGVyOjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50ICogc2l6ZW9mKHVuc2lnbmVkKSlg
LgorICAgICAgICAgIFRoaXMgY291bGQgaGF2ZSByZXN1bHRlZCBpbiBpbmVmZmljaWVuY2llcyBJ
IGJlbGlldmUgc2luY2Ugd2Ugd2VyZSBub3QgaGFzaGluZyB0aGUKKyAgICAgICAgICB3aG9sZSBh
cnJheSBtZW1vcnkuCisgICAgICAgIC0gRml4IFByb3RlY3Rpb25TcGFjZTxQcm90ZWN0aW9uU3Bh
Y2U+IHNvIHRoYXQgZW1wdHlWYWx1ZUlzWmVybyBpcyBmYWxzZSBpbnN0ZWFkIG9mCisgICAgICAg
ICAgdHJ1ZS4gVGhpcyB3YXMgYSBidWcgc2luY2UgdGhlIFByb3RlY3Rpb25TcGFjZUJhc2UgY29u
c3RydWN0b3IgaW5pdGlhbGl6ZXMgZGF0YQorICAgICAgICAgIG1lbWJlcnMgdG8gbm9uLXplcm8g
dmFsdWVzLgorCiAyMDIxLTEyLTEzICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIFNoYXJlZEJ1ZmZlckJ1aWxkZXIgY2xhc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUJhc2UuY3BwCmlu
ZGV4IDgyN2Q2YmZlYjQ4MjRkMDM5MDg5NTg0YTI1ODY1MjczMzZlN2MxODEuLjc5NzVmOWFjZDc1
MjI4MTM0MzIzOTdiMTY4M2Q4NzA1NDUzM2JlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcApAQCAtMzMsNDUg
KzMzLDE3IEBACiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBOZWVkIHRvIGVu
Zm9yY2UgZW1wdHksIG5vbi1udWxsIHN0cmluZ3MgZHVlIHRvIHRoZSBwaWNraW5lc3Mgb2YgdGhl
IFN0cmluZyA9PSBTdHJpbmcgb3BlcmF0b3IKLS8vIGNvbWJpbmVkIHdpdGggdGhlIHNlbWFudGlj
cyBvZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29uc3RydWN0b3IKLVByb3RlY3Rpb25TcGFjZUJh
c2U6OlByb3RlY3Rpb25TcGFjZUJhc2UoKQotICAgIDogbV9ob3N0KGVtcHR5U3RyaW5nKCkpCi0g
ICAgLCBtX3BvcnQoMCkKLSAgICAsIG1fc2VydmVyVHlwZShQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJI
VFRQKQotICAgICwgbV9yZWFsbShlbXB0eVN0cmluZygpKQotICAgICwgbV9hdXRoZW50aWNhdGlv
blNjaGVtZShQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZURlZmF1bHQpCi0gICAg
LCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKGZhbHNlKQotewotfQogIAogLy8gTmVlZCB0byBl
bmZvcmNlIGVtcHR5LCBub24tbnVsbCBzdHJpbmdzIGR1ZSB0byB0aGUgcGlja2luZXNzIG9mIHRo
ZSBTdHJpbmcgPT0gU3RyaW5nIG9wZXJhdG9yCiAvLyBjb21iaW5lZCB3aXRoIHRoZSBzZW1hbnRp
Y3Mgb2YgdGhlIFN0cmluZyhOU1N0cmluZyopIGNvbnN0cnVjdG9yCiBQcm90ZWN0aW9uU3BhY2VC
YXNlOjpQcm90ZWN0aW9uU3BhY2VCYXNlKGNvbnN0IFN0cmluZyYgaG9zdCwgaW50IHBvcnQsIFBy
b3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgc2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwg
UHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUp
CiAgICAgOiBtX2hvc3QoaG9zdC5sZW5ndGgoKSA/IGhvc3QgOiBlbXB0eVN0cmluZygpKQorICAg
ICwgbV9yZWFsbShyZWFsbS5sZW5ndGgoKSA/IHJlYWxtIDogZW1wdHlTdHJpbmcoKSkKICAgICAs
IG1fcG9ydChwb3J0KQogICAgICwgbV9zZXJ2ZXJUeXBlKHNlcnZlclR5cGUpCi0gICAgLCBtX3Jl
YWxtKHJlYWxtLmxlbmd0aCgpID8gcmVhbG0gOiBlbXB0eVN0cmluZygpKQogICAgICwgbV9hdXRo
ZW50aWNhdGlvblNjaGVtZShhdXRoZW50aWNhdGlvblNjaGVtZSkKLSAgICAsIG1faXNIYXNoVGFi
bGVEZWxldGVkVmFsdWUoZmFsc2UpCiB7ICAgIAogfQotICAgIAotY29uc3QgU3RyaW5nJiBQcm90
ZWN0aW9uU3BhY2VCYXNlOjpob3N0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ob3N0OyAKLX0K
LQotaW50IFByb3RlY3Rpb25TcGFjZUJhc2U6OnBvcnQoKSBjb25zdAotewotICAgIHJldHVybiBt
X3BvcnQ7IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIFByb3RlY3Rpb25TcGFjZUJh
c2U6OnNlcnZlclR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3NlcnZlclR5cGU7Ci19CiAK
IGJvb2wgUHJvdGVjdGlvblNwYWNlQmFzZTo6aXNQcm94eSgpIGNvbnN0CiB7CkBAIC04MSwxNiAr
NTMsNiBAQCBib29sIFByb3RlY3Rpb25TcGFjZUJhc2U6OmlzUHJveHkoKSBjb25zdAogICAgICAg
ICAgICAgbV9zZXJ2ZXJUeXBlID09IFByb3RlY3Rpb25TcGFjZVByb3h5U09DS1MpOwogfQogCi1j
b25zdCBTdHJpbmcmIFByb3RlY3Rpb25TcGFjZUJhc2U6OnJlYWxtKCkgY29uc3QKLXsgCi0gICAg
cmV0dXJuIG1fcmVhbG07IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVt
ZSBQcm90ZWN0aW9uU3BhY2VCYXNlOjphdXRoZW50aWNhdGlvblNjaGVtZSgpIGNvbnN0Ci17IAot
ICAgIHJldHVybiBtX2F1dGhlbnRpY2F0aW9uU2NoZW1lOyAKLX0KLQogYm9vbCBQcm90ZWN0aW9u
U3BhY2VCYXNlOjpyZWNlaXZlc0NyZWRlbnRpYWxTZWN1cmVseSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIChtX3NlcnZlclR5cGUgPT0gUHJvdGVjdGlvblNwYWNlU2VydmVySFRUUFMgfHwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNl
LmgKaW5kZXggOTA3N2ExNzE5ZTAxZTgzNGRjMGFhMGQ2OGIxMTlkMzk0YmY0YTZlZi4uOGJlNDFk
NDc0MDdmNGVhNDgyMTlkOTE4Y2ZhNjk3YjE4YTgxZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjAgQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDIxIEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY0
LDEyICs2NCwxMiBAQCBjbGFzcyBQcm90ZWN0aW9uU3BhY2VCYXNlIHsKIHB1YmxpYzoKICAgICBi
b29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZTsgfQogICAgIAotICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFN0cmluZyYg
aG9zdCgpIGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIGludCBwb3J0KCkgY29uc3Q7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2ZXJUeXBlKCkgY29u
c3Q7CisgICAgY29uc3QgU3RyaW5nJiBob3N0KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0OyB9Cisg
ICAgaW50IHBvcnQoKSBjb25zdCB7IHJldHVybiBtX3BvcnQ7IH0KKyAgICBQcm90ZWN0aW9uU3Bh
Y2VTZXJ2ZXJUeXBlIHNlcnZlclR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NlcnZlclR5cGU7IH0K
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUHJveHkoKSBjb25zdDsKLSAgICBXRUJDT1JFX0VY
UE9SVCBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgUHJv
dGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUoKSBj
b25zdDsKKyAgICBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFsbTsg
fQorICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIGF1dGhlbnRpY2F0aW9u
U2NoZW1lKCkgY29uc3QgeyByZXR1cm4gbV9hdXRoZW50aWNhdGlvblNjaGVtZTsgfQogICAgIAog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVjZWl2ZXNDcmVkZW50aWFsU2VjdXJlbHkoKSBjb25z
dDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUGFzc3dvcmRCYXNlZCgpIGNvbnN0OwpAQCAt
NzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgY29t
cGFyZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKIAog
cHJvdGVjdGVkOgotICAgIFdFQkNPUkVfRVhQT1JUIFByb3RlY3Rpb25TcGFjZUJhc2UoKTsKKyAg
ICBQcm90ZWN0aW9uU3BhY2VCYXNlKCkgPSBkZWZhdWx0OwogICAgIFdFQkNPUkVfRVhQT1JUIFBy
b3RlY3Rpb25TcGFjZUJhc2UoY29uc3QgU3RyaW5nJiBob3N0LCBpbnQgcG9ydCwgUHJvdGVjdGlv
blNwYWNlU2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgUHJvdGVjdGlvblNwYWNlQXV0
aGVudGljYXRpb25TY2hlbWUpOwogCiAgICAgLy8gSGFzaCB0YWJsZSBkZWxldGVkIHZhbHVlcywg
d2hpY2ggYXJlIG9ubHkgY29uc3RydWN0ZWQgYW5kIG5ldmVyIGNvcGllZCBvciBkZXN0cm95ZWQu
CkBAIC04OCwxMiArODgsMTUgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBib29sIHBsYXRmb3Jt
Q29tcGFyZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKSB7
IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIG1faG9zdDsKLSAgICBpbnQg
bV9wb3J0OwotICAgIFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgbV9zZXJ2ZXJUeXBlOwotICAg
IFN0cmluZyBtX3JlYWxtOwotICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1l
IG1fYXV0aGVudGljYXRpb25TY2hlbWU7Ci0gICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZh
bHVlOworICAgIC8vIE5lZWQgdG8gZW5mb3JjZSBlbXB0eSwgbm9uLW51bGwgc3RyaW5ncyBkdWUg
dG8gdGhlIHBpY2tpbmVzcyBvZiB0aGUgU3RyaW5nID09IFN0cmluZyBvcGVyYXRvcgorICAgIC8v
IGNvbWJpbmVkIHdpdGggdGhlIHNlbWFudGljcyBvZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29u
c3RydWN0b3IKKyAgICBTdHJpbmcgbV9ob3N0IHsgZW1wdHlTdHJpbmcoKSB9OworICAgIFN0cmlu
ZyBtX3JlYWxtIHsgZW1wdHlTdHJpbmcoKSB9OworCisgICAgaW50IG1fcG9ydCB7IDAgfTsKKyAg
ICBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIG1fc2VydmVyVHlwZSB7IFByb3RlY3Rpb25TcGFj
ZVNlcnZlckhUVFAgfTsKKyAgICBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZSBt
X2F1dGhlbnRpY2F0aW9uU2NoZW1lIHsgUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hl
bWVEZWZhdWx0IH07CisgICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlIHsgZmFsc2Ug
fTsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBh
LCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIGIpIHsgcmV0dXJuIFByb3RlY3Rpb25TcGFjZUJhc2U6
OmNvbXBhcmUoYSwgYik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Qcm90ZWN0aW9uU3BhY2VIYXNoLmgKaW5kZXggZDU5YzJmMTkzZmFkMTY5ZTk4NDI4ZTcy
OTA0NmUxOTVmZGQ4YzE0OC4uZTk0NjAzYjk2YzNlNjc2NTkwYjUxZTNiYWFkMjhjODY2OGJiOWUx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9u
U3BhY2VIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0
aW9uU3BhY2VIYXNoLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOS0y
MDIxIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjMsNDQgKzIzLDM4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0j
aWZuZGVmIFByb3RlY3Rpb25TcGFjZUhhc2hfaAotI2RlZmluZSBQcm90ZWN0aW9uU3BhY2VIYXNo
X2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiUHJvdGVjdGlvblNwYWNlLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hUcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaGVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RydWN0IFByb3RlY3Rpb25TcGFjZUhhc2ggewogICAgIHN0YXRpYyB1
bnNpZ25lZCBoYXNoKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogICAg
IHsgCi0gICAgICAgIHVuc2lnbmVkIGhhc2hDb2Rlc1s1XSA9IHsKLSAgICAgICAgICAgIHByb3Rl
Y3Rpb25TcGFjZS5ob3N0KCkuaW1wbCgpID8gcHJvdGVjdGlvblNwYWNlLmhvc3QoKS5pbXBsKCkt
Pmhhc2goKSA6IDAsIAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHByb3RlY3Rp
b25TcGFjZS5wb3J0KCkpLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHByb3Rl
Y3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSwKLSAgICAgICAgICAg
IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmltcGwoKSA/IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgp
LmltcGwoKS0+aGFzaCgpIDogMAotICAgICAgICB9OwotCi0gICAgICAgIHVuc2lnbmVkIGNvZGVD
b3VudCA9IHNpemVvZihoYXNoQ29kZXMpOwotICAgICAgICAvLyBJZ25vcmUgcmVhbG0gZm9yIHBy
b3hpZXMuCi0gICAgICAgIGlmIChwcm90ZWN0aW9uU3BhY2UuaXNQcm94eSgpKQotICAgICAgICAg
ICAgY29kZUNvdW50IC09IHNpemVvZihoYXNoQ29kZXNbMF0pOwotICAgICAgICByZXR1cm4gU3Ry
aW5nSGFzaGVyOjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50KTsKKyAgICAgICAgSGFz
aGVyIGhhc2hlcjsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2UuaG9z
dCgpKTsKKyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2UucG9ydCgpKTsK
KyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKTsK
KyAgICAgICAgV1RGOjphZGQoaGFzaGVyLCBwcm90ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25T
Y2hlbWUoKSk7CisgICAgICAgIGlmICghcHJvdGVjdGlvblNwYWNlLmlzUHJveHkoKSkKKyAgICAg
ICAgICAgIFdURjo6YWRkKGhhc2hlciwgcHJvdGVjdGlvblNwYWNlLnJlYWxtKCkpOworICAgICAg
ICByZXR1cm4gaGFzaGVyLmhhc2goKTsKICAgICB9CiAgICAgCiAgICAgc3RhdGljIGJvb2wgZXF1
YWwoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBhLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIGIpIHsg
cmV0dXJuIGEgPT0gYjsgfQotICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gZmFsc2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHNhZmVUb0Nv
bXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFsc2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKIG5hbWVzcGFjZSBXVEYgewogCi10ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6
UHJvdGVjdGlvblNwYWNlPiB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNv
cmU6OlByb3RlY3Rpb25TcGFjZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UHJv
dGVjdGlvblNwYWNlPiB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGVtcHR5VmFsdWVJc1pl
cm8gPSBmYWxzZTsKK307CiB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpQ
cm90ZWN0aW9uU3BhY2U+IDogV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlSGFzaCB7IH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgotCi0KLSNlbmRpZiAvLyBQcm90ZWN0aW9uU3BhY2VIYXNoX2gK
</data>
<flag name="review"
          id="472734"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="472735"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447232</attachid>
            <date>2021-12-15 08:02:56 -0800</date>
            <delta_ts>2021-12-15 09:11:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>234314.patch</filename>
            <type>text/plain</type>
            <size>10457</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkYTljY2E0M2QyZWU0
Yzg0ZTdhYzM0YzRkZjRkYjVjMDYxNDNmOC4uY2M3YTQ2Yzk0YzJmMWI0ZGZlOTIyY2I5OGYxYmQ2
NWE1MWM5MzljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEyLTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0
eS9iYXNpYy1hdXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRl
c3RzIGFyZSBmbGFreQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM0MzE0CisgICAgICAgIDxyZGFyOi8vODUxNTA0ODY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9iYXNpYy1h
dXRoLXN1YnJlc291cmNlLmh0bWwgYW5kIHNvbWUgb3RoZXIgaHR0cCBhdXRoIHRlc3RzIGFyZSBm
bGFreS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIEkgd2lsbCBiZSBhYmxlIHRvIHVuc2tpcCB0
aG9zZSBsYXlvdXQgdGVzdHMgaW4gaW50ZXJuYWwgb25jZSB0aGlzIGxhbmRzLgorCisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OlByb3RlY3Rpb25TcGFjZUJhc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZUJhc2U6OnNlcnZlclR5cGUgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFzZTo6cmVh
bG0gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlQmFz
ZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UHJv
dGVjdGlvblNwYWNlQmFzZTo6aG9zdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQcm90ZWN0
aW9uU3BhY2VCYXNlOjpwb3J0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlByb3RlY3Rpb25T
cGFjZUJhc2U6OnNlcnZlclR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlv
blNwYWNlQmFzZTo6cmVhbG0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UHJvdGVjdGlvblNw
YWNlQmFzZTo6YXV0aGVudGljYXRpb25TY2hlbWUgY29uc3QpOgorICAgICAgICBDbGVhbiB1cCAv
IG1vZGVybmlzZSB0aGUgUHJvdGVjdGlvblNwYWNlQmFzZSBjbGFzcy4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oOgorICAgICAgICAoV2ViQ29yZTo6
UHJvdGVjdGlvblNwYWNlSGFzaDo6aGFzaCk6CisgICAgICAgIC0gVXNlIEhhc2hlciBpbiBQcm90
ZWN0aW9uU3BhY2VIYXNoOjpoYXNoKCkgYXMgaXQgaXMgbGVzcyBlcnJvci1wcm9uZS4gSSBiZWxp
ZXZlIHRoZQorICAgICAgICAgIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIHdhcyB3cm9uZyBiZWNh
dXNlIGl0IHdhcyBjYWxsaW5nCisgICAgICAgICAgYFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeSho
YXNoQ29kZXMsIGNvZGVDb3VudClgIGluc3RlYWQgb2YKKyAgICAgICAgICBgU3RyaW5nSGFzaGVy
OjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50ICogc2l6ZW9mKHVuc2lnbmVkKSlgLgor
ICAgICAgICAgIFRoaXMgY291bGQgaGF2ZSByZXN1bHRlZCBpbiBpbmVmZmljaWVuY2llcyBJIGJl
bGlldmUgc2luY2Ugd2Ugd2VyZSBub3QgaGFzaGluZyB0aGUKKyAgICAgICAgICB3aG9sZSBhcnJh
eSBtZW1vcnkuCisgICAgICAgIC0gRml4IFByb3RlY3Rpb25TcGFjZTxQcm90ZWN0aW9uU3BhY2U+
IHNvIHRoYXQgZW1wdHlWYWx1ZUlzWmVybyBpcyBmYWxzZSBpbnN0ZWFkIG9mCisgICAgICAgICAg
dHJ1ZS4gVGhpcyB3YXMgYSBidWcgc2luY2UgdGhlIFByb3RlY3Rpb25TcGFjZUJhc2UgY29uc3Ry
dWN0b3IgaW5pdGlhbGl6ZXMgZGF0YQorICAgICAgICAgIG1lbWJlcnMgdG8gbm9uLXplcm8gdmFs
dWVzLgorCiAyMDIxLTEyLTEzICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIFNoYXJlZEJ1ZmZlckJ1aWxkZXIgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Byb3RlY3Rpb25TcGFjZUJhc2UuY3BwCmluZGV4
IDgyN2Q2YmZlYjQ4MjRkMDM5MDg5NTg0YTI1ODY1MjczMzZlN2MxODEuLjc5NzVmOWFjZDc1MjI4
MTM0MzIzOTdiMTY4M2Q4NzA1NDUzM2JlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmNwcApAQCAtMzMsNDUgKzMz
LDE3IEBACiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBOZWVkIHRvIGVuZm9y
Y2UgZW1wdHksIG5vbi1udWxsIHN0cmluZ3MgZHVlIHRvIHRoZSBwaWNraW5lc3Mgb2YgdGhlIFN0
cmluZyA9PSBTdHJpbmcgb3BlcmF0b3IKLS8vIGNvbWJpbmVkIHdpdGggdGhlIHNlbWFudGljcyBv
ZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29uc3RydWN0b3IKLVByb3RlY3Rpb25TcGFjZUJhc2U6
OlByb3RlY3Rpb25TcGFjZUJhc2UoKQotICAgIDogbV9ob3N0KGVtcHR5U3RyaW5nKCkpCi0gICAg
LCBtX3BvcnQoMCkKLSAgICAsIG1fc2VydmVyVHlwZShQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJIVFRQ
KQotICAgICwgbV9yZWFsbShlbXB0eVN0cmluZygpKQotICAgICwgbV9hdXRoZW50aWNhdGlvblNj
aGVtZShQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZURlZmF1bHQpCi0gICAgLCBt
X2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKGZhbHNlKQotewotfQogIAogLy8gTmVlZCB0byBlbmZv
cmNlIGVtcHR5LCBub24tbnVsbCBzdHJpbmdzIGR1ZSB0byB0aGUgcGlja2luZXNzIG9mIHRoZSBT
dHJpbmcgPT0gU3RyaW5nIG9wZXJhdG9yCiAvLyBjb21iaW5lZCB3aXRoIHRoZSBzZW1hbnRpY3Mg
b2YgdGhlIFN0cmluZyhOU1N0cmluZyopIGNvbnN0cnVjdG9yCiBQcm90ZWN0aW9uU3BhY2VCYXNl
OjpQcm90ZWN0aW9uU3BhY2VCYXNlKGNvbnN0IFN0cmluZyYgaG9zdCwgaW50IHBvcnQsIFByb3Rl
Y3Rpb25TcGFjZVNlcnZlclR5cGUgc2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgUHJv
dGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUpCiAg
ICAgOiBtX2hvc3QoaG9zdC5sZW5ndGgoKSA/IGhvc3QgOiBlbXB0eVN0cmluZygpKQorICAgICwg
bV9yZWFsbShyZWFsbS5sZW5ndGgoKSA/IHJlYWxtIDogZW1wdHlTdHJpbmcoKSkKICAgICAsIG1f
cG9ydChwb3J0KQogICAgICwgbV9zZXJ2ZXJUeXBlKHNlcnZlclR5cGUpCi0gICAgLCBtX3JlYWxt
KHJlYWxtLmxlbmd0aCgpID8gcmVhbG0gOiBlbXB0eVN0cmluZygpKQogICAgICwgbV9hdXRoZW50
aWNhdGlvblNjaGVtZShhdXRoZW50aWNhdGlvblNjaGVtZSkKLSAgICAsIG1faXNIYXNoVGFibGVE
ZWxldGVkVmFsdWUoZmFsc2UpCiB7ICAgIAogfQotICAgIAotY29uc3QgU3RyaW5nJiBQcm90ZWN0
aW9uU3BhY2VCYXNlOjpob3N0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9ob3N0OyAKLX0KLQot
aW50IFByb3RlY3Rpb25TcGFjZUJhc2U6OnBvcnQoKSBjb25zdAotewotICAgIHJldHVybiBtX3Bv
cnQ7IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIFByb3RlY3Rpb25TcGFjZUJhc2U6
OnNlcnZlclR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3NlcnZlclR5cGU7Ci19CiAKIGJv
b2wgUHJvdGVjdGlvblNwYWNlQmFzZTo6aXNQcm94eSgpIGNvbnN0CiB7CkBAIC04MSwxNiArNTMs
NiBAQCBib29sIFByb3RlY3Rpb25TcGFjZUJhc2U6OmlzUHJveHkoKSBjb25zdAogICAgICAgICAg
ICAgbV9zZXJ2ZXJUeXBlID09IFByb3RlY3Rpb25TcGFjZVByb3h5U09DS1MpOwogfQogCi1jb25z
dCBTdHJpbmcmIFByb3RlY3Rpb25TcGFjZUJhc2U6OnJlYWxtKCkgY29uc3QKLXsgCi0gICAgcmV0
dXJuIG1fcmVhbG07IAotfQotCi1Qcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZSBQ
cm90ZWN0aW9uU3BhY2VCYXNlOjphdXRoZW50aWNhdGlvblNjaGVtZSgpIGNvbnN0Ci17IAotICAg
IHJldHVybiBtX2F1dGhlbnRpY2F0aW9uU2NoZW1lOyAKLX0KLQogYm9vbCBQcm90ZWN0aW9uU3Bh
Y2VCYXNlOjpyZWNlaXZlc0NyZWRlbnRpYWxTZWN1cmVseSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IChtX3NlcnZlclR5cGUgPT0gUHJvdGVjdGlvblNwYWNlU2VydmVySFRUUFMgfHwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUHJvdGVjdGlvblNwYWNlQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgK
aW5kZXggOTA3N2ExNzE5ZTAxZTgzNGRjMGFhMGQ2OGIxMTlkMzk0YmY0YTZlZi4uOGJlNDFkNDc0
MDdmNGVhNDgyMTlkOTE4Y2ZhNjk3YjE4YTgxZTM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3BhY2VCYXNlLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMjAgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDIxIEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY0LDEy
ICs2NCwxMiBAQCBjbGFzcyBQcm90ZWN0aW9uU3BhY2VCYXNlIHsKIHB1YmxpYzoKICAgICBib29s
IGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhc2hUYWJsZURl
bGV0ZWRWYWx1ZTsgfQogICAgIAotICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFN0cmluZyYgaG9z
dCgpIGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIGludCBwb3J0KCkgY29uc3Q7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSBzZXJ2ZXJUeXBlKCkgY29uc3Q7
CisgICAgY29uc3QgU3RyaW5nJiBob3N0KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0OyB9CisgICAg
aW50IHBvcnQoKSBjb25zdCB7IHJldHVybiBtX3BvcnQ7IH0KKyAgICBQcm90ZWN0aW9uU3BhY2VT
ZXJ2ZXJUeXBlIHNlcnZlclR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NlcnZlclR5cGU7IH0KICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUHJveHkoKSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9S
VCBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgUHJvdGVj
dGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWUgYXV0aGVudGljYXRpb25TY2hlbWUoKSBjb25z
dDsKKyAgICBjb25zdCBTdHJpbmcmIHJlYWxtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFsbTsgfQor
ICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIGF1dGhlbnRpY2F0aW9uU2No
ZW1lKCkgY29uc3QgeyByZXR1cm4gbV9hdXRoZW50aWNhdGlvblNjaGVtZTsgfQogICAgIAogICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgcmVjZWl2ZXNDcmVkZW50aWFsU2VjdXJlbHkoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUGFzc3dvcmRCYXNlZCgpIGNvbnN0OwpAQCAtNzks
NyArNzksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgY29tcGFy
ZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKTsKIAogcHJv
dGVjdGVkOgotICAgIFdFQkNPUkVfRVhQT1JUIFByb3RlY3Rpb25TcGFjZUJhc2UoKTsKKyAgICBQ
cm90ZWN0aW9uU3BhY2VCYXNlKCkgPSBkZWZhdWx0OwogICAgIFdFQkNPUkVfRVhQT1JUIFByb3Rl
Y3Rpb25TcGFjZUJhc2UoY29uc3QgU3RyaW5nJiBob3N0LCBpbnQgcG9ydCwgUHJvdGVjdGlvblNw
YWNlU2VydmVyVHlwZSwgY29uc3QgU3RyaW5nJiByZWFsbSwgUHJvdGVjdGlvblNwYWNlQXV0aGVu
dGljYXRpb25TY2hlbWUpOwogCiAgICAgLy8gSGFzaCB0YWJsZSBkZWxldGVkIHZhbHVlcywgd2hp
Y2ggYXJlIG9ubHkgY29uc3RydWN0ZWQgYW5kIG5ldmVyIGNvcGllZCBvciBkZXN0cm95ZWQuCkBA
IC04OCwxMiArODgsMTUgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBib29sIHBsYXRmb3JtQ29t
cGFyZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmKSB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIG1faG9zdDsKLSAgICBpbnQgbV9w
b3J0OwotICAgIFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgbV9zZXJ2ZXJUeXBlOwotICAgIFN0
cmluZyBtX3JlYWxtOwotICAgIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lIG1f
YXV0aGVudGljYXRpb25TY2hlbWU7Ci0gICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVl
OworICAgIC8vIE5lZWQgdG8gZW5mb3JjZSBlbXB0eSwgbm9uLW51bGwgc3RyaW5ncyBkdWUgdG8g
dGhlIHBpY2tpbmVzcyBvZiB0aGUgU3RyaW5nID09IFN0cmluZyBvcGVyYXRvcgorICAgIC8vIGNv
bWJpbmVkIHdpdGggdGhlIHNlbWFudGljcyBvZiB0aGUgU3RyaW5nKE5TU3RyaW5nKikgY29uc3Ry
dWN0b3IKKyAgICBTdHJpbmcgbV9ob3N0IHsgZW1wdHlTdHJpbmcoKSB9OworICAgIFN0cmluZyBt
X3JlYWxtIHsgZW1wdHlTdHJpbmcoKSB9OworCisgICAgaW50IG1fcG9ydCB7IDAgfTsKKyAgICBQ
cm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIG1fc2VydmVyVHlwZSB7IFByb3RlY3Rpb25TcGFjZVNl
cnZlckhUVFAgfTsKKyAgICBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZSBtX2F1
dGhlbnRpY2F0aW9uU2NoZW1lIHsgUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVE
ZWZhdWx0IH07CisgICAgYm9vbCBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlIHsgZmFsc2UgfTsK
IH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdGVjdGlvblNwYWNlJiBhLCBj
b25zdCBQcm90ZWN0aW9uU3BhY2UmIGIpIHsgcmV0dXJuIFByb3RlY3Rpb25TcGFjZUJhc2U6OmNv
bXBhcmUoYSwgYik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUHJvdGVjdGlvblNwYWNlSGFzaC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Qcm90ZWN0aW9uU3BhY2VIYXNoLmgKaW5kZXggZDU5YzJmMTkzZmFkMTY5ZTk4NDI4ZTcyOTA0
NmUxOTVmZGQ4YzE0OC4uZTk0NjAzYjk2YzNlNjc2NTkwYjUxZTNiYWFkMjhjODY2OGJiOWUxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9uU3Bh
Y2VIYXNoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Qcm90ZWN0aW9u
U3BhY2VIYXNoLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEFw
cGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDIx
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjMsNDQgKzIzLDM4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZu
ZGVmIFByb3RlY3Rpb25TcGFjZUhhc2hfaAotI2RlZmluZSBQcm90ZWN0aW9uU3BhY2VIYXNoX2gK
KyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiUHJvdGVjdGlvblNwYWNlLmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hUcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaGVyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RydWN0IFByb3RlY3Rpb25TcGFjZUhhc2ggewogICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlKQogICAgIHsg
Ci0gICAgICAgIHVuc2lnbmVkIGhhc2hDb2Rlc1s1XSA9IHsKLSAgICAgICAgICAgIHByb3RlY3Rp
b25TcGFjZS5ob3N0KCkuaW1wbCgpID8gcHJvdGVjdGlvblNwYWNlLmhvc3QoKS5pbXBsKCktPmhh
c2goKSA6IDAsIAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHByb3RlY3Rpb25T
cGFjZS5wb3J0KCkpLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHByb3RlY3Rp
b25TcGFjZS5zZXJ2ZXJUeXBlKCkpLAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHByb3RlY3Rpb25TcGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpKSwKLSAgICAgICAgICAgIHBy
b3RlY3Rpb25TcGFjZS5yZWFsbSgpLmltcGwoKSA/IHByb3RlY3Rpb25TcGFjZS5yZWFsbSgpLmlt
cGwoKS0+aGFzaCgpIDogMAotICAgICAgICB9OwotCi0gICAgICAgIHVuc2lnbmVkIGNvZGVDb3Vu
dCA9IHNpemVvZihoYXNoQ29kZXMpOwotICAgICAgICAvLyBJZ25vcmUgcmVhbG0gZm9yIHByb3hp
ZXMuCi0gICAgICAgIGlmIChwcm90ZWN0aW9uU3BhY2UuaXNQcm94eSgpKQotICAgICAgICAgICAg
Y29kZUNvdW50IC09IHNpemVvZihoYXNoQ29kZXNbMF0pOwotICAgICAgICByZXR1cm4gU3RyaW5n
SGFzaGVyOjpoYXNoTWVtb3J5KGhhc2hDb2RlcywgY29kZUNvdW50KTsKKyAgICAgICAgSGFzaGVy
IGhhc2hlcjsKKyAgICAgICAgYWRkKGhhc2hlciwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKSk7Cisg
ICAgICAgIGFkZChoYXNoZXIsIHByb3RlY3Rpb25TcGFjZS5wb3J0KCkpOworICAgICAgICBhZGQo
aGFzaGVyLCBwcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHlwZSgpKTsKKyAgICAgICAgYWRkKGhhc2hl
ciwgcHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpOworICAgICAgICBpZiAo
IXByb3RlY3Rpb25TcGFjZS5pc1Byb3h5KCkpCisgICAgICAgICAgICBhZGQoaGFzaGVyLCBwcm90
ZWN0aW9uU3BhY2UucmVhbG0oKSk7CisgICAgICAgIHJldHVybiBoYXNoZXIuaGFzaCgpOwogICAg
IH0KICAgICAKICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBQcm90ZWN0aW9uU3BhY2UmIGEs
IGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgYikgeyByZXR1cm4gYSA9PSBiOyB9Ci0gICAgc3RhdGlj
IGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKKyAgICBz
dGF0aWMgY29uc3RleHByIGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxz
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogbmFtZXNwYWNlIFdURiB7CiAKLXRl
bXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IHsgfTsKK3RlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlPiA6IFNpbXBs
ZUNsYXNzSGFzaFRyYWl0czxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IHsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOworfTsKIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZT4gOiBXZWJDb3JlOjpQ
cm90ZWN0aW9uU3BhY2VIYXNoIHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCi0KLQotI2VuZGlm
IC8vIFByb3RlY3Rpb25TcGFjZUhhc2hfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>