<?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>171064</bug_id>
          
          <creation_ts>2017-04-20 11:26:39 -0700</creation_ts>
          <short_desc>[MediaStream] Cleanup and simplify CoreAudioCaptureSource</short_desc>
          <delta_ts>2017-04-21 07:46:06 -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>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1299179</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-04-20 11:26:39 -0700</bug_when>
    <thetext>Cleanup and simplify CoreAudioCaptureSource.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299195</commentid>
    <comment_count>1</comment_count>
      <attachid>307606</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-04-20 11:55:57 -0700</bug_when>
    <thetext>Created attachment 307606
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299196</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-20 11:56:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/31739126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299231</commentid>
    <comment_count>3</comment_count>
      <attachid>307606</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-20 12:41:34 -0700</bug_when>
    <thetext>Comment on attachment 307606
Proposed patch.

Rejecting attachment 307606 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 307606, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
fs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 215567 = 21ca1e5ab8d09b64a63c5f1644a6e9d95211a553
r215568 = b5e5a9b2a569a95b33f9c5519d6ddb24814009f5
r215569 = d9062bee880dbf64725274644429046dee9c8165
r215570 = d65eefae247f5205695842423227028e5b073e6b
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/3571496</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299334</commentid>
    <comment_count>4</comment_count>
      <attachid>307646</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-04-20 15:28:59 -0700</bug_when>
    <thetext>Created attachment 307646
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299365</commentid>
    <comment_count>5</comment_count>
      <attachid>307646</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-20 16:09:35 -0700</bug_when>
    <thetext>Comment on attachment 307646
Proposed patch.

Clearing flags on attachment: 307646

Committed r215583: &lt;http://trac.webkit.org/changeset/215583&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307606</attachid>
            <date>2017-04-20 11:55:57 -0700</date>
            <delta_ts>2017-04-21 07:46:06 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>remove_audio_lock_patch_1.txt</filename>
            <type>text/plain</type>
            <size>14725</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA0LTIwICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0g
Q2xlYW51cCBhbmQgc2ltcGxpZnkgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMDY0CisKKyAgICAgICAgVGhl
cmUgaXMgbm8gbmVlZCBmb3IgYSBtdXRleCB0byBndWFyZCBhZ2FpbnN0IGludGVybmFsIHN0YXRl
IGNoYW5nZXMgYmVjYXVzZSB3ZQorICAgICAgICBkb24ndCBjdXJyZW50bHkgY2hhbmdlIGNvbmZp
Z3VyYXRpb24gYWZ0ZXIgdGhlIGF1ZGlvIHVuaXQgaXMgYWxsb2NhdGVkLiBPbmNlCisgICAgICAg
IHdlIGRvIHN1cHBvcnQgcmVjb25maWd1cmF0aW9uIG9uIHRoZSBmbHksIHdlIGNhbiBqdXN0IHN0
b3AgdGhlIG91dHB1dCB1bml0IGJlZm9yZQorICAgICAgICBjaGFuZ2luZyBjb25maWd1cmF0aW9u
IGJlY2F1c2UgdGhlIEkvTyBwcm9jIGlzbid0IGNhbGxlZCBpZiB0aGUgb3V0cHV0IHVuaXQKKyAg
ICAgICAgaXMgc3RvcHBlZCwgYW5kIEF1ZGlvT3V0cHV0VW5pdFN0b3AgYmxvY2tzIHVudGlsIHRo
ZSBhdWRpbyBkZXZpY2UgaGFzIHN0b3BwZWQuCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0Nh
cHR1cmVTb3VyY2U6On5Db3JlQXVkaW9DYXB0dXJlU291cmNlKTogQ2FsbCBjbGVhbnVwQXVkaW9V
bml0cworICAgICAgICBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGxvZ2ljLiAKKyAgICAgICAgKFdl
YkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByZWZlcnJlZElPQnVmZmVyRHVyYXRpb24p
OiBDaGFuZ2UgcHJlZmVycmVkCisgICAgICAgIGR1cmF0aW9uIGZyb20gMjBtcyB0byA0MG1zLgor
ICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y29uZmlndXJlTWljcm9w
aG9uZVByb2MpOiBTZXQgbVNhbXBsZVJhdGUgdG8gdGhlCisgICAgICAgIHByZWZlcnJlZCBzYW1w
bGUgcmF0ZSBpZiBpdCBpcyAwLgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6Y29uZmlndXJlU3BlYWtlclByb2MpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByb3ZpZGVTcGVha2VyRGF0YSk6IE9ubHkgaW5jcmVtZW50
IGNvdW50ZXIgYW5kCisgICAgICAgIGNoZWNrIHRpbWVzdGFtcHMgaW4gZGVidWcgYnVpbGRzLgor
ICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6cHJvY2Vzc01pY3JvcGhv
bmVTYW1wbGVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpjbGVhbnVwQXVkaW9Vbml0cyk6IFdlIG9ubHkgbmVlZCB0aGUgYXVkaW8gdW5pdAorICAg
ICAgICBuYW1lIGluIGRlYnVnIGJ1aWxkcy4KKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0Nh
cHR1cmVTb3VyY2U6OnNldHVwQXVkaW9Vbml0cyk6IERpdHRvLiBObyBtb3JlIGludGVybmFsIHN0
YXRlCisgICAgICAgIGxvY2suIERvbid0IHRyeSB0byBnZXQgdGhlIGRlZmF1bHQgaW5wdXQgZGV2
aWNlIG9uIGlPUy4KKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnN0
YXJ0UHJvZHVjaW5nRGF0YSk6IE5vIG1vcmUgaW50ZXJuYWwgc3RhdGUgbG9jay4KKyAgICAgICAg
QXNzZXJ0IGlmIG5vdCBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLgorICAgICAgICAoV2ViQ29y
ZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnN1c3BlbmQpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnJlc3VtZSk6IERpdHRv
LgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291
cmNlLmg6CisKIDIwMTctMDQtMjAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIEluY3JlYXNlIGxhcmdlIGFuaW1hdGlvbiBjdXRvZmYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAJKHJldmlzaW9uIDIxNTU1NykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPENvcmVNZWRpYS9D
TVN5bmMuaD4KICNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgogI2luY2x1ZGUgPHN5cy90aW1l
Lmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbmNsdWRlICJDb3JlTWVkaWFTb2Z0TGluay5oIgogCkBAIC02OCwxNCArNjks
MTIgQEAgUmVmUHRyPENvcmVBdWRpb0NhcHR1cmVTb3VyY2U+IENvcmVBdWRpbwogICAgIHJldHVy
biBzb3VyY2U7CiB9CiAKLQogUmVhbHRpbWVNZWRpYVNvdXJjZTo6Q2FwdHVyZUZhY3RvcnkmIENv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeT4gZmFjdG9yeTsKICAgICByZXR1cm4g
ZmFjdG9yeS5nZXQoKTsKIH0KIAotCiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpDb3JlQXVkaW9D
YXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZUluZm8pCiAgICAgOiBSZWFs
dGltZU1lZGlhU291cmNlKGVtcHR5U3RyaW5nKCksIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OkF1ZGlvLCBkZXZpY2VJbmZvLmxhYmVsKCkpCiAgICAgLCBtX2NhcHR1cmVEZXZpY2VJRCgwKQpA
QCAtMTA2LDI4ICsxMDUsMTUgQEAgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Q29yZUF1ZGlvQ2Fw
dHVyZQogQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6fkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UoKQog
ewogICAgIHN1c3BlbmQoKTsKLQotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50
ZXJuYWxTdGF0ZUxvY2spOwotCi0gICAgaWYgKG1faW9Vbml0KQotICAgICAgICBBdWRpb0NvbXBv
bmVudEluc3RhbmNlRGlzcG9zZShtX2lvVW5pdCk7Ci0KLSAgICBtX2lvVW5pdE5hbWUgPSBlbXB0
eVN0cmluZygpOwotCi0gICAgbV9taWNyb3Bob25lU2FtcGxlQnVmZmVyID0gbnVsbHB0cjsKLSAg
ICBtX3NwZWFrZXJTYW1wbGVCdWZmZXIgPSBudWxscHRyOwotCi0gICAgbV9zcGVha2VyUHJvY3ND
YWxsZWQgPSAwOwotICAgIG1fbWljcm9waG9uZVByb2NzQ2FsbGVkICA9IDA7Ci0gICAgbV9sYXRl
c3RNaWNUaW1lU3RhbXAgPSAwOworICAgIGNsZWFudXBBdWRpb1VuaXRzKCk7CiAKICAgICBtX2Fj
dGl2ZVNvdXJjZXMuY2xlYXIoKTsKICAgICBtX3BlbmRpbmdTb3VyY2VzLmNsZWFyKCk7CiAKLSAg
ICBtX3NwZWFrZXJTYW1wbGVCdWZmZXIgPSBudWxscHRyOwotCi0gICAgbV9pb1VuaXRJbml0aWFs
aXplZCA9IGZhbHNlOwotICAgIG1faW9Vbml0U3RhcnRlZCAgPSBmYWxzZTsKKyNpZiAhTE9HX0RJ
U0FCTEVECisgICAgbV9zcGVha2VyUHJvY3NDYWxsZWQgPSAwOworICAgIG1fbWljcm9waG9uZVBy
b2NzQ2FsbGVkICA9IDA7CisjZW5kaWYKIH0KIAogZG91YmxlIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2U6OnByZWZlcnJlZFNhbXBsZVJhdGUoKQpAQCAtMTQwLDcgKzEyNiw3IEBAIGRvdWJsZSBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlOjpwcmVmZXJyZWQKIGRvdWJsZSBDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpwcmVmZXJyZWRJT0J1ZmZlckR1cmF0aW9uKCkKIHsKICAgICAvLyBGSVhNRTogR2V0IHRo
ZSBwcmVmZXJyZWQgZHVyYXRpb24gZHluYW1pY2FsbHkgLSBrQVVWb2ljZUlPUHJvcGVydHlfUHJl
ZmVycmVkSFdCbG9ja1NpemVJblNlY29uZHMgLyBbW0FWQXVkaW9TZXNzaW9uIHNoYXJlZEluc3Rh
bmNlXSBwcmVmZXJyZWRJT0J1ZmZlckR1cmF0aW9uXQotICAgIHN0YXRpYyBjb25zdCBmbG9hdCBw
cmVmZXJyZWREdXJhdGlvbiA9IDAuMDI7CisgICAgc3RhdGljIGNvbnN0IGZsb2F0IHByZWZlcnJl
ZER1cmF0aW9uID0gMC4wNDsKICAgICByZXR1cm4gcHJlZmVycmVkRHVyYXRpb247CiB9CiAKQEAg
LTE2Miw2ICsxNDgsOCBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjb25maWd1
CiAgICAgICAgIHJldHVybiBlcnI7CiAgICAgfQogCisgICAgaWYgKCFtaWNyb3Bob25lUHJvY0Zv
cm1hdC5tU2FtcGxlUmF0ZSkKKyAgICAgICAgbWljcm9waG9uZVByb2NGb3JtYXQubVNhbXBsZVJh
dGUgPSBwcmVmZXJyZWRTYW1wbGVSYXRlKCk7CiAgICAgbV9taWNyb3Bob25lU2FtcGxlQnVmZmVy
ID0gQXVkaW9TYW1wbGVCdWZmZXJMaXN0OjpjcmVhdGUobWljcm9waG9uZVByb2NGb3JtYXQsIHBy
ZWZlcnJlZElPQnVmZmVyRHVyYXRpb24oKSAqIG1pY3JvcGhvbmVQcm9jRm9ybWF0Lm1TYW1wbGVS
YXRlICogMik7CiAgICAgbV9taWNyb3Bob25lUHJvY0Zvcm1hdCA9IG1pY3JvcGhvbmVQcm9jRm9y
bWF0OwogCkBAIC0xNzAsOCArMTU4LDYgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZTo6Y29uZmlndQogCiBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjb25maWd1cmVT
cGVha2VyUHJvYygpCiB7Ci0gICAgQVNTRVJUKG1faW50ZXJuYWxTdGF0ZUxvY2suaXNIZWxkKCkp
OwotCiAgICAgQVVSZW5kZXJDYWxsYmFja1N0cnVjdCBjYWxsYmFjayA9IHsgc3BlYWtlckNhbGxi
YWNrLCB0aGlzIH07CiAgICAgYXV0byBlcnIgPSBBdWRpb1VuaXRTZXRQcm9wZXJ0eShtX2lvVW5p
dCwga0F1ZGlvVW5pdFByb3BlcnR5X1NldFJlbmRlckNhbGxiYWNrLCBrQXVkaW9Vbml0U2NvcGVf
R2xvYmFsLCBvdXRwdXRCdXMsICZjYWxsYmFjaywgc2l6ZW9mKGNhbGxiYWNrKSk7CiAgICAgaWYg
KGVycikgewpAQCAtMTg4LDYgKzE3NCw4IEBAIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2U6OmNvbmZpZ3UKICAgICAgICAgcmV0dXJuIGVycjsKICAgICB9CiAKKyAgICBpZiAoIXNwZWFr
ZXJQcm9jRm9ybWF0Lm1TYW1wbGVSYXRlKQorICAgICAgICBzcGVha2VyUHJvY0Zvcm1hdC5tU2Ft
cGxlUmF0ZSA9IHByZWZlcnJlZFNhbXBsZVJhdGUoKTsKICAgICBtX3NwZWFrZXJTYW1wbGVCdWZm
ZXIgPSBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Q6OmNyZWF0ZShzcGVha2VyUHJvY0Zvcm1hdCwgcHJl
ZmVycmVkSU9CdWZmZXJEdXJhdGlvbigpICogc3BlYWtlclByb2NGb3JtYXQubVNhbXBsZVJhdGUg
KiAyKTsKICAgICBtX3NwZWFrZXJQcm9jRm9ybWF0ID0gc3BlYWtlclByb2NGb3JtYXQ7CiAKQEAg
LTIxMSwxNiArMTk5LDIwIEBAIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6cmVtb3ZlRWNo
b0MKICAgICBtX3BlbmRpbmdTb3VyY2VzLmFwcGVuZCh7IFF1ZXVlQWN0aW9uOjpSZW1vdmUsIHNv
dXJjZSB9KTsKIH0KIAorI2lmICFMT0dfRElTQUJMRUQKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6Y2hlY2tUaW1lc3RhbXBzKGNvbnN0IEF1ZGlvVGltZVN0YW1wJiB0aW1lU3RhbXAsIHVp
bnQ2NF90IHNhbXBsZVRpbWUsIGRvdWJsZSBob3N0VGltZSkKIHsKICAgICBpZiAoIXRpbWVTdGFt
cC5tU2FtcGxlVGltZSB8fCBzYW1wbGVUaW1lID09IG1fbGF0ZXN0TWljVGltZVN0YW1wIHx8ICFo
b3N0VGltZSkKICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y2hl
Y2tUaW1lc3RhbXBzOiB1bnVzdWFsIHRpbWVzdGFtcHMsIHNhbXBsZSB0aW1lID0gJWxsZCwgcHJl
dmlvdXMgc2FtcGxlIHRpbWUgPSAlbGxkLCBob3N0VGltZSAlZiIsIHNhbXBsZVRpbWUsIG1fbGF0
ZXN0TWljVGltZVN0YW1wLCBob3N0VGltZSk7CiB9CisjZW5kaWYKIAogT1NTdGF0dXMgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZTo6cHJvdmlkZVNwZWFrZXJEYXRhKEF1ZGlvVW5pdFJlbmRlckFjdGlv
bkZsYWdzJiAvKmlvQWN0aW9uRmxhZ3MqLywgY29uc3QgQXVkaW9UaW1lU3RhbXAmIHRpbWVTdGFt
cCwgVUludDMyIC8qaW5CdXNOdW1iZXIqLywgVUludDMyIGluTnVtYmVyRnJhbWVzLCBBdWRpb0J1
ZmZlckxpc3QqIGlvRGF0YSkKIHsKICAgICAvLyBDYWxsZWQgd2hlbiB0aGUgYXVkaW8gdW5pdCBu
ZWVkcyBkYXRhIHRvIHBsYXkgdGhyb3VnaCB0aGUgc3BlYWtlcnMuCisjaWYgIUxPR19ESVNBQkxF
RAogICAgICsrbV9zcGVha2VyUHJvY3NDYWxsZWQ7CisjZW5kaWYKIAogICAgIGlmIChtX3NwZWFr
ZXJTYW1wbGVCdWZmZXItPnNhbXBsZUNhcGFjaXR5KCkgPCBpbk51bWJlckZyYW1lcykgewogICAg
ICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpwcm92aWRlU3BlYWtlckRh
dGE6IHNwZWFrZXIgc2FtcGxlIGJ1ZmZlciBzaXplICglZCkgdG9vIHNtYWxsIGZvciBhbW91bnQg
b2Ygc2FtcGxlIGRhdGEgcmVxdWVzdGVkICglZCkhIiwgbV9zcGVha2VyU2FtcGxlQnVmZmVyLT5z
YW1wbGVDYXBhY2l0eSgpLCAoaW50KWluTnVtYmVyRnJhbWVzKTsKQEAgLTI1MSw3ICsyNDMsOSBA
QCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpwcm92aWRlCiAKICAgICBkb3VibGUg
YWRqdXN0ZWRIb3N0VGltZSA9IG1fRFRTQ29udmVyc2lvblJhdGlvICogdGltZVN0YW1wLm1Ib3N0
VGltZTsKICAgICB1aW50NjRfdCBzYW1wbGVUaW1lID0gdGltZVN0YW1wLm1TYW1wbGVUaW1lOwor
I2lmICFMT0dfRElTQUJMRUQKICAgICBjaGVja1RpbWVzdGFtcHModGltZVN0YW1wLCBzYW1wbGVU
aW1lLCBhZGp1c3RlZEhvc3RUaW1lKTsKKyNlbmRpZgogICAgIG1fc3BlYWtlclNhbXBsZUJ1ZmZl
ci0+c2V0VGltZXMoYWRqdXN0ZWRIb3N0VGltZSwgc2FtcGxlVGltZSk7CiAKICAgICBBdWRpb0J1
ZmZlckxpc3QmIGJ1ZmZlckxpc3QgPSBtX3NwZWFrZXJTYW1wbGVCdWZmZXItPmJ1ZmZlckxpc3Qo
KTsKQEAgLTI3Nyw5ICsyNzEsOSBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpz
cGVha2VyCiAKIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByb2Nlc3NNaWNyb3Bo
b25lU2FtcGxlcyhBdWRpb1VuaXRSZW5kZXJBY3Rpb25GbGFncyYgaW9BY3Rpb25GbGFncywgY29u
c3QgQXVkaW9UaW1lU3RhbXAmIHRpbWVTdGFtcCwgVUludDMyIGluQnVzTnVtYmVyLCBVSW50MzIg
aW5OdW1iZXJGcmFtZXMsIEF1ZGlvQnVmZmVyTGlzdCogLyppb0RhdGEqLykKIHsKLSAgICBzdGQ6
OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQorI2lmICFMT0df
RElTQUJMRUQKICAgICArK21fbWljcm9waG9uZVByb2NzQ2FsbGVkOworI2VuZGlmCiAKICAgICAv
LyBQdWxsIHRocm91Z2ggdGhlIHZwaW8gdW5pdCB0byBvdXIgbWljIGJ1ZmZlci4KICAgICBBdWRp
b0J1ZmZlckxpc3QmIGJ1ZmZlckxpc3QgPSBtX21pY3JvcGhvbmVTYW1wbGVCdWZmZXItPmJ1ZmZl
ckxpc3QoKTsKQEAgLTI5MSwxMCArMjg1LDEzIEBAIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVT
b3VyY2U6OnByb2Nlc3MKIAogICAgIGRvdWJsZSBhZGp1c3RlZEhvc3RUaW1lID0gbV9EVFNDb252
ZXJzaW9uUmF0aW8gKiB0aW1lU3RhbXAubUhvc3RUaW1lOwogICAgIHVpbnQ2NF90IHNhbXBsZVRp
bWUgPSB0aW1lU3RhbXAubVNhbXBsZVRpbWU7CisjaWYgIUxPR19ESVNBQkxFRAogICAgIGNoZWNr
VGltZXN0YW1wcyh0aW1lU3RhbXAsIHNhbXBsZVRpbWUsIGFkanVzdGVkSG9zdFRpbWUpOworI2Vu
ZGlmCiAgICAgbV9sYXRlc3RNaWNUaW1lU3RhbXAgPSBzYW1wbGVUaW1lOwogICAgIG1fbWljcm9w
aG9uZVNhbXBsZUJ1ZmZlci0+c2V0VGltZXMoYWRqdXN0ZWRIb3N0VGltZSwgc2FtcGxlVGltZSk7
CiAKKwogICAgIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVRpbWUoc2FtcGxlVGltZSwgbV9t
aWNyb3Bob25lUHJvY0Zvcm1hdC5zYW1wbGVSYXRlKCkpLCBtX21pY3JvcGhvbmVTYW1wbGVCdWZm
ZXItPmJ1ZmZlckxpc3QoKSwgbV9taWNyb3Bob25lUHJvY0Zvcm1hdCwgaW5OdW1iZXJGcmFtZXMp
OwogCiAgICAgcmV0dXJuIG5vRXJyOwpAQCAtMzIzLDkgKzMyMCwxMSBAQCB2b2lkIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2U6OmNsZWFudXBBdWRpCiAgICAgICAgIG1faW9Vbml0ID0gbnVsbHB0cjsK
ICAgICB9CiAKLSAgICBtX2lvVW5pdE5hbWUgPSBlbXB0eVN0cmluZygpOwogICAgIG1fbWljcm9w
aG9uZVNhbXBsZUJ1ZmZlciA9IG51bGxwdHI7CiAgICAgbV9zcGVha2VyU2FtcGxlQnVmZmVyID0g
bnVsbHB0cjsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgbV9pb1VuaXROYW1lID0gZW1wdHlTdHJp
bmcoKTsKKyNlbmRpZgogfQogCiBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpkZWZh
dWx0SW5wdXREZXZpY2UodWludDMyX3QqIGRldmljZUlEKQpAQCAtMzQyLDggKzM0MSw2IEBAIE9T
U3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmRlZmF1bHQKIAogT1NTdGF0dXMgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1VuaXRzKCkKIHsKLSAgICBBU1NFUlQobV9pbnRl
cm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7Ci0KICAgICBpZiAobV9pb1VuaXQpCiAgICAgICAgIHJl
dHVybiAwOwogCkBAIC0zNTUsNiArMzUyLDcgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZTo6c2V0dXBBdQogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCisjaWYgIUxPR19ESVNB
QkxFRAogICAgIENGU3RyaW5nUmVmIG5hbWUgPSBudWxscHRyOwogICAgIEF1ZGlvQ29tcG9uZW50
Q29weU5hbWUoaW9Db21wb25lbnQsICZuYW1lKTsKICAgICBpZiAobmFtZSkgewpAQCAtMzYyLDYg
KzM2MCw3IEBAIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQXUKICAgICAg
ICAgQ0ZSZWxlYXNlKG5hbWUpOwogICAgICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjpzZXR1cEF1ZGlvVW5pdHMoJXApIGNyZWF0ZWQgXCIlc1wiIGNvbXBvbmVudCIsIHRo
aXMsIG1faW9Vbml0TmFtZS51dGY4KCkuZGF0YSgpKTsKICAgICB9CisjZW5kaWYKIAogICAgIGF1
dG8gZXJyID0gQXVkaW9Db21wb25lbnRJbnN0YW5jZU5ldyhpb0NvbXBvbmVudCwgJm1faW9Vbml0
KTsKICAgICBpZiAoZXJyKSB7CkBAIC0zODMsOCArMzgyLDcgQEAgT1NTdGF0dXMgQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZTo6c2V0dXBBdQogICAgICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0
dXJlU291cmNlOjpzZXR1cEF1ZGlvVW5pdHMoJXApIHVuYWJsZSB0byBlbmFibGUgdnBpbyB1bml0
IG91dHB1dCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsK
ICAgICAgICAgcmV0dXJuIGVycjsKICAgICB9Ci0jZW5kaWYKLQorI2Vsc2UKICAgICBpZiAoIW1f
Y2FwdHVyZURldmljZUlEKSB7CiAgICAgICAgIGVyciA9IGRlZmF1bHRJbnB1dERldmljZSgmbV9j
YXB0dXJlRGV2aWNlSUQpOwogICAgICAgICBpZiAoZXJyKQpAQCAtMzk3LDYgKzM5NSw3IEBAIE9T
U3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQXUKICAgICAgICAgTE9HKE1lZGlh
LCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdWRpb1VuaXRzKCVwKSB1bmFibGUgdG8g
c2V0IHZwaW8gdW5pdCBjYXB0dXJlIGRldmljZSBJRCwgZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywg
KGludCllcnIsIChjaGFyKikmZXJyKTsKICAgICAgICAgcmV0dXJuIGVycjsKICAgICB9CisjZW5k
aWYKIAogICAgIGVyciA9IGNvbmZpZ3VyZU1pY3JvcGhvbmVQcm9jKCk7CiAgICAgaWYgKGVycikK
QEAgLTQxOCw1NiArNDE3LDUyIEBAIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNl
dHVwQXUKIAogdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEo
KQogewotICAgIHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5h
bFN0YXRlTG9jayk7Ci0gICAgICAgIGlmIChtX2lvVW5pdFN0YXJ0ZWQpCi0gICAgICAgICAgICBy
ZXR1cm47CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgICAgICBPU1N0YXR1cyBl
cnI7Ci0gICAgICAgIGlmICghbV9pb1VuaXQpIHsKLSAgICAgICAgICAgIGVyciA9IHNldHVwQXVk
aW9Vbml0cygpOwotICAgICAgICAgICAgaWYgKGVycikgewotICAgICAgICAgICAgICAgIGNsZWFu
dXBBdWRpb1VuaXRzKCk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKCFtX2lvVW5pdCk7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgQVNTRVJUKG1f
aW9Vbml0KTsKLSAgICAgICAgfQorICAgIGlmIChtX2lvVW5pdFN0YXJ0ZWQpCisgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBlcnIgPSBBdWRpb091dHB1dFVuaXRTdGFydChtX2lvVW5pdCk7Cisg
ICAgT1NTdGF0dXMgZXJyOworICAgIGlmICghbV9pb1VuaXQpIHsKKyAgICAgICAgZXJyID0gc2V0
dXBBdWRpb1VuaXRzKCk7CiAgICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICAgIExPRyhNZWRp
YSwgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnN0YXJ0KCVwKSBBdWRpb091dHB1dFVuaXRTdGFy
dCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZl
cnIpOworICAgICAgICAgICAgY2xlYW51cEF1ZGlvVW5pdHMoKTsKKyAgICAgICAgICAgIEFTU0VS
VCghbV9pb1VuaXQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgICAgIEFT
U0VSVChtX2lvVW5pdCk7CisgICAgfQogCi0gICAgICAgIG1faW9Vbml0U3RhcnRlZCA9IHRydWU7
CisgICAgZXJyID0gQXVkaW9PdXRwdXRVbml0U3RhcnQobV9pb1VuaXQpOworICAgIGlmIChlcnIp
IHsKKyAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3RhcnQoJXAp
IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0IGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIHRoaXMs
IChpbnQpZXJyLCAoY2hhciopJmVycik7CisgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgc2V0
TXV0ZWQoZmFsc2UpOworCisgICAgbV9pb1VuaXRTdGFydGVkID0gdHJ1ZTsKKyAgICBtX211dGVk
ID0gZmFsc2U7CiB9CiAKIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3RvcFByb2R1Y2lu
Z0RhdGEoKQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBpZiAoIW1faW9V
bml0IHx8ICFtX2lvVW5pdFN0YXJ0ZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHsKLSAgICAg
ICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KLSAg
ICAgICAgYXV0byBlcnIgPSBBdWRpb091dHB1dFVuaXRTdG9wKG1faW9Vbml0KTsKLSAgICAgICAg
aWYgKGVycikgewotICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZTo6c3RvcCglcCkgQXVkaW9PdXRwdXRVbml0U3RvcCBmYWlsZWQgd2l0aCBlcnJvciAlZCAoJS40
cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0gICAgICAgIG1faW9Vbml0U3RhcnRlZCA9IGZhbHNlOworICAgIGF1dG8gZXJy
ID0gQXVkaW9PdXRwdXRVbml0U3RvcChtX2lvVW5pdCk7CisgICAgaWYgKGVycikgeworICAgICAg
ICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdG9wKCVwKSBBdWRpb091dHB1
dFVuaXRTdG9wIGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAo
Y2hhciopJmVycik7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzZXRNdXRlZCh0cnVl
KTsKKyAgICBtX2lvVW5pdFN0YXJ0ZWQgPSBmYWxzZTsKKyAgICBtX211dGVkID0gdHJ1ZTsKIH0K
IAogT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c3VzcGVuZCgpCiB7Ci0gICAgc3Rk
Ojpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX2lvVW5pdCk7CiAKICAgICBpZiAobV9p
b1VuaXRTdGFydGVkKSB7CkBAIC00OTMsOCArNDg4LDcgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6c3VzcGVuZAogCiBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpy
ZXN1bWUoKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1faW50ZXJuYWxTdGF0
ZUxvY2spOwotCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQobV9pb1Vu
aXQpOwogICAgIEFTU0VSVCghbV9pb1VuaXRTdGFydGVkKTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5oCShyZXZpc2lvbiAyMTU1NTcpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04OCw4ICs4OCw2IEBAIHByaXZhdGU6CiAgICAgT1NTdGF0dXMgZGVmYXVsdE91
dHB1dERldmljZSh1aW50MzJfdCopOwogICAgIE9TU3RhdHVzIGRlZmF1bHRJbnB1dERldmljZSh1
aW50MzJfdCopOwogCi0gICAgdm9pZCBjaGVja1RpbWVzdGFtcHMoY29uc3QgQXVkaW9UaW1lU3Rh
bXAmLCB1aW50NjRfdCwgZG91YmxlKTsKLQogICAgIHN0YXRpYyBPU1N0YXR1cyBtaWNyb3Bob25l
Q2FsbGJhY2sodm9pZCosIEF1ZGlvVW5pdFJlbmRlckFjdGlvbkZsYWdzKiwgY29uc3QgQXVkaW9U
aW1lU3RhbXAqLCBVSW50MzIsIFVJbnQzMiwgQXVkaW9CdWZmZXJMaXN0Kik7CiAgICAgT1NTdGF0
dXMgcHJvY2Vzc01pY3JvcGhvbmVTYW1wbGVzKEF1ZGlvVW5pdFJlbmRlckFjdGlvbkZsYWdzJiwg
Y29uc3QgQXVkaW9UaW1lU3RhbXAmLCBVSW50MzIsIFVJbnQzMiwgQXVkaW9CdWZmZXJMaXN0Kik7
CiAKQEAgLTEwMCw3ICs5OCwxMyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBkb3VibGUgcHJlZmVy
cmVkSU9CdWZmZXJEdXJhdGlvbigpOwogCiAgICAgQXVkaW9Vbml0IG1faW9Vbml0IHsgbnVsbHB0
ciB9OworCisjaWYgIUxPR19ESVNBQkxFRAorICAgIHZvaWQgY2hlY2tUaW1lc3RhbXBzKGNvbnN0
IEF1ZGlvVGltZVN0YW1wJiwgdWludDY0X3QsIGRvdWJsZSk7CiAgICAgU3RyaW5nIG1faW9Vbml0
TmFtZTsKKyAgICB1aW50NjRfdCBtX3NwZWFrZXJQcm9jc0NhbGxlZCB7IDAgfTsKKyAgICB1aW50
NjRfdCBtX21pY3JvcGhvbmVQcm9jc0NhbGxlZCB7IDAgfTsKKyNlbmRpZgogCiAgICAgLy8gT25s
eSByZWFkL21vZGlmaWVkIGZyb20gdGhlIElPIHRocmVhZC4KICAgICBWZWN0b3I8UmVmPEF1ZGlv
U2FtcGxlRGF0YVNvdXJjZT4+IG1fYWN0aXZlU291cmNlczsKQEAgLTExMiwxMiArMTE2LDEwIEBA
IHByaXZhdGU6CiAKICAgICBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9taWNyb3Bob25lUHJv
Y0Zvcm1hdDsKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVCdWZmZXJMaXN0PiBtX21pY3JvcGhvbmVT
YW1wbGVCdWZmZXI7Ci0gICAgdWludDY0X3QgbV9taWNyb3Bob25lUHJvY3NDYWxsZWQgeyAwIH07
CiAgICAgdWludDY0X3QgbV9sYXRlc3RNaWNUaW1lU3RhbXAgeyAwIH07CiAKICAgICBDQUF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24gbV9zcGVha2VyUHJvY0Zvcm1hdDsKICAgICBSZWZQdHI8QXVkaW9T
YW1wbGVCdWZmZXJMaXN0PiBtX3NwZWFrZXJTYW1wbGVCdWZmZXI7Ci0gICAgdWludDY0X3QgbV9z
cGVha2VyUHJvY3NDYWxsZWQgeyAwIH07CiAKICAgICBkb3VibGUgbV9EVFNDb252ZXJzaW9uUmF0
aW8geyAwIH07CiAKQEAgLTEyNSw3ICsxMjcsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pb1Vu
aXRTdGFydGVkIHsgZmFsc2UgfTsKIAogICAgIExvY2sgbV9wZW5kaW5nU291cmNlUXVldWVMb2Nr
OwotICAgIExvY2sgbV9pbnRlcm5hbFN0YXRlTG9jazsKIAogICAgIG11dGFibGUgc3RkOjp1bmlx
dWVfcHRyPFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM+IG1fY2FwYWJpbGl0aWVzOwog
ICAgIG11dGFibGUgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzIG1fc3Vw
cG9ydGVkQ29uc3RyYWludHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307646</attachid>
            <date>2017-04-20 15:28:59 -0700</date>
            <delta_ts>2017-04-20 16:09:35 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>remove_audio_lock_patch_2.txt</filename>
            <type>text/plain</type>
            <size>12787</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTU1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA0LTIwICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0g
Q2xlYW51cCBhbmQgc2ltcGxpZnkgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMDY0CisKKyAgICAgICAgVGhl
cmUgaXMgbm8gbmVlZCBmb3IgYSBtdXRleCB0byBndWFyZCBhZ2FpbnN0IGludGVybmFsIHN0YXRl
IGNoYW5nZXMgYmVjYXVzZSB3ZQorICAgICAgICBkb24ndCBjdXJyZW50bHkgY2hhbmdlIGNvbmZp
Z3VyYXRpb24gYWZ0ZXIgdGhlIGF1ZGlvIHVuaXQgaXMgYWxsb2NhdGVkLiBPbmNlCisgICAgICAg
IHdlIGRvIHN1cHBvcnQgcmVjb25maWd1cmF0aW9uIG9uIHRoZSBmbHksIHdlIGNhbiBqdXN0IHN0
b3AgdGhlIG91dHB1dCB1bml0IGJlZm9yZQorICAgICAgICBjaGFuZ2luZyBjb25maWd1cmF0aW9u
IGJlY2F1c2UgdGhlIEkvTyBwcm9jIGlzbid0IGNhbGxlZCBpZiB0aGUgb3V0cHV0IHVuaXQKKyAg
ICAgICAgaXMgc3RvcHBlZCwgYW5kIEF1ZGlvT3V0cHV0VW5pdFN0b3AgYmxvY2tzIHVudGlsIHRo
ZSBhdWRpbyBkZXZpY2UgaGFzIHN0b3BwZWQuCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBi
eSBKZXIgTm9ibGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjp+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSk6IENhbGwgY2xlYW51cEF1ZGlvVW5pdHMK
KyAgICAgICAgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBsb2dpYy4gCisgICAgICAgIChXZWJDb3Jl
OjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpwcmVmZXJyZWRJT0J1ZmZlckR1cmF0aW9uKTogQ2hh
bmdlIHByZWZlcnJlZAorICAgICAgICBkdXJhdGlvbiBmcm9tIDIwbXMgdG8gNDBtcy4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNvbmZpZ3VyZU1pY3JvcGhvbmVQ
cm9jKTogU2V0IG1TYW1wbGVSYXRlIHRvIHRoZQorICAgICAgICBwcmVmZXJyZWQgc2FtcGxlIHJh
dGUgaWYgaXQgaXMgMC4KKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6
OmNvbmZpZ3VyZVNwZWFrZXJQcm9jKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVk
aW9DYXB0dXJlU291cmNlOjpwcm92aWRlU3BlYWtlckRhdGEpOiBPbmx5IGluY3JlbWVudCBjb3Vu
dGVyIGFuZAorICAgICAgICBjaGVjayB0aW1lc3RhbXBzIGluIGRlYnVnIGJ1aWxkcy4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByb2Nlc3NNaWNyb3Bob25lU2Ft
cGxlcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6
Y2xlYW51cEF1ZGlvVW5pdHMpOiBXZSBvbmx5IG5lZWQgdGhlIGF1ZGlvIHVuaXQKKyAgICAgICAg
bmFtZSBpbiBkZWJ1ZyBidWlsZHMuCisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjpzZXR1cEF1ZGlvVW5pdHMpOiBEaXR0by4gTm8gbW9yZSBpbnRlcm5hbCBzdGF0ZQor
ICAgICAgICBsb2NrLiBEb24ndCB0cnkgdG8gZ2V0IHRoZSBkZWZhdWx0IGlucHV0IGRldmljZSBv
biBpT1MuCisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdGFydFBy
b2R1Y2luZ0RhdGEpOiBObyBtb3JlIGludGVybmFsIHN0YXRlIGxvY2suCisgICAgICAgIEFzc2Vy
dCBpZiBub3QgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICAgICAgKFdlYkNvcmU6OkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdXNwZW5kKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpyZXN1bWUpOiBEaXR0by4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5o
OgorCiAyMDE3LTA0LTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBJbmNyZWFzZSBsYXJnZSBhbmltYXRpb24gY3V0b2ZmCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVB
dWRpb0NhcHR1cmVTb3VyY2UuY3BwCShyZXZpc2lvbiAyMTU1NzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxDb3JlTWVkaWEvQ01TeW5j
Lmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KICNpbmNsdWRlIDxzeXMvdGltZS5oPgor
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSAiQ29yZU1lZGlhU29mdExpbmsuaCIKIApAQCAtNzcsMTQgKzc4LDEyIEBA
IFJlZlB0cjxDb3JlQXVkaW9DYXB0dXJlU291cmNlPiBDb3JlQXVkaW8KICAgICByZXR1cm4gc291
cmNlOwogfQogCi0KIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkNhcHR1cmVGYWN0b3J5JiBDb3JlQXVk
aW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk+IGZhY3Rvcnk7CiAgICAgcmV0dXJuIGZhY3Rv
cnkuZ2V0KCk7CiB9CiAKLQogQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Q29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZShjb25zdCBTdHJpbmcmIGRldmljZUlEKQogICAgIDogUmVhbHRpbWVNZWRpYVNvdXJj
ZShlbXB0eVN0cmluZygpLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbywgZW1wdHlT
dHJpbmcoKSkKICAgICAsIG1fY2FwdHVyZURldmljZUlEKDApCkBAIC0xMTUsMjggKzExNCwxNSBA
QCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpDb3JlQXVkaW9DYXB0dXJlCiBDb3JlQXVkaW9DYXB0
dXJlU291cmNlOjp+Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSgpCiB7CiAgICAgc3VzcGVuZCgpOwot
Ci0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0K
LSAgICBpZiAobV9pb1VuaXQpCi0gICAgICAgIEF1ZGlvQ29tcG9uZW50SW5zdGFuY2VEaXNwb3Nl
KG1faW9Vbml0KTsKLQotICAgIG1faW9Vbml0TmFtZSA9IGVtcHR5U3RyaW5nKCk7Ci0KLSAgICBt
X21pY3JvcGhvbmVTYW1wbGVCdWZmZXIgPSBudWxscHRyOwotICAgIG1fc3BlYWtlclNhbXBsZUJ1
ZmZlciA9IG51bGxwdHI7Ci0KLSAgICBtX3NwZWFrZXJQcm9jc0NhbGxlZCA9IDA7Ci0gICAgbV9t
aWNyb3Bob25lUHJvY3NDYWxsZWQgID0gMDsKLSAgICBtX2xhdGVzdE1pY1RpbWVTdGFtcCA9IDA7
CisgICAgY2xlYW51cEF1ZGlvVW5pdHMoKTsKIAogICAgIG1fYWN0aXZlU291cmNlcy5jbGVhcigp
OwogICAgIG1fcGVuZGluZ1NvdXJjZXMuY2xlYXIoKTsKIAotICAgIG1fc3BlYWtlclNhbXBsZUJ1
ZmZlciA9IG51bGxwdHI7Ci0KLSAgICBtX2lvVW5pdEluaXRpYWxpemVkID0gZmFsc2U7Ci0gICAg
bV9pb1VuaXRTdGFydGVkICA9IGZhbHNlOworI2lmICFMT0dfRElTQUJMRUQKKyAgICBtX3NwZWFr
ZXJQcm9jc0NhbGxlZCA9IDA7CisgICAgbV9taWNyb3Bob25lUHJvY3NDYWxsZWQgID0gMDsKKyNl
bmRpZgogfQogCiBkb3VibGUgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6cHJlZmVycmVkU2FtcGxl
UmF0ZSgpCkBAIC0xNDksNyArMTM1LDcgQEAgZG91YmxlIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6
OnByZWZlcnJlZAogZG91YmxlIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByZWZlcnJlZElPQnVm
ZmVyRHVyYXRpb24oKQogewogICAgIC8vIEZJWE1FOiBHZXQgdGhlIHByZWZlcnJlZCBkdXJhdGlv
biBkeW5hbWljYWxseSAtIGtBVVZvaWNlSU9Qcm9wZXJ0eV9QcmVmZXJyZWRIV0Jsb2NrU2l6ZUlu
U2Vjb25kcyAvIFtbQVZBdWRpb1Nlc3Npb24gc2hhcmVkSW5zdGFuY2VdIHByZWZlcnJlZElPQnVm
ZmVyRHVyYXRpb25dCi0gICAgc3RhdGljIGNvbnN0IGZsb2F0IHByZWZlcnJlZER1cmF0aW9uID0g
MC4wMjsKKyAgICBzdGF0aWMgY29uc3QgZmxvYXQgcHJlZmVycmVkRHVyYXRpb24gPSAwLjA0Owog
ICAgIHJldHVybiBwcmVmZXJyZWREdXJhdGlvbjsKIH0KIApAQCAtMTcxLDYgKzE1Nyw4IEBAIE9T
U3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNvbmZpZ3UKICAgICAgICAgcmV0dXJuIGVy
cjsKICAgICB9CiAKKyAgICBpZiAoIW1pY3JvcGhvbmVQcm9jRm9ybWF0Lm1TYW1wbGVSYXRlKQor
ICAgICAgICBtaWNyb3Bob25lUHJvY0Zvcm1hdC5tU2FtcGxlUmF0ZSA9IHByZWZlcnJlZFNhbXBs
ZVJhdGUoKTsKICAgICBtX21pY3JvcGhvbmVTYW1wbGVCdWZmZXIgPSBBdWRpb1NhbXBsZUJ1ZmZl
ckxpc3Q6OmNyZWF0ZShtaWNyb3Bob25lUHJvY0Zvcm1hdCwgcHJlZmVycmVkSU9CdWZmZXJEdXJh
dGlvbigpICogbWljcm9waG9uZVByb2NGb3JtYXQubVNhbXBsZVJhdGUgKiAyKTsKICAgICBtX21p
Y3JvcGhvbmVQcm9jRm9ybWF0ID0gbWljcm9waG9uZVByb2NGb3JtYXQ7CiAKQEAgLTE3OSw4ICsx
NjcsNiBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjb25maWd1CiAKIE9TU3Rh
dHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNvbmZpZ3VyZVNwZWFrZXJQcm9jKCkKIHsKLSAg
ICBBU1NFUlQobV9pbnRlcm5hbFN0YXRlTG9jay5pc0hlbGQoKSk7Ci0KICAgICBBVVJlbmRlckNh
bGxiYWNrU3RydWN0IGNhbGxiYWNrID0geyBzcGVha2VyQ2FsbGJhY2ssIHRoaXMgfTsKICAgICBh
dXRvIGVyciA9IEF1ZGlvVW5pdFNldFByb3BlcnR5KG1faW9Vbml0LCBrQXVkaW9Vbml0UHJvcGVy
dHlfU2V0UmVuZGVyQ2FsbGJhY2ssIGtBdWRpb1VuaXRTY29wZV9HbG9iYWwsIG91dHB1dEJ1cywg
JmNhbGxiYWNrLCBzaXplb2YoY2FsbGJhY2spKTsKICAgICBpZiAoZXJyKSB7CkBAIC0xOTcsNiAr
MTgzLDggQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y29uZmlndQogICAgICAg
ICByZXR1cm4gZXJyOwogICAgIH0KIAorICAgIGlmICghc3BlYWtlclByb2NGb3JtYXQubVNhbXBs
ZVJhdGUpCisgICAgICAgIHNwZWFrZXJQcm9jRm9ybWF0Lm1TYW1wbGVSYXRlID0gcHJlZmVycmVk
U2FtcGxlUmF0ZSgpOwogICAgIG1fc3BlYWtlclNhbXBsZUJ1ZmZlciA9IEF1ZGlvU2FtcGxlQnVm
ZmVyTGlzdDo6Y3JlYXRlKHNwZWFrZXJQcm9jRm9ybWF0LCBwcmVmZXJyZWRJT0J1ZmZlckR1cmF0
aW9uKCkgKiBzcGVha2VyUHJvY0Zvcm1hdC5tU2FtcGxlUmF0ZSAqIDIpOwogICAgIG1fc3BlYWtl
clByb2NGb3JtYXQgPSBzcGVha2VyUHJvY0Zvcm1hdDsKIApAQCAtMjIwLDE2ICsyMDgsMjAgQEAg
dm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpyZW1vdmVFY2hvQwogICAgIG1fcGVuZGluZ1Nv
dXJjZXMuYXBwZW5kKHsgUXVldWVBY3Rpb246OlJlbW92ZSwgc291cmNlIH0pOwogfQogCisjaWYg
IUxPR19ESVNBQkxFRAogdm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjaGVja1RpbWVzdGFt
cHMoY29uc3QgQXVkaW9UaW1lU3RhbXAmIHRpbWVTdGFtcCwgdWludDY0X3Qgc2FtcGxlVGltZSwg
ZG91YmxlIGhvc3RUaW1lKQogewogICAgIGlmICghdGltZVN0YW1wLm1TYW1wbGVUaW1lIHx8IHNh
bXBsZVRpbWUgPT0gbV9sYXRlc3RNaWNUaW1lU3RhbXAgfHwgIWhvc3RUaW1lKQogICAgICAgICBM
T0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjaGVja1RpbWVzdGFtcHM6IHVudXN1
YWwgdGltZXN0YW1wcywgc2FtcGxlIHRpbWUgPSAlbGxkLCBwcmV2aW91cyBzYW1wbGUgdGltZSA9
ICVsbGQsIGhvc3RUaW1lICVmIiwgc2FtcGxlVGltZSwgbV9sYXRlc3RNaWNUaW1lU3RhbXAsIGhv
c3RUaW1lKTsKIH0KKyNlbmRpZgogCiBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpw
cm92aWRlU3BlYWtlckRhdGEoQXVkaW9Vbml0UmVuZGVyQWN0aW9uRmxhZ3MmIC8qaW9BY3Rpb25G
bGFncyovLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYgdGltZVN0YW1wLCBVSW50MzIgLyppbkJ1c051
bWJlciovLCBVSW50MzIgaW5OdW1iZXJGcmFtZXMsIEF1ZGlvQnVmZmVyTGlzdCogaW9EYXRhKQog
ewogICAgIC8vIENhbGxlZCB3aGVuIHRoZSBhdWRpbyB1bml0IG5lZWRzIGRhdGEgdG8gcGxheSB0
aHJvdWdoIHRoZSBzcGVha2Vycy4KKyNpZiAhTE9HX0RJU0FCTEVECiAgICAgKyttX3NwZWFrZXJQ
cm9jc0NhbGxlZDsKKyNlbmRpZgogCiAgICAgaWYgKG1fc3BlYWtlclNhbXBsZUJ1ZmZlci0+c2Ft
cGxlQ2FwYWNpdHkoKSA8IGluTnVtYmVyRnJhbWVzKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OnByb3ZpZGVTcGVha2VyRGF0YTogc3BlYWtlciBzYW1wbGUg
YnVmZmVyIHNpemUgKCVkKSB0b28gc21hbGwgZm9yIGFtb3VudCBvZiBzYW1wbGUgZGF0YSByZXF1
ZXN0ZWQgKCVkKSEiLCBtX3NwZWFrZXJTYW1wbGVCdWZmZXItPnNhbXBsZUNhcGFjaXR5KCksIChp
bnQpaW5OdW1iZXJGcmFtZXMpOwpAQCAtMjYwLDcgKzI1Miw5IEBAIE9TU3RhdHVzIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2U6OnByb3ZpZGUKIAogICAgIGRvdWJsZSBhZGp1c3RlZEhvc3RUaW1lID0g
bV9EVFNDb252ZXJzaW9uUmF0aW8gKiB0aW1lU3RhbXAubUhvc3RUaW1lOwogICAgIHVpbnQ2NF90
IHNhbXBsZVRpbWUgPSB0aW1lU3RhbXAubVNhbXBsZVRpbWU7CisjaWYgIUxPR19ESVNBQkxFRAog
ICAgIGNoZWNrVGltZXN0YW1wcyh0aW1lU3RhbXAsIHNhbXBsZVRpbWUsIGFkanVzdGVkSG9zdFRp
bWUpOworI2VuZGlmCiAgICAgbV9zcGVha2VyU2FtcGxlQnVmZmVyLT5zZXRUaW1lcyhhZGp1c3Rl
ZEhvc3RUaW1lLCBzYW1wbGVUaW1lKTsKIAogICAgIEF1ZGlvQnVmZmVyTGlzdCYgYnVmZmVyTGlz
dCA9IG1fc3BlYWtlclNhbXBsZUJ1ZmZlci0+YnVmZmVyTGlzdCgpOwpAQCAtMjg2LDkgKzI4MCw5
IEBAIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNwZWFrZXIKIAogT1NTdGF0dXMg
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6cHJvY2Vzc01pY3JvcGhvbmVTYW1wbGVzKEF1ZGlvVW5p
dFJlbmRlckFjdGlvbkZsYWdzJiBpb0FjdGlvbkZsYWdzLCBjb25zdCBBdWRpb1RpbWVTdGFtcCYg
dGltZVN0YW1wLCBVSW50MzIgaW5CdXNOdW1iZXIsIFVJbnQzMiBpbk51bWJlckZyYW1lcywgQXVk
aW9CdWZmZXJMaXN0KiAvKmlvRGF0YSovKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBs
b2NrKG1faW50ZXJuYWxTdGF0ZUxvY2spOwotCisjaWYgIUxPR19ESVNBQkxFRAogICAgICsrbV9t
aWNyb3Bob25lUHJvY3NDYWxsZWQ7CisjZW5kaWYKIAogICAgIC8vIFB1bGwgdGhyb3VnaCB0aGUg
dnBpbyB1bml0IHRvIG91ciBtaWMgYnVmZmVyLgogICAgIEF1ZGlvQnVmZmVyTGlzdCYgYnVmZmVy
TGlzdCA9IG1fbWljcm9waG9uZVNhbXBsZUJ1ZmZlci0+YnVmZmVyTGlzdCgpOwpAQCAtMzAwLDEw
ICsyOTQsMTMgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6cHJvY2VzcwogCiAg
ICAgZG91YmxlIGFkanVzdGVkSG9zdFRpbWUgPSBtX0RUU0NvbnZlcnNpb25SYXRpbyAqIHRpbWVT
dGFtcC5tSG9zdFRpbWU7CiAgICAgdWludDY0X3Qgc2FtcGxlVGltZSA9IHRpbWVTdGFtcC5tU2Ft
cGxlVGltZTsKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAgY2hlY2tUaW1lc3RhbXBzKHRpbWVTdGFt
cCwgc2FtcGxlVGltZSwgYWRqdXN0ZWRIb3N0VGltZSk7CisjZW5kaWYKICAgICBtX2xhdGVzdE1p
Y1RpbWVTdGFtcCA9IHNhbXBsZVRpbWU7CiAgICAgbV9taWNyb3Bob25lU2FtcGxlQnVmZmVyLT5z
ZXRUaW1lcyhhZGp1c3RlZEhvc3RUaW1lLCBzYW1wbGVUaW1lKTsKIAorCiAgICAgYXVkaW9TYW1w
bGVzQXZhaWxhYmxlKE1lZGlhVGltZShzYW1wbGVUaW1lLCBtX21pY3JvcGhvbmVQcm9jRm9ybWF0
LnNhbXBsZVJhdGUoKSksIG1fbWljcm9waG9uZVNhbXBsZUJ1ZmZlci0+YnVmZmVyTGlzdCgpLCBt
X21pY3JvcGhvbmVQcm9jRm9ybWF0LCBpbk51bWJlckZyYW1lcyk7CiAKICAgICByZXR1cm4gbm9F
cnI7CkBAIC0zMzIsOSArMzI5LDExIEBAIHZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y2xl
YW51cEF1ZGkKICAgICAgICAgbV9pb1VuaXQgPSBudWxscHRyOwogICAgIH0KIAotICAgIG1faW9V
bml0TmFtZSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9taWNyb3Bob25lU2FtcGxlQnVmZmVyID0g
bnVsbHB0cjsKICAgICBtX3NwZWFrZXJTYW1wbGVCdWZmZXIgPSBudWxscHRyOworI2lmICFMT0df
RElTQUJMRUQKKyAgICBtX2lvVW5pdE5hbWUgPSBlbXB0eVN0cmluZygpOworI2VuZGlmCiB9CiAK
IE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmRlZmF1bHRJbnB1dERldmljZSh1aW50
MzJfdCogZGV2aWNlSUQpCkBAIC0zNTEsOCArMzUwLDYgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6ZGVmYXVsdAogCiBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpz
ZXR1cEF1ZGlvVW5pdHMoKQogewotICAgIEFTU0VSVChtX2ludGVybmFsU3RhdGVMb2NrLmlzSGVs
ZCgpKTsKLQogICAgIGlmIChtX2lvVW5pdCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTM2NCw2
ICszNjEsNyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzZXR1cEF1CiAgICAg
ICAgIHJldHVybiAtMTsKICAgICB9CiAKKyNpZiAhTE9HX0RJU0FCTEVECiAgICAgQ0ZTdHJpbmdS
ZWYgbmFtZSA9IG51bGxwdHI7CiAgICAgQXVkaW9Db21wb25lbnRDb3B5TmFtZShpb0NvbXBvbmVu
dCwgJm5hbWUpOwogICAgIGlmIChuYW1lKSB7CkBAIC0zNzEsNiArMzY5LDcgQEAgT1NTdGF0dXMg
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdQogICAgICAgICBDRlJlbGVhc2UobmFtZSk7
CiAgICAgICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQXVkaW9V
bml0cyglcCkgY3JlYXRlZCBcIiVzXCIgY29tcG9uZW50IiwgdGhpcywgbV9pb1VuaXROYW1lLnV0
ZjgoKS5kYXRhKCkpOwogICAgIH0KKyNlbmRpZgogCiAgICAgYXV0byBlcnIgPSBBdWRpb0NvbXBv
bmVudEluc3RhbmNlTmV3KGlvQ29tcG9uZW50LCAmbV9pb1VuaXQpOwogICAgIGlmIChlcnIpIHsK
QEAgLTM5Miw4ICszOTEsNyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzZXR1
cEF1CiAgICAgICAgIExPRyhNZWRpYSwgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHVwQXVk
aW9Vbml0cyglcCkgdW5hYmxlIHRvIGVuYWJsZSB2cGlvIHVuaXQgb3V0cHV0LCBlcnJvciAlZCAo
JS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZlcnIpOwogICAgICAgICByZXR1cm4gZXJy
OwogICAgIH0KLSNlbmRpZgotCisjZWxzZQogICAgIGlmICghbV9jYXB0dXJlRGV2aWNlSUQpIHsK
ICAgICAgICAgZXJyID0gZGVmYXVsdElucHV0RGV2aWNlKCZtX2NhcHR1cmVEZXZpY2VJRCk7CiAg
ICAgICAgIGlmIChlcnIpCkBAIC00MDYsNiArNDA0LDcgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6c2V0dXBBdQogICAgICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJl
U291cmNlOjpzZXR1cEF1ZGlvVW5pdHMoJXApIHVuYWJsZSB0byBzZXQgdnBpbyB1bml0IGNhcHR1
cmUgZGV2aWNlIElELCBlcnJvciAlZCAoJS40cykiLCB0aGlzLCAoaW50KWVyciwgKGNoYXIqKSZl
cnIpOwogICAgICAgICByZXR1cm4gZXJyOwogICAgIH0KKyNlbmRpZgogCiAgICAgZXJyID0gY29u
ZmlndXJlTWljcm9waG9uZVByb2MoKTsKICAgICBpZiAoZXJyKQpAQCAtNDI3LDU2ICs0MjYsNTIg
QEAgT1NTdGF0dXMgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6c2V0dXBBdQogCiB2b2lkIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiB7Ci0gICAgewotICAgICAg
ICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLSAgICAg
ICAgaWYgKG1faW9Vbml0U3RhcnRlZCkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwogCi0gICAgICAgIE9TU3RhdHVzIGVycjsKLSAgICAgICAgaWYgKCFt
X2lvVW5pdCkgewotICAgICAgICAgICAgZXJyID0gc2V0dXBBdWRpb1VuaXRzKCk7Ci0gICAgICAg
ICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgICAgICAgY2xlYW51cEF1ZGlvVW5pdHMoKTsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQoIW1faW9Vbml0KTsKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBBU1NFUlQobV9pb1VuaXQpOwotICAgICAgICB9
CisgICAgaWYgKG1faW9Vbml0U3RhcnRlZCkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGVy
ciA9IEF1ZGlvT3V0cHV0VW5pdFN0YXJ0KG1faW9Vbml0KTsKKyAgICBPU1N0YXR1cyBlcnI7Cisg
ICAgaWYgKCFtX2lvVW5pdCkgeworICAgICAgICBlcnIgPSBzZXR1cEF1ZGlvVW5pdHMoKTsKICAg
ICAgICAgaWYgKGVycikgewotICAgICAgICAgICAgTE9HKE1lZGlhLCAiQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZTo6c3RhcnQoJXApIEF1ZGlvT3V0cHV0VW5pdFN0YXJ0IGZhaWxlZCB3aXRoIGVycm9y
ICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJyLCAoY2hhciopJmVycik7CisgICAgICAgICAgICBj
bGVhbnVwQXVkaW9Vbml0cygpOworICAgICAgICAgICAgQVNTRVJUKCFtX2lvVW5pdCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKyAgICAgICAgQVNTRVJUKG1faW9Vbml0KTsKKyAg
ICB9CiAKLSAgICAgICAgbV9pb1VuaXRTdGFydGVkID0gdHJ1ZTsKKyAgICBlcnIgPSBBdWRpb091
dHB1dFVuaXRTdGFydChtX2lvVW5pdCk7CisgICAgaWYgKGVycikgeworICAgICAgICBMT0coTWVk
aWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdGFydCglcCkgQXVkaW9PdXRwdXRVbml0U3Rh
cnQgZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikm
ZXJyKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBzZXRNdXRlZChmYWxzZSk7CisKKyAg
ICBtX2lvVW5pdFN0YXJ0ZWQgPSB0cnVlOworICAgIG1fbXV0ZWQgPSBmYWxzZTsKIH0KIAogdm9p
ZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCiB7CisgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKKwogICAgIGlmICghbV9pb1VuaXQgfHwgIW1faW9Vbml0U3Rh
cnRlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgewotICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8
TG9jaz4gbG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQotICAgICAgICBhdXRvIGVyciA9IEF1
ZGlvT3V0cHV0VW5pdFN0b3AobV9pb1VuaXQpOwotICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAg
ICAgICBMT0coTWVkaWEsICJDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdG9wKCVwKSBBdWRpb091
dHB1dFVuaXRTdG9wIGZhaWxlZCB3aXRoIGVycm9yICVkICglLjRzKSIsIHRoaXMsIChpbnQpZXJy
LCAoY2hhciopJmVycik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAg
bV9pb1VuaXRTdGFydGVkID0gZmFsc2U7CisgICAgYXV0byBlcnIgPSBBdWRpb091dHB1dFVuaXRT
dG9wKG1faW9Vbml0KTsKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIExPRyhNZWRpYSwgIkNvcmVB
dWRpb0NhcHR1cmVTb3VyY2U6OnN0b3AoJXApIEF1ZGlvT3V0cHV0VW5pdFN0b3AgZmFpbGVkIHdp
dGggZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKKyAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHNldE11dGVkKHRydWUpOworICAgIG1faW9Vbml0U3Rh
cnRlZCA9IGZhbHNlOworICAgIG1fbXV0ZWQgPSB0cnVlOwogfQogCiBPU1N0YXR1cyBDb3JlQXVk
aW9DYXB0dXJlU291cmNlOjpzdXNwZW5kKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4g
bG9jayhtX2ludGVybmFsU3RhdGVMb2NrKTsKLQorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAgICAgQVNTRVJUKG1faW9Vbml0KTsKIAogICAgIGlmIChtX2lvVW5pdFN0YXJ0ZWQpIHsKQEAg
LTUwMiw4ICs0OTcsNyBAQCBPU1N0YXR1cyBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpzdXNwZW5k
CiAKIE9TU3RhdHVzIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OnJlc3VtZSgpCiB7Ci0gICAgc3Rk
Ojpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9pbnRlcm5hbFN0YXRlTG9jayk7Ci0KKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX2lvVW5pdCk7CiAgICAgQVNTRVJUKCFt
X2lvVW5pdFN0YXJ0ZWQpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>