<?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>193247</bug_id>
          
          <creation_ts>2019-01-08 11:40:42 -0800</creation_ts>
          <short_desc>[WebGPU] Update createRenderPipeline for WebGPUPipelineLayout</short_desc>
          <delta_ts>2019-01-14 12:44:16 -0800</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>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1492674</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 11:40:42 -0800</bug_when>
    <thetext>[WebGPU] Update PipelineLayout::create for MTLArgumentEncoders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492684</commentid>
    <comment_count>1</comment_count>
      <attachid>358617</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 11:56:20 -0800</bug_when>
    <thetext>Created attachment 358617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492686</commentid>
    <comment_count>2</comment_count>
      <attachid>358618</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 11:59:59 -0800</bug_when>
    <thetext>Created attachment 358618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492687</commentid>
    <comment_count>3</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 12:01:07 -0800</bug_when>
    <thetext>&lt;rdar://problem/46908800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492688</commentid>
    <comment_count>4</comment_count>
      <attachid>358618</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-08 12:05:57 -0800</bug_when>
    <thetext>Comment on attachment 358618
Patch

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

&gt; Source/WebCore/platform/graphics/gpu/GPURenderPipelineDescriptor.h:47
&gt; +    // Needed, as aggregate initialization of derived structs is not supported until C++17.

I don&apos;t think we need this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492706</commentid>
    <comment_count>5</comment_count>
      <attachid>358626</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 12:58:26 -0800</bug_when>
    <thetext>Created attachment 358626
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492740</commentid>
    <comment_count>6</comment_count>
      <attachid>358626</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-08 13:36:27 -0800</bug_when>
    <thetext>Comment on attachment 358626
Patch for landing

Clearing flags on attachment: 358626

Committed r239744: &lt;https://trac.webkit.org/changeset/239744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492741</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-08 13:36:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492807</commentid>
    <comment_count>8</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-08 16:31:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/46908800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492831</commentid>
    <comment_count>9</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-01-08 17:37:19 -0800</bug_when>
    <thetext>looks like https://trac.webkit.org/changeset/239744/webkit 

caused http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=webgpu%2Fvertex-buffer-triangle-strip.html 

To start failing continuously on High Sierra and up. Image diff shows it is failing to render a green square. 

Diff:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r239749%20(8737)/webgpu/vertex-buffer-triangle-strip-diffs.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494260</commentid>
    <comment_count>10</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-14 12:44:16 -0800</bug_when>
    <thetext>(In reply to Truitt Savell from comment #9)
&gt; looks like https://trac.webkit.org/changeset/239744/webkit 
&gt; 
&gt; caused
&gt; http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=webgpu%2Fvertex-buffer-triangle-strip.html 
&gt; 
&gt; To start failing continuously on High Sierra and up. Image diff shows it is
&gt; failing to render a green square. 
&gt; 
&gt; Diff:
&gt; https://build.webkit.org/results/
&gt; Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r239749%20(8737)/webgpu/
&gt; vertex-buffer-triangle-strip-diffs.html

Addressed in https://bugs.webkit.org/show_bug.cgi?id=193289.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358617</attachid>
            <date>2019-01-08 11:56:20 -0800</date>
            <delta_ts>2019-01-08 11:59:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193247-20190108115619.patch</filename>
            <type>text/plain</type>
            <size>15993</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3MThkMTAyYjI3YzA1
ZmI0Nzk3NDdiOTM2OGY1OGY5MjRlOTNlMi4uNWI3MGU0ZmQxOTZkMjdkYjdmYzFjMTQxMTgzZDFl
MWI4MDc0NjdlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAxLTA4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRl
IFBpcGVsaW5lTGF5b3V0OjpjcmVhdGUgZm9yIFdlYkdQVVBpcGVsaW5lTGF5b3V0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMjQ3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYkdQVVBpcGVs
aW5lTGF5b3V0IHRvIFdlYkdQVVJlbmRlclBpcGVsaW5lIHZpYSBXZWJHUFVQaXBlbGluZURlc2Ny
aXB0b3JCYXNlLgorCisgICAgICAgIFRlc3Q6IFVwZGF0ZWQgcmVuZGVyLXBpcGVsaW5lcy5odG1s
IHRvIHRlc3QgbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpjcmVhdGVS
ZW5kZXJQaXBlbGluZSBjb25zdCk6IENvbnZlcnQgV2ViR1BVUGlwZWxpbmVMYXlvdXQgdG8gR1BV
UGlwZWxpbmVMYXlvdXQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVE
ZXNjcmlwdG9yQmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaWRsOiBBZGQgbGF5b3V0IGZpZWxkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0Lmg6IAorICAgICAgICAoV2ViQ29yZTo6V2ViR1BV
UGlwZWxpbmVMYXlvdXQ6OnBpcGVsaW5lTGF5b3V0KTogQWRkZWQuIEdldHRlci4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oOiBVcGRh
dGVkIGZyb20gb3V0LW9mLWRhdGUgdmVyc2lvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUGlwZWxp
bmVMYXlvdXQ6OkdQVVBpcGVsaW5lTGF5b3V0KTogTm93IHJldGFpbnMgYmluZEdyb3VwTGF5b3V0
cyBmcm9tIGRlc2NyaXB0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBp
cGVsaW5lTGF5b3V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oOiBOb3cgaW5oZXJpdHMgZnJvbSBHUFVQaXBlbGluZURlc2Ny
aXB0b3JCYXNlLgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
OjpHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOiBDdXN0b20gY29uc3RydWN0b3IgZm9yIG5v
bi1hZ2dyZWdhdGUgc3RydWN0LgorCiAyMDE5LTAxLTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBNYXJnaW4gY29sbGFwc2luZyBzaG91bGQg
bm90IGJlIGxpbWl0ZWQgdG8gaW4tZmxvdyBub24tcmVwbGFjZWQgYm94ZXMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCBmNjU2YWNmNGE2
NzQzNmM1MTU5NjEwMzFlM2Q5NTJiZjIxMGIwNjI5Li4yZmZhM2I3YTZkOGE5YWRmYjM3YzFmNDRj
YzY2OTllMDZjN2U1M2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHAKQEAgLTEwMyw2ICsxMDMsOCBAQCBzdGF0aWMgT3B0aW9uYWw8R1BVUGlw
ZWxpbmVTdGFnZURlc2NyaXB0b3I+IHZhbGlkYXRlQW5kQ29udmVydFBpcGVsaW5lU3RhZ2UoY29u
cwogCiBSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxpbmU+IFdlYkdQVURldmljZTo6Y3JlYXRlUmVu
ZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikg
Y29uc3QKIHsKKyAgICBhdXRvIHBpcGVsaW5lTGF5b3V0ID0gZGVzY3JpcHRvci5sYXlvdXQgPyBk
ZXNjcmlwdG9yLmxheW91dC0+cGlwZWxpbmVMYXlvdXQoKSA6IG51bGxwdHI7CisKICAgICBhdXRv
IHZlcnRleFN0YWdlID0gdmFsaWRhdGVBbmRDb252ZXJ0UGlwZWxpbmVTdGFnZShkZXNjcmlwdG9y
LnZlcnRleFN0YWdlKTsKICAgICBhdXRvIGZyYWdtZW50U3RhZ2UgPSB2YWxpZGF0ZUFuZENvbnZl
cnRQaXBlbGluZVN0YWdlKGRlc2NyaXB0b3IuZnJhZ21lbnRTdGFnZSk7CiAKQEAgLTExMSw3ICsx
MTMsNyBAQCBSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxpbmU+IFdlYkdQVURldmljZTo6Y3JlYXRl
UmVuZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICB9CiAKLSAgICBpZiAoYXV0byBwaXBlbGluZSA9IG1fZGV2aWNlLT5jcmVhdGVSZW5kZXJQ
aXBlbGluZShHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgeyBXVEZNb3ZlKCp2ZXJ0ZXhTdGFn
ZSksIFdURk1vdmUoKmZyYWdtZW50U3RhZ2UpLCBkZXNjcmlwdG9yLnByaW1pdGl2ZVRvcG9sb2d5
LCBkZXNjcmlwdG9yLmlucHV0U3RhdGUgfSkpCisgICAgaWYgKGF1dG8gcGlwZWxpbmUgPSBtX2Rl
dmljZS0+Y3JlYXRlUmVuZGVyUGlwZWxpbmUoR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIHsg
V1RGTW92ZShwaXBlbGluZUxheW91dCksIFdURk1vdmUoKnZlcnRleFN0YWdlKSwgV1RGTW92ZSgq
ZnJhZ21lbnRTdGFnZSksIGRlc2NyaXB0b3IucHJpbWl0aXZlVG9wb2xvZ3ksIFdURk1vdmUoZGVz
Y3JpcHRvci5pbnB1dFN0YXRlKSB9KSkKICAgICAgICAgcmV0dXJuIFdlYkdQVVJlbmRlclBpcGVs
aW5lOjpjcmVhdGUocGlwZWxpbmUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgcmV0dXJuIG51bGxw
dHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKaW5kZXggNTJjMmY5YWMwZmI5MWM0MDc0Nzlk
ZmVmZTNlOGUwOWMyMDMxMWEwOS4uNjhhMGI4NDVlNDI4OTBjNTkyM2NkZmRkNDhlMDhkYTE1N2Q3
MjhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlw
ZWxpbmVEZXNjcmlwdG9yQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaApAQCAtMjcsMTAgKzI3LDEyIEBACiAKICNp
ZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVMYXlvdXQuaCIKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFz
ZSB7Ci0gICAgLy8gV2ViR1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OworICAgIFJlZlB0cjxXZWJH
UFVQaXBlbGluZUxheW91dD4gbGF5b3V0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVE
ZXNjcmlwdG9yQmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAppbmRleCBlYjEzNWI1NTc0NmU0NjE2NGVjNmQ3ODcw
ZDExOWM5YTMyNzVmMTExLi5mZGRiMDkzZDdkNzI4NWQzZTA4MTMwZTZiZDFmMDEwZDQ2OTRjNjcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGlu
ZURlc2NyaXB0b3JCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbApAQCAtMjgsNSArMjgsNSBAQAogICAgIENv
bmRpdGlvbmFsPVdFQkdQVSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQogXSBkaWN0aW9u
YXJ5IFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UgewotICAgIC8vIFdlYkdQVVBpcGVsaW5l
TGF5b3V0IGxheW91dDsKKyAgICBXZWJHUFVQaXBlbGluZUxheW91dCBsYXlvdXQ7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlv
dXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0
LmgKaW5kZXggNTU1MTU3NDI0YjBiZTI5OTYwYjRiMGFjYjAzZWMxNjNmZmJjOTg4MS4uNjVkMmY5
YjI0YmE1MDZhOWRkMGIzZTg1ZTE3YzdjZjMzYTczZDRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5oCkBAIC0zOCw2ICsz
OCw4IEBAIGNsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0IDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
R1BVUGlwZWxpbmVMYXlvdXQ+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkdQVVBpcGVs
aW5lTGF5b3V0PiBjcmVhdGUoUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiYmKTsKIAorICAgIFJlZlB0
cjxHUFVQaXBlbGluZUxheW91dD4gcGlwZWxpbmVMYXlvdXQoKSB7IHJldHVybiBtX3BpcGVsaW5l
TGF5b3V0LmNvcHlSZWYoKTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYkdQVVBpcGVs
aW5lTGF5b3V0KFJlZjxHUFVQaXBlbGluZUxheW91dD4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oCmluZGV4IGJlMjc1NWI5ZTI2NmEyZThiMzhmYTVkNGIwOGZkN2UxNGUyODEy
NjkuLmJkYzNlN2Q2MGZlYjhkNGM0M2UxYzViMmUxN2M1YmUyMWU3ZDg2YzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZURlc2NyaXB0
b3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBp
cGVsaW5lRGVzY3JpcHRvckJhc2UuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdF
QkdQVSkKIAorI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiR1BVUGlw
ZWxpbmVTdGFnZURlc2NyaXB0b3IuaCIKIAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTM0
LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UgewotICAgIFZlY3RvcjxHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvcj4gc3Rh
Z2VzOworICAgIFJlZlB0cjxHUFVQaXBlbGluZUxheW91dD4gbGF5b3V0OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKaW5kZXggYWFiMDI5NTRlN2IyN2Yw
YjlmZjg5Nzk1MGUyODBhMjUyNzFiM2Q3Ni4uMjI5MzBiNGM4ZjNmMmM3NGU5MjljYjUxYzBkYWIz
ODg2NmNlYmMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCkBAIC0zNSw5ICszNSw5IEBAIFJlZjxH
UFVQaXBlbGluZUxheW91dD4gR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShHUFVQaXBlbGluZUxh
eW91dERlc2NyaXB0b3ImJiBkCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVUGlwZWxpbmVM
YXlvdXQoV1RGTW92ZShkZXNjcmlwdG9yKSkpOwogfQogCi1HUFVQaXBlbGluZUxheW91dDo6R1BV
UGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYpCitHUFVQaXBlbGlu
ZUxheW91dDo6R1BVUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikKKyAgICA6IG1fYmluZEdyb3VwTGF5b3V0cyhkZXNjcmlwdG9yLmJpbmRHcm91
cExheW91dHMpCiB7Ci0gICAgLy8gRklYTUU6IFN0dWIgaW1wbGVtZW50YXRpb24uCiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKaW5kZXggODcwYTVkYTBmM2RkZTVl
NTY0MWI1MmM2ZmFiMDY2MjYyYTNiM2JmYi4uMjYyNjE4ZjkzMTUxYmQyZGFhNGZlM2MwY2FiMDQ4
ZDQzZmMyYjQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEdQVVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5
b3V0RGVzY3JpcHRvciYmKTsKKworICAgIFZlY3RvcjxSZWZQdHI8Y29uc3QgR1BVQmluZEdyb3Vw
TGF5b3V0Pj4gbV9iaW5kR3JvdXBMYXlvdXRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oCmluZGV4IDViNDNiMWVlMWJmY2E4
NzcwYjRiMDM4ODk3ZDcyMTVjMzJiNmFjMGUuLjBmYTBmZGEyMTM5ZTNmYjdlZDk1NDgxOWE2OGE2
MmY4MWI5ZDBhYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKQEAgLTM1
LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yIHsKK3N0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgOiBH
UFVQaXBlbGluZURlc2NyaXB0b3JCYXNlIHsKICAgICBlbnVtIGNsYXNzIFByaW1pdGl2ZVRvcG9s
b2d5IHsKICAgICAgICAgUG9pbnRMaXN0LAogICAgICAgICBMaW5lTGlzdCwKQEAgLTQ0LDYgKzQ0
LDE2IEBAIHN0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgewogICAgICAgICBUcmlh
bmdsZVN0cmlwCiAgICAgfTsKIAorICAgIC8vIE5lZWRlZCwgYXMgYWdncmVnYXRlIGluaXRpYWxp
emF0aW9uIG9mIGRlcml2ZWQgc3RydWN0cyBpcyBub3Qgc3VwcG9ydGVkIHVudGlsIEMrKzE3Lgor
ICAgIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcihSZWZQdHI8R1BVUGlwZWxpbmVMYXlvdXQ+
JiYgbGF5b3V0LCBHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvciYmIHZlcnRleCwgR1BVUGlwZWxp
bmVTdGFnZURlc2NyaXB0b3ImJiBmcmFnbWVudCwgUHJpbWl0aXZlVG9wb2xvZ3kgdG9wb2xvZ3ks
IEdQVUlucHV0U3RhdGVEZXNjcmlwdG9yJiYgaW5wdXQpCisgICAgICAgIDogR1BVUGlwZWxpbmVE
ZXNjcmlwdG9yQmFzZSB7IFdURk1vdmUobGF5b3V0KSB9CisgICAgICAgICwgdmVydGV4U3RhZ2Uo
V1RGTW92ZSh2ZXJ0ZXgpKQorICAgICAgICAsIGZyYWdtZW50U3RhZ2UoV1RGTW92ZShmcmFnbWVu
dCkpCisgICAgICAgICwgcHJpbWl0aXZlVG9wb2xvZ3kodG9wb2xvZ3kpCisgICAgICAgICwgaW5w
dXRTdGF0ZShXVEZNb3ZlKGlucHV0KSkKKyAgICB7CisgICAgfQorCiAgICAgR1BVUGlwZWxpbmVT
dGFnZURlc2NyaXB0b3IgdmVydGV4U3RhZ2U7CiAgICAgR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0
b3IgZnJhZ21lbnRTdGFnZTsKICAgICBQcmltaXRpdmVUb3BvbG9neSBwcmltaXRpdmVUb3BvbG9n
eTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxNDg2MzgyNjE4Nzg4ZjI5ODRlMTg1ZDg3OTE2OWY4ZGUzOTY0Njk1Li5jNzlh
ZGExYjIxNDU0N2UyY2M2NDczMzc5OGMyYTAzNjk5MWY4YmIxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTktMDEtMDggIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBbV2ViR1BVXSBVcGRhdGUgUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZSBmb3IgV2ViR1BVUGlw
ZWxpbmVMYXlvdXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTMyNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgcmVuZGVyLXBpcGVsaW5lcy5odG1sIHRvIFdQVCBmb3JtIGFuZCB0byBhY2Nv
bW9kYXRlIFdlYkdQVVBpcGVsaW5lTGF5b3V0cy4KKworICAgICAgICAqIHdlYmdwdS9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzOgorICAgICAgICAoY3JlYXRlQmFzaWNQaXBlbGluZSk6IEFkZGVkIG9w
dGlvbiB0byBpbmNsdWRlIGEgV2ViR1BVUGlwZWxpbmVMYXlvdXQuCisgICAgICAgICogd2ViZ3B1
L3JlbmRlci1waXBlbGluZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS9yZW5kZXIt
cGlwZWxpbmVzLmh0bWw6CisKIDIwMTktMDEtMDcgIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVk
cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtHVEtdIFNraXAgY3NzLXBhaW50aW5nLWFw
aSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlv
bnMuanMgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcwppbmRleCBl
OWFlODM4NjJiYTFlODUxNjhhZTcwYTA3NjNhODM4YTQ5OGVjNmRkLi5lMGY5Nzc5NGU1YzljNGE3
YzI1NDliNjBhYmU1YjM1NTUzMTY0YjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUv
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1
LWZ1bmN0aW9ucy5qcwpAQCAtMTIsMTggKzEyLDE5IEBAIGZ1bmN0aW9uIGNyZWF0ZUJhc2ljQ29u
dGV4dChjYW52YXMsIGRldmljZSkgewogICAgIHJldHVybiBjb250ZXh0OwogfQogCi1mdW5jdGlv
biBjcmVhdGVCYXNpY1BpcGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlLCBpbnB1dFN0YXRlRGVz
Y3JpcHRvcikgewotICAgIHZlcnRleFN0YWdlRGVzY3JpcHRvciA9IHsKK2Z1bmN0aW9uIGNyZWF0
ZUJhc2ljUGlwZWxpbmUoc2hhZGVyTW9kdWxlLCBkZXZpY2UsIHBpcGVsaW5lTGF5b3V0LCBpbnB1
dFN0YXRlRGVzY3JpcHRvcikgeworICAgIGNvbnN0IHZlcnRleFN0YWdlRGVzY3JpcHRvciA9IHsK
ICAgICAgICAgbW9kdWxlOiBzaGFkZXJNb2R1bGUsCiAgICAgICAgIGVudHJ5UG9pbnQ6ICJ2ZXJ0
ZXhfbWFpbiIgCiAgICAgfTsKIAotICAgIGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yID0geworICAg
IGNvbnN0IGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yID0gewogICAgICAgICBtb2R1bGU6IHNoYWRl
ck1vZHVsZSwKICAgICAgICAgZW50cnlQb2ludDogImZyYWdtZW50X21haW4iCiAgICAgfTsKIAot
ICAgIHBpcGVsaW5lRGVzY3JpcHRvciA9IHsKKyAgICBjb25zdCBwaXBlbGluZURlc2NyaXB0b3Ig
PSB7CisgICAgICAgIGxheW91dDogcGlwZWxpbmVMYXlvdXQsCiAgICAgICAgIHZlcnRleFN0YWdl
OiB2ZXJ0ZXhTdGFnZURlc2NyaXB0b3IsCiAgICAgICAgIGZyYWdtZW50U3RhZ2U6IGZyYWdtZW50
U3RhZ2VEZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3BvbG9neTogInRyaWFuZ2xlU3Ry
aXAiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGYyNTA5MjYyMTQ5NjBmOWE3NTNkNGQ3YjFiNTYwNDRkOWJhZDc0NzIuLjg1ZDU5
YmI2M2VhYWFhMmIyNzU4MzIxOTE3NzhjMWMxMWJlN2M0NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy93ZWJncHUvcmVuZGVyLXBpcGVsaW5lcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsNCBAQAot
UEFTUyBbb2JqZWN0IFdlYkdQVV0gaXMgZGVmaW5lZC4KLVBBU1MgV2ViR1BVUmVuZGVyUGlwZWxp
bmUgd2l0aCBpbnZhbGlkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciB3YXMgbm90IGNy
ZWF0ZWQuCi1QQVNTIFdlYkdQVVJlbmRlclBpcGVsaW5lIHdpdGggaW52YWxpZCBzaGFkZXIgbW9k
dWxlIHdhcyBub3QgY3JlYXRlZC4KLVBBU1MgV2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZh
bGlkIHZlcnRleCBzaGFkZXIgc3RhZ2Ugd2FzIG5vdCBjcmVhdGVkLgotUEFTUyBXZWJHUFVSZW5k
ZXJQaXBlbGluZSB3aXRoIGludmFsaWQgdmVydGV4IHNoYWRlciBlbnRyeSBwb2ludCB3YXMgbm90
IGNyZWF0ZWQuCi1BbGwgdGVzdHMgY29tcGxldGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKLVRFU1QgQ09NUExFVEUKK1BBU1MgQ3JlYXRlIGJhc2ljIFdlYkdQVVJlbmRlclBp
cGVsaW5lIAorUEFTUyBCYWQgcGlwZWxpbmVzIHdlcmUgbm90IGNyZWF0ZWQgCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJncHUvcmVuZGVyLXBpcGVsaW5lcy5odG1sCmluZGV4IDZjYjRiZWZhYTFkNzQ5YTM3Nzk1
ZmM0MDVmZWZiY2FlOTlhOTc1YzQuLmZjYTQyMDcyOWYwYWI0MzM1ZWQ0N2UyMDc3NGZmYmVhZGRl
NDUxMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMuaHRtbApAQCAtMSw1
NSArMSw5OCBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImpzL2Jhc2ljLXdl
YmdwdS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5j
dGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
d2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworY29uc3Qgc2hhZGVyQ29kZSA9IGAKKyNp
bmNsdWRlIDxtZXRhbF9zdGRsaWI+CisgICAgCit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CiAKLWZ1
bmN0aW9uIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoZGVzY3JpcHRvciwgdGVzdFN1YmplY3ROYW1l
KSB7Ci0gICAgbGV0IHBpcGVsaW5lID0gZGVmYXVsdERldmljZS5jcmVhdGVSZW5kZXJQaXBlbGlu
ZShkZXNjcmlwdG9yKTsKK3N0cnVjdCBWZXJ0ZXgKK3sKKyAgICBmbG9hdDQgcG9zaXRpb24gW1tw
b3NpdGlvbl1dOworfTsKIAotICAgIGlmIChwaXBlbGluZSkKLSAgICAgICAgdGVzdEZhaWxlZChg
V2ViR1BVUmVuZGVyUGlwZWxpbmUgd2FzIGNyZWF0ZWQgd2l0aCBhbiBpbnZhbGlkICR7dGVzdFN1
YmplY3ROYW1lfSFgKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQYXNzZWQoYFdlYkdQVVJlbmRl
clBpcGVsaW5lIHdpdGggaW52YWxpZCAke3Rlc3RTdWJqZWN0TmFtZX0gd2FzIG5vdCBjcmVhdGVk
LmApOwordmVydGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbih1aW50IHZpZCBbW3ZlcnRleF9pZF1dKQor
eworICAgIFZlcnRleCB2OworICAgIHN3aXRjaCAodmlkKSB7CisgICAgY2FzZSAwOgorICAgICAg
ICB2LnBvc2l0aW9uID0gZmxvYXQ0KC0xLCAxLCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSAxOgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KC0xLCAtMSwgMCwgMSk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgMjoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgxLCAx
LCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgdi5wb3NpdGlv
biA9IGZsb2F0NCgxLCAtMSwgMCwgMSk7CisgICAgfQorICAgIHJldHVybiB2OworfQorCitmcmFn
bWVudCBmbG9hdDQgZnJhZ21lbnRfbWFpbihWZXJ0ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dKQor
eworICAgIHJldHVybiBmbG9hdDQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKK30KK2AKKworcHJvbWlz
ZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCBnZXRCYXNpY0Rl
dmljZSgpOworICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1
bGUoeyBjb2RlOiBzaGFkZXJDb2RlIH0pOworCisgICAgY29uc3QgbGF5b3V0QmluZGluZyA9IHsg
YmluZGluZzogMCwgdmlzaWJpbGl0eTogV2ViR1BVU2hhZGVyU3RhZ2VCaXQuVkVSVEVYLCB0eXBl
OiAic3RvcmFnZUJ1ZmZlciIgfTsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2Uu
Y3JlYXRlQmluZEdyb3VwTGF5b3V0KHsgYmluZGluZ3M6IFtsYXlvdXRCaW5kaW5nXSB9KTsKKyAg
ICBjb25zdCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dCh7IGJp
bmRHcm91cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdIH0pOworCisgICAgY29uc3QgcGlwZWxp
bmUgPSBjcmVhdGVCYXNpY1BpcGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlLCBwaXBlbGluZUxh
eW91dCk7CisgICAgYXNzZXJ0X3RydWUocGlwZWxpbmUgaW5zdGFuY2VvZiBXZWJHUFVSZW5kZXJQ
aXBlbGluZSwgIlN1Y2Nlc3NmdWxseSBjcmVhdGVkIFdlYkdQVVJlbmRlclBpcGVsaW5lIik7Cit9
LCAiQ3JlYXRlIGJhc2ljIFdlYkdQVVJlbmRlclBpcGVsaW5lIik7CisKK2Z1bmN0aW9uIGNoZWNr
QmFkUmVuZGVyUGlwZWxpbmUoZGV2aWNlLCBkZXNjcmlwdG9yLCB0ZXN0U3ViamVjdE5hbWUpIHsK
KyAgICBhc3NlcnRfdHJ1ZSghZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKGRlc2NyaXB0b3Ip
LCBgV2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZhbGlkICR7dGVzdFN1YmplY3ROYW1lfSB3
YXMgbm90IGNyZWF0ZWQuYCk7CiB9CiAKLWZ1bmN0aW9uIHNldFVwQmFkUGlwZWxpbmVzKCkgewot
ICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoe30sICJXZWJHUFVSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IiKTsKK3Byb21pc2VfdGVzdChhc3luYygpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBh
d2FpdCBnZXRCYXNpY0RldmljZSgpOworICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5j
cmVhdGVTaGFkZXJNb2R1bGUoeyBjb2RlOiBzaGFkZXJDb2RlIH0pOworICAgIGNoZWNrQmFkUmVu
ZGVyUGlwZWxpbmUoZGV2aWNlLCB7fSwgIldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciIp
OwogCi0gICAgbGV0IG5vTW9kdWxlVmVydGV4RGVzY3JpcHRvciA9IHsKKyAgICBjb25zdCBub01v
ZHVsZVZlcnRleERlc2NyaXB0b3IgPSB7CiAgICAgICAgIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhfbWFp
biIKICAgICB9Ci0gICAgbGV0IG5vTW9kdWxlUGlwZWxpbmVEZXNjcmlwdG9yID0geworCisgICAg
Y29uc3QgZnJhZ21lbnRTdGFnZURlc2NyaXB0b3IgPSB7CisgICAgICAgIG1vZHVsZTogc2hhZGVy
TW9kdWxlLAorICAgICAgICBlbnRyeVBvaW50OiAiZnJhZ21lbnRfbWFpbiIKKyAgICB9OworCisg
ICAgY29uc3Qgbm9Nb2R1bGVQaXBlbGluZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIHZlcnRleFN0
YWdlOiBub01vZHVsZVZlcnRleERlc2NyaXB0b3IsIAogICAgICAgICBmcmFnbWVudFN0YWdlOiBm
cmFnbWVudFN0YWdlRGVzY3JpcHRvciwKICAgICAgICAgcHJpbWl0aXZlVG9wb2xvZ3k6ICJ0cmlh
bmdsZUxpc3QiCiAgICAgfQotICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUobm9Nb2R1bGVQaXBl
bGluZURlc2NyaXB0b3IsICJzaGFkZXIgbW9kdWxlIik7CisgICAgY2hlY2tCYWRSZW5kZXJQaXBl
bGluZShkZXZpY2UsIG5vTW9kdWxlUGlwZWxpbmVEZXNjcmlwdG9yLCAic2hhZGVyIG1vZHVsZSIp
OwogCiAgICAgLy8gQSAoTWV0YWwpIHJlbmRlcnBpcGVsaW5lIG11c3QgaGF2ZSBhIHZlcnRleCBm
dW5jdGlvbi4KLSAgICBsZXQgbm9WZXJ0ZXhQaXBlbGluZURlc2NyaXB0b3IgPSB7CisgICAgY29u
c3Qgbm9WZXJ0ZXhQaXBlbGluZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIGZyYWdtZW50U3RhZ2U6
IGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3BvbG9neTogInRy
aWFuZ2xlTGlzdCIKICAgICB9Ci0gICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZShub1ZlcnRleFBp
cGVsaW5lRGVzY3JpcHRvciwgInZlcnRleCBzaGFkZXIgc3RhZ2UiKQorICAgIGNoZWNrQmFkUmVu
ZGVyUGlwZWxpbmUoZGV2aWNlLCBub1ZlcnRleFBpcGVsaW5lRGVzY3JpcHRvciwgInZlcnRleCBz
aGFkZXIgc3RhZ2UiKQogCi0gICAgbGV0IGJhZEVudHJ5UG9pbnREZXNjcmlwdG9yID0geyAKKyAg
ICBjb25zdCBiYWRFbnRyeVBvaW50RGVzY3JpcHRvciA9IHsgCiAgICAgICAgIG1vZHVsZTogc2hh
ZGVyTW9kdWxlLAogICAgICAgICBlbnRyeVBvaW50OiAiVmVydGV4X01haW4iIAogICAgIH07Ci0g
ICAgbGV0IGJhZEVudHJ5UG9pbnRQaXBlbGluZURlc2NzcmlwdG9yID0geworICAgIGNvbnN0IGJh
ZEVudHJ5UG9pbnRQaXBlbGluZURlc2NzcmlwdG9yID0gewogICAgICAgICB2ZXJ0ZXhTdGFnZTog
YmFkRW50cnlQb2ludERlc2NyaXB0b3IsIAogICAgICAgICBmcmFnbWVudFN0YWdlOiBmcmFnbWVu
dFN0YWdlRGVzY3JpcHRvciwKICAgICAgICAgcHJpbWl0aXZlVG9wb2xvZ3k6ICJ0cmlhbmdsZUxp
c3QiCiAgICAgfQotICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoYmFkRW50cnlQb2ludFBpcGVs
aW5lRGVzY3NyaXB0b3IsICJ2ZXJ0ZXggc2hhZGVyIGVudHJ5IHBvaW50Iik7Ci19Ci0KLXJ1bldl
YkdQVVRlc3RzKFtzZXRVcFBpcGVsaW5lLCBzZXRVcEJhZFBpcGVsaW5lc10pOwotCi1zdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoZGV2aWNlLCBi
YWRFbnRyeVBvaW50UGlwZWxpbmVEZXNjc3JpcHRvciwgInZlcnRleCBzaGFkZXIgZW50cnkgcG9p
bnQiKTsKK30sICJCYWQgcGlwZWxpbmVzIHdlcmUgbm90IGNyZWF0ZWQiKTsKIDwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358618</attachid>
            <date>2019-01-08 11:59:59 -0800</date>
            <delta_ts>2019-01-08 12:58:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193247-20190108115958.patch</filename>
            <type>text/plain</type>
            <size>15987</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3MThkMTAyYjI3YzA1
ZmI0Nzk3NDdiOTM2OGY1OGY5MjRlOTNlMi4uYzAwYzkzMzQwZGZmYzc5ODg2MmJlOWYyZjJlNGI3
MjAyZmM2OGM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAxLTA4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRl
IGNyZWF0ZVJlbmRlclBpcGVsaW5lIGZvciBXZWJHUFVQaXBlbGluZUxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMjQ3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYkdQVVBpcGVsaW5l
TGF5b3V0IHRvIFdlYkdQVVJlbmRlclBpcGVsaW5lIHZpYSBXZWJHUFVQaXBlbGluZURlc2NyaXB0
b3JCYXNlLgorCisgICAgICAgIFRlc3Q6IFVwZGF0ZWQgcmVuZGVyLXBpcGVsaW5lcy5odG1sIHRv
IHRlc3QgbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjpjcmVhdGVSZW5k
ZXJQaXBlbGluZSBjb25zdCk6IENvbnZlcnQgV2ViR1BVUGlwZWxpbmVMYXlvdXQgdG8gR1BVUGlw
ZWxpbmVMYXlvdXQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVz
Y3JpcHRvckJhc2UuaWRsOiBBZGQgbGF5b3V0IGZpZWxkLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0Lmg6IAorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVUGlw
ZWxpbmVMYXlvdXQ6OnBpcGVsaW5lTGF5b3V0KTogQWRkZWQuIEdldHRlci4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oOiBVcGRhdGVk
IGZyb20gb3V0LW9mLWRhdGUgdmVyc2lvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUGlwZWxpbmVM
YXlvdXQ6OkdQVVBpcGVsaW5lTGF5b3V0KTogTm93IHJldGFpbnMgYmluZEdyb3VwTGF5b3V0cyBm
cm9tIGRlc2NyaXB0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lTGF5b3V0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvci5oOiBOb3cgaW5oZXJpdHMgZnJvbSBHUFVQaXBlbGluZURlc2NyaXB0
b3JCYXNlLgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOiBDdXN0b20gY29uc3RydWN0b3IgZm9yIG5vbi1h
Z2dyZWdhdGUgc3RydWN0LgorCiAyMDE5LTAxLTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBNYXJnaW4gY29sbGFwc2luZyBzaG91bGQgbm90
IGJlIGxpbWl0ZWQgdG8gaW4tZmxvdyBub24tcmVwbGFjZWQgYm94ZXMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCBmNjU2YWNmNGE2NzQz
NmM1MTU5NjEwMzFlM2Q5NTJiZjIxMGIwNjI5Li4yZmZhM2I3YTZkOGE5YWRmYjM3YzFmNDRjYzY2
OTllMDZjN2U1M2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZS5jcHAKQEAgLTEwMyw2ICsxMDMsOCBAQCBzdGF0aWMgT3B0aW9uYWw8R1BVUGlwZWxp
bmVTdGFnZURlc2NyaXB0b3I+IHZhbGlkYXRlQW5kQ29udmVydFBpcGVsaW5lU3RhZ2UoY29ucwog
CiBSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxpbmU+IFdlYkdQVURldmljZTo6Y3JlYXRlUmVuZGVy
UGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikgY29u
c3QKIHsKKyAgICBhdXRvIHBpcGVsaW5lTGF5b3V0ID0gZGVzY3JpcHRvci5sYXlvdXQgPyBkZXNj
cmlwdG9yLmxheW91dC0+cGlwZWxpbmVMYXlvdXQoKSA6IG51bGxwdHI7CisKICAgICBhdXRvIHZl
cnRleFN0YWdlID0gdmFsaWRhdGVBbmRDb252ZXJ0UGlwZWxpbmVTdGFnZShkZXNjcmlwdG9yLnZl
cnRleFN0YWdlKTsKICAgICBhdXRvIGZyYWdtZW50U3RhZ2UgPSB2YWxpZGF0ZUFuZENvbnZlcnRQ
aXBlbGluZVN0YWdlKGRlc2NyaXB0b3IuZnJhZ21lbnRTdGFnZSk7CiAKQEAgLTExMSw3ICsxMTMs
NyBAQCBSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxpbmU+IFdlYkdQVURldmljZTo6Y3JlYXRlUmVu
ZGVyUGlwZWxpbmUoV2ViR1BVUmVuZGVyUGlwZQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICB9CiAKLSAgICBpZiAoYXV0byBwaXBlbGluZSA9IG1fZGV2aWNlLT5jcmVhdGVSZW5kZXJQaXBl
bGluZShHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgeyBXVEZNb3ZlKCp2ZXJ0ZXhTdGFnZSks
IFdURk1vdmUoKmZyYWdtZW50U3RhZ2UpLCBkZXNjcmlwdG9yLnByaW1pdGl2ZVRvcG9sb2d5LCBk
ZXNjcmlwdG9yLmlucHV0U3RhdGUgfSkpCisgICAgaWYgKGF1dG8gcGlwZWxpbmUgPSBtX2Rldmlj
ZS0+Y3JlYXRlUmVuZGVyUGlwZWxpbmUoR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIHsgV1RG
TW92ZShwaXBlbGluZUxheW91dCksIFdURk1vdmUoKnZlcnRleFN0YWdlKSwgV1RGTW92ZSgqZnJh
Z21lbnRTdGFnZSksIGRlc2NyaXB0b3IucHJpbWl0aXZlVG9wb2xvZ3ksIFdURk1vdmUoZGVzY3Jp
cHRvci5pbnB1dFN0YXRlKSB9KSkKICAgICAgICAgcmV0dXJuIFdlYkdQVVJlbmRlclBpcGVsaW5l
OjpjcmVhdGUocGlwZWxpbmUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKaW5kZXggNTJjMmY5YWMwZmI5MWM0MDc0NzlkZmVm
ZTNlOGUwOWMyMDMxMWEwOS4uNjhhMGI4NDVlNDI4OTBjNTkyM2NkZmRkNDhlMDhkYTE1N2Q3Mjhl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaApAQCAtMjcsMTAgKzI3LDEyIEBACiAKICNpZiBF
TkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiV2ViR1BVUGlwZWxpbmVMYXlvdXQuaCIKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZSB7
Ci0gICAgLy8gV2ViR1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OworICAgIFJlZlB0cjxXZWJHUFVQ
aXBlbGluZUxheW91dD4gbGF5b3V0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBl
bGluZURlc2NyaXB0b3JCYXNlLmlkbAppbmRleCBlYjEzNWI1NTc0NmU0NjE2NGVjNmQ3ODcwZDEx
OWM5YTMyNzVmMTExLi5mZGRiMDkzZDdkNzI4NWQzZTA4MTMwZTZiZDFmMDEwZDQ2OTRjNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURl
c2NyaXB0b3JCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbApAQCAtMjgsNSArMjgsNSBAQAogICAgIENvbmRp
dGlvbmFsPVdFQkdQVSwKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQogXSBkaWN0aW9uYXJ5
IFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UgewotICAgIC8vIFdlYkdQVVBpcGVsaW5lTGF5
b3V0IGxheW91dDsKKyAgICBXZWJHUFVQaXBlbGluZUxheW91dCBsYXlvdXQ7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgK
aW5kZXggNTU1MTU3NDI0YjBiZTI5OTYwYjRiMGFjYjAzZWMxNjNmZmJjOTg4MS4uNjVkMmY5YjI0
YmE1MDZhOWRkMGIzZTg1ZTE3YzdjZjMzYTczZDRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5oCkBAIC0zOCw2ICszOCw4
IEBAIGNsYXNzIFdlYkdQVVBpcGVsaW5lTGF5b3V0IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BV
UGlwZWxpbmVMYXlvdXQ+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkdQVVBpcGVsaW5l
TGF5b3V0PiBjcmVhdGUoUmVmPEdQVVBpcGVsaW5lTGF5b3V0PiYmKTsKIAorICAgIFJlZlB0cjxH
UFVQaXBlbGluZUxheW91dD4gcGlwZWxpbmVMYXlvdXQoKSB7IHJldHVybiBtX3BpcGVsaW5lTGF5
b3V0LmNvcHlSZWYoKTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYkdQVVBpcGVsaW5l
TGF5b3V0KFJlZjxHUFVQaXBlbGluZUxheW91dD4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNjcmlw
dG9yQmFzZS5oCmluZGV4IGJlMjc1NWI5ZTI2NmEyZThiMzhmYTVkNGIwOGZkN2UxNGUyODEyNjku
LmJkYzNlN2Q2MGZlYjhkNGM0M2UxYzViMmUxN2M1YmUyMWU3ZDg2YzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGluZURlc2NyaXB0b3JC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVs
aW5lRGVzY3JpcHRvckJhc2UuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQ
VSkKIAorI2luY2x1ZGUgIkdQVVBpcGVsaW5lTGF5b3V0LmgiCiAjaW5jbHVkZSAiR1BVUGlwZWxp
bmVTdGFnZURlc2NyaXB0b3IuaCIKIAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTM0LDcg
KzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UgewotICAgIFZlY3RvcjxHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvcj4gc3RhZ2Vz
OworICAgIFJlZlB0cjxHUFVQaXBlbGluZUxheW91dD4gbGF5b3V0OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAKaW5kZXggYWFiMDI5NTRlN2IyN2YwYjlm
Zjg5Nzk1MGUyODBhMjUyNzFiM2Q3Ni4uMjI5MzBiNGM4ZjNmMmM3NGU5MjljYjUxYzBkYWIzODg2
NmNlYmMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVBpcGVsaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCkBAIC0zNSw5ICszNSw5IEBAIFJlZjxHUFVQ
aXBlbGluZUxheW91dD4gR1BVUGlwZWxpbmVMYXlvdXQ6OmNyZWF0ZShHUFVQaXBlbGluZUxheW91
dERlc2NyaXB0b3ImJiBkCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgR1BVUGlwZWxpbmVMYXlv
dXQoV1RGTW92ZShkZXNjcmlwdG9yKSkpOwogfQogCi1HUFVQaXBlbGluZUxheW91dDo6R1BVUGlw
ZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYpCitHUFVQaXBlbGluZUxh
eW91dDo6R1BVUGlwZWxpbmVMYXlvdXQoR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yJiYgZGVz
Y3JpcHRvcikKKyAgICA6IG1fYmluZEdyb3VwTGF5b3V0cyhkZXNjcmlwdG9yLmJpbmRHcm91cExh
eW91dHMpCiB7Ci0gICAgLy8gRklYTUU6IFN0dWIgaW1wbGVtZW50YXRpb24uCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKaW5kZXggODcwYTVkYTBmM2RkZTVlNTY0
MWI1MmM2ZmFiMDY2MjYyYTNiM2JmYi4uMjYyNjE4ZjkzMTUxYmQyZGFhNGZlM2MwY2FiMDQ4ZDQz
ZmMyYjQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVBpcGVsaW5lTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogCiBw
cml2YXRlOgogICAgIGV4cGxpY2l0IEdQVVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5b3V0
RGVzY3JpcHRvciYmKTsKKworICAgIFZlY3RvcjxSZWZQdHI8Y29uc3QgR1BVQmluZEdyb3VwTGF5
b3V0Pj4gbV9iaW5kR3JvdXBMYXlvdXRzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oCmluZGV4IDViNDNiMWVlMWJmY2E4Nzcw
YjRiMDM4ODk3ZDcyMTVjMzJiNmFjMGUuLjBmYTBmZGEyMTM5ZTNmYjdlZDk1NDgxOWE2OGE2MmY4
MWI5ZDBhYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKQEAgLTM1LDcg
KzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yIHsKK3N0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgOiBHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlIHsKICAgICBlbnVtIGNsYXNzIFByaW1pdGl2ZVRvcG9sb2d5
IHsKICAgICAgICAgUG9pbnRMaXN0LAogICAgICAgICBMaW5lTGlzdCwKQEAgLTQ0LDYgKzQ0LDE2
IEBAIHN0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgewogICAgICAgICBUcmlhbmds
ZVN0cmlwCiAgICAgfTsKIAorICAgIC8vIE5lZWRlZCwgYXMgYWdncmVnYXRlIGluaXRpYWxpemF0
aW9uIG9mIGRlcml2ZWQgc3RydWN0cyBpcyBub3Qgc3VwcG9ydGVkIHVudGlsIEMrKzE3LgorICAg
IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcihSZWZQdHI8R1BVUGlwZWxpbmVMYXlvdXQ+JiYg
bGF5b3V0LCBHUFVQaXBlbGluZVN0YWdlRGVzY3JpcHRvciYmIHZlcnRleCwgR1BVUGlwZWxpbmVT
dGFnZURlc2NyaXB0b3ImJiBmcmFnbWVudCwgUHJpbWl0aXZlVG9wb2xvZ3kgdG9wb2xvZ3ksIEdQ
VUlucHV0U3RhdGVEZXNjcmlwdG9yJiYgaW5wdXQpCisgICAgICAgIDogR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZSB7IFdURk1vdmUobGF5b3V0KSB9CisgICAgICAgICwgdmVydGV4U3RhZ2UoV1RG
TW92ZSh2ZXJ0ZXgpKQorICAgICAgICAsIGZyYWdtZW50U3RhZ2UoV1RGTW92ZShmcmFnbWVudCkp
CisgICAgICAgICwgcHJpbWl0aXZlVG9wb2xvZ3kodG9wb2xvZ3kpCisgICAgICAgICwgaW5wdXRT
dGF0ZShXVEZNb3ZlKGlucHV0KSkKKyAgICB7CisgICAgfQorCiAgICAgR1BVUGlwZWxpbmVTdGFn
ZURlc2NyaXB0b3IgdmVydGV4U3RhZ2U7CiAgICAgR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3Ig
ZnJhZ21lbnRTdGFnZTsKICAgICBQcmltaXRpdmVUb3BvbG9neSBwcmltaXRpdmVUb3BvbG9neTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNDg2MzgyNjE4Nzg4ZjI5ODRlMTg1ZDg3OTE2OWY4ZGUzOTY0Njk1Li44YmZjZTdh
YjYwYWU5YzgyOTU3NTE4OGY1YzhmNGQwOGVjMGQyNTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTktMDEtMDggIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBbV2ViR1BVXSBVcGRhdGUgY3JlYXRlUmVuZGVyUGlwZWxpbmUgZm9yIFdlYkdQVVBpcGVsaW5l
TGF5b3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTMyNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgcmVuZGVyLXBpcGVsaW5lcy5odG1sIHRvIFdQVCBmb3JtIGFuZCB0byBhY2NvbW9kYXRl
IFdlYkdQVVBpcGVsaW5lTGF5b3V0cy4KKworICAgICAgICAqIHdlYmdwdS9qcy93ZWJncHUtZnVu
Y3Rpb25zLmpzOgorICAgICAgICAoY3JlYXRlQmFzaWNQaXBlbGluZSk6IEFkZGVkIG9wdGlvbiB0
byBpbmNsdWRlIGEgV2ViR1BVUGlwZWxpbmVMYXlvdXQuCisgICAgICAgICogd2ViZ3B1L3JlbmRl
ci1waXBlbGluZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS9yZW5kZXItcGlwZWxp
bmVzLmh0bWw6CisKIDIwMTktMDEtMDcgIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtHVEtdIFNraXAgY3NzLXBhaW50aW5nLWFwaSB0ZXN0
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMg
Yi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcwppbmRleCBlOWFlODM4
NjJiYTFlODUxNjhhZTcwYTA3NjNhODM4YTQ5OGVjNmRkLi5lMGY5Nzc5NGU1YzljNGE3YzI1NDli
NjBhYmU1YjM1NTUzMTY0YjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0
aW9ucy5qcwpAQCAtMTIsMTggKzEyLDE5IEBAIGZ1bmN0aW9uIGNyZWF0ZUJhc2ljQ29udGV4dChj
YW52YXMsIGRldmljZSkgewogICAgIHJldHVybiBjb250ZXh0OwogfQogCi1mdW5jdGlvbiBjcmVh
dGVCYXNpY1BpcGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlLCBpbnB1dFN0YXRlRGVzY3JpcHRv
cikgewotICAgIHZlcnRleFN0YWdlRGVzY3JpcHRvciA9IHsKK2Z1bmN0aW9uIGNyZWF0ZUJhc2lj
UGlwZWxpbmUoc2hhZGVyTW9kdWxlLCBkZXZpY2UsIHBpcGVsaW5lTGF5b3V0LCBpbnB1dFN0YXRl
RGVzY3JpcHRvcikgeworICAgIGNvbnN0IHZlcnRleFN0YWdlRGVzY3JpcHRvciA9IHsKICAgICAg
ICAgbW9kdWxlOiBzaGFkZXJNb2R1bGUsCiAgICAgICAgIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhfbWFp
biIgCiAgICAgfTsKIAotICAgIGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yID0geworICAgIGNvbnN0
IGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yID0gewogICAgICAgICBtb2R1bGU6IHNoYWRlck1vZHVs
ZSwKICAgICAgICAgZW50cnlQb2ludDogImZyYWdtZW50X21haW4iCiAgICAgfTsKIAotICAgIHBp
cGVsaW5lRGVzY3JpcHRvciA9IHsKKyAgICBjb25zdCBwaXBlbGluZURlc2NyaXB0b3IgPSB7Cisg
ICAgICAgIGxheW91dDogcGlwZWxpbmVMYXlvdXQsCiAgICAgICAgIHZlcnRleFN0YWdlOiB2ZXJ0
ZXhTdGFnZURlc2NyaXB0b3IsCiAgICAgICAgIGZyYWdtZW50U3RhZ2U6IGZyYWdtZW50U3RhZ2VE
ZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3BvbG9neTogInRyaWFuZ2xlU3RyaXAiLApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGYyNTA5MjYyMTQ5NjBmOWE3NTNkNGQ3YjFiNTYwNDRkOWJhZDc0NzIuLjg1ZDU5YmI2M2Vh
YWFhMmIyNzU4MzIxOTE3NzhjMWMxMWJlN2M0NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dl
YmdwdS9yZW5kZXItcGlwZWxpbmVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJn
cHUvcmVuZGVyLXBpcGVsaW5lcy1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsNCBAQAotUEFTUyBb
b2JqZWN0IFdlYkdQVV0gaXMgZGVmaW5lZC4KLVBBU1MgV2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0
aCBpbnZhbGlkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciB3YXMgbm90IGNyZWF0ZWQu
Ci1QQVNTIFdlYkdQVVJlbmRlclBpcGVsaW5lIHdpdGggaW52YWxpZCBzaGFkZXIgbW9kdWxlIHdh
cyBub3QgY3JlYXRlZC4KLVBBU1MgV2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZhbGlkIHZl
cnRleCBzaGFkZXIgc3RhZ2Ugd2FzIG5vdCBjcmVhdGVkLgotUEFTUyBXZWJHUFVSZW5kZXJQaXBl
bGluZSB3aXRoIGludmFsaWQgdmVydGV4IHNoYWRlciBlbnRyeSBwb2ludCB3YXMgbm90IGNyZWF0
ZWQuCi1BbGwgdGVzdHMgY29tcGxldGUuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKLVRFU1QgQ09NUExFVEUKK1BBU1MgQ3JlYXRlIGJhc2ljIFdlYkdQVVJlbmRlclBpcGVsaW5l
IAorUEFTUyBCYWQgcGlwZWxpbmVzIHdlcmUgbm90IGNyZWF0ZWQgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
cHUvcmVuZGVyLXBpcGVsaW5lcy5odG1sCmluZGV4IDZjYjRiZWZhYTFkNzQ5YTM3Nzk1ZmM0MDVm
ZWZiY2FlOTlhOTc1YzQuLmZjYTQyMDcyOWYwYWI0MzM1ZWQ0N2UyMDc3NGZmYmVhZGRlNDUxMjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMuaHRtbApAQCAtMSw1NSArMSw5
OCBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImpzL2Jhc2ljLXdlYmdwdS1m
dW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdwdS1mdW5jdGlvbnMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgd2luZG93
LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworY29uc3Qgc2hhZGVyQ29kZSA9IGAKKyNpbmNsdWRl
IDxtZXRhbF9zdGRsaWI+CisgICAgCit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CiAKLWZ1bmN0aW9u
IGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoZGVzY3JpcHRvciwgdGVzdFN1YmplY3ROYW1lKSB7Ci0g
ICAgbGV0IHBpcGVsaW5lID0gZGVmYXVsdERldmljZS5jcmVhdGVSZW5kZXJQaXBlbGluZShkZXNj
cmlwdG9yKTsKK3N0cnVjdCBWZXJ0ZXgKK3sKKyAgICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlv
bl1dOworfTsKIAotICAgIGlmIChwaXBlbGluZSkKLSAgICAgICAgdGVzdEZhaWxlZChgV2ViR1BV
UmVuZGVyUGlwZWxpbmUgd2FzIGNyZWF0ZWQgd2l0aCBhbiBpbnZhbGlkICR7dGVzdFN1YmplY3RO
YW1lfSFgKTsKLSAgICBlbHNlCi0gICAgICAgIHRlc3RQYXNzZWQoYFdlYkdQVVJlbmRlclBpcGVs
aW5lIHdpdGggaW52YWxpZCAke3Rlc3RTdWJqZWN0TmFtZX0gd2FzIG5vdCBjcmVhdGVkLmApOwor
dmVydGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbih1aW50IHZpZCBbW3ZlcnRleF9pZF1dKQoreworICAg
IFZlcnRleCB2OworICAgIHN3aXRjaCAodmlkKSB7CisgICAgY2FzZSAwOgorICAgICAgICB2LnBv
c2l0aW9uID0gZmxvYXQ0KC0xLCAxLCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAx
OgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KC0xLCAtMSwgMCwgMSk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgMjoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgxLCAxLCAwLCAx
KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZs
b2F0NCgxLCAtMSwgMCwgMSk7CisgICAgfQorICAgIHJldHVybiB2OworfQorCitmcmFnbWVudCBm
bG9hdDQgZnJhZ21lbnRfbWFpbihWZXJ0ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dKQoreworICAg
IHJldHVybiBmbG9hdDQoMC4wLCAxLjAsIDAuMCwgMS4wKTsKK30KK2AKKworcHJvbWlzZV90ZXN0
KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCBnZXRCYXNpY0RldmljZSgp
OworICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVTaGFkZXJNb2R1bGUoeyBj
b2RlOiBzaGFkZXJDb2RlIH0pOworCisgICAgY29uc3QgbGF5b3V0QmluZGluZyA9IHsgYmluZGlu
ZzogMCwgdmlzaWJpbGl0eTogV2ViR1BVU2hhZGVyU3RhZ2VCaXQuVkVSVEVYLCB0eXBlOiAic3Rv
cmFnZUJ1ZmZlciIgfTsKKyAgICBjb25zdCBiaW5kR3JvdXBMYXlvdXQgPSBkZXZpY2UuY3JlYXRl
QmluZEdyb3VwTGF5b3V0KHsgYmluZGluZ3M6IFtsYXlvdXRCaW5kaW5nXSB9KTsKKyAgICBjb25z
dCBwaXBlbGluZUxheW91dCA9IGRldmljZS5jcmVhdGVQaXBlbGluZUxheW91dCh7IGJpbmRHcm91
cExheW91dHM6IFtiaW5kR3JvdXBMYXlvdXRdIH0pOworCisgICAgY29uc3QgcGlwZWxpbmUgPSBj
cmVhdGVCYXNpY1BpcGVsaW5lKHNoYWRlck1vZHVsZSwgZGV2aWNlLCBwaXBlbGluZUxheW91dCk7
CisgICAgYXNzZXJ0X3RydWUocGlwZWxpbmUgaW5zdGFuY2VvZiBXZWJHUFVSZW5kZXJQaXBlbGlu
ZSwgIlN1Y2Nlc3NmdWxseSBjcmVhdGVkIFdlYkdQVVJlbmRlclBpcGVsaW5lIik7Cit9LCAiQ3Jl
YXRlIGJhc2ljIFdlYkdQVVJlbmRlclBpcGVsaW5lIik7CisKK2Z1bmN0aW9uIGNoZWNrQmFkUmVu
ZGVyUGlwZWxpbmUoZGV2aWNlLCBkZXNjcmlwdG9yLCB0ZXN0U3ViamVjdE5hbWUpIHsKKyAgICBh
c3NlcnRfdHJ1ZSghZGV2aWNlLmNyZWF0ZVJlbmRlclBpcGVsaW5lKGRlc2NyaXB0b3IpLCBgV2Vi
R1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZhbGlkICR7dGVzdFN1YmplY3ROYW1lfSB3YXMgbm90
IGNyZWF0ZWQuYCk7CiB9CiAKLWZ1bmN0aW9uIHNldFVwQmFkUGlwZWxpbmVzKCkgewotICAgIGNo
ZWNrQmFkUmVuZGVyUGlwZWxpbmUoe30sICJXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ii
KTsKK3Byb21pc2VfdGVzdChhc3luYygpID0+IHsKKyAgICBjb25zdCBkZXZpY2UgPSBhd2FpdCBn
ZXRCYXNpY0RldmljZSgpOworICAgIGNvbnN0IHNoYWRlck1vZHVsZSA9IGRldmljZS5jcmVhdGVT
aGFkZXJNb2R1bGUoeyBjb2RlOiBzaGFkZXJDb2RlIH0pOworICAgIGNoZWNrQmFkUmVuZGVyUGlw
ZWxpbmUoZGV2aWNlLCB7fSwgIldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciIpOwogCi0g
ICAgbGV0IG5vTW9kdWxlVmVydGV4RGVzY3JpcHRvciA9IHsKKyAgICBjb25zdCBub01vZHVsZVZl
cnRleERlc2NyaXB0b3IgPSB7CiAgICAgICAgIGVudHJ5UG9pbnQ6ICJ2ZXJ0ZXhfbWFpbiIKICAg
ICB9Ci0gICAgbGV0IG5vTW9kdWxlUGlwZWxpbmVEZXNjcmlwdG9yID0geworCisgICAgY29uc3Qg
ZnJhZ21lbnRTdGFnZURlc2NyaXB0b3IgPSB7CisgICAgICAgIG1vZHVsZTogc2hhZGVyTW9kdWxl
LAorICAgICAgICBlbnRyeVBvaW50OiAiZnJhZ21lbnRfbWFpbiIKKyAgICB9OworCisgICAgY29u
c3Qgbm9Nb2R1bGVQaXBlbGluZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIHZlcnRleFN0YWdlOiBu
b01vZHVsZVZlcnRleERlc2NyaXB0b3IsIAogICAgICAgICBmcmFnbWVudFN0YWdlOiBmcmFnbWVu
dFN0YWdlRGVzY3JpcHRvciwKICAgICAgICAgcHJpbWl0aXZlVG9wb2xvZ3k6ICJ0cmlhbmdsZUxp
c3QiCiAgICAgfQotICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUobm9Nb2R1bGVQaXBlbGluZURl
c2NyaXB0b3IsICJzaGFkZXIgbW9kdWxlIik7CisgICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZShk
ZXZpY2UsIG5vTW9kdWxlUGlwZWxpbmVEZXNjcmlwdG9yLCAic2hhZGVyIG1vZHVsZSIpOwogCiAg
ICAgLy8gQSAoTWV0YWwpIHJlbmRlcnBpcGVsaW5lIG11c3QgaGF2ZSBhIHZlcnRleCBmdW5jdGlv
bi4KLSAgICBsZXQgbm9WZXJ0ZXhQaXBlbGluZURlc2NyaXB0b3IgPSB7CisgICAgY29uc3Qgbm9W
ZXJ0ZXhQaXBlbGluZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIGZyYWdtZW50U3RhZ2U6IGZyYWdt
ZW50U3RhZ2VEZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3BvbG9neTogInRyaWFuZ2xl
TGlzdCIKICAgICB9Ci0gICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZShub1ZlcnRleFBpcGVsaW5l
RGVzY3JpcHRvciwgInZlcnRleCBzaGFkZXIgc3RhZ2UiKQorICAgIGNoZWNrQmFkUmVuZGVyUGlw
ZWxpbmUoZGV2aWNlLCBub1ZlcnRleFBpcGVsaW5lRGVzY3JpcHRvciwgInZlcnRleCBzaGFkZXIg
c3RhZ2UiKQogCi0gICAgbGV0IGJhZEVudHJ5UG9pbnREZXNjcmlwdG9yID0geyAKKyAgICBjb25z
dCBiYWRFbnRyeVBvaW50RGVzY3JpcHRvciA9IHsgCiAgICAgICAgIG1vZHVsZTogc2hhZGVyTW9k
dWxlLAogICAgICAgICBlbnRyeVBvaW50OiAiVmVydGV4X01haW4iIAogICAgIH07Ci0gICAgbGV0
IGJhZEVudHJ5UG9pbnRQaXBlbGluZURlc2NzcmlwdG9yID0geworICAgIGNvbnN0IGJhZEVudHJ5
UG9pbnRQaXBlbGluZURlc2NzcmlwdG9yID0gewogICAgICAgICB2ZXJ0ZXhTdGFnZTogYmFkRW50
cnlQb2ludERlc2NyaXB0b3IsIAogICAgICAgICBmcmFnbWVudFN0YWdlOiBmcmFnbWVudFN0YWdl
RGVzY3JpcHRvciwKICAgICAgICAgcHJpbWl0aXZlVG9wb2xvZ3k6ICJ0cmlhbmdsZUxpc3QiCiAg
ICAgfQotICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoYmFkRW50cnlQb2ludFBpcGVsaW5lRGVz
Y3NyaXB0b3IsICJ2ZXJ0ZXggc2hhZGVyIGVudHJ5IHBvaW50Iik7Ci19Ci0KLXJ1bldlYkdQVVRl
c3RzKFtzZXRVcFBpcGVsaW5lLCBzZXRVcEJhZFBpcGVsaW5lc10pOwotCi1zdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworICAgIGNoZWNrQmFkUmVuZGVyUGlwZWxpbmUoZGV2aWNlLCBiYWRFbnRy
eVBvaW50UGlwZWxpbmVEZXNjc3JpcHRvciwgInZlcnRleCBzaGFkZXIgZW50cnkgcG9pbnQiKTsK
K30sICJCYWQgcGlwZWxpbmVzIHdlcmUgbm90IGNyZWF0ZWQiKTsKIDwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358626</attachid>
            <date>2019-01-08 12:58:26 -0800</date>
            <delta_ts>2019-01-08 13:36:27 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-193247-20190108125825.patch</filename>
            <type>text/plain</type>
            <size>15890</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I3MThkMTAyYjI3YzA1
ZmI0Nzk3NDdiOTM2OGY1OGY5MjRlOTNlMi4uZTdhZTZjMDBlNTU5Mzg3MjlkY2JlY2EyNzFlYTJm
MTZkZWY0ZjIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTAxLTA4ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRl
IGNyZWF0ZVJlbmRlclBpcGVsaW5lIGZvciBXZWJHUFVQaXBlbGluZUxheW91dAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMjQ3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEFkZCBXZWJHUFVQaXBlbGluZUxh
eW91dCB0byBXZWJHUFVSZW5kZXJQaXBlbGluZSB2aWEgV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9y
QmFzZS4KKworICAgICAgICBUZXN0OiBVcGRhdGVkIHJlbmRlci1waXBlbGluZXMuaHRtbCB0byB0
ZXN0IG5ldyBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6Y3JlYXRlUmVuZGVy
UGlwZWxpbmUgY29uc3QpOiBDb252ZXJ0IFdlYkdQVVBpcGVsaW5lTGF5b3V0IHRvIEdQVVBpcGVs
aW5lTGF5b3V0LgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZURlc2Ny
aXB0b3JCYXNlLmlkbDogQWRkIGxheW91dCBmaWVsZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZUxheW91dC5oOiAKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVVBpcGVs
aW5lTGF5b3V0OjpwaXBlbGluZUxheW91dCk6IEFkZGVkLiBHZXR0ZXIuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaDogVXBkYXRlZCBm
cm9tIG91dC1vZi1kYXRlIHZlcnNpb24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVBpcGVsaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVBpcGVsaW5lTGF5
b3V0OjpHUFVQaXBlbGluZUxheW91dCk6IE5vdyByZXRhaW5zIGJpbmRHcm91cExheW91dHMgZnJv
bSBkZXNjcmlwdG9yLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGlu
ZUxheW91dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IuaDogTm93IGluaGVyaXRzIGZyb20gR1BVUGlwZWxpbmVEZXNjcmlwdG9y
QmFzZS4KKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6R1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTogQ3VzdG9tIGNvbnN0cnVjdG9yIGZvciBub24tYWdn
cmVnYXRlIHN0cnVjdC4KKwogMjAxOS0wMS0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtMRkNdW0JGQ10gTWFyZ2luIGNvbGxhcHNpbmcgc2hvdWxkIG5vdCBi
ZSBsaW1pdGVkIHRvIGluLWZsb3cgbm9uLXJlcGxhY2VkIGJveGVzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKaW5kZXggZjY1NmFjZjRhNjc0MzZj
NTE1OTYxMDMxZTNkOTUyYmYyMTBiMDYyOS4uMmZmYTNiN2E2ZDhhOWFkZmIzN2MxZjQ0Y2M2Njk5
ZTA2YzdlNTNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuY3BwCkBAIC0xMDMsNiArMTAzLDggQEAgc3RhdGljIE9wdGlvbmFsPEdQVVBpcGVsaW5l
U3RhZ2VEZXNjcmlwdG9yPiB2YWxpZGF0ZUFuZENvbnZlcnRQaXBlbGluZVN0YWdlKGNvbnMKIAog
UmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVJlbmRlclBp
cGVsaW5lKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpIGNvbnN0
CiB7CisgICAgYXV0byBwaXBlbGluZUxheW91dCA9IGRlc2NyaXB0b3IubGF5b3V0ID8gZGVzY3Jp
cHRvci5sYXlvdXQtPnBpcGVsaW5lTGF5b3V0KCkgOiBudWxscHRyOworCiAgICAgYXV0byB2ZXJ0
ZXhTdGFnZSA9IHZhbGlkYXRlQW5kQ29udmVydFBpcGVsaW5lU3RhZ2UoZGVzY3JpcHRvci52ZXJ0
ZXhTdGFnZSk7CiAgICAgYXV0byBmcmFnbWVudFN0YWdlID0gdmFsaWRhdGVBbmRDb252ZXJ0UGlw
ZWxpbmVTdGFnZShkZXNjcmlwdG9yLmZyYWdtZW50U3RhZ2UpOwogCkBAIC0xMTEsNyArMTEzLDcg
QEAgUmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZVJlbmRl
clBpcGVsaW5lKFdlYkdQVVJlbmRlclBpcGUKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
fQogCi0gICAgaWYgKGF1dG8gcGlwZWxpbmUgPSBtX2RldmljZS0+Y3JlYXRlUmVuZGVyUGlwZWxp
bmUoR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIHsgV1RGTW92ZSgqdmVydGV4U3RhZ2UpLCBX
VEZNb3ZlKCpmcmFnbWVudFN0YWdlKSwgZGVzY3JpcHRvci5wcmltaXRpdmVUb3BvbG9neSwgZGVz
Y3JpcHRvci5pbnB1dFN0YXRlIH0pKQorICAgIGlmIChhdXRvIHBpcGVsaW5lID0gbV9kZXZpY2Ut
PmNyZWF0ZVJlbmRlclBpcGVsaW5lKEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciB7IFdURk1v
dmUocGlwZWxpbmVMYXlvdXQpLCBXVEZNb3ZlKCp2ZXJ0ZXhTdGFnZSksIFdURk1vdmUoKmZyYWdt
ZW50U3RhZ2UpLCBkZXNjcmlwdG9yLnByaW1pdGl2ZVRvcG9sb2d5LCBXVEZNb3ZlKGRlc2NyaXB0
b3IuaW5wdXRTdGF0ZSkgfSkpCiAgICAgICAgIHJldHVybiBXZWJHUFVSZW5kZXJQaXBlbGluZTo6
Y3JlYXRlKHBpcGVsaW5lLnJlbGVhc2VOb25OdWxsKCkpOwogICAgIHJldHVybiBudWxscHRyOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oCmluZGV4IDUyYzJmOWFjMGZiOTFjNDA3NDc5ZGZlZmUz
ZThlMDljMjAzMTFhMDkuLjY4YTBiODQ1ZTQyODkwYzU5MjNjZGZkZDQ4ZTA4ZGExNTdkNzI4ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
RGVzY3JpcHRvckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmgKQEAgLTI3LDEwICsyNywxMiBAQAogCiAjaWYgRU5B
QkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIldlYkdQVVBpcGVsaW5lTGF5b3V0LmgiCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFdlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2Ugewot
ICAgIC8vIFdlYkdQVVBpcGVsaW5lTGF5b3V0IGxheW91dDsKKyAgICBSZWZQdHI8V2ViR1BVUGlw
ZWxpbmVMYXlvdXQ+IGxheW91dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3Jp
cHRvckJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxp
bmVEZXNjcmlwdG9yQmFzZS5pZGwKaW5kZXggZWIxMzViNTU3NDZlNDYxNjRlYzZkNzg3MGQxMTlj
OWEzMjc1ZjExMS4uZmRkYjA5M2Q3ZDcyODVkM2UwODEzMGU2YmQxZjAxMGQ0Njk0YzY3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwKQEAgLTI4LDUgKzI4LDUgQEAKICAgICBDb25kaXRp
b25hbD1XRUJHUFUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKIF0gZGljdGlvbmFyeSBX
ZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlIHsKLSAgICAvLyBXZWJHUFVQaXBlbGluZUxheW91
dCBsYXlvdXQ7CisgICAgV2ViR1BVUGlwZWxpbmVMYXlvdXQgbGF5b3V0OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5oCmlu
ZGV4IDU1NTE1NzQyNGIwYmUyOTk2MGI0YjBhY2IwM2VjMTYzZmZiYzk4ODEuLjY1ZDJmOWIyNGJh
NTA2YTlkZDBiM2U4NWUxN2M3Y2YzM2E3M2Q0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmVMYXlvdXQuaApAQCAtMzgsNiArMzgsOCBA
QCBjbGFzcyBXZWJHUFVQaXBlbGluZUxheW91dCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVBp
cGVsaW5lTGF5b3V0PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHUFVQaXBlbGluZUxh
eW91dD4gY3JlYXRlKFJlZjxHUFVQaXBlbGluZUxheW91dD4mJik7CiAKKyAgICBSZWZQdHI8R1BV
UGlwZWxpbmVMYXlvdXQ+IHBpcGVsaW5lTGF5b3V0KCkgeyByZXR1cm4gbV9waXBlbGluZUxheW91
dC5jb3B5UmVmKCk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJHUFVQaXBlbGluZUxh
eW91dChSZWY8R1BVUGlwZWxpbmVMYXlvdXQ+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVBpcGVsaW5lRGVzY3JpcHRv
ckJhc2UuaAppbmRleCBiZTI3NTViOWUyNjZhMmU4YjM4ZmE1ZDRiMDhmZDdlMTRlMjgxMjY5Li5i
ZGMzZTdkNjBmZWI4ZDRjNDNlMWM1YjJlMTdjNWJlMjFlN2Q4NmMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVQaXBlbGlu
ZURlc2NyaXB0b3JCYXNlLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUp
CiAKKyNpbmNsdWRlICJHUFVQaXBlbGluZUxheW91dC5oIgogI2luY2x1ZGUgIkdQVVBpcGVsaW5l
U3RhZ2VEZXNjcmlwdG9yLmgiCiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC0zNCw3ICsz
NSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBHUFVQaXBlbGluZURlc2NyaXB0
b3JCYXNlIHsKLSAgICBWZWN0b3I8R1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3I+IHN0YWdlczsK
KyAgICBSZWZQdHI8R1BVUGlwZWxpbmVMYXlvdXQ+IGxheW91dDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVQaXBlbGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuY3BwCmluZGV4IGFhYjAyOTU0ZTdiMjdmMGI5ZmY4
OTc5NTBlMjgwYTI1MjcxYjNkNzYuLjIyOTMwYjRjOGYzZjJjNzRlOTI5Y2I1MWMwZGFiMzg4NjZj
ZWJjMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVQaXBlbGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVBpcGVsaW5lTGF5b3V0LmNwcApAQCAtMzUsOSArMzUsOSBAQCBSZWY8R1BVUGlw
ZWxpbmVMYXlvdXQ+IEdQVVBpcGVsaW5lTGF5b3V0OjpjcmVhdGUoR1BVUGlwZWxpbmVMYXlvdXRE
ZXNjcmlwdG9yJiYgZAogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdQVVBpcGVsaW5lTGF5b3V0
KFdURk1vdmUoZGVzY3JpcHRvcikpKTsKIH0KIAotR1BVUGlwZWxpbmVMYXlvdXQ6OkdQVVBpcGVs
aW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmKQorR1BVUGlwZWxpbmVMYXlv
dXQ6OkdQVVBpcGVsaW5lTGF5b3V0KEdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvciYmIGRlc2Ny
aXB0b3IpCisgICAgOiBtX2JpbmRHcm91cExheW91dHMoZGVzY3JpcHRvci5iaW5kR3JvdXBMYXlv
dXRzKQogewotICAgIC8vIEZJWE1FOiBTdHViIGltcGxlbWVudGF0aW9uLgogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUGlwZWxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVQaXBlbGluZUxheW91dC5oCmluZGV4IDg3MGE1ZGEwZjNkZGU1ZTU2NDFi
NTJjNmZhYjA2NjI2MmEzYjNiZmIuLjI2MjYxOGY5MzE1MWJkMmRhYTRmZTNjMGNhYjA0OGQ0M2Zj
MmI0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVQaXBlbGluZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVQaXBlbGluZUxheW91dC5oCkBAIC00MCw2ICs0MCw4IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICBleHBsaWNpdCBHUFVQaXBlbGluZUxheW91dChHUFVQaXBlbGluZUxheW91dERl
c2NyaXB0b3ImJik7CisKKyAgICBWZWN0b3I8UmVmUHRyPGNvbnN0IEdQVUJpbmRHcm91cExheW91
dD4+IG1fYmluZEdyb3VwTGF5b3V0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaAppbmRleCA1YjQzYjFlZTFiZmNhODc3MGI0
YjAzODg5N2Q3MjE1YzMyYjZhYzBlLi4zMjE2ODMzZDkwN2NmMjQ4ZDM5N2I0ZGM4MjM4ZDQ1MTE1
M2FkNGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oCkBAIC0zNSw3ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvciB7CitzdHJ1Y3QgR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIDogR1BVUGlw
ZWxpbmVEZXNjcmlwdG9yQmFzZSB7CiAgICAgZW51bSBjbGFzcyBQcmltaXRpdmVUb3BvbG9neSB7
CiAgICAgICAgIFBvaW50TGlzdCwKICAgICAgICAgTGluZUxpc3QsCkBAIC00NCw2ICs0NCwxNSBA
QCBzdHJ1Y3QgR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIHsKICAgICAgICAgVHJpYW5nbGVT
dHJpcAogICAgIH07CiAKKyAgICBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoUmVmUHRyPEdQ
VVBpcGVsaW5lTGF5b3V0PiYmIGxheW91dCwgR1BVUGlwZWxpbmVTdGFnZURlc2NyaXB0b3ImJiB2
ZXJ0ZXgsIEdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yJiYgZnJhZ21lbnQsIFByaW1pdGl2ZVRv
cG9sb2d5IHRvcG9sb2d5LCBHUFVJbnB1dFN0YXRlRGVzY3JpcHRvciYmIGlucHV0KQorICAgICAg
ICA6IEdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UgeyBXVEZNb3ZlKGxheW91dCkgfQorICAgICAg
ICAsIHZlcnRleFN0YWdlKFdURk1vdmUodmVydGV4KSkKKyAgICAgICAgLCBmcmFnbWVudFN0YWdl
KFdURk1vdmUoZnJhZ21lbnQpKQorICAgICAgICAsIHByaW1pdGl2ZVRvcG9sb2d5KHRvcG9sb2d5
KQorICAgICAgICAsIGlucHV0U3RhdGUoV1RGTW92ZShpbnB1dCkpCisgICAgeworICAgIH0KKwog
ICAgIEdQVVBpcGVsaW5lU3RhZ2VEZXNjcmlwdG9yIHZlcnRleFN0YWdlOwogICAgIEdQVVBpcGVs
aW5lU3RhZ2VEZXNjcmlwdG9yIGZyYWdtZW50U3RhZ2U7CiAgICAgUHJpbWl0aXZlVG9wb2xvZ3kg
cHJpbWl0aXZlVG9wb2xvZ3k7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTQ4NjM4MjYxODc4OGYyOTg0ZTE4NWQ4NzkxNjlm
OGRlMzk2NDY5NS4uOTE5OWViNDUyMzY4ZDA0ZDE1OTgwODk4ZjZmMzYxMjE4YjM4YmE0MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTAxLTA4ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gVXBkYXRlIGNyZWF0ZVJlbmRlclBpcGVsaW5l
IGZvciBXZWJHUFVQaXBlbGluZUxheW91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNr
c29uLgorCisgICAgICAgIFVwZGF0ZSByZW5kZXItcGlwZWxpbmVzLmh0bWwgdG8gV1BUIGZvcm0g
YW5kIHRvIGFjY29tb2RhdGUgV2ViR1BVUGlwZWxpbmVMYXlvdXRzLgorCisgICAgICAgICogd2Vi
Z3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanM6CisgICAgICAgIChjcmVhdGVCYXNpY1BpcGVsaW5l
KTogQWRkZWQgb3B0aW9uIHRvIGluY2x1ZGUgYSBXZWJHUFVQaXBlbGluZUxheW91dC4KKyAgICAg
ICAgKiB3ZWJncHUvcmVuZGVyLXBpcGVsaW5lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
Z3B1L3JlbmRlci1waXBlbGluZXMuaHRtbDoKKwogMjAxOS0wMS0wNyAgQ2xhdWRpbyBTYWF2ZWRy
YSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdW0dUS10gU2tpcCBjc3Mt
cGFpbnRpbmctYXBpIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2Vi
Z3B1LWZ1bmN0aW9ucy5qcyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25z
LmpzCmluZGV4IGU5YWU4Mzg2MmJhMWU4NTE2OGFlNzBhMDc2M2E4MzhhNDk4ZWM2ZGQuLmUwZjk3
Nzk0ZTVjOWM0YTdjMjU0OWI2MGFiZTViMzU1NTMxNjRiMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCisrKyBiL0xheW91dFRlc3RzL3dlYmdw
dS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCkBAIC0xMiwxOCArMTIsMTkgQEAgZnVuY3Rpb24gY3Jl
YXRlQmFzaWNDb250ZXh0KGNhbnZhcywgZGV2aWNlKSB7CiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9
CiAKLWZ1bmN0aW9uIGNyZWF0ZUJhc2ljUGlwZWxpbmUoc2hhZGVyTW9kdWxlLCBkZXZpY2UsIGlu
cHV0U3RhdGVEZXNjcmlwdG9yKSB7Ci0gICAgdmVydGV4U3RhZ2VEZXNjcmlwdG9yID0geworZnVu
Y3Rpb24gY3JlYXRlQmFzaWNQaXBlbGluZShzaGFkZXJNb2R1bGUsIGRldmljZSwgcGlwZWxpbmVM
YXlvdXQsIGlucHV0U3RhdGVEZXNjcmlwdG9yKSB7CisgICAgY29uc3QgdmVydGV4U3RhZ2VEZXNj
cmlwdG9yID0gewogICAgICAgICBtb2R1bGU6IHNoYWRlck1vZHVsZSwKICAgICAgICAgZW50cnlQ
b2ludDogInZlcnRleF9tYWluIiAKICAgICB9OwogCi0gICAgZnJhZ21lbnRTdGFnZURlc2NyaXB0
b3IgPSB7CisgICAgY29uc3QgZnJhZ21lbnRTdGFnZURlc2NyaXB0b3IgPSB7CiAgICAgICAgIG1v
ZHVsZTogc2hhZGVyTW9kdWxlLAogICAgICAgICBlbnRyeVBvaW50OiAiZnJhZ21lbnRfbWFpbiIK
ICAgICB9OwogCi0gICAgcGlwZWxpbmVEZXNjcmlwdG9yID0geworICAgIGNvbnN0IHBpcGVsaW5l
RGVzY3JpcHRvciA9IHsKKyAgICAgICAgbGF5b3V0OiBwaXBlbGluZUxheW91dCwKICAgICAgICAg
dmVydGV4U3RhZ2U6IHZlcnRleFN0YWdlRGVzY3JpcHRvciwKICAgICAgICAgZnJhZ21lbnRTdGFn
ZTogZnJhZ21lbnRTdGFnZURlc2NyaXB0b3IsCiAgICAgICAgIHByaW1pdGl2ZVRvcG9sb2d5OiAi
dHJpYW5nbGVTdHJpcCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvcmVuZGVyLXBp
cGVsaW5lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvcmVuZGVyLXBpcGVsaW5l
cy1leHBlY3RlZC50eHQKaW5kZXggZjI1MDkyNjIxNDk2MGY5YTc1M2Q0ZDdiMWI1NjA0NGQ5YmFk
NzQ3Mi4uODVkNTliYjYzZWFhYWEyYjI3NTgzMjE5MTc3OGMxYzExYmU3YzQ2NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLWV4cGVjdGVkLnR4dApAQCAtMSwx
MCArMSw0IEBACi1QQVNTIFtvYmplY3QgV2ViR1BVXSBpcyBkZWZpbmVkLgotUEFTUyBXZWJHUFVS
ZW5kZXJQaXBlbGluZSB3aXRoIGludmFsaWQgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
IHdhcyBub3QgY3JlYXRlZC4KLVBBU1MgV2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZhbGlk
IHNoYWRlciBtb2R1bGUgd2FzIG5vdCBjcmVhdGVkLgotUEFTUyBXZWJHUFVSZW5kZXJQaXBlbGlu
ZSB3aXRoIGludmFsaWQgdmVydGV4IHNoYWRlciBzdGFnZSB3YXMgbm90IGNyZWF0ZWQuCi1QQVNT
IFdlYkdQVVJlbmRlclBpcGVsaW5lIHdpdGggaW52YWxpZCB2ZXJ0ZXggc2hhZGVyIGVudHJ5IHBv
aW50IHdhcyBub3QgY3JlYXRlZC4KLUFsbCB0ZXN0cyBjb21wbGV0ZS4KLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAotVEVTVCBDT01QTEVURQorUEFTUyBDcmVhdGUgYmFzaWMgV2Vi
R1BVUmVuZGVyUGlwZWxpbmUgCitQQVNTIEJhZCBwaXBlbGluZXMgd2VyZSBub3QgY3JlYXRlZCAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxpbmVzLmh0bWwKaW5kZXggNmNiNGJlZmFh
MWQ3NDlhMzc3OTVmYzQwNWZlZmJjYWU5OWE5NzVjNC4uZmNhNDIwNzI5ZjBhYjQzMzVlZDQ3ZTIw
Nzc0ZmZiZWFkZGU0NTEyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1w
aXBlbGluZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvcmVuZGVyLXBpcGVsaW5lcy5o
dG1sCkBAIC0xLDU1ICsxLDk4IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
anMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ianMv
d2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Citjb25zdCBzaGFkZXJD
b2RlID0gYAorI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBt
ZXRhbDsKIAotZnVuY3Rpb24gY2hlY2tCYWRSZW5kZXJQaXBlbGluZShkZXNjcmlwdG9yLCB0ZXN0
U3ViamVjdE5hbWUpIHsKLSAgICBsZXQgcGlwZWxpbmUgPSBkZWZhdWx0RGV2aWNlLmNyZWF0ZVJl
bmRlclBpcGVsaW5lKGRlc2NyaXB0b3IpOworc3RydWN0IFZlcnRleAoreworICAgIGZsb2F0NCBw
b3NpdGlvbiBbW3Bvc2l0aW9uXV07Cit9OwogCi0gICAgaWYgKHBpcGVsaW5lKQotICAgICAgICB0
ZXN0RmFpbGVkKGBXZWJHUFVSZW5kZXJQaXBlbGluZSB3YXMgY3JlYXRlZCB3aXRoIGFuIGludmFs
aWQgJHt0ZXN0U3ViamVjdE5hbWV9IWApOwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZChg
V2ViR1BVUmVuZGVyUGlwZWxpbmUgd2l0aCBpbnZhbGlkICR7dGVzdFN1YmplY3ROYW1lfSB3YXMg
bm90IGNyZWF0ZWQuYCk7Cit2ZXJ0ZXggVmVydGV4IHZlcnRleF9tYWluKHVpbnQgdmlkIFtbdmVy
dGV4X2lkXV0pCit7CisgICAgVmVydGV4IHY7CisgICAgc3dpdGNoICh2aWQpIHsKKyAgICBjYXNl
IDA6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoLTEsIDEsIDAsIDEpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIDE6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoLTEsIC0xLCAw
LCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAyOgorICAgICAgICB2LnBvc2l0aW9uID0g
ZmxvYXQ0KDEsIDEsIDAsIDEpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAg
ICB2LnBvc2l0aW9uID0gZmxvYXQ0KDEsIC0xLCAwLCAxKTsKKyAgICB9CisgICAgcmV0dXJuIHY7
Cit9CisKK2ZyYWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0
YWdlX2luXV0pCit7CisgICAgcmV0dXJuIGZsb2F0NCgwLjAsIDEuMCwgMC4wLCAxLjApOworfQor
YAorCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRldmljZSA9IGF3YWl0
IGdldEJhc2ljRGV2aWNlKCk7CisgICAgY29uc3Qgc2hhZGVyTW9kdWxlID0gZGV2aWNlLmNyZWF0
ZVNoYWRlck1vZHVsZSh7IGNvZGU6IHNoYWRlckNvZGUgfSk7CisKKyAgICBjb25zdCBsYXlvdXRC
aW5kaW5nID0geyBiaW5kaW5nOiAwLCB2aXNpYmlsaXR5OiBXZWJHUFVTaGFkZXJTdGFnZUJpdC5W
RVJURVgsIHR5cGU6ICJzdG9yYWdlQnVmZmVyIiB9OworICAgIGNvbnN0IGJpbmRHcm91cExheW91
dCA9IGRldmljZS5jcmVhdGVCaW5kR3JvdXBMYXlvdXQoeyBiaW5kaW5nczogW2xheW91dEJpbmRp
bmddIH0pOworICAgIGNvbnN0IHBpcGVsaW5lTGF5b3V0ID0gZGV2aWNlLmNyZWF0ZVBpcGVsaW5l
TGF5b3V0KHsgYmluZEdyb3VwTGF5b3V0czogW2JpbmRHcm91cExheW91dF0gfSk7CisKKyAgICBj
b25zdCBwaXBlbGluZSA9IGNyZWF0ZUJhc2ljUGlwZWxpbmUoc2hhZGVyTW9kdWxlLCBkZXZpY2Us
IHBpcGVsaW5lTGF5b3V0KTsKKyAgICBhc3NlcnRfdHJ1ZShwaXBlbGluZSBpbnN0YW5jZW9mIFdl
YkdQVVJlbmRlclBpcGVsaW5lLCAiU3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgV2ViR1BVUmVuZGVyUGlw
ZWxpbmUiKTsKK30sICJDcmVhdGUgYmFzaWMgV2ViR1BVUmVuZGVyUGlwZWxpbmUiKTsKKworZnVu
Y3Rpb24gY2hlY2tCYWRSZW5kZXJQaXBlbGluZShkZXZpY2UsIGRlc2NyaXB0b3IsIHRlc3RTdWJq
ZWN0TmFtZSkgeworICAgIGFzc2VydF90cnVlKCFkZXZpY2UuY3JlYXRlUmVuZGVyUGlwZWxpbmUo
ZGVzY3JpcHRvciksIGBXZWJHUFVSZW5kZXJQaXBlbGluZSB3aXRoIGludmFsaWQgJHt0ZXN0U3Vi
amVjdE5hbWV9IHdhcyBub3QgY3JlYXRlZC5gKTsKIH0KIAotZnVuY3Rpb24gc2V0VXBCYWRQaXBl
bGluZXMoKSB7Ci0gICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZSh7fSwgIldlYkdQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciIpOworcHJvbWlzZV90ZXN0KGFzeW5jKCkgPT4geworICAgIGNvbnN0
IGRldmljZSA9IGF3YWl0IGdldEJhc2ljRGV2aWNlKCk7CisgICAgY29uc3Qgc2hhZGVyTW9kdWxl
ID0gZGV2aWNlLmNyZWF0ZVNoYWRlck1vZHVsZSh7IGNvZGU6IHNoYWRlckNvZGUgfSk7CisgICAg
Y2hlY2tCYWRSZW5kZXJQaXBlbGluZShkZXZpY2UsIHt9LCAiV2ViR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yIik7CiAKLSAgICBsZXQgbm9Nb2R1bGVWZXJ0ZXhEZXNjcmlwdG9yID0geworICAg
IGNvbnN0IG5vTW9kdWxlVmVydGV4RGVzY3JpcHRvciA9IHsKICAgICAgICAgZW50cnlQb2ludDog
InZlcnRleF9tYWluIgogICAgIH0KLSAgICBsZXQgbm9Nb2R1bGVQaXBlbGluZURlc2NyaXB0b3Ig
PSB7CisKKyAgICBjb25zdCBmcmFnbWVudFN0YWdlRGVzY3JpcHRvciA9IHsKKyAgICAgICAgbW9k
dWxlOiBzaGFkZXJNb2R1bGUsCisgICAgICAgIGVudHJ5UG9pbnQ6ICJmcmFnbWVudF9tYWluIgor
ICAgIH07CisKKyAgICBjb25zdCBub01vZHVsZVBpcGVsaW5lRGVzY3JpcHRvciA9IHsKICAgICAg
ICAgdmVydGV4U3RhZ2U6IG5vTW9kdWxlVmVydGV4RGVzY3JpcHRvciwgCiAgICAgICAgIGZyYWdt
ZW50U3RhZ2U6IGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3Bv
bG9neTogInRyaWFuZ2xlTGlzdCIKICAgICB9Ci0gICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZShu
b01vZHVsZVBpcGVsaW5lRGVzY3JpcHRvciwgInNoYWRlciBtb2R1bGUiKTsKKyAgICBjaGVja0Jh
ZFJlbmRlclBpcGVsaW5lKGRldmljZSwgbm9Nb2R1bGVQaXBlbGluZURlc2NyaXB0b3IsICJzaGFk
ZXIgbW9kdWxlIik7CiAKICAgICAvLyBBIChNZXRhbCkgcmVuZGVycGlwZWxpbmUgbXVzdCBoYXZl
IGEgdmVydGV4IGZ1bmN0aW9uLgotICAgIGxldCBub1ZlcnRleFBpcGVsaW5lRGVzY3JpcHRvciA9
IHsKKyAgICBjb25zdCBub1ZlcnRleFBpcGVsaW5lRGVzY3JpcHRvciA9IHsKICAgICAgICAgZnJh
Z21lbnRTdGFnZTogZnJhZ21lbnRTdGFnZURlc2NyaXB0b3IsCiAgICAgICAgIHByaW1pdGl2ZVRv
cG9sb2d5OiAidHJpYW5nbGVMaXN0IgogICAgIH0KLSAgICBjaGVja0JhZFJlbmRlclBpcGVsaW5l
KG5vVmVydGV4UGlwZWxpbmVEZXNjcmlwdG9yLCAidmVydGV4IHNoYWRlciBzdGFnZSIpCisgICAg
Y2hlY2tCYWRSZW5kZXJQaXBlbGluZShkZXZpY2UsIG5vVmVydGV4UGlwZWxpbmVEZXNjcmlwdG9y
LCAidmVydGV4IHNoYWRlciBzdGFnZSIpCiAKLSAgICBsZXQgYmFkRW50cnlQb2ludERlc2NyaXB0
b3IgPSB7IAorICAgIGNvbnN0IGJhZEVudHJ5UG9pbnREZXNjcmlwdG9yID0geyAKICAgICAgICAg
bW9kdWxlOiBzaGFkZXJNb2R1bGUsCiAgICAgICAgIGVudHJ5UG9pbnQ6ICJWZXJ0ZXhfTWFpbiIg
CiAgICAgfTsKLSAgICBsZXQgYmFkRW50cnlQb2ludFBpcGVsaW5lRGVzY3NyaXB0b3IgPSB7Cisg
ICAgY29uc3QgYmFkRW50cnlQb2ludFBpcGVsaW5lRGVzY3NyaXB0b3IgPSB7CiAgICAgICAgIHZl
cnRleFN0YWdlOiBiYWRFbnRyeVBvaW50RGVzY3JpcHRvciwgCiAgICAgICAgIGZyYWdtZW50U3Rh
Z2U6IGZyYWdtZW50U3RhZ2VEZXNjcmlwdG9yLAogICAgICAgICBwcmltaXRpdmVUb3BvbG9neTog
InRyaWFuZ2xlTGlzdCIKICAgICB9Ci0gICAgY2hlY2tCYWRSZW5kZXJQaXBlbGluZShiYWRFbnRy
eVBvaW50UGlwZWxpbmVEZXNjc3JpcHRvciwgInZlcnRleCBzaGFkZXIgZW50cnkgcG9pbnQiKTsK
LX0KLQotcnVuV2ViR1BVVGVzdHMoW3NldFVwUGlwZWxpbmUsIHNldFVwQmFkUGlwZWxpbmVzXSk7
Ci0KLXN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgY2hlY2tCYWRSZW5kZXJQaXBlbGlu
ZShkZXZpY2UsIGJhZEVudHJ5UG9pbnRQaXBlbGluZURlc2NzcmlwdG9yLCAidmVydGV4IHNoYWRl
ciBlbnRyeSBwb2ludCIpOworfSwgIkJhZCBwaXBlbGluZXMgd2VyZSBub3QgY3JlYXRlZCIpOwog
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>