<?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>234181</bug_id>
          
          <creation_ts>2021-12-10 15:37:29 -0800</creation_ts>
          <short_desc>REGRESSION (r286841): [ iOS ] Many webrtc tests flaky failing on iOS</short_desc>
          <delta_ts>2021-12-13 11:53:21 -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>WebRTC</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="Truitt Savell">tsavell</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1823041</commentid>
    <comment_count>0</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-12-10 15:37:29 -0800</bug_when>
    <thetext>It looks like after the changes in https://trac.webkit.org/changeset/286841/webkit many webrtc tests began timing out or failing, both constantly and flakily on iOS

Results:
https://build.webkit.org/results/Apple-iOS-15-Simulator-Release-WK2-Tests/r286852%20(696)/results.html

Build:
https://build.webkit.org/#/builders/268/builds/696

History:
https://results.webkit.org/?suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;test=webrtc%2Fcertificates-indexeddb.html&amp;test=webrtc%2Fdatachannel%2Fmultiple-connections.html&amp;test=webrtc%2Fmsection-recycling.html&amp;test=webrtc%2Fpeer-connection-audio-unmute.html&amp;test=webrtc%2Fpeer-connection-remote-audio-mute.html&amp;test=webrtc%2Fpeerconnection-page-cache-long.html&amp;test=webrtc%2Freceiver-track-should-stay-live-even-if-receiver-is-inactive.html&amp;test=webrtc%2Fremove-track.html&amp;test=webrtc%2Fvideo-interruption.html&amp;test=webrtc%2Fvideo-mute.html&amp;test=webrtc%2Fvideo-rotation-no-cvo.html&amp;test=webrtc%2Fvideo-stats.html&amp;test=webrtc%2Fvp9.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823044</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 15:38:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/86343642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823209</commentid>
    <comment_count>2</comment_count>
      <attachid>446886</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-11 08:04:09 -0800</bug_when>
    <thetext>Created attachment 446886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823220</commentid>
    <comment_count>3</comment_count>
      <attachid>446890</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-11 08:56:30 -0800</bug_when>
    <thetext>Created attachment 446890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823544</commentid>
    <comment_count>4</comment_count>
      <attachid>446890</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-12-13 08:42:55 -0800</bug_when>
    <thetext>Comment on attachment 446890
Patch

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

&gt; Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:308
&gt; +            RELEASE_LOG_ERROR(WebRTC, &quot;NetworkRTCUDPSocketCocoaConnections failed processing UDP data with error %d&quot;, nw_error_get_error_code(error));

Nit: if you log `errorCode` you won&apos;t have to call nw_error_get_error_code() again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823554</commentid>
    <comment_count>5</comment_count>
      <attachid>447010</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-13 09:00:19 -0800</bug_when>
    <thetext>Created attachment 447010
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823671</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-13 11:53:18 -0800</bug_when>
    <thetext>Committed r286961 (245184@main): &lt;https://commits.webkit.org/245184@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447010.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446886</attachid>
            <date>2021-12-11 08:04:09 -0800</date>
            <delta_ts>2021-12-11 08:56:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234181-20211211170408.patch</filename>
            <type>text/plain</type>
            <size>13423</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiNTE2NzIxZTIwZjBkMGNm
YjhmN2JjYzk0MDNjNjYxMGRjMzk0YTIuLjZlMzJjNDhmZGVkYjViZjYxOTg0NDRmNjg0YjE0OTY4
Y2RiZjdiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMTEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyODY4NDEp
OiBbIGlPUyBdIE1hbnkgd2VicnRjIHRlc3RzIGZsYWt5IGZhaWxpbmcgb24gaU9TCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg2MzQzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBuZXR3b3JrIGNvbm5lY3Rpb24gc3RhdGUgY2hhbmdlIGNh
bGxiYWNrIHRvIGtub3cgd2hlbiBjb25uZWN0aW9uIGZhaWxzIG9yIGlzIGNhbmNlbGxlZC4KKyAg
ICAgICAgSW50cm9kdWNlIENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgdG8ga25vdyB3aGVuIHRvIHN0
b3AgcmVhZGluZyBuZXcgVURQIHBhY2tldHMuCisgICAgICAgIENvbm5lY3Rpb25TdGF0ZVRyYWNr
ZXIgd2lsbCBiZSBzdG9wcGVkIHdoZW4gc3RhdGUgaXMgY2hhbmdlZCB0byBmYWlsZWQgb3IgY2Fu
Y2VsbGVkIGFzIHdlbGwgYXMgd2hlbiB0aGUgd2hvbGUgY29ubmVjdGlvbiBpcyBjbG9zZWQuCisg
ICAgICAgIFJlbmFtaW5nIG1fbndDb25uZWN0aW9ucyB0byBtX2Nvbm5lY3Rpb25zIGFzIG1fbndD
b25uZWN0aW9ucyBuYW1lIHdhcyBhbHJlYWR5IHVzZWQuCisgICAgICAgIFJlZHVjZSBlcnJvciBs
b2dnaW5nIHRvIG9ubHkgbmV3IGVycm9yIGNvZGVzIG9yIHdoZW4gY29ubmVjdGlubyBlbnRlcnMg
dW5yZWNvdmVyYWJsZSBmYWlsdXJlIChoZW5jZSBjaGFuZ2luZyB0byBmYWlsZWQgc3RhdGUpLgor
CisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5tbToKKwogMjAyMS0x
Mi0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTG9nIHRo
YXQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyOjpQcm94
eTo6cmVzZXQgaXMgY2FsbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCmluZGV4IDVkNjVj
ZDFkMDllMjYzOTY2NDQzZGRjZjQ0NWE2ODQ4MDQ3NjFiODEuLjJlN2ZjZTgyNTI3ZjQzMGI4ODdk
ZThlMWRjMTE2YzQ0YjgyODI1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAKICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJv
dmlkZXI7CiAgICAgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7Ci0gICAgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zPiBtX253Q29u
bmVjdGlvbnM7CisgICAgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zPiBt
X2Nvbm5lY3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQ
U29ja2V0Q29jb2EubW0KaW5kZXggMmJkN2Q3YmVjMmQyZTYzNmY1NGVlNGM3OWQxZDI5MTJiOWE3
NmQ4Yi4uNjk4YTliMWQ3ZDlmYmFmM2I5MTY0OTRmZDZkYjc2OGMwNTIzYmRhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENVRFBTb2NrZXRDb2NvYS5tbQpAQCAtNTgsMTEgKzU4LDIxIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKTsKICAgICB2b2lkIHNldExpc3RlbmluZ1Bv
cnQoaW50KTsKIAorICAgIGNsYXNzIENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4geworICAgIHB1YmxpYzoK
KyAgICAgICAgc3RhdGljIFJlZjxDb25uZWN0aW9uU3RhdGVUcmFja2VyPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIoKSk7IH0KKyAgICAgICAg
dm9pZCBtYXJrQXNTdG9wcGVkKCkgeyBtX2lzU3RvcHBlZCA9IHRydWU7IH0KKyAgICAgICAgYm9v
bCBpc1N0b3BwZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU3RvcHBlZDsgfQorCisgICAgcHJpdmF0
ZToKKyAgICAgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CisgICAgfTsKKwogcHJpdmF0
ZToKICAgICBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyhXZWJDb3JlOjpMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmLCBTdHJpbmcmJiBhdHRyaWJ1dGVk
QnVuZGxlSWRlbnRpZmllciwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxheURpc2FibGVk
LCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpOwogCi0gICAgUmV0YWluUHRyPG53
X2Nvbm5lY3Rpb25fdD4gY3JlYXRlTldDb25uZWN0aW9uKGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVz
cyYpOwotICAgIHZvaWQgc2V0dXBOV0Nvbm5lY3Rpb24obndfY29ubmVjdGlvbl90LCBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmKTsKKyAgICBzdGQ6OnBhaXI8UmV0YWluUHRyPG53X2Nvbm5lY3Rp
b25fdD4sIFJlZjxDb25uZWN0aW9uU3RhdGVUcmFja2VyPj4gY3JlYXRlTldDb25uZWN0aW9uKGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2V0dXBOV0Nvbm5lY3Rpb24obndf
Y29ubmVjdGlvbl90LCBDb25uZWN0aW9uU3RhdGVUcmFja2VyJiwgY29uc3QgcnRjOjpTb2NrZXRB
ZGRyZXNzJik7CiAgICAgdm9pZCBjb25maWd1cmVQYXJhbWV0ZXJzKG53X3BhcmFtZXRlcnNfdCwg
bndfaXBfdmVyc2lvbl90KTsKIAogICAgIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIgbV9pZGVudGlmaWVyOwpAQCAtNzksNyArODksNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxud19saXN0ZW5lcl90PiBtX253TGlzdGVuZXI7CiAgICAgTG9jayBtX253Q29ubmVjdGlvbnNM
b2NrOwogICAgIGJvb2wgbV9pc0Nsb3NlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbndDb25uZWN0
aW9uc0xvY2spIHsgZmFsc2UgfTsKLSAgICBIYXNoTWFwPHJ0Yzo6U29ja2V0QWRkcmVzcywgUmV0
YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4+IG1fbndDb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fbndDb25uZWN0aW9uc0xvY2spOworICAgIEhhc2hNYXA8cnRjOjpTb2NrZXRBZGRyZXNz
LCBzdGQ6OnBhaXI8UmV0YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4sIFJlZjxDb25uZWN0aW9uU3Rh
dGVUcmFja2VyPj4+IG1fbndDb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbndDb25u
ZWN0aW9uc0xvY2spOwogfTsKIAogc3RhdGljIGRpc3BhdGNoX3F1ZXVlX3QgdWRwU29ja2V0UXVl
dWUoKQpAQCAtMTAwLDcgKzExMCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUlRDUHJvdmlk
ZXI6OlNvY2tldD4gTmV0d29ya1JUQ1VEUFNvY2tldENvY29hOjpjcmVhdGVVRFBTCiBOZXR3b3Jr
UlRDVURQU29ja2V0Q29jb2E6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYShXZWJDb3JlOjpMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYgcnRj
UHJvdmlkZXIsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgUmVmPElQQzo6Q29u
bmVjdGlvbj4mJiBjb25uZWN0aW9uLCBTdHJpbmcmJiBhdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmll
ciwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxheURpc2FibGVkLCBjb25zdCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiYgZG9tYWluKQogICAgIDogbV9ydGNQcm92aWRlcihydGNQcm92
aWRlcikKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV9ud0Nvbm5lY3Rp
b25zKE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVhdGUoaWRlbnRpZmll
ciwgcnRjUHJvdmlkZXIsIGFkZHJlc3MsIFdURk1vdmUoY29ubmVjdGlvbiksIFdURk1vdmUoYXR0
cmlidXRlZEJ1bmRsZUlkZW50aWZpZXIpLCBpc0ZpcnN0UGFydHksIGlzUmVsYXlEaXNhYmxlZCwg
ZG9tYWluKSkKKyAgICAsIG1fY29ubmVjdGlvbnMoTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29u
bmVjdGlvbnM6OmNyZWF0ZShpZGVudGlmaWVyLCBydGNQcm92aWRlciwgYWRkcmVzcywgV1RGTW92
ZShjb25uZWN0aW9uKSwgV1RGTW92ZShhdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllciksIGlzRmly
c3RQYXJ0eSwgaXNSZWxheURpc2FibGVkLCBkb21haW4pKQogewogfQogCkBAIC0xMTAsMjMgKzEy
MCwyMyBAQCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6On5OZXR3b3JrUlRDVURQU29ja2V0Q29j
b2EoKQogCiB2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYTo6Y2xvc2UoKQogewotICAgIG1f
bndDb25uZWN0aW9ucy0+Y2xvc2UoKTsKKyAgICBtX2Nvbm5lY3Rpb25zLT5jbG9zZSgpOwogICAg
IG1fcnRjUHJvdmlkZXIudGFrZVNvY2tldChtX2lkZW50aWZpZXIpOwogfQogCiB2b2lkIE5ldHdv
cmtSVENVRFBTb2NrZXRDb2NvYTo6c2V0TGlzdGVuaW5nUG9ydChpbnQgcG9ydCkKIHsKLSAgICBt
X253Q29ubmVjdGlvbnMtPnNldExpc3RlbmluZ1BvcnQocG9ydCk7CisgICAgbV9jb25uZWN0aW9u
cy0+c2V0TGlzdGVuaW5nUG9ydChwb3J0KTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0
Q29jb2E6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCiB7Ci0gICAgbV9ud0Nvbm5l
Y3Rpb25zLT5zZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSk7CisgICAgbV9jb25uZWN0aW9ucy0+c2V0
T3B0aW9uKG9wdGlvbiwgdmFsdWUpOwogfQogCiB2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2Nv
YTo6c2VuZFRvKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXplLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykK
IHsKLSAgICBtX253Q29ubmVjdGlvbnMtPnNlbmRUbyhkYXRhLCBzaXplLCBhZGRyZXNzLCBvcHRp
b25zKTsKKyAgICBtX2Nvbm5lY3Rpb25zLT5zZW5kVG8oZGF0YSwgc2l6ZSwgYWRkcmVzcywgb3B0
aW9ucyk7CiB9CiAKIHN0YXRpYyBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzc0Zyb21J
bmNvbWluZ0Nvbm5lY3Rpb24obndfY29ubmVjdGlvbl90IGNvbm5lY3Rpb24pCkBAIC0yMjUsMTYg
KzIzNSwxOCBAQCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6TmV0d29ya1JU
Q1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMoV2ViQ29yZQogICAgICAgICB9CiAgICAgfSkuZ2V0
KCkpOwogCi0gICAgbndfbGlzdGVuZXJfc2V0X25ld19jb25uZWN0aW9uX2hhbmRsZXIobV9ud0xp
c3RlbmVyLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9
XShud19jb25uZWN0aW9uX3QgY29ubmVjdGlvbikgeworICAgIG53X2xpc3RlbmVyX3NldF9uZXdf
Y29ubmVjdGlvbl9oYW5kbGVyKG1fbndMaXN0ZW5lci5nZXQoKSwgbWFrZUJsb2NrUHRyKFtwcm90
ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0obndfY29ubmVjdGlvbl90IG53Q29ubmVjdGlvbikg
ewogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgcHJvdGVjdGVkVGhpcy0+bV9ud0Nvbm5lY3Rpb25z
TG9jayB9OwogICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+bV9pc0Nsb3NlZCkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICBhdXRvIHJlbW90ZUFkZHJlc3MgPSBzb2NrZXRBZGRyZXNz
RnJvbUluY29taW5nQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKyAgICAgICAgYXV0byByZW1vdGVB
ZGRyZXNzID0gc29ja2V0QWRkcmVzc0Zyb21JbmNvbWluZ0Nvbm5lY3Rpb24obndDb25uZWN0aW9u
KTsKICAgICAgICAgQVNTRVJUKHJlbW90ZUFkZHJlc3MgIT0gSGFzaFRyYWl0czxydGM6OlNvY2tl
dEFkZHJlc3M+OjplbXB0eVZhbHVlKCkgJiYgIUhhc2hUcmFpdHM8cnRjOjpTb2NrZXRBZGRyZXNz
Pjo6aXNEZWxldGVkVmFsdWUocmVtb3RlQWRkcmVzcykpOwogCi0gICAgICAgIHByb3RlY3RlZFRo
aXMtPm1fbndDb25uZWN0aW9ucy5zZXQocmVtb3RlQWRkcmVzcywgY29ubmVjdGlvbik7Ci0gICAg
ICAgIHByb3RlY3RlZFRoaXMtPnNldHVwTldDb25uZWN0aW9uKGNvbm5lY3Rpb24sIHJlbW90ZUFk
ZHJlc3MpOworICAgICAgICBhdXRvIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBDb25uZWN0aW9u
U3RhdGVUcmFja2VyOjpjcmVhdGUoKTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+c2V0dXBOV0Nv
bm5lY3Rpb24obndDb25uZWN0aW9uLCBjb25uZWN0aW9uU3RhdGVUcmFja2VyLmdldCgpLCByZW1v
dGVBZGRyZXNzKTsKKworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX253Q29ubmVjdGlvbnMuc2V0
KHJlbW90ZUFkZHJlc3MsIHN0ZDo6bWFrZV9wYWlyKG53Q29ubmVjdGlvbiwgV1RGTW92ZShjb25u
ZWN0aW9uU3RhdGVUcmFja2VyKSkpOwogICAgIH0pLmdldCgpKTsKIAogICAgIG53X2xpc3RlbmVy
X3N0YXJ0KG1fbndMaXN0ZW5lci5nZXQoKSk7CkBAIC0yNjMsMTIgKzI3NSwxNCBAQCB2b2lkIE5l
dHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjbG9zZSgpCiAgICAgTG9ja2VyIGxv
Y2tlciB7IG1fbndDb25uZWN0aW9uc0xvY2sgfTsKICAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsKIAor
ICAgIGZvciAoYXV0byYgbndDb25uZWN0aW9uIDogbV9ud0Nvbm5lY3Rpb25zLnZhbHVlcygpKSB7
CisgICAgICAgIG53Q29ubmVjdGlvbi5zZWNvbmQtPm1hcmtBc1N0b3BwZWQoKTsKKyAgICAgICAg
bndfY29ubmVjdGlvbl9jYW5jZWwobndDb25uZWN0aW9uLmZpcnN0LmdldCgpKTsKKyAgICB9Cisg
ICAgbV9ud0Nvbm5lY3Rpb25zLmNsZWFyKCk7CisKICAgICBud19saXN0ZW5lcl9jYW5jZWwobV9u
d0xpc3RlbmVyLmdldCgpKTsKICAgICBtX253TGlzdGVuZXIgPSBudWxscHRyOwotCi0gICAgZm9y
IChhdXRvJiBud0Nvbm5lY3Rpb24gOiBtX253Q29ubmVjdGlvbnMudmFsdWVzKCkpCi0gICAgICAg
IG53X2Nvbm5lY3Rpb25fY2FuY2VsKG53Q29ubmVjdGlvbi5nZXQoKSk7Ci0gICAgbV9ud0Nvbm5l
Y3Rpb25zLmNsZWFyKCk7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVj
dGlvbnM6OnNldE9wdGlvbihpbnQsIGludCkKQEAgLTI3NiwyNSArMjkwLDI4IEBAIHZvaWQgTmV0
d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6OnNldE9wdGlvbihpbnQsIGludCkKICAg
ICAvLyBGSVhNRTogVmFsaWRhdGUgdGhpcyBpcyBub3QgbmVlZGVkLgogfQogCi1zdGF0aWMgaW5s
aW5lIHZvaWQgcHJvY2Vzc1VEUERhdGEoUmV0YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4mJiBud0Nv
bm5lY3Rpb24sIEZ1bmN0aW9uPHZvaWQoY29uc3QgdWludDhfdCosIHNpemVfdCk+JiYgcHJvY2Vz
c0RhdGEpCitzdGF0aWMgaW5saW5lIHZvaWQgcHJvY2Vzc1VEUERhdGEoUmV0YWluUHRyPG53X2Nv
bm5lY3Rpb25fdD4mJiBud0Nvbm5lY3Rpb24sIFJlZjxOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FD
b25uZWN0aW9uczo6Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4gY29ubmVjdGlvblN0YXRlVHJhY2tl
ciwgaW50IGVycm9yQ29kZSwgRnVuY3Rpb248dm9pZChjb25zdCB1aW50OF90Kiwgc2l6ZV90KT4m
JiBwcm9jZXNzRGF0YSkKIHsKICAgICBhdXRvIG53Q29ubmVjdGlvblJlZmVyZW5jZSA9IG53Q29u
bmVjdGlvbi5nZXQoKTsKLSAgICBud19jb25uZWN0aW9uX3JlY2VpdmUobndDb25uZWN0aW9uUmVm
ZXJlbmNlLCAxLCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksIG1ha2VCbG9j
a1B0cihbbndDb25uZWN0aW9uID0gV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBwcm9jZXNzRGF0YSA9
IFdURk1vdmUocHJvY2Vzc0RhdGEpXShkaXNwYXRjaF9kYXRhX3QgY29udGVudCwgbndfY29udGVu
dF9jb250ZXh0X3QgY29udGV4dCwgYm9vbCBpc0NvbXBsZXRlLCBud19lcnJvcl90IGVycm9yKSBt
dXRhYmxlIHsKKyAgICBud19jb25uZWN0aW9uX3JlY2VpdmUobndDb25uZWN0aW9uUmVmZXJlbmNl
LCAxLCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksIG1ha2VCbG9ja1B0cihb
bndDb25uZWN0aW9uID0gV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBwcm9jZXNzRGF0YSA9IFdURk1v
dmUocHJvY2Vzc0RhdGEpLCBlcnJvckNvZGUsIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBXVEZN
b3ZlKGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIpXShkaXNwYXRjaF9kYXRhX3QgY29udGVudCwgbndf
Y29udGVudF9jb250ZXh0X3QsIGJvb2wsIG53X2Vycm9yX3QgZXJyb3IpIG11dGFibGUgewogICAg
ICAgICBpZiAoY29udGVudCkgewogICAgICAgICAgICAgZGlzcGF0Y2hfZGF0YV9hcHBseShjb250
ZW50LCBtYWtlQmxvY2tQdHIoWyZdKGRpc3BhdGNoX2RhdGFfdCwgc2l6ZV90LCBjb25zdCB2b2lk
KiBkYXRhLCBzaXplX3Qgc2l6ZSkgewogICAgICAgICAgICAgICAgIHByb2Nlc3NEYXRhKHN0YXRp
Y19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgc2l6ZSk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgICAgICB9KS5nZXQoKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYg
KGlzQ29tcGxldGUgJiYgY29udGV4dCAmJiBud19jb250ZW50X2NvbnRleHRfZ2V0X2lzX2ZpbmFs
KGNvbnRleHQpKQorICAgICAgICBpZiAoY29ubmVjdGlvblN0YXRlVHJhY2tlci0+aXNTdG9wcGVk
KCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUYo
ISFlcnJvciwgV2ViUlRDLCAiTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMgZmFp
bGVkIHByb2Nlc3NpbmcgVURQIGRhdGEgd2l0aCBlcnJvciAlZCIsIG53X2Vycm9yX2dldF9lcnJv
cl9jb2RlKGVycm9yKSk7Ci0gICAgICAgIHByb2Nlc3NVRFBEYXRhKFdURk1vdmUobndDb25uZWN0
aW9uKSwgV1RGTW92ZShwcm9jZXNzRGF0YSkpOworICAgICAgICBpZiAoZXJyb3IgJiYgZXJyb3JD
b2RlICE9IG53X2Vycm9yX2dldF9lcnJvcl9jb2RlKGVycm9yKSkgeworICAgICAgICAgICAgZXJy
b3JDb2RlID0gbndfZXJyb3JfZ2V0X2Vycm9yX2NvZGUoZXJyb3IpOworICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlv
bnMgZmFpbGVkIHByb2Nlc3NpbmcgVURQIGRhdGEgd2l0aCBlcnJvciAlZCIsIG53X2Vycm9yX2dl
dF9lcnJvcl9jb2RlKGVycm9yKSk7CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc1VEUERhdGEo
V1RGTW92ZShud0Nvbm5lY3Rpb24pLCBXVEZNb3ZlKGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIpLCBl
cnJvckNvZGUsIFdURk1vdmUocHJvY2Vzc0RhdGEpKTsKICAgICB9KS5nZXQoKSk7CiB9CiAKLVJl
dGFpblB0cjxud19jb25uZWN0aW9uX3Q+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rp
b25zOjpjcmVhdGVOV0Nvbm5lY3Rpb24oY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVB
ZGRyZXNzKQorc3RkOjpwYWlyPFJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+LCBSZWY8TmV0d29y
a1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6OkNvbm5lY3Rpb25TdGF0ZVRyYWNrZXI+PiBO
ZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlTldDb25uZWN0aW9uKGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKIHsKICAgICBhdXRvIHBhcmFt
ZXRlcnMgPSBhZG9wdE5TKG53X3BhcmFtZXRlcnNfY3JlYXRlX3NlY3VyZV91ZHAoTldfUEFSQU1F
VEVSU19ESVNBQkxFX1BST1RPQ09MLCBOV19QQVJBTUVURVJTX0RFRkFVTFRfQ09ORklHVVJBVElP
TikpOwogICAgIHsKQEAgLTMyMSwxNSArMzM4LDIzIEBAIFJldGFpblB0cjxud19jb25uZWN0aW9u
X3Q+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVhdGVOV0Nvbm5lY3Rp
CiAgICAgYXV0byBob3N0ID0gYWRvcHROUyhud19lbmRwb2ludF9jcmVhdGVfaG9zdChyZW1vdGVI
b3N0QWRkcmVzcy5jX3N0cigpLCBTdHJpbmc6Om51bWJlcihyZW1vdGVBZGRyZXNzLnBvcnQoKSku
dXRmOCgpLmRhdGEoKSkpOwogICAgIGF1dG8gbndDb25uZWN0aW9uID0gYWRvcHROUyhud19jb25u
ZWN0aW9uX2NyZWF0ZShob3N0LmdldCgpLCBwYXJhbWV0ZXJzLmdldCgpKSk7CiAKLSAgICBzZXR1
cE5XQ29ubmVjdGlvbihud0Nvbm5lY3Rpb24uZ2V0KCksIHJlbW90ZUFkZHJlc3MpOwotICAgIHJl
dHVybiBud0Nvbm5lY3Rpb247CisgICAgYXV0byBjb25uZWN0aW9uU3RhdGVUcmFja2VyID0gQ29u
bmVjdGlvblN0YXRlVHJhY2tlcjo6Y3JlYXRlKCk7CisKKyAgICBzZXR1cE5XQ29ubmVjdGlvbihu
d0Nvbm5lY3Rpb24uZ2V0KCksIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIuZ2V0KCksIHJlbW90ZUFk
ZHJlc3MpOworICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihXVEZNb3ZlKG53Q29ubmVjdGlvbiks
IFdURk1vdmUoY29ubmVjdGlvblN0YXRlVHJhY2tlcikpOwogfQogCi12b2lkIE5ldHdvcmtSVENV
RFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpzZXR1cE5XQ29ubmVjdGlvbihud19jb25uZWN0aW9u
X3QgbndDb25uZWN0aW9uLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3Mp
Cit2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpzZXR1cE5XQ29ubmVj
dGlvbihud19jb25uZWN0aW9uX3QgbndDb25uZWN0aW9uLCBDb25uZWN0aW9uU3RhdGVUcmFja2Vy
JiBjb25uZWN0aW9uU3RhdGVUcmFja2VyLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90
ZUFkZHJlc3MpCiB7CiAgICAgbndfY29ubmVjdGlvbl9zZXRfcXVldWUobndDb25uZWN0aW9uLCB1
ZHBTb2NrZXRRdWV1ZSgpKTsKIAotICAgIHByb2Nlc3NVRFBEYXRhKG53Q29ubmVjdGlvbiwgW2lk
ZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uY29weVJl
ZigpLCBpcCA9IHJlbW90ZUFkZHJlc3MuaXBhZGRyKCksIHBvcnQgPSByZW1vdGVBZGRyZXNzLnBv
cnQoKV0oYXV0byogbWVzc2FnZSwgYXV0byBzaXplKSBtdXRhYmxlIHsKKyAgICBud19jb25uZWN0
aW9uX3NldF9zdGF0ZV9jaGFuZ2VkX2hhbmRsZXIobndDb25uZWN0aW9uLCBtYWtlQmxvY2tQdHIo
W2Nvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBSZWYgIHsgY29ubmVjdGlvblN0YXRlVHJhY2tlciB9
XShud19jb25uZWN0aW9uX3N0YXRlX3Qgc3RhdGUsIF9OdWxsYWJsZSBud19lcnJvcl90IGVycm9y
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGKHN0YXRlID09IG53X2Nvbm5lY3Rpb25f
c3RhdGVfZmFpbGVkLCBXZWJSVEMsICJOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9u
cyBjb25uZWN0aW9uIGZhaWxlZCB3aXRoIGVycm9yICVkIiwgZXJyb3IgPyBud19lcnJvcl9nZXRf
ZXJyb3JfY29kZShlcnJvcikgOiAwKTsKKyAgICAgICAgaWYgKHN0YXRlID09IG53X2Nvbm5lY3Rp
b25fc3RhdGVfZmFpbGVkIHx8IHN0YXRlID09IG53X2Nvbm5lY3Rpb25fc3RhdGVfY2FuY2VsbGVk
KQorICAgICAgICAgICAgY29ubmVjdGlvblN0YXRlVHJhY2tlci0+bWFya0FzU3RvcHBlZCgpOwor
ICAgIH0pLmdldCgpKTsKKworICAgIHByb2Nlc3NVRFBEYXRhKG53Q29ubmVjdGlvbiwgUmVmICB7
IGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgfSwgMCwgW2lkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIs
IGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uY29weVJlZigpLCBpcCA9IHJlbW90ZUFkZHJlc3Mu
aXBhZGRyKCksIHBvcnQgPSByZW1vdGVBZGRyZXNzLnBvcnQoKV0oYXV0byogbWVzc2FnZSwgYXV0
byBzaXplKSBtdXRhYmxlIHsKICAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEobWVzc2Fn
ZSwgc2l6ZSk7CiAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ05l
dHdvcms6OlNpZ25hbFJlYWRQYWNrZXQgeyBpZGVudGlmaWVyLCBkYXRhLCBSVENOZXR3b3JrOjpJ
UEFkZHJlc3MoaXApLCBwb3J0LCBydGM6OlRpbWVNaWxsaXMoKSAqIDEwMDAgfSwgMCk7CiAgICAg
fSk7CkBAIC0zNDksNyArMzc0LDcgQEAgdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25u
ZWN0aW9uczo6c2VuZFRvKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXoKICAgICAgICAg
TG9ja2VyIGxvY2tlciB7IG1fbndDb25uZWN0aW9uc0xvY2sgfTsKICAgICAgICAgbndDb25uZWN0
aW9uID0gbV9ud0Nvbm5lY3Rpb25zLmVuc3VyZShyZW1vdGVBZGRyZXNzLCBbdGhpcywgJnJlbW90
ZUFkZHJlc3NdIHsKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVOV0Nvbm5lY3Rpb24ocmVtb3Rl
QWRkcmVzcyk7Ci0gICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKKyAgICAgICAgfSku
aXRlcmF0b3ItPnZhbHVlLmZpcnN0LmdldCgpOwogICAgIH0KIAogICAgIGF1dG8gdmFsdWUgPSBh
ZG9wdE5TKGRpc3BhdGNoX2RhdGFfY3JlYXRlKGRhdGEsIHNpemUsIG51bGxwdHIsIERJU1BBVENI
X0RBVEFfREVTVFJVQ1RPUl9ERUZBVUxUKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446890</attachid>
            <date>2021-12-11 08:56:30 -0800</date>
            <delta_ts>2021-12-13 09:00:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234181-20211211175628.patch</filename>
            <type>text/plain</type>
            <size>13426</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiNTE2NzIxZTIwZjBkMGNm
YjhmN2JjYzk0MDNjNjYxMGRjMzk0YTIuLjZlMzJjNDhmZGVkYjViZjYxOTg0NDRmNjg0YjE0OTY4
Y2RiZjdiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMTEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyODY4NDEp
OiBbIGlPUyBdIE1hbnkgd2VicnRjIHRlc3RzIGZsYWt5IGZhaWxpbmcgb24gaU9TCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg2MzQzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBuZXR3b3JrIGNvbm5lY3Rpb24gc3RhdGUgY2hhbmdlIGNh
bGxiYWNrIHRvIGtub3cgd2hlbiBjb25uZWN0aW9uIGZhaWxzIG9yIGlzIGNhbmNlbGxlZC4KKyAg
ICAgICAgSW50cm9kdWNlIENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgdG8ga25vdyB3aGVuIHRvIHN0
b3AgcmVhZGluZyBuZXcgVURQIHBhY2tldHMuCisgICAgICAgIENvbm5lY3Rpb25TdGF0ZVRyYWNr
ZXIgd2lsbCBiZSBzdG9wcGVkIHdoZW4gc3RhdGUgaXMgY2hhbmdlZCB0byBmYWlsZWQgb3IgY2Fu
Y2VsbGVkIGFzIHdlbGwgYXMgd2hlbiB0aGUgd2hvbGUgY29ubmVjdGlvbiBpcyBjbG9zZWQuCisg
ICAgICAgIFJlbmFtaW5nIG1fbndDb25uZWN0aW9ucyB0byBtX2Nvbm5lY3Rpb25zIGFzIG1fbndD
b25uZWN0aW9ucyBuYW1lIHdhcyBhbHJlYWR5IHVzZWQuCisgICAgICAgIFJlZHVjZSBlcnJvciBs
b2dnaW5nIHRvIG9ubHkgbmV3IGVycm9yIGNvZGVzIG9yIHdoZW4gY29ubmVjdGlubyBlbnRlcnMg
dW5yZWNvdmVyYWJsZSBmYWlsdXJlIChoZW5jZSBjaGFuZ2luZyB0byBmYWlsZWQgc3RhdGUpLgor
CisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5tbToKKwogMjAyMS0x
Mi0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTG9nIHRo
YXQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyOjpQcm94
eTo6cmVzZXQgaXMgY2FsbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCmluZGV4IDVkNjVj
ZDFkMDllMjYzOTY2NDQzZGRjZjQ0NWE2ODQ4MDQ3NjFiODEuLjJlN2ZjZTgyNTI3ZjQzMGI4ODdk
ZThlMWRjMTE2YzQ0YjgyODI1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAKICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJv
dmlkZXI7CiAgICAgV2ViQ29yZTo6TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBtX2lkZW50aWZp
ZXI7Ci0gICAgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zPiBtX253Q29u
bmVjdGlvbnM7CisgICAgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zPiBt
X2Nvbm5lY3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQ
U29ja2V0Q29jb2EubW0KaW5kZXggMmJkN2Q3YmVjMmQyZTYzNmY1NGVlNGM3OWQxZDI5MTJiOWE3
NmQ4Yi4uYzZjMTFmYjA1ZTIwNGRlNjNkNGMyY2IwYmQxN2FiMzFiNmEyZjM2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENVRFBTb2NrZXRDb2NvYS5tbQpAQCAtNTgsMTEgKzU4LDIxIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNlbmRUbyhjb25zdCB1aW50OF90Kiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKTsKICAgICB2b2lkIHNldExpc3RlbmluZ1Bv
cnQoaW50KTsKIAorICAgIGNsYXNzIENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4geworICAgIHB1YmxpYzoK
KyAgICAgICAgc3RhdGljIFJlZjxDb25uZWN0aW9uU3RhdGVUcmFja2VyPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IENvbm5lY3Rpb25TdGF0ZVRyYWNrZXIoKSk7IH0KKyAgICAgICAg
dm9pZCBtYXJrQXNTdG9wcGVkKCkgeyBtX2lzU3RvcHBlZCA9IHRydWU7IH0KKyAgICAgICAgYm9v
bCBpc1N0b3BwZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU3RvcHBlZDsgfQorCisgICAgcHJpdmF0
ZToKKyAgICAgICAgYm9vbCBtX2lzU3RvcHBlZCB7IGZhbHNlIH07CisgICAgfTsKKwogcHJpdmF0
ZToKICAgICBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucyhXZWJDb3JlOjpMaWJX
ZWJSVENTb2NrZXRJZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCBSZWY8SVBDOjpDb25uZWN0aW9uPiYmLCBTdHJpbmcmJiBhdHRyaWJ1dGVk
QnVuZGxlSWRlbnRpZmllciwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxheURpc2FibGVk
LCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpOwogCi0gICAgUmV0YWluUHRyPG53
X2Nvbm5lY3Rpb25fdD4gY3JlYXRlTldDb25uZWN0aW9uKGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVz
cyYpOwotICAgIHZvaWQgc2V0dXBOV0Nvbm5lY3Rpb24obndfY29ubmVjdGlvbl90LCBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmKTsKKyAgICBzdGQ6OnBhaXI8UmV0YWluUHRyPG53X2Nvbm5lY3Rp
b25fdD4sIFJlZjxDb25uZWN0aW9uU3RhdGVUcmFja2VyPj4gY3JlYXRlTldDb25uZWN0aW9uKGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2V0dXBOV0Nvbm5lY3Rpb24obndf
Y29ubmVjdGlvbl90LCBDb25uZWN0aW9uU3RhdGVUcmFja2VyJiwgY29uc3QgcnRjOjpTb2NrZXRB
ZGRyZXNzJik7CiAgICAgdm9pZCBjb25maWd1cmVQYXJhbWV0ZXJzKG53X3BhcmFtZXRlcnNfdCwg
bndfaXBfdmVyc2lvbl90KTsKIAogICAgIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZp
ZXIgbV9pZGVudGlmaWVyOwpAQCAtNzksNyArODksNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0
cjxud19saXN0ZW5lcl90PiBtX253TGlzdGVuZXI7CiAgICAgTG9jayBtX253Q29ubmVjdGlvbnNM
b2NrOwogICAgIGJvb2wgbV9pc0Nsb3NlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbndDb25uZWN0
aW9uc0xvY2spIHsgZmFsc2UgfTsKLSAgICBIYXNoTWFwPHJ0Yzo6U29ja2V0QWRkcmVzcywgUmV0
YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4+IG1fbndDb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9M
T0NLKG1fbndDb25uZWN0aW9uc0xvY2spOworICAgIEhhc2hNYXA8cnRjOjpTb2NrZXRBZGRyZXNz
LCBzdGQ6OnBhaXI8UmV0YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4sIFJlZlB0cjxDb25uZWN0aW9u
U3RhdGVUcmFja2VyPj4+IG1fbndDb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbndD
b25uZWN0aW9uc0xvY2spOwogfTsKIAogc3RhdGljIGRpc3BhdGNoX3F1ZXVlX3QgdWRwU29ja2V0
UXVldWUoKQpAQCAtMTAwLDcgKzExMCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUlRDUHJv
dmlkZXI6OlNvY2tldD4gTmV0d29ya1JUQ1VEUFNvY2tldENvY29hOjpjcmVhdGVVRFBTCiBOZXR3
b3JrUlRDVURQU29ja2V0Q29jb2E6Ok5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYShXZWJDb3JlOjpM
aWJXZWJSVENTb2NrZXRJZGVudGlmaWVyIGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYg
cnRjUHJvdmlkZXIsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgUmVmPElQQzo6
Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBTdHJpbmcmJiBhdHRyaWJ1dGVkQnVuZGxlSWRlbnRp
ZmllciwgYm9vbCBpc0ZpcnN0UGFydHksIGJvb2wgaXNSZWxheURpc2FibGVkLCBjb25zdCBXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbiYgZG9tYWluKQogICAgIDogbV9ydGNQcm92aWRlcihydGNQ
cm92aWRlcikKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV9ud0Nvbm5l
Y3Rpb25zKE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVhdGUoaWRlbnRp
ZmllciwgcnRjUHJvdmlkZXIsIGFkZHJlc3MsIFdURk1vdmUoY29ubmVjdGlvbiksIFdURk1vdmUo
YXR0cmlidXRlZEJ1bmRsZUlkZW50aWZpZXIpLCBpc0ZpcnN0UGFydHksIGlzUmVsYXlEaXNhYmxl
ZCwgZG9tYWluKSkKKyAgICAsIG1fY29ubmVjdGlvbnMoTmV0d29ya1JUQ1VEUFNvY2tldENvY29h
Q29ubmVjdGlvbnM6OmNyZWF0ZShpZGVudGlmaWVyLCBydGNQcm92aWRlciwgYWRkcmVzcywgV1RG
TW92ZShjb25uZWN0aW9uKSwgV1RGTW92ZShhdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllciksIGlz
Rmlyc3RQYXJ0eSwgaXNSZWxheURpc2FibGVkLCBkb21haW4pKQogewogfQogCkBAIC0xMTAsMjMg
KzEyMCwyMyBAQCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6On5OZXR3b3JrUlRDVURQU29ja2V0
Q29jb2EoKQogCiB2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYTo6Y2xvc2UoKQogewotICAg
IG1fbndDb25uZWN0aW9ucy0+Y2xvc2UoKTsKKyAgICBtX2Nvbm5lY3Rpb25zLT5jbG9zZSgpOwog
ICAgIG1fcnRjUHJvdmlkZXIudGFrZVNvY2tldChtX2lkZW50aWZpZXIpOwogfQogCiB2b2lkIE5l
dHdvcmtSVENVRFBTb2NrZXRDb2NvYTo6c2V0TGlzdGVuaW5nUG9ydChpbnQgcG9ydCkKIHsKLSAg
ICBtX253Q29ubmVjdGlvbnMtPnNldExpc3RlbmluZ1BvcnQocG9ydCk7CisgICAgbV9jb25uZWN0
aW9ucy0+c2V0TGlzdGVuaW5nUG9ydChwb3J0KTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDVURQU29j
a2V0Q29jb2E6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCiB7Ci0gICAgbV9ud0Nv
bm5lY3Rpb25zLT5zZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSk7CisgICAgbV9jb25uZWN0aW9ucy0+
c2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOwogfQogCiB2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRD
b2NvYTo6c2VuZFRvKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXplLCBjb25zdCBydGM6
OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9u
cykKIHsKLSAgICBtX253Q29ubmVjdGlvbnMtPnNlbmRUbyhkYXRhLCBzaXplLCBhZGRyZXNzLCBv
cHRpb25zKTsKKyAgICBtX2Nvbm5lY3Rpb25zLT5zZW5kVG8oZGF0YSwgc2l6ZSwgYWRkcmVzcywg
b3B0aW9ucyk7CiB9CiAKIHN0YXRpYyBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzc0Zy
b21JbmNvbWluZ0Nvbm5lY3Rpb24obndfY29ubmVjdGlvbl90IGNvbm5lY3Rpb24pCkBAIC0yMjUs
MTYgKzIzNSwxOCBAQCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6TmV0d29y
a1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMoV2ViQ29yZQogICAgICAgICB9CiAgICAgfSku
Z2V0KCkpOwogCi0gICAgbndfbGlzdGVuZXJfc2V0X25ld19jb25uZWN0aW9uX2hhbmRsZXIobV9u
d0xpc3RlbmVyLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhp
cyB9XShud19jb25uZWN0aW9uX3QgY29ubmVjdGlvbikgeworICAgIG53X2xpc3RlbmVyX3NldF9u
ZXdfY29ubmVjdGlvbl9oYW5kbGVyKG1fbndMaXN0ZW5lci5nZXQoKSwgbWFrZUJsb2NrUHRyKFtw
cm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0obndfY29ubmVjdGlvbl90IG53Q29ubmVjdGlv
bikgewogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgcHJvdGVjdGVkVGhpcy0+bV9ud0Nvbm5lY3Rp
b25zTG9jayB9OwogICAgICAgICBpZiAocHJvdGVjdGVkVGhpcy0+bV9pc0Nsb3NlZCkKICAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICBhdXRvIHJlbW90ZUFkZHJlc3MgPSBzb2NrZXRBZGRy
ZXNzRnJvbUluY29taW5nQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKKyAgICAgICAgYXV0byByZW1v
dGVBZGRyZXNzID0gc29ja2V0QWRkcmVzc0Zyb21JbmNvbWluZ0Nvbm5lY3Rpb24obndDb25uZWN0
aW9uKTsKICAgICAgICAgQVNTRVJUKHJlbW90ZUFkZHJlc3MgIT0gSGFzaFRyYWl0czxydGM6OlNv
Y2tldEFkZHJlc3M+OjplbXB0eVZhbHVlKCkgJiYgIUhhc2hUcmFpdHM8cnRjOjpTb2NrZXRBZGRy
ZXNzPjo6aXNEZWxldGVkVmFsdWUocmVtb3RlQWRkcmVzcykpOwogCi0gICAgICAgIHByb3RlY3Rl
ZFRoaXMtPm1fbndDb25uZWN0aW9ucy5zZXQocmVtb3RlQWRkcmVzcywgY29ubmVjdGlvbik7Ci0g
ICAgICAgIHByb3RlY3RlZFRoaXMtPnNldHVwTldDb25uZWN0aW9uKGNvbm5lY3Rpb24sIHJlbW90
ZUFkZHJlc3MpOworICAgICAgICBhdXRvIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBDb25uZWN0
aW9uU3RhdGVUcmFja2VyOjpjcmVhdGUoKTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+c2V0dXBO
V0Nvbm5lY3Rpb24obndDb25uZWN0aW9uLCBjb25uZWN0aW9uU3RhdGVUcmFja2VyLmdldCgpLCBy
ZW1vdGVBZGRyZXNzKTsKKworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX253Q29ubmVjdGlvbnMu
c2V0KHJlbW90ZUFkZHJlc3MsIHN0ZDo6bWFrZV9wYWlyKG53Q29ubmVjdGlvbiwgV1RGTW92ZShj
b25uZWN0aW9uU3RhdGVUcmFja2VyKSkpOwogICAgIH0pLmdldCgpKTsKIAogICAgIG53X2xpc3Rl
bmVyX3N0YXJ0KG1fbndMaXN0ZW5lci5nZXQoKSk7CkBAIC0yNjMsMTIgKzI3NSwxNCBAQCB2b2lk
IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjbG9zZSgpCiAgICAgTG9ja2Vy
IGxvY2tlciB7IG1fbndDb25uZWN0aW9uc0xvY2sgfTsKICAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsK
IAorICAgIGZvciAoYXV0byYgbndDb25uZWN0aW9uIDogbV9ud0Nvbm5lY3Rpb25zLnZhbHVlcygp
KSB7CisgICAgICAgIG53Q29ubmVjdGlvbi5zZWNvbmQtPm1hcmtBc1N0b3BwZWQoKTsKKyAgICAg
ICAgbndfY29ubmVjdGlvbl9jYW5jZWwobndDb25uZWN0aW9uLmZpcnN0LmdldCgpKTsKKyAgICB9
CisgICAgbV9ud0Nvbm5lY3Rpb25zLmNsZWFyKCk7CisKICAgICBud19saXN0ZW5lcl9jYW5jZWwo
bV9ud0xpc3RlbmVyLmdldCgpKTsKICAgICBtX253TGlzdGVuZXIgPSBudWxscHRyOwotCi0gICAg
Zm9yIChhdXRvJiBud0Nvbm5lY3Rpb24gOiBtX253Q29ubmVjdGlvbnMudmFsdWVzKCkpCi0gICAg
ICAgIG53X2Nvbm5lY3Rpb25fY2FuY2VsKG53Q29ubmVjdGlvbi5nZXQoKSk7Ci0gICAgbV9ud0Nv
bm5lY3Rpb25zLmNsZWFyKCk7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29u
bmVjdGlvbnM6OnNldE9wdGlvbihpbnQsIGludCkKQEAgLTI3NiwyNSArMjkwLDI4IEBAIHZvaWQg
TmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6OnNldE9wdGlvbihpbnQsIGludCkK
ICAgICAvLyBGSVhNRTogVmFsaWRhdGUgdGhpcyBpcyBub3QgbmVlZGVkLgogfQogCi1zdGF0aWMg
aW5saW5lIHZvaWQgcHJvY2Vzc1VEUERhdGEoUmV0YWluUHRyPG53X2Nvbm5lY3Rpb25fdD4mJiBu
d0Nvbm5lY3Rpb24sIEZ1bmN0aW9uPHZvaWQoY29uc3QgdWludDhfdCosIHNpemVfdCk+JiYgcHJv
Y2Vzc0RhdGEpCitzdGF0aWMgaW5saW5lIHZvaWQgcHJvY2Vzc1VEUERhdGEoUmV0YWluUHRyPG53
X2Nvbm5lY3Rpb25fdD4mJiBud0Nvbm5lY3Rpb24sIFJlZjxOZXR3b3JrUlRDVURQU29ja2V0Q29j
b2FDb25uZWN0aW9uczo6Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4gY29ubmVjdGlvblN0YXRlVHJh
Y2tlciwgaW50IGVycm9yQ29kZSwgRnVuY3Rpb248dm9pZChjb25zdCB1aW50OF90Kiwgc2l6ZV90
KT4mJiBwcm9jZXNzRGF0YSkKIHsKICAgICBhdXRvIG53Q29ubmVjdGlvblJlZmVyZW5jZSA9IG53
Q29ubmVjdGlvbi5nZXQoKTsKLSAgICBud19jb25uZWN0aW9uX3JlY2VpdmUobndDb25uZWN0aW9u
UmVmZXJlbmNlLCAxLCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksIG1ha2VC
bG9ja1B0cihbbndDb25uZWN0aW9uID0gV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBwcm9jZXNzRGF0
YSA9IFdURk1vdmUocHJvY2Vzc0RhdGEpXShkaXNwYXRjaF9kYXRhX3QgY29udGVudCwgbndfY29u
dGVudF9jb250ZXh0X3QgY29udGV4dCwgYm9vbCBpc0NvbXBsZXRlLCBud19lcnJvcl90IGVycm9y
KSBtdXRhYmxlIHsKKyAgICBud19jb25uZWN0aW9uX3JlY2VpdmUobndDb25uZWN0aW9uUmVmZXJl
bmNlLCAxLCBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksIG1ha2VCbG9ja1B0
cihbbndDb25uZWN0aW9uID0gV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBwcm9jZXNzRGF0YSA9IFdU
Rk1vdmUocHJvY2Vzc0RhdGEpLCBlcnJvckNvZGUsIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBX
VEZNb3ZlKGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIpXShkaXNwYXRjaF9kYXRhX3QgY29udGVudCwg
bndfY29udGVudF9jb250ZXh0X3QsIGJvb2wsIG53X2Vycm9yX3QgZXJyb3IpIG11dGFibGUgewog
ICAgICAgICBpZiAoY29udGVudCkgewogICAgICAgICAgICAgZGlzcGF0Y2hfZGF0YV9hcHBseShj
b250ZW50LCBtYWtlQmxvY2tQdHIoWyZdKGRpc3BhdGNoX2RhdGFfdCwgc2l6ZV90LCBjb25zdCB2
b2lkKiBkYXRhLCBzaXplX3Qgc2l6ZSkgewogICAgICAgICAgICAgICAgIHByb2Nlc3NEYXRhKHN0
YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihkYXRhKSwgc2l6ZSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KS5nZXQoKSk7CiAgICAgICAgIH0KLSAgICAgICAg
aWYgKGlzQ29tcGxldGUgJiYgY29udGV4dCAmJiBud19jb250ZW50X2NvbnRleHRfZ2V0X2lzX2Zp
bmFsKGNvbnRleHQpKQorICAgICAgICBpZiAoY29ubmVjdGlvblN0YXRlVHJhY2tlci0+aXNTdG9w
cGVkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Jf
SUYoISFlcnJvciwgV2ViUlRDLCAiTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMg
ZmFpbGVkIHByb2Nlc3NpbmcgVURQIGRhdGEgd2l0aCBlcnJvciAlZCIsIG53X2Vycm9yX2dldF9l
cnJvcl9jb2RlKGVycm9yKSk7Ci0gICAgICAgIHByb2Nlc3NVRFBEYXRhKFdURk1vdmUobndDb25u
ZWN0aW9uKSwgV1RGTW92ZShwcm9jZXNzRGF0YSkpOworICAgICAgICBpZiAoZXJyb3IgJiYgZXJy
b3JDb2RlICE9IG53X2Vycm9yX2dldF9lcnJvcl9jb2RlKGVycm9yKSkgeworICAgICAgICAgICAg
ZXJyb3JDb2RlID0gbndfZXJyb3JfZ2V0X2Vycm9yX2NvZGUoZXJyb3IpOworICAgICAgICAgICAg
UkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVj
dGlvbnMgZmFpbGVkIHByb2Nlc3NpbmcgVURQIGRhdGEgd2l0aCBlcnJvciAlZCIsIG53X2Vycm9y
X2dldF9lcnJvcl9jb2RlKGVycm9yKSk7CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc1VEUERh
dGEoV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBXVEZNb3ZlKGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIp
LCBlcnJvckNvZGUsIFdURk1vdmUocHJvY2Vzc0RhdGEpKTsKICAgICB9KS5nZXQoKSk7CiB9CiAK
LVJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5l
Y3Rpb25zOjpjcmVhdGVOV0Nvbm5lY3Rpb24oY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1v
dGVBZGRyZXNzKQorc3RkOjpwYWlyPFJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+LCBSZWY8TmV0
d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6OkNvbm5lY3Rpb25TdGF0ZVRyYWNrZXI+
PiBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlTldDb25uZWN0aW9u
KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKIHsKICAgICBhdXRvIHBh
cmFtZXRlcnMgPSBhZG9wdE5TKG53X3BhcmFtZXRlcnNfY3JlYXRlX3NlY3VyZV91ZHAoTldfUEFS
QU1FVEVSU19ESVNBQkxFX1BST1RPQ09MLCBOV19QQVJBTUVURVJTX0RFRkFVTFRfQ09ORklHVVJB
VElPTikpOwogICAgIHsKQEAgLTMyMSwxNSArMzM4LDIzIEBAIFJldGFpblB0cjxud19jb25uZWN0
aW9uX3Q+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpjcmVhdGVOV0Nvbm5l
Y3RpCiAgICAgYXV0byBob3N0ID0gYWRvcHROUyhud19lbmRwb2ludF9jcmVhdGVfaG9zdChyZW1v
dGVIb3N0QWRkcmVzcy5jX3N0cigpLCBTdHJpbmc6Om51bWJlcihyZW1vdGVBZGRyZXNzLnBvcnQo
KSkudXRmOCgpLmRhdGEoKSkpOwogICAgIGF1dG8gbndDb25uZWN0aW9uID0gYWRvcHROUyhud19j
b25uZWN0aW9uX2NyZWF0ZShob3N0LmdldCgpLCBwYXJhbWV0ZXJzLmdldCgpKSk7CiAKLSAgICBz
ZXR1cE5XQ29ubmVjdGlvbihud0Nvbm5lY3Rpb24uZ2V0KCksIHJlbW90ZUFkZHJlc3MpOwotICAg
IHJldHVybiBud0Nvbm5lY3Rpb247CisgICAgYXV0byBjb25uZWN0aW9uU3RhdGVUcmFja2VyID0g
Q29ubmVjdGlvblN0YXRlVHJhY2tlcjo6Y3JlYXRlKCk7CisKKyAgICBzZXR1cE5XQ29ubmVjdGlv
bihud0Nvbm5lY3Rpb24uZ2V0KCksIGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIuZ2V0KCksIHJlbW90
ZUFkZHJlc3MpOworICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihXVEZNb3ZlKG53Q29ubmVjdGlv
biksIFdURk1vdmUoY29ubmVjdGlvblN0YXRlVHJhY2tlcikpOwogfQogCi12b2lkIE5ldHdvcmtS
VENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpzZXR1cE5XQ29ubmVjdGlvbihud19jb25uZWN0
aW9uX3QgbndDb25uZWN0aW9uLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJl
c3MpCit2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpzZXR1cE5XQ29u
bmVjdGlvbihud19jb25uZWN0aW9uX3QgbndDb25uZWN0aW9uLCBDb25uZWN0aW9uU3RhdGVUcmFj
a2VyJiBjb25uZWN0aW9uU3RhdGVUcmFja2VyLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJl
bW90ZUFkZHJlc3MpCiB7CiAgICAgbndfY29ubmVjdGlvbl9zZXRfcXVldWUobndDb25uZWN0aW9u
LCB1ZHBTb2NrZXRRdWV1ZSgpKTsKIAotICAgIHByb2Nlc3NVRFBEYXRhKG53Q29ubmVjdGlvbiwg
W2lkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uY29w
eVJlZigpLCBpcCA9IHJlbW90ZUFkZHJlc3MuaXBhZGRyKCksIHBvcnQgPSByZW1vdGVBZGRyZXNz
LnBvcnQoKV0oYXV0byogbWVzc2FnZSwgYXV0byBzaXplKSBtdXRhYmxlIHsKKyAgICBud19jb25u
ZWN0aW9uX3NldF9zdGF0ZV9jaGFuZ2VkX2hhbmRsZXIobndDb25uZWN0aW9uLCBtYWtlQmxvY2tQ
dHIoW2Nvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgPSBSZWYgIHsgY29ubmVjdGlvblN0YXRlVHJhY2tl
ciB9XShud19jb25uZWN0aW9uX3N0YXRlX3Qgc3RhdGUsIF9OdWxsYWJsZSBud19lcnJvcl90IGVy
cm9yKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGKHN0YXRlID09IG53X2Nvbm5lY3Rp
b25fc3RhdGVfZmFpbGVkLCBXZWJSVEMsICJOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0
aW9ucyBjb25uZWN0aW9uIGZhaWxlZCB3aXRoIGVycm9yICVkIiwgZXJyb3IgPyBud19lcnJvcl9n
ZXRfZXJyb3JfY29kZShlcnJvcikgOiAwKTsKKyAgICAgICAgaWYgKHN0YXRlID09IG53X2Nvbm5l
Y3Rpb25fc3RhdGVfZmFpbGVkIHx8IHN0YXRlID09IG53X2Nvbm5lY3Rpb25fc3RhdGVfY2FuY2Vs
bGVkKQorICAgICAgICAgICAgY29ubmVjdGlvblN0YXRlVHJhY2tlci0+bWFya0FzU3RvcHBlZCgp
OworICAgIH0pLmdldCgpKTsKKworICAgIHByb2Nlc3NVRFBEYXRhKG53Q29ubmVjdGlvbiwgUmVm
ICB7IGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgfSwgMCwgW2lkZW50aWZpZXIgPSBtX2lkZW50aWZp
ZXIsIGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uY29weVJlZigpLCBpcCA9IHJlbW90ZUFkZHJl
c3MuaXBhZGRyKCksIHBvcnQgPSByZW1vdGVBZGRyZXNzLnBvcnQoKV0oYXV0byogbWVzc2FnZSwg
YXV0byBzaXplKSBtdXRhYmxlIHsKICAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEobWVz
c2FnZSwgc2l6ZSk7CiAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJU
Q05ldHdvcms6OlNpZ25hbFJlYWRQYWNrZXQgeyBpZGVudGlmaWVyLCBkYXRhLCBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MoaXApLCBwb3J0LCBydGM6OlRpbWVNaWxsaXMoKSAqIDEwMDAgfSwgMCk7CiAg
ICAgfSk7CkBAIC0zNDksNyArMzc0LDcgQEAgdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FD
b25uZWN0aW9uczo6c2VuZFRvKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXoKICAgICAg
ICAgTG9ja2VyIGxvY2tlciB7IG1fbndDb25uZWN0aW9uc0xvY2sgfTsKICAgICAgICAgbndDb25u
ZWN0aW9uID0gbV9ud0Nvbm5lY3Rpb25zLmVuc3VyZShyZW1vdGVBZGRyZXNzLCBbdGhpcywgJnJl
bW90ZUFkZHJlc3NdIHsKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVOV0Nvbm5lY3Rpb24ocmVt
b3RlQWRkcmVzcyk7Ci0gICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKKyAgICAgICAg
fSkuaXRlcmF0b3ItPnZhbHVlLmZpcnN0LmdldCgpOwogICAgIH0KIAogICAgIGF1dG8gdmFsdWUg
PSBhZG9wdE5TKGRpc3BhdGNoX2RhdGFfY3JlYXRlKGRhdGEsIHNpemUsIG51bGxwdHIsIERJU1BB
VENIX0RBVEFfREVTVFJVQ1RPUl9ERUZBVUxUKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447010</attachid>
            <date>2021-12-13 09:00:19 -0800</date>
            <delta_ts>2021-12-13 11:53:20 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234181-20211213180018.patch</filename>
            <type>text/plain</type>
            <size>13349</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBhMzY0NmY5YTBkYTE3N2Zj
MzExZDY5M2FkNTY2Mzg4ZTg3MzQ5ZjQuLjc1ZmNlNmQyNTU3OTQwYWQ5ZjUyMzcyMmJiMDE1YjQ4
MmEwNzA5OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTItMTMgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyODY4NDEp
OiBbIGlPUyBdIE1hbnkgd2VicnRjIHRlc3RzIGZsYWt5IGZhaWxpbmcgb24gaU9TCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxODEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg2MzQzNjQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2Fy
bHNvbi4KKworICAgICAgICBVc2UgbmV0d29yayBjb25uZWN0aW9uIHN0YXRlIGNoYW5nZSBjYWxs
YmFjayB0byBrbm93IHdoZW4gY29ubmVjdGlvbiBmYWlscyBvciBpcyBjYW5jZWxsZWQuCisgICAg
ICAgIEludHJvZHVjZSBDb25uZWN0aW9uU3RhdGVUcmFja2VyIHRvIGtub3cgd2hlbiB0byBzdG9w
IHJlYWRpbmcgbmV3IFVEUCBwYWNrZXRzLgorICAgICAgICBDb25uZWN0aW9uU3RhdGVUcmFja2Vy
IHdpbGwgYmUgc3RvcHBlZCB3aGVuIHN0YXRlIGlzIGNoYW5nZWQgdG8gZmFpbGVkIG9yIGNhbmNl
bGxlZCBhcyB3ZWxsIGFzIHdoZW4gdGhlIHdob2xlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLgorICAg
ICAgICBSZW5hbWluZyBtX253Q29ubmVjdGlvbnMgdG8gbV9jb25uZWN0aW9ucyBhcyBtX253Q29u
bmVjdGlvbnMgbmFtZSB3YXMgYWxyZWFkeSB1c2VkLgorICAgICAgICBSZWR1Y2UgZXJyb3IgbG9n
Z2luZyB0byBvbmx5IG5ldyBlcnJvciBjb2RlcyBvciB3aGVuIGNvbm5lY3Rpbm8gZW50ZXJzIHVu
cmVjb3ZlcmFibGUgZmFpbHVyZSAoaGVuY2UgY2hhbmdpbmcgdG8gZmFpbGVkIHN0YXRlKS4KKwor
ICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2NrZXRDb2NvYS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EubW06CisKIDIwMjEtMTIt
MTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBTZXJ2
aWNlV29ya2VyIGRvd25sb2FkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaAppbmRleCA1ZDY1
Y2QxZDA5ZTI2Mzk2NjQ0M2RkY2Y0NDVhNjg0ODA0NzYxYjgxLi4yZTdmY2U4MjUyN2Y0MzBiODg3
ZGU4ZTFkYzExNmM0NGI4MjgyNTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDVURQU29ja2V0Q29jb2EuaApAQCAt
NzcsNyArNzcsNyBAQCBwcml2YXRlOgogCiAgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBtX3J0Y1By
b3ZpZGVyOwogICAgIFdlYkNvcmU6OkxpYldlYlJUQ1NvY2tldElkZW50aWZpZXIgbV9pZGVudGlm
aWVyOwotICAgIFJlZjxOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucz4gbV9ud0Nv
bm5lY3Rpb25zOworICAgIFJlZjxOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9ucz4g
bV9jb25uZWN0aW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VEUFNvY2tldENv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1VE
UFNvY2tldENvY29hLm1tCmluZGV4IDJiZDdkN2JlYzJkMmU2MzZmNTRlZTRjNzlkMWQyOTEyYjlh
NzZkOGIuLmJjMThlZTgzZWQ2N2ExOTFmMDQwZDFjYWU4NDY2MDRjYmMxMjEzYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENVRFBTb2Nr
ZXRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDVURQU29ja2V0Q29jb2EubW0KQEAgLTU4LDExICs1OCwyMSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZW5kVG8oY29uc3QgdWludDhfdCosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJik7CiAgICAgdm9pZCBzZXRMaXN0ZW5pbmdQ
b3J0KGludCk7CiAKKyAgICBjbGFzcyBDb25uZWN0aW9uU3RhdGVUcmFja2VyIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPENvbm5lY3Rpb25TdGF0ZVRyYWNrZXI+IHsKKyAgICBwdWJsaWM6
CisgICAgICAgIHN0YXRpYyBSZWY8Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4gY3JlYXRlKCkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDb25uZWN0aW9uU3RhdGVUcmFja2VyKCkpOyB9CisgICAgICAg
IHZvaWQgbWFya0FzU3RvcHBlZCgpIHsgbV9pc1N0b3BwZWQgPSB0cnVlOyB9CisgICAgICAgIGJv
b2wgaXNTdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0b3BwZWQ7IH0KKworICAgIHByaXZh
dGU6CisgICAgICAgIGJvb2wgbV9pc1N0b3BwZWQgeyBmYWxzZSB9OworICAgIH07CisKIHByaXZh
dGU6CiAgICAgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMoV2ViQ29yZTo6TGli
V2ViUlRDU29ja2V0SWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVyJiwgY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiwgU3RyaW5nJiYgYXR0cmlidXRl
ZEJ1bmRsZUlkZW50aWZpZXIsIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNhYmxl
ZCwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mKTsKIAotICAgIFJldGFpblB0cjxu
d19jb25uZWN0aW9uX3Q+IGNyZWF0ZU5XQ29ubmVjdGlvbihjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmKTsKLSAgICB2b2lkIHNldHVwTldDb25uZWN0aW9uKG53X2Nvbm5lY3Rpb25fdCwgY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJik7CisgICAgc3RkOjpwYWlyPFJldGFpblB0cjxud19jb25uZWN0
aW9uX3Q+LCBSZWY8Q29ubmVjdGlvblN0YXRlVHJhY2tlcj4+IGNyZWF0ZU5XQ29ubmVjdGlvbihj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmKTsKKyAgICB2b2lkIHNldHVwTldDb25uZWN0aW9uKG53
X2Nvbm5lY3Rpb25fdCwgQ29ubmVjdGlvblN0YXRlVHJhY2tlciYsIGNvbnN0IHJ0Yzo6U29ja2V0
QWRkcmVzcyYpOwogICAgIHZvaWQgY29uZmlndXJlUGFyYW1ldGVycyhud19wYXJhbWV0ZXJzX3Qs
IG53X2lwX3ZlcnNpb25fdCk7CiAKICAgICBXZWJDb3JlOjpMaWJXZWJSVENTb2NrZXRJZGVudGlm
aWVyIG1faWRlbnRpZmllcjsKQEAgLTc5LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8bndfbGlzdGVuZXJfdD4gbV9ud0xpc3RlbmVyOwogICAgIExvY2sgbV9ud0Nvbm5lY3Rpb25z
TG9jazsKICAgICBib29sIG1faXNDbG9zZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX253Q29ubmVj
dGlvbnNMb2NrKSB7IGZhbHNlIH07Ci0gICAgSGFzaE1hcDxydGM6OlNvY2tldEFkZHJlc3MsIFJl
dGFpblB0cjxud19jb25uZWN0aW9uX3Q+PiBtX253Q29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllf
TE9DSyhtX253Q29ubmVjdGlvbnNMb2NrKTsKKyAgICBIYXNoTWFwPHJ0Yzo6U29ja2V0QWRkcmVz
cywgc3RkOjpwYWlyPFJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+LCBSZWZQdHI8Q29ubmVjdGlv
blN0YXRlVHJhY2tlcj4+PiBtX253Q29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX253
Q29ubmVjdGlvbnNMb2NrKTsKIH07CiAKIHN0YXRpYyBkaXNwYXRjaF9xdWV1ZV90IHVkcFNvY2tl
dFF1ZXVlKCkKQEAgLTEwMCw3ICsxMTAsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1JUQ1By
b3ZpZGVyOjpTb2NrZXQ+IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYTo6Y3JlYXRlVURQUwogTmV0
d29ya1JUQ1VEUFNvY2tldENvY29hOjpOZXR3b3JrUlRDVURQU29ja2V0Q29jb2EoV2ViQ29yZTo6
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllciBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXIm
IHJ0Y1Byb3ZpZGVyLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIFJlZjxJUEM6
OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgU3RyaW5nJiYgYXR0cmlidXRlZEJ1bmRsZUlkZW50
aWZpZXIsIGJvb2wgaXNGaXJzdFBhcnR5LCBib29sIGlzUmVsYXlEaXNhYmxlZCwgY29uc3QgV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4mIGRvbWFpbikKICAgICA6IG1fcnRjUHJvdmlkZXIocnRj
UHJvdmlkZXIpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKLSAgICAsIG1fbndDb25u
ZWN0aW9ucyhOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlKGlkZW50
aWZpZXIsIHJ0Y1Byb3ZpZGVyLCBhZGRyZXNzLCBXVEZNb3ZlKGNvbm5lY3Rpb24pLCBXVEZNb3Zl
KGF0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyKSwgaXNGaXJzdFBhcnR5LCBpc1JlbGF5RGlzYWJs
ZWQsIGRvbWFpbikpCisgICAgLCBtX2Nvbm5lY3Rpb25zKE5ldHdvcmtSVENVRFBTb2NrZXRDb2Nv
YUNvbm5lY3Rpb25zOjpjcmVhdGUoaWRlbnRpZmllciwgcnRjUHJvdmlkZXIsIGFkZHJlc3MsIFdU
Rk1vdmUoY29ubmVjdGlvbiksIFdURk1vdmUoYXR0cmlidXRlZEJ1bmRsZUlkZW50aWZpZXIpLCBp
c0ZpcnN0UGFydHksIGlzUmVsYXlEaXNhYmxlZCwgZG9tYWluKSkKIHsKIH0KIApAQCAtMTEwLDIz
ICsxMjAsMjMgQEAgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hOjp+TmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hKCkKIAogdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6OmNsb3NlKCkKIHsKLSAg
ICBtX253Q29ubmVjdGlvbnMtPmNsb3NlKCk7CisgICAgbV9jb25uZWN0aW9ucy0+Y2xvc2UoKTsK
ICAgICBtX3J0Y1Byb3ZpZGVyLnRha2VTb2NrZXQobV9pZGVudGlmaWVyKTsKIH0KIAogdm9pZCBO
ZXR3b3JrUlRDVURQU29ja2V0Q29jb2E6OnNldExpc3RlbmluZ1BvcnQoaW50IHBvcnQpCiB7Ci0g
ICAgbV9ud0Nvbm5lY3Rpb25zLT5zZXRMaXN0ZW5pbmdQb3J0KHBvcnQpOworICAgIG1fY29ubmVj
dGlvbnMtPnNldExpc3RlbmluZ1BvcnQocG9ydCk7CiB9CiAKIHZvaWQgTmV0d29ya1JUQ1VEUFNv
Y2tldENvY29hOjpzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQogewotICAgIG1fbndD
b25uZWN0aW9ucy0+c2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOworICAgIG1fY29ubmVjdGlvbnMt
PnNldE9wdGlvbihvcHRpb24sIHZhbHVlKTsKIH0KIAogdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0
Q29jb2E6OnNlbmRUbyhjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlv
bnMpCiB7Ci0gICAgbV9ud0Nvbm5lY3Rpb25zLT5zZW5kVG8oZGF0YSwgc2l6ZSwgYWRkcmVzcywg
b3B0aW9ucyk7CisgICAgbV9jb25uZWN0aW9ucy0+c2VuZFRvKGRhdGEsIHNpemUsIGFkZHJlc3Ms
IG9wdGlvbnMpOwogfQogCiBzdGF0aWMgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJlc3NG
cm9tSW5jb21pbmdDb25uZWN0aW9uKG53X2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uKQpAQCAtMjI1
LDE2ICsyMzUsMTggQEAgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6Ok5ldHdv
cmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zKFdlYkNvcmUKICAgICAgICAgfQogICAgIH0p
LmdldCgpKTsKIAotICAgIG53X2xpc3RlbmVyX3NldF9uZXdfY29ubmVjdGlvbl9oYW5kbGVyKG1f
bndMaXN0ZW5lci5nZXQoKSwgbWFrZUJsb2NrUHRyKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRo
aXMgfV0obndfY29ubmVjdGlvbl90IGNvbm5lY3Rpb24pIHsKKyAgICBud19saXN0ZW5lcl9zZXRf
bmV3X2Nvbm5lY3Rpb25faGFuZGxlcihtX253TGlzdGVuZXIuZ2V0KCksIG1ha2VCbG9ja1B0cihb
cHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dKG53X2Nvbm5lY3Rpb25fdCBud0Nvbm5lY3Rp
b24pIHsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7IHByb3RlY3RlZFRoaXMtPm1fbndDb25uZWN0
aW9uc0xvY2sgfTsKICAgICAgICAgaWYgKHByb3RlY3RlZFRoaXMtPm1faXNDbG9zZWQpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0byByZW1vdGVBZGRyZXNzID0gc29ja2V0QWRk
cmVzc0Zyb21JbmNvbWluZ0Nvbm5lY3Rpb24oY29ubmVjdGlvbik7CisgICAgICAgIGF1dG8gcmVt
b3RlQWRkcmVzcyA9IHNvY2tldEFkZHJlc3NGcm9tSW5jb21pbmdDb25uZWN0aW9uKG53Q29ubmVj
dGlvbik7CiAgICAgICAgIEFTU0VSVChyZW1vdGVBZGRyZXNzICE9IEhhc2hUcmFpdHM8cnRjOjpT
b2NrZXRBZGRyZXNzPjo6ZW1wdHlWYWx1ZSgpICYmICFIYXNoVHJhaXRzPHJ0Yzo6U29ja2V0QWRk
cmVzcz46OmlzRGVsZXRlZFZhbHVlKHJlbW90ZUFkZHJlc3MpKTsKIAotICAgICAgICBwcm90ZWN0
ZWRUaGlzLT5tX253Q29ubmVjdGlvbnMuc2V0KHJlbW90ZUFkZHJlc3MsIGNvbm5lY3Rpb24pOwot
ICAgICAgICBwcm90ZWN0ZWRUaGlzLT5zZXR1cE5XQ29ubmVjdGlvbihjb25uZWN0aW9uLCByZW1v
dGVBZGRyZXNzKTsKKyAgICAgICAgYXV0byBjb25uZWN0aW9uU3RhdGVUcmFja2VyID0gQ29ubmVj
dGlvblN0YXRlVHJhY2tlcjo6Y3JlYXRlKCk7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnNldHVw
TldDb25uZWN0aW9uKG53Q29ubmVjdGlvbiwgY29ubmVjdGlvblN0YXRlVHJhY2tlci5nZXQoKSwg
cmVtb3RlQWRkcmVzcyk7CisKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9ud0Nvbm5lY3Rpb25z
LnNldChyZW1vdGVBZGRyZXNzLCBzdGQ6Om1ha2VfcGFpcihud0Nvbm5lY3Rpb24sIFdURk1vdmUo
Y29ubmVjdGlvblN0YXRlVHJhY2tlcikpKTsKICAgICB9KS5nZXQoKSk7CiAKICAgICBud19saXN0
ZW5lcl9zdGFydChtX253TGlzdGVuZXIuZ2V0KCkpOwpAQCAtMjYzLDEyICsyNzUsMTQgQEAgdm9p
ZCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y2xvc2UoKQogICAgIExvY2tl
ciBsb2NrZXIgeyBtX253Q29ubmVjdGlvbnNMb2NrIH07CiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7
CiAKKyAgICBmb3IgKGF1dG8mIG53Q29ubmVjdGlvbiA6IG1fbndDb25uZWN0aW9ucy52YWx1ZXMo
KSkgeworICAgICAgICBud0Nvbm5lY3Rpb24uc2Vjb25kLT5tYXJrQXNTdG9wcGVkKCk7CisgICAg
ICAgIG53X2Nvbm5lY3Rpb25fY2FuY2VsKG53Q29ubmVjdGlvbi5maXJzdC5nZXQoKSk7CisgICAg
fQorICAgIG1fbndDb25uZWN0aW9ucy5jbGVhcigpOworCiAgICAgbndfbGlzdGVuZXJfY2FuY2Vs
KG1fbndMaXN0ZW5lci5nZXQoKSk7CiAgICAgbV9ud0xpc3RlbmVyID0gbnVsbHB0cjsKLQotICAg
IGZvciAoYXV0byYgbndDb25uZWN0aW9uIDogbV9ud0Nvbm5lY3Rpb25zLnZhbHVlcygpKQotICAg
ICAgICBud19jb25uZWN0aW9uX2NhbmNlbChud0Nvbm5lY3Rpb24uZ2V0KCkpOwotICAgIG1fbndD
b25uZWN0aW9ucy5jbGVhcigpOwogfQogCiB2b2lkIE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNv
bm5lY3Rpb25zOjpzZXRPcHRpb24oaW50LCBpbnQpCkBAIC0yNzYsMjUgKzI5MCwyOCBAQCB2b2lk
IE5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25zOjpzZXRPcHRpb24oaW50LCBpbnQp
CiAgICAgLy8gRklYTUU6IFZhbGlkYXRlIHRoaXMgaXMgbm90IG5lZWRlZC4KIH0KIAotc3RhdGlj
IGlubGluZSB2b2lkIHByb2Nlc3NVRFBEYXRhKFJldGFpblB0cjxud19jb25uZWN0aW9uX3Q+JiYg
bndDb25uZWN0aW9uLCBGdW5jdGlvbjx2b2lkKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpPiYmIHBy
b2Nlc3NEYXRhKQorc3RhdGljIGlubGluZSB2b2lkIHByb2Nlc3NVRFBEYXRhKFJldGFpblB0cjxu
d19jb25uZWN0aW9uX3Q+JiYgbndDb25uZWN0aW9uLCBSZWY8TmV0d29ya1JUQ1VEUFNvY2tldENv
Y29hQ29ubmVjdGlvbnM6OkNvbm5lY3Rpb25TdGF0ZVRyYWNrZXI+IGNvbm5lY3Rpb25TdGF0ZVRy
YWNrZXIsIGludCBlcnJvckNvZGUsIEZ1bmN0aW9uPHZvaWQoY29uc3QgdWludDhfdCosIHNpemVf
dCk+JiYgcHJvY2Vzc0RhdGEpCiB7CiAgICAgYXV0byBud0Nvbm5lY3Rpb25SZWZlcmVuY2UgPSBu
d0Nvbm5lY3Rpb24uZ2V0KCk7Ci0gICAgbndfY29ubmVjdGlvbl9yZWNlaXZlKG53Q29ubmVjdGlv
blJlZmVyZW5jZSwgMSwgc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpLCBtYWtl
QmxvY2tQdHIoW253Q29ubmVjdGlvbiA9IFdURk1vdmUobndDb25uZWN0aW9uKSwgcHJvY2Vzc0Rh
dGEgPSBXVEZNb3ZlKHByb2Nlc3NEYXRhKV0oZGlzcGF0Y2hfZGF0YV90IGNvbnRlbnQsIG53X2Nv
bnRlbnRfY29udGV4dF90IGNvbnRleHQsIGJvb2wgaXNDb21wbGV0ZSwgbndfZXJyb3JfdCBlcnJv
cikgbXV0YWJsZSB7CisgICAgbndfY29ubmVjdGlvbl9yZWNlaXZlKG53Q29ubmVjdGlvblJlZmVy
ZW5jZSwgMSwgc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpLCBtYWtlQmxvY2tQ
dHIoW253Q29ubmVjdGlvbiA9IFdURk1vdmUobndDb25uZWN0aW9uKSwgcHJvY2Vzc0RhdGEgPSBX
VEZNb3ZlKHByb2Nlc3NEYXRhKSwgZXJyb3JDb2RlLCBjb25uZWN0aW9uU3RhdGVUcmFja2VyID0g
V1RGTW92ZShjb25uZWN0aW9uU3RhdGVUcmFja2VyKV0oZGlzcGF0Y2hfZGF0YV90IGNvbnRlbnQs
IG53X2NvbnRlbnRfY29udGV4dF90LCBib29sLCBud19lcnJvcl90IGVycm9yKSBtdXRhYmxlIHsK
ICAgICAgICAgaWYgKGNvbnRlbnQpIHsKICAgICAgICAgICAgIGRpc3BhdGNoX2RhdGFfYXBwbHko
Y29udGVudCwgbWFrZUJsb2NrUHRyKFsmXShkaXNwYXRjaF9kYXRhX3QsIHNpemVfdCwgY29uc3Qg
dm9pZCogZGF0YSwgc2l6ZV90IHNpemUpIHsKICAgICAgICAgICAgICAgICBwcm9jZXNzRGF0YShz
dGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YSksIHNpemUpOwogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSkuZ2V0KCkpOwogICAgICAgICB9Ci0gICAgICAg
IGlmIChpc0NvbXBsZXRlICYmIGNvbnRleHQgJiYgbndfY29udGVudF9jb250ZXh0X2dldF9pc19m
aW5hbChjb250ZXh0KSkKKyAgICAgICAgaWYgKGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXItPmlzU3Rv
cHBlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
X0lGKCEhZXJyb3IsIFdlYlJUQywgIk5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5lY3Rpb25z
IGZhaWxlZCBwcm9jZXNzaW5nIFVEUCBkYXRhIHdpdGggZXJyb3IgJWQiLCBud19lcnJvcl9nZXRf
ZXJyb3JfY29kZShlcnJvcikpOwotICAgICAgICBwcm9jZXNzVURQRGF0YShXVEZNb3ZlKG53Q29u
bmVjdGlvbiksIFdURk1vdmUocHJvY2Vzc0RhdGEpKTsKKyAgICAgICAgaWYgKGVycm9yICYmIGVy
cm9yQ29kZSAhPSBud19lcnJvcl9nZXRfZXJyb3JfY29kZShlcnJvcikpIHsKKyAgICAgICAgICAg
IGVycm9yQ29kZSA9IG53X2Vycm9yX2dldF9lcnJvcl9jb2RlKGVycm9yKTsKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIk5ldHdvcmtSVENVRFBTb2NrZXRDb2NvYUNvbm5l
Y3Rpb25zIGZhaWxlZCBwcm9jZXNzaW5nIFVEUCBkYXRhIHdpdGggZXJyb3IgJWQiLCBlcnJvckNv
ZGUpOworICAgICAgICB9CisgICAgICAgIHByb2Nlc3NVRFBEYXRhKFdURk1vdmUobndDb25uZWN0
aW9uKSwgV1RGTW92ZShjb25uZWN0aW9uU3RhdGVUcmFja2VyKSwgZXJyb3JDb2RlLCBXVEZNb3Zl
KHByb2Nlc3NEYXRhKSk7CiAgICAgfSkuZ2V0KCkpOwogfQogCi1SZXRhaW5QdHI8bndfY29ubmVj
dGlvbl90PiBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlTldDb25u
ZWN0aW9uKGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKK3N0ZDo6cGFp
cjxSZXRhaW5QdHI8bndfY29ubmVjdGlvbl90PiwgUmVmPE5ldHdvcmtSVENVRFBTb2NrZXRDb2Nv
YUNvbm5lY3Rpb25zOjpDb25uZWN0aW9uU3RhdGVUcmFja2VyPj4gTmV0d29ya1JUQ1VEUFNvY2tl
dENvY29hQ29ubmVjdGlvbnM6OmNyZWF0ZU5XQ29ubmVjdGlvbihjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIHJlbW90ZUFkZHJlc3MpCiB7CiAgICAgYXV0byBwYXJhbWV0ZXJzID0gYWRvcHROUyhu
d19wYXJhbWV0ZXJzX2NyZWF0ZV9zZWN1cmVfdWRwKE5XX1BBUkFNRVRFUlNfRElTQUJMRV9QUk9U
T0NPTCwgTldfUEFSQU1FVEVSU19ERUZBVUxUX0NPTkZJR1VSQVRJT04pKTsKICAgICB7CkBAIC0z
MjEsMTUgKzMzOCwyMyBAQCBSZXRhaW5QdHI8bndfY29ubmVjdGlvbl90PiBOZXR3b3JrUlRDVURQ
U29ja2V0Q29jb2FDb25uZWN0aW9uczo6Y3JlYXRlTldDb25uZWN0aQogICAgIGF1dG8gaG9zdCA9
IGFkb3B0TlMobndfZW5kcG9pbnRfY3JlYXRlX2hvc3QocmVtb3RlSG9zdEFkZHJlc3MuY19zdHIo
KSwgU3RyaW5nOjpudW1iZXIocmVtb3RlQWRkcmVzcy5wb3J0KCkpLnV0ZjgoKS5kYXRhKCkpKTsK
ICAgICBhdXRvIG53Q29ubmVjdGlvbiA9IGFkb3B0TlMobndfY29ubmVjdGlvbl9jcmVhdGUoaG9z
dC5nZXQoKSwgcGFyYW1ldGVycy5nZXQoKSkpOwogCi0gICAgc2V0dXBOV0Nvbm5lY3Rpb24obndD
b25uZWN0aW9uLmdldCgpLCByZW1vdGVBZGRyZXNzKTsKLSAgICByZXR1cm4gbndDb25uZWN0aW9u
OworICAgIGF1dG8gY29ubmVjdGlvblN0YXRlVHJhY2tlciA9IENvbm5lY3Rpb25TdGF0ZVRyYWNr
ZXI6OmNyZWF0ZSgpOworCisgICAgc2V0dXBOV0Nvbm5lY3Rpb24obndDb25uZWN0aW9uLmdldCgp
LCBjb25uZWN0aW9uU3RhdGVUcmFja2VyLmdldCgpLCByZW1vdGVBZGRyZXNzKTsKKyAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIoV1RGTW92ZShud0Nvbm5lY3Rpb24pLCBXVEZNb3ZlKGNvbm5lY3Rp
b25TdGF0ZVRyYWNrZXIpKTsKIH0KIAotdm9pZCBOZXR3b3JrUlRDVURQU29ja2V0Q29jb2FDb25u
ZWN0aW9uczo6c2V0dXBOV0Nvbm5lY3Rpb24obndfY29ubmVjdGlvbl90IG53Q29ubmVjdGlvbiwg
Y29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQordm9pZCBOZXR3b3JrUlRD
VURQU29ja2V0Q29jb2FDb25uZWN0aW9uczo6c2V0dXBOV0Nvbm5lY3Rpb24obndfY29ubmVjdGlv
bl90IG53Q29ubmVjdGlvbiwgQ29ubmVjdGlvblN0YXRlVHJhY2tlciYgY29ubmVjdGlvblN0YXRl
VHJhY2tlciwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKQogewogICAg
IG53X2Nvbm5lY3Rpb25fc2V0X3F1ZXVlKG53Q29ubmVjdGlvbiwgdWRwU29ja2V0UXVldWUoKSk7
CiAKLSAgICBwcm9jZXNzVURQRGF0YShud0Nvbm5lY3Rpb24sIFtpZGVudGlmaWVyID0gbV9pZGVu
dGlmaWVyLCBjb25uZWN0aW9uID0gbV9jb25uZWN0aW9uLmNvcHlSZWYoKSwgaXAgPSByZW1vdGVB
ZGRyZXNzLmlwYWRkcigpLCBwb3J0ID0gcmVtb3RlQWRkcmVzcy5wb3J0KCldKGF1dG8qIG1lc3Nh
Z2UsIGF1dG8gc2l6ZSkgbXV0YWJsZSB7CisgICAgbndfY29ubmVjdGlvbl9zZXRfc3RhdGVfY2hh
bmdlZF9oYW5kbGVyKG53Q29ubmVjdGlvbiwgbWFrZUJsb2NrUHRyKFtjb25uZWN0aW9uU3RhdGVU
cmFja2VyID0gUmVmICB7IGNvbm5lY3Rpb25TdGF0ZVRyYWNrZXIgfV0obndfY29ubmVjdGlvbl9z
dGF0ZV90IHN0YXRlLCBfTnVsbGFibGUgbndfZXJyb3JfdCBlcnJvcikgeworICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUl9JRihzdGF0ZSA9PSBud19jb25uZWN0aW9uX3N0YXRlX2ZhaWxlZCwgV2Vi
UlRDLCAiTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnMgY29ubmVjdGlvbiBmYWls
ZWQgd2l0aCBlcnJvciAlZCIsIGVycm9yID8gbndfZXJyb3JfZ2V0X2Vycm9yX2NvZGUoZXJyb3Ip
IDogMCk7CisgICAgICAgIGlmIChzdGF0ZSA9PSBud19jb25uZWN0aW9uX3N0YXRlX2ZhaWxlZCB8
fCBzdGF0ZSA9PSBud19jb25uZWN0aW9uX3N0YXRlX2NhbmNlbGxlZCkKKyAgICAgICAgICAgIGNv
bm5lY3Rpb25TdGF0ZVRyYWNrZXItPm1hcmtBc1N0b3BwZWQoKTsKKyAgICB9KS5nZXQoKSk7CisK
KyAgICBwcm9jZXNzVURQRGF0YShud0Nvbm5lY3Rpb24sIFJlZiAgeyBjb25uZWN0aW9uU3RhdGVU
cmFja2VyIH0sIDAsIFtpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCBjb25uZWN0aW9uID0gbV9j
b25uZWN0aW9uLmNvcHlSZWYoKSwgaXAgPSByZW1vdGVBZGRyZXNzLmlwYWRkcigpLCBwb3J0ID0g
cmVtb3RlQWRkcmVzcy5wb3J0KCldKGF1dG8qIG1lc3NhZ2UsIGF1dG8gc2l6ZSkgbXV0YWJsZSB7
CiAgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKG1lc3NhZ2UsIHNpemUpOwogICAgICAg
ICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENOZXR3b3JrOjpTaWduYWxSZWFk
UGFja2V0IHsgaWRlbnRpZmllciwgZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNzKGlwKSwgcG9y
dCwgcnRjOjpUaW1lTWlsbGlzKCkgKiAxMDAwIH0sIDApOwogICAgIH0pOwpAQCAtMzQ5LDcgKzM3
NCw3IEBAIHZvaWQgTmV0d29ya1JUQ1VEUFNvY2tldENvY29hQ29ubmVjdGlvbnM6OnNlbmRUbyhj
b25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBt
X253Q29ubmVjdGlvbnNMb2NrIH07CiAgICAgICAgIG53Q29ubmVjdGlvbiA9IG1fbndDb25uZWN0
aW9ucy5lbnN1cmUocmVtb3RlQWRkcmVzcywgW3RoaXMsICZyZW1vdGVBZGRyZXNzXSB7CiAgICAg
ICAgICAgICByZXR1cm4gY3JlYXRlTldDb25uZWN0aW9uKHJlbW90ZUFkZHJlc3MpOwotICAgICAg
ICB9KS5pdGVyYXRvci0+dmFsdWUuZ2V0KCk7CisgICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5m
aXJzdC5nZXQoKTsKICAgICB9CiAKICAgICBhdXRvIHZhbHVlID0gYWRvcHROUyhkaXNwYXRjaF9k
YXRhX2NyZWF0ZShkYXRhLCBzaXplLCBudWxscHRyLCBESVNQQVRDSF9EQVRBX0RFU1RSVUNUT1Jf
REVGQVVMVCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>