<?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>168683</bug_id>
          
          <creation_ts>2017-02-21 15:45:57 -0800</creation_ts>
          <short_desc>[WK2] Call processDidBecomeUnresponsive delegate when a background process is unresponsive</short_desc>
          <delta_ts>2017-02-22 09:17:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1279591</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-21 15:45:57 -0800</bug_when>
    <thetext>Call processDidBecomeUnresponsive delegate when a background process is unresponsive instead of killing it on WebKit side. This gives the client the choice about what it wants to do about this process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279592</commentid>
    <comment_count>1</comment_count>
      <attachid>302323</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-21 15:48:33 -0800</bug_when>
    <thetext>Created attachment 302323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279594</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 15:50:03 -0800</bug_when>
    <thetext>Attachment 302323 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/WebProcessProxy.cpp:106:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279891</commentid>
    <comment_count>3</comment_count>
      <attachid>302402</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-22 08:33:58 -0800</bug_when>
    <thetext>Created attachment 302402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279893</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-22 08:36:38 -0800</bug_when>
    <thetext>Attachment 302402 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/WebProcessProxy.cpp:106:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279919</commentid>
    <comment_count>5</comment_count>
      <attachid>302402</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-22 09:17:32 -0800</bug_when>
    <thetext>Comment on attachment 302402
Patch

Clearing flags on attachment: 302402

Committed r212832: &lt;http://trac.webkit.org/changeset/212832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279920</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-22 09:17:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302323</attachid>
            <date>2017-02-21 15:48:33 -0800</date>
            <delta_ts>2017-02-22 08:33:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168683-20170221154548.patch</filename>
            <type>text/plain</type>
            <size>31519</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzk0MzA2NzQ3NmU0ZGIy
YWYyNmI3NDExOGU0ZTQxYTVmNWQ2Nzg5MS4uODYyNTBkZmY0ZWE4NDIzZjUxMDFkYTZjNTRmNzE3
MjZlMjFlZDUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAyLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQ2FsbCBwcm9jZXNz
RGlkQmVjb21lVW5yZXNwb25zaXZlIGRlbGVnYXRlIHdoZW4gYSBiYWNrZ3JvdW5kIHByb2Nlc3Mg
aXMgdW5yZXNwb25zaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNTU4NzQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGwgcHJvY2Vzc0Rp
ZEJlY29tZVVucmVzcG9uc2l2ZSBkZWxlZ2F0ZSB3aGVuIGEgYmFja2dyb3VuZCBwcm9jZXNzIGlz
IHVucmVzcG9uc2l2ZQorICAgICAgICBpbnN0ZWFkIG9mIGtpbGxpbmcgaXQgb24gV2ViS2l0IHNp
ZGUuIFRoaXMgZ2l2ZXMgdGhlIGNsaWVudCB0aGUgY2hvaWNlIGFib3V0IHdoYXQgaXQKKyAgICAg
ICAgd2FudHMgdG8gZG8gYWJvdXQgdGhpcyBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJOjpQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb246OmNvcHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1Rp
bWVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNp
dmVXZWJQcm9jZXNzVGVybWluYXRvci5jcHAuCisgICAgICAgIChXZWJLaXQ6OkJhY2tncm91bmRQ
cm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lcjo6QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVz
c1RpbWVyKToKKyAgICAgICAgKFdlYktpdDo6QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVz
c1RpbWVyOjp1cGRhdGVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lcjo6dGltZXJGaXJlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0Jh
Y2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1VucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmguCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6cmVhdHRhY2hUb1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmRpc3BhdGNoQWN0aXZpdHlTdGF0ZUNoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6dGVybWluYXRlUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjptX2JhY2tncm91bmRSZXNwb25zaXZlbmVzc1RpbWVyKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE3LTAyLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViUlRDXSBMaWJXZWJSVENTb2NrZXQ6OlNlbmRU
byBtZXNzYWdlIHNob3VsZCBoYXZlIGEgY29ycmVjdCBTb2NrZXRBZGRyZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5jcHAKaW5kZXggMThkMWUyYjk3ODNkN2IyYTU1NzNiZDdlZjNlYjkyYmEwMTYyNjRm
MC4uMjQ0ZmYzOTFlNjg1NDRkM2UyMTIwYjY0ODg5ZDVjNDZjZDI0YTU3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmNwcApAQCAtOTYsNyArOTYsNiBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uPiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNvcHkoKQogICAgIGNvcHktPm1fbWF4aW11
bVByb2Nlc3NDb3VudCA9IHRoaXMtPm1fbWF4aW11bVByb2Nlc3NDb3VudDsKICAgICBjb3B5LT5t
X2NhY2hlTW9kZWwgPSB0aGlzLT5tX2NhY2hlTW9kZWw7CiAgICAgY29weS0+bV9kaXNrQ2FjaGVT
cGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkID0gdGhpcy0+bV9kaXNrQ2FjaGVTcGVjdWxhdGl2
ZVZhbGlkYXRpb25FbmFibGVkOwotICAgIGNvcHktPm1fdW5yZXNwb25zaXZlQmFja2dyb3VuZFBy
b2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZCA9IHRoaXMtPm1fdW5yZXNwb25zaXZlQmFja2dyb3Vu
ZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZDsKICAgICBjb3B5LT5tX2Rpc2tDYWNoZVNpemVP
dmVycmlkZSA9IHRoaXMtPm1fZGlza0NhY2hlU2l6ZU92ZXJyaWRlOwogICAgIGNvcHktPm1fYXBw
bGljYXRpb25DYWNoZURpcmVjdG9yeSA9IHRoaXMtPm1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eTsKICAgICBjb3B5LT5tX2FwcGxpY2F0aW9uQ2FjaGVGbGF0RmlsZVN1YmRpcmVjdG9yeU5hbWUg
PSB0aGlzLT5tX2FwcGxpY2F0aW9uQ2FjaGVGbGF0RmlsZVN1YmRpcmVjdG9yeU5hbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24uaAppbmRleCBkNDJiNzQ5Yjk3Zjk4MmIwNWZkNDYwNWU4ZWZjZDViZTc5MzYz
MzM5Li4xMDQwN2RhMTkwNTAwOWIzN2Q3YWFiZjcwMThmMzZjMzQxN2ZjNjIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmgKQEAgLTU1LDkgKzU1LDYgQEAgcHVibGljOgogICAgIGJvb2wgZGlza0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlza0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0RGlza0NhY2hlU3Bl
Y3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9kaXNrQ2FjaGVTcGVj
dWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkID0gZW5hYmxlZDsgfQogCi0gICAgYm9vbCB1bnJlc3Bv
bnNpdmVCYWNrZ3JvdW5kUHJvY2Vzc2VzVGVybWluYXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV91bnJlc3BvbnNpdmVCYWNrZ3JvdW5kUHJvY2Vzc2VzVGVybWluYXRpb25FbmFibGVkOyB9
Ci0gICAgdm9pZCBzZXRVbnJlc3BvbnNpdmVCYWNrZ3JvdW5kUHJvY2Vzc2VzVGVybWluYXRpb25F
bmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX3VucmVzcG9uc2l2ZUJhY2tncm91bmRQcm9jZXNzZXNU
ZXJtaW5hdGlvbkVuYWJsZWQgPSBlbmFibGVkOyB9Ci0KICAgICBXZWJLaXQ6OkNhY2hlTW9kZWwg
Y2FjaGVNb2RlbCgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVNb2RlbDsgfQogICAgIHZvaWQgc2V0
Q2FjaGVNb2RlbChXZWJLaXQ6OkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkgeyBtX2NhY2hlTW9kZWwg
PSBjYWNoZU1vZGVsOyB9CiAKQEAgLTEyNCw3ICsxMjEsNiBAQCBwcml2YXRlOgogCiAgICAgdW5z
aWduZWQgbV9tYXhpbXVtUHJvY2Vzc0NvdW50IHsgMCB9OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVT
cGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fdW5yZXNw
b25zaXZlQmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgV2ViS2l0OjpDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbCB7IFdlYktpdDo6Q2FjaGVNb2RlbFBy
aW1hcnlXZWJCcm93c2VyIH07CiAgICAgaW50NjRfdCBtX2Rpc2tDYWNoZVNpemVPdmVycmlkZSB7
IC0xIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAK
aW5kZXggMmNjZTRkYTUwMjU3MzRlODIzZDQ4ZGM3ZjBjMjA0MzRhOGJjNDQ2Mi4uNzQ4MmRlNjgx
NGQ4YjJmZjBhMmExMTQ4Y2M3MWU3OWQwYTkxYzc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTM5NywxMSArMzk3LDYgQEAgdm9pZCBXS0Nv
bnRleHRTZXREaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKFdLQ29udGV4dFJl
ZiBjb250ZXh0UmVmLAogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+Y29uZmlndXJhdGlvbigpLnNl
dERpc2tDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQodmFsdWUpOwogfQogCi12b2lk
IFdLQ29udGV4dFNldFVucmVzcG9uc2l2ZUJhY2tncm91bmRQcm9jZXNzZXNUZXJtaW5hdGlvbkVu
YWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wgdmFsdWUpCi17Ci0gICAgdG9JbXBs
KGNvbnRleHRSZWYpLT5jb25maWd1cmF0aW9uKCkuc2V0VW5yZXNwb25zaXZlQmFja2dyb3VuZFBy
b2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZCh2YWx1ZSk7Ci19Ci0KIFdLQ29va2llTWFuYWdlclJl
ZiBXS0NvbnRleHRHZXRDb29raWVNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQogewog
ICAgIHJldHVybiB0b0FQSSh0b0ltcGwoY29udGV4dFJlZiktPnN1cHBsZW1lbnQ8V2ViQ29va2ll
TWFuYWdlclByb3h5PigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHRQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oCmluZGV4IDRkODA0OGFmYzlhNzAxMTMzY2Q4NTc2YzFhMjczMGQz
N2UwOGIxZDIuLjY3NDJmZmJhMTM3NmRlYzEzYjNmY2NjYTgzNWI4N2U0MGNjOTI2ZjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaApA
QCAtNjIsOCArNjIsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRDYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbihXS0NvbnRleHRSZWYgY29udAogCiBXS19FWFBPUlQgdm9p
ZCBXS0NvbnRleHRTZXREaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKFdLQ29u
dGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKTsKIAotV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0
U2V0VW5yZXNwb25zaXZlQmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZChXS0Nv
bnRleHRSZWYgY29udGV4dCwgYm9vbCB2YWx1ZSk7Ci0KIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4
dFNldEljb25EYXRhYmFzZVBhdGgoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIGlj
b25EYXRhYmFzZVBhdGgpOwogCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRBbGxvd1NwZWNpZmlj
SFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLQ2VydGlmaWNh
dGVJbmZvUmVmIGNlcnRpZmljYXRlLCBXS1N0cmluZ1JlZiBob3N0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tncm91bmRQcm9jZXNzUmVzcG9u
c2l2ZW5lc3NUaW1lci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM5ZDI1NjBkMTU0NjgwN2ZhYWM1YjJmN2I3
ZDQ5Njg3NmQ3N2U3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0wLDAgKzEsNzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQmFja2dyb3Vu
ZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmgiCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMg
aW5pdGlhbEludGVydmFsIHsgMjBzIH07CitzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgbWF4aW11bUludGVydmFsIHsgOGggfTsKKworQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZl
bmVzc1RpbWVyOjpCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIoV2ViUHJvY2Vz
c1Byb3h5JiB3ZWJQcm9jZXNzUHJveHkpCisgICAgOiBtX3dlYlByb2Nlc3NQcm94eSh3ZWJQcm9j
ZXNzUHJveHkpCisgICAgLCBtX2ludGVydmFsKGluaXRpYWxJbnRlcnZhbCkKKyAgICAsIG1fdGlt
ZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVz
c1RpbWVyOjp0aW1lckZpcmVkKQoreworfQorCit2b2lkIEJhY2tncm91bmRQcm9jZXNzUmVzcG9u
c2l2ZW5lc3NUaW1lcjo6dXBkYXRlU3RhdGUoKQoreworICAgIGlmICghc2hvdWxkQmVBY3RpdmUo
KSkgeworICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKSB7CisgICAgICAgICAgICBtX2lu
dGVydmFsID0gaW5pdGlhbEludGVydmFsOworICAgICAgICAgICAgbV90aW1lci5zdG9wKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghbV90aW1lci5pc0Fj
dGl2ZSgpKQorICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2ludGVydmFsKTsKK30KKwor
dm9pZCBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXI6OnRpbWVyRmlyZWQoKQor
eworICAgIEFTU0VSVChzaG91bGRCZUFjdGl2ZSgpKTsKKyAgICAvLyBXZWJQcm9jZXNzUHJveHk6
OnJlc3BvbnNpdmUoKSB0YWtlcyBjYXJlIG9mIGNhbGxpbmcgcHJvY2Vzc0RpZEJlY29tZVVucmVz
cG9uc2l2ZSBmb3IgdXMuCisgICAgbV93ZWJQcm9jZXNzUHJveHkuaXNSZXNwb25zaXZlKFt0aGlz
XShib29sIHByb2Nlc3NJc1Jlc3BvbnNpdmUpIHsKKyAgICAgICAgaWYgKHByb2Nlc3NJc1Jlc3Bv
bnNpdmUpIHsKKyAgICAgICAgICAgIC8vIEV4cG9uZW50aWFsIGJhY2tvZmYgdG8gYXZvaWQgd2Fr
aW5nIHVwIHRoZSBwcm9jZXNzIHRvbyBvZnRlbi4KKyAgICAgICAgICAgIG1faW50ZXJ2YWwgPSBz
dGQ6Om1pbihtX2ludGVydmFsICogMiwgbWF4aW11bUludGVydmFsKTsKKyAgICAgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1faW50ZXJ2YWwpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9ybWFuY2VMb2dnaW5nLCAi
Tm90aWZpZWQgdGhlIGNsaWVudCB0aGF0IGEgYmFja2dyb3VuZCBXZWJQcm9jZXNzIGhhcyBiZWNv
bWUgdW5yZXNwb25zaXZlIik7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiTm90aWZpZWQgdGhlIGNs
aWVudCB0aGF0IGEgYmFja2dyb3VuZCBXZWJQcm9jZXNzIGhhcyBiZWNvbWUgdW5yZXNwb25zaXZl
Iik7CisgICAgICAgIG1faW50ZXJ2YWwgPSBpbml0aWFsSW50ZXJ2YWw7CisgICAgfSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0JhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0JhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE4NzQ5MjZkZTk5MDFlYjNhOWY0YmVmZjdiMTY4NzZkMWRkYTZhMjIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nlc3NSZXNw
b25zaXZlbmVzc1RpbWVyLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEJhY2tncm91bmRQcm9jZXNzUmVz
cG9uc2l2ZW5lc3NUaW1lciB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQmFja2dyb3VuZFByb2Nl
c3NSZXNwb25zaXZlbmVzc1RpbWVyKFdlYlByb2Nlc3NQcm94eSYpOworICAgIHZvaWQgdXBkYXRl
U3RhdGUoKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHRpbWVyRmlyZWQoKTsKKyAgICBib29sIHNo
b3VsZEJlQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gIW1fd2ViUHJvY2Vzc1Byb3h5LnZpc2libGVQ
YWdlQ291bnQoKSAmJiBtX3dlYlByb2Nlc3NQcm94eS5wYWdlQ291bnQoKTsgfQorCisgICAgV2Vi
UHJvY2Vzc1Byb3h5JiBtX3dlYlByb2Nlc3NQcm94eTsKKyAgICBzdGQ6OmNocm9ubzo6c2Vjb25k
cyBtX2ludGVydmFsOworICAgIFJ1bkxvb3A6OlRpbWVyPEJhY2tncm91bmRQcm9jZXNzUmVzcG9u
c2l2ZW5lc3NUaW1lcj4gbV90aW1lcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDg2ZDY3ZTM5NDRjNWNmZDJjMjY5MzM0
MTE3YmJhYjkxZTAyMjRlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVy
bWluYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJt
aW5hdG9yLmgiCi0KLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgaW5pdGlhbEludGVydmFsIHsgMjBz
IH07Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgbWF4aW11bUludGVydmFsIHsg
OGggfTsKLQotVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3I6OlVucmVzcG9uc2l2ZVdl
YlByb2Nlc3NUZXJtaW5hdG9yKFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5KQotICAg
IDogbV93ZWJQcm9jZXNzUHJveHkod2ViUHJvY2Vzc1Byb3h5KQotICAgICwgbV9pbnRlcnZhbChp
bml0aWFsSW50ZXJ2YWwpCi0gICAgLCBtX3RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJlVu
cmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yOjp0aW1lckZpcmVkKQotewotfQotCi12b2lk
IFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yOjp1cGRhdGVTdGF0ZSgpCi17Ci0gICAg
aWYgKCFzaG91bGRCZUFjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkp
IHsKLSAgICAgICAgICAgIG1faW50ZXJ2YWwgPSBpbml0aWFsSW50ZXJ2YWw7Ci0gICAgICAgICAg
ICBtX3RpbWVyLnN0b3AoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KG1faW50ZXJ2YWwpOwotfQotCi1zdGF0aWMgVmVjdG9yPFJlZlB0cjxXZWJQYWdlUHJveHk+PiBw
YWdlc0NvcHkoV1RGOjpJdGVyYXRvclJhbmdlPFdlYlByb2Nlc3NQcm94eTo6V2ViUGFnZVByb3h5
TWFwOjpjb25zdF9pdGVyYXRvcjo6VmFsdWVzPiBwYWdlcykKLXsKLSAgICBWZWN0b3I8UmVmUHRy
PFdlYlBhZ2VQcm94eT4+IHZlY3RvcjsKLSAgICBmb3IgKGF1dG8mIHBhZ2UgOiBwYWdlcykKLSAg
ICAgICAgdmVjdG9yLmFwcGVuZChwYWdlKTsKLSAgICByZXR1cm4gdmVjdG9yOwotfQotCi12b2lk
IFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yOjp0aW1lckZpcmVkKCkKLXsKLSAgICBB
U1NFUlQoc2hvdWxkQmVBY3RpdmUoKSk7Ci0gICAgbV93ZWJQcm9jZXNzUHJveHkuaXNSZXNwb25z
aXZlKFt0aGlzXShib29sIHByb2Nlc3NJc1Jlc3BvbnNpdmUpIHsKLSAgICAgICAgaWYgKHByb2Nl
c3NJc1Jlc3BvbnNpdmUpIHsKLSAgICAgICAgICAgIC8vIEV4cG9uZW50aWFsIGJhY2tvZmYgdG8g
YXZvaWQgd2FraW5nIHVwIHRoZSBwcm9jZXNzIHRvbyBvZnRlbi4KLSAgICAgICAgICAgIG1faW50
ZXJ2YWwgPSBzdGQ6Om1pbihtX2ludGVydmFsICogMiwgbWF4aW11bUludGVydmFsKTsKLSAgICAg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faW50ZXJ2YWwpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoUGVyZm9ybWFuY2VM
b2dnaW5nLCAiS2lsbGluZyBhIGJhY2tncm91bmQgV2ViUHJvY2VzcyBiZWNhdXNlIGl0IGlzIG5v
dCByZXNwb25zaXZlIik7Ci0gICAgICAgIGZvciAoYXV0byYgcGFnZSA6IHBhZ2VzQ29weShtX3dl
YlByb2Nlc3NQcm94eS5wYWdlcygpKSkKLSAgICAgICAgICAgIHBhZ2UtPnRlcm1pbmF0ZVByb2Nl
c3MoV2ViUGFnZVByb3h5OjpUZXJtaW5hdGlvblJlYXNvbjo6VW5yZXNwb25zaXZlV2hpbGVJbkJh
Y2tncm91bmQpOwotICAgIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWlu
YXRvci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VucmVzcG9uc2l2ZVdlYlByb2Nlc3NU
ZXJtaW5hdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzMTRkZDY0OWRiNDRj
M2ZjMzc4NDQxMzU5YzkxYzRmZmNlNDhlY2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VucmVzcG9uc2l2ZVdl
YlByb2Nlc3NUZXJtaW5hdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKLSNp
bmNsdWRlIDx3dGYvUnVuTG9vcC5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgVW5y
ZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IgewotcHVibGljOgotICAgIGV4cGxpY2l0IFVu
cmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yKFdlYlByb2Nlc3NQcm94eSYpOwotICAgIHZv
aWQgdXBkYXRlU3RhdGUoKTsKLQotcHJpdmF0ZToKLSAgICB2b2lkIHRpbWVyRmlyZWQoKTsKLSAg
ICBib29sIHNob3VsZEJlQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gIW1fd2ViUHJvY2Vzc1Byb3h5
LnZpc2libGVQYWdlQ291bnQoKSAmJiBtX3dlYlByb2Nlc3NQcm94eS5wYWdlQ291bnQoKTsgfQot
Ci0gICAgV2ViUHJvY2Vzc1Byb3h5JiBtX3dlYlByb2Nlc3NQcm94eTsKLSAgICBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBtX2ludGVydmFsOwotICAgIFJ1bkxvb3A6OlRpbWVyPFVucmVzcG9uc2l2ZVdl
YlByb2Nlc3NUZXJtaW5hdG9yPiBtX3RpbWVyOwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBkZDY3YWQ2ZDY3MWE5MDcyZDZjMDlkY2Q0NDZm
NjAwMzcwODdjOWQ2Li5iYTQ1ZmY2YjFjOTc5NjNhZjQ4MWNhZmU2MTg5ZDA4YmNhOTZhZjc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzEyLDcgKzcx
Miw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWF0dGFjaFRvV2ViUHJvY2VzcygpCiAgICAgQVNT
RVJUKG1fcHJvY2Vzcy0+c3RhdGUoKSA9PSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpUZXJtaW5h
dGVkKTsKIAogICAgIG1faXNWYWxpZCA9IHRydWU7Ci0gICAgbV93YXNLaWxsZWRGb3JCZWluZ1Vu
cmVzcG9uc2l2ZVdoaWxlSW5CYWNrZ3JvdW5kID0gZmFsc2U7CiAgICAgbV9wcm9jZXNzLT5yZW1v
dmVXZWJQYWdlKG1fcGFnZUlEKTsKICAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlE
KTsKIApAQCAtMTUxNCwzMCArMTUxMywxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dmlld0RpZEVu
dGVyV2luZG93KCkKICAgICB9CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZWxvYWRBZnRlckJl
aW5nS2lsbGVkSW5CYWNrZ3JvdW5kKCkKLXsKLSAgICBBU1NFUlQoIWlzVmFsaWQoKSk7Ci0KLSAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIFJlbG9hZGluZyB0YWIgdGhhdCB3YXMga2ls
bGVkIGluIHRoZSBiYWNrZ3JvdW5kIiwgdGhpcyk7Ci0KLSAgICAvLyBPbmx5IHJlcG9ydCBhcyBh
IGNyYXNoIGlmIHRoZSBwYWdlIHdhcyBldmVyIHZpc2libGUsIG90aGVyd2lzZSBzaWxlbnRseSBy
ZWxvYWQuCi0gICAgaWYgKG1faGFzRXZlckJlZW5WaXNpYmxlKQotICAgICAgICBwcm9jZXNzRGlk
Q3Jhc2goKTsKLSAgICBlbHNlCi0gICAgICAgIHJlYXR0YWNoVG9XZWJQcm9jZXNzRm9yUmVsb2Fk
KCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNwYXRjaEFjdGl2aXR5U3RhdGVDaGFuZ2Uo
KQogewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIG1fYWN0aXZpdHlTdGF0ZUNoYW5nZURpc3Bh
dGNoZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogCi0gICAgaWYgKCFpc1ZhbGlkKCkpIHsKLSAg
ICAgICAgaWYgKG1fcG90ZW50aWFsbHlDaGFuZ2VkQWN0aXZpdHlTdGF0ZUZsYWdzICYgQWN0aXZp
dHlTdGF0ZTo6SXNWaXNpYmxlICYmIG1fd2FzS2lsbGVkRm9yQmVpbmdVbnJlc3BvbnNpdmVXaGls
ZUluQmFja2dyb3VuZCkKLSAgICAgICAgICAgIHJlbG9hZEFmdGVyQmVpbmdLaWxsZWRJbkJhY2tn
cm91bmQoKTsKKyAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAog
ICAgIC8vIElmIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG1heSBoYXZlIGNoYW5nZWQsIHRoZW4gc28g
bWF5IHRoZSB2aXN1YWxseSBpZGxlICYgb2NjbHVkZWQgYWdub3N0aWMgc3RhdGUuCiAgICAgaWYg
KG1fcG90ZW50aWFsbHlDaGFuZ2VkQWN0aXZpdHlTdGF0ZUZsYWdzICYgQWN0aXZpdHlTdGF0ZTo6
SXNWaXNpYmxlKQpAQCAtMTU3NiwxMCArMTU1OSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaXNw
YXRjaEFjdGl2aXR5U3RhdGVDaGFuZ2UoKQogI2VuZGlmCiAKICAgICBpZiAoY2hhbmdlZCAmIEFj
dGl2aXR5U3RhdGU6OklzVmlzaWJsZSkgewotICAgICAgICBpZiAoaXNWaWV3VmlzaWJsZSgpKSB7
Ci0gICAgICAgICAgICBtX2hhc0V2ZXJCZWVuVmlzaWJsZSA9IHRydWU7CisgICAgICAgIGlmIChp
c1ZpZXdWaXNpYmxlKCkpCiAgICAgICAgICAgICBtX3Zpc2libGVQYWdlVG9rZW4gPSBtX3Byb2Nl
c3MtPnZpc2libGVQYWdlVG9rZW4oKTsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBtX3Zpc2libGVQYWdlVG9rZW4gPSBudWxscHRyOwogCiAgICAgICAgICAg
ICAvLyBJZiB3ZSd2ZSBzdGFydGVkIHRoZSByZXNwb25zaXZlbmVzcyB0aW1lciBhcyBwYXJ0IG9m
IHRlbGxpbmcgdGhlIHdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZyBzdG9yZQpAQCAt
MjM5NCw3ICsyMzc2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldEN1c3RvbVRleHRFbmNvZGlu
Z05hbWUoY29uc3QgU3RyaW5nJiBlbmNvZGluZ05hbWUpCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpTZXRDdXN0b21UZXh0RW5jb2RpbmdOYW1lKGVuY29kaW5nTmFtZSks
IG1fcGFnZUlEKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnRlcm1pbmF0ZVByb2Nlc3MoVGVy
bWluYXRpb25SZWFzb24gdGVybWluYXRpb25SZWFzb24pCit2b2lkIFdlYlBhZ2VQcm94eTo6dGVy
bWluYXRlUHJvY2VzcygpCiB7CiAgICAgLy8gTk9URTogVGhpcyB1c2VzIGEgY2hlY2sgb2YgbV9p
c1ZhbGlkIHJhdGhlciB0aGFuIGNhbGxpbmcgaXNWYWxpZCgpIHNpbmNlCiAgICAgLy8gd2Ugd2Fu
dCB0aGlzIHRvIHJ1biBldmVuIGZvciBwYWdlcyBiZWluZyBjbG9zZWQgb3IgdGhhdCBhbHJlYWR5
IGNsb3NlZC4KQEAgLTI0MDMsNyArMjM4NSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp0ZXJtaW5h
dGVQcm9jZXNzKFRlcm1pbmF0aW9uUmVhc29uIHRlcm1pbmF0aW9uUmVhc29uKQogCiAgICAgbV9w
cm9jZXNzLT5yZXF1ZXN0VGVybWluYXRpb24oKTsKICAgICByZXNldFN0YXRlQWZ0ZXJQcm9jZXNz
RXhpdGVkKCk7Ci0gICAgbV93YXNLaWxsZWRGb3JCZWluZ1VucmVzcG9uc2l2ZVdoaWxlSW5CYWNr
Z3JvdW5kID0gdGVybWluYXRpb25SZWFzb24gPT0gVGVybWluYXRpb25SZWFzb246OlVucmVzcG9u
c2l2ZVdoaWxlSW5CYWNrZ3JvdW5kOwogfQogCiBTZXNzaW9uU3RhdGUgV2ViUGFnZVByb3h5Ojpz
ZXNzaW9uU3RhdGUoY29uc3Qgc3RkOjpmdW5jdGlvbjxib29sIChXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtJik+JiBmaWx0ZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggMjFhYmI5Y2YwZGZjNGI0YmNmMjdiOTNhYTgwYjFmMjI0Njc5ZmVmZi4uZTVhZDgy
MGIyNmQwNTBmNDhhOWJhZTE2MTM2OWJlY2RkMTI5YmZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNjc1LDggKzY3NSw3IEBAIHB1YmxpYzoKIAogICAgIGRv
dWJsZSBlc3RpbWF0ZWRQcm9ncmVzcygpIGNvbnN0OwogCi0gICAgZW51bSBjbGFzcyBUZXJtaW5h
dGlvblJlYXNvbiB7IFVucmVzcG9uc2l2ZVdoaWxlSW5CYWNrZ3JvdW5kLCBPdGhlciB9OwotICAg
IHZvaWQgdGVybWluYXRlUHJvY2VzcyhUZXJtaW5hdGlvblJlYXNvbiA9IFRlcm1pbmF0aW9uUmVh
c29uOjpPdGhlcik7CisgICAgdm9pZCB0ZXJtaW5hdGVQcm9jZXNzKCk7CiAKICAgICBTZXNzaW9u
U3RhdGUgc2Vzc2lvblN0YXRlKGNvbnN0IHN0ZDo6ZnVuY3Rpb248Ym9vbCAoV2ViQmFja0Zvcndh
cmRMaXN0SXRlbSYpPiYgPSBudWxscHRyKSBjb25zdDsKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0
aW9uPiByZXN0b3JlRnJvbVNlc3Npb25TdGF0ZShTZXNzaW9uU3RhdGUsIGJvb2wgbmF2aWdhdGUp
OwpAQCAtMTU3NSw3ICsxNTc0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoQWN0aXZp
dHlTdGF0ZUNoYW5nZSgpOwogICAgIHZvaWQgdmlld0RpZExlYXZlV2luZG93KCk7CiAgICAgdm9p
ZCB2aWV3RGlkRW50ZXJXaW5kb3coKTsKLSAgICB2b2lkIHJlbG9hZEFmdGVyQmVpbmdLaWxsZWRJ
bkJhY2tncm91bmQoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIGRpZFBlcmZvcm1J
bW1lZGlhdGVBY3Rpb25IaXRUZXN0KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiwgYm9vbCBj
b250ZW50UHJldmVudHNEZWZhdWx0LCBjb25zdCBVc2VyRGF0YSYpOwpAQCAtMTk1MCw3ICsxOTQ4
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzSGFkU2VsZWN0aW9uQ2hhbmdlc0Zyb21Vc2Vy
SW50ZXJhY3Rpb24geyBmYWxzZSB9OwogICAgIGJvb2wgbV9uZWVkc0hpZGRlbkNvbnRlbnRFZGl0
YWJsZVF1aXJrIHsgZmFsc2UgfTsKICAgICBib29sIG1fbmVlZHNQbGFpblRleHRRdWlyayB7IGZh
bHNlIH07Ci0gICAgYm9vbCBtX2hhc0V2ZXJCZWVuVmlzaWJsZSB7IGZhbHNlIH07CiAKICNpZiBF
TkFCTEUoTUVESUFfU0VTU0lPTikKICAgICBib29sIG1faGFzTWVkaWFTZXNzaW9uV2l0aEFjdGl2
ZU1lZGlhRWxlbWVudHMgeyBmYWxzZSB9OwpAQCAtMTk3Niw3ICsxOTczLDYgQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgYm9vbCBtX2lzVXNpbmdIaWdoUGVyZm9ybWFuY2VXZWJHTCB7IGZhbHNl
IH07Ci0gICAgYm9vbCBtX3dhc0tpbGxlZEZvckJlaW5nVW5yZXNwb25zaXZlV2hpbGVJbkJhY2tn
cm91bmQgeyBmYWxzZSB9OwogICAgICAgICAKICAgICBXZWFrUHRyRmFjdG9yeTxXZWJQYWdlUHJv
eHk+IG1fd2Vha1B0ckZhY3Rvcnk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCBkOGJjNWI3NmY1OTYxYzVlMTliYzZjZjAyMGE3OTA1M2Qw
YjhlM2QxLi4xOWI1NTEwNzg4MzFmYzJkNDI2YzdlOWI2NmM4ZWRkZmEzNmQwY2ViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMjksNiArMjks
NyBAQAogI2luY2x1ZGUgIkFQSUZyYW1lSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUdyb3Vw
SGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgorI2luY2x1ZGUgIkJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5TWFwLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpA
QCAtMzYsNyArMzcsNiBAQAogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiVGV4dENoZWNrZXIuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlclN0YXRlLmgiCi0jaW5j
bHVkZSAiVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaCIKICNpbmNsdWRlICJVc2Vy
RGF0YS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlICJX
ZWJJY29uRGF0YWJhc2UuaCIKQEAgLTEwMyw3ICsxMDMsNyBAQCBXZWJQcm9jZXNzUHJveHk6Oldl
YlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCiAgICAgLCBtX3Rocm90
dGxlcigqdGhpcykKICAgICAsIG1faXNSZXNwb25zaXZlKE5vT3JNYXliZTo6TWF5YmUpCiAgICAg
LCBtX3Zpc2libGVQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZUJh
Y2tncm91bmRSZXNwb25zaXZlbmVzc1RpbWVyKCk7IH0pCi0gICAgLCBtX2JhY2tncm91bmRSZXNw
b25zaXZlbmVzc1RpbWVyKHByb2Nlc3NQb29sLmNvbmZpZ3VyYXRpb24oKS51bnJlc3BvbnNpdmVC
YWNrZ3JvdW5kUHJvY2Vzc2VzVGVybWluYXRpb25FbmFibGVkKCkgPyBzdGQ6Om1ha2VfdW5pcXVl
PFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yPigqdGhpcykgOiBudWxscHRyKQorICAg
ICwgbV9iYWNrZ3JvdW5kUmVzcG9uc2l2ZW5lc3NUaW1lcihzdGQ6Om1ha2VfdW5pcXVlPEJhY2tn
cm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lcj4oKnRoaXMpKQogewogICAgIFdlYlBhc3Rl
Ym9hcmRQcm94eTo6c2luZ2xldG9uKCkuYWRkV2ViUHJvY2Vzc1Byb3h5KCp0aGlzKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGUzMTg5NGU5MDQ2
ZTMwNzVjYjZjMTQwYjg1MGNlZGJhMGQxYjc5MTguLmE3M2U1YWFmZjQ1OGQ4YTg3NWQyOTJlMDdk
NDYyYTYyMzYwMjQwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKQEAgLTU0LDggKzU0LDggQEAgc3RydWN0IFBsdWdpbkluZm87CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitjbGFzcyBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXI7CiBj
bGFzcyBOZXR3b3JrUHJvY2Vzc1Byb3h5OwotY2xhc3MgVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rl
cm1pbmF0b3I7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViUGFnZUdy
b3VwOwogY2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CkBAIC0yNTUsNyArMjU1LDcgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8c3RkOjpmdW5jdGlvbjx2b2lkKGJvb2wgd2ViUHJvY2Vzc0lzUmVzcG9uc2l2
ZSk+PiBtX2lzUmVzcG9uc2l2ZUNhbGxiYWNrczsKIAogICAgIFZpc2libGVXZWJQYWdlQ291bnRl
ciBtX3Zpc2libGVQYWdlQ291bnRlcjsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VW5yZXNwb25zaXZl
V2ViUHJvY2Vzc1Rlcm1pbmF0b3I+IG1fYmFja2dyb3VuZFJlc3BvbnNpdmVuZXNzVGltZXI7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lcj4g
bV9iYWNrZ3JvdW5kUmVzcG9uc2l2ZW5lc3NUaW1lcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDdkNWUyNzgwNDA3ZTVmY2Q3ZDNlNTU2MzZlOTAwY2FmMjQ1YWNkZmMuLmY2YmM3
YTc0M2U5N2Y2ZGRkYThhN2NjY2E3OGEzYTEwNTg0YjA2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg5OSw4ICs4OTksOCBA
QAogCQk0MUZBRjVGODFFM0MxMDIxMDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUY2MUUzQzBC
NDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5oICovOyB9OwogCQk0MUZBRjVGOTFFM0Mx
MDI1MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQUY1RjcxRTNDMEI0NzAwMUFFNjc4IC8qIExp
YldlYlJUQ1Jlc29sdmVyLmNwcCAqLzsgfTsKIAkJNDQ1MEFFQzAxREMzRkFFNTAwOTk0M0YyIC8q
IFNoYXJlZE1lbW9yeUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlDb2Nv
YS5jcHAgKi87IH07Ci0JCTQ2QTJCNjA4MUU1Njc2QTYwMEMzREVEQSAvKiBVbnJlc3BvbnNpdmVX
ZWJQcm9jZXNzVGVybWluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NkEyQjYwNjFFNTY3NUEyMDBDM0RFREEgLyogVW5yZXNwb25zaXZlV2Vi
UHJvY2Vzc1Rlcm1pbmF0b3IuY3BwICovOyB9OwotCQk0NkEyQjYwOTFFNTY3NkE2MDBDM0RFREEg
LyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTJCNjA3MUU1Njc1QTIwMEMzREVEQSAvKiBV
bnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5oICovOyB9OworCQk0NkEyQjYwODFFNTY3
NkE2MDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTJCNjA2MUU1
Njc1QTIwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3Bw
ICovOyB9OworCQk0NkEyQjYwOTFFNTY3NkE2MDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NS
ZXNwb25zaXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NS
ZXNwb25zaXZlbmVzc1RpbWVyLmggKi87IH07CiAJCTRBM0NDMThBMTlCMDYzRTcwMEQxNEFFRiAv
KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzOTE5QUY3QjA0MDAyRUJB
QjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwICovOyB9Owog
CQk0QTNDQzE4QjE5QjA2NDBGMDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDRBNDEwRjNBMTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5oICovOyB9OwogCQk0QTNDQzE4QzE5QjA2NDE1MDBEMTRBRUYgLyogVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzQjE5QUY3QjA0MDAyRUJBQjUgLyogVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAgKi87IH07CkBAIC0zMDUyLDggKzMwNTIsOCBA
QAogCQk0MUZBRjVGNjFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUmVzb2x2ZXIuaDsgcGF0aCA9
IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSZXNvbHZl
ci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFy
ZWRNZW1vcnlDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBT
aGFyZWRNZW1vcnlDb2NvYS5jcHA7IHBhdGggPSBjb2NvYS9TaGFyZWRNZW1vcnlDb2NvYS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2QTJCNjA2MUU1Njc1QTIwMEMzREVEQSAv
KiBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQ2QTJCNjA3MUU1Njc1QTIwMEMzREVEQSAv
KiBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0NkEyQjYwNjFFNTY3NUEyMDBDM0RFREEgLyogQmFja2dy
b3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QTJCNjA3MUU1Njc1QTIwMEMzREVEQSAv
KiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM1MTlBRjdBQzMwMDJFQkFCNSAv
KiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNjE5QUY3QUMzMDAyRUJBQjUgLyogV0tVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRBNDEwRjM5MTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC02NDI2LDYgKzY0MjYsOCBAQAogCQkJCTFBQUYwODlFMTkyNjgx
QUMwMEI2MzkwQyAvKiBVc2VyQ29udGVudCAqLywKIAkJCQkxQTUzQzJBMzFBMzI1NjkxMDA0RThD
NzAgLyogV2Vic2l0ZURhdGEgKi8sCiAJCQkJN0NEMTAyRDkxODY2NzcwNjAwRUQ0MjlEIC8qIEF1
dG9Db3JyZWN0aW9uQ2FsbGJhY2suaCAqLywKKwkJCQk0NkEyQjYwNjFFNTY3NUEyMDBDM0RFREEg
LyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCAqLywKKwkJCQk0NkEy
QjYwNzFFNTY3NUEyMDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1Rp
bWVyLmggKi8sCiAJCQkJRTE1MTNDNjQxNjZFQUJCMjAwMTQ5RkNCIC8qIENoaWxkUHJvY2Vzc1By
b3h5LmNwcCAqLywKIAkJCQlFMTUxM0M2NTE2NkVBQkIyMDAxNDlGQ0IgLyogQ2hpbGRQcm9jZXNz
UHJveHkuaCAqLywKIAkJCQlCQzI2NTIxMjExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0FyZWFQ
cm94eS5jcHAgKi8sCkBAIC02NDYxLDggKzY0NjMsNiBAQAogCQkJCTFBQTQxN0M5MTJDMDBDQ0Ew
MDJCRTY3QiAvKiBUZXh0Q2hlY2tlci5oICovLAogCQkJCTFCQjQxN0M5MTJDMDBDQ0EwMDJCRTY3
QiAvKiBUZXh0Q2hlY2tlckNvbXBsZXRpb24uY3BwICovLAogCQkJCTFDQzQxN0M5MTJDMDBDQ0Ew
MDJCRTY3QiAvKiBUZXh0Q2hlY2tlckNvbXBsZXRpb24uaCAqLywKLQkJCQk0NkEyQjYwNjFFNTY3
NUEyMDBDM0RFREEgLyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3BwICovLAot
CQkJCTQ2QTJCNjA3MUU1Njc1QTIwMEMzREVEQSAvKiBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVy
bWluYXRvci5oICovLAogCQkJCTA3Mjk3RjlDMUMxN0JCRUEwMDNGMDczNSAvKiBVc2VyTWVkaWFQ
ZXJtaXNzaW9uQ2hlY2tQcm94eS5jcHAgKi8sCiAJCQkJMDcyOTdGOUQxQzE3QkJFQTAwM0YwNzM1
IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5LmggKi8sCiAJCQkJNEE0MTBGMzkxOUFG
N0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNw
cCAqLywKQEAgLTc5NzAsNyArNzk3MCw3IEBACiAJCQkJNEY2MDE0MzIxNTVDNUFBMjAwMUZCREUw
IC8qIEJsb2NraW5nUmVzcG9uc2VNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTcwNTExMUJF
NDEwRTYwMDg3NEFGMSAvKiBCbG9ja1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzMDY1RkEx
MjU5MzQ0RTAwRTcxMjc4IC8qIENhY2hlTW9kZWwuaCBpbiBIZWFkZXJzICovLAotCQkJCTQ2QTJC
NjA5MUU1Njc2QTYwMEMzREVEQSAvKiBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMkU1
MUQxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTJEOTU2RjEyODQ4NTY0MDAxRUI5NjIgLyogQ2hpbGRQcm9jZXNzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MUZBRUMzQTFCMDY1NzYzMDAwOUM0RTcgLyogQ2hpbGRQcm9jZXNzTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLApAQCAtOTY1Miw3ICs5NjUyLDcgQEAKIAkJCQk1MzIxNTk1MzFEQkFFNzE4
MDA1NEFBM0MgLyogTmV0d29ya1Nlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUMyMENC
OUQxQkIwRENGQTAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uQ29jb2EubW0gaW4gU291cmNlcyAq
LywKIAkJCQkzMUEyRUM1NTE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDZBMkI2MDgxRTU2NzZBNjAwQzNERURB
IC8qIFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTQ2QTJCNjA4MUU1Njc2QTYwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNp
dmVuZXNzVGltZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEzMTI2MUUxNDhGRjgyQzAwQkEy
QTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkzMUEyRUM1MDE0ODk5ODA1MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDg0OEMx
MjdGNkE0OTAwMUVCOTYyIC8qIE5QSWRlbnRpZmllckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302402</attachid>
            <date>2017-02-22 08:33:58 -0800</date>
            <delta_ts>2017-02-22 09:17:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168683-20170222083112.patch</filename>
            <type>text/plain</type>
            <size>32375</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzk0MzA2NzQ3NmU0ZGIy
YWYyNmI3NDExOGU0ZTQxYTVmNWQ2Nzg5MS4uN2Y5NGRkNjdjODc2ZDM0NTMxM2Q0MTBiNzIyZTA4
MDlkY2UyYTA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAyLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQ2FsbCBwcm9jZXNz
RGlkQmVjb21lVW5yZXNwb25zaXZlIGRlbGVnYXRlIHdoZW4gYSBiYWNrZ3JvdW5kIHByb2Nlc3Mg
aXMgdW5yZXNwb25zaXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg2ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNTU4NzQ1PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCisKKyAgICAgICAgQ2FsbCBwcm9jZXNzRGlk
QmVjb21lVW5yZXNwb25zaXZlIGRlbGVnYXRlIHdoZW4gYSBiYWNrZ3JvdW5kIHByb2Nlc3MgaXMg
dW5yZXNwb25zaXZlCisgICAgICAgIGluc3RlYWQgb2Yga2lsbGluZyBpdCBvbiBXZWJLaXQgc2lk
ZS4gVGhpcyBnaXZlcyB0aGUgY2xpZW50IHRoZSBjaG9pY2UgYWJvdXQgd2hhdCBpdAorICAgICAg
ICB3YW50cyB0byBkbyBhYm91dCB0aGlzIHByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VucmVzcG9uc2l2
ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmNwcC4KKyAgICAgICAgKFdlYktpdDo6QmFja2dyb3VuZFBy
b2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyOjpCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNz
VGltZXIpOgorICAgICAgICAoV2ViS2l0OjpCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNz
VGltZXI6OnVwZGF0ZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6QmFja2dyb3VuZFByb2Nlc3NS
ZXNwb25zaXZlbmVzc1RpbWVyOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQmFj
a2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpyZWF0dGFjaFRvV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlzcGF0Y2hBY3Rpdml0eVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojp0ZXJtaW5hdGVQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Om1fYmFja2dyb3VuZFJlc3BvbnNpdmVuZXNzVGltZXIpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTctMDItMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJSVENdIExpYldlYlJUQ1NvY2tldDo6U2VuZFRv
IG1lc3NhZ2Ugc2hvdWxkIGhhdmUgYSBjb3JyZWN0IFNvY2tldEFkZHJlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKaW5kZXggNGFlZWVlNjc1YzI0ZmMyNGRlZGU4MjlmZmQ3YzZiOGI1OGFmOTI1ZS4uMmRi
NzgyNzM2OWVmM2U2MTc0ODlmMTk4OTY2MTU5ZGExMDcyMGJmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKQEAgLTI3Myw2ICsyNzMsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBTaGFyZWQv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGEuY3BwCiAKKyAgICBVSVByb2Nlc3MvQmFja2dyb3VuZFBy
b2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcAogICAgIFVJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQ
cm94eS5jcHAKICAgICBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKICAgICBVSVByb2Nl
c3MvRnJhbWVMb2FkU3RhdGUuY3BwCkBAIC0yODUsNyArMjg2LDYgQEAgc2V0KFdlYktpdDJfU09V
UkNFUwogICAgIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAogICAgIFVJUHJvY2Vz
cy9TdGF0aXN0aWNzUmVxdWVzdC5jcHAKICAgICBVSVByb2Nlc3MvVGV4dENoZWNrZXJDb21wbGV0
aW9uLmNwcAotICAgIFVJUHJvY2Vzcy9VbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5j
cHAKICAgICBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwCiAgICAg
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAogICAg
IFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24uY3BwCmluZGV4IDE4ZDFlMmI5NzgzZDdiMmE1NTczYmQ3ZWYzZWI5MmJhMDE2MjY0
ZjAuLjI0NGZmMzkxZTY4NTQ0ZDNlMjEyMGI2NDg4OWQ1YzQ2Y2QyNGE1NzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5jcHAKQEAgLTk2LDcgKzk2LDYgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbj4gUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjb3B5KCkKICAgICBjb3B5LT5tX21heGlt
dW1Qcm9jZXNzQ291bnQgPSB0aGlzLT5tX21heGltdW1Qcm9jZXNzQ291bnQ7CiAgICAgY29weS0+
bV9jYWNoZU1vZGVsID0gdGhpcy0+bV9jYWNoZU1vZGVsOwogICAgIGNvcHktPm1fZGlza0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IHRoaXMtPm1fZGlza0NhY2hlU3BlY3VsYXRp
dmVWYWxpZGF0aW9uRW5hYmxlZDsKLSAgICBjb3B5LT5tX3VucmVzcG9uc2l2ZUJhY2tncm91bmRQ
cm9jZXNzZXNUZXJtaW5hdGlvbkVuYWJsZWQgPSB0aGlzLT5tX3VucmVzcG9uc2l2ZUJhY2tncm91
bmRQcm9jZXNzZXNUZXJtaW5hdGlvbkVuYWJsZWQ7CiAgICAgY29weS0+bV9kaXNrQ2FjaGVTaXpl
T3ZlcnJpZGUgPSB0aGlzLT5tX2Rpc2tDYWNoZVNpemVPdmVycmlkZTsKICAgICBjb3B5LT5tX2Fw
cGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkgPSB0aGlzLT5tX2FwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rv
cnk7CiAgICAgY29weS0+bV9hcHBsaWNhdGlvbkNhY2hlRmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1l
ID0gdGhpcy0+bV9hcHBsaWNhdGlvbkNhY2hlRmxhdEZpbGVTdWJkaXJlY3RvcnlOYW1lOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmgKaW5kZXggZDQyYjc0OWI5N2Y5ODJiMDVmZDQ2MDVlOGVmY2Q1YmU3OTM2
MzMzOS4uMTA0MDdkYTE5MDUwMDliMzdkN2FhYmY3MDE4ZjM2YzM0MTdmYzYyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5oCkBAIC01NSw5ICs1NSw2IEBAIHB1YmxpYzoKICAgICBib29sIGRpc2tDYWNo
ZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Rpc2tDYWNo
ZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7IH0KICAgICB2b2lkIHNldERpc2tDYWNoZVNw
ZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZGlza0NhY2hlU3Bl
Y3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7IH0KIAotICAgIGJvb2wgdW5yZXNw
b25zaXZlQmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fdW5yZXNwb25zaXZlQmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZDsg
fQotICAgIHZvaWQgc2V0VW5yZXNwb25zaXZlQmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV91bnJlc3BvbnNpdmVCYWNrZ3JvdW5kUHJvY2Vzc2Vz
VGVybWluYXRpb25FbmFibGVkID0gZW5hYmxlZDsgfQotCiAgICAgV2ViS2l0OjpDYWNoZU1vZGVs
IGNhY2hlTW9kZWwoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlTW9kZWw7IH0KICAgICB2b2lkIHNl
dENhY2hlTW9kZWwoV2ViS2l0OjpDYWNoZU1vZGVsIGNhY2hlTW9kZWwpIHsgbV9jYWNoZU1vZGVs
ID0gY2FjaGVNb2RlbDsgfQogCkBAIC0xMjQsNyArMTIxLDYgQEAgcHJpdmF0ZToKIAogICAgIHVu
c2lnbmVkIG1fbWF4aW11bVByb2Nlc3NDb3VudCB7IDAgfTsKICAgICBib29sIG1fZGlza0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX3VucmVz
cG9uc2l2ZUJhY2tncm91bmRQcm9jZXNzZXNUZXJtaW5hdGlvbkVuYWJsZWQgeyBmYWxzZSB9Owog
ICAgIFdlYktpdDo6Q2FjaGVNb2RlbCBtX2NhY2hlTW9kZWwgeyBXZWJLaXQ6OkNhY2hlTW9kZWxQ
cmltYXJ5V2ViQnJvd3NlciB9OwogICAgIGludDY0X3QgbV9kaXNrQ2FjaGVTaXplT3ZlcnJpZGUg
eyAtMSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3Bw
CmluZGV4IDJjY2U0ZGE1MDI1NzM0ZTgyM2Q0OGRjN2YwYzIwNDM0YThiYzQ0NjIuLjc0ODJkZTY4
MTRkOGIyZmYwYTJhMTE0OGNjNzFlNzlkMGE5MWM3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0zOTcsMTEgKzM5Nyw2IEBAIHZvaWQgV0tD
b250ZXh0U2V0RGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChXS0NvbnRleHRS
ZWYgY29udGV4dFJlZiwKICAgICB0b0ltcGwoY29udGV4dFJlZiktPmNvbmZpZ3VyYXRpb24oKS5z
ZXREaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKHZhbHVlKTsKIH0KIAotdm9p
ZCBXS0NvbnRleHRTZXRVbnJlc3BvbnNpdmVCYWNrZ3JvdW5kUHJvY2Vzc2VzVGVybWluYXRpb25F
bmFibGVkKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIHZhbHVlKQotewotICAgIHRvSW1w
bChjb250ZXh0UmVmKS0+Y29uZmlndXJhdGlvbigpLnNldFVucmVzcG9uc2l2ZUJhY2tncm91bmRQ
cm9jZXNzZXNUZXJtaW5hdGlvbkVuYWJsZWQodmFsdWUpOwotfQotCiBXS0Nvb2tpZU1hbmFnZXJS
ZWYgV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJlZikKIHsK
ICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRSZWYpLT5zdXBwbGVtZW50PFdlYkNvb2tp
ZU1hbmFnZXJQcm94eT4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLQ29udGV4dFByaXZhdGUuaAppbmRleCA0ZDgwNDhhZmM5YTcwMTEzM2NkODU3NmMxYTI3MzBk
MzdlMDhiMWQyLi42NzQyZmZiYTEzNzZkZWMxM2IzZmNjY2E4MzViODdlNDBjYzkyNmY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgK
QEAgLTYyLDggKzYyLDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0Q2FuSGFuZGxlSFRU
UFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oV0tDb250ZXh0UmVmIGNvbnQKIAogV0tfRVhQT1JUIHZv
aWQgV0tDb250ZXh0U2V0RGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChXS0Nv
bnRleHRSZWYgY29udGV4dCwgYm9vbCB2YWx1ZSk7CiAKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4
dFNldFVucmVzcG9uc2l2ZUJhY2tncm91bmRQcm9jZXNzZXNUZXJtaW5hdGlvbkVuYWJsZWQoV0tD
b250ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpOwotCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRl
eHRTZXRJY29uRGF0YWJhc2VQYXRoKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBp
Y29uRGF0YWJhc2VQYXRoKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmlj
YXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3Bv
bnNpdmVuZXNzVGltZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjOWQyNTYwZDE1NDY4MDdmYWFjNWIyZjdi
N2Q0OTY4NzZkNzdlNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMCwwICsxLDc1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIgorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IGluaXRpYWxJbnRlcnZhbCB7IDIwcyB9Oworc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIG1heGltdW1JbnRlcnZhbCB7IDhoIH07CisKK0JhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2
ZW5lc3NUaW1lcjo6QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyKFdlYlByb2Nl
c3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5KQorICAgIDogbV93ZWJQcm9jZXNzUHJveHkod2ViUHJv
Y2Vzc1Byb3h5KQorICAgICwgbV9pbnRlcnZhbChpbml0aWFsSW50ZXJ2YWwpCisgICAgLCBtX3Rp
bWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5l
c3NUaW1lcjo6dGltZXJGaXJlZCkKK3sKK30KKwordm9pZCBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3Bv
bnNpdmVuZXNzVGltZXI6OnVwZGF0ZVN0YXRlKCkKK3sKKyAgICBpZiAoIXNob3VsZEJlQWN0aXZl
KCkpIHsKKyAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICAgICAgbV9p
bnRlcnZhbCA9IGluaXRpYWxJbnRlcnZhbDsKKyAgICAgICAgICAgIG1fdGltZXIuc3RvcCgpOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fdGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9pbnRlcnZhbCk7Cit9CisK
K3ZvaWQgQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyOjp0aW1lckZpcmVkKCkK
K3sKKyAgICBBU1NFUlQoc2hvdWxkQmVBY3RpdmUoKSk7CisgICAgLy8gV2ViUHJvY2Vzc1Byb3h5
OjpyZXNwb25zaXZlKCkgdGFrZXMgY2FyZSBvZiBjYWxsaW5nIHByb2Nlc3NEaWRCZWNvbWVVbnJl
c3BvbnNpdmUgZm9yIHVzLgorICAgIG1fd2ViUHJvY2Vzc1Byb3h5LmlzUmVzcG9uc2l2ZShbdGhp
c10oYm9vbCBwcm9jZXNzSXNSZXNwb25zaXZlKSB7CisgICAgICAgIGlmIChwcm9jZXNzSXNSZXNw
b25zaXZlKSB7CisgICAgICAgICAgICAvLyBFeHBvbmVudGlhbCBiYWNrb2ZmIHRvIGF2b2lkIHdh
a2luZyB1cCB0aGUgcHJvY2VzcyB0b28gb2Z0ZW4uCisgICAgICAgICAgICBtX2ludGVydmFsID0g
c3RkOjptaW4obV9pbnRlcnZhbCAqIDIsIG1heGltdW1JbnRlcnZhbCk7CisgICAgICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChtX2ludGVydmFsKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBlcmZvcm1hbmNlTG9nZ2luZywg
Ik5vdGlmaWVkIHRoZSBjbGllbnQgdGhhdCBhIGJhY2tncm91bmQgV2ViUHJvY2VzcyBoYXMgYmVj
b21lIHVucmVzcG9uc2l2ZSIpOworICAgICAgICBXVEZMb2dBbHdheXMoIk5vdGlmaWVkIHRoZSBj
bGllbnQgdGhhdCBhIGJhY2tncm91bmQgV2ViUHJvY2VzcyBoYXMgYmVjb21lIHVucmVzcG9uc2l2
ZSIpOworICAgICAgICBtX2ludGVydmFsID0gaW5pdGlhbEludGVydmFsOworICAgIH0pOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9CYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xODc0OTI2ZGU5OTAxZWIzYTlmNGJlZmY3YjE2ODc2ZDFkZGE2YTIyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tncm91bmRQcm9jZXNzUmVz
cG9uc2l2ZW5lc3NUaW1lci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgorI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBCYWNrZ3JvdW5kUHJvY2Vzc1Jl
c3BvbnNpdmVuZXNzVGltZXIgeworcHVibGljOgorICAgIGV4cGxpY2l0IEJhY2tncm91bmRQcm9j
ZXNzUmVzcG9uc2l2ZW5lc3NUaW1lcihXZWJQcm9jZXNzUHJveHkmKTsKKyAgICB2b2lkIHVwZGF0
ZVN0YXRlKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCB0aW1lckZpcmVkKCk7CisgICAgYm9vbCBz
aG91bGRCZUFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICFtX3dlYlByb2Nlc3NQcm94eS52aXNpYmxl
UGFnZUNvdW50KCkgJiYgbV93ZWJQcm9jZXNzUHJveHkucGFnZUNvdW50KCk7IH0KKworICAgIFdl
YlByb2Nlc3NQcm94eSYgbV93ZWJQcm9jZXNzUHJveHk7CisgICAgc3RkOjpjaHJvbm86OnNlY29u
ZHMgbV9pbnRlcnZhbDsKKyAgICBSdW5Mb29wOjpUaW1lcjxCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3Bv
bnNpdmVuZXNzVGltZXI+IG1fdGltZXI7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q4NmQ2N2UzOTQ0YzVjZmQyYzI2OTMz
NDExN2JiYWI5MWUwMjI0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rl
cm1pbmF0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVy
bWluYXRvci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsK
LQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGluaXRpYWxJbnRlcnZhbCB7IDIw
cyB9Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1heGltdW1JbnRlcnZhbCB7
IDhoIH07Ci0KLVVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yOjpVbnJlc3BvbnNpdmVX
ZWJQcm9jZXNzVGVybWluYXRvcihXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSkKLSAg
ICA6IG1fd2ViUHJvY2Vzc1Byb3h5KHdlYlByb2Nlc3NQcm94eSkKLSAgICAsIG1faW50ZXJ2YWwo
aW5pdGlhbEludGVydmFsKQotICAgICwgbV90aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZV
bnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvcjo6dGltZXJGaXJlZCkKLXsKLX0KLQotdm9p
ZCBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvcjo6dXBkYXRlU3RhdGUoKQotewotICAg
IGlmICghc2hvdWxkQmVBY3RpdmUoKSkgewotICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgp
KSB7Ci0gICAgICAgICAgICBtX2ludGVydmFsID0gaW5pdGlhbEludGVydmFsOwotICAgICAgICAg
ICAgbV90aW1lci5zdG9wKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChtX2ludGVydmFsKTsKLX0KLQotc3RhdGljIFZlY3RvcjxSZWZQdHI8V2ViUGFnZVByb3h5Pj4g
cGFnZXNDb3B5KFdURjo6SXRlcmF0b3JSYW5nZTxXZWJQcm9jZXNzUHJveHk6OldlYlBhZ2VQcm94
eU1hcDo6Y29uc3RfaXRlcmF0b3I6OlZhbHVlcz4gcGFnZXMpCi17Ci0gICAgVmVjdG9yPFJlZlB0
cjxXZWJQYWdlUHJveHk+PiB2ZWN0b3I7Ci0gICAgZm9yIChhdXRvJiBwYWdlIDogcGFnZXMpCi0g
ICAgICAgIHZlY3Rvci5hcHBlbmQocGFnZSk7Ci0gICAgcmV0dXJuIHZlY3RvcjsKLX0KLQotdm9p
ZCBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvcjo6dGltZXJGaXJlZCgpCi17Ci0gICAg
QVNTRVJUKHNob3VsZEJlQWN0aXZlKCkpOwotICAgIG1fd2ViUHJvY2Vzc1Byb3h5LmlzUmVzcG9u
c2l2ZShbdGhpc10oYm9vbCBwcm9jZXNzSXNSZXNwb25zaXZlKSB7Ci0gICAgICAgIGlmIChwcm9j
ZXNzSXNSZXNwb25zaXZlKSB7Ci0gICAgICAgICAgICAvLyBFeHBvbmVudGlhbCBiYWNrb2ZmIHRv
IGF2b2lkIHdha2luZyB1cCB0aGUgcHJvY2VzcyB0b28gb2Z0ZW4uCi0gICAgICAgICAgICBtX2lu
dGVydmFsID0gc3RkOjptaW4obV9pbnRlcnZhbCAqIDIsIG1heGltdW1JbnRlcnZhbCk7Ci0gICAg
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2ludGVydmFsKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFBlcmZvcm1hbmNl
TG9nZ2luZywgIktpbGxpbmcgYSBiYWNrZ3JvdW5kIFdlYlByb2Nlc3MgYmVjYXVzZSBpdCBpcyBu
b3QgcmVzcG9uc2l2ZSIpOwotICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBwYWdlc0NvcHkobV93
ZWJQcm9jZXNzUHJveHkucGFnZXMoKSkpCi0gICAgICAgICAgICBwYWdlLT50ZXJtaW5hdGVQcm9j
ZXNzKFdlYlBhZ2VQcm94eTo6VGVybWluYXRpb25SZWFzb246OlVucmVzcG9uc2l2ZVdoaWxlSW5C
YWNrZ3JvdW5kKTsKLSAgICB9KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1p
bmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNpdmVXZWJQcm9jZXNz
VGVybWluYXRvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzE0ZGQ2NDlkYjQ0
YzNmYzM3ODQ0MTM1OWM5MWM0ZmZjZTQ4ZWNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9VbnJlc3BvbnNpdmVX
ZWJQcm9jZXNzVGVybWluYXRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0j
aW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFVu
cmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yIHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBV
bnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvcihXZWJQcm9jZXNzUHJveHkmKTsKLSAgICB2
b2lkIHVwZGF0ZVN0YXRlKCk7Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCB0aW1lckZpcmVkKCk7Ci0g
ICAgYm9vbCBzaG91bGRCZUFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuICFtX3dlYlByb2Nlc3NQcm94
eS52aXNpYmxlUGFnZUNvdW50KCkgJiYgbV93ZWJQcm9jZXNzUHJveHkucGFnZUNvdW50KCk7IH0K
LQotICAgIFdlYlByb2Nlc3NQcm94eSYgbV93ZWJQcm9jZXNzUHJveHk7Ci0gICAgc3RkOjpjaHJv
bm86OnNlY29uZHMgbV9pbnRlcnZhbDsKLSAgICBSdW5Mb29wOjpUaW1lcjxVbnJlc3BvbnNpdmVX
ZWJQcm9jZXNzVGVybWluYXRvcj4gbV90aW1lcjsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZGQ2N2FkNmQ2NzFhOTA3MmQ2YzA5ZGNkNDQ2
ZjYwMDM3MDg3YzlkNi4uYmE0NWZmNmIxYzk3OTYzYWY0ODFjYWZlNjE4OWQwOGJjYTk2YWY3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcxMiw3ICs3
MTIsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVhdHRhY2hUb1dlYlByb2Nlc3MoKQogICAgIEFT
U0VSVChtX3Byb2Nlc3MtPnN0YXRlKCkgPT0gV2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6VGVybWlu
YXRlZCk7CiAKICAgICBtX2lzVmFsaWQgPSB0cnVlOwotICAgIG1fd2FzS2lsbGVkRm9yQmVpbmdV
bnJlc3BvbnNpdmVXaGlsZUluQmFja2dyb3VuZCA9IGZhbHNlOwogICAgIG1fcHJvY2Vzcy0+cmVt
b3ZlV2ViUGFnZShtX3BhZ2VJRCk7CiAgICAgbV9wcm9jZXNzLT5yZW1vdmVNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJ
RCk7CiAKQEAgLTE1MTQsMzAgKzE1MTMsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnZpZXdEaWRF
bnRlcldpbmRvdygpCiAgICAgfQogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVsb2FkQWZ0ZXJC
ZWluZ0tpbGxlZEluQmFja2dyb3VuZCgpCi17Ci0gICAgQVNTRVJUKCFpc1ZhbGlkKCkpOwotCi0g
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBSZWxvYWRpbmcgdGFiIHRoYXQgd2FzIGtp
bGxlZCBpbiB0aGUgYmFja2dyb3VuZCIsIHRoaXMpOwotCi0gICAgLy8gT25seSByZXBvcnQgYXMg
YSBjcmFzaCBpZiB0aGUgcGFnZSB3YXMgZXZlciB2aXNpYmxlLCBvdGhlcndpc2Ugc2lsZW50bHkg
cmVsb2FkLgotICAgIGlmIChtX2hhc0V2ZXJCZWVuVmlzaWJsZSkKLSAgICAgICAgcHJvY2Vzc0Rp
ZENyYXNoKCk7Ci0gICAgZWxzZQotICAgICAgICByZWF0dGFjaFRvV2ViUHJvY2Vzc0ZvclJlbG9h
ZCgpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzcGF0Y2hBY3Rpdml0eVN0YXRlQ2hhbmdl
KCkKIHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBtX2FjdGl2aXR5U3RhdGVDaGFuZ2VEaXNw
YXRjaGVyLT5pbnZhbGlkYXRlKCk7CiAjZW5kaWYKIAotICAgIGlmICghaXNWYWxpZCgpKSB7Ci0g
ICAgICAgIGlmIChtX3BvdGVudGlhbGx5Q2hhbmdlZEFjdGl2aXR5U3RhdGVGbGFncyAmIEFjdGl2
aXR5U3RhdGU6OklzVmlzaWJsZSAmJiBtX3dhc0tpbGxlZEZvckJlaW5nVW5yZXNwb25zaXZlV2hp
bGVJbkJhY2tncm91bmQpCi0gICAgICAgICAgICByZWxvYWRBZnRlckJlaW5nS2lsbGVkSW5CYWNr
Z3JvdW5kKCk7CisgICAgaWYgKCFpc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAK
ICAgICAvLyBJZiB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBtYXkgaGF2ZSBjaGFuZ2VkLCB0aGVuIHNv
IG1heSB0aGUgdmlzdWFsbHkgaWRsZSAmIG9jY2x1ZGVkIGFnbm9zdGljIHN0YXRlLgogICAgIGlm
IChtX3BvdGVudGlhbGx5Q2hhbmdlZEFjdGl2aXR5U3RhdGVGbGFncyAmIEFjdGl2aXR5U3RhdGU6
OklzVmlzaWJsZSkKQEAgLTE1NzYsMTAgKzE1NTksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlz
cGF0Y2hBY3Rpdml0eVN0YXRlQ2hhbmdlKCkKICNlbmRpZgogCiAgICAgaWYgKGNoYW5nZWQgJiBB
Y3Rpdml0eVN0YXRlOjpJc1Zpc2libGUpIHsKLSAgICAgICAgaWYgKGlzVmlld1Zpc2libGUoKSkg
ewotICAgICAgICAgICAgbV9oYXNFdmVyQmVlblZpc2libGUgPSB0cnVlOworICAgICAgICBpZiAo
aXNWaWV3VmlzaWJsZSgpKQogICAgICAgICAgICAgbV92aXNpYmxlUGFnZVRva2VuID0gbV9wcm9j
ZXNzLT52aXNpYmxlUGFnZVRva2VuKCk7Ci0gICAgICAgIH0gZWxzZSB7CisgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgbV92aXNpYmxlUGFnZVRva2VuID0gbnVsbHB0cjsKIAogICAgICAgICAg
ICAgLy8gSWYgd2UndmUgc3RhcnRlZCB0aGUgcmVzcG9uc2l2ZW5lc3MgdGltZXIgYXMgcGFydCBv
ZiB0ZWxsaW5nIHRoZSB3ZWIgcHJvY2VzcyB0byB1cGRhdGUgdGhlIGJhY2tpbmcgc3RvcmUKQEAg
LTIzOTQsNyArMjM3Niw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRDdXN0b21UZXh0RW5jb2Rp
bmdOYW1lKGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1lKQogICAgIG1fcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2V0Q3VzdG9tVGV4dEVuY29kaW5nTmFtZShlbmNvZGluZ05hbWUp
LCBtX3BhZ2VJRCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp0ZXJtaW5hdGVQcm9jZXNzKFRl
cm1pbmF0aW9uUmVhc29uIHRlcm1pbmF0aW9uUmVhc29uKQordm9pZCBXZWJQYWdlUHJveHk6OnRl
cm1pbmF0ZVByb2Nlc3MoKQogewogICAgIC8vIE5PVEU6IFRoaXMgdXNlcyBhIGNoZWNrIG9mIG1f
aXNWYWxpZCByYXRoZXIgdGhhbiBjYWxsaW5nIGlzVmFsaWQoKSBzaW5jZQogICAgIC8vIHdlIHdh
bnQgdGhpcyB0byBydW4gZXZlbiBmb3IgcGFnZXMgYmVpbmcgY2xvc2VkIG9yIHRoYXQgYWxyZWFk
eSBjbG9zZWQuCkBAIC0yNDAzLDcgKzIzODUsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dGVybWlu
YXRlUHJvY2VzcyhUZXJtaW5hdGlvblJlYXNvbiB0ZXJtaW5hdGlvblJlYXNvbikKIAogICAgIG1f
cHJvY2Vzcy0+cmVxdWVzdFRlcm1pbmF0aW9uKCk7CiAgICAgcmVzZXRTdGF0ZUFmdGVyUHJvY2Vz
c0V4aXRlZCgpOwotICAgIG1fd2FzS2lsbGVkRm9yQmVpbmdVbnJlc3BvbnNpdmVXaGlsZUluQmFj
a2dyb3VuZCA9IHRlcm1pbmF0aW9uUmVhc29uID09IFRlcm1pbmF0aW9uUmVhc29uOjpVbnJlc3Bv
bnNpdmVXaGlsZUluQmFja2dyb3VuZDsKIH0KIAogU2Vzc2lvblN0YXRlIFdlYlBhZ2VQcm94eTo6
c2Vzc2lvblN0YXRlKGNvbnN0IHN0ZDo6ZnVuY3Rpb248Ym9vbCAoV2ViQmFja0ZvcndhcmRMaXN0
SXRlbSYpPiYgZmlsdGVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDIxYWJiOWNmMGRmYzRiNGJjZjI3YjkzYWE4MGIxZjIyNDY3OWZlZmYuLmU1YWQ4
MjBiMjZkMDUwZjQ4YTliYWUxNjEzNjliZWNkZDEyOWJmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTY3NSw4ICs2NzUsNyBAQCBwdWJsaWM6CiAKICAgICBk
b3VibGUgZXN0aW1hdGVkUHJvZ3Jlc3MoKSBjb25zdDsKIAotICAgIGVudW0gY2xhc3MgVGVybWlu
YXRpb25SZWFzb24geyBVbnJlc3BvbnNpdmVXaGlsZUluQmFja2dyb3VuZCwgT3RoZXIgfTsKLSAg
ICB2b2lkIHRlcm1pbmF0ZVByb2Nlc3MoVGVybWluYXRpb25SZWFzb24gPSBUZXJtaW5hdGlvblJl
YXNvbjo6T3RoZXIpOworICAgIHZvaWQgdGVybWluYXRlUHJvY2VzcygpOwogCiAgICAgU2Vzc2lv
blN0YXRlIHNlc3Npb25TdGF0ZShjb25zdCBzdGQ6OmZ1bmN0aW9uPGJvb2wgKFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0mKT4mID0gbnVsbHB0cikgY29uc3Q7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdh
dGlvbj4gcmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoU2Vzc2lvblN0YXRlLCBib29sIG5hdmlnYXRl
KTsKQEAgLTE1NzUsNyArMTU3NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwYXRjaEFjdGl2
aXR5U3RhdGVDaGFuZ2UoKTsKICAgICB2b2lkIHZpZXdEaWRMZWF2ZVdpbmRvdygpOwogICAgIHZv
aWQgdmlld0RpZEVudGVyV2luZG93KCk7Ci0gICAgdm9pZCByZWxvYWRBZnRlckJlaW5nS2lsbGVk
SW5CYWNrZ3JvdW5kKCk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBkaWRQZXJmb3Jt
SW1tZWRpYXRlQWN0aW9uSGl0VGVzdChjb25zdCBXZWJIaXRUZXN0UmVzdWx0RGF0YSYsIGJvb2wg
Y29udGVudFByZXZlbnRzRGVmYXVsdCwgY29uc3QgVXNlckRhdGEmKTsKQEAgLTE5NTAsNyArMTk0
OCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0hhZFNlbGVjdGlvbkNoYW5nZXNGcm9tVXNl
ckludGVyYWN0aW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1fbmVlZHNIaWRkZW5Db250ZW50RWRp
dGFibGVRdWlyayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX25lZWRzUGxhaW5UZXh0UXVpcmsgeyBm
YWxzZSB9OwotICAgIGJvb2wgbV9oYXNFdmVyQmVlblZpc2libGUgeyBmYWxzZSB9OwogCiAjaWYg
RU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgYm9vbCBtX2hhc01lZGlhU2Vzc2lvbldpdGhBY3Rp
dmVNZWRpYUVsZW1lbnRzIHsgZmFsc2UgfTsKQEAgLTE5NzYsNyArMTk3Myw2IEBAIHByaXZhdGU6
CiAjZW5kaWYKIAogICAgIGJvb2wgbV9pc1VzaW5nSGlnaFBlcmZvcm1hbmNlV2ViR0wgeyBmYWxz
ZSB9OwotICAgIGJvb2wgbV93YXNLaWxsZWRGb3JCZWluZ1VucmVzcG9uc2l2ZVdoaWxlSW5CYWNr
Z3JvdW5kIHsgZmFsc2UgfTsKICAgICAgICAgCiAgICAgV2Vha1B0ckZhY3Rvcnk8V2ViUGFnZVBy
b3h5PiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKaW5kZXggZDhiYzViNzZmNTk2MWM1ZTE5YmM2Y2YwMjBhNzkwNTNk
MGI4ZTNkMS4uMTliNTUxMDc4ODMxZmMyZDQyNmM3ZTliNjZjOGVkZGZhMzZkMGNlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRsZS5oIgogI2luY2x1ZGUgIkFQSVBhZ2VHcm91
cEhhbmRsZS5oIgogI2luY2x1ZGUgIkFQSVBhZ2VIYW5kbGUuaCIKKyNpbmNsdWRlICJCYWNrZ3Jv
dW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eU1hcC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
QEAgLTM2LDcgKzM3LDYgQEAKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIlRleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0ZS5oIgotI2lu
Y2x1ZGUgIlVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmgiCiAjaW5jbHVkZSAiVXNl
ckRhdGEuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSAi
V2ViSWNvbkRhdGFiYXNlLmgiCkBAIC0xMDMsNyArMTAzLDcgQEAgV2ViUHJvY2Vzc1Byb3h5OjpX
ZWJQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgICwgbV90aHJv
dHRsZXIoKnRoaXMpCiAgICAgLCBtX2lzUmVzcG9uc2l2ZShOb09yTWF5YmU6Ok1heWJlKQogICAg
ICwgbV92aXNpYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVC
YWNrZ3JvdW5kUmVzcG9uc2l2ZW5lc3NUaW1lcigpOyB9KQotICAgICwgbV9iYWNrZ3JvdW5kUmVz
cG9uc2l2ZW5lc3NUaW1lcihwcm9jZXNzUG9vbC5jb25maWd1cmF0aW9uKCkudW5yZXNwb25zaXZl
QmFja2dyb3VuZFByb2Nlc3Nlc1Rlcm1pbmF0aW9uRW5hYmxlZCgpID8gc3RkOjptYWtlX3VuaXF1
ZTxVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvcj4oKnRoaXMpIDogbnVsbHB0cikKKyAg
ICAsIG1fYmFja2dyb3VuZFJlc3BvbnNpdmVuZXNzVGltZXIoc3RkOjptYWtlX3VuaXF1ZTxCYWNr
Z3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXI+KCp0aGlzKSkKIHsKICAgICBXZWJQYXN0
ZWJvYXJkUHJveHk6OnNpbmdsZXRvbigpLmFkZFdlYlByb2Nlc3NQcm94eSgqdGhpcyk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCBlMzE4OTRlOTA0
NmUzMDc1Y2I2YzE0MGI4NTBjZWRiYTBkMWI3OTE4Li5hNzNlNWFhZmY0NThkOGE4NzVkMjkyZTA3
ZDQ2MmE2MjM2MDI0MGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oCkBAIC01NCw4ICs1NCw4IEBAIHN0cnVjdCBQbHVnaW5JbmZvOwogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAorY2xhc3MgQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyOwog
Y2xhc3MgTmV0d29ya1Byb2Nlc3NQcm94eTsKLWNsYXNzIFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NU
ZXJtaW5hdG9yOwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKIGNsYXNzIFdlYlBhZ2VH
cm91cDsKIGNsYXNzIFdlYlByb2Nlc3NQb29sOwpAQCAtMjU1LDcgKzI1NSw3IEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPHN0ZDo6ZnVuY3Rpb248dm9pZChib29sIHdlYlByb2Nlc3NJc1Jlc3BvbnNp
dmUpPj4gbV9pc1Jlc3BvbnNpdmVDYWxsYmFja3M7CiAKICAgICBWaXNpYmxlV2ViUGFnZUNvdW50
ZXIgbV92aXNpYmxlUGFnZUNvdW50ZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFVucmVzcG9uc2l2
ZVdlYlByb2Nlc3NUZXJtaW5hdG9yPiBtX2JhY2tncm91bmRSZXNwb25zaXZlbmVzc1RpbWVyOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXI+
IG1fYmFja2dyb3VuZFJlc3BvbnNpdmVuZXNzVGltZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3ZDVlMjc4MDQwN2U1ZmNkN2QzZTU1NjM2ZTkwMGNhZjI0NWFjZGZjLi5mNmJj
N2E3NDNlOTdmNmRkZGE4YTdjY2NhNzhhM2ExMDU4NGIwNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04OTksOCArODk5LDgg
QEAKIAkJNDFGQUY1RjgxRTNDMTAyMTAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZBRjVGNjFFM0Mw
QjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCAqLzsgfTsKIAkJNDFGQUY1RjkxRTND
MTAyNTAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBM
aWJXZWJSVENSZXNvbHZlci5jcHAgKi87IH07CiAJCTQ0NTBBRUMwMURDM0ZBRTUwMDk5NDNGMiAv
KiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29j
b2EuY3BwICovOyB9OwotCQk0NkEyQjYwODFFNTY3NkE2MDBDM0RFREEgLyogVW5yZXNwb25zaXZl
V2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8qIFVucmVzcG9uc2l2ZVdl
YlByb2Nlc3NUZXJtaW5hdG9yLmNwcCAqLzsgfTsKLQkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURB
IC8qIFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyog
VW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaCAqLzsgfTsKKwkJNDZBMkI2MDgxRTU2
NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkEyQjYwNjFF
NTY3NUEyMDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNw
cCAqLzsgfTsKKwkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZBMkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lci5oICovOyB9OwogCQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYg
LyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGMzkxOUFGN0IwNDAwMkVC
QUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLzsgfTsK
IAkJNEEzQ0MxOEIxOUIwNjQwRjAwRDE0QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QTQxMEYzQTE5QUY3QjA0MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKIAkJNEEzQ0MxOEMxOUIwNjQxNTAwRDE0QUVGIC8qIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGM0IxOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwICovOyB9OwpAQCAtMzA1Miw4ICszMDUyLDgg
QEAKIAkJNDFGQUY1RjYxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1Jlc29sdmVyLmg7IHBhdGgg
PSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MUZBRjVGNzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUmVzb2x2
ZXIuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hh
cmVkTWVtb3J5Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
U2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBwYXRoID0gY29jb2EvU2hhcmVkTWVtb3J5Q29jb2EuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NkEyQjYwNjFFNTY3NUEyMDBDM0RFREEg
LyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEg
LyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tn
cm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEg
LyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNTE5QUY3QUMzMDAyRUJBQjUg
LyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBGMzYxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0QTQxMEYzOTE5QUY3QjA0MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNjQyNiw2ICs2NDI2LDggQEAKIAkJCQkxQUFGMDg5RTE5MjY4
MUFDMDBCNjM5MEMgLyogVXNlckNvbnRlbnQgKi8sCiAJCQkJMUE1M0MyQTMxQTMyNTY5MTAwNEU4
QzcwIC8qIFdlYnNpdGVEYXRhICovLAogCQkJCTdDRDEwMkQ5MTg2Njc3MDYwMEVENDI5RCAvKiBB
dXRvQ29ycmVjdGlvbkNhbGxiYWNrLmggKi8sCisJCQkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURB
IC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8sCisJCQkJNDZB
MkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NU
aW1lci5oICovLAogCQkJCUUxNTEzQzY0MTY2RUFCQjIwMDE0OUZDQiAvKiBDaGlsZFByb2Nlc3NQ
cm94eS5jcHAgKi8sCiAJCQkJRTE1MTNDNjUxNjZFQUJCMjAwMTQ5RkNCIC8qIENoaWxkUHJvY2Vz
c1Byb3h5LmggKi8sCiAJCQkJQkMyNjUyMTIxMTgyNjA4MTAwMjQzRTEyIC8qIERyYXdpbmdBcmVh
UHJveHkuY3BwICovLApAQCAtNjQ2MSw4ICs2NDYzLDYgQEAKIAkJCQkxQUE0MTdDOTEyQzAwQ0NB
MDAyQkU2N0IgLyogVGV4dENoZWNrZXIuaCAqLywKIAkJCQkxQkI0MTdDOTEyQzAwQ0NBMDAyQkU2
N0IgLyogVGV4dENoZWNrZXJDb21wbGV0aW9uLmNwcCAqLywKIAkJCQkxQ0M0MTdDOTEyQzAwQ0NB
MDAyQkU2N0IgLyogVGV4dENoZWNrZXJDb21wbGV0aW9uLmggKi8sCi0JCQkJNDZBMkI2MDYxRTU2
NzVBMjAwQzNERURBIC8qIFVucmVzcG9uc2l2ZVdlYlByb2Nlc3NUZXJtaW5hdG9yLmNwcCAqLywK
LQkJCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rl
cm1pbmF0b3IuaCAqLywKIAkJCQkwNzI5N0Y5QzFDMTdCQkVBMDAzRjA3MzUgLyogVXNlck1lZGlh
UGVybWlzc2lvbkNoZWNrUHJveHkuY3BwICovLAogCQkJCTA3Mjk3RjlEMUMxN0JCRUEwMDNGMDcz
NSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5oICovLAogCQkJCTRBNDEwRjM5MTlB
RjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHAgKi8sCkBAIC03OTcwLDcgKzc5NzAsNyBAQAogCQkJCTRGNjAxNDMyMTU1QzVBQTIwMDFGQkRF
MCAvKiBCbG9ja2luZ1Jlc3BvbnNlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU3MDUxMTFC
RTQxMEU2MDA4NzRBRjEgLyogQmxvY2tTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA2NUZB
MTI1OTM0NEUwMEU3MTI3OCAvKiBDYWNoZU1vZGVsLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NkEy
QjYwOTFFNTY3NkE2MDBDM0RFREEgLyogVW5yZXNwb25zaXZlV2ViUHJvY2Vzc1Rlcm1pbmF0b3Iu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ2QTJCNjA5MUU1Njc2QTYwMEMzREVEQSAvKiBCYWNrZ3Jv
dW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTJF
NTFEMTJFNEMwNUUwMEJDNDk2NiAvKiBDR1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUEyRDk1NkYxMjg0ODU2NDAwMUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFGQUVDM0ExQjA2NTc2MzAwMDlDNEU3IC8qIENoaWxkUHJvY2Vzc01lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKQEAgLTk2NTIsNyArOTY1Miw3IEBACiAJCQkJNTMyMTU5NTMxREJBRTcx
ODAwNTRBQTNDIC8qIE5ldHdvcmtTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDMjBD
QjlEMUJCMERDRkEwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzFBMkVDNTUxNDg5OTgyRTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQ2QTJCNjA4MUU1Njc2QTYwMEMzREVE
QSAvKiBVbnJlc3BvbnNpdmVXZWJQcm9jZXNzVGVybWluYXRvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0NkEyQjYwODFFNTY3NkE2MDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25z
aXZlbmVzc1RpbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxMzEyNjFFMTQ4RkY4MkMwMEJB
MkEzOSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzFBMkVDNTAxNDg5OTgwNTAwODEwRDcxIC8qIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMkQ4NDhD
MTI3RjZBNDkwMDFFQjk2MiAvKiBOUElkZW50aWZpZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>