<?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>101007</bug_id>
          
          <creation_ts>2012-11-01 19:01:44 -0700</creation_ts>
          <short_desc>Introduce ENABLE_DATE_AND_TIME_INPUT_TYPES, and clarify usage of other related flags</short_desc>
          <delta_ts>2012-11-02 04:28:13 -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>Forms</component>
          <version>528+ (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>
          
          <blocked>100935</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>benjamin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>756815</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-01 19:01:44 -0700</bug_when>
    <thetext>ENABLE_DATE_AND_TIME_INPUT_TYPES is just an alias of ENABLE(INPUT_TYPE_DATE) || ENABLE(INPUT_TYPE_DATETIME) || ENABLE(INPUT_TYPE_DATETIMELOCAL) || ENABLE(INPUT_TYPE_MONTH) || ENABLE(INPUT_TYPE_TIME) || ENABLE(INPUT_TYPE_WEEK).

ENABLE_CALENDAR_PICKER should mean &quot;using WebCore/Resources/pagepopups/*.js&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756822</commentid>
    <comment_count>1</comment_count>
      <attachid>171971</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-01 19:07:59 -0700</bug_when>
    <thetext>Created attachment 171971
Cook on EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756863</commentid>
    <comment_count>2</comment_count>
      <attachid>171981</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-01 20:26:27 -0700</bug_when>
    <thetext>Created attachment 171981
Fix android build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756874</commentid>
    <comment_count>3</comment_count>
      <attachid>171981</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-01 21:31:25 -0700</bug_when>
    <thetext>Comment on attachment 171981
Fix android build

Attachment 171981 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14693707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756895</commentid>
    <comment_count>4</comment_count>
      <attachid>171986</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-01 22:52:43 -0700</bug_when>
    <thetext>Created attachment 171986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756924</commentid>
    <comment_count>5</comment_count>
      <attachid>171986</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-01 23:58:42 -0700</bug_when>
    <thetext>Comment on attachment 171986
Patch

Attachment 171986 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14684724</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756928</commentid>
    <comment_count>6</comment_count>
      <attachid>171991</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-02 00:08:54 -0700</bug_when>
    <thetext>Created attachment 171991
Patch 2

Android fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757080</commentid>
    <comment_count>7</comment_count>
      <attachid>171991</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-02 04:11:03 -0700</bug_when>
    <thetext>Comment on attachment 171991
Patch 2

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

rs=me

&gt; Source/WebCore/ChangeLog:10
&gt; +        ENABLE_INPUT_MULTIPLE_FIELDS_UI is disabled. So they should be warpped

Typo: wrapped

&gt; Source/WebCore/ChangeLog:32
&gt; +         2) WebCore/Resources/pagepopus/ is used for the calendar UI implementation.

Typo: pagepopups

&gt; Source/WebCore/ChangeLog:39
&gt; +        date/tiem InputType classes.

Typo: date/time

&gt; Source/WebCore/ChangeLog:42
&gt; +        * page/ChromeClient.h: Change the flag for openDateTimChooser, and add a comment.

Typo: openDateTimeChooser

&gt; Source/WebCore/ChangeLog:51
&gt; +        ENABEL(INPUT_MULTIPLE_FIELDS_UI).

Typo: ENABLE

&gt; Source/WebCore/page/ChromeClient.h:233
&gt; +        //    returns true, if ENABEL(INPUT_MULTIPLE_FIELDS_UI)

Typo: ENABLE

&gt; Source/WebCore/page/ChromeClient.h:235
&gt; +        //    ENABEL(INPUT_MULTIPLE_FIELDS_UI)

Typo: ENABLE

&gt; Source/WebCore/platform/text/PlatformLocale.cpp:351
&gt; +

Nit: A redundant empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757082</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-02 04:14:50 -0700</bug_when>
    <thetext>oops, thank you for pointing out a lot of typos :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757090</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-02 04:28:13 -0700</bug_when>
    <thetext>Committed r133284: &lt;http://trac.webkit.org/changeset/133284&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171971</attachid>
            <date>2012-11-01 19:07:59 -0700</date>
            <delta_ts>2012-11-01 20:26:23 -0700</delta_ts>
            <desc>Cook on EWS</desc>
            <filename>bug-101007-20121102110619.patch</filename>
            <type>text/plain</type>
            <size>36984</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk4OTk1MTRkNGRkMzc1NjFhYTlhNjA1
YzAxN2M5NjU3NjViZjNlY2UuLjg4NmNkNWE5MTVhZWQzZjRhYTdjZTU3N2YxMjdlYzNhZGU5ODNk
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDoKKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0aW9uOiByZXBvcnQgbWVtb3J5IG9jY3Vw
aWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9mIGl0cyBiYXNlIFJlc291cmNlUmVxdWVz
dEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmOTQxMTkwMDZjZGFhNzU5MjUwM2RlYjNmZmZkNDA5MTE0ZDJj
YmE2Li5jYzU5NTU3YzVkMjVmMWY4YjhmNmZlZjFjOTVmNzZjOWVjODdiNWMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNzAgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9U
WVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZVBpY2tl
ckluZGljYXRvclZpc2liaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3dQaWNrZXJJbmRpY2F0b3IpOgorICAgICAgICAq
IGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAg
KEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50Lmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6CisgICAgICAgIChFbXB0eUNocm9tZUNsaWVudCk6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vRGF0
ZVRpbWVDaG9vc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
Lmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlSUNVOjpMb2NhbGVJQ1UpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxl
SUNVOjp+TG9jYWxlSUNVKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvTG9jYWxlSUNVLmg6CisgICAgICAgIChMb2NhbGVJQ1UpOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6CisgICAgICAgIChMb2NhbGVOb25lKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTm9uZTo6bW9udGhMYWJlbHMpOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGU6OmRhdGVUaW1lRm9ybWF0V2l0aG91dFNl
Y29uZHMpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oOgorICAgICAgICAoTG9jYWxlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2Fs
ZU1hYyk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdp
bi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0
YWlsc01hcmtlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFJlbmRlclRo
ZW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bUNvbW1vbi5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVu
dGF0aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFk
IG9mIGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggNzFlM2Y1NTg0ZTBmNDZlYTYxNjM2NTM4ZTUzOWNhYjhiOTIyN2VjOS4uODQyOTc0NDM2
NTczMjM5Yjk5MjEwYTY1MjBlZDc2NTg5NmRjOGQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTLCBhbmQgY2xhcmlmeSB1c2FnZSBvZiBvdGhlciByZWxhdGVkIGZsYWdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNs
aWVudEltcGw6Om9wZW5EYXRlVGltZUNob29zZXIpOgorICAgICAgICAqIHNyYy9EYXRlVGltZUNo
b29zZXJJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oOgorICAg
ICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAy
MDEyLTExLTAxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIE1lbW9yeSBpbnN0cnVtZW50YXRpb246IHJlcG9ydCBtZW1vcnkgb2NjdXBpZWQgYnkgUmVz
b3VyY2VSZXF1ZXN0IGluc3RlYWQgb2YgaXRzIGJhc2UgUmVzb3VyY2VSZXF1ZXN0QmFzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKaW5kZXggNjgwOGYyMzcyMmUxNDAzNWUwMzczZGU2ODRkNjQxNTk2MTVhZmYyOS4uYzhh
Yzg2ODgzNDc1MWU1NWI2MmE0OWQ4NWEwMTVjYWY3MjUyZTFiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC04
MzQsNiArODM0LDEwIEBACiAjZXJyb3IgIkVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMgcmVxdWlyZXMgRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KElOUFVUX1RZUEVfREFURSkgfHwgRU5BQkxFKElOUFVUX1RZUEVfREFURVRJTUUpIHx8IEVOQUJM
RShJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpIHx8IEVOQUJMRShJTlBVVF9UWVBFX01PTlRIKSB8
fCBFTkFCTEUoSU5QVVRfVFlQRV9USU1FKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQorI2Rl
ZmluZSBFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUyAxCisjZW5kaWYKKwogI2RlZmlu
ZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5H
X0NPVU5URVJTIDAKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZMQUdTIDAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA2YmUzMGVl
ODQ1MWVhZDgwYTljOTFjYzkxNDE5OTdjMTc5ZjI2OTRmLi4wMGExZmZjMzgyNmUzNTNjMzdjNGFh
OWQ5ODk0ODNlMGQ0MzA2MWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogI2luY2x1
ZGUgIkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiAjaW5jbHVkZSAiSFRNTElucHV0RWxl
bWVudC5oIgpAQCAtMTgwLDMgKzE4MSw0IEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zCiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggOTZiN2I1ZmU2ZWNiMTU5YzU4NmI2Y2Nl
Yjg1MWEwYjkyMTYwY2NmMS4uZDJmZDk0MTM0Y2U2Y2FlZjlkZGY5ZGVjZmRiZTEyN2NhZjJkZWI3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5o
CkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAj
ZGVmaW5lIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUg
IlRleHRGaWVsZElucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4K
QEAgLTY3LDUgKzY4LDUgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQorI2VuZGlmCiAjZW5kaWYgLy8gQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKaW5kZXggOWUxMDJiMTg3NTljMjIxMGJmZGIxYTE4MjNlYzM0NGIx
MWFmNjUwZC4uM2NhNWM4ZjExNmNiZDIzNTQ4YTgyOTJhYzE2Mjg0ZDk4NGM5MDMyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTE3MiwxOSArMTcyLDE2IEBAIHZvaWQgQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQog
ICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGluQnV0dG9uLmdldCgpOwogICAgIGNvbnRhaW5l
ci0+YXBwZW5kQ2hpbGQoc3BpbkJ1dHRvbik7CiAKLSNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVO
VCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBib29sIHNob3VsZEFkZFBpY2tlcklu
ZGljYXRvciA9IGZhbHNlOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIGlmIChJ
bnB1dFR5cGU6OnRoZW1lU3VwcG9ydHNEYXRhTGlzdFVJKHRoaXMpKQogICAgICAgICBzaG91bGRB
ZGRQaWNrZXJJbmRpY2F0b3IgPSB0cnVlOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQtPnBhZ2UoKSA/
IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCk7
CiAgICAgaWYgKHRoZW1lLT5zdXBwb3J0c0NhbGVuZGFyUGlja2VyKGZvcm1Db250cm9sVHlwZSgp
KSkgewogICAgICAgICBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSB0cnVlOwogICAgICAgICBt
X3BpY2tlckluZGljYXRvcklzQWx3YXlzVmlzaWJsZSA9IHRydWU7CiAgICAgfQotI2VuZGlmCiAg
ICAgaWYgKHNob3VsZEFkZFBpY2tlckluZGljYXRvcikgewogICAgICAgICBSZWZQdHI8UGlja2Vy
SW5kaWNhdG9yRWxlbWVudD4gcGlja2VyRWxlbWVudCA9IFBpY2tlckluZGljYXRvckVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgICAgIG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCA9IHBp
Y2tlckVsZW1lbnQuZ2V0KCk7CkBAIC0xOTIsNyArMTg5LDYgQEAgdm9pZCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiAgICAgICAg
IG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlID0gdHJ1ZTsKICAgICAgICAgdXBkYXRlUGlja2Vy
SW5kaWNhdG9yVmlzaWJpbGl0eSgpOwogICAgIH0KLSNlbmRpZiAvLyBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIH0KIAogdm9pZCBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQpAQCAt
MzQ1LDE1ICszNDEsMTIgQEAgdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZTo6bGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKQogfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIHZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZVBpY2tlckluZGljYXRv
clZpc2liaWxpdHkoKQogewotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgaWYgKG1f
cGlja2VySW5kaWNhdG9ySXNBbHdheXNWaXNpYmxlKSB7CiAgICAgICAgIHNob3dQaWNrZXJJbmRp
Y2F0b3IoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgogI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKQogICAgIGlmIChIVE1MRGF0YUxpc3RFbGVtZW50KiBkYXRhTGlzdCA9IGVs
ZW1lbnQoKS0+ZGF0YUxpc3QoKSkgewogICAgICAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IG9w
dGlvbnMgPSBkYXRhTGlzdC0+b3B0aW9ucygpOwpAQCAtMzg1LDcgKzM3OCw2IEBAIHZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3dQaWNrZXJJbmRpY2F0b3Io
KQogICAgIEFTU0VSVChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpOwogICAgIG1fcGlja2VySW5k
aWNhdG9yRWxlbWVudC0+cmVtb3ZlSW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3Bs
YXkpOwogfQotI2VuZGlmIC8vIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKSB8fCBFTkFCTEUoQ0FM
RU5EQVJfUElDS0VSKQogCiBpbnQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmZ1bGxZZWFyKGNvbnN0IFN0cmluZyYgc291cmNlKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5oCmluZGV4IGU0MmIzYjI4NzM4YzFlYTRhNTlkZjk1MDNjZWI4NzExMzNmZjM4NTYu
LjljNzViYjJjNTJlZWE2MDc0ODJjZjE0N2Q2MzdlZDM2ZTM1YTY1YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKQEAgLTk1LDEzICs5NSw5IEBAIHByaXZhdGU6CiAKICAgICBEYXRlVGltZUVk
aXRFbGVtZW50KiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQ7CiAgICAgU3BpbkJ1dHRvbkVsZW1lbnQq
IG1fc3BpbkJ1dHRvbkVsZW1lbnQ7Ci0jaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8IEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgUGlja2VySW5kaWNhdG9yRWxlbWVudCogbV9waWNr
ZXJJbmRpY2F0b3JFbGVtZW50OwogICAgIGJvb2wgbV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGU7
Ci0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBib29sIG1fcGlja2VySW5kaWNhdG9y
SXNBbHdheXNWaXNpYmxlOwotI2VuZGlmCi0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGlj
YXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNh
dG9yRWxlbWVudC5jcHAKaW5kZXggNGY0YTgyMjEzZDk1NGZhN2I0ZTVkMjA5MjVjNDYxMDEwOTUw
ZGMyZC4uZjA4NDk4ZjA4YTRmOTAzYjAyYzkyZjIyM2EzNjUxYzVkNTgzOWViOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5j
cHAKQEAgLTI5LDEwICsyOSw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiUGlja2VySW5kaWNhdG9y
RWxlbWVudC5oIgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQogI2luY2x1ZGUgIkNo
cm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50
LmgKaW5kZXggMjk1OTE4YTcxZGM4ZGI4MGUwZjZjYzA0MWNiOWIzZmU3YmEzZjBiOS4uY2I3NTU2
NzE3NDliZjljMjAwMzg3ZjAxYjIzZDQ5ODY3YTRiM2YzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaApAQCAtMzEsOCArMzEs
NyBAQAogI2lmbmRlZiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50X2gKICNkZWZpbmUgUGlja2VySW5k
aWNhdG9yRWxlbWVudF9oCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQotCisjaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXIu
aCIKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MRGl2
RWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBkNjBi
ZDMwMWNlNWY3YTcxMWZlZjUzMTAxOTI1ZDNiMjIxYTIyYjQ4Li4zN2Y2YjM3OTE1ZjUwODkwZTRh
N2NkMmY1MWNjOGZjOWEwNGUxZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtMTA0LDcgKzEwNCw3IEBAIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBFbXB0eUNo
cm9tZUNsaWVudDo6Y3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVuCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJ
TUVfSU5QVVRfVFlQRVMpCiBQYXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gRW1wdHlDaHJvbWVD
bGllbnQ6Om9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3Qg
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpCiB7CiAgICAgcmV0dXJuIFBhc3NSZWZQdHI8RGF0
ZVRpbWVDaG9vc2VyPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDcz
Yzk4MTkzNDE1NzY3MDI0ZmI0NjAwMjU5YWU1ZWU5M2E5YWVjNDAuLjI4MjhhNjkwZTA4MDY4M2Ex
MGJkZjZmY2ExNjQyZTA4ZTRlOTE2NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENv
bG9yQ2hvb3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0
IENvbG9yJikgT1ZFUlJJREU7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIp
CisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gb3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29z
ZXJDbGllbnQqLCBjb25zdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJikgT1ZFUlJJREU7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMDc3MjQxMjk1NWQ2Njk3
NTkxYzcwMTQwNjNkYzMzMDg4YzdhZTFkNS4uMTQyMjVlNGQ0MmJlYjZjNzY4Y2MwMTJkZWI4ZDRl
ZDNlYTg3MzFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjYsNyArMjI2
LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPENv
bG9yQ2hvb3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0
IENvbG9yJikgPSAwOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lm
IEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorICAgICAgICAvLyBUaGlzIGZ1bmN0
aW9uIGlzIHVzZWQgZm9yOgorICAgICAgICAvLyAgLSBNYW5kYXRvcnkgZGF0ZS90aW1lIGNob29z
ZXJzIGlmICFFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorICAgICAgICAvLyAgLSBE
YXRlL3RpbWUgY2hvb3NlcnMgZm9yIHR5cGVzIGZvciB3aGljaCBSZW5kZXJUaGVtZTo6c3VwcG9y
dHNDYWxlbmRhclBpY2tlcgorICAgICAgICAvLyAgICByZXR1cm5zIHRydWUsIGlmIEVOQUJFTChJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisgICAgICAgIC8vICAtIDxkYXRhbGlzdD4gVUkgZm9y
IGRhdGUvdGltZSBpbnB1dCB0eXBlcyByZWdhcmRsZXNzIG9mCisgICAgICAgIC8vICAgIEVOQUJF
TChJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxE
YXRlVGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
KiwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpID0gMDsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5oCmluZGV4IDdhM2E1ZTk4MTUzNGFk
ZDZjNDk4YTY2MmM3MTU5ODU5NjNlYjNkYzguLjQwNWRmZGQ5N2NmNDkwZjFmNmIwNjhhNzU0NTll
YzAwZDBkZDQ5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1l
Q2hvb3Nlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5o
CkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIERhdGVUaW1lQ2hvb3Nlcl9oCiAjZGVmaW5lIERh
dGVUaW1lQ2hvb3Nlcl9oCiAKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykK
ICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTYxLDUgKzYyLDUgQEAgcHVibGljOgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCisjZW5kaWYKICNlbmRpZiAvLyBEYXRlVGltZUNo
b29zZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9v
c2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGll
bnQuaAppbmRleCAxODUzZWE3YTAzMjQzMjVhZmNlNjQyNjFiZWM3NjYwZjFhMWQzMDE0Li4yMzBk
MDQ1NDQzMjE2MGVmMjFmOTY5Y2JhOTU0NDE3YTZlOGYyYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAog
I2lmbmRlZiBEYXRlVGltZUNob29zZXJDbGllbnRfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJD
bGllbnRfaAogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIERhdGVUaW1lQ2hvb3NlckNsaWVudCB7CkBAIC00NCw1ICs0
NSw1IEBAIHB1YmxpYzoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQorI2VuZGlmCiAj
ZW5kaWYgLy8gRGF0ZVRpbWVDaG9vc2VyQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCBiNGJhMjE5N2MyZGQ0NjQwNDUyZTFhZjE1NjYwNGE1
MjZjNWZiZTZmLi5mY2JhMTU2OWNjYmFiODFjZDdmODY3ZWJkZjhiZWIxNmFhNzAxYzgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0xOTEsMTAgKzE5
MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gInl5eXkiLCBmb3IgeWVhciBmaWVs
ZCB1c2VkIGluIG11bHRpcGxlIGZpZWxkcyAiZGF0ZSIsICJkYXRldGltZSIsIGFuZAogICAgIC8v
ICJkYXRldGltZS1sb2NhbCIgaW5wdXQgVUkgaW5zdGVhZCAiLS0tLSIuCiAgICAgU3RyaW5nIHBs
YWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7Ci0KKyNlbmRpZgorI2lmIEVOQUJMRShJTlBVVF9UWVBF
X1dFRUspCiAgICAgLy8gd2Vla0Zvcm1hdEluTERNTCgpIHJldHVybnMgd2VlayBhbmQgeWVhciBm
b3JtYXQgaW4gTERNTCwgVW5pY29kZQotICAgIC8vIHRlY2huaWNhbCBzdGFuZGFyZCAzNSwgTG9j
YWxlIERhdGEgTWFya3VwIExhbmd1YWdlLCBlLmcuICJXVy15eXl5eSIKLSAgICAvLyBmb3IgIndl
ZWsiIGlucHV0IHR5cGUuCisgICAgLy8gdGVjaG5pY2FsIHN0YW5kYXJkIDM1LCBMb2NhbGUgRGF0
YSBNYXJrdXAgTGFuZ3VhZ2UsIGUuZy4gIidXZWVrJyB3dywgeXl5eSIKICAgICBTdHJpbmcgd2Vl
a0Zvcm1hdEluTERNTCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlSUNVLmNwcAppbmRleCA4MzMzNjkzOTMzZWQ0NTkzZWViZjFiNzU5ZmY4NTYxYzUyOWY2
NTIyLi40NWVkNjk0MThhMGMxMzExMTU4NTFlYzM4MDFlZGRiNzA5NTQwNDJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCkBAIC01OCw3ICs1OCw3IEBAIExv
Y2FsZUlDVTo6TG9jYWxlSUNVKGNvbnN0IGNoYXIqIGxvY2FsZSkKICNpZiBFTkFCTEUoQ0FMRU5E
QVJfUElDS0VSKQogICAgICwgbV9maXJzdERheU9mV2VlaygwKQogI2VuZGlmCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBV
VF9UWVBFUykKICAgICAsIG1fbWVkaXVtVGltZUZvcm1hdCgwKQogICAgICwgbV9zaG9ydFRpbWVG
b3JtYXQoMCkKICAgICAsIG1fZGlkQ3JlYXRlVGltZUZvcm1hdChmYWxzZSkKQEAgLTcwLDcgKzcw
LDcgQEAgTG9jYWxlSUNVOjp+TG9jYWxlSUNVKCkKIHsKICAgICB1bnVtX2Nsb3NlKG1fbnVtYmVy
Rm9ybWF0KTsKICAgICB1ZGF0X2Nsb3NlKG1fc2hvcnREYXRlRm9ybWF0KTsKLSNpZiBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTKQogICAgIHVkYXRfY2xvc2UobV9tZWRpdW1UaW1lRm9ybWF0KTsKICAgICB1ZGF0X2Ns
b3NlKG1fc2hvcnRUaW1lRm9ybWF0KTsKICNlbmRpZgpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQg
TG9jYWxlSUNVOjppbml0aWFsaXplQ2FsZW5kYXIoKQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lm
IEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogc3RhdGljIFBhc3NPd25QdHI8VmVj
dG9yPFN0cmluZz4gPiBjcmVhdGVGYWxsYmFja01vbnRoTGFiZWxzKCkKIHsKICAgICBPd25QdHI8
VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0cmluZz4oKSk7
CkBAIC0yNzUsNyArMjc1LDcgQEAgYm9vbCBMb2NhbGVJQ1U6OmlzUlRMKCkKIH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9B
TkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
Y3JlYXRlRmFsbGJhY2tBTVBNTGFiZWxzKCkKIHsKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4g
PiBsYWJlbHMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0cmluZz4oKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAppbmRleCBkMmFhMTI2MTJjY2MyZmExMGVkYTM5MDdk
MGMzNzMwNGY1YjBjNWI3Li45YThkNGJkMWQ3YzQwM2FlYzNkODI1ZjYxMjRkYzViYzEwMTcxN2I1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKQEAgLTU0LDE0ICs1
NCwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBmaXJzdERheU9mV2VlaygpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYg
RU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBtb250aExhYmVscygpIE9WRVJS
SURFOwotI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRl
Rm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9u
dGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTg0LDExICs4Miw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBpbml0aWFsaXplQ2FsZW5kYXIoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFU
RV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
Y3JlYXRlTGFiZWxWZWN0b3IoY29uc3QgVURhdGVGb3JtYXQqLCBVRGF0ZUZvcm1hdFN5bWJvbFR5
cGUsIGludDMyX3Qgc3RhcnRJbmRleCwgaW50MzJfdCBzaXplKTsKLSNlbmRpZgotCi0jaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2b2lkIGluaXRpYWxpemVEYXRlVGlt
ZUZvcm1hdCgpOwogI2VuZGlmCiAKQEAgLTEwMiwxMCArOTcsOCBAQCBwcml2YXRlOgogICAgIE93
blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1fd2Vla0RheVNob3J0TGFiZWxzOwogICAgIHVuc2lnbmVk
IG1fZmlyc3REYXlPZldlZWs7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8
fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9U
SU1FX0lOUFVUX1RZUEVTKQogICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1fbW9udGhMYWJl
bHM7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIFN0
cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3JtYXQ7CiAgICAgU3RyaW5n
IG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlTm9uZS5jcHAKaW5kZXggMmIwYjExNWEwNGZhZWVlMWZhZTk1YTU5YThhODA0ZTcyNGUw
YjU0Ni4uOWRjNWMwMGE1YTFiYmUzMGFjZmFlYjI4ZTc4ZDZjMjkwNmU3YzNhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCkBAIC0zOSwxNCArMzksMTIg
QEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZpcnR1YWwgYm9v
bCBpc1JUTCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikg
fHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBtb250aExhYmVscygpIE9WRVJSSURFOwotI2VuZGlmCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBV
VF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmlu
ZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9y
bWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhM
YWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9y
dE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAg
LTU0LDggKzUyLDYgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxTdHJpbmc+IG1fdGltZUFNUE1M
YWJlbHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwotI2VuZGlmCi0j
aWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKICAgICBWZWN0b3I8U3RyaW5nPiBtX21vbnRoTGFiZWxzOwogI2VuZGlmCiB9OwpAQCAt
ODAsNyArNzYsNyBAQCBib29sIExvY2FsZU5vbmU6OmlzUlRMKCkKIH0KICNlbmRpZgogCi0jaWYg
RU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBMb2NhbGVOb25lOjptb250aExhYmVscygpCiB7CiAgICAgaWYgKCFtX21vbnRoTGFi
ZWxzLmlzRW1wdHkoKSkKQEAgLTkwLDkgKzg2LDcgQEAgY29uc3QgVmVjdG9yPFN0cmluZz4mIExv
Y2FsZU5vbmU6Om1vbnRoTGFiZWxzKCkKICAgICAgICAgbV9tb250aExhYmVscy5hcHBlbmQoV1RG
Ojptb250aEZ1bGxOYW1lW2ldKTsKICAgICByZXR1cm4gbV9tb250aExhYmVsczsKIH0KLSNlbmRp
ZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIFN0cmluZyBMb2NhbGVO
b25lOjpkYXRlRm9ybWF0KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJkZC9NTS95eXl5
eSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxv
Y2FsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNw
cAppbmRleCBiZGY2NDViNzJkYjlhNmVlNzdhZDJjOTRhMGIyZDVhODkyNGM5NjRhLi5lYWZkZmRk
Y2Q5MDkzN2RmMjhkYjEwYzQxM2QxYWNiZWM4MGJhNDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogCiBjbGFzcyBEYXRlVGlt
ZVN0cmluZ0J1aWxkZXIgOiBwcml2YXRlIERhdGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3RyaW5nQnVpbGRlcik7CkBAIC0zMTQs
NyArMzE0LDkgQEAgU3RyaW5nIExvY2FsZTo6bG9jYWxpemVkRGVjaW1hbFNlcGFyYXRvcigpCiAg
ICAgaW5pdGlhbGl6ZUxvY2FsZURhdGEoKTsKICAgICByZXR1cm4gbV9kZWNpbWFsU3ltYm9sc1tE
ZWNpbWFsU2VwYXJhdG9ySW5kZXhdOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKIFN0cmluZyBMb2NhbGU6OmRhdGVUaW1lRm9ybWF0V2l0aFNlY29u
ZHMoKQogewogICAgIGlmICghbV9kYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQpA
QCAtMzQwLDI0ICszNDIsMjAgQEAgU3RyaW5nIExvY2FsZTo6ZGF0ZVRpbWVGb3JtYXRXaXRob3V0
U2Vjb25kcygpCiAgICAgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzID0gYnVpbGRlci50
b1N0cmluZygpOwogICAgIHJldHVybiBtX2RhdGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9
Ci0jZW5kaWYKIAogU3RyaW5nIExvY2FsZTo6Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBv
bmVudHMmIGRhdGUsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKIHsKLSNpZiBFTkFCTEUoSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJKQogICAgIGlmIChkYXRlLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50
czo6VGltZSAmJiBkYXRlLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6RGF0ZSkKICAgICAgICAg
cmV0dXJuIFN0cmluZygpOworICAgIC8vIEZJWE1FOiBTdXBwb3J0cyBhbGwgdHlwZXMuCisKICAg
ICBEYXRlVGltZVN0cmluZ0J1aWxkZXIgYnVpbGRlcigqdGhpcywgZGF0ZSk7CiAgICAgaWYgKGRh
dGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQogICAgICAgICBidWlsZGVyLmJ1aWxk
KGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hvcnRUaW1lRm9ybWF0KCkgOiB0aW1l
Rm9ybWF0KCkpOwogICAgIGVsc2UgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpE
YXRlKQogICAgICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3JtYXQoKSk7CiAgICAgcmV0dXJuIGJ1
aWxkZXIudG9TdHJpbmcoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRhdGUpOwotICAgIFVO
VVNFRF9QQVJBTShmb3JtYXRUeXBlKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci0jZW5kaWYKIH0K
KyNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Bs
YXRmb3JtTG9jYWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9j
YWxlLmgKaW5kZXggZTMzZTBiZmQzMmQ1MWM3NWZjN2Y0NWZjNzlmZmRhYmIwNmIyOGI5MS4uMzU4
NTEyNDgyYzk0OTRkMGU3ZjA5NjEyN2EyMDM3NTBmN2QwNzhjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaApAQCAtNTYsNyArNTYsOSBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICAvLyBSZXR1cm5z
IGxvY2FsaXplZCBkZWNpbWFsIHNlcGFyYXRvciwgZS5nLiAiLiIgZm9yIEVuZ2xpc2gsICIsIiBm
b3IgRnJlbmNoLgogICAgIFN0cmluZyBsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCk7CisjZW5k
aWYKIAorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAgIC8vIFJldHVy
bnMgZGF0ZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxbMV0gY29udGFpbmluZyBkYXkgb2Yg
bW9udGgsCiAgICAgLy8gbW9udGgsIGFuZCB5ZWFyLCBlLmcuICJkZC9tbS95eXl5IgogICAgIC8v
IFsxXSBMRE1MIGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0RhdGVfRm9ybWF0X1Bh
dHRlcm5zCkBAIC05OSw5ICsxMDEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIGxvY2Fs
aXplZCBwZXJpb2QgZmllbGQoQU0vUE0pIHN0cmluZ3MuCiAgICAgdmlydHVhbCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSA9IDA7Ci0jZW5kaWYKIAotI2lmIEVOQUJMRShD
QUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAg
Ly8gUmV0dXJucyBhIHZlY3RvciBvZiBzdHJpbmcgb2Ygd2hpY2ggc2l6ZSBpcyAxMi4gVGhlIGZp
cnN0IGl0ZW0gaXMgYQogICAgIC8vIGxvY2FsaXplZCBzdHJpbmcgb2YgSmFudWFyeSwgYW5kIHRo
ZSBsYXN0IGl0ZW0gaXMgYSBsb2NhbGl6ZWQgc3RyaW5nIG9mCiAgICAgLy8gRGVjZW1iZXIuIFRo
ZXNlIHN0cmluZ3Mgc2hvdWxkIG5vdCBiZSBhYmJyZXZpYXRpb25zLgpAQCAtMTIyLDEyICsxMjIs
MTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpID0gMDsKICNlbmRpZgogCisj
aWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgZW51bSBGb3JtYXRUeXBl
IHsgRm9ybWF0VHlwZVVuc3BlY2lmaWVkLCBGb3JtYXRUeXBlU2hvcnQsIEZvcm1hdFR5cGVNZWRp
dW0gfTsKIAogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3Jt
YXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAvLyBkaXNwbGF5IHRvIHRoZSB1c2VyLiBJZiBhbiBp
bXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQKICAgICAvLyBsb2NhbGl6ZWQgZGF0ZXMgdGhl
IGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgogICAgIFN0cmluZyBmb3Jt
YXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYsIEZvcm1hdFR5cGUgPSBGb3JtYXRUeXBl
VW5zcGVjaWZpZWQpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIH5Mb2NhbGUoKTsKIApAQCAtMTM5
LDcgKzE0MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRGVjaW1hbFN5bWJvbHNTaXplCiAgICAg
fTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERB
VEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgU3RyaW5nIG1fZGF0ZVRpbWVGb3JtYXRXaXRo
U2Vjb25kczsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCmluZGV4
IDg3NmQ4ZTNiMGI2ZjY1ZTVkN2VhMThlMmM1YzRhYTQwNjdkNDY3ZGEuLmUzNjM3OTlkY2IzODM2
Y2QzMmE0MzYyNmU0MDIwZDMyZDZlM2JhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvbWFjL0xvY2FsZU1hYy5oCkBAIC01NiwxNSArNTYsMTMgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdW5zaWduZWQgZmlyc3REYXlPZldlZWsoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJv
b2wgaXNSVEwoKSBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIp
IHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVhbCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgogCi0jaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0
cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1l
Rm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9u
dGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
aG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsK
QEAgLTgxLDEwICs3OSw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikK
ICAgICBWZWN0b3I8U3RyaW5nPiBtX3dlZWtEYXlTaG9ydExhYmVsczsKICNlbmRpZgotI2lmIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
CisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9tb250aExhYmVsczsKLSNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCiAgICAgUmV0YWluUHRyPE5TRGF0ZUZvcm1hdHRlcj4gdGltZUZvcm1hdHRlcigpOwog
ICAgIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IHNob3J0VGltZUZvcm1hdHRlcigpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KaW5kZXggNDVh
Mjk0OTdkZmVjMGE0YWE3YWFhYWU1MWNhZTNlMzhiMWIwZDY4NS4uOGY5OWRkMjE5NjdkZjE1M2Zh
YjEzZjY3YTE2ZTVjNTdiYjJlOGZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtMTE0LDcgKzExNCw3IEBAIFJldGFpblB0cjxOU0RhdGVG
b3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hvcnREYXRlRm9ybWF0dGVyKCkKICAgICByZXR1cm4gY3Jl
YXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9sb2NhbGUuZ2V0KCksIG1fZ3JlZ29yaWFuQ2FsZW5kYXIu
Z2V0KCksIE5TRGF0ZUZvcm1hdHRlclNob3J0U3R5bGUsIE5TRGF0ZUZvcm1hdHRlck5vU3R5bGUp
OwogfQogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVNYWM6Om1vbnRoTGFiZWxzKCkKIHsKICAgICBpZiAo
IW1fbW9udGhMYWJlbHMuaXNFbXB0eSgpKQpAQCAtMTY1LDcgKzE2NSw3IEBAIGJvb2wgTG9jYWxl
TWFjOjppc1JUTCgpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBSZXRhaW5QdHI8
TlNEYXRlRm9ybWF0dGVyPiBMb2NhbGVNYWM6OnRpbWVGb3JtYXR0ZXIoKQogewogICAgIHJldHVy
biBjcmVhdGVEYXRlVGltZUZvcm1hdHRlcihtX2xvY2FsZS5nZXQoKSwgbV9ncmVnb3JpYW5DYWxl
bmRhci5nZXQoKSwgTlNEYXRlRm9ybWF0dGVyTm9TdHlsZSwgTlNEYXRlRm9ybWF0dGVyTWVkaXVt
U3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9j
YWxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5j
cHAKaW5kZXggOTYzMzc2ZTEzY2FlOThkMDU0OWIwODUxMmJmMTQ5MDRjNDA3NDA0Zi4uZjc4YjM4
MzVjMjBiMWI2MDZkNTc2MzMzNjBlMjQzYWZjYzg3ZTI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC0zMiw5ICszMiw3IEBACiAjaW5j
bHVkZSAiTG9jYWxlV2luLmgiCiAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVGb3JtYXQu
aCIKLSNlbmRpZgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9jYWxpemVkU3Ry
aW5ncy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KQEAgLTM1NCw3ICszNTIsNyBAQCB2b2lkIExvY2Fs
ZVdpbjo6ZW5zdXJlV2Vla0RheVNob3J0TGFiZWxzKCkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lm
IEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogY29uc3QgVmVjdG9yPFN0cmluZz4m
IExvY2FsZVdpbjo6bW9udGhMYWJlbHMoKQogewogICAgIGVuc3VyZU1vbnRoTGFiZWxzKCk7CkBA
IC0zODEsNyArMzc5LDcgQEAgYm9vbCBMb2NhbGVXaW46OmlzUlRMKCkKIH0KICNlbmRpZgogCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBTdHJpbmcgY29udmVydFdpbmRvd3NEYXRlRm9ybWF0
VG9MRE1MKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9rZW4+JiB0b2tlbnMpCiB7CiAgICAgU3Ry
aW5nQnVpbGRlciBidWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3dpbi9Mb2NhbGVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xv
Y2FsZVdpbi5oCmluZGV4IGYzM2Y5OTc1ZmVhZmI4MTE5ZTI0OTJjMDVkOTgyZGMzNmQ5YmJiMTQu
LjA4MTEyZmYwM2MyYjlkYTAxYmFkZjIyZDllMzRmZmE2ODA3MGJkOTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCkBAIC01MSwyMSArNTEsMTcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3REYXlPZldlZWsoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShD
QUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAg
dmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKLSNl
bmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERB
VEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3Ry
aW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIG1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgc2hvcnRNb250aExhYmVscygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIHN0YW5kQWxvbmVNb250aExhYmVscygpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWxz
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1M
YWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKICAgICBzdGF0aWMgU3RyaW5nIGRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAj
ZW5kaWYKIApAQCAtODQsOSArODAsOSBAQCBwcml2YXRlOgogCiAgICAgTENJRCBtX2xjaWQ7CiAg
ICAgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4gbV9zaG9ydERhdGVUb2tlbnM7CisjaWYgRU5BQkxF
KERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1v
bnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fbW9udGhMYWJlbHM7Ci0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0OwogICAg
IFN0cmluZyBtX21vbnRoRm9ybWF0OwogICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRoU2Vjb25k
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFy
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNw
cAppbmRleCAwMWIyMzQ4NzYzNzk0Yjc3NDc0YTUzOTk3ZTE5Y2Y0YmVhZjM1NjlkLi4zNDVjMTM4
OWVlMzVjZTM4ZDI5ZDJlNmU1NzEzNDViM2U3NGVjYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyRGV0YWlsc01hcmtlci5oIgogCi0j
aWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNp
ZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRGV0YWlsc01hcmtlci5oCmluZGV4IGFjOTNiZTg2OGI0MTYwMjliMmY2NzExNzExY2Q4MGZi
MjFlNDE3NGMuLmY2MGIzY2I0ODliZmFhY2E4OTU3ZDljY2E4MjUwZmVlZTMzMDc2MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaApAQCAtMjEs
NyArMjEsNyBAQAogI2lmbmRlZiBSZW5kZXJEZXRhaWxzTWFya2VyX2gKICNkZWZpbmUgUmVuZGVy
RGV0YWlsc01hcmtlcl9oCiAKLSNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpIHx8IEVOQUJMRShJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRl
eCBiNTY4OTUzY2I2Mjk2YWFkMjFkZTYzZDM2ZjFhN2RiMmVjNGRkZDhjLi5iMTQ3NDkzMTg5Yzhh
NmU2YmZiODUyMjRhYmFkNWM2NzdiNTg3YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaApAQCAtMTM4LDcgKzEzOCw3IEBAIHB1YmxpYzoKICAgICAvLyBBIG1ldGhvZCBh
c2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8gc2hvdyBkYXRhbGlzdCBzdWdnZXN0aW9u
cyBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0RhdGFM
aXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotI2lm
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNL
RVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICAvLyBBIG1ldGhv
ZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8gc2hvdyBhIGNhbGVuZGFyIHBpY2tl
ciBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NhbGVu
ZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtQ29tbW9uLmNwcAppbmRleCAzNTk1NzdhYjRhMGY2OGViMDNkZTRlZGJjODRmYzc0ZGVh
ZGE0MjYyLi4yODA5MTEwNzM4MDdlMzRlZTk2OGQ5M2ZlNmE4ZmE1NTQwNWMyYjgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21t
b24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbjo6
c3VwcG9ydHNEYXRhTGlzdFVJKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKICAgICAgICAgfHwg
dHlwZSA9PSBJbnB1dFR5cGVOYW1lczo6cmFuZ2UoKTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1v
bjo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCiB7CiAg
ICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0byBzdXBwb3J0IGRhdGV0aW1lLCBkYXRldGltZS1sb2Nh
bCwgbW9udGgsIGFuZCB3ZWVrIHRvby4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5oCmluZGV4IDhjMDVhY2Y2MDFjODQ2MjA1NWRm
MjBiYWM1ZmQ5M2VjZWRhZjY1NmQuLjAwYTI2MWQzMDcyYjYzOThlZjRlNzU4YThlYTNjNjUxMDRl
NTU5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1Db21tb24uaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBSZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9v
bCBzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKLSNpZiBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKSAmJiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQor
I2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgc3RhdGljIGJvb2wgc3Vw
cG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpOwogI2VuZGlmCiAg
ICAgc3RhdGljIExheW91dFVuaXQgc2xpZGVyVGlja1NuYXBwaW5nVGhyZXNob2xkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaAppbmRl
eCAyNDBkY2Y5YzBjYjYxMTVkYTE4ODRjOTlhNzViYWM1M2RkYmQ0Y2U5Li4xZjVhODE0ODQ5MWI0
OGQ5YjIzODFlYTdiY2U5NTQzMTE5ODQwZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0
ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZpcnR1YWwgQ1N0cmluZyBleHRy
YUNhbGVuZGFyUGlja2VyU3R5bGVTaGVldCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgJiYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNp
ZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkgY29uc3QgT1ZFUlJJ
REU7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU2hvd1BsYWNlaG9sZGVyV2hlbkZv
Y3VzZWQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggYjlkYTUyMmUxNzA0MzkyOTdjZjE2Njky
ZjQxMzBhYTg4OTg2YjVlZC4uODdiNGU4MWRkZjg5MTdhZjAwZWJhOWI3NGVkYTMyMDZiN2E2ZWY3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmgKQEAgLTE4MSw3ICsxODEsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShEQVRBTElT
VF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBzbGlkZXJUaWNrU25hcHBpbmdUaHJl
c2hvbGQoKSBjb25zdCBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVU
X01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDYWxlbmRhclBp
Y2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpIGNvbnN0IE9WRVJSSURFOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5k
ZXggZDc4MWU4YTQwMzNhNWI5MTkyOWQ3NzNiM2I3Zjc4NGJiNjY5MzA4Zi4uODYzYjlhMzM4YTY5
ZjY2N2QxYWVlMjVkN2NkMDk2YzA1NzlhM2UyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTY5MiwxMCArNjkyLDE1IEBAIFBhc3NP
d25QdHI8V2ViQ29sb3JDaG9vc2VyPiBDaHJvbWVDbGllbnRJbXBsOjpjcmVhdGVXZWJDb2xvckNo
b29zZXIoV2ViQ29sb3JDaG9vCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNL
RVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBQYXNzUmVmUHRyPERh
dGVUaW1lQ2hvb3Nlcj4gQ2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRl
VGltZUNob29zZXJDbGllbnQqIHBpY2tlckNsaWVudCwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQogICAgIHJldHVybiBEYXRlVGltZUNob29zZXJJbXBsOjpjcmVhdGUodGhpcywgcGlja2Vy
Q2xpZW50LCBwYXJhbWV0ZXJzKTsKKyNlbHNlCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+KCk7CisjZW5kaWYKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwu
Y3BwCmluZGV4IGE0Yjg3NjUxZGY2Mzg3NDY1OGZmYWE4ZDk5NmFiODM4MTVkZjU5NzEuLjI5ZDUx
OTk2NmNhYTBhYzM3ZWIyMGQ2YTI2ZGIxMzIyMjg0YmNlMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCkBAIC0yOSwxMCArMjks
OSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkRhdGVUaW1lQ2hvb3NlckltcGwuaCIKIAotI2lmIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KICNpbmNsdWRlICJDYWxlbmRhclBpY2tlci5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudEltcGwuaCIKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgpA
QCAtNDgsNiArNDcsMTAgQEAKICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmg+CiAKKyNpZiAhRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKKyNlcnJvciAiRU5BQkxFX0lOUFVUX01VTFRJUExFX0ZJRUxEU19VSSByZXF1aXJlcyBF
TkFCTEVfQ0FMRU5EQVJfUElDS0VSIGluIENocm9taXVtLiIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNzAsNCArMTczLDQgQEAg
dm9pZCBEYXRlVGltZUNob29zZXJJbXBsOjpkaWRDbG9zZVBvcHVwKCkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2VuZGlmIC8v
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmgKaW5kZXggMTdkYjQzNTY4YmJjYzBjNmIw
MjU4MTNhOWVjZWY4NGM0NzlmNjVlOS4uMjI0MzU4NjIzYThhYWE1YWJlMTNkMmMxYzgxMmY3OGFm
MDZkNGU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVD
aG9vc2VySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hv
b3NlckltcGwuaApAQCAtMzEsMTEgKzMxLDEwIEBACiAjaWZuZGVmIERhdGVUaW1lQ2hvb3Nlcklt
cGxfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJJbXBsX2gKIAorI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgiCiAjaW5jbHVk
ZSAiUGFnZVBvcHVwQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlUG9wdXA7CiBjbGFzcyBEYXRlVGltZUNob29z
ZXJDbGllbnQ7CkBAIC03MSw2ICs3MCw2IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJ
RUxEU19VSSkKIAogI2VuZGlmIC8vIERhdGVUaW1lQ2hvb3NlckltcGxfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCBhYzhhYWU1NWVl
MDdhNDBhYzA2MTRhMDU1NjY5MTU5NWNjMjRkM2Y3Li5lNWJhZGVkOTM2M2Q2ODgyNGIzN2YwNjE2
MDRhODdkMTJjMTdjNmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9M
b2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2Nh
bGl6ZWRTdHJpbmdzLmNwcApAQCAtMjY4LDcgKzI2OCw5IEBAIFN0cmluZyBwbGFjZWhvbGRlckZv
clllYXJGaWVsZCgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6UGxh
Y2Vob2xkZXJGb3JZZWFyRmllbGQpOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9XRUVLKQogU3RyaW5nIHdlZWtGb3JtYXRJbkxETUwoKQogewogICAgIFN0cmluZyB0ZW1wbCA9
IHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6V2Vla0Zvcm1hdFRlbXBsYXRlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171981</attachid>
            <date>2012-11-01 20:26:27 -0700</date>
            <delta_ts>2012-11-01 22:52:39 -0700</delta_ts>
            <desc>Fix android build</desc>
            <filename>bug-101007-20121102122447.patch</filename>
            <type>text/plain</type>
            <size>38019</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk4OTk1MTRkNGRkMzc1NjFhYTlhNjA1
YzAxN2M5NjU3NjViZjNlY2UuLjg4NmNkNWE5MTVhZWQzZjRhYTdjZTU3N2YxMjdlYzNhZGU5ODNk
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDoKKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0aW9uOiByZXBvcnQgbWVtb3J5IG9jY3Vw
aWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9mIGl0cyBiYXNlIFJlc291cmNlUmVxdWVz
dEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmOTQxMTkwMDZjZGFhNzU5MjUwM2RlYjNmZmZkNDA5MTE0ZDJj
YmE2Li5jYzU5NTU3YzVkMjVmMWY4YjhmNmZlZjFjOTVmNzZjOWVjODdiNWMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNzAgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9U
WVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZVBpY2tl
ckluZGljYXRvclZpc2liaWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3dQaWNrZXJJbmRpY2F0b3IpOgorICAgICAgICAq
IGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAg
KEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50Lmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6CisgICAgICAgIChFbXB0eUNocm9tZUNsaWVudCk6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vRGF0
ZVRpbWVDaG9vc2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
Lmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlSUNVOjpMb2NhbGVJQ1UpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxl
SUNVOjp+TG9jYWxlSUNVKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvTG9jYWxlSUNVLmg6CisgICAgICAgIChMb2NhbGVJQ1UpOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6CisgICAgICAgIChMb2NhbGVOb25lKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTm9uZTo6bW9udGhMYWJlbHMpOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGU6OmRhdGVUaW1lRm9ybWF0V2l0aG91dFNl
Y29uZHMpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oOgorICAgICAgICAoTG9jYWxlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2Fs
ZU1hYyk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdp
bi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0
YWlsc01hcmtlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFJlbmRlclRo
ZW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bUNvbW1vbi5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVu
dGF0aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFk
IG9mIGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggNzFlM2Y1NTg0ZTBmNDZlYTYxNjM2NTM4ZTUzOWNhYjhiOTIyN2VjOS4uODQyOTc0NDM2
NTczMjM5Yjk5MjEwYTY1MjBlZDc2NTg5NmRjOGQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0xMS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTLCBhbmQgY2xhcmlmeSB1c2FnZSBvZiBvdGhlciByZWxhdGVkIGZsYWdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNs
aWVudEltcGw6Om9wZW5EYXRlVGltZUNob29zZXIpOgorICAgICAgICAqIHNyYy9EYXRlVGltZUNo
b29zZXJJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oOgorICAg
ICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorCiAy
MDEyLTExLTAxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIE1lbW9yeSBpbnN0cnVtZW50YXRpb246IHJlcG9ydCBtZW1vcnkgb2NjdXBpZWQgYnkgUmVz
b3VyY2VSZXF1ZXN0IGluc3RlYWQgb2YgaXRzIGJhc2UgUmVzb3VyY2VSZXF1ZXN0QmFzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKaW5kZXggNjgwOGYyMzcyMmUxNDAzNWUwMzczZGU2ODRkNjQxNTk2MTVhZmYyOS4uYzhh
Yzg2ODgzNDc1MWU1NWI2MmE0OWQ4NWEwMTVjYWY3MjUyZTFiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC04
MzQsNiArODM0LDEwIEBACiAjZXJyb3IgIkVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMgcmVxdWlyZXMgRU5BQkxFX1NVQlBJWEVMX0xBWU9VVCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KElOUFVUX1RZUEVfREFURSkgfHwgRU5BQkxFKElOUFVUX1RZUEVfREFURVRJTUUpIHx8IEVOQUJM
RShJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpIHx8IEVOQUJMRShJTlBVVF9UWVBFX01PTlRIKSB8
fCBFTkFCTEUoSU5QVVRfVFlQRV9USU1FKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQorI2Rl
ZmluZSBFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUyAxCisjZW5kaWYKKwogI2RlZmlu
ZSBFTkFCTEVfREVCVUdfV0lUSF9CUkVBS1BPSU5UIDAKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5H
X0NPVU5URVJTIDAKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX0ZMQUdTIDAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA2YmUzMGVl
ODQ1MWVhZDgwYTljOTFjYzkxNDE5OTdjMTc5ZjI2OTRmLi4wMGExZmZjMzgyNmUzNTNjMzdjNGFh
OWQ5ODk0ODNlMGQ0MzA2MWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogI2luY2x1
ZGUgIkJhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5oIgogCiAjaW5jbHVkZSAiSFRNTElucHV0RWxl
bWVudC5oIgpAQCAtMTgwLDMgKzE4MSw0IEBAIFN0cmluZyBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlKSBjb25zCiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggOTZiN2I1ZmU2ZWNiMTU5YzU4NmI2Y2Nl
Yjg1MWEwYjkyMTYwY2NmMS4uZDJmZDk0MTM0Y2U2Y2FlZjlkZGY5ZGVjZmRiZTEyN2NhZjJkZWI3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5o
CkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAj
ZGVmaW5lIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCiAKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUg
IlRleHRGaWVsZElucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4K
QEAgLTY3LDUgKzY4LDUgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQorI2VuZGlmCiAjZW5kaWYgLy8gQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKaW5kZXggOWUxMDJiMTg3NTljMjIxMGJmZGIxYTE4MjNlYzM0NGIx
MWFmNjUwZC4uM2NhNWM4ZjExNmNiZDIzNTQ4YTgyOTJhYzE2Mjg0ZDk4NGM5MDMyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAgLTE3MiwxOSArMTcyLDE2IEBAIHZvaWQgQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQog
ICAgIG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGluQnV0dG9uLmdldCgpOwogICAgIGNvbnRhaW5l
ci0+YXBwZW5kQ2hpbGQoc3BpbkJ1dHRvbik7CiAKLSNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVO
VCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBib29sIHNob3VsZEFkZFBpY2tlcklu
ZGljYXRvciA9IGZhbHNlOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIGlmIChJ
bnB1dFR5cGU6OnRoZW1lU3VwcG9ydHNEYXRhTGlzdFVJKHRoaXMpKQogICAgICAgICBzaG91bGRB
ZGRQaWNrZXJJbmRpY2F0b3IgPSB0cnVlOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQtPnBhZ2UoKSA/
IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCk7
CiAgICAgaWYgKHRoZW1lLT5zdXBwb3J0c0NhbGVuZGFyUGlja2VyKGZvcm1Db250cm9sVHlwZSgp
KSkgewogICAgICAgICBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSB0cnVlOwogICAgICAgICBt
X3BpY2tlckluZGljYXRvcklzQWx3YXlzVmlzaWJsZSA9IHRydWU7CiAgICAgfQotI2VuZGlmCiAg
ICAgaWYgKHNob3VsZEFkZFBpY2tlckluZGljYXRvcikgewogICAgICAgICBSZWZQdHI8UGlja2Vy
SW5kaWNhdG9yRWxlbWVudD4gcGlja2VyRWxlbWVudCA9IFBpY2tlckluZGljYXRvckVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgICAgIG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCA9IHBp
Y2tlckVsZW1lbnQuZ2V0KCk7CkBAIC0xOTIsNyArMTg5LDYgQEAgdm9pZCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiAgICAgICAg
IG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlID0gdHJ1ZTsKICAgICAgICAgdXBkYXRlUGlja2Vy
SW5kaWNhdG9yVmlzaWJpbGl0eSgpOwogICAgIH0KLSNlbmRpZiAvLyBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIH0KIAogdm9pZCBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQpAQCAt
MzQ1LDE1ICszNDEsMTIgQEAgdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZTo6bGlzdEF0dHJpYnV0ZVRhcmdldENoYW5nZWQoKQogfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIHZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZVBpY2tlckluZGljYXRv
clZpc2liaWxpdHkoKQogewotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgaWYgKG1f
cGlja2VySW5kaWNhdG9ySXNBbHdheXNWaXNpYmxlKSB7CiAgICAgICAgIHNob3dQaWNrZXJJbmRp
Y2F0b3IoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgogI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKQogICAgIGlmIChIVE1MRGF0YUxpc3RFbGVtZW50KiBkYXRhTGlzdCA9IGVs
ZW1lbnQoKS0+ZGF0YUxpc3QoKSkgewogICAgICAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IG9w
dGlvbnMgPSBkYXRhTGlzdC0+b3B0aW9ucygpOwpAQCAtMzg1LDcgKzM3OCw2IEBAIHZvaWQgQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNob3dQaWNrZXJJbmRpY2F0b3Io
KQogICAgIEFTU0VSVChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpOwogICAgIG1fcGlja2VySW5k
aWNhdG9yRWxlbWVudC0+cmVtb3ZlSW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3Bs
YXkpOwogfQotI2VuZGlmIC8vIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKSB8fCBFTkFCTEUoQ0FM
RU5EQVJfUElDS0VSKQogCiBpbnQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmZ1bGxZZWFyKGNvbnN0IFN0cmluZyYgc291cmNlKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5oCmluZGV4IGU0MmIzYjI4NzM4YzFlYTRhNTlkZjk1MDNjZWI4NzExMzNmZjM4NTYu
LjljNzViYjJjNTJlZWE2MDc0ODJjZjE0N2Q2MzdlZDM2ZTM1YTY1YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKQEAgLTk1LDEzICs5NSw5IEBAIHByaXZhdGU6CiAKICAgICBEYXRlVGltZUVk
aXRFbGVtZW50KiBtX2RhdGVUaW1lRWRpdEVsZW1lbnQ7CiAgICAgU3BpbkJ1dHRvbkVsZW1lbnQq
IG1fc3BpbkJ1dHRvbkVsZW1lbnQ7Ci0jaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8IEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgUGlja2VySW5kaWNhdG9yRWxlbWVudCogbV9waWNr
ZXJJbmRpY2F0b3JFbGVtZW50OwogICAgIGJvb2wgbV9waWNrZXJJbmRpY2F0b3JJc1Zpc2libGU7
Ci0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBib29sIG1fcGlja2VySW5kaWNhdG9y
SXNBbHdheXNWaXNpYmxlOwotI2VuZGlmCi0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGlj
YXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNh
dG9yRWxlbWVudC5jcHAKaW5kZXggNGY0YTgyMjEzZDk1NGZhN2I0ZTVkMjA5MjVjNDYxMDEwOTUw
ZGMyZC4uZjA4NDk4ZjA4YTRmOTAzYjAyYzkyZjIyM2EzNjUxYzVkNTgzOWViOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5j
cHAKQEAgLTI5LDEwICsyOSw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiUGlja2VySW5kaWNhdG9y
RWxlbWVudC5oIgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQogI2luY2x1ZGUgIkNo
cm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50
LmgKaW5kZXggMjk1OTE4YTcxZGM4ZGI4MGUwZjZjYzA0MWNiOWIzZmU3YmEzZjBiOS4uY2I3NTU2
NzE3NDliZjljMjAwMzg3ZjAxYjIzZDQ5ODY3YTRiM2YzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaApAQCAtMzEsOCArMzEs
NyBAQAogI2lmbmRlZiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50X2gKICNkZWZpbmUgUGlja2VySW5k
aWNhdG9yRWxlbWVudF9oCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQotCisjaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXIu
aCIKICNpbmNsdWRlICJEYXRlVGltZUNob29zZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MRGl2
RWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBkNjBi
ZDMwMWNlNWY3YTcxMWZlZjUzMTAxOTI1ZDNiMjIxYTIyYjQ4Li4zN2Y2YjM3OTE1ZjUwODkwZTRh
N2NkMmY1MWNjOGZjOWEwNGUxZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcApAQCAtMTA0LDcgKzEwNCw3IEBAIFBhc3NPd25QdHI8Q29sb3JDaG9vc2VyPiBFbXB0eUNo
cm9tZUNsaWVudDo6Y3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVuCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJ
TUVfSU5QVVRfVFlQRVMpCiBQYXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gRW1wdHlDaHJvbWVD
bGllbnQ6Om9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3Qg
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpCiB7CiAgICAgcmV0dXJuIFBhc3NSZWZQdHI8RGF0
ZVRpbWVDaG9vc2VyPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDcz
Yzk4MTkzNDE1NzY3MDI0ZmI0NjAwMjU5YWU1ZWU5M2E5YWVjNDAuLjI4MjhhNjkwZTA4MDY4M2Ex
MGJkZjZmY2ExNjQyZTA4ZTRlOTE2NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENv
bG9yQ2hvb3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0
IENvbG9yJikgT1ZFUlJJREU7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIp
CisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gb3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29z
ZXJDbGllbnQqLCBjb25zdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJikgT1ZFUlJJREU7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMDc3MjQxMjk1NWQ2Njk3
NTkxYzcwMTQwNjNkYzMzMDg4YzdhZTFkNS4uMTQyMjVlNGQ0MmJlYjZjNzY4Y2MwMTJkZWI4ZDRl
ZDNlYTg3MzFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjYsNyArMjI2
LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPENv
bG9yQ2hvb3Nlcj4gY3JlYXRlQ29sb3JDaG9vc2VyKENvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0
IENvbG9yJikgPSAwOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lm
IEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQorICAgICAgICAvLyBUaGlzIGZ1bmN0
aW9uIGlzIHVzZWQgZm9yOgorICAgICAgICAvLyAgLSBNYW5kYXRvcnkgZGF0ZS90aW1lIGNob29z
ZXJzIGlmICFFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorICAgICAgICAvLyAgLSBE
YXRlL3RpbWUgY2hvb3NlcnMgZm9yIHR5cGVzIGZvciB3aGljaCBSZW5kZXJUaGVtZTo6c3VwcG9y
dHNDYWxlbmRhclBpY2tlcgorICAgICAgICAvLyAgICByZXR1cm5zIHRydWUsIGlmIEVOQUJFTChJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisgICAgICAgIC8vICAtIDxkYXRhbGlzdD4gVUkgZm9y
IGRhdGUvdGltZSBpbnB1dCB0eXBlcyByZWdhcmRsZXNzIG9mCisgICAgICAgIC8vICAgIEVOQUJF
TChJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxE
YXRlVGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
KiwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpID0gMDsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5oCmluZGV4IDdhM2E1ZTk4MTUzNGFk
ZDZjNDk4YTY2MmM3MTU5ODU5NjNlYjNkYzguLjQwNWRmZGQ5N2NmNDkwZjFmNmIwNjhhNzU0NTll
YzAwZDBkZDQ5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1l
Q2hvb3Nlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5o
CkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIERhdGVUaW1lQ2hvb3Nlcl9oCiAjZGVmaW5lIERh
dGVUaW1lQ2hvb3Nlcl9oCiAKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykK
ICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTYxLDUgKzYyLDUgQEAgcHVibGljOgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCisjZW5kaWYKICNlbmRpZiAvLyBEYXRlVGltZUNo
b29zZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9v
c2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGll
bnQuaAppbmRleCAxODUzZWE3YTAzMjQzMjVhZmNlNjQyNjFiZWM3NjYwZjFhMWQzMDE0Li4yMzBk
MDQ1NDQzMjE2MGVmMjFmOTY5Y2JhOTU0NDE3YTZlOGYyYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXJDbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAog
I2lmbmRlZiBEYXRlVGltZUNob29zZXJDbGllbnRfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJD
bGllbnRfaAogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIERhdGVUaW1lQ2hvb3NlckNsaWVudCB7CkBAIC00NCw1ICs0
NSw1IEBAIHB1YmxpYzoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQorI2VuZGlmCiAj
ZW5kaWYgLy8gRGF0ZVRpbWVDaG9vc2VyQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCBiNGJhMjE5N2MyZGQ0NjQwNDUyZTFhZjE1NjYwNGE1
MjZjNWZiZTZmLi5mY2JhMTU2OWNjYmFiODFjZDdmODY3ZWJkZjhiZWIxNmFhNzAxYzgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0xOTEsMTAgKzE5
MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gInl5eXkiLCBmb3IgeWVhciBmaWVs
ZCB1c2VkIGluIG11bHRpcGxlIGZpZWxkcyAiZGF0ZSIsICJkYXRldGltZSIsIGFuZAogICAgIC8v
ICJkYXRldGltZS1sb2NhbCIgaW5wdXQgVUkgaW5zdGVhZCAiLS0tLSIuCiAgICAgU3RyaW5nIHBs
YWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7Ci0KKyNlbmRpZgorI2lmIEVOQUJMRShJTlBVVF9UWVBF
X1dFRUspCiAgICAgLy8gd2Vla0Zvcm1hdEluTERNTCgpIHJldHVybnMgd2VlayBhbmQgeWVhciBm
b3JtYXQgaW4gTERNTCwgVW5pY29kZQotICAgIC8vIHRlY2huaWNhbCBzdGFuZGFyZCAzNSwgTG9j
YWxlIERhdGEgTWFya3VwIExhbmd1YWdlLCBlLmcuICJXVy15eXl5eSIKLSAgICAvLyBmb3IgIndl
ZWsiIGlucHV0IHR5cGUuCisgICAgLy8gdGVjaG5pY2FsIHN0YW5kYXJkIDM1LCBMb2NhbGUgRGF0
YSBNYXJrdXAgTGFuZ3VhZ2UsIGUuZy4gIidXZWVrJyB3dywgeXl5eSIKICAgICBTdHJpbmcgd2Vl
a0Zvcm1hdEluTERNTCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9EYXRlVGltZUZvcm1hdC5jcHAKaW5kZXggNmU1ZmU2ODgzMTI5OTRiYzMyODA3N2FkMGI1
YTE2NDQwOGNmZTY0MC4uZmVlY2FiNDcyN2U5YzJhNzdmOGRiNDIxYWM1OGQyYTFlZGIyZjgwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5jcHAK
QEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRlVGlt
ZUZvcm1hdC5oIgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlw
ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5oCmluZGV4IGM5OTZlNzZmODBkNTI1
ZjQ5YWY5M2ExMTg5ZWVjODllZTdlZGE1MmIuLmFhNDNkMmNjYTZhMDU4NzI1NTkzMDBmYzJkNzJl
NTYyNmI3NjM1NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0
ZVRpbWVGb3JtYXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0RhdGVUaW1l
Rm9ybWF0LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgRGF0ZVRpbWVGb3JtYXRfaAogI2Rl
ZmluZSBEYXRlVGltZUZvcm1hdF9oCiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmNwcAppbmRleCA4MzMzNjkzOTMzZWQ0NTkzZWViZjFiNzU5ZmY4
NTYxYzUyOWY2NTIyLi40NWVkNjk0MThhMGMxMzExMTU4NTFlYzM4MDFlZGRiNzA5NTQwNDJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCkBAIC01OCw3ICs1
OCw3IEBAIExvY2FsZUlDVTo6TG9jYWxlSUNVKGNvbnN0IGNoYXIqIGxvY2FsZSkKICNpZiBFTkFC
TEUoQ0FMRU5EQVJfUElDS0VSKQogICAgICwgbV9maXJzdERheU9mV2VlaygwKQogI2VuZGlmCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKICAgICAsIG1fbWVkaXVtVGltZUZvcm1hdCgwKQogICAgICwgbV9z
aG9ydFRpbWVGb3JtYXQoMCkKICAgICAsIG1fZGlkQ3JlYXRlVGltZUZvcm1hdChmYWxzZSkKQEAg
LTcwLDcgKzcwLDcgQEAgTG9jYWxlSUNVOjp+TG9jYWxlSUNVKCkKIHsKICAgICB1bnVtX2Nsb3Nl
KG1fbnVtYmVyRm9ybWF0KTsKICAgICB1ZGF0X2Nsb3NlKG1fc2hvcnREYXRlRm9ybWF0KTsKLSNp
ZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9U
SU1FX0lOUFVUX1RZUEVTKQogICAgIHVkYXRfY2xvc2UobV9tZWRpdW1UaW1lRm9ybWF0KTsKICAg
ICB1ZGF0X2Nsb3NlKG1fc2hvcnRUaW1lRm9ybWF0KTsKICNlbmRpZgpAQCAtMjMxLDcgKzIzMSw3
IEBAIHZvaWQgTG9jYWxlSUNVOjppbml0aWFsaXplQ2FsZW5kYXIoKQogfQogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogc3RhdGljIFBhc3NP
d25QdHI8VmVjdG9yPFN0cmluZz4gPiBjcmVhdGVGYWxsYmFja01vbnRoTGFiZWxzKCkKIHsKICAg
ICBPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0
cmluZz4oKSk7CkBAIC0yNzUsNyArMjc1LDcgQEAgYm9vbCBMb2NhbGVJQ1U6OmlzUlRMKCkKIH0K
ICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFC
TEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBQYXNzT3duUHRyPFZlY3RvcjxT
dHJpbmc+ID4gY3JlYXRlRmFsbGJhY2tBTVBNTGFiZWxzKCkKIHsKICAgICBPd25QdHI8VmVjdG9y
PFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0cmluZz4oKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAppbmRleCBkMmFhMTI2MTJjY2MyZmEx
MGVkYTM5MDdkMGMzNzMwNGY1YjBjNWI3Li45YThkNGJkMWQ3YzQwM2FlYzNkODI1ZjYxMjRkYzVi
YzEwMTcxN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
ZUlDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKQEAg
LTU0LDE0ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBmaXJzdERheU9m
V2VlaygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBtb250aExhYmVs
cygpIE9WRVJSSURFOwotI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0
cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3Jt
YXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxz
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFu
ZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTg0LDExICs4Miw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBpbml0aWFsaXplQ2FsZW5kYXIoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKENB
TEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICBQYXNzT3duUHRyPFZlY3RvcjxT
dHJpbmc+ID4gY3JlYXRlTGFiZWxWZWN0b3IoY29uc3QgVURhdGVGb3JtYXQqLCBVRGF0ZUZvcm1h
dFN5bWJvbFR5cGUsIGludDMyX3Qgc3RhcnRJbmRleCwgaW50MzJfdCBzaXplKTsKLSNlbmRpZgot
Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2b2lkIGluaXRpYWxp
emVEYXRlVGltZUZvcm1hdCgpOwogI2VuZGlmCiAKQEAgLTEwMiwxMCArOTcsOCBAQCBwcml2YXRl
OgogICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1fd2Vla0RheVNob3J0TGFiZWxzOwogICAg
IHVuc2lnbmVkIG1fZmlyc3REYXlPZldlZWs7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQ0FMRU5EQVJf
UElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShE
QVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1f
bW9udGhMYWJlbHM7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3JtYXQ7CiAg
ICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKaW5kZXggMmIwYjExNWEwNGZhZWVlMWZhZTk1YTU5YThh
ODA0ZTcyNGUwYjU0Ni4uOWRjNWMwMGE1YTFiYmUzMGFjZmFlYjI4ZTc4ZDZjMjkwNmU3YzNhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCkBAIC0zOSwx
NCArMzksMTIgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZp
cnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFS
X1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBtb250aExhYmVscygpIE9WRVJSSURFOwotI2VuZGlmCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hv
cnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVS
UklERTsKQEAgLTU0LDggKzUyLDYgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxTdHJpbmc+IG1f
dGltZUFNUE1MYWJlbHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwot
I2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKICAgICBWZWN0b3I8U3RyaW5nPiBtX21vbnRoTGFiZWxzOwogI2VuZGlm
CiB9OwpAQCAtODAsNyArNzYsNyBAQCBib29sIExvY2FsZU5vbmU6OmlzUlRMKCkKIH0KICNlbmRp
ZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjptb250aExhYmVscygpCiB7CiAgICAgaWYgKCFt
X21vbnRoTGFiZWxzLmlzRW1wdHkoKSkKQEAgLTkwLDkgKzg2LDcgQEAgY29uc3QgVmVjdG9yPFN0
cmluZz4mIExvY2FsZU5vbmU6Om1vbnRoTGFiZWxzKCkKICAgICAgICAgbV9tb250aExhYmVscy5h
cHBlbmQoV1RGOjptb250aEZ1bGxOYW1lW2ldKTsKICAgICByZXR1cm4gbV9tb250aExhYmVsczsK
IH0KLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIFN0cmlu
ZyBMb2NhbGVOb25lOjpkYXRlRm9ybWF0KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJk
ZC9NTS95eXl5eSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Q
bGF0Zm9ybUxvY2FsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3Jt
TG9jYWxlLmNwcAppbmRleCBiZGY2NDViNzJkYjlhNmVlNzdhZDJjOTRhMGIyZDVhODkyNGM5NjRh
Li5lYWZkZmRkY2Q5MDkzN2RmMjhkYjEwYzQxM2QxYWNiZWM4MGJhNDQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcApAQCAtMzYsNyArMzYs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogCiBjbGFz
cyBEYXRlVGltZVN0cmluZ0J1aWxkZXIgOiBwcml2YXRlIERhdGVUaW1lRm9ybWF0OjpUb2tlbkhh
bmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3RyaW5nQnVpbGRlcik7
CkBAIC0zMTQsNyArMzE0LDkgQEAgU3RyaW5nIExvY2FsZTo6bG9jYWxpemVkRGVjaW1hbFNlcGFy
YXRvcigpCiAgICAgaW5pdGlhbGl6ZUxvY2FsZURhdGEoKTsKICAgICByZXR1cm4gbV9kZWNpbWFs
U3ltYm9sc1tEZWNpbWFsU2VwYXJhdG9ySW5kZXhdOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUo
REFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIFN0cmluZyBMb2NhbGU6OmRhdGVUaW1lRm9ybWF0
V2l0aFNlY29uZHMoKQogewogICAgIGlmICghbV9kYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzLmlz
TnVsbCgpKQpAQCAtMzQwLDI0ICszNDIsMjAgQEAgU3RyaW5nIExvY2FsZTo6ZGF0ZVRpbWVGb3Jt
YXRXaXRob3V0U2Vjb25kcygpCiAgICAgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzID0g
YnVpbGRlci50b1N0cmluZygpOwogICAgIHJldHVybiBtX2RhdGVUaW1lRm9ybWF0V2l0aG91dFNl
Y29uZHM7CiB9Ci0jZW5kaWYKIAogU3RyaW5nIExvY2FsZTo6Zm9ybWF0RGF0ZVRpbWUoY29uc3Qg
RGF0ZUNvbXBvbmVudHMmIGRhdGUsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKIHsKLSNpZiBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIGlmIChkYXRlLnR5cGUoKSAhPSBEYXRl
Q29tcG9uZW50czo6VGltZSAmJiBkYXRlLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6RGF0ZSkK
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIEZJWE1FOiBTdXBwb3J0cyBhbGwgdHlw
ZXMuCisKICAgICBEYXRlVGltZVN0cmluZ0J1aWxkZXIgYnVpbGRlcigqdGhpcywgZGF0ZSk7CiAg
ICAgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQogICAgICAgICBidWls
ZGVyLmJ1aWxkKGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hvcnRUaW1lRm9ybWF0
KCkgOiB0aW1lRm9ybWF0KCkpOwogICAgIGVsc2UgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21w
b25lbnRzOjpEYXRlKQogICAgICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3JtYXQoKSk7CiAgICAg
cmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRhdGUp
OwotICAgIFVOVVNFRF9QQVJBTShmb3JtYXRUeXBlKTsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci0j
ZW5kaWYKIH0KKyNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1BsYXRmb3JtTG9jYWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Bs
YXRmb3JtTG9jYWxlLmgKaW5kZXggZTMzZTBiZmQzMmQ1MWM3NWZjN2Y0NWZjNzlmZmRhYmIwNmIy
OGI5MS4uMzU4NTEyNDgyYzk0OTRkMGU3ZjA5NjEyN2EyMDM3NTBmN2QwNzhjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaApAQCAtNTYsNyArNTYs
OSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICAv
LyBSZXR1cm5zIGxvY2FsaXplZCBkZWNpbWFsIHNlcGFyYXRvciwgZS5nLiAiLiIgZm9yIEVuZ2xp
c2gsICIsIiBmb3IgRnJlbmNoLgogICAgIFN0cmluZyBsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9y
KCk7CisjZW5kaWYKIAorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAg
IC8vIFJldHVybnMgZGF0ZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxbMV0gY29udGFpbmlu
ZyBkYXkgb2YgbW9udGgsCiAgICAgLy8gbW9udGgsIGFuZCB5ZWFyLCBlLmcuICJkZC9tbS95eXl5
IgogICAgIC8vIFsxXSBMRE1MIGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0RhdGVf
Rm9ybWF0X1BhdHRlcm5zCkBAIC05OSw5ICsxMDEsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1
cm5zIGxvY2FsaXplZCBwZXJpb2QgZmllbGQoQU0vUE0pIHN0cmluZ3MuCiAgICAgdmlydHVhbCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSA9IDA7Ci0jZW5kaWYKIAotI2lm
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCiAgICAgLy8gUmV0dXJucyBhIHZlY3RvciBvZiBzdHJpbmcgb2Ygd2hpY2ggc2l6ZSBpcyAx
Mi4gVGhlIGZpcnN0IGl0ZW0gaXMgYQogICAgIC8vIGxvY2FsaXplZCBzdHJpbmcgb2YgSmFudWFy
eSwgYW5kIHRoZSBsYXN0IGl0ZW0gaXMgYSBsb2NhbGl6ZWQgc3RyaW5nIG9mCiAgICAgLy8gRGVj
ZW1iZXIuIFRoZXNlIHN0cmluZ3Mgc2hvdWxkIG5vdCBiZSBhYmJyZXZpYXRpb25zLgpAQCAtMTIy
LDEyICsxMjIsMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpID0gMDsKICNl
bmRpZgogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgZW51bSBG
b3JtYXRUeXBlIHsgRm9ybWF0VHlwZVVuc3BlY2lmaWVkLCBGb3JtYXRUeXBlU2hvcnQsIEZvcm1h
dFR5cGVNZWRpdW0gfTsKIAogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGlu
dG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAvLyBkaXNwbGF5IHRvIHRoZSB1c2Vy
LiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQKICAgICAvLyBsb2NhbGl6ZWQg
ZGF0ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgogICAgIFN0
cmluZyBmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYsIEZvcm1hdFR5cGUgPSBG
b3JtYXRUeXBlVW5zcGVjaWZpZWQpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIH5Mb2NhbGUoKTsK
IApAQCAtMTM5LDcgKzE0MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRGVjaW1hbFN5bWJvbHNT
aXplCiAgICAgfTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYg
RU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgU3RyaW5nIG1fZGF0ZVRpbWVG
b3JtYXRXaXRoU2Vjb25kczsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNv
bmRzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21h
Yy9Mb2NhbGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1h
Yy5oCmluZGV4IDg3NmQ4ZTNiMGI2ZjY1ZTVkN2VhMThlMmM1YzRhYTQwNjdkNDY3ZGEuLmUzNjM3
OTlkY2IzODM2Y2QzMmE0MzYyNmU0MDIwZDMyZDZlM2JhODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCkBAIC01NiwxNSArNTYsMTMgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3REYXlPZldlZWsoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRB
Ul9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVh
bCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgog
Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9B
TkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcg
c2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBP
VkVSUklERTsKQEAgLTgxLDEwICs3OSw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKENBTEVOREFS
X1BJQ0tFUikKICAgICBWZWN0b3I8U3RyaW5nPiBtX3dlZWtEYXlTaG9ydExhYmVsczsKICNlbmRp
ZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgVmVj
dG9yPFN0cmluZz4gbV9tb250aExhYmVsczsKLSNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkpCiAgICAgUmV0YWluUHRyPE5TRGF0ZUZvcm1hdHRlcj4gdGltZUZvcm1h
dHRlcigpOwogICAgIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IHNob3J0VGltZUZvcm1hdHRl
cigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2Nh
bGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0K
aW5kZXggNDVhMjk0OTdkZmVjMGE0YWE3YWFhYWU1MWNhZTNlMzhiMWIwZDY4NS4uOGY5OWRkMjE5
NjdkZjE1M2ZhYjEzZjY3YTE2ZTVjNTdiYjJlOGZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtMTE0LDcgKzExNCw3IEBAIFJldGFpblB0
cjxOU0RhdGVGb3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hvcnREYXRlRm9ybWF0dGVyKCkKICAgICBy
ZXR1cm4gY3JlYXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9sb2NhbGUuZ2V0KCksIG1fZ3JlZ29yaWFu
Q2FsZW5kYXIuZ2V0KCksIE5TRGF0ZUZvcm1hdHRlclNob3J0U3R5bGUsIE5TRGF0ZUZvcm1hdHRl
ck5vU3R5bGUpOwogfQogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9U
WVBFUykKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVNYWM6Om1vbnRoTGFiZWxzKCkKIHsK
ICAgICBpZiAoIW1fbW9udGhMYWJlbHMuaXNFbXB0eSgpKQpAQCAtMTY1LDcgKzE2NSw3IEBAIGJv
b2wgTG9jYWxlTWFjOjppc1JUTCgpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBS
ZXRhaW5QdHI8TlNEYXRlRm9ybWF0dGVyPiBMb2NhbGVNYWM6OnRpbWVGb3JtYXR0ZXIoKQogewog
ICAgIHJldHVybiBjcmVhdGVEYXRlVGltZUZvcm1hdHRlcihtX2xvY2FsZS5nZXQoKSwgbV9ncmVn
b3JpYW5DYWxlbmRhci5nZXQoKSwgTlNEYXRlRm9ybWF0dGVyTm9TdHlsZSwgTlNEYXRlRm9ybWF0
dGVyTWVkaXVtU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC93aW4vTG9jYWxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xv
Y2FsZVdpbi5jcHAKaW5kZXggOTYzMzc2ZTEzY2FlOThkMDU0OWIwODUxMmJmMTQ5MDRjNDA3NDA0
Zi4uZjc4YjM4MzVjMjBiMWI2MDZkNTc2MzMzNjBlMjQzYWZjYzg3ZTI5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC0zMiw5ICszMiw3
IEBACiAjaW5jbHVkZSAiTG9jYWxlV2luLmgiCiAKICNpbmNsdWRlICJEYXRlQ29tcG9uZW50cy5o
IgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRp
bWVGb3JtYXQuaCIKLSNlbmRpZgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9j
YWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KQEAgLTM1NCw3ICszNTIsNyBAQCB2
b2lkIExvY2FsZVdpbjo6ZW5zdXJlV2Vla0RheVNob3J0TGFiZWxzKCkKICAgICB9CiB9CiAKLSNp
ZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogY29uc3QgVmVjdG9y
PFN0cmluZz4mIExvY2FsZVdpbjo6bW9udGhMYWJlbHMoKQogewogICAgIGVuc3VyZU1vbnRoTGFi
ZWxzKCk7CkBAIC0zODEsNyArMzc5LDcgQEAgYm9vbCBMb2NhbGVXaW46OmlzUlRMKCkKIH0KICNl
bmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUo
REFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBTdHJpbmcgY29udmVydFdpbmRvd3NE
YXRlRm9ybWF0VG9MRE1MKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9rZW4+JiB0b2tlbnMpCiB7
CiAgICAgU3RyaW5nQnVpbGRlciBidWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvd2luL0xvY2FsZVdpbi5oCmluZGV4IGYzM2Y5OTc1ZmVhZmI4MTE5ZTI0OTJjMDVkOTgyZGMz
NmQ5YmJiMTQuLjA4MTEyZmYwM2MyYjlkYTAxYmFkZjIyZDllMzRmZmE2ODA3MGJkOTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCkBAIC01MSwyMSAr
NTEsMTcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3REYXlPZldlZWsoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsKICNlbmRpZgotI2lm
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVS
UklERTsKLSNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYg
RU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgdmlydHVhbCBTdHJpbmcgZGF0
ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRNb250aExhYmVscygpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0YW5kQWxvbmVNb250aExhYmVscygpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNob3J0U3RhbmRBbG9uZU1v
bnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
dGltZUFNUE1MYWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKICAgICBzdGF0aWMgU3RyaW5nIGRhdGVGb3JtYXQoY29uc3QgU3Ry
aW5nJik7CiAjZW5kaWYKIApAQCAtODQsOSArODAsOSBAQCBwcml2YXRlOgogCiAgICAgTENJRCBt
X2xjaWQ7CiAgICAgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4gbV9zaG9ydERhdGVUb2tlbnM7Cisj
aWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgVmVjdG9yPFN0cmluZz4g
bV9zaG9ydE1vbnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fbW9udGhMYWJlbHM7Ci0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBTdHJpbmcgbV9kYXRlRm9y
bWF0OwogICAgIFN0cmluZyBtX21vbnRoRm9ybWF0OwogICAgIFN0cmluZyBtX3RpbWVGb3JtYXRX
aXRoU2Vjb25kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJE
ZXRhaWxzTWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxz
TWFya2VyLmNwcAppbmRleCAwMWIyMzQ4NzYzNzk0Yjc3NDc0YTUzOTk3ZTE5Y2Y0YmVhZjM1Njlk
Li4zNDVjMTM4OWVlMzVjZTM4ZDI5ZDJlNmU1NzEzNDViM2U3NGVjYWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3BwCkBAIC0yMSw3ICsy
MSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVyRGV0YWlsc01hcmtl
ci5oIgogCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCmluZGV4IGFjOTNiZTg2OGI0MTYwMjliMmY2NzEx
NzExY2Q4MGZiMjFlNDE3NGMuLmY2MGIzY2I0ODliZmFhY2E4OTU3ZDljY2E4MjUwZmVlZTMzMDc2
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFy
a2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIu
aApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBSZW5kZXJEZXRhaWxzTWFya2VyX2gKICNkZWZp
bmUgUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAKLSNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8
fCBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShERVRBSUxTX0VMRU1FTlQpIHx8
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2su
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAppbmRleCBiNTY4OTUzY2I2Mjk2YWFkMjFkZTYzZDM2ZjFhN2RiMmVjNGRkZDhjLi5iMTQ3
NDkzMTg5YzhhNmU2YmZiODUyMjRhYmFkNWM2NzdiNTg3YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTM4LDcgKzEzOCw3IEBAIHB1YmxpYzoKICAgICAvLyBB
IG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8gc2hvdyBkYXRhbGlzdCBz
dWdnZXN0aW9ucyBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxF
TkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICAv
LyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8gc2hvdyBhIGNhbGVu
ZGFyIHBpY2tlciBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcAppbmRleCAzNTk1NzdhYjRhMGY2OGViMDNkZTRlZGJj
ODRmYzc0ZGVhZGE0MjYyLi4yODA5MTEwNzM4MDdlMzRlZTk2OGQ5M2ZlNmE4ZmE1NTQwNWMyYjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bUNvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hy
b21pdW1Db21tb24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1
bUNvbW1vbjo6c3VwcG9ydHNEYXRhTGlzdFVJKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKICAg
ICAgICAgfHwgdHlwZSA9PSBJbnB1dFR5cGVOYW1lczo6cmFuZ2UoKTsKIH0KIAotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisj
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIGJvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bUNvbW1vbjo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUpCiB7CiAgICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0byBzdXBwb3J0IGRhdGV0aW1lLCBkYXRl
dGltZS1sb2NhbCwgbW9udGgsIGFuZCB3ZWVrIHRvby4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5oCmluZGV4IDhjMDVhY2Y2MDFj
ODQ2MjA1NWRmMjBiYWM1ZmQ5M2VjZWRhZjY1NmQuLjAwYTI2MWQzMDcyYjYzOThlZjRlNzU4YThl
YTNjNjUxMDRlNTU5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Db21tb24uaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsK
LSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKSAmJiBFTkFCTEUoQ0FMRU5EQVJf
UElDS0VSKQorI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgc3RhdGlj
IGJvb2wgc3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpOwog
I2VuZGlmCiAgICAgc3RhdGljIExheW91dFVuaXQgc2xpZGVyVGlja1NuYXBwaW5nVGhyZXNob2xk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1N
YWMuaAppbmRleCAyNDBkY2Y5YzBjYjYxMTVkYTE4ODRjOTlhNzViYWM1M2RkYmQ0Y2U5Li4xZjVh
ODE0ODQ5MWI0OGQ5YjIzODFlYTdiY2U5NTQzMTE5ODQwZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTc3LDcgKzc3LDcg
QEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZpcnR1YWwgQ1N0
cmluZyBleHRyYUNhbGVuZGFyUGlja2VyU3R5bGVTaGVldCgpIE9WRVJSSURFOwogI2VuZGlmCi0j
aWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgJiYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkgY29u
c3QgT1ZFUlJJREU7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU2hvd1BsYWNlaG9s
ZGVyV2hlbkZvY3VzZWQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggYjlkYTUyMmUxNzA0Mzky
OTdjZjE2NjkyZjQxMzBhYTg4OTg2YjVlZC4uODdiNGU4MWRkZjg5MTdhZjAwZWJhOWI3NGVkYTMy
MDZiN2E2ZWY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmgKQEAgLTE4MSw3ICsxODEsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJM
RShEQVRBTElTVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBzbGlkZXJUaWNrU25h
cHBpbmdUaHJlc2hvbGQoKSBjb25zdCBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShJTlBV
VF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHND
YWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpIGNvbnN0IE9WRVJSSURFOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAKaW5kZXggZDc4MWU4YTQwMzNhNWI5MTkyOWQ3NzNiM2I3Zjc4NGJiNjY5MzA4Zi4uODYz
YjlhMzM4YTY5ZjY2N2QxYWVlMjVkN2NkMDk2YzA1NzlhM2UyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTY5MiwxMCArNjkyLDE1
IEBAIFBhc3NPd25QdHI8V2ViQ29sb3JDaG9vc2VyPiBDaHJvbWVDbGllbnRJbXBsOjpjcmVhdGVX
ZWJDb2xvckNob29zZXIoV2ViQ29sb3JDaG9vCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDQUxF
TkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBQYXNz
UmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gQ2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1lQ2hv
b3NlcihEYXRlVGltZUNob29zZXJDbGllbnQqIHBpY2tlckNsaWVudCwgY29uc3QgRGF0ZVRpbWVD
aG9vc2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQogICAgIHJldHVybiBEYXRlVGltZUNob29zZXJJbXBsOjpjcmVhdGUodGhp
cywgcGlja2VyQ2xpZW50LCBwYXJhbWV0ZXJzKTsKKyNlbHNlCisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+KCk7CisjZW5kaWYKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGlt
ZUNob29zZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hv
b3NlckltcGwuY3BwCmluZGV4IGE0Yjg3NjUxZGY2Mzg3NDY1OGZmYWE4ZDk5NmFiODM4MTVkZjU5
NzEuLjI5ZDUxOTk2NmNhYTBhYzM3ZWIyMGQ2YTI2ZGIxMzIyMjg0YmNlMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCkBAIC0y
OSwxMCArMjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkRhdGVUaW1lQ2hvb3NlckltcGwuaCIK
IAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KICNpbmNsdWRlICJDYWxlbmRhclBpY2tl
ci5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudEltcGwuaCIKICNpbmNsdWRlICJEYXRlQ29tcG9u
ZW50cy5oIgpAQCAtNDgsNiArNDcsMTAgQEAKICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4K
ICNpbmNsdWRlIDxwdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmg+CiAKKyNpZiAhRU5BQkxFKENB
TEVOREFSX1BJQ0tFUikKKyNlcnJvciAiRU5BQkxFX0lOUFVUX01VTFRJUExFX0ZJRUxEU19VSSBy
ZXF1aXJlcyBFTkFCTEVfQ0FMRU5EQVJfUElDS0VSIGluIENocm9taXVtLiIKKyNlbmRpZgorCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNzAsNCAr
MTczLDQgQEAgdm9pZCBEYXRlVGltZUNob29zZXJJbXBsOjpkaWRDbG9zZVBvcHVwKCkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQor
I2VuZGlmIC8vIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmgKaW5kZXggMTdkYjQzNTY4
YmJjYzBjNmIwMjU4MTNhOWVjZWY4NGM0NzlmNjVlOS4uMjI0MzU4NjIzYThhYWE1YWJlMTNkMmMx
YzgxMmY3OGFmMDZkNGU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RGF0ZVRpbWVDaG9vc2VySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Rh
dGVUaW1lQ2hvb3NlckltcGwuaApAQCAtMzEsMTEgKzMxLDEwIEBACiAjaWZuZGVmIERhdGVUaW1l
Q2hvb3NlckltcGxfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJJbXBsX2gKIAorI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgi
CiAjaW5jbHVkZSAiUGFnZVBvcHVwQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElD
S0VSKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlUG9wdXA7CiBjbGFzcyBEYXRl
VGltZUNob29zZXJDbGllbnQ7CkBAIC03MSw2ICs3MCw2IEBAIHByaXZhdGU6CiAKIH0KIAotI2Vu
ZGlmIC8vIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKIAogI2VuZGlmIC8vIERhdGVUaW1lQ2hvb3NlckltcGxfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCBh
YzhhYWU1NWVlMDdhNDBhYzA2MTRhMDU1NjY5MTU5NWNjMjRkM2Y3Li5lNWJhZGVkOTM2M2Q2ODgy
NGIzN2YwNjE2MDRhODdkMTJjMTdjNmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtMjY4LDcgKzI2OCw5IEBAIFN0cmluZyBwbGFj
ZWhvbGRlckZvclllYXJGaWVsZCgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXplZFN0
cmluZzo6UGxhY2Vob2xkZXJGb3JZZWFyRmllbGQpOwogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUo
SU5QVVRfVFlQRV9XRUVLKQogU3RyaW5nIHdlZWtGb3JtYXRJbkxETUwoKQogewogICAgIFN0cmlu
ZyB0ZW1wbCA9IHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6V2Vla0Zvcm1hdFRlbXBsYXRlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171986</attachid>
            <date>2012-11-01 22:52:43 -0700</date>
            <delta_ts>2012-11-02 00:08:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101007-20121102145103.patch</filename>
            <type>text/plain</type>
            <size>41271</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk4OTk1MTRkNGRkMzc1NjFhYTlhNjA1
YzAxN2M5NjU3NjViZjNlY2UuLjk4ZDU1MzMzYmU3Yjg2OTFjZDM3MmRjOTU5ZGI5OTU1ZjI5Yzgy
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDoKKyAgICAgICAgQWRkIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTLiAgSXQn
cyBhIHVuaW9uIG9mCisgICAgICAgIEVOQUJMRV9JTlBVVF9UWVBFX3tEQVRFLERBVEVUSU1FLERB
VEVUSU1FTE9DQUwsTU9OVEgsVElNRSxXRUVLfS4KKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0
aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9m
IGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOTQxMTkwMDZjZGFh
NzU5MjUwM2RlYjNmZmZkNDA5MTE0ZDJjYmE2Li42MDgyMWM5YjJlNmM3NjM3N2JlZmI4OTk2ZmI3
YzkyMGY1YmMzNzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODkgQEAKKzIwMTItMTEtMDEgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFC
TEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIg
cmVsYXRlZCBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAxMDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9vc2VyIGFuZCBMb2NhbGU6OmZvcm1h
dERhdGVUaW1lIGFyZQorICAgICAgICBuZWNlc3NhcnkgaWYgb25lIG9mIGRhdGUvdGltZSBpbnB1
dCB0eXBlcyBpcyBlbmFibGVkIGFuZCBldmVuIGlmCisgICAgICAgIEVOQUJMRV9JTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkgaXMgZGlzYWJsZWQuIFNvIHRoZXkgc2hvdWxkIGJlIHdhcnBwZWQKKyAg
ICAgICAgd2l0aCBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykuCisKKyAgICAgICAg
VGhlIGZvbGxvd2luZyBjbGFzZXMgYXJlIHVzZWQgb25seSBmb3IgQ2hyb21lQ2xpZW50OjpvcGVu
RGF0ZVRpbWVDaG9vc2VyLgorICAgICAgICBUaGV5IHNob3VsZCBiZSB3cmFwcGVkIHdpdGggdGhl
IHNhbWUgZmxhZy4KKyAgICAgICAgICAtIGNsYXNzIERhdGVUaW1lQ2hvb3NlcgorICAgICAgICAg
IC0gY2xhc3MgRGF0ZVRpZW1DaG9vc2VyQ2xpZW50CisKKyAgICAgICAgVGhlIGZvbGxvd2luZyBj
bGFzc2VzL2Z1bmN0aW9ucyBhcmUgdXNlZCBmb3IKKyAgICAgICAgTG9jYWxlOjpmb3JtYXREYXRl
VGltZS4gVGhleSBzaG91bGQgYmUgd3JhcHBlZCB3aXRoIHRoZSBzYW1lIGZsYWcuCisgICAgICAg
ICAgLSBMb2NhbGU6OmRhdGVGb3JtYXQKKyAgICAgICAgICAtIExvY2FsZTo6bW9udGhGb3JtYXQK
KyAgICAgICAgICAtIExvY2FsZTo6dGltZUZvcm1hdAorICAgICAgICAgIC0gTG9jYWxlOjpzaG9y
dFRpbWVGb3JtYXQKKyAgICAgICAgICAtIExvY2FsZTo6bW9udGhMYWJlbHMKKyAgICAgICAgICAt
IExvY2FsZTo6c2hvcnRNb250aExhYmVscworICAgICAgICAgIC0gTG9jYWxlOjpzdGFuZEFsb25l
TW9udGhMYWJlbHMKKyAgICAgICAgICAtIExvY2FsZTo6c2hvcnRTdGFuZEFsb25lTW9udGhMYWJl
bHMKKyAgICAgICAgICAtIGNsYXNzIERhdGVUaW1lRm9ybWF0CisKKyAgICAgICAgQWxzbywgd2Ug
Y2hhbmdlIHRoZSBtZWFuaW5nIG9mIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIuIEl0IG1lYW50Cisg
ICAgICAgICAxKSA8aW5wdXQ+IHN1cHBvcnRzIGNhbGVuZGFyIHBpY2tlciBVSSwgYW5kCisgICAg
ICAgICAyKSBXZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXMvIGlzIHVzZWQgZm9yIHRoZSBjYWxl
bmRhciBVSSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgTm93IEVOQUJMRV9DQUxFTkRBUl9QSUNL
RVIgbWVhbnMgb25seSAyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG9mIG5vIGJl
aGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZS5oOiBUaGlzIGlzIG5lY2Vzc2FyeSBvbmx5IGlmIGRhdGUvdGltZQorICAgICAgICBpbnB1dCB0
eXBlcyBhcmUgZW5hYmxlZCBiZWNhdXNlIHRoaXMgaXMgYSBjb21tb24gc3VwZXIgY2xhc3Mgb2YK
KyAgICAgICAgZGF0ZS90aWVtIElucHV0VHlwZSBjbGFzc2VzLgorICAgICAgICAqIGh0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDogRGl0dG8uCisKKyAgICAgICAgKiBwYWdlL0Nocm9t
ZUNsaWVudC5oOiBDaGFuZ2UgdGhlIGZsYWcgZm9yIG9wZW5EYXRlVGltQ2hvb3NlciwgYW5kIGFk
ZCBhIGNvbW1lbnQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6IEZvbGxvdyB0
aGUgb3BlbkRhdGVUaW1lQ2hvb3NlciBmbGFnIGNoYW5nZS4KKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5o
OgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBvbmx5IGlmIENocm9tZUNsaWVudDo6b3BlbkRhdGVU
aW1lQ2hvb3NlciBpcyBhdmFpbGFibGUuCisgICAgICAgICogcGxhdGZvcm0vRGF0ZVRpbWVDaG9v
c2VyQ2xpZW50Lmg6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5oOgorICAgICAgICB3ZWVrRm9ybWF0SW5MRE1MIGlzIG5lY2Vzc2FyeSBpZiBFTkFCTEUoSU5Q
VVRfVFlQRV9XRUVLKSByZWdhcmRsZXNzIG9mCisgICAgICAgIEVOQUJFTChJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5o
OgorICAgICAgICBDaGFuZ2UgdGhlIGNvbmRpdGlvbiBmb3IgTG9jYWxlOjpmb3JtYXREYXRlVGlt
ZSBhbmQgdGhlIGNvZGUgdXNlZCBieQorICAgICAgICBMb2NhbGU6OmZvcm1hdERhdGVUaW1lLgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAgICAgIFRoaXMgaXMgbmVjZXNzYXJ5
IGV2ZW4gaWYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpLCB0byBwcm9kdWNlCisg
ICAgICAgIGxvY2FsaXplZCByZXByZXNlbnRhdGlvbnMgb2YgZGF0ZS90aW1lIHZhbHVlcy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHA6CisgICAgICAgIENoYW5nZSB0aGUg
Y29uZGl0aW9uIGZvciB0aGUgY29kZSB1c2VkIGJ5IExvY2FsZTo6Zm9ybWF0RGF0ZVRpbWUuCisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaDogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4
dC9tYWMvTG9jYWxlTWFjLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xv
Y2FsZU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2lu
LmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmg6IERp
dHRvLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwOiBEaXR0by4K
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9ybWF0Lmg6IERpdHRvLgorCisgICAg
ICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAg
ICAgICBSZW1vdmUgc29tZSAjaWYtI2VuZGlmIGZvciBhIHBpY2tlciBpbmRpY2F0b3IgZWxlbWVu
dCBiZWNhdXNlCisgICAgICAgIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIgbWVhbmluZyBpcyBjaGFu
Z2VkLgorICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwOiBEaXR0by4KKworICAgICAgICAqIGh0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVs
ZW1lbnQuY3BwOiBDQUxFTkRBUl9QSUNLRVIgLT4KKyAgICAgICAgSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJIGJlY2F1c2UgRU5BQkxFX0NBTEVOREFSX1BJQ0tFUiBtZWFuaW5nIGlzIGNoYW5nZWQu
CisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oOiBEaXR0by4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHA6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6IERpdHRvLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtU2tpYS5oOiBEaXR0by4KKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0
aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9m
IGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggNzFlM2Y1NTg0ZTBmNDZlYTYxNjM2NTM4ZTUzOWNhYjhiOTIyN2VjOS4uZDZjYjgwNTE0Yzk5
OTI5MWJmMDM1YjE3NjNiZmRmODM1OTU3ZGNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVUX1RZ
UEVTLCBhbmQgY2xhcmlmeSB1c2FnZSBvZiBvdGhlciByZWxhdGVkIGZsYWdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1l
Q2hvb3Nlcik6CisgICAgICAgIEZvbGxvdyB0aGUgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVD
aG9vc2VyIGZsYWcgY2hhbmdlLgorICAgICAgICBBbHNvLCBhZGQgYW4gZW1wdHkgaW1wbGVtZW5h
dGF0aW9uIGZvciBBbmRyb2lkLgorICAgICAgICAqIHNyYy9EYXRlVGltZUNob29zZXJJbXBsLmNw
cDogV3JhcHBlZCB3aXRoCisgICAgICAgIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
LiBUaGlzIGNsYXNzIGlzIG5vdCB1c2VkIGluIEFuZHJvaWQuCisgICAgICAgICogc3JjL0RhdGVU
aW1lQ2hvb3NlckltcGwuaDogRGl0dG8uCisgICAgICAgICogc3JjL0xvY2FsaXplZFN0cmluZ3Mu
Y3BwOiBGb2xsb3cgdGhlIExvY2FsaXplZFN0cmluZy5oIGNoYW5nZS4KKwogMjAxMi0xMS0wMSAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkg
aW5zdHJ1bWVudGF0aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVz
dCBpbnN0ZWFkIG9mIGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4
IDY4MDhmMjM3MjJlMTQwMzVlMDM3M2RlNjg0ZDY0MTU5NjE1YWZmMjkuLmM4YWM4Njg4MzQ3NTFl
NTViNjJhNDlkODVhMDE1Y2FmNzI1MmUxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtODM0LDYgKzgzNCwx
MCBAQAogI2Vycm9yICJFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDIHJlcXVpcmVz
IEVOQUJMRV9TVUJQSVhFTF9MQVlPVVQiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0RBVEUpIHx8IEVOQUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FKSB8fCBFTkFCTEUoSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkgfHwgRU5BQkxFKElO
UFVUX1RZUEVfVElNRSkgfHwgRU5BQkxFKElOUFVUX1RZUEVfV0VFSykKKyNkZWZpbmUgRU5BQkxF
X0RBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMgMQorI2VuZGlmCisKICNkZWZpbmUgRU5BQkxFX0RF
QlVHX1dJVEhfQlJFQUtQT0lOVCAwCiAjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAw
CiAjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19GTEFHUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggNmJlMzBlZTg0NTFlYWQ4MGE5
YzkxY2M5MTQxOTk3YzE3OWYyNjk0Zi4uMDBhMWZmYzM4MjZlMzUzYzM3YzRhYTlkOTg5NDgzZTBk
NDMwNjFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcApAQCAtMjksNiArMjksNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
KyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJCYXNlRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaCIKIAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKQEAg
LTE4MCwzICsxODEsNCBAQCBTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzYW5pdGl6
ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29ucwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5k
VGltZUlucHV0VHlwZS5oCmluZGV4IDk2YjdiNWZlNmVjYjE1OWM1ODZiNmNjZWI4NTFhMGI5MjE2
MGNjZjEuLmQyZmQ5NDEzNGNlNmNhZWY5ZGRmOWRlY2ZkYmUxMjdjYWYyZGViNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtMzEsNiAr
MzEsNyBAQAogI2lmbmRlZiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGVfaAogI2RlZmluZSBCYXNl
RGF0ZUFuZFRpbWVJbnB1dFR5cGVfaAogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRf
VFlQRVMpCiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJUZXh0RmllbGRJ
bnB1dFR5cGUuaCIKICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC02Nyw1ICs2
OCw1IEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KKyNlbmRpZgog
I2VuZGlmIC8vIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwCmluZGV4IDllMTAyYjE4NzU5YzIyMTBiZmRiMWExODIzZWMzNDRiMTFhZjY1MGQuLjNj
YTVjOGYxMTZjYmQyMzU0OGE4MjkyYWMxNjI4NGQ5ODRjOTAzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuY3BwCkBAIC0xNzIsMTkgKzE3MiwxNiBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxk
c0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICBtX3NwaW5C
dXR0b25FbGVtZW50ID0gc3BpbkJ1dHRvbi5nZXQoKTsKICAgICBjb250YWluZXItPmFwcGVuZENo
aWxkKHNwaW5CdXR0b24pOwogCi0jaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8IEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpCiAgICAgYm9vbCBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSBm
YWxzZTsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBpZiAoSW5wdXRUeXBlOjp0
aGVtZVN1cHBvcnRzRGF0YUxpc3RVSSh0aGlzKSkKICAgICAgICAgc2hvdWxkQWRkUGlja2VySW5k
aWNhdG9yID0gdHJ1ZTsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAg
UmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSA9IGRvY3VtZW50LT5wYWdlKCkgPyBkb2N1bWVudC0+
cGFnZSgpLT50aGVtZSgpIDogUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpOwogICAgIGlmICh0
aGVtZS0+c3VwcG9ydHNDYWxlbmRhclBpY2tlcihmb3JtQ29udHJvbFR5cGUoKSkpIHsKICAgICAg
ICAgc2hvdWxkQWRkUGlja2VySW5kaWNhdG9yID0gdHJ1ZTsKICAgICAgICAgbV9waWNrZXJJbmRp
Y2F0b3JJc0Fsd2F5c1Zpc2libGUgPSB0cnVlOwogICAgIH0KLSNlbmRpZgogICAgIGlmIChzaG91
bGRBZGRQaWNrZXJJbmRpY2F0b3IpIHsKICAgICAgICAgUmVmUHRyPFBpY2tlckluZGljYXRvckVs
ZW1lbnQ+IHBpY2tlckVsZW1lbnQgPSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQpOwogICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQgPSBwaWNrZXJFbGVtZW50
LmdldCgpOwpAQCAtMTkyLDcgKzE4OSw2IEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgICAgICBtX3BpY2tlcklu
ZGljYXRvcklzVmlzaWJsZSA9IHRydWU7CiAgICAgICAgIHVwZGF0ZVBpY2tlckluZGljYXRvclZp
c2liaWxpdHkoKTsKICAgICB9Ci0jZW5kaWYgLy8gRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiB9CiAKIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKQEAgLTM0NSwxNSArMzQx
LDEyIEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6Omxpc3RB
dHRyaWJ1dGVUYXJnZXRDaGFuZ2VkKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFMSVNU
X0VMRU1FTlQpIHx8IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiB2b2lkIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjp1cGRhdGVQaWNrZXJJbmRpY2F0b3JWaXNpYmlsaXR5
KCkKIHsKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIGlmIChtX3BpY2tlckluZGlj
YXRvcklzQWx3YXlzVmlzaWJsZSkgewogICAgICAgICBzaG93UGlja2VySW5kaWNhdG9yKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVO
VCkKICAgICBpZiAoSFRNTERhdGFMaXN0RWxlbWVudCogZGF0YUxpc3QgPSBlbGVtZW50KCktPmRh
dGFMaXN0KCkpIHsKICAgICAgICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0
YUxpc3QtPm9wdGlvbnMoKTsKQEAgLTM4NSw3ICszNzgsNiBAQCB2b2lkIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzaG93UGlja2VySW5kaWNhdG9yKCkKICAgICBBU1NF
UlQobV9waWNrZXJJbmRpY2F0b3JFbGVtZW50KTsKICAgICBtX3BpY2tlckluZGljYXRvckVsZW1l
bnQtPnJlbW92ZUlubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5KTsKIH0KLSNl
bmRpZiAvLyBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tF
UikKIAogaW50IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpmdWxsWWVh
cihjb25zdCBTdHJpbmcmIHNvdXJjZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApp
bmRleCBlNDJiM2IyODczOGMxZWE0YTU5ZGY5NTAzY2ViODcxMTMzZmYzODU2Li45Yzc1YmIyYzUy
ZWVhNjA3NDgyY2YxNDdkNjM3ZWQzNmUzNWE2NWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5o
CkBAIC05NSwxMyArOTUsOSBAQCBwcml2YXRlOgogCiAgICAgRGF0ZVRpbWVFZGl0RWxlbWVudCog
bV9kYXRlVGltZUVkaXRFbGVtZW50OwogICAgIFNwaW5CdXR0b25FbGVtZW50KiBtX3NwaW5CdXR0
b25FbGVtZW50OwotI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKSB8fCBFTkFCTEUoQ0FMRU5E
QVJfUElDS0VSKQogICAgIFBpY2tlckluZGljYXRvckVsZW1lbnQqIG1fcGlja2VySW5kaWNhdG9y
RWxlbWVudDsKICAgICBib29sIG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlOwotI2lmIEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpCiAgICAgYm9vbCBtX3BpY2tlckluZGljYXRvcklzQWx3YXlzVmlz
aWJsZTsKLSNlbmRpZgotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQu
Y3BwCmluZGV4IDRmNGE4MjIxM2Q5NTRmYTdiNGU1ZDIwOTI1YzQ2MTAxMDk1MGRjMmQuLmYwODQ5
OGYwOGE0ZjkwM2IwMmM5MmYyMjNhMzY1MWM1ZDU4MzllYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCkBAIC0yOSwx
MCArMjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJKQogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIK
IAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KICNpbmNsdWRlICJDaHJvbWUuaCIKICNp
bmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCmluZGV4IDI5
NTkxOGE3MWRjOGRiODBlMGY2Y2MwNDFjYjliM2ZlN2JhM2YwYjkuLmNiNzU1NjcxNzQ5YmY5YzIw
MDM4N2YwMWIyM2Q0OTg2N2E0YjNmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZm5k
ZWYgUGlja2VySW5kaWNhdG9yRWxlbWVudF9oCiAjZGVmaW5lIFBpY2tlckluZGljYXRvckVsZW1l
bnRfaAogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQorI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgiCiAjaW5jbHVk
ZSAiRGF0ZVRpbWVDaG9vc2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZDYwYmQzMDFjZTVmN2E3
MTFmZWY1MzEwMTkyNWQzYjIyMWEyMmI0OC4uMzdmNmIzNzkxNWY1MDg5MGU0YTdjZDJmNTFjYzhm
YzlhMDRlMWY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTEw
NCw3ICsxMDQsNyBAQCBQYXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6
OmNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbgogfQogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZ
UEVTKQogUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+IEVtcHR5Q2hyb21lQ2xpZW50OjpvcGVu
RGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMmKQogewogICAgIHJldHVybiBQYXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nl
cj4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA3M2M5ODE5MzQxNTc2
NzAyNGZiNDYwMDI1OWFlNWVlOTNhOWFlYzQwLi4yODI4YTY5MGUwODA2ODNhMTBiZGY2ZmNhMTY0
MmUwOGU0ZTkxNjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNzMs
NyArMTczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+
IGNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpIE9W
RVJSSURFOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJM
RShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEYXRl
VGltZUNob29zZXI+IG9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50Kiwg
Y29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDA3NzI0MTI5NTVkNjY5NzU5MWM3MDE0MDYz
ZGMzMzA4OGM3YWUxZDUuLjE0MjI1ZTRkNDJiZWI2Yzc2OGNjMDEyZGViOGQ0ZWQzZWE4NzMxZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI2LDcgKzIyNiwxMyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+
IGNyZWF0ZUNvbG9yQ2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpID0g
MDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoREFU
RV9BTkRfVElNRV9JTlBVVF9UWVBFUykKKyAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IGZvcjoKKyAgICAgICAgLy8gIC0gTWFuZGF0b3J5IGRhdGUvdGltZSBjaG9vc2VycyBpZiAhRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyAgICAgICAgLy8gIC0gRGF0ZS90aW1lIGNo
b29zZXJzIGZvciB0eXBlcyBmb3Igd2hpY2ggUmVuZGVyVGhlbWU6OnN1cHBvcnRzQ2FsZW5kYXJQ
aWNrZXIKKyAgICAgICAgLy8gICAgcmV0dXJucyB0cnVlLCBpZiBFTkFCRUwoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQorICAgICAgICAvLyAgLSA8ZGF0YWxpc3Q+IFVJIGZvciBkYXRlL3RpbWUg
aW5wdXQgdHlwZXMgcmVnYXJkbGVzcyBvZgorICAgICAgICAvLyAgICBFTkFCRUwoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0ZVRpbWVDaG9v
c2VyPiBvcGVuRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERh
dGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaAppbmRleCA3YTNhNWU5ODE1MzRhZGQ2YzQ5OGE2NjJj
NzE1OTg1OTYzZWIzZGM4Li40MDVkZmRkOTdjZjQ5MGYxZjZiMDY4YTc1NDU5ZWMwMGQwZGQ0OTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaApAQCAtMzEsNiAr
MzEsNyBAQAogI2lmbmRlZiBEYXRlVGltZUNob29zZXJfaAogI2RlZmluZSBEYXRlVGltZUNob29z
ZXJfaAogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVkZSAi
SW50UmVjdC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CkBAIC02MSw1ICs2Miw1IEBAIHB1YmxpYzoKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQorI2VuZGlmCiAjZW5kaWYgLy8gRGF0ZVRpbWVDaG9vc2VyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3NlckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50LmgKaW5kZXgg
MTg1M2VhN2EwMzI0MzI1YWZjZTY0MjYxYmVjNzY2MGYxYTFkMzAxNC4uMjMwZDA0NTQ0MzIxNjBl
ZjIxZjk2OWNiYTk1NDQxN2E2ZThmMmJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgRGF0
ZVRpbWVDaG9vc2VyQ2xpZW50X2gKICNkZWZpbmUgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50X2gKIAor
I2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBEYXRlVGltZUNob29zZXJDbGllbnQgewpAQCAtNDQsNSArNDUsNSBAQCBwdWJs
aWM6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KKyNlbmRpZgogI2VuZGlmIC8vIERh
dGVUaW1lQ2hvb3NlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmgKaW5kZXggYjRiYTIxOTdjMmRkNDY0MDQ1MmUxYWYxNTY2MDRhNTI2YzVmYmU2Zi4u
ZmNiYTE1NjljY2JhYjgxY2Q3Zjg2N2ViZGY4YmViMTZhYTcwMWM4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaApAQCAtMTkxLDEwICsxOTEsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICJ5eXl5IiwgZm9yIHllYXIgZmllbGQgdXNlZCBpbiBt
dWx0aXBsZSBmaWVsZHMgImRhdGUiLCAiZGF0ZXRpbWUiLCBhbmQKICAgICAvLyAiZGF0ZXRpbWUt
bG9jYWwiIGlucHV0IFVJIGluc3RlYWQgIi0tLS0iLgogICAgIFN0cmluZyBwbGFjZWhvbGRlckZv
clllYXJGaWVsZCgpOwotCisjZW5kaWYKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQogICAg
IC8vIHdlZWtGb3JtYXRJbkxETUwoKSByZXR1cm5zIHdlZWsgYW5kIHllYXIgZm9ybWF0IGluIExE
TUwsIFVuaWNvZGUKLSAgICAvLyB0ZWNobmljYWwgc3RhbmRhcmQgMzUsIExvY2FsZSBEYXRhIE1h
cmt1cCBMYW5ndWFnZSwgZS5nLiAiV1cteXl5eXkiCi0gICAgLy8gZm9yICJ3ZWVrIiBpbnB1dCB0
eXBlLgorICAgIC8vIHRlY2huaWNhbCBzdGFuZGFyZCAzNSwgTG9jYWxlIERhdGEgTWFya3VwIExh
bmd1YWdlLCBlLmcuICInV2Vlaycgd3csIHl5eXkiCiAgICAgU3RyaW5nIHdlZWtGb3JtYXRJbkxE
TUwoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0RhdGVUaW1lRm9ybWF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRp
bWVGb3JtYXQuY3BwCmluZGV4IDZlNWZlNjg4MzEyOTk0YmMzMjgwNzdhZDBiNWExNjQ0MDhjZmU2
NDAuLmZlZWNhYjQ3MjdlOWMyYTc3ZjhkYjQyMWFjNThkMmExZWRiMmY4MGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVGb3JtYXQuaCIK
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVf
QU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuaAppbmRleCBjOTk2ZTc2ZjgwZDUyNWY0OWFmOTNhMTE4
OWVlYzg5ZWU3ZWRhNTJiLi5hYTQzZDJjY2E2YTA1ODcyNTU5MzAwZmMyZDcyZTU2MjZiNzYzNTcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9ybWF0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5oCkBA
IC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIERhdGVUaW1lRm9ybWF0X2gKICNkZWZpbmUgRGF0ZVRp
bWVGb3JtYXRfaAogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZUlDVS5jcHAKaW5kZXggODMzMzY5MzkzM2VkNDU5M2VlYmYxYjc1OWZmODU2MWM1MjlmNjUy
Mi4uMjQ3MDVmMDQ0ODIzNDgyN2Q4OGFiNzUzYjFhYjg2ZGIzMjQ3ZDNkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcApAQCAtNTgsNyArNTgsNyBAQCBMb2Nh
bGVJQ1U6OkxvY2FsZUlDVShjb25zdCBjaGFyKiBsb2NhbGUpCiAjaWYgRU5BQkxFKENBTEVOREFS
X1BJQ0tFUikKICAgICAsIG1fZmlyc3REYXlPZldlZWsoMCkKICNlbmRpZgotI2lmIEVOQUJMRShJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRf
VFlQRVMpCiAgICAgLCBtX21lZGl1bVRpbWVGb3JtYXQoMCkKICAgICAsIG1fc2hvcnRUaW1lRm9y
bWF0KDApCiAgICAgLCBtX2RpZENyZWF0ZVRpbWVGb3JtYXQoZmFsc2UpCkBAIC03MCw3ICs3MCw3
IEBAIExvY2FsZUlDVTo6fkxvY2FsZUlDVSgpCiB7CiAgICAgdW51bV9jbG9zZShtX251bWJlckZv
cm1hdCk7CiAgICAgdWRhdF9jbG9zZShtX3Nob3J0RGF0ZUZvcm1hdCk7Ci0jaWYgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9U
WVBFUykKICAgICB1ZGF0X2Nsb3NlKG1fbWVkaXVtVGltZUZvcm1hdCk7CiAgICAgdWRhdF9jbG9z
ZShtX3Nob3J0VGltZUZvcm1hdCk7CiAjZW5kaWYKQEAgLTE1NSw3ICsxNTUsNyBAQCBVRGF0ZUZv
cm1hdCogTG9jYWxlSUNVOjpvcGVuRGF0ZUZvcm1hdChVRGF0ZUZvcm1hdFN0eWxlIHRpbWVTdHls
ZSwgVURhdGVGb3JtYXRTdAogICAgIHJldHVybiB1ZGF0X29wZW4odGltZVN0eWxlLCBkYXRlU3R5
bGUsIG1fbG9jYWxlLmRhdGEoKSwgZ210VGltZXpvbmUsIFdURl9BUlJBWV9MRU5HVEgoZ210VGlt
ZXpvbmUpLCAwLCAtMSwgJnN0YXR1cyk7CiB9CiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VS
KSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FO
RF9USU1FX0lOUFVUX1RZUEVTKQogc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihj
b25zdCBVRGF0ZUZvcm1hdCogZGF0ZUZvcm1hdCkKIHsKICAgICBpZiAoIWRhdGVGb3JtYXQpCkBA
IC0xNzIsOSArMTcyLDcgQEAgc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihjb25z
dCBVRGF0ZUZvcm1hdCogZGF0ZUZvcm1hdCkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CiAgICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKIH0KLSNlbmRpZgogCi0jaWYgRU5B
QkxFKENBTEVOREFSX1BJQ0tFUikKIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBMb2NhbGVJ
Q1U6OmNyZWF0ZUxhYmVsVmVjdG9yKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRlRm9ybWF0LCBVRGF0
ZUZvcm1hdFN5bWJvbFR5cGUgdHlwZSwgaW50MzJfdCBzdGFydEluZGV4LCBpbnQzMl90IHNpemUp
CiB7CiAgICAgaWYgKCFkYXRlRm9ybWF0KQpAQCAtMTk4LDcgKzE5Niw5IEBAIFBhc3NPd25QdHI8
VmVjdG9yPFN0cmluZz4gPiBMb2NhbGVJQ1U6OmNyZWF0ZUxhYmVsVmVjdG9yKGNvbnN0IFVEYXRl
Rm9ybWF0KiBkYXRlCiAgICAgfQogICAgIHJldHVybiBsYWJlbHMucmVsZWFzZSgpOwogfQorI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogc3RhdGljIFBhc3NPd25QdHI8VmVj
dG9yPFN0cmluZz4gPiBjcmVhdGVGYWxsYmFja1dlZWtEYXlTaG9ydExhYmVscygpCiB7CiAgICAg
T3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gbGFiZWxzID0gYWRvcHRQdHIobmV3IFZlY3RvcjxTdHJp
bmc+KCkpOwpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgTG9jYWxlSUNVOjppbml0aWFsaXplQ2Fs
ZW5kYXIoKQogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lO
UFVUX1RZUEVTKQogc3RhdGljIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBjcmVhdGVGYWxs
YmFja01vbnRoTGFiZWxzKCkKIHsKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMg
PSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0cmluZz4oKSk7CkBAIC0yNzUsNyArMjc1LDcgQEAgYm9v
bCBMb2NhbGVJQ1U6OmlzUlRMKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0
YXRpYyBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gY3JlYXRlRmFsbGJhY2tBTVBNTGFiZWxz
KCkKIHsKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihuZXcg
VmVjdG9yPFN0cmluZz4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsZUlDVS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1Uu
aAppbmRleCBkMmFhMTI2MTJjY2MyZmExMGVkYTM5MDdkMGMzNzMwNGY1YjBjNWI3Li45YThkNGJk
MWQ3YzQwM2FlYzNkODI1ZjYxMjRkYzViYzEwMTcxN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmgKQEAgLTU0LDE0ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB1bnNpZ25lZCBmaXJzdERheU9mV2VlaygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9v
bCBpc1JUTCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikg
fHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBtb250aExhYmVscygpIE9WRVJSSURFOwotI2VuZGlmCi0jaWYgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBV
VF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmlu
ZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9y
bWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhM
YWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9y
dE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAg
LTg0LDExICs4Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplQ2FsZW5kYXIoKTsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykK
ICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gY3JlYXRlTGFiZWxWZWN0b3IoY29uc3Qg
VURhdGVGb3JtYXQqLCBVRGF0ZUZvcm1hdFN5bWJvbFR5cGUsIGludDMyX3Qgc3RhcnRJbmRleCwg
aW50MzJfdCBzaXplKTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKICAgICB2b2lkIGluaXRpYWxpemVEYXRlVGltZUZvcm1hdCgpOwogI2VuZGlmCiAKQEAg
LTEwMiwxMCArOTcsOCBAQCBwcml2YXRlOgogICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1f
d2Vla0RheVNob3J0TGFiZWxzOwogICAgIHVuc2lnbmVkIG1fZmlyc3REYXlPZldlZWs7CiAjZW5k
aWYKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAgIE93
blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1fbW9udGhMYWJlbHM7Ci0jZW5kaWYKLSNpZiBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAg
U3RyaW5nIG1fbW9udGhGb3JtYXQ7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKaW5kZXggMmIw
YjExNWEwNGZhZWVlMWZhZTk1YTU5YThhODA0ZTcyNGUwYjU0Ni4uOWRjNWMwMGE1YTFiYmUzMGFj
ZmFlYjI4ZTc4ZDZjMjkwNmU3YzNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGVOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZU5vbmUuY3BwCkBAIC0zOSwxNCArMzksMTIgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKQogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBtb250aExhYmVs
cygpIE9WRVJSSURFOwotI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0
cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3Jt
YXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxz
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFu
ZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTU0LDggKzUyLDYgQEAgcHJpdmF0ZToK
IAogICAgIFZlY3RvcjxTdHJpbmc+IG1fdGltZUFNUE1MYWJlbHM7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9zaG9ydE1vbnRoTGFiZWxzOwotI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tF
UikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBWZWN0b3I8U3RyaW5n
PiBtX21vbnRoTGFiZWxzOwogI2VuZGlmCiB9OwpAQCAtODAsNyArNzYsNyBAQCBib29sIExvY2Fs
ZU5vbmU6OmlzUlRMKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikg
fHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjptb250
aExhYmVscygpCiB7CiAgICAgaWYgKCFtX21vbnRoTGFiZWxzLmlzRW1wdHkoKSkKQEAgLTkwLDkg
Kzg2LDcgQEAgY29uc3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZU5vbmU6Om1vbnRoTGFiZWxzKCkK
ICAgICAgICAgbV9tb250aExhYmVscy5hcHBlbmQoV1RGOjptb250aEZ1bGxOYW1lW2ldKTsKICAg
ICByZXR1cm4gbV9tb250aExhYmVsczsKIH0KLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKIFN0cmluZyBMb2NhbGVOb25lOjpkYXRlRm9ybWF0KCkKIHsKICAg
ICByZXR1cm4gQVNDSUlMaXRlcmFsKCJkZC9NTS95eXl5eSIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcAppbmRleCBiZGY2NDViNzJkYjlhNmVl
NzdhZDJjOTRhMGIyZDVhODkyNGM5NjRhLi5lYWZkZmRkY2Q5MDkzN2RmMjhkYjEwYzQxM2QxYWNi
ZWM4MGJhNDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRm
b3JtTG9jYWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3Jt
TG9jYWxlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNp
ZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9U
SU1FX0lOUFVUX1RZUEVTKQogCiBjbGFzcyBEYXRlVGltZVN0cmluZ0J1aWxkZXIgOiBwcml2YXRl
IERhdGVUaW1lRm9ybWF0OjpUb2tlbkhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGVUaW1lU3RyaW5nQnVpbGRlcik7CkBAIC0zMTQsNyArMzE0LDkgQEAgU3RyaW5nIExvY2Fs
ZTo6bG9jYWxpemVkRGVjaW1hbFNlcGFyYXRvcigpCiAgICAgaW5pdGlhbGl6ZUxvY2FsZURhdGEo
KTsKICAgICByZXR1cm4gbV9kZWNpbWFsU3ltYm9sc1tEZWNpbWFsU2VwYXJhdG9ySW5kZXhdOwog
fQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIFN0cmlu
ZyBMb2NhbGU6OmRhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHMoKQogewogICAgIGlmICghbV9kYXRl
VGltZUZvcm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQpAQCAtMzQwLDI0ICszNDIsMjAgQEAgU3Ry
aW5nIExvY2FsZTo6ZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kcygpCiAgICAgbV9kYXRlVGlt
ZUZvcm1hdFdpdGhvdXRTZWNvbmRzID0gYnVpbGRlci50b1N0cmluZygpOwogICAgIHJldHVybiBt
X2RhdGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9Ci0jZW5kaWYKIAogU3RyaW5nIExvY2Fs
ZTo6Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUsIEZvcm1hdFR5cGUg
Zm9ybWF0VHlwZSkKIHsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAg
IGlmIChkYXRlLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6VGltZSAmJiBkYXRlLnR5cGUoKSAh
PSBEYXRlQ29tcG9uZW50czo6RGF0ZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8v
IEZJWE1FOiBTdXBwb3J0cyBhbGwgdHlwZXMuCisKICAgICBEYXRlVGltZVN0cmluZ0J1aWxkZXIg
YnVpbGRlcigqdGhpcywgZGF0ZSk7CiAgICAgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25l
bnRzOjpUaW1lKQogICAgICAgICBidWlsZGVyLmJ1aWxkKGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlw
ZVNob3J0ID8gc2hvcnRUaW1lRm9ybWF0KCkgOiB0aW1lRm9ybWF0KCkpOwogICAgIGVsc2UgaWYg
KGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlKQogICAgICAgICBidWlsZGVyLmJ1
aWxkKGRhdGVGb3JtYXQoKSk7CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGRhdGUpOwotICAgIFVOVVNFRF9QQVJBTShmb3JtYXRUeXBlKTsK
LSAgICByZXR1cm4gU3RyaW5nKCk7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKaW5kZXggZTMzZTBiZmQzMmQ1
MWM3NWZjN2Y0NWZjNzlmZmRhYmIwNmIyOGI5MS4uMzU4NTEyNDgyYzk0OTRkMGU3ZjA5NjEyN2Ey
MDM3NTBmN2QwNzhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Q
bGF0Zm9ybUxvY2FsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZv
cm1Mb2NhbGUuaApAQCAtNTYsNyArNTYsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKICAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBkZWNpbWFsIHNlcGFy
YXRvciwgZS5nLiAiLiIgZm9yIEVuZ2xpc2gsICIsIiBmb3IgRnJlbmNoLgogICAgIFN0cmluZyBs
b2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCk7CisjZW5kaWYKIAorI2lmIEVOQUJMRShEQVRFX0FO
RF9USU1FX0lOUFVUX1RZUEVTKQogICAgIC8vIFJldHVybnMgZGF0ZSBmb3JtYXQgaW4gVW5pY29k
ZSBUUjM1IExETUxbMV0gY29udGFpbmluZyBkYXkgb2YgbW9udGgsCiAgICAgLy8gbW9udGgsIGFu
ZCB5ZWFyLCBlLmcuICJkZC9tbS95eXl5IgogICAgIC8vIFsxXSBMRE1MIGh0dHA6Ly91bmljb2Rl
Lm9yZy9yZXBvcnRzL3RyMzUvI0RhdGVfRm9ybWF0X1BhdHRlcm5zCkBAIC05OSw5ICsxMDEsNyBA
QCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBwZXJpb2QgZmllbGQoQU0vUE0p
IHN0cmluZ3MuCiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJl
bHMoKSA9IDA7Ci0jZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgLy8gUmV0dXJucyBhIHZlY3RvciBvZiBz
dHJpbmcgb2Ygd2hpY2ggc2l6ZSBpcyAxMi4gVGhlIGZpcnN0IGl0ZW0gaXMgYQogICAgIC8vIGxv
Y2FsaXplZCBzdHJpbmcgb2YgSmFudWFyeSwgYW5kIHRoZSBsYXN0IGl0ZW0gaXMgYSBsb2NhbGl6
ZWQgc3RyaW5nIG9mCiAgICAgLy8gRGVjZW1iZXIuIFRoZXNlIHN0cmluZ3Mgc2hvdWxkIG5vdCBi
ZSBhYmJyZXZpYXRpb25zLgpAQCAtMTIyLDEyICsxMjIsMTQgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBpc1JUTCgpID0gMDsKICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVf
SU5QVVRfVFlQRVMpCiAgICAgZW51bSBGb3JtYXRUeXBlIHsgRm9ybWF0VHlwZVVuc3BlY2lmaWVk
LCBGb3JtYXRUeXBlU2hvcnQsIEZvcm1hdFR5cGVNZWRpdW0gfTsKIAogICAgIC8vIFNlcmlhbGl6
ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAg
ICAvLyBkaXNwbGF5IHRvIHRoZSB1c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1
cHBvcnQKICAgICAvLyBsb2NhbGl6ZWQgZGF0ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4g
YW4gZW1wdHkgc3RyaW5nLgogICAgIFN0cmluZyBmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29t
cG9uZW50cyYsIEZvcm1hdFR5cGUgPSBGb3JtYXRUeXBlVW5zcGVjaWZpZWQpOworI2VuZGlmCiAK
ICAgICB2aXJ0dWFsIH5Mb2NhbGUoKTsKIApAQCAtMTM5LDcgKzE0MSw3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgRGVjaW1hbFN5bWJvbHNTaXplCiAgICAgfTsKIAotI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMp
CiAgICAgU3RyaW5nIG1fZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25kczsKICAgICBTdHJpbmcgbV9k
YXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCmluZGV4IDg3NmQ4ZTNiMGI2ZjY1ZTVkN2VhMThl
MmM1YzRhYTQwNjdkNDY3ZGEuLmUzNjM3OTlkY2IzODM2Y2QzMmE0MzYyNmU0MDIwZDMyZDZlM2Jh
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCkBA
IC01NiwxNSArNTYsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3REYXlP
ZldlZWsoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsKICNl
bmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJl
bHMoKSBPVkVSUklERTsKLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFs
IFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhG
b3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFi
ZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRT
dGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTgxLDEwICs3OSw4IEBAIHByaXZh
dGU6CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBWZWN0b3I8U3RyaW5nPiBtX3dl
ZWtEYXlTaG9ydExhYmVsczsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJ
TUVfSU5QVVRfVFlQRVMpCiAgICAgVmVjdG9yPFN0cmluZz4gbV9tb250aExhYmVsczsKLSNlbmRp
ZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgUmV0YWluUHRyPE5T
RGF0ZUZvcm1hdHRlcj4gdGltZUZvcm1hdHRlcigpOwogICAgIFJldGFpblB0cjxOU0RhdGVGb3Jt
YXR0ZXI+IHNob3J0VGltZUZvcm1hdHRlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KaW5kZXggNDVhMjk0OTdkZmVjMGE0YWE3YWFhYWU1MWNh
ZTNlMzhiMWIwZDY4NS4uOGY5OWRkMjE5NjdkZjE1M2ZhYjEzZjY3YTE2ZTVjNTdiYjJlOGZiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAt
MTE0LDcgKzExNCw3IEBAIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hv
cnREYXRlRm9ybWF0dGVyKCkKICAgICByZXR1cm4gY3JlYXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9s
b2NhbGUuZ2V0KCksIG1fZ3JlZ29yaWFuQ2FsZW5kYXIuZ2V0KCksIE5TRGF0ZUZvcm1hdHRlclNo
b3J0U3R5bGUsIE5TRGF0ZUZvcm1hdHRlck5vU3R5bGUpOwogfQogCi0jaWYgRU5BQkxFKENBTEVO
REFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFC
TEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2Nh
bGVNYWM6Om1vbnRoTGFiZWxzKCkKIHsKICAgICBpZiAoIW1fbW9udGhMYWJlbHMuaXNFbXB0eSgp
KQpAQCAtMTY1LDcgKzE2NSw3IEBAIGJvb2wgTG9jYWxlTWFjOjppc1JUTCgpCiB9CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVf
QU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBSZXRhaW5QdHI8TlNEYXRlRm9ybWF0dGVyPiBMb2NhbGVN
YWM6OnRpbWVGb3JtYXR0ZXIoKQogewogICAgIHJldHVybiBjcmVhdGVEYXRlVGltZUZvcm1hdHRl
cihtX2xvY2FsZS5nZXQoKSwgbV9ncmVnb3JpYW5DYWxlbmRhci5nZXQoKSwgTlNEYXRlRm9ybWF0
dGVyTm9TdHlsZSwgTlNEYXRlRm9ybWF0dGVyTWVkaXVtU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAKaW5kZXggOTYzMzc2ZTEzY2FlOThk
MDU0OWIwODUxMmJmMTQ5MDRjNDA3NDA0Zi4uZjc4YjM4MzVjMjBiMWI2MDZkNTc2MzMzNjBlMjQz
YWZjYzg3ZTI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4v
TG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGVXaW4uY3BwCkBAIC0zMiw5ICszMiw3IEBACiAjaW5jbHVkZSAiTG9jYWxlV2luLmgiCiAKICNp
bmNsdWRlICJEYXRlQ29tcG9uZW50cy5oIgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVGb3JtYXQuaCIKLSNlbmRpZgogI2luY2x1ZGUgIkxh
bmd1YWdlLmgiCiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgPGxpbWl0
cz4KQEAgLTM1NCw3ICszNTIsNyBAQCB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlV2Vla0RheVNob3J0
TGFiZWxzKCkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFC
TEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lO
UFVUX1RZUEVTKQogY29uc3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZVdpbjo6bW9udGhMYWJlbHMo
KQogewogICAgIGVuc3VyZU1vbnRoTGFiZWxzKCk7CkBAIC0zODEsNyArMzc5LDcgQEAgYm9vbCBM
b2NhbGVXaW46OmlzUlRMKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRp
YyBTdHJpbmcgY29udmVydFdpbmRvd3NEYXRlRm9ybWF0VG9MRE1MKGNvbnN0IFZlY3RvcjxEYXRl
Rm9ybWF0VG9rZW4+JiB0b2tlbnMpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWZmZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCmluZGV4IGYzM2Y5OTc1
ZmVhZmI4MTE5ZTI0OTJjMDVkOTgyZGMzNmQ5YmJiMTQuLjA4MTEyZmYwM2MyYjlkYTAxYmFkZjIy
ZDllMzRmZmE2ODA3MGJkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvd2luL0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2lu
L0xvY2FsZVdpbi5oCkBAIC01MSwyMSArNTEsMTcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5z
aWduZWQgZmlyc3REYXlPZldlZWsoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwo
KSBPVkVSUklERTsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9N
VUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMp
CiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
U3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGltZUZv
cm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRNb250aExh
YmVscygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0YW5k
QWxvbmVNb250aExhYmVscygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSBPVkVSUklERTsKLSNlbmRp
ZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBzdGF0aWMgU3Ry
aW5nIGRhdGVGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIApAQCAtODQsOSArODAsOSBA
QCBwcml2YXRlOgogCiAgICAgTENJRCBtX2xjaWQ7CiAgICAgVmVjdG9yPERhdGVGb3JtYXRUb2tl
bj4gbV9zaG9ydERhdGVUb2tlbnM7CisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQ
RVMpCiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwogICAgIFZlY3RvcjxT
dHJpbmc+IG1fbW9udGhMYWJlbHM7Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0OwogICAgIFN0cmluZyBtX21vbnRoRm9ybWF0Owog
ICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcAppbmRleCAwMWIyMzQ4NzYzNzk0Yjc3
NDc0YTUzOTk3ZTE5Y2Y0YmVhZjM1NjlkLi4zNDVjMTM4OWVlMzVjZTM4ZDI5ZDJlNmU1NzEzNDVi
M2U3NGVjYWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0
YWlsc01hcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFp
bHNNYXJrZXIuY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiUmVuZGVyRGV0YWlsc01hcmtlci5oIgogCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVO
VCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5U
KSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkVsZW1lbnQu
aCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCmluZGV4
IGFjOTNiZTg2OGI0MTYwMjliMmY2NzExNzExY2Q4MGZiMjFlNDE3NGMuLmY2MGIzY2I0ODliZmFh
Y2E4OTU3ZDljY2E4MjUwZmVlZTMzMDc2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckRldGFpbHNNYXJrZXIuaApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBSZW5k
ZXJEZXRhaWxzTWFya2VyX2gKICNkZWZpbmUgUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAKLSNpZiBF
TkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVO
QUJMRShERVRBSUxTX0VMRU1FTlQpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
CiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCBiNTY4OTUzY2I2Mjk2YWFkMjFkZTYz
ZDM2ZjFhN2RiMmVjNGRkZDhjLi5iMTQ3NDkzMTg5YzhhNmU2YmZiODUyMjRhYmFkNWM2NzdiNTg3
YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTM4LDcgKzEz
OCw3IEBAIHB1YmxpYzoKICAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlz
IGFibGUgdG8gc2hvdyBkYXRhbGlzdCBzdWdnZXN0aW9ucyBmb3IgYSBnaXZlbiBpbnB1dCB0eXBl
LgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5n
JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKICAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3Jt
IGlzIGFibGUgdG8gc2hvdyBhIGNhbGVuZGFyIHBpY2tlciBmb3IgYSBnaXZlbiBpbnB1dCB0eXBl
LgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0
cmluZyYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcAppbmRleCAz
NTk1NzdhYjRhMGY2OGViMDNkZTRlZGJjODRmYzc0ZGVhZGE0MjYyLi4yODA5MTEwNzM4MDdlMzRl
ZTk2OGQ5M2ZlNmE4ZmE1NTQwNWMyYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3BwCkBAIC00Niw3ICs0Niw3IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNEYXRhTGlzdFVJKGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSkKICAgICAgICAgfHwgdHlwZSA9PSBJbnB1dFR5cGVOYW1lczo6
cmFuZ2UoKTsKIH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNDYWxlbmRhclBpY2tl
cihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCiB7CiAgICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0
byBzdXBwb3J0IGRhdGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIGFuZCB3ZWVrIHRvby4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
Q29tbW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNv
bW1vbi5oCmluZGV4IDhjMDVhY2Y2MDFjODQ2MjA1NWRmMjBiYWM1ZmQ5M2VjZWRhZjY1NmQuLjAw
YTI2MWQzMDcyYjYzOThlZjRlNzU4YThlYTNjNjUxMDRlNTU5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uaApAQCAtMzUs
NyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVt
Q29tbW9uIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0RhdGFMaXN0VUkoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKSAmJiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUpOwogI2VuZGlmCiAgICAgc3RhdGljIExheW91dFVuaXQgc2xp
ZGVyVGlja1NuYXBwaW5nVGhyZXNob2xkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaAppbmRleCAyNDBkY2Y5YzBjYjYxMTVkYTE4ODRj
OTlhNzViYWM1M2RkYmQ0Y2U5Li4xZjVhODE0ODQ5MWI0OGQ5YjIzODFlYTdiY2U5NTQzMTE5ODQw
ZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtTWFjLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJf
UElDS0VSKQogICAgIHZpcnR1YWwgQ1N0cmluZyBleHRyYUNhbGVuZGFyUGlja2VyU3R5bGVTaGVl
dCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkgJiYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSkgY29uc3QgT1ZFUlJJREU7CiAjZW5kaWYKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkU2hvd1BsYWNlaG9sZGVyV2hlbkZvY3VzZWQoKSBjb25zdCBPVkVSUklERTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmgKaW5kZXggYjlkYTUyMmUxNzA0MzkyOTdjZjE2NjkyZjQxMzBhYTg4OTg2YjVlZC4uODdiNGU4
MWRkZjg5MTdhZjAwZWJhOWI3NGVkYTMyMDZiN2E2ZWY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKQEAgLTE4MSw3ICsxODEs
NyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHZpcnR1YWwg
TGF5b3V0VW5pdCBzbGlkZXJUaWNrU25hcHBpbmdUaHJlc2hvbGQoKSBjb25zdCBPVkVSUklERTsK
ICNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShD
QUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAg
ICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUpIGNvbnN0IE9WRVJSSURFOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKaW5kZXggZDc4MWU4YTQwMzNhNWI5MTkyOWQ3
NzNiM2I3Zjc4NGJiNjY5MzA4Zi4uM2M4ZjA0MzQ5YmUxYTNiY2UwMDQ2ZjRmNWVhYzg1Y2RiYWMz
YzA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAi
Q3Vyc29yLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCisjaW5jbHVkZSAiRGF0ZVRp
bWVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VySW1wbC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY5MiwxMCArNjkz
LDE1IEBAIFBhc3NPd25QdHI8V2ViQ29sb3JDaG9vc2VyPiBDaHJvbWVDbGllbnRJbXBsOjpjcmVh
dGVXZWJDb2xvckNob29zZXIoV2ViQ29sb3JDaG9vCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShD
QUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBQ
YXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gQ2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1l
Q2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQqIHBpY2tlckNsaWVudCwgY29uc3QgRGF0ZVRp
bWVDaG9vc2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyNpZiBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQogICAgIHJldHVybiBEYXRlVGltZUNob29zZXJJbXBsOjpjcmVhdGUo
dGhpcywgcGlja2VyQ2xpZW50LCBwYXJhbWV0ZXJzKTsKKyNlbHNlCisgICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICByZXR1cm4gUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+KCk7CisjZW5kaWYK
IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRl
VGltZUNob29zZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1l
Q2hvb3NlckltcGwuY3BwCmluZGV4IGE0Yjg3NjUxZGY2Mzg3NDY1OGZmYWE4ZDk5NmFiODM4MTVk
ZjU5NzEuLjI5ZDUxOTk2NmNhYTBhYzM3ZWIyMGQ2YTI2ZGIxMzIyMjg0YmNlMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCkBA
IC0yOSwxMCArMjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkRhdGVUaW1lQ2hvb3NlckltcGwu
aCIKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KICNpbmNsdWRlICJDYWxlbmRhclBp
Y2tlci5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudEltcGwuaCIKICNpbmNsdWRlICJEYXRlQ29t
cG9uZW50cy5oIgpAQCAtNDgsNiArNDcsMTAgQEAKICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0u
aD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmg+CiAKKyNpZiAhRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKKyNlcnJvciAiRU5BQkxFX0lOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSByZXF1aXJlcyBFTkFCTEVfQ0FMRU5EQVJfUElDS0VSIGluIENocm9taXVtLiIKKyNlbmRpZgor
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xNzAs
NCArMTczLDQgQEAgdm9pZCBEYXRlVGltZUNob29zZXJJbXBsOjpkaWRDbG9zZVBvcHVwKCkKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoQ0FMRU5EQVJfUElDS0VS
KQorI2VuZGlmIC8vIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmgKaW5kZXggMTdkYjQz
NTY4YmJjYzBjNmIwMjU4MTNhOWVjZWY4NGM0NzlmNjVlOS4uMjI0MzU4NjIzYThhYWE1YWJlMTNk
MmMxYzgxMmY3OGFmMDZkNGU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0RhdGVUaW1lQ2hvb3NlckltcGwuaApAQCAtMzEsMTEgKzMxLDEwIEBACiAjaWZuZGVmIERhdGVU
aW1lQ2hvb3NlckltcGxfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJJbXBsX2gKIAorI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2Vy
LmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJf
UElDS0VSKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlUG9wdXA7CiBjbGFzcyBE
YXRlVGltZUNob29zZXJDbGllbnQ7CkBAIC03MSw2ICs3MCw2IEBAIHByaXZhdGU6CiAKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjZW5kaWYgLy8gRU5BQkxFKElOUFVU
X01VTFRJUExFX0ZJRUxEU19VSSkKIAogI2VuZGlmIC8vIERhdGVUaW1lQ2hvb3NlckltcGxfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRl
eCBhYzhhYWU1NWVlMDdhNDBhYzA2MTRhMDU1NjY5MTU5NWNjMjRkM2Y3Li5lNWJhZGVkOTM2M2Q2
ODgyNGIzN2YwNjE2MDRhODdkMTJjMTdjNmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtMjY4LDcgKzI2OCw5IEBAIFN0cmluZyBw
bGFjZWhvbGRlckZvclllYXJGaWVsZCgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXpl
ZFN0cmluZzo6UGxhY2Vob2xkZXJGb3JZZWFyRmllbGQpOwogfQorI2VuZGlmCiAKKyNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9XRUVLKQogU3RyaW5nIHdlZWtGb3JtYXRJbkxETUwoKQogewogICAgIFN0
cmluZyB0ZW1wbCA9IHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6V2Vla0Zvcm1hdFRlbXBsYXRl
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171991</attachid>
            <date>2012-11-02 00:08:54 -0700</date>
            <delta_ts>2012-11-02 04:11:03 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-101007-20121102160714.patch</filename>
            <type>text/plain</type>
            <size>42257</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk4OTk1MTRkNGRkMzc1NjFhYTlhNjA1
YzAxN2M5NjU3NjViZjNlY2UuLjk4ZDU1MzMzYmU3Yjg2OTFjZDM3MmRjOTU5ZGI5OTU1ZjI5Yzgy
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTEtMDEgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIgcmVsYXRlZCBmbGFncworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMDA3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm0uaDoKKyAgICAgICAgQWRkIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTLiAgSXQn
cyBhIHVuaW9uIG9mCisgICAgICAgIEVOQUJMRV9JTlBVVF9UWVBFX3tEQVRFLERBVEVUSU1FLERB
VEVUSU1FTE9DQUwsTU9OVEgsVElNRSxXRUVLfS4KKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0
aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9m
IGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOTQxMTkwMDZjZGFh
NzU5MjUwM2RlYjNmZmZkNDA5MTE0ZDJjYmE2Li42MDgyMWM5YjJlNmM3NjM3N2JlZmI4OTk2ZmI3
YzkyMGY1YmMzNzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODkgQEAKKzIwMTItMTEtMDEgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEludHJvZHVjZSBFTkFC
TEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUywgYW5kIGNsYXJpZnkgdXNhZ2Ugb2Ygb3RoZXIg
cmVsYXRlZCBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAxMDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9vc2VyIGFuZCBMb2NhbGU6OmZvcm1h
dERhdGVUaW1lIGFyZQorICAgICAgICBuZWNlc3NhcnkgaWYgb25lIG9mIGRhdGUvdGltZSBpbnB1
dCB0eXBlcyBpcyBlbmFibGVkIGFuZCBldmVuIGlmCisgICAgICAgIEVOQUJMRV9JTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkgaXMgZGlzYWJsZWQuIFNvIHRoZXkgc2hvdWxkIGJlIHdhcnBwZWQKKyAg
ICAgICAgd2l0aCBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykuCisKKyAgICAgICAg
VGhlIGZvbGxvd2luZyBjbGFzZXMgYXJlIHVzZWQgb25seSBmb3IgQ2hyb21lQ2xpZW50OjpvcGVu
RGF0ZVRpbWVDaG9vc2VyLgorICAgICAgICBUaGV5IHNob3VsZCBiZSB3cmFwcGVkIHdpdGggdGhl
IHNhbWUgZmxhZy4KKyAgICAgICAgICAtIGNsYXNzIERhdGVUaW1lQ2hvb3NlcgorICAgICAgICAg
IC0gY2xhc3MgRGF0ZVRpZW1DaG9vc2VyQ2xpZW50CisKKyAgICAgICAgVGhlIGZvbGxvd2luZyBj
bGFzc2VzL2Z1bmN0aW9ucyBhcmUgdXNlZCBmb3IKKyAgICAgICAgTG9jYWxlOjpmb3JtYXREYXRl
VGltZS4gVGhleSBzaG91bGQgYmUgd3JhcHBlZCB3aXRoIHRoZSBzYW1lIGZsYWcuCisgICAgICAg
ICAgLSBMb2NhbGU6OmRhdGVGb3JtYXQKKyAgICAgICAgICAtIExvY2FsZTo6bW9udGhGb3JtYXQK
KyAgICAgICAgICAtIExvY2FsZTo6dGltZUZvcm1hdAorICAgICAgICAgIC0gTG9jYWxlOjpzaG9y
dFRpbWVGb3JtYXQKKyAgICAgICAgICAtIExvY2FsZTo6bW9udGhMYWJlbHMKKyAgICAgICAgICAt
IExvY2FsZTo6c2hvcnRNb250aExhYmVscworICAgICAgICAgIC0gTG9jYWxlOjpzdGFuZEFsb25l
TW9udGhMYWJlbHMKKyAgICAgICAgICAtIExvY2FsZTo6c2hvcnRTdGFuZEFsb25lTW9udGhMYWJl
bHMKKyAgICAgICAgICAtIGNsYXNzIERhdGVUaW1lRm9ybWF0CisKKyAgICAgICAgQWxzbywgd2Ug
Y2hhbmdlIHRoZSBtZWFuaW5nIG9mIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIuIEl0IG1lYW50Cisg
ICAgICAgICAxKSA8aW5wdXQ+IHN1cHBvcnRzIGNhbGVuZGFyIHBpY2tlciBVSSwgYW5kCisgICAg
ICAgICAyKSBXZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXMvIGlzIHVzZWQgZm9yIHRoZSBjYWxl
bmRhciBVSSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgTm93IEVOQUJMRV9DQUxFTkRBUl9QSUNL
RVIgbWVhbnMgb25seSAyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG9mIG5vIGJl
aGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZS5oOiBUaGlzIGlzIG5lY2Vzc2FyeSBvbmx5IGlmIGRhdGUvdGltZQorICAgICAgICBpbnB1dCB0
eXBlcyBhcmUgZW5hYmxlZCBiZWNhdXNlIHRoaXMgaXMgYSBjb21tb24gc3VwZXIgY2xhc3Mgb2YK
KyAgICAgICAgZGF0ZS90aWVtIElucHV0VHlwZSBjbGFzc2VzLgorICAgICAgICAqIGh0bWwvQmFz
ZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDogRGl0dG8uCisKKyAgICAgICAgKiBwYWdlL0Nocm9t
ZUNsaWVudC5oOiBDaGFuZ2UgdGhlIGZsYWcgZm9yIG9wZW5EYXRlVGltQ2hvb3NlciwgYW5kIGFk
ZCBhIGNvbW1lbnQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6IEZvbGxvdyB0
aGUgb3BlbkRhdGVUaW1lQ2hvb3NlciBmbGFnIGNoYW5nZS4KKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5o
OgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBvbmx5IGlmIENocm9tZUNsaWVudDo6b3BlbkRhdGVU
aW1lQ2hvb3NlciBpcyBhdmFpbGFibGUuCisgICAgICAgICogcGxhdGZvcm0vRGF0ZVRpbWVDaG9v
c2VyQ2xpZW50Lmg6IERpdHRvLgorCisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5oOgorICAgICAgICB3ZWVrRm9ybWF0SW5MRE1MIGlzIG5lY2Vzc2FyeSBpZiBFTkFCTEUoSU5Q
VVRfVFlQRV9XRUVLKSByZWdhcmRsZXNzIG9mCisgICAgICAgIEVOQUJFTChJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5o
OgorICAgICAgICBDaGFuZ2UgdGhlIGNvbmRpdGlvbiBmb3IgTG9jYWxlOjpmb3JtYXREYXRlVGlt
ZSBhbmQgdGhlIGNvZGUgdXNlZCBieQorICAgICAgICBMb2NhbGU6OmZvcm1hdERhdGVUaW1lLgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAgICAgIFRoaXMgaXMgbmVjZXNzYXJ5
IGV2ZW4gaWYgIUVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpLCB0byBwcm9kdWNlCisg
ICAgICAgIGxvY2FsaXplZCByZXByZXNlbnRhdGlvbnMgb2YgZGF0ZS90aW1lIHZhbHVlcy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHA6CisgICAgICAgIENoYW5nZSB0aGUg
Y29uZGl0aW9uIGZvciB0aGUgY29kZSB1c2VkIGJ5IExvY2FsZTo6Zm9ybWF0RGF0ZVRpbWUuCisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaDogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4
dC9tYWMvTG9jYWxlTWFjLmg6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xv
Y2FsZU1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2lu
LmNwcDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmg6IERp
dHRvLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwOiBEaXR0by4K
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9ybWF0Lmg6IERpdHRvLgorCisgICAg
ICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAg
ICAgICBSZW1vdmUgc29tZSAjaWYtI2VuZGlmIGZvciBhIHBpY2tlciBpbmRpY2F0b3IgZWxlbWVu
dCBiZWNhdXNlCisgICAgICAgIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIgbWVhbmluZyBpcyBjaGFu
Z2VkLgorICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwOiBEaXR0by4KKworICAgICAgICAqIGh0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVs
ZW1lbnQuY3BwOiBDQUxFTkRBUl9QSUNLRVIgLT4KKyAgICAgICAgSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJIGJlY2F1c2UgRU5BQkxFX0NBTEVOREFSX1BJQ0tFUiBtZWFuaW5nIGlzIGNoYW5nZWQu
CisgICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oOiBEaXR0by4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5jcHA6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmg6IERpdHRvLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtU2tpYS5oOiBEaXR0by4KKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0
aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9m
IGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggNzFlM2Y1NTg0ZTBmNDZlYTYxNjM2NTM4ZTUzOWNhYjhiOTIyN2VjOS4uOTk3ZTlhMTdmOWE4
ZDE4MWYwNzgyOTVlOGViZWI2NTljMzVlNzA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMS0wMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVUX1RZ
UEVTLCBhbmQgY2xhcmlmeSB1c2FnZSBvZiBvdGhlciByZWxhdGVkIGZsYWdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDEwMDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1l
Q2hvb3Nlcik6CisgICAgICAgIEZvbGxvdyB0aGUgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVD
aG9vc2VyIGZsYWcgY2hhbmdlLgorICAgICAgICBBbHNvLCBhZGQgYW4gZW1wdHkgaW1wbGVtZW5h
dGF0aW9uIGZvciBBbmRyb2lkLgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6Cisg
ICAgICAgIEZvbGxvdyB0aGUgQ2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9vc2VyIGZsYWcg
Y2hhbmdlLgorICAgICAgICAqIHNyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcDogV3JhcHBlZCB3
aXRoCisgICAgICAgIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpLiBUaGlzIGNsYXNz
IGlzIG5vdCB1c2VkIGluIEFuZHJvaWQuCisgICAgICAgICogc3JjL0RhdGVUaW1lQ2hvb3Nlcklt
cGwuaDogRGl0dG8uCisgICAgICAgICogc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwOiBGb2xsb3cg
dGhlIExvY2FsaXplZFN0cmluZy5oIGNoYW5nZS4KKwogMjAxMi0xMS0wMSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZW1vcnkgaW5zdHJ1bWVudGF0
aW9uOiByZXBvcnQgbWVtb3J5IG9jY3VwaWVkIGJ5IFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkIG9m
IGl0cyBiYXNlIFJlc291cmNlUmVxdWVzdEJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDY4MDhmMjM3MjJl
MTQwMzVlMDM3M2RlNjg0ZDY0MTU5NjE1YWZmMjkuLmM4YWM4Njg4MzQ3NTFlNTViNjJhNDlkODVh
MDE1Y2FmNzI1MmUxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtODM0LDYgKzgzNCwxMCBAQAogI2Vycm9y
ICJFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDIHJlcXVpcmVzIEVOQUJMRV9TVUJQ
SVhFTF9MQVlPVVQiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX0RBVEUpIHx8IEVO
QUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSB8fCBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkgfHwgRU5BQkxFKElOUFVUX1RZUEVfVElN
RSkgfHwgRU5BQkxFKElOUFVUX1RZUEVfV0VFSykKKyNkZWZpbmUgRU5BQkxFX0RBVEVfQU5EX1RJ
TUVfSU5QVVRfVFlQRVMgMQorI2VuZGlmCisKICNkZWZpbmUgRU5BQkxFX0RFQlVHX1dJVEhfQlJF
QUtQT0lOVCAwCiAjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19DT1VOVEVSUyAwCiAjZGVmaW5lIEVO
QUJMRV9TQU1QTElOR19GTEFHUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jh
c2VEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggNmJlMzBlZTg0NTFlYWQ4MGE5YzkxY2M5MTQxOTk3
YzE3OWYyNjk0Zi4uMDBhMWZmYzM4MjZlMzUzYzM3YzRhYTlkOTg5NDgzZTBkNDMwNjFjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApA
QCAtMjksNiArMjksNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUo
REFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlICJCYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGUuaCIKIAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKQEAgLTE4MCwzICsxODEs
NCBAQCBTdHJpbmcgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlOjpzYW5pdGl6ZVZhbHVlKGNvbnN0
IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29ucwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1l
SW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZS5oCmluZGV4IDk2YjdiNWZlNmVjYjE1OWM1ODZiNmNjZWI4NTFhMGI5MjE2MGNjZjEuLmQyZmQ5
NDEzNGNlNmNhZWY5ZGRmOWRlY2ZkYmUxMjdjYWYyZGViNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtMzEsNiArMzEsNyBAQAogI2lm
bmRlZiBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGVfaAogI2RlZmluZSBCYXNlRGF0ZUFuZFRpbWVJ
bnB1dFR5cGVfaAogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5j
bHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJUZXh0RmllbGRJbnB1dFR5cGUuaCIK
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC02Nyw1ICs2OCw1IEBAIHByaXZh
dGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KKyNlbmRpZgogI2VuZGlmIC8vIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4
IDllMTAyYjE4NzU5YzIyMTBiZmRiMWExODIzZWMzNDRiMTFhZjY1MGQuLjNjYTVjOGYxMTZjYmQy
MzU0OGE4MjkyYWMxNjI4NGQ5ODRjOTAzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3Bw
CkBAIC0xNzIsMTkgKzE3MiwxNiBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICBtX3NwaW5CdXR0b25FbGVtZW50
ID0gc3BpbkJ1dHRvbi5nZXQoKTsKICAgICBjb250YWluZXItPmFwcGVuZENoaWxkKHNwaW5CdXR0
b24pOwogCi0jaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8IEVOQUJMRShDQUxFTkRBUl9Q
SUNLRVIpCiAgICAgYm9vbCBzaG91bGRBZGRQaWNrZXJJbmRpY2F0b3IgPSBmYWxzZTsKICNpZiBF
TkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBpZiAoSW5wdXRUeXBlOjp0aGVtZVN1cHBvcnRz
RGF0YUxpc3RVSSh0aGlzKSkKICAgICAgICAgc2hvdWxkQWRkUGlja2VySW5kaWNhdG9yID0gdHJ1
ZTsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgUmVmUHRyPFJlbmRl
clRoZW1lPiB0aGVtZSA9IGRvY3VtZW50LT5wYWdlKCkgPyBkb2N1bWVudC0+cGFnZSgpLT50aGVt
ZSgpIDogUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpOwogICAgIGlmICh0aGVtZS0+c3VwcG9y
dHNDYWxlbmRhclBpY2tlcihmb3JtQ29udHJvbFR5cGUoKSkpIHsKICAgICAgICAgc2hvdWxkQWRk
UGlja2VySW5kaWNhdG9yID0gdHJ1ZTsKICAgICAgICAgbV9waWNrZXJJbmRpY2F0b3JJc0Fsd2F5
c1Zpc2libGUgPSB0cnVlOwogICAgIH0KLSNlbmRpZgogICAgIGlmIChzaG91bGRBZGRQaWNrZXJJ
bmRpY2F0b3IpIHsKICAgICAgICAgUmVmUHRyPFBpY2tlckluZGljYXRvckVsZW1lbnQ+IHBpY2tl
ckVsZW1lbnQgPSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogICAg
ICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQgPSBwaWNrZXJFbGVtZW50LmdldCgpOwpAQCAt
MTkyLDcgKzE4OSw2IEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgICAgICBtX3BpY2tlckluZGljYXRvcklzVmlz
aWJsZSA9IHRydWU7CiAgICAgICAgIHVwZGF0ZVBpY2tlckluZGljYXRvclZpc2liaWxpdHkoKTsK
ICAgICB9Ci0jZW5kaWYgLy8gRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8IEVOQUJMRShDQUxF
TkRBUl9QSUNLRVIpCiB9CiAKIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKQEAgLTM0NSwxNSArMzQxLDEyIEBAIHZvaWQg
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6Omxpc3RBdHRyaWJ1dGVUYXJn
ZXRDaGFuZ2VkKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpIHx8
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjp1cGRhdGVQaWNrZXJJbmRpY2F0b3JWaXNpYmlsaXR5KCkKIHsKLSNpZiBF
TkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIGlmIChtX3BpY2tlckluZGljYXRvcklzQWx3YXlz
VmlzaWJsZSkgewogICAgICAgICBzaG93UGlja2VySW5kaWNhdG9yKCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBpZiAo
SFRNTERhdGFMaXN0RWxlbWVudCogZGF0YUxpc3QgPSBlbGVtZW50KCktPmRhdGFMaXN0KCkpIHsK
ICAgICAgICAgUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBvcHRpb25zID0gZGF0YUxpc3QtPm9wdGlv
bnMoKTsKQEAgLTM4NSw3ICszNzgsNiBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlOjpzaG93UGlja2VySW5kaWNhdG9yKCkKICAgICBBU1NFUlQobV9waWNrZXJJ
bmRpY2F0b3JFbGVtZW50KTsKICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQtPnJlbW92ZUlu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5KTsKIH0KLSNlbmRpZiAvLyBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkgfHwgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIAogaW50IEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpmdWxsWWVhcihjb25zdCBTdHJp
bmcmIHNvdXJjZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRleCBlNDJiM2Iy
ODczOGMxZWE0YTU5ZGY5NTAzY2ViODcxMTMzZmYzODU2Li45Yzc1YmIyYzUyZWVhNjA3NDgyY2Yx
NDdkNjM3ZWQzNmUzNWE2NWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC05NSwxMyAr
OTUsOSBAQCBwcml2YXRlOgogCiAgICAgRGF0ZVRpbWVFZGl0RWxlbWVudCogbV9kYXRlVGltZUVk
aXRFbGVtZW50OwogICAgIFNwaW5CdXR0b25FbGVtZW50KiBtX3NwaW5CdXR0b25FbGVtZW50Owot
I2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKSB8fCBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQog
ICAgIFBpY2tlckluZGljYXRvckVsZW1lbnQqIG1fcGlja2VySW5kaWNhdG9yRWxlbWVudDsKICAg
ICBib29sIG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlOwotI2lmIEVOQUJMRShDQUxFTkRBUl9Q
SUNLRVIpCiAgICAgYm9vbCBtX3BpY2tlckluZGljYXRvcklzQWx3YXlzVmlzaWJsZTsKLSNlbmRp
ZgotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCmluZGV4IDRm
NGE4MjIxM2Q5NTRmYTdiNGU1ZDIwOTI1YzQ2MTAxMDk1MGRjMmQuLmYwODQ5OGYwOGE0ZjkwM2Iw
MmM5MmYyMjNhMzY1MWM1ZDU4MzllYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwCkBAIC0yOSwxMCArMjksOSBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklF
TERTX1VJKQogI2luY2x1ZGUgIlBpY2tlckluZGljYXRvckVsZW1lbnQuaCIKIAotI2lmIEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpCi0KICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJv
bWVDbGllbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCmluZGV4IDI5NTkxOGE3MWRjOGRi
ODBlMGY2Y2MwNDFjYjliM2ZlN2JhM2YwYjkuLmNiNzU1NjcxNzQ5YmY5YzIwMDM4N2YwMWIyM2Q0
OTg2N2E0YjNmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tl
ckluZGljYXRvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNr
ZXJJbmRpY2F0b3JFbGVtZW50LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZm5kZWYgUGlja2VySW5k
aWNhdG9yRWxlbWVudF9oCiAjZGVmaW5lIFBpY2tlckluZGljYXRvckVsZW1lbnRfaAogCi0jaWYg
RU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQorI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVD
aG9vc2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggZDYwYmQzMDFjZTVmN2E3MTFmZWY1MzEwMTky
NWQzYjIyMWEyMmI0OC4uMzdmNmIzNzkxNWY1MDg5MGU0YTdjZDJmNTFjYzhmYzlhMDRlMWY3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTEwNCw3ICsxMDQsNyBA
QCBQYXNzT3duUHRyPENvbG9yQ2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZUNvbG9y
Q2hvb3NlcihDb2xvckNob29zZXJDbGllbgogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5E
QVJfUElDS0VSKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogUGFzc1Jl
ZlB0cjxEYXRlVGltZUNob29zZXI+IEVtcHR5Q2hyb21lQ2xpZW50OjpvcGVuRGF0ZVRpbWVDaG9v
c2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hvb3NlclBhcmFtZXRl
cnMmKQogewogICAgIHJldHVybiBQYXNzUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA3M2M5ODE5MzQxNTc2NzAyNGZiNDYwMDI1
OWFlNWVlOTNhOWFlYzQwLi4yODI4YTY5MGUwODA2ODNhMTBiZGY2ZmNhMTY0MmUwOGU0ZTkxNjUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNzMsNyArMTczLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+IGNyZWF0ZUNvbG9y
Q2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpIE9WRVJSSURFOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShEQVRFX0FORF9U
SU1FX0lOUFVUX1RZUEVTKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+
IG9wZW5EYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50KiwgY29uc3QgRGF0ZVRp
bWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCmluZGV4IDA3NzI0MTI5NTVkNjY5NzU5MWM3MDE0MDYzZGMzMzA4OGM3YWUx
ZDUuLjE0MjI1ZTRkNDJiZWI2Yzc2OGNjMDEyZGViOGQ0ZWQzZWE4NzMxZjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI2LDcgKzIyNiwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgUGFzc093blB0cjxDb2xvckNob29zZXI+IGNyZWF0ZUNvbG9y
Q2hvb3NlcihDb2xvckNob29zZXJDbGllbnQqLCBjb25zdCBDb2xvciYpID0gMDsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUykKKyAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvcjoKKyAgICAg
ICAgLy8gIC0gTWFuZGF0b3J5IGRhdGUvdGltZSBjaG9vc2VycyBpZiAhRU5BQkxFKElOUFVUX01V
TFRJUExFX0ZJRUxEU19VSSkKKyAgICAgICAgLy8gIC0gRGF0ZS90aW1lIGNob29zZXJzIGZvciB0
eXBlcyBmb3Igd2hpY2ggUmVuZGVyVGhlbWU6OnN1cHBvcnRzQ2FsZW5kYXJQaWNrZXIKKyAgICAg
ICAgLy8gICAgcmV0dXJucyB0cnVlLCBpZiBFTkFCRUwoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJ
KQorICAgICAgICAvLyAgLSA8ZGF0YWxpc3Q+IFVJIGZvciBkYXRlL3RpbWUgaW5wdXQgdHlwZXMg
cmVnYXJkbGVzcyBvZgorICAgICAgICAvLyAgICBFTkFCRUwoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RGF0ZVRpbWVDaG9vc2VyPiBvcGVuRGF0
ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCosIGNvbnN0IERhdGVUaW1lQ2hvb3Nl
clBhcmFtZXRlcnMmKSA9IDA7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRl
VGltZUNob29zZXIuaAppbmRleCA3YTNhNWU5ODE1MzRhZGQ2YzQ5OGE2NjJjNzE1OTg1OTYzZWIz
ZGM4Li40MDVkZmRkOTdjZjQ5MGYxZjZiMDY4YTc1NDU5ZWMwMGQwZGQ0OTU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2lm
bmRlZiBEYXRlVGltZUNob29zZXJfaAogI2RlZmluZSBEYXRlVGltZUNob29zZXJfaAogCisjaWYg
RU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC02MSw1ICs2Miw1IEBAIHB1YmxpYzoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQorI2VuZGlmCiAjZW5kaWYgLy8gRGF0ZVRpbWVDaG9vc2VyX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3NlckNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyQ2xpZW50LmgKaW5kZXggMTg1M2VhN2EwMzI0
MzI1YWZjZTY0MjYxYmVjNzY2MGYxYTFkMzAxNC4uMjMwZDA0NTQ0MzIxNjBlZjIxZjk2OWNiYTk1
NDQxN2E2ZThmMmJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRp
bWVDaG9vc2VyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVD
aG9vc2VyQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgRGF0ZVRpbWVDaG9vc2Vy
Q2xpZW50X2gKICNkZWZpbmUgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50X2gKIAorI2lmIEVOQUJMRShE
QVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBE
YXRlVGltZUNob29zZXJDbGllbnQgewpAQCAtNDQsNSArNDUsNSBAQCBwdWJsaWM6CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KKyNlbmRpZgogI2VuZGlmIC8vIERhdGVUaW1lQ2hvb3Nl
ckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKaW5k
ZXggYjRiYTIxOTdjMmRkNDY0MDQ1MmUxYWYxNTY2MDRhNTI2YzVmYmU2Zi4uZmNiYTE1NjljY2Jh
YjgxY2Q3Zjg2N2ViZGY4YmViMTZhYTcwMWM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaApAQCAtMTkxLDEwICsxOTEsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIC8vICJ5eXl5IiwgZm9yIHllYXIgZmllbGQgdXNlZCBpbiBtdWx0aXBsZSBmaWVs
ZHMgImRhdGUiLCAiZGF0ZXRpbWUiLCBhbmQKICAgICAvLyAiZGF0ZXRpbWUtbG9jYWwiIGlucHV0
IFVJIGluc3RlYWQgIi0tLS0iLgogICAgIFN0cmluZyBwbGFjZWhvbGRlckZvclllYXJGaWVsZCgp
OwotCisjZW5kaWYKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQogICAgIC8vIHdlZWtGb3Jt
YXRJbkxETUwoKSByZXR1cm5zIHdlZWsgYW5kIHllYXIgZm9ybWF0IGluIExETUwsIFVuaWNvZGUK
LSAgICAvLyB0ZWNobmljYWwgc3RhbmRhcmQgMzUsIExvY2FsZSBEYXRhIE1hcmt1cCBMYW5ndWFn
ZSwgZS5nLiAiV1cteXl5eXkiCi0gICAgLy8gZm9yICJ3ZWVrIiBpbnB1dCB0eXBlLgorICAgIC8v
IHRlY2huaWNhbCBzdGFuZGFyZCAzNSwgTG9jYWxlIERhdGEgTWFya3VwIExhbmd1YWdlLCBlLmcu
ICInV2Vlaycgd3csIHl5eXkiCiAgICAgU3RyaW5nIHdlZWtGb3JtYXRJbkxETUwoKTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9y
bWF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3Bw
CmluZGV4IDZlNWZlNjg4MzEyOTk0YmMzMjgwNzdhZDBiNWExNjQ0MDhjZmU2NDAuLmZlZWNhYjQ3
MjdlOWMyYTc3ZjhkYjQyMWFjNThkMmExZWRiMmY4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvRGF0ZVRpbWVGb3JtYXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVGb3JtYXQuaCIKIAotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5Q
VVRfVFlQRVMpCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvRGF0ZVRpbWVGb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvRGF0
ZVRpbWVGb3JtYXQuaAppbmRleCBjOTk2ZTc2ZjgwZDUyNWY0OWFmOTNhMTE4OWVlYzg5ZWU3ZWRh
NTJiLi5hYTQzZDJjY2E2YTA1ODcyNTU5MzAwZmMyZDcyZTU2MjZiNzYzNTczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0RhdGVUaW1lRm9ybWF0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9EYXRlVGltZUZvcm1hdC5oCkBAIC0yNiw3ICsyNiw3
IEBACiAjaWZuZGVmIERhdGVUaW1lRm9ybWF0X2gKICNkZWZpbmUgRGF0ZVRpbWVGb3JtYXRfaAog
Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9B
TkRfVElNRV9JTlBVVF9UWVBFUykKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAK
aW5kZXggODMzMzY5MzkzM2VkNDU5M2VlYmYxYjc1OWZmODU2MWM1MjlmNjUyMi4uMjQ3MDVmMDQ0
ODIzNDgyN2Q4OGFiNzUzYjFhYjg2ZGIzMjQ3ZDNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmNwcApAQCAtNTgsNyArNTgsNyBAQCBMb2NhbGVJQ1U6OkxvY2Fs
ZUlDVShjb25zdCBjaGFyKiBsb2NhbGUpCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAg
ICAsIG1fZmlyc3REYXlPZldlZWsoMCkKICNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBM
RV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAg
LCBtX21lZGl1bVRpbWVGb3JtYXQoMCkKICAgICAsIG1fc2hvcnRUaW1lRm9ybWF0KDApCiAgICAg
LCBtX2RpZENyZWF0ZVRpbWVGb3JtYXQoZmFsc2UpCkBAIC03MCw3ICs3MCw3IEBAIExvY2FsZUlD
VTo6fkxvY2FsZUlDVSgpCiB7CiAgICAgdW51bV9jbG9zZShtX251bWJlckZvcm1hdCk7CiAgICAg
dWRhdF9jbG9zZShtX3Nob3J0RGF0ZUZvcm1hdCk7Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExF
X0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB1
ZGF0X2Nsb3NlKG1fbWVkaXVtVGltZUZvcm1hdCk7CiAgICAgdWRhdF9jbG9zZShtX3Nob3J0VGlt
ZUZvcm1hdCk7CiAjZW5kaWYKQEAgLTE1NSw3ICsxNTUsNyBAQCBVRGF0ZUZvcm1hdCogTG9jYWxl
SUNVOjpvcGVuRGF0ZUZvcm1hdChVRGF0ZUZvcm1hdFN0eWxlIHRpbWVTdHlsZSwgVURhdGVGb3Jt
YXRTdAogICAgIHJldHVybiB1ZGF0X29wZW4odGltZVN0eWxlLCBkYXRlU3R5bGUsIG1fbG9jYWxl
LmRhdGEoKSwgZ210VGltZXpvbmUsIFdURl9BUlJBWV9MRU5HVEgoZ210VGltZXpvbmUpLCAwLCAt
MSwgJnN0YXR1cyk7CiB9CiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTKQogc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihjb25zdCBVRGF0ZUZv
cm1hdCogZGF0ZUZvcm1hdCkKIHsKICAgICBpZiAoIWRhdGVGb3JtYXQpCkBAIC0xNzIsOSArMTcy
LDcgQEAgc3RhdGljIFN0cmluZyBnZXREYXRlRm9ybWF0UGF0dGVybihjb25zdCBVRGF0ZUZvcm1h
dCogZGF0ZUZvcm1hdCkKICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgcmV0dXJu
IFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKIH0KLSNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFS
X1BJQ0tFUikKIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBMb2NhbGVJQ1U6OmNyZWF0ZUxh
YmVsVmVjdG9yKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRlRm9ybWF0LCBVRGF0ZUZvcm1hdFN5bWJv
bFR5cGUgdHlwZSwgaW50MzJfdCBzdGFydEluZGV4LCBpbnQzMl90IHNpemUpCiB7CiAgICAgaWYg
KCFkYXRlRm9ybWF0KQpAQCAtMTk4LDcgKzE5Niw5IEBAIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiBMb2NhbGVJQ1U6OmNyZWF0ZUxhYmVsVmVjdG9yKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRl
CiAgICAgfQogICAgIHJldHVybiBsYWJlbHMucmVsZWFzZSgpOwogfQorI2VuZGlmCiAKKyNpZiBF
TkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogc3RhdGljIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4g
PiBjcmVhdGVGYWxsYmFja1dlZWtEYXlTaG9ydExhYmVscygpCiB7CiAgICAgT3duUHRyPFZlY3Rv
cjxTdHJpbmc+ID4gbGFiZWxzID0gYWRvcHRQdHIobmV3IFZlY3RvcjxTdHJpbmc+KCkpOwpAQCAt
MjMxLDcgKzIzMSw3IEBAIHZvaWQgTG9jYWxlSUNVOjppbml0aWFsaXplQ2FsZW5kYXIoKQogfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQog
c3RhdGljIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBjcmVhdGVGYWxsYmFja01vbnRoTGFi
ZWxzKCkKIHsKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihu
ZXcgVmVjdG9yPFN0cmluZz4oKSk7CkBAIC0yNzUsNyArMjc1LDcgQEAgYm9vbCBMb2NhbGVJQ1U6
OmlzUlRMKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19V
SSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBQYXNzT3du
UHRyPFZlY3RvcjxTdHJpbmc+ID4gY3JlYXRlRmFsbGJhY2tBTVBNTGFiZWxzKCkKIHsKICAgICBP
d25QdHI8VmVjdG9yPFN0cmluZz4gPiBsYWJlbHMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPFN0cmlu
Zz4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlD
VS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAppbmRleCBkMmFh
MTI2MTJjY2MyZmExMGVkYTM5MDdkMGMzNzMwNGY1YjBjNWI3Li45YThkNGJkMWQ3YzQwM2FlYzNk
ODI1ZjYxMjRkYzViYzEwMTcxN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0xvY2FsZUlDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9j
YWxlSUNVLmgKQEAgLTU0LDE0ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB1bnNpZ25l
ZCBmaXJzdERheU9mV2VlaygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9W
RVJSSURFOwogI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBtb250aExhYmVscygpIE9WRVJSSURFOwotI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAg
ICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJp
bmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxz
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9u
ZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTg0LDExICs4Miw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplQ2FsZW5kYXIoKTsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICBQYXNzT3du
UHRyPFZlY3RvcjxTdHJpbmc+ID4gY3JlYXRlTGFiZWxWZWN0b3IoY29uc3QgVURhdGVGb3JtYXQq
LCBVRGF0ZUZvcm1hdFN5bWJvbFR5cGUsIGludDMyX3Qgc3RhcnRJbmRleCwgaW50MzJfdCBzaXpl
KTsKLSNlbmRpZgotCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2
b2lkIGluaXRpYWxpemVEYXRlVGltZUZvcm1hdCgpOwogI2VuZGlmCiAKQEAgLTEwMiwxMCArOTcs
OCBAQCBwcml2YXRlOgogICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IG1fd2Vla0RheVNob3J0
TGFiZWxzOwogICAgIHVuc2lnbmVkIG1fZmlyc3REYXlPZldlZWs7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQor
I2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogICAgIE93blB0cjxWZWN0b3I8
U3RyaW5nPiA+IG1fbW9udGhMYWJlbHM7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQ
TEVfRklFTERTX1VJKQogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9u
dGhGb3JtYXQ7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKaW5kZXggMmIwYjExNWEwNGZhZWVl
MWZhZTk1YTU5YThhODA0ZTcyNGUwYjU0Ni4uOWRjNWMwMGE1YTFiYmUzMGFjZmFlYjI4ZTc4ZDZj
MjkwNmU3YzNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUu
Y3BwCkBAIC0zOSwxNCArMzksMTIgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElD
S0VSKQogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwogI2VuZGlmCi0jaWYgRU5B
QkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
LSAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBtb250aExhYmVscygpIE9WRVJSSURF
OwotI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFC
TEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9y
bWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhM
YWJlbHMoKSBPVkVSUklERTsKQEAgLTU0LDggKzUyLDYgQEAgcHJpdmF0ZToKIAogICAgIFZlY3Rv
cjxTdHJpbmc+IG1fdGltZUFNUE1MYWJlbHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1v
bnRoTGFiZWxzOwotI2VuZGlmCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxF
KElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBWZWN0b3I8U3RyaW5nPiBtX21vbnRoTGFi
ZWxzOwogI2VuZGlmCiB9OwpAQCAtODAsNyArNzYsNyBAQCBib29sIExvY2FsZU5vbmU6OmlzUlRM
KCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9U
WVBFUykKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjptb250aExhYmVscygpCiB7
CiAgICAgaWYgKCFtX21vbnRoTGFiZWxzLmlzRW1wdHkoKSkKQEAgLTkwLDkgKzg2LDcgQEAgY29u
c3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZU5vbmU6Om1vbnRoTGFiZWxzKCkKICAgICAgICAgbV9t
b250aExhYmVscy5hcHBlbmQoV1RGOjptb250aEZ1bGxOYW1lW2ldKTsKICAgICByZXR1cm4gbV9t
b250aExhYmVsczsKIH0KLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKIFN0cmluZyBMb2NhbGVOb25lOjpkYXRlRm9ybWF0KCkKIHsKICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJkZC9NTS95eXl5eSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcAppbmRleCBiZGY2NDViNzJkYjlhNmVlNzdhZDJjOTRhMGIy
ZDVhODkyNGM5NjRhLi5lYWZkZmRkY2Q5MDkzN2RmMjhkYjEwYzQxM2QxYWNiZWM4MGJhNDQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcApA
QCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZ
UEVTKQogCiBjbGFzcyBEYXRlVGltZVN0cmluZ0J1aWxkZXIgOiBwcml2YXRlIERhdGVUaW1lRm9y
bWF0OjpUb2tlbkhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lU3Ry
aW5nQnVpbGRlcik7CkBAIC0zMTQsNyArMzE0LDkgQEAgU3RyaW5nIExvY2FsZTo6bG9jYWxpemVk
RGVjaW1hbFNlcGFyYXRvcigpCiAgICAgaW5pdGlhbGl6ZUxvY2FsZURhdGEoKTsKICAgICByZXR1
cm4gbV9kZWNpbWFsU3ltYm9sc1tEZWNpbWFsU2VwYXJhdG9ySW5kZXhdOwogfQorI2VuZGlmCiAK
KyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIFN0cmluZyBMb2NhbGU6OmRh
dGVUaW1lRm9ybWF0V2l0aFNlY29uZHMoKQogewogICAgIGlmICghbV9kYXRlVGltZUZvcm1hdFdp
dGhTZWNvbmRzLmlzTnVsbCgpKQpAQCAtMzQwLDI0ICszNDIsMjAgQEAgU3RyaW5nIExvY2FsZTo6
ZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kcygpCiAgICAgbV9kYXRlVGltZUZvcm1hdFdpdGhv
dXRTZWNvbmRzID0gYnVpbGRlci50b1N0cmluZygpOwogICAgIHJldHVybiBtX2RhdGVUaW1lRm9y
bWF0V2l0aG91dFNlY29uZHM7CiB9Ci0jZW5kaWYKIAogU3RyaW5nIExvY2FsZTo6Zm9ybWF0RGF0
ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkK
IHsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIGlmIChkYXRlLnR5
cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6VGltZSAmJiBkYXRlLnR5cGUoKSAhPSBEYXRlQ29tcG9u
ZW50czo6RGF0ZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIC8vIEZJWE1FOiBTdXBw
b3J0cyBhbGwgdHlwZXMuCisKICAgICBEYXRlVGltZVN0cmluZ0J1aWxkZXIgYnVpbGRlcigqdGhp
cywgZGF0ZSk7CiAgICAgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQog
ICAgICAgICBidWlsZGVyLmJ1aWxkKGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hv
cnRUaW1lRm9ybWF0KCkgOiB0aW1lRm9ybWF0KCkpOwogICAgIGVsc2UgaWYgKGRhdGUudHlwZSgp
ID09IERhdGVDb21wb25lbnRzOjpEYXRlKQogICAgICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3Jt
YXQoKSk7CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKLSNlbHNlCi0gICAgVU5VU0VE
X1BBUkFNKGRhdGUpOwotICAgIFVOVVNFRF9QQVJBTShmb3JtYXRUeXBlKTsKLSAgICByZXR1cm4g
U3RyaW5nKCk7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgKaW5kZXggZTMzZTBiZmQzMmQ1MWM3NWZjN2Y0NWZj
NzlmZmRhYmIwNmIyOGI5MS4uMzU4NTEyNDgyYzk0OTRkMGU3ZjA5NjEyN2EyMDM3NTBmN2QwNzhj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2Fs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaApA
QCAtNTYsNyArNTYsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKICAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBkZWNpbWFsIHNlcGFyYXRvciwgZS5nLiAi
LiIgZm9yIEVuZ2xpc2gsICIsIiBmb3IgRnJlbmNoLgogICAgIFN0cmluZyBsb2NhbGl6ZWREZWNp
bWFsU2VwYXJhdG9yKCk7CisjZW5kaWYKIAorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTKQogICAgIC8vIFJldHVybnMgZGF0ZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxb
MV0gY29udGFpbmluZyBkYXkgb2YgbW9udGgsCiAgICAgLy8gbW9udGgsIGFuZCB5ZWFyLCBlLmcu
ICJkZC9tbS95eXl5IgogICAgIC8vIFsxXSBMRE1MIGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRz
L3RyMzUvI0RhdGVfRm9ybWF0X1BhdHRlcm5zCkBAIC05OSw5ICsxMDEsNyBAQCBwdWJsaWM6CiAK
ICAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBwZXJpb2QgZmllbGQoQU0vUE0pIHN0cmluZ3MuCiAg
ICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSA9IDA7Ci0j
ZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkpCiAgICAgLy8gUmV0dXJucyBhIHZlY3RvciBvZiBzdHJpbmcgb2Ygd2hp
Y2ggc2l6ZSBpcyAxMi4gVGhlIGZpcnN0IGl0ZW0gaXMgYQogICAgIC8vIGxvY2FsaXplZCBzdHJp
bmcgb2YgSmFudWFyeSwgYW5kIHRoZSBsYXN0IGl0ZW0gaXMgYSBsb2NhbGl6ZWQgc3RyaW5nIG9m
CiAgICAgLy8gRGVjZW1iZXIuIFRoZXNlIHN0cmluZ3Mgc2hvdWxkIG5vdCBiZSBhYmJyZXZpYXRp
b25zLgpAQCAtMTIyLDEyICsxMjIsMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1JU
TCgpID0gMDsKICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMp
CiAgICAgZW51bSBGb3JtYXRUeXBlIHsgRm9ybWF0VHlwZVVuc3BlY2lmaWVkLCBGb3JtYXRUeXBl
U2hvcnQsIEZvcm1hdFR5cGVNZWRpdW0gfTsKIAogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNp
ZmllZCBkYXRlIGludG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAvLyBkaXNwbGF5
IHRvIHRoZSB1c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQKICAgICAv
LyBsb2NhbGl6ZWQgZGF0ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgc3Ry
aW5nLgogICAgIFN0cmluZyBmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYsIEZv
cm1hdFR5cGUgPSBGb3JtYXRUeXBlVW5zcGVjaWZpZWQpOworI2VuZGlmCiAKICAgICB2aXJ0dWFs
IH5Mb2NhbGUoKTsKIApAQCAtMTM5LDcgKzE0MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRGVj
aW1hbFN5bWJvbHNTaXplCiAgICAgfTsKIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgU3RyaW5n
IG1fZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25kczsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1h
dFdpdGhvdXRTZWNvbmRzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
bWFjL0xvY2FsZU1hYy5oCmluZGV4IDg3NmQ4ZTNiMGI2ZjY1ZTVkN2VhMThlMmM1YzRhYTQwNjdk
NDY3ZGEuLmUzNjM3OTlkY2IzODM2Y2QzMmE0MzYyNmU0MDIwZDMyZDZlM2JhODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCkBAIC01NiwxNSArNTYs
MTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3REYXlPZldlZWsoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsKICNlbmRpZgotI2lmIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
Ci0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklE
RTsKLSNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRl
Rm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgbW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9u
dGhMYWJlbHMoKSBPVkVSUklERTsKQEAgLTgxLDEwICs3OSw4IEBAIHByaXZhdGU6CiAjaWYgRU5B
QkxFKENBTEVOREFSX1BJQ0tFUikKICAgICBWZWN0b3I8U3RyaW5nPiBtX3dlZWtEYXlTaG9ydExh
YmVsczsKICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBV
VF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQ
RVMpCiAgICAgVmVjdG9yPFN0cmluZz4gbV9tb250aExhYmVsczsKLSNlbmRpZgotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgUmV0YWluUHRyPE5TRGF0ZUZvcm1hdHRl
cj4gdGltZUZvcm1hdHRlcigpOwogICAgIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IHNob3J0
VGltZUZvcm1hdHRlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L21hYy9Mb2NhbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9M
b2NhbGVNYWMubW0KaW5kZXggNDVhMjk0OTdkZmVjMGE0YWE3YWFhYWU1MWNhZTNlMzhiMWIwZDY4
NS4uOGY5OWRkMjE5NjdkZjE1M2ZhYjEzZjY3YTE2ZTVjNTdiYjJlOGZiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtMTE0LDcgKzExNCw3
IEBAIFJldGFpblB0cjxOU0RhdGVGb3JtYXR0ZXI+IExvY2FsZU1hYzo6c2hvcnREYXRlRm9ybWF0
dGVyKCkKICAgICByZXR1cm4gY3JlYXRlRGF0ZVRpbWVGb3JtYXR0ZXIobV9sb2NhbGUuZ2V0KCks
IG1fZ3JlZ29yaWFuQ2FsZW5kYXIuZ2V0KCksIE5TRGF0ZUZvcm1hdHRlclNob3J0U3R5bGUsIE5T
RGF0ZUZvcm1hdHRlck5vU3R5bGUpOwogfQogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikg
fHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKKyNpZiBFTkFCTEUoREFURV9BTkRf
VElNRV9JTlBVVF9UWVBFUykKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVNYWM6Om1vbnRo
TGFiZWxzKCkKIHsKICAgICBpZiAoIW1fbW9udGhMYWJlbHMuaXNFbXB0eSgpKQpAQCAtMTY1LDcg
KzE2NSw3IEBAIGJvb2wgTG9jYWxlTWFjOjppc1JUTCgpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJM
RShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5Q
VVRfVFlQRVMpCiBSZXRhaW5QdHI8TlNEYXRlRm9ybWF0dGVyPiBMb2NhbGVNYWM6OnRpbWVGb3Jt
YXR0ZXIoKQogewogICAgIHJldHVybiBjcmVhdGVEYXRlVGltZUZvcm1hdHRlcihtX2xvY2FsZS5n
ZXQoKSwgbV9ncmVnb3JpYW5DYWxlbmRhci5nZXQoKSwgTlNEYXRlRm9ybWF0dGVyTm9TdHlsZSwg
TlNEYXRlRm9ybWF0dGVyTWVkaXVtU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvd2luL0xvY2FsZVdpbi5jcHAKaW5kZXggOTYzMzc2ZTEzY2FlOThkMDU0OWIwODUxMmJm
MTQ5MDRjNDA3NDA0Zi4uZjc4YjM4MzVjMjBiMWI2MDZkNTc2MzMzNjBlMjQzYWZjYzg3ZTI5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCkBA
IC0zMiw5ICszMiw3IEBACiAjaW5jbHVkZSAiTG9jYWxlV2luLmgiCiAKICNpbmNsdWRlICJEYXRl
Q29tcG9uZW50cy5oIgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5j
bHVkZSAiRGF0ZVRpbWVGb3JtYXQuaCIKLSNlbmRpZgogI2luY2x1ZGUgIkxhbmd1YWdlLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KQEAgLTM1NCw3
ICszNTIsNyBAQCB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlV2Vla0RheVNob3J0TGFiZWxzKCkKICAg
ICB9CiB9CiAKLSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQog
Y29uc3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZVdpbjo6bW9udGhMYWJlbHMoKQogewogICAgIGVu
c3VyZU1vbnRoTGFiZWxzKCk7CkBAIC0zODEsNyArMzc5LDcgQEAgYm9vbCBMb2NhbGVXaW46Omlz
UlRMKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkK
KyNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIHN0YXRpYyBTdHJpbmcgY29u
dmVydFdpbmRvd3NEYXRlRm9ybWF0VG9MRE1MKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9rZW4+
JiB0b2tlbnMpCiB7CiAgICAgU3RyaW5nQnVpbGRlciBidWZmZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCmluZGV4IGYzM2Y5OTc1ZmVhZmI4MTE5ZTI0
OTJjMDVkOTgyZGMzNmQ5YmJiMTQuLjA4MTEyZmYwM2MyYjlkYTAxYmFkZjIyZDllMzRmZmE2ODA3
MGJkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2Fs
ZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5o
CkBAIC01MSwyMSArNTEsMTcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdW5zaWduZWQgZmlyc3RE
YXlPZldlZWsoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSVEwoKSBPVkVSUklERTsK
ICNlbmRpZgotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxU
SVBMRV9GSUVMRFNfVUkpCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbW9udGhM
YWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVM
RFNfVUkpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgdmlydHVh
bCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIG1vbnRo
Rm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURFOworICAg
IHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRNb250aExhYmVscygpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0YW5kQWxvbmVNb250aExh
YmVscygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNob3J0
U3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0
b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSBPVkVSUklERTsKLSNlbmRpZgogCi0jaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBzdGF0aWMgU3RyaW5nIGRhdGVGb3Jt
YXQoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIApAQCAtODQsOSArODAsOSBAQCBwcml2YXRlOgog
CiAgICAgTENJRCBtX2xjaWQ7CiAgICAgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4gbV9zaG9ydERh
dGVUb2tlbnM7CisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAgVmVj
dG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fbW9u
dGhMYWJlbHM7Ci0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBTdHJp
bmcgbV9kYXRlRm9ybWF0OwogICAgIFN0cmluZyBtX21vbnRoRm9ybWF0OwogICAgIFN0cmluZyBt
X3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJEZXRhaWxzTWFya2VyLmNwcAppbmRleCAwMWIyMzQ4NzYzNzk0Yjc3NDc0YTUzOTk3ZTE5
Y2Y0YmVhZjM1NjlkLi4zNDVjMTM4OWVlMzVjZTM4ZDI5ZDJlNmU1NzEzNDViM2U3NGVjYWZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRldGFpbHNNYXJrZXIuY3Bw
CkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVuZGVy
RGV0YWlsc01hcmtlci5oIgogCi0jaWYgRU5BQkxFKERFVEFJTFNfRUxFTUVOVCkgfHwgRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoREVUQUlMU19FTEVNRU5UKSB8fCBFTkFCTEUo
SU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXRhaWxzTWFya2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGV0YWlsc01hcmtlci5oCmluZGV4IGFjOTNiZTg2OGI0
MTYwMjliMmY2NzExNzExY2Q4MGZiMjFlNDE3NGMuLmY2MGIzY2I0ODliZmFhY2E4OTU3ZDljY2E4
MjUwZmVlZTMzMDc2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJEZXRhaWxzTWFya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRl
dGFpbHNNYXJrZXIuaApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBSZW5kZXJEZXRhaWxzTWFy
a2VyX2gKICNkZWZpbmUgUmVuZGVyRGV0YWlsc01hcmtlcl9oCiAKLSNpZiBFTkFCTEUoREVUQUlM
U19FTEVNRU5UKSB8fCBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShERVRBSUxT
X0VMRU1FTlQpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAi
UmVuZGVyQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaAppbmRleCBiNTY4OTUzY2I2Mjk2YWFkMjFkZTYzZDM2ZjFhN2RiMmVj
NGRkZDhjLi5iMTQ3NDkzMTg5YzhhNmU2YmZiODUyMjRhYmFkNWM2NzdiNTg3YzIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTM4LDcgKzEzOCw3IEBAIHB1Ymxp
YzoKICAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8gc2hv
dyBkYXRhbGlzdCBzdWdnZXN0aW9ucyBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1
YWwgYm9vbCBzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYm
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKICAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHBsYXRmb3JtIGlzIGFibGUgdG8g
c2hvdyBhIGNhbGVuZGFyIHBpY2tlciBmb3IgYSBnaXZlbiBpbnB1dCB0eXBlLgogICAgIHZpcnR1
YWwgYm9vbCBzdXBwb3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcAppbmRleCAzNTk1NzdhYjRhMGY2
OGViMDNkZTRlZGJjODRmYzc0ZGVhZGE0MjYyLi4yODA5MTEwNzM4MDdlMzRlZTk2OGQ5M2ZlNmE4
ZmE1NTQwNWMyYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bUNvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3BwCkBAIC00Niw3ICs0Niw3IEBAIGJvb2wgUmVuZGVy
VGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNEYXRhTGlzdFVJKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSkKICAgICAgICAgfHwgdHlwZSA9PSBJbnB1dFR5cGVOYW1lczo6cmFuZ2UoKTsKIH0K
IAotI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRB
Ul9QSUNLRVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKIGJvb2wgUmVu
ZGVyVGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUpCiB7CiAgICAgLy8gRklYTUU6IFdlJ2QgbGlrZSB0byBzdXBwb3J0IGRh
dGV0aW1lLCBkYXRldGltZS1sb2NhbCwgbW9udGgsIGFuZCB3ZWVrIHRvby4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5oCmluZGV4
IDhjMDVhY2Y2MDFjODQ2MjA1NWRmMjBiYWM1ZmQ5M2VjZWRhZjY1NmQuLjAwYTI2MWQzMDcyYjYz
OThlZjRlNzU4YThlYTNjNjUxMDRlNTU5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uaApAQCAtMzUsNyArMzUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlKTsKLSNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKSAmJiBFTkFC
TEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUpOwogI2VuZGlmCiAgICAgc3RhdGljIExheW91dFVuaXQgc2xpZGVyVGlja1NuYXBw
aW5nVGhyZXNob2xkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1NYWMuaAppbmRleCAyNDBkY2Y5YzBjYjYxMTVkYTE4ODRjOTlhNzViYWM1M2Rk
YmQ0Y2U5Li4xZjVhODE0ODQ5MWI0OGQ5YjIzODFlYTdiY2U5NTQzMTE5ODQwZmE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAg
LTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAg
IHZpcnR1YWwgQ1N0cmluZyBleHRyYUNhbGVuZGFyUGlja2VyU3R5bGVTaGVldCgpIE9WRVJSSURF
OwogI2VuZGlmCi0jaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkgJiYgRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQog
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NhbGVuZGFyUGlja2VyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSkgY29uc3QgT1ZFUlJJREU7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
U2hvd1BsYWNlaG9sZGVyV2hlbkZvY3VzZWQoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggYjlk
YTUyMmUxNzA0MzkyOTdjZjE2NjkyZjQxMzBhYTg4OTg2YjVlZC4uODdiNGU4MWRkZjg5MTdhZjAw
ZWJhOWI3NGVkYTMyMDZiN2E2ZWY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKQEAgLTE4MSw3ICsxODEsNyBAQCBwcml2YXRl
OgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBz
bGlkZXJUaWNrU25hcHBpbmdUaHJlc2hvbGQoKSBjb25zdCBPVkVSUklERTsKICNlbmRpZgotI2lm
IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpICYmIEVOQUJMRShDQUxFTkRBUl9QSUNL
RVIpCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNDYWxlbmRhclBpY2tlcihjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpIGNvbnN0
IE9WRVJSSURFOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5jcHAKaW5kZXggZDc4MWU4YTQwMzNhNWI5MTkyOWQ3NzNiM2I3Zjc4NGJi
NjY5MzA4Zi4uM2M4ZjA0MzQ5YmUxYTNiY2UwMDQ2ZjRmNWVhYzg1Y2RiYWMzYzA2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJDb25zb2xlLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAj
aW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCisjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VyLmgi
CiAjaW5jbHVkZSAiRGF0ZVRpbWVDaG9vc2VySW1wbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY5MiwxMCArNjkzLDE1IEBAIFBhc3NP
d25QdHI8V2ViQ29sb3JDaG9vc2VyPiBDaHJvbWVDbGllbnRJbXBsOjpjcmVhdGVXZWJDb2xvckNo
b29zZXIoV2ViQ29sb3JDaG9vCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNL
RVIpCisjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiBQYXNzUmVmUHRyPERh
dGVUaW1lQ2hvb3Nlcj4gQ2hyb21lQ2xpZW50SW1wbDo6b3BlbkRhdGVUaW1lQ2hvb3NlcihEYXRl
VGltZUNob29zZXJDbGllbnQqIHBpY2tlckNsaWVudCwgY29uc3QgRGF0ZVRpbWVDaG9vc2VyUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERT
X1VJKQogICAgIHJldHVybiBEYXRlVGltZUNob29zZXJJbXBsOjpjcmVhdGUodGhpcywgcGlja2Vy
Q2xpZW50LCBwYXJhbWV0ZXJzKTsKKyNlbHNlCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gUGFzc1JlZlB0cjxEYXRlVGltZUNob29zZXI+KCk7CisjZW5kaWYKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKaW5kZXgg
ZmUyZDE3N2UzOWI3MjJlNmEyNDM3NWIxZjJlZWYyYzIxODBkNzhkNi4uNzcwODRmODAxMDJmNjIz
N2I2NzgyZGM4YjYwZmNjMmNlMjY2OTUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6Q29sb3JDaG9vc2VyPiBjcmVhdGVDb2xvckNob29z
ZXIoV2ViQ29yZTo6Q29sb3JDaG9vc2VyQ2xpZW50KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImKSBP
VkVSUklERTsKICAgICBQYXNzT3duUHRyPFdlYkNvbG9yQ2hvb3Nlcj4gY3JlYXRlV2ViQ29sb3JD
aG9vc2VyKFdlYkNvbG9yQ2hvb3NlckNsaWVudCosIGNvbnN0IFdlYkNvbG9yJik7CiAjZW5kaWYK
LSNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lO
UFVUX1RZUEVTKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpEYXRlVGltZUNob29z
ZXI+IG9wZW5EYXRlVGltZUNob29zZXIoV2ViQ29yZTo6RGF0ZVRpbWVDaG9vc2VyQ2xpZW50Kiwg
Y29uc3QgV2ViQ29yZTo6RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURFOwogI2Vu
ZGlmCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChXZWJDb3JlOjpGcmFtZSosIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6RmlsZUNob29zZXI+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5jcHAKaW5kZXggYTRiODc2NTFkZjYzODc0NjU4
ZmZhYThkOTk2YWI4MzgxNWRmNTk3MS4uMjlkNTE5OTY2Y2FhMGFjMzdlYjIwZDZhMjZkYjEzMjIy
ODRiY2UwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVD
aG9vc2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVD
aG9vc2VySW1wbC5jcHAKQEAgLTI5LDEwICsyOSw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAjaW5jbHVkZSAiRGF0
ZVRpbWVDaG9vc2VySW1wbC5oIgogCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQogI2lu
Y2x1ZGUgIkNhbGVuZGFyUGlja2VyLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50SW1wbC5oIgog
I2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCkBAIC00OCw2ICs0NywxMCBAQAogI2luY2x1ZGUg
PHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJMb2NhbGl6ZWRTdHJpbmcu
aD4KIAorI2lmICFFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorI2Vycm9yICJFTkFCTEVfSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJIHJlcXVpcmVzIEVOQUJMRV9DQUxFTkRBUl9QSUNLRVIgaW4gQ2hy
b21pdW0uIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTE3MCw0ICsxNzMsNCBAQCB2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OmRp
ZENsb3NlUG9wdXAoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpCisjZW5kaWYgLy8gRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hv
b3NlckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1lQ2hvb3Nlcklt
cGwuaAppbmRleCAxN2RiNDM1NjhiYmNjMGM2YjAyNTgxM2E5ZWNlZjg0YzQ3OWY2NWU5Li4yMjQz
NTg2MjNhOGFhYTVhYmUxM2QyYzFjODEyZjc4YWYwNmQ0ZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oCkBAIC0zMSwxMSArMzEsMTAg
QEAKICNpZm5kZWYgRGF0ZVRpbWVDaG9vc2VySW1wbF9oCiAjZGVmaW5lIERhdGVUaW1lQ2hvb3Nl
ckltcGxfaAogCisjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICNpbmNsdWRl
ICJEYXRlVGltZUNob29zZXIuaCIKICNpbmNsdWRlICJQYWdlUG9wdXBDbGllbnQuaCIKIAotI2lm
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBh
Z2VQb3B1cDsKIGNsYXNzIERhdGVUaW1lQ2hvb3NlckNsaWVudDsKQEAgLTcxLDYgKzcwLDYgQEAg
cHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyNlbmRp
ZiAvLyBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogCiAjZW5kaWYgLy8gRGF0ZVRp
bWVDaG9vc2VySW1wbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9M
b2NhbGl6ZWRTdHJpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXpl
ZFN0cmluZ3MuY3BwCmluZGV4IGFjOGFhZTU1ZWUwN2E0MGFjMDYxNGEwNTU2NjkxNTk1Y2MyNGQz
ZjcuLmU1YmFkZWQ5MzYzZDY4ODI0YjM3ZjA2MTYwNGE4N2QxMmMxN2M2ZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwCkBAIC0yNjgsNyAr
MjY4LDkgQEAgU3RyaW5nIHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCkKIHsKICAgICByZXR1cm4g
cXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpQbGFjZWhvbGRlckZvclllYXJGaWVsZCk7CiB9Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShJTlBVVF9UWVBFX1dFRUspCiBTdHJpbmcgd2Vla0Zvcm1hdElu
TERNTCgpCiB7CiAgICAgU3RyaW5nIHRlbXBsID0gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpX
ZWVrRm9ybWF0VGVtcGxhdGUpOwo=
</data>
<flag name="review"
          id="186140"
          type_id="1"
          status="+"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>