<?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>218206</bug_id>
          
          <creation_ts>2020-10-26 14:07:52 -0700</creation_ts>
          <short_desc>[Mac] Audio and Video element creation up to 300x slower than other browsers</short_desc>
          <delta_ts>2020-10-27 15:21:34 -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>New Bugs</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1701613</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-10-26 14:07:52 -0700</bug_when>
    <thetext>[Mac] Audio and Video element creation up to 300x slower than other browsers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701614</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-10-26 14:08:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/62451019&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701618</commentid>
    <comment_count>2</comment_count>
      <attachid>412353</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-10-26 14:17:18 -0700</bug_when>
    <thetext>Created attachment 412353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701629</commentid>
    <comment_count>3</comment_count>
      <attachid>412353</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-10-26 14:30:34 -0700</bug_when>
    <thetext>Comment on attachment 412353
Patch

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

&gt; Source/WebCore/platform/audio/mac/AudioSessionMac.mm:104
&gt; +    bool hasSampleRateObserver { false };
&gt; +    Optional&lt;double&gt; sampleRate;
&gt; +    bool hasBufferSizeObserver { false };
&gt; +    Optional&lt;size_t&gt; bufferSize;

Nit: the object would be slightly smaller if the `Optional&lt;size_t&gt;` were declared above the bools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701639</commentid>
    <comment_count>4</comment_count>
      <attachid>412353</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-10-26 14:38:51 -0700</bug_when>
    <thetext>Comment on attachment 412353
Patch

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

&gt; Source/WebCore/platform/audio/mac/AudioSessionMac.mm:128
&gt; +    if (result)

Nit. Probably &quot;if (result != noErr)&quot; is better?

&gt; Source/WebCore/platform/audio/mac/AudioSessionMac.mm:409
&gt; +    if (!result)

Nit. Probably &quot;if (result == noErr)&quot; is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701934</commentid>
    <comment_count>5</comment_count>
      <attachid>412437</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-10-27 10:03:16 -0700</bug_when>
    <thetext>Created attachment 412437
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702125</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-27 15:21:33 -0700</bug_when>
    <thetext>Committed r269077: &lt;https://trac.webkit.org/changeset/269077&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412437.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412353</attachid>
            <date>2020-10-26 14:17:18 -0700</date>
            <delta_ts>2020-10-26 14:41:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218206-20201026141717.patch</filename>
            <type>text/plain</type>
            <size>16377</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk5YTA5NDI2NmZjYzAy
NDI2Mzk0Mjk0Nzk0ODU3YjRlMmU3MTRiMC4uOTBjNmNkYzk4MWM3M2YzYjBkYzYyNDZkNmFiOTRk
MjIwNzA3ZDIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTEwLTI2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEF1ZGlvIGFuZCBW
aWRlbyBlbGVtZW50IGNyZWF0aW9uIHVwIHRvIDMwMHggc2xvd2VyIHRoYW4gb3RoZXIgYnJvd3Nl
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODIw
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjI0NTEwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IFBlcmZvcm1hbmNlVGVzdHMvTWVk
aWEvQXVkaW9FbGVtZW50Q3JlYXRpb24uaHRtbAorICAgICAgICAgICAgICAgUGVyZm9ybWFuY2VU
ZXN0cy9NZWRpYS9WaWRlb0VsZW1lbnRDcmVhdGlvbi5odG1sCisKKyAgICAgICAgQ3VycmVudGx5
LCBhIGxhcmdlIHBlcmNlbnQgb2YgdGhlIGVsZW1lbnQgY3JlYXRpb24gY29kZSBvY2N1cnJzIGFz
IGEgcmVzdWx0IG9mIGFkZGluZyBpdHMKKyAgICAgICAgc2Vzc2lvbiB0byBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIsIHdoaWNoIGZvcmNlcyBpdGVyYXRpbmcgb3ZlciBhbGwgZXh0YW50IHNl
c3Npb25zIGFuZAorICAgICAgICB0aGVuIHRvIHNldCB2YXJpb3VzIHByb3BlcnRpZXMgb2YgdGhl
IGF1ZGlvIGhhcmR3YXJlIGluIHJlc3BvbnNlLiBUaGlzIHBhdGNoIGFkZHJlc3NlcyB0aGUKKyAg
ICAgICAgYnVsayBvZiB0aG9zZSBleHBlbnNpdmUgY2FsbHMsIGJ1dCBtb3JlIHBlcmZvcm1hbmNl
IG9wdGltaXphdGlvbnMgYXJlIGF2YWlsYWJsZSB0byBmdXJ0aGVyCisgICAgICAgIHJlZHVjZSBt
ZWRpYSBlbGVtZW50IGNyZWF0aW9uIGNvc3RzLgorCisgICAgICAgIFdoZW4gYW4gPGF1ZGlvPiBl
bGVtZW50IGlzIGNyZWF0ZWQsIHdlIHNldCB0aGUgcHJlZmVycmVkIGF1ZGlvIG91dHB1dCBidWZm
ZXIgc2l6ZSB0byBhIGxhcmdlCisgICAgICAgIHZhbHVlIGZvciBwZXJmb3JtYW5jZSByZWFzb25z
LiBIb3dldmVyLCB0aGVyZSdzIG5vIG5lZWQgdG8gcmVwZWF0ZWRseSBjYWxsIGludG8gQ29yZUF1
ZGlvIGlmCisgICAgICAgIHRoZSBidWZmZXIgc2l6ZSBpcyBhbHJlYWR5IHNldCB0byB0aGF0IHNh
bWUgaGlnaCB2YWx1ZS4gU3RvcmUgdGhlIHJlc3VsdCBvZiBzZXR0aW5nIHRoZQorICAgICAgICBw
cmVmZXJyZWQgYnVmZmVyIHNpemUsIGFuZCBhbHNvIGFkZCBhIHByb3BlcnR5IGNoYW5nZSBsaXN0
ZW5lciB0byBkZXRlY3Qgb3RoZXIgY2FsbGVycworICAgICAgICBtb2RpZnlpbmcgdGhhdCBzYW1l
IHZhbHVlLCBzbyB0aGF0IGFsbCBzZXQgb3BlcmF0aW9ucyB3aXRoIGlkZW50aWNhbCBzaXplcyBi
ZWNvbWUgbm8tb3BzLAorICAgICAgICBhbmQgYWxsIHF1ZXJpZXMganVzdCByZXR1cm4gY2FjaGVk
IHZhbHVlcy4KKworICAgICAgICBXaGVuIGFueSBtZWRpYSBlbGVtZW50IGlzIGNyZWF0ZWQsIHRo
ZSBlbnRpcmUgbGlzdCBvZiBleHRhbnQgc2Vzc2lvbnMgaXMgaXRlcmF0ZWQgYW5kCisgICAgICAg
IHByb3BlcnRpZXMgb24gZWFjaCBhcmUgcXVlcmllZC4gUmF0aGVyIHRoYW4gZG8gdGhlc2UgaW5z
aWRlIHRoZSBzYW1lIHJ1bi1sb29wLCB1c2UgYQorICAgICAgICBUYXNrUXVldWUgdG8gZW5xdWV1
ZSBhIHRhc2sgdG8gcXVlcnkgdGhlIGxpc3Qgb2YgY3JlYXRlZCBlbGVtZW50cyBkdXJpbmcgdGhl
IG5leHQgcnVuLWxvb3AuCisKKyAgICAgICAgQmV0d2VlbiB0aGVzZSB0d28gb3B0aW1pemF0aW9u
LCB0aGUgcnVudGltZSBjb3N0IG9mIGNyZWF0aW5nIDEwMDAgYXVkaW8gZWxlbWVudHMgaXMgcmVk
dWNlZAorICAgICAgICAob24gdGhpcyBlbmdpbmVlcidzIG1hY2hpbmUpIGZyb20gMnMgdG8gNDBt
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmJl
Z2luSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlcjo6YWRkU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnJlbW92ZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Zm9yRWFjaERvY3VtZW50U2Vzc2lvbik6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hT
ZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
YW55T2ZTZXNzaW9ucyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlv
U2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblByaXZhdGU6OmFk
ZFNhbXBsZVJhdGVPYnNlcnZlcklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vz
c2lvblByaXZhdGU6OmhhbmRsZVNhbXBsZVJhdGVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9TZXNzaW9uUHJpdmF0ZTo6YWRkQnVmZmVyU2l6ZU9ic2VydmVySWZOZWVkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uUHJpdmF0ZTo6aGFuZGxlQnVmZmVyU2l6ZUNoYW5n
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OnNhbXBsZVJhdGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpidWZmZXJTaXplIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6cHJlZmVycmVkQnVmZmVyU2l6ZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OnNldFByZWZlcnJlZEJ1ZmZlclNpemUpOgor
CiAyMDIwLTEwLTI0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAg
IFtCaWdTdXJdIEFwcGVuZGluZyBhIG5ldyBXZWJNIGluaXQgc2VnbWVudCBiZXR3ZWVuIENsdXN0
ZXIgZWxlbWVudHMgdGhyb3dzIGFuIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRl
eCBlZDQ4NzI1NTE5YzI3NjhlZDA2M2I3Y2IxOGJmMTVjYjhhYTkyZTRiLi4xNzVhYWZlNjRlYWEy
NjdiOGEzMjZmMGM2MWUyMDM3OGFjNjMwOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAK
QEAgLTEzOSw3ICsxMzksNyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YmVn
aW5JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycgogICAgIGZvckVhY2hT
ZXNzaW9uKFt0eXBlXSAoYXV0byYgc2Vzc2lvbikgewogICAgICAgICBzZXNzaW9uLmJlZ2luSW50
ZXJydXB0aW9uKHR5cGUpOwogICAgIH0pOwotICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOworICAg
IHNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0YXRlKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjplbmRJbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZElu
dGVycnVwdGlvbkZsYWdzIGZsYWdzKQpAQCAtMTYzLDcgKzE2Myw3IEBAIHZvaWQgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjphZGRTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNz
aW9uKQogICAgIG1fbG9nZ2VyLT5hZGRMb2dnZXIoc2Vzc2lvbi5sb2dnZXIoKSk7CiAjZW5kaWYK
IAotICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOworICAgIHNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0
YXRlKCk7CiB9CiAKIGJvb2wgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpoYXNOb1Nlc3Np
b24oKSBjb25zdApAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpyZW1vdmVTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQogICAg
IG1fbG9nZ2VyLT5yZW1vdmVMb2dnZXIoc2Vzc2lvbi5sb2dnZXIoKSk7CiAjZW5kaWYKIAotICAg
IHVwZGF0ZVNlc3Npb25TdGF0ZSgpOworICAgIHNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0YXRlKCk7
CiB9CiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjphZGRSZXN0cmljdGlvbihQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIHR5cGUsIFNlc3Npb25SZXN0cmljdGlvbnMg
cmVzdHJpY3Rpb24pCkBAIC0yODEsNyArMjgxLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnNlc3Npb25XaWxsRW5kUGxheWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mIHMK
IAogdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNlc3Npb25TdGF0ZUNoYW5nZWQo
UGxhdGZvcm1NZWRpYVNlc3Npb24mKQogewotICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOworICAg
IHNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0YXRlKCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzZXRDdXJyZW50U2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2Vz
c2lvbikKQEAgLTU2MSw3ICs1NjEsNyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6YWRkQXVkaW9DYXB0dXJlU291cmNlKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpBdQogewogICAg
IEFTU0VSVCghbV9hdWRpb0NhcHR1cmVTb3VyY2VzLmNvbnRhaW5zKHNvdXJjZSkpOwogICAgIG1f
YXVkaW9DYXB0dXJlU291cmNlcy5hZGQoc291cmNlKTsKLSAgICB1cGRhdGVTZXNzaW9uU3RhdGUo
KTsKKyAgICBzY2hlZHVsZVVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogfQogCiAKQEAgLTU2OSw3ICs1
NjksMTcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnJlbW92ZUF1ZGlvQ2Fw
dHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjoKIHsKICAgICBBU1NFUlQobV9hdWRpb0Nh
cHR1cmVTb3VyY2VzLmNvbnRhaW5zKHNvdXJjZSkpOwogICAgIG1fYXVkaW9DYXB0dXJlU291cmNl
cy5yZW1vdmUoc291cmNlKTsKLSAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKKyAgICBzY2hlZHVs
ZVVwZGF0ZVNlc3Npb25TdGF0ZSgpOworfQorCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6c2NoZWR1bGVVcGRhdGVTZXNzaW9uU3RhdGUoKQoreworICAgIGlmICh1cGRhdGVTZXNz
aW9uU3RhdGVRdWV1ZS5oYXNQZW5kaW5nVGFza3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
dXBkYXRlU2Vzc2lvblN0YXRlUXVldWUuZW5xdWV1ZVRhc2soW3RoaXNdIHsKKyAgICAgICAgdXBk
YXRlU2Vzc2lvblN0YXRlKCk7CisgICAgfSk7CiB9CiAKICNpZiBVU0UoQVVESU9fU0VTU0lPTikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggMWU2N2Y4ZTkwNjQwZjZmNmQ3M2NiNmE1MjJhZGQ5
NWQwMGE1OTBjZi4uNzc0Y2IxY2EyNTQzMmU0NjRkYmZlMTk5NTM0YjViZWZjMGQzYTYxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50SWRlbnRpZmllci5oIgor
I2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25JZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKICNpbmNsdWRlICJU
aW1lci5oIgpAQCAtMTc5LDYgKzE4MCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgZnJp
ZW5kIGNsYXNzIEludGVybmFsczsKIAorICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVTZXNzaW9uU3Rh
dGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU2Vzc2lvblN0YXRlKCkgeyB9CiAKICAgICBW
ZWN0b3I8V2Vha1B0cjxQbGF0Zm9ybU1lZGlhU2Vzc2lvbj4+IHNlc3Npb25zTWF0Y2hpbmcoY29u
c3QgRnVuY3Rpb248Ym9vbChjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpPiYpIGNvbnN0OwpA
QCAtMTk3LDYgKzE5OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFdlYWtIYXNoU2V0PFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpBdWRpb0NhcHR1cmVTb3VyY2U+IG1fYXVkaW9DYXB0dXJlU291
cmNlczsKKyAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiB1cGRhdGVTZXNzaW9uU3RhdGVRdWV1
ZTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIFJlZjxBZ2dyZWdhdGVMb2dnZXI+
IG1fbG9nZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFj
L0F1ZGlvU2Vzc2lvbk1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9B
dWRpb1Nlc3Npb25NYWMubW0KaW5kZXggZDA2ZGIwODRlOTgzNTJlZTc0NmE0ODY5YzYyYTM5MDgz
ZWY1ZWM1OC4uYTZhMTYwOTk3Nzk5ZWU1ZTIwNWU3NWYxZjNhMGIyZGIzZWE4MmEwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFj
Lm1tCkBAIC04MSw2ICs4MSwxMyBAQCBjbGFzcyBBdWRpb1Nlc3Npb25Qcml2YXRlIHsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBBdWRpb1Nlc3Np
b25Qcml2YXRlKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBhZGRTYW1wbGVSYXRlT2JzZXJ2ZXJJ
Zk5lZWRlZCgpOworICAgIHZvaWQgYWRkQnVmZmVyU2l6ZU9ic2VydmVySWZOZWVkZWQoKTsKKwor
ICAgIHN0YXRpYyBPU1N0YXR1cyBoYW5kbGVTYW1wbGVSYXRlQ2hhbmdlKEF1ZGlvT2JqZWN0SUQs
IFVJbnQzMiwgY29uc3QgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MqLCB2b2lkKiBpbkNsaWVu
dERhdGEpOworICAgIHN0YXRpYyBPU1N0YXR1cyBoYW5kbGVCdWZmZXJTaXplQ2hhbmdlKEF1ZGlv
T2JqZWN0SUQsIFVJbnQzMiwgY29uc3QgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MqLCB2b2lk
KiBpbkNsaWVudERhdGEpOworCiAgICAgT3B0aW9uYWw8Ym9vbD4gbGFzdE11dGVkU3RhdGU7CiAg
ICAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnkgeyBBdWRpb1Nlc3Npb246Ok5v
bmUgfTsKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKQEAgLTkxLDggKzk4LDY3IEBA
IHB1YmxpYzoKICNlbmRpZgogICAgIEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIG1fY2F0ZWdv
cnlPdmVycmlkZTsKICAgICBib29sIGluUm91dGluZ0FyYml0cmF0aW9uIHsgZmFsc2UgfTsKKyAg
ICBib29sIGhhc1NhbXBsZVJhdGVPYnNlcnZlciB7IGZhbHNlIH07CisgICAgT3B0aW9uYWw8ZG91
YmxlPiBzYW1wbGVSYXRlOworICAgIGJvb2wgaGFzQnVmZmVyU2l6ZU9ic2VydmVyIHsgZmFsc2Ug
fTsKKyAgICBPcHRpb25hbDxzaXplX3Q+IGJ1ZmZlclNpemU7CiB9OwogCit2b2lkIEF1ZGlvU2Vz
c2lvblByaXZhdGU6OmFkZFNhbXBsZVJhdGVPYnNlcnZlcklmTmVlZGVkKCkKK3sKKyAgICBpZiAo
aGFzU2FtcGxlUmF0ZU9ic2VydmVyKQorICAgICAgICByZXR1cm47CisgICAgaGFzU2FtcGxlUmF0
ZU9ic2VydmVyID0gdHJ1ZTsKKworICAgIEF1ZGlvT2JqZWN0UHJvcGVydHlBZGRyZXNzIG5vbWlu
YWxTYW1wbGVSYXRlQWRkcmVzcyA9IHsga0F1ZGlvRGV2aWNlUHJvcGVydHlOb21pbmFsU2FtcGxl
UmF0ZSwga0F1ZGlvT2JqZWN0UHJvcGVydHlTY29wZUdsb2JhbCwga0F1ZGlvT2JqZWN0UHJvcGVy
dHlFbGVtZW50TWFzdGVyIH07CisgICAgQXVkaW9PYmplY3RBZGRQcm9wZXJ0eUxpc3RlbmVyKGRl
ZmF1bHREZXZpY2UoKSwgJm5vbWluYWxTYW1wbGVSYXRlQWRkcmVzcywgaGFuZGxlU2FtcGxlUmF0
ZUNoYW5nZSwgdGhpcyk7Cit9CisKK09TU3RhdHVzIEF1ZGlvU2Vzc2lvblByaXZhdGU6OmhhbmRs
ZVNhbXBsZVJhdGVDaGFuZ2UoQXVkaW9PYmplY3RJRCBkZXZpY2UsIFVJbnQzMiwgY29uc3QgQXVk
aW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MqIHNhbXBsZVJhdGVBZGRyZXNzLCB2b2lkKiBpbkNsaWVu
dERhdGEpCit7CisgICAgQVNTRVJUKGluQ2xpZW50RGF0YSk7CisgICAgaWYgKCFpbkNsaWVudERh
dGEpCisgICAgICAgIHJldHVybiBub0VycjsKKworICAgIGF1dG8qIHNlc3Npb25Qcml2YXRlID0g
c3RhdGljX2Nhc3Q8QXVkaW9TZXNzaW9uUHJpdmF0ZSo+KGluQ2xpZW50RGF0YSk7CisKKyAgICBG
bG9hdDY0IG5vbWluYWxTYW1wbGVSYXRlOworICAgIFVJbnQzMiBub21pbmFsU2FtcGxlUmF0ZVNp
emUgPSBzaXplb2YoRmxvYXQ2NCk7CisgICAgT1NTdGF0dXMgcmVzdWx0ID0gQXVkaW9PYmplY3RH
ZXRQcm9wZXJ0eURhdGEoZGV2aWNlLCBzYW1wbGVSYXRlQWRkcmVzcywgMCwgMCwgJm5vbWluYWxT
YW1wbGVSYXRlU2l6ZSwgKHZvaWQqKSZub21pbmFsU2FtcGxlUmF0ZSk7CisgICAgaWYgKHJlc3Vs
dCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHNlc3Npb25Qcml2YXRlLT5zYW1wbGVS
YXRlID0gbmFycm93UHJlY2lzaW9uVG9GbG9hdChub21pbmFsU2FtcGxlUmF0ZSk7CisgICAgcmV0
dXJuIG5vRXJyOworfQorCit2b2lkIEF1ZGlvU2Vzc2lvblByaXZhdGU6OmFkZEJ1ZmZlclNpemVP
YnNlcnZlcklmTmVlZGVkKCkKK3sKKyAgICBpZiAoaGFzQnVmZmVyU2l6ZU9ic2VydmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBBdWRpb09iamVjdFByb3BlcnR5QWRkcmVzcyBidWZmZXJTaXpl
QWRkcmVzcyA9IHsga0F1ZGlvRGV2aWNlUHJvcGVydHlCdWZmZXJGcmFtZVNpemUsIGtBdWRpb09i
amVjdFByb3BlcnR5U2NvcGVHbG9iYWwsIGtBdWRpb09iamVjdFByb3BlcnR5RWxlbWVudE1hc3Rl
ciB9OworICAgIEF1ZGlvT2JqZWN0QWRkUHJvcGVydHlMaXN0ZW5lcihkZWZhdWx0RGV2aWNlKCks
ICZidWZmZXJTaXplQWRkcmVzcywgaGFuZGxlQnVmZmVyU2l6ZUNoYW5nZSwgdGhpcyk7Cit9CisK
K09TU3RhdHVzIEF1ZGlvU2Vzc2lvblByaXZhdGU6OmhhbmRsZUJ1ZmZlclNpemVDaGFuZ2UoQXVk
aW9PYmplY3RJRCBkZXZpY2UsIFVJbnQzMiwgY29uc3QgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJl
c3MqIGJ1ZmZlclNpemVBZGRyZXNzLCB2b2lkKiBpbkNsaWVudERhdGEpCit7CisgICAgQVNTRVJU
KGluQ2xpZW50RGF0YSk7CisgICAgaWYgKCFpbkNsaWVudERhdGEpCisgICAgICAgIHJldHVybiBu
b0VycjsKKworICAgIGF1dG8qIHNlc3Npb25Qcml2YXRlID0gc3RhdGljX2Nhc3Q8QXVkaW9TZXNz
aW9uUHJpdmF0ZSo+KGluQ2xpZW50RGF0YSk7CisKKyAgICBVSW50MzIgYnVmZmVyU2l6ZTsKKyAg
ICBVSW50MzIgYnVmZmVyU2l6ZVNpemUgPSBzaXplb2YoYnVmZmVyU2l6ZSk7CisgICAgT1NTdGF0
dXMgcmVzdWx0ID0gQXVkaW9PYmplY3RHZXRQcm9wZXJ0eURhdGEoZGV2aWNlLCBidWZmZXJTaXpl
QWRkcmVzcywgMCwgMCwgJmJ1ZmZlclNpemVTaXplLCAmYnVmZmVyU2l6ZSk7CisgICAgaWYgKHJl
c3VsdCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHNlc3Npb25Qcml2YXRlLT5idWZm
ZXJTaXplID0gYnVmZmVyU2l6ZTsKKyAgICByZXR1cm4gbm9FcnI7Cit9CisKIEF1ZGlvU2Vzc2lv
bjo6QXVkaW9TZXNzaW9uKCkKICAgICA6IG1fcHJpdmF0ZShtYWtlVW5pcXVlPEF1ZGlvU2Vzc2lv
blByaXZhdGU+KCkpCiB7CkBAIC0yMTEsNiArMjc3LDExIEBAIHZvaWQgQXVkaW9TZXNzaW9uOjpz
ZXRDYXRlZ29yeU92ZXJyaWRlKENhdGVnb3J5VHlwZSBjYXRlZ29yeSkKIAogZmxvYXQgQXVkaW9T
ZXNzaW9uOjpzYW1wbGVSYXRlKCkgY29uc3QKIHsKKyAgICBpZiAobV9wcml2YXRlLT5zYW1wbGVS
YXRlKQorICAgICAgICByZXR1cm4gKm1fcHJpdmF0ZS0+c2FtcGxlUmF0ZTsKKworICAgIG1fcHJp
dmF0ZS0+YWRkU2FtcGxlUmF0ZU9ic2VydmVySWZOZWVkZWQoKTsKKwogICAgIEZsb2F0NjQgbm9t
aW5hbFNhbXBsZVJhdGU7CiAgICAgVUludDMyIG5vbWluYWxTYW1wbGVSYXRlU2l6ZSA9IHNpemVv
ZihGbG9hdDY0KTsKIApAQCAtMjIyLDExICsyOTMsMTggQEAgZmxvYXQgQXVkaW9TZXNzaW9uOjpz
YW1wbGVSYXRlKCkgY29uc3QKICAgICBpZiAocmVzdWx0KQogICAgICAgICByZXR1cm4gMDsKIAor
ICAgIG1fcHJpdmF0ZS0+c2FtcGxlUmF0ZSA9IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobm9taW5h
bFNhbXBsZVJhdGUpOworCiAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobm9taW5h
bFNhbXBsZVJhdGUpOwogfQogCiBzaXplX3QgQXVkaW9TZXNzaW9uOjpidWZmZXJTaXplKCkgY29u
c3QKIHsKKyAgICBpZiAobV9wcml2YXRlLT5idWZmZXJTaXplKQorICAgICAgICByZXR1cm4gKm1f
cHJpdmF0ZS0+YnVmZmVyU2l6ZTsKKworICAgIG1fcHJpdmF0ZS0+YWRkQnVmZmVyU2l6ZU9ic2Vy
dmVySWZOZWVkZWQoKTsKKwogICAgIFVJbnQzMiBidWZmZXJTaXplOwogICAgIFVJbnQzMiBidWZm
ZXJTaXplU2l6ZSA9IHNpemVvZihidWZmZXJTaXplKTsKIApAQCAtMjM4LDYgKzMxNiw5IEBAIHNp
emVfdCBBdWRpb1Nlc3Npb246OmJ1ZmZlclNpemUoKSBjb25zdAogCiAgICAgaWYgKHJlc3VsdCkK
ICAgICAgICAgcmV0dXJuIDA7CisKKyAgICBtX3ByaXZhdGUtPmJ1ZmZlclNpemUgPSBidWZmZXJT
aXplOworCiAgICAgcmV0dXJuIGJ1ZmZlclNpemU7CiB9CiAKQEAgLTI5NSwyMiArMzc2LDE0IEBA
IFN0cmluZyBBdWRpb1Nlc3Npb246OnJvdXRpbmdDb250ZXh0VUlEKCkgY29uc3QKIAogc2l6ZV90
IEF1ZGlvU2Vzc2lvbjo6cHJlZmVycmVkQnVmZmVyU2l6ZSgpIGNvbnN0CiB7Ci0gICAgVUludDMy
IGJ1ZmZlclNpemU7Ci0gICAgVUludDMyIGJ1ZmZlclNpemVTaXplID0gc2l6ZW9mKGJ1ZmZlclNp
emUpOwotCi0gICAgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MgcHJlZmVycmVkQnVmZmVyU2l6
ZUFkZHJlc3MgPSB7Ci0gICAgICAgIGtBdWRpb0RldmljZVByb3BlcnR5QnVmZmVyRnJhbWVTaXpl
LAotICAgICAgICBrQXVkaW9PYmplY3RQcm9wZXJ0eVNjb3BlR2xvYmFsLAotICAgICAgICBrQXVk
aW9PYmplY3RQcm9wZXJ0eUVsZW1lbnRNYXN0ZXIgfTsKLSAgICBPU1N0YXR1cyByZXN1bHQgPSBB
dWRpb09iamVjdEdldFByb3BlcnR5RGF0YShkZWZhdWx0RGV2aWNlKCksICZwcmVmZXJyZWRCdWZm
ZXJTaXplQWRkcmVzcywgMCwgMCwgJmJ1ZmZlclNpemVTaXplLCAmYnVmZmVyU2l6ZSk7Ci0KLSAg
ICBpZiAocmVzdWx0KQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gYnVmZmVyU2l6ZTsK
KyAgICByZXR1cm4gYnVmZmVyU2l6ZSgpOwogfQogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0UHJl
ZmVycmVkQnVmZmVyU2l6ZShzaXplX3QgYnVmZmVyU2l6ZSkKIHsKKyAgICBpZiAobV9wcml2YXRl
LT5idWZmZXJTaXplID09IGJ1ZmZlclNpemUpCisgICAgICAgIHJldHVybjsKKwogICAgIEF1ZGlv
VmFsdWVSYW5nZSBidWZmZXJTaXplUmFuZ2UgPSB7MCwgMH07CiAgICAgVUludDMyIGJ1ZmZlclNp
emVSYW5nZVNpemUgPSBzaXplb2YoQXVkaW9WYWx1ZVJhbmdlKTsKICAgICBBdWRpb09iamVjdFBy
b3BlcnR5QWRkcmVzcyBidWZmZXJTaXplUmFuZ2VBZGRyZXNzID0gewpAQCAtMzMzLDkgKzQwNiwx
MCBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0UHJlZmVycmVkQnVmZmVyU2l6ZShzaXplX3QgYnVm
ZmVyU2l6ZSkKIAogICAgIHJlc3VsdCA9IEF1ZGlvT2JqZWN0U2V0UHJvcGVydHlEYXRhKGRlZmF1
bHREZXZpY2UoKSwgJnByZWZlcnJlZEJ1ZmZlclNpemVBZGRyZXNzLCAwLCAwLCBzaXplb2YoYnVm
ZmVyU2l6ZU91dCksICh2b2lkKikmYnVmZmVyU2l6ZU91dCk7CiAKLSNpZiBMT0dfRElTQUJMRUQK
LSAgICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKLSNlbHNlCisgICAgaWYgKCFyZXN1bHQpCisgICAg
ICAgIG1fcHJpdmF0ZS0+YnVmZmVyU2l6ZSA9IGJ1ZmZlclNpemVPdXQ7CisKKyNpZiAhTE9HX0RJ
U0FCTEVECiAgICAgaWYgKHJlc3VsdCkKICAgICAgICAgTE9HKE1lZGlhLCAiQXVkaW9TZXNzaW9u
OjpzZXRQcmVmZXJyZWRCdWZmZXJTaXplKCV6dSkgLSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIGJ1
ZmZlclNpemUsIHN0YXRpY19jYXN0PGludD4ocmVzdWx0KSk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cgYi9QZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZGNjYjc0M2Q0YzAwMTExODk3ODIwMDE0MWI2N2NlNjFjNDE4YWNmLi4xODRhOTky
ZTMwMjdhOGQwMWQzNWQ0NzRlYjc5Njg4YzA5NGFlN2NjIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5j
ZVRlc3RzL0NoYW5nZUxvZworKysgYi9QZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIwLTEwLTI2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgor
CisgICAgICAgIFtNYWNdIEF1ZGlvIGFuZCBWaWRlbyBlbGVtZW50IGNyZWF0aW9uIHVwIHRvIDMw
MHggc2xvd2VyIHRoYW4gb3RoZXIgYnJvd3NlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODIwNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjI0
NTEwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBNZWRpYS9BdWRpb0VsZW1lbnRDcmVhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBNZWRp
YS9WaWRlb0VsZW1lbnRDcmVhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAyMC0xMC0xMyAgS2VpdGgg
Um9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGxlZnRvdmVyIE1B
Q09TWF9ERVBMT1lNRU5UX1RBUkdFVF9tYWNvc3ggc3VwcG9ydApkaWZmIC0tZ2l0IGEvUGVyZm9y
bWFuY2VUZXN0cy9NZWRpYS9BdWRpb0VsZW1lbnRDcmVhdGlvbi5odG1sIGIvUGVyZm9ybWFuY2VU
ZXN0cy9NZWRpYS9BdWRpb0VsZW1lbnRDcmVhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjODU0ZTQ5
MTVlNGE4Y2YzODU4YzJlZjZjY2U1ZDhhODNlYjY3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL01lZGlhL0F1ZGlvRWxlbWVudENyZWF0aW9uLmh0bWwKQEAgLTAsMCArMSw0
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9ydW5uZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGV2ZW50ID0+IHsKKyAgICAgICAgY29uc3QgbnVtYmVyT2ZJdGVy
YXRpb25zID0gMjA7CisgICAgICAgIGNvbnN0IG51bWJlck9mSXRlbXMgPSAxMDAwOworCisgICAg
ICAgIFBlcmZUZXN0UnVubmVyLnByZXBhcmVUb01lYXN1cmVWYWx1ZXNBc3luYyh7CisgICAgICAg
ICAgICBjdXN0b21JdGVyYXRpb25Db3VudDogbnVtYmVyT2ZJdGVyYXRpb25zLAorICAgICAgICAg
ICAgdW5pdDogJ21zJywKKyAgICAgICAgICAgIGRvbmU6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgICAgICBQZXJmVGVzdFJ1bm5lci5nYygpOworICAgICAgICAgICAgfQorICAgICAgICB9KTsK
KworICAgICAgICBmdW5jdGlvbiBzdGFydEl0ZXJhdGlvbigpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHRlc3RHZW5lcmF0b3IgPSBydW5JdGVyYXRpb24oKTsKKyAgICAgICAgICAgIHRlc3RHZW5l
cmF0b3IubmV4dCgpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gKnJ1bkl0ZXJhdGlv
bigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBzdGFydFRpbWUgPSBQZXJmVGVzdFJ1bm5l
ci5ub3coKTsKKworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1iZXJPZkl0ZW1z
OyArK2kpCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYXVkaW8nKTsK
KworICAgICAgICAgICAgaWYgKCFQZXJmVGVzdFJ1bm5lci5tZWFzdXJlVmFsdWVBc3luYyhQZXJm
VGVzdFJ1bm5lci5ub3coKSAtIHN0YXJ0VGltZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICBQZXJmVGVzdFJ1bm5lci5nYygpOworICAgICAgICAgICAgc2V0VGltZW91
dChzdGFydEl0ZXJhdGlvbiwgMCk7CisgICAgICAgIH0KKworICAgICAgICBzdGFydEl0ZXJhdGlv
bigpOworICAgIH0pCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PjwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L01lZGlhL1ZpZGVvRWxlbWVudENyZWF0aW9uLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL01lZGlh
L1ZpZGVvRWxlbWVudENyZWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM3NGMyNGY3M2ZlNzcwNTM4
ZThlZTUzNGUzOWRkYzU5NmU4MjFhMQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVz
dHMvTWVkaWEvVmlkZW9FbGVtZW50Q3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3J1
bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZXZlbnQgPT4geworICAgICAgICBjb25zdCBudW1iZXJPZkl0ZXJhdGlvbnMgPSAy
MDsKKyAgICAgICAgY29uc3QgbnVtYmVyT2ZJdGVtcyA9IDEwMDA7CisKKyAgICAgICAgUGVyZlRl
c3RSdW5uZXIucHJlcGFyZVRvTWVhc3VyZVZhbHVlc0FzeW5jKHsKKyAgICAgICAgICAgIGN1c3Rv
bUl0ZXJhdGlvbkNvdW50OiBudW1iZXJPZkl0ZXJhdGlvbnMsCisgICAgICAgICAgICB1bml0OiAn
bXMnLAorICAgICAgICAgICAgZG9uZTogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIFBl
cmZUZXN0UnVubmVyLmdjKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworCisgICAgICAg
IGZ1bmN0aW9uIHN0YXJ0SXRlcmF0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGVzdEdl
bmVyYXRvciA9IHJ1bkl0ZXJhdGlvbigpOworICAgICAgICAgICAgdGVzdEdlbmVyYXRvci5uZXh0
KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiAqcnVuSXRlcmF0aW9uKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9IFBlcmZUZXN0UnVubmVyLm5vdygpOwor
CisgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bWJlck9mSXRlbXM7ICsraSkKKyAg
ICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworCisgICAgICAg
ICAgICBpZiAoIVBlcmZUZXN0UnVubmVyLm1lYXN1cmVWYWx1ZUFzeW5jKFBlcmZUZXN0UnVubmVy
Lm5vdygpIC0gc3RhcnRUaW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
ICAgIFBlcmZUZXN0UnVubmVyLmdjKCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KHN0YXJ0SXRl
cmF0aW9uLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXJ0SXRlcmF0aW9uKCk7CisgICAg
fSkKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="428788"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412437</attachid>
            <date>2020-10-27 10:03:16 -0700</date>
            <delta_ts>2020-10-27 15:21:34 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218206-20201027100316.patch</filename>
            <type>text/plain</type>
            <size>16373</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk5YTA5NDI2NmZjYzAy
NDI2Mzk0Mjk0Nzk0ODU3YjRlMmU3MTRiMC4uMjE0YTY1YWI5NGRlNTE3ZDY3M2Q3MTI4ZWViODQz
ZWIxNTI5YTA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTEwLTI2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEF1ZGlvIGFuZCBW
aWRlbyBlbGVtZW50IGNyZWF0aW9uIHVwIHRvIDMwMHggc2xvd2VyIHRoYW4gb3RoZXIgYnJvd3Nl
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODIw
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjI0NTEwMTk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlc3RzOiBQZXJmb3JtYW5jZVRlc3RzL01lZGlh
L0F1ZGlvRWxlbWVudENyZWF0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIFBlcmZvcm1hbmNlVGVz
dHMvTWVkaWEvVmlkZW9FbGVtZW50Q3JlYXRpb24uaHRtbAorCisgICAgICAgIEN1cnJlbnRseSwg
YSBsYXJnZSBwZXJjZW50IG9mIHRoZSBlbGVtZW50IGNyZWF0aW9uIGNvZGUgb2NjdXJycyBhcyBh
IHJlc3VsdCBvZiBhZGRpbmcgaXRzCisgICAgICAgIHNlc3Npb24gdG8gUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLCB3aGljaCBmb3JjZXMgaXRlcmF0aW5nIG92ZXIgYWxsIGV4dGFudCBzZXNz
aW9ucyBhbmQKKyAgICAgICAgdGhlbiB0byBzZXQgdmFyaW91cyBwcm9wZXJ0aWVzIG9mIHRoZSBh
dWRpbyBoYXJkd2FyZSBpbiByZXNwb25zZS4gVGhpcyBwYXRjaCBhZGRyZXNzZXMgdGhlCisgICAg
ICAgIGJ1bGsgb2YgdGhvc2UgZXhwZW5zaXZlIGNhbGxzLCBidXQgbW9yZSBwZXJmb3JtYW5jZSBv
cHRpbWl6YXRpb25zIGFyZSBhdmFpbGFibGUgdG8gZnVydGhlcgorICAgICAgICByZWR1Y2UgbWVk
aWEgZWxlbWVudCBjcmVhdGlvbiBjb3N0cy4KKworICAgICAgICBXaGVuIGFuIDxhdWRpbz4gZWxl
bWVudCBpcyBjcmVhdGVkLCB3ZSBzZXQgdGhlIHByZWZlcnJlZCBhdWRpbyBvdXRwdXQgYnVmZmVy
IHNpemUgdG8gYSBsYXJnZQorICAgICAgICB2YWx1ZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4g
SG93ZXZlciwgdGhlcmUncyBubyBuZWVkIHRvIHJlcGVhdGVkbHkgY2FsbCBpbnRvIENvcmVBdWRp
byBpZgorICAgICAgICB0aGUgYnVmZmVyIHNpemUgaXMgYWxyZWFkeSBzZXQgdG8gdGhhdCBzYW1l
IGhpZ2ggdmFsdWUuIFN0b3JlIHRoZSByZXN1bHQgb2Ygc2V0dGluZyB0aGUKKyAgICAgICAgcHJl
ZmVycmVkIGJ1ZmZlciBzaXplLCBhbmQgYWxzbyBhZGQgYSBwcm9wZXJ0eSBjaGFuZ2UgbGlzdGVu
ZXIgdG8gZGV0ZWN0IG90aGVyIGNhbGxlcnMKKyAgICAgICAgbW9kaWZ5aW5nIHRoYXQgc2FtZSB2
YWx1ZSwgc28gdGhhdCBhbGwgc2V0IG9wZXJhdGlvbnMgd2l0aCBpZGVudGljYWwgc2l6ZXMgYmVj
b21lIG5vLW9wcywKKyAgICAgICAgYW5kIGFsbCBxdWVyaWVzIGp1c3QgcmV0dXJuIGNhY2hlZCB2
YWx1ZXMuCisKKyAgICAgICAgV2hlbiBhbnkgbWVkaWEgZWxlbWVudCBpcyBjcmVhdGVkLCB0aGUg
ZW50aXJlIGxpc3Qgb2YgZXh0YW50IHNlc3Npb25zIGlzIGl0ZXJhdGVkIGFuZAorICAgICAgICBw
cm9wZXJ0aWVzIG9uIGVhY2ggYXJlIHF1ZXJpZWQuIFJhdGhlciB0aGFuIGRvIHRoZXNlIGluc2lk
ZSB0aGUgc2FtZSBydW4tbG9vcCwgdXNlIGEKKyAgICAgICAgVGFza1F1ZXVlIHRvIGVucXVldWUg
YSB0YXNrIHRvIHF1ZXJ5IHRoZSBsaXN0IG9mIGNyZWF0ZWQgZWxlbWVudHMgZHVyaW5nIHRoZSBu
ZXh0IHJ1bi1sb29wLgorCisgICAgICAgIEJldHdlZW4gdGhlc2UgdHdvIG9wdGltaXphdGlvbiwg
dGhlIHJ1bnRpbWUgY29zdCBvZiBjcmVhdGluZyAxMDAwIGF1ZGlvIGVsZW1lbnRzIGlzIHJlZHVj
ZWQKKyAgICAgICAgKG9uIHRoaXMgZW5naW5lZXIncyBtYWNoaW5lKSBmcm9tIDJzIHRvIDQwbXMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpiZWdp
bkludGVycnVwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OmFkZFNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpyZW1vdmVTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2Vzc2lvblN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZvckVhY2hEb2N1bWVudFNlc3Npb24pOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpmb3JFYWNoU2Vz
c2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmFu
eU9mU2Vzc2lvbnMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nl
c3Npb25NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb25Qcml2YXRlOjphZGRT
YW1wbGVSYXRlT2JzZXJ2ZXJJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Np
b25Qcml2YXRlOjpoYW5kbGVTYW1wbGVSYXRlQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvblByaXZhdGU6OmFkZEJ1ZmZlclNpemVPYnNlcnZlcklmTmVlZGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblByaXZhdGU6OmhhbmRsZUJ1ZmZlclNpemVDaGFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpzYW1wbGVSYXRlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6YnVmZmVyU2l6ZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OnByZWZlcnJlZEJ1ZmZlclNpemUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpzZXRQcmVmZXJyZWRCdWZmZXJTaXplKToKKwog
MjAyMC0xMC0yNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBb
QmlnU3VyXSBBcHBlbmRpbmcgYSBuZXcgV2ViTSBpbml0IHNlZ21lbnQgYmV0d2VlbiBDbHVzdGVy
IGVsZW1lbnRzIHRocm93cyBhbiBlcnJvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKaW5kZXgg
ZWQ0ODcyNTUxOWMyNzY4ZWQwNjNiN2NiMThiZjE1Y2I4YWE5MmU0Yi4uMTc1YWFmZTY0ZWFhMjY3
YjhhMzI2ZjBjNjFlMjAzNzhhYzYzMDljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBA
IC0xMzksNyArMTM5LDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmJlZ2lu
SW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnIKICAgICBmb3JFYWNoU2Vz
c2lvbihbdHlwZV0gKGF1dG8mIHNlc3Npb24pIHsKICAgICAgICAgc2Vzc2lvbi5iZWdpbkludGVy
cnVwdGlvbih0eXBlKTsKICAgICB9KTsKLSAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKKyAgICBz
Y2hlZHVsZVVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6ZW5kSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpFbmRJbnRl
cnJ1cHRpb25GbGFncyBmbGFncykKQEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lkIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6YWRkU2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2Vzc2lv
bikKICAgICBtX2xvZ2dlci0+YWRkTG9nZ2VyKHNlc3Npb24ubG9nZ2VyKCkpOwogI2VuZGlmCiAK
LSAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKKyAgICBzY2hlZHVsZVVwZGF0ZVNlc3Npb25TdGF0
ZSgpOwogfQogCiBib29sIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6aGFzTm9TZXNzaW9u
KCkgY29uc3QKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6cmVtb3ZlU2Vzc2lvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYgc2Vzc2lvbikKICAgICBt
X2xvZ2dlci0+cmVtb3ZlTG9nZ2VyKHNlc3Npb24ubG9nZ2VyKCkpOwogI2VuZGlmCiAKLSAgICB1
cGRhdGVTZXNzaW9uU3RhdGUoKTsKKyAgICBzY2hlZHVsZVVwZGF0ZVNlc3Npb25TdGF0ZSgpOwog
fQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YWRkUmVzdHJpY3Rpb24oUGxh
dGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSB0eXBlLCBTZXNzaW9uUmVzdHJpY3Rpb25zIHJl
c3RyaWN0aW9uKQpAQCAtMjgxLDcgKzI4MSw3IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzZXNzaW9uV2lsbEVuZFBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzCiAK
IHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzZXNzaW9uU3RhdGVDaGFuZ2VkKFBs
YXRmb3JtTWVkaWFTZXNzaW9uJikKIHsKLSAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKKyAgICBz
Y2hlZHVsZVVwZGF0ZVNlc3Npb25TdGF0ZSgpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2V0Q3VycmVudFNlc3Npb24oUGxhdGZvcm1NZWRpYVNlc3Npb24mIHNlc3Np
b24pCkBAIC01NjEsNyArNTYxLDcgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6
OmFkZEF1ZGlvQ2FwdHVyZVNvdXJjZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6QXUKIHsKICAgICBB
U1NFUlQoIW1fYXVkaW9DYXB0dXJlU291cmNlcy5jb250YWlucyhzb3VyY2UpKTsKICAgICBtX2F1
ZGlvQ2FwdHVyZVNvdXJjZXMuYWRkKHNvdXJjZSk7Ci0gICAgdXBkYXRlU2Vzc2lvblN0YXRlKCk7
CisgICAgc2NoZWR1bGVVcGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAogCkBAIC01NjksNyArNTY5
LDE3IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpyZW1vdmVBdWRpb0NhcHR1
cmVTb3VyY2UoUGxhdGZvcm1NZWRpYVNlc3Npb246CiB7CiAgICAgQVNTRVJUKG1fYXVkaW9DYXB0
dXJlU291cmNlcy5jb250YWlucyhzb3VyY2UpKTsKICAgICBtX2F1ZGlvQ2FwdHVyZVNvdXJjZXMu
cmVtb3ZlKHNvdXJjZSk7Ci0gICAgdXBkYXRlU2Vzc2lvblN0YXRlKCk7CisgICAgc2NoZWR1bGVV
cGRhdGVTZXNzaW9uU3RhdGUoKTsKK30KKwordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0YXRlKCkKK3sKKyAgICBpZiAodXBkYXRlU2Vzc2lv
blN0YXRlUXVldWUuaGFzUGVuZGluZ1Rhc2tzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHVw
ZGF0ZVNlc3Npb25TdGF0ZVF1ZXVlLmVucXVldWVUYXNrKFt0aGlzXSB7CisgICAgICAgIHVwZGF0
ZVNlc3Npb25TdGF0ZSgpOworICAgIH0pOwogfQogCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDFlNjdmOGU5MDY0MGY2ZjZkNzNjYjZhNTIyYWRkOTVk
MDBhNTkwY2YuLjc3NGNiMWNhMjU0MzJlNDY0ZGJmZTE5OTUzNGI1YmVmYzBkM2E2MWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudElkZW50aWZpZXIuaCIKKyNp
bmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uSWRlbnRp
Zmllci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKQEAgLTE3OSw2ICsxODAsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBJbnRlcm5hbHM7CiAKKyAgICB2b2lkIHNjaGVkdWxlVXBkYXRlU2Vzc2lvblN0YXRl
KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNlc3Npb25TdGF0ZSgpIHsgfQogCiAgICAgVmVj
dG9yPFdlYWtQdHI8UGxhdGZvcm1NZWRpYVNlc3Npb24+PiBzZXNzaW9uc01hdGNoaW5nKGNvbnN0
IEZ1bmN0aW9uPGJvb2woY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24mKT4mKSBjb25zdDsKQEAg
LTE5Nyw2ICsxOTksNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBXZWFrSGFzaFNldDxQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6QXVkaW9DYXB0dXJlU291cmNlPiBtX2F1ZGlvQ2FwdHVyZVNvdXJj
ZXM7CisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4gdXBkYXRlU2Vzc2lvblN0YXRlUXVldWU7
CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBSZWY8QWdncmVnYXRlTG9nZ2VyPiBt
X2xvZ2dlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9B
dWRpb1Nlc3Npb25NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVk
aW9TZXNzaW9uTWFjLm1tCmluZGV4IGQwNmRiMDg0ZTk4MzUyZWU3NDZhNDg2OWM2MmEzOTA4M2Vm
NWVjNTguLjE2Nzk2MzlmMjAyNTY3NDUwNDlmNWQyNGUyOWZmYTQ3NTdiMGQ0YzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5t
bQpAQCAtODEsNiArODEsMTMgQEAgY2xhc3MgQXVkaW9TZXNzaW9uUHJpdmF0ZSB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgQXVkaW9TZXNzaW9u
UHJpdmF0ZSgpID0gZGVmYXVsdDsKKworICAgIHZvaWQgYWRkU2FtcGxlUmF0ZU9ic2VydmVySWZO
ZWVkZWQoKTsKKyAgICB2b2lkIGFkZEJ1ZmZlclNpemVPYnNlcnZlcklmTmVlZGVkKCk7CisKKyAg
ICBzdGF0aWMgT1NTdGF0dXMgaGFuZGxlU2FtcGxlUmF0ZUNoYW5nZShBdWRpb09iamVjdElELCBV
SW50MzIsIGNvbnN0IEF1ZGlvT2JqZWN0UHJvcGVydHlBZGRyZXNzKiwgdm9pZCogaW5DbGllbnRE
YXRhKTsKKyAgICBzdGF0aWMgT1NTdGF0dXMgaGFuZGxlQnVmZmVyU2l6ZUNoYW5nZShBdWRpb09i
amVjdElELCBVSW50MzIsIGNvbnN0IEF1ZGlvT2JqZWN0UHJvcGVydHlBZGRyZXNzKiwgdm9pZCog
aW5DbGllbnREYXRhKTsKKwogICAgIE9wdGlvbmFsPGJvb2w+IGxhc3RNdXRlZFN0YXRlOwogICAg
IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5IHsgQXVkaW9TZXNzaW9uOjpOb25l
IH07CiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCkBAIC05MSw4ICs5OCw2NyBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVnb3J5
T3ZlcnJpZGU7CiAgICAgYm9vbCBpblJvdXRpbmdBcmJpdHJhdGlvbiB7IGZhbHNlIH07CisgICAg
Ym9vbCBoYXNTYW1wbGVSYXRlT2JzZXJ2ZXIgeyBmYWxzZSB9OworICAgIGJvb2wgaGFzQnVmZmVy
U2l6ZU9ic2VydmVyIHsgZmFsc2UgfTsKKyAgICBPcHRpb25hbDxkb3VibGU+IHNhbXBsZVJhdGU7
CisgICAgT3B0aW9uYWw8c2l6ZV90PiBidWZmZXJTaXplOwogfTsKIAordm9pZCBBdWRpb1Nlc3Np
b25Qcml2YXRlOjphZGRTYW1wbGVSYXRlT2JzZXJ2ZXJJZk5lZWRlZCgpCit7CisgICAgaWYgKGhh
c1NhbXBsZVJhdGVPYnNlcnZlcikKKyAgICAgICAgcmV0dXJuOworICAgIGhhc1NhbXBsZVJhdGVP
YnNlcnZlciA9IHRydWU7CisKKyAgICBBdWRpb09iamVjdFByb3BlcnR5QWRkcmVzcyBub21pbmFs
U2FtcGxlUmF0ZUFkZHJlc3MgPSB7IGtBdWRpb0RldmljZVByb3BlcnR5Tm9taW5hbFNhbXBsZVJh
dGUsIGtBdWRpb09iamVjdFByb3BlcnR5U2NvcGVHbG9iYWwsIGtBdWRpb09iamVjdFByb3BlcnR5
RWxlbWVudE1hc3RlciB9OworICAgIEF1ZGlvT2JqZWN0QWRkUHJvcGVydHlMaXN0ZW5lcihkZWZh
dWx0RGV2aWNlKCksICZub21pbmFsU2FtcGxlUmF0ZUFkZHJlc3MsIGhhbmRsZVNhbXBsZVJhdGVD
aGFuZ2UsIHRoaXMpOworfQorCitPU1N0YXR1cyBBdWRpb1Nlc3Npb25Qcml2YXRlOjpoYW5kbGVT
YW1wbGVSYXRlQ2hhbmdlKEF1ZGlvT2JqZWN0SUQgZGV2aWNlLCBVSW50MzIsIGNvbnN0IEF1ZGlv
T2JqZWN0UHJvcGVydHlBZGRyZXNzKiBzYW1wbGVSYXRlQWRkcmVzcywgdm9pZCogaW5DbGllbnRE
YXRhKQoreworICAgIEFTU0VSVChpbkNsaWVudERhdGEpOworICAgIGlmICghaW5DbGllbnREYXRh
KQorICAgICAgICByZXR1cm4gbm9FcnI7CisKKyAgICBhdXRvKiBzZXNzaW9uUHJpdmF0ZSA9IHN0
YXRpY19jYXN0PEF1ZGlvU2Vzc2lvblByaXZhdGUqPihpbkNsaWVudERhdGEpOworCisgICAgRmxv
YXQ2NCBub21pbmFsU2FtcGxlUmF0ZTsKKyAgICBVSW50MzIgbm9taW5hbFNhbXBsZVJhdGVTaXpl
ID0gc2l6ZW9mKEZsb2F0NjQpOworICAgIE9TU3RhdHVzIHJlc3VsdCA9IEF1ZGlvT2JqZWN0R2V0
UHJvcGVydHlEYXRhKGRldmljZSwgc2FtcGxlUmF0ZUFkZHJlc3MsIDAsIDAsICZub21pbmFsU2Ft
cGxlUmF0ZVNpemUsICh2b2lkKikmbm9taW5hbFNhbXBsZVJhdGUpOworICAgIGlmIChyZXN1bHQp
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICBzZXNzaW9uUHJpdmF0ZS0+c2FtcGxlUmF0
ZSA9IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobm9taW5hbFNhbXBsZVJhdGUpOworICAgIHJldHVy
biBub0VycjsKK30KKwordm9pZCBBdWRpb1Nlc3Npb25Qcml2YXRlOjphZGRCdWZmZXJTaXplT2Jz
ZXJ2ZXJJZk5lZWRlZCgpCit7CisgICAgaWYgKGhhc0J1ZmZlclNpemVPYnNlcnZlcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MgYnVmZmVyU2l6ZUFk
ZHJlc3MgPSB7IGtBdWRpb0RldmljZVByb3BlcnR5QnVmZmVyRnJhbWVTaXplLCBrQXVkaW9PYmpl
Y3RQcm9wZXJ0eVNjb3BlR2xvYmFsLCBrQXVkaW9PYmplY3RQcm9wZXJ0eUVsZW1lbnRNYXN0ZXIg
fTsKKyAgICBBdWRpb09iamVjdEFkZFByb3BlcnR5TGlzdGVuZXIoZGVmYXVsdERldmljZSgpLCAm
YnVmZmVyU2l6ZUFkZHJlc3MsIGhhbmRsZUJ1ZmZlclNpemVDaGFuZ2UsIHRoaXMpOworfQorCitP
U1N0YXR1cyBBdWRpb1Nlc3Npb25Qcml2YXRlOjpoYW5kbGVCdWZmZXJTaXplQ2hhbmdlKEF1ZGlv
T2JqZWN0SUQgZGV2aWNlLCBVSW50MzIsIGNvbnN0IEF1ZGlvT2JqZWN0UHJvcGVydHlBZGRyZXNz
KiBidWZmZXJTaXplQWRkcmVzcywgdm9pZCogaW5DbGllbnREYXRhKQoreworICAgIEFTU0VSVChp
bkNsaWVudERhdGEpOworICAgIGlmICghaW5DbGllbnREYXRhKQorICAgICAgICByZXR1cm4gbm9F
cnI7CisKKyAgICBhdXRvKiBzZXNzaW9uUHJpdmF0ZSA9IHN0YXRpY19jYXN0PEF1ZGlvU2Vzc2lv
blByaXZhdGUqPihpbkNsaWVudERhdGEpOworCisgICAgVUludDMyIGJ1ZmZlclNpemU7CisgICAg
VUludDMyIGJ1ZmZlclNpemVTaXplID0gc2l6ZW9mKGJ1ZmZlclNpemUpOworICAgIE9TU3RhdHVz
IHJlc3VsdCA9IEF1ZGlvT2JqZWN0R2V0UHJvcGVydHlEYXRhKGRldmljZSwgYnVmZmVyU2l6ZUFk
ZHJlc3MsIDAsIDAsICZidWZmZXJTaXplU2l6ZSwgJmJ1ZmZlclNpemUpOworICAgIGlmIChyZXN1
bHQpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICBzZXNzaW9uUHJpdmF0ZS0+YnVmZmVy
U2l6ZSA9IGJ1ZmZlclNpemU7CisgICAgcmV0dXJuIG5vRXJyOworfQorCiBBdWRpb1Nlc3Npb246
OkF1ZGlvU2Vzc2lvbigpCiAgICAgOiBtX3ByaXZhdGUobWFrZVVuaXF1ZTxBdWRpb1Nlc3Npb25Q
cml2YXRlPigpKQogewpAQCAtMjExLDYgKzI3NywxMSBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0
Q2F0ZWdvcnlPdmVycmlkZShDYXRlZ29yeVR5cGUgY2F0ZWdvcnkpCiAKIGZsb2F0IEF1ZGlvU2Vz
c2lvbjo6c2FtcGxlUmF0ZSgpIGNvbnN0CiB7CisgICAgaWYgKG1fcHJpdmF0ZS0+c2FtcGxlUmF0
ZSkKKyAgICAgICAgcmV0dXJuICptX3ByaXZhdGUtPnNhbXBsZVJhdGU7CisKKyAgICBtX3ByaXZh
dGUtPmFkZFNhbXBsZVJhdGVPYnNlcnZlcklmTmVlZGVkKCk7CisKICAgICBGbG9hdDY0IG5vbWlu
YWxTYW1wbGVSYXRlOwogICAgIFVJbnQzMiBub21pbmFsU2FtcGxlUmF0ZVNpemUgPSBzaXplb2Yo
RmxvYXQ2NCk7CiAKQEAgLTIyMiwxMSArMjkzLDE4IEBAIGZsb2F0IEF1ZGlvU2Vzc2lvbjo6c2Ft
cGxlUmF0ZSgpIGNvbnN0CiAgICAgaWYgKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIDA7CiAKKyAg
ICBtX3ByaXZhdGUtPnNhbXBsZVJhdGUgPSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG5vbWluYWxT
YW1wbGVSYXRlKTsKKwogICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KG5vbWluYWxT
YW1wbGVSYXRlKTsKIH0KIAogc2l6ZV90IEF1ZGlvU2Vzc2lvbjo6YnVmZmVyU2l6ZSgpIGNvbnN0
CiB7CisgICAgaWYgKG1fcHJpdmF0ZS0+YnVmZmVyU2l6ZSkKKyAgICAgICAgcmV0dXJuICptX3By
aXZhdGUtPmJ1ZmZlclNpemU7CisKKyAgICBtX3ByaXZhdGUtPmFkZEJ1ZmZlclNpemVPYnNlcnZl
cklmTmVlZGVkKCk7CisKICAgICBVSW50MzIgYnVmZmVyU2l6ZTsKICAgICBVSW50MzIgYnVmZmVy
U2l6ZVNpemUgPSBzaXplb2YoYnVmZmVyU2l6ZSk7CiAKQEAgLTIzOCw2ICszMTYsOSBAQCBzaXpl
X3QgQXVkaW9TZXNzaW9uOjpidWZmZXJTaXplKCkgY29uc3QKIAogICAgIGlmIChyZXN1bHQpCiAg
ICAgICAgIHJldHVybiAwOworCisgICAgbV9wcml2YXRlLT5idWZmZXJTaXplID0gYnVmZmVyU2l6
ZTsKKwogICAgIHJldHVybiBidWZmZXJTaXplOwogfQogCkBAIC0yOTUsMjIgKzM3NiwxNCBAQCBT
dHJpbmcgQXVkaW9TZXNzaW9uOjpyb3V0aW5nQ29udGV4dFVJRCgpIGNvbnN0CiAKIHNpemVfdCBB
dWRpb1Nlc3Npb246OnByZWZlcnJlZEJ1ZmZlclNpemUoKSBjb25zdAogewotICAgIFVJbnQzMiBi
dWZmZXJTaXplOwotICAgIFVJbnQzMiBidWZmZXJTaXplU2l6ZSA9IHNpemVvZihidWZmZXJTaXpl
KTsKLQotICAgIEF1ZGlvT2JqZWN0UHJvcGVydHlBZGRyZXNzIHByZWZlcnJlZEJ1ZmZlclNpemVB
ZGRyZXNzID0gewotICAgICAgICBrQXVkaW9EZXZpY2VQcm9wZXJ0eUJ1ZmZlckZyYW1lU2l6ZSwK
LSAgICAgICAga0F1ZGlvT2JqZWN0UHJvcGVydHlTY29wZUdsb2JhbCwKLSAgICAgICAga0F1ZGlv
T2JqZWN0UHJvcGVydHlFbGVtZW50TWFzdGVyIH07Ci0gICAgT1NTdGF0dXMgcmVzdWx0ID0gQXVk
aW9PYmplY3RHZXRQcm9wZXJ0eURhdGEoZGVmYXVsdERldmljZSgpLCAmcHJlZmVycmVkQnVmZmVy
U2l6ZUFkZHJlc3MsIDAsIDAsICZidWZmZXJTaXplU2l6ZSwgJmJ1ZmZlclNpemUpOwotCi0gICAg
aWYgKHJlc3VsdCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGJ1ZmZlclNpemU7Cisg
ICAgcmV0dXJuIGJ1ZmZlclNpemUoKTsKIH0KIAogdm9pZCBBdWRpb1Nlc3Npb246OnNldFByZWZl
cnJlZEJ1ZmZlclNpemUoc2l6ZV90IGJ1ZmZlclNpemUpCiB7CisgICAgaWYgKG1fcHJpdmF0ZS0+
YnVmZmVyU2l6ZSA9PSBidWZmZXJTaXplKQorICAgICAgICByZXR1cm47CisKICAgICBBdWRpb1Zh
bHVlUmFuZ2UgYnVmZmVyU2l6ZVJhbmdlID0gezAsIDB9OwogICAgIFVJbnQzMiBidWZmZXJTaXpl
UmFuZ2VTaXplID0gc2l6ZW9mKEF1ZGlvVmFsdWVSYW5nZSk7CiAgICAgQXVkaW9PYmplY3RQcm9w
ZXJ0eUFkZHJlc3MgYnVmZmVyU2l6ZVJhbmdlQWRkcmVzcyA9IHsKQEAgLTMzMyw5ICs0MDYsMTAg
QEAgdm9pZCBBdWRpb1Nlc3Npb246OnNldFByZWZlcnJlZEJ1ZmZlclNpemUoc2l6ZV90IGJ1ZmZl
clNpemUpCiAKICAgICByZXN1bHQgPSBBdWRpb09iamVjdFNldFByb3BlcnR5RGF0YShkZWZhdWx0
RGV2aWNlKCksICZwcmVmZXJyZWRCdWZmZXJTaXplQWRkcmVzcywgMCwgMCwgc2l6ZW9mKGJ1ZmZl
clNpemVPdXQpLCAodm9pZCopJmJ1ZmZlclNpemVPdXQpOwogCi0jaWYgTE9HX0RJU0FCTEVECi0g
ICAgVU5VU0VEX1BBUkFNKHJlc3VsdCk7Ci0jZWxzZQorICAgIGlmICghcmVzdWx0KQorICAgICAg
ICBtX3ByaXZhdGUtPmJ1ZmZlclNpemUgPSBidWZmZXJTaXplT3V0OworCisjaWYgIUxPR19ESVNB
QkxFRAogICAgIGlmIChyZXN1bHQpCiAgICAgICAgIExPRyhNZWRpYSwgIkF1ZGlvU2Vzc2lvbjo6
c2V0UHJlZmVycmVkQnVmZmVyU2l6ZSglenUpIC0gZmFpbGVkIHdpdGggZXJyb3IgJWQiLCBidWZm
ZXJTaXplLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc3VsdCkpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZmRjY2I3NDNkNGMwMDExMTg5NzgyMDAxNDFiNjdjZTYxYzQxOGFjZi4uMTIxMGRkODhh
NmU2ZjdlNDUzNzRlYWQzN2Q0ZTRjYzgzMzQ4MTlhMCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMC0xMC0yNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbTWFjXSBBdWRpbyBhbmQgVmlkZW8gZWxlbWVudCBjcmVhdGlvbiB1cCB0byAzMDB4
IHNsb3dlciB0aGFuIG90aGVyIGJyb3dzZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNDUx
MDE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIE1l
ZGlhL0F1ZGlvRWxlbWVudENyZWF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIE1lZGlhL1Zp
ZGVvRWxlbWVudENyZWF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDIwLTEwLTEzICBLZWl0aCBSb2xs
aW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbGVmdG92ZXIgTUFDT1NY
X0RFUExPWU1FTlRfVEFSR0VUX21hY29zeCBzdXBwb3J0CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5j
ZVRlc3RzL01lZGlhL0F1ZGlvRWxlbWVudENyZWF0aW9uLmh0bWwgYi9QZXJmb3JtYW5jZVRlc3Rz
L01lZGlhL0F1ZGlvRWxlbWVudENyZWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M4NTRlNDkxNWU0
YThjZjM4NThjMmVmNmNjZTVkOGE4M2ViNjc4OAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1h
bmNlVGVzdHMvTWVkaWEvQXVkaW9FbGVtZW50Q3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDQzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3J1bm5lci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgZXZlbnQgPT4geworICAgICAgICBjb25zdCBudW1iZXJPZkl0ZXJhdGlv
bnMgPSAyMDsKKyAgICAgICAgY29uc3QgbnVtYmVyT2ZJdGVtcyA9IDEwMDA7CisKKyAgICAgICAg
UGVyZlRlc3RSdW5uZXIucHJlcGFyZVRvTWVhc3VyZVZhbHVlc0FzeW5jKHsKKyAgICAgICAgICAg
IGN1c3RvbUl0ZXJhdGlvbkNvdW50OiBudW1iZXJPZkl0ZXJhdGlvbnMsCisgICAgICAgICAgICB1
bml0OiAnbXMnLAorICAgICAgICAgICAgZG9uZTogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIFBlcmZUZXN0UnVubmVyLmdjKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworCisg
ICAgICAgIGZ1bmN0aW9uIHN0YXJ0SXRlcmF0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAg
dGVzdEdlbmVyYXRvciA9IHJ1bkl0ZXJhdGlvbigpOworICAgICAgICAgICAgdGVzdEdlbmVyYXRv
ci5uZXh0KCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiAqcnVuSXRlcmF0aW9uKCkK
KyAgICAgICAgeworICAgICAgICAgICAgdmFyIHN0YXJ0VGltZSA9IFBlcmZUZXN0UnVubmVyLm5v
dygpOworCisgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bWJlck9mSXRlbXM7ICsr
aSkKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhdWRpbycpOworCisg
ICAgICAgICAgICBpZiAoIVBlcmZUZXN0UnVubmVyLm1lYXN1cmVWYWx1ZUFzeW5jKFBlcmZUZXN0
UnVubmVyLm5vdygpIC0gc3RhcnRUaW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIFBlcmZUZXN0UnVubmVyLmdjKCk7CisgICAgICAgICAgICBzZXRUaW1lb3V0KHN0
YXJ0SXRlcmF0aW9uLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXJ0SXRlcmF0aW9uKCk7
CisgICAgfSkKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+PC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvTWVk
aWEvVmlkZW9FbGVtZW50Q3JlYXRpb24uaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvTWVkaWEvVmlk
ZW9FbGVtZW50Q3JlYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzc0YzI0ZjczZmU3NzA1MzhlOGVl
NTM0ZTM5ZGRjNTk2ZTgyMWExCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9N
ZWRpYS9WaWRlb0VsZW1lbnRDcmVhdGlvbi5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvcnVubmVy
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBldmVudCA9PiB7CisgICAgICAgIGNvbnN0IG51bWJlck9mSXRlcmF0aW9ucyA9IDIwOwor
ICAgICAgICBjb25zdCBudW1iZXJPZkl0ZW1zID0gMTAwMDsKKworICAgICAgICBQZXJmVGVzdFJ1
bm5lci5wcmVwYXJlVG9NZWFzdXJlVmFsdWVzQXN5bmMoeworICAgICAgICAgICAgY3VzdG9tSXRl
cmF0aW9uQ291bnQ6IG51bWJlck9mSXRlcmF0aW9ucywKKyAgICAgICAgICAgIHVuaXQ6ICdtcycs
CisgICAgICAgICAgICBkb25lOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgUGVyZlRl
c3RSdW5uZXIuZ2MoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisKKyAgICAgICAgZnVu
Y3Rpb24gc3RhcnRJdGVyYXRpb24oKQorICAgICAgICB7CisgICAgICAgICAgICB0ZXN0R2VuZXJh
dG9yID0gcnVuSXRlcmF0aW9uKCk7CisgICAgICAgICAgICB0ZXN0R2VuZXJhdG9yLm5leHQoKTsK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uICpydW5JdGVyYXRpb24oKQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgc3RhcnRUaW1lID0gUGVyZlRlc3RSdW5uZXIubm93KCk7CisKKyAg
ICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtYmVyT2ZJdGVtczsgKytpKQorICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisKKyAgICAgICAgICAg
IGlmICghUGVyZlRlc3RSdW5uZXIubWVhc3VyZVZhbHVlQXN5bmMoUGVyZlRlc3RSdW5uZXIubm93
KCkgLSBzdGFydFRpbWUpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
UGVyZlRlc3RSdW5uZXIuZ2MoKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoc3RhcnRJdGVyYXRp
b24sIDApOworICAgICAgICB9CisKKyAgICAgICAgc3RhcnRJdGVyYXRpb24oKTsKKyAgICB9KQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT48L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>