<?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>215018</bug_id>
          
          <creation_ts>2020-07-31 08:03:33 -0700</creation_ts>
          <short_desc>MediaRecorder should support MediaRecorderOptions.mimeType</short_desc>
          <delta_ts>2020-10-01 07:09:28 -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 Local 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>
          <dependson>216856</dependson>
          <blocked>85851</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>diego.caravana</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>marcosdg3</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1676822</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-31 08:03:33 -0700</bug_when>
    <thetext>MediaRecorder should support MediaRecorderOptions.mimeType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678588</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-07 08:04:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/66681508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689749</commentid>
    <comment_count>2</comment_count>
    <who name="Diego Caravana">diego.caravana</who>
    <bug_when>2020-09-18 02:23:24 -0700</bug_when>
    <thetext>If you need confirmation (or testing afterwards) with this one, in my case my code asks for &quot;video/webm;codecs=vp9&quot;, or even only &quot;video/webm&quot;, what I get is actually an MP4 container with AVC/AAC encoded video/audio.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691636</commentid>
    <comment_count>3</comment_count>
    <who name="Marcos G.">marcosdg3</who>
    <bug_when>2020-09-24 12:55:31 -0700</bug_when>
    <thetext>As Diego said it would desirable to use vp9 codec for encoding. Here is an example: https://codepen.io/marcosdg3/pen/xxVMaQY

This specifies using the mimeType: &quot;video/webm;codecs=vp9&quot; and will output the type used after recording.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691643</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-24 13:01:32 -0700</bug_when>
    <thetext>(In reply to Marcos G. from comment #3)
&gt; As Diego said it would desirable to use vp9 codec for encoding. Here is an
&gt; example: https://codepen.io/marcosdg3/pen/xxVMaQY
&gt; 
&gt; This specifies using the mimeType: &quot;video/webm;codecs=vp9&quot; and will output
&gt; the type used after recording.

Webm is currently not supported in MacOS/iOS MediaRecorder backend.
That seems like a different request from mimeType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693379</commentid>
    <comment_count>5</comment_count>
      <attachid>410120</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-30 07:57:02 -0700</bug_when>
    <thetext>Created attachment 410120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693684</commentid>
    <comment_count>6</comment_count>
      <attachid>410209</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-10-01 01:54:49 -0700</bug_when>
    <thetext>Created attachment 410209
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693741</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-01 07:09:27 -0700</bug_when>
    <thetext>Committed r267833: &lt;https://trac.webkit.org/changeset/267833&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410209.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410120</attachid>
            <date>2020-09-30 07:57:02 -0700</date>
            <delta_ts>2020-10-01 01:54:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215018-20200930165700.patch</filename>
            <type>text/plain</type>
            <size>23440</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk5NzVkMGE2ODU0YWNm
ZDZjYWIwMmMxOWM3YTVmOTY0ZTY2YmViZC4uODQxYWY0ODRlNGRkMmFhYjQ1MThhYjliM2E3ZmYw
ODQwZTEyYTZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA5LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IE1lZGlhUmVjb3JkZXJPcHRpb25zLm1pbWVUeXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwMTgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzY2NjgxNTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluc3RlYWQgb2Ygc2V0dGluZyBtaW1lIHR5cGUgcmlnaHQgYXdheSwgc2V0
IGl0IGp1c3QgYmVmb3JlIGZpcmluZyBzdGFydCBldmVudCBhcyBwZXIgc3BlYy4KKyAgICAgICAg
VGhpcyB3aWxsIGFsbG93IGluIHRoZSBmdXR1cmUgdG8gcG9wdWxhdGUgZXhhY3QgY29kZWMgcGFy
YW1ldGVycyBpZiBwcm92ZW4gdXNlZnVsLgorCisgICAgICAgIENvdmVyZWQgYnkgcmViYXNlZCB0
ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpzdGFydFJlY29yZGluZyk6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6bWltZVR5cGUgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdGFydFJlY29yZGluZyk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01l
ZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6bWltZVR5cGUgY29uc3QpOgorCiAyMDIwLTA5LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBIYW5kbGUgZGVwcmVj
YXRpb24gd2FybmluZ3MgZnJvbSBsaWJ3ZWJydGMgaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3YzVkNWE4
NGJkZGY2ZGQ5ZjhmZGI4OTE5MzhlNDY2NjllZmQ2Yzg5Li44ZWZhOTM1M2MzNjg3OTNkYmM4ZGRl
NDU2Y2Y3NjFkZDc2N2E2YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTMw
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29y
ZGVyIHNob3VsZCBzdXBwb3J0IE1lZGlhUmVjb3JkZXJPcHRpb25zLm1pbWVUeXBlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwMTgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzY2NjgxNTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBjb2RlIHRvIHBhc3MgbWltZVR5cGUgYXMgcGFydCBv
ZiBzdGFydFJlY29yZGluZyBjYWxsYmFjay4KKworICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZU1lZGlhUmVjb3JkZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFSZWNv
cmRlcjo6bWltZVR5cGUgY29uc3QpOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXI6OmNyZWF0ZVJlY29yZGVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dl
YnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdGFydFJlY29yZGluZyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmg6CisKIDIwMjAt
MDktMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlh
UmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgaXNUeXBlU3VwcG9ydGVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKaW5kZXgg
ZDI3MjkwMDUyYmE3ZWFhMWU3YTg5ZTkyNzE5NGNiYzc1MzFjYjc5ZS4uZjIyYzhmYTdlNDBiYjMx
YzcyOTZlZmE3ZmE3NDQ2ZjZkOGZlYTUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcApAQCAtNjcsNyArNjcsNiBA
QCBFeGNlcHRpb25PcjxSZWY8TWVkaWFSZWNvcmRlcj4+IE1lZGlhUmVjb3JkZXI6OmNyZWF0ZShE
b2N1bWVudCYgZG9jdW1lbnQsIFJlZjxNZQogICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkp
CiAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogCi0gICAgb3B0aW9u
cy5taW1lVHlwZSA9IHJlc3VsdC5yZXR1cm5WYWx1ZSgpLT5taW1lVHlwZSgpOwogICAgIGF1dG8g
cmVjb3JkZXIgPSBhZG9wdFJlZigqbmV3IE1lZGlhUmVjb3JkZXIoZG9jdW1lbnQsIFdURk1vdmUo
c3RyZWFtKSwgV1RGTW92ZShvcHRpb25zKSkpOwogICAgIHJlY29yZGVyLT5zdXNwZW5kSWZOZWVk
ZWQoKTsKICAgICByZXR1cm4gcmVjb3JkZXI7CkBAIC0xNjQsMTMgKzE2MywxMyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBNZWRpYVJlY29yZGVyOjpzdGFydFJlY29yZGluZyhPcHRpb25hbDx1bnNpZ25l
ZD4gdGltZVNsaWNlKQogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsK
IAogICAgIG1fcHJpdmF0ZSA9IHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKLSAgICBtX3By
aXZhdGUtPnN0YXJ0UmVjb3JkaW5nKFt0aGlzLCBwZW5kaW5nQWN0aXZpdHkgPSBtYWtlUGVuZGlu
Z0FjdGl2aXR5KCp0aGlzKV0oYXV0byYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CisgICAgbV9wcml2
YXRlLT5zdGFydFJlY29yZGluZyhbdGhpcywgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdB
Y3Rpdml0eSgqdGhpcyldKGF1dG8mJiBtaW1lVHlwZU9yRXhjZXB0aW9uKSBtdXRhYmxlIHsKICAg
ICAgICAgaWYgKCFtX2lzQWN0aXZlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlm
IChleGNlcHRpb24pIHsKKyAgICAgICAgaWYgKG1pbWVUeXBlT3JFeGNlcHRpb24uaGFzRXhjZXB0
aW9uKCkpIHsKICAgICAgICAgICAgIHN0b3BSZWNvcmRpbmdJbnRlcm5hbCgpOwotICAgICAgICAg
ICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3Jr
aW5nLCBbdGhpcywgZXhjZXB0aW9uID0gV1RGTW92ZSgqZXhjZXB0aW9uKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgICAgIHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJj
ZTo6TmV0d29ya2luZywgW3RoaXMsIGV4Y2VwdGlvbiA9IG1pbWVUeXBlT3JFeGNlcHRpb24ucmVs
ZWFzZUV4Y2VwdGlvbigpXSgpIG11dGFibGUgewogICAgICAgICAgICAgICAgIGlmICghbV9pc0Fj
dGl2ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGRpc3Bh
dGNoRXJyb3IoV1RGTW92ZShleGNlcHRpb24pKTsKQEAgLTE3OCw5ICsxNzcsMTAgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gTWVkaWFSZWNvcmRlcjo6c3RhcnRSZWNvcmRpbmcoT3B0aW9uYWw8dW5zaWdu
ZWQ+IHRpbWVTbGljZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IHF1ZXVlVGFza0tlZXBpbmdPYmplY3RBbGl2ZSgqdGhpcywgVGFza1NvdXJjZTo6TmV0d29ya2lu
ZywgW3RoaXNdIHsKKyAgICAgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBU
YXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgbWltZVR5cGUgPSBtaW1lVHlwZU9yRXhjZXB0
aW9uLnJlbGVhc2VSZXR1cm5WYWx1ZSgpXSgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKCFt
X2lzQWN0aXZlKQogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIG1fb3B0aW9u
cy5taW1lVHlwZSA9IFdURk1vdmUobWltZVR5cGUpOwogICAgICAgICAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zdGFydEV2ZW50LCBFdmVudDo6Q2FuQnViYmxl
OjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKICAgICAgICAgfSk7CiAgICAgfSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmluZGV4IDVmNjc0ODhkMWUxNjVlMzJmMzE1MmMyNzRi
NGJlNThhZGVjNGI2M2MuLmMyMTU2MThmMDE1ZGNjNGJjNDY3YmU5MjE5ZWQ2YjRiYTg3ODk3MDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCkBAIC01OCwxNCArNTgsNyBAQCBNZWRpYVJl
Y29yZGVyUHJpdmF0ZTo6QXVkaW9WaWRlb1NlbGVjdGVkVHJhY2tzIE1lZGlhUmVjb3JkZXJQcml2
YXRlOjpzZWxlY3RUcmFjawogCiBjb25zdCBTdHJpbmcmIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpt
aW1lVHlwZSgpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPGNvbnN0IFN0cmluZz4gYXVkaW9NUDQoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwo
ImF1ZGlvL21wNCIpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiB2
aWRlb01QNChNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgidmlkZW8vbXA0IikpOwotICAgIC8vIEZJ
WE1FOiB3ZSB3aWxsIG5lZWQgdG8gc3VwcG9ydCBNSU1FIHR5cGUgY29kZWNzIHBhcmFtZXRlciB2
YWx1ZXMuCi0gICAgcmV0dXJuIG1fdmlkZW9Tb3VyY2UgPyB2aWRlb01QNCA6IGF1ZGlvTVA0Owot
I2Vsc2UKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSNlbmRpZgogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKaW5kZXggMzEyODgyNjA0OGJkNzgx
NzdjN2UwZmU5OGUxNzJhZGRiYjlkOWNlYi4uYTcyYWQ1MTFiMWM4Mzc5Nzc2NTM0N2MzNTVjNzU3
NTYyMzQ2ZWRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaApAQCAtMjQsMTEgKzI0LDExIEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+Ci0j
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlICJFeGNlcHRpb24uaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucy5o
IgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxl
dGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIApAQCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGZldGNoRGF0YShGZXRjaERhdGFDYWxsYmFjayYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN0
b3BSZWNvcmRpbmcoKSA9IDA7CiAKLSAgICB1c2luZyBFcnJvckNhbGxiYWNrID0gQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPjsKLSAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRSZWNvcmRpbmcoRXJyb3JDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7
IH0KKyAgICB1c2luZyBTdGFydFJlY29yZGluZ0NhbGxiYWNrID0gQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChFeGNlcHRpb25PcjxTdHJpbmc+JiYpPjsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRSZWNv
cmRpbmcoU3RhcnRSZWNvcmRpbmdDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFN0cmlu
ZyhtaW1lVHlwZSgpKSk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwuaAppbmRleCBiOTU4MmI0MjYxODFhMDhkNDJjMWNkYmEzZmJiOTZhYmE4MmRhZGYyLi5iMmFj
YWNiMWNlNzM3NWY0NzE4OTFhZDNlMWRiMGM5M2I4MTcwY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGVBVkZJbXBsLmgKQEAgLTQ2LDcgKzQ2LDggQEAgcHJpdmF0ZToKICAgICAvLyBN
ZWRpYVJlY29yZGVyUHJpdmF0ZQogICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmKSBmaW5hbDsKICAgICB2b2lkIGZldGNoRGF0YShGZXRjaERhdGFDYWxsYmFjayYmKSBm
aW5hbDsKLSAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBXVEY6Ok1lZGlhVGlt
ZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYsIHNpemVfdCkgZmluYWw7CisgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3Qg
TWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0YXJ0
UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmFjaykgZmluYWwgeyBjYWxsYmFjayhtX3dyaXRlci0+
bWltZVR5cGUoKSk7IH0KIAogICAgIHZvaWQgc3RvcFJlY29yZGluZygpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCmluZGV4IDA2Yzk0
ODIyNWFhMDhlMDg0N2Y4NWUzODQyM2MzNmM0MDhhMzJhZmEuLmJmNzAxZDNlNTEzOGQzMzMyZTRi
ZjdkMmRhYTU3MTQyNzYwOGY5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCkBAIC03NSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGFwcGVuZERhdGEoY29uc3QgY2hhciosIHNpemVfdCk7CiAgICAgdm9pZCBhcHBlbmREYXRh
KFJlZjxTaGFyZWRCdWZmZXI+JiYpOwogCisgICAgU3RyaW5nIG1pbWVUeXBlKCkgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoYm9vbCBoYXNBdWRpbywg
Ym9vbCBoYXNWaWRlbyk7CiAgICAgdm9pZCBjbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdy
aXRlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2Nv
YS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IDcxMTAxNzY0ZDY3NzNh
M2NiYTNjN2I4YTI4MjVmZjNlNGU3ZTQ5YjIuLmNmMjEzNTBiY2EyNWY1NWFkNjA1M2I0ZWIyNGI0
MDkwMDZiYzk3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EubW0KQEAgLTU5NSw2ICs1OTUsMTUgQEAgdm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlcjo6YXBwZW5kRGF0YShSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZlcikKICAg
ICBtX2RhdGEtPmFwcGVuZChXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCisKK1N0cmluZyBNZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlcjo6bWltZVR5cGUoKSBjb25zdAoreworICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IGF1ZGlvTVA0KE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCJhdWRpby9tcDQiKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4g
dmlkZW9NUDQoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoInZpZGVvL21wNCIpKTsKKyAgICAvLyBG
SVhNRTogd2Ugd2lsbCBuZWVkIHRvIHN1cHBvcnQgTUlNRSB0eXBlIGNvZGVjcyBwYXJhbWV0ZXIg
dmFsdWVzLgorICAgIHJldHVybiBtX2hhc1ZpZGVvID8gdmlkZW9NUDQgOiBhdWRpb01QNDsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmluZGV4IDFjNWYyYjdl
NmU1ZjQwMzdmZGM1MzIxMjIzNGQ3MjkzOWUyZWU3MjMuLjljMTVhM2ZlMGU3MjI0ZGVkNzhlOThj
N2I3YWY1OWIxOWYxNzFkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCkBAIC01OSw2ICs1OSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVjb3JkZXI+IGNyZWF0ZShH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgTWVkaWFSZWNvcmRlcklkZW50aWZpZXIsIGJvb2wg
cmVjb3JkQXVkaW8sIGJvb2wgcmVjb3JkVmlkZW8sIGNvbnN0IFdlYkNvcmU6Ok1lZGlhUmVjb3Jk
ZXJQcml2YXRlT3B0aW9ucyYpOwogICAgIH5SZW1vdGVNZWRpYVJlY29yZGVyKCk7CiAKKyAgICBT
dHJpbmcgbWltZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3dyaXRlci0+bWltZVR5cGUoKTsgfQog
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
JikgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwCmluZGV4IGY0
ODE1MjUzODIzYWU1OTU3YjcyNzk0MGU3MmU0YWFkZmQyMWJmODEuLjY4ZTZlZGYzZDUyZmJjMmUx
YWNhMDU3MzU2ZjRlNTllMTI1YjdjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwCkBA
IC01MSwxNSArNTEsMTUgQEAgdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6ZGlkUmVj
ZWl2ZVJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlKElQQzo6Q29ubmUKICAgICAgICAgcmVjb3Jk
ZXItPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQogCi12b2lkIFJl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpjcmVhdGVSZWNvcmRlcihNZWRpYVJlY29yZGVySWRl
bnRpZmllciBpZGVudGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBib29sIHJlY29yZFZpZGVvLCBj
b25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmIG9wdGlvbnMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpjcmVhdGVSZWNvcmRlcihNZWRpYVJl
Y29yZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBib29sIHJlY29y
ZFZpZGVvLCBjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmIG9wdGlvbnMsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uRGF0YT4mJiwgU3RyaW5nJiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghbV9yZWNvcmRlcnMuY29udGFpbnMo
aWRlbnRpZmllcikpOwogICAgIGF1dG8gcmVjb3JkZXIgPSBSZW1vdGVNZWRpYVJlY29yZGVyOjpj
cmVhdGUobV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBpZGVudGlmaWVyLCByZWNvcmRBdWRp
bywgcmVjb3JkVmlkZW8sIG9wdGlvbnMpOwogICAgIGlmICghcmVjb3JkZXIpCi0gICAgICAgIHJl
dHVybiBjb21wbGV0aW9uSGFuZGxlcihFeGNlcHRpb25EYXRhIHsgTm90U3VwcG9ydGVkRXJyb3Is
ICJVbmFibGUgdG8gY3JlYXRlIGEgcmVjb3JkZXIgd2l0aCB0aGUgcHJvdmlkZWQgc3RyZWFtIl9z
IH0pOworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoRXhjZXB0aW9uRGF0YSB7IE5v
dFN1cHBvcnRlZEVycm9yLCAiVW5hYmxlIHRvIGNyZWF0ZSBhIHJlY29yZGVyIHdpdGggdGhlIHBy
b3ZpZGVkIHN0cmVhbSJfcyB9LCB7IH0pOwogCisgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9LCBy
ZWNvcmRlci0+bWltZVR5cGUoKSk7CiAgICAgbV9yZWNvcmRlcnMuYWRkKGlkZW50aWZpZXIsIFdU
Rk1vdmUocmVjb3JkZXIpKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogfQogCiB2b2lk
IFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpyZWxlYXNlUmVjb3JkZXIoTWVkaWFSZWNvcmRl
cklkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaAppbmRleCA3NTM5
MGE4NWEzZmE0MGUyN2E3ODQ2Nzg5MThkYzg1NGNlNDExYzhmLi4wYWJmZDgwODg4YjdmYTQ0MTQz
ZmNmYTc5YTQyMTVkMmFjMWZlNjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCkBAIC02MSw3
ICs2MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIK
ICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2Rl
ciYpIGZpbmFsOwotICAgIHZvaWQgY3JlYXRlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZp
ZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGJvb2wgcmVjb3JkVmlkZW8sIGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+JiYpOworICAgIHZvaWQgY3JlYXRlUmVjb3Jk
ZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGJvb2wgcmVjb3Jk
VmlkZW8sIGNvbnN0IFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJiwgU3Ry
aW5nJiYpPiYmKTsKICAgICB2b2lkIHJlbGVhc2VSZWNvcmRlcihNZWRpYVJlY29yZGVySWRlbnRp
Zmllcik7CiAKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2dwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCAyNTdiZjk2NjMyNzg4NWZmZGNmZmIwZTczYzY4MWE4NzkxYWM2ZGU0Li4yZWJkODg2M2I1
MWE3NTMyYjZhODZlZmQ2ZTFkZmE4ZGI0N2ZlMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ck1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0LDcgQEAKICNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKIAogbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFSZWNvcmRl
ck1hbmFnZXIgTm90UmVmQ291bnRlZCB7Ci0gICAgQ3JlYXRlUmVjb3JkZXIoV2ViS2l0OjpNZWRp
YVJlY29yZGVySWRlbnRpZmllciBpZCwgYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgc3Ry
dWN0IFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyBvcHRpb25zKSAtPiAoT3B0
aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4gY3JlYXRpb25FcnJvcikgQXN5bmMKKyAgICBD
cmVhdGVSZWNvcmRlcihXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlkLCBib29sIGhh
c0F1ZGlvLCBib29sIGhhc1ZpZGVvLCBzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZh
dGVPcHRpb25zIG9wdGlvbnMpIC0+IChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiBj
cmVhdGlvbkVycm9yLCBTdHJpbmcgbWltZVR5cGUpIEFzeW5jCiAgICAgUmVsZWFzZVJlY29yZGVy
KFdlYktpdDo6TWVkaWFSZWNvcmRlcklkZW50aWZpZXIgaWQpCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmNwcAppbmRleCBmMGRlZmQ0NGNmMDAzYTQwY2Q2ZTcwN2Y4MzM2MDg3MDU5MjY3OTI4Li5k
NDVlODg3Y2YxMTkwYTQ0NzgwY2Q1M2I3Y2RhNzBjYzczYmMzZWMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuY3BwCkBAIC01Miw3ICs1Miw3IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpNZWRpYVJl
Y29yZGVyUHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGUmIHN0cmVhbSwgY29uc3QgTWVkCiB7CiB9
CiAKLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5nKEVycm9yQ2FsbGJh
Y2smJiBlcnJvckNhbGxiYWNrKQordm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c3RhcnRSZWNv
cmRpbmcoU3RhcnRSZWNvcmRpbmdDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIC8vIEZJWE1F
OiB3ZSB3aWxsIG5lZWQgdG8gaW1wbGVtZW50IHN1cHBvcnQgZm9yIG11bHRpcGxlIGF1ZGlvL3Zp
ZGVvIHRyYWNrcwogICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IGNob29zZSB0aGUgZmlyc3QgdHJh
Y2sgYXMgdGhlIHJlY29yZGVkIHRyYWNrLgpAQCAtNjEsMjAgKzYxLDIwIEBAIHZvaWQgTWVkaWFS
ZWNvcmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5nKEVycm9yQ2FsbGJhY2smJiBlcnJvckNhbGxi
YWNrKQogICAgIGlmIChzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrKQogICAgICAgICBtX3JpbmdC
dWZmZXIgPSBtYWtlVW5pcXVlPENBUmluZ0J1ZmZlcj4obWFrZVVuaXF1ZVJlZjxTaGFyZWRSaW5n
QnVmZmVyU3RvcmFnZT4odGhpcykpOwogCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpDcmVhdGVSZWNvcmRl
ciB7IG1faWRlbnRpZmllciwgISFzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrLCAhIXNlbGVjdGVk
VHJhY2tzLnZpZGVvVHJhY2ssIG1fb3B0aW9ucyB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vh
a1B0cih0aGlzKSwgYXVkaW9UcmFjayA9IG1ha2VSZWZQdHIoc2VsZWN0ZWRUcmFja3MuYXVkaW9U
cmFjayksIHZpZGVvVHJhY2sgPSBtYWtlUmVmUHRyKHNlbGVjdGVkVHJhY2tzLnZpZGVvVHJhY2sp
LCBlcnJvckNhbGxiYWNrID0gV1RGTW92ZShlcnJvckNhbGxiYWNrKV0oYXV0byYmIGV4Y2VwdGlv
bikgbXV0YWJsZSB7CisgICAgbV9jb25uZWN0aW9uLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpDcmVhdGVSZWNvcmRlciB7IG1faWRlbnRp
ZmllciwgISFzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrLCAhIXNlbGVjdGVkVHJhY2tzLnZpZGVv
VHJhY2ssIG1fb3B0aW9ucyB9LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwg
YXVkaW9UcmFjayA9IG1ha2VSZWZQdHIoc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjayksIHZpZGVv
VHJhY2sgPSBtYWtlUmVmUHRyKHNlbGVjdGVkVHJhY2tzLnZpZGVvVHJhY2spLCBjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgZXhjZXB0aW9uLCBTdHJpbmcmJiBtaW1lVHlwZSkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpIHsKLSAgICAgICAgICAgIGVycm9yQ2Fs
bGJhY2soeyB9KTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0
ZUVycm9yIH0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGlmIChl
eGNlcHRpb24pIHsKLSAgICAgICAgICAgIGVycm9yQ2FsbGJhY2soRXhjZXB0aW9uIHsgZXhjZXB0
aW9uLT5jb2RlLCBXVEZNb3ZlKGV4Y2VwdGlvbi0+bWVzc2FnZSkgfSk7CisgICAgICAgICAgICBj
YWxsYmFjayhFeGNlcHRpb24geyBleGNlcHRpb24tPmNvZGUsIFdURk1vdmUoZXhjZXB0aW9uLT5t
ZXNzYWdlKSB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAo
YXVkaW9UcmFjaykKICAgICAgICAgICAgIHNldEF1ZGlvU291cmNlKCZhdWRpb1RyYWNrLT5zb3Vy
Y2UoKSk7CiAgICAgICAgIGlmICh2aWRlb1RyYWNrKQogICAgICAgICAgICAgc2V0VmlkZW9Tb3Vy
Y2UoJnZpZGVvVHJhY2stPnNvdXJjZSgpKTsKLSAgICAgICAgZXJyb3JDYWxsYmFjayh7IH0pOwor
ICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKG1pbWVUeXBlKSk7CiAgICAgfSwgMCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oCmluZGV4IDQ1NmFkM2M0OGJhZTFlYzVhZTJjZWRjMDIxMDgxOWM5ZjQy
ZWM1ZDguLjNlZTU0MGVhNDE5MzA2YjA2YWU5ODA2M2QwYjdlN2NhMTdhZWZlMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUuaApAQCAtNTgsNyArNTgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdmlkZW9T
YW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmKSBmaW5hbDsKICAgICB2b2lkIGZl
dGNoRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI+JiYsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpPiYmKSBmaW5hbDsKICAgICB2b2lkIHN0b3BS
ZWNvcmRpbmcoKSBmaW5hbDsKLSAgICB2b2lkIHN0YXJ0UmVjb3JkaW5nKEVycm9yQ2FsbGJhY2sm
JikgZmluYWw7CisgICAgdm9pZCBzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNr
JiYpIGZpbmFsOwogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IFdURjo6TWVk
aWFUaW1lJiwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBXZWJDb3Jl
OjpBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKICAgICBjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MmE0NjZlNDAyZTA2NzNiZDcxNzA3MmE5
YTZhMzZiY2NjMzUyYjgxLi4yNjgwNDE3MzQ0YzVkMjNlZWNlYWJlNTdmODgzMjFjOTk4YWYzODBj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgTWVk
aWFSZWNvcmRlck9wdGlvbnMubWltZVR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNTAxOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY2ODE1
MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3QgdG8gZXhwZWN0IHNldHRpbmcgb2YgdGhlIG1pbWUgdHlwZSBhZnRlciBzdGFydCBl
dmVudC4KKworICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvbWltZVR5cGUuaHRtbDoK
KwogMjAyMC0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWVkaWFSZWNvcmRlciBzaG91bGQgYWxsb3cgc2V0dGluZyBsb3cgYml0IHJhdGVzIGZvciBh
dWRpbwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzhmMDMwYTkyM2RkN2M4NjEw
NGZlZDMxYzE4MWFiYWJjZDY0Yjk0NC4uYzM3YTA0NGNiMGM5NzM3NDEwNDhiNGQzMjgxZmMzY2M3
YjZlODgwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjAtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgTWVkaWFSZWNvcmRlck9wdGlvbnMubWltZVR5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTAx
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY2ODE1MDg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLW1pbWV0eXBlLWV4cGVjdGVkLnR4dDoKKwogMjAy
MC0wOS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVk
aWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCBpc1R5cGVTdXBwb3J0ZWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvbWltZVR5cGUuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvbWltZVR5cGUuaHRtbAppbmRleCA0N2ZmYTMyNjhi
ZDQ2Y2ZlYWU3NzZjNjY0MWE4ZjBmZDljZjMwMTJhLi4xNzk3MzRlYTJlZDAwNTkxZWU0NGQyMjRl
NjVlMjk5OTlkOGExZTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJl
Y29yZGVyL21pbWVUeXBlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNv
cmRlci9taW1lVHlwZS5odG1sCkBAIC0zMCwxMiArMzAsMjEgQEAgcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKICAgICBjb25zdCBtZWRpYVN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUsIHZpZGVvOiB0cnVlIH0pOwogCiAgICAg
bGV0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIobWVkaWFTdHJlYW0pOwotICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICJ2aWRlby9tcDQiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAiIik7CisgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlY29yZGVyLm9uc3RhcnQgPSByZXNvbHZlKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAidmlkZW8vbXA0IiwgInRlc3Qg
MSBtaW1lIHR5cGUiKTsKIAogICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIobmV3IE1l
ZGlhU3RyZWFtKFttZWRpYVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdXSkpOwotICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICJ2aWRlby9tcDQiKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAiIik7CisgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlY29yZGVyLm9uc3RhcnQgPSByZXNvbHZlKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAidmlkZW8vbXA0IiwgInRlc3Qg
MiBtaW1lIHR5cGUiKTsKIAogICAgIHJlY29yZGVyID0gbmV3IE1lZGlhUmVjb3JkZXIobmV3IE1l
ZGlhU3RyZWFtKFttZWRpYVN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdXSkpOworICAgIGFzc2Vy
dF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICIiKTsKKyAgICByZWNvcmRlci5zdGFydCgpOwor
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVjb3JkZXIub25zdGFydCA9IHJlc29s
dmUpOwogICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIubWltZVR5cGUsICJhdWRpby9tcDQiKTsK
IH0sICJNZWRpYVJlY29yZGVyIG1pbWVUeXBlIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJl
Y29yZC9NZWRpYVJlY29yZGVyLW1pbWV0eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJl
Y29yZGVyLW1pbWV0eXBlLWV4cGVjdGVkLnR4dAppbmRleCAzNWI1ODU2NGM1MTg5NTkxNmNiYWIz
MjlhN2U0YjRjYjAyMTZkMDBhLi45ODAzZjdhMTdiNzRmZmVlZjliYmRjZmNhOTkwNTI1YzBhZGU1
YmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbWltZXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0x
LDEzICsxLDEzIEBACiAKLUZBSUwgTWVkaWFSZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5
cGUgaW4gdGhlIGNvbnN0cnVjdG9yIGZvciBhdWRpbyBhc3NlcnRfZXF1YWxzOiBNZWRpYVJlY29y
ZGVyIGhhcyBubyBkZWZhdWx0IG1pbWVUeXBlIGV4cGVjdGVkICIiIGJ1dCBnb3QgImF1ZGlvL21w
NCIKLUZBSUwgTWVkaWFSZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5cGUgaW4gdGhlIGNv
bnN0cnVjdG9yIGZvciB2aWRlbyBhc3NlcnRfZXF1YWxzOiBNZWRpYVJlY29yZGVyIGhhcyBubyBk
ZWZhdWx0IG1pbWVUeXBlIGV4cGVjdGVkICIiIGJ1dCBnb3QgInZpZGVvL21wNCIKLUZBSUwgTWVk
aWFSZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIGZv
ciBhdWRpby92aWRlbyBhc3NlcnRfZXF1YWxzOiBNZWRpYVJlY29yZGVyIGhhcyBubyBkZWZhdWx0
IG1pbWVUeXBlIGV4cGVjdGVkICIiIGJ1dCBnb3QgInZpZGVvL21wNCIKK1BBU1MgTWVkaWFSZWNv
cmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIGZvciBhdWRp
bworUEFTUyBNZWRpYVJlY29yZGVyIHNldHMgbm8gZGVmYXVsdCBtaW1lVHlwZSBpbiB0aGUgY29u
c3RydWN0b3IgZm9yIHZpZGVvCitQQVNTIE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZhdWx0IG1p
bWVUeXBlIGluIHRoZSBjb25zdHJ1Y3RvciBmb3IgYXVkaW8vdmlkZW8KIFBBU1MgTWVkaWFSZWNv
cmRlciBpbnZhbGlkIGF1ZGlvIG1pbWVUeXBlIHRocm93cwogUEFTUyBNZWRpYVJlY29yZGVyIGlu
dmFsaWQgYXVkaW8gbWltZVR5cGUgaXMgdW5zdXBwb3J0ZWQKIFBBU1MgTWVkaWFSZWNvcmRlciBp
bnZhbGlkIHZpZGVvIG1pbWVUeXBlIHRocm93cwogUEFTUyBNZWRpYVJlY29yZGVyIGludmFsaWQg
dmlkZW8gbWltZVR5cGUgaXMgdW5zdXBwb3J0ZWQKIFBBU1MgU3VwcG9ydGVkIG1pbWVUeXBlIGF1
ZGlvL21wNCBpcyBzZXQgaW1tZWRpYXRlbHkgYWZ0ZXIgY29uc3RydWN0aW5nCi1GQUlMIFN1cHBv
cnRlZCBtaW1lVHlwZSB2aWRlby9tcDQgaXMgc2V0IGltbWVkaWF0ZWx5IGFmdGVyIGNvbnN0cnVj
dGluZyBhc3NlcnRfZXF1YWxzOiBTdXBwb3J0ZWQgbWltZVR5cGUgaXMgc2V0IGV4cGVjdGVkICJ2
aWRlby9tcDQiIGJ1dCBnb3QgImF1ZGlvL21wNCIKK1BBU1MgU3VwcG9ydGVkIG1pbWVUeXBlIHZp
ZGVvL21wNCBpcyBzZXQgaW1tZWRpYXRlbHkgYWZ0ZXIgY29uc3RydWN0aW5nCiBQQVNTIFVuc3Vw
cG9ydGVkIG1pbWVUeXBlIGF1ZGlvL29nZyB0aHJvd3MKIFBBU1MgVW5zdXBwb3J0ZWQgbWltZVR5
cGUgYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcyIgdGhyb3dzCiBQQVNTIFVuc3VwcG9ydGVkIG1p
bWVUeXBlIGF1ZGlvL29nZzsgY29kZWNzPSJvcHVzIiB0aHJvd3MKQEAgLTI2LDkgKzI2LDkgQEAg
UEFTUyBVbnN1cHBvcnRlZCBtaW1lVHlwZSB2aWRlby93ZWJtOyBjb2RlY3M9ImF2MSwgb3B1cyIg
dGhyb3dzCiBQQVNTIE1lZGlhUmVjb3JkZXIgc2V0cyBhIG5vbmVtcHR5IG1pbWVUeXBlIG9uICdv
bnN0YXJ0JyBmb3IgYXVkaW8KIFBBU1MgTWVkaWFSZWNvcmRlciBzZXRzIGEgbm9uZW1wdHkgbWlt
ZVR5cGUgb24gJ29uc3RhcnQnIGZvciB2aWRlbwogUEFTUyBNZWRpYVJlY29yZGVyIHNldHMgYSBu
b25lbXB0eSBtaW1lVHlwZSBvbiAnb25zdGFydCcgZm9yIGF1ZGlvL3ZpZGVvCi1GQUlMIE1lZGlh
UmVjb3JkZXIgbWltZVR5cGUgaXMgbm90IHNldCBiZWZvcmUgJ29uc3RhcnQnIGZvciBhdWRpbyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJhdWRpby9tcDQiCi1GQUlMIE1lZGlh
UmVjb3JkZXIgbWltZVR5cGUgaXMgbm90IHNldCBiZWZvcmUgJ29uc3RhcnQnIGZvciB2aWRlbyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJ2aWRlby9tcDQiCi1GQUlMIE1lZGlh
UmVjb3JkZXIgbWltZVR5cGUgaXMgbm90IHNldCBiZWZvcmUgJ29uc3RhcnQnIGZvciBhdWRpby92
aWRlbyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiIiBidXQgZ290ICJ2aWRlby9tcDQiCitQQVNT
IE1lZGlhUmVjb3JkZXIgbWltZVR5cGUgaXMgbm90IHNldCBiZWZvcmUgJ29uc3RhcnQnIGZvciBh
dWRpbworUEFTUyBNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0
YXJ0JyBmb3IgdmlkZW8KK1BBU1MgTWVkaWFSZWNvcmRlciBtaW1lVHlwZSBpcyBub3Qgc2V0IGJl
Zm9yZSAnb25zdGFydCcgZm9yIGF1ZGlvL3ZpZGVvCiBQQVNTIE1lZGlhUmVjb3JkZXIgZG9lc24n
dCBmaXJlICdvbnN0YXJ0JyBtdWx0aXBsZSB0aW1lcyBmb3IgYXVkaW8KIFBBU1MgTWVkaWFSZWNv
cmRlciBkb2Vzbid0IGZpcmUgJ29uc3RhcnQnIG11bHRpcGxlIHRpbWVzIGZvciB2aWRlbwogUEFT
UyBNZWRpYVJlY29yZGVyIGRvZXNuJ3QgZmlyZSAnb25zdGFydCcgbXVsdGlwbGUgdGltZXMgZm9y
IGF1ZGlvL3ZpZGVvCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410209</attachid>
            <date>2020-10-01 01:54:49 -0700</date>
            <delta_ts>2020-10-01 07:09:27 -0700</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-215018-20201001105447.patch</filename>
            <type>text/plain</type>
            <size>20372</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ3ZDNmNzAyZDBiNGJi
NTAxODk5ZTJkNTcwNDMxODUyYWFlZmYyZC4uYzAwY2MzODgxOGYxZDkzOTM0M2RkZDc4MTk2Y2Mz
MzA4YzAxNWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTEwLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdXBwb3J0IE1lZGlhUmVjb3JkZXJPcHRpb25zLm1pbWVUeXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwMTgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzY2NjgxNTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4K
KworICAgICAgICBJbnN0ZWFkIG9mIHNldHRpbmcgbWltZSB0eXBlIHJpZ2h0IGF3YXksIHNldCBp
dCBqdXN0IGJlZm9yZSBmaXJpbmcgc3RhcnQgZXZlbnQgYXMgcGVyIHNwZWMuCisgICAgICAgIFRo
aXMgd2lsbCBhbGxvdyBpbiB0aGUgZnV0dXJlIHRvIHBvcHVsYXRlIGV4YWN0IGNvZGVjIHBhcmFt
ZXRlcnMgaWYgcHJvdmVuIHVzZWZ1bC4KKworICAgICAgICBDb3ZlcmVkIGJ5IHJlYmFzZWQgYW5k
IHVwZGF0ZWQgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlcjo6c3RhcnRSZWNvcmRpbmcpOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdGFydFJlY29yZGluZyk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwu
aDoKKwogMjAyMC0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCBpc1R5cGVTdXBwb3J0ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNTdkNGQ1YTVjNjRlM2Y0NDM1OWE5Nzc4YjBmNzE5N2M1MWE5MWRkOC4uODUzNTg3YzBm
MTc1ZWM5Njg4ZjFlNTdjZWI3NzA4MTRjZDhkN2NmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCBNZWRpYVJlY29yZGVyT3B0aW9ucy5taW1l
VHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MDE4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NjY4MTUwOD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVXBkYXRlIGNvZGUgdG8gcGFzcyBtaW1lVHlw
ZSBhcyBwYXJ0IG9mIHN0YXJ0UmVjb3JkaW5nIGNhbGxiYWNrLgorCisgICAgICAgICogR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVNZWRpYVJlY29yZGVyOjptaW1lVHlwZSBjb25zdCk6CisgICAgICAgICogR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6Y3JlYXRlUmVjb3JkZXIpOgorICAgICAgICAqIEdQ
VVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmg6CisgICAgICAgICog
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW46
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFSZWNvcmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5n
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUu
aDoKKwogMjAyMC0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgc3VwcG9ydCBpc1R5cGVTdXBwb3J0ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LmNwcAppbmRleCBkMjcyOTAwNTJiYTdlYWExZTdhODllOTI3MTk0Y2JjNzUzMWNiNzllLi5mMjJj
OGZhN2U0MGJiMzFjNzI5NmVmYTdmYTc0NDZmNmQ4ZmVhNTEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCkBAIC02
Nyw3ICs2Nyw2IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVJlY29yZGVyPj4gTWVkaWFSZWNvcmRl
cjo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgUmVmPE1lCiAgICAgaWYgKHJlc3VsdC5oYXNF
eGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAK
LSAgICBvcHRpb25zLm1pbWVUeXBlID0gcmVzdWx0LnJldHVyblZhbHVlKCktPm1pbWVUeXBlKCk7
CiAgICAgYXV0byByZWNvcmRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZWNvcmRlcihkb2N1bWVu
dCwgV1RGTW92ZShzdHJlYW0pLCBXVEZNb3ZlKG9wdGlvbnMpKSk7CiAgICAgcmVjb3JkZXItPnN1
c3BlbmRJZk5lZWRlZCgpOwogICAgIHJldHVybiByZWNvcmRlcjsKQEAgLTE2NCwxMyArMTYzLDEz
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IE1lZGlhUmVjb3JkZXI6OnN0YXJ0UmVjb3JkaW5nKE9wdGlv
bmFsPHVuc2lnbmVkPiB0aW1lU2xpY2UpCiAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4
Y2VwdGlvbigpOwogCiAgICAgbV9wcml2YXRlID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgp
OwotICAgIG1fcHJpdmF0ZS0+c3RhcnRSZWNvcmRpbmcoW3RoaXMsIHBlbmRpbmdBY3Rpdml0eSA9
IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpXShhdXRvJiYgZXhjZXB0aW9uKSBtdXRhYmxlIHsK
KyAgICBtX3ByaXZhdGUtPnN0YXJ0UmVjb3JkaW5nKFt0aGlzLCBwZW5kaW5nQWN0aXZpdHkgPSBt
YWtlUGVuZGluZ0FjdGl2aXR5KCp0aGlzKV0oYXV0byYmIG1pbWVUeXBlT3JFeGNlcHRpb24pIG11
dGFibGUgewogICAgICAgICBpZiAoIW1faXNBY3RpdmUpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgaWYgKGV4Y2VwdGlvbikgeworICAgICAgICBpZiAobWltZVR5cGVPckV4Y2VwdGlv
bi5oYXNFeGNlcHRpb24oKSkgewogICAgICAgICAgICAgc3RvcFJlY29yZGluZ0ludGVybmFsKCk7
Ci0gICAgICAgICAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRhc2tTb3Vy
Y2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBleGNlcHRpb24gPSBXVEZNb3ZlKCpleGNlcHRpb24pXSgp
IG11dGFibGUgeworICAgICAgICAgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlz
LCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgZXhjZXB0aW9uID0gbWltZVR5cGVPckV4
Y2VwdGlvbi5yZWxlYXNlRXhjZXB0aW9uKCldKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAg
aWYgKCFtX2lzQWN0aXZlKQogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICAgICAgZGlzcGF0Y2hFcnJvcihXVEZNb3ZlKGV4Y2VwdGlvbikpOwpAQCAtMTc4LDkgKzE3Nywx
MCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBNZWRpYVJlY29yZGVyOjpzdGFydFJlY29yZGluZyhPcHRp
b25hbDx1bnNpZ25lZD4gdGltZVNsaWNlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKLSAgICAgICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNl
OjpOZXR3b3JraW5nLCBbdGhpc10geworICAgICAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxp
dmUoKnRoaXMsIFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBtaW1lVHlwZSA9IG1pbWVU
eXBlT3JFeGNlcHRpb24ucmVsZWFzZVJldHVyblZhbHVlKCldKCkgbXV0YWJsZSB7CiAgICAgICAg
ICAgICBpZiAoIW1faXNBY3RpdmUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgbV9vcHRpb25zLm1pbWVUeXBlID0gV1RGTW92ZShtaW1lVHlwZSk7CiAgICAgICAgICAgICBk
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXJ0RXZlbnQsIEV2ZW50
OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogICAgICAgICB9KTsK
ICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaAppbmRleCBhNjUxMWM1MmM0NGQ2MjJhMGJi
YmVjODcwN2U4ZjBhYzVhMWM2MDc2Li5kODEyYzYzZDBjN2IzY2IyOTYxY2RhZGVmNDUzYzEwNjAx
MGE3ZTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBAIC0yNCwxMSArMjQsMTEgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KLSNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIkV4
Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zLmgiCiAj
aW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9u
SGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogCkBAIC02Miw4ICs2Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3Rv
cFJlY29yZGluZygpID0gMDsKICAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUoKSBj
b25zdCA9IDA7CiAKLSAgICB1c2luZyBFcnJvckNhbGxiYWNrID0gQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPjsKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRSZWNv
cmRpbmcoRXJyb3JDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKHsgfSk7IH0KKyAgICB1
c2luZyBTdGFydFJlY29yZGluZ0NhbGxiYWNrID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeGNl
cHRpb25PcjxTdHJpbmc+JiYpPjsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRSZWNvcmRpbmcoU3Rh
cnRSZWNvcmRpbmdDYWxsYmFjayYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFN0cmluZyhtaW1lVHlw
ZSgpKSk7IH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0QXVkaW9Tb3VyY2UoUmVmUHRyPFJl
YWx0aW1lTWVkaWFTb3VyY2U+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
LmgKaW5kZXggY2I0MDc4OTBmOGVhN2Y2ODYxNGYxYTU5NzcxYWY3M2RmYTFiOGJlYS4uOTExYTNl
N2ZjMTcyZTlmYTAwMmY0NDA4YWQ3YmUwYTg2YWMyMjlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlQVZGSW1wbC5oCkBAIC00Nyw2ICs0Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOwogICAgIHZvaWQgZmV0Y2hE
YXRhKEZldGNoRGF0YUNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZh
aWxhYmxlKGNvbnN0IFdURjo6TWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBj
b25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKKyAgICB2b2lkIHN0
YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmFjaykgZmluYWwgeyBj
YWxsYmFjayhTdHJpbmcobV93cml0ZXItPm1pbWVUeXBlKCkpKTsgfQogICAgIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUoKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgc3RvcFJlY29yZGluZygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVj
b3JkZXIuaAppbmRleCAxYzVmMmI3ZTZlNWY0MDM3ZmRjNTMyMTIyMzRkNzI5MzllMmVlNzIzLi45
YzE1YTNmZTBlNzIyNGRlZDc4ZTk4YzdiN2FmNTliMTlmMTcxZGQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaApAQCAt
NTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVN
ZWRpYVJlY29yZGVyPiBjcmVhdGUoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIE1lZGlhUmVj
b3JkZXJJZGVudGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBib29sIHJlY29yZFZpZGVvLCBjb25z
dCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmKTsKICAgICB+UmVtb3RlTWVk
aWFSZWNvcmRlcigpOwogCisgICAgU3RyaW5nIG1pbWVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV93
cml0ZXItPm1pbWVUeXBlKCk7IH0KICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyLmNwcAppbmRleCBmNDgxNTI1MzgyM2FlNTk1N2I3Mjc5NDBlNzJlNGFhZGZkMjFi
ZjgxLi42OGU2ZWRmM2Q1MmZiYzJlMWFjYTA1NzM1NmY0ZTU5ZTEyNWI3Y2NhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlh
UmVjb3JkZXJNYW5hZ2VyLmNwcApAQCAtNTEsMTUgKzUxLDE1IEBAIHZvaWQgUmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXI6OmRpZFJlY2VpdmVSZW1vdGVNZWRpYVJlY29yZGVyTWVzc2FnZShJUEM6
OkNvbm5lCiAgICAgICAgIHJlY29yZGVyLT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6Y3JlYXRlUmVj
b3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgYm9vbCByZWNvcmRBdWRp
bywgYm9vbCByZWNvcmRWaWRlbywgY29uc3QgTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zJiBv
cHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6
Y3JlYXRlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgYm9vbCBy
ZWNvcmRBdWRpbywgYm9vbCByZWNvcmRWaWRlbywgY29uc3QgTWVkaWFSZWNvcmRlclByaXZhdGVP
cHRpb25zJiBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlv
bkRhdGE+JiYsIFN0cmluZyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQo
IW1fcmVjb3JkZXJzLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKICAgICBhdXRvIHJlY29yZGVyID0g
UmVtb3RlTWVkaWFSZWNvcmRlcjo6Y3JlYXRlKG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vzcywg
aWRlbnRpZmllciwgcmVjb3JkQXVkaW8sIHJlY29yZFZpZGVvLCBvcHRpb25zKTsKICAgICBpZiAo
IXJlY29yZGVyKQotICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoRXhjZXB0aW9uRGF0
YSB7IE5vdFN1cHBvcnRlZEVycm9yLCAiVW5hYmxlIHRvIGNyZWF0ZSBhIHJlY29yZGVyIHdpdGgg
dGhlIHByb3ZpZGVkIHN0cmVhbSJfcyB9KTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5k
bGVyKEV4Y2VwdGlvbkRhdGEgeyBOb3RTdXBwb3J0ZWRFcnJvciwgIlVuYWJsZSB0byBjcmVhdGUg
YSByZWNvcmRlciB3aXRoIHRoZSBwcm92aWRlZCBzdHJlYW0iX3MgfSwgeyB9KTsKIAorICAgIGNv
bXBsZXRpb25IYW5kbGVyKHsgfSwgcmVjb3JkZXItPm1pbWVUeXBlKCkpOwogICAgIG1fcmVjb3Jk
ZXJzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHJlY29yZGVyKSk7Ci0gICAgY29tcGxldGlvbkhh
bmRsZXIoeyB9KTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6cmVsZWFz
ZVJlY29yZGVyKE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyLmgKaW5kZXggNzUzOTBhODVhM2ZhNDBlMjdhNzg0Njc4OTE4ZGM4NTRjZTQxMWM4
Zi4uMGFiZmQ4MDg4OGI3ZmE0NDE0M2ZjZmE3OWE0MjE1ZDJhYzFmZTYwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlck1hbmFnZXIuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8v
IElQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKLSAgICB2b2lkIGNyZWF0ZVJlY29yZGVy
KE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBib29sIHJlY29yZFZp
ZGVvLCBjb25zdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+JiYpPiYmKTsK
KyAgICB2b2lkIGNyZWF0ZVJlY29yZGVyKE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLCBib29sIHJl
Y29yZEF1ZGlvLCBib29sIHJlY29yZFZpZGVvLCBjb25zdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVy
UHJpdmF0ZU9wdGlvbnMmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6
OkV4Y2VwdGlvbkRhdGE+JiYsIFN0cmluZyYmKT4mJik7CiAgICAgdm9pZCByZWxlYXNlUmVjb3Jk
ZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIpOwogCiAgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyYgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ck1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMjU3YmY5NjYzMjc4ODVmZmRjZmZiMGU3M2M2ODFh
ODc5MWFjNmRlNC4uMmViZDg4NjNiNTFhNzUzMmI2YTg2ZWZkNmUxZGZhOGRiNDdmZTM0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3
IEBACiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCiAKIG1lc3NhZ2Vz
IC0+IFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewotICAgIENyZWF0
ZVJlY29yZGVyKFdlYktpdDo6TWVkaWFSZWNvcmRlcklkZW50aWZpZXIgaWQsIGJvb2wgaGFzQXVk
aW8sIGJvb2wgaGFzVmlkZW8sIHN0cnVjdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9w
dGlvbnMgb3B0aW9ucykgLT4gKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IGNyZWF0
aW9uRXJyb3IpIEFzeW5jCisgICAgQ3JlYXRlUmVjb3JkZXIoV2ViS2l0OjpNZWRpYVJlY29yZGVy
SWRlbnRpZmllciBpZCwgYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgc3RydWN0IFdlYkNv
cmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyBvcHRpb25zKSAtPiAoT3B0aW9uYWw8V2Vi
Q29yZTo6RXhjZXB0aW9uRGF0YT4gY3JlYXRpb25FcnJvciwgU3RyaW5nIG1pbWVUeXBlKSBBc3lu
YwogICAgIFJlbGVhc2VSZWNvcmRlcihXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlk
KQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggZjBkZWZkNDRjZjAwM2E0MGNkNmU3
MDdmODMzNjA4NzA1OTI2NzkyOC4uZDQ1ZTg4N2NmMTE5MGE0NDc4MGNkNTNiN2NkYTcwY2M3M2Jj
M2VjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBNZWRpYVJl
Y29yZGVyUHJpdmF0ZTo6TWVkaWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBz
dHJlYW0sIGNvbnN0IE1lZAogewogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdGFy
dFJlY29yZGluZyhFcnJvckNhbGxiYWNrJiYgZXJyb3JDYWxsYmFjaykKK3ZvaWQgTWVkaWFSZWNv
cmRlclByaXZhdGU6OnN0YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxs
YmFjaykKIHsKICAgICAvLyBGSVhNRTogd2Ugd2lsbCBuZWVkIHRvIGltcGxlbWVudCBzdXBwb3J0
IGZvciBtdWx0aXBsZSBhdWRpby92aWRlbyB0cmFja3MKICAgICAvLyBDdXJyZW50bHkgd2Ugb25s
eSBjaG9vc2UgdGhlIGZpcnN0IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0cmFjay4KQEAgLTYxLDIw
ICs2MSwyMCBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzdGFydFJlY29yZGluZyhFcnJv
ckNhbGxiYWNrJiYgZXJyb3JDYWxsYmFjaykKICAgICBpZiAoc2VsZWN0ZWRUcmFja3MuYXVkaW9U
cmFjaykKICAgICAgICAgbV9yaW5nQnVmZmVyID0gbWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1h
a2VVbmlxdWVSZWY8U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U+KHRoaXMpKTsKIAotICAgIG1fY29u
bmVjdGlvbi0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29yZGVy
TWFuYWdlcjo6Q3JlYXRlUmVjb3JkZXIgeyBtX2lkZW50aWZpZXIsICEhc2VsZWN0ZWRUcmFja3Mu
YXVkaW9UcmFjaywgISFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrLCBtX29wdGlvbnMgfSwgW3Ro
aXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyksIGF1ZGlvVHJhY2sgPSBtYWtlUmVmUHRy
KHNlbGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2spLCB2aWRlb1RyYWNrID0gbWFrZVJlZlB0cihzZWxl
Y3RlZFRyYWNrcy52aWRlb1RyYWNrKSwgZXJyb3JDYWxsYmFjayA9IFdURk1vdmUoZXJyb3JDYWxs
YmFjayldKGF1dG8mJiBleGNlcHRpb24pIG11dGFibGUgeworICAgIG1fY29ubmVjdGlvbi0+c2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6Q3Jl
YXRlUmVjb3JkZXIgeyBtX2lkZW50aWZpZXIsICEhc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjaywg
ISFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrLCBtX29wdGlvbnMgfSwgW3RoaXMsIHdlYWtUaGlz
ID0gbWFrZVdlYWtQdHIodGhpcyksIGF1ZGlvVHJhY2sgPSBtYWtlUmVmUHRyKHNlbGVjdGVkVHJh
Y2tzLmF1ZGlvVHJhY2spLCB2aWRlb1RyYWNrID0gbWFrZVJlZlB0cihzZWxlY3RlZFRyYWNrcy52
aWRlb1RyYWNrKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oYXV0byYmIGV4Y2VwdGlv
biwgU3RyaW5nJiYgbWltZVR5cGUpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzKSB7
Ci0gICAgICAgICAgICBlcnJvckNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICBjYWxsYmFjayhF
eGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBpZiAoZXhjZXB0aW9uKSB7Ci0gICAgICAgICAgICBlcnJvckNhbGxi
YWNrKEV4Y2VwdGlvbiB7IGV4Y2VwdGlvbi0+Y29kZSwgV1RGTW92ZShleGNlcHRpb24tPm1lc3Nh
Z2UpIH0pOworICAgICAgICAgICAgY2FsbGJhY2soRXhjZXB0aW9uIHsgZXhjZXB0aW9uLT5jb2Rl
LCBXVEZNb3ZlKGV4Y2VwdGlvbi0+bWVzc2FnZSkgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKGF1ZGlvVHJhY2spCiAgICAgICAgICAgICBzZXRBdWRpb1Nv
dXJjZSgmYXVkaW9UcmFjay0+c291cmNlKCkpOwogICAgICAgICBpZiAodmlkZW9UcmFjaykKICAg
ICAgICAgICAgIHNldFZpZGVvU291cmNlKCZ2aWRlb1RyYWNrLT5zb3VyY2UoKSk7Ci0gICAgICAg
IGVycm9yQ2FsbGJhY2soeyB9KTsKKyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShtaW1lVHlwZSkp
OwogICAgIH0sIDApOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAppbmRleCA1Mzg5NGExMGUwZmM4
YjkxZDAyMzk0MjE2MDFkNjNlNzkxMDA1YzY1Li41N2JiZWQzOTBkMGU2NDUwYjk3MjUwNmRiODEz
N2E4NzJkNDBhNmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxl
JikgZmluYWw7CiAgICAgdm9pZCBmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQ
dHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKT4mJikg
ZmluYWw7CiAgICAgdm9pZCBzdG9wUmVjb3JkaW5nKCkgZmluYWw7Ci0gICAgdm9pZCBzdGFydFJl
Y29yZGluZyhFcnJvckNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgc3RhcnRSZWNvcmRpbmco
U3RhcnRSZWNvcmRpbmdDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2
YWlsYWJsZShjb25zdCBXVEY6Ok1lZGlhVGltZSYsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtQXVk
aW9EYXRhJiwgY29uc3QgV2ViQ29yZTo6QXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkg
ZmluYWw7CiAgICAgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGNvbnN0IGZpbmFsOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNTEyMzQ3MDkzMWY1M2JjMmYzYTg2YzNmMjRjYTFkMjhhOGUzNDU2ZC4uYTI5OWIzYzlhZWRj
OTlmYjViZTZkNGMyYWEwN2EzODM0ZmQwMTQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIw
LTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRp
YVJlY29yZGVyIHNob3VsZCBzdXBwb3J0IE1lZGlhUmVjb3JkZXJPcHRpb25zLm1pbWVUeXBlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUwMTgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY2NjgxNTA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgQ2FybHNvbi4KKworICAgICAgICBVcGRhdGUgdGVzdCB0byBleHBlY3Qgc2V0dGluZyBvZiB0
aGUgbWltZSB0eXBlIGFmdGVyIHN0YXJ0IGV2ZW50LgorCisgICAgICAgICogaHR0cC93cHQvbWVk
aWFyZWNvcmRlci9taW1lVHlwZS5odG1sOgorCiAyMDIwLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29yZGVyIHNob3VsZCBzdXBwb3J0
IGlzVHlwZVN1cHBvcnRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZjA2ZDhk
YWFiN2QzZDE3YzJlNmNmOTgwZjgzNGMwOTQ5ZThhZDlhZi4uMmMwODZmYTRmNWZiZmQ3NzM3Mzlh
OWE3YTVmZTUwNTg1NjIwMDY4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjAtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgTWVkaWFSZWNvcmRlck9w
dGlvbnMubWltZVR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTAxOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjY2ODE1MDg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS1leHBlY3RlZC50
eHQ6CisKIDIwMjAtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1lZGlhUmVjb3JkZXIgc2hvdWxkIHN1cHBvcnQgaXNUeXBlU3VwcG9ydGVkCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL21pbWVUeXBlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL21pbWVUeXBlLmh0bWwKaW5kZXgg
NDdmZmEzMjY4YmQ0NmNmZWFlNzc2YzY2NDFhOGYwZmQ5Y2YzMDEyYS4uMTc5NzM0ZWEyZWQwMDU5
MWVlNDRkMjI0ZTY1ZTI5OTk5ZDhhMWUzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvbWVkaWFyZWNvcmRlci9taW1lVHlwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L21lZGlhcmVjb3JkZXIvbWltZVR5cGUuaHRtbApAQCAtMzAsMTIgKzMwLDIxIEBAIHByb21pc2Vf
dGVzdChhc3luYyAoKSA9PiB7CiAgICAgY29uc3QgbWVkaWFTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlLCB2aWRlbzogdHJ1ZSB9
KTsKIAogICAgIGxldCByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKG1lZGlhU3RyZWFtKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAidmlkZW8vbXA0Iik7CisgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgIiIpOworICAgIHJlY29yZGVyLnN0YXJ0
KCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0YXJ0ID0g
cmVzb2x2ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgInZpZGVvL21w
NCIsICJ0ZXN0IDEgbWltZSB0eXBlIik7CiAKICAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29y
ZGVyKG5ldyBNZWRpYVN0cmVhbShbbWVkaWFTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXV0pKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAidmlkZW8vbXA0Iik7CisgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgIiIpOworICAgIHJlY29yZGVyLnN0YXJ0
KCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZWNvcmRlci5vbnN0YXJ0ID0g
cmVzb2x2ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5taW1lVHlwZSwgInZpZGVvL21w
NCIsICJ0ZXN0IDIgbWltZSB0eXBlIik7CiAKICAgICByZWNvcmRlciA9IG5ldyBNZWRpYVJlY29y
ZGVyKG5ldyBNZWRpYVN0cmVhbShbbWVkaWFTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXV0pKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAiIik7CisgICAgcmVjb3JkZXIu
c3RhcnQoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlY29yZGVyLm9uc3Rh
cnQgPSByZXNvbHZlKTsKICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLm1pbWVUeXBlLCAiYXVk
aW8vbXA0Iik7CiB9LCAiTWVkaWFSZWNvcmRlciBtaW1lVHlwZSIpOwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNv
cmQvTWVkaWFSZWNvcmRlci1taW1ldHlwZS1leHBlY3RlZC50eHQKaW5kZXggMzViNTg1NjRjNTE4
OTU5MTZjYmFiMzI5YTdlNGI0Y2IwMjE2ZDAwYS4uOTgwM2Y3YTE3Yjc0ZmZlZWY5YmJkY2ZjYTk5
MDUyNWMwYWRlNWJmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItbWltZXR5cGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLW1pbWV0eXBlLWV4cGVjdGVk
LnR4dApAQCAtMSwxMyArMSwxMyBAQAogCi1GQUlMIE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZh
dWx0IG1pbWVUeXBlIGluIHRoZSBjb25zdHJ1Y3RvciBmb3IgYXVkaW8gYXNzZXJ0X2VxdWFsczog
TWVkaWFSZWNvcmRlciBoYXMgbm8gZGVmYXVsdCBtaW1lVHlwZSBleHBlY3RlZCAiIiBidXQgZ290
ICJhdWRpby9tcDQiCi1GQUlMIE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZhdWx0IG1pbWVUeXBl
IGluIHRoZSBjb25zdHJ1Y3RvciBmb3IgdmlkZW8gYXNzZXJ0X2VxdWFsczogTWVkaWFSZWNvcmRl
ciBoYXMgbm8gZGVmYXVsdCBtaW1lVHlwZSBleHBlY3RlZCAiIiBidXQgZ290ICJ2aWRlby9tcDQi
Ci1GQUlMIE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZhdWx0IG1pbWVUeXBlIGluIHRoZSBjb25z
dHJ1Y3RvciBmb3IgYXVkaW8vdmlkZW8gYXNzZXJ0X2VxdWFsczogTWVkaWFSZWNvcmRlciBoYXMg
bm8gZGVmYXVsdCBtaW1lVHlwZSBleHBlY3RlZCAiIiBidXQgZ290ICJ2aWRlby9tcDQiCitQQVNT
IE1lZGlhUmVjb3JkZXIgc2V0cyBubyBkZWZhdWx0IG1pbWVUeXBlIGluIHRoZSBjb25zdHJ1Y3Rv
ciBmb3IgYXVkaW8KK1BBU1MgTWVkaWFSZWNvcmRlciBzZXRzIG5vIGRlZmF1bHQgbWltZVR5cGUg
aW4gdGhlIGNvbnN0cnVjdG9yIGZvciB2aWRlbworUEFTUyBNZWRpYVJlY29yZGVyIHNldHMgbm8g
ZGVmYXVsdCBtaW1lVHlwZSBpbiB0aGUgY29uc3RydWN0b3IgZm9yIGF1ZGlvL3ZpZGVvCiBQQVNT
IE1lZGlhUmVjb3JkZXIgaW52YWxpZCBhdWRpbyBtaW1lVHlwZSB0aHJvd3MKIFBBU1MgTWVkaWFS
ZWNvcmRlciBpbnZhbGlkIGF1ZGlvIG1pbWVUeXBlIGlzIHVuc3VwcG9ydGVkCiBQQVNTIE1lZGlh
UmVjb3JkZXIgaW52YWxpZCB2aWRlbyBtaW1lVHlwZSB0aHJvd3MKIFBBU1MgTWVkaWFSZWNvcmRl
ciBpbnZhbGlkIHZpZGVvIG1pbWVUeXBlIGlzIHVuc3VwcG9ydGVkCiBQQVNTIFN1cHBvcnRlZCBt
aW1lVHlwZSBhdWRpby9tcDQgaXMgc2V0IGltbWVkaWF0ZWx5IGFmdGVyIGNvbnN0cnVjdGluZwot
RkFJTCBTdXBwb3J0ZWQgbWltZVR5cGUgdmlkZW8vbXA0IGlzIHNldCBpbW1lZGlhdGVseSBhZnRl
ciBjb25zdHJ1Y3RpbmcgYXNzZXJ0X2VxdWFsczogU3VwcG9ydGVkIG1pbWVUeXBlIGlzIHNldCBl
eHBlY3RlZCAidmlkZW8vbXA0IiBidXQgZ290ICJhdWRpby9tcDQiCitQQVNTIFN1cHBvcnRlZCBt
aW1lVHlwZSB2aWRlby9tcDQgaXMgc2V0IGltbWVkaWF0ZWx5IGFmdGVyIGNvbnN0cnVjdGluZwog
UEFTUyBVbnN1cHBvcnRlZCBtaW1lVHlwZSBhdWRpby9vZ2cgdGhyb3dzCiBQQVNTIFVuc3VwcG9y
dGVkIG1pbWVUeXBlIGF1ZGlvL29nZzsgY29kZWNzPSJ2b3JiaXMiIHRocm93cwogUEFTUyBVbnN1
cHBvcnRlZCBtaW1lVHlwZSBhdWRpby9vZ2c7IGNvZGVjcz0ib3B1cyIgdGhyb3dzCkBAIC0yNiw5
ICsyNiw5IEBAIFBBU1MgVW5zdXBwb3J0ZWQgbWltZVR5cGUgdmlkZW8vd2VibTsgY29kZWNzPSJh
djEsIG9wdXMiIHRocm93cwogUEFTUyBNZWRpYVJlY29yZGVyIHNldHMgYSBub25lbXB0eSBtaW1l
VHlwZSBvbiAnb25zdGFydCcgZm9yIGF1ZGlvCiBQQVNTIE1lZGlhUmVjb3JkZXIgc2V0cyBhIG5v
bmVtcHR5IG1pbWVUeXBlIG9uICdvbnN0YXJ0JyBmb3IgdmlkZW8KIFBBU1MgTWVkaWFSZWNvcmRl
ciBzZXRzIGEgbm9uZW1wdHkgbWltZVR5cGUgb24gJ29uc3RhcnQnIGZvciBhdWRpby92aWRlbwot
RkFJTCBNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0YXJ0JyBm
b3IgYXVkaW8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAiYXVkaW8vbXA0Igot
RkFJTCBNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0YXJ0JyBm
b3IgdmlkZW8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidmlkZW8vbXA0Igot
RkFJTCBNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0YXJ0JyBm
b3IgYXVkaW8vdmlkZW8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIiIgYnV0IGdvdCAidmlkZW8v
bXA0IgorUEFTUyBNZWRpYVJlY29yZGVyIG1pbWVUeXBlIGlzIG5vdCBzZXQgYmVmb3JlICdvbnN0
YXJ0JyBmb3IgYXVkaW8KK1BBU1MgTWVkaWFSZWNvcmRlciBtaW1lVHlwZSBpcyBub3Qgc2V0IGJl
Zm9yZSAnb25zdGFydCcgZm9yIHZpZGVvCitQQVNTIE1lZGlhUmVjb3JkZXIgbWltZVR5cGUgaXMg
bm90IHNldCBiZWZvcmUgJ29uc3RhcnQnIGZvciBhdWRpby92aWRlbwogUEFTUyBNZWRpYVJlY29y
ZGVyIGRvZXNuJ3QgZmlyZSAnb25zdGFydCcgbXVsdGlwbGUgdGltZXMgZm9yIGF1ZGlvCiBQQVNT
IE1lZGlhUmVjb3JkZXIgZG9lc24ndCBmaXJlICdvbnN0YXJ0JyBtdWx0aXBsZSB0aW1lcyBmb3Ig
dmlkZW8KIFBBU1MgTWVkaWFSZWNvcmRlciBkb2Vzbid0IGZpcmUgJ29uc3RhcnQnIG11bHRpcGxl
IHRpbWVzIGZvciBhdWRpby92aWRlbwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>