<?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>230262</bug_id>
          
          <creation_ts>2021-09-14 06:20:48 -0700</creation_ts>
          <short_desc>Migrate to libwebrtc non-racy setRemoteDescription/setLocalDescription variants</short_desc>
          <delta_ts>2021-09-15 01:20:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793274</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-14 06:20:48 -0700</bug_when>
    <thetext>Migrate to libwebrtc non-racy setRemoteDescription/setLocalDescription variants</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793279</commentid>
    <comment_count>1</comment_count>
      <attachid>438129</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-14 06:35:29 -0700</bug_when>
    <thetext>Created attachment 438129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793340</commentid>
    <comment_count>2</comment_count>
      <attachid>438150</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-14 09:22:39 -0700</bug_when>
    <thetext>Created attachment 438150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793419</commentid>
    <comment_count>3</comment_count>
      <attachid>438150</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 13:49:21 -0700</bug_when>
    <thetext>Comment on attachment 438150
Patch

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

&gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:148
&gt; +    rtc::scoped_refptr&lt;webrtc::SetLocalDescriptionObserverInterface&gt; observer(&amp;m_setLocalSessionDescriptionObserver);

I wonder if we can leave out the &lt;&gt; here. If it was std::unique_ptr or WTF::RefPtr we could, but not sure about rtc::scoped_refptr.

&gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:182
&gt; +    rtc::scoped_refptr&lt;webrtc::SetRemoteDescriptionObserverInterface&gt; observer(&amp;m_setRemoteSessionDescriptionObserver);

Ditto.

&gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCObservers.h:69
&gt; +    void OnSetLocalDescriptionComplete(webrtc::RTCError error) final

Not important, but seems like this can be private.

&gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCObservers.h:93
&gt; +    void OnSetRemoteDescriptionComplete(webrtc::RTCError error) final

Not important, but seems like this can be private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793608</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-15 00:18:58 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 438150 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=438150&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:148
&gt; &gt; +    rtc::scoped_refptr&lt;webrtc::SetLocalDescriptionObserverInterface&gt; observer(&amp;m_setLocalSessionDescriptionObserver);
&gt; 
&gt; I wonder if we can leave out the &lt;&gt; here. If it was std::unique_ptr or
&gt; WTF::RefPtr we could, but not sure about rtc::scoped_refptr.

We indeed can do it.
Thinking more about it, given the typed parameters, we can probably just pass a pointer to the methods and the scoped_refptr will be created for us.

&gt; &gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:182
&gt; &gt; +    rtc::scoped_refptr&lt;webrtc::SetRemoteDescriptionObserverInterface&gt; observer(&amp;m_setRemoteSessionDescriptionObserver);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCObservers.h:69
&gt; &gt; +    void OnSetLocalDescriptionComplete(webrtc::RTCError error) final
&gt; 
&gt; Not important, but seems like this can be private.

OK.

&gt; &gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCObservers.h:93
&gt; &gt; +    void OnSetRemoteDescriptionComplete(webrtc::RTCError error) final
&gt; 
&gt; Not important, but seems like this can be private.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793610</commentid>
    <comment_count>5</comment_count>
      <attachid>438219</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-15 00:20:07 -0700</bug_when>
    <thetext>Created attachment 438219
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793632</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-15 01:19:09 -0700</bug_when>
    <thetext>Committed r282444 (241697@main): &lt;https://commits.webkit.org/241697@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438219.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793633</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-15 01:20:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/83135937&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438129</attachid>
            <date>2021-09-14 06:35:29 -0700</date>
            <delta_ts>2021-09-14 09:22:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230262-20210914153527.patch</filename>
            <type>text/plain</type>
            <size>14672</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5Mjc4OThjZmM0NmJkODA3ODk4MTAwYTQ2Yzg4MDljYTUyNmUxNjg3Li41MWVk
MmFkN2Y0MThkYjdmY2I1MWE1MmMzNTM1ZThlMjkzYWI2Nzg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0ZSB0byBsaWJ3ZWJydGMg
bm9uLXJhY3kgc2V0UmVtb3RlRGVzY3JpcHRpb24vc2V0TG9jYWxEZXNjcmlwdGlvbiB2YXJpYW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9s
aWJ3ZWJydGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMu
bWFjLmV4cDoKKwogMjAyMS0wOS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFJUQ1NjdHBUcmFuc3BvcnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxM2Q3YWNkMTk0NjViNWNhNmFiM2EwNTRhNDRhMTExMmJmMmI0M2M5Li5lZDY0NTgyODQ5OTky
OTE1YjA2M2JjNDhkYTUwODY1NjQ1NGE4YzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMjEtMDktMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IE1pZ3JhdGUgdG8gbGlid2VicnRjIG5vbi1yYWN5IHNldFJlbW90ZURlc2NyaXB0aW9uL3NldExv
Y2FsRGVzY3JpcHRpb24gdmFyaWFudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHdlcmUgdXNpbmcgdGhlIG9sZCB2ZXJzaW9ucyBvZiBsaWJ3ZWJy
dGMgU2V0TG9jYWxEZXNjcmlwdGlvbi9TZXRSZW1vdGVEZXNjcmlwdGlvbi4KKyAgICAgICAgQXMg
cGVyIHRoZSBoZWFkZXIgZmlsZSwgdGhlc2UgdmVyc2lvbnMgYXJlIHBvdGVudGlhbGx5IHJhY3ku
CisgICAgICAgIFRoaXMgcGF0Y2ggbWlncmF0ZXMgdG8gbmV3IHZlcnNpb25zIG9mIHRoZSBzYW1l
IEFQSSB3aGljaCBpbiBhZGRpdGlvbiB0YWtlIG1vcmUgbW9kZXJuIHBhcmFtZXRlcnMgaW5zdGVh
ZCBvZiByYXcgcG9pbnRlcnMuCisgICAgICAgIFdlIGFsc28gbW9kZXJuaXplIGEgYml0IHRoZSBj
b2RlIGJ5IHVzaW5nIG1ldGhvZHMgbWFuaXB1bGF0aW5nIHVuaXF1ZV9wdHIgaW5zdGVhZCBvZiBy
YXcgcG9pbnRlcnMuCisgICAgICAgIERyaXZlLWJ5IGZpeDogQWRkIHN1cHBvcnQgZm9yIGdldHRp
bmcgYmFjayB0byBuZXcgZm9yIElDRSBnYXRoZXJpbmcgc3RhdGUuIFRoaXMgd2FzIG1pc3Npbmcg
YW5kIHdpdGhvdXQgaXQsCisgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLWV4cGxpY2l0LXJvbGxiYWNrLWljZUdhdGhlcmluZ1N0
YXRlLmh0bWwgd291bGQgdGltZSBvdXQuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0
ZXN0cyBhbmQgcmViYXNlZCB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
ZXNzaW9uRGVzY3JpcHRpb25UeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlh
RW5kcG9pbnQ6OmRvU2V0TG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMaWJX
ZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldFJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Ok9uSWNlR2F0aGVyaW5nQ2hhbmdlKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENPYnNlcnZlcnMu
aDoKKwogMjAyMS0wOS0xNCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEVuYWJsZSBIMjY1IGNvZGVjCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
LmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPUy5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3Njkz
ZDliMi4uMTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9s
aWJ3ZWJydGMuaU9TLmV4cApAQCAtMjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZp
ZGVvVHlwZUVOU185VmlkZW9UeXBlRQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVS
S05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0
b3JJY0VFRUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZp
Y2F0ZVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVF
Ci1fX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNf
c3RyaW5nSWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18x
M1NkcFBhcnNlRXJyb3JFCitfX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5T
XzdTZHBUeXBlRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVO
UzFfOWFsbG9jYXRvckljRUVFRVBOU18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRD
SWNlQ2FuZGlkYXRlUGFpclN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBT
dHJlYW1TdGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1
a1R5cGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5
NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNj
MTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZp
Z3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApAQCAtMjUsNyArMjUs
NyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185VmlkZW9UeXBlRQogX19aTjZ3
ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMwXzEx
Y2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJv
ckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMx
OVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRl
c2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVO
UzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JFCitfX1pONndlYnJ0YzI0
Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0M19fMTEyYmFzaWNfc3Ry
aW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRVBOU18xM1NkcFBh
cnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFpclN0YXRzNWtUeXBlRQog
X19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlwZUUKIF9fWk42d2VicnRj
MjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAK
aW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNh
MGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cApAQCAtMjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185Vmlk
ZW9UeXBlRQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2lj
X3N0cmluZ0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5T
XzEzU2RwUGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBl
RQogX19aTjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0
Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFj
aGFyX3RyYWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JF
CitfX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0
M19fMTEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvcklj
RUVFRVBOU18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFp
clN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlw
ZUUKIF9fWk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDVhODIxMDFkOGNiZjEw
YmEwMTU5OWUwMDg2NGE1YTIzZGMxMjI1ZTQuLjY5YWIzMjc5MDE1YTZlZThkNDUzOTI1OTY5NjUy
YzRhZjUzMzQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwCkBAIC0xMjcsMzQgKzEyNywzMiBAQCBib29sIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Omlz
TmVnb3RpYXRpb25OZWVkZWQodWludDMyX3QgZXZlbnRJZCkgY29uc3QKICAgICByZXR1cm4gbV9i
YWNrZW5kID8gbV9iYWNrZW5kLT5TaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRFdmVudChldmVu
dElkKSA6IGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHNlc3Npb25EZXNj
cmlwdGlvblR5cGUoUlRDU2RwVHlwZSBzZHBUeXBlKQorc3RhdGljIGlubGluZSB3ZWJydGM6OlNk
cFR5cGUgc2Vzc2lvbkRlc2NyaXB0aW9uVHlwZShSVENTZHBUeXBlIHNkcFR5cGUpCiB7CiAgICAg
c3dpdGNoIChzZHBUeXBlKSB7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpPZmZlcjoKLSAgICAgICAg
cmV0dXJuICJvZmZlciI7CisgICAgICAgIHJldHVybiB3ZWJydGM6OlNkcFR5cGU6OmtPZmZlcjsK
ICAgICBjYXNlIFJUQ1NkcFR5cGU6OlByYW5zd2VyOgotICAgICAgICByZXR1cm4gInByYW5zd2Vy
IjsKKyAgICAgICAgcmV0dXJuIHdlYnJ0Yzo6U2RwVHlwZTo6a1ByQW5zd2VyOwogICAgIGNhc2Ug
UlRDU2RwVHlwZTo6QW5zd2VyOgotICAgICAgICByZXR1cm4gImFuc3dlciI7CisgICAgICAgIHJl
dHVybiB3ZWJydGM6OlNkcFR5cGU6OmtBbnN3ZXI7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpSb2xs
YmFjazoKLSAgICAgICAgcmV0dXJuICJyb2xsYmFjayI7CisgICAgICAgIHJldHVybiB3ZWJydGM6
OlNkcFR5cGU6OmtSb2xsYmFjazsKICAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICByZXR1cm4gIiI7CiB9CiAKIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6ZG9TZXRM
b2NhbERlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiogZGVzY3JpcHRpb24p
CiB7CiAgICAgQVNTRVJUKG1fYmFja2VuZCk7CiAKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpTZXRMb2NhbERlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+IG9ic2VydmVyKCZtX3Nl
dExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOwogICAgIGlmICghZGVzY3JpcHRpb24p
IHsKLSAgICAgICAgbV9iYWNrZW5kLT5TZXRMb2NhbERlc2NyaXB0aW9uKCZtX3NldExvY2FsU2Vz
c2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOworICAgICAgICBtX2JhY2tlbmQtPlNldExvY2FsRGVz
Y3JpcHRpb24oV1RGTW92ZShvYnNlcnZlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAg
ICAgd2VicnRjOjpTZHBQYXJzZUVycm9yIGVycm9yOwotICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gc2Vzc2lvbkRlc2NyaXB0aW9uKHdlYnJ0
Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUoZGVzY3Jp
cHRpb24tPnR5cGUoKSksIGRlc2NyaXB0aW9uLT5zZHAoKS51dGY4KCkuZGF0YSgpLCAmZXJyb3Ip
KTsKKyAgICBhdXRvIHNlc3Npb25EZXNjcmlwdGlvbiA9IHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRl
c2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUoZGVzY3JpcHRpb24tPnR5cGUoKSksIGRl
c2NyaXB0aW9uLT5zZHAoKS51dGY4KCkuZGF0YSgpLCAmZXJyb3IpOwogCiAgICAgaWYgKCFzZXNz
aW9uRGVzY3JpcHRpb24pIHsKICAgICAgICAgbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuc2V0TG9j
YWxEZXNjcmlwdGlvbkZhaWxlZChFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciwgZnJvbVN0ZFN0
cmluZyhlcnJvci5kZXNjcmlwdGlvbikgfSk7CkBAIC0xNjcsNyArMTY1LDcgQEAgdm9pZCBMaWJX
ZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldExvY2FsRGVzY3JpcHRpb24oY29uc3QgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9iYWNrZW5kLT5T
ZXRMb2NhbERlc2NyaXB0aW9uKCZtX3NldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIs
IHNlc3Npb25EZXNjcmlwdGlvbi5yZWxlYXNlKCkpOworICAgIG1fYmFja2VuZC0+U2V0TG9jYWxE
ZXNjcmlwdGlvbihXVEZNb3ZlKHNlc3Npb25EZXNjcmlwdGlvbiksIFdURk1vdmUob2JzZXJ2ZXIp
KTsKIH0KIAogdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldFJlbW90ZURlc2NyaXB0
aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCkBAIC0xNzUsMTIg
KzE3MywxNCBAQCB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmRvU2V0UmVtb3RlRGVzY3Jp
cHRpb24oY29uc3QgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJgogICAgIEFTU0VSVChtX2JhY2tlbmQp
OwogCiAgICAgd2VicnRjOjpTZHBQYXJzZUVycm9yIGVycm9yOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gc2Vzc2lvbkRlc2NyaXB0aW9u
KHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUo
ZGVzY3JpcHRpb24udHlwZSgpKSwgZGVzY3JpcHRpb24uc2RwKCkudXRmOCgpLmRhdGEoKSwgJmVy
cm9yKSk7CisgICAgYXV0byBzZXNzaW9uRGVzY3JpcHRpb24gPSB3ZWJydGM6OkNyZWF0ZVNlc3Np
b25EZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb25UeXBlKGRlc2NyaXB0aW9uLnR5cGUoKSks
IGRlc2NyaXB0aW9uLnNkcCgpLnV0ZjgoKS5kYXRhKCksICZlcnJvcik7CiAgICAgaWYgKCFzZXNz
aW9uRGVzY3JpcHRpb24pIHsKICAgICAgICAgbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuc2V0UmVt
b3RlRGVzY3JpcHRpb25GYWlsZWQoRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsIGZyb21TdGRTdHJp
bmcoZXJyb3IuZGVzY3JpcHRpb24pIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG1f
YmFja2VuZC0+U2V0UmVtb3RlRGVzY3JpcHRpb24oJm1fc2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0
aW9uT2JzZXJ2ZXIsIHNlc3Npb25EZXNjcmlwdGlvbi5yZWxlYXNlKCkpOworCisgICAgcnRjOjpz
Y29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0UmVtb3RlRGVzY3JpcHRpb25PYnNlcnZlckludGVyZmFj
ZT4gb2JzZXJ2ZXIoJm1fc2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOworICAg
IG1fYmFja2VuZC0+U2V0UmVtb3RlRGVzY3JpcHRpb24oV1RGTW92ZShzZXNzaW9uRGVzY3JpcHRp
b24pLCBXVEZNb3ZlKG9ic2VydmVyKSk7CiAKICAgICBzdGFydExvZ2dpbmdTdGF0cygpOwogfQpA
QCAtNTM4LDYgKzUzOCw4IEBAIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25JY2VHYXRo
ZXJpbmdDaGFuZ2Uod2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjCiAgICAgICAgICAgICBw
cm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcygpOwogICAgICAgICBlbHNlIGlmIChzdGF0ZSA9PSB3ZWJydGM6OlBlZXJDb25uZWN0aW9u
SW50ZXJmYWNlOjprSWNlR2F0aGVyaW5nR2F0aGVyaW5nKQogICAgICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUdhdGhl
cmluZ1N0YXRlKFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpHYXRoZXJpbmcpOworICAgICAgICBlbHNl
IGlmIChzdGF0ZSA9PSB3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlOjprSWNlR2F0aGVy
aW5nTmV3KQorICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tl
bmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUdhdGhlcmluZ1N0YXRlKFJUQ0ljZUdhdGhlcmluZ1N0
YXRlOjpOZXcpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENPYnNlcnZlcnMuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ09ic2VydmVycy5o
CmluZGV4IDIwMzIwZTNlYjcxNWZlMzQ3YzUzMTg3OWE0NjRkYjUxM2MxMjUwZjkuLjFhMDA4NDNk
ODI4ZTg3ODQwMjBlZDU5MzYwMDkyMzY5ZTljNjUwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ09ic2VydmVycy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q09ic2VydmVycy5oCkBAIC01OSwxNSArNTksMjEgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEVuZHBvaW50PgotY2xhc3MgU2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25PYnNl
cnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVy
IHsKK2NsYXNzIFNldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIgZmluYWwgOiBwdWJs
aWMgd2VicnRjOjpTZXRMb2NhbERlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2UgewogcHVibGlj
OgogICAgIGV4cGxpY2l0IFNldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIoRW5kcG9p
bnQgJmVuZHBvaW50KQogICAgICAgICA6IG1fZW5kcG9pbnQoZW5kcG9pbnQpCiAgICAgewogICAg
IH0KIAotICAgIHZvaWQgT25TdWNjZXNzKCkgZmluYWwgeyBtX2VuZHBvaW50LnNldExvY2FsU2Vz
c2lvbkRlc2NyaXB0aW9uU3VjY2VlZGVkKCk7IH0KLSAgICB2b2lkIE9uRmFpbHVyZSh3ZWJydGM6
OlJUQ0Vycm9yIGVycm9yKSBmaW5hbCB7IG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3Jp
cHRpb25GYWlsZWQodG9FeGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2Uo
KSk7IH0KKyAgICB2b2lkIE9uU2V0TG9jYWxEZXNjcmlwdGlvbkNvbXBsZXRlKHdlYnJ0Yzo6UlRD
RXJyb3IgZXJyb3IpIGZpbmFsCisgICAgeworICAgICAgICBpZiAoIWVycm9yLm9rKCkpIHsKKyAg
ICAgICAgICAgIG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25GYWlsZWQodG9F
eGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2UoKSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9lbmRwb2ludC5zZXRMb2NhbFNlc3Npb25E
ZXNjcmlwdGlvblN1Y2NlZWRlZCgpOworICAgIH0KIAogICAgIHZvaWQgQWRkUmVmKCkgY29uc3Qg
eyBtX2VuZHBvaW50LkFkZFJlZigpOyB9CiAgICAgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMg
UmVsZWFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kcG9pbnQuUmVsZWFzZSgpOyB9CkBAIC03Nywx
NSArODMsMjEgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEVuZHBvaW50Pgot
Y2xhc3MgU2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMg
d2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciB7CitjbGFzcyBTZXRSZW1vdGVT
ZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldFJlbW90
ZURlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2UgewogcHVibGljOgogICAgIGV4cGxpY2l0IFNl
dFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKEVuZHBvaW50ICZlbmRwb2ludCkKICAg
ICAgICAgOiBtX2VuZHBvaW50KGVuZHBvaW50KQogICAgIHsKICAgICB9CiAKLSAgICB2b2lkIE9u
U3VjY2VzcygpIGZpbmFsIHsgbV9lbmRwb2ludC5zZXRSZW1vdGVTZXNzaW9uRGVzY3JpcHRpb25T
dWNjZWVkZWQoKTsgfQotICAgIHZvaWQgT25GYWlsdXJlKHdlYnJ0Yzo6UlRDRXJyb3IgZXJyb3Ip
IGZpbmFsIHsgbV9lbmRwb2ludC5zZXRSZW1vdGVTZXNzaW9uRGVzY3JpcHRpb25GYWlsZWQodG9F
eGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2UoKSk7IH0KKyAgICB2b2lk
IE9uU2V0UmVtb3RlRGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vycm9yIGVycm9yKSBm
aW5hbAorICAgIHsKKyAgICAgICAgaWYgKCFlcnJvci5vaygpKSB7CisgICAgICAgICAgICBtX2Vu
ZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbkZhaWxlZCh0b0V4Y2VwdGlvbkNvZGUo
ZXJyb3IudHlwZSgpKSwgZXJyb3IubWVzc2FnZSgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgICAgICBtX2VuZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvblN1
Y2NlZWRlZCgpOworICAgIH0KIAogICAgIHZvaWQgQWRkUmVmKCkgY29uc3QgeyBtX2VuZHBvaW50
LkFkZFJlZigpOyB9CiAgICAgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZW5kcG9pbnQuUmVsZWFzZSgpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDM1MDNmMjUwZjgz
MGYwYWFmNWJhYmRlZTg4YjJlMzcwM2RkOTYwYy4uOWRhMjIwYzM2NjczODk4YTY3ZDRiMzFiMmI3
NjEyMTY4ODhkYWQ0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA5LTE0ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHRvIGxpYndlYnJ0
YyBub24tcmFjeSBzZXRSZW1vdGVEZXNjcmlwdGlvbi9zZXRMb2NhbERlc2NyaXB0aW9uIHZhcmlh
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAy
NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJr
IGFkZGl0aW9uYWwgdGVzdCBhcyBmbGFreS4KKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgor
CiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5hYmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDU1YTg5MDUzNDJmMjMxOGM1YjlmYTNlZGJiM2VhODViNDY3
OWUxNTEuLmNlZTY1Mjk3ZjM5MTk1ZmNmZDUyODJlN2Y4MDI2YmQ3OTMzMTYzY2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA5LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNaWdyYXRlIHRvIGxpYndl
YnJ0YyBub24tcmFjeSBzZXRSZW1vdGVEZXNjcmlwdGlvbi9zZXRMb2NhbERlc2NyaXB0aW9uIHZh
cmlhbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzAyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tZXhwbGljaXQtcm9s
bGJhY2staWNlR2F0aGVyaW5nU3RhdGUtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNaWdyYXRlIHNvbWUgV1BU
IFdlYlJUQyB0ZXN0cyBvdXIgb2YgbGVnYWN5IG9mZmVyVG9SZWNlaXZlIHBhcmFtZXRlcnMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDEyMWIxOTY5NmQzOTkwZjczN2Y4ZWJlNjllZGQ0MTUzMTU2MjI5
MjMuLjIyN2JlNjIxNWU1NDY5OThhOTA3NGJmOWRjNGU1MTY3MmU4Mjc5OTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjE5NSw2ICsyMTk1LDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tcmVzdGFydEljZS1vbm5lZ290aWF0aW8KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLWNh
bmRpZGF0ZS1pbi1zZHAuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1wZXJmZWN0LW5lZ290
aWF0aW9uLXN0cmVzcy1nbGFyZS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXBlcmZlY3Qt
bmVnb3RpYXRpb24tc3RyZXNzLWdsYXJlLWxpbmVhci5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0
aW9uLWV4cGxpY2l0LXJvbGxiYWNrLWljZUdhdGhlcmluZ1N0YXRlLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCiAjIFNraXAgdGltaW5nIG91dCB0ZXN0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1zZXRSZW1vdGVEZXNjcmlwdGlvbi10cmFj
a3MuaHR0cHMuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438150</attachid>
            <date>2021-09-14 09:22:39 -0700</date>
            <delta_ts>2021-09-15 00:20:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230262-20210914182237.patch</filename>
            <type>text/plain</type>
            <size>18435</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5Mjc4OThjZmM0NmJkODA3ODk4MTAwYTQ2Yzg4MDljYTUyNmUxNjg3Li41MWVk
MmFkN2Y0MThkYjdmY2I1MWE1MmMzNTM1ZThlMjkzYWI2Nzg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0ZSB0byBsaWJ3ZWJydGMg
bm9uLXJhY3kgc2V0UmVtb3RlRGVzY3JpcHRpb24vc2V0TG9jYWxEZXNjcmlwdGlvbiB2YXJpYW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9s
aWJ3ZWJydGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMu
bWFjLmV4cDoKKwogMjAyMS0wOS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFJUQ1NjdHBUcmFuc3BvcnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxM2Q3YWNkMTk0NjViNWNhNmFiM2EwNTRhNDRhMTExMmJmMmI0M2M5Li5iMGE0Nzk0MDExM2U4
YzNjZjlmOTcxMjE0ZjY1YmFlNTZkODVmYTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMjEtMDktMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IE1pZ3JhdGUgdG8gbGlid2VicnRjIG5vbi1yYWN5IHNldFJlbW90ZURlc2NyaXB0aW9uL3NldExv
Y2FsRGVzY3JpcHRpb24gdmFyaWFudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHdlcmUgdXNpbmcgdGhlIG9sZCB2ZXJzaW9ucyBvZiBsaWJ3ZWJy
dGMgU2V0TG9jYWxEZXNjcmlwdGlvbi9TZXRSZW1vdGVEZXNjcmlwdGlvbi4KKyAgICAgICAgQXMg
cGVyIHRoZSBoZWFkZXIgZmlsZSwgdGhlc2UgdmVyc2lvbnMgYXJlIHBvdGVudGlhbGx5IHJhY3ku
CisgICAgICAgIFRoaXMgcGF0Y2ggbWlncmF0ZXMgdG8gbmV3IHZlcnNpb25zIG9mIHRoZSBzYW1l
IEFQSSB3aGljaCBpbiBhZGRpdGlvbiB0YWtlIG1vcmUgbW9kZXJuIHBhcmFtZXRlcnMgaW5zdGVh
ZCBvZiByYXcgcG9pbnRlcnMuCisgICAgICAgIFdlIGFsc28gbW9kZXJuaXplIGEgYml0IHRoZSBj
b2RlIGJ5IHVzaW5nIG1ldGhvZHMgbWFuaXB1bGF0aW5nIHVuaXF1ZV9wdHIgaW5zdGVhZCBvZiBy
YXcgcG9pbnRlcnMuCisgICAgICAgIERyaXZlLWJ5IGZpeDogQWRkIHN1cHBvcnQgZm9yIGdldHRp
bmcgYmFjayB0byBuZXcgZm9yIElDRSBnYXRoZXJpbmcgc3RhdGUuIFRoaXMgd2FzIG1pc3Npbmcg
YW5kIHdpdGhvdXQgaXQsCisgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLWV4cGxpY2l0LXJvbGxiYWNrLWljZUdhdGhlcmluZ1N0
YXRlLmh0bWwgd291bGQgdGltZSBvdXQuCisgICAgICAgIFVwZGF0ZSBtb2NrIHRvIGltcGxlbWVu
dCB0aGUgbmV3IG1ldGhvZCB2ZXJzaW9ucy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDTWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXNzaW9uRGVzY3JpcHRp
b25UeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmRvU2V0
TG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENNZWRpYUVuZHBv
aW50Ojpkb1NldFJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJU
Q01lZGlhRW5kcG9pbnQ6Ok9uSWNlR2F0aGVyaW5nQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENPYnNlcnZlcnMuaDoKKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246OlNldExvY2FsRGVzY3JpcHRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpTZXRSZW1vdGVEZXNj
cmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24u
aDoKKwogMjAyMS0wOS0xNCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEVuYWJsZSBIMjY1IGNvZGVjCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
LmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPUy5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3Njkz
ZDliMi4uMTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9s
aWJ3ZWJydGMuaU9TLmV4cApAQCAtMjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZp
ZGVvVHlwZUVOU185VmlkZW9UeXBlRQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVS
S05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0
b3JJY0VFRUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZp
Y2F0ZVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVF
Ci1fX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNf
c3RyaW5nSWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18x
M1NkcFBhcnNlRXJyb3JFCitfX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5T
XzdTZHBUeXBlRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVO
UzFfOWFsbG9jYXRvckljRUVFRVBOU18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRD
SWNlQ2FuZGlkYXRlUGFpclN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBT
dHJlYW1TdGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1
a1R5cGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5
NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNj
MTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZp
Z3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApAQCAtMjUsNyArMjUs
NyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185VmlkZW9UeXBlRQogX19aTjZ3
ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMwXzEx
Y2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJv
ckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMx
OVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRl
c2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVO
UzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JFCitfX1pONndlYnJ0YzI0
Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0M19fMTEyYmFzaWNfc3Ry
aW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRVBOU18xM1NkcFBh
cnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFpclN0YXRzNWtUeXBlRQog
X19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlwZUUKIF9fWk42d2VicnRj
MjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAK
aW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNh
MGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cApAQCAtMjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185Vmlk
ZW9UeXBlRQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2lj
X3N0cmluZ0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5T
XzEzU2RwUGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBl
RQogX19aTjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0
Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFj
aGFyX3RyYWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JF
CitfX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0
M19fMTEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvcklj
RUVFRVBOU18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFp
clN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlw
ZUUKIF9fWk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDVhODIxMDFkOGNiZjEw
YmEwMTU5OWUwMDg2NGE1YTIzZGMxMjI1ZTQuLjY5YWIzMjc5MDE1YTZlZThkNDUzOTI1OTY5NjUy
YzRhZjUzMzQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwCkBAIC0xMjcsMzQgKzEyNywzMiBAQCBib29sIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6Omlz
TmVnb3RpYXRpb25OZWVkZWQodWludDMyX3QgZXZlbnRJZCkgY29uc3QKICAgICByZXR1cm4gbV9i
YWNrZW5kID8gbV9iYWNrZW5kLT5TaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRFdmVudChldmVu
dElkKSA6IGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHNlc3Npb25EZXNj
cmlwdGlvblR5cGUoUlRDU2RwVHlwZSBzZHBUeXBlKQorc3RhdGljIGlubGluZSB3ZWJydGM6OlNk
cFR5cGUgc2Vzc2lvbkRlc2NyaXB0aW9uVHlwZShSVENTZHBUeXBlIHNkcFR5cGUpCiB7CiAgICAg
c3dpdGNoIChzZHBUeXBlKSB7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpPZmZlcjoKLSAgICAgICAg
cmV0dXJuICJvZmZlciI7CisgICAgICAgIHJldHVybiB3ZWJydGM6OlNkcFR5cGU6OmtPZmZlcjsK
ICAgICBjYXNlIFJUQ1NkcFR5cGU6OlByYW5zd2VyOgotICAgICAgICByZXR1cm4gInByYW5zd2Vy
IjsKKyAgICAgICAgcmV0dXJuIHdlYnJ0Yzo6U2RwVHlwZTo6a1ByQW5zd2VyOwogICAgIGNhc2Ug
UlRDU2RwVHlwZTo6QW5zd2VyOgotICAgICAgICByZXR1cm4gImFuc3dlciI7CisgICAgICAgIHJl
dHVybiB3ZWJydGM6OlNkcFR5cGU6OmtBbnN3ZXI7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpSb2xs
YmFjazoKLSAgICAgICAgcmV0dXJuICJyb2xsYmFjayI7CisgICAgICAgIHJldHVybiB3ZWJydGM6
OlNkcFR5cGU6OmtSb2xsYmFjazsKICAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICByZXR1cm4gIiI7CiB9CiAKIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6ZG9TZXRM
b2NhbERlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiogZGVzY3JpcHRpb24p
CiB7CiAgICAgQVNTRVJUKG1fYmFja2VuZCk7CiAKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpTZXRMb2NhbERlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+IG9ic2VydmVyKCZtX3Nl
dExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOwogICAgIGlmICghZGVzY3JpcHRpb24p
IHsKLSAgICAgICAgbV9iYWNrZW5kLT5TZXRMb2NhbERlc2NyaXB0aW9uKCZtX3NldExvY2FsU2Vz
c2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOworICAgICAgICBtX2JhY2tlbmQtPlNldExvY2FsRGVz
Y3JpcHRpb24oV1RGTW92ZShvYnNlcnZlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAg
ICAgd2VicnRjOjpTZHBQYXJzZUVycm9yIGVycm9yOwotICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gc2Vzc2lvbkRlc2NyaXB0aW9uKHdlYnJ0
Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUoZGVzY3Jp
cHRpb24tPnR5cGUoKSksIGRlc2NyaXB0aW9uLT5zZHAoKS51dGY4KCkuZGF0YSgpLCAmZXJyb3Ip
KTsKKyAgICBhdXRvIHNlc3Npb25EZXNjcmlwdGlvbiA9IHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRl
c2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUoZGVzY3JpcHRpb24tPnR5cGUoKSksIGRl
c2NyaXB0aW9uLT5zZHAoKS51dGY4KCkuZGF0YSgpLCAmZXJyb3IpOwogCiAgICAgaWYgKCFzZXNz
aW9uRGVzY3JpcHRpb24pIHsKICAgICAgICAgbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuc2V0TG9j
YWxEZXNjcmlwdGlvbkZhaWxlZChFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciwgZnJvbVN0ZFN0
cmluZyhlcnJvci5kZXNjcmlwdGlvbikgfSk7CkBAIC0xNjcsNyArMTY1LDcgQEAgdm9pZCBMaWJX
ZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldExvY2FsRGVzY3JpcHRpb24oY29uc3QgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9iYWNrZW5kLT5T
ZXRMb2NhbERlc2NyaXB0aW9uKCZtX3NldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIs
IHNlc3Npb25EZXNjcmlwdGlvbi5yZWxlYXNlKCkpOworICAgIG1fYmFja2VuZC0+U2V0TG9jYWxE
ZXNjcmlwdGlvbihXVEZNb3ZlKHNlc3Npb25EZXNjcmlwdGlvbiksIFdURk1vdmUob2JzZXJ2ZXIp
KTsKIH0KIAogdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldFJlbW90ZURlc2NyaXB0
aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pCkBAIC0xNzUsMTIg
KzE3MywxNCBAQCB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmRvU2V0UmVtb3RlRGVzY3Jp
cHRpb24oY29uc3QgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJgogICAgIEFTU0VSVChtX2JhY2tlbmQp
OwogCiAgICAgd2VicnRjOjpTZHBQYXJzZUVycm9yIGVycm9yOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gc2Vzc2lvbkRlc2NyaXB0aW9u
KHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvblR5cGUo
ZGVzY3JpcHRpb24udHlwZSgpKSwgZGVzY3JpcHRpb24uc2RwKCkudXRmOCgpLmRhdGEoKSwgJmVy
cm9yKSk7CisgICAgYXV0byBzZXNzaW9uRGVzY3JpcHRpb24gPSB3ZWJydGM6OkNyZWF0ZVNlc3Np
b25EZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb25UeXBlKGRlc2NyaXB0aW9uLnR5cGUoKSks
IGRlc2NyaXB0aW9uLnNkcCgpLnV0ZjgoKS5kYXRhKCksICZlcnJvcik7CiAgICAgaWYgKCFzZXNz
aW9uRGVzY3JpcHRpb24pIHsKICAgICAgICAgbV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuc2V0UmVt
b3RlRGVzY3JpcHRpb25GYWlsZWQoRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IsIGZyb21TdGRTdHJp
bmcoZXJyb3IuZGVzY3JpcHRpb24pIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIG1f
YmFja2VuZC0+U2V0UmVtb3RlRGVzY3JpcHRpb24oJm1fc2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0
aW9uT2JzZXJ2ZXIsIHNlc3Npb25EZXNjcmlwdGlvbi5yZWxlYXNlKCkpOworCisgICAgcnRjOjpz
Y29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0UmVtb3RlRGVzY3JpcHRpb25PYnNlcnZlckludGVyZmFj
ZT4gb2JzZXJ2ZXIoJm1fc2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIpOworICAg
IG1fYmFja2VuZC0+U2V0UmVtb3RlRGVzY3JpcHRpb24oV1RGTW92ZShzZXNzaW9uRGVzY3JpcHRp
b24pLCBXVEZNb3ZlKG9ic2VydmVyKSk7CiAKICAgICBzdGFydExvZ2dpbmdTdGF0cygpOwogfQpA
QCAtNTM4LDYgKzUzOCw4IEBAIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6T25JY2VHYXRo
ZXJpbmdDaGFuZ2Uod2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjCiAgICAgICAgICAgICBw
cm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcygpOwogICAgICAgICBlbHNlIGlmIChzdGF0ZSA9PSB3ZWJydGM6OlBlZXJDb25uZWN0aW9u
SW50ZXJmYWNlOjprSWNlR2F0aGVyaW5nR2F0aGVyaW5nKQogICAgICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tlbmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUdhdGhl
cmluZ1N0YXRlKFJUQ0ljZUdhdGhlcmluZ1N0YXRlOjpHYXRoZXJpbmcpOworICAgICAgICBlbHNl
IGlmIChzdGF0ZSA9PSB3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlOjprSWNlR2F0aGVy
aW5nTmV3KQorICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9wZWVyQ29ubmVjdGlvbkJhY2tl
bmQuY29ubmVjdGlvbigpLnVwZGF0ZUljZUdhdGhlcmluZ1N0YXRlKFJUQ0ljZUdhdGhlcmluZ1N0
YXRlOjpOZXcpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENPYnNlcnZlcnMuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ09ic2VydmVycy5o
CmluZGV4IDIwMzIwZTNlYjcxNWZlMzQ3YzUzMTg3OWE0NjRkYjUxM2MxMjUwZjkuLjFhMDA4NDNk
ODI4ZTg3ODQwMjBlZDU5MzYwMDkyMzY5ZTljNjUwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ09ic2VydmVycy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q09ic2VydmVycy5oCkBAIC01OSwxNSArNTksMjEgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEVuZHBvaW50PgotY2xhc3MgU2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25PYnNl
cnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVy
IHsKK2NsYXNzIFNldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIgZmluYWwgOiBwdWJs
aWMgd2VicnRjOjpTZXRMb2NhbERlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2UgewogcHVibGlj
OgogICAgIGV4cGxpY2l0IFNldExvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIoRW5kcG9p
bnQgJmVuZHBvaW50KQogICAgICAgICA6IG1fZW5kcG9pbnQoZW5kcG9pbnQpCiAgICAgewogICAg
IH0KIAotICAgIHZvaWQgT25TdWNjZXNzKCkgZmluYWwgeyBtX2VuZHBvaW50LnNldExvY2FsU2Vz
c2lvbkRlc2NyaXB0aW9uU3VjY2VlZGVkKCk7IH0KLSAgICB2b2lkIE9uRmFpbHVyZSh3ZWJydGM6
OlJUQ0Vycm9yIGVycm9yKSBmaW5hbCB7IG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3Jp
cHRpb25GYWlsZWQodG9FeGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2Uo
KSk7IH0KKyAgICB2b2lkIE9uU2V0TG9jYWxEZXNjcmlwdGlvbkNvbXBsZXRlKHdlYnJ0Yzo6UlRD
RXJyb3IgZXJyb3IpIGZpbmFsCisgICAgeworICAgICAgICBpZiAoIWVycm9yLm9rKCkpIHsKKyAg
ICAgICAgICAgIG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25GYWlsZWQodG9F
eGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2UoKSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9lbmRwb2ludC5zZXRMb2NhbFNlc3Npb25E
ZXNjcmlwdGlvblN1Y2NlZWRlZCgpOworICAgIH0KIAogICAgIHZvaWQgQWRkUmVmKCkgY29uc3Qg
eyBtX2VuZHBvaW50LkFkZFJlZigpOyB9CiAgICAgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMg
UmVsZWFzZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kcG9pbnQuUmVsZWFzZSgpOyB9CkBAIC03Nywx
NSArODMsMjEgQEAgcHJpdmF0ZToKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEVuZHBvaW50Pgot
Y2xhc3MgU2V0UmVtb3RlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMg
d2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciB7CitjbGFzcyBTZXRSZW1vdGVT
ZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldFJlbW90
ZURlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2UgewogcHVibGljOgogICAgIGV4cGxpY2l0IFNl
dFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKEVuZHBvaW50ICZlbmRwb2ludCkKICAg
ICAgICAgOiBtX2VuZHBvaW50KGVuZHBvaW50KQogICAgIHsKICAgICB9CiAKLSAgICB2b2lkIE9u
U3VjY2VzcygpIGZpbmFsIHsgbV9lbmRwb2ludC5zZXRSZW1vdGVTZXNzaW9uRGVzY3JpcHRpb25T
dWNjZWVkZWQoKTsgfQotICAgIHZvaWQgT25GYWlsdXJlKHdlYnJ0Yzo6UlRDRXJyb3IgZXJyb3Ip
IGZpbmFsIHsgbV9lbmRwb2ludC5zZXRSZW1vdGVTZXNzaW9uRGVzY3JpcHRpb25GYWlsZWQodG9F
eGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2UoKSk7IH0KKyAgICB2b2lk
IE9uU2V0UmVtb3RlRGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vycm9yIGVycm9yKSBm
aW5hbAorICAgIHsKKyAgICAgICAgaWYgKCFlcnJvci5vaygpKSB7CisgICAgICAgICAgICBtX2Vu
ZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbkZhaWxlZCh0b0V4Y2VwdGlvbkNvZGUo
ZXJyb3IudHlwZSgpKSwgZXJyb3IubWVzc2FnZSgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgICAgICBtX2VuZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvblN1
Y2NlZWRlZCgpOworICAgIH0KIAogICAgIHZvaWQgQWRkUmVmKCkgY29uc3QgeyBtX2VuZHBvaW50
LkFkZFJlZigpOyB9CiAgICAgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZW5kcG9pbnQuUmVsZWFzZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZmZh
NmNkYTE2Mjg3YzRlY2NmYTg3Yjg4NjU4YzA0OGJhNGFmOGI5Ny4uNzFiODQwOTYwNDYzYmQ2OTE2
M2ViZTgxNGNiZDkxYWIwMmY4MjVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAtMjA1LDkgKzIwNSw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb25SZWxlYXNl
ZEluTmV0d29ya1RocmVhZFdoaWxlU2V0dGluZ0Rlc2NyaXB0aW9uKCkgPSBkZWZhdWx0OwogCiBw
cml2YXRlOgotICAgIHZvaWQgU2V0TG9jYWxEZXNjcmlwdGlvbih3ZWJydGM6OlNldFNlc3Npb25E
ZXNjcmlwdGlvbk9ic2VydmVyKiBvYnNlcnZlciwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25J
bnRlcmZhY2UqIHNlc3Npb25EZXNjcmlwdGlvbikgZmluYWwKKyAgICB2b2lkIFNldExvY2FsRGVz
Y3JpcHRpb24oc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJm
YWNlPiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0TG9jYWxEZXNjcmlwdGlvbk9ic2Vy
dmVySW50ZXJmYWNlPiBvYnNlcnZlcikgZmluYWwKICAgICB7Ci0gICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gdG9CZUZyZWVkKHNlc3Np
b25EZXNjcmlwdGlvbik7CiAgICAgICAgIHJlbGVhc2VJbk5ldHdvcmtUaHJlYWQoKnRoaXMsICpv
YnNlcnZlcik7CiAgICAgfQogfTsKQEAgLTI2MCw3ICsyNTksNyBAQCBydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpNZWRpYVN0cmVhbUludGVyZmFjZT4gTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0
aW9uRmFjdAogICAgIHJldHVybiBuZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0PHdlYnJ0Yzo6TWVk
aWFTdHJlYW0+KGxhYmVsKTsKIH0KIAotdm9pZCBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246
OlNldExvY2FsRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZl
ciogb2JzZXJ2ZXIsIHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKiBzZXNzaW9u
RGVzY3JpcHRpb24pCit2b2lkIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6U2V0TG9jYWxE
ZXNjcmlwdGlvbihzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRl
cmZhY2U+IHNlc3Npb25EZXNjcmlwdGlvbiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0
TG9jYWxEZXNjcmlwdGlvbk9ic2VydmVySW50ZXJmYWNlPiBvYnNlcnZlcikKIHsKICAgICBib29s
IGlzQ29ycmVjdFN0YXRlID0gdHJ1ZTsKICAgICBzd2l0Y2ggKG1fc2lnbmFsaW5nU3RhdGUpIHsK
QEAgLTI4MiwxOSArMjgxLDE4IEBAIHZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpT
ZXRMb2NhbERlc2NyaXB0aW9uKHdlYnJ0Yzo6U2V0U2Vzc2lvbkRlc2NyaXB0CiAgICAgfQogICAg
IGlmICghaXNDb3JyZWN0U3RhdGUpIHsKICAgICAgICAgTGliV2ViUlRDUHJvdmlkZXI6OmNhbGxP
bldlYlJUQ1NpZ25hbGluZ1RocmVhZChbb2JzZXJ2ZXJdIHsKLSAgICAgICAgICAgIG9ic2VydmVy
LT5PbkZhaWx1cmUod2VicnRjOjpSVENFcnJvcih3ZWJydGM6OlJUQ0Vycm9yVHlwZTo6SU5WQUxJ
RF9TVEFURSkpOworICAgICAgICAgICAgb2JzZXJ2ZXItPk9uU2V0TG9jYWxEZXNjcmlwdGlvbkNv
bXBsZXRlKHdlYnJ0Yzo6UlRDRXJyb3Iod2VicnRjOjpSVENFcnJvclR5cGU6OklOVkFMSURfU1RB
VEUpKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8d2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U+IHRvQmVGcmVlZChz
ZXNzaW9uRGVzY3JpcHRpb24pOwogICAgIExpYldlYlJUQ1Byb3ZpZGVyOjpjYWxsT25XZWJSVENT
aWduYWxpbmdUaHJlYWQoW3RoaXMsIG9ic2VydmVyXSB7Ci0gICAgICAgIG9ic2VydmVyLT5PblN1
Y2Nlc3MoKTsKKyAgICAgICAgb2JzZXJ2ZXItPk9uU2V0TG9jYWxEZXNjcmlwdGlvbkNvbXBsZXRl
KHdlYnJ0Yzo6UlRDRXJyb3I6Ok9LKCkpOwogICAgICAgICBnb3RMb2NhbERlc2NyaXB0aW9uKCk7
CiAgICAgfSk7CiB9CiAKLXZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpTZXRSZW1v
dGVEZXNjcmlwdGlvbih3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKiBvYnNl
cnZlciwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UqIHNlc3Npb25EZXNjcmlw
dGlvbikKK3ZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpTZXRSZW1vdGVEZXNjcmlw
dGlvbihzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U+
IHNlc3Npb25EZXNjcmlwdGlvbiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0UmVtb3Rl
RGVzY3JpcHRpb25PYnNlcnZlckludGVyZmFjZT4gb2JzZXJ2ZXIpCiB7CiAgICAgYm9vbCBpc0Nv
cnJlY3RTdGF0ZSA9IHRydWU7CiAgICAgc3dpdGNoIChtX3NpZ25hbGluZ1N0YXRlKSB7CkBAIC0z
MTYsMTQgKzMxNCwxMyBAQCB2b2lkIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6U2V0UmVt
b3RlRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcAogICAgIH0KICAgICBpZiAo
IWlzQ29ycmVjdFN0YXRlKSB7CiAgICAgICAgIExpYldlYlJUQ1Byb3ZpZGVyOjpjYWxsT25XZWJS
VENTaWduYWxpbmdUaHJlYWQoW29ic2VydmVyXSB7Ci0gICAgICAgICAgICBvYnNlcnZlci0+T25G
YWlsdXJlKHdlYnJ0Yzo6UlRDRXJyb3Iod2VicnRjOjpSVENFcnJvclR5cGU6OklOVkFMSURfU1RB
VEUpKTsKKyAgICAgICAgICAgIG9ic2VydmVyLT5PblNldFJlbW90ZURlc2NyaXB0aW9uQ29tcGxl
dGUod2VicnRjOjpSVENFcnJvcih3ZWJydGM6OlJUQ0Vycm9yVHlwZTo6SU5WQUxJRF9TVEFURSkp
OwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHN0ZDo6dW5pcXVl
X3B0cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gdG9CZUZyZWVkKHNlc3Np
b25EZXNjcmlwdGlvbik7CiAgICAgTGliV2ViUlRDUHJvdmlkZXI6OmNhbGxPbldlYlJUQ1NpZ25h
bGluZ1RocmVhZChbb2JzZXJ2ZXJdIHsKLSAgICAgICAgb2JzZXJ2ZXItPk9uU3VjY2VzcygpOwor
ICAgICAgICBvYnNlcnZlci0+T25TZXRSZW1vdGVEZXNjcmlwdGlvbkNvbXBsZXRlKHdlYnJ0Yzo6
UlRDRXJyb3I6Ok9LKCkpOwogICAgIH0pOwogICAgIEFTU0VSVChzZXNzaW9uRGVzY3JpcHRpb24p
OwogICAgIGlmIChzZXNzaW9uRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2ZmZXIiKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24u
aAppbmRleCBhOWM5MzFmZjU3ODlhOTBkZjcwZjFiNGQ0NTg1M2Y0Mzc5Nzc1OWVmLi5jZDhhZTM0
MjI0NDdmNTc5Mzk5YmE4NTc4NDZkMzhhZjY3NjI3MWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgKQEAgLTI5OSw4ICsy
OTksOCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OlJ0cFRyYW5zY2VpdmVySW50ZXJmYWNlPj4gR2V0VHJhbnNjZWl2ZXJzKCkgY29uc3QgZmlu
YWw7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIFNldFJlbW90ZURlc2NyaXB0aW9uKHdlYnJ0Yzo6
U2V0U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlv
bkludGVyZmFjZSopIGZpbmFsOwotICAgIHZvaWQgU2V0UmVtb3RlRGVzY3JpcHRpb24oc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlPiwgcnRjOjpzY29w
ZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0UmVtb3RlRGVzY3JpcHRpb25PYnNlcnZlckludGVyZmFjZT4p
IG92ZXJyaWRlIHsgfQorICAgIHZvaWQgU2V0UmVtb3RlRGVzY3JpcHRpb24od2VicnRjOjpTZXRT
ZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciosIHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50
ZXJmYWNlKikgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgIHZvaWQgU2V0UmVt
b3RlRGVzY3JpcHRpb24oc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9u
SW50ZXJmYWNlPiwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0UmVtb3RlRGVzY3JpcHRp
b25PYnNlcnZlckludGVyZmFjZT4pIG92ZXJyaWRlOwogICAgIGJvb2wgUmVtb3ZlSWNlQ2FuZGlk
YXRlcyhjb25zdCBzdGQ6OnZlY3Rvcjxjcmlja2V0OjpDYW5kaWRhdGU+Jikgb3ZlcnJpZGUgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkR0bHNUcmFuc3Bv
cnRJbnRlcmZhY2U+IExvb2t1cER0bHNUcmFuc3BvcnRCeU1pZChjb25zdCBzdGQ6OnN0cmluZyYp
IG92ZXJyaWRlIHsgcmV0dXJuIHsgfTsgfQogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlNjdHBUcmFuc3BvcnRJbnRlcmZhY2U+IEdldFNjdHBUcmFuc3BvcnQoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiB7IH07IH0KQEAgLTMxNCw3ICszMTQsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9v
bCBSZW1vdmVUcmFjayh3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSopIGZpbmFsOwogICAgIHdl
YnJ0Yzo6UlRDRXJyb3IgU2V0Qml0cmF0ZShjb25zdCB3ZWJydGM6OkJpdHJhdGVTZXR0aW5ncyYp
IGZpbmFsIHsgcmV0dXJuIHsgfTsgfQogCi0gICAgdm9pZCBTZXRMb2NhbERlc2NyaXB0aW9uKHdl
YnJ0Yzo6U2V0U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3ZWJydGM6OlNlc3Npb25EZXNj
cmlwdGlvbkludGVyZmFjZSopIG92ZXJyaWRlOworICAgIHZvaWQgU2V0TG9jYWxEZXNjcmlwdGlv
bih3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKiwgd2VicnRjOjpTZXNzaW9u
RGVzY3JpcHRpb25JbnRlcmZhY2UqKSBmaW5hbCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Owor
ICAgIHZvaWQgU2V0TG9jYWxEZXNjcmlwdGlvbihzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNz
aW9uRGVzY3JpcHRpb25JbnRlcmZhY2U+LCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpTZXRM
b2NhbERlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+KSBvdmVycmlkZTsKICAgICBib29sIEdl
dFN0YXRzKHdlYnJ0Yzo6U3RhdHNPYnNlcnZlciosIHdlYnJ0Yzo6TWVkaWFTdHJlYW1UcmFja0lu
dGVyZmFjZSosIFN0YXRzT3V0cHV0TGV2ZWwpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdm9pZCBDcmVhdGVPZmZlcih3ZWJydGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbk9ic2Vy
dmVyKiwgY29uc3Qgd2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZTo6UlRDT2ZmZXJBbnN3
ZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438219</attachid>
            <date>2021-09-15 00:20:07 -0700</date>
            <delta_ts>2021-09-15 01:19:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-230262-20210915092005.patch</filename>
            <type>text/plain</type>
            <size>18178</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5Mjc4OThjZmM0NmJkODA3ODk4MTAwYTQ2Yzg4MDljYTUyNmUxNjg3Li43ODc4
ZmY1NWYyZTlmNTcyYjFkNWY2YjM5NzY1NWUzMDliZDgzOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWlncmF0ZSB0byBsaWJ3ZWJydGMg
bm9uLXJhY3kgc2V0UmVtb3RlRGVzY3JpcHRpb24vc2V0TG9jYWxEZXNjcmlwdGlvbiB2YXJpYW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3
ZWJydGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFj
LmV4cDoKKwogMjAyMS0wOS0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFJUQ1NjdHBUcmFuc3BvcnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAx
M2Q3YWNkMTk0NjViNWNhNmFiM2EwNTRhNDRhMTExMmJmMmI0M2M5Li42ZTE4M2M0YmFhODhmNjdl
N2UyZjY0NTQwMmI3NTJkYzU1NjU4Nzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIw
MjEtMDktMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1p
Z3JhdGUgdG8gbGlid2VicnRjIG5vbi1yYWN5IHNldFJlbW90ZURlc2NyaXB0aW9uL3NldExvY2Fs
RGVzY3JpcHRpb24gdmFyaWFudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMDI2MgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIFdlIHdlcmUgdXNpbmcgdGhlIG9sZCB2ZXJzaW9ucyBvZiBsaWJ3ZWJydGMgU2V0
TG9jYWxEZXNjcmlwdGlvbi9TZXRSZW1vdGVEZXNjcmlwdGlvbi4KKyAgICAgICAgQXMgcGVyIHRo
ZSBoZWFkZXIgZmlsZSwgdGhlc2UgdmVyc2lvbnMgYXJlIHBvdGVudGlhbGx5IHJhY3kuCisgICAg
ICAgIFRoaXMgcGF0Y2ggbWlncmF0ZXMgdG8gbmV3IHZlcnNpb25zIG9mIHRoZSBzYW1lIEFQSSB3
aGljaCBpbiBhZGRpdGlvbiB0YWtlIG1vcmUgbW9kZXJuIHBhcmFtZXRlcnMgaW5zdGVhZCBvZiBy
YXcgcG9pbnRlcnMuCisgICAgICAgIFdlIGFsc28gbW9kZXJuaXplIGEgYml0IHRoZSBjb2RlIGJ5
IHVzaW5nIG1ldGhvZHMgbWFuaXB1bGF0aW5nIHVuaXF1ZV9wdHIgaW5zdGVhZCBvZiByYXcgcG9p
bnRlcnMuCisgICAgICAgIERyaXZlLWJ5IGZpeDogQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYmFj
ayB0byBuZXcgZm9yIElDRSBnYXRoZXJpbmcgc3RhdGUuIFRoaXMgd2FzIG1pc3NpbmcgYW5kIHdp
dGhvdXQgaXQsCisgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRj
L1JUQ1BlZXJDb25uZWN0aW9uLWV4cGxpY2l0LXJvbGxiYWNrLWljZUdhdGhlcmluZ1N0YXRlLmh0
bWwgd291bGQgdGltZSBvdXQuCisgICAgICAgIFVwZGF0ZSBtb2NrIHRvIGltcGxlbWVudCB0aGUg
bmV3IG1ldGhvZCB2ZXJzaW9ucy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVk
aWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXNzaW9uRGVzY3JpcHRpb25UeXBl
KToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmRvU2V0TG9jYWxE
ZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENNZWRpYUVuZHBvaW50Ojpk
b1NldFJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlh
RW5kcG9pbnQ6Ok9uSWNlR2F0aGVyaW5nQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENPYnNlcnZlcnMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
TGliV2ViUlRDUGVlckNvbm5lY3Rpb246OlNldExvY2FsRGVzY3JpcHRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpTZXRSZW1vdGVEZXNjcmlwdGlv
bik6CisgICAgICAgICogdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaDoKKwog
MjAyMS0wOS0xNCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEVuYWJsZSBIMjY1IGNvZGVjCmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5l
eHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
LmlPUy5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4u
MTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhw
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJy
dGMuaU9TLmV4cApAQCAtMjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlw
ZUVOU185VmlkZW9UeXBlRQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNf
XzExMmJhc2ljX3N0cmluZ0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VF
RUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0
YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pO
NndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5n
SWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBh
cnNlRXJyb3JFCitfX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBU
eXBlRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFs
bG9jYXRvckljRUVFRVBOU18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2Fu
ZGlkYXRlUGFpclN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1T
dGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVF
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMv
bGlid2VicnRjLmlPU3NpbS5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKaW5kZXggZGJiNjE0ZjU2MTdiZjY5NjQyN2Yz
ZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNhMGE1NTk3MTQzNzBkODM2MGMwOWNjMTBiNzQ1
YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRp
b25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApAQCAtMjUsNyArMjUsNyBAQCBf
X1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185VmlkZW9UeXBlRQogX19aTjZ3ZWJydGMx
OENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMwXzExY2hhcl90
cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5TXzEzU2RwUGFyc2VFcnJvckUKIF9f
Wk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMxOVJUQ0Rh
dGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0
aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFjaGFyX3RyYWl0c0ljRUVOUzBfOWFs
bG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JFCitfX1pONndlYnJ0YzI0Q3JlYXRl
U2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNO
UzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRVBOU18xM1NkcFBhcnNlRXJy
b3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFpclN0YXRzNWtUeXBlRQogX19aTjZ3
ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjRSVENN
ZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKaW5kZXgg
ZGJiNjE0ZjU2MTdiZjY5NjQyN2YzZjljNGNmODQzYmU3NjkzZDliMi4uMTc3ODIyNGNhMGE1NTk3
MTQzNzBkODM2MGMwOWNjMTBiNzQ1YThiNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApAQCAt
MjUsNyArMjUsNyBAQCBfX1pONndlYnJ0YzE2Q29udmVydFZpZGVvVHlwZUVOU185VmlkZW9UeXBl
RQogX19aTjZ3ZWJydGMxOENyZWF0ZUljZUNhbmRpZGF0ZUVSS05TdDNfXzExMmJhc2ljX3N0cmlu
Z0ljTlMwXzExY2hhcl90cmFpdHNJY0VFTlMwXzlhbGxvY2F0b3JJY0VFRUVpUzhfUE5TXzEzU2Rw
UGFyc2VFcnJvckUKIF9fWk42d2VicnRjMTlSVENDZXJ0aWZpY2F0ZVN0YXRzNWtUeXBlRQogX19a
TjZ3ZWJydGMxOVJUQ0RhdGFDaGFubmVsU3RhdHM1a1R5cGVFCi1fX1pONndlYnJ0YzI0Q3JlYXRl
U2Vzc2lvbkRlc2NyaXB0aW9uRVJLTlN0M19fMTEyYmFzaWNfc3RyaW5nSWNOUzBfMTFjaGFyX3Ry
YWl0c0ljRUVOUzBfOWFsbG9jYXRvckljRUVFRVM4X1BOU18xM1NkcFBhcnNlRXJyb3JFCitfX1pO
NndlYnJ0YzI0Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uRU5TXzdTZHBUeXBlRVJLTlN0M19fMTEy
YmFzaWNfc3RyaW5nSWNOUzFfMTFjaGFyX3RyYWl0c0ljRUVOUzFfOWFsbG9jYXRvckljRUVFRVBO
U18xM1NkcFBhcnNlRXJyb3JFCiBfX1pONndlYnJ0YzI0UlRDSWNlQ2FuZGlkYXRlUGFpclN0YXRz
NWtUeXBlRQogX19aTjZ3ZWJydGMyNFJUQ0luYm91bmRSVFBTdHJlYW1TdGF0czVrVHlwZUUKIF9f
Wk42d2VicnRjMjRSVENNZWRpYVN0cmVhbVRyYWNrU3RhdHM1a1R5cGVFCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDVhODIxMDFkOGNiZjEwYmEwMTU5
OWUwMDg2NGE1YTIzZGMxMjI1ZTQuLjZlNTNmZDljOWUxOGY3NDc2NTI0OWZmOTgxNGVlMzczNTNm
NmU1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBA
IC0xMjcsMjEgKzEyNywxOCBAQCBib29sIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmlzTmVnb3Rp
YXRpb25OZWVkZWQodWludDMyX3QgZXZlbnRJZCkgY29uc3QKICAgICByZXR1cm4gbV9iYWNrZW5k
ID8gbV9iYWNrZW5kLT5TaG91bGRGaXJlTmVnb3RpYXRpb25OZWVkZWRFdmVudChldmVudElkKSA6
IGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIHNlc3Npb25EZXNjcmlwdGlv
blR5cGUoUlRDU2RwVHlwZSBzZHBUeXBlKQorc3RhdGljIGlubGluZSB3ZWJydGM6OlNkcFR5cGUg
c2Vzc2lvbkRlc2NyaXB0aW9uVHlwZShSVENTZHBUeXBlIHNkcFR5cGUpCiB7CiAgICAgc3dpdGNo
IChzZHBUeXBlKSB7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpPZmZlcjoKLSAgICAgICAgcmV0dXJu
ICJvZmZlciI7CisgICAgICAgIHJldHVybiB3ZWJydGM6OlNkcFR5cGU6OmtPZmZlcjsKICAgICBj
YXNlIFJUQ1NkcFR5cGU6OlByYW5zd2VyOgotICAgICAgICByZXR1cm4gInByYW5zd2VyIjsKKyAg
ICAgICAgcmV0dXJuIHdlYnJ0Yzo6U2RwVHlwZTo6a1ByQW5zd2VyOwogICAgIGNhc2UgUlRDU2Rw
VHlwZTo6QW5zd2VyOgotICAgICAgICByZXR1cm4gImFuc3dlciI7CisgICAgICAgIHJldHVybiB3
ZWJydGM6OlNkcFR5cGU6OmtBbnN3ZXI7CiAgICAgY2FzZSBSVENTZHBUeXBlOjpSb2xsYmFjazoK
LSAgICAgICAgcmV0dXJuICJyb2xsYmFjayI7CisgICAgICAgIHJldHVybiB3ZWJydGM6OlNkcFR5
cGU6OmtSb2xsYmFjazsKICAgICB9Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gIiI7CiB9CiAKIHZvaWQgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6ZG9TZXRMb2NhbERl
c2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiogZGVzY3JpcHRpb24pCkBAIC0x
NTQsNyArMTUxLDcgQEAgdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldExvY2FsRGVz
Y3JpcHRpb24oY29uc3QgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKgogICAgIH0KIAogICAgIHdlYnJ0
Yzo6U2RwUGFyc2VFcnJvciBlcnJvcjsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNz
aW9uRGVzY3JpcHRpb25JbnRlcmZhY2U+IHNlc3Npb25EZXNjcmlwdGlvbih3ZWJydGM6OkNyZWF0
ZVNlc3Npb25EZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb25UeXBlKGRlc2NyaXB0aW9uLT50
eXBlKCkpLCBkZXNjcmlwdGlvbi0+c2RwKCkudXRmOCgpLmRhdGEoKSwgJmVycm9yKSk7CisgICAg
YXV0byBzZXNzaW9uRGVzY3JpcHRpb24gPSB3ZWJydGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb25UeXBlKGRlc2NyaXB0aW9uLT50eXBlKCkpLCBkZXNjcmlwdGlv
bi0+c2RwKCkudXRmOCgpLmRhdGEoKSwgJmVycm9yKTsKIAogICAgIGlmICghc2Vzc2lvbkRlc2Ny
aXB0aW9uKSB7CiAgICAgICAgIG1fcGVlckNvbm5lY3Rpb25CYWNrZW5kLnNldExvY2FsRGVzY3Jp
cHRpb25GYWlsZWQoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsIGZyb21TdGRTdHJpbmcoZXJy
b3IuZGVzY3JpcHRpb24pIH0pOwpAQCAtMTY3LDcgKzE2NCw3IEBAIHZvaWQgTGliV2ViUlRDTWVk
aWFFbmRwb2ludDo6ZG9TZXRMb2NhbERlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbioKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fYmFja2VuZC0+U2V0TG9jYWxE
ZXNjcmlwdGlvbigmbV9zZXRMb2NhbFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyLCBzZXNzaW9u
RGVzY3JpcHRpb24ucmVsZWFzZSgpKTsKKyAgICBtX2JhY2tlbmQtPlNldExvY2FsRGVzY3JpcHRp
b24oV1RGTW92ZShzZXNzaW9uRGVzY3JpcHRpb24pLCAmbV9zZXRMb2NhbFNlc3Npb25EZXNjcmlw
dGlvbk9ic2VydmVyKTsKIH0KIAogdm9pZCBMaWJXZWJSVENNZWRpYUVuZHBvaW50Ojpkb1NldFJl
bW90ZURlc2NyaXB0aW9uKGNvbnN0IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24p
CkBAIC0xNzUsMTIgKzE3MiwxMyBAQCB2b2lkIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmRvU2V0
UmVtb3RlRGVzY3JpcHRpb24oY29uc3QgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJgogICAgIEFTU0VS
VChtX2JhY2tlbmQpOwogCiAgICAgd2VicnRjOjpTZHBQYXJzZUVycm9yIGVycm9yOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4gc2Vzc2lv
bkRlc2NyaXB0aW9uKHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvblR5cGUoZGVzY3JpcHRpb24udHlwZSgpKSwgZGVzY3JpcHRpb24uc2RwKCkudXRmOCgp
LmRhdGEoKSwgJmVycm9yKSk7CisgICAgYXV0byBzZXNzaW9uRGVzY3JpcHRpb24gPSB3ZWJydGM6
OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb25UeXBlKGRlc2NyaXB0
aW9uLnR5cGUoKSksIGRlc2NyaXB0aW9uLnNkcCgpLnV0ZjgoKS5kYXRhKCksICZlcnJvcik7CiAg
ICAgaWYgKCFzZXNzaW9uRGVzY3JpcHRpb24pIHsKICAgICAgICAgbV9wZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuc2V0UmVtb3RlRGVzY3JpcHRpb25GYWlsZWQoRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Is
IGZyb21TdGRTdHJpbmcoZXJyb3IuZGVzY3JpcHRpb24pIH0pOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIG1fYmFja2VuZC0+U2V0UmVtb3RlRGVzY3JpcHRpb24oJm1fc2V0UmVtb3RlU2Vz
c2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIsIHNlc3Npb25EZXNjcmlwdGlvbi5yZWxlYXNlKCkpOwor
CisgICAgbV9iYWNrZW5kLT5TZXRSZW1vdGVEZXNjcmlwdGlvbihXVEZNb3ZlKHNlc3Npb25EZXNj
cmlwdGlvbiksICZtX3NldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKTsKIAogICAg
IHN0YXJ0TG9nZ2luZ1N0YXRzKCk7CiB9CkBAIC01MzgsNiArNTM2LDggQEAgdm9pZCBMaWJXZWJS
VENNZWRpYUVuZHBvaW50OjpPbkljZUdhdGhlcmluZ0NoYW5nZSh3ZWJydGM6OlBlZXJDb25uZWN0
aW9uSW50ZXJmYWMKICAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPm1fcGVlckNvbm5lY3Rpb25C
YWNrZW5kLmRvbmVHYXRoZXJpbmdDYW5kaWRhdGVzKCk7CiAgICAgICAgIGVsc2UgaWYgKHN0YXRl
ID09IHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OmtJY2VHYXRoZXJpbmdHYXRoZXJp
bmcpCiAgICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5j
b25uZWN0aW9uKCkudXBkYXRlSWNlR2F0aGVyaW5nU3RhdGUoUlRDSWNlR2F0aGVyaW5nU3RhdGU6
OkdhdGhlcmluZyk7CisgICAgICAgIGVsc2UgaWYgKHN0YXRlID09IHdlYnJ0Yzo6UGVlckNvbm5l
Y3Rpb25JbnRlcmZhY2U6OmtJY2VHYXRoZXJpbmdOZXcpCisgICAgICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5tX3BlZXJDb25uZWN0aW9uQmFja2VuZC5jb25uZWN0aW9uKCkudXBkYXRlSWNlR2F0aGVy
aW5nU3RhdGUoUlRDSWNlR2F0aGVyaW5nU3RhdGU6Ok5ldyk7CiAgICAgfSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ09ic2VydmVycy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDT2JzZXJ2ZXJzLmgKaW5kZXggMjAzMjBlM2ViNzE1ZmUzNDdjNTMxODc5
YTQ2NGRiNTEzYzEyNTBmOS4uNDk3NWY4YjM4MjIxODA0MDc4MjE1N2FkZTc1NWYxYjA4NWNkMzY0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDT2JzZXJ2ZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDT2JzZXJ2ZXJzLmgKQEAgLTU5LDM4ICs1OSw1MCBA
QCBwcml2YXRlOgogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgRW5kcG9pbnQ+Ci1jbGFzcyBTZXRM
b2NhbFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6U2V0
U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIgeworY2xhc3MgU2V0TG9jYWxTZXNzaW9uRGVzY3Jp
cHRpb25PYnNlcnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldExvY2FsRGVzY3JpcHRpb25P
YnNlcnZlckludGVyZmFjZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2V0TG9jYWxTZXNzaW9u
RGVzY3JpcHRpb25PYnNlcnZlcihFbmRwb2ludCAmZW5kcG9pbnQpCiAgICAgICAgIDogbV9lbmRw
b2ludChlbmRwb2ludCkKICAgICB7CiAgICAgfQogCi0gICAgdm9pZCBPblN1Y2Nlc3MoKSBmaW5h
bCB7IG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25TdWNjZWVkZWQoKTsgfQot
ICAgIHZvaWQgT25GYWlsdXJlKHdlYnJ0Yzo6UlRDRXJyb3IgZXJyb3IpIGZpbmFsIHsgbV9lbmRw
b2ludC5zZXRMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkZhaWxlZCh0b0V4Y2VwdGlvbkNvZGUoZXJy
b3IudHlwZSgpKSwgZXJyb3IubWVzc2FnZSgpKTsgfQotCiAgICAgdm9pZCBBZGRSZWYoKSBjb25z
dCB7IG1fZW5kcG9pbnQuQWRkUmVmKCk7IH0KICAgICBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1
cyBSZWxlYXNlKCkgY29uc3QgeyByZXR1cm4gbV9lbmRwb2ludC5SZWxlYXNlKCk7IH0KIAogcHJp
dmF0ZToKKyAgICB2b2lkIE9uU2V0TG9jYWxEZXNjcmlwdGlvbkNvbXBsZXRlKHdlYnJ0Yzo6UlRD
RXJyb3IgZXJyb3IpIGZpbmFsCisgICAgeworICAgICAgICBpZiAoIWVycm9yLm9rKCkpIHsKKyAg
ICAgICAgICAgIG1fZW5kcG9pbnQuc2V0TG9jYWxTZXNzaW9uRGVzY3JpcHRpb25GYWlsZWQodG9F
eGNlcHRpb25Db2RlKGVycm9yLnR5cGUoKSksIGVycm9yLm1lc3NhZ2UoKSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9lbmRwb2ludC5zZXRMb2NhbFNlc3Npb25E
ZXNjcmlwdGlvblN1Y2NlZWRlZCgpOworICAgIH0KKwogICAgIEVuZHBvaW50JiBtX2VuZHBvaW50
OwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgRW5kcG9pbnQ+Ci1jbGFzcyBTZXRSZW1vdGVTZXNz
aW9uRGVzY3JpcHRpb25PYnNlcnZlciBmaW5hbCA6IHB1YmxpYyB3ZWJydGM6OlNldFNlc3Npb25E
ZXNjcmlwdGlvbk9ic2VydmVyIHsKK2NsYXNzIFNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbk9i
c2VydmVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6U2V0UmVtb3RlRGVzY3JpcHRpb25PYnNlcnZl
ckludGVyZmFjZSB7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2V0UmVtb3RlU2Vzc2lvbkRlc2Ny
aXB0aW9uT2JzZXJ2ZXIoRW5kcG9pbnQgJmVuZHBvaW50KQogICAgICAgICA6IG1fZW5kcG9pbnQo
ZW5kcG9pbnQpCiAgICAgewogICAgIH0KIAotICAgIHZvaWQgT25TdWNjZXNzKCkgZmluYWwgeyBt
X2VuZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvblN1Y2NlZWRlZCgpOyB9Ci0gICAg
dm9pZCBPbkZhaWx1cmUod2VicnRjOjpSVENFcnJvciBlcnJvcikgZmluYWwgeyBtX2VuZHBvaW50
LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbkZhaWxlZCh0b0V4Y2VwdGlvbkNvZGUoZXJyb3Iu
dHlwZSgpKSwgZXJyb3IubWVzc2FnZSgpKTsgfQotCiAgICAgdm9pZCBBZGRSZWYoKSBjb25zdCB7
IG1fZW5kcG9pbnQuQWRkUmVmKCk7IH0KICAgICBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1cyBS
ZWxlYXNlKCkgY29uc3QgeyByZXR1cm4gbV9lbmRwb2ludC5SZWxlYXNlKCk7IH0KIAogcHJpdmF0
ZToKKyAgICB2b2lkIE9uU2V0UmVtb3RlRGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vy
cm9yIGVycm9yKSBmaW5hbAorICAgIHsKKyAgICAgICAgaWYgKCFlcnJvci5vaygpKSB7CisgICAg
ICAgICAgICBtX2VuZHBvaW50LnNldFJlbW90ZVNlc3Npb25EZXNjcmlwdGlvbkZhaWxlZCh0b0V4
Y2VwdGlvbkNvZGUoZXJyb3IudHlwZSgpKSwgZXJyb3IubWVzc2FnZSgpKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX2VuZHBvaW50LnNldFJlbW90ZVNlc3Npb25E
ZXNjcmlwdGlvblN1Y2NlZWRlZCgpOworICAgIH0KKwogICAgIEVuZHBvaW50JiBtX2VuZHBvaW50
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRD
UGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRD
UGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGZmYTZjZGExNjI4N2M0ZWNjZmE4N2I4ODY1OGMwNDhi
YTRhZjhiOTcuLjcxYjg0MDk2MDQ2M2JkNjkxNjNlYmU4MTRjYmQ5MWFiMDJmODI1YzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbi5jcHAKQEAgLTIwNSw5ICsyMDUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+TW9ja0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uUmVsZWFzZWRJbk5ldHdvcmtUaHJlYWRXaGlsZVNldHRpbmdE
ZXNjcmlwdGlvbigpID0gZGVmYXVsdDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIFNldExvY2FsRGVz
Y3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciogb2JzZXJ2ZXIs
IHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKiBzZXNzaW9uRGVzY3JpcHRpb24p
IGZpbmFsCisgICAgdm9pZCBTZXRMb2NhbERlc2NyaXB0aW9uKHN0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4sIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OlNldExvY2FsRGVzY3JpcHRpb25PYnNlcnZlckludGVyZmFjZT4gb2JzZXJ2ZXIpIGZpbmFs
CiAgICAgewotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNzaW9uRGVzY3JpcHRp
b25JbnRlcmZhY2U+IHRvQmVGcmVlZChzZXNzaW9uRGVzY3JpcHRpb24pOwogICAgICAgICByZWxl
YXNlSW5OZXR3b3JrVGhyZWFkKCp0aGlzLCAqb2JzZXJ2ZXIpOwogICAgIH0KIH07CkBAIC0yNjAs
NyArMjU5LDcgQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHJlYW1JbnRlcmZh
Y2U+IE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkZhY3QKICAgICByZXR1cm4gbmV3IHJ0Yzo6
UmVmQ291bnRlZE9iamVjdDx3ZWJydGM6Ok1lZGlhU3RyZWFtPihsYWJlbCk7CiB9CiAKLXZvaWQg
TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpTZXRMb2NhbERlc2NyaXB0aW9uKHdlYnJ0Yzo6
U2V0U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqIG9ic2VydmVyLCB3ZWJydGM6OlNlc3Npb25E
ZXNjcmlwdGlvbkludGVyZmFjZSogc2Vzc2lvbkRlc2NyaXB0aW9uKQordm9pZCBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb246OlNldExvY2FsRGVzY3JpcHRpb24oc3RkOjp1bmlxdWVfcHRyPHdl
YnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlPiBzZXNzaW9uRGVzY3JpcHRpb24sIHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlNldExvY2FsRGVzY3JpcHRpb25PYnNlcnZlckludGVy
ZmFjZT4gb2JzZXJ2ZXIpCiB7CiAgICAgYm9vbCBpc0NvcnJlY3RTdGF0ZSA9IHRydWU7CiAgICAg
c3dpdGNoIChtX3NpZ25hbGluZ1N0YXRlKSB7CkBAIC0yODIsMTkgKzI4MSwxOCBAQCB2b2lkIE1v
Y2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6U2V0TG9jYWxEZXNjcmlwdGlvbih3ZWJydGM6OlNl
dFNlc3Npb25EZXNjcmlwdAogICAgIH0KICAgICBpZiAoIWlzQ29ycmVjdFN0YXRlKSB7CiAgICAg
ICAgIExpYldlYlJUQ1Byb3ZpZGVyOjpjYWxsT25XZWJSVENTaWduYWxpbmdUaHJlYWQoW29ic2Vy
dmVyXSB7Ci0gICAgICAgICAgICBvYnNlcnZlci0+T25GYWlsdXJlKHdlYnJ0Yzo6UlRDRXJyb3Io
d2VicnRjOjpSVENFcnJvclR5cGU6OklOVkFMSURfU1RBVEUpKTsKKyAgICAgICAgICAgIG9ic2Vy
dmVyLT5PblNldExvY2FsRGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vycm9yKHdlYnJ0
Yzo6UlRDRXJyb3JUeXBlOjpJTlZBTElEX1NUQVRFKSk7CiAgICAgICAgIH0pOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6U2Vzc2lvbkRlc2Ny
aXB0aW9uSW50ZXJmYWNlPiB0b0JlRnJlZWQoc2Vzc2lvbkRlc2NyaXB0aW9uKTsKICAgICBMaWJX
ZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDU2lnbmFsaW5nVGhyZWFkKFt0aGlzLCBvYnNlcnZl
cl0gewotICAgICAgICBvYnNlcnZlci0+T25TdWNjZXNzKCk7CisgICAgICAgIG9ic2VydmVyLT5P
blNldExvY2FsRGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vycm9yOjpPSygpKTsKICAg
ICAgICAgZ290TG9jYWxEZXNjcmlwdGlvbigpOwogICAgIH0pOwogfQogCi12b2lkIE1vY2tMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbjo6U2V0UmVtb3RlRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNz
aW9uRGVzY3JpcHRpb25PYnNlcnZlciogb2JzZXJ2ZXIsIHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0
aW9uSW50ZXJmYWNlKiBzZXNzaW9uRGVzY3JpcHRpb24pCit2b2lkIE1vY2tMaWJXZWJSVENQZWVy
Q29ubmVjdGlvbjo6U2V0UmVtb3RlRGVzY3JpcHRpb24oc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6
U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlPiBzZXNzaW9uRGVzY3JpcHRpb24sIHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlNldFJlbW90ZURlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+
IG9ic2VydmVyKQogewogICAgIGJvb2wgaXNDb3JyZWN0U3RhdGUgPSB0cnVlOwogICAgIHN3aXRj
aCAobV9zaWduYWxpbmdTdGF0ZSkgewpAQCAtMzE2LDE0ICszMTQsMTMgQEAgdm9pZCBNb2NrTGli
V2ViUlRDUGVlckNvbm5lY3Rpb246OlNldFJlbW90ZURlc2NyaXB0aW9uKHdlYnJ0Yzo6U2V0U2Vz
c2lvbkRlc2NyaXAKICAgICB9CiAgICAgaWYgKCFpc0NvcnJlY3RTdGF0ZSkgewogICAgICAgICBM
aWJXZWJSVENQcm92aWRlcjo6Y2FsbE9uV2ViUlRDU2lnbmFsaW5nVGhyZWFkKFtvYnNlcnZlcl0g
ewotICAgICAgICAgICAgb2JzZXJ2ZXItPk9uRmFpbHVyZSh3ZWJydGM6OlJUQ0Vycm9yKHdlYnJ0
Yzo6UlRDRXJyb3JUeXBlOjpJTlZBTElEX1NUQVRFKSk7CisgICAgICAgICAgICBvYnNlcnZlci0+
T25TZXRSZW1vdGVEZXNjcmlwdGlvbkNvbXBsZXRlKHdlYnJ0Yzo6UlRDRXJyb3Iod2VicnRjOjpS
VENFcnJvclR5cGU6OklOVkFMSURfU1RBVEUpKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpTZXNzaW9uRGVzY3JpcHRp
b25JbnRlcmZhY2U+IHRvQmVGcmVlZChzZXNzaW9uRGVzY3JpcHRpb24pOwogICAgIExpYldlYlJU
Q1Byb3ZpZGVyOjpjYWxsT25XZWJSVENTaWduYWxpbmdUaHJlYWQoW29ic2VydmVyXSB7Ci0gICAg
ICAgIG9ic2VydmVyLT5PblN1Y2Nlc3MoKTsKKyAgICAgICAgb2JzZXJ2ZXItPk9uU2V0UmVtb3Rl
RGVzY3JpcHRpb25Db21wbGV0ZSh3ZWJydGM6OlJUQ0Vycm9yOjpPSygpKTsKICAgICB9KTsKICAg
ICBBU1NFUlQoc2Vzc2lvbkRlc2NyaXB0aW9uKTsKICAgICBpZiAoc2Vzc2lvbkRlc2NyaXB0aW9u
LT50eXBlKCkgPT0gIm9mZmVyIikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggYTljOTMxZmY1Nzg5YTkwZGY3MGYx
YjRkNDU4NTNmNDM3OTc3NTllZi4uY2Q4YWUzNDIyNDQ3ZjU3OTM5OWJhODU3ODQ2ZDM4YWY2NzYy
NzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQ
ZWVyQ29ubmVjdGlvbi5oCkBAIC0yOTksOCArMjk5LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6OnZl
Y3RvcjxydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBUcmFuc2NlaXZlckludGVyZmFjZT4+
IEdldFRyYW5zY2VpdmVycygpIGNvbnN0IGZpbmFsOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBT
ZXRSZW1vdGVEZXNjcmlwdGlvbih3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVy
Kiwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UqKSBmaW5hbDsKLSAgICB2b2lk
IFNldFJlbW90ZURlc2NyaXB0aW9uKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlNlc3Npb25EZXNj
cmlwdGlvbkludGVyZmFjZT4sIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlNldFJlbW90ZURl
c2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+KSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIFNldFJl
bW90ZURlc2NyaXB0aW9uKHdlYnJ0Yzo6U2V0U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3
ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZSopIGZpbmFsIHsgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KKyAgICB2b2lkIFNldFJlbW90ZURlc2NyaXB0aW9uKHN0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZT4sIHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlNldFJlbW90ZURlc2NyaXB0aW9uT2JzZXJ2ZXJJbnRlcmZhY2U+KSBvdmVycmlk
ZTsKICAgICBib29sIFJlbW92ZUljZUNhbmRpZGF0ZXMoY29uc3Qgc3RkOjp2ZWN0b3I8Y3JpY2tl
dDo6Q2FuZGlkYXRlPiYpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpEdGxzVHJhbnNwb3J0SW50ZXJmYWNlPiBMb29rdXBEdGxzVHJhbnNw
b3J0QnlNaWQoY29uc3Qgc3RkOjpzdHJpbmcmKSBvdmVycmlkZSB7IHJldHVybiB7IH07IH0KICAg
ICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpTY3RwVHJhbnNwb3J0SW50ZXJmYWNlPiBHZXRT
Y3RwVHJhbnNwb3J0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4geyB9OyB9CkBAIC0zMTQsNyAr
MzE0LDggQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgUmVtb3ZlVHJhY2sod2VicnRjOjpSdHBTZW5k
ZXJJbnRlcmZhY2UqKSBmaW5hbDsKICAgICB3ZWJydGM6OlJUQ0Vycm9yIFNldEJpdHJhdGUoY29u
c3Qgd2VicnRjOjpCaXRyYXRlU2V0dGluZ3MmKSBmaW5hbCB7IHJldHVybiB7IH07IH0KIAotICAg
IHZvaWQgU2V0TG9jYWxEZXNjcmlwdGlvbih3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9i
c2VydmVyKiwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UqKSBvdmVycmlkZTsK
KyAgICB2b2lkIFNldExvY2FsRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRp
b25PYnNlcnZlciosIHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKikgZmluYWwg
eyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfTsKKyAgICB2b2lkIFNldExvY2FsRGVzY3JpcHRpb24o
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlPiwgcnRj
OjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U2V0TG9jYWxEZXNjcmlwdGlvbk9ic2VydmVySW50ZXJm
YWNlPikgb3ZlcnJpZGU7CiAgICAgYm9vbCBHZXRTdGF0cyh3ZWJydGM6OlN0YXRzT2JzZXJ2ZXIq
LCB3ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2UqLCBTdGF0c091dHB1dExldmVsKSBv
dmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgQ3JlYXRlT2ZmZXIod2VicnRjOjpD
cmVhdGVTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciosIGNvbnN0IHdlYnJ0Yzo6UGVlckNvbm5l
Y3Rpb25JbnRlcmZhY2U6OlJUQ09mZmVyQW5zd2VyT3B0aW9ucyYpIG92ZXJyaWRlOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>