<?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>178945</bug_id>
          
          <creation_ts>2017-10-27 10:33:00 -0700</creation_ts>
          <short_desc>[Settings] Generate more of the WebKit preferences code</short_desc>
          <delta_ts>2017-11-15 12:36:00 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>178637</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1365420</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-27 10:33:00 -0700</bug_when>
    <thetext>[Settings] Generate more of the WebKit preferences code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365453</commentid>
    <comment_count>1</comment_count>
      <attachid>325181</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-27 11:51:58 -0700</bug_when>
    <thetext>Created attachment 325181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365547</commentid>
    <comment_count>2</comment_count>
      <attachid>325207</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-27 15:27:35 -0700</bug_when>
    <thetext>Created attachment 325207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365745</commentid>
    <comment_count>3</comment_count>
      <attachid>325207</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-28 11:04:09 -0700</bug_when>
    <thetext>Comment on attachment 325207
Patch

For what it&apos;s worth, I really hate that we&apos;re using Ruby instead of Python for this. This does against our efforts to move everything to Python and have a single language for our scripts. A lot of people do not know Ruby.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365746</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-28 11:04:31 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 325207 [details]
&gt; Patch
&gt; 
&gt; For what it&apos;s worth, I really hate that we&apos;re using Ruby instead of Python
&gt; for this. This does against our efforts to move everything to Python and
&gt; have a single language for our scripts. A lot of people do not know Ruby.

*goes* against</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365748</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-28 11:20:21 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 325207 [details]
&gt; Patch
&gt; 
&gt; For what it&apos;s worth, I really hate that we&apos;re using Ruby instead of Python
&gt; for this. This does against our efforts to move everything to Python and
&gt; have a single language for our scripts. A lot of people do not know Ruby.

I wasn&apos;t aware we had an effort to converge on a single scripting language (e.g. I have made no attempt to migrate the bindings generator to python nor has anyone else as far as I know). I have always gone with use the right tool for the job, and in this case, I wanted a templating library, which ruby has built in by way of ERB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365749</commentid>
    <comment_count>6</comment_count>
      <attachid>325207</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-28 11:21:15 -0700</bug_when>
    <thetext>Comment on attachment 325207
Patch

Rejecting attachment 325207 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 325207, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebKit/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/5024589</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365750</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-28 11:24:42 -0700</bug_when>
    <thetext>Committed r224154: &lt;https://trac.webkit.org/changeset/224154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365751</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-28 11:25:23 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #6)
&gt; Comment on attachment 325207 [details]
&gt; Patch
&gt; 
&gt; Rejecting attachment 325207 [details] from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;,
&gt; &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;,
&gt; &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 325207,
&gt; &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
&gt; 
&gt; /Volumes/Data/EWS/WebKit/Source/WebKit/ChangeLog neither lists a valid
&gt; reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case
&gt; insensitive).
&gt; 
&gt; Full output: http://webkit-queues.webkit.org/results/5024589

I don&apos;t get why this is happening. I feel like the commit queue used to be able to fill in the Reviewed by part. :\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365752</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-10-28 11:30:43 -0700</bug_when>
    <thetext>
&gt; I don&apos;t get why this is happening. I feel like the commit queue used to be
&gt; able to fill in the Reviewed by part. :\

I think it’s looking for an OOPS line to fill in which is missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365754</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-10-28 11:41:21 -0700</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #9)
&gt; &gt; I don&apos;t get why this is happening. I feel like the commit queue used to be
&gt; &gt; able to fill in the Reviewed by part. :\
&gt; 
&gt; I think it’s looking for an OOPS line to fill in which is missing.

Weird. Why did I remove that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372197</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 12:36:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/35567850&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325181</attachid>
            <date>2017-10-27 11:51:58 -0700</date>
            <delta_ts>2017-10-27 15:27:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178945-20171027115158.patch</filename>
            <type>text/plain</type>
            <size>48035</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjQxMTcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE3LTEwLTI3ICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1NldHRpbmdzXSBHZW5lcmF0ZSBtb3JlIG9m
IHRoZSBXZWJLaXQgcHJlZmVyZW5jZXMgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4OTQ1CisKKyAgICAgICAgR2VuZXJhdGUgV2ViUHJlZmVy
ZW5jZXNLZXlzLntoLGNwcH0gYW5kIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiOgorICAgICAgICAKKyAgICAgICAgICAg
IEdlbmVyYXRlIG5ldyBmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAK
KyAgICAgICAgICAgIFVwZGF0ZSBpbmNsdWRlLgorICAgICAgICAKKyAgICAgICAgKiBTY3JpcHRz
L1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAuZXJiOiBBZGRlZC4K
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5
cy5oLmVyYjogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAg
ICAgIEFkZCB0ZW1wbGF0ZSBmaWxlcyBmb3IgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaC4KKyAgICAg
ICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaDoKKyAgICAgICAgCisg
ICAgICAgICAgICBSZW5hbWVkIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnNCYXNlLmggdG8gV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggdG8gYmV0dGVyIGluZGljYXRlIHdoYXQgaXQgaXMu
CisgICAgICAgIAorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaDogUmVtb3ZlZC4KKyAg
ICAgICAgCisgICAgICAgICAgICBSZXBsYWNlZCB3aXRoIGdlbmVyYXRlZCB2ZXJzaW9ucy4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6ZGVmYXVsdHMpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmg6CisgICAgICAgIAorICAgICAgICAgICAgUmVwbGFjZSBtYWNybyBkcml2ZW4gZGVmYXVs
dHMgbWFwIHdpdGggZ2VuZXJhdGVkIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAu
CisKIDIwMTctMTAtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBzZXJ2aWNlV29ya2VyQ2xpZW50LnBvc3RNZXNzYWdl
KCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjI0MTA5KQorKysgU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTA5LDEwICs5MDksMTMgQEAg
bGlzdChBUFBFTkQgV2ViS2l0X0hFQURFUlMKIHNldChXZWJLaXRfV0VCX1BSRUZFUkVOQ0VTX1RF
TVBMQVRFUwogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVyYgogICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0
cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiCisg
ICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVu
Y2VzS2V5cy5jcHAuZXJiCisgICAgJHtXRUJLSVRfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVt
cGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5oLmVyYgorICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0
cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3Bw
LmVyYgogKQogCiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7REVSSVZFRF9TT1VS
Q0VTX1dFQktJVF9ESVJ9L1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisgICAgT1VUUFVU
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5j
cHAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9u
cy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzS2V5cy5jcHAg
JHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNLZXlzLmggJHtERVJJ
VkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNw
cAogICAgIE1BSU5fREVQRU5ERU5DWSAke1dFQktJVF9ESVJ9L1NoYXJlZC9XZWJQcmVmZXJlbmNl
cy55YW1sCiAgICAgREVQRU5EUyAke1dlYktpdF9XRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTfQog
ICAgIENPTU1BTkQgJHtSVUJZX0VYRUNVVEFCTEV9ICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9HZW5l
cmF0ZVByZWZlcmVuY2VzLnJiIC0taW5wdXQgJHtXRUJLSVRfRElSfS9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbCAtLW91dHB1dERpciAiJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0iCkBA
IC05MjAsMTAgKzkyMywxMyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCiAKIGxpc3QoQVBQRU5EIFdl
YktpdF9IRUFERVJTCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVy
ZW5jZXNEZWZpbml0aW9ucy5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2Vi
UHJlZmVyZW5jZXNLZXlzLmgKICkKIAogbGlzdChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICAk
e0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3Bw
CisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vV2ViUHJlZmVyZW5jZXNLZXlzLmNw
cAorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzU3RvcmVE
ZWZhdWx0c01hcC5jcHAKICkKIAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyMjQxMDkpCisrKyBTb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdv
cmtpbmcgY29weSkKQEAgLTI5MCwxMCArMjkwLDE0IEBAIGFsbCA6IFdlYkF1dG9tYXRpb25TZXNz
aW9uUHJveHlTY3JpcHRTb3UKIFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMgPSBcCiAgICAgJChX
ZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlBhZ2VVcGRhdGVQcmVmZXJl
bmNlcy5jcHAuZXJiIFwKICAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYiBcCisgICAgJChXZWJLaXQyKS9TY3Jp
cHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5oLmVyYiBcCisgICAg
JChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5
cy5jcHAuZXJiIFwKKyAgICAkKFdlYktpdDIpL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMv
V2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIgXAorCiAjCiAKLWFsbCA6IFdl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwCith
bGwgOiBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2Vz
LmNwcCBXZWJQcmVmZXJlbmNlc0tleXMuaCBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIFdlYlByZWZl
cmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKIAotV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucyVo
IFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcyVjcHA6ICQoV2ViS2l0MikvU2NyaXB0cy9HZW5lcmF0
ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChXZWJLaXQyKS9T
aGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucyVoIFdl
YlBhZ2VVcGRhdGVQcmVmZXJlbmNlcyVjcHAgV2ViUHJlZmVyZW5jZXNLZXlzJWggV2ViUHJlZmVy
ZW5jZXNLZXlzJWNwcCBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAlY3BwIDogJChXZWJL
aXQyKS9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIgJChXRUJfUFJFRkVSRU5DRVNfVEVN
UExBVEVTKSAkKFdlYktpdDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCiAJJChSVUJZKSAk
PCAtLWlucHV0ICQoV2ViS2l0MikvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKIApJbmRleDog
U291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9TY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmIJKHJldmlzaW9u
IDIyNDEwOSkKKysrIFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJi
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsMyArMTU2LDYgQEAgZW5kCiBwcmVmZXJlbmNlcyA9IFBy
ZWZlcmVuY2VzLm5ldyhwYXJzZWRQcmVmZXJlbmNlcykKIHByZWZlcmVuY2VzLnJlbmRlclRvRmls
ZSgiUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYiIs
IEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oIikpCiBwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxh
dGVzL1dlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNb
Om91dHB1dERpcmVjdG9yeV0sICJXZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwIikpCitwcmVm
ZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
S2V5cy5oLmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJlY3RvcnldLCAiV2ViUHJl
ZmVyZW5jZXNLZXlzLmgiKSkKK3ByZWZlcmVuY2VzLnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNU
ZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6
b3V0cHV0RGlyZWN0b3J5XSwgIldlYlByZWZlcmVuY2VzS2V5cy5jcHAiKSkKK3ByZWZlcmVuY2Vz
LnJlbmRlclRvRmlsZSgiUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURl
ZmF1bHRzTWFwLmNwcC5lcmIiLCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwg
IldlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAiKSkKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
LmguZXJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1Rl
bXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiCShyZXZpc2lvbiAyMjQxMDkp
CisrKyBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVy
ZW5jZXNEZWZpbml0aW9ucy5oLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnNCYXNl
LmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgiCiAKIC8vIG1hY3Jv
KEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWVVcHBlciwgVHlwZU5hbWUsIERlZmF1bHRWYWx1
ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikKIApJbmRleDog
U291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2Vz
S2V5cy5jcHAuZXJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVyYgkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIFRI
SVMgRklMRSBXQVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQsIERPIE5PVCBFRElULgorICoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0tleXMu
aCIKKworI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKK25hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleSB7CisKKzwlLSBmb3IgQHByZWYgaW4gQHBy
ZWZlcmVuY2VzIGRvIC0lPgorY29uc3QgU3RyaW5nJiA8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBrZXkoTUFLRV9TVEFUSUNf
U1RSSU5HX0lNUEwoIjwlPSBAcHJlZi5uYW1lICU+IikpOworICAgIHJldHVybiBrZXk7Cit9CisK
KzwlLSBlbmQgLSU+CisKK30gLy8gbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5Cit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1Rl
bXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuaC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5oLmVy
Ygkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1w
bGF0ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmguZXJiCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDAgQEAKKy8qCisgKiBUSElTIEZJTEUgV0FTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELCBETyBO
T1QgRURJVC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKK25hbWVzcGFjZSBXZWJQcmVmZXJl
bmNlc0tleSB7CisKKzwlLSBmb3IgQHByZWYgaW4gQHByZWZlcmVuY2VzIGRvIC0lPgorY29uc3Qg
U3RyaW5nJiA8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCk7Cis8JS0gZW5kIC0lPgorCit9IC8v
IG5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleQorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
Y3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01h
cC5jcHAuZXJiCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYgkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDU5IEBACisvKgorICogVEhJUyBGSUxFIFdBUyBBVVRPTUFU
SUNBTExZIEdFTkVSQVRFRCwgRE8gTk9UIEVESVQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKKworI2luY2x1ZGUgIldl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5
cy5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCisvLyBGSVhNRTogVGhlc2Ug
c2hvdWxkIGFkZGVkIHZpYSBvcHRpb25zIGluIFdlYlByZWZlcmVuY2VzLnlhbWwsIHJhdGhlciB0
aGFuIGhhcmRjb2RlZC4KKyNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TGliV2ViUlRDUHJvdmlkZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEVu
Y29kaW5nUmVnaXN0cnkuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgV2ViUHJlZmVyZW5j
ZXNTdG9yZTo6ZGVmYXVsdHMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWYWx1ZU1h
cD4gZGVmYXVsdHM7CisgICAgaWYgKGRlZmF1bHRzLmdldCgpLmlzRW1wdHkoKSkgeworPCUtIGZv
ciBAcHJlZiBpbiBAcHJlZmVyZW5jZXMgZG8gLSU+CisgICAgICAgIGRlZmF1bHRzLmdldCgpLnNl
dChXZWJQcmVmZXJlbmNlc0tleTo6PCU9IEBwcmVmLm5hbWVMb3dlciAlPktleSgpLCBWYWx1ZSg8
JT0gQHByZWYudHlwZSAlPig8JT0gQHByZWYuZGVmYXVsdFZhbHVlICU+KSkpOworPCUtIGVuZCAt
JT4KKyAgICB9CisKKyAgICByZXR1cm4gZGVmYXVsdHM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCShyZXZp
c2lvbiAyMjQxMDkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsMyBAQAotCiBKYXZhU2NyaXB0RW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCShyZXZpc2lvbiAyMjQx
MDkpCShmcm9tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnNC
YXNlLmg6MjI0MTA5KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZh
dWx0VmFsdWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxODEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBERUZBVUxU
X1dFQktJVF9UQUJTVE9MSU5LU19FTkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRf
V0VCS0lUX1RBQlNUT0xJTktTX0VOQUJMRUQgZmFsc2UKKyNlbmRpZgorCisjaWYgRU5BQkxFKFNN
T09USF9TQ1JPTExJTkcpCisjZGVmaW5lIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklNQVRPUl9F
TkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklNQVRP
Ul9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9S
TShHVEspCisjZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkdf
RU5BQkxFRCB0cnVlCisjZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfQ1NTX0FOSU1BVElPTl9T
VVNQRU5TSU9OX0VOQUJMRUQgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9ISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElOR19FTkFCTEVEIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfSElE
REVOX1BBR0VfQ1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQgZmFsc2UKKyNlbmRpZgor
CisjaWYgRU5BQkxFKFNFUlZFUl9QUkVDT05ORUNUKQorI2RlZmluZSBERUZBVUxUX0xJTktfUFJF
Q09OTkVDVF9FTkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfTElOS19QUkVDT05O
RUNUX0VOQUJMRUQgZmFsc2UKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5l
IERFRkFVTFRfUERGUExVR0lOX0VOQUJMRUQgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9Q
REZQTFVHSU5fRU5BQkxFRCBmYWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpCisjZGVm
aW5lIERFRkFVTFRfQUxMT1dTX1BJQ1RVUkVfSU5fUElDVFVSRV9NRURJQV9QTEFZQkFDSyB0cnVl
CisjZGVmaW5lIERFRkFVTFRfQkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQgZmFsc2UK
KyNkZWZpbmUgREVGQVVMVF9GUkFNRV9GTEFUVEVOSU5HIEZyYW1lRmxhdHRlbmluZzo6RnVsbHlF
bmFibGVkCisjZGVmaW5lIERFRkFVTFRfU0hPVUxEX1BSSU5UX0JBQ0tHUk9VTkRTIHRydWUKKyNk
ZWZpbmUgREVGQVVMVF9URVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUgZmFsc2UKKyNkZWZpbmUgREVG
QVVMVF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVUT01BVElDQUxMWSBmYWxzZQorI2Rl
ZmluZSBERUZBVUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OIHRydWUKKyNkZWZp
bmUgREVGQVVMVF9QQVNTV09SRF9FQ0hPX0VOQUJMRUQgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0FM
TE9XU19JTkxJTkVfTUVESUFfUExBWUJBQ0sgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9BTExPV1Nf
SU5MSU5FX01FRElBX1BMQVlCQUNLX0FGVEVSX0ZVTExTQ1JFRU4gdHJ1ZQorI2RlZmluZSBERUZB
VUxUX0lOTElORV9NRURJQV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRF
IHRydWUKKyNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCB0
cnVlCisjZGVmaW5lIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFUSUNBTExZIGZhbHNl
CisjZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00gZmFs
c2UKKyNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJM
RUQgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX0FVRElP
X1BMQVlCQUNLIHRydWUKKyNkZWZpbmUgREVGQVVMVF9MRUdBQ1lfRU5DUllQVEVEX01FRElBX0FQ
SV9FTkFCTEVEIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfSU5URVJBQ1RJVkVfTU5FRElBX0NBUFRV
UkVfU1RSRUFNX1JFUFJPTVBUX0lOVEVSVkFMX0lOX01JTlVURVMgMQorI2Vsc2UKKyNkZWZpbmUg
REVGQVVMVF9BTExPV1NfUElDVFVSRV9JTl9QSUNUVVJFX01FRElBX1BMQVlCQUNLIGZhbHNlCisj
ZGVmaW5lIERFRkFVTFRfQkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQgdHJ1ZQorI2Rl
ZmluZSBERUZBVUxUX0ZSQU1FX0ZMQVRURU5JTkcgRnJhbWVGbGF0dGVuaW5nOjpEaXNhYmxlZAor
I2RlZmluZSBERUZBVUxUX1NIT1VMRF9QUklOVF9CQUNLR1JPVU5EUyBmYWxzZQorI2RlZmluZSBE
RUZBVUxUX1RFWFRfQVJFQVNfQVJFX1JFU0laQUJMRSB0cnVlCisjZGVmaW5lIERFRkFVTFRfSkFW
QVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQorI2RlZmluZSBERUZB
VUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OIGZhbHNlCisjZGVmaW5lIERFRkFV
TFRfUEFTU1dPUkRfRUNIT19FTkFCTEVEIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfQUxMT1dTX0lO
TElORV9NRURJQV9QTEFZQkFDSyB0cnVlCisjZGVmaW5lIERFRkFVTFRfQUxMT1dTX0lOTElORV9N
RURJQV9QTEFZQkFDS19BRlRFUl9GVUxMU0NSRUVOIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfSU5M
SU5FX01FRElBX1BMQVlCQUNLX1JFUVVJUkVTX1BMQVlTX0lOTElORV9BVFRSSUJVVEUgZmFsc2UK
KyNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCBmYWxzZQor
I2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSB0cnVlCisjZGVm
aW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00gdHJ1ZQorI2Rl
ZmluZSBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJT05fRU5BQkxFRCB0cnVl
CisjZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFD
SyBmYWxzZQorI2RlZmluZSBERUZBVUxUX0xFR0FDWV9FTkNSWVBURURfTUVESUFfQVBJX0VOQUJM
RUQgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0lOVEVSQUNUSVZFX01ORURJQV9DQVBUVVJFX1NUUkVB
TV9SRVBST01QVF9JTlRFUlZBTF9JTl9NSU5VVEVTIDEwCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KENPQ09BKQorI2RlZmluZSBERUZBVUxUX0FMTE9XX01FRElBX0NPTlRFTlRfVFlQRVNfUkVRVUlS
SU5HX0hBUkRXQVJFX1NVUFBPUlRfQVNfRkFMTEJBQ0sgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVG
QVVMVF9BTExPV19NRURJQV9DT05URU5UX1RZUEVTX1JFUVVJUklOR19IQVJEV0FSRV9TVVBQT1JU
X0FTX0ZBTExCQUNLIGZhbHNlCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKKyNkZWZpbmUgREVGQVVMVF9TVUJQ
SVhFTF9BTlRJQUxJQVNFRF9MQVlFUl9URVhUX0VOQUJMRUQgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUg
REVGQVVMVF9TVUJQSVhFTF9BTlRJQUxJQVNFRF9MQVlFUl9URVhUX0VOQUJMRUQgZmFsc2UKKyNl
bmRpZgorCisjaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKKyNkZWZpbmUgREVGQVVMVF9BQ0NF
TEVSQVRFRF9EUkFXSU5HX0VOQUJMRUQgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9DQU5WQVNfVVNF
U19BQ0NFTEVSQVRFRF9EUkFXSU5HIGZhbHNlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0FDQ0VM
RVJBVEVEX0RSQVdJTkdfRU5BQkxFRCB0cnVlCisjZGVmaW5lIERFRkFVTFRfQ0FOVkFTX1VTRVNf
QUNDRUxFUkFURURfRFJBV0lORyB0cnVlCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQor
I2RlZmluZSBERUZBVUxUX1NIT1VMRF9DQVBUVVJFX0FVRElPX0lOX1VJUFJPQ0VTUyB0cnVlCisj
ZWxzZQorI2RlZmluZSBERUZBVUxUX1NIT1VMRF9DQVBUVVJFX0FVRElPX0lOX1VJUFJPQ0VTUyBm
YWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgREVGQVVMVF9NT0RF
Uk5fTUVESUFfQ09OVFJPTFNfRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX01P
REVSTl9NRURJQV9DT05UUk9MU19FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMAorLy8gPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE2ODQxNT4gRWwgQ2FwaXRhbiBOZXR3b3JrTG9hZFRpbWluZyB2
YWx1ZXMgYXJlIHNvbWV0aW1lcyBqdW1ibGVkCisjZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0VfVElN
SU5HX0VOQUJMRUQgZmFsc2UKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0VfVElNSU5H
X0VOQUJMRUQgdHJ1ZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgREVG
QVVMVF9EQVRBX1RSQU5TRkVSX0lURU1TX0VOQUJMRUQgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0RJ
UkVDVE9SWV9VUExPQURfRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0RBVEFf
VFJBTlNGRVJfSVRFTVNfRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX0RJUkVDVE9SWV9V
UExPQURfRU5BQkxFRCBmYWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKworI2Rl
ZmluZSBERUZBVUxUX1NUQU5EQVJEX0ZPTlRfRkFNSUxZICJUaW1lcyIKKyNkZWZpbmUgREVGQVVM
VF9GQU5UQVNZX0ZPTlRfRkFNSUxZICJQYXB5cnVzIgorI2RlZmluZSBERUZBVUxUX0ZJWEVEX0ZP
TlRfRkFNSUxZICJDb3VyaWVyIgorI2RlZmluZSBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVF9GQU1J
TFkgIkhlbHZldGljYSIKKyNkZWZpbmUgREVGQVVMVF9TRVJJRl9GT05UX0ZBTUlMWSAiVGltZXMi
CisKKyNpZiBQTEFURk9STShJT1MpCisjZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9GT05UX0ZBTUlM
WSAiU25lbGwgUm91bmRoYW5kIgorI2RlZmluZSBERUZBVUxUX1BJQ1RPR1JBUEhfRk9OVF9GQU1J
TFkgIkFwcGxlQ29sb3JFbW9qaSIKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9GT05U
X0ZBTUlMWSAiQXBwbGUgQ2hhbmNlcnkiCisjZGVmaW5lIERFRkFVTFRfUElDVE9HUkFQSF9GT05U
X0ZBTUlMWSAiQXBwbGUgQ29sb3IgRW1vamkiCisjZW5kaWYKKworI2Vsc2UKKworI2RlZmluZSBE
RUZBVUxUX1NUQU5EQVJEX0ZPTlRfRkFNSUxZICJUaW1lcyIKKyNkZWZpbmUgREVGQVVMVF9DVVJT
SVZFX0ZPTlRfRkFNSUxZICJDb21pYyBTYW5zIE1TIgorI2RlZmluZSBERUZBVUxUX0ZBTlRBU1lf
Rk9OVF9GQU1JTFkgIkltcGFjdCIKKyNkZWZpbmUgREVGQVVMVF9GSVhFRF9GT05UX0ZBTUlMWSAi
Q291cmllciBOZXciCisjZGVmaW5lIERFRkFVTFRfU0FOU19TRVJJRl9GT05UX0ZBTUlMWSAiSGVs
dmV0aWNhIgorI2RlZmluZSBERUZBVUxUX1NFUklGX0ZPTlRfRkFNSUxZICJUaW1lcyIKKyNkZWZp
bmUgREVGQVVMVF9QSUNUT0dSQVBIX0ZPTlRfRkFNSUxZICJUaW1lcyIKKworI2VuZGlmCisKKy8v
IE91ciBYY29kZSBidWlsZCBzeXN0ZW0gZG9lcyBub3QgY3VycmVudGx5IGhhdmUgYW55IGNvbmNl
cHQgb2YgREVWRUxPUEVSX01PREUuCisvLyBDb2NvYSBwb3J0cyBtdXN0IGRpc2FibGUgZXhwZXJp
bWVudGFsIGZlYXR1cmVzIG9uIHJlbGVhc2UgYnJhbmNoZXMgZm9yIG5vdy4KKyNpZiBFTkFCTEUo
REVWRUxPUEVSX01PREUpIHx8IFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBERUZBVUxUX0VYUEVS
SU1FTlRBTF9GRUFUVVJFU19FTkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQgZmFsc2UKKyNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zQmFzZS5oCShy
ZXZpc2lvbiAyMjQxMDkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmluaXRpb25zQmFzZS5oCShub25leGlzdGVudCkKQEAgLTEsMTgxICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgUExBVEZPUk0oR1RLKQotI2RlZmluZSBERUZB
VUxUX1dFQktJVF9UQUJTVE9MSU5LU19FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFV
TFRfV0VCS0lUX1RBQlNUT0xJTktTX0VOQUJMRUQgZmFsc2UKLSNlbmRpZgotCi0jaWYgRU5BQkxF
KFNNT09USF9TQ1JPTExJTkcpCi0jZGVmaW5lIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklNQVRP
Ul9FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklN
QVRPUl9FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFU
Rk9STShHVEspCi0jZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkdfRU5BQkxFRCB0cnVlCi0jZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfQ1NTX0FOSU1BVElP
Tl9TVVNQRU5TSU9OX0VOQUJMRUQgdHJ1ZQotI2Vsc2UKLSNkZWZpbmUgREVGQVVMVF9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElOR19FTkFCTEVEIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRf
SElEREVOX1BBR0VfQ1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQgZmFsc2UKLSNlbmRp
ZgotCi0jaWYgRU5BQkxFKFNFUlZFUl9QUkVDT05ORUNUKQotI2RlZmluZSBERUZBVUxUX0xJTktf
UFJFQ09OTkVDVF9FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfTElOS19QUkVD
T05ORUNUX0VOQUJMRUQgZmFsc2UKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVm
aW5lIERFRkFVTFRfUERGUExVR0lOX0VOQUJMRUQgdHJ1ZQotI2Vsc2UKLSNkZWZpbmUgREVGQVVM
VF9QREZQTFVHSU5fRU5BQkxFRCBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShJT1MpCi0j
ZGVmaW5lIERFRkFVTFRfQUxMT1dTX1BJQ1RVUkVfSU5fUElDVFVSRV9NRURJQV9QTEFZQkFDSyB0
cnVlCi0jZGVmaW5lIERFRkFVTFRfQkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQgZmFs
c2UKLSNkZWZpbmUgREVGQVVMVF9GUkFNRV9GTEFUVEVOSU5HIEZyYW1lRmxhdHRlbmluZzo6RnVs
bHlFbmFibGVkCi0jZGVmaW5lIERFRkFVTFRfU0hPVUxEX1BSSU5UX0JBQ0tHUk9VTkRTIHRydWUK
LSNkZWZpbmUgREVGQVVMVF9URVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUgZmFsc2UKLSNkZWZpbmUg
REVGQVVMVF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVUT01BVElDQUxMWSBmYWxzZQot
I2RlZmluZSBERUZBVUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OIHRydWUKLSNk
ZWZpbmUgREVGQVVMVF9QQVNTV09SRF9FQ0hPX0VOQUJMRUQgdHJ1ZQotI2RlZmluZSBERUZBVUxU
X0FMTE9XU19JTkxJTkVfTUVESUFfUExBWUJBQ0sgZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9BTExP
V1NfSU5MSU5FX01FRElBX1BMQVlCQUNLX0FGVEVSX0ZVTExTQ1JFRU4gdHJ1ZQotI2RlZmluZSBE
RUZBVUxUX0lOTElORV9NRURJQV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklC
VVRFIHRydWUKLSNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRF
RCB0cnVlCi0jZGVmaW5lIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFUSUNBTExZIGZh
bHNlCi0jZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00g
ZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VO
QUJMRUQgZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX0FV
RElPX1BMQVlCQUNLIHRydWUKLSNkZWZpbmUgREVGQVVMVF9MRUdBQ1lfRU5DUllQVEVEX01FRElB
X0FQSV9FTkFCTEVEIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRfSU5URVJBQ1RJVkVfTU5FRElBX0NB
UFRVUkVfU1RSRUFNX1JFUFJPTVBUX0lOVEVSVkFMX0lOX01JTlVURVMgMQotI2Vsc2UKLSNkZWZp
bmUgREVGQVVMVF9BTExPV1NfUElDVFVSRV9JTl9QSUNUVVJFX01FRElBX1BMQVlCQUNLIGZhbHNl
Ci0jZGVmaW5lIERFRkFVTFRfQkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQgdHJ1ZQot
I2RlZmluZSBERUZBVUxUX0ZSQU1FX0ZMQVRURU5JTkcgRnJhbWVGbGF0dGVuaW5nOjpEaXNhYmxl
ZAotI2RlZmluZSBERUZBVUxUX1NIT1VMRF9QUklOVF9CQUNLR1JPVU5EUyBmYWxzZQotI2RlZmlu
ZSBERUZBVUxUX1RFWFRfQVJFQVNfQVJFX1JFU0laQUJMRSB0cnVlCi0jZGVmaW5lIERFRkFVTFRf
SkFWQVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQotI2RlZmluZSBE
RUZBVUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OIGZhbHNlCi0jZGVmaW5lIERF
RkFVTFRfUEFTU1dPUkRfRUNIT19FTkFCTEVEIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRfQUxMT1dT
X0lOTElORV9NRURJQV9QTEFZQkFDSyB0cnVlCi0jZGVmaW5lIERFRkFVTFRfQUxMT1dTX0lOTElO
RV9NRURJQV9QTEFZQkFDS19BRlRFUl9GVUxMU0NSRUVOIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRf
SU5MSU5FX01FRElBX1BMQVlCQUNLX1JFUVVJUkVTX1BMQVlTX0lOTElORV9BVFRSSUJVVEUgZmFs
c2UKLSNkZWZpbmUgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCBmYWxz
ZQotI2RlZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSB0cnVlCi0j
ZGVmaW5lIERFRkFVTFRfTUVESUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00gdHJ1ZQot
I2RlZmluZSBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJT05fRU5BQkxFRCB0
cnVlCi0jZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZ
QkFDSyBmYWxzZQotI2RlZmluZSBERUZBVUxUX0xFR0FDWV9FTkNSWVBURURfTUVESUFfQVBJX0VO
QUJMRUQgdHJ1ZQotI2RlZmluZSBERUZBVUxUX0lOVEVSQUNUSVZFX01ORURJQV9DQVBUVVJFX1NU
UkVBTV9SRVBST01QVF9JTlRFUlZBTF9JTl9NSU5VVEVTIDEwCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKENPQ09BKQotI2RlZmluZSBERUZBVUxUX0FMTE9XX01FRElBX0NPTlRFTlRfVFlQRVNfUkVR
VUlSSU5HX0hBUkRXQVJFX1NVUFBPUlRfQVNfRkFMTEJBQ0sgdHJ1ZQotI2Vsc2UKLSNkZWZpbmUg
REVGQVVMVF9BTExPV19NRURJQV9DT05URU5UX1RZUEVTX1JFUVVJUklOR19IQVJEV0FSRV9TVVBQ
T1JUX0FTX0ZBTExCQUNLIGZhbHNlCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSNkZWZpbmUgREVGQVVMVF9T
VUJQSVhFTF9BTlRJQUxJQVNFRF9MQVlFUl9URVhUX0VOQUJMRUQgdHJ1ZQotI2Vsc2UKLSNkZWZp
bmUgREVGQVVMVF9TVUJQSVhFTF9BTlRJQUxJQVNFRF9MQVlFUl9URVhUX0VOQUJMRUQgZmFsc2UK
LSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKLSNkZWZpbmUgREVGQVVMVF9B
Q0NFTEVSQVRFRF9EUkFXSU5HX0VOQUJMRUQgZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9DQU5WQVNf
VVNFU19BQ0NFTEVSQVRFRF9EUkFXSU5HIGZhbHNlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX0FD
Q0VMRVJBVEVEX0RSQVdJTkdfRU5BQkxFRCB0cnVlCi0jZGVmaW5lIERFRkFVTFRfQ0FOVkFTX1VT
RVNfQUNDRUxFUkFURURfRFJBV0lORyB0cnVlCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09B
KQotI2RlZmluZSBERUZBVUxUX1NIT1VMRF9DQVBUVVJFX0FVRElPX0lOX1VJUFJPQ0VTUyB0cnVl
Ci0jZWxzZQotI2RlZmluZSBERUZBVUxUX1NIT1VMRF9DQVBUVVJFX0FVRElPX0lOX1VJUFJPQ0VT
UyBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgREVGQVVMVF9N
T0RFUk5fTUVESUFfQ09OVFJPTFNfRU5BQkxFRCB0cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxU
X01PREVSTl9NRURJQV9DT05UUk9MU19FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTIwMAotLy8g
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE2ODQxNT4gRWwgQ2FwaXRhbiBOZXR3b3JrTG9hZFRpbWlu
ZyB2YWx1ZXMgYXJlIHNvbWV0aW1lcyBqdW1ibGVkCi0jZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0Vf
VElNSU5HX0VOQUJMRUQgZmFsc2UKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfUkVTT1VSQ0VfVElN
SU5HX0VOQUJMRUQgdHJ1ZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUg
REVGQVVMVF9EQVRBX1RSQU5TRkVSX0lURU1TX0VOQUJMRUQgdHJ1ZQotI2RlZmluZSBERUZBVUxU
X0RJUkVDVE9SWV9VUExPQURfRU5BQkxFRCB0cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX0RB
VEFfVFJBTlNGRVJfSVRFTVNfRU5BQkxFRCBmYWxzZQotI2RlZmluZSBERUZBVUxUX0RJUkVDVE9S
WV9VUExPQURfRU5BQkxFRCBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLQot
I2RlZmluZSBERUZBVUxUX1NUQU5EQVJEX0ZPTlRfRkFNSUxZICJUaW1lcyIKLSNkZWZpbmUgREVG
QVVMVF9GQU5UQVNZX0ZPTlRfRkFNSUxZICJQYXB5cnVzIgotI2RlZmluZSBERUZBVUxUX0ZJWEVE
X0ZPTlRfRkFNSUxZICJDb3VyaWVyIgotI2RlZmluZSBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVF9G
QU1JTFkgIkhlbHZldGljYSIKLSNkZWZpbmUgREVGQVVMVF9TRVJJRl9GT05UX0ZBTUlMWSAiVGlt
ZXMiCi0KLSNpZiBQTEFURk9STShJT1MpCi0jZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9GT05UX0ZB
TUlMWSAiU25lbGwgUm91bmRoYW5kIgotI2RlZmluZSBERUZBVUxUX1BJQ1RPR1JBUEhfRk9OVF9G
QU1JTFkgIkFwcGxlQ29sb3JFbW9qaSIKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9G
T05UX0ZBTUlMWSAiQXBwbGUgQ2hhbmNlcnkiCi0jZGVmaW5lIERFRkFVTFRfUElDVE9HUkFQSF9G
T05UX0ZBTUlMWSAiQXBwbGUgQ29sb3IgRW1vamkiCi0jZW5kaWYKLQotI2Vsc2UKLQotI2RlZmlu
ZSBERUZBVUxUX1NUQU5EQVJEX0ZPTlRfRkFNSUxZICJUaW1lcyIKLSNkZWZpbmUgREVGQVVMVF9D
VVJTSVZFX0ZPTlRfRkFNSUxZICJDb21pYyBTYW5zIE1TIgotI2RlZmluZSBERUZBVUxUX0ZBTlRB
U1lfRk9OVF9GQU1JTFkgIkltcGFjdCIKLSNkZWZpbmUgREVGQVVMVF9GSVhFRF9GT05UX0ZBTUlM
WSAiQ291cmllciBOZXciCi0jZGVmaW5lIERFRkFVTFRfU0FOU19TRVJJRl9GT05UX0ZBTUlMWSAi
SGVsdmV0aWNhIgotI2RlZmluZSBERUZBVUxUX1NFUklGX0ZPTlRfRkFNSUxZICJUaW1lcyIKLSNk
ZWZpbmUgREVGQVVMVF9QSUNUT0dSQVBIX0ZPTlRfRkFNSUxZICJUaW1lcyIKLQotI2VuZGlmCi0K
LS8vIE91ciBYY29kZSBidWlsZCBzeXN0ZW0gZG9lcyBub3QgY3VycmVudGx5IGhhdmUgYW55IGNv
bmNlcHQgb2YgREVWRUxPUEVSX01PREUuCi0vLyBDb2NvYSBwb3J0cyBtdXN0IGRpc2FibGUgZXhw
ZXJpbWVudGFsIGZlYXR1cmVzIG9uIHJlbGVhc2UgYnJhbmNoZXMgZm9yIG5vdy4KLSNpZiBFTkFC
TEUoREVWRUxPUEVSX01PREUpIHx8IFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBERUZBVUxUX0VY
UEVSSU1FTlRBTF9GRUFUVVJFU19FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0VOQUJMRUQgZmFsc2UKLSNlbmRpZgpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwCShyZXZpc2lvbiAyMjQxMDkp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwCShub25leGlz
dGVudCkKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5oIgotCi0jaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotbmFtZXNwYWNlIFdlYlByZWZl
cmVuY2VzS2V5IHsKLQotI2RlZmluZSBERUZJTkVfS0VZX0dFVFRFUlMoS2V5VXBwZXIsIEtleUxv
d2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uKSBcCi0gICAgICAgIGNvbnN0IFN0cmluZyYgS2V5TG93ZXIj
I0tleSgpIFwKLSAgICAgICAgeyBcCi0gICAgICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
U3RyaW5nPiBrZXkoTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoI0tleVVwcGVyKSk7IFwKLSAgICAg
ICAgICAgIHJldHVybiBrZXk7IFwKLSAgICAgICAgfQotCi1GT1JfRUFDSF9XRUJLSVRfUFJFRkVS
RU5DRShERUZJTkVfS0VZX0dFVFRFUlMpCi1GT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5D
RShERUZJTkVfS0VZX0dFVFRFUlMpCi1GT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVfUFJFRkVSRU5DRShERUZJTkVfS0VZX0dFVFRFUlMpCi0KLSN1bmRlZiBERUZJTkVfS0VZX0dF
VFRFUlMKLQotfSAvLyBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkKLX0gLy8gbmFtZXNwYWNl
IFdlYktpdAoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNLZXlzLmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEg
KzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oCShyZXZpc2lvbiAyMjQxMDkp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdl
YlByZWZlcmVuY2VzS2V5c19oCi0jZGVmaW5lIFdlYlByZWZlcmVuY2VzS2V5c19oCi0KLSNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotbmFtZXNwYWNlIFdlYlByZWZlcmVuY2Vz
S2V5IHsKLQotI2RlZmluZSBERUNMQVJFX0tFWV9HRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwg
VHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVh
ZGFibGVEZXNjcmlwdGlvbikgY29uc3QgU3RyaW5nJiBLZXlMb3dlciMjS2V5KCk7Ci0KLUZPUl9F
QUNIX1dFQktJVF9QUkVGRVJFTkNFKERFQ0xBUkVfS0VZX0dFVFRFUlMpCi1GT1JfRUFDSF9XRUJL
SVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX0tFWV9HRVRURVJTKQotRk9SX0VBQ0hfV0VCS0lU
X0VYUEVSSU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9LRVlfR0VUVEVSUykKLQot
I3VuZGVmIERFQ0xBUkVfS0VZX0dFVFRFUlMKLQotfSAvLyBuYW1lc3BhY2UgV2ViUHJlZmVyZW5j
ZXNLZXkKLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gV2ViUHJlZmVyZW5jZXNL
ZXlzX2gKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzS2V5cy5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCww
ICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAJKHJldmlzaW9uIDIyNDEw
OSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiwxMyArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKIAotI2luY2x1ZGUgIkZvbnRTbW9vdGhpbmdMZXZl
bC5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlBy
ZWZlcmVuY2VzS2V5cy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvRGVwcmVjYXRlZEdsb2JhbFNldHRp
bmdzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENQcm92aWRlci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvU2V0dGluZ3MuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1RleHRFbmNvZGluZ1JlZ2lz
dHJ5Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwpAQCAtMTU4LDIwICsxNTMsNiBAQCB0ZW1wbGF0ZTw+IHVpbnQzMl90IGFzPHVp
bnQzMl90Pihjb25zdCBXCiB0ZW1wbGF0ZTw+IGRvdWJsZSBhczxkb3VibGU+KGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlJiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuYXNEb3VibGUoKTsg
fQogCiAKLXN0YXRpYyBXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcCYgZGVmYXVsdHMoKQot
ewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1h
cD4gZGVmYXVsdHM7Ci0gICAgaWYgKGRlZmF1bHRzLmdldCgpLmlzRW1wdHkoKSkgewotI2RlZmlu
ZSBERUZJTkVfREVGQVVMVFMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVm
YXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBk
ZWZhdWx0cy5nZXQoKS5zZXQoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2VyIyNLZXkoKSwgV2Vi
UHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoKFR5cGUpRGVmYXVsdFZhbHVlKSk7Ci0gICAgICAgIEZP
Ul9FQUNIX1dFQktJVF9QUkVGRVJFTkNFKERFRklORV9ERUZBVUxUUykKLSAgICAgICAgRk9SX0VB
Q0hfV0VCS0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVGSU5FX0RFRkFVTFRTKQotICAgICAgICBGT1Jf
RUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUZJTkVfREVGQVVM
VFMpCi0jdW5kZWYgREVGSU5FX0RFRkFVTFRTCi0gICAgfQotCi0gICAgcmV0dXJuIGRlZmF1bHRz
OwotfQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBNYXBwZWRUeXBlPgogc3RhdGljIE1hcHBlZFR5cGUg
dmFsdWVGb3JLZXkoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIHZhbHVlcywg
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIG92ZXJyaWRlbkRlZmF1bHRzLCBj
b25zdCBTdHJpbmcmIGtleSkKIHsKQEAgLTE4Myw3ICsxNjQsNyBAQCBzdGF0aWMgTWFwcGVkVHlw
ZSB2YWx1ZUZvcktleShjb25zdCBXZWJQCiAgICAgaWYgKG92ZXJyaWRlbkRlZmF1bHRzSXQgIT0g
b3ZlcnJpZGVuRGVmYXVsdHMuZW5kKCkgJiYgb3ZlcnJpZGVuRGVmYXVsdHNJdC0+dmFsdWUudHlw
ZSgpID09IFRvVHlwZTxNYXBwZWRUeXBlPjo6dmFsdWUpCiAgICAgICAgIHJldHVybiBhczxNYXBw
ZWRUeXBlPihvdmVycmlkZW5EZWZhdWx0c0l0LT52YWx1ZSk7CiAKLSAgICBhdXRvJiBkZWZhdWx0
c01hcCA9IGRlZmF1bHRzKCk7CisgICAgYXV0byYgZGVmYXVsdHNNYXAgPSBXZWJQcmVmZXJlbmNl
c1N0b3JlOjpkZWZhdWx0cygpOwogICAgIGF1dG8gZGVmYXVsdHNJdCA9IGRlZmF1bHRzTWFwLmZp
bmQoa2V5KTsKICAgICBpZiAoZGVmYXVsdHNJdCAhPSBkZWZhdWx0c01hcC5lbmQoKSAmJiBkZWZh
dWx0c0l0LT52YWx1ZS50eXBlKCkgPT0gVG9UeXBlPE1hcHBlZFR5cGU+Ojp2YWx1ZSkKICAgICAg
ICAgcmV0dXJuIGFzPE1hcHBlZFR5cGU+KGRlZmF1bHRzSXQtPnZhbHVlKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDIyNDEwOSkK
KysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTc5LDYgKzE3OSw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAg
ICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBWYWx1ZT4gVmFsdWVNYXA7CiAgICAgVmFsdWVNYXAg
bV92YWx1ZXM7CiAgICAgVmFsdWVNYXAgbV9vdmVycmlkZW5EZWZhdWx0czsKKworICAgIHN0YXRp
YyBWYWx1ZU1hcCYgZGVmYXVsdHMoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRl
eDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiAyMjQxMDkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjg5LDggKzEyODksNiBAQAogCQk3QzRBQkVE
NTFBQThGQ0I4MDA4OEFBMzcgLyogV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3REYXRhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRBQkVEMzFBQThG
Q0I4MDA4OEFBMzcgLyogV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3REYXRhLmggKi87IH07CiAJ
CTdDNkQzN0ZDMTcyRjU1NUYwMDlEMjg0NyAvKiBQYWdlQmFubmVyTWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2RDM3RkExNzJGNTU1RjAwOUQy
ODQ3IC8qIFBhZ2VCYW5uZXJNYWMubW0gKi87IH07CiAJCTdDNkU3MEZCMThCMkRDN0EwMEYyNEUy
RSAvKiBXZWJQcm9jZXNzQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzZFNzBGOTE4QjJENEEwMDBGMjRFMkUgLyogV2ViUHJvY2Vzc0NvY29h
Lm1tICovOyB9OwotCQk3Qzg1RkQ3RjE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNL
ZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
ODVGRDdEMTkzNDE2NjUwMDAxNzdDNCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICovOyB9Owot
CQk3Qzg1RkQ4MDE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg1RkQ3RTE5MzQxNjY1
MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmggKi87IH07CiAJCTdDODgyREY3MUM3RTk5
NjUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGMzFDN0U5OTVFMDA2QkY3MzEgLyogX1dL
VXNlckNvbnRlbnRXb3JsZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTdDODgyREY4MUM3RTk5NkMwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdv
cmxkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4
ODJERjQxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gKi87IH07CiAJ
CTdDODgyREY5MUM3RTk5NkYwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODgyREY1
MUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCAqLzsgfTsK
QEAgLTEzMTksNiArMTMxNywxMCBAQAogCQk3Q0EyNTRFQjE4Mjk5M0NFMDBGQzhBNDEgLyogV0tC
cm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NBMjU0RUExODI5OTNDRTAwRkM4QTQxIC8qIFdLQnJvd3Np
bmdDb250ZXh0UG9saWN5RGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3Q0EzNzkzRTFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDQTM3OTNEMUFDMzc4QjMwMDc5REMzNyAvKiBfV0tVc2VyQ29u
dGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTdDQUI5MzdBMUQ0NTlFNTEwMDcwRjU0MCAvKiBOZXR3b3Jr
Q2FjaGVDb2RlcnNDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0FCOTM3OTFENDU5RTRCMDA3MEY1NDAgLyogTmV0d29ya0NhY2hlQ29kZXJz
Q29jb2EuY3BwICovOyB9OworCQk3Q0IxMDBGMTFGQTM4NThBMDAxNzI5RUUgLyogV2ViUHJlZmVy
ZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdDQjEwMEVFMUZBMkQ3NEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICov
OyB9OworCQk3Q0IxMDBGMjFGQTM4NThFMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NE
RTczQTMxRjlEQUI2NTAwMzkwMzEyIC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAqLzsg
fTsKKwkJN0NCMTAwRjMxRkEzODU4RTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCMTAwRUYxRkEy
RDc0QjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovOyB9OworCQk3Q0IxMDBGNDFG
QTM4NTkyMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjEwMEYwMUZBMkQ3
ODQwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwICovOyB9Owog
CQk3Q0IxNkZFRjE3MjRCQTIzMDA3QTBBOTUgLyogY29tLmFwcGxlLmlzdC5kcy5hcHBsZWNvbm5l
Y3Qud2VicGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjE2RkUyMTcyNEI5QjUwMDdBMEE5NSAvKiBj
b20uYXBwbGUuaXN0LmRzLmFwcGxlY29ubmVjdC53ZWJwbHVnaW4uc2IgKi87IH07CiAJCTdDQjE2
RkYwMTcyNEJBMjQwMDdBMEE5NSAvKiBjb20uYXBwbGUuUXVpY2tUaW1lIFBsdWdpbi5wbHVnaW4u
c2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0NCMTZGRTMxNzI0QjlCNTAwN0EwQTk1IC8qIGNvbS5hcHBsZS5RdWlj
a1RpbWUgUGx1Z2luLnBsdWdpbi5zYiAqLzsgfTsKIAkJN0NCMTZGRjIxNzI0QkEyODAwN0EwQTk1
IC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllci5wbHVnaW4uc2IgaW4gQ29weSBQbHVnLWlu
IFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NC
MTZGRTUxNzI0QjlCNTAwN0EwQTk1IC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllci5wbHVn
aW4uc2IgKi87IH07CkBAIC0zNjY5LDggKzM2NzEsNiBAQAogCQk3QzRFRDMyNzFBMzExOUQ5MDA3
OUJENDkgLyogSW5qZWN0ZWRCdW5kbGVDU1NTdHlsZURlY2xhcmF0aW9uSGFuZGxlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlQ1NTU3R5bGVEZWNsYXJh
dGlvbkhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzZEMzdGQTE3MkY1
NTVGMDA5RDI4NDcgLyogUGFnZUJhbm5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFBhZ2VCYW5uZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTdDNkU3MEY5MThCMkQ0QTAwMEYyNEUyRSAvKiBXZWJQcm9jZXNzQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzQ29jb2EubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDODVGRDdEMTkzNDE2NjUwMDAxNzdDNCAv
KiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViUHJlZmVyZW5jZXNLZXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJN0M4NUZEN0UxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0tleXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M4ODJERjMxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1Vz
ZXJDb250ZW50V29ybGQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNl
ckNvbnRlbnRXb3JsZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Qzg4MkRGNDFD
N0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1VzZXJDb250ZW50V29ybGQubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDODgyREY1MUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2Vy
Q29udGVudFdvcmxkSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
X1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0zNjk5LDYgKzM2OTksOSBAQAogCQk3Q0EyNTRFQTE4Mjk5M0NFMDBGQzhBNDEgLyogV0tC
cm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDQTM3OTNEMUFDMzc4QjMwMDc5REMzNyAvKiBfV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3Q0FCOTM3OTFENDU5RTRCMDA3MEY1NDAgLyogTmV0d29ya0NhY2hlQ29k
ZXJzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29y
a0NhY2hlQ29kZXJzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Q0Ix
MDBFRTFGQTJENzRBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTdDQjEwMEVGMUZBMkQ3NEIwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTdDQjEwMEYwMUZBMkQ3ODQwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3Jl
RGVmYXVsdHNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNTdG9yZURl
ZmF1bHRzTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NCMTZGRTIxNzI0
QjlCNTAwN0EwQTk1IC8qIGNvbS5hcHBsZS5pc3QuZHMuYXBwbGVjb25uZWN0LndlYnBsdWdpbi5z
YiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20uYXBwbGUuaXN0LmRzLmFwcGxlY29ubmVjdC53
ZWJwbHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQjE2RkUzMTcyNEI5
QjUwMDdBMEE5NSAvKiBjb20uYXBwbGUuUXVpY2tUaW1lIFBsdWdpbi5wbHVnaW4uc2IgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gImNvbS5hcHBsZS5RdWlja1RpbWUgUGx1Z2luLnBsdWdpbi5zYiI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQjE2RkU0MTcyNEI5QjUwMDdBMEE5NSAv
KiBjb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gImNvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYi5pbiI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zNzI3LDcgKzM3MzAsNyBAQAogCQk3Q0Q2MjI3NTE3MzlEODYz
MDA1QkQ3RkYgLyogUGx1Z2luU2FuZGJveFByb2ZpbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBQbHVnaW5TYW5kYm94UHJvZmlsZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0NENjIyNzYxNzM5RDg2MzAwNUJEN0ZGIC8qIFBsdWdpblNhbmRi
b3hQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdpblNhbmRi
b3hQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDREU3MzlGMUY5REEz
N0EwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlcy55YW1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdlYlByZWZlcmVuY2VzLnlhbWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDREU3
M0EwMUY5REEzN0IwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zQmFzZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Q0RFNzNBMDFGOURBMzdCMDAz
OTAzMTIgLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3Q0RFNzNBMTFGOURBNDE0MDAzOTAzMTIgLyogR2VuZXJhdGVQ
cmVmZXJlbmNlcy5yYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnJ1Ynk7IHBhdGggPSBHZW5lcmF0
ZVByZWZlcmVuY2VzLnJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0RFNzNBMjFG
OURBNTk3MDAzOTAzMTIgLyogUHJlZmVyZW5jZXNUZW1wbGF0ZXMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmb2xkZXI7IHBhdGggPSBQcmVmZXJlbmNl
c1RlbXBsYXRlczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NERTczQTMxRjlEQUI2
NTAwMzkwMzEyIC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNTE0NCw5ICs1MTQ3LDcgQEAKIAkJCQlCQzU3NDRFRDEyNjM4RkIzMDA2RjBGMTIgLyogV2Vi
UG9wdXBJdGVtLmNwcCAqLywKIAkJCQlCQzU3NDRFRTEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9w
dXBJdGVtLmggKi8sCiAJCQkJN0NERTczOUYxRjlEQTM3QTAwMzkwMzEyIC8qIFdlYlByZWZlcmVu
Y2VzLnlhbWwgKi8sCi0JCQkJN0NERTczQTAxRjlEQTM3QjAwMzkwMzEyIC8qIFdlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnNCYXNlLmggKi8sCi0JCQkJN0M4NUZEN0QxOTM0MTY2NTAwMDE3N0M0IC8q
IFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgKi8sCi0JCQkJN0M4NUZEN0UxOTM0MTY2NTAwMDE3N0M0
IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovLAorCQkJCTdDREU3M0EwMUY5REEzN0IwMDM5MDMx
MiAvKiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCAqLywKIAkJCQlCQ0Q1OThBQjExMkI3
RkRGMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgKi8sCiAJCQkJQkNENTk4QUEx
MTJCN0ZERjAwRUM4QzIzIC8qIFdlYlByZWZlcmVuY2VzU3RvcmUuaCAqLywKIAkJCQlCQzMwNjgy
MzEyNUE2Qjk0MDBFNzEyNzggLyogV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8s
CkBAIC04MTQ1LDYgKzgxNDYsOSBAQAogCQkJCTFBQjFGNzk0MUQxQjM2MTMwMDdDOUJEMSAvKiBX
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFC
MUY3OTUxRDFCMzYxMzAwN0M5QkQxIC8qIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2Fn
ZXMuaCAqLywKIAkJCQk3Q0RFNzNBMzFGOURBQjY1MDAzOTAzMTIgLyogV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oICovLAorCQkJCTdDQjEwMEVFMUZBMkQ3NEEwMDE3MjlFRSAvKiBXZWJQcmVm
ZXJlbmNlc0tleXMuY3BwICovLAorCQkJCTdDQjEwMEVGMUZBMkQ3NEIwMDE3MjlFRSAvKiBXZWJQ
cmVmZXJlbmNlc0tleXMuaCAqLywKKwkJCQk3Q0IxMDBGMDFGQTJENzg0MDAxNzI5RUUgLyogV2Vi
UHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcCAqLywKIAkJCQkxQTA0M0Y2NzEyNTE0RDhC
MDBGRkJGQjUgLyogV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCTFBMDQzRjY4MTI1MTREOEIwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3Nh
Z2VzLmggKi8sCiAJCQkJQkMzMDY2QkMxMjVBNDQyMTAwRTcxMjc4IC8qIFdlYlByb2Nlc3NNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLApAQCAtOTA0Myw3ICs5MDQ3LDggQEAKIAkJCQlCQzU3NEU2MzEy
NjdEMDgwMDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDNTc1MDk3MTI2OEYzQzYwMDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQcm94eU1hYy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNENTk3RkYxMTJCNTdCRTAwRUM4QzIzIC8qIFdlYlByZWZlcmVuY2Vz
LmggaW4gSGVhZGVycyAqLywKLQkJCQk3Qzg1RkQ4MDE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJl
ZmVyZW5jZXNLZXlzLmggaW4gSGVhZGVycyAqLywKKwkJCQk3Q0IxMDBGMjFGQTM4NThFMDAxNzI5
RUUgLyogV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0NC
MTAwRjMxRkEzODU4RTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNENTk4QUMxMTJCN0ZERjAwRUM4QzIzIC8qIFdlYlByZWZlcmVuY2VzU3RvcmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExQzUxMkM5MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2
aWV3TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ5NzEwRjQzN0FGMDA1
OEMxNUEgLyogV2ViUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDY4OCw5ICsxMDY5Mywx
MCBAQAogCQkJCUJDQzQzQUM3MTI3Qjk5REUwMDMxN0YxNiAvKiBXZWJQb3B1cE1lbnVNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCQlCQzU3NTA5ODEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBN
ZW51UHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q1OTgwMDExMkI1N0JFMDBFQzhD
MjMgLyogV2ViUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0M4NUZEN0YxOTM0
MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk3Q0IxMDBGMTFGQTM4NThBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNl
c01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRDU5OEFEMTEyQjdGREYwMEVDOEMyMyAvKiBX
ZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDQjEwMEY0MUZBMzg1
OTIwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTFDNTEyQzgxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlByZXZpZXdMb2FkZXJD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBRTQxMTJGNUMyNjAwMzM3QkFCIC8q
IFdlYlByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M2RTcwRkIxOEIyREM3QTAwRjI0
RTJFIC8qIFdlYlByb2Nlc3NDb2NvYS5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325207</attachid>
            <date>2017-10-27 15:27:35 -0700</date>
            <delta_ts>2017-10-28 11:21:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178945-20171027152734.patch</filename>
            <type>text/plain</type>
            <size>48366</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjQxMzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE3LTEwLTI3ICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1NldHRpbmdzXSBHZW5lcmF0ZSBtb3JlIG9m
IHRoZSBXZWJLaXQgcHJlZmVyZW5jZXMgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4OTQ1CisKKyAgICAgICAgR2VuZXJhdGUgV2ViUHJlZmVy
ZW5jZXNLZXlzLntoLGNwcH0gYW5kIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiOgorICAgICAgICAKKyAgICAgICAgICAg
IEdlbmVyYXRlIG5ldyBmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmguZXJiOgorICAgICAgICAK
KyAgICAgICAgICAgIFVwZGF0ZSBpbmNsdWRlLgorICAgICAgICAKKyAgICAgICAgKiBTY3JpcHRz
L1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAuZXJiOiBBZGRlZC4K
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5
cy5oLmVyYjogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9X
ZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYjogQWRkZWQuCisKKyAgICAgICAg
ICAgIEFkZCB0ZW1wbGF0ZSBmaWxlcyBmb3IgbmV3IGdlbmVyYXRlZCBmaWxlcy4KKworICAgICAg
ICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaC4KKyAgICAg
ICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaDoKKyAgICAgICAgCisg
ICAgICAgICAgICBSZW5hbWVkIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnNCYXNlLmggdG8gV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggdG8gYmV0dGVyIGluZGljYXRlIHdoYXQgaXQgaXMu
CisgICAgICAgIAorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaDogUmVtb3ZlZC4KKyAg
ICAgICAgCisgICAgICAgICAgICBSZXBsYWNlZCB3aXRoIGdlbmVyYXRlZCB2ZXJzaW9ucy4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6ZGVmYXVsdHMpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmg6CisgICAgICAgIAorICAgICAgICAgICAgUmVwbGFjZSBtYWNybyBkcml2ZW4gZGVmYXVs
dHMgbWFwIHdpdGggZ2VuZXJhdGVkIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAu
CisKIDIwMTctMTAtMjcgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXVtDTWFrZV0gSW5jb3JyZWN0IGNvbmRpdGlvbmFsIGNoZWNrIHdo
ZW4gYWRkaW5nIGJ1aWxkIGRpciB0byBHSVIgcnVudGltZSBsaWJyYXJ5IHBhdGgKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9D
TWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMjI0MTMyKQorKysgU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjA5LDcgKzIwOSw2IEBAIHNldChXZWJLaXRfU09V
UkNFUwogICAgIFNoYXJlZC9XZWJQYWdlR3JvdXBEYXRhLmNwcAogICAgIFNoYXJlZC9XZWJQbGF0
Zm9ybVRvdWNoUG9pbnQuY3BwCiAgICAgU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAKLSAgICBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAogICAgIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmNwcAogICAgIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAogICAgIFNo
YXJlZC9XZWJSZW5kZXJMYXllci5jcHAKQEAgLTkwOSwxMCArOTA4LDEzIEBAIGxpc3QoQVBQRU5E
IFdlYktpdF9IRUFERVJTCiBzZXQoV2ViS2l0X1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKICAg
ICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUGFnZVVwZGF0
ZVByZWZlcmVuY2VzLmNwcC5lcmIKICAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgorICAgICR7V0VCS0lU
X0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3Bw
LmVyYgorICAgICR7V0VCS0lUX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQ
cmVmZXJlbmNlc0tleXMuaC5lcmIKKyAgICAke1dFQktJVF9ESVJ9L1NjcmlwdHMvUHJlZmVyZW5j
ZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIKICkKIAog
YWRkX2N1c3RvbV9jb21tYW5kKAotICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19XRUJLSVRf
RElSfS9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VF9ESVJ9L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorICAgIE9VVFBVVCAke0RFUklWRURf
U09VUkNFU19XRUJLSVRfRElSfS9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwICR7REVSSVZF
RF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAke0RFUklW
RURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJlbmNlc0tleXMuY3BwICR7REVSSVZFRF9T
T1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzS2V5cy5oICR7REVSSVZFRF9TT1VSQ0VT
X1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAKICAgICBNQUlO
X0RFUEVOREVOQ1kgJHtXRUJLSVRfRElSfS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAogICAg
IERFUEVORFMgJHtXZWJLaXRfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30KICAgICBDT01NQU5E
ICR7UlVCWV9FWEVDVVRBQkxFfSAke1dFQktJVF9ESVJ9L1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJl
bmNlcy5yYiAtLWlucHV0ICR7V0VCS0lUX0RJUn0vU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwg
LS1vdXRwdXREaXIgIiR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9IgpAQCAtOTIwLDEwICs5
MjIsMTMgQEAgYWRkX2N1c3RvbV9jb21tYW5kKAogCiBsaXN0KEFQUEVORCBXZWJLaXRfSEVBREVS
UwogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2Vz
S2V5cy5oCiApCiAKIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUX0RJUn0vV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcAorICAgICR7REVS
SVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L1dlYlByZWZlcmVuY2VzS2V5cy5jcHAKKyAgICAke0RF
UklWRURfU09VUkNFU19XRUJLSVRfRElSfS9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAu
Y3BwCiApCiAKIApJbmRleDogU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjI0
MTMyKQorKysgU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkp
CkBAIC0yOTAsMTAgKzI5MCwxNCBAQCBhbGwgOiBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5U2Ny
aXB0U291CiBXRUJfUFJFRkVSRU5DRVNfVEVNUExBVEVTID0gXAogICAgICQoV2ViS2l0MikvU2Ny
aXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdlVXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVy
YiBcCiAgICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZl
cmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIgXAorICAgICQoV2ViS2l0MikvU2NyaXB0cy9QcmVmZXJl
bmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuaC5lcmIgXAorICAgICQoV2ViS2l0Mikv
U2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVyYiBc
CisgICAgJChXZWJLaXQyKS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVu
Y2VzU3RvcmVEZWZhdWx0c01hcC5jcHAuZXJiIFwKKwogIwogCi1hbGwgOiBXZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmggV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcAorYWxsIDogV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIFdlYlBhZ2VVcGRhdGVQcmVmZXJlbmNlcy5jcHAgV2ViUHJl
ZmVyZW5jZXNLZXlzLmggV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBXZWJQcmVmZXJlbmNlc1N0b3Jl
RGVmYXVsdHNNYXAuY3BwCiAKLVdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMlaCBXZWJQYWdlVXBk
YXRlUHJlZmVyZW5jZXMlY3BwOiAkKFdlYktpdDIpL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNl
cy5yYiAkKFdFQl9QUkVGRVJFTkNFU19URU1QTEFURVMpICQoV2ViS2l0MikvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwKK1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMlaCBXZWJQYWdlVXBkYXRl
UHJlZmVyZW5jZXMlY3BwIFdlYlByZWZlcmVuY2VzS2V5cyVoIFdlYlByZWZlcmVuY2VzS2V5cyVj
cHAgV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwJWNwcCA6ICQoV2ViS2l0MikvU2NyaXB0
cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiICQoV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFUykgJChX
ZWJLaXQyKS9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAogCSQoUlVCWSkgJDwgLS1pbnB1dCAk
KFdlYktpdDIpL1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiCShyZXZpc2lvbiAyMjQxMzIpCisr
KyBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYgkod29ya2luZyBj
b3B5KQpAQCAtMTU2LDMgKzE1Niw2IEBAIGVuZAogcHJlZmVyZW5jZXMgPSBQcmVmZXJlbmNlcy5u
ZXcocGFyc2VkUHJlZmVyZW5jZXMpCiBwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIiLCBGaWxlLmpvaW4o
b3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCIp
KQogcHJlZmVyZW5jZXMucmVuZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQYWdl
VXBkYXRlUHJlZmVyZW5jZXMuY3BwLmVyYiIsIEZpbGUuam9pbihvcHRpb25zWzpvdXRwdXREaXJl
Y3RvcnldLCAiV2ViUGFnZVVwZGF0ZVByZWZlcmVuY2VzLmNwcCIpKQorcHJlZmVyZW5jZXMucmVu
ZGVyVG9GaWxlKCJQcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuaC5lcmIi
LCBGaWxlLmpvaW4ob3B0aW9uc1s6b3V0cHV0RGlyZWN0b3J5XSwgIldlYlByZWZlcmVuY2VzS2V5
cy5oIikpCitwcmVmZXJlbmNlcy5yZW5kZXJUb0ZpbGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dl
YlByZWZlcmVuY2VzS2V5cy5jcHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVj
dG9yeV0sICJXZWJQcmVmZXJlbmNlc0tleXMuY3BwIikpCitwcmVmZXJlbmNlcy5yZW5kZXJUb0Zp
bGUoIlByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5j
cHAuZXJiIiwgRmlsZS5qb2luKG9wdGlvbnNbOm91dHB1dERpcmVjdG9yeV0sICJXZWJQcmVmZXJl
bmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwIikpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NjcmlwdHMv
UHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2Vi
UHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oLmVyYgkocmV2aXNpb24gMjI0MTMyKQorKysgU291cmNl
L1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaC5lcmIJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zQmFzZS5oIgorI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIgogCiAvLyBtYWNybyhLZXlVcHBlciwg
S2V5TG93ZXIsIFR5cGVOYW1lVXBwZXIsIFR5cGVOYW1lLCBEZWZhdWx0VmFsdWUsIEh1bWFuUmVh
ZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pCiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuY3BwLmVy
Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcC5lcmIJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAu
ZXJiCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBUSElTIEZJTEUgV0FT
IEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELCBETyBOT1QgRURJVC4KKyAqCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNLZXlzLmgiCisKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3Bh
Y2UgV2ViUHJlZmVyZW5jZXNLZXkgeworCis8JS0gZm9yIEBwcmVmIGluIEBwcmVmZXJlbmNlcyBk
byAtJT4KK2NvbnN0IFN0cmluZyYgPCU9IEBwcmVmLm5hbWVMb3dlciAlPktleSgpCit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4ga2V5KE1BS0VfU1RBVElDX1NUUklOR19JTVBM
KCI8JT0gQHByZWYubmFtZSAlPiIpKTsKKyAgICByZXR1cm4ga2V5OworfQorCis8JS0gZW5kIC0l
PgorCit9IC8vIG5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleQorfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2Vi
UHJlZmVyZW5jZXNLZXlzLmguZXJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2NyaXB0
cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0tleXMuaC5lcmIJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlBy
ZWZlcmVuY2VzS2V5cy5oLmVyYgkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACisvKgor
ICogVEhJUyBGSUxFIFdBUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRCwgRE8gTk9UIEVESVQuCisg
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CituYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkgewor
Cis8JS0gZm9yIEBwcmVmIGluIEBwcmVmZXJlbmNlcyBkbyAtJT4KK2NvbnN0IFN0cmluZyYgPCU9
IEBwcmVmLm5hbWVMb3dlciAlPktleSgpOworPCUtIGVuZCAtJT4KKworfSAvLyBuYW1lc3BhY2Ug
V2ViUHJlZmVyZW5jZXNLZXkKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dl
YktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzU3RvcmVEZWZh
dWx0c01hcC5jcHAuZXJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVm
ZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwLmVyYgko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcC5lcmIJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIFRISVMgRklMRSBXQVMgQVVUT01BVElDQUxMWSBHRU5F
UkFURUQsIERPIE5PVCBFRElULgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCisKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0tleXMuaCIKKyNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworLy8gRklYTUU6IFRoZXNlIHNob3VsZCBhZGRl
ZCB2aWEgb3B0aW9ucyBpbiBXZWJQcmVmZXJlbmNlcy55YW1sLCByYXRoZXIgdGhhbiBoYXJkY29k
ZWQuCisjaW5jbHVkZSAiRm9udFNtb290aGluZ0xldmVsLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9E
ZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1By
b3ZpZGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvU2V0dGluZ3MuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RleHRFbmNvZGluZ1JlZ2lz
dHJ5Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsK
KworV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIFdlYlByZWZlcmVuY2VzU3RvcmU6OmRl
ZmF1bHRzKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmFsdWVNYXA+IGRlZmF1bHRz
OworICAgIGlmIChkZWZhdWx0cy5nZXQoKS5pc0VtcHR5KCkpIHsKKzwlLSBmb3IgQHByZWYgaW4g
QHByZWZlcmVuY2VzIGRvIC0lPgorICAgICAgICBkZWZhdWx0cy5nZXQoKS5zZXQoV2ViUHJlZmVy
ZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSwgVmFsdWUoPCU9IEBwcmVmLnR5
cGUgJT4oPCU9IEBwcmVmLmRlZmF1bHRWYWx1ZSAlPikpKTsKKzwlLSBlbmQgLSU+CisgICAgfQor
CisgICAgcmV0dXJuIGRlZmF1bHRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkocmV2aXNpb24gMjI0MTMy
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkod29ya2luZyBj
b3B5KQpAQCAtMSw0ICsxLDMgQEAKLQogSmF2YVNjcmlwdEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wK
ICAgZGVmYXVsdFZhbHVlOiB0cnVlCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaAkocmV2aXNpb24gMjI0MTMyKQkoZnJvbSBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zQmFzZS5oOjIyNDEz
MikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTgxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIFBMQVRGT1JNKEdUSykKKyNkZWZpbmUgREVGQVVMVF9XRUJLSVRfVEFC
U1RPTElOS1NfRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX1dFQktJVF9UQUJT
VE9MSU5LU19FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2lmIEVOQUJMRShTTU9PVEhfU0NST0xM
SU5HKQorI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCB0cnVl
CisjZWxzZQorI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCBm
YWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQorI2Rl
ZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HX0VOQUJMRUQgdHJ1
ZQorI2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0NTU19BTklNQVRJT05fU1VTUEVOU0lPTl9F
TkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkdfRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0NT
U19BTklNQVRJT05fU1VTUEVOU0lPTl9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2lmIEVOQUJM
RShTRVJWRVJfUFJFQ09OTkVDVCkKKyNkZWZpbmUgREVGQVVMVF9MSU5LX1BSRUNPTk5FQ1RfRU5B
QkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0xJTktfUFJFQ09OTkVDVF9FTkFCTEVE
IGZhbHNlCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBERUZBVUxUX1BE
RlBMVUdJTl9FTkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfUERGUExVR0lOX0VO
QUJMRUQgZmFsc2UKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TKQorI2RlZmluZSBERUZBVUxU
X0FMTE9XU19QSUNUVVJFX0lOX1BJQ1RVUkVfTUVESUFfUExBWUJBQ0sgdHJ1ZQorI2RlZmluZSBE
RUZBVUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVEIGZhbHNlCisjZGVmaW5lIERF
RkFVTFRfRlJBTUVfRkxBVFRFTklORyBGcmFtZUZsYXR0ZW5pbmc6OkZ1bGx5RW5hYmxlZAorI2Rl
ZmluZSBERUZBVUxUX1NIT1VMRF9QUklOVF9CQUNLR1JPVU5EUyB0cnVlCisjZGVmaW5lIERFRkFV
TFRfVEVYVF9BUkVBU19BUkVfUkVTSVpBQkxFIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfSkFWQVND
UklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFkgZmFsc2UKKyNkZWZpbmUgREVGQVVM
VF9TSE9VTERfUkVTUEVDVF9JTUFHRV9PUklFTlRBVElPTiB0cnVlCisjZGVmaW5lIERFRkFVTFRf
UEFTU1dPUkRfRUNIT19FTkFCTEVEIHRydWUKKyNkZWZpbmUgREVGQVVMVF9BTExPV1NfSU5MSU5F
X01FRElBX1BMQVlCQUNLIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfQUxMT1dTX0lOTElORV9NRURJ
QV9QTEFZQkFDS19BRlRFUl9GVUxMU0NSRUVOIHRydWUKKyNkZWZpbmUgREVGQVVMVF9JTkxJTkVf
TUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVURSB0cnVlCisjZGVm
aW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgdHJ1ZQorI2RlZmlu
ZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSBmYWxzZQorI2RlZmluZSBE
RUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIGZhbHNlCisjZGVmaW5l
IERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JUX1JFVEVOVElPTl9FTkFCTEVEIGZhbHNlCisj
ZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFDSyB0
cnVlCisjZGVmaW5lIERFRkFVTFRfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQV9BUElfRU5BQkxFRCBm
YWxzZQorI2RlZmluZSBERUZBVUxUX0lOVEVSQUNUSVZFX01ORURJQV9DQVBUVVJFX1NUUkVBTV9S
RVBST01QVF9JTlRFUlZBTF9JTl9NSU5VVEVTIDEKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfQUxM
T1dTX1BJQ1RVUkVfSU5fUElDVFVSRV9NRURJQV9QTEFZQkFDSyBmYWxzZQorI2RlZmluZSBERUZB
VUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVEIHRydWUKKyNkZWZpbmUgREVGQVVM
VF9GUkFNRV9GTEFUVEVOSU5HIEZyYW1lRmxhdHRlbmluZzo6RGlzYWJsZWQKKyNkZWZpbmUgREVG
QVVMVF9TSE9VTERfUFJJTlRfQkFDS0dST1VORFMgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9URVhU
X0FSRUFTX0FSRV9SRVNJWkFCTEUgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0pBVkFTQ1JJUFRfQ0FO
X09QRU5fV0lORE9XU19BVVRPTUFUSUNBTExZIHRydWUKKyNkZWZpbmUgREVGQVVMVF9TSE9VTERf
UkVTUEVDVF9JTUFHRV9PUklFTlRBVElPTiBmYWxzZQorI2RlZmluZSBERUZBVUxUX1BBU1NXT1JE
X0VDSE9fRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVESUFf
UExBWUJBQ0sgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVESUFfUExBWUJB
Q0tfQUZURVJfRlVMTFNDUkVFTiBmYWxzZQorI2RlZmluZSBERUZBVUxUX0lOTElORV9NRURJQV9Q
TEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRFIGZhbHNlCisjZGVmaW5lIERF
RkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgZmFsc2UKKyNkZWZpbmUgREVG
QVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQorI2RlZmluZSBERUZBVUxU
X01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIHRydWUKKyNkZWZpbmUgREVGQVVM
VF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJMRUQgdHJ1ZQorI2RlZmluZSBE
RUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9fUExBWUJBQ0sgZmFsc2UKKyNk
ZWZpbmUgREVGQVVMVF9MRUdBQ1lfRU5DUllQVEVEX01FRElBX0FQSV9FTkFCTEVEIHRydWUKKyNk
ZWZpbmUgREVGQVVMVF9JTlRFUkFDVElWRV9NTkVESUFfQ0FQVFVSRV9TVFJFQU1fUkVQUk9NUFRf
SU5URVJWQUxfSU5fTUlOVVRFUyAxMAorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNk
ZWZpbmUgREVGQVVMVF9BTExPV19NRURJQV9DT05URU5UX1RZUEVTX1JFUVVJUklOR19IQVJEV0FS
RV9TVVBQT1JUX0FTX0ZBTExCQUNLIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfQUxMT1df
TUVESUFfQ09OVEVOVF9UWVBFU19SRVFVSVJJTkdfSEFSRFdBUkVfU1VQUE9SVF9BU19GQUxMQkFD
SyBmYWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCisjZGVmaW5lIERFRkFVTFRfU1VCUElYRUxfQU5USUFM
SUFTRURfTEFZRVJfVEVYVF9FTkFCTEVEIHRydWUKKyNlbHNlCisjZGVmaW5lIERFRkFVTFRfU1VC
UElYRUxfQU5USUFMSUFTRURfTEFZRVJfVEVYVF9FTkFCTEVEIGZhbHNlCisjZW5kaWYKKworI2lm
IFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCisjZGVmaW5lIERFRkFVTFRfQUNDRUxFUkFURURfRFJB
V0lOR19FTkFCTEVEIGZhbHNlCisjZGVmaW5lIERFRkFVTFRfQ0FOVkFTX1VTRVNfQUNDRUxFUkFU
RURfRFJBV0lORyBmYWxzZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9BQ0NFTEVSQVRFRF9EUkFX
SU5HX0VOQUJMRUQgdHJ1ZQorI2RlZmluZSBERUZBVUxUX0NBTlZBU19VU0VTX0FDQ0VMRVJBVEVE
X0RSQVdJTkcgdHJ1ZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgREVG
QVVMVF9TSE9VTERfQ0FQVFVSRV9BVURJT19JTl9VSVBST0NFU1MgdHJ1ZQorI2Vsc2UKKyNkZWZp
bmUgREVGQVVMVF9TSE9VTERfQ0FQVFVSRV9BVURJT19JTl9VSVBST0NFU1MgZmFsc2UKKyNlbmRp
ZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIERFRkFVTFRfTU9ERVJOX01FRElBX0NP
TlRST0xTX0VOQUJMRUQgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9NT0RFUk5fTUVESUFf
Q09OVFJPTFNfRU5BQkxFRCBmYWxzZQorI2VuZGlmCisKKyNpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDAKKy8vIDxodHRwczovL3dlYmtp
dC5vcmcvYi8xNjg0MTU+IEVsIENhcGl0YW4gTmV0d29ya0xvYWRUaW1pbmcgdmFsdWVzIGFyZSBz
b21ldGltZXMganVtYmxlZAorI2RlZmluZSBERUZBVUxUX1JFU09VUkNFX1RJTUlOR19FTkFCTEVE
IGZhbHNlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX1JFU09VUkNFX1RJTUlOR19FTkFCTEVEIHRy
dWUKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisjZGVmaW5lIERFRkFVTFRfREFUQV9U
UkFOU0ZFUl9JVEVNU19FTkFCTEVEIHRydWUKKyNkZWZpbmUgREVGQVVMVF9ESVJFQ1RPUllfVVBM
T0FEX0VOQUJMRUQgdHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9EQVRBX1RSQU5TRkVSX0lU
RU1TX0VOQUJMRUQgZmFsc2UKKyNkZWZpbmUgREVGQVVMVF9ESVJFQ1RPUllfVVBMT0FEX0VOQUJM
RUQgZmFsc2UKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisKKyNkZWZpbmUgREVGQVVM
VF9TVEFOREFSRF9GT05UX0ZBTUlMWSAiVGltZXMiCisjZGVmaW5lIERFRkFVTFRfRkFOVEFTWV9G
T05UX0ZBTUlMWSAiUGFweXJ1cyIKKyNkZWZpbmUgREVGQVVMVF9GSVhFRF9GT05UX0ZBTUlMWSAi
Q291cmllciIKKyNkZWZpbmUgREVGQVVMVF9TQU5TX1NFUklGX0ZPTlRfRkFNSUxZICJIZWx2ZXRp
Y2EiCisjZGVmaW5lIERFRkFVTFRfU0VSSUZfRk9OVF9GQU1JTFkgIlRpbWVzIgorCisjaWYgUExB
VEZPUk0oSU9TKQorI2RlZmluZSBERUZBVUxUX0NVUlNJVkVfRk9OVF9GQU1JTFkgIlNuZWxsIFJv
dW5kaGFuZCIKKyNkZWZpbmUgREVGQVVMVF9QSUNUT0dSQVBIX0ZPTlRfRkFNSUxZICJBcHBsZUNv
bG9yRW1vamkiCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0NVUlNJVkVfRk9OVF9GQU1JTFkgIkFw
cGxlIENoYW5jZXJ5IgorI2RlZmluZSBERUZBVUxUX1BJQ1RPR1JBUEhfRk9OVF9GQU1JTFkgIkFw
cGxlIENvbG9yIEVtb2ppIgorI2VuZGlmCisKKyNlbHNlCisKKyNkZWZpbmUgREVGQVVMVF9TVEFO
REFSRF9GT05UX0ZBTUlMWSAiVGltZXMiCisjZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9GT05UX0ZB
TUlMWSAiQ29taWMgU2FucyBNUyIKKyNkZWZpbmUgREVGQVVMVF9GQU5UQVNZX0ZPTlRfRkFNSUxZ
ICJJbXBhY3QiCisjZGVmaW5lIERFRkFVTFRfRklYRURfRk9OVF9GQU1JTFkgIkNvdXJpZXIgTmV3
IgorI2RlZmluZSBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVF9GQU1JTFkgIkhlbHZldGljYSIKKyNk
ZWZpbmUgREVGQVVMVF9TRVJJRl9GT05UX0ZBTUlMWSAiVGltZXMiCisjZGVmaW5lIERFRkFVTFRf
UElDVE9HUkFQSF9GT05UX0ZBTUlMWSAiVGltZXMiCisKKyNlbmRpZgorCisvLyBPdXIgWGNvZGUg
YnVpbGQgc3lzdGVtIGRvZXMgbm90IGN1cnJlbnRseSBoYXZlIGFueSBjb25jZXB0IG9mIERFVkVM
T1BFUl9NT0RFLgorLy8gQ29jb2EgcG9ydHMgbXVzdCBkaXNhYmxlIGV4cGVyaW1lbnRhbCBmZWF0
dXJlcyBvbiByZWxlYXNlIGJyYW5jaGVzIGZvciBub3cuCisjaWYgRU5BQkxFKERFVkVMT1BFUl9N
T0RFKSB8fCBQTEFURk9STShDT0NPQSkKKyNkZWZpbmUgREVGQVVMVF9FWFBFUklNRU5UQUxfRkVB
VFVSRVNfRU5BQkxFRCB0cnVlCisjZWxzZQorI2RlZmluZSBERUZBVUxUX0VYUEVSSU1FTlRBTF9G
RUFUVVJFU19FTkFCTEVEIGZhbHNlCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnNCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaAkocmV2aXNpb24gMjI0
MTMyKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jh
c2UuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2lmIFBMQVRGT1JNKEdUSykKLSNkZWZpbmUgREVGQVVMVF9XRUJLSVRf
VEFCU1RPTElOS1NfRU5BQkxFRCB0cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX1dFQktJVF9U
QUJTVE9MSU5LU19FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQotI2lmIEVOQUJMRShTTU9PVEhfU0NS
T0xMSU5HKQotI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCB0
cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxF
RCBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQot
I2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HX0VOQUJMRUQg
dHJ1ZQotI2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdFX0NTU19BTklNQVRJT05fU1VTUEVOU0lP
Tl9FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkdfRU5BQkxFRCBmYWxzZQotI2RlZmluZSBERUZBVUxUX0hJRERFTl9QQUdF
X0NTU19BTklNQVRJT05fU1VTUEVOU0lPTl9FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQotI2lmIEVO
QUJMRShTRVJWRVJfUFJFQ09OTkVDVCkKLSNkZWZpbmUgREVGQVVMVF9MSU5LX1BSRUNPTk5FQ1Rf
RU5BQkxFRCB0cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX0xJTktfUFJFQ09OTkVDVF9FTkFC
TEVEIGZhbHNlCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBERUZBVUxU
X1BERlBMVUdJTl9FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfUERGUExVR0lO
X0VOQUJMRUQgZmFsc2UKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKQotI2RlZmluZSBERUZB
VUxUX0FMTE9XU19QSUNUVVJFX0lOX1BJQ1RVUkVfTUVESUFfUExBWUJBQ0sgdHJ1ZQotI2RlZmlu
ZSBERUZBVUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVEIGZhbHNlCi0jZGVmaW5l
IERFRkFVTFRfRlJBTUVfRkxBVFRFTklORyBGcmFtZUZsYXR0ZW5pbmc6OkZ1bGx5RW5hYmxlZAot
I2RlZmluZSBERUZBVUxUX1NIT1VMRF9QUklOVF9CQUNLR1JPVU5EUyB0cnVlCi0jZGVmaW5lIERF
RkFVTFRfVEVYVF9BUkVBU19BUkVfUkVTSVpBQkxFIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRfSkFW
QVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFkgZmFsc2UKLSNkZWZpbmUgREVG
QVVMVF9TSE9VTERfUkVTUEVDVF9JTUFHRV9PUklFTlRBVElPTiB0cnVlCi0jZGVmaW5lIERFRkFV
TFRfUEFTU1dPUkRfRUNIT19FTkFCTEVEIHRydWUKLSNkZWZpbmUgREVGQVVMVF9BTExPV1NfSU5M
SU5FX01FRElBX1BMQVlCQUNLIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRfQUxMT1dTX0lOTElORV9N
RURJQV9QTEFZQkFDS19BRlRFUl9GVUxMU0NSRUVOIHRydWUKLSNkZWZpbmUgREVGQVVMVF9JTkxJ
TkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVURSB0cnVlCi0j
ZGVmaW5lIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgdHJ1ZQotI2Rl
ZmluZSBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSBmYWxzZQotI2RlZmlu
ZSBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIGZhbHNlCi0jZGVm
aW5lIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JUX1JFVEVOVElPTl9FTkFCTEVEIGZhbHNl
Ci0jZGVmaW5lIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9BVURJT19QTEFZQkFD
SyB0cnVlCi0jZGVmaW5lIERFRkFVTFRfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQV9BUElfRU5BQkxF
RCBmYWxzZQotI2RlZmluZSBERUZBVUxUX0lOVEVSQUNUSVZFX01ORURJQV9DQVBUVVJFX1NUUkVB
TV9SRVBST01QVF9JTlRFUlZBTF9JTl9NSU5VVEVTIDEKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRf
QUxMT1dTX1BJQ1RVUkVfSU5fUElDVFVSRV9NRURJQV9QTEFZQkFDSyBmYWxzZQotI2RlZmluZSBE
RUZBVUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVEIHRydWUKLSNkZWZpbmUgREVG
QVVMVF9GUkFNRV9GTEFUVEVOSU5HIEZyYW1lRmxhdHRlbmluZzo6RGlzYWJsZWQKLSNkZWZpbmUg
REVGQVVMVF9TSE9VTERfUFJJTlRfQkFDS0dST1VORFMgZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9U
RVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUgdHJ1ZQotI2RlZmluZSBERUZBVUxUX0pBVkFTQ1JJUFRf
Q0FOX09QRU5fV0lORE9XU19BVVRPTUFUSUNBTExZIHRydWUKLSNkZWZpbmUgREVGQVVMVF9TSE9V
TERfUkVTUEVDVF9JTUFHRV9PUklFTlRBVElPTiBmYWxzZQotI2RlZmluZSBERUZBVUxUX1BBU1NX
T1JEX0VDSE9fRU5BQkxFRCBmYWxzZQotI2RlZmluZSBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVE
SUFfUExBWUJBQ0sgdHJ1ZQotI2RlZmluZSBERUZBVUxUX0FMTE9XU19JTkxJTkVfTUVESUFfUExB
WUJBQ0tfQUZURVJfRlVMTFNDUkVFTiBmYWxzZQotI2RlZmluZSBERUZBVUxUX0lOTElORV9NRURJ
QV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRFIGZhbHNlCi0jZGVmaW5l
IERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQgZmFsc2UKLSNkZWZpbmUg
REVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFkgdHJ1ZQotI2RlZmluZSBERUZB
VUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NIHRydWUKLSNkZWZpbmUgREVG
QVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJMRUQgdHJ1ZQotI2RlZmlu
ZSBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfQVVESU9fUExBWUJBQ0sgZmFsc2UK
LSNkZWZpbmUgREVGQVVMVF9MRUdBQ1lfRU5DUllQVEVEX01FRElBX0FQSV9FTkFCTEVEIHRydWUK
LSNkZWZpbmUgREVGQVVMVF9JTlRFUkFDVElWRV9NTkVESUFfQ0FQVFVSRV9TVFJFQU1fUkVQUk9N
UFRfSU5URVJWQUxfSU5fTUlOVVRFUyAxMAotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkK
LSNkZWZpbmUgREVGQVVMVF9BTExPV19NRURJQV9DT05URU5UX1RZUEVTX1JFUVVJUklOR19IQVJE
V0FSRV9TVVBQT1JUX0FTX0ZBTExCQUNLIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRfQUxM
T1dfTUVESUFfQ09OVEVOVF9UWVBFU19SRVFVSVJJTkdfSEFSRFdBUkVfU1VQUE9SVF9BU19GQUxM
QkFDSyBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCi0jZGVmaW5lIERFRkFVTFRfU1VCUElYRUxfQU5U
SUFMSUFTRURfTEFZRVJfVEVYVF9FTkFCTEVEIHRydWUKLSNlbHNlCi0jZGVmaW5lIERFRkFVTFRf
U1VCUElYRUxfQU5USUFMSUFTRURfTEFZRVJfVEVYVF9FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQot
I2lmIFBMQVRGT1JNKElPU19TSU1VTEFUT1IpCi0jZGVmaW5lIERFRkFVTFRfQUNDRUxFUkFURURf
RFJBV0lOR19FTkFCTEVEIGZhbHNlCi0jZGVmaW5lIERFRkFVTFRfQ0FOVkFTX1VTRVNfQUNDRUxF
UkFURURfRFJBV0lORyBmYWxzZQotI2Vsc2UKLSNkZWZpbmUgREVGQVVMVF9BQ0NFTEVSQVRFRF9E
UkFXSU5HX0VOQUJMRUQgdHJ1ZQotI2RlZmluZSBERUZBVUxUX0NBTlZBU19VU0VTX0FDQ0VMRVJB
VEVEX0RSQVdJTkcgdHJ1ZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUg
REVGQVVMVF9TSE9VTERfQ0FQVFVSRV9BVURJT19JTl9VSVBST0NFU1MgdHJ1ZQotI2Vsc2UKLSNk
ZWZpbmUgREVGQVVMVF9TSE9VTERfQ0FQVFVSRV9BVURJT19JTl9VSVBST0NFU1MgZmFsc2UKLSNl
bmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIERFRkFVTFRfTU9ERVJOX01FRElB
X0NPTlRST0xTX0VOQUJMRUQgdHJ1ZQotI2Vsc2UKLSNkZWZpbmUgREVGQVVMVF9NT0RFUk5fTUVE
SUFfQ09OVFJPTFNfRU5BQkxFRCBmYWxzZQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEyMDAKLS8vIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xNjg0MTU+IEVsIENhcGl0YW4gTmV0d29ya0xvYWRUaW1pbmcgdmFsdWVzIGFy
ZSBzb21ldGltZXMganVtYmxlZAotI2RlZmluZSBERUZBVUxUX1JFU09VUkNFX1RJTUlOR19FTkFC
TEVEIGZhbHNlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX1JFU09VUkNFX1RJTUlOR19FTkFCTEVE
IHRydWUKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jZGVmaW5lIERFRkFVTFRfREFU
QV9UUkFOU0ZFUl9JVEVNU19FTkFCTEVEIHRydWUKLSNkZWZpbmUgREVGQVVMVF9ESVJFQ1RPUllf
VVBMT0FEX0VOQUJMRUQgdHJ1ZQotI2Vsc2UKLSNkZWZpbmUgREVGQVVMVF9EQVRBX1RSQU5TRkVS
X0lURU1TX0VOQUJMRUQgZmFsc2UKLSNkZWZpbmUgREVGQVVMVF9ESVJFQ1RPUllfVVBMT0FEX0VO
QUJMRUQgZmFsc2UKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0KLSNkZWZpbmUgREVG
QVVMVF9TVEFOREFSRF9GT05UX0ZBTUlMWSAiVGltZXMiCi0jZGVmaW5lIERFRkFVTFRfRkFOVEFT
WV9GT05UX0ZBTUlMWSAiUGFweXJ1cyIKLSNkZWZpbmUgREVGQVVMVF9GSVhFRF9GT05UX0ZBTUlM
WSAiQ291cmllciIKLSNkZWZpbmUgREVGQVVMVF9TQU5TX1NFUklGX0ZPTlRfRkFNSUxZICJIZWx2
ZXRpY2EiCi0jZGVmaW5lIERFRkFVTFRfU0VSSUZfRk9OVF9GQU1JTFkgIlRpbWVzIgotCi0jaWYg
UExBVEZPUk0oSU9TKQotI2RlZmluZSBERUZBVUxUX0NVUlNJVkVfRk9OVF9GQU1JTFkgIlNuZWxs
IFJvdW5kaGFuZCIKLSNkZWZpbmUgREVGQVVMVF9QSUNUT0dSQVBIX0ZPTlRfRkFNSUxZICJBcHBs
ZUNvbG9yRW1vamkiCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX0NVUlNJVkVfRk9OVF9GQU1JTFkg
IkFwcGxlIENoYW5jZXJ5IgotI2RlZmluZSBERUZBVUxUX1BJQ1RPR1JBUEhfRk9OVF9GQU1JTFkg
IkFwcGxlIENvbG9yIEVtb2ppIgotI2VuZGlmCi0KLSNlbHNlCi0KLSNkZWZpbmUgREVGQVVMVF9T
VEFOREFSRF9GT05UX0ZBTUlMWSAiVGltZXMiCi0jZGVmaW5lIERFRkFVTFRfQ1VSU0lWRV9GT05U
X0ZBTUlMWSAiQ29taWMgU2FucyBNUyIKLSNkZWZpbmUgREVGQVVMVF9GQU5UQVNZX0ZPTlRfRkFN
SUxZICJJbXBhY3QiCi0jZGVmaW5lIERFRkFVTFRfRklYRURfRk9OVF9GQU1JTFkgIkNvdXJpZXIg
TmV3IgotI2RlZmluZSBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVF9GQU1JTFkgIkhlbHZldGljYSIK
LSNkZWZpbmUgREVGQVVMVF9TRVJJRl9GT05UX0ZBTUlMWSAiVGltZXMiCi0jZGVmaW5lIERFRkFV
TFRfUElDVE9HUkFQSF9GT05UX0ZBTUlMWSAiVGltZXMiCi0KLSNlbmRpZgotCi0vLyBPdXIgWGNv
ZGUgYnVpbGQgc3lzdGVtIGRvZXMgbm90IGN1cnJlbnRseSBoYXZlIGFueSBjb25jZXB0IG9mIERF
VkVMT1BFUl9NT0RFLgotLy8gQ29jb2EgcG9ydHMgbXVzdCBkaXNhYmxlIGV4cGVyaW1lbnRhbCBm
ZWF0dXJlcyBvbiByZWxlYXNlIGJyYW5jaGVzIGZvciBub3cuCi0jaWYgRU5BQkxFKERFVkVMT1BF
Ul9NT0RFKSB8fCBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgREVGQVVMVF9FWFBFUklNRU5UQUxf
RkVBVFVSRVNfRU5BQkxFRCB0cnVlCi0jZWxzZQotI2RlZmluZSBERUZBVUxUX0VYUEVSSU1FTlRB
TF9GRUFUVVJFU19FTkFCTEVEIGZhbHNlCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAkocmV2aXNpb24gMjI0MTMyKQorKysgU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0x
LDQ4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXZWJQcmVmZXJlbmNlc0tleXMuaCIKLQotI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLW5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleSB7
Ci0KLSNkZWZpbmUgREVGSU5FX0tFWV9HRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5h
bWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbikgXAotICAgICAgICBjb25zdCBTdHJpbmcmIEtleUxvd2VyIyNLZXkoKSBcCi0g
ICAgICAgIHsgXAotICAgICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4ga2V5
KE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCNLZXlVcHBlcikpOyBcCi0gICAgICAgICAgICByZXR1
cm4ga2V5OyBcCi0gICAgICAgIH0KLQotRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0UoREVGSU5F
X0tFWV9HRVRURVJTKQotRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVGSU5FX0tF
WV9HRVRURVJTKQotRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVO
Q0UoREVGSU5FX0tFWV9HRVRURVJTKQotCi0jdW5kZWYgREVGSU5FX0tFWV9HRVRURVJTCi0KLX0g
Ly8gbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKClBy
b3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5
cy5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5h
dGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaAkocmV2aXNpb24gMjI0MTMyKQorKysgU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw0
NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAyMDEyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJQcmVmZXJlbmNl
c0tleXNfaAotI2RlZmluZSBXZWJQcmVmZXJlbmNlc0tleXNfaAotCi0jaW5jbHVkZSAiV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLW5hbWVzcGFjZSBXZWJQcmVmZXJlbmNlc0tleSB7Ci0KLSNk
ZWZpbmUgREVDTEFSRV9LRVlfR0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBU
eXBlLCBEZWZhdWx0VmFsdWUsIEh1bWFuUmVhZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3Jp
cHRpb24pIGNvbnN0IFN0cmluZyYgS2V5TG93ZXIjI0tleSgpOwotCi1GT1JfRUFDSF9XRUJLSVRf
UFJFRkVSRU5DRShERUNMQVJFX0tFWV9HRVRURVJTKQotRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX1BS
RUZFUkVOQ0UoREVDTEFSRV9LRVlfR0VUVEVSUykKLUZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5U
QUxfRkVBVFVSRV9QUkVGRVJFTkNFKERFQ0xBUkVfS0VZX0dFVFRFUlMpCi0KLSN1bmRlZiBERUNM
QVJFX0tFWV9HRVRURVJTCi0KLX0gLy8gbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5Ci19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFdlYlByZWZlcmVuY2VzS2V5c19oCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMu
aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZl
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCShyZXZpc2lvbiAyMjQxMzIpCisrKyBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjYsMTMgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcmVm
ZXJlbmNlc1N0b3JlLmgiCiAKLSNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0tl
eXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oPgotI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Nl
dHRpbmdzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oPgogI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
QEAgLTE1OCwyMCArMTUzLDYgQEAgdGVtcGxhdGU8PiB1aW50MzJfdCBhczx1aW50MzJfdD4oY29u
c3QgVwogdGVtcGxhdGU8PiBkb3VibGUgYXM8ZG91YmxlPihjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlOjpWYWx1ZSYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmFzRG91YmxlKCk7IH0KIAogCi1zdGF0
aWMgV2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIGRlZmF1bHRzKCkKLXsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXA+IGRlZmF1bHRz
OwotICAgIGlmIChkZWZhdWx0cy5nZXQoKS5pc0VtcHR5KCkpIHsKLSNkZWZpbmUgREVGSU5FX0RF
RkFVTFRTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwg
SHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgZGVmYXVsdHMuZ2V0
KCkuc2V0KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIFdlYlByZWZlcmVuY2Vz
U3RvcmU6OlZhbHVlKChUeXBlKURlZmF1bHRWYWx1ZSkpOwotICAgICAgICBGT1JfRUFDSF9XRUJL
SVRfUFJFRkVSRU5DRShERUZJTkVfREVGQVVMVFMpCi0gICAgICAgIEZPUl9FQUNIX1dFQktJVF9E
RUJVR19QUkVGRVJFTkNFKERFRklORV9ERUZBVUxUUykKLSAgICAgICAgRk9SX0VBQ0hfV0VCS0lU
X0VYUEVSSU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVGSU5FX0RFRkFVTFRTKQotI3VuZGVm
IERFRklORV9ERUZBVUxUUwotICAgIH0KLQotICAgIHJldHVybiBkZWZhdWx0czsKLX0KLQogdGVt
cGxhdGU8dHlwZW5hbWUgTWFwcGVkVHlwZT4KIHN0YXRpYyBNYXBwZWRUeXBlIHZhbHVlRm9yS2V5
KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlTWFwJiB2YWx1ZXMsIGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlTWFwJiBvdmVycmlkZW5EZWZhdWx0cywgY29uc3QgU3RyaW5n
JiBrZXkpCiB7CkBAIC0xODMsNyArMTY0LDcgQEAgc3RhdGljIE1hcHBlZFR5cGUgdmFsdWVGb3JL
ZXkoY29uc3QgV2ViUAogICAgIGlmIChvdmVycmlkZW5EZWZhdWx0c0l0ICE9IG92ZXJyaWRlbkRl
ZmF1bHRzLmVuZCgpICYmIG92ZXJyaWRlbkRlZmF1bHRzSXQtPnZhbHVlLnR5cGUoKSA9PSBUb1R5
cGU8TWFwcGVkVHlwZT46OnZhbHVlKQogICAgICAgICByZXR1cm4gYXM8TWFwcGVkVHlwZT4ob3Zl
cnJpZGVuRGVmYXVsdHNJdC0+dmFsdWUpOwogCi0gICAgYXV0byYgZGVmYXVsdHNNYXAgPSBkZWZh
dWx0cygpOworICAgIGF1dG8mIGRlZmF1bHRzTWFwID0gV2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVm
YXVsdHMoKTsKICAgICBhdXRvIGRlZmF1bHRzSXQgPSBkZWZhdWx0c01hcC5maW5kKGtleSk7CiAg
ICAgaWYgKGRlZmF1bHRzSXQgIT0gZGVmYXVsdHNNYXAuZW5kKCkgJiYgZGVmYXVsdHNJdC0+dmFs
dWUudHlwZSgpID09IFRvVHlwZTxNYXBwZWRUeXBlPjo6dmFsdWUpCiAgICAgICAgIHJldHVybiBh
czxNYXBwZWRUeXBlPihkZWZhdWx0c0l0LT52YWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCShyZXZpc2lvbiAyMjQxMzIpCisrKyBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3
OSw2ICsxNzksOCBAQCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXNTdG9yZSB7CiAgICAgdHlwZWRlZiBI
YXNoTWFwPFN0cmluZywgVmFsdWU+IFZhbHVlTWFwOwogICAgIFZhbHVlTWFwIG1fdmFsdWVzOwog
ICAgIFZhbHVlTWFwIG1fb3ZlcnJpZGVuRGVmYXVsdHM7CisKKyAgICBzdGF0aWMgVmFsdWVNYXAm
IGRlZmF1bHRzKCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjI0
MTMyKQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTI4OSw4ICsxMjg5LDYgQEAKIAkJN0M0QUJFRDUxQUE4RkNCODAw
ODhBQTM3IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0QUJFRDMxQUE4RkNCODAwODhBQTM3
IC8qIFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0RGF0YS5oICovOyB9OwogCQk3QzZEMzdGQzE3
MkY1NTVGMDA5RDI4NDcgLyogUGFnZUJhbm5lck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNkQzN0ZBMTcyRjU1NUYwMDlEMjg0NyAvKiBQYWdl
QmFubmVyTWFjLm1tICovOyB9OwogCQk3QzZFNzBGQjE4QjJEQzdBMDBGMjRFMkUgLyogV2ViUHJv
Y2Vzc0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M2RTcwRjkxOEIyRDRBMDAwRjI0RTJFIC8qIFdlYlByb2Nlc3NDb2NvYS5tbSAqLzsgfTsK
LQkJN0M4NUZEN0YxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg1RkQ3RDE5MzQx
NjY1MDAwMTc3QzQgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCAqLzsgfTsKLQkJN0M4NUZEODAx
OTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4NUZEN0UxOTM0MTY2NTAwMDE3N0M0IC8q
IFdlYlByZWZlcmVuY2VzS2V5cy5oICovOyB9OwogCQk3Qzg4MkRGNzFDN0U5OTY1MDA2QkY3MzEg
LyogX1dLVXNlckNvbnRlbnRXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0M4ODJERjMxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50
V29ybGQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3Qzg4MkRGODFDN0U5OTZDMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODgyREY0MUM3RTk5
NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdvcmxkLm1tICovOyB9OwogCQk3Qzg4MkRGOTFD
N0U5OTZGMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg4MkRGNTFDN0U5OTVFMDA2
QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmggKi87IH07CkBAIC0xMzE5LDYg
KzEzMTcsMTAgQEAKIAkJN0NBMjU0RUIxODI5OTNDRTAwRkM4QTQxIC8qIFdLQnJvd3NpbmdDb250
ZXh0UG9saWN5RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDQTI1NEVBMTgyOTkzQ0UwMEZDOEE0MSAvKiBXS0Jyb3dzaW5nQ29udGV4dFBv
bGljeURlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJN0NBMzc5M0UxQUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0EzNzkzRDFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3Q0FCOTM3QTFENDU5RTUxMDA3MEY1NDAgLyogTmV0d29ya0NhY2hlQ29kZXJz
Q29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0NBQjkzNzkxRDQ1OUU0QjAwNzBGNTQwIC8qIE5ldHdvcmtDYWNoZUNvZGVyc0NvY29hLmNwcCAq
LzsgfTsKKwkJN0NCMTAwRjExRkEzODU4QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxMDBF
RTFGQTJENzRBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCAqLzsgfTsKKwkJN0NC
MTAwRjIxRkEzODU4RTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDREU3M0EzMUY5REFC
NjUwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggKi87IH07CisJCTdDQjEw
MEYzMUZBMzg1OEUwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjEwMEVGMUZBMkQ3NEIwMDE3MjlF
RSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuaCAqLzsgfTsKKwkJN0NCMTAwRjQxRkEzODU5MjAwMTcy
OUVFIC8qIFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxMDBGMDFGQTJENzg0MDAxNzI5RUUg
LyogV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcCAqLzsgfTsKIAkJN0NCMTZGRUYx
NzI0QkEyMzAwN0EwQTk1IC8qIGNvbS5hcHBsZS5pc3QuZHMuYXBwbGVjb25uZWN0LndlYnBsdWdp
bi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3Q0IxNkZFMjE3MjRCOUI1MDA3QTBBOTUgLyogY29tLmFwcGxlLmlz
dC5kcy5hcHBsZWNvbm5lY3Qud2VicGx1Z2luLnNiICovOyB9OwogCQk3Q0IxNkZGMDE3MjRCQTI0
MDA3QTBBOTUgLyogY29tLmFwcGxlLlF1aWNrVGltZSBQbHVnaW4ucGx1Z2luLnNiIGluIENvcHkg
UGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdDQjE2RkUzMTcyNEI5QjUwMDdBMEE5NSAvKiBjb20uYXBwbGUuUXVpY2tUaW1lIFBsdWdp
bi5wbHVnaW4uc2IgKi87IH07CiAJCTdDQjE2RkYyMTcyNEJBMjgwMDdBMEE5NSAvKiBjb20ubWFj
cm9tZWRpYS5GbGFzaCBQbGF5ZXIucGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFBy
b2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjE2RkU1MTcyNEI5
QjUwMDdBMEE5NSAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIucGx1Z2luLnNiICovOyB9
OwpAQCAtMzY2OSw4ICszNjcxLDYgQEAKIAkJN0M0RUQzMjcxQTMxMTlEOTAwNzlCRDQ5IC8qIElu
amVjdGVkQnVuZGxlQ1NTU3R5bGVEZWNsYXJhdGlvbkhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUNTU1N0eWxlRGVjbGFyYXRpb25IYW5kbGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M2RDM3RkExNzJGNTU1RjAwOUQyODQ3
IC8qIFBhZ2VCYW5uZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBQYWdlQmFubmVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzZF
NzBGOTE4QjJENEEwMDBGMjRFMkUgLyogV2ViUHJvY2Vzc0NvY29hLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc0NvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk3Qzg1RkQ3RDE5MzQxNjY1MDAwMTc3QzQgLyogV2ViUHJlZmVy
ZW5jZXNLZXlzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBy
ZWZlcmVuY2VzS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDODVGRDdF
MTkzNDE2NjUwMDAxNzdDNCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDODgyREYzMUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVudFdv
cmxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250ZW50V29y
bGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M4ODJERjQxQzdFOTk1RTAwNkJG
NzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBfV0tVc2VyQ29udGVudFdvcmxkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3Qzg4MkRGNTFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3Js
ZEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250
ZW50V29ybGRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzY5OSw2
ICszNjk5LDkgQEAKIAkJN0NBMjU0RUExODI5OTNDRTAwRkM4QTQxIC8qIFdLQnJvd3NpbmdDb250
ZXh0UG9saWN5RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tC
cm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3Q0EzNzkzRDFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0NBQjkzNzkxRDQ1OUU0QjAwNzBGNTQwIC8qIE5ldHdvcmtDYWNoZUNvZGVyc0NvY29hLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtDYWNoZUNvZGVy
c0NvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0NCMTAwRUUxRkEyRDc0
QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJQcmVmZXJlbmNlc0tleXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Q0Ix
MDBFRjFGQTJENzRCMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlByZWZlcmVuY2VzS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
Q0IxMDBGMDFGQTJENzg0MDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFw
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzU3RvcmVEZWZhdWx0c01hcC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQjE2RkUyMTcyNEI5QjUwMDdBMEE5
NSAvKiBjb20uYXBwbGUuaXN0LmRzLmFwcGxlY29ubmVjdC53ZWJwbHVnaW4uc2IgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gY29tLmFwcGxlLmlzdC5kcy5hcHBsZWNvbm5lY3Qud2VicGx1Z2luLnNi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0IxNkZFMzE3MjRCOUI1MDA3QTBBOTUg
LyogY29tLmFwcGxlLlF1aWNrVGltZSBQbHVnaW4ucGx1Z2luLnNiICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9ICJjb20uYXBwbGUuUXVpY2tUaW1lIFBsdWdpbi5wbHVnaW4uc2IiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3Q0IxNkZFNDE3MjRCOUI1MDA3QTBBOTUgLyogY29tLmFwcGxl
LldlYktpdC5wbHVnaW4tY29tbW9uLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJjb20u
YXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4iOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzcyNyw3ICszNzMwLDcgQEAKIAkJN0NENjIyNzUxNzM5RDg2MzAwNUJEN0ZGIC8q
IFBsdWdpblNhbmRib3hQcm9maWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUGx1Z2luU2FuZGJveFByb2ZpbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTdDRDYyMjc2MTczOUQ4NjMwMDVCRDdGRiAvKiBQbHVnaW5TYW5kYm94UHJvZmlsZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5TYW5kYm94UHJvZmlsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0RFNzM5RjFGOURBMzdBMDAzOTAzMTIg
LyogV2ViUHJlZmVyZW5jZXMueWFtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJQcmVmZXJl
bmNlcy55YW1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3Q0RFNzNBMDFGOURBMzdC
MDAzOTAzMTIgLyogV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9uc0Jhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0NERTczQTAxRjlEQTM3QjAwMzkwMzEyIC8qIFdl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0NERTczQTExRjlEQTQxNDAwMzkwMzEyIC8qIEdlbmVyYXRlUHJlZmVyZW5jZXMu
cmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5ydWJ5OyBwYXRoID0gR2VuZXJhdGVQcmVmZXJlbmNl
cy5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NERTczQTIxRjlEQTU5NzAwMzkw
MzEyIC8qIFByZWZlcmVuY2VzVGVtcGxhdGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gZm9sZGVyOyBwYXRoID0gUHJlZmVyZW5jZXNUZW1wbGF0ZXM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDREU3M0EzMUY5REFCNjUwMDM5MDMxMiAv
KiBXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUxNDQsOSAr
NTE0Nyw3IEBACiAJCQkJQkM1NzQ0RUQxMjYzOEZCMzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5j
cHAgKi8sCiAJCQkJQkM1NzQ0RUUxMjYzOEZCMzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oICov
LAogCQkJCTdDREU3MzlGMUY5REEzN0EwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlcy55YW1sICov
LAotCQkJCTdDREU3M0EwMUY5REEzN0IwMDM5MDMxMiAvKiBXZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zQmFzZS5oICovLAotCQkJCTdDODVGRDdEMTkzNDE2NjUwMDAxNzdDNCAvKiBXZWJQcmVmZXJl
bmNlc0tleXMuY3BwICovLAotCQkJCTdDODVGRDdFMTkzNDE2NjUwMDAxNzdDNCAvKiBXZWJQcmVm
ZXJlbmNlc0tleXMuaCAqLywKKwkJCQk3Q0RFNzNBMDFGOURBMzdCMDAzOTAzMTIgLyogV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmggKi8sCiAJCQkJQkNENTk4QUIxMTJCN0ZERjAwRUM4QzIz
IC8qIFdlYlByZWZlcmVuY2VzU3RvcmUuY3BwICovLAogCQkJCUJDRDU5OEFBMTEyQjdGREYwMEVD
OEMyMyAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlLmggKi8sCiAJCQkJQkMzMDY4MjMxMjVBNkI5NDAw
RTcxMjc4IC8qIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovLApAQCAtODE0NSw2
ICs4MTQ2LDkgQEAKIAkJCQkxQUIxRjc5NDFEMUIzNjEzMDA3QzlCRDEgLyogV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQjFGNzk1MUQxQjM2
MTMwMDdDOUJEMSAvKiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJ
CQkJN0NERTczQTMxRjlEQUI2NTAwMzkwMzEyIC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aCAqLywKKwkJCQk3Q0IxMDBFRTFGQTJENzRBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlz
LmNwcCAqLywKKwkJCQk3Q0IxMDBFRjFGQTJENzRCMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNL
ZXlzLmggKi8sCisJCQkJN0NCMTAwRjAxRkEyRDc4NDAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2Vz
U3RvcmVEZWZhdWx0c01hcC5jcHAgKi8sCiAJCQkJMUEwNDNGNjcxMjUxNEQ4QjAwRkZCRkI1IC8q
IFdlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQTA0M0Y2
ODEyNTE0RDhCMDBGRkJGQjUgLyogV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oICovLAog
CQkJCUJDMzA2NkJDMTI1QTQ0MjEwMEU3MTI3OCAvKiBXZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKQEAgLTkwNDMsNyArOTA0Nyw4IEBACiAJCQkJQkM1NzRFNjMxMjY3RDA4MDAwNkYw
RjEyIC8qIFdlYlBvcHVwTWVudVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NTA5NzEy
NjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRDU5N0ZGMTEyQjU3QkUwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlcy5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJN0M4NUZEODAxOTM0MTY2NTAwMDE3N0M0IC8qIFdlYlByZWZlcmVuY2VzS2V5
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0NCMTAwRjIxRkEzODU4RTAwMTcyOUVFIC8qIFdlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdDQjEwMEYzMUZBMzg1
OEUwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RDU5OEFDMTEyQjdGREYwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMUM1MTJDOTE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUHJldmlld0xvYWRlckNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEOTcxMEY0MzdBRjAwNThDMTVBIC8qIFdl
YlByb2Nlc3MuaCBpbiBIZWFkZXJzICovLApAQCAtMTA2ODgsOSArMTA2OTMsMTAgQEAKIAkJCQlC
Q0M0M0FDNzEyN0I5OURFMDAzMTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1NzUwOTgxMjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5TWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNENTk4MDAxMTJCNTdCRTAwRUM4QzIzIC8qIFdlYlBy
ZWZlcmVuY2VzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTdDODVGRDdGMTkzNDE2NjUwMDAxNzdD
NCAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0NCMTAwRjEx
RkEzODU4QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzg0RUIxODEyQTcxMDBDMDA4M0YyREEgLyogV2ViUHJlZmVyZW5jZXNNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQ0Q1OThBRDExMkI3RkRGMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Q0IxMDBGNDFGQTM4NTkyMDAxNzI5RUUg
LyogV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUExQzUxMkM4MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDMTExQUU0MTEyRjVDMjYwMDMzN0JBQiAvKiBXZWJQcm9jZXNz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNkU3MEZCMThCMkRDN0EwMEYyNEUyRSAvKiBXZWJQ
cm9jZXNzQ29jb2EubW0gaW4gU291cmNlcyAqLywK
</data>
<flag name="review"
          id="344709"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="344773"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>