<?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>217226</bug_id>
          
          <creation_ts>2020-10-02 08:36:52 -0700</creation_ts>
          <short_desc>[GTK] Build broken with ENABLE_GAMEPAD enabled</short_desc>
          <delta_ts>2020-10-10 12:46:40 -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>WebKitGTK</component>
          <version>WebKit Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>133847</blocked>
    
    <blocked>217493</blocked>
    
    <blocked>217494</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1694088</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-02 08:36:52 -0700</bug_when>
    <thetext>Trying to build with -DENABLE_GAMEPAD=ON results in compilation errors.
The main change that causes this was introduced in r264004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694093</commentid>
    <comment_count>1</comment_count>
      <attachid>410326</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-02 08:49:17 -0700</bug_when>
    <thetext>Created attachment 410326
Tentative WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694098</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-02 08:53:30 -0700</bug_when>
    <thetext>CC&apos;ing Changseok, who initially wrote the gamepad support using
libmanette. Feedback on the proposed patch is welcome: things seem
to work with my limited testing, but I am not super sure this is
the best way to do things. Should I keep around a list of invisible
gamepads like the Cocoa implementation does and wait that a gamepad
has some input before exposing them? (I *think* that&apos;s what the
Cocoa implementation is doing, but hadn&apos;t have the time to properly
understand how it all works).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694208</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-02 13:42:01 -0700</bug_when>
    <thetext>Also I have been thinking that it would be positive to
make the value of ENABLE_GAMEPAD depend on the value of
the ENABLE_EXPERIMENTAL_FEATURES: this way we would let
bots (including EWS ones) build the code, thus preventing
accidental breakage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695473</commentid>
    <comment_count>4</comment_count>
      <attachid>410326</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2020-10-07 00:13:18 -0700</bug_when>
    <thetext>Comment on attachment 410326
Tentative WIP patch

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

In overall, it looks good to me.

&gt; Source/WebCore/platform/gamepad/manette/ManetteGamepad.cpp:137
&gt; +        value.setValue(0.0);

Simply, m_axisValues.resize(static_cast&lt;size_t&gt;(StandardGamepadAxis::Count), SharedGamepadValue()) not working?
Or else, what about m_axisValues.assign(SharedGamepadValue(), static_cast&lt;size_t&gt;(StandardGamepadAxis::Count)) ?

&gt; Source/WebCore/platform/gamepad/manette/ManetteGamepad.cpp:141
&gt; +        value.setValue(0.0);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695474</commentid>
    <comment_count>5</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2020-10-07 00:14:54 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #3)
&gt; Also I have been thinking that it would be positive to
&gt; make the value of ENABLE_GAMEPAD depend on the value of
&gt; the ENABLE_EXPERIMENTAL_FEATURES: this way we would let
&gt; bots (including EWS ones) build the code, thus preventing
&gt; accidental breakage.

I am glad to hear that =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695475</commentid>
    <comment_count>6</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2020-10-07 00:23:06 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #2)
&gt; CC&apos;ing Changseok, who initially wrote the gamepad support using
&gt; libmanette. Feedback on the proposed patch is welcome: things seem
&gt; to work with my limited testing, but I am not super sure this is
&gt; the best way to do things. Should I keep around a list of invisible
&gt; gamepads like the Cocoa implementation does and wait that a gamepad
&gt; has some input before exposing them? (I *think* that&apos;s what the
&gt; Cocoa implementation is doing, but hadn&apos;t have the time to properly
&gt; understand how it all works).

This change would not affect the existing behavior of gamepad for webkitgtk since gamepads were inactive as default before users input something to gamepads. Initially, I considered automatic activation for connected gamepads though, I eventually forgot it. Reconsidering it now, there would not be many benefits, but security risks. I like the idea, &quot;activating a gamepad on input&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695749</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-07 16:59:57 -0700</bug_when>
    <thetext>(In reply to ChangSeok Oh from comment #4)
&gt; Comment on attachment 410326 [details]
&gt; Tentative WIP patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=410326&amp;action=review
&gt; 
&gt; In overall, it looks good to me.

Thanks for taking a look \o/

&gt; &gt; Source/WebCore/platform/gamepad/manette/ManetteGamepad.cpp:137
&gt; &gt; +        value.setValue(0.0);
&gt; 
&gt; Simply, m_axisValues.resize(static_cast&lt;size_t&gt;(StandardGamepadAxis::Count),
&gt; SharedGamepadValue()) not working?
&gt; Or else, what about m_axisValues.assign(SharedGamepadValue(),
&gt; static_cast&lt;size_t&gt;(StandardGamepadAxis::Count)) ?

If I understood the SharedGamepadValue implementation, using
“.resize(N, SharedGamepadValue())” creates only one
SharedGamepadValue::Data element object, and then each SharedGamepadValue
element in the array will keep a reference to the one ::Data object.
I will double check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695753</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-07 17:02:15 -0700</bug_when>
    <thetext>(In reply to ChangSeok Oh from comment #6)
&gt; (In reply to Adrian Perez from comment #2)
&gt; &gt; CC&apos;ing Changseok, who initially wrote the gamepad support using
&gt; &gt; libmanette. Feedback on the proposed patch is welcome: things seem
&gt; &gt; to work with my limited testing, but I am not super sure this is
&gt; &gt; the best way to do things. Should I keep around a list of invisible
&gt; &gt; gamepads like the Cocoa implementation does and wait that a gamepad
&gt; &gt; has some input before exposing them? (I *think* that&apos;s what the
&gt; &gt; Cocoa implementation is doing, but hadn&apos;t have the time to properly
&gt; &gt; understand how it all works).
&gt; 
&gt; This change would not affect the existing behavior of gamepad for webkitgtk
&gt; since gamepads were inactive as default before users input something to
&gt; gamepads. Initially, I considered automatic activation for connected
&gt; gamepads though, I eventually forgot it. Reconsidering it now, there would
&gt; not be many benefits, but security risks. I like the idea, &quot;activating a
&gt; gamepad on input&quot;.

Then I think that I will go ahead with my proposed patch, adding the
ChangeLog entries and double-checking the SharedGamepadValue detail
we discussed in the other comment. I will leave the “activate gamepad
on input” for a separate follow-up patch/bug.

Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696037</commentid>
    <comment_count>9</comment_count>
      <attachid>410887</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-08 14:38:24 -0700</bug_when>
    <thetext>Created attachment 410887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696040</commentid>
    <comment_count>10</comment_count>
      <attachid>410887</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-08 14:47:54 -0700</bug_when>
    <thetext>Comment on attachment 410887
Patch

Oh, I understood now what the m_connectionDelayTimer does, and
how to adapt that part to the changes in GamepadProvider. I&apos;ll
bring the code back and reupload the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696046</commentid>
    <comment_count>11</comment_count>
      <attachid>410889</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-08 15:10:36 -0700</bug_when>
    <thetext>Created attachment 410889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696338</commentid>
    <comment_count>12</comment_count>
      <attachid>410967</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-09 13:17:41 -0700</bug_when>
    <thetext>Created attachment 410967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696534</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-10 12:46:38 -0700</bug_when>
    <thetext>Committed r268312: &lt;https://trac.webkit.org/changeset/268312&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410967.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410326</attachid>
            <date>2020-10-02 08:49:17 -0700</date>
            <delta_ts>2020-10-08 14:37:10 -0700</delta_ts>
            <desc>Tentative WIP patch</desc>
            <filename>bug-217226-20201002184916.patch</filename>
            <type>text/plain</type>
            <size>7944</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkLmNwcAppbmRleCA0MzRj
MTFkYjA2NmIyMTBlMzAwYmZlMmZhYzk3MjJhN2ZiMTZlODNkLi5jM2Q3YTFjYzlhNjE3ZDljMjNj
ZjhmM2NiM2NmNTFkY2RmOTk0MWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5jcHAKQEAgLTEzMiw4ICsx
MzIsMTMgQEAgTWFuZXR0ZUdhbWVwYWQ6Ok1hbmV0dGVHYW1lcGFkKE1hbmV0dGVEZXZpY2UqIGRl
dmljZSwgdW5zaWduZWQgaW5kZXgpCiAgICAgbV9pZCA9IFN0cmluZzo6ZnJvbVVURjgobWFuZXR0
ZV9kZXZpY2VfZ2V0X25hbWUobV9kZXZpY2UuZ2V0KCkpKTsKICAgICBtX21hcHBpbmcgPSBTdHJp
bmc6OmZyb21VVEY4KCJzdGFuZGFyZCIpOwogCi0gICAgbV9heGlzVmFsdWVzLmZpbGwoMCwgc3Rh
dGljX2Nhc3Q8c2l6ZV90PihTdGFuZGFyZEdhbWVwYWRBeGlzOjpDb3VudCkpOwotICAgIG1fYnV0
dG9uVmFsdWVzLmZpbGwoMCwgc3RhdGljX2Nhc3Q8c2l6ZV90PihTdGFuZGFyZEdhbWVwYWRCdXR0
b246OkNvdW50KSk7CisgICAgbV9heGlzVmFsdWVzLnJlc2l6ZShzdGF0aWNfY2FzdDxzaXplX3Q+
KFN0YW5kYXJkR2FtZXBhZEF4aXM6OkNvdW50KSk7CisgICAgZm9yIChhdXRvJiB2YWx1ZSA6IG1f
YXhpc1ZhbHVlcykKKyAgICAgICAgdmFsdWUuc2V0VmFsdWUoMC4wKTsKKworICAgIG1fYnV0dG9u
VmFsdWVzLnJlc2l6ZShzdGF0aWNfY2FzdDxzaXplX3Q+KFN0YW5kYXJkR2FtZXBhZEJ1dHRvbjo6
Q291bnQpKTsKKyAgICBmb3IgKGF1dG8mIHZhbHVlIDogbV9idXR0b25WYWx1ZXMpCisgICAgICAg
IHZhbHVlLnNldFZhbHVlKDAuMCk7CiAKICAgICBnX3NpZ25hbF9jb25uZWN0KGRldmljZSwgImJ1
dHRvbi1wcmVzcy1ldmVudCIsIEdfQ0FMTEJBQ0sob25CdXR0b25QcmVzc0V2ZW50KSwgdGhpcyk7
CiAgICAgZ19zaWduYWxfY29ubmVjdChkZXZpY2UsICJidXR0b24tcmVsZWFzZS1ldmVudCIsIEdf
Q0FMTEJBQ0sob25CdXR0b25SZWxlYXNlRXZlbnQpLCB0aGlzKTsKQEAgLTE1MSw3ICsxNTYsNyBA
QCB2b2lkIE1hbmV0dGVHYW1lcGFkOjpidXR0b25QcmVzc2VkT3JSZWxlYXNlZChNYW5ldHRlRGV2
aWNlKiwgU3RhbmRhcmRHYW1lcGFkQnV0dAogICAgICAgICByZXR1cm47CiAKICAgICBtX2xhc3RV
cGRhdGVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgbV9idXR0b25WYWx1ZXNbc3Rh
dGljX2Nhc3Q8aW50PihidXR0b24pXSA9IHByZXNzZWQgPyAxLjAgOiAwLjA7CisgICAgbV9idXR0
b25WYWx1ZXNbc3RhdGljX2Nhc3Q8aW50PihidXR0b24pXS5zZXRWYWx1ZShwcmVzc2VkID8gMS4w
IDogMC4wKTsKIAogICAgIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpLmdhbWVw
YWRIYWRJbnB1dCgqdGhpcywgcHJlc3NlZCA/IE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OlNob3Vs
ZE1ha2VHYW1lcGFkc1Zpc2libGU6OlllcyA6IE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OlNob3Vs
ZE1ha2VHYW1lcGFkc1Zpc2libGU6Ok5vKTsKIH0KQEAgLTE2Miw3ICsxNjcsNyBAQCB2b2lkIE1h
bmV0dGVHYW1lcGFkOjphYnNvbHV0ZUF4aXNDaGFuZ2VkKE1hbmV0dGVEZXZpY2UqLCBTdGFuZGFy
ZEdhbWVwYWRBeGlzIGF4aQogICAgICAgICByZXR1cm47CiAKICAgICBtX2xhc3RVcGRhdGVUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgbV9heGlzVmFsdWVzW3N0YXRpY19jYXN0PGlu
dD4oYXhpcyldID0gdmFsdWU7CisgICAgbV9heGlzVmFsdWVzW3N0YXRpY19jYXN0PGludD4oYXhp
cyldLnNldFZhbHVlKHZhbHVlKTsKIAogICAgIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnNpbmds
ZXRvbigpLmdhbWVwYWRIYWRJbnB1dCgqdGhpcywgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6U2hv
dWxkTWFrZUdhbWVwYWRzVmlzaWJsZTo6Tm8pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaAppbmRleCAzZmE1
OTc0Yjc3Y2JiN2QwYmVhZjAzZDAwOGYxNGNkOTM0NjRjMWY1Li4yMmY1ODBkNjdmNmJhZWJjZDNi
MzhiMGZlOTc1Zjg0ZjZkYzQwN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaApAQCAtNzAsOCArNzAsOCBA
QCBwdWJsaWM6CiAgICAgTWFuZXR0ZUdhbWVwYWQoTWFuZXR0ZURldmljZSosIHVuc2lnbmVkIGlu
ZGV4KTsKICAgICB2aXJ0dWFsIH5NYW5ldHRlR2FtZXBhZCgpOwogCi0gICAgY29uc3QgVmVjdG9y
PGRvdWJsZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2F4aXNWYWx1ZXM7
IH0KLSAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9idXR0b25WYWx1ZXM7IH0KKyAgICBjb25zdCBWZWN0b3I8U2hhcmVkR2FtZXBh
ZFZhbHVlPiYgYXhpc1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXhpc1ZhbHVlczsg
fQorICAgIGNvbnN0IFZlY3RvcjxTaGFyZWRHYW1lcGFkVmFsdWU+JiBidXR0b25WYWx1ZXMoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2J1dHRvblZhbHVlczsgfQogCiAgICAgdm9pZCBhYnNvbHV0
ZUF4aXNDaGFuZ2VkKE1hbmV0dGVEZXZpY2UqLCBTdGFuZGFyZEdhbWVwYWRBeGlzLCBkb3VibGUg
dmFsdWUpOwogICAgIHZvaWQgYnV0dG9uUHJlc3NlZE9yUmVsZWFzZWQoTWFuZXR0ZURldmljZSos
IFN0YW5kYXJkR2FtZXBhZEJ1dHRvbiwgYm9vbCBwcmVzc2VkKTsKQEAgLTc5LDggKzc5LDggQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBHUmVmUHRyPE1hbmV0dGVEZXZpY2U+IG1fZGV2aWNlOwog
Ci0gICAgVmVjdG9yPGRvdWJsZT4gbV9idXR0b25WYWx1ZXM7Ci0gICAgVmVjdG9yPGRvdWJsZT4g
bV9heGlzVmFsdWVzOworICAgIFZlY3RvcjxTaGFyZWRHYW1lcGFkVmFsdWU+IG1fYnV0dG9uVmFs
dWVzOworICAgIFZlY3RvcjxTaGFyZWRHYW1lcGFkVmFsdWU+IG1fYXhpc1ZhbHVlczsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmNw
cAppbmRleCAwMDgyNDkwZWNmZjg0MTgwZDc5YjkxMTM2ZjFmNmVjNTcyZmJiZmYxLi5iNjhiMTgz
MDdjZDIyODVjMDRmOTc4ZWIxNDE5NTljODFlOGI5NzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1l
cGFkUHJvdmlkZXIuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RhdGljIGNvbnN0IFNlY29uZHMgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgeyA1MDBfbXMg
fTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIGlucHV0Tm90aWZpY2F0aW9uRGVsYXkgeyA1MF9tcyB9
OwogCiBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyJiBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpzaW5n
bGV0b24oKQpAQCAtNTgsNyArNTcsNiBAQCBzdGF0aWMgdm9pZCBvbkRldmljZURpc2Nvbm5lY3Rl
ZChNYW5ldHRlTW9uaXRvciosIE1hbmV0dGVEZXZpY2UqIGRldmljZSwgTWFuZXR0ZQogCiBNYW5l
dHRlR2FtZXBhZFByb3ZpZGVyOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyKCkKICAgICA6IG1fbW9u
aXRvcihhZG9wdEdSZWYobWFuZXR0ZV9tb25pdG9yX25ldygpKSkKLSAgICAsIG1fY29ubmVjdGlv
bkRlbGF5VGltZXIoUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmTWFuZXR0ZUdhbWVwYWRQcm92
aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCkKICAgICAsIG1faW5wdXROb3RpZmljYXRp
b25UaW1lcihSdW5Mb29wOjpjdXJyZW50KCksIHRoaXMsICZNYW5ldHRlR2FtZXBhZFByb3ZpZGVy
OjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQpCiB7CiAgICAgZ19zaWduYWxfY29ubmVjdCht
X21vbml0b3IuZ2V0KCksICJkZXZpY2UtY29ubmVjdGVkIiwgR19DQUxMQkFDSyhvbkRldmljZUNv
bm5lY3RlZCksIHRoaXMpOwpAQCAtODcsOSArODUsNiBAQCB2b2lkIE1hbmV0dGVHYW1lcGFkUHJv
dmlkZXI6OnN0YXJ0TW9uaXRvcmluZ0dhbWVwYWRzKEdhbWVwYWRQcm92aWRlckNsaWVudCYgY2xp
ZQogCiAgICAgQVNTRVJUKG1fZ2FtZXBhZFZlY3Rvci5pc0VtcHR5KCkpOwogICAgIEFTU0VSVCht
X2dhbWVwYWRNYXAuaXNFbXB0eSgpKTsKLQotICAgIG1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3Mg
PSBmYWxzZTsKLSAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdChjb25uZWN0
aW9uRGVsYXlJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c3Rv
cE1vbml0b3JpbmdHYW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQmIGNsaWVudCkKQEAgLTEw
MCw3ICs5NSw2IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c3RvcE1vbml0b3JpbmdH
YW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQmIGNsaWVuCiAgICAgaWYgKHNob3VsZENsb3Nl
QW5kVW5zY2hlZHVsZU1hbmFnZXIpIHsKICAgICAgICAgbV9nYW1lcGFkVmVjdG9yLmNsZWFyKCk7
CiAgICAgICAgIG1fZ2FtZXBhZE1hcC5jbGVhcigpOwotICAgICAgICBtX2Nvbm5lY3Rpb25EZWxh
eVRpbWVyLnN0b3AoKTsKICAgICB9CiB9CiAKQEAgLTEyOCwyMSArMTIyLDggQEAgdm9pZCBNYW5l
dHRlR2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VDb25uZWN0ZWQoTWFuZXR0ZURldmljZSogZGV2aWNl
KQogICAgIG1fZ2FtZXBhZFZlY3RvcltpbmRleF0gPSBnYW1lcGFkLmdldCgpOwogICAgIG1fZ2Ft
ZXBhZE1hcC5zZXQoZGV2aWNlLCBXVEZNb3ZlKGdhbWVwYWQpKTsKIAotICAgIGlmICghbV9zaG91
bGREaXNwYXRjaENhbGxiYWNrcykgewotICAgICAgICAvLyBUaGlzIGFkZGVkIGRldmljZSBpcyB0
aGUgcmVzdWx0IG9mIHVzIHN0YXJ0aW5nIHRvIG1vbml0b3IgZ2FtZXBhZHMuCi0gICAgICAgIC8v
IFdlJ2xsIGdldCBub3RpZmllZCBvZiBhbGwgY29ubmVjdGVkIGRldmljZXMgZHVyaW5nIHRoaXMg
Y3VycmVudCBzcGluIG9mIHRoZSBydW5sb29wCi0gICAgICAgIC8vIGFuZCB3ZSBkb24ndCB3YW50
IHRvIHRlbGwgdGhlIGNsaWVudCBhYm91dCBhbnkgb2YgdGhlbS4KLSAgICAgICAgLy8gVGhlIG1f
Y29ubmVjdGlvbkRlbGF5VGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1
bmxvb3AgYWZ0ZXIgd2hpY2gKLSAgICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBh
Y3R1YWwgbmV3IGRldmljZXMuCi0gICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7Ci0KLSAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVk
IHdoaWxlIHN1cHByZXNzaW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVh
ZHkgY29ubmVjdGVkJyBldmVudCIsIGRldmljZSk7Ci0KLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQogICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9jbGllbnRzKQotICAgICAgICBjbGllbnQtPnBs
YXRmb3JtR2FtZXBhZENvbm5lY3RlZCgqbV9nYW1lcGFkVmVjdG9yW2luZGV4XSk7CisgICAgICAg
IGNsaWVudC0+cGxhdGZvcm1HYW1lcGFkQ29ubmVjdGVkKCptX2dhbWVwYWRWZWN0b3JbaW5kZXhd
LCBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlOjpZZXMpOwogfQogCiB2b2lkIE1hbmV0dGVHYW1l
cGFkUHJvdmlkZXI6OmRldmljZURpc2Nvbm5lY3RlZChNYW5ldHRlRGV2aWNlKiBkZXZpY2UpCkBA
IC0xNTIsMTAgKzEzMyw2IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlRGlz
Y29ubmVjdGVkKE1hbmV0dGVEZXZpY2UqIGRldmljZSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TWFu
ZXR0ZUdhbWVwYWQ+IHJlbW92ZWRHYW1lcGFkID0gcmVtb3ZlR2FtZXBhZEZvckRldmljZShkZXZp
Y2UpOwogICAgIEFTU0VSVChyZW1vdmVkR2FtZXBhZCk7CiAKLSAgICAvLyBBbnkgdGltZSB3ZSBn
ZXQgYSBkZXZpY2UgcmVtb3ZlZCBjYWxsYmFjayB3ZSBrbm93IGl0J3MgYSByZWFsIGV2ZW50IGFu
ZCBub3QgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBldmVudC4KLSAgICAvLyBXZSBzaG91bGQgYWx3
YXlzIHN0b3Agc3VwcHJlc3NpbmcgY2FsbGJhY2tzIHdoZW4gd2UgcmVjZWl2ZSBzdWNoIGFuIGV2
ZW50LgotICAgIG1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3MgPSB0cnVlOwotCiAgICAgZm9yIChh
dXRvJiBjbGllbnQgOiBtX2NsaWVudHMpCiAgICAgICAgIGNsaWVudC0+cGxhdGZvcm1HYW1lcGFk
RGlzY29ubmVjdGVkKCpyZW1vdmVkR2FtZXBhZCk7CiB9CkBAIC0xNjksMTkgKzE0Niw4IEBAIHVu
c2lnbmVkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZp
Y2UoKQogICAgIHJldHVybiBpbmRleDsKIH0KIAotdm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVy
Ojpjb25uZWN0aW9uRGVsYXlUaW1lckZpcmVkKCkKLXsKLSAgICBtX3Nob3VsZERpc3BhdGNoQ2Fs
bGJhY2tzID0gdHJ1ZTsKLQotICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKQotICAg
ICAgICBjbGllbnQtPnNldEluaXRpYWxDb25uZWN0ZWRHYW1lcGFkcyhtX2dhbWVwYWRWZWN0b3Ip
OwotfQotCiB2b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9uVGlt
ZXJGaXJlZCgpCiB7Ci0gICAgaWYgKCFtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzKQotICAgICAg
ICByZXR1cm47Ci0KICAgICBkaXNwYXRjaFBsYXRmb3JtR2FtZXBhZElucHV0QWN0aXZpdHkoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRl
L01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggYmY3YTdkZGVkMzZkZTUw
M2RhMjgxODNkZDIxZTczZmVjYmZhZGE2OS4uNjYzMmQwZjAwOWJmMTVjNGJiZWJhMjUxYzRkNzc4
MTJhZTg0YTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9t
YW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5oCkBAIC03MCw3ICs3
MCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzIHsgZmFs
c2UgfTsKIAogICAgIEdSZWZQdHI8TWFuZXR0ZU1vbml0b3I+IG1fbW9uaXRvcjsKLSAgICBSdW5M
b29wOjpUaW1lcjxNYW5ldHRlR2FtZXBhZFByb3ZpZGVyPiBtX2Nvbm5lY3Rpb25EZWxheVRpbWVy
OwogICAgIFJ1bkxvb3A6OlRpbWVyPE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI+IG1faW5wdXROb3Rp
ZmljYXRpb25UaW1lcjsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410887</attachid>
            <date>2020-10-08 14:38:24 -0700</date>
            <delta_ts>2020-10-08 15:10:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217226-20201009003822.patch</filename>
            <type>text/plain</type>
            <size>13687</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIyZDllMGNlNmM4NGM4
ZmRkZWM4OGFiNGNiYmJlNDY5MDVhODhiZi4uNzBlOTJlOTBlZDllNzFiYTcxYzNjYjhhZjk5OGFm
NDI5ZTIxODY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTEwLTA4ICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10g
QnVpbGQgYnJva2VuIHdpdGggRU5BQkxFX0dBTUVQQUQgZW5hYmxlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MjI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZC4KKwor
ICAgICAgICAqIEhlYWRlcnMuY21ha2U6IExpc3QgU2hhcmVkR2FtZXBhZFZhbHVlLmggaW4gV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTLCB3aGljaAorICAgICAgICB3YXMgbWlzc2lu
Zy4KKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWQ6Ok1hbmV0dGVHYW1lcGFkKTogQWRh
cHQgdG8gdXNlIFNoYXJlZEdhbWVwYWRWYWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVH
YW1lcGFkOjpidXR0b25QcmVzc2VkT3JSZWxlYXNlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6TWFuZXR0ZUdhbWVwYWQ6OmFic29sdXRlQXhpc0NoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaDogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuY3Bw
OiBSZW1vdmUgdGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIKKyAgICAgICAgYW5kIGFuZCBtYWtl
IGdhbWVwYWRzIHZpc2libGUgYXMgc29vbiBhcyB0aGV5IGFyZSBlbnVtZXJhdGVkLiBUaGlzIHNp
bXBsaWZpZXMgdGhlIGNvZGUsCisgICAgICAgIGluIHByZXBhcmF0aW9uIHRvIHN3aXRjaCB0aGUg
ZGVsYXllZCBleHBvc2luZyBvZiBnYW1lcGFkcyB0byB3YWl0IHVudGlsIHRoZXkgaGF2ZSBzb21l
CisgICAgICAgIGlucHV0LCB0byBiZSBkb25lIGluIGEgZm9sbG93LXVwIHBhdGNoLgorICAgICAg
ICAoV2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6TWFuZXR0ZUdhbWVwYWRQcm92aWRl
cik6CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpzdGFydE1vbml0
b3JpbmdHYW1lcGFkcyk6CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVy
OjpzdG9wTW9uaXRvcmluZ0dhbWVwYWRzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1l
cGFkUHJvdmlkZXI6OmRldmljZUNvbm5lY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRl
R2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VEaXNjb25uZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6
TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmljYXRpb25UaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5o
OiBEaXR0by4KKwogMjAyMC0xMC0wOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdW0lGQ10gVXNpbmcgdGhlIG1peHR1cmUgb2YgTGF5b3V0VW5pdCBhbmQg
SW5saW5lTGF5b3V0VW5pdCB0eXBlcyBjYXVzZXMgQVNTRVJUKHZlcnRpY2FsR2FwID49IDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IGZkNzQwYjJlMjc2NTc1NTEwODMxMjAwZmI3MzA0Zjk0NjdkMTNlYWMuLjQwM2My
ZDQwNzdhNDhjNWNjZGMyZGFmODkzZjY5OWVmMjg4ZDkyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjAtMTAtMDggIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBCdWlsZCBicm9rZW4gd2l0aCBFTkFCTEVfR0FNRVBBRCBl
bmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTcyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmg6IE1hcmsgY2xhc3MgYXMgZmlu
YWwsIGJlY2F1c2UgdGhlIGRlc3RydWN0b3IgaXMKKyAgICAgICAgZmluYWwgaXRzZWxmLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpudW1iZXJPZkNvbm5lY3RlZEdhbWVwYWRzRm9yVGVzdGluZyk6IFJlb3Jn
YW5pemUgUExBVEZPUk0oTUFDKQorICAgICAgICBndWFyZHMgdG8gdXNlIEdhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyIG9ubHkgb24gbWFjT1MsIGFzIGl0IGlzIHVuYXZhaWxhYmxlIG9uIG90
aGVyCisgICAgICAgIHBvcnRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1l
cGFkUHJvdmlkZXIuaDogTWFyayBjbGFzcyBhcyBmaW5hbCwgYmVjYXVzZSB0aGUgZGVzdHJ1Y3Rv
cgorICAgICAgICBpcyBmaW5hbCBpdHNlbGYuCisKIDIwMjAtMTAtMDggIEFkaXR5YSBLZWVydGhp
ICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEJsdXJyaW5nIGEgdGV4dCBp
bnB1dCBhbmQgZm9jdXNpbmcgYSBkYXRlIGlucHV0IGNoYW5nZXMgdGhlIHNjcm9sbGFibGUgYXJl
YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYTg0N2IwNWFiNDRlNWNkNGE3MDZiZTMwOGM4YjY0NWI1
MjU0MDBmZS4uMDljN2MzOWQ5ZTA4NDU0NjRhZTU0NzEyZjk3MjBkY2RkMWViNTFiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9I
ZWFkZXJzLmNtYWtlCkBAIC0xMDkxLDYgKzEwOTEsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZS
QU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ2FtZXBhZC9HYW1lcGFkUHJvdmlkZXIuaAog
ICAgIHBsYXRmb3JtL2dhbWVwYWQvR2FtZXBhZFByb3ZpZGVyQ2xpZW50LmgKICAgICBwbGF0Zm9y
bS9nYW1lcGFkL1BsYXRmb3JtR2FtZXBhZC5oCisgICAgcGxhdGZvcm0vZ2FtZXBhZC9TaGFyZWRH
YW1lcGFkVmFsdWUuaAogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQWxwaGFQcmVtdWx0aXBsaWNh
dGlvbi5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1l
cGFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRl
R2FtZXBhZC5jcHAKaW5kZXggNDM0YzExZGIwNjZiMjEwZTMwMGJmZTJmYWM5NzIyYTdmYjE2ZTgz
ZC4uYzNkN2ExY2M5YTYxN2Q5YzIzY2Y4ZjNjYjNjZjUxZGNkZjk5NDFhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdh
bWVwYWQuY3BwCkBAIC0xMzIsOCArMTMyLDEzIEBAIE1hbmV0dGVHYW1lcGFkOjpNYW5ldHRlR2Ft
ZXBhZChNYW5ldHRlRGV2aWNlKiBkZXZpY2UsIHVuc2lnbmVkIGluZGV4KQogICAgIG1faWQgPSBT
dHJpbmc6OmZyb21VVEY4KG1hbmV0dGVfZGV2aWNlX2dldF9uYW1lKG1fZGV2aWNlLmdldCgpKSk7
CiAgICAgbV9tYXBwaW5nID0gU3RyaW5nOjpmcm9tVVRGOCgic3RhbmRhcmQiKTsKIAotICAgIG1f
YXhpc1ZhbHVlcy5maWxsKDAsIHN0YXRpY19jYXN0PHNpemVfdD4oU3RhbmRhcmRHYW1lcGFkQXhp
czo6Q291bnQpKTsKLSAgICBtX2J1dHRvblZhbHVlcy5maWxsKDAsIHN0YXRpY19jYXN0PHNpemVf
dD4oU3RhbmRhcmRHYW1lcGFkQnV0dG9uOjpDb3VudCkpOworICAgIG1fYXhpc1ZhbHVlcy5yZXNp
emUoc3RhdGljX2Nhc3Q8c2l6ZV90PihTdGFuZGFyZEdhbWVwYWRBeGlzOjpDb3VudCkpOworICAg
IGZvciAoYXV0byYgdmFsdWUgOiBtX2F4aXNWYWx1ZXMpCisgICAgICAgIHZhbHVlLnNldFZhbHVl
KDAuMCk7CisKKyAgICBtX2J1dHRvblZhbHVlcy5yZXNpemUoc3RhdGljX2Nhc3Q8c2l6ZV90PihT
dGFuZGFyZEdhbWVwYWRCdXR0b246OkNvdW50KSk7CisgICAgZm9yIChhdXRvJiB2YWx1ZSA6IG1f
YnV0dG9uVmFsdWVzKQorICAgICAgICB2YWx1ZS5zZXRWYWx1ZSgwLjApOwogCiAgICAgZ19zaWdu
YWxfY29ubmVjdChkZXZpY2UsICJidXR0b24tcHJlc3MtZXZlbnQiLCBHX0NBTExCQUNLKG9uQnV0
dG9uUHJlc3NFdmVudCksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QoZGV2aWNlLCAiYnV0
dG9uLXJlbGVhc2UtZXZlbnQiLCBHX0NBTExCQUNLKG9uQnV0dG9uUmVsZWFzZUV2ZW50KSwgdGhp
cyk7CkBAIC0xNTEsNyArMTU2LDcgQEAgdm9pZCBNYW5ldHRlR2FtZXBhZDo6YnV0dG9uUHJlc3Nl
ZE9yUmVsZWFzZWQoTWFuZXR0ZURldmljZSosIFN0YW5kYXJkR2FtZXBhZEJ1dHQKICAgICAgICAg
cmV0dXJuOwogCiAgICAgbV9sYXN0VXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwot
ICAgIG1fYnV0dG9uVmFsdWVzW3N0YXRpY19jYXN0PGludD4oYnV0dG9uKV0gPSBwcmVzc2VkID8g
MS4wIDogMC4wOworICAgIG1fYnV0dG9uVmFsdWVzW3N0YXRpY19jYXN0PGludD4oYnV0dG9uKV0u
c2V0VmFsdWUocHJlc3NlZCA/IDEuMCA6IDAuMCk7CiAKICAgICBNYW5ldHRlR2FtZXBhZFByb3Zp
ZGVyOjpzaW5nbGV0b24oKS5nYW1lcGFkSGFkSW5wdXQoKnRoaXMsIHByZXNzZWQgPyBNYW5ldHRl
R2FtZXBhZFByb3ZpZGVyOjpTaG91bGRNYWtlR2FtZXBhZHNWaXNpYmxlOjpZZXMgOiBNYW5ldHRl
R2FtZXBhZFByb3ZpZGVyOjpTaG91bGRNYWtlR2FtZXBhZHNWaXNpYmxlOjpObyk7CiB9CkBAIC0x
NjIsNyArMTY3LDcgQEAgdm9pZCBNYW5ldHRlR2FtZXBhZDo6YWJzb2x1dGVBeGlzQ2hhbmdlZChN
YW5ldHRlRGV2aWNlKiwgU3RhbmRhcmRHYW1lcGFkQXhpcyBheGkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgbV9sYXN0VXBkYXRlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIG1fYXhp
c1ZhbHVlc1tzdGF0aWNfY2FzdDxpbnQ+KGF4aXMpXSA9IHZhbHVlOworICAgIG1fYXhpc1ZhbHVl
c1tzdGF0aWNfY2FzdDxpbnQ+KGF4aXMpXS5zZXRWYWx1ZSh2YWx1ZSk7CiAKICAgICBNYW5ldHRl
R2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5nYW1lcGFkSGFkSW5wdXQoKnRoaXMsIE1hbmV0
dGVHYW1lcGFkUHJvdmlkZXI6OlNob3VsZE1ha2VHYW1lcGFkc1Zpc2libGU6Ok5vKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRl
R2FtZXBhZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0
dGVHYW1lcGFkLmgKaW5kZXggM2ZhNTk3NGI3N2NiYjdkMGJlYWYwM2QwMDhmMTRjZDkzNDY0YzFm
NS4uMjJmNTgwZDY3ZjZiYWViY2QzYjM4YjBmZTk3NWY4NGY2ZGM0MDdjZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1l
cGFkLmgKQEAgLTcwLDggKzcwLDggQEAgcHVibGljOgogICAgIE1hbmV0dGVHYW1lcGFkKE1hbmV0
dGVEZXZpY2UqLCB1bnNpZ25lZCBpbmRleCk7CiAgICAgdmlydHVhbCB+TWFuZXR0ZUdhbWVwYWQo
KTsKIAotICAgIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiBheGlzVmFsdWVzKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9heGlzVmFsdWVzOyB9Ci0gICAgY29uc3QgVmVjdG9yPGRvdWJsZT4mIGJ1dHRv
blZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYnV0dG9uVmFsdWVzOyB9CisgICAgY29u
c3QgVmVjdG9yPFNoYXJlZEdhbWVwYWRWYWx1ZT4mIGF4aXNWYWx1ZXMoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2F4aXNWYWx1ZXM7IH0KKyAgICBjb25zdCBWZWN0b3I8U2hhcmVkR2FtZXBhZFZh
bHVlPiYgYnV0dG9uVmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9idXR0b25WYWx1ZXM7
IH0KIAogICAgIHZvaWQgYWJzb2x1dGVBeGlzQ2hhbmdlZChNYW5ldHRlRGV2aWNlKiwgU3RhbmRh
cmRHYW1lcGFkQXhpcywgZG91YmxlIHZhbHVlKTsKICAgICB2b2lkIGJ1dHRvblByZXNzZWRPclJl
bGVhc2VkKE1hbmV0dGVEZXZpY2UqLCBTdGFuZGFyZEdhbWVwYWRCdXR0b24sIGJvb2wgcHJlc3Nl
ZCk7CkBAIC03OSw4ICs3OSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgR1JlZlB0cjxNYW5l
dHRlRGV2aWNlPiBtX2RldmljZTsKIAotICAgIFZlY3Rvcjxkb3VibGU+IG1fYnV0dG9uVmFsdWVz
OwotICAgIFZlY3Rvcjxkb3VibGU+IG1fYXhpc1ZhbHVlczsKKyAgICBWZWN0b3I8U2hhcmVkR2Ft
ZXBhZFZhbHVlPiBtX2J1dHRvblZhbHVlczsKKyAgICBWZWN0b3I8U2hhcmVkR2FtZXBhZFZhbHVl
PiBtX2F4aXNWYWx1ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQ
cm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFu
ZXR0ZUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggMDA4MjQ5MGVjZmY4NDE4MGQ3OWI5MTEzNmYx
ZjZlYzU3MmZiYmZmMS4uYjY4YjE4MzA3Y2QyMjg1YzA0Zjk3OGViMTQxOTU5YzgxZThiOTc0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0
dGVHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzcsNyArMzcsNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBTZWNvbmRzIGNvbm5lY3Rpb25E
ZWxheUludGVydmFsIHsgNTAwX21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbnB1dE5vdGlm
aWNhdGlvbkRlbGF5IHsgNTBfbXMgfTsKIAogTWFuZXR0ZUdhbWVwYWRQcm92aWRlciYgTWFuZXR0
ZUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKQEAgLTU4LDcgKzU3LDYgQEAgc3RhdGljIHZv
aWQgb25EZXZpY2VEaXNjb25uZWN0ZWQoTWFuZXR0ZU1vbml0b3IqLCBNYW5ldHRlRGV2aWNlKiBk
ZXZpY2UsIE1hbmV0dGUKIAogTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6TWFuZXR0ZUdhbWVwYWRQ
cm92aWRlcigpCiAgICAgOiBtX21vbml0b3IoYWRvcHRHUmVmKG1hbmV0dGVfbW9uaXRvcl9uZXco
KSkpCi0gICAgLCBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyKFJ1bkxvb3A6OmN1cnJlbnQoKSwgdGhp
cywgJk1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmNvbm5lY3Rpb25EZWxheVRpbWVyRmlyZWQpCiAg
ICAgLCBtX2lucHV0Tm90aWZpY2F0aW9uVGltZXIoUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAm
TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6aW5wdXROb3RpZmljYXRpb25UaW1lckZpcmVkKQogewog
ICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9tb25pdG9yLmdldCgpLCAiZGV2aWNlLWNvbm5lY3RlZCIs
IEdfQ0FMTEJBQ0sob25EZXZpY2VDb25uZWN0ZWQpLCB0aGlzKTsKQEAgLTg3LDkgKzg1LDYgQEAg
dm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpzdGFydE1vbml0b3JpbmdHYW1lcGFkcyhHYW1l
cGFkUHJvdmlkZXJDbGllbnQmIGNsaWUKIAogICAgIEFTU0VSVChtX2dhbWVwYWRWZWN0b3IuaXNF
bXB0eSgpKTsKICAgICBBU1NFUlQobV9nYW1lcGFkTWFwLmlzRW1wdHkoKSk7Ci0KLSAgICBtX3No
b3VsZERpc3BhdGNoQ2FsbGJhY2tzID0gZmFsc2U7Ci0gICAgbV9jb25uZWN0aW9uRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwpOwogfQogCiB2b2lkIE1hbmV0
dGVHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2FtZXBhZHMoR2FtZXBhZFByb3ZpZGVy
Q2xpZW50JiBjbGllbnQpCkBAIC0xMDAsNyArOTUsNiBAQCB2b2lkIE1hbmV0dGVHYW1lcGFkUHJv
dmlkZXI6OnN0b3BNb25pdG9yaW5nR2FtZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50JiBjbGll
bgogICAgIGlmIChzaG91bGRDbG9zZUFuZFVuc2NoZWR1bGVNYW5hZ2VyKSB7CiAgICAgICAgIG1f
Z2FtZXBhZFZlY3Rvci5jbGVhcigpOwogICAgICAgICBtX2dhbWVwYWRNYXAuY2xlYXIoKTsKLSAg
ICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdG9wKCk7CiAgICAgfQogfQogCkBAIC0xMjgs
MjEgKzEyMiw4IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQ29ubmVjdGVk
KE1hbmV0dGVEZXZpY2UqIGRldmljZSkKICAgICBtX2dhbWVwYWRWZWN0b3JbaW5kZXhdID0gZ2Ft
ZXBhZC5nZXQoKTsKICAgICBtX2dhbWVwYWRNYXAuc2V0KGRldmljZSwgV1RGTW92ZShnYW1lcGFk
KSk7CiAKLSAgICBpZiAoIW1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3MpIHsKLSAgICAgICAgLy8g
VGhpcyBhZGRlZCBkZXZpY2UgaXMgdGhlIHJlc3VsdCBvZiB1cyBzdGFydGluZyB0byBtb25pdG9y
IGdhbWVwYWRzLgotICAgICAgICAvLyBXZSdsbCBnZXQgbm90aWZpZWQgb2YgYWxsIGNvbm5lY3Rl
ZCBkZXZpY2VzIGR1cmluZyB0aGlzIGN1cnJlbnQgc3BpbiBvZiB0aGUgcnVubG9vcAotICAgICAg
ICAvLyBhbmQgd2UgZG9uJ3Qgd2FudCB0byB0ZWxsIHRoZSBjbGllbnQgYWJvdXQgYW55IG9mIHRo
ZW0uCi0gICAgICAgIC8vIFRoZSBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyIGZpcmVzIGluIGEgc3Vi
c2VxdWVudCBzcGluIG9mIHRoZSBydW5sb29wIGFmdGVyIHdoaWNoCi0gICAgICAgIC8vIGFueSBj
b25uZWN0aW9uIGV2ZW50cyBhcmUgYWN0dWFsIG5ldyBkZXZpY2VzLgotICAgICAgICBtX2Nvbm5l
Y3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwotCi0gICAgICAgIExPRyhHYW1lcGFk
LCAiRGV2aWNlICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRo
aXMgc2hvdWxkIGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwotCi0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50
cykKLSAgICAgICAgY2xpZW50LT5wbGF0Zm9ybUdhbWVwYWRDb25uZWN0ZWQoKm1fZ2FtZXBhZFZl
Y3RvcltpbmRleF0pOworICAgICAgICBjbGllbnQtPnBsYXRmb3JtR2FtZXBhZENvbm5lY3RlZCgq
bV9nYW1lcGFkVmVjdG9yW2luZGV4XSwgRXZlbnRNYWtlc0dhbWVwYWRzVmlzaWJsZTo6WWVzKTsK
IH0KIAogdm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VEaXNjb25uZWN0ZWQoTWFu
ZXR0ZURldmljZSogZGV2aWNlKQpAQCAtMTUyLDEwICsxMzMsNiBAQCB2b2lkIE1hbmV0dGVHYW1l
cGFkUHJvdmlkZXI6OmRldmljZURpc2Nvbm5lY3RlZChNYW5ldHRlRGV2aWNlKiBkZXZpY2UpCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPE1hbmV0dGVHYW1lcGFkPiByZW1vdmVkR2FtZXBhZCA9IHJlbW92
ZUdhbWVwYWRGb3JEZXZpY2UoZGV2aWNlKTsKICAgICBBU1NFUlQocmVtb3ZlZEdhbWVwYWQpOwog
Ci0gICAgLy8gQW55IHRpbWUgd2UgZ2V0IGEgZGV2aWNlIHJlbW92ZWQgY2FsbGJhY2sgd2Uga25v
dyBpdCdzIGEgcmVhbCBldmVudCBhbmQgbm90IGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQu
Ci0gICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBzdG9wIHN1cHByZXNzaW5nIGNhbGxiYWNrcyB3aGVu
IHdlIHJlY2VpdmUgc3VjaCBhbiBldmVudC4KLSAgICBtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tz
ID0gdHJ1ZTsKLQogICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9jbGllbnRzKQogICAgICAgICBj
bGllbnQtPnBsYXRmb3JtR2FtZXBhZERpc2Nvbm5lY3RlZCgqcmVtb3ZlZEdhbWVwYWQpOwogfQpA
QCAtMTY5LDE5ICsxNDYsOCBAQCB1bnNpZ25lZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjppbmRl
eEZvck5ld2x5Q29ubmVjdGVkRGV2aWNlKCkKICAgICByZXR1cm4gaW5kZXg7CiB9CiAKLXZvaWQg
TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCgpCi17Ci0g
ICAgbV9zaG91bGREaXNwYXRjaENhbGxiYWNrcyA9IHRydWU7Ci0KLSAgICBmb3IgKGF1dG8qIGNs
aWVudCA6IG1fY2xpZW50cykKLSAgICAgICAgY2xpZW50LT5zZXRJbml0aWFsQ29ubmVjdGVkR2Ft
ZXBhZHMobV9nYW1lcGFkVmVjdG9yKTsKLX0KLQogdm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVy
OjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQoKQogewotICAgIGlmICghbV9zaG91bGREaXNw
YXRjaENhbGxiYWNrcykKLSAgICAgICAgcmV0dXJuOwotCiAgICAgZGlzcGF0Y2hQbGF0Zm9ybUdh
bWVwYWRJbnB1dEFjdGl2aXR5KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5o
CmluZGV4IGJmN2E3ZGRlZDM2ZGU1MDNkYTI4MTgzZGQyMWU3M2ZlY2JmYWRhNjkuLjY2MzJkMGYw
MDliZjE1YzRiYmViYTI1MWM0ZDc3ODEyYWU4NGE0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFk
UHJvdmlkZXIuaApAQCAtNzAsNyArNzAsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRE
aXNwYXRjaENhbGxiYWNrcyB7IGZhbHNlIH07CiAKICAgICBHUmVmUHRyPE1hbmV0dGVNb25pdG9y
PiBtX21vbml0b3I7Ci0gICAgUnVuTG9vcDo6VGltZXI8TWFuZXR0ZUdhbWVwYWRQcm92aWRlcj4g
bV9jb25uZWN0aW9uRGVsYXlUaW1lcjsKICAgICBSdW5Mb29wOjpUaW1lcjxNYW5ldHRlR2FtZXBh
ZFByb3ZpZGVyPiBtX2lucHV0Tm90aWZpY2F0aW9uVGltZXI7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmgKaW5kZXggY2I0
MjYyZTM4YzdlNTcxYzExOGQzMzdhMTM4NzkyZDRhOWYyYzU0Zi4uMjcwMWY5OWRjOTc0NjYyY2Ji
MzY1N2UwNjk1NTgxZjhjNmFlOTQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBX
ZWJQYWdlUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUG9vbDsKIGNsYXNzIEdhbWVwYWREYXRhOwog
Ci1jbGFzcyBVSUdhbWVwYWRQcm92aWRlciA6IHB1YmxpYyBXZWJDb3JlOjpHYW1lcGFkUHJvdmlk
ZXJDbGllbnQgeworY2xhc3MgVUlHYW1lcGFkUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29y
ZTo6R2FtZXBhZFByb3ZpZGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgVUlHYW1lcGFk
UHJvdmlkZXImIHNpbmdsZXRvbigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKaW5kZXggOGQ5ODdiYjY2ZDE0MzQwODk2MTI4ZDczOTMwZjJhMWNhZGQ2OTlh
Ni4uNmM2NjU2NzZjODg3MjcyMjQ5MTIyMjc5M2IwNmFmNmQ2MWE1MmE2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTU2OSwxNCArMTU2OSwxNiBA
QCBzaXplX3QgV2ViUHJvY2Vzc1Bvb2w6Om51bWJlck9mQ29ubmVjdGVkR2FtZXBhZHNGb3JUZXN0
aW5nKEdhbWVwYWRUeXBlIGdhbWVwYWRUeQogICAgIHN3aXRjaCAoZ2FtZXBhZFR5cGUpIHsKICAg
ICBjYXNlIEdhbWVwYWRUeXBlOjpBbGw6CiAgICAgICAgIHJldHVybiBVSUdhbWVwYWRQcm92aWRl
cjo6c2luZ2xldG9uKCkubnVtYmVyT2ZDb25uZWN0ZWRHYW1lcGFkcygpOwotICAgIGNhc2UgR2Ft
ZXBhZFR5cGU6OkhJRDoKICNpZiBQTEFURk9STShNQUMpCisgICAgY2FzZSBHYW1lcGFkVHlwZTo6
SElEOgogICAgICAgICByZXR1cm4gSElER2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5udW1i
ZXJPZkNvbm5lY3RlZEdhbWVwYWRzKCk7Ci0jZWxzZQotICAgICAgICByZXR1cm4gMDsKLSNlbmRp
ZgogICAgIGNhc2UgR2FtZXBhZFR5cGU6OkdhbWVDb250cm9sbGVyRnJhbWV3b3JrOgogICAgICAg
ICByZXR1cm4gR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpLm51bWJl
ck9mQ29ubmVjdGVkR2FtZXBhZHMoKTsKKyNlbHNlCisgICAgY2FzZSBHYW1lcGFkVHlwZTo6SElE
OgorICAgIGNhc2UgR2FtZXBhZFR5cGU6OkdhbWVDb250cm9sbGVyRnJhbWV3b3JrOgorICAgICAg
ICByZXR1cm4gMDsKKyNlbmRpZgogICAgIH0KICNlbHNlCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWRQcm92aWRlci5o
CmluZGV4IDhhMTdmOTA4NGI2NjkzZDU2Njg5MzQ4YzJmM2U5M2ZlMmM0ZjZhYmMuLmY4MjExMTcx
MjM4NGE2YTg3MmFjNjkxNjdlZDQxNGI1ODBkNTA1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWRQcm92aWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HYW1lcGFkL1dlYkdhbWVwYWRQcm92aWRlci5oCkBAIC00Myw3ICs0
Myw3IEBAIGNsYXNzIFdlYkdhbWVwYWQ7CiAKIGNsYXNzIEdhbWVwYWREYXRhOwogCi1jbGFzcyBX
ZWJHYW1lcGFkUHJvdmlkZXIgOiBwdWJsaWMgV2ViQ29yZTo6R2FtZXBhZFByb3ZpZGVyIHsKK2Ns
YXNzIFdlYkdhbWVwYWRQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpHYW1lcGFkUHJv
dmlkZXIgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJHYW1lcGFkUHJvdmlkZXImIHNpbmdsZXRv
bigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410889</attachid>
            <date>2020-10-08 15:10:36 -0700</date>
            <delta_ts>2020-10-09 13:17:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217226-20201009011034.patch</filename>
            <type>text/plain</type>
            <size>15164</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIyZDllMGNlNmM4NGM4
ZmRkZWM4OGFiNGNiYmJlNDY5MDVhODhiZi4uOWQ2OWEwZjc0NmNmYjNlMzJmNzY3Y2YzNzgwMzFl
MGQ5OWFjYTQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTEwLTA4ICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10g
QnVpbGQgYnJva2VuIHdpdGggRU5BQkxFX0dBTUVQQUQgZW5hYmxlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MjI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZC4KKwor
ICAgICAgICAqIEhlYWRlcnMuY21ha2U6IExpc3QgU2hhcmVkR2FtZXBhZFZhbHVlLmggaW4gV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTLCB3aGljaAorICAgICAgICB3YXMgbWlzc2lu
Zy4KKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWQ6Ok1hbmV0dGVHYW1lcGFkKTogQWRh
cHQgdG8gdXNlIFNoYXJlZEdhbWVwYWRWYWx1ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVH
YW1lcGFkOjpidXR0b25QcmVzc2VkT3JSZWxlYXNlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6TWFuZXR0ZUdhbWVwYWQ6OmFic29sdXRlQXhpc0NoYW5nZWQpOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaDogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuY3Bw
OiBSZW5hbWUgbV9jb25uZWN0aW9uRGVsYXlUaW1lcgorICAgICAgICB0byBtX2luaXRpYWxHYW1l
cGFkc0Nvbm5lY3RlZFRpbWVyLCB3aGljaCBiZXR0ZXIgcmVmbGVjdHMgdGhlIHVzYWdlIGFuZCBh
bHNvIG1ha2VzIHRoZQorICAgICAgICBwcm92aWRlciBhIGJpdCBtb3JlIHNpbWlsYXIgdG8gSElE
R2FtZXBhZFByb3ZpZGVyIChmcm9tIHRoZSBNYWMgcG9ydCkuIEFycmFuZ2UgdG8gdXNlCisgICAg
ICAgIHRoZSBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlIGZsYWcuCisgICAgICAgIChXZWJDb3Jl
OjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnN0YXJ0TW9uaXRvcmluZ0dhbWVw
YWRzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25p
dG9yaW5nR2FtZXBhZHMpOgorICAgICAgICAoV2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWRQcm92aWRl
cjo6ZGV2aWNlQ29ubmVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJv
dmlkZXI6OmRldmljZURpc2Nvbm5lY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRlR2Ft
ZXBhZFByb3ZpZGVyOjppbml0aWFsR2FtZXBhZHNDb25uZWN0ZWRUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9uVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1l
cGFkUHJvdmlkZXIuaDogRGl0dG8uCisKIDIwMjAtMTAtMDggIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFVzaW5nIHRoZSBtaXh0dXJlIG9mIExh
eW91dFVuaXQgYW5kIElubGluZUxheW91dFVuaXQgdHlwZXMgY2F1c2VzIEFTU0VSVCh2ZXJ0aWNh
bEdhcCA+PSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBmZDc0MGIyZTI3NjU3NTUxMDgzMTIwMGZiNzMwNGY5NDY3
ZDEzZWFjLi40MDNjMmQ0MDc3YTQ4YzVjY2RjMmRhZjg5M2Y2OTllZjI4OGQ5MjY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTEwLTA4ICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8
YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gQnVpbGQgYnJva2VuIHdpdGggRU5B
QkxFX0dBTUVQQUQgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE3MjI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oOiBNYXJr
IGNsYXNzIGFzIGZpbmFsLCBiZWNhdXNlIHRoZSBkZXN0cnVjdG9yIGlzCisgICAgICAgIGZpbmFs
IGl0c2VsZi4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bnVtYmVyT2ZDb25uZWN0ZWRHYW1lcGFkc0ZvclRl
c3RpbmcpOiBSZW9yZ2FuaXplIFBMQVRGT1JNKE1BQykKKyAgICAgICAgZ3VhcmRzIHRvIHVzZSBH
YW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciBvbmx5IG9uIG1hY09TLCBhcyBpdCBpcyB1bmF2
YWlsYWJsZSBvbiBvdGhlcgorICAgICAgICBwb3J0cy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dh
bWVwYWQvV2ViR2FtZXBhZFByb3ZpZGVyLmg6IE1hcmsgY2xhc3MgYXMgZmluYWwsIGJlY2F1c2Ug
dGhlIGRlc3RydWN0b3IKKyAgICAgICAgaXMgZmluYWwgaXRzZWxmLgorCiAyMDIwLTEwLTA4ICBB
ZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBCbHVy
cmluZyBhIHRleHQgaW5wdXQgYW5kIGZvY3VzaW5nIGEgZGF0ZSBpbnB1dCBjaGFuZ2VzIHRoZSBz
Y3JvbGxhYmxlIGFyZWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGE4NDdiMDVhYjQ0ZTVjZDRhNzA2
YmUzMDhjOGI2NDViNTI1NDAwZmUuLjA5YzdjMzlkOWUwODQ1NDY0YWU1NDcxMmY5NzIwZGNkZDFl
YjUxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTA5MSw2ICsxMDkxLDcgQEAgc2V0KFdlYkNv
cmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dhbWVwYWQvR2FtZXBh
ZFByb3ZpZGVyLmgKICAgICBwbGF0Zm9ybS9nYW1lcGFkL0dhbWVwYWRQcm92aWRlckNsaWVudC5o
CiAgICAgcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9ybUdhbWVwYWQuaAorICAgIHBsYXRmb3JtL2dh
bWVwYWQvU2hhcmVkR2FtZXBhZFZhbHVlLmgKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FscGhh
UHJlbXVsdGlwbGljYXRpb24uaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJp
ZGdlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0
ZS9NYW5ldHRlR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21h
bmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3BwCmluZGV4IDQzNGMxMWRiMDY2YjIxMGUzMDBiZmUyZmFj
OTcyMmE3ZmIxNmU4M2QuLmMzZDdhMWNjOWE2MTdkOWMyM2NmOGYzY2IzY2Y1MWRjZGY5OTQxYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5l
dHRlR2FtZXBhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5l
dHRlL01hbmV0dGVHYW1lcGFkLmNwcApAQCAtMTMyLDggKzEzMiwxMyBAQCBNYW5ldHRlR2FtZXBh
ZDo6TWFuZXR0ZUdhbWVwYWQoTWFuZXR0ZURldmljZSogZGV2aWNlLCB1bnNpZ25lZCBpbmRleCkK
ICAgICBtX2lkID0gU3RyaW5nOjpmcm9tVVRGOChtYW5ldHRlX2RldmljZV9nZXRfbmFtZShtX2Rl
dmljZS5nZXQoKSkpOwogICAgIG1fbWFwcGluZyA9IFN0cmluZzo6ZnJvbVVURjgoInN0YW5kYXJk
Iik7CiAKLSAgICBtX2F4aXNWYWx1ZXMuZmlsbCgwLCBzdGF0aWNfY2FzdDxzaXplX3Q+KFN0YW5k
YXJkR2FtZXBhZEF4aXM6OkNvdW50KSk7Ci0gICAgbV9idXR0b25WYWx1ZXMuZmlsbCgwLCBzdGF0
aWNfY2FzdDxzaXplX3Q+KFN0YW5kYXJkR2FtZXBhZEJ1dHRvbjo6Q291bnQpKTsKKyAgICBtX2F4
aXNWYWx1ZXMucmVzaXplKHN0YXRpY19jYXN0PHNpemVfdD4oU3RhbmRhcmRHYW1lcGFkQXhpczo6
Q291bnQpKTsKKyAgICBmb3IgKGF1dG8mIHZhbHVlIDogbV9heGlzVmFsdWVzKQorICAgICAgICB2
YWx1ZS5zZXRWYWx1ZSgwLjApOworCisgICAgbV9idXR0b25WYWx1ZXMucmVzaXplKHN0YXRpY19j
YXN0PHNpemVfdD4oU3RhbmRhcmRHYW1lcGFkQnV0dG9uOjpDb3VudCkpOworICAgIGZvciAoYXV0
byYgdmFsdWUgOiBtX2J1dHRvblZhbHVlcykKKyAgICAgICAgdmFsdWUuc2V0VmFsdWUoMC4wKTsK
IAogICAgIGdfc2lnbmFsX2Nvbm5lY3QoZGV2aWNlLCAiYnV0dG9uLXByZXNzLWV2ZW50IiwgR19D
QUxMQkFDSyhvbkJ1dHRvblByZXNzRXZlbnQpLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0
KGRldmljZSwgImJ1dHRvbi1yZWxlYXNlLWV2ZW50IiwgR19DQUxMQkFDSyhvbkJ1dHRvblJlbGVh
c2VFdmVudCksIHRoaXMpOwpAQCAtMTUxLDcgKzE1Niw3IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWQ6
OmJ1dHRvblByZXNzZWRPclJlbGVhc2VkKE1hbmV0dGVEZXZpY2UqLCBTdGFuZGFyZEdhbWVwYWRC
dXR0CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKLSAgICBtX2J1dHRvblZhbHVlc1tzdGF0aWNfY2FzdDxpbnQ+KGJ1dHRvbild
ID0gcHJlc3NlZCA/IDEuMCA6IDAuMDsKKyAgICBtX2J1dHRvblZhbHVlc1tzdGF0aWNfY2FzdDxp
bnQ+KGJ1dHRvbildLnNldFZhbHVlKHByZXNzZWQgPyAxLjAgOiAwLjApOwogCiAgICAgTWFuZXR0
ZUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuZ2FtZXBhZEhhZElucHV0KCp0aGlzLCBwcmVz
c2VkID8gTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6U2hvdWxkTWFrZUdhbWVwYWRzVmlzaWJsZTo6
WWVzIDogTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6U2hvdWxkTWFrZUdhbWVwYWRzVmlzaWJsZTo6
Tm8pOwogfQpAQCAtMTYyLDcgKzE2Nyw3IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWQ6OmFic29sdXRl
QXhpc0NoYW5nZWQoTWFuZXR0ZURldmljZSosIFN0YW5kYXJkR2FtZXBhZEF4aXMgYXhpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKLSAgICBtX2F4aXNWYWx1ZXNbc3RhdGljX2Nhc3Q8aW50PihheGlzKV0gPSB2YWx1ZTsKKyAg
ICBtX2F4aXNWYWx1ZXNbc3RhdGljX2Nhc3Q8aW50PihheGlzKV0uc2V0VmFsdWUodmFsdWUpOwog
CiAgICAgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuZ2FtZXBhZEhhZElucHV0
KCp0aGlzLCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpTaG91bGRNYWtlR2FtZXBhZHNWaXNpYmxl
OjpObyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21h
bmV0dGUvTWFuZXR0ZUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
bWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5oCmluZGV4IDNmYTU5NzRiNzdjYmI3ZDBiZWFmMDNkMDA4
ZjE0Y2Q5MzQ2NGMxZjUuLjIyZjU4MGQ2N2Y2YmFlYmNkM2IzOGIwZmU5NzVmODRmNmRjNDA3Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5l
dHRlR2FtZXBhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0
ZS9NYW5ldHRlR2FtZXBhZC5oCkBAIC03MCw4ICs3MCw4IEBAIHB1YmxpYzoKICAgICBNYW5ldHRl
R2FtZXBhZChNYW5ldHRlRGV2aWNlKiwgdW5zaWduZWQgaW5kZXgpOwogICAgIHZpcnR1YWwgfk1h
bmV0dGVHYW1lcGFkKCk7CiAKLSAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhpc1ZhbHVlcygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXhpc1ZhbHVlczsgfQotICAgIGNvbnN0IFZlY3Rvcjxk
b3VibGU+JiBidXR0b25WYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2J1dHRvblZhbHVl
czsgfQorICAgIGNvbnN0IFZlY3RvcjxTaGFyZWRHYW1lcGFkVmFsdWU+JiBheGlzVmFsdWVzKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9heGlzVmFsdWVzOyB9CisgICAgY29uc3QgVmVjdG9yPFNo
YXJlZEdhbWVwYWRWYWx1ZT4mIGJ1dHRvblZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
YnV0dG9uVmFsdWVzOyB9CiAKICAgICB2b2lkIGFic29sdXRlQXhpc0NoYW5nZWQoTWFuZXR0ZURl
dmljZSosIFN0YW5kYXJkR2FtZXBhZEF4aXMsIGRvdWJsZSB2YWx1ZSk7CiAgICAgdm9pZCBidXR0
b25QcmVzc2VkT3JSZWxlYXNlZChNYW5ldHRlRGV2aWNlKiwgU3RhbmRhcmRHYW1lcGFkQnV0dG9u
LCBib29sIHByZXNzZWQpOwpAQCAtNzksOCArNzksOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IEdSZWZQdHI8TWFuZXR0ZURldmljZT4gbV9kZXZpY2U7CiAKLSAgICBWZWN0b3I8ZG91YmxlPiBt
X2J1dHRvblZhbHVlczsKLSAgICBWZWN0b3I8ZG91YmxlPiBtX2F4aXNWYWx1ZXM7CisgICAgVmVj
dG9yPFNoYXJlZEdhbWVwYWRWYWx1ZT4gbV9idXR0b25WYWx1ZXM7CisgICAgVmVjdG9yPFNoYXJl
ZEdhbWVwYWRWYWx1ZT4gbV9heGlzVmFsdWVzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01h
bmV0dGVHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDAwODI0OTBlY2ZmODQx
ODBkNzliOTExMzZmMWY2ZWM1NzJmYmJmZjEuLjgyYmMwNTE1NTM3MWNiNzI3MThlNDg3ZjYzZTY0
NWJhY2U5ZTcxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
bWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTU4
LDcgKzU4LDcgQEAgc3RhdGljIHZvaWQgb25EZXZpY2VEaXNjb25uZWN0ZWQoTWFuZXR0ZU1vbml0
b3IqLCBNYW5ldHRlRGV2aWNlKiBkZXZpY2UsIE1hbmV0dGUKIAogTWFuZXR0ZUdhbWVwYWRQcm92
aWRlcjo6TWFuZXR0ZUdhbWVwYWRQcm92aWRlcigpCiAgICAgOiBtX21vbml0b3IoYWRvcHRHUmVm
KG1hbmV0dGVfbW9uaXRvcl9uZXcoKSkpCi0gICAgLCBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyKFJ1
bkxvb3A6OmN1cnJlbnQoKSwgdGhpcywgJk1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmNvbm5lY3Rp
b25EZWxheVRpbWVyRmlyZWQpCisgICAgLCBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVy
KFJ1bkxvb3A6OmN1cnJlbnQoKSwgdGhpcywgJk1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmluaXRp
YWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyRmlyZWQpCiAgICAgLCBtX2lucHV0Tm90aWZpY2F0aW9u
VGltZXIoUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6
aW5wdXROb3RpZmljYXRpb25UaW1lckZpcmVkKQogewogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9t
b25pdG9yLmdldCgpLCAiZGV2aWNlLWNvbm5lY3RlZCIsIEdfQ0FMTEJBQ0sob25EZXZpY2VDb25u
ZWN0ZWQpLCB0aGlzKTsKQEAgLTg4LDggKzg4LDkgQEAgdm9pZCBNYW5ldHRlR2FtZXBhZFByb3Zp
ZGVyOjpzdGFydE1vbml0b3JpbmdHYW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQmIGNsaWUK
ICAgICBBU1NFUlQobV9nYW1lcGFkVmVjdG9yLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fZ2Ft
ZXBhZE1hcC5pc0VtcHR5KCkpOwogCi0gICAgbV9zaG91bGREaXNwYXRjaENhbGxiYWNrcyA9IGZh
bHNlOwotICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KGNvbm5lY3Rpb25E
ZWxheUludGVydmFsKTsKKyAgICAvLyBBbnkgY29ubmVjdGlvbnMgd2UgYXJlIG5vdGlmaWVkIG9m
IHdpdGhpbiB0aGUgY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgb2YgbGlzdGVuaW5nIGxpa2VseSBy
ZXByZXNlbnQKKyAgICAvLyBkZXZpY2VzIHRoYXQgd2VyZSBhbHJlYWR5IGNvbm5lY3RlZCwgc28g
d2Ugc3VwcHJlc3Mgbm90aWZ5aW5nIGNsaWVudHMgb2YgdGhlc2UuCisgICAgbV9pbml0aWFsR2Ft
ZXBhZHNDb25uZWN0ZWRUaW1lci5zdGFydE9uZVNob3QoY29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwp
OwogfQogCiB2b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2FtZXBh
ZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50JiBjbGllbnQpCkBAIC0xMDAsNyArMTAxLDcgQEAgdm9p
ZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpzdG9wTW9uaXRvcmluZ0dhbWVwYWRzKEdhbWVwYWRQ
cm92aWRlckNsaWVudCYgY2xpZW4KICAgICBpZiAoc2hvdWxkQ2xvc2VBbmRVbnNjaGVkdWxlTWFu
YWdlcikgewogICAgICAgICBtX2dhbWVwYWRWZWN0b3IuY2xlYXIoKTsKICAgICAgICAgbV9nYW1l
cGFkTWFwLmNsZWFyKCk7Ci0gICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RvcCgpOwor
ICAgICAgICBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLnN0b3AoKTsKICAgICB9CiB9
CiAKQEAgLTEyOCwyMSArMTI5LDE5IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6ZGV2
aWNlQ29ubmVjdGVkKE1hbmV0dGVEZXZpY2UqIGRldmljZSkKICAgICBtX2dhbWVwYWRWZWN0b3Jb
aW5kZXhdID0gZ2FtZXBhZC5nZXQoKTsKICAgICBtX2dhbWVwYWRNYXAuc2V0KGRldmljZSwgV1RG
TW92ZShnYW1lcGFkKSk7CiAKLSAgICBpZiAoIW1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3MpIHsK
KyAgICBpZiAoIW1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkKSB7CiAgICAgICAgIC8vIFRoaXMg
YWRkZWQgZGV2aWNlIGlzIHRoZSByZXN1bHQgb2YgdXMgc3RhcnRpbmcgdG8gbW9uaXRvciBnYW1l
cGFkcy4KICAgICAgICAgLy8gV2UnbGwgZ2V0IG5vdGlmaWVkIG9mIGFsbCBjb25uZWN0ZWQgZGV2
aWNlcyBkdXJpbmcgdGhpcyBjdXJyZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AKLSAgICAgICAgLy8g
YW5kIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgot
ICAgICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVl
bnQgc3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAotICAgICAgICAvLyBhbnkgY29ubmVj
dGlvbiBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9u
RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKLQotICAgICAgICBMT0coR2FtZXBhZCwgIkRl
dmljZSAlcCB3YXMgYWRkZWQgd2hpbGUgc3VwcHJlc3NpbmcgY2FsbGJhY2tzLCBzbyB0aGlzIHNo
b3VsZCBiZSBhbiAnYWxyZWFkeSBjb25uZWN0ZWQnIGV2ZW50IiwgZGV2aWNlKTsKLQotICAgICAg
ICByZXR1cm47CisgICAgICAgIC8vIGFuZCB0aGUgY2xpZW50IHNob3VsZCBiZSB0b2xkIHRoZXkg
d2VyZSBhbHJlYWR5IGNvbm5lY3RlZC4KKyAgICAgICAgLy8gVGhlIG1faW5pdGlhbEdhbWVwYWRz
Q29ubmVjdGVkVGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3Ag
YWZ0ZXIgd2hpY2gKKyAgICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwg
bmV3IGRldmljZXMgYW5kIGNhbiB0cmlnZ2VyIGdhbWVwYWQgdmlzaWJpbGl0eS4KKyAgICAgICAg
aWYgKCFtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAg
ICAgICBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0KIAorICAgIGF1dG8gZXZlbnRWaXNpYmlsaXR5ID0gbV9pbml0aWFsR2FtZXBhZHNDb25u
ZWN0ZWQgPyBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlOjpZZXMgOiBFdmVudE1ha2VzR2FtZXBh
ZHNWaXNpYmxlOjpObzsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAgICAg
ICAgY2xpZW50LT5wbGF0Zm9ybUdhbWVwYWRDb25uZWN0ZWQoKm1fZ2FtZXBhZFZlY3RvcltpbmRl
eF0pOworICAgICAgICBjbGllbnQtPnBsYXRmb3JtR2FtZXBhZENvbm5lY3RlZCgqbV9nYW1lcGFk
VmVjdG9yW2luZGV4XSwgZXZlbnRWaXNpYmlsaXR5KTsKIH0KIAogdm9pZCBNYW5ldHRlR2FtZXBh
ZFByb3ZpZGVyOjpkZXZpY2VEaXNjb25uZWN0ZWQoTWFuZXR0ZURldmljZSogZGV2aWNlKQpAQCAt
MTUyLDEwICsxNTEsNiBAQCB2b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmRldmljZURpc2Nv
bm5lY3RlZChNYW5ldHRlRGV2aWNlKiBkZXZpY2UpCiAgICAgc3RkOjp1bmlxdWVfcHRyPE1hbmV0
dGVHYW1lcGFkPiByZW1vdmVkR2FtZXBhZCA9IHJlbW92ZUdhbWVwYWRGb3JEZXZpY2UoZGV2aWNl
KTsKICAgICBBU1NFUlQocmVtb3ZlZEdhbWVwYWQpOwogCi0gICAgLy8gQW55IHRpbWUgd2UgZ2V0
IGEgZGV2aWNlIHJlbW92ZWQgY2FsbGJhY2sgd2Uga25vdyBpdCdzIGEgcmVhbCBldmVudCBhbmQg
bm90IGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQuCi0gICAgLy8gV2Ugc2hvdWxkIGFsd2F5
cyBzdG9wIHN1cHByZXNzaW5nIGNhbGxiYWNrcyB3aGVuIHdlIHJlY2VpdmUgc3VjaCBhbiBldmVu
dC4KLSAgICBtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKLQogICAgIGZvciAoYXV0
byYgY2xpZW50IDogbV9jbGllbnRzKQogICAgICAgICBjbGllbnQtPnBsYXRmb3JtR2FtZXBhZERp
c2Nvbm5lY3RlZCgqcmVtb3ZlZEdhbWVwYWQpOwogfQpAQCAtMTY5LDE3ICsxNjQsMTQgQEAgdW5z
aWduZWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERldmlj
ZSgpCiAgICAgcmV0dXJuIGluZGV4OwogfQogCi12b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6
OmNvbm5lY3Rpb25EZWxheVRpbWVyRmlyZWQoKQordm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVy
Ojppbml0aWFsR2FtZXBhZHNDb25uZWN0ZWRUaW1lckZpcmVkKCkKIHsKLSAgICBtX3Nob3VsZERp
c3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKLQotICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGll
bnRzKQotICAgICAgICBjbGllbnQtPnNldEluaXRpYWxDb25uZWN0ZWRHYW1lcGFkcyhtX2dhbWVw
YWRWZWN0b3IpOworICAgIG1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkID0gdHJ1ZTsKIH0KIAog
dm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQo
KQogewotICAgIGlmICghbV9zaG91bGREaXNwYXRjaENhbGxiYWNrcykKKyAgICBpZiAoIW1faW5p
dGlhbEdhbWVwYWRzQ29ubmVjdGVkKQogICAgICAgICByZXR1cm47CiAKICAgICBkaXNwYXRjaFBs
YXRmb3JtR2FtZXBhZElucHV0QWN0aXZpdHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRl
ci5oCmluZGV4IGJmN2E3ZGRlZDM2ZGU1MDNkYTI4MTgzZGQyMWU3M2ZlY2JmYWRhNjkuLjUzYzE0
MDVjOTZjYTM2YTAzNTRiYTEwYjBiNGFkOWEwMzQ1ZGIwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1l
cGFkUHJvdmlkZXIuaApAQCAtNjIsMTUgKzYyLDE1IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPE1hbmV0dGVHYW1lcGFkPiByZW1vdmVHYW1lcGFkRm9yRGV2aWNlKE1hbmV0dGVEZXZp
Y2UqKTsKIAogICAgIHVuc2lnbmVkIGluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZpY2UoKTsKLSAg
ICB2b2lkIGNvbm5lY3Rpb25EZWxheVRpbWVyRmlyZWQoKTsKKyAgICB2b2lkIGluaXRpYWxHYW1l
cGFkc0Nvbm5lY3RlZFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGlucHV0Tm90aWZpY2F0aW9uVGlt
ZXJGaXJlZCgpOwogCiAgICAgVmVjdG9yPFBsYXRmb3JtR2FtZXBhZCo+IG1fZ2FtZXBhZFZlY3Rv
cjsKICAgICBIYXNoTWFwPE1hbmV0dGVEZXZpY2UqLCBzdGQ6OnVuaXF1ZV9wdHI8TWFuZXR0ZUdh
bWVwYWQ+PiBtX2dhbWVwYWRNYXA7Ci0gICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tz
IHsgZmFsc2UgfTsKKyAgICBib29sIG1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkIHsgZmFsc2Ug
fTsKIAogICAgIEdSZWZQdHI8TWFuZXR0ZU1vbml0b3I+IG1fbW9uaXRvcjsKLSAgICBSdW5Mb29w
OjpUaW1lcjxNYW5ldHRlR2FtZXBhZFByb3ZpZGVyPiBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyOwor
ICAgIFJ1bkxvb3A6OlRpbWVyPE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI+IG1faW5pdGlhbEdhbWVw
YWRzQ29ubmVjdGVkVGltZXI7CiAgICAgUnVuTG9vcDo6VGltZXI8TWFuZXR0ZUdhbWVwYWRQcm92
aWRlcj4gbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oCmluZGV4IGNiNDI2MmUz
OGM3ZTU3MWMxMThkMzM3YTEzODc5MmQ0YTlmMmM1NGYuLjI3MDFmOTlkYzk3NDY2MmNiYjM2NTdl
MDY5NTU4MWY4YzZhZTk0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dh
bWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9H
YW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgV2ViUGFn
ZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiBjbGFzcyBHYW1lcGFkRGF0YTsKIAotY2xh
c3MgVUlHYW1lcGFkUHJvdmlkZXIgOiBwdWJsaWMgV2ViQ29yZTo6R2FtZXBhZFByb3ZpZGVyQ2xp
ZW50IHsKK2NsYXNzIFVJR2FtZXBhZFByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6Okdh
bWVwYWRQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFVJR2FtZXBhZFByb3Zp
ZGVyJiBzaW5nbGV0b24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCmluZGV4IDhkOTg3YmI2NmQxNDM0MDg5NjEyOGQ3MzkzMGYyYTFjYWRkNjk5YTYuLjZj
NjY1Njc2Yzg4NzI3MjI0OTEyMjI3OTNiMDZhZjZkNjFhNTJhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE1NjksMTQgKzE1NjksMTYgQEAgc2l6
ZV90IFdlYlByb2Nlc3NQb29sOjpudW1iZXJPZkNvbm5lY3RlZEdhbWVwYWRzRm9yVGVzdGluZyhH
YW1lcGFkVHlwZSBnYW1lcGFkVHkKICAgICBzd2l0Y2ggKGdhbWVwYWRUeXBlKSB7CiAgICAgY2Fz
ZSBHYW1lcGFkVHlwZTo6QWxsOgogICAgICAgICByZXR1cm4gVUlHYW1lcGFkUHJvdmlkZXI6OnNp
bmdsZXRvbigpLm51bWJlck9mQ29ubmVjdGVkR2FtZXBhZHMoKTsKLSAgICBjYXNlIEdhbWVwYWRU
eXBlOjpISUQ6CiAjaWYgUExBVEZPUk0oTUFDKQorICAgIGNhc2UgR2FtZXBhZFR5cGU6OkhJRDoK
ICAgICAgICAgcmV0dXJuIEhJREdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkubnVtYmVyT2ZD
b25uZWN0ZWRHYW1lcGFkcygpOwotI2Vsc2UKLSAgICAgICAgcmV0dXJuIDA7Ci0jZW5kaWYKICAg
ICBjYXNlIEdhbWVwYWRUeXBlOjpHYW1lQ29udHJvbGxlckZyYW1ld29yazoKICAgICAgICAgcmV0
dXJuIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5udW1iZXJPZkNv
bm5lY3RlZEdhbWVwYWRzKCk7CisjZWxzZQorICAgIGNhc2UgR2FtZXBhZFR5cGU6OkhJRDoKKyAg
ICBjYXNlIEdhbWVwYWRUeXBlOjpHYW1lQ29udHJvbGxlckZyYW1ld29yazoKKyAgICAgICAgcmV0
dXJuIDA7CisjZW5kaWYKICAgICB9CiAjZWxzZQogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dhbWVwYWQvV2ViR2FtZXBhZFByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaAppbmRl
eCA4YTE3ZjkwODRiNjY5M2Q1NjY4OTM0OGMyZjNlOTNmZTJjNGY2YWJjLi5mODIxMTE3MTIzODRh
NmE4NzJhYzY5MTY3ZWQ0MTRiNTgwZDUwNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaApAQCAtNDMsNyArNDMsNyBA
QCBjbGFzcyBXZWJHYW1lcGFkOwogCiBjbGFzcyBHYW1lcGFkRGF0YTsKIAotY2xhc3MgV2ViR2Ft
ZXBhZFByb3ZpZGVyIDogcHVibGljIFdlYkNvcmU6OkdhbWVwYWRQcm92aWRlciB7CitjbGFzcyBX
ZWJHYW1lcGFkUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6R2FtZXBhZFByb3ZpZGVy
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViR2FtZXBhZFByb3ZpZGVyJiBzaW5nbGV0b24oKTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410967</attachid>
            <date>2020-10-09 13:17:41 -0700</date>
            <delta_ts>2020-10-10 12:46:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217226-20201009231739.patch</filename>
            <type>text/plain</type>
            <size>16934</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4Mjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRiODVhZDY4MWE3ZWMx
YWNiM2E2OTkzMzJmOWY3NjU2NmNlMTk5MS4uOTJiYmEzYTdjYzBhMDc0M2I3MDQwOTNkOGVmZmI5
YjI4YjZmNTIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIwLTEwLTA5ICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10g
QnVpbGQgYnJva2VuIHdpdGggRU5BQkxFX0dBTUVQQUQgZW5hYmxlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MjI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZC4KKwor
ICAgICAgICAqIEhlYWRlcnMuY21ha2U6IExpc3QgU2hhcmVkR2FtZXBhZFZhbHVlLmggaW4gV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTLCB3aGljaAorICAgICAgICB3YXMgbWlzc2lu
Zy4KKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL0VtcHR5R2FtZXBhZFByb3ZpZGVyLmg6IE1h
cmsgY2xhc3MgYXMgZmluYWwsIGJlY2F1c2UgdGhlIGRlc3RydWN0b3IKKyAgICAgICAgaXMgZmlu
YWwgaXRzZWxmLgorICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2Ft
ZXBhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRlR2FtZXBhZDo6TWFuZXR0ZUdhbWVw
YWQpOiBBZGFwdCB0byB1c2UgU2hhcmVkR2FtZXBhZFZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6
TWFuZXR0ZUdhbWVwYWQ6OmJ1dHRvblByZXNzZWRPclJlbGVhc2VkKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpNYW5ldHRlR2FtZXBhZDo6YWJzb2x1dGVBeGlzQ2hhbmdlZCk6IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5oOiBEaXR0
by4KKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92
aWRlci5jcHA6IFJlbmFtZSBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyCisgICAgICAgIHRvIG1faW5p
dGlhbEdhbWVwYWRzQ29ubmVjdGVkVGltZXIsIHdoaWNoIGJldHRlciByZWZsZWN0cyB0aGUgdXNh
Z2UgYW5kIGFsc28gbWFrZXMgdGhlCisgICAgICAgIHByb3ZpZGVyIGEgYml0IG1vcmUgc2ltaWxh
ciB0byBISURHYW1lcGFkUHJvdmlkZXIgKGZyb20gdGhlIE1hYyBwb3J0KS4gQXJyYW5nZSB0byB1
c2UKKyAgICAgICAgdGhlIEV2ZW50TWFrZXNHYW1lcGFkc1Zpc2libGUgZmxhZy4KKyAgICAgICAg
KFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXIp
OiBSZW1vdmUgdGhlIGxvb3AgdGhhdCBpdGVyYXRlcworICAgICAgICBvdmVyIHRoZSBwcmUtZGV0
ZWN0ZWQgZ2FtZXBhZHMgYmVjYXVzZSB0aGV5IGFyZSBiZWluZyBhZGRlZCB0b28gZWFybHkgYmVm
b3JlIGFueSBjbGllbnQKKyAgICAgICAgaGFzIGhhZCB0aGUgY2hhbmNlIHRvIGJlIGF0dGFjaGVk
LgorICAgICAgICAoV2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c3RhcnRNb25pdG9y
aW5nR2FtZXBhZHMpOiBUaGUgbG9vcCB0aGF0IGl0ZXJhdGVzIGFuZAorICAgICAgICBhZGRzIHBy
ZS1kZXRlY3RlZCBnYW1lcGFkcyBpcyBtb3ZlZCBoZXJlLCBvbmNlIHRoZXJlIGlzIGF0IGxlYXN0
IGEgY2xpZW50LiBUaGlzIHNvbHZlcworICAgICAgICBoaXR0aW5nIGFuIGFzc2VydGlvbiBsYXRl
ciBvbiB3aGVuIFVJR2FtZXBhZFByb3ZpZGVyIGNoZWNrcyB0aGF0IHRoZSBudW1iZXIgb2YgZ2Ft
ZXBhZHMKKyAgICAgICAgaXQgaGFzIGJlZW4gbm90aWZpZWQgb2YgbWF0Y2hlcyB0aGUgYW1vdW50
IHRyYWNrZWQgYnkgTWFuZXR0ZUdhbWVwYWRQcm92aWRlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1h
bmV0dGVHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2FtZXBhZHMpOgorICAgICAgICAo
V2ViQ29yZTo6TWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQ29ubmVjdGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmRldmljZURpc2Nvbm5lY3RlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjppbml0aWFsR2FtZXBh
ZHNDb25uZWN0ZWRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hbmV0dGVHYW1lcGFk
UHJvdmlkZXI6OmlucHV0Tm90aWZpY2F0aW9uVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuaDogRGl0dG8uCisKIDIw
MjAtMTAtMDkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtJbnRlZ3JhdGlvbl0gT3ZlcmZsb3cgY2xpcCBibG9ja3MgdmlzdWFsIG92ZXJmbG93CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGVkODY0MDQ5ZGNjMTU5ZDJkYjAyY2Y2MTdmOTExYmExMzc4OGYxZDUuLmQzNjFiNTI1
ODkzMjFkYTA2NGUyYzI2ZWQzYjk0Mzc2Yjc5MjFiYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMjAtMTAtMDkgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBCdWlsZCBicm9rZW4gd2l0aCBFTkFCTEVfR0FNRVBBRCBlbmFi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTcy
MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmg6IE1hcmsgY2xhc3MgYXMgZmluYWws
IGJlY2F1c2UgdGhlIGRlc3RydWN0b3IgaXMKKyAgICAgICAgZmluYWwgaXRzZWxmLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpudW1iZXJPZkNvbm5lY3RlZEdhbWVwYWRzRm9yVGVzdGluZyk6IFJlb3JnYW5p
emUgUExBVEZPUk0oTUFDKQorICAgICAgICBndWFyZHMgdG8gdXNlIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyIG9ubHkgb24gbWFjT1MsIGFzIGl0IGlzIHVuYXZhaWxhYmxlIG9uIG90aGVy
CisgICAgICAgIHBvcnRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFk
UHJvdmlkZXIuaDogTWFyayBjbGFzcyBhcyBmaW5hbCwgYmVjYXVzZSB0aGUgZGVzdHJ1Y3Rvcgor
ICAgICAgICBpcyBmaW5hbCBpdHNlbGYuCisKIDIwMjAtMTAtMDkgIFBlciBBcm5lIFZvbGxhbiAg
PHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gVXNlIGNvcnJlY3Qg
R1BVIHJ1bnRpbWUgc2V0dGluZ3Mgd2hlbiBjcmVhdGluZyB0aGUgZHluYW1pYyBJT0tpdCBzYW5k
Ym94IGV4dGVuc2lvbnMgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CmluZGV4IGE4NDdiMDVhYjQ0ZTVjZDRhNzA2YmUzMDhjOGI2NDViNTI1NDAwZmUuLjA5YzdjMzlk
OWUwODQ1NDY0YWU1NDcxMmY5NzIwZGNkZDFlYjUxYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAt
MTA5MSw2ICsxMDkxLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwog
ICAgIHBsYXRmb3JtL2dhbWVwYWQvR2FtZXBhZFByb3ZpZGVyLmgKICAgICBwbGF0Zm9ybS9nYW1l
cGFkL0dhbWVwYWRQcm92aWRlckNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ2FtZXBhZC9QbGF0Zm9y
bUdhbWVwYWQuaAorICAgIHBsYXRmb3JtL2dhbWVwYWQvU2hhcmVkR2FtZXBhZFZhbHVlLmgKIAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0FscGhhUHJlbXVsdGlwbGljYXRpb24uaAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvRW1wdHlHYW1lcGFkUHJvdmlkZXIuaAppbmRleCA0Yjc1NDZh
YTA0YWZiZjI2NTg5MjQxZmU1NjMyMTBkM2UxNDJjMzExLi5iZTM3Yzk3YzQyMjllMGJmZTljYjM5
ZWFjNDk2ODY0YWRmZjNmZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL0VtcHR5R2FtZXBhZFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9FbXB0eUdhbWVwYWRQcm92aWRlci5oCkBAIC0zMSw3ICszMSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRW1wdHlHYW1lcGFkUHJvdmlkZXIgOiBwdWJsaWMg
R2FtZXBhZFByb3ZpZGVyIHsKK2NsYXNzIEVtcHR5R2FtZXBhZFByb3ZpZGVyIGZpbmFsIDogcHVi
bGljIEdhbWVwYWRQcm92aWRlciB7CiBwdWJsaWM6CiAgICAgfkVtcHR5R2FtZXBhZFByb3ZpZGVy
KCkgZmluYWwgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuY3BwCmluZGV4IDQzNGMxMWRiMDY2YjIxMGUz
MDBiZmUyZmFjOTcyMmE3ZmIxNmU4M2QuLmMzZDdhMWNjOWE2MTdkOWMyM2NmOGYzY2IzY2Y1MWRj
ZGY5OTQxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFu
ZXR0ZS9NYW5ldHRlR2FtZXBhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2Ft
ZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkLmNwcApAQCAtMTMyLDggKzEzMiwxMyBAQCBNYW5l
dHRlR2FtZXBhZDo6TWFuZXR0ZUdhbWVwYWQoTWFuZXR0ZURldmljZSogZGV2aWNlLCB1bnNpZ25l
ZCBpbmRleCkKICAgICBtX2lkID0gU3RyaW5nOjpmcm9tVVRGOChtYW5ldHRlX2RldmljZV9nZXRf
bmFtZShtX2RldmljZS5nZXQoKSkpOwogICAgIG1fbWFwcGluZyA9IFN0cmluZzo6ZnJvbVVURjgo
InN0YW5kYXJkIik7CiAKLSAgICBtX2F4aXNWYWx1ZXMuZmlsbCgwLCBzdGF0aWNfY2FzdDxzaXpl
X3Q+KFN0YW5kYXJkR2FtZXBhZEF4aXM6OkNvdW50KSk7Ci0gICAgbV9idXR0b25WYWx1ZXMuZmls
bCgwLCBzdGF0aWNfY2FzdDxzaXplX3Q+KFN0YW5kYXJkR2FtZXBhZEJ1dHRvbjo6Q291bnQpKTsK
KyAgICBtX2F4aXNWYWx1ZXMucmVzaXplKHN0YXRpY19jYXN0PHNpemVfdD4oU3RhbmRhcmRHYW1l
cGFkQXhpczo6Q291bnQpKTsKKyAgICBmb3IgKGF1dG8mIHZhbHVlIDogbV9heGlzVmFsdWVzKQor
ICAgICAgICB2YWx1ZS5zZXRWYWx1ZSgwLjApOworCisgICAgbV9idXR0b25WYWx1ZXMucmVzaXpl
KHN0YXRpY19jYXN0PHNpemVfdD4oU3RhbmRhcmRHYW1lcGFkQnV0dG9uOjpDb3VudCkpOworICAg
IGZvciAoYXV0byYgdmFsdWUgOiBtX2J1dHRvblZhbHVlcykKKyAgICAgICAgdmFsdWUuc2V0VmFs
dWUoMC4wKTsKIAogICAgIGdfc2lnbmFsX2Nvbm5lY3QoZGV2aWNlLCAiYnV0dG9uLXByZXNzLWV2
ZW50IiwgR19DQUxMQkFDSyhvbkJ1dHRvblByZXNzRXZlbnQpLCB0aGlzKTsKICAgICBnX3NpZ25h
bF9jb25uZWN0KGRldmljZSwgImJ1dHRvbi1yZWxlYXNlLWV2ZW50IiwgR19DQUxMQkFDSyhvbkJ1
dHRvblJlbGVhc2VFdmVudCksIHRoaXMpOwpAQCAtMTUxLDcgKzE1Niw3IEBAIHZvaWQgTWFuZXR0
ZUdhbWVwYWQ6OmJ1dHRvblByZXNzZWRPclJlbGVhc2VkKE1hbmV0dGVEZXZpY2UqLCBTdGFuZGFy
ZEdhbWVwYWRCdXR0CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKLSAgICBtX2J1dHRvblZhbHVlc1tzdGF0aWNfY2FzdDxpbnQ+
KGJ1dHRvbildID0gcHJlc3NlZCA/IDEuMCA6IDAuMDsKKyAgICBtX2J1dHRvblZhbHVlc1tzdGF0
aWNfY2FzdDxpbnQ+KGJ1dHRvbildLnNldFZhbHVlKHByZXNzZWQgPyAxLjAgOiAwLjApOwogCiAg
ICAgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuZ2FtZXBhZEhhZElucHV0KCp0
aGlzLCBwcmVzc2VkID8gTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6U2hvdWxkTWFrZUdhbWVwYWRz
VmlzaWJsZTo6WWVzIDogTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6U2hvdWxkTWFrZUdhbWVwYWRz
VmlzaWJsZTo6Tm8pOwogfQpAQCAtMTYyLDcgKzE2Nyw3IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWQ6
OmFic29sdXRlQXhpc0NoYW5nZWQoTWFuZXR0ZURldmljZSosIFN0YW5kYXJkR2FtZXBhZEF4aXMg
YXhpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbGFzdFVwZGF0ZVRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKLSAgICBtX2F4aXNWYWx1ZXNbc3RhdGljX2Nhc3Q8aW50PihheGlzKV0gPSB2
YWx1ZTsKKyAgICBtX2F4aXNWYWx1ZXNbc3RhdGljX2Nhc3Q8aW50PihheGlzKV0uc2V0VmFsdWUo
dmFsdWUpOwogCiAgICAgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkuZ2FtZXBh
ZEhhZElucHV0KCp0aGlzLCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpTaG91bGRNYWtlR2FtZXBh
ZHNWaXNpYmxlOjpObyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5oCmluZGV4IDNmYTU5NzRiNzdjYmI3ZDBi
ZWFmMDNkMDA4ZjE0Y2Q5MzQ2NGMxZjUuLjIyZjU4MGQ2N2Y2YmFlYmNkM2IzOGIwZmU5NzVmODRm
NmRjNDA3Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFu
ZXR0ZS9NYW5ldHRlR2FtZXBhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZC5oCkBAIC03MCw4ICs3MCw4IEBAIHB1YmxpYzoKICAg
ICBNYW5ldHRlR2FtZXBhZChNYW5ldHRlRGV2aWNlKiwgdW5zaWduZWQgaW5kZXgpOwogICAgIHZp
cnR1YWwgfk1hbmV0dGVHYW1lcGFkKCk7CiAKLSAgICBjb25zdCBWZWN0b3I8ZG91YmxlPiYgYXhp
c1ZhbHVlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXhpc1ZhbHVlczsgfQotICAgIGNvbnN0
IFZlY3Rvcjxkb3VibGU+JiBidXR0b25WYWx1ZXMoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2J1
dHRvblZhbHVlczsgfQorICAgIGNvbnN0IFZlY3RvcjxTaGFyZWRHYW1lcGFkVmFsdWU+JiBheGlz
VmFsdWVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9heGlzVmFsdWVzOyB9CisgICAgY29uc3Qg
VmVjdG9yPFNoYXJlZEdhbWVwYWRWYWx1ZT4mIGJ1dHRvblZhbHVlcygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fYnV0dG9uVmFsdWVzOyB9CiAKICAgICB2b2lkIGFic29sdXRlQXhpc0NoYW5nZWQo
TWFuZXR0ZURldmljZSosIFN0YW5kYXJkR2FtZXBhZEF4aXMsIGRvdWJsZSB2YWx1ZSk7CiAgICAg
dm9pZCBidXR0b25QcmVzc2VkT3JSZWxlYXNlZChNYW5ldHRlRGV2aWNlKiwgU3RhbmRhcmRHYW1l
cGFkQnV0dG9uLCBib29sIHByZXNzZWQpOwpAQCAtNzksOCArNzksOCBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIEdSZWZQdHI8TWFuZXR0ZURldmljZT4gbV9kZXZpY2U7CiAKLSAgICBWZWN0b3I8
ZG91YmxlPiBtX2J1dHRvblZhbHVlczsKLSAgICBWZWN0b3I8ZG91YmxlPiBtX2F4aXNWYWx1ZXM7
CisgICAgVmVjdG9yPFNoYXJlZEdhbWVwYWRWYWx1ZT4gbV9idXR0b25WYWx1ZXM7CisgICAgVmVj
dG9yPFNoYXJlZEdhbWVwYWRWYWx1ZT4gbV9heGlzVmFsdWVzOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9t
YW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDAwODI0
OTBlY2ZmODQxODBkNzliOTExMzZmMWY2ZWM1NzJmYmJmZjEuLjhjN2IzODU5MDQ4NmRkNTA4MmVj
YTcxODQzOWFmZjA3YzhkNTM3MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92aWRlci5j
cHAKQEAgLTU4LDE2ICs1OCwxMSBAQCBzdGF0aWMgdm9pZCBvbkRldmljZURpc2Nvbm5lY3RlZChN
YW5ldHRlTW9uaXRvciosIE1hbmV0dGVEZXZpY2UqIGRldmljZSwgTWFuZXR0ZQogCiBNYW5ldHRl
R2FtZXBhZFByb3ZpZGVyOjpNYW5ldHRlR2FtZXBhZFByb3ZpZGVyKCkKICAgICA6IG1fbW9uaXRv
cihhZG9wdEdSZWYobWFuZXR0ZV9tb25pdG9yX25ldygpKSkKLSAgICAsIG1fY29ubmVjdGlvbkRl
bGF5VGltZXIoUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmTWFuZXR0ZUdhbWVwYWRQcm92aWRl
cjo6Y29ubmVjdGlvbkRlbGF5VGltZXJGaXJlZCkKKyAgICAsIG1faW5pdGlhbEdhbWVwYWRzQ29u
bmVjdGVkVGltZXIoUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmTWFuZXR0ZUdhbWVwYWRQcm92
aWRlcjo6aW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkVGltZXJGaXJlZCkKICAgICAsIG1faW5wdXRO
b3RpZmljYXRpb25UaW1lcihSdW5Mb29wOjpjdXJyZW50KCksIHRoaXMsICZNYW5ldHRlR2FtZXBh
ZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmlyZWQpCiB7CiAgICAgZ19zaWduYWxf
Y29ubmVjdChtX21vbml0b3IuZ2V0KCksICJkZXZpY2UtY29ubmVjdGVkIiwgR19DQUxMQkFDSyhv
bkRldmljZUNvbm5lY3RlZCksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9tb25pdG9y
LmdldCgpLCAiZGV2aWNlLWRpc2Nvbm5lY3RlZCIsIEdfQ0FMTEJBQ0sob25EZXZpY2VEaXNjb25u
ZWN0ZWQpLCB0aGlzKTsKLQotICAgIE1hbmV0dGVEZXZpY2UqIGRldmljZTsKLSAgICBHVW5pcXVl
UHRyPE1hbmV0dGVNb25pdG9ySXRlcj4gaXRlcihtYW5ldHRlX21vbml0b3JfaXRlcmF0ZShtX21v
bml0b3IuZ2V0KCkpKTsKLSAgICB3aGlsZSAobWFuZXR0ZV9tb25pdG9yX2l0ZXJfbmV4dChpdGVy
LmdldCgpLCAmZGV2aWNlKSkKLSAgICAgICAgZGV2aWNlQ29ubmVjdGVkKGRldmljZSk7CiB9CiAK
IE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6On5NYW5ldHRlR2FtZXBhZFByb3ZpZGVyKCkKQEAgLTg4
LDggKzgzLDE2IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6c3RhcnRNb25pdG9yaW5n
R2FtZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50JiBjbGllCiAgICAgQVNTRVJUKG1fZ2FtZXBh
ZFZlY3Rvci5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX2dhbWVwYWRNYXAuaXNFbXB0eSgpKTsK
IAotICAgIG1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3MgPSBmYWxzZTsKLSAgICBtX2Nvbm5lY3Rp
b25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdChjb25uZWN0aW9uRGVsYXlJbnRlcnZhbCk7CisgICAg
bV9pbml0aWFsR2FtZXBhZHNDb25uZWN0ZWQgPSBmYWxzZTsKKworICAgIC8vIEFueSBjb25uZWN0
aW9ucyB3ZSBhcmUgbm90aWZpZWQgb2Ygd2l0aGluIHRoZSBjb25uZWN0aW9uRGVsYXlJbnRlcnZh
bCBvZiBsaXN0ZW5pbmcgbGlrZWx5IHJlcHJlc2VudAorICAgIC8vIGRldmljZXMgdGhhdCB3ZXJl
IGFscmVhZHkgY29ubmVjdGVkLCBzbyB3ZSBzdXBwcmVzcyBub3RpZnlpbmcgY2xpZW50cyBvZiB0
aGVzZS4KKyAgICBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLnN0YXJ0T25lU2hvdChj
b25uZWN0aW9uRGVsYXlJbnRlcnZhbCk7CisKKyAgICBNYW5ldHRlRGV2aWNlKiBkZXZpY2U7Cisg
ICAgR1VuaXF1ZVB0cjxNYW5ldHRlTW9uaXRvckl0ZXI+IGl0ZXIobWFuZXR0ZV9tb25pdG9yX2l0
ZXJhdGUobV9tb25pdG9yLmdldCgpKSk7CisgICAgd2hpbGUgKG1hbmV0dGVfbW9uaXRvcl9pdGVy
X25leHQoaXRlci5nZXQoKSwgJmRldmljZSkpCisgICAgICAgIGRldmljZUNvbm5lY3RlZChkZXZp
Y2UpOwogfQogCiB2b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2Ft
ZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50JiBjbGllbnQpCkBAIC0xMDAsNyArMTAzLDcgQEAg
dm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjpzdG9wTW9uaXRvcmluZ0dhbWVwYWRzKEdhbWVw
YWRQcm92aWRlckNsaWVudCYgY2xpZW4KICAgICBpZiAoc2hvdWxkQ2xvc2VBbmRVbnNjaGVkdWxl
TWFuYWdlcikgewogICAgICAgICBtX2dhbWVwYWRWZWN0b3IuY2xlYXIoKTsKICAgICAgICAgbV9n
YW1lcGFkTWFwLmNsZWFyKCk7Ci0gICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RvcCgp
OworICAgICAgICBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLnN0b3AoKTsKICAgICB9
CiB9CiAKQEAgLTEyOCwyMSArMTMxLDE5IEBAIHZvaWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6
ZGV2aWNlQ29ubmVjdGVkKE1hbmV0dGVEZXZpY2UqIGRldmljZSkKICAgICBtX2dhbWVwYWRWZWN0
b3JbaW5kZXhdID0gZ2FtZXBhZC5nZXQoKTsKICAgICBtX2dhbWVwYWRNYXAuc2V0KGRldmljZSwg
V1RGTW92ZShnYW1lcGFkKSk7CiAKLSAgICBpZiAoIW1fc2hvdWxkRGlzcGF0Y2hDYWxsYmFja3Mp
IHsKKyAgICBpZiAoIW1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkKSB7CiAgICAgICAgIC8vIFRo
aXMgYWRkZWQgZGV2aWNlIGlzIHRoZSByZXN1bHQgb2YgdXMgc3RhcnRpbmcgdG8gbW9uaXRvciBn
YW1lcGFkcy4KICAgICAgICAgLy8gV2UnbGwgZ2V0IG5vdGlmaWVkIG9mIGFsbCBjb25uZWN0ZWQg
ZGV2aWNlcyBkdXJpbmcgdGhpcyBjdXJyZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AKLSAgICAgICAg
Ly8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVt
LgotICAgICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNl
cXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAotICAgICAgICAvLyBhbnkgY29u
bmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0
aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKLQotICAgICAgICBMT0coR2FtZXBhZCwg
IkRldmljZSAlcCB3YXMgYWRkZWQgd2hpbGUgc3VwcHJlc3NpbmcgY2FsbGJhY2tzLCBzbyB0aGlz
IHNob3VsZCBiZSBhbiAnYWxyZWFkeSBjb25uZWN0ZWQnIGV2ZW50IiwgZGV2aWNlKTsKLQotICAg
ICAgICByZXR1cm47CisgICAgICAgIC8vIGFuZCB0aGUgY2xpZW50IHNob3VsZCBiZSB0b2xkIHRo
ZXkgd2VyZSBhbHJlYWR5IGNvbm5lY3RlZC4KKyAgICAgICAgLy8gVGhlIG1faW5pdGlhbEdhbWVw
YWRzQ29ubmVjdGVkVGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxv
b3AgYWZ0ZXIgd2hpY2gKKyAgICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1
YWwgbmV3IGRldmljZXMgYW5kIGNhbiB0cmlnZ2VyIGdhbWVwYWQgdmlzaWJpbGl0eS4KKyAgICAg
ICAgaWYgKCFtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgICAgICBtX2luaXRpYWxHYW1lcGFkc0Nvbm5lY3RlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAorICAgIGF1dG8gZXZlbnRWaXNpYmlsaXR5ID0gbV9pbml0aWFsR2FtZXBhZHND
b25uZWN0ZWQgPyBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlOjpZZXMgOiBFdmVudE1ha2VzR2Ft
ZXBhZHNWaXNpYmxlOjpObzsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1fY2xpZW50cykKLSAg
ICAgICAgY2xpZW50LT5wbGF0Zm9ybUdhbWVwYWRDb25uZWN0ZWQoKm1fZ2FtZXBhZFZlY3Rvcltp
bmRleF0pOworICAgICAgICBjbGllbnQtPnBsYXRmb3JtR2FtZXBhZENvbm5lY3RlZCgqbV9nYW1l
cGFkVmVjdG9yW2luZGV4XSwgZXZlbnRWaXNpYmlsaXR5KTsKIH0KIAogdm9pZCBNYW5ldHRlR2Ft
ZXBhZFByb3ZpZGVyOjpkZXZpY2VEaXNjb25uZWN0ZWQoTWFuZXR0ZURldmljZSogZGV2aWNlKQpA
QCAtMTUyLDEwICsxNTMsNiBAQCB2b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI6OmRldmljZURp
c2Nvbm5lY3RlZChNYW5ldHRlRGV2aWNlKiBkZXZpY2UpCiAgICAgc3RkOjp1bmlxdWVfcHRyPE1h
bmV0dGVHYW1lcGFkPiByZW1vdmVkR2FtZXBhZCA9IHJlbW92ZUdhbWVwYWRGb3JEZXZpY2UoZGV2
aWNlKTsKICAgICBBU1NFUlQocmVtb3ZlZEdhbWVwYWQpOwogCi0gICAgLy8gQW55IHRpbWUgd2Ug
Z2V0IGEgZGV2aWNlIHJlbW92ZWQgY2FsbGJhY2sgd2Uga25vdyBpdCdzIGEgcmVhbCBldmVudCBh
bmQgbm90IGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQuCi0gICAgLy8gV2Ugc2hvdWxkIGFs
d2F5cyBzdG9wIHN1cHByZXNzaW5nIGNhbGxiYWNrcyB3aGVuIHdlIHJlY2VpdmUgc3VjaCBhbiBl
dmVudC4KLSAgICBtX3Nob3VsZERpc3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKLQogICAgIGZvciAo
YXV0byYgY2xpZW50IDogbV9jbGllbnRzKQogICAgICAgICBjbGllbnQtPnBsYXRmb3JtR2FtZXBh
ZERpc2Nvbm5lY3RlZCgqcmVtb3ZlZEdhbWVwYWQpOwogfQpAQCAtMTY5LDE3ICsxNjYsMTQgQEAg
dW5zaWduZWQgTWFuZXR0ZUdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JOZXdseUNvbm5lY3RlZERl
dmljZSgpCiAgICAgcmV0dXJuIGluZGV4OwogfQogCi12b2lkIE1hbmV0dGVHYW1lcGFkUHJvdmlk
ZXI6OmNvbm5lY3Rpb25EZWxheVRpbWVyRmlyZWQoKQordm9pZCBNYW5ldHRlR2FtZXBhZFByb3Zp
ZGVyOjppbml0aWFsR2FtZXBhZHNDb25uZWN0ZWRUaW1lckZpcmVkKCkKIHsKLSAgICBtX3Nob3Vs
ZERpc3BhdGNoQ2FsbGJhY2tzID0gdHJ1ZTsKLQotICAgIGZvciAoYXV0byogY2xpZW50IDogbV9j
bGllbnRzKQotICAgICAgICBjbGllbnQtPnNldEluaXRpYWxDb25uZWN0ZWRHYW1lcGFkcyhtX2dh
bWVwYWRWZWN0b3IpOworICAgIG1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkID0gdHJ1ZTsKIH0K
IAogdm9pZCBNYW5ldHRlR2FtZXBhZFByb3ZpZGVyOjppbnB1dE5vdGlmaWNhdGlvblRpbWVyRmly
ZWQoKQogewotICAgIGlmICghbV9zaG91bGREaXNwYXRjaENhbGxiYWNrcykKKyAgICBpZiAoIW1f
aW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkKQogICAgICAgICByZXR1cm47CiAKICAgICBkaXNwYXRj
aFBsYXRmb3JtR2FtZXBhZElucHV0QWN0aXZpdHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hbmV0dGUvTWFuZXR0ZUdhbWVwYWRQcm92
aWRlci5oCmluZGV4IGJmN2E3ZGRlZDM2ZGU1MDNkYTI4MTgzZGQyMWU3M2ZlY2JmYWRhNjkuLjUz
YzE0MDVjOTZjYTM2YTAzNTRiYTEwYjBiNGFkOWEwMzQ1ZGIwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFuZXR0ZS9NYW5ldHRlR2FtZXBhZFByb3ZpZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYW5ldHRlL01hbmV0dGVH
YW1lcGFkUHJvdmlkZXIuaApAQCAtNjIsMTUgKzYyLDE1IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPE1hbmV0dGVHYW1lcGFkPiByZW1vdmVHYW1lcGFkRm9yRGV2aWNlKE1hbmV0dGVE
ZXZpY2UqKTsKIAogICAgIHVuc2lnbmVkIGluZGV4Rm9yTmV3bHlDb25uZWN0ZWREZXZpY2UoKTsK
LSAgICB2b2lkIGNvbm5lY3Rpb25EZWxheVRpbWVyRmlyZWQoKTsKKyAgICB2b2lkIGluaXRpYWxH
YW1lcGFkc0Nvbm5lY3RlZFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGlucHV0Tm90aWZpY2F0aW9u
VGltZXJGaXJlZCgpOwogCiAgICAgVmVjdG9yPFBsYXRmb3JtR2FtZXBhZCo+IG1fZ2FtZXBhZFZl
Y3RvcjsKICAgICBIYXNoTWFwPE1hbmV0dGVEZXZpY2UqLCBzdGQ6OnVuaXF1ZV9wdHI8TWFuZXR0
ZUdhbWVwYWQ+PiBtX2dhbWVwYWRNYXA7Ci0gICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoQ2FsbGJh
Y2tzIHsgZmFsc2UgfTsKKyAgICBib29sIG1faW5pdGlhbEdhbWVwYWRzQ29ubmVjdGVkIHsgZmFs
c2UgfTsKIAogICAgIEdSZWZQdHI8TWFuZXR0ZU1vbml0b3I+IG1fbW9uaXRvcjsKLSAgICBSdW5M
b29wOjpUaW1lcjxNYW5ldHRlR2FtZXBhZFByb3ZpZGVyPiBtX2Nvbm5lY3Rpb25EZWxheVRpbWVy
OworICAgIFJ1bkxvb3A6OlRpbWVyPE1hbmV0dGVHYW1lcGFkUHJvdmlkZXI+IG1faW5pdGlhbEdh
bWVwYWRzQ29ubmVjdGVkVGltZXI7CiAgICAgUnVuTG9vcDo6VGltZXI8TWFuZXR0ZUdhbWVwYWRQ
cm92aWRlcj4gbV9pbnB1dE5vdGlmaWNhdGlvblRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5oCmluZGV4IGNiNDI2
MmUzOGM3ZTU3MWMxMThkMzM3YTEzODc5MmQ0YTlmMmM1NGYuLjI3MDFmOTlkYzk3NDY2MmNiYjM2
NTdlMDY5NTU4MWY4YzZhZTk0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgV2Vi
UGFnZVByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiBjbGFzcyBHYW1lcGFkRGF0YTsKIAot
Y2xhc3MgVUlHYW1lcGFkUHJvdmlkZXIgOiBwdWJsaWMgV2ViQ29yZTo6R2FtZXBhZFByb3ZpZGVy
Q2xpZW50IHsKK2NsYXNzIFVJR2FtZXBhZFByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6
OkdhbWVwYWRQcm92aWRlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFVJR2FtZXBhZFBy
b3ZpZGVyJiBzaW5nbGV0b24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IDhkOTg3YmI2NmQxNDM0MDg5NjEyOGQ3MzkzMGYyYTFjYWRkNjk5YTYu
LjZjNjY1Njc2Yzg4NzI3MjI0OTEyMjI3OTNiMDZhZjZkNjFhNTJhNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE1NjksMTQgKzE1NjksMTYgQEAg
c2l6ZV90IFdlYlByb2Nlc3NQb29sOjpudW1iZXJPZkNvbm5lY3RlZEdhbWVwYWRzRm9yVGVzdGlu
ZyhHYW1lcGFkVHlwZSBnYW1lcGFkVHkKICAgICBzd2l0Y2ggKGdhbWVwYWRUeXBlKSB7CiAgICAg
Y2FzZSBHYW1lcGFkVHlwZTo6QWxsOgogICAgICAgICByZXR1cm4gVUlHYW1lcGFkUHJvdmlkZXI6
OnNpbmdsZXRvbigpLm51bWJlck9mQ29ubmVjdGVkR2FtZXBhZHMoKTsKLSAgICBjYXNlIEdhbWVw
YWRUeXBlOjpISUQ6CiAjaWYgUExBVEZPUk0oTUFDKQorICAgIGNhc2UgR2FtZXBhZFR5cGU6OkhJ
RDoKICAgICAgICAgcmV0dXJuIEhJREdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkubnVtYmVy
T2ZDb25uZWN0ZWRHYW1lcGFkcygpOwotI2Vsc2UKLSAgICAgICAgcmV0dXJuIDA7Ci0jZW5kaWYK
ICAgICBjYXNlIEdhbWVwYWRUeXBlOjpHYW1lQ29udHJvbGxlckZyYW1ld29yazoKICAgICAgICAg
cmV0dXJuIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKS5udW1iZXJP
ZkNvbm5lY3RlZEdhbWVwYWRzKCk7CisjZWxzZQorICAgIGNhc2UgR2FtZXBhZFR5cGU6OkhJRDoK
KyAgICBjYXNlIEdhbWVwYWRUeXBlOjpHYW1lQ29udHJvbGxlckZyYW1ld29yazoKKyAgICAgICAg
cmV0dXJuIDA7CisjZW5kaWYKICAgICB9CiAjZWxzZQogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dhbWVwYWQvV2ViR2FtZXBhZFByb3ZpZGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaApp
bmRleCA4YTE3ZjkwODRiNjY5M2Q1NjY4OTM0OGMyZjNlOTNmZTJjNGY2YWJjLi5mODIxMTE3MTIz
ODRhNmE4NzJhYzY5MTY3ZWQ0MTRiNTgwZDUwNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR2FtZXBhZC9XZWJHYW1lcGFkUHJvdmlkZXIuaApAQCAtNDMsNyArNDMs
NyBAQCBjbGFzcyBXZWJHYW1lcGFkOwogCiBjbGFzcyBHYW1lcGFkRGF0YTsKIAotY2xhc3MgV2Vi
R2FtZXBhZFByb3ZpZGVyIDogcHVibGljIFdlYkNvcmU6OkdhbWVwYWRQcm92aWRlciB7CitjbGFz
cyBXZWJHYW1lcGFkUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6R2FtZXBhZFByb3Zp
ZGVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViR2FtZXBhZFByb3ZpZGVyJiBzaW5nbGV0b24o
KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>