<?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>197126</bug_id>
          
          <creation_ts>2019-04-19 16:27:41 -0700</creation_ts>
          <short_desc>[WebGPU] Move swap chain methods from GPUDevice to GPUCanvasContext</short_desc>
          <delta_ts>2019-04-22 11:42:22 -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="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1528944</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-04-19 16:27:41 -0700</bug_when>
    <thetext>[WebGPU] Move swap chain methods from GPUDevice to GPUCanvasContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528963</commentid>
    <comment_count>1</comment_count>
      <attachid>367854</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-04-19 16:51:29 -0700</bug_when>
    <thetext>Created attachment 367854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529300</commentid>
    <comment_count>2</comment_count>
      <attachid>367854</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-04-22 10:54:14 -0700</bug_when>
    <thetext>Comment on attachment 367854
Patch

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

&gt; Source/WebCore/Modules/webgpu/GPUCanvasContext.idl:36
&gt; +    GPUTextureUsageFlags usage; // = GPUTextureUsage.OUTPUT_ATTACHMENT;

Please leave the &quot;FIXME&quot; in here so we can find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529302</commentid>
    <comment_count>3</comment_count>
      <attachid>367952</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-04-22 11:02:48 -0700</bug_when>
    <thetext>Created attachment 367952
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529326</commentid>
    <comment_count>4</comment_count>
      <attachid>367952</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-22 11:41:22 -0700</bug_when>
    <thetext>Comment on attachment 367952
Patch for landing

Clearing flags on attachment: 367952

Committed r244507: &lt;https://trac.webkit.org/changeset/244507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529327</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-22 11:41:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529328</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-22 11:42:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/50101236&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367854</attachid>
            <date>2019-04-19 16:51:29 -0700</date>
            <delta_ts>2019-04-22 11:02:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197126-20190419165129.patch</filename>
            <type>text/plain</type>
            <size>25180</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY2ZmM3MzhlMjI2OTNh
NDg3M2QzN2M4NzJhNzI0OWQxNzMwNjEyMy4uNzg4YTE4NDM0MThjYWY2MjM1ZGE0Njk2MjUxOTRh
MWEyODU5ODA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTA0LTE5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gTW92ZSBz
d2FwIGNoYWluIG1ldGhvZHMgZnJvbSBHUFVEZXZpY2UgdG8gR1BVQ2FudmFzQ29udGV4dAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MTI2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR1BVU3dhcENoYWlu
cyBhcmUgbm93IGNvbmZpZ3VyZWQgdmlhIEdQVUNhbnZhc0NvbnRleHQgaW5zdGVhZCBvZiBHUFVE
ZXZpY2UuIENvdmVycyBXZWJHUFUgQVBJIAorICAgICAgICBwdWxsIHJlcXVlc3QgIzI2Mi4KKwor
ICAgICAgICBFeGlzdGluZyBXZWJHUFUgdGVzdHMgdXBkYXRlZCB0byBtYXRjaC4KKworICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVQ2FudmFzQ29udGV4dDo6Y29uZmlndXJlU3dhcENoYWluKToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVUNhbnZhc0NvbnRleHQ6OnJlcGxhY2VTd2FwQ2hhaW4pOiBEZWxldGVkLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpjcmVhdGVT
d2FwQ2hhaW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpkZXZpY2UpOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy93ZWJncHUvV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3I6OmFzR1BVU3dhcENoYWlu
RGVzY3JpcHRvciBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dhcENo
YWluRGVzY3JpcHRvci5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6c2V0U3dh
cENoYWluKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6dHJ5Q3JlYXRlU3dhcENoYWlu
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yOjpHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dh
cENoYWluTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVTd2FwQ2hhaW46OnRyeUNyZWF0
ZSk6CisKIDIwMTktMDQtMTkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU10gQWRkIHF1aXJrcyB0byBkaXNhYmxlIGF1dG9jb3JyZWN0aW9uIGFu
ZCBhdXRvY2FwaXRhbGl6YXRpb24gaW4gaGlkZGVuIGVkaXRhYmxlIGFyZWFzIG9uIHNvbWUgd2Vi
c2l0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZh
c0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29u
dGV4dC5jcHAKaW5kZXggOGRjMzZkZmQzODUyZGRjZTYyOGY5MmM1MjRlM2I2Zjg1ZGU2YzU2MS4u
MGJhNDAwMzk0OGI0NmY4ZDZhMTc3ZTEwM2NlYjUyODgzNDExYTY2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5jcHAKQEAgLTI1LDgg
KzI1LDkgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVUNhbnZhc0NvbnRl
eHQuaCIKLQogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmgiCiAKICNp
ZiBFTkFCTEUoV0VCR1BVKQogCkBAIC01MCwxNSArNTEsMjcgQEAgR1BVQ2FudmFzQ29udGV4dDo6
R1BVQ2FudmFzQ29udGV4dChDYW52YXNCYXNlJiBjYW52YXMpCiAgICAgOiBHUFVCYXNlZENhbnZh
c1JlbmRlcmluZ0NvbnRleHQoY2FudmFzKQogewogfQotCi12b2lkIEdQVUNhbnZhc0NvbnRleHQ6
OnJlcGxhY2VTd2FwQ2hhaW4oUmVmPFdlYkdQVVN3YXBDaGFpbj4mJiBuZXdTd2FwQ2hhaW4pCisg
ICAgCitSZWY8V2ViR1BVU3dhcENoYWluPiBHUFVDYW52YXNDb250ZXh0Ojpjb25maWd1cmVTd2Fw
Q2hhaW4oY29uc3QgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsKLSAg
ICBBU1NFUlQobmV3U3dhcENoYWluLT5zd2FwQ2hhaW4oKSk7Ci0KLSAgICBpZiAobV9zd2FwQ2hh
aW4pCi0gICAgICAgIG1fc3dhcENoYWluLT5kZXN0cm95KCk7Ci0KLSAgICBtX3N3YXBDaGFpbiA9
IFdURk1vdmUobmV3U3dhcENoYWluKTsKKyAgICBhdXRvIGdwdURlc2NyaXB0b3IgPSBkZXNjcmlw
dG9yLmFzR1BVU3dhcENoYWluRGVzY3JpcHRvcigpOworICAgIGlmICghZ3B1RGVzY3JpcHRvcikK
KyAgICAgICAgcmV0dXJuIFdlYkdQVVN3YXBDaGFpbjo6Y3JlYXRlKG51bGxwdHIpOworICAgIAor
ICAgIGF1dG8gZ3B1U3dhcENoYWluID0gR1BVU3dhcENoYWluOjp0cnlDcmVhdGUoKmdwdURlc2Ny
aXB0b3IsIGNhbnZhc0Jhc2UoKS53aWR0aCgpLCBjYW52YXNCYXNlKCkuaGVpZ2h0KCkpOworICAg
IGJvb2wgc3VjY2VzcyA9IGdwdVN3YXBDaGFpbjsKKyAgICBhdXRvIG5ld1N3YXBDaGFpbiA9IFdl
YkdQVVN3YXBDaGFpbjo6Y3JlYXRlKFdURk1vdmUoZ3B1U3dhcENoYWluKSk7CisgICAgCisgICAg
Ly8gVXBvbiBzdWNjZXNzLCBpbnZhbGlkYXRlIGFuZCByZXBsYWNlIGFueSBleGlzdGluZyBzd2Fw
IGNoYWluLgorICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgIC8vIEZJWE1FOiBUZXN0IHRoYXQg
dGhpcyB3b3JrcyBhcyBleHBlY3RlZCB3aXRoIGVycm9yIHJlcG9ydGluZy4KKyAgICAgICAgaWYg
KG1fc3dhcENoYWluKQorICAgICAgICAgICAgbV9zd2FwQ2hhaW4tPmRlc3Ryb3koKTsKKyAgICAg
ICAgCisgICAgICAgIG1fc3dhcENoYWluID0gbmV3U3dhcENoYWluLmNvcHlSZWYoKTsKKyAgICB9
CisgICAgCisgICAgcmV0dXJuIG5ld1N3YXBDaGFpbjsKIH0KIAogQ0FMYXllciogR1BVQ2FudmFz
Q29udGV4dDo6cGxhdGZvcm1MYXllcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmgKaW5kZXggNzIzNGQ5YmU0OTg3YWQzYjkwYTg1
ZjMzZGU1ZGU1ZTJiYzM2ZWI1NC4uZDJjMWMzY2E4YmUyZDI5MGFjMTFhYjI5NWVjNzZjN2IwMmMw
YzMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFz
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0Nv
bnRleHQuaApAQCAtMzQsNiArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVj
dCBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yOworCiBjbGFzcyBHUFVDYW52YXNDb250ZXh0IGZp
bmFsIDogcHVibGljIEdQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChHUFVDYW52YXNDb250ZXh0KTsKIHB1YmxpYzoKQEAgLTQxLDcgKzQz
LDcgQEAgcHVibGljOgogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZhcygpIGNvbnN0IHsg
cmV0dXJuIGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOyB9CiAKLSAg
ICB2b2lkIHJlcGxhY2VTd2FwQ2hhaW4oUmVmPFdlYkdQVVN3YXBDaGFpbj4mJik7CisgICAgUmVm
PFdlYkdQVVN3YXBDaGFpbj4gY29uZmlndXJlU3dhcENoYWluKGNvbnN0IFdlYkdQVVN3YXBDaGFp
bkRlc2NyaXB0b3ImKTsKIAogcHJpdmF0ZToKICAgICBHUFVDYW52YXNDb250ZXh0KENhbnZhc0Jh
c2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZh
c0NvbnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29u
dGV4dC5pZGwKaW5kZXggNDdjNzBmZmYxZGIyN2UwYTEyYjc3OTRiMmNjMWUxMGU1Mjc4NWJkNC4u
ZWE2Y2YxODFjOTBmMmQ4Zjk5NjA2ZDVjZjIxMjM5MThkMzNhZmVmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5pZGwKQEAgLTI0LDEw
ICsyNCwyOSBAQAogICovCiAvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9i
L21hc3Rlci9kZXNpZ24vc2tldGNoLndlYmlkbAogCit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgR1BV
VGV4dHVyZVVzYWdlRmxhZ3M7CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUsCisgICAgSW1wbGVtZW50ZWRBcz1XZWJHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yCitdIGRpY3Rpb25hcnkgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciB7CisgICAg
cmVxdWlyZWQgV2ViR1BVRGV2aWNlIGRldmljZTsKKyAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9y
bWF0IGZvcm1hdDsKKyAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsgLy8gPSBHUFVUZXh0
dXJlVXNhZ2UuT1VUUFVUX0FUVEFDSE1FTlQ7Cit9OworCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCiBdIGludGVyZmFjZSBHUFVDYW52YXND
b250ZXh0IHsKICAgICAvLyBiYWNrLXJlZmVyZW5jZSB0byB0aGUgY2FudmFzCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50IGNhbnZhczsKKworICAgIC8vIENhbGxpbmcg
Y29uZmlndXJlU3dhcENoYWluIGEgc2Vjb25kIHRpbWUgaW52YWxpZGF0ZXMgdGhlIHByZXZpb3Vz
IG9uZSwKKyAgICAvLyBhbmQgYWxsIG9mIHRoZSB0ZXh0dXJlcyBpdOKAmXMgcHJvZHVjZWQuCisg
ICAgV2ViR1BVU3dhcENoYWluIGNvbmZpZ3VyZVN3YXBDaGFpbihXZWJHUFVTd2FwQ2hhaW5EZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOworCisgICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4KKyAgICAv
LyBQcm9taXNlPEdQVVRleHR1cmVGb3JtYXQ+IGdldFN3YXBDaGFpblByZWZlcnJlZEZvcm1hdChH
UFVEZXZpY2UgZGV2aWNlKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmNwcAppbmRleCBjNzYxM2JmODc4NDQxZjJjZWNjNmZhM2RmZWM5YmUzY2M4
MjdmNzVlLi5hNDc4NTI5N2ZjOTdhY2U5YmIxYjZkMzY4ZGQxMTFkNDBkNGQ2NGZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTE1NSwy
MCArMTU1LDYgQEAgUmVmPFdlYkdQVUNvbW1hbmRFbmNvZGVyPiBXZWJHUFVEZXZpY2U6OmNyZWF0
ZUNvbW1hbmRFbmNvZGVyKCkgY29uc3QKICAgICByZXR1cm4gV2ViR1BVQ29tbWFuZEVuY29kZXI6
OmNyZWF0ZShXVEZNb3ZlKGNvbW1hbmRCdWZmZXIpKTsKIH0KIAotUmVmPFdlYkdQVVN3YXBDaGFp
bj4gV2ViR1BVRGV2aWNlOjpjcmVhdGVTd2FwQ2hhaW4oY29uc3QgV2ViR1BVU3dhcENoYWluRGVz
Y3JpcHRvciYgZGVzY3JpcHRvcikgY29uc3QKLXsKLSAgICBpZiAoIWRlc2NyaXB0b3IuY29udGV4
dCkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVU3dhcENoYWluOjpjcmVhdGUoKTogSW52YWxp
ZCBHUFVDYW52YXNDb250ZXh0ISIpOwotICAgICAgICByZXR1cm4gV2ViR1BVU3dhcENoYWluOjpj
cmVhdGUobnVsbHB0cik7Ci0gICAgfQotCi0gICAgYXV0byBncHVTd2FwQ2hhaW4gPSBtX2Rldmlj
ZS0+dHJ5Q3JlYXRlU3dhcENoYWluKGRlc2NyaXB0b3IsIGRlc2NyaXB0b3IuY29udGV4dC0+Y2Fu
dmFzQmFzZSgpLndpZHRoKCksIGRlc2NyaXB0b3IuY29udGV4dC0+Y2FudmFzQmFzZSgpLmhlaWdo
dCgpKTsKLSAgICBhdXRvIG5ld1N3YXBDaGFpbiA9IFdlYkdQVVN3YXBDaGFpbjo6Y3JlYXRlKGdw
dVN3YXBDaGFpbi5jb3B5UmVmKCkpOwotICAgIGlmIChncHVTd2FwQ2hhaW4pCi0gICAgICAgIGRl
c2NyaXB0b3IuY29udGV4dC0+cmVwbGFjZVN3YXBDaGFpbihuZXdTd2FwQ2hhaW4uY29weVJlZigp
KTsKLSAgICByZXR1cm4gbmV3U3dhcENoYWluOwotfQotCiBSZWY8V2ViR1BVUXVldWU+IFdlYkdQ
VURldmljZTo6Z2V0UXVldWUoKSBjb25zdAogewogICAgIGlmICghbV9xdWV1ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggZDM3OTQyNjBhYTJl
Yjg1NmEzOWE5MTgzZTFkNzhhNGI5ODdmMWM4NC4uNjUzZjA3NjEzMDJkMDkzOTg1ZmFlYTAwNjBk
OWNmZGExZGI0NzM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmgKQEAgLTY1LDYgKzY1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8V2Vi
R1BVRGV2aWNlPiB0cnlDcmVhdGUoUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYpOwogCiAgICAg
Y29uc3QgV2ViR1BVQWRhcHRlciYgYWRhcHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWRhcHRlci5n
ZXQoKTsgfQorICAgIEdQVURldmljZSYgZGV2aWNlKCkgeyByZXR1cm4gbV9kZXZpY2UuZ2V0KCk7
IH0KICAgICBjb25zdCBHUFVEZXZpY2UmIGRldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNl
LmdldCgpOyB9CiAKICAgICBSZWY8V2ViR1BVQnVmZmVyPiBjcmVhdGVCdWZmZXIoY29uc3QgR1BV
QnVmZmVyRGVzY3JpcHRvciYpIGNvbnN0OwpAQCAtODEsOCArODIsNiBAQCBwdWJsaWM6CiAKICAg
ICBSZWY8V2ViR1BVQ29tbWFuZEVuY29kZXI+IGNyZWF0ZUNvbW1hbmRFbmNvZGVyKCkgY29uc3Q7
CiAKLSAgICBSZWY8V2ViR1BVU3dhcENoYWluPiBjcmVhdGVTd2FwQ2hhaW4oY29uc3QgV2ViR1BV
U3dhcENoYWluRGVzY3JpcHRvciYpIGNvbnN0OwotCiAgICAgUmVmPFdlYkdQVVF1ZXVlPiBnZXRR
dWV1ZSgpIGNvbnN0OwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVURldmljZS5pZGwKaW5kZXggOGY2ODFhZmRiZWEzZGI2ZDZiNWExMTU4YzY3MDIz
Zjk0OTkzOTU3Mi4uZGVmNWU1NjEwZWRhZDNmZjNkMDcyM2Q1NWU4ZGUxMzljYzI4MWM2NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCkBAIC0y
NCwxOCArMjQsNiBAQAogICovCiAvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9i
bG9iL21hc3Rlci9kZXNpZ24vc2tldGNoLndlYmlkbAogCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcg
R1BVVGV4dHVyZVVzYWdlRmxhZ3M7Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50ZWRBcz1XZWJHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yCi1dIGRpY3Rpb25hcnkgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciB7Ci0g
ICAgcmVxdWlyZWQgR1BVQ2FudmFzQ29udGV4dCBjb250ZXh0OwotICAgIHJlcXVpcmVkIEdQVVRl
eHR1cmVGb3JtYXQgZm9ybWF0OwotICAgIEdQVVRleHR1cmVVc2FnZUZsYWdzIHVzYWdlID0gMTY7
IC8vIEZJWE1FOiBIb3cgdG8gc2V0IHRoaXMgdG8gR1BVVGV4dHVyZVVzYWdlLk9VVFBVVF9BVFRB
Q0hNRU5UIGluIElETD8KLX07Ci0KIFsKICAgICBDb25kaXRpb25hbD1XRUJHUFUsCiAgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUsCkBAIC01OCw4ICs0Niw2IEBAIHR5cGVkZWYgdW5zaWduZWQg
bG9uZyBHUFVUZXh0dXJlVXNhZ2VGbGFnczsKICAgICAvLyBGSVhNRTogQ3VycmVudGx5LCBHUFVD
b21tYW5kRW5jb2RlckRlc2NyaXB0b3IgaXMgYW4gZW1wdHkgZGljdGlvbmFyeS4KICAgICBXZWJH
UFVDb21tYW5kRW5jb2RlciBjcmVhdGVDb21tYW5kRW5jb2RlcigvKkdQVUNvbW1hbmRFbmNvZGVy
RGVzY3JpcHRvciBkZXNjcmlwdG9yKi8pOwogCi0gICAgV2ViR1BVU3dhcENoYWluIGNyZWF0ZVN3
YXBDaGFpbihXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwotCiAgICAgV2Vi
R1BVUXVldWUgZ2V0UXVldWUoKTsKIAogICAgIC8vIEZJWE1FOiBVbmltcGxlbWVudGVkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dhcENoYWluRGVz
Y3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzNhZWQ3ODRhMmMyODY2YWU0ZDE0OTA5MGEy
OTAwMjc4ZTYwNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiTG9nZ2luZy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK09wdGlvbmFsPEdQVVN3YXBDaGFpbkRlc2NyaXB0
b3I+IFdlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3I6OmFzR1BVU3dhcENoYWluRGVzY3JpcHRvcigp
IGNvbnN0Cit7CisgICAgaWYgKCFkZXZpY2UpIHsKKyAgICAgICAgTE9HKFdlYkdQVSwgIkdQVUNh
bnZhc0NvbnRleHQ6OmNvbmZpZ3VyZVN3YXBDaGFpbigpOiBJbnZhbGlkIEdQVURldmljZSEiKTsK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIEdQ
VVN3YXBDaGFpbkRlc2NyaXB0b3IgeyBtYWtlUmVmKGRldmljZS0+ZGV2aWNlKCkpLCAqdGhpcyB9
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BV
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dhcENo
YWluRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dh
cENoYWluRGVzY3JpcHRvci5oCmluZGV4IDZjMjcyMDE4ZmQ3NzNhYTViZjEzOTI3NjJlZGYwZDQz
ZmZiY2EyYjYuLmRhMGM2NzQxN2NjMzg5OGQ4YzM1ZGZiZjA5ZmQyNjExMjViOTJiYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2Ny
aXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yLmgKQEAgLTI3LDE0ICsyNywxNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkK
IAotI2luY2x1ZGUgIkdQVUNhbnZhc0NvbnRleHQuaCIKICNpbmNsdWRlICJHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViR1BVRGV2aWNlLmgiCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0cnVjdCBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIDogR1BVU3dhcENoYWluRGVzY3Jp
cHRvciB7Ci0gICAgUmVmUHRyPEdQVUNhbnZhc0NvbnRleHQ+IGNvbnRleHQ7CitzdHJ1Y3QgV2Vi
R1BVU3dhcENoYWluRGVzY3JpcHRvciA6IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3JCYXNlIHsKKyAg
ICBPcHRpb25hbDxHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yPiBhc0dQVVN3YXBDaGFpbkRlc2NyaXB0
b3IoKSBjb25zdDsKKworICAgIFJlZlB0cjxXZWJHUFVEZXZpY2U+IGRldmljZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMmRhNWNlZmQ0MWQwNjczYjBm
MGFjM2EwMjk2NTVkMzFlYzliOTE3ZS4uMzA5YmE0N2FlMGNhMGQ4ZGFmOGMyYWRmOGQ3MWEwNGY5
Y2NlYWYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM3Miw2ICszNzIsNyBAQCBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVTYW1wbGVyLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVU2hhZGVyTW9kdWxlLmNwcAogTW9k
dWxlcy93ZWJncHUvV2ViR1BVU3dhcENoYWluLmNwcAorTW9kdWxlcy93ZWJncHUvV2ViR1BVU3dh
cENoYWluRGVzY3JpcHRvci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVRleHR1cmUuY3BwCiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVUZXh0dXJlVmlldy5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI2ZjA1MjMyZDhkZjQ1
ODUxMzFiMGQ0OTUzYjIzYTQ2ZjljMTVkMjMuLjFlNWNmOWQwZTU3MzMxZjg4ZDExOTIwYTM0ZDVk
ZDc5ZmFiZDE0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEzODI2LDYgKzEzODI2LDcgQEAKIAkJRDAwMzI4ODcyMUM5QTRF
NTAwNjIyQUE2IC8qIEdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdQ
VVBpcGVsaW5lTGF5b3V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwMzkx
NDEyMjI0OEQ0MDAwOTg5OThDIC8qIEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdQVVByb2dyYW1tYWJsZVBhc3NFbmNvZGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwNDg3RDIyMjQ1N0JFQTAwRUVEN0Q5IC8qIFdlYkdQVVBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVQaXBl
bGluZUxheW91dERlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDA0ODdFNTIyNkE2MzQyMDBFRUQ3RDkgLyogV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwRDc3RkQyMjQyRUQ0NTAwNDNGMTJDIC8qIFdlYkdQ
VUNvbXB1dGVQYXNzRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVDb21wdXRlUGFzc0Vu
Y29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwRDc3RkUyMjQyRUQ0NTAw
NDNGMTJDIC8qIFdlYkdQVUNvbXB1dGVQYXNzRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMDBENzdGRjIyNDJFRDQ1MDA0M0YxMkMgLyogV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTgyMzksNiArMTgyNDAsNyBAQAogCQkJCTMxMkZGOEMwMjFBNEMyRjIw
MEVCMTk5RCAvKiBHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJRDA4QUEwMzIy
MjBEMEQwQjAwNThDNTAyIC8qIEdQVVN0b3JlT3AuaCAqLywKIAkJCQkzMTJGRjhCQTIxQTRDMkVG
MDBFQjE5OUQgLyogR1BVU3dhcENoYWluLmggKi8sCisJCQkJRDBBREIyN0YyMjMyRjE3MzAwQTIy
OTM1IC8qIEdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhDNTIxQTRDMkY0
MDBFQjE5OUQgLyogR1BVVGV4dHVyZS5oICovLAogCQkJCUQwMjZGNDhDMjIwQTVCQUQwMEFDNUY0
OSAvKiBHUFVUZXh0dXJlRGVzY3JpcHRvci5oICovLAogCQkJCTMxMkZGOEMzMjFBNEMyRjMwMEVC
MTk5RCAvKiBHUFVUZXh0dXJlRm9ybWF0LmggKi8sCkBAIC0yNTc5MSw3ICsyNTc5Myw2IEBACiAJ
CQkJRDBERThGQjgyMjJFMDlFMjAwODgyNTUwIC8qIEdQVVNoYWRlclN0YWdlQml0LmggKi8sCiAJ
CQkJRDBERThGQjkyMjJFMDlFMjAwODgyNTUwIC8qIEdQVVNoYWRlclN0YWdlQml0LmlkbCAqLywK
IAkJCQlEMDhBQTAzMTIyMEQwQ0U2MDA1OEM1MDIgLyogR1BVU3RvcmVPcC5pZGwgKi8sCi0JCQkJ
RDBBREIyN0YyMjMyRjE3MzAwQTIyOTM1IC8qIEdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCAqLywK
IAkJCQlEMDI2RjQ4QjIyMEE1QjBCMDBBQzVGNDkgLyogR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRs
ICovLAogCQkJCUQwRUFDRkFFMjE5RTMwRkQwMDBGQTc1QyAvKiBHUFVUZXh0dXJlRm9ybWF0Lmlk
bCAqLywKIAkJCQlEMDI2RjQ4MzIyMEE0NzJGMDBBQzVGNDkgLyogR1BVVGV4dHVyZVVzYWdlLmlk
bCAqLywKQEAgLTI1ODc4LDYgKzI1ODc5LDcgQEAKIAkJCQlEMERBMEJFNTIxNzkzMEUyMDA3RkUy
QUMgLyogV2ViR1BVU3dhcENoYWluLmNwcCAqLywKIAkJCQlEMERBMEJFNDIxNzkzMEUyMDA3RkUy
QUMgLyogV2ViR1BVU3dhcENoYWluLmggKi8sCiAJCQkJRDBEQTBCRTYyMTc5MzBFMjAwN0ZFMkFD
IC8qIFdlYkdQVVN3YXBDaGFpbi5pZGwgKi8sCisJCQkJRDAwNDg3RTUyMjZBNjM0MjAwRUVEN0Q5
IC8qIFdlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuY3BwICovLAogCQkJCUQwQURCMjdFMjIzMkYw
QzAwMEEyMjkzNSAvKiBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmggKi8sCiAJCQkJRDBFQUNG
ODUyMTkzQjAyRTAwMEZBNzVDIC8qIFdlYkdQVVRleHR1cmUuY3BwICovLAogCQkJCUQwRUFDRjg0
MjE5M0IwMkUwMDBGQTc1QyAvKiBXZWJHUFVUZXh0dXJlLmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IDIxYzQ5ZGY5
YmI0ZDg0ZDAzYjk2Nzg0NjFjNDA4YThhMjAzYzIxYzYuLjA4M2E3N2MzNWEyNzg4MzgzM2E4OGY2
NDM4MGJjNmY2ODQ2MjBlODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiR1BV
U2FtcGxlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVTaGFkZXJNb2R1bGUuaCIKICNpbmNs
dWRlICJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiR1BVU3dhcENoYWlu
LmgiCiAjaW5jbHVkZSAiR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkdQVVRl
eHR1cmUuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIgpAQCAtOTYsMTIgKzk1
LDYgQEAgUmVmUHRyPEdQVUNvbW1hbmRCdWZmZXI+IEdQVURldmljZTo6dHJ5Q3JlYXRlQ29tbWFu
ZEJ1ZmZlcigpIGNvbnN0CiAgICAgcmV0dXJuIEdQVUNvbW1hbmRCdWZmZXI6OnRyeUNyZWF0ZSgq
dGhpcyk7CiB9CiAKLVJlZlB0cjxHUFVTd2FwQ2hhaW4+IEdQVURldmljZTo6dHJ5Q3JlYXRlU3dh
cENoYWluKGNvbnN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGludCB3aWR0
aCwgaW50IGhlaWdodCkgY29uc3QKLXsKLSAgICBtX3N3YXBDaGFpbiA9IEdQVVN3YXBDaGFpbjo6
dHJ5Q3JlYXRlKCp0aGlzLCBkZXNjcmlwdG9yLCB3aWR0aCwgaGVpZ2h0KTsKLSAgICByZXR1cm4g
bV9zd2FwQ2hhaW47Ci19Ci0KIFJlZlB0cjxHUFVRdWV1ZT4gR1BVRGV2aWNlOjp0cnlHZXRRdWV1
ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3F1ZXVlKQpAQCAtMTA5LDYgKzEwMiwxMSBAQCBSZWZQ
dHI8R1BVUXVldWU+IEdQVURldmljZTo6dHJ5R2V0UXVldWUoKSBjb25zdAogCiAgICAgcmV0dXJu
IG1fcXVldWU7CiB9CisgICAgCit2b2lkIEdQVURldmljZTo6c2V0U3dhcENoYWluKFJlZlB0cjxH
UFVTd2FwQ2hhaW4+JiYgc3dhcENoYWluKQoreworICAgIG1fc3dhcENoYWluID0gV1RGTW92ZShz
d2FwQ2hhaW4pOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCAxY2U0MmFmYzgw
MGE2NjkyNDM2ZjdhNTQ3MmU3Y2FiMDVjMTZjYzRjLi5jOTEzZGVmZTMxODMyZTM2MmQ0NWMxNGM2
YjdhYzYyYjVhM2RkNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkK
IAogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCisjaW5jbHVkZSAiR1BVU3dhcENoYWluLmgiCiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTQ0LDcgKzQ1LDYgQEAgY2xhc3MgR1BVUGlwZWxpbmVM
YXlvdXQ7CiBjbGFzcyBHUFVSZW5kZXJQaXBlbGluZTsKIGNsYXNzIEdQVVNhbXBsZXI7CiBjbGFz
cyBHUFVTaGFkZXJNb2R1bGU7Ci1jbGFzcyBHUFVTd2FwQ2hhaW47CiBjbGFzcyBHUFVUZXh0dXJl
OwogCiBzdHJ1Y3QgR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvcjsKQEAgLTc4LDE4ICs3OCwx
OCBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8R1BVQ29tbWFuZEJ1ZmZlcj4gdHJ5Q3JlYXRlQ29t
bWFuZEJ1ZmZlcigpIGNvbnN0OwogCi0gICAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gdHJ5Q3JlYXRl
U3dhcENoYWluKGNvbnN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3ImLCBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpIGNvbnN0OwotCiAgICAgUmVmUHRyPEdQVVF1ZXVlPiB0cnlHZXRRdWV1ZSgpIGNvbnN0
OworICAgIAogICAgIFBsYXRmb3JtRGV2aWNlKiBwbGF0Zm9ybURldmljZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcGxhdGZvcm1EZXZpY2UuZ2V0KCk7IH0KICAgICBHUFVTd2FwQ2hhaW4qIHN3YXBDaGFp
bigpIGNvbnN0IHsgcmV0dXJuIG1fc3dhcENoYWluLmdldCgpOyB9CisgICAgdm9pZCBzZXRTd2Fw
Q2hhaW4oUmVmUHRyPEdQVVN3YXBDaGFpbj4mJik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
R1BVRGV2aWNlKFBsYXRmb3JtRGV2aWNlU21hcnRQdHImJik7CiAKICAgICBQbGF0Zm9ybURldmlj
ZVNtYXJ0UHRyIG1fcGxhdGZvcm1EZXZpY2U7CiAgICAgbXV0YWJsZSBSZWZQdHI8R1BVUXVldWU+
IG1fcXVldWU7Ci0gICAgbXV0YWJsZSBSZWZQdHI8R1BVU3dhcENoYWluPiBtX3N3YXBDaGFpbjsK
KyAgICBSZWZQdHI8R1BVU3dhcENoYWluPiBtX3N3YXBDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVTd2FwQ2hhaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVTd2FwQ2hhaW4uaAppbmRleCA0ZDQ2NTNjYWU5ZTQ5MmExZWJhMDNlMDE2MDJhZThmNDcy
MTc0NjE0Li4zMjdmZDY3N2FiNDdhNzJhYjExMTE5ZDA4OTUzNTU0MjgxMzUzMTlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVN3YXBDaGFpbi5o
CkBAIC01MCw3ICs1MCw3IEBAIHVzaW5nIFBsYXRmb3JtU3dhcExheWVyU21hcnRQdHIgPSBSZXRh
aW5QdHI8V2ViR1BVTGF5ZXI+OwogCiBjbGFzcyBHUFVTd2FwQ2hhaW4gOiBwdWJsaWMgUmVmQ291
bnRlZDxHUFVTd2FwQ2hhaW4+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEdQVVN3YXBD
aGFpbj4gdHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYsIGNvbnN0IEdQVVN3YXBDaGFpbkRlc2Ny
aXB0b3ImLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAgIHN0YXRpYyBSZWZQdHI8R1BVU3dh
cENoYWluPiB0cnlDcmVhdGUoY29uc3QgR1BVU3dhcENoYWluRGVzY3JpcHRvciYsIGludCB3aWR0
aCwgaW50IGhlaWdodCk7CiAKICAgICBSZWZQdHI8R1BVVGV4dHVyZT4gdHJ5R2V0Q3VycmVudFRl
eHR1cmUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmgKaW5kZXggNWIxNTFiYzJjM2ZiYmE5
OWUwNzBlOWNkMjVkZThhMjMzZjg2YjlmMS4uNjU3MDQyMDQ2M2NhYWJhMTVmZTdkNzMxNjJhYThl
YTdiZDQ4MWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluRGVzY3JpcHRvci5oCkBAIC0yNywxNiArMjcsMjcg
QEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRlICJHUFVEZXZpY2UuaCIKICNpbmNs
dWRlICJHUFVUZXh0dXJlRm9ybWF0LmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZVVzYWdlLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3Igewor
c3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3JCYXNlIHsKICAgICBHUFVUZXh0dXJlRm9ybWF0
IGZvcm1hdDsKICAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZSB7IHN0YXRpY19jYXN0PEdQ
VVRleHR1cmVVc2FnZUZsYWdzPihHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzOjpPdXRwdXRBdHRhY2ht
ZW50KSB9OwogfTsKIAorc3RydWN0IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3IgOiBHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yQmFzZSB7CisgICAgR1BVU3dhcENoYWluRGVzY3JpcHRvcihSZWY8R1BVRGV2
aWNlPiYmIGdwdURldmljZSwgY29uc3QgR1BVU3dhcENoYWluRGVzY3JpcHRvckJhc2UmIGJhc2Up
CisgICAgICAgIDogR1BVU3dhcENoYWluRGVzY3JpcHRvckJhc2UoYmFzZSkKKyAgICAgICAgLCBk
ZXZpY2UoV1RGTW92ZShncHVEZXZpY2UpKQorICAgIHsKKyAgICB9CisgICAgCisgICAgUmVmPEdQ
VURldmljZT4gZGV2aWNlOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9jb2NvYS9HUFVTd2FwQ2hhaW5NZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVTd2FwQ2hhaW5NZXRhbC5tbQppbmRleCBjMWZl
Nzg2NzRlMjA2ODM3MjdhYzZlMjc1N2Y2MjZkMTE0ODVhZDQyLi5iZjNlMzcyOTY4NDVlNmVmZTU2
ODRmYjUwMDhkMDZlZWJhMjk1YjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dhcENoYWluTWV0YWwubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFsLm1tCkBA
IC04NSwxMCArODUsMTAgQEAgc3RhdGljIFJldGFpblB0cjxXZWJHUFVMYXllcj4gdHJ5Q3JlYXRl
V2ViR1BVTGF5ZXIoTVRMRGV2aWNlICpkZXZpY2UsIE1UTFBpeGVsRm8KICAgICByZXR1cm4gbGF5
ZXI7CiB9CiAKLVJlZlB0cjxHUFVTd2FwQ2hhaW4+IEdQVVN3YXBDaGFpbjo6dHJ5Q3JlYXRlKGNv
bnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yJiBkZXNj
cmlwdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCitSZWZQdHI8R1BVU3dhcENoYWluPiBHUFVT
d2FwQ2hhaW46OnRyeUNyZWF0ZShjb25zdCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yJiBkZXNjcmlw
dG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7Ci0gICAgaWYgKCFkZXZpY2UucGxhdGZvcm1E
ZXZpY2UoKSkgewotICAgICAgICBMT0coV2ViR1BVLCAiR1BVU3dhcENoYWluOjpzZXREZXZpY2Uo
KTogSW52YWxpZCBHUFVEZXZpY2UhIik7CisgICAgaWYgKCFkZXNjcmlwdG9yLmRldmljZS0+cGxh
dGZvcm1EZXZpY2UoKSkgeworICAgICAgICBMT0coV2ViR1BVLCAiR1BVU3dhcENoYWluOjp0cnlD
cmVhdGUoKTogSW52YWxpZCBHUFVEZXZpY2UhIik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIApAQCAtMTAyLDEzICsxMDIsMTUgQEAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gR1BVU3dh
cENoYWluOjp0cnlDcmVhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVMKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgYXV0byBsYXllciA9IHRyeUNyZWF0
ZVdlYkdQVUxheWVyKGRldmljZS5wbGF0Zm9ybURldmljZSgpLCAqcGl4ZWxGb3JtYXQsIHVzYWdl
T3B0aW9ucyk7CisgICAgYXV0byBsYXllciA9IHRyeUNyZWF0ZVdlYkdQVUxheWVyKGRlc2NyaXB0
b3IuZGV2aWNlLT5wbGF0Zm9ybURldmljZSgpLCAqcGl4ZWxGb3JtYXQsIHVzYWdlT3B0aW9ucyk7
CiAgICAgaWYgKCFsYXllcikKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzZXRMYXll
clNoYXBlKGxheWVyLmdldCgpLCB3aWR0aCwgaGVpZ2h0KTsKIAotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgR1BVU3dhcENoYWluKFdURk1vdmUobGF5ZXIpLCB1c2FnZU9wdGlvbnMpKTsKKyAgICBh
dXRvIHN3YXBDaGFpbiA9IGFkb3B0UmVmKG5ldyBHUFVTd2FwQ2hhaW4oV1RGTW92ZShsYXllciks
IHVzYWdlT3B0aW9ucykpOworICAgIGRlc2NyaXB0b3IuZGV2aWNlLT5zZXRTd2FwQ2hhaW4oc3dh
cENoYWluLmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIHN3YXBDaGFpbjsKIH0KIAogR1BVU3dhcENo
YWluOjpHUFVTd2FwQ2hhaW4oUmV0YWluUHRyPFdlYkdQVUxheWVyPiYmIHBsYXRmb3JtTGF5ZXIs
IE9wdGlvblNldDxHUFVUZXh0dXJlVXNhZ2U6OkZsYWdzPiB1c2FnZU9wdGlvbnMpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OGViMDFhMjAyYTdiZjc2ZDYwYzEwNzhkMDUxZTFjZDQ2NDM1NzM4MC4uOGY0Y2ViNTlkMjEzZTQ3
ZTZjNTMzYTUyNDM2Yjg5OTBhNmFlNGMwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA0
LTE5ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gTW92ZSBzd2FwIGNoYWluIG1ldGhvZHMgZnJvbSBHUFVEZXZpY2UgdG8gR1BVQ2FudmFzQ29u
dGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3
MTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR1BV
U3dhcENoYWlucyBhcmUgbm93IGNvbmZpZ3VyZWQgdmlhIEdQVUNhbnZhc0NvbnRleHQgaW5zdGVh
ZCBvZiBHUFVEZXZpY2UuCisKKyAgICAgICAgKiB3ZWJncHUvYmxlbmQtdHJpYW5nbGUtc3RyaXAu
aHRtbDoKKyAgICAgICAgKiB3ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qczoKKyAgICAgICAg
KGNyZWF0ZUJhc2ljU3dhcENoYWluKToKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wuaHRtbDoKKwog
MjAxOS0wNC0xOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVwZGF0ZSBhdXRvc2Nyb2xsIHRlc3QgdG8gbGlmdCBhdCB0aGUgZW5kIGFuZCBiZSBs
ZXNzIGZsYWtleQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2JsZW5kLXRyaWFuZ2xl
LXN0cmlwLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYmxlbmQtdHJpYW5nbGUtc3RyaXAuaHRt
bAppbmRleCA3OTgxMzVmNTgxZjYxNmUzNDk4NjU5Y2RlNmMxMjBkNDc5MmZkZDdmLi43OTMyZDMw
MDYwYTJhNjJhMzVjMzNmMzZmYzNlN2ZjNDNmNWRlNzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy93ZWJncHUvYmxlbmQtdHJpYW5nbGUtc3RyaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
cHUvYmxlbmQtdHJpYW5nbGUtc3RyaXAuaHRtbApAQCAtODEsNyArODEsNyBAQCBhc3luYyBmdW5j
dGlvbiB0ZXN0KCkgewogICAgIHZlcnRleEJ1ZmZlci5zZXRTdWJEYXRhKDAsIHZlcnRleERhdGEu
YnVmZmVyKTsKIAogICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiZ3B1Iik7
Ci0gICAgY29uc3Qgc3dhcENoYWluID0gZGV2aWNlLmNyZWF0ZVN3YXBDaGFpbih7IGNvbnRleHQ6
IGNvbnRleHQsIGZvcm1hdDogImJncmE4dW5vcm0iIH0pOworICAgIGNvbnN0IHN3YXBDaGFpbiA9
IGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHsgZGV2aWNlOiBkZXZpY2UsIGZvcm1hdDogImJn
cmE4dW5vcm0iIH0pOwogICAgIGNvbnN0IGNvbG9yQXR0YWNobWVudCA9IHsKICAgICAgICAgYXR0
YWNobWVudDogc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCkuY3JlYXRlRGVmYXVsdFZpZXco
KSwKICAgICAgICAgbG9hZE9wOiAiY2xlYXIiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcwppbmRleCAxM2JlNmY4M2NiYWIxYmNhM2EzN2YyYjZkMWFmNDkxYmNlNmJl
Y2MyLi5hNjQ5MzdiMmI5YzlmYjdlNmUyZTBiZDcwMDc2NTgwMmVhMGI0NzM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRU
ZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcwpAQCAtNiw3ICs2LDcgQEAgYXN5bmMg
ZnVuY3Rpb24gZ2V0QmFzaWNEZXZpY2UoKSB7CiAKIGZ1bmN0aW9uIGNyZWF0ZUJhc2ljU3dhcENo
YWluKGNhbnZhcywgZGV2aWNlKSB7CiAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250
ZXh0KCJncHUiKTsKLSAgICByZXR1cm4gZGV2aWNlLmNyZWF0ZVN3YXBDaGFpbih7IGNvbnRleHQ6
IGNvbnRleHQsIGZvcm1hdDogImJncmE4dW5vcm0iIH0pOworICAgIHJldHVybiBjb250ZXh0LmNv
bmZpZ3VyZVN3YXBDaGFpbih7IGRldmljZTogZGV2aWNlLCBmb3JtYXQ6ICJiZ3JhOHVub3JtIiB9
KTsKIH0KIAogZnVuY3Rpb24gY3JlYXRlQmFzaWNEZXB0aFN0YXRlRGVzY3JpcHRvcigpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsLmh0bWwKaW5kZXggY2U2ZTIwMDc1ODJkNWU4YzE0ZTJmNDdlZWM3NmMxMzY4Zjc0
NWFmYS4uNDdhYTUxODQ2ZDU3Njg1MTMyZjcxNzIxOWQ1NTIzYWQ2MmExMDQwYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L3dobHNsLmh0bWwKQEAgLTkwLDggKzkwLDggQEAgYXN5bmMgZnVuY3Rpb24gc3RhcnQoKSB7CiAK
ICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CiAg
ICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBz
d2FwQ2hhaW5EZXNjcmlwdG9yID0ge2NvbnRleHQsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKLSAg
ICBjb25zdCBzd2FwQ2hhaW4gPSBkZXZpY2UuY3JlYXRlU3dhcENoYWluKHN3YXBDaGFpbkRlc2Ny
aXB0b3IpOworICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7ZGV2aWNlLCBmb3JtYXQ6
ICJiZ3JhOHVub3JtIn07CisgICAgY29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVT
d2FwQ2hhaW4oc3dhcENoYWluRGVzY3JpcHRvcik7CiAgICAgY29uc3Qgb3V0cHV0VGV4dHVyZSA9
IHN3YXBDaGFpbi5nZXRDdXJyZW50VGV4dHVyZSgpOwogICAgIGNvbnN0IG91dHB1dFRleHR1cmVW
aWV3ID0gb3V0cHV0VGV4dHVyZS5jcmVhdGVEZWZhdWx0VmlldygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367952</attachid>
            <date>2019-04-22 11:02:48 -0700</date>
            <delta_ts>2019-04-22 11:41:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-197126-20190422110247.patch</filename>
            <type>text/plain</type>
            <size>25140</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY2ZmM3MzhlMjI2OTNh
NDg3M2QzN2M4NzJhNzI0OWQxNzMwNjEyMy4uYWRjODRmY2RiNWI2ODg1Yjc0NDNmM2YxMmZlODA1
ZDgwNzRjM2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTA0LTE5ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gTW92ZSBz
d2FwIGNoYWluIG1ldGhvZHMgZnJvbSBHUFVEZXZpY2UgdG8gR1BVQ2FudmFzQ29udGV4dAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MTI2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEdQVVN3YXBDaGFpbnMg
YXJlIG5vdyBjb25maWd1cmVkIHZpYSBHUFVDYW52YXNDb250ZXh0IGluc3RlYWQgb2YgR1BVRGV2
aWNlLiBDb3ZlcnMgV2ViR1BVIEFQSSAKKyAgICAgICAgcHVsbCByZXF1ZXN0ICMyNjIuCisKKyAg
ICAgICAgRXhpc3RpbmcgV2ViR1BVIHRlc3RzIHVwZGF0ZWQgdG8gbWF0Y2guCisKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVUNhbnZhc0NvbnRleHQ6OmNvbmZpZ3VyZVN3YXBDaGFpbik6CisgICAgICAgIChXZWJDb3Jl
OjpHUFVDYW52YXNDb250ZXh0OjpyZXBsYWNlU3dhcENoYWluKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6Y3JlYXRlU3dh
cENoYWluIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6ZGV2aWNlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmguCisgICAg
ICAgIChXZWJDb3JlOjpXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yOjphc0dQVVN3YXBDaGFpbkRl
c2NyaXB0b3IgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFp
bkRlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnNldFN3YXBD
aGFpbik6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnRyeUNyZWF0ZVN3YXBDaGFpbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW4uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluRGVzY3JpcHRvci5oOgor
ICAgICAgICAoV2ViQ29yZTo6R1BVU3dhcENoYWluRGVzY3JpcHRvcjo6R1BVU3dhcENoYWluRGVz
Y3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBD
aGFpbk1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVU3dhcENoYWluOjp0cnlDcmVhdGUp
OgorCiAyMDE5LTA0LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1NdIEFkZCBxdWlya3MgdG8gZGlzYWJsZSBhdXRvY29ycmVjdGlvbiBhbmQg
YXV0b2NhcGl0YWxpemF0aW9uIGluIGhpZGRlbiBlZGl0YWJsZSBhcmVhcyBvbiBzb21lIHdlYnNp
dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVDYW52YXND
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRl
eHQuY3BwCmluZGV4IDhkYzM2ZGZkMzg1MmRkY2U2MjhmOTJjNTI0ZTNiNmY4NWRlNmM1NjEuLmM2
YzNiZmRkM2JmZTZjYzQ0NjMxZjIzNjFlZGIyYjMxNTI5N2I1ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuY3BwCkBAIC0yNSw4ICsy
NSw5IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVDYW52YXNDb250ZXh0
LmgiCi0KICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJM
b2dnaW5nLmgiCisjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgogCiAjaWYg
RU5BQkxFKFdFQkdQVSkKIApAQCAtNTEsMTQgKzUyLDI2IEBAIEdQVUNhbnZhc0NvbnRleHQ6OkdQ
VUNhbnZhc0NvbnRleHQoQ2FudmFzQmFzZSYgY2FudmFzKQogewogfQogCi12b2lkIEdQVUNhbnZh
c0NvbnRleHQ6OnJlcGxhY2VTd2FwQ2hhaW4oUmVmPFdlYkdQVVN3YXBDaGFpbj4mJiBuZXdTd2Fw
Q2hhaW4pCitSZWY8V2ViR1BVU3dhcENoYWluPiBHUFVDYW52YXNDb250ZXh0Ojpjb25maWd1cmVT
d2FwQ2hhaW4oY29uc3QgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsK
LSAgICBBU1NFUlQobmV3U3dhcENoYWluLT5zd2FwQ2hhaW4oKSk7Ci0KLSAgICBpZiAobV9zd2Fw
Q2hhaW4pCi0gICAgICAgIG1fc3dhcENoYWluLT5kZXN0cm95KCk7Ci0KLSAgICBtX3N3YXBDaGFp
biA9IFdURk1vdmUobmV3U3dhcENoYWluKTsKKyAgICBhdXRvIGdwdURlc2NyaXB0b3IgPSBkZXNj
cmlwdG9yLmFzR1BVU3dhcENoYWluRGVzY3JpcHRvcigpOworICAgIGlmICghZ3B1RGVzY3JpcHRv
cikKKyAgICAgICAgcmV0dXJuIFdlYkdQVVN3YXBDaGFpbjo6Y3JlYXRlKG51bGxwdHIpOworICAg
IAorICAgIGF1dG8gZ3B1U3dhcENoYWluID0gR1BVU3dhcENoYWluOjp0cnlDcmVhdGUoKmdwdURl
c2NyaXB0b3IsIGNhbnZhc0Jhc2UoKS53aWR0aCgpLCBjYW52YXNCYXNlKCkuaGVpZ2h0KCkpOwor
ICAgIGJvb2wgc3VjY2VzcyA9IGdwdVN3YXBDaGFpbjsKKyAgICBhdXRvIG5ld1N3YXBDaGFpbiA9
IFdlYkdQVVN3YXBDaGFpbjo6Y3JlYXRlKFdURk1vdmUoZ3B1U3dhcENoYWluKSk7CisgICAgCisg
ICAgLy8gVXBvbiBzdWNjZXNzLCBpbnZhbGlkYXRlIGFuZCByZXBsYWNlIGFueSBleGlzdGluZyBz
d2FwIGNoYWluLgorICAgIGlmIChzdWNjZXNzKSB7CisgICAgICAgIC8vIEZJWE1FOiBUZXN0IHRo
YXQgdGhpcyB3b3JrcyBhcyBleHBlY3RlZCB3aXRoIGVycm9yIHJlcG9ydGluZy4KKyAgICAgICAg
aWYgKG1fc3dhcENoYWluKQorICAgICAgICAgICAgbV9zd2FwQ2hhaW4tPmRlc3Ryb3koKTsKKyAg
ICAgICAgCisgICAgICAgIG1fc3dhcENoYWluID0gbmV3U3dhcENoYWluLmNvcHlSZWYoKTsKKyAg
ICB9CisgICAgCisgICAgcmV0dXJuIG5ld1N3YXBDaGFpbjsKIH0KIAogQ0FMYXllciogR1BVQ2Fu
dmFzQ29udGV4dDo6cGxhdGZvcm1MYXllcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0LmgKaW5kZXggNzIzNGQ5YmU0OTg3YWQzYjkw
YTg1ZjMzZGU1ZGU1ZTJiYzM2ZWI1NC4uZDJjMWMzY2E4YmUyZDI5MGFjMTFhYjI5NWVjNzZjN2Iw
MmMwYzMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2Fu
dmFzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZh
c0NvbnRleHQuaApAQCAtMzQsNiArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0
cnVjdCBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yOworCiBjbGFzcyBHUFVDYW52YXNDb250ZXh0
IGZpbmFsIDogcHVibGljIEdQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChHUFVDYW52YXNDb250ZXh0KTsKIHB1YmxpYzoKQEAgLTQxLDcg
KzQzLDcgQEAgcHVibGljOgogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQmIGNhbnZhcygpIGNvbnN0
IHsgcmV0dXJuIGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihjYW52YXNCYXNlKCkpOyB9CiAK
LSAgICB2b2lkIHJlcGxhY2VTd2FwQ2hhaW4oUmVmPFdlYkdQVVN3YXBDaGFpbj4mJik7CisgICAg
UmVmPFdlYkdQVVN3YXBDaGFpbj4gY29uZmlndXJlU3dhcENoYWluKGNvbnN0IFdlYkdQVVN3YXBD
aGFpbkRlc2NyaXB0b3ImKTsKIAogcHJpdmF0ZToKICAgICBHUFVDYW52YXNDb250ZXh0KENhbnZh
c0Jhc2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNh
bnZhc0NvbnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFz
Q29udGV4dC5pZGwKaW5kZXggNDdjNzBmZmYxZGIyN2UwYTEyYjc3OTRiMmNjMWUxMGU1Mjc4NWJk
NC4uZTYxNGI4OWFhOWQ5YWEyNGZjZWNiODVhM2JlZDQyM2ZmZDc5MTlhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFzQ29udGV4dC5pZGwKQEAgLTI0
LDEwICsyNCwyOSBAQAogICovCiAvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9i
bG9iL21hc3Rlci9kZXNpZ24vc2tldGNoLndlYmlkbAogCit0eXBlZGVmIHVuc2lnbmVkIGxvbmcg
R1BVVGV4dHVyZVVzYWdlRmxhZ3M7CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUsCisgICAg
RW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCisgICAgSW1wbGVtZW50ZWRBcz1XZWJHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yCitdIGRpY3Rpb25hcnkgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciB7Cisg
ICAgcmVxdWlyZWQgV2ViR1BVRGV2aWNlIGRldmljZTsKKyAgICByZXF1aXJlZCBHUFVUZXh0dXJl
Rm9ybWF0IGZvcm1hdDsKKyAgICBHUFVUZXh0dXJlVXNhZ2VGbGFncyB1c2FnZTsgLy8gRklYTUU6
IGRlZmF1bHQgaXMgR1BVVGV4dHVyZVVzYWdlLk9VVFBVVF9BVFRBQ0hNRU5ULgorfTsKKwogWwog
ICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQogXSBp
bnRlcmZhY2UgR1BVQ2FudmFzQ29udGV4dCB7CiAgICAgLy8gYmFjay1yZWZlcmVuY2UgdG8gdGhl
IGNhbnZhcwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudCBjYW52YXM7
CisKKyAgICAvLyBDYWxsaW5nIGNvbmZpZ3VyZVN3YXBDaGFpbiBhIHNlY29uZCB0aW1lIGludmFs
aWRhdGVzIHRoZSBwcmV2aW91cyBvbmUsCisgICAgLy8gYW5kIGFsbCBvZiB0aGUgdGV4dHVyZXMg
aXTigJlzIHByb2R1Y2VkLgorICAgIFdlYkdQVVN3YXBDaGFpbiBjb25maWd1cmVTd2FwQ2hhaW4o
V2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKKworICAgIC8vIE5vdCBpbXBs
ZW1lbnRlZCB5ZXQuCisgICAgLy8gUHJvbWlzZTxHUFVUZXh0dXJlRm9ybWF0PiBnZXRTd2FwQ2hh
aW5QcmVmZXJyZWRGb3JtYXQoR1BVRGV2aWNlIGRldmljZSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKaW5kZXggYzc2MTNiZjg3ODQ0MWYy
Y2VjYzZmYTNkZmVjOWJlM2NjODI3Zjc1ZS4uYTQ3ODUyOTdmYzk3YWNlOWJiMWI2ZDM2OGRkMTEx
ZDQwZDRkNjRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuY3BwCkBAIC0xNTUsMjAgKzE1NSw2IEBAIFJlZjxXZWJHUFVDb21tYW5kRW5jb2Rlcj4g
V2ViR1BVRGV2aWNlOjpjcmVhdGVDb21tYW5kRW5jb2RlcigpIGNvbnN0CiAgICAgcmV0dXJuIFdl
YkdQVUNvbW1hbmRFbmNvZGVyOjpjcmVhdGUoV1RGTW92ZShjb21tYW5kQnVmZmVyKSk7CiB9CiAK
LVJlZjxXZWJHUFVTd2FwQ2hhaW4+IFdlYkdQVURldmljZTo6Y3JlYXRlU3dhcENoYWluKGNvbnN0
IFdlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpIGNvbnN0Ci17Ci0gICAgaWYg
KCFkZXNjcmlwdG9yLmNvbnRleHQpIHsKLSAgICAgICAgTE9HKFdlYkdQVSwgIkdQVVN3YXBDaGFp
bjo6Y3JlYXRlKCk6IEludmFsaWQgR1BVQ2FudmFzQ29udGV4dCEiKTsKLSAgICAgICAgcmV0dXJu
IFdlYkdQVVN3YXBDaGFpbjo6Y3JlYXRlKG51bGxwdHIpOwotICAgIH0KLQotICAgIGF1dG8gZ3B1
U3dhcENoYWluID0gbV9kZXZpY2UtPnRyeUNyZWF0ZVN3YXBDaGFpbihkZXNjcmlwdG9yLCBkZXNj
cmlwdG9yLmNvbnRleHQtPmNhbnZhc0Jhc2UoKS53aWR0aCgpLCBkZXNjcmlwdG9yLmNvbnRleHQt
PmNhbnZhc0Jhc2UoKS5oZWlnaHQoKSk7Ci0gICAgYXV0byBuZXdTd2FwQ2hhaW4gPSBXZWJHUFVT
d2FwQ2hhaW46OmNyZWF0ZShncHVTd2FwQ2hhaW4uY29weVJlZigpKTsKLSAgICBpZiAoZ3B1U3dh
cENoYWluKQotICAgICAgICBkZXNjcmlwdG9yLmNvbnRleHQtPnJlcGxhY2VTd2FwQ2hhaW4obmV3
U3dhcENoYWluLmNvcHlSZWYoKSk7Ci0gICAgcmV0dXJuIG5ld1N3YXBDaGFpbjsKLX0KLQogUmVm
PFdlYkdQVVF1ZXVlPiBXZWJHUFVEZXZpY2U6OmdldFF1ZXVlKCkgY29uc3QKIHsKICAgICBpZiAo
IW1fcXVldWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5o
CmluZGV4IGQzNzk0MjYwYWEyZWI4NTZhMzlhOTE4M2UxZDc4YTRiOTg3ZjFjODQuLjY1M2YwNzYx
MzAyZDA5Mzk4NWZhZWEwMDYwZDljZmRhMWRiNDczNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBAIC02NSw2ICs2NSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmUHRyPFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJHUFVB
ZGFwdGVyPiYmKTsKIAogICAgIGNvbnN0IFdlYkdQVUFkYXB0ZXImIGFkYXB0ZXIoKSBjb25zdCB7
IHJldHVybiBtX2FkYXB0ZXIuZ2V0KCk7IH0KKyAgICBHUFVEZXZpY2UmIGRldmljZSgpIHsgcmV0
dXJuIG1fZGV2aWNlLmdldCgpOyB9CiAgICAgY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UoKSBjb25z
dCB7IHJldHVybiBtX2RldmljZS5nZXQoKTsgfQogCiAgICAgUmVmPFdlYkdQVUJ1ZmZlcj4gY3Jl
YXRlQnVmZmVyKGNvbnN0IEdQVUJ1ZmZlckRlc2NyaXB0b3ImKSBjb25zdDsKQEAgLTgxLDggKzgy
LDYgQEAgcHVibGljOgogCiAgICAgUmVmPFdlYkdQVUNvbW1hbmRFbmNvZGVyPiBjcmVhdGVDb21t
YW5kRW5jb2RlcigpIGNvbnN0OwogCi0gICAgUmVmPFdlYkdQVVN3YXBDaGFpbj4gY3JlYXRlU3dh
cENoYWluKGNvbnN0IFdlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3ImKSBjb25zdDsKLQogICAgIFJl
ZjxXZWJHUFVRdWV1ZT4gZ2V0UXVldWUoKSBjb25zdDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaWRsCmluZGV4IDhmNjgxYWZkYmVh
M2RiNmQ2YjVhMTE1OGM2NzAyM2Y5NDk5Mzk1NzIuLmRlZjVlNTYxMGVkYWQzZmYzZDA3MjNkNTVl
OGRlMTM5Y2MyODFjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmlkbApAQCAtMjQsMTggKzI0LDYgQEAKICAqLwogLy8gaHR0cHM6Ly9naXRodWIu
Y29tL2dwdXdlYi9ncHV3ZWIvYmxvYi9tYXN0ZXIvZGVzaWduL3NrZXRjaC53ZWJpZGwKIAotdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIEdQVVRleHR1cmVVc2FnZUZsYWdzOwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVu
dGVkQXM9V2ViR1BVU3dhcENoYWluRGVzY3JpcHRvcgotXSBkaWN0aW9uYXJ5IFdlYkdQVVN3YXBD
aGFpbkRlc2NyaXB0b3IgewotICAgIHJlcXVpcmVkIEdQVUNhbnZhc0NvbnRleHQgY29udGV4dDsK
LSAgICByZXF1aXJlZCBHUFVUZXh0dXJlRm9ybWF0IGZvcm1hdDsKLSAgICBHUFVUZXh0dXJlVXNh
Z2VGbGFncyB1c2FnZSA9IDE2OyAvLyBGSVhNRTogSG93IHRvIHNldCB0aGlzIHRvIEdQVVRleHR1
cmVVc2FnZS5PVVRQVVRfQVRUQUNITUVOVCBpbiBJREw/Ci19OwotCiBbCiAgICAgQ29uZGl0aW9u
YWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLApAQCAtNTgsOCArNDYsNiBA
QCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgR1BVVGV4dHVyZVVzYWdlRmxhZ3M7CiAgICAgLy8gRklY
TUU6IEN1cnJlbnRseSwgR1BVQ29tbWFuZEVuY29kZXJEZXNjcmlwdG9yIGlzIGFuIGVtcHR5IGRp
Y3Rpb25hcnkuCiAgICAgV2ViR1BVQ29tbWFuZEVuY29kZXIgY3JlYXRlQ29tbWFuZEVuY29kZXIo
LypHUFVDb21tYW5kRW5jb2RlckRlc2NyaXB0b3IgZGVzY3JpcHRvciovKTsKIAotICAgIFdlYkdQ
VVN3YXBDaGFpbiBjcmVhdGVTd2FwQ2hhaW4oV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciBkZXNj
cmlwdG9yKTsKLQogICAgIFdlYkdQVVF1ZXVlIGdldFF1ZXVlKCk7CiAKICAgICAvLyBGSVhNRTog
VW5pbXBsZW1lbnRlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjczYWVkNzg0
YTJjMjg2NmFlNGQxNDkwOTBhMjkwMDI3OGU2MDZlNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuY3BwCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgorCisjaWYgRU5BQkxFKFdFQkdQVSkKKwor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPcHRpb25hbDxH
UFVTd2FwQ2hhaW5EZXNjcmlwdG9yPiBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yOjphc0dQVVN3
YXBDaGFpbkRlc2NyaXB0b3IoKSBjb25zdAoreworICAgIGlmICghZGV2aWNlKSB7CisgICAgICAg
IExPRyhXZWJHUFUsICJHUFVDYW52YXNDb250ZXh0Ojpjb25maWd1cmVTd2FwQ2hhaW4oKTogSW52
YWxpZCBHUFVEZXZpY2UhIik7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfQor
ICAgIAorICAgIHJldHVybiBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yIHsgbWFrZVJlZihkZXZpY2Ut
PmRldmljZSgpKSwgKnRoaXMgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuaAppbmRleCA2YzI3MjAxOGZkNzcz
YWE1YmYxMzkyNzYyZWRmMGQ0M2ZmYmNhMmI2Li5kYTBjNjc0MTdjYzM4OThkOGMzNWRmYmYwOWZk
MjYxMTI1YjkyYmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5oCkBAIC0yNywxNCArMjcsMTcgQEAKIAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJHUFVDYW52YXNDb250ZXh0LmgiCiAjaW5j
bHVkZSAiR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYkdQVURldmljZS5o
IgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvciA6
IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3IgewotICAgIFJlZlB0cjxHUFVDYW52YXNDb250ZXh0PiBj
b250ZXh0Oworc3RydWN0IFdlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IgOiBHUFVTd2FwQ2hhaW5E
ZXNjcmlwdG9yQmFzZSB7CisgICAgT3B0aW9uYWw8R1BVU3dhcENoYWluRGVzY3JpcHRvcj4gYXNH
UFVTd2FwQ2hhaW5EZXNjcmlwdG9yKCkgY29uc3Q7CisKKyAgICBSZWZQdHI8V2ViR1BVRGV2aWNl
PiBkZXZpY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDJkYTVjZWZkNDFkMDY3M2IwZjBhYzNhMDI5NjU1ZDMxZWM5YjkxN2UuLjMwOWJhNDdhZTBjYTBk
OGRhZjhjMmFkZjhkNzFhMDRmOWNjZWFmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zNzIsNiArMzcy
LDcgQEAgTW9kdWxlcy93ZWJncHUvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAog
TW9kdWxlcy93ZWJncHUvV2ViR1BVU2FtcGxlci5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVNo
YWRlck1vZHVsZS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbi5jcHAKK01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVVN3YXBDaGFpbkRlc2NyaXB0b3IuY3BwCiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVUZXh0dXJlLmNwcAogTW9kdWxlcy93ZWJncHUvV2ViR1BVVGV4dHVyZVZpZXcuY3BwCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBiNmYwNTIzMmQ4ZGY0NTg1MTMxYjBkNDk1M2IyM2E0NmY5YzE1ZDIzLi4xZTVjZjlkMGU1
NzMzMWY4OGQxMTkyMGEzNGQ1ZGQ3OWZhYmQxNDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzgyNiw2ICsxMzgyNiw3IEBA
CiAJCUQwMDMyODg3MjFDOUE0RTUwMDYyMkFBNiAvKiBHUFVQaXBlbGluZUxheW91dC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHUFVQaXBlbGluZUxheW91dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQwMDM5MTQxMjIyNDhENDAwMDk4OTk4QyAvKiBHUFVQcm9ncmFtbWFibGVQ
YXNzRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVQcm9ncmFtbWFibGVQYXNzRW5j
b2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMDQ4N0QyMjI0NTdCRUEw
MEVFRDdEOSAvKiBXZWJHUFVQaXBlbGluZUxheW91dERlc2NyaXB0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDAwNDg3RTUyMjZBNjM0MjAwRUVEN0Q5IC8qIFdlYkdQVVN3YXBD
aGFpbkRlc2NyaXB0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR1BVU3dhcENoYWluRGVz
Y3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMEQ3N0ZEMjI0MkVE
NDUwMDQzRjEyQyAvKiBXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwMEQ3N0ZFMjI0MkVENDUwMDQzRjEyQyAvKiBXZWJHUFVDb21wdXRlUGFzc0VuY29kZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAwRDc3RkYyMjQyRUQ0NTAwNDNGMTJDIC8qIFdlYkdQ
VUNvbXB1dGVQYXNzRW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVQ29tcHV0ZVBhc3NFbmNvZGVyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjM5LDYgKzE4MjQwLDcgQEAKIAkJ
CQkzMTJGRjhDMDIxQTRDMkYyMDBFQjE5OUQgLyogR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5o
ICovLAogCQkJCUQwOEFBMDMyMjIwRDBEMEIwMDU4QzUwMiAvKiBHUFVTdG9yZU9wLmggKi8sCiAJ
CQkJMzEyRkY4QkEyMUE0QzJFRjAwRUIxOTlEIC8qIEdQVVN3YXBDaGFpbi5oICovLAorCQkJCUQw
QURCMjdGMjIzMkYxNzMwMEEyMjkzNSAvKiBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmggKi8sCiAJ
CQkJMzEyRkY4QzUyMUE0QzJGNDAwRUIxOTlEIC8qIEdQVVRleHR1cmUuaCAqLywKIAkJCQlEMDI2
RjQ4QzIyMEE1QkFEMDBBQzVGNDkgLyogR1BVVGV4dHVyZURlc2NyaXB0b3IuaCAqLywKIAkJCQkz
MTJGRjhDMzIxQTRDMkYzMDBFQjE5OUQgLyogR1BVVGV4dHVyZUZvcm1hdC5oICovLApAQCAtMjU3
OTEsNyArMjU3OTMsNiBAQAogCQkJCUQwREU4RkI4MjIyRTA5RTIwMDg4MjU1MCAvKiBHUFVTaGFk
ZXJTdGFnZUJpdC5oICovLAogCQkJCUQwREU4RkI5MjIyRTA5RTIwMDg4MjU1MCAvKiBHUFVTaGFk
ZXJTdGFnZUJpdC5pZGwgKi8sCiAJCQkJRDA4QUEwMzEyMjBEMENFNjAwNThDNTAyIC8qIEdQVVN0
b3JlT3AuaWRsICovLAotCQkJCUQwQURCMjdGMjIzMkYxNzMwMEEyMjkzNSAvKiBHUFVTd2FwQ2hh
aW5EZXNjcmlwdG9yLmggKi8sCiAJCQkJRDAyNkY0OEIyMjBBNUIwQjAwQUM1RjQ5IC8qIEdQVVRl
eHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEVBQ0ZBRTIxOUUzMEZEMDAwRkE3NUMgLyog
R1BVVGV4dHVyZUZvcm1hdC5pZGwgKi8sCiAJCQkJRDAyNkY0ODMyMjBBNDcyRjAwQUM1RjQ5IC8q
IEdQVVRleHR1cmVVc2FnZS5pZGwgKi8sCkBAIC0yNTg3OCw2ICsyNTg3OSw3IEBACiAJCQkJRDBE
QTBCRTUyMTc5MzBFMjAwN0ZFMkFDIC8qIFdlYkdQVVN3YXBDaGFpbi5jcHAgKi8sCiAJCQkJRDBE
QTBCRTQyMTc5MzBFMjAwN0ZFMkFDIC8qIFdlYkdQVVN3YXBDaGFpbi5oICovLAogCQkJCUQwREEw
QkU2MjE3OTMwRTIwMDdGRTJBQyAvKiBXZWJHUFVTd2FwQ2hhaW4uaWRsICovLAorCQkJCUQwMDQ4
N0U1MjI2QTYzNDIwMEVFRDdEOSAvKiBXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmNwcCAqLywK
IAkJCQlEMEFEQjI3RTIyMzJGMEMwMDBBMjI5MzUgLyogV2ViR1BVU3dhcENoYWluRGVzY3JpcHRv
ci5oICovLAogCQkJCUQwRUFDRjg1MjE5M0IwMkUwMDBGQTc1QyAvKiBXZWJHUFVUZXh0dXJlLmNw
cCAqLywKIAkJCQlEMEVBQ0Y4NDIxOTNCMDJFMDAwRkE3NUMgLyogV2ViR1BVVGV4dHVyZS5oICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmNwcAppbmRleCAyMWM0OWRmOWJiNGQ4NGQwM2I5Njc4NDYxYzQwOGE4YTIwM2MyMWM2Li4wODNh
NzdjMzVhMjc4ODM4MzNhODhmNjQzODBiYzZmNjg0NjIwZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcApAQCAtNDMsNyArNDMs
NiBAQAogI2luY2x1ZGUgIkdQVVNhbXBsZXJEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiR1BVU2hh
ZGVyTW9kdWxlLmgiCiAjaW5jbHVkZSAiR1BVU2hhZGVyTW9kdWxlRGVzY3JpcHRvci5oIgotI2lu
Y2x1ZGUgIkdQVVN3YXBDaGFpbi5oIgogI2luY2x1ZGUgIkdQVVN3YXBDaGFpbkRlc2NyaXB0b3Iu
aCIKICNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZURlc2NyaXB0
b3IuaCIKQEAgLTk2LDEyICs5NSw2IEBAIFJlZlB0cjxHUFVDb21tYW5kQnVmZmVyPiBHUFVEZXZp
Y2U6OnRyeUNyZWF0ZUNvbW1hbmRCdWZmZXIoKSBjb25zdAogICAgIHJldHVybiBHUFVDb21tYW5k
QnVmZmVyOjp0cnlDcmVhdGUoKnRoaXMpOwogfQogCi1SZWZQdHI8R1BVU3dhcENoYWluPiBHUFVE
ZXZpY2U6OnRyeUNyZWF0ZVN3YXBDaGFpbihjb25zdCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIGNvbnN0Ci17Ci0gICAgbV9zd2FwQ2hh
aW4gPSBHUFVTd2FwQ2hhaW46OnRyeUNyZWF0ZSgqdGhpcywgZGVzY3JpcHRvciwgd2lkdGgsIGhl
aWdodCk7Ci0gICAgcmV0dXJuIG1fc3dhcENoYWluOwotfQotCiBSZWZQdHI8R1BVUXVldWU+IEdQ
VURldmljZTo6dHJ5R2V0UXVldWUoKSBjb25zdAogewogICAgIGlmICghbV9xdWV1ZSkKQEAgLTEw
OSw2ICsxMDIsMTEgQEAgUmVmUHRyPEdQVVF1ZXVlPiBHUFVEZXZpY2U6OnRyeUdldFF1ZXVlKCkg
Y29uc3QKIAogICAgIHJldHVybiBtX3F1ZXVlOwogfQorICAgIAordm9pZCBHUFVEZXZpY2U6OnNl
dFN3YXBDaGFpbihSZWZQdHI8R1BVU3dhcENoYWluPiYmIHN3YXBDaGFpbikKK3sKKyAgICBtX3N3
YXBDaGFpbiA9IFdURk1vdmUoc3dhcENoYWluKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmgKaW5kZXggMWNlNDJhZmM4MDBhNjY5MjQzNmY3YTU0NzJlN2NhYjA1YzE2Y2M0Yy4uYzkxM2Rl
ZmUzMTgzMmUzNjJkNDVjMTRjNmI3YWM2MmI1YTNkZDVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVRdWV1ZS5oIgorI2luY2x1ZGUgIkdQ
VVN3YXBDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC00NCw3ICs0NSw2IEBA
IGNsYXNzIEdQVVBpcGVsaW5lTGF5b3V0OwogY2xhc3MgR1BVUmVuZGVyUGlwZWxpbmU7CiBjbGFz
cyBHUFVTYW1wbGVyOwogY2xhc3MgR1BVU2hhZGVyTW9kdWxlOwotY2xhc3MgR1BVU3dhcENoYWlu
OwogY2xhc3MgR1BVVGV4dHVyZTsKIAogc3RydWN0IEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0
b3I7CkBAIC03OCwxOCArNzgsMTggQEAgcHVibGljOgogCiAgICAgUmVmUHRyPEdQVUNvbW1hbmRC
dWZmZXI+IHRyeUNyZWF0ZUNvbW1hbmRCdWZmZXIoKSBjb25zdDsKIAotICAgIFJlZlB0cjxHUFVT
d2FwQ2hhaW4+IHRyeUNyZWF0ZVN3YXBDaGFpbihjb25zdCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9y
JiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSBjb25zdDsKLQogICAgIFJlZlB0cjxHUFVRdWV1ZT4g
dHJ5R2V0UXVldWUoKSBjb25zdDsKKyAgICAKICAgICBQbGF0Zm9ybURldmljZSogcGxhdGZvcm1E
ZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtRGV2aWNlLmdldCgpOyB9CiAgICAgR1BV
U3dhcENoYWluKiBzd2FwQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX3N3YXBDaGFpbi5nZXQoKTsg
fQorICAgIHZvaWQgc2V0U3dhcENoYWluKFJlZlB0cjxHUFVTd2FwQ2hhaW4+JiYpOwogCiBwcml2
YXRlOgogICAgIGV4cGxpY2l0IEdQVURldmljZShQbGF0Zm9ybURldmljZVNtYXJ0UHRyJiYpOwog
CiAgICAgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciBtX3BsYXRmb3JtRGV2aWNlOwogICAgIG11dGFi
bGUgUmVmUHRyPEdQVVF1ZXVlPiBtX3F1ZXVlOwotICAgIG11dGFibGUgUmVmUHRyPEdQVVN3YXBD
aGFpbj4gbV9zd2FwQ2hhaW47CisgICAgUmVmUHRyPEdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluLmgKaW5kZXggNGQ0NjUzY2FlOWU0OTJh
MWViYTAzZTAxNjAyYWU4ZjQ3MjE3NDYxNC4uMzI3ZmQ2NzdhYjQ3YTcyYWIxMTExOWQwODk1MzU1
NDI4MTM1MzE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVN3YXBDaGFpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVTd2FwQ2hhaW4uaApAQCAtNTAsNyArNTAsNyBAQCB1c2luZyBQbGF0Zm9ybVN3YXBM
YXllclNtYXJ0UHRyID0gUmV0YWluUHRyPFdlYkdQVUxheWVyPjsKIAogY2xhc3MgR1BVU3dhcENo
YWluIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVU3dhcENoYWluPiB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZlB0cjxHUFVTd2FwQ2hhaW4+IHRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmLCBjb25z
dCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yJiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKKyAgICBz
dGF0aWMgUmVmUHRyPEdQVVN3YXBDaGFpbj4gdHJ5Q3JlYXRlKGNvbnN0IEdQVVN3YXBDaGFpbkRl
c2NyaXB0b3ImLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogCiAgICAgUmVmUHRyPEdQVVRleHR1
cmU+IHRyeUdldEN1cnJlbnRUZXh0dXJlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU3dhcENoYWluRGVzY3JpcHRvci5oCmlu
ZGV4IDViMTUxYmMyYzNmYmJhOTllMDcwZTljZDI1ZGU4YTIzM2Y4NmI5ZjEuLjY1NzA0MjA0NjNj
YWFiYTE1ZmU3ZDczMTYyYWE4ZWE3YmQ0ODFmOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVN3YXBDaGFpbkRlc2NyaXB0b3Iu
aApAQCAtMjcsMTYgKzI3LDI3IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAi
R1BVRGV2aWNlLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZUZvcm1hdC5oIgogI2luY2x1ZGUgIkdQ
VVRleHR1cmVVc2FnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBHUFVTd2Fw
Q2hhaW5EZXNjcmlwdG9yIHsKK3N0cnVjdCBHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yQmFzZSB7CiAg
ICAgR1BVVGV4dHVyZUZvcm1hdCBmb3JtYXQ7CiAgICAgR1BVVGV4dHVyZVVzYWdlRmxhZ3MgdXNh
Z2UgeyBzdGF0aWNfY2FzdDxHUFVUZXh0dXJlVXNhZ2VGbGFncz4oR1BVVGV4dHVyZVVzYWdlOjpG
bGFnczo6T3V0cHV0QXR0YWNobWVudCkgfTsKIH07CiAKK3N0cnVjdCBHUFVTd2FwQ2hhaW5EZXNj
cmlwdG9yIDogR1BVU3dhcENoYWluRGVzY3JpcHRvckJhc2UgeworICAgIEdQVVN3YXBDaGFpbkRl
c2NyaXB0b3IoUmVmPEdQVURldmljZT4mJiBncHVEZXZpY2UsIGNvbnN0IEdQVVN3YXBDaGFpbkRl
c2NyaXB0b3JCYXNlJiBiYXNlKQorICAgICAgICA6IEdQVVN3YXBDaGFpbkRlc2NyaXB0b3JCYXNl
KGJhc2UpCisgICAgICAgICwgZGV2aWNlKFdURk1vdmUoZ3B1RGV2aWNlKSkKKyAgICB7CisgICAg
fQorICAgIAorICAgIFJlZjxHUFVEZXZpY2U+IGRldmljZTsKK307CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dhcENoYWluTWV0YWwubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVU3dhcENoYWlu
TWV0YWwubW0KaW5kZXggYzFmZTc4Njc0ZTIwNjgzNzI3YWM2ZTI3NTdmNjI2ZDExNDg1YWQ0Mi4u
YmYzZTM3Mjk2ODQ1ZTZlZmU1Njg0ZmI1MDA4ZDA2ZWViYTI5NWIyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVVN3YXBDaGFpbk1ldGFs
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9HUFVT
d2FwQ2hhaW5NZXRhbC5tbQpAQCAtODUsMTAgKzg1LDEwIEBAIHN0YXRpYyBSZXRhaW5QdHI8V2Vi
R1BVTGF5ZXI+IHRyeUNyZWF0ZVdlYkdQVUxheWVyKE1UTERldmljZSAqZGV2aWNlLCBNVExQaXhl
bEZvCiAgICAgcmV0dXJuIGxheWVyOwogfQogCi1SZWZQdHI8R1BVU3dhcENoYWluPiBHUFVTd2Fw
Q2hhaW46OnRyeUNyZWF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVU3dhcENo
YWluRGVzY3JpcHRvciYgZGVzY3JpcHRvciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorUmVmUHRy
PEdQVVN3YXBDaGFpbj4gR1BVU3dhcENoYWluOjp0cnlDcmVhdGUoY29uc3QgR1BVU3dhcENoYWlu
RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogewotICAgIGlm
ICghZGV2aWNlLnBsYXRmb3JtRGV2aWNlKCkpIHsKLSAgICAgICAgTE9HKFdlYkdQVSwgIkdQVVN3
YXBDaGFpbjo6c2V0RGV2aWNlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOworICAgIGlmICghZGVz
Y3JpcHRvci5kZXZpY2UtPnBsYXRmb3JtRGV2aWNlKCkpIHsKKyAgICAgICAgTE9HKFdlYkdQVSwg
IkdQVVN3YXBDaGFpbjo6dHJ5Q3JlYXRlKCk6IEludmFsaWQgR1BVRGV2aWNlISIpOwogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKQEAgLTEwMiwxMyArMTAyLDE1IEBAIFJlZlB0cjxH
UFVTd2FwQ2hhaW4+IEdQVVN3YXBDaGFpbjo6dHJ5Q3JlYXRlKGNvbnN0IEdQVURldmljZSYgZGV2
aWNlLCBjb25zdCBHUFVTCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGF1
dG8gbGF5ZXIgPSB0cnlDcmVhdGVXZWJHUFVMYXllcihkZXZpY2UucGxhdGZvcm1EZXZpY2UoKSwg
KnBpeGVsRm9ybWF0LCB1c2FnZU9wdGlvbnMpOworICAgIGF1dG8gbGF5ZXIgPSB0cnlDcmVhdGVX
ZWJHUFVMYXllcihkZXNjcmlwdG9yLmRldmljZS0+cGxhdGZvcm1EZXZpY2UoKSwgKnBpeGVsRm9y
bWF0LCB1c2FnZU9wdGlvbnMpOwogICAgIGlmICghbGF5ZXIpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgc2V0TGF5ZXJTaGFwZShsYXllci5nZXQoKSwgd2lkdGgsIGhlaWdodCk7CiAK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdQVVN3YXBDaGFpbihXVEZNb3ZlKGxheWVyKSwgdXNh
Z2VPcHRpb25zKSk7CisgICAgYXV0byBzd2FwQ2hhaW4gPSBhZG9wdFJlZihuZXcgR1BVU3dhcENo
YWluKFdURk1vdmUobGF5ZXIpLCB1c2FnZU9wdGlvbnMpKTsKKyAgICBkZXNjcmlwdG9yLmRldmlj
ZS0+c2V0U3dhcENoYWluKHN3YXBDaGFpbi5jb3B5UmVmKCkpOworICAgIHJldHVybiBzd2FwQ2hh
aW47CiB9CiAKIEdQVVN3YXBDaGFpbjo6R1BVU3dhcENoYWluKFJldGFpblB0cjxXZWJHUFVMYXll
cj4mJiBwbGF0Zm9ybUxheWVyLCBPcHRpb25TZXQ8R1BVVGV4dHVyZVVzYWdlOjpGbGFncz4gdXNh
Z2VPcHRpb25zKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhlYjAxYTIwMmE3YmY3NmQ2MGMxMDc4ZDA1MWUxY2Q0NjQzNTcz
ODAuLjA2NTY0NGYzNWFjYjMwOGRiNzBjMGIxYTM2MWNkNDRiNjAxZDk5NGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wNC0xOSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29t
PgorCisgICAgICAgIFtXZWJHUFVdIE1vdmUgc3dhcCBjaGFpbiBtZXRob2RzIGZyb20gR1BVRGV2
aWNlIHRvIEdQVUNhbnZhc0NvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NzEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nv
bi4KKworICAgICAgICBHUFVTd2FwQ2hhaW5zIGFyZSBub3cgY29uZmlndXJlZCB2aWEgR1BVQ2Fu
dmFzQ29udGV4dCBpbnN0ZWFkIG9mIEdQVURldmljZS4KKworICAgICAgICAqIHdlYmdwdS9ibGVu
ZC10cmlhbmdsZS1zdHJpcC5odG1sOgorICAgICAgICAqIHdlYmdwdS9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzOgorICAgICAgICAoY3JlYXRlQmFzaWNTd2FwQ2hhaW4pOgorICAgICAgICAqIHdlYmdw
dS93aGxzbC5odG1sOgorCiAyMDE5LTA0LTE4ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5l
ckBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGF1dG9zY3JvbGwgdGVzdCB0byBsaWZ0IGF0
IHRoZSBlbmQgYW5kIGJlIGxlc3MgZmxha2V5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
cHUvYmxlbmQtdHJpYW5nbGUtc3RyaXAuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9ibGVuZC10
cmlhbmdsZS1zdHJpcC5odG1sCmluZGV4IDc5ODEzNWY1ODFmNjE2ZTM0OTg2NTljZGU2YzEyMGQ0
NzkyZmRkN2YuLjc5MzJkMzAwNjBhMmE2MmEzNWMzM2YzNmZjM2U3ZmM0M2Y1ZGU3NjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9ibGVuZC10cmlhbmdsZS1zdHJpcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3dlYmdwdS9ibGVuZC10cmlhbmdsZS1zdHJpcC5odG1sCkBAIC04MSw3ICs4
MSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgdmVydGV4QnVmZmVyLnNldFN1YkRh
dGEoMCwgdmVydGV4RGF0YS5idWZmZXIpOwogCiAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJncHUiKTsKLSAgICBjb25zdCBzd2FwQ2hhaW4gPSBkZXZpY2UuY3JlYXRlU3dh
cENoYWluKHsgY29udGV4dDogY29udGV4dCwgZm9ybWF0OiAiYmdyYTh1bm9ybSIgfSk7CisgICAg
Y29uc3Qgc3dhcENoYWluID0gY29udGV4dC5jb25maWd1cmVTd2FwQ2hhaW4oeyBkZXZpY2U6IGRl
dmljZSwgZm9ybWF0OiAiYmdyYTh1bm9ybSIgfSk7CiAgICAgY29uc3QgY29sb3JBdHRhY2htZW50
ID0gewogICAgICAgICBhdHRhY2htZW50OiBzd2FwQ2hhaW4uZ2V0Q3VycmVudFRleHR1cmUoKS5j
cmVhdGVEZWZhdWx0VmlldygpLAogICAgICAgICBsb2FkT3A6ICJjbGVhciIsCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyBiL0xheW91dFRlc3Rz
L3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCmluZGV4IDEzYmU2ZjgzY2JhYjFiY2EzYTM3
ZjJiNmQxYWY0OTFiY2U2YmVjYzIuLmE2NDkzN2IyYjljOWZiN2U2ZTJlMGJkNzAwNzY1ODAyZWEw
YjQ3MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCkBAIC02
LDcgKzYsNyBAQCBhc3luYyBmdW5jdGlvbiBnZXRCYXNpY0RldmljZSgpIHsKIAogZnVuY3Rpb24g
Y3JlYXRlQmFzaWNTd2FwQ2hhaW4oY2FudmFzLCBkZXZpY2UpIHsKICAgICBjb25zdCBjb250ZXh0
ID0gY2FudmFzLmdldENvbnRleHQoImdwdSIpOwotICAgIHJldHVybiBkZXZpY2UuY3JlYXRlU3dh
cENoYWluKHsgY29udGV4dDogY29udGV4dCwgZm9ybWF0OiAiYmdyYTh1bm9ybSIgfSk7CisgICAg
cmV0dXJuIGNvbnRleHQuY29uZmlndXJlU3dhcENoYWluKHsgZGV2aWNlOiBkZXZpY2UsIGZvcm1h
dDogImJncmE4dW5vcm0iIH0pOwogfQogCiBmdW5jdGlvbiBjcmVhdGVCYXNpY0RlcHRoU3RhdGVE
ZXNjcmlwdG9yKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wuaHRtbAppbmRleCBjZTZlMjAwNzU4MmQ1ZThjMTRl
MmY0N2VlYzc2YzEzNjhmNzQ1YWZhLi40N2FhNTE4NDZkNTc2ODUxMzJmNzE3MjE5ZDU1MjNhZDYy
YTEwNDBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJncHUvd2hsc2wuaHRtbApAQCAtOTAsOCArOTAsOCBAQCBhc3luYyBmdW5j
dGlvbiBzdGFydCgpIHsKIAogICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjYW52YXMiKTsKICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoImdw
dSIpOwotICAgIGNvbnN0IHN3YXBDaGFpbkRlc2NyaXB0b3IgPSB7Y29udGV4dCwgZm9ybWF0OiAi
YmdyYTh1bm9ybSJ9OwotICAgIGNvbnN0IHN3YXBDaGFpbiA9IGRldmljZS5jcmVhdGVTd2FwQ2hh
aW4oc3dhcENoYWluRGVzY3JpcHRvcik7CisgICAgY29uc3Qgc3dhcENoYWluRGVzY3JpcHRvciA9
IHtkZXZpY2UsIGZvcm1hdDogImJncmE4dW5vcm0ifTsKKyAgICBjb25zdCBzd2FwQ2hhaW4gPSBj
b250ZXh0LmNvbmZpZ3VyZVN3YXBDaGFpbihzd2FwQ2hhaW5EZXNjcmlwdG9yKTsKICAgICBjb25z
dCBvdXRwdXRUZXh0dXJlID0gc3dhcENoYWluLmdldEN1cnJlbnRUZXh0dXJlKCk7CiAgICAgY29u
c3Qgb3V0cHV0VGV4dHVyZVZpZXcgPSBvdXRwdXRUZXh0dXJlLmNyZWF0ZURlZmF1bHRWaWV3KCk7
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>