<?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>237864</bug_id>
          
          <creation_ts>2022-03-14 18:52:44 -0700</creation_ts>
          <short_desc>[WebGPU] Create a path of Ref&lt;&gt;s between Instance and Queue</short_desc>
          <delta_ts>2022-03-16 14:07:17 -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>WebGPU</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>
          <dependson>237861</dependson>
          <blocked>237583</blocked>
    
    <blocked>237869</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>djg</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1851110</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-14 18:52:44 -0700</bug_when>
    <thetext>Instance has a method to run asynchronous work, and Queue needs to call it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851113</commentid>
    <comment_count>1</comment_count>
      <attachid>454646</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-14 19:00:22 -0700</bug_when>
    <thetext>Created attachment 454646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851114</commentid>
    <comment_count>2</comment_count>
      <attachid>454647</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-14 19:05:31 -0700</bug_when>
    <thetext>Created attachment 454647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851250</commentid>
    <comment_count>3</comment_count>
      <attachid>454647</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-15 06:10:15 -0700</bug_when>
    <thetext>Comment on attachment 454647
Patch

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

&gt; Source/WebGPU/WebGPU/Device.h:89
&gt; +

Is there a reason this is duplicated across the whole hierarchy?
In the end there&apos;s only one item that can schedule work: the Instance.

Why are we holding device that holds adapter that holds instance instead of holding instance directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851506</commentid>
    <comment_count>4</comment_count>
      <attachid>454647</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-15 14:37:05 -0700</bug_when>
    <thetext>Comment on attachment 454647
Patch

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

&gt;&gt; Source/WebGPU/WebGPU/Device.h:89
&gt;&gt; +
&gt; 
&gt; Is there a reason this is duplicated across the whole hierarchy?
&gt; In the end there&apos;s only one item that can schedule work: the Instance.
&gt; 
&gt; Why are we holding device that holds adapter that holds instance instead of holding instance directly?

Yeah, I think you&apos;re right that this can be more straightforward.

Objects are going to need the device pointer eventually, though, to implement the &quot;valid to use with&quot; check: https://gpuweb.github.io/gpuweb/#abstract-opdef-valid-to-use-with

So I think the chain can be Objects -&gt; Device -&gt; Instance, rather than Objects -&gt; Other objects -&gt; Device -&gt; Adapter -&gt; Instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851511</commentid>
    <comment_count>5</comment_count>
      <attachid>454758</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-15 14:47:24 -0700</bug_when>
    <thetext>Created attachment 454758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851755</commentid>
    <comment_count>6</comment_count>
      <attachid>454758</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-16 05:48:39 -0700</bug_when>
    <thetext>Comment on attachment 454758
Patch

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

&gt; Source/WebGPU/WebGPU/Queue.h:61
&gt; +    void scheduleWork(Instance::WorkItem&amp;&amp;);

Still, I think it&apos;s a bit strange to have the schedulework per class.


I&apos;d imagine it&apos;d be:
void Queue::someFunction()
{
    instance()-&gt;scheduleWork()
}

Queue::someFunction
  Instance::scheduleWork

instead of:
Queue::someFunction
  Queue::scheduleWork
    Device::scheduleWork
       Instance::scheduleWork</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851976</commentid>
    <comment_count>7</comment_count>
      <attachid>454758</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-16 14:05:15 -0700</bug_when>
    <thetext>Comment on attachment 454758
Patch

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

&gt;&gt; Source/WebGPU/WebGPU/Queue.h:61
&gt;&gt; +    void scheduleWork(Instance::WorkItem&amp;&amp;);
&gt; 
&gt; Still, I think it&apos;s a bit strange to have the schedulework per class.
&gt; 
&gt; 
&gt; I&apos;d imagine it&apos;d be:
&gt; void Queue::someFunction()
&gt; {
&gt;     instance()-&gt;scheduleWork()
&gt; }
&gt; 
&gt; Queue::someFunction
&gt;   Instance::scheduleWork
&gt; 
&gt; instead of:
&gt; Queue::someFunction
&gt;   Queue::scheduleWork
&gt;     Device::scheduleWork
&gt;        Instance::scheduleWork

Right, makes sense. The Queue::scheduleWork() is valuable, I think, so I think the best option is in the middle:

Queue::someFunction
  Queue::scheduleWork
      Instance::scheduleWork</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851978</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-16 14:06:39 -0700</bug_when>
    <thetext>Committed r291365 (248497@trunk): &lt;https://commits.webkit.org/248497@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851979</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-16 14:07:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90391171&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454646</attachid>
            <date>2022-03-14 19:00:22 -0700</date>
            <delta_ts>2022-03-14 19:05:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10575</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDA5YWNmNjZkY2JmMTEzYTM4NjlkZjk3NjVjYWVhNDRkYWQ2ZGNkN2UKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gTWFyIDE0
IDE4OjU5OjU5IDIwMjIgLTA3MDAKCiAgICBQYXJ0IDQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IDVmMmY0Y2NmYzQ1
Ny4uNGE5NTY4ZTFlZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAzLTE0ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gQ3JlYXRlIGEgcGF0aCBvZiBSZWY8PnMgYmV0d2VlbiBJbnN0YW5jZSBhbmQgUXVldWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzg2NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvd25lcnNo
aXAgbW9kZWwgb2YgV2ViR1BVIGlzIHRoYXQgdGhlcmUgaXMgYSB0cmVlIG9mIG9iamVjdHMsIGFu
ZCBKYXZhc2NyaXB0IGhhcyByZWZlcmVuY2VzCisgICAgICAgIHRvIHRoZSBsZWF2ZXMgb2YgdGhl
IHRyZWUuIFRoZSBsZWF2ZXMgYXJlIHRoZXJlZm9yZSBhbGxvd2VkIHRvIHJlZmVyZW5jZSB0aGVp
ciBwYXJlbnRzLCBhbGwgdGhlCisgICAgICAgIHdheSB1cCB0aGUgdHJlZS4gVGhlcmVmb3JlLCBC
dWZmZXIgY2FuIGhhdmUgYSBSZWYgdG8gRGV2aWNlLCB3aGljaCBjYW4gaGF2ZSBhIFJlZiB0byBB
ZGFwdGVyLAorICAgICAgICB3aGljaCBjYW4gaGF2ZSBhIFJlZiB0byBJbnN0YW5jZS4KKworICAg
ICAgICBUaGUgb25lIGV4Y2VwdGlvbiBpcyBRdWV1ZSwgd2hpY2ggbmVlZHMgdG8gYmUgb3duZWQg
YnkgRGV2aWNlLCBzbyBEZXZpY2U6OmdldFF1ZXVlKCkgY2FuIHJldHVybgorICAgICAgICB0aGUg
c2FtZSBvYmplY3Qgd2hlbiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgKHNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3ODYxKS4KKyAgICAgICAgU28sIFF1ZXVlIGhh
cyBhIHJhdyBDKysgcmVmZXJlbmNlIHRvIGl0cyBvd25pbmcgRGV2aWNlLgorCisgICAgICAgIFF1
ZXVlIG5lZWRzIHRvIGJlIGFibGUgdG8gcnVuIGFzeW5jaHJvbm91cyB3b3JrLCBiZWN1YXNlIFF1
ZXVlIHdpbGwgbmVlZCB0byBhZGQgY29tcGxldGVkSGFuZGxlcnMKKyAgICAgICAgdG8gYWxsIGNv
bW1hbmQgYnVmZmVycyBjb21taXR0ZWQsIGluIG9yZGVyIHRvIHBlcmZvcm0gaXRzIG93biBpbnRl
cm5hbCBib29ra2VlcGluZy4gU28sIFF1ZXVlCisgICAgICAgIHVzZXMgaXRzIEMrKyByZWZlcmVu
Y2UgdG8gaXRzIG93bmluZyBEZXZpY2UsIHdoaWNoIHVzZXMgaXRzIFJlZiB0byBpdHMgb3duaW5n
IEFkYXB0ZXIsIHdoaWNoIHVzZXMKKyAgICAgICAgaXRzIFJlZiB0byBpdHMgb3duaW5nIEluc3Rh
bmNlLCBpbiBvcmRlciB0byB1c2UgSW5zdGFuY2UncyBmYWNpbGl0aWVzIGZvciBydW5uaW5nIGFz
eW5jaHJvbm91cworICAgICAgICB3b3JrLiBUaGlzIHBhdGNoIGFkZHMgdGhlIG5lY2Vzc2VzYXJ5
IFJlZjw+cyB0byBtYWtlIHRoYXQgaGFwcGVuLgorCisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIu
aDoKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJHUFUv
QWRhcHRlci5tbToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6QWRhcHRlcik6CisgICAgICAg
IChXZWJHUFU6OkFkYXB0ZXI6OnJlcXVlc3REZXZpY2UpOgorICAgICAgICAoV2ViR1BVOjpBZGFw
dGVyOjpzY2hlZHVsZVdvcmspOgorICAgICAgICAqIFdlYkdQVS9EZXZpY2UuaDoKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpjcmVhdGUpOgorICAgICAgICAqIFdlYkdQVS9EZXZpY2UubW06Cisg
ICAgICAgIChXZWJHUFU6OmNyZWF0ZURlZmF1bHRRdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OkRl
dmljZTo6RGV2aWNlKToKKyAgICAgICAgKFdlYkdQVTo6RGV2aWNlOjpzY2hlZHVsZVdvcmspOgor
ICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
R1BVL0luc3RhbmNlLm1tOgorICAgICAgICAoV2ViR1BVOjpJbnN0YW5jZTo6cmVxdWVzdEFkYXB0
ZXIpOgorICAgICAgICAqIFdlYkdQVS9RdWV1ZS5oOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6
Y3JlYXRlKToKKyAgICAgICAgKiBXZWJHUFUvUXVldWUubW06CisgICAgICAgIChXZWJHUFU6OlF1
ZXVlOjpRdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjpzY2hlZHVsZVdvcmspOgorCiAy
MDIyLTAzLTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dlYkdQVV0gUmVwZWF0ZWQgY2FsbHMgdG8gd2dwdURldmljZUdldFF1ZXVlKCkgYXJl
IHN1cHBvc2VkIHRvIHJldHVybiB0aGUgc2FtZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9BZGFwdGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgK
aW5kZXggZTdjNWFhNmVlMTA1Li44ZWJkYWNlMjM5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgK
QEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbXBvcnQgIkluc3RhbmNlLmgi
CiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL0Z1bmN0aW9uLmg+CiAj
aW1wb3J0IDx3dGYvUmVmLmg+CkBAIC0zOCw5ICszOSw5IEBAIGNsYXNzIERldmljZTsKIGNsYXNz
IEFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxBZGFwdGVyPiB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxBZGFwdGVyPiBjcmVhdGUoaWQ8
TVRMRGV2aWNlPiBkZXZpY2UpCisgICAgc3RhdGljIFJlZjxBZGFwdGVyPiBjcmVhdGUoaWQ8TVRM
RGV2aWNlPiBkZXZpY2UsIEluc3RhbmNlJiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEFkYXB0ZXIoZGV2aWNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEFkYXB0ZXIoZGV2aWNlLCBpbnN0YW5jZSkpOwogICAgIH0KIAogICAgIH5BZGFwdGVy
KCk7CkBAIC01MSwxMCArNTIsMTQgQEAgcHVibGljOgogICAgIGJvb2wgaGFzRmVhdHVyZShXR1BV
RmVhdHVyZU5hbWUpOwogICAgIHZvaWQgcmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVz
Y3JpcHRvciYsIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1cywgUmVm
UHRyPERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKIAorICAgIC8vIFRoaXMg
Y2FuIGJlIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgorICAgIHZvaWQgc2NoZWR1bGVX
b3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmKTsKKwogcHJpdmF0ZToKLSAgICBBZGFwdGVyKGlkPE1U
TERldmljZT4pOworICAgIEFkYXB0ZXIoaWQ8TVRMRGV2aWNlPiwgSW5zdGFuY2UmKTsKIAogICAg
IGlkPE1UTERldmljZT4gbV9kZXZpY2UgeyBuaWwgfTsKKyAgICBSZWY8SW5zdGFuY2U+IG1faW5z
dGFuY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1t
CmluZGV4IGJhZGFmYzU2OGE4Mi4uOWVhOTA3N2I3NjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIu
bW0KQEAgLTMxLDggKzMxLDkgQEAKIAogbmFtZXNwYWNlIFdlYkdQVSB7CiAKLUFkYXB0ZXI6OkFk
YXB0ZXIoaWQ8TVRMRGV2aWNlPiBkZXZpY2UpCitBZGFwdGVyOjpBZGFwdGVyKGlkPE1UTERldmlj
ZT4gZGV2aWNlLCBJbnN0YW5jZSYgaW5zdGFuY2UpCiAgICAgOiBtX2RldmljZShkZXZpY2UpCisg
ICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQogewogfQogCkBAIC0xMjIsNyArMTIzLDEyIEBAIHZv
aWQgQWRhcHRlcjo6cmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVzY3JpcHRvciYgZGVz
Y3JpcHRvciwgV1RGOjpGdW5jdGlvCiAKICAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gRGV2aWNl
OjpzZXRMYWJlbCgpIGFib3V0IHdoeSB3ZSdyZSBub3Qgc2V0dGluZyB0aGUgbGFiZWwgaGVyZS4K
IAotICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzX1N1Y2Nlc3MsIERldmljZTo6
Y3JlYXRlKG1fZGV2aWNlLCBkZXNjcmlwdG9yLmxhYmVsKSwgbnVsbHB0cik7CisgICAgY2FsbGJh
Y2soV0dQVVJlcXVlc3REZXZpY2VTdGF0dXNfU3VjY2VzcywgRGV2aWNlOjpjcmVhdGUobV9kZXZp
Y2UsIGRlc2NyaXB0b3IubGFiZWwsICp0aGlzKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgQWRhcHRl
cjo6c2NoZWR1bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmIHdvcmtJdGVtKQoreworICAgIG1f
aW5zdGFuY2UtPnNjaGVkdWxlV29yayhXVEZNb3ZlKHdvcmtJdGVtKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgg
Yi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UuaAppbmRleCBkODA1ZGMwZjg4MjQuLmMyNjY3
ZGMyM2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbXBvcnQgIkluc3RhbmNlLmgiCiAjaW1wb3J0ICJRdWV1ZS5oIgogI2ltcG9y
dCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgpAQCAtMzQsNiAr
MzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViR1BVIHsKIAorY2xhc3MgQWRhcHRlcjsKIGNsYXNzIEJp
bmRHcm91cDsKIGNsYXNzIEJpbmRHcm91cExheW91dDsKIGNsYXNzIEJ1ZmZlcjsKQEAgLTUyLDcg
KzU0LDEwIEBAIGNsYXNzIFRleHR1cmU7CiBjbGFzcyBEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxEZXZpY2U+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUmVmUHRyPERldmljZT4gY3JlYXRlKGlkPE1UTERldmljZT4sIGNvbnN0IGNoYXIqIGRl
dmljZUxhYmVsKTsKKyAgICBzdGF0aWMgUmVmUHRyPERldmljZT4gY3JlYXRlKGlkPE1UTERldmlj
ZT4gZGV2aWNlLCBjb25zdCBjaGFyKiBkZXZpY2VMYWJlbCwgQWRhcHRlciYgYWRhcHRlcikKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERldmljZShkZXZpY2UsIGRldmljZUxh
YmVsLCBhZGFwdGVyKSk7CisgICAgfQogCiAgICAgfkRldmljZSgpOwogCkBAIC04MiwxMSArODcs
MTUgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soV1RGOjpG
dW5jdGlvbjx2b2lkKFdHUFVFcnJvclR5cGUsIGNvbnN0IGNoYXIqKT4mJik7CiAgICAgdm9pZCBz
ZXRMYWJlbChjb25zdCBjaGFyKik7CiAKKyAgICAvLyBUaGlzIGNhbiBiZSBjYWxsZWQgb24gYSBi
YWNrZ3JvdW5kIHRocmVhZC4KKyAgICB2b2lkIHNjaGVkdWxlV29yayhJbnN0YW5jZTo6V29ya0l0
ZW0mJik7CisKIHByaXZhdGU6Ci0gICAgRGV2aWNlKGlkPE1UTERldmljZT4sIFJlZjxRdWV1ZT4m
Jik7CisgICAgRGV2aWNlKGlkPE1UTERldmljZT4sIGNvbnN0IGNoYXIqIGRldmljZUxhYmVsLCBB
ZGFwdGVyJik7CiAKICAgICBpZDxNVExEZXZpY2U+IG1fZGV2aWNlIHsgbmlsIH07CiAgICAgUmVm
PFF1ZXVlPiBtX2RlZmF1bHRRdWV1ZTsKKyAgICBSZWY8QWRhcHRlcj4gbV9hZGFwdGVyOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9EZXZpY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KaW5kZXggMWE0YzVm
ZDg0OTRhLi5mODhmMTQ2MzZmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Rl
dmljZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KQEAgLTI2LDYgKzI2
LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRGV2aWNlLmgiCiAKKyNpbXBvcnQg
IkFkYXB0ZXIuaCIKICNpbXBvcnQgIkJpbmRHcm91cC5oIgogI2ltcG9ydCAiQmluZEdyb3VwTGF5
b3V0LmgiCiAjaW1wb3J0ICJCdWZmZXIuaCIKQEAgLTQ1LDIzICs0NiwyMyBAQAogCiBuYW1lc3Bh
Y2UgV2ViR1BVIHsKIAotUmVmUHRyPERldmljZT4gRGV2aWNlOjpjcmVhdGUoaWQ8TVRMRGV2aWNl
PiBkZXZpY2UsIGNvbnN0IGNoYXIqIGRldmljZUxhYmVsKQorc3RhdGljIFJlZjxRdWV1ZT4gY3Jl
YXRlRGVmYXVsdFF1ZXVlKGlkPE1UTERldmljZT4gcGxhdGZvcm1EZXZpY2UsIGNvbnN0IGNoYXIq
IGRldmljZUxhYmVsLCBEZXZpY2UmIGRldmljZSkKIHsKLSAgICBpZDxNVExDb21tYW5kUXVldWU+
IGNvbW1hbmRRdWV1ZSA9IFtkZXZpY2UgbmV3Q29tbWFuZFF1ZXVlXTsKLSAgICBpZiAoIWNvbW1h
bmRRdWV1ZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byBxdWV1ZSA9IFF1ZXVl
OjpjcmVhdGUoY29tbWFuZFF1ZXVlKTsKKyAgICBpZDxNVExDb21tYW5kUXVldWU+IGNvbW1hbmRR
dWV1ZSA9IFtwbGF0Zm9ybURldmljZSBuZXdDb21tYW5kUXVldWVdOworICAgIEFTU0VSVChjb21t
YW5kUXVldWUpOworICAgIGF1dG8gcXVldWUgPSBRdWV1ZTo6Y3JlYXRlKGNvbW1hbmRRdWV1ZSwg
ZGV2aWNlKTsKIAogICAgIGNvbW1hbmRRdWV1ZS5sYWJlbCA9IEAiRGVmYXVsdCBxdWV1ZSI7CiAg
ICAgaWYgKGRldmljZUxhYmVsICYmIHN0cmxlbihkZXZpY2VMYWJlbCkpCiAgICAgICAgIGNvbW1h
bmRRdWV1ZS5sYWJlbCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiRGVmYXVsdCBxdWV1
ZSBmb3IgZGV2aWNlICVzIiwgZGV2aWNlTGFiZWxdOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgRGV2aWNlKGRldmljZSwgV1RGTW92ZShxdWV1ZSkpKTsKKyAgICByZXR1cm4gcXVldWU7CiB9
CiAKLURldmljZTo6RGV2aWNlKGlkPE1UTERldmljZT4gZGV2aWNlLCBSZWY8UXVldWU+JiYgcXVl
dWUpCitEZXZpY2U6OkRldmljZShpZDxNVExEZXZpY2U+IGRldmljZSwgY29uc3QgY2hhciogZGV2
aWNlTGFiZWwsIEFkYXB0ZXImIGFkYXB0ZXIpCiAgICAgOiBtX2RldmljZShkZXZpY2UpCi0gICAg
LCBtX2RlZmF1bHRRdWV1ZShXVEZNb3ZlKHF1ZXVlKSkKKyAgICAsIG1fZGVmYXVsdFF1ZXVlKGNy
ZWF0ZURlZmF1bHRRdWV1ZShkZXZpY2UsIGRldmljZUxhYmVsLCAqdGhpcykpCisgICAgLCBtX2Fk
YXB0ZXIoYWRhcHRlcikKIHsKIH0KIApAQCAtMTI5LDYgKzEzMCwxMSBAQCB2b2lkIERldmljZTo6
c2V0TGFiZWwoY29uc3QgY2hhciopCiAgICAgLy8gQmVjYXVzZSBNVExEZXZpY2VzIGFyZSBwcm9j
ZXNzLWdsb2JhbCwgd2UgY2FuJ3Qgc2V0IHRoZSBsYWJlbCBvbiBpdCwgYmVjYXVzZSAyIGNvbnRl
eHRzJyBsYWJlbHMgd291bGQgZmlnaHQgZWFjaCBvdGhlci4KIH0KIAordm9pZCBEZXZpY2U6OnNj
aGVkdWxlV29yayhJbnN0YW5jZTo6V29ya0l0ZW0mJiB3b3JrSXRlbSkKK3sKKyAgICBtX2FkYXB0
ZXItPnNjaGVkdWxlV29yayhXVEZNb3ZlKHdvcmtJdGVtKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkdQVQogCiB2b2lkIHdncHVEZXZpY2VSZWxlYXNlKFdHUFVEZXZpY2UgZGV2aWNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0gYi9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9JbnN0YW5jZS5tbQppbmRleCBhMTJmZTI3YmQ0MTMuLmVlNjM5ZGFhNjI3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEluc3RhbmNl
OjpyZXF1ZXN0QWRhcHRlcihjb25zdCBXR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zJiBvcHRpb25z
LCBXVEY6OkZ1bgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY2FsbGJhY2soV0dQVVJl
cXVlc3RBZGFwdGVyU3RhdHVzX1N1Y2Nlc3MsIEFkYXB0ZXI6OmNyZWF0ZShzb3J0ZWREZXZpY2Vz
WzBdKSwgbnVsbHB0cik7CisgICAgY2FsbGJhY2soV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzX1N1
Y2Nlc3MsIEFkYXB0ZXI6OmNyZWF0ZShzb3J0ZWREZXZpY2VzWzBdLCAqdGhpcyksIG51bGxwdHIp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1F1ZXVlLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5oCmluZGV4IGE1OTVh
OGZlYTA5MC4uMzVhNTI1NDRmYThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9R
dWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLmgKQEAgLTI1LDIzICsyNSwy
NSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2ltcG9ydCAiSW5zdGFuY2UuaCIKICNpbXBvcnQgPHd0
Zi9GYXN0TWFsbG9jLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9S
ZWYuaD4KLSNpbXBvcnQgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW1wb3J0IDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkdQ
VSB7CiAKIGNsYXNzIEJ1ZmZlcjsKIGNsYXNzIENvbW1hbmRCdWZmZXI7CitjbGFzcyBEZXZpY2U7
CiAKLWNsYXNzIFF1ZXVlIDogcHVibGljIFJlZkNvdW50ZWQ8UXVldWU+IHsKK2NsYXNzIFF1ZXVl
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFF1ZXVlPiB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxRdWV1ZT4gY3JlYXRlKGlkPE1U
TENvbW1hbmRRdWV1ZT4gY29tbWFuZFF1ZXVlKQorICAgIHN0YXRpYyBSZWY8UXVldWU+IGNyZWF0
ZShpZDxNVExDb21tYW5kUXVldWU+IGNvbW1hbmRRdWV1ZSwgRGV2aWNlJiBkZXZpY2UpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBRdWV1ZShjb21tYW5kUXVldWUpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUXVldWUoY29tbWFuZFF1ZXVlLCBkZXZpY2UpKTsK
ICAgICB9CiAKICAgICB+UXVldWUoKTsKQEAgLTUzLDkgKzU1LDEzIEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldExhYmVsKGNvbnN0IGNoYXIqKTsKIAogcHJpdmF0ZToKLSAgICBRdWV1ZShpZDxNVExD
b21tYW5kUXVldWU+KTsKKyAgICBRdWV1ZShpZDxNVExDb21tYW5kUXVldWU+LCBEZXZpY2UmKTsK
KworICAgIC8vIFRoaXMgY2FuIGJlIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgorICAg
IHZvaWQgc2NoZWR1bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmKTsKIAogICAgIGlkPE1UTENv
bW1hbmRRdWV1ZT4gbV9jb21tYW5kUXVldWUgeyBuaWwgfTsKKyAgICBEZXZpY2UmIG1fZGV2aWNl
OyAvLyBUaGUgb25seSBraW5kIG9mIHF1ZXVlcyB0aGF0IGV4aXN0IHJpZ2h0IG5vdyBhcmUgZGVm
YXVsdCBxdWV1ZXMsIHdoaWNoIGFyZSBvd25lZCBieSBEZXZpY2VzLgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbSBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCmluZGV4IGNmZDljYjEyYzA1Mi4uZDM2Nzk1
MjFjN2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbQorKysgYi9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbQpAQCAtMjgsMTEgKzI4LDEzIEBACiAKICNpbXBv
cnQgIkJ1ZmZlci5oIgogI2ltcG9ydCAiQ29tbWFuZEJ1ZmZlci5oIgorI2ltcG9ydCAiRGV2aWNl
LmgiCiAKIG5hbWVzcGFjZSBXZWJHUFUgewogCi1RdWV1ZTo6UXVldWUoaWQ8TVRMQ29tbWFuZFF1
ZXVlPiBjb21tYW5kUXVldWUpCitRdWV1ZTo6UXVldWUoaWQ8TVRMQ29tbWFuZFF1ZXVlPiBjb21t
YW5kUXVldWUsIERldmljZSYgZGV2aWNlKQogICAgIDogbV9jb21tYW5kUXVldWUoY29tbWFuZFF1
ZXVlKQorICAgICwgbV9kZXZpY2UoZGV2aWNlKQogewogfQogCkBAIC03MSw2ICs3MywxMSBAQCB2
b2lkIFF1ZXVlOjpzZXRMYWJlbChjb25zdCBjaGFyKiBsYWJlbCkKICAgICBtX2NvbW1hbmRRdWV1
ZS5sYWJlbCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmluZzpsYWJlbCBlbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZ107CiB9CiAKK3ZvaWQgUXVldWU6OnNjaGVkdWxlV29yayhJbnN0YW5j
ZTo6V29ya0l0ZW0mJiB3b3JrSXRlbSkKK3sKKyAgICBtX2RldmljZS5zY2hlZHVsZVdvcmsoV1RG
TW92ZSh3b3JrSXRlbSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKIAogdm9pZCB3Z3B1
UXVldWVSZWxlYXNlKFdHUFVRdWV1ZSBxdWV1ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454647</attachid>
            <date>2022-03-14 19:05:31 -0700</date>
            <delta_ts>2022-03-15 14:47:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10361</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDRmNzBkMzg0NzIyODY4YTBjMTY4OWMzNjEzMDJlMmQzZWQ3ZGIyNjQKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gTWFyIDE0
IDE4OjU5OjU5IDIwMjIgLTA3MDAKCiAgICBQYXJ0IDQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IDVmMmY0Y2NmYzQ1
Ny4uNGE5NTY4ZTFlZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAzLTE0ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQ
VV0gQ3JlYXRlIGEgcGF0aCBvZiBSZWY8PnMgYmV0d2VlbiBJbnN0YW5jZSBhbmQgUXVldWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzg2NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBvd25lcnNo
aXAgbW9kZWwgb2YgV2ViR1BVIGlzIHRoYXQgdGhlcmUgaXMgYSB0cmVlIG9mIG9iamVjdHMsIGFu
ZCBKYXZhc2NyaXB0IGhhcyByZWZlcmVuY2VzCisgICAgICAgIHRvIHRoZSBsZWF2ZXMgb2YgdGhl
IHRyZWUuIFRoZSBsZWF2ZXMgYXJlIHRoZXJlZm9yZSBhbGxvd2VkIHRvIHJlZmVyZW5jZSB0aGVp
ciBwYXJlbnRzLCBhbGwgdGhlCisgICAgICAgIHdheSB1cCB0aGUgdHJlZS4gVGhlcmVmb3JlLCBC
dWZmZXIgY2FuIGhhdmUgYSBSZWYgdG8gRGV2aWNlLCB3aGljaCBjYW4gaGF2ZSBhIFJlZiB0byBB
ZGFwdGVyLAorICAgICAgICB3aGljaCBjYW4gaGF2ZSBhIFJlZiB0byBJbnN0YW5jZS4KKworICAg
ICAgICBUaGUgb25lIGV4Y2VwdGlvbiBpcyBRdWV1ZSwgd2hpY2ggbmVlZHMgdG8gYmUgb3duZWQg
YnkgRGV2aWNlLCBzbyBEZXZpY2U6OmdldFF1ZXVlKCkgY2FuIHJldHVybgorICAgICAgICB0aGUg
c2FtZSBvYmplY3Qgd2hlbiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgKHNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3ODYxKS4KKyAgICAgICAgU28sIFF1ZXVlIGhh
cyBhIHJhdyBDKysgcmVmZXJlbmNlIHRvIGl0cyBvd25pbmcgRGV2aWNlLgorCisgICAgICAgIFF1
ZXVlIG5lZWRzIHRvIGJlIGFibGUgdG8gcnVuIGFzeW5jaHJvbm91cyB3b3JrLCBiZWN1YXNlIFF1
ZXVlIHdpbGwgbmVlZCB0byBhZGQgY29tcGxldGVkSGFuZGxlcnMKKyAgICAgICAgdG8gYWxsIGNv
bW1hbmQgYnVmZmVycyBjb21taXR0ZWQsIGluIG9yZGVyIHRvIHBlcmZvcm0gaXRzIG93biBpbnRl
cm5hbCBib29ra2VlcGluZy4gU28sIFF1ZXVlCisgICAgICAgIHVzZXMgaXRzIEMrKyByZWZlcmVu
Y2UgdG8gaXRzIG93bmluZyBEZXZpY2UsIHdoaWNoIHVzZXMgaXRzIFJlZiB0byBpdHMgb3duaW5n
IEFkYXB0ZXIsIHdoaWNoIHVzZXMKKyAgICAgICAgaXRzIFJlZiB0byBpdHMgb3duaW5nIEluc3Rh
bmNlLCBpbiBvcmRlciB0byB1c2UgSW5zdGFuY2UncyBmYWNpbGl0aWVzIGZvciBydW5uaW5nIGFz
eW5jaHJvbm91cworICAgICAgICB3b3JrLiBUaGlzIHBhdGNoIGFkZHMgdGhlIG5lY2Vzc2VzYXJ5
IFJlZjw+cyB0byBtYWtlIHRoYXQgaGFwcGVuLgorCisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIu
aDoKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJHUFUv
QWRhcHRlci5tbToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6QWRhcHRlcik6CisgICAgICAg
IChXZWJHUFU6OkFkYXB0ZXI6OnJlcXVlc3REZXZpY2UpOgorICAgICAgICAoV2ViR1BVOjpBZGFw
dGVyOjpzY2hlZHVsZVdvcmspOgorICAgICAgICAqIFdlYkdQVS9EZXZpY2UuaDoKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpjcmVhdGUpOgorICAgICAgICAqIFdlYkdQVS9EZXZpY2UubW06Cisg
ICAgICAgIChXZWJHUFU6OmNyZWF0ZURlZmF1bHRRdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OkRl
dmljZTo6RGV2aWNlKToKKyAgICAgICAgKFdlYkdQVTo6RGV2aWNlOjpzY2hlZHVsZVdvcmspOgor
ICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
R1BVL0luc3RhbmNlLm1tOgorICAgICAgICAoV2ViR1BVOjpJbnN0YW5jZTo6cmVxdWVzdEFkYXB0
ZXIpOgorICAgICAgICAqIFdlYkdQVS9RdWV1ZS5oOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6
Y3JlYXRlKToKKyAgICAgICAgKiBXZWJHUFUvUXVldWUubW06CisgICAgICAgIChXZWJHUFU6OlF1
ZXVlOjpRdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjpzY2hlZHVsZVdvcmspOgorCiAy
MDIyLTAzLTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dlYkdQVV0gUmVwZWF0ZWQgY2FsbHMgdG8gd2dwdURldmljZUdldFF1ZXVlKCkgYXJl
IHN1cHBvc2VkIHRvIHJldHVybiB0aGUgc2FtZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9BZGFwdGVyLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgK
aW5kZXggZTdjNWFhNmVlMTA1Li44ZWJkYWNlMjM5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgK
QEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbXBvcnQgIkluc3RhbmNlLmgi
CiAjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgogI2ltcG9ydCA8d3RmL0Z1bmN0aW9uLmg+CiAj
aW1wb3J0IDx3dGYvUmVmLmg+CkBAIC0zOCw5ICszOSw5IEBAIGNsYXNzIERldmljZTsKIGNsYXNz
IEFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxBZGFwdGVyPiB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxBZGFwdGVyPiBjcmVhdGUoaWQ8
TVRMRGV2aWNlPiBkZXZpY2UpCisgICAgc3RhdGljIFJlZjxBZGFwdGVyPiBjcmVhdGUoaWQ8TVRM
RGV2aWNlPiBkZXZpY2UsIEluc3RhbmNlJiBpbnN0YW5jZSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEFkYXB0ZXIoZGV2aWNlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEFkYXB0ZXIoZGV2aWNlLCBpbnN0YW5jZSkpOwogICAgIH0KIAogICAgIH5BZGFwdGVy
KCk7CkBAIC01MSwxMCArNTIsMTQgQEAgcHVibGljOgogICAgIGJvb2wgaGFzRmVhdHVyZShXR1BV
RmVhdHVyZU5hbWUpOwogICAgIHZvaWQgcmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVz
Y3JpcHRvciYsIFdURjo6RnVuY3Rpb248dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1cywgUmVm
UHRyPERldmljZT4mJiwgY29uc3QgY2hhciopPiYmIGNhbGxiYWNrKTsKIAorICAgIC8vIFRoaXMg
Y2FuIGJlIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgorICAgIHZvaWQgc2NoZWR1bGVX
b3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmKTsKKwogcHJpdmF0ZToKLSAgICBBZGFwdGVyKGlkPE1U
TERldmljZT4pOworICAgIEFkYXB0ZXIoaWQ8TVRMRGV2aWNlPiwgSW5zdGFuY2UmKTsKIAogICAg
IGlkPE1UTERldmljZT4gbV9kZXZpY2UgeyBuaWwgfTsKKyAgICBSZWY8SW5zdGFuY2U+IG1faW5z
dGFuY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1t
CmluZGV4IGJhZGFmYzU2OGE4Mi4uOWVhOTA3N2I3NjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIu
bW0KQEAgLTMxLDggKzMxLDkgQEAKIAogbmFtZXNwYWNlIFdlYkdQVSB7CiAKLUFkYXB0ZXI6OkFk
YXB0ZXIoaWQ8TVRMRGV2aWNlPiBkZXZpY2UpCitBZGFwdGVyOjpBZGFwdGVyKGlkPE1UTERldmlj
ZT4gZGV2aWNlLCBJbnN0YW5jZSYgaW5zdGFuY2UpCiAgICAgOiBtX2RldmljZShkZXZpY2UpCisg
ICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQogewogfQogCkBAIC0xMjIsNyArMTIzLDEyIEBAIHZv
aWQgQWRhcHRlcjo6cmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVzY3JpcHRvciYgZGVz
Y3JpcHRvciwgV1RGOjpGdW5jdGlvCiAKICAgICAvLyBTZWUgdGhlIGNvbW1lbnQgaW4gRGV2aWNl
OjpzZXRMYWJlbCgpIGFib3V0IHdoeSB3ZSdyZSBub3Qgc2V0dGluZyB0aGUgbGFiZWwgaGVyZS4K
IAotICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVzX1N1Y2Nlc3MsIERldmljZTo6
Y3JlYXRlKG1fZGV2aWNlLCBkZXNjcmlwdG9yLmxhYmVsKSwgbnVsbHB0cik7CisgICAgY2FsbGJh
Y2soV0dQVVJlcXVlc3REZXZpY2VTdGF0dXNfU3VjY2VzcywgRGV2aWNlOjpjcmVhdGUobV9kZXZp
Y2UsIGRlc2NyaXB0b3IubGFiZWwsICp0aGlzKSwgbnVsbHB0cik7Cit9CisKK3ZvaWQgQWRhcHRl
cjo6c2NoZWR1bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmIHdvcmtJdGVtKQoreworICAgIG1f
aW5zdGFuY2UtPnNjaGVkdWxlV29yayhXVEZNb3ZlKHdvcmtJdGVtKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgg
Yi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UuaAppbmRleCBkODA1ZGMwZjg4MjQuLmVmOGI1
ZmZlODE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbXBvcnQgIkluc3RhbmNlLmgiCiAjaW1wb3J0ICJRdWV1ZS5oIgogI2ltcG9y
dCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgpAQCAtMzQsNiAr
MzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViR1BVIHsKIAorY2xhc3MgQWRhcHRlcjsKIGNsYXNzIEJp
bmRHcm91cDsKIGNsYXNzIEJpbmRHcm91cExheW91dDsKIGNsYXNzIEJ1ZmZlcjsKQEAgLTUyLDcg
KzU0LDcgQEAgY2xhc3MgVGV4dHVyZTsKIGNsYXNzIERldmljZSA6IHB1YmxpYyBSZWZDb3VudGVk
PERldmljZT4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWZQdHI8RGV2aWNlPiBjcmVhdGUoaWQ8TVRMRGV2aWNlPiwgY29uc3QgY2hhciogZGV2
aWNlTGFiZWwpOworICAgIHN0YXRpYyBSZWZQdHI8RGV2aWNlPiBjcmVhdGUoaWQ8TVRMRGV2aWNl
PiwgY29uc3QgY2hhciogZGV2aWNlTGFiZWwsIEFkYXB0ZXImKTsKIAogICAgIH5EZXZpY2UoKTsK
IApAQCAtODIsMTEgKzg0LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVuY2FwdHVyZWRFcnJv
ckNhbGxiYWNrKFdURjo6RnVuY3Rpb248dm9pZChXR1BVRXJyb3JUeXBlLCBjb25zdCBjaGFyKik+
JiYpOwogICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCisgICAgLy8gVGhpcyBjYW4g
YmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCisgICAgdm9pZCBzY2hlZHVsZVdvcmso
SW5zdGFuY2U6OldvcmtJdGVtJiYpOworCiBwcml2YXRlOgotICAgIERldmljZShpZDxNVExEZXZp
Y2U+LCBSZWY8UXVldWU+JiYpOworICAgIERldmljZShpZDxNVExEZXZpY2U+LCBpZDxNVExDb21t
YW5kUXVldWU+IGRlZmF1bHRRdWV1ZSwgQWRhcHRlciYpOwogCiAgICAgaWQ8TVRMRGV2aWNlPiBt
X2RldmljZSB7IG5pbCB9OwogICAgIFJlZjxRdWV1ZT4gbV9kZWZhdWx0UXVldWU7CisgICAgUmVm
PEFkYXB0ZXI+IG1fYWRhcHRlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkdQVQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvRGV2aWNlLm1tCmluZGV4IDFhNGM1ZmQ4NDk0YS4uMTc0OWRhNmIwNmJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJH
UFUvRGV2aWNlLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIkRldmljZS5oIgogCisjaW1wb3J0ICJBZGFwdGVyLmgiCiAjaW1wb3J0ICJCaW5kR3JvdXAu
aCIKICNpbXBvcnQgIkJpbmRHcm91cExheW91dC5oIgogI2ltcG9ydCAiQnVmZmVyLmgiCkBAIC00
NSwyMyArNDYsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkdQVSB7CiAKLVJlZlB0cjxEZXZpY2U+IERl
dmljZTo6Y3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlLCBjb25zdCBjaGFyKiBkZXZpY2VMYWJl
bCkKK1JlZlB0cjxEZXZpY2U+IERldmljZTo6Y3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlLCBj
b25zdCBjaGFyKiBkZXZpY2VMYWJlbCwgQWRhcHRlciYgYWRhcHRlcikKIHsKICAgICBpZDxNVExD
b21tYW5kUXVldWU+IGNvbW1hbmRRdWV1ZSA9IFtkZXZpY2UgbmV3Q29tbWFuZFF1ZXVlXTsKICAg
ICBpZiAoIWNvbW1hbmRRdWV1ZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byBx
dWV1ZSA9IFF1ZXVlOjpjcmVhdGUoY29tbWFuZFF1ZXVlKTsKIAogICAgIGNvbW1hbmRRdWV1ZS5s
YWJlbCA9IEAiRGVmYXVsdCBxdWV1ZSI7CiAgICAgaWYgKGRldmljZUxhYmVsICYmIHN0cmxlbihk
ZXZpY2VMYWJlbCkpCiAgICAgICAgIGNvbW1hbmRRdWV1ZS5sYWJlbCA9IFtOU1N0cmluZyBzdHJp
bmdXaXRoRm9ybWF0OkAiRGVmYXVsdCBxdWV1ZSBmb3IgZGV2aWNlICVzIiwgZGV2aWNlTGFiZWxd
OwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRGV2aWNlKGRldmljZSwgV1RGTW92ZShxdWV1
ZSkpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEZXZpY2UoZGV2aWNlLCBjb21tYW5kUXVl
dWUsIGFkYXB0ZXIpKTsKIH0KIAotRGV2aWNlOjpEZXZpY2UoaWQ8TVRMRGV2aWNlPiBkZXZpY2Us
IFJlZjxRdWV1ZT4mJiBxdWV1ZSkKK0RldmljZTo6RGV2aWNlKGlkPE1UTERldmljZT4gZGV2aWNl
LCBpZDxNVExDb21tYW5kUXVldWU+IGRlZmF1bHRRdWV1ZSwgQWRhcHRlciYgYWRhcHRlcikKICAg
ICA6IG1fZGV2aWNlKGRldmljZSkKLSAgICAsIG1fZGVmYXVsdFF1ZXVlKFdURk1vdmUocXVldWUp
KQorICAgICwgbV9kZWZhdWx0UXVldWUoUXVldWU6OmNyZWF0ZShkZWZhdWx0UXVldWUsICp0aGlz
KSkKKyAgICAsIG1fYWRhcHRlcihhZGFwdGVyKQogewogfQogCkBAIC0xMjksNiArMTMwLDExIEBA
IHZvaWQgRGV2aWNlOjpzZXRMYWJlbChjb25zdCBjaGFyKikKICAgICAvLyBCZWNhdXNlIE1UTERl
dmljZXMgYXJlIHByb2Nlc3MtZ2xvYmFsLCB3ZSBjYW4ndCBzZXQgdGhlIGxhYmVsIG9uIGl0LCBi
ZWNhdXNlIDIgY29udGV4dHMnIGxhYmVscyB3b3VsZCBmaWdodCBlYWNoIG90aGVyLgogfQogCit2
b2lkIERldmljZTo6c2NoZWR1bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmIHdvcmtJdGVtKQor
eworICAgIG1fYWRhcHRlci0+c2NoZWR1bGVXb3JrKFdURk1vdmUod29ya0l0ZW0pKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViR1BVCiAKIHZvaWQgd2dwdURldmljZVJlbGVhc2UoV0dQVURldmlj
ZSBkZXZpY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbSBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCmluZGV4IGExMmZlMjdiZDQxMy4uZWU2
MzlkYWE2Mjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQor
KysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQpAQCAtMTY1LDcgKzE2NSw3IEBA
IHZvaWQgSW5zdGFuY2U6OnJlcXVlc3RBZGFwdGVyKGNvbnN0IFdHUFVSZXF1ZXN0QWRhcHRlck9w
dGlvbnMmIG9wdGlvbnMsIFdURjo6RnVuCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBj
YWxsYmFjayhXR1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfU3VjY2VzcywgQWRhcHRlcjo6Y3JlYXRl
KHNvcnRlZERldmljZXNbMF0pLCBudWxscHRyKTsKKyAgICBjYWxsYmFjayhXR1BVUmVxdWVzdEFk
YXB0ZXJTdGF0dXNfU3VjY2VzcywgQWRhcHRlcjo6Y3JlYXRlKHNvcnRlZERldmljZXNbMF0sICp0
aGlzKSwgbnVsbHB0cik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkdQVQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVl
LmgKaW5kZXggYTU5NWE4ZmVhMDkwLi4zNWE1MjU0NGZhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1F1ZXVlLmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaApA
QCAtMjUsMjMgKzI1LDI1IEBACiAKICNwcmFnbWEgb25jZQogCisjaW1wb3J0ICJJbnN0YW5jZS5o
IgogI2ltcG9ydCA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgog
I2ltcG9ydCA8d3RmL1JlZi5oPgotI2ltcG9ydCA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbXBvcnQg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViR1BVIHsKIAogY2xhc3MgQnVmZmVyOwogY2xhc3MgQ29tbWFuZEJ1ZmZlcjsK
K2NsYXNzIERldmljZTsKIAotY2xhc3MgUXVldWUgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWV1ZT4g
eworY2xhc3MgUXVldWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UXVldWU+IHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFF1ZXVl
PiBjcmVhdGUoaWQ8TVRMQ29tbWFuZFF1ZXVlPiBjb21tYW5kUXVldWUpCisgICAgc3RhdGljIFJl
ZjxRdWV1ZT4gY3JlYXRlKGlkPE1UTENvbW1hbmRRdWV1ZT4gY29tbWFuZFF1ZXVlLCBEZXZpY2Um
IGRldmljZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFF1ZXVlKGNvbW1h
bmRRdWV1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBRdWV1ZShjb21tYW5kUXVl
dWUsIGRldmljZSkpOwogICAgIH0KIAogICAgIH5RdWV1ZSgpOwpAQCAtNTMsOSArNTUsMTMgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgotICAg
IFF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4pOworICAgIFF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1
ZT4sIERldmljZSYpOworCisgICAgLy8gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGEgYmFja2dyb3Vu
ZCB0aHJlYWQuCisgICAgdm9pZCBzY2hlZHVsZVdvcmsoSW5zdGFuY2U6OldvcmtJdGVtJiYpOwog
CiAgICAgaWQ8TVRMQ29tbWFuZFF1ZXVlPiBtX2NvbW1hbmRRdWV1ZSB7IG5pbCB9OworICAgIERl
dmljZSYgbV9kZXZpY2U7IC8vIFRoZSBvbmx5IGtpbmQgb2YgcXVldWVzIHRoYXQgZXhpc3Qgcmln
aHQgbm93IGFyZSBkZWZhdWx0IHF1ZXVlcywgd2hpY2ggYXJlIG93bmVkIGJ5IERldmljZXMuCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1F1ZXVlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUubW0KaW5kZXggY2ZkOWNi
MTJjMDUyLi5kMzY3OTUyMWM3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1
ZXVlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCkBAIC0yOCwxMSArMjgs
MTMgQEAKIAogI2ltcG9ydCAiQnVmZmVyLmgiCiAjaW1wb3J0ICJDb21tYW5kQnVmZmVyLmgiCisj
aW1wb3J0ICJEZXZpY2UuaCIKIAogbmFtZXNwYWNlIFdlYkdQVSB7CiAKLVF1ZXVlOjpRdWV1ZShp
ZDxNVExDb21tYW5kUXVldWU+IGNvbW1hbmRRdWV1ZSkKK1F1ZXVlOjpRdWV1ZShpZDxNVExDb21t
YW5kUXVldWU+IGNvbW1hbmRRdWV1ZSwgRGV2aWNlJiBkZXZpY2UpCiAgICAgOiBtX2NvbW1hbmRR
dWV1ZShjb21tYW5kUXVldWUpCisgICAgLCBtX2RldmljZShkZXZpY2UpCiB7CiB9CiAKQEAgLTcx
LDYgKzczLDExIEBAIHZvaWQgUXVldWU6OnNldExhYmVsKGNvbnN0IGNoYXIqIGxhYmVsKQogICAg
IG1fY29tbWFuZFF1ZXVlLmxhYmVsID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDU3RyaW5nOmxhYmVs
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKIH0KIAordm9pZCBRdWV1ZTo6c2NoZWR1
bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmIHdvcmtJdGVtKQoreworICAgIG1fZGV2aWNlLnNj
aGVkdWxlV29yayhXVEZNb3ZlKHdvcmtJdGVtKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkdQ
VQogCiB2b2lkIHdncHVRdWV1ZVJlbGVhc2UoV0dQVVF1ZXVlIHF1ZXVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454758</attachid>
            <date>2022-03-15 14:47:24 -0700</date>
            <delta_ts>2022-03-16 05:48:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237864-20220315144723.patch</filename>
            <type>text/plain</type>
            <size>10456</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IGVjYTQ2MzVjM2ZiYWNmMDhl
ZDIxMmJkZjI1MWMzYWQ0YmJjMzgwMWEuLjRkZmQ4YWEzZWMyNGMyYWJhZmI4MjcyOTkzYjM5MTdl
MTZkOGRkOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjItMDMtMTUgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBDcmVh
dGUgYSBwYXRoIG9mIFJlZjw+cyBiZXR3ZWVuIEluc3RhbmNlIGFuZCBRdWV1ZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3ODY0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG93bmVyc2hpcCBtb2Rl
bCBvZiBXZWJHUFUgaXMgdGhhdCB0aGVyZSBpcyBhIHRyZWUgb2Ygb2JqZWN0cywgYW5kIEphdmFz
Y3JpcHQgaGFzIHJlZmVyZW5jZXMKKyAgICAgICAgdG8gdGhlIGxlYXZlcyBvZiB0aGUgdHJlZS4g
VGhlIGxlYXZlcyBhcmUgdGhlcmVmb3JlIGFsbG93ZWQgdG8gcmVmZXJlbmNlIHRoZWlyIHBhcmVu
dHMsIGFsbCB0aGUKKyAgICAgICAgd2F5IHVwIHRoZSB0cmVlLiBUaGVyZWZvcmUsIEJ1ZmZlciBj
YW4gaGF2ZSBhIFJlZiB0byBEZXZpY2UsIHdoaWNoIGNhbiBoYXZlIGEgUmVmIHRvIEluc3RhbmNl
LgorICAgICAgICBEZXZpY2UgaGFzIHRvIGJlIGluIHRoZSBjaGFpbiBldmVudHVhbGx5LCBiZWNh
dXNlIG9mIHRoZSAidmFsaWQgdG8gdXNlIHdpdGgiIGNoZWNrOgorICAgICAgICBodHRwczovL2dw
dXdlYi5naXRodWIuaW8vZ3B1d2ViLyNhYnN0cmFjdC1vcGRlZi12YWxpZC10by11c2Utd2l0aCwg
c28gd2UgbWlnaHQgYXMgd2VsbCBhZGQgaXQgaW4KKyAgICAgICAgdG8gdGhlIGNoYWluIG5vdy4K
KworICAgICAgICBUaGUgb25lIGV4Y2VwdGlvbiBmcm9tIHRoaXMgb3duZXJzaGlwIG1vZGVsIGlz
IFF1ZXVlLCB3aGljaCBuZWVkcyB0byBiZSBvd25lZCBieSBEZXZpY2UsIHNvCisgICAgICAgIERl
dmljZTo6Z2V0UXVldWUoKSBjYW4gcmV0dXJuIHRoZSBzYW1lIG9iamVjdCB3aGVuIGNhbGxlZCBt
dWx0aXBsZSB0aW1lcyAoc2VlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzc4NjEpLiBTbywgUXVldWUgaGFzIGEgcmF3IEMrKyByZWZlcmVuY2UgdG8g
aXRzIG93bmluZworICAgICAgICBEZXZpY2UuCisKKyAgICAgICAgUXVldWUgbmVlZHMgdG8gYmUg
YWJsZSB0byBydW4gYXN5bmNocm9ub3VzIHdvcmssIGJlY3Vhc2UgUXVldWUgd2lsbCBuZWVkIHRv
IGFkZCBjb21wbGV0ZWRIYW5kbGVycworICAgICAgICB0byBhbGwgY29tbWFuZCBidWZmZXJzIGNv
bW1pdHRlZCwgaW4gb3JkZXIgdG8gcGVyZm9ybSBpdHMgb3duIGludGVybmFsIGJvb2trZWVwaW5n
LiBTbywgUXVldWUKKyAgICAgICAgdXNlcyBpdHMgQysrIHJlZmVyZW5jZSB0byBpdHMgb3duaW5n
IERldmljZSwgd2hpY2ggdXNlcyBpdHMgUmVmIHRvIGl0cyBJbnN0YW5jZSwgaW4gb3JkZXIgdG8g
dXNlCisgICAgICAgIEluc3RhbmNlJ3MgZmFjaWxpdGllcyBmb3IgcnVubmluZyBhc3luY2hyb25v
dXMgd29yay4gVGhpcyBwYXRjaCBhZGRzIHRoZSBuZWNlc3Nlc2FyeSBSZWY8PnMgdG8KKyAgICAg
ICAgbWFrZSB0aGF0IGhhcHBlbi4KKworICAgICAgICAqIFdlYkdQVS9BZGFwdGVyLmg6CisgICAg
ICAgIChXZWJHUFU6OkFkYXB0ZXI6OmNyZWF0ZSk6CisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIu
bW06CisgICAgICAgIChXZWJHUFU6OkFkYXB0ZXI6OkFkYXB0ZXIpOgorICAgICAgICAoV2ViR1BV
OjpBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKToKKyAgICAgICAgKFdlYkdQVTo6QWRhcHRlcjo6c2No
ZWR1bGVXb3JrKToKKyAgICAgICAgKiBXZWJHUFUvRGV2aWNlLmg6CisgICAgICAgIChXZWJHUFU6
OkRldmljZTo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJHUFUvRGV2aWNlLm1tOgorICAgICAgICAo
V2ViR1BVOjpjcmVhdGVEZWZhdWx0UXVldWUpOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OkRl
dmljZSk6CisgICAgICAgIChXZWJHUFU6OkRldmljZTo6c2NoZWR1bGVXb3JrKToKKyAgICAgICAg
KFdlYkdQVTo6RGV2aWNlOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYkdQVS9JbnN0
YW5jZS5tbToKKyAgICAgICAgKFdlYkdQVTo6SW5zdGFuY2U6OnJlcXVlc3RBZGFwdGVyKToKKyAg
ICAgICAgKiBXZWJHUFUvUXVldWUuaDoKKyAgICAgICAgKFdlYkdQVTo6UXVldWU6OmNyZWF0ZSk6
CisgICAgICAgICogV2ViR1BVL1F1ZXVlLm1tOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6UXVl
dWUpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6c2NoZWR1bGVXb3JrKToKKwogMjAyMi0wMy0x
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJHUFVdIFJlcGVhdGVkIGNhbGxzIHRvIHdncHVEZXZpY2VHZXRRdWV1ZSgpIGFyZSBzdXBwb3Nl
ZCB0byByZXR1cm4gdGhlIHNhbWUgcG9pbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvQWRhcHRlci5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5oCmluZGV4IGU3
YzVhYTZlZTEwNWY1MzUyN2NjZTZjZjc1ZjYyNDJiZTY4ZjUxYjEuLmM4MGVjYjE5NmIzNTY0OWQw
NWY0NTYwMDBmNDUxYTU1ZWExYTUyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLmgKQEAgLTM0LDEz
ICszNCwxNCBAQAogbmFtZXNwYWNlIFdlYkdQVSB7CiAKIGNsYXNzIERldmljZTsKK2NsYXNzIElu
c3RhbmNlOwogCiBjbGFzcyBBZGFwdGVyIDogcHVibGljIFJlZkNvdW50ZWQ8QWRhcHRlcj4gewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8QWRh
cHRlcj4gY3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlKQorICAgIHN0YXRpYyBSZWY8QWRhcHRl
cj4gY3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlLCBJbnN0YW5jZSYgaW5zdGFuY2UpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBZGFwdGVyKGRldmljZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBZGFwdGVyKGRldmljZSwgaW5zdGFuY2UpKTsKICAgICB9
CiAKICAgICB+QWRhcHRlcigpOwpAQCAtNTIsOSArNTMsMTAgQEAgcHVibGljOgogICAgIHZvaWQg
cmVxdWVzdERldmljZShjb25zdCBXR1BVRGV2aWNlRGVzY3JpcHRvciYsIFdURjo6RnVuY3Rpb248
dm9pZChXR1BVUmVxdWVzdERldmljZVN0YXR1cywgUmVmUHRyPERldmljZT4mJiwgY29uc3QgY2hh
ciopPiYmIGNhbGxiYWNrKTsKIAogcHJpdmF0ZToKLSAgICBBZGFwdGVyKGlkPE1UTERldmljZT4p
OworICAgIEFkYXB0ZXIoaWQ8TVRMRGV2aWNlPiwgSW5zdGFuY2UmKTsKIAogICAgIGlkPE1UTERl
dmljZT4gbV9kZXZpY2UgeyBuaWwgfTsKKyAgICBSZWY8SW5zdGFuY2U+IG1faW5zdGFuY2U7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCmluZGV4IGJh
NGQwNzlhNGVhZTM3Mzk2Y2QzYjk1Yzk5ZTAzMjJhOTUwZWZmYzYuLjlkMjM2YzllYzdmYjEwZjZj
NjllNjg0YWVjODIxNTc1OTg1ZWJiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0FkYXB0ZXIubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbQpAQCAtMjcs
MTIgKzI3LDE0IEBACiAjaW1wb3J0ICJBZGFwdGVyLmgiCiAKICNpbXBvcnQgIkRldmljZS5oIgor
I2ltcG9ydCAiSW5zdGFuY2UuaCIKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFt
ZXNwYWNlIFdlYkdQVSB7CiAKLUFkYXB0ZXI6OkFkYXB0ZXIoaWQ8TVRMRGV2aWNlPiBkZXZpY2Up
CitBZGFwdGVyOjpBZGFwdGVyKGlkPE1UTERldmljZT4gZGV2aWNlLCBJbnN0YW5jZSYgaW5zdGFu
Y2UpCiAgICAgOiBtX2RldmljZShkZXZpY2UpCisgICAgLCBtX2luc3RhbmNlKGluc3RhbmNlKQog
ewogfQogCkBAIC0xMjAsNyArMTIyLDcgQEAgdm9pZCBBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKGNv
bnN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBXVEY6OkZ1bmN0aW8KICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNhbGxiYWNrKFdHUFVSZXF1ZXN0RGV2aWNlU3RhdHVz
X1N1Y2Nlc3MsIERldmljZTo6Y3JlYXRlKG1fZGV2aWNlLCBkZXNjcmlwdG9yLmxhYmVsKSwgbnVs
bHB0cik7CisgICAgY2FsbGJhY2soV0dQVVJlcXVlc3REZXZpY2VTdGF0dXNfU3VjY2VzcywgRGV2
aWNlOjpjcmVhdGUobV9kZXZpY2UsIGRlc2NyaXB0b3IubGFiZWwsIG1faW5zdGFuY2UpLCBudWxs
cHRyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViR1BVCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9EZXZpY2UuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCmluZGV4
IGQ4MDVkYzBmODgyNDE4ODc5MjhhM2QzOTlhY2JlYjk3YWUzOTY5ZDAuLmQ1MzY1YjNmMTQ0MWIz
NjBkOTc3MThhNTllZTMwYzJmYjliYmQ2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0RldmljZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oCkBAIC0yNSw2
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW1wb3J0ICJJbnN0YW5jZS5oIgogI2ltcG9y
dCAiUXVldWUuaCIKICNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW1wb3J0IDx3dGYvRnVu
Y3Rpb24uaD4KQEAgLTUyLDcgKzUzLDcgQEAgY2xhc3MgVGV4dHVyZTsKIGNsYXNzIERldmljZSA6
IHB1YmxpYyBSZWZDb3VudGVkPERldmljZT4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8RGV2aWNlPiBjcmVhdGUoaWQ8TVRMRGV2aWNl
PiwgY29uc3QgY2hhciogZGV2aWNlTGFiZWwpOworICAgIHN0YXRpYyBSZWZQdHI8RGV2aWNlPiBj
cmVhdGUoaWQ8TVRMRGV2aWNlPiwgY29uc3QgY2hhciogZGV2aWNlTGFiZWwsIEluc3RhbmNlJik7
CiAKICAgICB+RGV2aWNlKCk7CiAKQEAgLTgyLDExICs4MywxNSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayhXVEY6OkZ1bmN0aW9uPHZvaWQoV0dQVUVycm9y
VHlwZSwgY29uc3QgY2hhciopPiYmKTsKICAgICB2b2lkIHNldExhYmVsKGNvbnN0IGNoYXIqKTsK
IAorICAgIC8vIFRoaXMgY2FuIGJlIGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgorICAg
IHZvaWQgc2NoZWR1bGVXb3JrKEluc3RhbmNlOjpXb3JrSXRlbSYmKTsKKwogcHJpdmF0ZToKLSAg
ICBEZXZpY2UoaWQ8TVRMRGV2aWNlPiwgUmVmPFF1ZXVlPiYmKTsKKyAgICBEZXZpY2UoaWQ8TVRM
RGV2aWNlPiwgaWQ8TVRMQ29tbWFuZFF1ZXVlPiBkZWZhdWx0UXVldWUsIEluc3RhbmNlJik7CiAK
ICAgICBpZDxNVExEZXZpY2U+IG1fZGV2aWNlIHsgbmlsIH07CiAgICAgUmVmPFF1ZXVlPiBtX2Rl
ZmF1bHRRdWV1ZTsKKyAgICBSZWY8SW5zdGFuY2U+IG1faW5zdGFuY2U7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5t
bSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQppbmRleCA0YWE3ZjEyNDA1ZWE0ODA3
NzBhNWVkNzNhY2QwZGRhZDdjMzkyNDY3Li5kNmI4NGQ0MDkyYjAxNTA2Mjc0MWVjNzdjOGQxOTQ0
ZmJkNjgxNDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KKysr
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tCkBAIC00NSwxMiArNDUsMTEgQEAKIAog
bmFtZXNwYWNlIFdlYkdQVSB7CiAKLVJlZlB0cjxEZXZpY2U+IERldmljZTo6Y3JlYXRlKGlkPE1U
TERldmljZT4gZGV2aWNlLCBjb25zdCBjaGFyKiBkZXZpY2VMYWJlbCkKK1JlZlB0cjxEZXZpY2U+
IERldmljZTo6Y3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlLCBjb25zdCBjaGFyKiBkZXZpY2VM
YWJlbCwgSW5zdGFuY2UmIGluc3RhbmNlKQogewogICAgIGlkPE1UTENvbW1hbmRRdWV1ZT4gY29t
bWFuZFF1ZXVlID0gW2RldmljZSBuZXdDb21tYW5kUXVldWVdOwogICAgIGlmICghY29tbWFuZFF1
ZXVlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBhdXRvIHF1ZXVlID0gUXVldWU6OmNy
ZWF0ZShjb21tYW5kUXVldWUpOwogCiAgICAgLy8gU2VlIHRoZSBjb21tZW50IGluIERldmljZTo6
c2V0TGFiZWwoKSBhYm91dCB3aHkgd2UncmUgbm90IHNldHRpbmcgdGhlIGxhYmVsIG9uIHRoZSBN
VExEZXZpY2UgaGVyZS4KIApAQCAtNTgsMTIgKzU3LDEzIEBAIFJlZlB0cjxEZXZpY2U+IERldmlj
ZTo6Y3JlYXRlKGlkPE1UTERldmljZT4gZGV2aWNlLCBjb25zdCBjaGFyKiBkZXZpY2VMYWJlbCkK
ICAgICBpZiAoZGV2aWNlTGFiZWwgJiYgZGV2aWNlTGFiZWxbMF0gIT0gJ1wwJykKICAgICAgICAg
Y29tbWFuZFF1ZXVlLmxhYmVsID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJEZWZhdWx0
IHF1ZXVlIGZvciBkZXZpY2UgJXMiLCBkZXZpY2VMYWJlbF07CiAKLSAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBEZXZpY2UoZGV2aWNlLCBXVEZNb3ZlKHF1ZXVlKSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IERldmljZShkZXZpY2UsIGNvbW1hbmRRdWV1ZSwgaW5zdGFuY2UpKTsKIH0KIAot
RGV2aWNlOjpEZXZpY2UoaWQ8TVRMRGV2aWNlPiBkZXZpY2UsIFJlZjxRdWV1ZT4mJiBxdWV1ZSkK
K0RldmljZTo6RGV2aWNlKGlkPE1UTERldmljZT4gZGV2aWNlLCBpZDxNVExDb21tYW5kUXVldWU+
IGRlZmF1bHRRdWV1ZSwgSW5zdGFuY2UmIGluc3RhbmNlKQogICAgIDogbV9kZXZpY2UoZGV2aWNl
KQotICAgICwgbV9kZWZhdWx0UXVldWUoV1RGTW92ZShxdWV1ZSkpCisgICAgLCBtX2RlZmF1bHRR
dWV1ZShRdWV1ZTo6Y3JlYXRlKGRlZmF1bHRRdWV1ZSwgKnRoaXMpKQorICAgICwgbV9pbnN0YW5j
ZShpbnN0YW5jZSkKIHsKIH0KIApAQCAtMTMxLDYgKzEzMSwxMSBAQCB2b2lkIERldmljZTo6c2V0
TGFiZWwoY29uc3QgY2hhciopCiAgICAgLy8gQmVjYXVzZSBNVExEZXZpY2VzIGFyZSBwcm9jZXNz
LWdsb2JhbCwgd2UgY2FuJ3Qgc2V0IHRoZSBsYWJlbCBvbiBpdCwgYmVjYXVzZSAyIGNvbnRleHRz
JyBsYWJlbHMgd291bGQgZmlnaHQgZWFjaCBvdGhlci4KIH0KIAordm9pZCBEZXZpY2U6OnNjaGVk
dWxlV29yayhJbnN0YW5jZTo6V29ya0l0ZW0mJiB3b3JrSXRlbSkKK3sKKyAgICBtX2luc3RhbmNl
LT5zY2hlZHVsZVdvcmsoV1RGTW92ZSh3b3JrSXRlbSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJHUFUKIAogdm9pZCB3Z3B1RGV2aWNlUmVsZWFzZShXR1BVRGV2aWNlIGRldmljZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvSW5zdGFuY2UubW0KaW5kZXggYTEyZmUyN2JkNDEzMzAxMGFhYWYxYjI0MjU4ZDE4ZmYy
ZmE4NDNhMi4uZWU2MzlkYWE2Mjc4NThkMjk0N2ZmMmZmOTNiZWFjM2I3OWYxYTQ3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvSW5zdGFuY2UubW0KQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEluc3RhbmNlOjpy
ZXF1ZXN0QWRhcHRlcihjb25zdCBXR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zJiBvcHRpb25zLCBX
VEY6OkZ1bgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY2FsbGJhY2soV0dQVVJlcXVl
c3RBZGFwdGVyU3RhdHVzX1N1Y2Nlc3MsIEFkYXB0ZXI6OmNyZWF0ZShzb3J0ZWREZXZpY2VzWzBd
KSwgbnVsbHB0cik7CisgICAgY2FsbGJhY2soV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzX1N1Y2Nl
c3MsIEFkYXB0ZXI6OmNyZWF0ZShzb3J0ZWREZXZpY2VzWzBdLCAqdGhpcyksIG51bGxwdHIpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1F1ZXVlLmggYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5oCmluZGV4IGE1OTVhOGZl
YTA5MDU2Zjc4OWU2OGI1YThlMGU3YTFlNWY1NTMzNjEuLjM1YTUyNTQ0ZmE4ZjJiMGZlZmJkZTNi
NDExN2RmYTBjNmNmYjMyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVl
LmgKKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaApAQCAtMjUsMjMgKzI1LDI1IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW1wb3J0ICJJbnN0YW5jZS5oIgogI2ltcG9ydCA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbXBvcnQgPHd0Zi9GdW5jdGlvbi5oPgogI2ltcG9ydCA8d3RmL1JlZi5o
PgotI2ltcG9ydCA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbXBvcnQgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViR1BVIHsK
IAogY2xhc3MgQnVmZmVyOwogY2xhc3MgQ29tbWFuZEJ1ZmZlcjsKK2NsYXNzIERldmljZTsKIAot
Y2xhc3MgUXVldWUgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWV1ZT4geworY2xhc3MgUXVldWUgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UXVldWU+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFF1ZXVlPiBjcmVhdGUoaWQ8TVRMQ29t
bWFuZFF1ZXVlPiBjb21tYW5kUXVldWUpCisgICAgc3RhdGljIFJlZjxRdWV1ZT4gY3JlYXRlKGlk
PE1UTENvbW1hbmRRdWV1ZT4gY29tbWFuZFF1ZXVlLCBEZXZpY2UmIGRldmljZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFF1ZXVlKGNvbW1hbmRRdWV1ZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBRdWV1ZShjb21tYW5kUXVldWUsIGRldmljZSkpOwogICAg
IH0KIAogICAgIH5RdWV1ZSgpOwpAQCAtNTMsOSArNTUsMTMgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0TGFiZWwoY29uc3QgY2hhciopOwogCiBwcml2YXRlOgotICAgIFF1ZXVlKGlkPE1UTENvbW1h
bmRRdWV1ZT4pOworICAgIFF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4sIERldmljZSYpOworCisg
ICAgLy8gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCisgICAgdm9p
ZCBzY2hlZHVsZVdvcmsoSW5zdGFuY2U6OldvcmtJdGVtJiYpOwogCiAgICAgaWQ8TVRMQ29tbWFu
ZFF1ZXVlPiBtX2NvbW1hbmRRdWV1ZSB7IG5pbCB9OworICAgIERldmljZSYgbV9kZXZpY2U7IC8v
IFRoZSBvbmx5IGtpbmQgb2YgcXVldWVzIHRoYXQgZXhpc3QgcmlnaHQgbm93IGFyZSBkZWZhdWx0
IHF1ZXVlcywgd2hpY2ggYXJlIG93bmVkIGJ5IERldmljZXMuCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJHUFUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUubW0KaW5kZXggY2ZkOWNiMTJjMDUyMDcyZDVjNjM3OThm
ZjEyZDA3NzZiNDhkMjc3NS4uZDM2Nzk1MjFjN2IzZjRhMWUxMTg3MDRlZmJhZTk3YzhjYzgxMDNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUubW0KKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvUXVldWUubW0KQEAgLTI4LDExICsyOCwxMyBAQAogCiAjaW1wb3J0ICJC
dWZmZXIuaCIKICNpbXBvcnQgIkNvbW1hbmRCdWZmZXIuaCIKKyNpbXBvcnQgIkRldmljZS5oIgog
CiBuYW1lc3BhY2UgV2ViR1BVIHsKIAotUXVldWU6OlF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4g
Y29tbWFuZFF1ZXVlKQorUXVldWU6OlF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4gY29tbWFuZFF1
ZXVlLCBEZXZpY2UmIGRldmljZSkKICAgICA6IG1fY29tbWFuZFF1ZXVlKGNvbW1hbmRRdWV1ZSkK
KyAgICAsIG1fZGV2aWNlKGRldmljZSkKIHsKIH0KIApAQCAtNzEsNiArNzMsMTEgQEAgdm9pZCBR
dWV1ZTo6c2V0TGFiZWwoY29uc3QgY2hhciogbGFiZWwpCiAgICAgbV9jb21tYW5kUXVldWUubGFi
ZWwgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENTdHJpbmc6bGFiZWwgZW5jb2Rpbmc6TlNVVEY4U3Ry
aW5nRW5jb2RpbmddOwogfQogCit2b2lkIFF1ZXVlOjpzY2hlZHVsZVdvcmsoSW5zdGFuY2U6Oldv
cmtJdGVtJiYgd29ya0l0ZW0pCit7CisgICAgbV9kZXZpY2Uuc2NoZWR1bGVXb3JrKFdURk1vdmUo
d29ya0l0ZW0pKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViR1BVCiAKIHZvaWQgd2dwdVF1ZXVl
UmVsZWFzZShXR1BVUXVldWUgcXVldWUpCg==
</data>
<flag name="review"
          id="482498"
          type_id="1"
          status="+"
          setter="kkinnunen"
    />
    <flag name="commit-queue"
          id="482573"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>