<?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>172007</bug_id>
          
          <creation_ts>2017-05-11 18:37:51 -0700</creation_ts>
          <short_desc>Drop remaining uses of PassRefPtr under platform/</short_desc>
          <delta_ts>2017-05-11 20:15:05 -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>Platform</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1307663</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 18:37:51 -0700</bug_when>
    <thetext>Drop remaining uses of PassRefPtr under platform/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307664</commentid>
    <comment_count>1</comment_count>
      <attachid>309843</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 18:40:54 -0700</bug_when>
    <thetext>Created attachment 309843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307669</commentid>
    <comment_count>2</comment_count>
      <attachid>309846</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 18:52:45 -0700</bug_when>
    <thetext>Created attachment 309846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307719</commentid>
    <comment_count>3</comment_count>
      <attachid>309846</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-05-11 20:03:53 -0700</bug_when>
    <thetext>Comment on attachment 309846
Patch

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

rs=me

&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:147
&gt; +static bool MockSourceBufferPrivateHasAudio(MockSourceBufferPrivate* sourceBuffer)

Maybe MockSourceBufferPrivate&amp;?

&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:157
&gt; +static bool MockSourceBufferPrivateHasVideo(MockSourceBufferPrivate* sourceBuffer)

Maybe MockSourceBufferPrivate&amp;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307720</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-05-11 20:05:10 -0700</bug_when>
    <thetext>Wait, if you want Chris to fix that, you can&apos;t cq+ it. commit-queue will just land it as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307721</commentid>
    <comment_count>5</comment_count>
      <attachid>309846</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-11 20:05:44 -0700</bug_when>
    <thetext>Comment on attachment 309846
Patch

Rejecting attachment 309846 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 309846, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
entMock.h
patching file Source/WebCore/platform/mock/RTCNotifiersMock.cpp
patching file Source/WebCore/platform/mock/RTCNotifiersMock.h
patching file Source/WebCore/platform/mock/TimerEventBasedMock.h
patching file Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp
patching file Source/WebCore/platform/wpe/RenderThemeWPE.h

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Geoffrey Garen&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/3723135</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307722</commentid>
    <comment_count>6</comment_count>
      <attachid>309846</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 20:07:29 -0700</bug_when>
    <thetext>Comment on attachment 309846
Patch

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

&gt;&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:147
&gt;&gt; +static bool MockSourceBufferPrivateHasAudio(MockSourceBufferPrivate* sourceBuffer)
&gt; 
&gt; Maybe MockSourceBufferPrivate&amp;?

This is passed to std::any_of() with a vector that contains raw pointers.

&gt;&gt; Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:157
&gt;&gt; +static bool MockSourceBufferPrivateHasVideo(MockSourceBufferPrivate* sourceBuffer)
&gt; 
&gt; Maybe MockSourceBufferPrivate&amp;?

This is passed to std::any_of() with a vector that contains raw pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307723</commentid>
    <comment_count>7</comment_count>
      <attachid>309855</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 20:08:56 -0700</bug_when>
    <thetext>Created attachment 309855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307727</commentid>
    <comment_count>8</comment_count>
      <attachid>309855</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 20:15:03 -0700</bug_when>
    <thetext>Comment on attachment 309855
Patch

Clearing flags on attachment: 309855

Committed r216724: &lt;http://trac.webkit.org/changeset/216724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1307728</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-11 20:15:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309843</attachid>
            <date>2017-05-11 18:40:54 -0700</date>
            <delta_ts>2017-05-11 18:52:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172007-20170511184052.patch</filename>
            <type>text/plain</type>
            <size>26226</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyMThlNzVhNDhkOTA1
NTM3ZWEwMDA3OWNkNGYwOWE2ZjU5Y2ZjZS4uODVmZTBiMmI5NDJjMzhiY2JhNWExYjdlMzYyNmEw
NGYzZjA0OGI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE3LTA1LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCByZW1haW5pbmcgdXNl
cyBvZiBQYXNzUmVmUHRyIHVuZGVyIHBsYXRmb3JtLworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93cGUvSW1hZ2VXUEUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvTGVnYWN5VGlsZUdyaWQubW06CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlR3Jp
ZDo6dGlsZUZvckluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkOjp0aWxl
Rm9yUG9pbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkVGlsZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q6OnNldEV4dHJhRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0
aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6c2V0UG9zaXRpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Vzc2lvblJlcXVlc3ROb3RpZmllcjo6ZmlyZSk6CisgICAgICAgIChXZWJD
b3JlOjpWb2lkUmVxdWVzdE5vdGlmaWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnRC
YXNlZE1vY2s6OnJlbW92ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRp
bWVyRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGltZXJGaXJlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8p
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbyk6Cisg
ICAgICAgICogcGxhdGZvcm0vd3BlL1JlbmRlclRoZW1lV1BFLmg6CisKKzIwMTctMDUtMTEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdG9wIHVzaW5nIFBhc3NS
ZWZQdHIgaW4gcGxhdGZvcm0vZ3JhcGhpY3MKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MTk3NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93cGUvSW1hZ2VXUEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd3BlL0ltYWdlV1BFLmNwcAppbmRleCA0ODQzODY4NzkxYThiNTFiOTU3YTli
NzNjNDgxMmM2ZTZkZTlhZWNjLi5jM2MxMzQxNjc2YWM0N2ZjNDQ1N2RlNzA4MTBkNzE1MzJjODcy
ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93cGUvSW1h
Z2VXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dwZS9JbWFn
ZVdQRS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6aW52YWxpZGF0ZVBs
YXRmb3JtRGF0YSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8SW1hZ2U+IEltYWdlOjpsb2FkUGxhdGZv
cm1SZXNvdXJjZShjb25zdCBjaGFyKiByZXNvdXJjZSkKK1JlZjxJbWFnZT4gSW1hZ2U6OmxvYWRQ
bGF0Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIqIHJlc291cmNlKQogewogICAgIFdURkxvZ0Fsd2F5
cygiV0FSTklORzogdHJ5aW5nIHRvIGxvYWQgcGxhdGZvcm0gcmVzb3VyY2UgJyVzJyIsIHJlc291
cmNlKTsKICAgICByZXR1cm4gQml0bWFwSW1hZ2U6OmNyZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaAppbmRleCA1N2IwZDdkMmI3MzZlZGJkMmJl
Njc4ZTNkZTI1YzkzYTA3MWFhYmFlLi45YmZiYTA3YjczMTJlMmQ4YmUyNTY4OWI1M2ZlNzAwOWJk
OWZlNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQu
aApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJMZWdh
Y3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogI2RlZmluZSBMT0dfVElMSU5HIDAKQEAgLTk3LDkgKzk3LDkgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgYWRkVGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYpOwogCi0gICAg
UGFzc1JlZlB0cjxMZWdhY3lUaWxlR3JpZFRpbGU+IHRpbGVGb3JJbmRleChjb25zdCBUaWxlSW5k
ZXgmKSBjb25zdDsKKyAgICBSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiB0aWxlRm9ySW5kZXgo
Y29uc3QgVGlsZUluZGV4JikgY29uc3Q7CiAgICAgSW50UmVjdCB0aWxlUmVjdEZvckluZGV4KGNv
bnN0IFRpbGVJbmRleCYpIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxl
PiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKKyAgICBSZWZQdHI8TGVnYWN5
VGlsZUdyaWRUaWxlPiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICBU
aWxlSW5kZXggdGlsZUluZGV4Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAogICAg
IEludFJlY3QgYWRqdXN0Q292ZXJSZWN0Rm9yUGFnZUJvdW5kcyhjb25zdCBJbnRSZWN0JikgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdy
aWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQubW0KaW5k
ZXggMWQ0NzkzOWUwN2Q1NjAyNzE5OWJhNjM2MjE2ZTIwMTNlNWYwMDI2Mi4uOWU2MGQ2M2RmNjdk
MDZmZDZhYTU5YmMwZmM2Y2UxNGQwNDExYzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQpAQCAtMTgwLDcgKzE4MCw3IEBAIEludFJlY3QgTGVn
YWN5VGlsZUdyaWQ6OmJvdW5kcygpIGNvbnN0CiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
KSwgSW50U2l6ZShbdGlsZUhvc3RMYXllcigpIHNpemVdKSk7CiB9CiAKLVBhc3NSZWZQdHI8TGVn
YWN5VGlsZUdyaWRUaWxlPiBMZWdhY3lUaWxlR3JpZDo6dGlsZUZvckluZGV4KGNvbnN0IFRpbGVJ
bmRleCYgaW5kZXgpIGNvbnN0CitSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiBMZWdhY3lUaWxl
R3JpZDo6dGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYgaW5kZXgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fdGlsZXMuZ2V0KGluZGV4KTsKIH0KQEAgLTI0MCw3ICsyNDAsNyBAQCB2b2lkIExl
Z2FjeVRpbGVHcmlkOjpjZW50ZXJUaWxlR3JpZE9yaWdpbihjb25zdCBJbnRSZWN0JiB2aXNpYmxl
UmVjdCkKICAgICBtX29yaWdpbiA9IG5ld09yaWdpbjsKIH0KIAotUGFzc1JlZlB0cjxMZWdhY3lU
aWxlR3JpZFRpbGU+IExlZ2FjeVRpbGVHcmlkOjp0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQm
IHBvaW50KSBjb25zdAorUmVmUHRyPExlZ2FjeVRpbGVHcmlkVGlsZT4gTGVnYWN5VGlsZUdyaWQ6
OnRpbGVGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IHRpbGVGb3JJbmRleCh0aWxlSW5kZXhGb3JQb2ludChwb2ludCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5oCmluZGV4IGViOGVmZWVh
OGEyZWJjYTYwYWYwYzQ2NzIyMGEyNjNlMTg3ODEyYWUuLjkzZDVmMzU5YjhmNjUxYWU0YzY1OTM1
N2M5ZWE3ZWEwZmUzOGYyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9MZWdhY3lUaWxlR3JpZFRpbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWRUaWxlLmgKQEAgLTQyLDcgKzQyLDEwIEBAIGNsYXNzIExlZ2FjeVRpbGVH
cmlkOwogLy8gUmVmY291bnQgdGhlIHRpbGVzIHNvIHRoZXkgd29yayBuaWNlbHkgaW4gdmVjdG9y
IGFuZCB3ZSBrbm93IHdoZW4gdG8gcmVtb3ZlIHRoZSB0aWxlIGxheWVyIGZyb20gdGhlIHBhcmVu
dC4KIGNsYXNzIExlZ2FjeVRpbGVHcmlkVGlsZSA6IHB1YmxpYyBSZWZDb3VudGVkPExlZ2FjeVRp
bGVHcmlkVGlsZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExlZ2FjeVRpbGVH
cmlkVGlsZT4gY3JlYXRlKExlZ2FjeVRpbGVHcmlkKiBncmlkLCBjb25zdCBJbnRSZWN0JiByZWN0
KSB7IHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+KG5ldyBMZWdhY3lUaWxlR3Jp
ZFRpbGUoZ3JpZCwgcmVjdCkpOyB9CisgICAgc3RhdGljIFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+
IGNyZWF0ZShMZWdhY3lUaWxlR3JpZCogZ3JpZCwgY29uc3QgSW50UmVjdCYgcmVjdCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+KCpuZXcgTGVnYWN5
VGlsZUdyaWRUaWxlKGdyaWQsIHJlY3QpKTsKKyAgICB9CiAgICAgfkxlZ2FjeVRpbGVHcmlkVGls
ZSgpOwogCiAgICAgTGVnYWN5VGlsZUxheWVyKiB0aWxlTGF5ZXIoKSBjb25zdCB7IHJldHVybiBt
X3RpbGVMYXllci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcAppbmRl
eCA3Zjc1MzhlZWRkZWY0ZGYyZDI4MzliN2MwMDVhN2IyZmYyOWE3NmU2Li5lZDIwYTY3MDY0ZmNh
YzdlNzRiODU4NmNmOWUxN2YwZTY5NTFjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yLmNwcApAQCAtMzYsOSArMzYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NS
ZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4gUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRv
cjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBTdHJpbmcmIHNkcE1pZCwg
dW5zaWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCkKK1JlZjxSVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yPiBSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBjYW5k
aWRhdGUsIGNvbnN0IFN0cmluZyYgc2RwTWlkLCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcihj
YW5kaWRhdGUsIHNkcE1pZCwgc2RwTUxpbmVJbmRleCkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoY2FuZGlkYXRlLCBzZHBNaWQsIHNkcE1MaW5l
SW5kZXgpKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcjo6UlRDSWNlQ2FuZGlkYXRl
RGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29uc3QgU3RyaW5nJiBzZHBNaWQs
IHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
LmgKaW5kZXggZjczMjI4ODA2NDQxZmNmZWQ3OWMxYWQwZTI5MmRmOGI2YTBkMjZmMC4uZWZlYzUw
NTk4NjYzNmNkOTBmNTkyZWJjOWRkNTYyOTU5NzQ4NDg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZURl
c2NyaXB0b3IuaApAQCAtMzMsNyArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKLSNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBA
IC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0
b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNj
cmlwdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0IFN0cmluZyYgc2Rw
TWlkLCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4KTsKKyAgICBzdGF0aWMgUmVmPFJUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29u
c3QgU3RyaW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpOwogICAgIHZp
cnR1YWwgflJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoKTsKIAogICAgIGNvbnN0IFN0cmluZyYg
Y2FuZGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5kaWRhdGU7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKaW5kZXggOTU2YTlkNjJjNmI0YmM1YzRiOWMyNmZjM2Iw
ZWFmMDcyYWIxZjFkZC4uOGUzMzEzNGE0YTM1ZjcwYmYwZTAwM2ExZGY4ODY1NmFhM2U2ZDRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKQEAgLTM2LDcgKzM2LDcg
QEAKICNpbmNsdWRlICJSVENJY2VDb25uZWN0aW9uU3RhdGUuaCIKICNpbmNsdWRlICJSVENJY2VH
YXRoZXJpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1NpZ25hbGluZ1N0YXRlLmgiCi0jaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDksMTEgKzQ5LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBu
ZWdvdGlhdGlvbk5lZWRlZCgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VD
YW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShSZWZQdHI8UlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvcj4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VTaWduYWxp
bmdTdGF0ZShSVENTaWduYWxpbmdTdGF0ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VJY2VHYXRoZXJpbmdTdGF0ZShSVENJY2VHYXRoZXJpbmdTdGF0ZSkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29ubmVjdGlvblN0YXRl
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3Ry
ZWFtKFJlZlB0cjxNZWRpYVN0cmVhbVByaXZhdGU+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKE1lZGlhU3RyZWFtUHJpdmF0ZSopID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQWRkUmVtb3RlRGF0YUNoYW5uZWwoc3RkOjp1bmlxdWVfcHRyPFJUQ0RhdGFD
aGFubmVsSGFuZGxlcj4pID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuY3BwCmluZGV4IDQ5MzIxOWVmMGUyZGIzOGNhNWYyMTk5NWQxOTUyY2UyODdhYjI4
YjMuLmNmODA0OTU3YTczZjdmNWQxM2NmMzU0MTEwZGRlMTE1ZTBhMTkwNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCkBAIC0zNiw5ICszNiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUoY29uc3Qg
U3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKK1JlZjxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUoY29u
c3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IodHlwZSwgc2RwKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcih0eXBl
LCBzZHApKTsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
c2RwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oCmluZGV4IGVhYmRm
ODQ2ZmU0YWFhODk2NWI5OTM2OTNiZDU4NDY3NTkwOTVkNTUuLjFlYzllZWE3ZTU0OTQ3MzFkNDkz
NTg3ZDI3NGM1MTkwY2FmMmVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAt
NDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBzZHApOworICAgIHN0YXRpYyBSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBzZHApOwogICAg
IHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uUmVxdWVzdC5oCmluZGV4IDZhZTBlMzJjODRmM2Y3ZTNlNzQ1NTQ2YTlhZDc4NmNj
MDdlYWQ0YTguLjk4OWYzYzFjMjBmODljMDgwN2ZlOGViYmY1ZDdkYWQ4MGQyYjg3YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lm
IEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTUxLDExICs1MCwxMSBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFN1Y2NlZWRlZChQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNjZWVkZWQoUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dEZhaWxlZChjb25zdCBTdHJpbmcmIGVycm9yKSA9IDA7CiAKLSAgICBQYXNzUmVmUHRyPEV4dHJh
RGF0YT4gZXh0cmFEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9leHRyYURhdGE7IH0KLSAgICB2b2lk
IHNldEV4dHJhRGF0YShQYXNzUmVmUHRyPEV4dHJhRGF0YT4gZXh0cmFEYXRhKSB7IG1fZXh0cmFE
YXRhID0gZXh0cmFEYXRhOyB9CisgICAgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2V4dHJhRGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0RXh0cmFEYXRhKFJlZlB0cjxF
eHRyYURhdGE+JiYgZXh0cmFEYXRhKSB7IG1fZXh0cmFEYXRhID0gZXh0cmFEYXRhOyB9CiAKIHBy
b3RlY3RlZDoKICAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggNTQwYWQyMWQ2MjZlNGYxMDE5MGM5MDg4NDI4ZWRm
ODcwYmIwYzUyNS4uMWEyNTc5MzM2NDg4YTMxMmZhYmVmYjQwOTc0MjYxMzM5NmRjODliOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
IkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1
ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIgotI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAppbmRleCA3YzIyMzBmMmRlZjZjZmFiODcyNjc3
NzBiMTg4NWVmMmQ4ZWM3M2NiLi40NjBiNzZlZTM5YzQxZDBhNmE2NWIzZWI0YjdkOTIyYThiOTVi
ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKQEAgLTM1
LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKICNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCmluZGV4IGZjMzIzNjAxOGY1MjRhMTEwNDM1
NjY4MzUxYzM0N2E1M2U5OGMzOTMuLjg3Yzk0YjE0MzRkYTg5ODRlMjNiYTQwMGMyMzhmYjA3NjFm
YzcyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29w
ZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmNwcApAQCAtMTc0LDcgKzE3NCw3IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3VyY2VzKQogCiB9CiAK
LVBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93cjo6Zmlyc3RTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlKQorUmVhbHRp
bWVNZWRpYVNvdXJjZSogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6Zmlyc3RTb3VyY2Uo
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlKQogewogICAgIGZvciAoYXV0byBpdGVyID0g
bV9zb3VyY2VNYXAuYmVnaW4oKTsgaXRlciAhPSBtX3NvdXJjZU1hcC5lbmQoKTsgKytpdGVyKSB7
CiAgICAgICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2UgPSBpdGVyLT52YWx1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53
ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
LmgKaW5kZXggMzI4NTE4NzI3NGJhY2Y0MTJjNzlkMjY0NDAyNjdlYjk3OTdiNDU2Ny4uMDEwZTM5
YTZkOGQ2ZTk3ZmU0ZGExZjc0ZDBjNGQ0ODZhMjk0NmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3Bl
bndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmgKQEAgLTM4LDcgKzM4LDcgQEAK
ICNpbmNsdWRlICJDYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlT3dyLmgiCi0j
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjcsNyArNjcsNyBAQCBwcml2YXRlOgogICAgIENhcHR1
cmVEZXZpY2VNYW5hZ2VyJiBkZWZhdWx0QXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpIGZpbmFs
IHsgcmV0dXJuIG1fZGVmYXVsdEF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXI7IH0KICAgICBDYXB0
dXJlRGV2aWNlTWFuYWdlciYgZGVmYXVsdFZpZGVvQ2FwdHVyZURldmljZU1hbmFnZXIoKSBmaW5h
bCB7IHJldHVybiBtX2RlZmF1bHRWaWRlb0NhcHR1cmVEZXZpY2VNYW5hZ2VyOyB9CiAKLSAgICBQ
YXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGZpcnN0U291cmNlKFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2UqIGZpcnN0U291cmNlKFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VPd3JNYXAgbV9z
b3VyY2VNYXA7CiAgICAgVmFsaWRDb25zdHJhaW50c0hhbmRsZXIgbV92YWxpZENvbnN0cmFpbnRz
SGFuZGxlcjsKICAgICBJbnZhbGlkQ29uc3RyYWludHNIYW5kbGVyIG1faW52YWxpZENvbnN0cmFp
bnRzSGFuZGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2
aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAppbmRleCAyMWRmZWRkMzZhNTc1NDhk
YTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0Li41NWVmNzAxNGQ5Y2Q5Yzc0YmM1MjA3NzgwNTUzNTQw
Njg4NmQ5ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCkBAIC01NSw5ICs1NSw5IEBAIHZv
aWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpzdG9wVXBkYXRpbmcoKQogICAgIG1fdGlt
ZXIuc3RvcCgpOwogfQogCi12b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3Jp
ZW50YXRpb24oUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+IG9yaWVudGF0aW9uKQor
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFJlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbkRhdGE+JiYgb3JpZW50YXRpb24pCiB7Ci0gICAgbV9vcmllbnRhdGlv
biA9IG9yaWVudGF0aW9uOworICAgIG1fb3JpZW50YXRpb24gPSBXVEZNb3ZlKG9yaWVudGF0aW9u
KTsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaAppbmRleCAx
Mzg0YWYyZTZiYzc0YjgyNTI0NTQwYjYyMzFiNjJiZGRjZDM5OGU3Li40NzRkMDI2OTQzMTcwY2E0
Y2UxMjhjNDVmMzRkMjk0YjU4ZmEzMzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJU
aW1lci5oIgogCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDcgQEAgcHVibGljOgog
ICAgIERldmljZU9yaWVudGF0aW9uRGF0YSogbGFzdE9yaWVudGF0aW9uKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgZGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkgb3ZlcnJpZGUgeyB9CiAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25EYXRh
Pik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRPcmllbnRhdGlvbihSZWZQdHI8RGV2aWNl
T3JpZW50YXRpb25EYXRhPiYmKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGll
bnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGll
bnRNb2NrLmNwcAppbmRleCA3NTRhODI1Y2FlNTQ0NzllMTRkZDFlMzAwYzQyY2QxMmUzZmM5ODg0
Li40NWY1ZGE5MGY4OTE3NmMwN2FhMjU0MzFiNWRiOWZjNjRjODg4Nzg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
CkBAIC02MSw5ICs2MSw5IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpzZXRDb250cm9s
bGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlciAqY29udHJvbGxlcikKICAgICBtX2NvbnRyb2xsZXIg
PSBjb250cm9sbGVyOwogfQogCi12b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6c2V0UG9zaXRp
b24oUGFzc1JlZlB0cjxHZW9sb2NhdGlvblBvc2l0aW9uPiBwb3NpdGlvbikKK3ZvaWQgR2VvbG9j
YXRpb25DbGllbnRNb2NrOjpzZXRQb3NpdGlvbihSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4m
JiBwb3NpdGlvbikKIHsKLSAgICBtX2xhc3RQb3NpdGlvbiA9IHBvc2l0aW9uOworICAgIG1fbGFz
dFBvc2l0aW9uID0gV1RGTW92ZShwb3NpdGlvbik7CiAgICAgY2xlYXJFcnJvcigpOwogICAgIGFz
eW5jVXBkYXRlQ29udHJvbGxlcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKaW5kZXggYjEzOTg3NzI5OWViYjJlMTUw
MmI3ZWFiYmY2ZGNlNTQ0NmYzMGFjYy4uM2Q1Mjc5YjUzZjYzMTQ5NmE0NDc5OTZmZGYxYzIwY2Iw
YTUyOTcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2Nh
dGlvbkNsaWVudE1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xv
Y2F0aW9uQ2xpZW50TW9jay5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiR2VvbG9jYXRp
b25DbGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU0LDcgKzUzLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzZXQoKTsKICAgICB2b2lkIHNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25D
b250cm9sbGVyKik7CiAKLSAgICB2b2lkIHNldFBvc2l0aW9uKFBhc3NSZWZQdHI8R2VvbG9jYXRp
b25Qb3NpdGlvbj4pOworICAgIHZvaWQgc2V0UG9zaXRpb24oUmVmUHRyPEdlb2xvY2F0aW9uUG9z
aXRpb24+JiYpOwogICAgIHZvaWQgc2V0UG9zaXRpb25VbmF2YWlsYWJsZUVycm9yKGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKTsKICAgICB2b2lkIHNldFBlcm1pc3Npb24oYm9vbCBhbGxvd2Vk
KTsKICAgICBpbnQgbnVtYmVyT2ZQZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcApp
bmRleCA1MDgwYmY2YzEwN2NmNDBiN2JkNjhkNjhjYTI4OWFiYjE1MDA3YmM2Li44OGQ5YzE4NTdm
ZjkzZjFmMmEwNjRmMzk1ZGNiYjBmOTI0OWNmZWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKQEAgLTM4LDkgKzM4LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXNzaW9uUmVxdWVzdE5vdGlmaWVyOjpTZXNzaW9uUmVx
dWVzdE5vdGlmaWVyKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdD4gcmVx
dWVzdCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlw
dG9yLCBjb25zdCBTdHJpbmcmIGVycm9yTmFtZSkKLSAgICA6IG1fcmVxdWVzdChyZXF1ZXN0KQot
ICAgICwgbV9kZXNjcmlwdG9yKGRlc2NyaXB0b3IpCitTZXNzaW9uUmVxdWVzdE5vdGlmaWVyOjpT
ZXNzaW9uUmVxdWVzdE5vdGlmaWVyKFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0
PiYmIHJlcXVlc3QsIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiYmIGRl
c2NyaXB0b3IsIGNvbnN0IFN0cmluZyYgZXJyb3JOYW1lKQorICAgIDogbV9yZXF1ZXN0KFdURk1v
dmUocmVxdWVzdCkpCisgICAgLCBtX2Rlc2NyaXB0b3IoV1RGTW92ZShkZXNjcmlwdG9yKSkKICAg
ICAsIG1fZXJyb3JOYW1lKGVycm9yTmFtZSkKIHsKIH0KQEAgLTQ4LDEzICs0OCwxMyBAQCBTZXNz
aW9uUmVxdWVzdE5vdGlmaWVyOjpTZXNzaW9uUmVxdWVzdE5vdGlmaWVyKFBhc3NSZWZQdHI8UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uUgogdm9pZCBTZXNzaW9uUmVxdWVzdE5vdGlmaWVyOjpmaXJlKCkK
IHsKICAgICBpZiAobV9kZXNjcmlwdG9yKQotICAgICAgICBtX3JlcXVlc3QtPnJlcXVlc3RTdWNj
ZWVkZWQobV9kZXNjcmlwdG9yKTsKKyAgICAgICAgbV9yZXF1ZXN0LT5yZXF1ZXN0U3VjY2VlZGVk
KCptX2Rlc2NyaXB0b3IpOwogICAgIGVsc2UKICAgICAgICAgbV9yZXF1ZXN0LT5yZXF1ZXN0RmFp
bGVkKG1fZXJyb3JOYW1lKTsKIH0KIAotVm9pZFJlcXVlc3ROb3RpZmllcjo6Vm9pZFJlcXVlc3RO
b3RpZmllcihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiByZXF1ZXN0LCBib29sIHN1Y2Nlc3Ms
IGNvbnN0IFN0cmluZyYgZXJyb3JOYW1lKQotICAgIDogbV9yZXF1ZXN0KHJlcXVlc3QpCitWb2lk
UmVxdWVzdE5vdGlmaWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKFJlZlB0cjxSVENWb2lkUmVxdWVz
dD4mJiByZXF1ZXN0LCBib29sIHN1Y2Nlc3MsIGNvbnN0IFN0cmluZyYgZXJyb3JOYW1lKQorICAg
IDogbV9yZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkpCiAgICAgLCBtX3N1Y2Nlc3Moc3VjY2VzcykK
ICAgICAsIG1fZXJyb3JOYW1lKGVycm9yTmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmgKaW5kZXggZTY0MDM1MzNhODliNWRlNzUyOWRj
MmM4ZGJjZGNhYTA0ODE5NDljYS4uZDIzNGFkMjNhMDAxY2YxYzQ5Mzk4ZjQ4MzM3Y2EzMTlmNTcy
Y2MzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmll
cnNNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNN
b2NrLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJSVENEYXRhQ2hhbm5lbEhhbmRsZXJD
bGllbnQuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQuaCIKICNp
bmNsdWRlICJUaW1lckV2ZW50QmFzZWRNb2NrLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKQEAgLTQzLDcgKzQyLDcgQEAgY2xhc3MgUlRDVm9pZFJlcXVlc3Q7CiAKIGNsYXNzIFNl
c3Npb25SZXF1ZXN0Tm90aWZpZXIgOiBwdWJsaWMgTW9ja05vdGlmaWVyIHsKIHB1YmxpYzoKLSAg
ICBTZXNzaW9uUmVxdWVzdE5vdGlmaWVyKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
UmVxdWVzdD4sIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4sIGNv
bnN0IFN0cmluZyYgPSBlbXB0eVN0cmluZygpKTsKKyAgICBTZXNzaW9uUmVxdWVzdE5vdGlmaWVy
KFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0PiYmLCBSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4mJiwgY29uc3QgU3RyaW5nJiA9IGVtcHR5U3RyaW5nKCkp
OwogCiAgICAgdm9pZCBmaXJlKCkgb3ZlcnJpZGU7CiAKQEAgLTU1LDcgKzU0LDcgQEAgcHJpdmF0
ZToKIAogY2xhc3MgVm9pZFJlcXVlc3ROb3RpZmllciA6IHB1YmxpYyBNb2NrTm90aWZpZXIgewog
cHVibGljOgotICAgIFZvaWRSZXF1ZXN0Tm90aWZpZXIoUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVz
dD4sIGJvb2wsIGNvbnN0IFN0cmluZyYgPSBlbXB0eVN0cmluZygpKTsKKyAgICBWb2lkUmVxdWVz
dE5vdGlmaWVyKFJlZlB0cjxSVENWb2lkUmVxdWVzdD4mJiwgYm9vbCwgY29uc3QgU3RyaW5nJiA9
IGVtcHR5U3RyaW5nKCkpOwogCiAgICAgdm9pZCBmaXJlKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXgg
ZGRjZDI3NWE4MmQ0MmI0NjFmODQ1ZDMzNDRmZGUxYjk0MDhlNGYyYS4uZGFhNjRhZmQ2N2JkMzZk
YmQyMmIzZGVkNDgwMzllODkwOGFlMmU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpZiBF
TkFCTEUoV0VCX1JUQykKIAogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
NDYsOSArNDYsOSBAQCBwdWJsaWM6CiAKIGNsYXNzIFRpbWVyRXZlbnRCYXNlZE1vY2sgewogcHVi
bGljOgotICAgIHZvaWQgcmVtb3ZlRXZlbnQoUGFzc1JlZlB0cjxUaW1lckV2ZW50PiBldmVudCkK
KyAgICB2b2lkIHJlbW92ZUV2ZW50KFRpbWVyRXZlbnQmIGV2ZW50KQogICAgIHsKLSAgICAgICAg
c2l6ZV90IHBvcyA9IG1fdGltZXJFdmVudHMuZmluZChldmVudCk7CisgICAgICAgIHNpemVfdCBw
b3MgPSBtX3RpbWVyRXZlbnRzLmZpbmQoJmV2ZW50KTsKICAgICAgICAgbV90aW1lckV2ZW50cy5y
ZW1vdmUocG9zKTsKICAgICB9CiAKQEAgLTU4LDEwICs1OCwxMCBAQCBwcm90ZWN0ZWQ6CiAKIGNs
YXNzIFRpbWVyRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxUaW1lckV2ZW50PiB7CiBwdWJsaWM6
Ci0gICAgVGltZXJFdmVudChUaW1lckV2ZW50QmFzZWRNb2NrKiBtb2NrLCBQYXNzUmVmUHRyPE1v
Y2tOb3RpZmllcj4gbm90aWZpZXIpCisgICAgVGltZXJFdmVudChUaW1lckV2ZW50QmFzZWRNb2Nr
KiBtb2NrLCBSZWY8TW9ja05vdGlmaWVyPiYmIG5vdGlmaWVyKQogICAgICAgICA6IG1fbW9jayht
b2NrKQogICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQot
ICAgICAgICAsIG1fbm90aWZpZXIobm90aWZpZXIpCisgICAgICAgICwgbV9ub3RpZmllcihXVEZN
b3ZlKG5vdGlmaWVyKSkKICAgICB7CiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDUwMF9t
cyk7CiAgICAgfQpAQCAtNzQsMTMgKzc0LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHRpbWVyRmly
ZWQoKQogICAgIHsKICAgICAgICAgbV9ub3RpZmllci0+ZmlyZSgpOwotICAgICAgICBtX21vY2st
PnJlbW92ZUV2ZW50KHRoaXMpOworICAgICAgICBtX21vY2stPnJlbW92ZUV2ZW50KCp0aGlzKTsK
ICAgICB9CiAKIHByaXZhdGU6CiAgICAgVGltZXJFdmVudEJhc2VkTW9jayogbV9tb2NrOwogICAg
IFRpbWVyIG1fdGltZXI7Ci0gICAgUmVmUHRyPE1vY2tOb3RpZmllcj4gbV9ub3RpZmllcjsKKyAg
ICBSZWY8TW9ja05vdGlmaWVyPiBtX25vdGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggZWIyZmY3ODRj
NTViYzljNzRjOGM1ODAyZjkyZmFmZDRiNjE1OTY1Mi4uN2ViNDEyMWY1ZWZjYzE1M2JlN2EzZjNk
NzFhMmFkYmZlOTJhMjc0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
CkBAIC0xNDQsOSArMTQ0LDkgQEAgdm9pZCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpzb3VyY2VC
dWZmZXJQcml2YXRlRGlkQ2hhbmdlQWN0aXZlU3RhdGUoTW9ja1NvdXJjZUIKICAgICB9CiB9CiAK
LXN0YXRpYyBib29sIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oUGFzc1JlZlB0cjxN
b2NrU291cmNlQnVmZmVyUHJpdmF0ZT4gcHJwU291cmNlQnVmZmVyKQorc3RhdGljIGJvb2wgTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRpbyhNb2NrU291cmNlQnVmZmVyUHJpdmF0ZSogc291
cmNlQnVmZmVyKQogewotICAgIHJldHVybiBwcnBTb3VyY2VCdWZmZXItPmhhc0F1ZGlvKCk7Cisg
ICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzQXVkaW8oKTsKIH0KIAogYm9vbCBNb2NrTWVkaWFT
b3VyY2VQcml2YXRlOjpoYXNBdWRpbygpIGNvbnN0CkBAIC0xNTQsOSArMTU0LDkgQEAgYm9vbCBN
b2NrTWVkaWFTb3VyY2VQcml2YXRlOjpoYXNBdWRpbygpIGNvbnN0CiAgICAgcmV0dXJuIHN0ZDo6
YW55X29mKG1fYWN0aXZlU291cmNlQnVmZmVycy5iZWdpbigpLCBtX2FjdGl2ZVNvdXJjZUJ1ZmZl
cnMuZW5kKCksIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8pOwogfQogCi1zdGF0aWMg
Ym9vbCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKFBhc3NSZWZQdHI8TW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGU+IHBycFNvdXJjZUJ1ZmZlcikKK3N0YXRpYyBib29sIE1vY2tTb3VyY2VC
dWZmZXJQcml2YXRlSGFzVmlkZW8oTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUqIHNvdXJjZUJ1ZmZl
cikKIHsKLSAgICByZXR1cm4gcHJwU291cmNlQnVmZmVyLT5oYXNWaWRlbygpOworICAgIHJldHVy
biBzb3VyY2VCdWZmZXItPmhhc1ZpZGVvKCk7CiB9CiAKIGJvb2wgTW9ja01lZGlhU291cmNlUHJp
dmF0ZTo6aGFzVmlkZW8oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd3BlL1JlbmRlclRoZW1lV1BFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVu
ZGVyVGhlbWVXUEUuaAppbmRleCBlZmIyZmU4OTRjOGM1ZjM1NDFhM2EzZGRlYTRmNDhiNmU1ZGVi
NDA5Li42MDI0OTFhMWRlM2I1NjFlMDZmZDU2ZDIzOGIwZDBiMTgwMTEyYjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVuZGVyVGhlbWVXUEUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVuZGVyVGhlbWVXUEUuaApAQCAtMjYsNyArMjYsNyBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309846</attachid>
            <date>2017-05-11 18:52:45 -0700</date>
            <delta_ts>2017-05-11 20:08:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172007-20170511185244.patch</filename>
            <type>text/plain</type>
            <size>26357</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyMThlNzVhNDhkOTA1
NTM3ZWEwMDA3OWNkNGYwOWE2ZjU5Y2ZjZS4uODVmZTBiMmI5NDJjMzhiY2JhNWExYjdlMzYyNmEw
NGYzZjA0OGI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE3LTA1LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCByZW1haW5pbmcgdXNl
cyBvZiBQYXNzUmVmUHRyIHVuZGVyIHBsYXRmb3JtLworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93cGUvSW1hZ2VXUEUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvTGVnYWN5VGlsZUdyaWQubW06CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlR3Jp
ZDo6dGlsZUZvckluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkOjp0aWxl
Rm9yUG9pbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkVGlsZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q6OnNldEV4dHJhRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0
aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6c2V0UG9zaXRpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Vzc2lvblJlcXVlc3ROb3RpZmllcjo6ZmlyZSk6CisgICAgICAgIChXZWJD
b3JlOjpWb2lkUmVxdWVzdE5vdGlmaWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnRC
YXNlZE1vY2s6OnJlbW92ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRp
bWVyRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGltZXJGaXJlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8p
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbyk6Cisg
ICAgICAgICogcGxhdGZvcm0vd3BlL1JlbmRlclRoZW1lV1BFLmg6CisKKzIwMTctMDUtMTEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTdG9wIHVzaW5nIFBhc3NS
ZWZQdHIgaW4gcGxhdGZvcm0vZ3JhcGhpY3MKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MTk3NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93cGUvSW1hZ2VXUEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd3BlL0ltYWdlV1BFLmNwcAppbmRleCA0ODQzODY4NzkxYThiNTFiOTU3YTli
NzNjNDgxMmM2ZTZkZTlhZWNjLi5jM2MxMzQxNjc2YWM0N2ZjNDQ1N2RlNzA4MTBkNzE1MzJjODcy
ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93cGUvSW1h
Z2VXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dwZS9JbWFn
ZVdQRS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6aW52YWxpZGF0ZVBs
YXRmb3JtRGF0YSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8SW1hZ2U+IEltYWdlOjpsb2FkUGxhdGZv
cm1SZXNvdXJjZShjb25zdCBjaGFyKiByZXNvdXJjZSkKK1JlZjxJbWFnZT4gSW1hZ2U6OmxvYWRQ
bGF0Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIqIHJlc291cmNlKQogewogICAgIFdURkxvZ0Fsd2F5
cygiV0FSTklORzogdHJ5aW5nIHRvIGxvYWQgcGxhdGZvcm0gcmVzb3VyY2UgJyVzJyIsIHJlc291
cmNlKTsKICAgICByZXR1cm4gQml0bWFwSW1hZ2U6OmNyZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaAppbmRleCA1N2IwZDdkMmI3MzZlZGJkMmJl
Njc4ZTNkZTI1YzkzYTA3MWFhYmFlLi45YmZiYTA3YjczMTJlMmQ4YmUyNTY4OWI1M2ZlNzAwOWJk
OWZlNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQu
aApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJMZWdh
Y3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogI2RlZmluZSBMT0dfVElMSU5HIDAKQEAgLTk3LDkgKzk3LDkgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgYWRkVGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYpOwogCi0gICAg
UGFzc1JlZlB0cjxMZWdhY3lUaWxlR3JpZFRpbGU+IHRpbGVGb3JJbmRleChjb25zdCBUaWxlSW5k
ZXgmKSBjb25zdDsKKyAgICBSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiB0aWxlRm9ySW5kZXgo
Y29uc3QgVGlsZUluZGV4JikgY29uc3Q7CiAgICAgSW50UmVjdCB0aWxlUmVjdEZvckluZGV4KGNv
bnN0IFRpbGVJbmRleCYpIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxl
PiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKKyAgICBSZWZQdHI8TGVnYWN5
VGlsZUdyaWRUaWxlPiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICBU
aWxlSW5kZXggdGlsZUluZGV4Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKIAogICAg
IEludFJlY3QgYWRqdXN0Q292ZXJSZWN0Rm9yUGFnZUJvdW5kcyhjb25zdCBJbnRSZWN0JikgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdy
aWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQubW0KaW5k
ZXggMWQ0NzkzOWUwN2Q1NjAyNzE5OWJhNjM2MjE2ZTIwMTNlNWYwMDI2Mi4uOWU2MGQ2M2RmNjdk
MDZmZDZhYTU5YmMwZmM2Y2UxNGQwNDExYzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQpAQCAtMTgwLDcgKzE4MCw3IEBAIEludFJlY3QgTGVn
YWN5VGlsZUdyaWQ6OmJvdW5kcygpIGNvbnN0CiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQo
KSwgSW50U2l6ZShbdGlsZUhvc3RMYXllcigpIHNpemVdKSk7CiB9CiAKLVBhc3NSZWZQdHI8TGVn
YWN5VGlsZUdyaWRUaWxlPiBMZWdhY3lUaWxlR3JpZDo6dGlsZUZvckluZGV4KGNvbnN0IFRpbGVJ
bmRleCYgaW5kZXgpIGNvbnN0CitSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiBMZWdhY3lUaWxl
R3JpZDo6dGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYgaW5kZXgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fdGlsZXMuZ2V0KGluZGV4KTsKIH0KQEAgLTI0MCw3ICsyNDAsNyBAQCB2b2lkIExl
Z2FjeVRpbGVHcmlkOjpjZW50ZXJUaWxlR3JpZE9yaWdpbihjb25zdCBJbnRSZWN0JiB2aXNpYmxl
UmVjdCkKICAgICBtX29yaWdpbiA9IG5ld09yaWdpbjsKIH0KIAotUGFzc1JlZlB0cjxMZWdhY3lU
aWxlR3JpZFRpbGU+IExlZ2FjeVRpbGVHcmlkOjp0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQm
IHBvaW50KSBjb25zdAorUmVmUHRyPExlZ2FjeVRpbGVHcmlkVGlsZT4gTGVnYWN5VGlsZUdyaWQ6
OnRpbGVGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IHRpbGVGb3JJbmRleCh0aWxlSW5kZXhGb3JQb2ludChwb2ludCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5oCmluZGV4IGViOGVmZWVh
OGEyZWJjYTYwYWYwYzQ2NzIyMGEyNjNlMTg3ODEyYWUuLjkzZDVmMzU5YjhmNjUxYWU0YzY1OTM1
N2M5ZWE3ZWEwZmUzOGYyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9MZWdhY3lUaWxlR3JpZFRpbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWRUaWxlLmgKQEAgLTQyLDcgKzQyLDEwIEBAIGNsYXNzIExlZ2FjeVRpbGVH
cmlkOwogLy8gUmVmY291bnQgdGhlIHRpbGVzIHNvIHRoZXkgd29yayBuaWNlbHkgaW4gdmVjdG9y
IGFuZCB3ZSBrbm93IHdoZW4gdG8gcmVtb3ZlIHRoZSB0aWxlIGxheWVyIGZyb20gdGhlIHBhcmVu
dC4KIGNsYXNzIExlZ2FjeVRpbGVHcmlkVGlsZSA6IHB1YmxpYyBSZWZDb3VudGVkPExlZ2FjeVRp
bGVHcmlkVGlsZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExlZ2FjeVRpbGVH
cmlkVGlsZT4gY3JlYXRlKExlZ2FjeVRpbGVHcmlkKiBncmlkLCBjb25zdCBJbnRSZWN0JiByZWN0
KSB7IHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+KG5ldyBMZWdhY3lUaWxlR3Jp
ZFRpbGUoZ3JpZCwgcmVjdCkpOyB9CisgICAgc3RhdGljIFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+
IGNyZWF0ZShMZWdhY3lUaWxlR3JpZCogZ3JpZCwgY29uc3QgSW50UmVjdCYgcmVjdCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+KCpuZXcgTGVnYWN5
VGlsZUdyaWRUaWxlKGdyaWQsIHJlY3QpKTsKKyAgICB9CiAgICAgfkxlZ2FjeVRpbGVHcmlkVGls
ZSgpOwogCiAgICAgTGVnYWN5VGlsZUxheWVyKiB0aWxlTGF5ZXIoKSBjb25zdCB7IHJldHVybiBt
X3RpbGVMYXllci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcAppbmRl
eCA3Zjc1MzhlZWRkZWY0ZGYyZDI4MzliN2MwMDVhN2IyZmYyOWE3NmU2Li5lZDIwYTY3MDY0ZmNh
YzdlNzRiODU4NmNmOWUxN2YwZTY5NTFjYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yLmNwcApAQCAtMzYsOSArMzYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NS
ZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4gUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRv
cjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBTdHJpbmcmIHNkcE1pZCwg
dW5zaWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCkKK1JlZjxSVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yPiBSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOjpjcmVhdGUoY29uc3QgU3RyaW5nJiBjYW5k
aWRhdGUsIGNvbnN0IFN0cmluZyYgc2RwTWlkLCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcihj
YW5kaWRhdGUsIHNkcE1pZCwgc2RwTUxpbmVJbmRleCkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoY2FuZGlkYXRlLCBzZHBNaWQsIHNkcE1MaW5l
SW5kZXgpKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcjo6UlRDSWNlQ2FuZGlkYXRl
RGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29uc3QgU3RyaW5nJiBzZHBNaWQs
IHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
LmgKaW5kZXggZjczMjI4ODA2NDQxZmNmZWQ3OWMxYWQwZTI5MmRmOGI2YTBkMjZmMC4uZWZlYzUw
NTk4NjYzNmNkOTBmNTkyZWJjOWRkNTYyOTU5NzQ4NDg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZURl
c2NyaXB0b3IuaApAQCAtMzMsNyArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKLSNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBA
IC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0
b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNj
cmlwdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0IFN0cmluZyYgc2Rw
TWlkLCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4KTsKKyAgICBzdGF0aWMgUmVmPFJUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29u
c3QgU3RyaW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpOwogICAgIHZp
cnR1YWwgflJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoKTsKIAogICAgIGNvbnN0IFN0cmluZyYg
Y2FuZGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5kaWRhdGU7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKaW5kZXggOTU2YTlkNjJjNmI0YmM1YzRiOWMyNmZjM2Iw
ZWFmMDcyYWIxZjFkZC4uOGUzMzEzNGE0YTM1ZjcwYmYwZTAwM2ExZGY4ODY1NmFhM2U2ZDRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKQEAgLTM2LDcgKzM2LDcg
QEAKICNpbmNsdWRlICJSVENJY2VDb25uZWN0aW9uU3RhdGUuaCIKICNpbmNsdWRlICJSVENJY2VH
YXRoZXJpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1NpZ25hbGluZ1N0YXRlLmgiCi0jaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDksMTEgKzQ5LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBu
ZWdvdGlhdGlvbk5lZWRlZCgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VD
YW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShSZWZQdHI8UlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvcj4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VTaWduYWxp
bmdTdGF0ZShSVENTaWduYWxpbmdTdGF0ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VJY2VHYXRoZXJpbmdTdGF0ZShSVENJY2VHYXRoZXJpbmdTdGF0ZSkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29ubmVjdGlvblN0YXRl
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlU3Ry
ZWFtKFJlZlB0cjxNZWRpYVN0cmVhbVByaXZhdGU+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKE1lZGlhU3RyZWFtUHJpdmF0ZSopID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQWRkUmVtb3RlRGF0YUNoYW5uZWwoc3RkOjp1bmlxdWVfcHRyPFJUQ0RhdGFD
aGFubmVsSGFuZGxlcj4pID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuY3BwCmluZGV4IDQ5MzIxOWVmMGUyZGIzOGNhNWYyMTk5NWQxOTUyY2UyODdhYjI4
YjMuLmNmODA0OTU3YTczZjdmNWQxM2NmMzU0MTEwZGRlMTE1ZTBhMTkwNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCkBAIC0zNiw5ICszNiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUoY29uc3Qg
U3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKK1JlZjxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUoY29u
c3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IodHlwZSwgc2RwKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcih0eXBl
LCBzZHApKTsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYg
c2RwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oCmluZGV4IGVhYmRm
ODQ2ZmU0YWFhODk2NWI5OTM2OTNiZDU4NDY3NTkwOTVkNTUuLjFlYzllZWE3ZTU0OTQ3MzFkNDkz
NTg3ZDI3NGM1MTkwY2FmMmVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAt
NDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBzZHApOworICAgIHN0YXRpYyBSZWY8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBzZHApOwogICAg
IHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uUmVxdWVzdC5oCmluZGV4IDZhZTBlMzJjODRmM2Y3ZTNlNzQ1NTQ2YTlhZDc4NmNj
MDdlYWQ0YTguLjk4OWYzYzFjMjBmODljMDgwN2ZlOGViYmY1ZDdkYWQ4MGQyYjg3YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lm
IEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTUxLDExICs1MCwxMSBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgeyB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFN1Y2NlZWRlZChQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNjZWVkZWQoUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dEZhaWxlZChjb25zdCBTdHJpbmcmIGVycm9yKSA9IDA7CiAKLSAgICBQYXNzUmVmUHRyPEV4dHJh
RGF0YT4gZXh0cmFEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9leHRyYURhdGE7IH0KLSAgICB2b2lk
IHNldEV4dHJhRGF0YShQYXNzUmVmUHRyPEV4dHJhRGF0YT4gZXh0cmFEYXRhKSB7IG1fZXh0cmFE
YXRhID0gZXh0cmFEYXRhOyB9CisgICAgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2V4dHJhRGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0RXh0cmFEYXRhKFJlZlB0cjxF
eHRyYURhdGE+JiYgZXh0cmFEYXRhKSB7IG1fZXh0cmFEYXRhID0gZXh0cmFEYXRhOyB9CiAKIHBy
b3RlY3RlZDoKICAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggNTQwYWQyMWQ2MjZlNGYxMDE5MGM5MDg4NDI4ZWRm
ODcwYmIwYzUyNS4uMWEyNTc5MzM2NDg4YTMxMmZhYmVmYjQwOTc0MjYxMzM5NmRjODliOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
IkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1
ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIgotI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAppbmRleCA3YzIyMzBmMmRlZjZjZmFiODcyNjc3
NzBiMTg4NWVmMmQ4ZWM3M2NiLi40NjBiNzZlZTM5YzQxZDBhNmE2NWIzZWI0YjdkOTIyYThiOTVi
ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKQEAgLTM1
LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKICNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCmluZGV4IGZjMzIzNjAxOGY1MjRhMTEwNDM1
NjY4MzUxYzM0N2E1M2U5OGMzOTMuLjRiZDdiNzA0MTNmMTMxMmNhMzMwZGJjYjU4YjEwMTJiNmY2
OWE5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29w
ZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmNwcApAQCAtMTc0LDEyICsxNzQsMTIgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyT3dyOjptZWRpYVNvdXJjZXNBdmFpbGFibGUoR0xpc3QqIHNvdXJjZXMpCiAKIH0K
IAotUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCitSZWFs
dGltZU1lZGlhU291cmNlKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJj
ZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiB7CiAgICAgZm9yIChhdXRvIGl0ZXIg
PSBtX3NvdXJjZU1hcC5iZWdpbigpOyBpdGVyICE9IG1fc291cmNlTWFwLmVuZCgpOyArK2l0ZXIp
IHsKICAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJjZSA9IGl0ZXItPnZh
bHVlOwogICAgICAgICBpZiAoc291cmNlLT50eXBlKCkgPT0gdHlwZSkKLSAgICAgICAgICAgIHJl
dHVybiBzb3VyY2U7CisgICAgICAgICAgICByZXR1cm4gc291cmNlLmdldCgpOwogICAgIH0KIAog
ICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3IuaAppbmRleCAzMjg1MTg3Mjc0YmFjZjQxMmM3OWQyNjQ0MDI2N2Vi
OTc5N2I0NTY3Li4wMTBlMzlhNmQ4ZDZlOTdmZTRkYTFmNzRkMGM0ZDQ4NmEyOTQ2YzAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaApA
QCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVk
aWFTb3VyY2VPd3IuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Nyw3ICs2Nyw3IEBAIHBy
aXZhdGU6CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGRlZmF1bHRBdWRpb0NhcHR1cmVEZXZp
Y2VNYW5hZ2VyKCkgZmluYWwgeyByZXR1cm4gbV9kZWZhdWx0QXVkaW9DYXB0dXJlRGV2aWNlTWFu
YWdlcjsgfQogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2VyJiBkZWZhdWx0VmlkZW9DYXB0dXJlRGV2
aWNlTWFuYWdlcigpIGZpbmFsIHsgcmV0dXJuIG1fZGVmYXVsdFZpZGVvQ2FwdHVyZURldmljZU1h
bmFnZXI7IH0KIAotICAgIFBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gZmlyc3RTb3Vy
Y2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZSog
Zmlyc3RTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSk7CiAgICAgUmVhbHRpbWVNZWRp
YVNvdXJjZU93ck1hcCBtX3NvdXJjZU1hcDsKICAgICBWYWxpZENvbnN0cmFpbnRzSGFuZGxlciBt
X3ZhbGlkQ29uc3RyYWludHNIYW5kbGVyOwogICAgIEludmFsaWRDb25zdHJhaW50c0hhbmRsZXIg
bV9pbnZhbGlkQ29uc3RyYWludHNIYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4
IDIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQuLjU1ZWY3MDE0ZDljZDlj
NzRiYzUyMDc3ODA1NTM1NDA2ODg2ZDlmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAg
LTU1LDkgKzU1LDkgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnN0b3BVcGRh
dGluZygpCiAgICAgbV90aW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0
YT4gb3JpZW50YXRpb24pCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3Jp
ZW50YXRpb24oUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0YT4mJiBvcmllbnRhdGlvbikKIHsK
LSAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CisgICAgbV9vcmllbnRhdGlvbiA9IFdU
Rk1vdmUob3JpZW50YXRpb24pOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jay5oCmluZGV4IDEzODRhZjJlNmJjNzRiODI1MjQ1NDBiNjIzMWI2MmJkZGNkMzk4ZTcu
LjQ3NGQwMjY5NDMxNzBjYTRjZTEyOGM0NWYzNGQyOTRiNThmYTMzMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2suaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0
YS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyAr
NTAsNyBAQCBwdWJsaWM6CiAgICAgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBsYXN0T3JpZW50YXRp
b24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29yaWVudGF0aW9uLmdldCgpOyB9CiAgICAg
dm9pZCBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBvdmVycmlkZSB7IH0K
IAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0T3JpZW50YXRpb24oUGFzc1JlZlB0cjxEZXZp
Y2VPcmllbnRhdGlvbkRhdGE+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE9yaWVudGF0
aW9uKFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+JiYpOwogCiBwcml2YXRlOgogICAgIHZv
aWQgdGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDc1NGE4MjVjYWU1NDQ3OWUxNGRkMWUz
MDBjNDJjZDEyZTNmYzk4ODQuLjQ1ZjVkYTkwZjg5MTc2YzA3YWEyNTQzMWI1ZGI5ZmM2NGM4ODg3
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25D
bGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0
aW9uQ2xpZW50TW9jay5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVu
dE1vY2s6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyICpjb250cm9sbGVyKQog
ICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7CiB9CiAKLXZvaWQgR2VvbG9jYXRpb25DbGll
bnRNb2NrOjpzZXRQb3NpdGlvbihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+IHBvc2l0
aW9uKQordm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnNldFBvc2l0aW9uKFJlZlB0cjxHZW9s
b2NhdGlvblBvc2l0aW9uPiYmIHBvc2l0aW9uKQogewotICAgIG1fbGFzdFBvc2l0aW9uID0gcG9z
aXRpb247CisgICAgbV9sYXN0UG9zaXRpb24gPSBXVEZNb3ZlKHBvc2l0aW9uKTsKICAgICBjbGVh
ckVycm9yKCk7CiAgICAgYXN5bmNVcGRhdGVDb250cm9sbGVyKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suaAppbmRleCBi
MTM5ODc3Mjk5ZWJiMmUxNTAyYjdlYWJiZjZkY2U1NDQ2ZjMwYWNjLi4zZDUyNzliNTNmNjMxNDk2
YTQ0Nzk5NmZkZjFjMjBjYjBhNTI5NzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJHZW9sb2NhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNTQs
NyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgc2V0Q29udHJv
bGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKIAotICAgIHZvaWQgc2V0UG9zaXRpb24oUGFz
c1JlZlB0cjxHZW9sb2NhdGlvblBvc2l0aW9uPik7CisgICAgdm9pZCBzZXRQb3NpdGlvbihSZWZQ
dHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4mJik7CiAgICAgdm9pZCBzZXRQb3NpdGlvblVuYXZhaWxh
YmxlRXJyb3IoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogICAgIHZvaWQgc2V0UGVybWlz
c2lvbihib29sIGFsbG93ZWQpOwogICAgIGludCBudW1iZXJPZlBlbmRpbmdQZXJtaXNzaW9uUmVx
dWVzdHMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UlRDTm90aWZpZXJzTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05v
dGlmaWVyc01vY2suY3BwCmluZGV4IDUwODBiZjZjMTA3Y2Y0MGI3YmQ2OGQ2OGNhMjg5YWJiMTUw
MDdiYzYuLjg4ZDljMTg1N2ZmOTNmMWYyYTA2NGYzOTVkY2JiMGY5MjQ5Y2ZlYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcApAQCAt
MzgsOSArMzgsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNlc3Npb25SZXF1ZXN0Tm90
aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb25SZXF1ZXN0PiByZXF1ZXN0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+IGRlc2NyaXB0b3IsIGNvbnN0IFN0cmluZyYgZXJyb3JOYW1lKQotICAgIDogbV9y
ZXF1ZXN0KHJlcXVlc3QpCi0gICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRvcikKK1Nlc3Npb25S
ZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvblJlcXVlc3Q+JiYgcmVxdWVzdCwgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3I+JiYgZGVzY3JpcHRvciwgY29uc3QgU3RyaW5nJiBlcnJvck5hbWUpCisgICAg
OiBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKKyAgICAsIG1fZGVzY3JpcHRvcihXVEZNb3Zl
KGRlc2NyaXB0b3IpKQogICAgICwgbV9lcnJvck5hbWUoZXJyb3JOYW1lKQogewogfQpAQCAtNDgs
MTMgKzQ4LDEzIEBAIFNlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZp
ZXIoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SCiB2b2lkIFNlc3Npb25SZXF1ZXN0
Tm90aWZpZXI6OmZpcmUoKQogewogICAgIGlmIChtX2Rlc2NyaXB0b3IpCi0gICAgICAgIG1fcmVx
dWVzdC0+cmVxdWVzdFN1Y2NlZWRlZChtX2Rlc2NyaXB0b3IpOworICAgICAgICBtX3JlcXVlc3Qt
PnJlcXVlc3RTdWNjZWVkZWQoKm1fZGVzY3JpcHRvcik7CiAgICAgZWxzZQogICAgICAgICBtX3Jl
cXVlc3QtPnJlcXVlc3RGYWlsZWQobV9lcnJvck5hbWUpOwogfQogCi1Wb2lkUmVxdWVzdE5vdGlm
aWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKFBhc3NSZWZQdHI8UlRDVm9pZFJlcXVlc3Q+IHJlcXVl
c3QsIGJvb2wgc3VjY2VzcywgY29uc3QgU3RyaW5nJiBlcnJvck5hbWUpCi0gICAgOiBtX3JlcXVl
c3QocmVxdWVzdCkKK1ZvaWRSZXF1ZXN0Tm90aWZpZXI6OlZvaWRSZXF1ZXN0Tm90aWZpZXIoUmVm
UHRyPFJUQ1ZvaWRSZXF1ZXN0PiYmIHJlcXVlc3QsIGJvb2wgc3VjY2VzcywgY29uc3QgU3RyaW5n
JiBlcnJvck5hbWUpCisgICAgOiBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKICAgICAsIG1f
c3VjY2VzcyhzdWNjZXNzKQogICAgICwgbV9lcnJvck5hbWUoZXJyb3JOYW1lKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaAppbmRleCBlNjQw
MzUzM2E4OWI1ZGU3NTI5ZGMyYzhkYmNkY2FhMDQ4MTk0OWNhLi5kMjM0YWQyM2EwMDFjZjFjNDkz
OThmNDgzMzdjYTMxOWY1NzJjYzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1JUQ05vdGlmaWVyc01vY2suaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgIlJUQ0Rh
dGFDaGFubmVsSGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyRXZlbnRCYXNlZE1vY2suaCIKLSNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDMsNyArNDIsNyBAQCBjbGFzcyBSVENWb2lkUmVx
dWVzdDsKIAogY2xhc3MgU2Vzc2lvblJlcXVlc3ROb3RpZmllciA6IHB1YmxpYyBNb2NrTm90aWZp
ZXIgewogcHVibGljOgotICAgIFNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yPiwgY29uc3QgU3RyaW5nJiA9IGVtcHR5U3RyaW5nKCkpOworICAgIFNlc3Np
b25SZXF1ZXN0Tm90aWZpZXIoUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q+JiYs
IFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiYmLCBjb25zdCBTdHJpbmcm
ID0gZW1wdHlTdHJpbmcoKSk7CiAKICAgICB2b2lkIGZpcmUoKSBvdmVycmlkZTsKIApAQCAtNTUs
NyArNTQsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBWb2lkUmVxdWVzdE5vdGlmaWVyIDogcHVibGlj
IE1vY2tOb3RpZmllciB7CiBwdWJsaWM6Ci0gICAgVm9pZFJlcXVlc3ROb3RpZmllcihQYXNzUmVm
UHRyPFJUQ1ZvaWRSZXF1ZXN0PiwgYm9vbCwgY29uc3QgU3RyaW5nJiA9IGVtcHR5U3RyaW5nKCkp
OworICAgIFZvaWRSZXF1ZXN0Tm90aWZpZXIoUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiYmLCBib29s
LCBjb25zdCBTdHJpbmcmID0gZW1wdHlTdHJpbmcoKSk7CiAKICAgICB2b2lkIGZpcmUoKSBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRC
YXNlZE1vY2suaAppbmRleCBkZGNkMjc1YTgyZDQyYjQ2MWY4NDVkMzM0NGZkZTFiOTQwOGU0ZjJh
Li5kYWE2NGFmZDY3YmQzNmRiZDIyYjNkZWQ0ODAzOWU4OTA4YWUyZTRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtMjks
NyArMjksNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CkBAIC00Niw5ICs0Niw5IEBAIHB1YmxpYzoKIAogY2xhc3MgVGltZXJFdmVu
dEJhc2VkTW9jayB7CiBwdWJsaWM6Ci0gICAgdm9pZCByZW1vdmVFdmVudChQYXNzUmVmUHRyPFRp
bWVyRXZlbnQ+IGV2ZW50KQorICAgIHZvaWQgcmVtb3ZlRXZlbnQoVGltZXJFdmVudCYgZXZlbnQp
CiAgICAgewotICAgICAgICBzaXplX3QgcG9zID0gbV90aW1lckV2ZW50cy5maW5kKGV2ZW50KTsK
KyAgICAgICAgc2l6ZV90IHBvcyA9IG1fdGltZXJFdmVudHMuZmluZCgmZXZlbnQpOwogICAgICAg
ICBtX3RpbWVyRXZlbnRzLnJlbW92ZShwb3MpOwogICAgIH0KIApAQCAtNTgsMTAgKzU4LDEwIEBA
IHByb3RlY3RlZDoKIAogY2xhc3MgVGltZXJFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFRpbWVy
RXZlbnQ+IHsKIHB1YmxpYzoKLSAgICBUaW1lckV2ZW50KFRpbWVyRXZlbnRCYXNlZE1vY2sqIG1v
Y2ssIFBhc3NSZWZQdHI8TW9ja05vdGlmaWVyPiBub3RpZmllcikKKyAgICBUaW1lckV2ZW50KFRp
bWVyRXZlbnRCYXNlZE1vY2sqIG1vY2ssIFJlZjxNb2NrTm90aWZpZXI+JiYgbm90aWZpZXIpCiAg
ICAgICAgIDogbV9tb2NrKG1vY2spCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZl
bnQ6OnRpbWVyRmlyZWQpCi0gICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKKyAgICAgICAg
LCBtX25vdGlmaWVyKFdURk1vdmUobm90aWZpZXIpKQogICAgIHsKICAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoNTAwX21zKTsKICAgICB9CkBAIC03NCwxMyArNzQsMTMgQEAgcHVibGljOgog
ICAgIHZvaWQgdGltZXJGaXJlZCgpCiAgICAgewogICAgICAgICBtX25vdGlmaWVyLT5maXJlKCk7
Ci0gICAgICAgIG1fbW9jay0+cmVtb3ZlRXZlbnQodGhpcyk7CisgICAgICAgIG1fbW9jay0+cmVt
b3ZlRXZlbnQoKnRoaXMpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBUaW1lckV2ZW50QmFzZWRN
b2NrKiBtX21vY2s7CiAgICAgVGltZXIgbV90aW1lcjsKLSAgICBSZWZQdHI8TW9ja05vdGlmaWVy
PiBtX25vdGlmaWVyOworICAgIFJlZjxNb2NrTm90aWZpZXI+IG1fbm90aWZpZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNw
cAppbmRleCBlYjJmZjc4NGM1NWJjOWM3NGM4YzU4MDJmOTJmYWZkNGI2MTU5NjUyLi43ZWI0MTIx
ZjVlZmNjMTUzYmU3YTNmM2Q3MWEyYWRiZmU5MmEyNzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
U291cmNlUHJpdmF0ZS5jcHAKQEAgLTE0NCw5ICsxNDQsOSBAQCB2b2lkIE1vY2tNZWRpYVNvdXJj
ZVByaXZhdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRDaGFuZ2VBY3RpdmVTdGF0ZShNb2NrU291
cmNlQgogICAgIH0KIH0KIAotc3RhdGljIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNB
dWRpbyhQYXNzUmVmUHRyPE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlPiBwcnBTb3VyY2VCdWZmZXIp
CitzdGF0aWMgYm9vbCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKE1vY2tTb3VyY2VC
dWZmZXJQcml2YXRlKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgcmV0dXJuIHBycFNvdXJjZUJ1ZmZl
ci0+aGFzQXVkaW8oKTsKKyAgICByZXR1cm4gc291cmNlQnVmZmVyLT5oYXNBdWRpbygpOwogfQog
CiBib29sIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Omhhc0F1ZGlvKCkgY29uc3QKQEAgLTE1NCw5
ICsxNTQsOSBAQCBib29sIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Omhhc0F1ZGlvKCkgY29uc3QK
ICAgICByZXR1cm4gc3RkOjphbnlfb2YobV9hY3RpdmVTb3VyY2VCdWZmZXJzLmJlZ2luKCksIG1f
YWN0aXZlU291cmNlQnVmZmVycy5lbmQoKSwgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRp
byk7CiB9CiAKLXN0YXRpYyBib29sIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8oUGFz
c1JlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4gcHJwU291cmNlQnVmZmVyKQorc3RhdGlj
IGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbyhNb2NrU291cmNlQnVmZmVyUHJp
dmF0ZSogc291cmNlQnVmZmVyKQogewotICAgIHJldHVybiBwcnBTb3VyY2VCdWZmZXItPmhhc1Zp
ZGVvKCk7CisgICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzVmlkZW8oKTsKIH0KIAogYm9vbCBN
b2NrTWVkaWFTb3VyY2VQcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVuZGVyVGhlbWVXUEUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQRS5oCmluZGV4IGVmYjJmZTg5NGM4YzVmMzU0MWEz
YTNkZGVhNGY0OGI2ZTVkZWI0MDkuLjYwMjQ5MWExZGUzYjU2MWUwNmZkNTZkMjM4YjBkMGIxODAx
MTJiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVt
ZVdQRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQRS5o
CkBAIC0yNiw3ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlJlbmRlclRoZW1l
LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309855</attachid>
            <date>2017-05-11 20:08:56 -0700</date>
            <delta_ts>2017-05-11 20:15:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172007-20170511200855.patch</filename>
            <type>text/plain</type>
            <size>25685</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZkNGZmYTJiZjYzNDgz
YTdiNDk0Y2Q1MmU3NzgwNTk0MjRhN2Y4Yi4uMzlkODg5Y2ZlZTBmYTFhYzQwNDllOGY3NWIwNDBm
YTc3ZDNlZDdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTA1LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCByZW1haW5pbmcgdXNl
cyBvZiBQYXNzUmVmUHRyIHVuZGVyIHBsYXRmb3JtLworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93cGUvSW1hZ2VXUEUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvTGVnYWN5VGlsZUdyaWQubW06CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlR3Jp
ZDo6dGlsZUZvckluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkOjp0aWxl
Rm9yUG9pbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRpbGVHcmlkVGlsZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I6OmNyZWF0ZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q6OnNldEV4dHJhRGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0
aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6c2V0UG9zaXRpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Vzc2lvblJlcXVlc3ROb3RpZmllcjo6ZmlyZSk6CisgICAgICAgIChXZWJD
b3JlOjpWb2lkUmVxdWVzdE5vdGlmaWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnRC
YXNlZE1vY2s6OnJlbW92ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRp
bWVyRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6dGltZXJGaXJlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8p
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbyk6Cisg
ICAgICAgICogcGxhdGZvcm0vd3BlL1JlbmRlclRoZW1lV1BFLmg6CisKIDIwMTctMDUtMTEgIENh
cmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAg
W1dQRV0gU3RvcCB1c2luZyBQYXNzUmVmUHRyIGluIHBsYXRmb3JtL2dyYXBoaWNzL3dwZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWQuaAppbmRleCA1N2IwZDdk
MmI3MzZlZGJkMmJlNjc4ZTNkZTI1YzkzYTA3MWFhYmFlLi45YmZiYTA3YjczMTJlMmQ4YmUyNTY4
OWI1M2ZlNzAwOWJkOWZlNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvTGVnYWN5VGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVn
YWN5VGlsZUdyaWQuaApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNp
bmNsdWRlICJMZWdhY3lUaWxlQ2FjaGUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2RlZmluZSBMT0dfVElMSU5HIDAKQEAgLTk3LDkgKzk3
LDkgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYWRkVGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRl
eCYpOwogCi0gICAgUGFzc1JlZlB0cjxMZWdhY3lUaWxlR3JpZFRpbGU+IHRpbGVGb3JJbmRleChj
b25zdCBUaWxlSW5kZXgmKSBjb25zdDsKKyAgICBSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiB0
aWxlRm9ySW5kZXgoY29uc3QgVGlsZUluZGV4JikgY29uc3Q7CiAgICAgSW50UmVjdCB0aWxlUmVj
dEZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYpIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8TGVnYWN5
VGlsZUdyaWRUaWxlPiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKKyAgICBS
ZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiB0aWxlRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBj
b25zdDsKICAgICBUaWxlSW5kZXggdGlsZUluZGV4Rm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKSBj
b25zdDsKIAogICAgIEludFJlY3QgYWRqdXN0Q292ZXJSZWN0Rm9yUGFnZUJvdW5kcyhjb25zdCBJ
bnRSZWN0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUdyaWQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUdyaWQubW0KaW5kZXggMWQ0NzkzOWUwN2Q1NjAyNzE5OWJhNjM2MjE2ZTIwMTNlNWYwMDI2Mi4u
OWU2MGQ2M2RmNjdkMDZmZDZhYTU5YmMwZmM2Y2UxNGQwNDExYzZkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZC5tbQpAQCAtMTgwLDcgKzE4MCw3IEBA
IEludFJlY3QgTGVnYWN5VGlsZUdyaWQ6OmJvdW5kcygpIGNvbnN0CiAgICAgcmV0dXJuIEludFJl
Y3QoSW50UG9pbnQoKSwgSW50U2l6ZShbdGlsZUhvc3RMYXllcigpIHNpemVdKSk7CiB9CiAKLVBh
c3NSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxlPiBMZWdhY3lUaWxlR3JpZDo6dGlsZUZvckluZGV4
KGNvbnN0IFRpbGVJbmRleCYgaW5kZXgpIGNvbnN0CitSZWZQdHI8TGVnYWN5VGlsZUdyaWRUaWxl
PiBMZWdhY3lUaWxlR3JpZDo6dGlsZUZvckluZGV4KGNvbnN0IFRpbGVJbmRleCYgaW5kZXgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fdGlsZXMuZ2V0KGluZGV4KTsKIH0KQEAgLTI0MCw3ICsyNDAs
NyBAQCB2b2lkIExlZ2FjeVRpbGVHcmlkOjpjZW50ZXJUaWxlR3JpZE9yaWdpbihjb25zdCBJbnRS
ZWN0JiB2aXNpYmxlUmVjdCkKICAgICBtX29yaWdpbiA9IG5ld09yaWdpbjsKIH0KIAotUGFzc1Jl
ZlB0cjxMZWdhY3lUaWxlR3JpZFRpbGU+IExlZ2FjeVRpbGVHcmlkOjp0aWxlRm9yUG9pbnQoY29u
c3QgSW50UG9pbnQmIHBvaW50KSBjb25zdAorUmVmUHRyPExlZ2FjeVRpbGVHcmlkVGlsZT4gTGVn
YWN5VGlsZUdyaWQ6OnRpbGVGb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHRpbGVGb3JJbmRleCh0aWxlSW5kZXhGb3JQb2ludChwb2ludCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVHcmlkVGlsZS5oCmlu
ZGV4IGViOGVmZWVhOGEyZWJjYTYwYWYwYzQ2NzIyMGEyNjNlMTg3ODEyYWUuLjkzZDVmMzU5Yjhm
NjUxYWU0YzY1OTM1N2M5ZWE3ZWEwZmUzOGYyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlR3JpZFRpbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUdyaWRUaWxlLmgKQEAgLTQyLDcgKzQyLDEwIEBAIGNsYXNz
IExlZ2FjeVRpbGVHcmlkOwogLy8gUmVmY291bnQgdGhlIHRpbGVzIHNvIHRoZXkgd29yayBuaWNl
bHkgaW4gdmVjdG9yIGFuZCB3ZSBrbm93IHdoZW4gdG8gcmVtb3ZlIHRoZSB0aWxlIGxheWVyIGZy
b20gdGhlIHBhcmVudC4KIGNsYXNzIExlZ2FjeVRpbGVHcmlkVGlsZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPExlZ2FjeVRpbGVHcmlkVGlsZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PExlZ2FjeVRpbGVHcmlkVGlsZT4gY3JlYXRlKExlZ2FjeVRpbGVHcmlkKiBncmlkLCBjb25zdCBJ
bnRSZWN0JiByZWN0KSB7IHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+KG5ldyBM
ZWdhY3lUaWxlR3JpZFRpbGUoZ3JpZCwgcmVjdCkpOyB9CisgICAgc3RhdGljIFJlZjxMZWdhY3lU
aWxlR3JpZFRpbGU+IGNyZWF0ZShMZWdhY3lUaWxlR3JpZCogZ3JpZCwgY29uc3QgSW50UmVjdCYg
cmVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZjxMZWdhY3lUaWxlR3JpZFRpbGU+
KCpuZXcgTGVnYWN5VGlsZUdyaWRUaWxlKGdyaWQsIHJlY3QpKTsKKyAgICB9CiAgICAgfkxlZ2Fj
eVRpbGVHcmlkVGlsZSgpOwogCiAgICAgTGVnYWN5VGlsZUxheWVyKiB0aWxlTGF5ZXIoKSBjb25z
dCB7IHJldHVybiBtX3RpbGVMYXllci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yLmNwcAppbmRleCA3Zjc1MzhlZWRkZWY0ZGYyZDI4MzliN2MwMDVhN2IyZmYyOWE3NmU2Li5l
ZDIwYTY3MDY0ZmNhYzdlNzRiODU4NmNmOWUxN2YwZTY5NTFjYzIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yLmNwcApAQCAtMzYsOSArMzYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4gUlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvcjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlLCBjb25zdCBTdHJp
bmcmIHNkcE1pZCwgdW5zaWduZWQgc2hvcnQgc2RwTUxpbmVJbmRleCkKK1JlZjxSVENJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yPiBSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOjpjcmVhdGUoY29uc3Qg
U3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0IFN0cmluZyYgc2RwTWlkLCB1bnNpZ25lZCBzaG9ydCBz
ZHBNTGluZUluZGV4KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUlRDSWNlQ2FuZGlkYXRl
RGVzY3JpcHRvcihjYW5kaWRhdGUsIHNkcE1pZCwgc2RwTUxpbmVJbmRleCkpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoY2FuZGlkYXRlLCBzZHBN
aWQsIHNkcE1MaW5lSW5kZXgpKTsKIH0KIAogUlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcjo6UlRD
SWNlQ2FuZGlkYXRlRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSwgY29uc3QgU3Ry
aW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5kZXgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlw
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRh
dGVEZXNjcmlwdG9yLmgKaW5kZXggZjczMjI4ODA2NDQxZmNmZWQ3OWMxYWQwZTI5MmRmOGI2YTBk
MjZmMC4uZWZlYzUwNTk4NjYzNmNkOTBmNTkyZWJjOWRkNTYyOTU5NzQ4NDg1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlRGVz
Y3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3IuaApAQCAtMzMsNyArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdF
Ql9SVEMpCiAKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ0ljZUNhbmRp
ZGF0ZURlc2NyaXB0b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENJY2VD
YW5kaWRhdGVEZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUsIGNvbnN0
IFN0cmluZyYgc2RwTWlkLCB1bnNpZ25lZCBzaG9ydCBzZHBNTGluZUluZGV4KTsKKyAgICBzdGF0
aWMgUmVmPFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNh
bmRpZGF0ZSwgY29uc3QgU3RyaW5nJiBzZHBNaWQsIHVuc2lnbmVkIHNob3J0IHNkcE1MaW5lSW5k
ZXgpOwogICAgIHZpcnR1YWwgflJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3IoKTsKIAogICAgIGNv
bnN0IFN0cmluZyYgY2FuZGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5kaWRhdGU7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKaW5kZXggOTU2YTlkNjJjNmI0YmM1
YzRiOWMyNmZjM2IwZWFmMDcyYWIxZjFkZC4uOGUzMzEzNGE0YTM1ZjcwYmYwZTAwM2ExZGY4ODY1
NmFhM2U2ZDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgKQEAg
LTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlICJSVENJY2VDb25uZWN0aW9uU3RhdGUuaCIKICNpbmNs
dWRlICJSVENJY2VHYXRoZXJpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1NpZ25hbGluZ1N0YXRl
LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDksMTEgKzQ5LDExIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBuZWdvdGlhdGlvbk5lZWRlZCgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
R2VuZXJhdGVJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9y
PikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShSZWZQdHI8
UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VTaWduYWxpbmdTdGF0ZShSVENTaWduYWxpbmdTdGF0ZSkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBkaWRDaGFuZ2VJY2VHYXRoZXJpbmdTdGF0ZShSVENJY2VHYXRoZXJpbmdTdGF0ZSkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VJY2VDb25uZWN0aW9uU3RhdGUoUlRDSWNlQ29u
bmVjdGlvblN0YXRlKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
QWRkUmVtb3RlU3RyZWFtKFJlZlB0cjxNZWRpYVN0cmVhbVByaXZhdGU+JiYpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVtb3RlU3RyZWFtKE1lZGlhU3RyZWFtUHJpdmF0ZSopID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkUmVtb3RlRGF0YUNoYW5uZWwoc3RkOjp1bmlxdWVf
cHRyPFJUQ0RhdGFDaGFubmVsSGFuZGxlcj4pID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCmluZGV4IDQ5MzIxOWVmMGUyZGIzOGNhNWYyMTk5NWQx
OTUyY2UyODdhYjI4YjMuLmNmODA0OTU3YTczZjdmNWQxM2NmMzU0MTEwZGRlMTE1ZTBhMTkwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCkBAIC0zNiw5
ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxSVENTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpj
cmVhdGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKK1JlZjxSVENTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9y
OjpjcmVhdGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IodHlwZSwg
c2RwKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcih0eXBlLCBzZHApKTsKIH0KIAogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cjo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIHR5cGUsIGNv
bnN0IFN0cmluZyYgc2RwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5o
CmluZGV4IGVhYmRmODQ2ZmU0YWFhODk2NWI5OTM2OTNiZDU4NDY3NTkwOTVkNTUuLjFlYzllZWE3
ZTU0OTQ3MzFkNDkzNTg3ZDI3NGM1MTkwY2FmMmVhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQogCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dHlwZSwgY29uc3QgU3RyaW5nJiBzZHApOworICAgIHN0YXRpYyBSZWY8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5n
JiBzZHApOwogICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IoKTsK
IAogICAgIGNvbnN0IFN0cmluZyYgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oCmluZGV4IDZhZTBlMzJjODRmM2Y3ZTNlNzQ1
NTQ2YTlhZDc4NmNjMDdlYWQ0YTguLjk4OWYzYzFjMjBmODljMDgwN2ZlOGViYmY1ZDdkYWQ4MGQy
Yjg3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0LmgKQEAgLTMzLDcgKzMz
LDYgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTUxLDExICs1MCwxMSBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkgeyB9CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFN1Y2NlZWRlZChQYXNzUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTdWNj
ZWVkZWQoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdEZhaWxlZChjb25zdCBTdHJpbmcmIGVycm9yKSA9IDA7CiAKLSAgICBQYXNz
UmVmUHRyPEV4dHJhRGF0YT4gZXh0cmFEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9leHRyYURhdGE7
IH0KLSAgICB2b2lkIHNldEV4dHJhRGF0YShQYXNzUmVmUHRyPEV4dHJhRGF0YT4gZXh0cmFEYXRh
KSB7IG1fZXh0cmFEYXRhID0gZXh0cmFEYXRhOyB9CisgICAgRXh0cmFEYXRhKiBleHRyYURhdGEo
KSBjb25zdCB7IHJldHVybiBtX2V4dHJhRGF0YS5nZXQoKTsgfQorICAgIHZvaWQgc2V0RXh0cmFE
YXRhKFJlZlB0cjxFeHRyYURhdGE+JiYgZXh0cmFEYXRhKSB7IG1fZXh0cmFEYXRhID0gZXh0cmFE
YXRhOyB9CiAKIHByb3RlY3RlZDoKICAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0KCkg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggNTQwYWQyMWQ2MjZlNGYxMDE5
MGM5MDg4NDI4ZWRmODcwYmIwYzUyNS4uMWEyNTc5MzM2NDg4YTMxMmZhYmVmYjQwOTc0MjYxMzM5
NmRjODliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtMzYsNyArMzYsNyBA
QAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJj
ZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5o
IgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAppbmRleCA3YzIyMzBmMmRl
ZjZjZmFiODcyNjc3NzBiMTg4NWVmMmQ4ZWM3M2NiLi40NjBiNzZlZTM5YzQxZDBhNmE2NWIzZWI0
YjdkOTIyYThiOTViZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
TWFjLmgKQEAgLTM1LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2Uu
aCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck93ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9v
cGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCmluZGV4IGZjMzIzNjAx
OGY1MjRhMTEwNDM1NjY4MzUxYzM0N2E1M2U5OGMzOTMuLjRiZDdiNzA0MTNmMTMxMmNhMzMwZGJj
YjU4YjEwMTJiNmY2OWE5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcApAQCAtMTc0LDEyICsxNzQsMTIgQEAgdm9pZCBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjptZWRpYVNvdXJjZXNBdmFpbGFibGUoR0xpc3QqIHNv
dXJjZXMpCiAKIH0KIAotUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
IHR5cGUpCitSZWFsdGltZU1lZGlhU291cmNlKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
OjpmaXJzdFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiB7CiAgICAgZm9y
IChhdXRvIGl0ZXIgPSBtX3NvdXJjZU1hcC5iZWdpbigpOyBpdGVyICE9IG1fc291cmNlTWFwLmVu
ZCgpOyArK2l0ZXIpIHsKICAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJj
ZSA9IGl0ZXItPnZhbHVlOwogICAgICAgICBpZiAoc291cmNlLT50eXBlKCkgPT0gdHlwZSkKLSAg
ICAgICAgICAgIHJldHVybiBzb3VyY2U7CisgICAgICAgICAgICByZXR1cm4gc291cmNlLmdldCgp
OwogICAgIH0KIAogICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAppbmRleCAzMjg1MTg3Mjc0YmFjZjQxMmM3
OWQyNjQ0MDI2N2ViOTc5N2I0NTY3Li4wMTBlMzlhNmQ4ZDZlOTdmZTRkYTFmNzRkMGM0ZDQ4NmEy
OTQ2YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9v
cGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJPd3IuaApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2VNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgogI2luY2x1ZGUg
IlJlYWx0aW1lTWVkaWFTb3VyY2VPd3IuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02Nyw3
ICs2Nyw3IEBAIHByaXZhdGU6CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGRlZmF1bHRBdWRp
b0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkgZmluYWwgeyByZXR1cm4gbV9kZWZhdWx0QXVkaW9DYXB0
dXJlRGV2aWNlTWFuYWdlcjsgfQogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2VyJiBkZWZhdWx0Vmlk
ZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpIGZpbmFsIHsgcmV0dXJuIG1fZGVmYXVsdFZpZGVvQ2Fw
dHVyZURldmljZU1hbmFnZXI7IH0KIAotICAgIFBhc3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gZmlyc3RTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSk7CisgICAgUmVhbHRpbWVN
ZWRpYVNvdXJjZSogZmlyc3RTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSk7CiAgICAg
UmVhbHRpbWVNZWRpYVNvdXJjZU93ck1hcCBtX3NvdXJjZU1hcDsKICAgICBWYWxpZENvbnN0cmFp
bnRzSGFuZGxlciBtX3ZhbGlkQ29uc3RyYWludHNIYW5kbGVyOwogICAgIEludmFsaWRDb25zdHJh
aW50c0hhbmRsZXIgbV9pbnZhbGlkQ29uc3RyYWludHNIYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2suY3BwCmluZGV4IDIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQuLjU1
ZWY3MDE0ZDljZDljNzRiYzUyMDc3ODA1NTM1NDA2ODg2ZDlmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5jcHAKQEAgLTU1LDkgKzU1LDkgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2s6OnN0b3BVcGRhdGluZygpCiAgICAgbV90aW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9y
aWVudGF0aW9uRGF0YT4gb3JpZW50YXRpb24pCit2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jazo6c2V0T3JpZW50YXRpb24oUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0YT4mJiBvcmll
bnRhdGlvbikKIHsKLSAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CisgICAgbV9vcmll
bnRhdGlvbiA9IFdURk1vdmUob3JpZW50YXRpb24pOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYg
IW1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5oCmluZGV4IDEzODRhZjJlNmJjNzRiODI1MjQ1NDBiNjIzMWI2
MmJkZGNkMzk4ZTcuLjQ3NGQwMjY5NDMxNzBjYTRjZTEyOGM0NWYzNGQyOTRiNThmYTMzMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkRldmljZU9y
aWVudGF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNTEsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBs
YXN0T3JpZW50YXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29yaWVudGF0aW9uLmdl
dCgpOyB9CiAgICAgdm9pZCBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBv
dmVycmlkZSB7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0T3JpZW50YXRpb24oUGFz
c1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldE9yaWVudGF0aW9uKFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+JiYpOwogCiBwcml2
YXRlOgogICAgIHZvaWQgdGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDc1NGE4MjVjYWU1
NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQuLjQ1ZjVkYTkwZjg5MTc2YzA3YWEyNTQzMWI1
ZGI5ZmM2NGM4ODg3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgdm9pZCBHZW9s
b2NhdGlvbkNsaWVudE1vY2s6OnNldENvbnRyb2xsZXIoR2VvbG9jYXRpb25Db250cm9sbGVyICpj
b250cm9sbGVyKQogICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7CiB9CiAKLXZvaWQgR2Vv
bG9jYXRpb25DbGllbnRNb2NrOjpzZXRQb3NpdGlvbihQYXNzUmVmUHRyPEdlb2xvY2F0aW9uUG9z
aXRpb24+IHBvc2l0aW9uKQordm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnNldFBvc2l0aW9u
KFJlZlB0cjxHZW9sb2NhdGlvblBvc2l0aW9uPiYmIHBvc2l0aW9uKQogewotICAgIG1fbGFzdFBv
c2l0aW9uID0gcG9zaXRpb247CisgICAgbV9sYXN0UG9zaXRpb24gPSBXVEZNb3ZlKHBvc2l0aW9u
KTsKICAgICBjbGVhckVycm9yKCk7CiAgICAgYXN5bmNVcGRhdGVDb250cm9sbGVyKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50
TW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1v
Y2suaAppbmRleCBiMTM5ODc3Mjk5ZWJiMmUxNTAyYjdlYWJiZjZkY2U1NDQ2ZjMwYWNjLi4zZDUy
NzliNTNmNjMxNDk2YTQ0Nzk5NmZkZjFjMjBjYjBhNTI5NzIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJHZW9sb2NhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIApAQCAtNTQsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldCgpOwogICAgIHZv
aWQgc2V0Q29udHJvbGxlcihHZW9sb2NhdGlvbkNvbnRyb2xsZXIqKTsKIAotICAgIHZvaWQgc2V0
UG9zaXRpb24oUGFzc1JlZlB0cjxHZW9sb2NhdGlvblBvc2l0aW9uPik7CisgICAgdm9pZCBzZXRQ
b3NpdGlvbihSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4mJik7CiAgICAgdm9pZCBzZXRQb3Np
dGlvblVuYXZhaWxhYmxlRXJyb3IoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogICAgIHZv
aWQgc2V0UGVybWlzc2lvbihib29sIGFsbG93ZWQpOwogICAgIGludCBudW1iZXJPZlBlbmRpbmdQ
ZXJtaXNzaW9uUmVxdWVzdHMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1JUQ05vdGlmaWVyc01vY2suY3BwCmluZGV4IDUwODBiZjZjMTA3Y2Y0MGI3YmQ2OGQ2
OGNhMjg5YWJiMTUwMDdiYzYuLjg4ZDljMTg1N2ZmOTNmMWYyYTA2NGYzOTVkY2JiMGY5MjQ5Y2Zl
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJz
TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNN
b2NrLmNwcApAQCAtMzgsOSArMzgsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNlc3Np
b25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0PiByZXF1ZXN0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRlc2NyaXB0b3IsIGNvbnN0IFN0cmluZyYgZXJyb3JOYW1l
KQotICAgIDogbV9yZXF1ZXN0KHJlcXVlc3QpCi0gICAgLCBtX2Rlc2NyaXB0b3IoZGVzY3JpcHRv
cikKK1Nlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUmVmUHRy
PFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3Q+JiYgcmVxdWVzdCwgUmVmUHRyPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+JiYgZGVzY3JpcHRvciwgY29uc3QgU3RyaW5nJiBlcnJv
ck5hbWUpCisgICAgOiBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKKyAgICAsIG1fZGVzY3Jp
cHRvcihXVEZNb3ZlKGRlc2NyaXB0b3IpKQogICAgICwgbV9lcnJvck5hbWUoZXJyb3JOYW1lKQog
ewogfQpAQCAtNDgsMTMgKzQ4LDEzIEBAIFNlc3Npb25SZXF1ZXN0Tm90aWZpZXI6OlNlc3Npb25S
ZXF1ZXN0Tm90aWZpZXIoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SCiB2b2lkIFNl
c3Npb25SZXF1ZXN0Tm90aWZpZXI6OmZpcmUoKQogewogICAgIGlmIChtX2Rlc2NyaXB0b3IpCi0g
ICAgICAgIG1fcmVxdWVzdC0+cmVxdWVzdFN1Y2NlZWRlZChtX2Rlc2NyaXB0b3IpOworICAgICAg
ICBtX3JlcXVlc3QtPnJlcXVlc3RTdWNjZWVkZWQoKm1fZGVzY3JpcHRvcik7CiAgICAgZWxzZQog
ICAgICAgICBtX3JlcXVlc3QtPnJlcXVlc3RGYWlsZWQobV9lcnJvck5hbWUpOwogfQogCi1Wb2lk
UmVxdWVzdE5vdGlmaWVyOjpWb2lkUmVxdWVzdE5vdGlmaWVyKFBhc3NSZWZQdHI8UlRDVm9pZFJl
cXVlc3Q+IHJlcXVlc3QsIGJvb2wgc3VjY2VzcywgY29uc3QgU3RyaW5nJiBlcnJvck5hbWUpCi0g
ICAgOiBtX3JlcXVlc3QocmVxdWVzdCkKK1ZvaWRSZXF1ZXN0Tm90aWZpZXI6OlZvaWRSZXF1ZXN0
Tm90aWZpZXIoUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiYmIHJlcXVlc3QsIGJvb2wgc3VjY2Vzcywg
Y29uc3QgU3RyaW5nJiBlcnJvck5hbWUpCisgICAgOiBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0
KSkKICAgICAsIG1fc3VjY2VzcyhzdWNjZXNzKQogICAgICwgbV9lcnJvck5hbWUoZXJyb3JOYW1l
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmll
cnNNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2su
aAppbmRleCBlNjQwMzUzM2E4OWI1ZGU3NTI5ZGMyYzhkYmNkY2FhMDQ4MTk0OWNhLi5kMjM0YWQy
M2EwMDFjZjFjNDkzOThmNDgzMzdjYTMxOWY1NzJjYzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaApAQCAtMzEsNyArMzEsNiBAQAogI2lu
Y2x1ZGUgIlJUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyRXZlbnRCYXNlZE1vY2su
aCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDMsNyArNDIsNyBAQCBjbGFz
cyBSVENWb2lkUmVxdWVzdDsKIAogY2xhc3MgU2Vzc2lvblJlcXVlc3ROb3RpZmllciA6IHB1Ymxp
YyBNb2NrTm90aWZpZXIgewogcHVibGljOgotICAgIFNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiwgY29uc3QgU3RyaW5nJiA9IGVtcHR5U3RyaW5nKCkp
OworICAgIFNlc3Npb25SZXF1ZXN0Tm90aWZpZXIoUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
blJlcXVlc3Q+JiYsIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiYmLCBj
b25zdCBTdHJpbmcmID0gZW1wdHlTdHJpbmcoKSk7CiAKICAgICB2b2lkIGZpcmUoKSBvdmVycmlk
ZTsKIApAQCAtNTUsNyArNTQsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBWb2lkUmVxdWVzdE5vdGlm
aWVyIDogcHVibGljIE1vY2tOb3RpZmllciB7CiBwdWJsaWM6Ci0gICAgVm9pZFJlcXVlc3ROb3Rp
ZmllcihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiwgYm9vbCwgY29uc3QgU3RyaW5nJiA9IGVt
cHR5U3RyaW5nKCkpOworICAgIFZvaWRSZXF1ZXN0Tm90aWZpZXIoUmVmUHRyPFJUQ1ZvaWRSZXF1
ZXN0PiYmLCBib29sLCBjb25zdCBTdHJpbmcmID0gZW1wdHlTdHJpbmcoKSk7CiAKICAgICB2b2lk
IGZpcmUoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1RpbWVyRXZlbnRCYXNlZE1vY2suaAppbmRleCBkZGNkMjc1YTgyZDQyYjQ2MWY4NDVkMzM0NGZk
ZTFiOTQwOGU0ZjJhLi5kYWE2NGFmZDY3YmQzNmRiZDIyYjNkZWQ0ODAzOWU4OTA4YWUyZTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1v
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1v
Y2suaApAQCAtMjksNyArMjksNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAi
VGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Niw5ICs0Niw5IEBAIHB1YmxpYzoKIAogY2xh
c3MgVGltZXJFdmVudEJhc2VkTW9jayB7CiBwdWJsaWM6Ci0gICAgdm9pZCByZW1vdmVFdmVudChQ
YXNzUmVmUHRyPFRpbWVyRXZlbnQ+IGV2ZW50KQorICAgIHZvaWQgcmVtb3ZlRXZlbnQoVGltZXJF
dmVudCYgZXZlbnQpCiAgICAgewotICAgICAgICBzaXplX3QgcG9zID0gbV90aW1lckV2ZW50cy5m
aW5kKGV2ZW50KTsKKyAgICAgICAgc2l6ZV90IHBvcyA9IG1fdGltZXJFdmVudHMuZmluZCgmZXZl
bnQpOwogICAgICAgICBtX3RpbWVyRXZlbnRzLnJlbW92ZShwb3MpOwogICAgIH0KIApAQCAtNTgs
MTAgKzU4LDEwIEBAIHByb3RlY3RlZDoKIAogY2xhc3MgVGltZXJFdmVudCA6IHB1YmxpYyBSZWZD
b3VudGVkPFRpbWVyRXZlbnQ+IHsKIHB1YmxpYzoKLSAgICBUaW1lckV2ZW50KFRpbWVyRXZlbnRC
YXNlZE1vY2sqIG1vY2ssIFBhc3NSZWZQdHI8TW9ja05vdGlmaWVyPiBub3RpZmllcikKKyAgICBU
aW1lckV2ZW50KFRpbWVyRXZlbnRCYXNlZE1vY2sqIG1vY2ssIFJlZjxNb2NrTm90aWZpZXI+JiYg
bm90aWZpZXIpCiAgICAgICAgIDogbV9tb2NrKG1vY2spCiAgICAgICAgICwgbV90aW1lcigqdGhp
cywgJlRpbWVyRXZlbnQ6OnRpbWVyRmlyZWQpCi0gICAgICAgICwgbV9ub3RpZmllcihub3RpZmll
cikKKyAgICAgICAgLCBtX25vdGlmaWVyKFdURk1vdmUobm90aWZpZXIpKQogICAgIHsKICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoNTAwX21zKTsKICAgICB9CkBAIC03NCwxMyArNzQsMTMg
QEAgcHVibGljOgogICAgIHZvaWQgdGltZXJGaXJlZCgpCiAgICAgewogICAgICAgICBtX25vdGlm
aWVyLT5maXJlKCk7Ci0gICAgICAgIG1fbW9jay0+cmVtb3ZlRXZlbnQodGhpcyk7CisgICAgICAg
IG1fbW9jay0+cmVtb3ZlRXZlbnQoKnRoaXMpOwogICAgIH0KIAogcHJpdmF0ZToKICAgICBUaW1l
ckV2ZW50QmFzZWRNb2NrKiBtX21vY2s7CiAgICAgVGltZXIgbV90aW1lcjsKLSAgICBSZWZQdHI8
TW9ja05vdGlmaWVyPiBtX25vdGlmaWVyOworICAgIFJlZjxNb2NrTm90aWZpZXI+IG1fbm90aWZp
ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlLmNwcAppbmRleCBlYjJmZjc4NGM1NWJjOWM3NGM4YzU4MDJmOTJmYWZkNGI2MTU5
NjUyLi43ZWI0MTIxZjVlZmNjMTUzYmU3YTNmM2Q3MWEyYWRiZmU5MmEyNzQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJj
ZVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3Vy
Y2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKQEAgLTE0NCw5ICsxNDQsOSBAQCB2b2lkIE1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRDaGFuZ2VBY3RpdmVT
dGF0ZShNb2NrU291cmNlQgogICAgIH0KIH0KIAotc3RhdGljIGJvb2wgTW9ja1NvdXJjZUJ1ZmZl
clByaXZhdGVIYXNBdWRpbyhQYXNzUmVmUHRyPE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlPiBwcnBT
b3VyY2VCdWZmZXIpCitzdGF0aWMgYm9vbCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlv
KE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlKiBzb3VyY2VCdWZmZXIpCiB7Ci0gICAgcmV0dXJuIHBy
cFNvdXJjZUJ1ZmZlci0+aGFzQXVkaW8oKTsKKyAgICByZXR1cm4gc291cmNlQnVmZmVyLT5oYXNB
dWRpbygpOwogfQogCiBib29sIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Omhhc0F1ZGlvKCkgY29u
c3QKQEAgLTE1NCw5ICsxNTQsOSBAQCBib29sIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Omhhc0F1
ZGlvKCkgY29uc3QKICAgICByZXR1cm4gc3RkOjphbnlfb2YobV9hY3RpdmVTb3VyY2VCdWZmZXJz
LmJlZ2luKCksIG1fYWN0aXZlU291cmNlQnVmZmVycy5lbmQoKSwgTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGVIYXNBdWRpbyk7CiB9CiAKLXN0YXRpYyBib29sIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
SGFzVmlkZW8oUGFzc1JlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4gcHJwU291cmNlQnVm
ZmVyKQorc3RhdGljIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbyhNb2NrU291
cmNlQnVmZmVyUHJpdmF0ZSogc291cmNlQnVmZmVyKQogewotICAgIHJldHVybiBwcnBTb3VyY2VC
dWZmZXItPmhhc1ZpZGVvKCk7CisgICAgcmV0dXJuIHNvdXJjZUJ1ZmZlci0+aGFzVmlkZW8oKTsK
IH0KIAogYm9vbCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUmVuZGVyVGhlbWVXUEUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9SZW5kZXJUaGVtZVdQRS5oCmluZGV4IGVmYjJmZTg5
NGM4YzVmMzU0MWEzYTNkZGVhNGY0OGI2ZTVkZWI0MDkuLjYwMjQ5MWExZGUzYjU2MWUwNmZkNTZk
MjM4YjBkMGIxODAxMTJiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dw
ZS9SZW5kZXJUaGVtZVdQRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9SZW5k
ZXJUaGVtZVdQRS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IlJlbmRlclRoZW1lLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>